<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>157196</bug_id>
          
          <creation_ts>2016-04-29 11:50:41 -0700</creation_ts>
          <short_desc>[JSC] Object constructor need to be aware of new.target</short_desc>
          <delta_ts>2016-05-04 10:40:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1188736</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-04-29 11:50:41 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188767</commentid>
    <comment_count>1</comment_count>
      <attachid>277729</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-04-29 13:09:12 -0700</bug_when>
    <thetext>Created attachment 277729
Patch

WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189113</commentid>
    <comment_count>2</comment_count>
      <attachid>277826</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-04-30 13:07:20 -0700</bug_when>
    <thetext>Created attachment 277826
Patch

WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189191</commentid>
    <comment_count>3</comment_count>
      <attachid>277853</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-05-01 03:18:44 -0700</bug_when>
    <thetext>Created attachment 277853
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189192</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-05-01 03:19:43 -0700</bug_when>
    <thetext>Benchmark report for SunSpider, LongSpider, Octane, Kraken, and AsmBench on gochiusa.

VMs tested:
&quot;baseline&quot; at /home/yusukesuzuki/dev/WebKit/WebKitBuild/object-master/Release/bin/jsc
&quot;patched&quot; at /home/yusukesuzuki/dev/WebKit/WebKitBuild/object/Release/bin/jsc

Collected 30 samples per benchmark/VM, with 30 VM invocations per benchmark. Emitted a call to gc() between sample
measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime() function to
get microsecond-level timing. Reporting benchmark execution times with 95% confidence intervals in milliseconds.

                                                 baseline                  patched                                      
SunSpider:
   3d-cube                                    7.0780+-0.4882     ?      7.4593+-0.5093        ? might be 1.0539x slower
   3d-morph                                  11.7291+-0.2485     !     12.8445+-0.7368        ! definitely 1.0951x slower
   3d-raytrace                                7.9566+-0.5945     ?      8.7987+-0.5540        ? might be 1.1058x slower
   access-binary-trees                        3.6832+-0.4090     ?      3.8699+-0.3861        ? might be 1.0507x slower
   access-fannkuch                           10.8352+-0.7072     ?     11.0705+-1.0246        ? might be 1.0217x slower
   access-nbody                               3.7779+-0.2576     ?      3.8248+-0.2136        ? might be 1.0124x slower
   access-nsieve                              5.1174+-0.2771     ?      5.1645+-0.2526        ?
   bitops-3bit-bits-in-byte                   1.7781+-0.1065            1.7441+-0.0928          might be 1.0195x faster
   bitops-bits-in-byte                        4.3868+-0.1935     !      4.9607+-0.2678        ! definitely 1.1308x slower
   bitops-bitwise-and                         2.6223+-0.0433            2.5883+-0.0272          might be 1.0131x faster
   bitops-nsieve-bits                         5.1937+-0.3084            5.0919+-0.3189          might be 1.0200x faster
   controlflow-recursive                      4.9154+-0.5031     ?      5.3039+-0.5297        ? might be 1.0790x slower
   crypto-aes                                 6.0123+-0.3129     ?      6.0182+-0.3364        ?
   crypto-md5                                 4.2847+-0.3015            4.2529+-0.3019        
   crypto-sha1                                4.4608+-0.2935            4.3627+-0.3085          might be 1.0225x faster
   date-format-tofte                          9.1397+-0.2431            8.9520+-0.3253          might be 1.0210x faster
   date-format-xparb                          6.7445+-0.2755            6.6434+-0.2665          might be 1.0152x faster
   math-cordic                                4.7486+-0.4391            4.6047+-0.2874          might be 1.0312x faster
   math-partial-sums                          7.5267+-0.2776            7.3751+-0.0731          might be 1.0206x faster
   math-spectral-norm                         2.9655+-0.1263            2.8873+-0.1467          might be 1.0271x faster
   regexp-dna                                 8.2214+-0.1059            8.1479+-0.0973        
   string-base64                              5.9525+-0.2395            5.8758+-0.1909          might be 1.0131x faster
   string-fasta                               8.5897+-0.3428            8.3715+-0.3271          might be 1.0261x faster
   string-tagcloud                           10.8102+-0.4935           10.6128+-0.4224          might be 1.0186x faster
   string-unpack-code                        25.3731+-0.4877           24.9826+-0.5588          might be 1.0156x faster
   string-validate-input                      6.3271+-0.3427            5.8843+-0.2517          might be 1.0752x faster

   &lt;arithmetic&gt;                               6.9319+-0.0771     ?      6.9882+-0.0819        ? might be 1.0081x slower

                                                 baseline                  patched                                      
LongSpider:
   3d-cube                                 1010.0468+-5.5427         1004.5880+-5.8927        
   3d-morph                                2009.8278+-29.4981        1984.5882+-23.0569         might be 1.0127x faster
   3d-raytrace                              606.2260+-5.4466          603.7848+-4.0360        
   access-binary-trees                     1174.7311+-6.7176         1171.8306+-9.9332        
   access-fannkuch                          307.0319+-2.3548     ?    311.7192+-7.3288        ? might be 1.0153x slower
   access-nbody                             561.6524+-9.3520     ?    568.7933+-14.1203       ? might be 1.0127x slower
   access-nsieve                            552.8444+-2.8644          551.8218+-5.2064        
   bitops-3bit-bits-in-byte                  41.8573+-0.2185     ?     42.6382+-0.9728        ? might be 1.0187x slower
   bitops-bits-in-byte                      121.5111+-1.5495     ?    121.7077+-1.2895        ?
   bitops-nsieve-bits                       548.3782+-6.8606     ?    552.5603+-18.4544       ?
   controlflow-recursive                    573.9282+-12.6996    ?    592.8439+-23.4835       ? might be 1.0330x slower
   crypto-aes                               698.1801+-4.8701          694.4906+-4.8370        
   crypto-md5                               624.7400+-5.3424     ?    628.1777+-6.9555        ?
   crypto-sha1                              796.4941+-6.3839     ?    804.0988+-8.8939        ?
   date-format-tofte                        664.3127+-6.9878          656.6400+-6.7600          might be 1.0117x faster
   date-format-xparb                        919.7289+-11.0891    ?    920.0957+-9.1094        ?
   hash-map                                 199.5611+-4.3170          197.3090+-2.4534          might be 1.0114x faster
   math-cordic                              552.8346+-15.4105    ?    566.5533+-19.7098       ? might be 1.0248x slower
   math-partial-sums                        697.0691+-5.4209     ?    699.0885+-8.9138        ?
   math-spectral-norm                       506.2371+-11.5893         500.1818+-4.3792          might be 1.0121x faster
   string-base64                            404.1467+-3.8537     ^    395.2100+-3.3201        ^ definitely 1.0226x faster
   string-fasta                             453.4949+-2.7542          451.0411+-3.6134        
   string-tagcloud                          213.6997+-4.4549          212.7069+-4.0665        

   &lt;geometric&gt;                              488.7060+-1.5905     ?    489.1775+-1.1514        ? might be 1.0010x slower

                                                 baseline                  patched                                      
Octane:
   encrypt                                   0.20123+-0.00136    ?     0.20170+-0.00146       ?
   decrypt                                   3.61964+-0.11248          3.58714+-0.06366       
   deltablue                        x2       0.15722+-0.00161    ?     0.15813+-0.00215       ?
   earley                                    0.37681+-0.00383          0.37640+-0.00423       
   boyer                                     6.96862+-0.13749    ?     6.98043+-0.13733       ?
   navier-stokes                    x2       5.28562+-0.07334          5.26902+-0.04474       
   raytrace                         x2       0.97015+-0.00706          0.96095+-0.00479       
   richards                         x2       0.10371+-0.00161          0.10238+-0.00130         might be 1.0130x faster
   splay                            x2       0.56945+-0.00402          0.56312+-0.00477         might be 1.0112x faster
   regexp                           x2      22.07594+-0.26047    ?    22.23715+-0.30449       ?
   pdfjs                            x2      49.93424+-0.63966         49.74279+-0.56121       
   mandreel                         x2      65.44719+-1.68301         64.51909+-1.64149         might be 1.0144x faster
   gbemu                            x2      33.50405+-0.43000    ?    33.70243+-0.47282       ?
   closure                                   0.61296+-0.00276    ?     0.62055+-0.00860       ? might be 1.0124x slower
   jquery                                    8.00221+-0.02311    ?     8.05615+-0.04407       ?
   box2d                            x2      12.85601+-0.17990    ?    12.87004+-0.18593       ?
   zlib                             x2     477.20225+-9.43557    ?   481.57589+-11.08216      ?
   typescript                       x2     881.69207+-21.69277       859.80911+-17.61943        might be 1.0255x faster

   &lt;geometric&gt;                               6.58183+-0.02381          6.56284+-0.02431         might be 1.0029x faster

                                                 baseline                  patched                                      
Kraken:
   ai-astar                                  110.673+-1.156      ?     110.769+-0.686         ?
   audio-beat-detection                       47.085+-3.174      ?      49.657+-3.392         ? might be 1.0546x slower
   audio-dft                                 133.397+-2.013            132.624+-1.319         
   audio-fft                                  32.745+-0.626      ?      32.922+-0.544         ?
   audio-oscillator                           56.310+-0.405      ?      57.146+-0.991         ? might be 1.0148x slower
   imaging-darkroom                          100.230+-2.712      ?     100.345+-3.036         ?
   imaging-desaturate                         70.354+-3.469      ?      77.358+-6.132         ? might be 1.0996x slower
   imaging-gaussian-blur                      91.799+-7.178      ?      94.225+-9.188         ? might be 1.0264x slower
   json-parse-financial                       44.532+-0.374      ?      45.255+-0.423         ? might be 1.0162x slower
   json-stringify-tinderbox                   27.476+-1.628      ?      27.911+-1.462         ? might be 1.0158x slower
   stanford-crypto-aes                        46.628+-0.514      ?      46.860+-0.625         ?
   stanford-crypto-ccm                        44.824+-2.257      ?      45.211+-1.946         ?
   stanford-crypto-pbkdf2                    123.259+-1.396            122.623+-1.108         
   stanford-crypto-sha256-iterative           42.054+-0.280      ?      42.841+-1.195         ? might be 1.0187x slower

   &lt;arithmetic&gt;                               69.383+-0.649      ?      70.411+-0.832         ? might be 1.0148x slower

                                                 baseline                  patched                                      
AsmBench:
   bigfib.cpp                               571.3755+-6.5167     ?    573.3660+-9.9790        ?
   container.cpp                           4523.5609+-36.3007        4504.1778+-43.7800       
   dry.c                                    548.5876+-23.0628    ?    561.1783+-28.0978       ? might be 1.0230x slower
   float-mm.c                               877.6862+-18.5380         868.2233+-11.5495         might be 1.0109x faster
   gcc-loops.cpp                           4603.7303+-32.1223        4580.6523+-31.5406       
   hash-map                                 196.0498+-4.0372          195.0628+-1.7737        
   n-body.c                                 852.4695+-7.4820     ?    859.3628+-12.0472       ?
   quicksort.c                              484.3864+-3.0791     ?    487.4724+-5.6072        ?
   towers.c                                 336.3073+-1.6721     ?    341.7262+-8.5704        ? might be 1.0161x slower

   &lt;geometric&gt;                              812.7257+-5.0609     ?    815.2665+-5.6928        ? might be 1.0031x slower

                                                 baseline                  patched                                      
Geomean of preferred means:
   &lt;scaled-result&gt;                           66.0422+-0.1990     ?     66.3583+-0.2784        ? might be 1.0048x slower</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190010</commentid>
    <comment_count>5</comment_count>
      <attachid>278070</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-05-04 02:07:05 -0700</bug_when>
    <thetext>Created attachment 278070
Patch

rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190011</commentid>
    <comment_count>6</comment_count>
      <attachid>278071</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-05-04 02:09:52 -0700</bug_when>
    <thetext>Created attachment 278071
Patch

rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190013</commentid>
    <comment_count>7</comment_count>
      <attachid>278072</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-05-04 02:18:39 -0700</bug_when>
    <thetext>Created attachment 278072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190120</commentid>
    <comment_count>8</comment_count>
      <attachid>278072</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-05-04 10:26:27 -0700</bug_when>
    <thetext>Comment on attachment 278072
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190121</commentid>
    <comment_count>9</comment_count>
      <attachid>278072</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-04 10:27:20 -0700</bug_when>
    <thetext>Comment on attachment 278072
Patch

Rejecting attachment 278072 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 278072, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
e/runtime/JSGlobalObject.h
Hunk #1 succeeded at 254 (offset -17 lines).
Hunk #2 succeeded at 501 (offset -22 lines).
patching file Source/JavaScriptCore/runtime/ObjectConstructor.cpp
patching file Source/JavaScriptCore/runtime/ObjectConstructor.h
patching file Source/JavaScriptCore/tests/stress/object-constructor-should-be-new-target-aware.js

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Darin Adler&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/1266871</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190124</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-05-04 10:40:12 -0700</bug_when>
    <thetext>Committed r200421: &lt;http://trac.webkit.org/changeset/200421&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277729</attachid>
            <date>2016-04-29 13:09:12 -0700</date>
            <delta_ts>2016-04-30 13:07:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157196-20160430050944.patch</filename>
            <type>text/plain</type>
            <size>7101</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwMjU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
NWEyYmRlMWFkYWU2NmZhODAzNGY4OTA1ZThiZTZlMjM1NGE5NmIzLi4xNzI5NTlhZWI3MTc1ZGU0
NDdiNjliYjQ3MWI5MTQxMzZiN2RkMzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNi0wNC0yOSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbSlNDXSBPYmplY3QgY29uc3RydWN0b3IgbmVlZCB0byBiZSBhd2Fy
ZSBvZiBuZXcudGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTcxOTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0ds
b2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5oOgor
ICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6b2JqZWN0U3RydWN0dXJlRm9yT2JqZWN0Q29u
c3RydWN0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwOgorICAg
ICAgICAoSlNDOjpjb25zdHJ1Y3RPYmplY3QpOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RXaXRo
T2JqZWN0Q29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpjYWxsT2JqZWN0Q29uc3RydWN0b3Ip
OgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9vYmplY3QtY29uc3RydWN0b3Itc2hvdWxkLWJlLW5l
dy10YXJnZXQtYXdhcmUuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAo
SGVsbG8pOgorCiAyMDE2LTA0LTI5ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjAwMjMyLgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IGM1
ZWY5YWUxOTg2NTUyNzE3Njk2MDU4MTc3MmUwYTIwZWYzZWNmNzQuLmIxMTJjMjUwMjM2YTAzOTM3
YjA4ZDQ0ZTRkZjhiMjk3MTRjMjFlZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTM2MCw2ICszNjAsOCBAQCB2b2lkIEpTR2xv
YmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBtX29iamNDYWxsYmFja0Z1bmN0aW9uU3RydWN0
dXJlLnNldCh2bSwgdGhpcywgT2JqQ0NhbGxiYWNrRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2
bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fb2JqY1dyYXBwZXJP
YmplY3RTdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBl
ck9iamVjdD46OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9vYmplY3RQcm90b3R5cGUuZ2V0
KCkpKTsKICNlbmRpZgorCisgICAgbV9vYmplY3RTdHJ1Y3R1cmVGb3JPYmplY3RDb25zdHJ1Y3Rv
ci5zZXQodm0sIHRoaXMsIHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclBy
b3RvdHlwZShtX29iamVjdFByb3RvdHlwZS5nZXQoKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElu
bGluZUNhcGFjaXR5KCkpKTsKICAgICAKICAgICBtX2FycmF5UHJvdG90eXBlLnNldCh2bSwgdGhp
cywgQXJyYXlQcm90b3R5cGU6OmNyZWF0ZSh2bSwgdGhpcywgQXJyYXlQcm90b3R5cGU6OmNyZWF0
ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKSk7CiAgICAgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCBk
OGM1OGQ1NWVjYTkxZTc4ODJmYjFhOTFiZDhlZjk0N2M3ZTU2ZDUzLi4xMGU4ZGU5NzNmMzg3YzU0
YzU2NTgwMjY3ODA5MjEwZmZkZGQ0YWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTI1Myw2ICsyNTMsOCBAQCBjbGFzcyBKU0dsb2Jh
bE9iamVjdCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IHsKICAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX2RpcmVjdEFyZ3VtZW50c1N0cnVjdHVyZTsKICAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX3Njb3BlZEFyZ3VtZW50c1N0cnVjdHVyZTsKICAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX2Nsb25lZEFyZ3VtZW50c1N0cnVjdHVyZTsKKworICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fb2JqZWN0U3RydWN0dXJlRm9yT2JqZWN0Q29uc3RydWN0b3I7
CiAgICAgICAgIAogICAgIC8vIExpc3RzIHRoZSBhY3R1YWwgc3RydWN0dXJlcyB1c2VkIGZvciBo
YXZpbmcgdGhlc2UgcGFydGljdWxhciBpbmRleGluZyBzaGFwZXMuCiAgICAgV3JpdGVCYXJyaWVy
PFN0cnVjdHVyZT4gbV9vcmlnaW5hbEFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdTaGFwZVtOdW1i
ZXJPZkluZGV4aW5nU2hhcGVzXTsKQEAgLTQ5Miw2ICs0OTQsNyBAQCBjbGFzcyBKU0dsb2JhbE9i
amVjdCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IHsKICAgICBTdHJ1Y3R1cmUq
IGRpcmVjdEFyZ3VtZW50c1N0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0QXJndW1l
bnRzU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBzY29wZWRBcmd1bWVudHNTdHJ1
Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX3Njb3BlZEFyZ3VtZW50c1N0cnVjdHVyZS5nZXQoKTsg
fQogICAgIFN0cnVjdHVyZSogY2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCkgY29uc3QgeyByZXR1
cm4gbV9jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUuZ2V0KCk7IH0KKyAgICBTdHJ1Y3R1cmUqIG9i
amVjdFN0cnVjdHVyZUZvck9iamVjdENvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9vYmpl
Y3RTdHJ1Y3R1cmVGb3JPYmplY3RDb25zdHJ1Y3Rvci5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSog
b3JpZ2luYWxBcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZShJbmRleGluZ1R5cGUgaW5kZXhp
bmdUeXBlKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKGluZGV4aW5nVHlwZSAmIElzQXJy
YXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29u
c3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3Ry
dWN0b3IuY3BwCmluZGV4IDE1ZWViYTUwODE5OTA4NTA4ODBhNjc1MjVlOTA0MDYxODg5YTY5MGQu
LjNmY2Y5ZWNjOGM5YzVhMTNjY2FkMWNiOGM0MzYxNmU0MTJiYzYwYzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKQEAgLTEx
OCwxOSArMTE4LDM3IEBAIGJvb2wgT2JqZWN0Q29uc3RydWN0b3I6OmdldE93blByb3BlcnR5U2xv
dChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByCiAgICAgcmV0dXJuIGdldFN0
YXRpY0Z1bmN0aW9uU2xvdDxKU09iamVjdD4oZXhlYywgb2JqZWN0Q29uc3RydWN0b3JUYWJsZSwg
anNDYXN0PE9iamVjdENvbnN0cnVjdG9yKj4ob2JqZWN0KSwgcHJvcGVydHlOYW1lLCBzbG90KTsK
IH0KIAotc3RhdGljIEFMV0FZU19JTkxJTkUgSlNPYmplY3QqIGNvbnN0cnVjdE9iamVjdChFeGVj
U3RhdGUqIGV4ZWMpCisvLyBFUyAxOS4xLjEuMSBPYmplY3QoW3ZhbHVlXSkKK3N0YXRpYyBBTFdB
WVNfSU5MSU5FIEpTT2JqZWN0KiBjb25zdHJ1Y3RPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU1Zh
bHVlIG5ld1RhcmdldCkKIHsKLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhl
Yy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAgIE9iamVjdENvbnN0cnVjdG9yKiBvYmpl
Y3RDb25zdHJ1Y3RvciA9IGpzQ2FzdDxPYmplY3RDb25zdHJ1Y3Rvcio+KGV4ZWMtPmNhbGxlZSgp
KTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gb2JqZWN0Q29uc3RydWN0b3It
Pmdsb2JhbE9iamVjdCgpOworCisgICAgLy8gV2UgbmVlZCB0byBjaGVjayBuZXdUYXJnZXQgY29u
ZGl0aW9uIGluIHRoaXMgY2FsbGVyIHNpZGUgaW5zdGVhZCBvZiBJbnRlcm5hbEZ1bmN0aW9uOjpj
cmVhdGVTdWJjbGFzc1N0cnVjdHVyZSBzaWRlLgorICAgIC8vIFNpbmNlIGlmIHdlIGZvdW5kIHRo
aXMgY29uZGl0aW9uIGlzIG1ldCwgd2Ugc2hvdWxkIG5vdCBmYWxsIGludG8gdGhlIHR5cGUgY29u
dmVyc2lvbiBpbiB0aGUgc3RlcCAzLgorCisgICAgLy8gMS4gSWYgTmV3VGFyZ2V0IGlzIG5laXRo
ZXIgdW5kZWZpbmVkIG5vciB0aGUgYWN0aXZlIGZ1bmN0aW9uLCB0aGVuCisgICAgaWYgKG5ld1Rh
cmdldCAmJiBuZXdUYXJnZXQgIT0gb2JqZWN0Q29uc3RydWN0b3IpIHsKKyAgICAgICAgLy8gYS4g
UmV0dXJuID8gT3JkaW5hcnlDcmVhdGVGcm9tQ29uc3RydWN0b3IoTmV3VGFyZ2V0LCAiJU9iamVj
dFByb3RvdHlwZSUiKS4KKyAgICAgICAgU3RydWN0dXJlKiBvYmplY3RTdHJ1Y3R1cmUgPSBJbnRl
cm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZShleGVjLCBuZXdUYXJnZXQsIGds
b2JhbE9iamVjdC0+b2JqZWN0U3RydWN0dXJlRm9yT2JqZWN0Q29uc3RydWN0b3IoKSk7CisgICAg
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworICAgICAgICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgb2JqZWN0U3RydWN0
dXJlKTsKKyAgICB9CisKKyAgICAvLyAyLiBJZiB2YWx1ZSBpcyBudWxsLCB1bmRlZmluZWQgb3Ig
bm90IHN1cHBsaWVkLCByZXR1cm4gT2JqZWN0Q3JlYXRlKCVPYmplY3RQcm90b3R5cGUlKS4KICAg
ICBBcmdMaXN0IGFyZ3MoZXhlYyk7CiAgICAgSlNWYWx1ZSBhcmcgPSBhcmdzLmF0KDApOwogICAg
IGlmIChhcmcuaXNVbmRlZmluZWRPck51bGwoKSkKLSAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEVt
cHR5T2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCkpOworICAgICAg
ICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LT5vYmplY3RT
dHJ1Y3R1cmVGb3JPYmplY3RDb25zdHJ1Y3RvcigpKTsKKworICAgIC8vIDMuIFJldHVybiBUb09i
amVjdCh2YWx1ZSkuCiAgICAgcmV0dXJuIGFyZy50b09iamVjdChleGVjLCBnbG9iYWxPYmplY3Qp
OwogfQogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RXaXRo
T2JqZWN0Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjKQogewotICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoY29uc3RydWN0T2JqZWN0KGV4ZWMpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGNvbnN0cnVjdE9iamVjdChleGVjLCBleGVjLT5uZXdUYXJnZXQoKSkpOwogfQogCiBDb25z
dHJ1Y3RUeXBlIE9iamVjdENvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENv
bnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCkBAIC0xNDEsNyArMTU5LDcgQEAgQ29uc3RydWN0
VHlwZSBPYmplY3RDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1
Y3REYXRhJiBjb25zdHIKIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY2Fs
bE9iamVjdENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGNvbnN0cnVjdE9iamVjdChleGVjKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShjb25zdHJ1Y3RPYmplY3QoZXhlYywgSlNWYWx1ZSgpKSk7CiB9CiAKIENhbGxUeXBlIE9i
amVjdENvbnN0cnVjdG9yOjpnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYgY2FsbERhdGEp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL29iamVjdC1j
b25zdHJ1Y3Rvci1zaG91bGQtYmUtbmV3LXRhcmdldC1hd2FyZS5qcyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3Mvb2JqZWN0LWNvbnN0cnVjdG9yLXNob3VsZC1iZS1uZXctdGFy
Z2V0LWF3YXJlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhMzkyYmQ4OGFiZDU4YjQzYzFmMTRjOTg4MzZhYjg3
OTQyYmMwNzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL29iamVjdC1jb25zdHJ1Y3Rvci1zaG91bGQtYmUtbmV3LXRhcmdldC1hd2FyZS5qcwpA
QCAtMCwwICsxLDE2IEBACitmdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7Cisg
ICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFk
IHZhbHVlOiAnICsgYWN0dWFsKTsKK30KKworY2xhc3MgSGVsbG8gZXh0ZW5kcyBPYmplY3Qgewor
ICAgIGNvbnN0cnVjdG9yKCkKKyAgICB7CisgICAgICAgIHN1cGVyKCk7CisgICAgfQorfQorCit2
YXIgaGVsbG8gPSBuZXcgSGVsbG8oKTsKK3Nob3VsZEJlKGhlbGxvLl9fcHJvdG9fXywgSGVsbG8u
cHJvdG90eXBlKTsKKworc2hvdWxkQmUoUmVmbGVjdC5jb25zdHJ1Y3QoT2JqZWN0LCBbXSwgSGVs
bG8pLl9fcHJvdG9fXywgSGVsbG8ucHJvdG90eXBlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277826</attachid>
            <date>2016-04-30 13:07:20 -0700</date>
            <delta_ts>2016-05-01 03:18:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157196-20160501050754.patch</filename>
            <type>text/plain</type>
            <size>8047</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwMjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
OTgzOTQ5NWFiYTI0OWIzZWJmZGRiYmQxM2UxOWFlMGZlOTY3OWVlLi5hMWY3YTI4NDgyMTBlY2Yz
MDU4YTY1YzIyYzJlODdjYWE2M2U5ODVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxNi0wNC0zMCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbSlNDXSBPYmplY3QgY29uc3RydWN0b3IgbmVlZCB0byBiZSBhd2Fy
ZSBvZiBuZXcudGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTcxOTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0ds
b2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5oOgor
ICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6b2JqZWN0U3RydWN0dXJlRm9yT2JqZWN0Q29u
c3RydWN0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwOgorICAg
ICAgICAoSlNDOjpjYWxsT2JqZWN0KToKKyAgICAgICAgKEpTQzo6Y29uc3RydWN0T2JqZWN0KToK
KyAgICAgICAgKEpTQzo6Y29uc3RydWN0V2l0aE9iamVjdENvbnN0cnVjdG9yKToKKyAgICAgICAg
KEpTQzo6Y2FsbE9iamVjdENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBydW50aW1lL09iamVjdENv
bnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdEVtcHR5T2JqZWN0KToKKyAgICAg
ICAgKiB0ZXN0cy9zdHJlc3Mvb2JqZWN0LWNvbnN0cnVjdG9yLXNob3VsZC1iZS1uZXctdGFyZ2V0
LWF3YXJlLmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKEhlbGxvKToK
KwogMjAxNi0wNC0yOCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
Rmlyc3Qgc3RlcCBpbiB1c2luZyAiZW51bSBjbGFzcyIgaW5zdGVhZCBvZiAiU3RyaW5nIiBmb3Ig
ZW51bWVyYXRpb25zIGluIERPTQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IDE3MWIwYzdmMjczNjQ0NTYzNDUxZGVjMjdhYzdjYTVh
MWE0OTE0MzguLjlkMzIxNzczNTBkNjdjMTk2NTRlM2I4NzZkMTNhMGY1NTVhYzJiNDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAg
LTM2MCw2ICszNjAsOCBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBt
X29iamNDYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgT2JqQ0NhbGxiYWNr
RnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5n
ZXQoKSkpOwogICAgIG1fb2JqY1dyYXBwZXJPYmplY3RTdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBK
U0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD46OmNyZWF0ZVN0cnVjdHVyZSh2bSwg
dGhpcywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKTsKICNlbmRpZgorCisgICAgbV9vYmplY3RT
dHJ1Y3R1cmVGb3JPYmplY3RDb25zdHJ1Y3Rvci5zZXQodm0sIHRoaXMsIHZtLnByb3RvdHlwZU1h
cC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShtX29iamVjdFByb3RvdHlwZS5nZXQo
KSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpKTsKICAgICAKICAgICBt
X2FycmF5UHJvdG90eXBlLnNldCh2bSwgdGhpcywgQXJyYXlQcm90b3R5cGU6OmNyZWF0ZSh2bSwg
dGhpcywgQXJyYXlQcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9vYmplY3RQ
cm90b3R5cGUuZ2V0KCkpKSk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCBkOGM1OGQ1NWVjYTkxZTc4ODJmYjFhOTFiZDhlZjk0
N2M3ZTU2ZDUzLi4yMzg4Njk3NzU5ZDM4OGMyMDc2ZjE4YzM2NGYzYjdiZDMxOGYyYTk3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTI1
Myw2ICsyNTMsOCBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZh
cmlhYmxlT2JqZWN0IHsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2RpcmVjdEFyZ3Vt
ZW50c1N0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3Njb3BlZEFyZ3Vt
ZW50c1N0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Nsb25lZEFyZ3Vt
ZW50c1N0cnVjdHVyZTsKKworICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fb2JqZWN0U3Ry
dWN0dXJlRm9yT2JqZWN0Q29uc3RydWN0b3I7CiAgICAgICAgIAogICAgIC8vIExpc3RzIHRoZSBh
Y3R1YWwgc3RydWN0dXJlcyB1c2VkIGZvciBoYXZpbmcgdGhlc2UgcGFydGljdWxhciBpbmRleGlu
ZyBzaGFwZXMuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9vcmlnaW5hbEFycmF5U3Ry
dWN0dXJlRm9ySW5kZXhpbmdTaGFwZVtOdW1iZXJPZkluZGV4aW5nU2hhcGVzXTsKQEAgLTQ5Miw2
ICs0OTQsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZhcmlh
YmxlT2JqZWN0IHsKICAgICBTdHJ1Y3R1cmUqIGRpcmVjdEFyZ3VtZW50c1N0cnVjdHVyZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZGlyZWN0QXJndW1lbnRzU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3Ry
dWN0dXJlKiBzY29wZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX3Njb3Bl
ZEFyZ3VtZW50c1N0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogY2xvbmVkQXJndW1l
bnRzU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUu
Z2V0KCk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIFN0cnVjdHVyZSogb2JqZWN0U3RydWN0dXJlRm9y
T2JqZWN0Q29uc3RydWN0b3IoKSBjb25zdCB7IHJldHVybiBtX29iamVjdFN0cnVjdHVyZUZvck9i
amVjdENvbnN0cnVjdG9yLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBvcmlnaW5hbEFycmF5U3Ry
dWN0dXJlRm9ySW5kZXhpbmdUeXBlKEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUpIGNvbnN0CiAg
ICAgewogICAgICAgICBBU1NFUlQoaW5kZXhpbmdUeXBlICYgSXNBcnJheSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKaW5kZXgg
MTVlZWJhNTA4MTk5MDg1MDg4MGE2NzUyNWU5MDQwNjE4ODlhNjkwZC4uZjU3MmJlYjQ4MjQwYWVi
MmY3YmFhZTlkMGNkZTZlMzNlMjIwOWZiOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcApAQCAtMTE4LDE5ICsxMTgsNDQgQEAg
Ym9vbCBPYmplY3RDb25zdHJ1Y3Rvcjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmpl
Y3QsIEV4ZWNTdGF0ZSogZXhlYywgUHIKICAgICByZXR1cm4gZ2V0U3RhdGljRnVuY3Rpb25TbG90
PEpTT2JqZWN0PihleGVjLCBvYmplY3RDb25zdHJ1Y3RvclRhYmxlLCBqc0Nhc3Q8T2JqZWN0Q29u
c3RydWN0b3IqPihvYmplY3QpLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCi1zdGF0aWMgQUxX
QVlTX0lOTElORSBKU09iamVjdCogY29uc3RydWN0T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYykKKy8v
IEVTIDE5LjEuMS4xIE9iamVjdChbdmFsdWVdKQorc3RhdGljIEFMV0FZU19JTkxJTkUgSlNPYmpl
Y3QqIGNhbGxPYmplY3QoRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CisKKyAgICAvLyAy
LiBJZiB2YWx1ZSBpcyBudWxsLCB1bmRlZmluZWQgb3Igbm90IHN1cHBsaWVkLCByZXR1cm4gT2Jq
ZWN0Q3JlYXRlKCVPYmplY3RQcm90b3R5cGUlKS4KICAgICBBcmdMaXN0IGFyZ3MoZXhlYyk7CiAg
ICAgSlNWYWx1ZSBhcmcgPSBhcmdzLmF0KDApOwogICAgIGlmIChhcmcuaXNVbmRlZmluZWRPck51
bGwoKSkKLSAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIGdsb2JhbE9i
amVjdC0+b2JqZWN0UHJvdG90eXBlKCkpOworICAgICAgICByZXR1cm4gY29uc3RydWN0RW1wdHlP
YmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LT5vYmplY3RTdHJ1Y3R1cmVGb3JPYmplY3RDb25zdHJ1
Y3RvcigpKTsKKworICAgIC8vIDMuIFJldHVybiBUb09iamVjdCh2YWx1ZSkuCiAgICAgcmV0dXJu
IGFyZy50b09iamVjdChleGVjLCBnbG9iYWxPYmplY3QpOwogfQogCisvLyBFUyAxOS4xLjEuMSBP
YmplY3QoW3ZhbHVlXSkKK3N0YXRpYyBBTFdBWVNfSU5MSU5FIEpTT2JqZWN0KiBjb25zdHJ1Y3RP
YmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIG5ld1RhcmdldCkKK3sKKyAgICBPYmplY3RD
b25zdHJ1Y3Rvciogb2JqZWN0Q29uc3RydWN0b3IgPSBqc0Nhc3Q8T2JqZWN0Q29uc3RydWN0b3Iq
PihleGVjLT5jYWxsZWUoKSk7CisKKyAgICAvLyBXZSBuZWVkIHRvIGNoZWNrIG5ld1RhcmdldCBj
b25kaXRpb24gaW4gdGhpcyBjYWxsZXIgc2lkZSBpbnN0ZWFkIG9mIEludGVybmFsRnVuY3Rpb246
OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlIHNpZGUuCisgICAgLy8gU2luY2UgaWYgd2UgZm91bmQg
dGhpcyBjb25kaXRpb24gaXMgbWV0LCB3ZSBzaG91bGQgbm90IGZhbGwgaW50byB0aGUgdHlwZSBj
b252ZXJzaW9uIGluIHRoZSBzdGVwIDMuCisKKyAgICAvLyAxLiBJZiBOZXdUYXJnZXQgaXMgbmVp
dGhlciB1bmRlZmluZWQgbm9yIHRoZSBhY3RpdmUgZnVuY3Rpb24sIHRoZW4KKyAgICBpZiAobmV3
VGFyZ2V0ICYmIG5ld1RhcmdldCAhPSBvYmplY3RDb25zdHJ1Y3RvcikgeworICAgICAgICAvLyBh
LiBSZXR1cm4gPyBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3RvcihOZXdUYXJnZXQsICIlT2Jq
ZWN0UHJvdG90eXBlJSIpLgorICAgICAgICBTdHJ1Y3R1cmUqIG9iamVjdFN0cnVjdHVyZSA9IElu
dGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlKGV4ZWMsIG5ld1RhcmdldCwg
b2JqZWN0Q29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgpLT5vYmplY3RTdHJ1Y3R1cmVGb3JPYmpl
Y3RDb25zdHJ1Y3RvcigpKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9i
amVjdChleGVjLCBvYmplY3RTdHJ1Y3R1cmUpOworICAgIH0KKworICAgIHJldHVybiBjYWxsT2Jq
ZWN0KGV4ZWMpOworfQorCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25z
dHJ1Y3RXaXRoT2JqZWN0Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjKQogewotICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoY29uc3RydWN0T2JqZWN0KGV4ZWMpKTsKKyAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGNvbnN0cnVjdE9iamVjdChleGVjLCBleGVjLT5uZXdUYXJnZXQoKSkpOwog
fQogCiBDb25zdHJ1Y3RUeXBlIE9iamVjdENvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhKEpT
Q2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCkBAIC0xNDEsNyArMTY2LDcgQEAg
Q29uc3RydWN0VHlwZSBPYmplY3RDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwq
LCBDb25zdHJ1Y3REYXRhJiBjb25zdHIKIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgY2FsbE9iamVjdENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGNvbnN0cnVjdE9iamVjdChleGVjKSk7CisgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShjYWxsT2JqZWN0KGV4ZWMpKTsKIH0KIAogQ2FsbFR5cGUgT2JqZWN0Q29u
c3RydWN0b3I6OmdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJiBjYWxsRGF0YSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCmluZGV4
IDFiMjJhYjY0NDQ2YzQyY2YyMjdlZmI5MzFkZmRlNmY1NjY5MDJhZGIuLmQxNDhhYjBmZGRhMThi
MWY4NjkxNGNjNDJmNWM0N2MxYjRmMjMyODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaApAQCAtODgsNyArODgsNyBAQCBpbmxpbmUg
SlNPYmplY3QqIGNvbnN0cnVjdEVtcHR5T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3Qq
IHByb3RvdHlwZSkKIAogaW5saW5lIEpTT2JqZWN0KiBjb25zdHJ1Y3RFbXB0eU9iamVjdChFeGVj
U3RhdGUqIGV4ZWMpCiB7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpOworICAgIHJldHVy
biBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkt
Pm9iamVjdFN0cnVjdHVyZUZvck9iamVjdENvbnN0cnVjdG9yKCkpOwogfQogCiAvLyBTZWN0aW9u
IDYuMi40LjQgb2YgdGhlIEVTNiBzcGVjaWZpY2F0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9vYmplY3QtY29uc3RydWN0b3Itc2hvdWxkLWJlLW5l
dy10YXJnZXQtYXdhcmUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL29i
amVjdC1jb25zdHJ1Y3Rvci1zaG91bGQtYmUtbmV3LXRhcmdldC1hd2FyZS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hYTM5MmJkODhhYmQ1OGI0M2MxZjE0Yzk4ODM2YWI4Nzk0MmJjMDczCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9vYmplY3QtY29uc3RydWN0
b3Itc2hvdWxkLWJlLW5ldy10YXJnZXQtYXdhcmUuanMKQEAgLTAsMCArMSwxNiBAQAorZnVuY3Rp
b24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgeworICAgIGlmIChhY3R1YWwgIT09IGV4cGVj
dGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9
CisKK2NsYXNzIEhlbGxvIGV4dGVuZHMgT2JqZWN0IHsKKyAgICBjb25zdHJ1Y3RvcigpCisgICAg
eworICAgICAgICBzdXBlcigpOworICAgIH0KK30KKwordmFyIGhlbGxvID0gbmV3IEhlbGxvKCk7
CitzaG91bGRCZShoZWxsby5fX3Byb3RvX18sIEhlbGxvLnByb3RvdHlwZSk7CisKK3Nob3VsZEJl
KFJlZmxlY3QuY29uc3RydWN0KE9iamVjdCwgW10sIEhlbGxvKS5fX3Byb3RvX18sIEhlbGxvLnBy
b3RvdHlwZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277853</attachid>
            <date>2016-05-01 03:18:44 -0700</date>
            <delta_ts>2016-05-04 02:07:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157196-20160501191918.patch</filename>
            <type>text/plain</type>
            <size>8361</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwMjkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NzAyZTUyODliMTViZjMwZjAwNjZiZGVkNWQwMWQ1MmJhMGQ0YTlhLi45MGYxZGU0OWMyZmE0NDNi
MzI1ZGMzZWRlZTAzNmExZjY4YjNmMDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNi0wNS0wMSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbSlNDXSBPYmplY3QgY29uc3RydWN0b3IgbmVlZCB0byBiZSBhd2Fy
ZSBvZiBuZXcudGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTcxOTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBPYmplY3QgY29uc3RydWN0b3Igc2hvdWxkIGJlIGF3YXJlIG9mIG5ldy50YXJnZXQu
CisgICAgICAgIFdoZW4gdGhlIG5ldy50YXJnZXQgaXMgc3BlY2lmaWVkLCB3ZSBzaG91bGQgc3Rv
cmUgaXQucHJvdG90eXBlIHRvIHRoZSBuZXdseSBjcmVhdGVkCisgICAgICAgIG9iamVjdCdzIFtb
UHJvdG90eXBlXV0uCisKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAqIHJ1bnRpbWUvSlNH
bG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6Om9iamVjdFN0cnVj
dHVyZUZvck9iamVjdENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBydW50aW1lL09iamVjdENvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Y2FsbE9iamVjdCk6CisgICAgICAgIChKU0M6OmNv
bnN0cnVjdE9iamVjdCk6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdFdpdGhPYmplY3RDb25zdHJ1
Y3Rvcik6CisgICAgICAgIChKU0M6OmNhbGxPYmplY3RDb25zdHJ1Y3Rvcik6CisgICAgICAgICog
cnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RFbXB0
eU9iamVjdCk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL29iamVjdC1jb25zdHJ1Y3Rvci1zaG91
bGQtYmUtbmV3LXRhcmdldC1hd2FyZS5qczogQWRkZWQuCisgICAgICAgIChzaG91bGRCZSk6Cisg
ICAgICAgIChIZWxsbyk6CisKIDIwMTYtMDQtMzAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRl
YUBnbWFpbC5jb20+CiAKICAgICAgICAgQXNzZXJ0aW9uIGZhaWx1cmUgZm9yIGRlc3RydWN0dXJp
bmcgYXNzaWdubWVudCB3aXRoIG5ldy50YXJnZXQgYW5kIHVuYXJ5IG9wZXJhdG9yCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggMTcx
YjBjN2YyNzM2NDQ1NjM0NTFkZWMyN2FjN2NhNWExYTQ5MTQzOC4uOWQzMjE3NzM1MGQ2N2MxOTY1
NGUzYjg3NmQxM2EwZjU1NWFjMmI0OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMzYwLDYgKzM2MCw4IEBAIHZvaWQgSlNHbG9i
YWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgIG1fb2JqY0NhbGxiYWNrRnVuY3Rpb25TdHJ1Y3R1
cmUuc2V0KHZtLCB0aGlzLCBPYmpDQ2FsbGJhY2tGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZt
LCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CiAgICAgbV9vYmpjV3JhcHBlck9i
amVjdFN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVy
T2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQo
KSkpOwogI2VuZGlmCisKKyAgICBtX29iamVjdFN0cnVjdHVyZUZvck9iamVjdENvbnN0cnVjdG9y
LnNldCh2bSwgdGhpcywgdm0ucHJvdG90eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJv
dG90eXBlKG1fb2JqZWN0UHJvdG90eXBlLmdldCgpLCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5s
aW5lQ2FwYWNpdHkoKSkpOwogICAgIAogICAgIG1fYXJyYXlQcm90b3R5cGUuc2V0KHZtLCB0aGlz
LCBBcnJheVByb3RvdHlwZTo6Y3JlYXRlKHZtLCB0aGlzLCBBcnJheVByb3RvdHlwZTo6Y3JlYXRl
U3RydWN0dXJlKHZtLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpKTsKICAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IGQ4
YzU4ZDU1ZWNhOTFlNzg4MmZiMWE5MWJkOGVmOTQ3YzdlNTZkNTMuLjIzODg2OTc3NTlkMzg4YzIw
NzZmMThjMzY0ZjNiN2JkMzE4ZjJhOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjUzLDYgKzI1Myw4IEBAIGNsYXNzIEpTR2xvYmFs
T2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fZGlyZWN0QXJndW1lbnRzU3RydWN0dXJlOwogICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fc2NvcGVkQXJndW1lbnRzU3RydWN0dXJlOwogICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fY2xvbmVkQXJndW1lbnRzU3RydWN0dXJlOworCisgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4gbV9vYmplY3RTdHJ1Y3R1cmVGb3JPYmplY3RDb25zdHJ1Y3RvcjsK
ICAgICAgICAgCiAgICAgLy8gTGlzdHMgdGhlIGFjdHVhbCBzdHJ1Y3R1cmVzIHVzZWQgZm9yIGhh
dmluZyB0aGVzZSBwYXJ0aWN1bGFyIGluZGV4aW5nIHNoYXBlcy4KICAgICBXcml0ZUJhcnJpZXI8
U3RydWN0dXJlPiBtX29yaWdpbmFsQXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1NoYXBlW051bWJl
ck9mSW5kZXhpbmdTaGFwZXNdOwpAQCAtNDkyLDYgKzQ5NCw3IEBAIGNsYXNzIEpTR2xvYmFsT2Jq
ZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIFN0cnVjdHVyZSog
ZGlyZWN0QXJndW1lbnRzU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9kaXJlY3RBcmd1bWVu
dHNTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIHNjb3BlZEFyZ3VtZW50c1N0cnVj
dHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NvcGVkQXJndW1lbnRzU3RydWN0dXJlLmdldCgpOyB9
CiAgICAgU3RydWN0dXJlKiBjbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVy
biBtX2Nsb25lZEFyZ3VtZW50c1N0cnVjdHVyZS5nZXQoKTsgfQorICAgIEFMV0FZU19JTkxJTkUg
U3RydWN0dXJlKiBvYmplY3RTdHJ1Y3R1cmVGb3JPYmplY3RDb25zdHJ1Y3RvcigpIGNvbnN0IHsg
cmV0dXJuIG1fb2JqZWN0U3RydWN0dXJlRm9yT2JqZWN0Q29uc3RydWN0b3IuZ2V0KCk7IH0KICAg
ICBTdHJ1Y3R1cmUqIG9yaWdpbmFsQXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGUoSW5kZXhp
bmdUeXBlIGluZGV4aW5nVHlwZSkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVChpbmRleGlu
Z1R5cGUgJiBJc0FycmF5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09iamVjdENvbnN0cnVjdG9yLmNwcAppbmRleCAxNWVlYmE1MDgxOTkwODUwODgwYTY3NTI1ZTkw
NDA2MTg4OWE2OTBkLi5mNTcyYmViNDgyNDBhZWIyZjdiYWFlOWQwY2RlNmUzM2UyMjA5ZmI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0
b3IuY3BwCkBAIC0xMTgsMTkgKzExOCw0NCBAQCBib29sIE9iamVjdENvbnN0cnVjdG9yOjpnZXRP
d25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcgogICAg
IHJldHVybiBnZXRTdGF0aWNGdW5jdGlvblNsb3Q8SlNPYmplY3Q+KGV4ZWMsIG9iamVjdENvbnN0
cnVjdG9yVGFibGUsIGpzQ2FzdDxPYmplY3RDb25zdHJ1Y3Rvcio+KG9iamVjdCksIHByb3BlcnR5
TmFtZSwgc2xvdCk7CiB9CiAKLXN0YXRpYyBBTFdBWVNfSU5MSU5FIEpTT2JqZWN0KiBjb25zdHJ1
Y3RPYmplY3QoRXhlY1N0YXRlKiBleGVjKQorLy8gRVMgMTkuMS4xLjEgT2JqZWN0KFt2YWx1ZV0p
CitzdGF0aWMgQUxXQVlTX0lOTElORSBKU09iamVjdCogY2FsbE9iamVjdChFeGVjU3RhdGUqIGV4
ZWMpCiB7CiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgp
LT5nbG9iYWxPYmplY3QoKTsKKworICAgIC8vIDIuIElmIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5l
ZCBvciBub3Qgc3VwcGxpZWQsIHJldHVybiBPYmplY3RDcmVhdGUoJU9iamVjdFByb3RvdHlwZSUp
LgogICAgIEFyZ0xpc3QgYXJncyhleGVjKTsKICAgICBKU1ZhbHVlIGFyZyA9IGFyZ3MuYXQoMCk7
CiAgICAgaWYgKGFyZy5pc1VuZGVmaW5lZE9yTnVsbCgpKQotICAgICAgICByZXR1cm4gY29uc3Ry
dWN0RW1wdHlPYmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKSk7Cisg
ICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QtPm9i
amVjdFN0cnVjdHVyZUZvck9iamVjdENvbnN0cnVjdG9yKCkpOworCisgICAgLy8gMy4gUmV0dXJu
IFRvT2JqZWN0KHZhbHVlKS4KICAgICByZXR1cm4gYXJnLnRvT2JqZWN0KGV4ZWMsIGdsb2JhbE9i
amVjdCk7CiB9CiAKKy8vIEVTIDE5LjEuMS4xIE9iamVjdChbdmFsdWVdKQorc3RhdGljIEFMV0FZ
U19JTkxJTkUgSlNPYmplY3QqIGNvbnN0cnVjdE9iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFs
dWUgbmV3VGFyZ2V0KQoreworICAgIE9iamVjdENvbnN0cnVjdG9yKiBvYmplY3RDb25zdHJ1Y3Rv
ciA9IGpzQ2FzdDxPYmplY3RDb25zdHJ1Y3Rvcio+KGV4ZWMtPmNhbGxlZSgpKTsKKworICAgIC8v
IFdlIG5lZWQgdG8gY2hlY2sgbmV3VGFyZ2V0IGNvbmRpdGlvbiBpbiB0aGlzIGNhbGxlciBzaWRl
IGluc3RlYWQgb2YgSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUgc2lk
ZS4KKyAgICAvLyBTaW5jZSBpZiB3ZSBmb3VuZCB0aGlzIGNvbmRpdGlvbiBpcyBtZXQsIHdlIHNo
b3VsZCBub3QgZmFsbCBpbnRvIHRoZSB0eXBlIGNvbnZlcnNpb24gaW4gdGhlIHN0ZXAgMy4KKwor
ICAgIC8vIDEuIElmIE5ld1RhcmdldCBpcyBuZWl0aGVyIHVuZGVmaW5lZCBub3IgdGhlIGFjdGl2
ZSBmdW5jdGlvbiwgdGhlbgorICAgIGlmIChuZXdUYXJnZXQgJiYgbmV3VGFyZ2V0ICE9IG9iamVj
dENvbnN0cnVjdG9yKSB7CisgICAgICAgIC8vIGEuIFJldHVybiA/IE9yZGluYXJ5Q3JlYXRlRnJv
bUNvbnN0cnVjdG9yKE5ld1RhcmdldCwgIiVPYmplY3RQcm90b3R5cGUlIikuCisgICAgICAgIFN0
cnVjdHVyZSogb2JqZWN0U3RydWN0dXJlID0gSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xh
c3NTdHJ1Y3R1cmUoZXhlYywgbmV3VGFyZ2V0LCBvYmplY3RDb25zdHJ1Y3Rvci0+Z2xvYmFsT2Jq
ZWN0KCktPm9iamVjdFN0cnVjdHVyZUZvck9iamVjdENvbnN0cnVjdG9yKCkpOworICAgICAgICBp
ZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIG9iamVjdFN0cnVjdHVyZSk7
CisgICAgfQorCisgICAgcmV0dXJuIGNhbGxPYmplY3QoZXhlYyk7Cit9CisKIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdFdpdGhPYmplY3RDb25zdHJ1Y3RvcihF
eGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjb25zdHJ1Y3RP
YmplY3QoZXhlYykpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY29uc3RydWN0T2JqZWN0
KGV4ZWMsIGV4ZWMtPm5ld1RhcmdldCgpKSk7CiB9CiAKIENvbnN0cnVjdFR5cGUgT2JqZWN0Q29u
c3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYgY29uc3Ry
dWN0RGF0YSkKQEAgLTE0MSw3ICsxNjYsNyBAQCBDb25zdHJ1Y3RUeXBlIE9iamVjdENvbnN0cnVj
dG9yOjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cgogCiBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjYWxsT2JqZWN0Q29uc3RydWN0b3Io
RXhlY1N0YXRlKiBleGVjKQogewotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY29uc3RydWN0
T2JqZWN0KGV4ZWMpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhbGxPYmplY3QoZXhl
YykpOwogfQogCiBDYWxsVHlwZSBPYmplY3RDb25zdHJ1Y3Rvcjo6Z2V0Q2FsbERhdGEoSlNDZWxs
KiwgQ2FsbERhdGEmIGNhbGxEYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL09iamVjdENvbnN0cnVjdG9yLmgKaW5kZXggMWIyMmFiNjQ0NDZjNDJjZjIyN2VmYjkzMWRm
ZGU2ZjU2NjkwMmFkYi4uZDE0OGFiMGZkZGExOGIxZjg2OTE0Y2M0MmY1YzQ3YzFiNGYyMzI4NSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0
b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rv
ci5oCkBAIC04OCw3ICs4OCw3IEBAIGlubGluZSBKU09iamVjdCogY29uc3RydWN0RW1wdHlPYmpl
Y3QoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogcHJvdG90eXBlKQogCiBpbmxpbmUgSlNPYmpl
Y3QqIGNvbnN0cnVjdEVtcHR5T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICByZXR1cm4g
Y29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5v
YmplY3RQcm90b3R5cGUoKSk7CisgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMs
IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+b2JqZWN0U3RydWN0dXJlRm9yT2JqZWN0Q29u
c3RydWN0b3IoKSk7CiB9CiAKIC8vIFNlY3Rpb24gNi4yLjQuNCBvZiB0aGUgRVM2IHNwZWNpZmlj
YXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL29i
amVjdC1jb25zdHJ1Y3Rvci1zaG91bGQtYmUtbmV3LXRhcmdldC1hd2FyZS5qcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvb2JqZWN0LWNvbnN0cnVjdG9yLXNob3VsZC1iZS1u
ZXctdGFyZ2V0LWF3YXJlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzZjZkY2YzMjc1NGI5NjQ2MTE5ODY5ZDc0
Y2QyODQzZTZhM2QwODMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL29iamVjdC1jb25zdHJ1Y3Rvci1zaG91bGQtYmUtbmV3LXRhcmdldC1hd2Fy
ZS5qcwpAQCAtMCwwICsxLDE5IEBACitmdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVk
KSB7CisgICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJv
cignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKK30KKworY2xhc3MgSGVsbG8gZXh0ZW5kcyBPYmpl
Y3QgeworICAgIGNvbnN0cnVjdG9yKCkKKyAgICB7CisgICAgICAgIHN1cGVyKCk7CisgICAgfQor
fQorCit2YXIgaGVsbG8gPSBuZXcgSGVsbG8oKTsKK3Nob3VsZEJlKGhlbGxvLl9fcHJvdG9fXywg
SGVsbG8ucHJvdG90eXBlKTsKKworc2hvdWxkQmUoUmVmbGVjdC5jb25zdHJ1Y3QoT2JqZWN0LCBb
XSwgSGVsbG8pLl9fcHJvdG9fXywgSGVsbG8ucHJvdG90eXBlKTsKKworLy8gVGhlIGFyZ3VtZW50
IDQyIGlzIGlnbm9yZWQuCitzaG91bGRCZShSZWZsZWN0LmNvbnN0cnVjdChPYmplY3QsIFsgNDIg
XSwgSGVsbG8pLl9fcHJvdG9fXywgSGVsbG8ucHJvdG90eXBlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278070</attachid>
            <date>2016-05-04 02:07:05 -0700</date>
            <delta_ts>2016-05-04 02:09:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157196-20160504180744.patch</filename>
            <type>text/plain</type>
            <size>7577</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OTdmNTUyYzA2NDdhY2JjN2FkMDg0NDQ1NTM2MjBiODZiNDhiZTQzLi5mZGZkNDQ0NmI4MWQxYzY1
YWY4MTdhZDVkNmQyN2I0YWM1ZjNhNjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyOCBAQAogMjAxNi0wNS0wNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAorICAgICAgICBbSlNDXSBPYmplY3QgY29uc3RydWN0b3IgbmVlZCB0byBiZSBhd2Fy
ZSBvZiBuZXcudGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTcxOTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBPYmplY3QgY29uc3RydWN0b3Igc2hvdWxkIGJlIGF3YXJlIG9mIG5ldy50YXJnZXQu
CisgICAgICAgIFdoZW4gdGhlIG5ldy50YXJnZXQgaXMgc3BlY2lmaWVkLCB3ZSBzaG91bGQgc3Rv
cmUgaXQucHJvdG90eXBlIHRvIHRoZSBuZXdseSBjcmVhdGVkCisgICAgICAgIG9iamVjdCdzIFtb
UHJvdG90eXBlXV0uCisKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAqIHJ1bnRpbWUvSlNH
bG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6Om9iamVjdFN0cnVj
dHVyZUZvck9iamVjdENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBydW50aW1lL09iamVjdENvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Y29uc3RydWN0T2JqZWN0KToKKyAgICAgICAgKEpT
Qzo6Y29uc3RydWN0V2l0aE9iamVjdENvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6Y2FsbE9i
amVjdENvbnN0cnVjdG9yKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvb2JqZWN0LWNvbnN0cnVj
dG9yLXNob3VsZC1iZS1uZXctdGFyZ2V0LWF3YXJlLmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3Vs
ZEJlKToKKyAgICAgICAgKEhlbGxvKToKKworMjAxNi0wNS0wNCAgWXVzdWtlIFN1enVraSAgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4KKwogICAgICAgICBBc3NlcnRpb24gZmFpbHVyZSBmb3Igc3Vw
ZXIoKSBjYWxsIGluIGRpcmVjdCBldmFsIGluIG1ldGhvZCBmdW5jdGlvbgogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3MDkxCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCAxZTE1OGFm
ZTFlYTg3ZWU5ZDVlYTA2MDkwMDM1YmRjNTgxNjhhZTEzLi5lODcwYjUxZDFkNWU4MDAzMTNjNGE4
ZTU5OGViNzJlYmI1OGYxYTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC0zOTYsNiArMzk2LDcgQEAgdm9pZCBKU0dsb2JhbE9i
amVjdDo6aW5pdChWTSYgdm0pCiAgICAgcHJvdG9BY2Nlc3Nvci0+c2V0U2V0dGVyKHZtLCB0aGlz
LCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDAsIG1ha2VTdHJpbmcoInNldCAiLCB2bS5w
cm9wZXJ0eU5hbWVzLT51bmRlcnNjb3JlUHJvdG8uc3RyaW5nKCkpLCBnbG9iYWxGdW5jUHJvdG9T
ZXR0ZXIpKTsKICAgICBtX29iamVjdFByb3RvdHlwZS0+cHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nv
cih2bSwgdm0ucHJvcGVydHlOYW1lcy0+dW5kZXJzY29yZVByb3RvLCBwcm90b0FjY2Vzc29yLCBB
Y2Nlc3NvciB8IERvbnRFbnVtKTsKICAgICBtX2Z1bmN0aW9uUHJvdG90eXBlLT5zdHJ1Y3R1cmUo
KS0+c2V0UHJvdG90eXBlV2l0aG91dFRyYW5zaXRpb24odm0sIG1fb2JqZWN0UHJvdG90eXBlLmdl
dCgpKTsKKyAgICBtX29iamVjdFN0cnVjdHVyZUZvck9iamVjdENvbnN0cnVjdG9yLnNldCh2bSwg
dGhpcywgdm0ucHJvdG90eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKG1f
b2JqZWN0UHJvdG90eXBlLmdldCgpLCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNp
dHkoKSkpOwogCiAgICAgbV9zcGVjaWVzR2V0dGVyU2V0dGVyLnNldCh2bSwgdGhpcywgR2V0dGVy
U2V0dGVyOjpjcmVhdGUodm0sIHRoaXMpKTsKICAgICBtX3NwZWNpZXNHZXR0ZXJTZXR0ZXItPnNl
dEdldHRlcih2bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBn
bG9iYWxPYmplY3RTcGVjaWVzR2V0dGVyQ29kZUdlbmVyYXRvcih2bSksIHRoaXMsICJnZXQgW1N5
bWJvbC5zcGVjaWVzXSIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oCmluZGV4IGMzNDU5YWUzYWNmNDU2MWEyN2FiNTZjZWRhNGY0NWI2ZmJmYjRk
YTMuLmQ5MDU3NTYwNzVhOTE1ODkyNzA5MmU1MGM2MzRhNTM3MjNhZWE1YjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjcxLDYgKzI3
MSw4IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVP
YmplY3QgewogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fZGlyZWN0QXJndW1lbnRzU3Ry
dWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc2NvcGVkQXJndW1lbnRzU3Ry
dWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2xvbmVkQXJndW1lbnRzU3Ry
dWN0dXJlOworCisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9vYmplY3RTdHJ1Y3R1cmVG
b3JPYmplY3RDb25zdHJ1Y3RvcjsKICAgICAgICAgCiAgICAgLy8gTGlzdHMgdGhlIGFjdHVhbCBz
dHJ1Y3R1cmVzIHVzZWQgZm9yIGhhdmluZyB0aGVzZSBwYXJ0aWN1bGFyIGluZGV4aW5nIHNoYXBl
cy4KICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX29yaWdpbmFsQXJyYXlTdHJ1Y3R1cmVG
b3JJbmRleGluZ1NoYXBlW051bWJlck9mSW5kZXhpbmdTaGFwZXNdOwpAQCAtNTIxLDYgKzUyMyw3
IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmpl
Y3QgewogICAgIFN0cnVjdHVyZSogZGlyZWN0QXJndW1lbnRzU3RydWN0dXJlKCkgY29uc3QgeyBy
ZXR1cm4gbV9kaXJlY3RBcmd1bWVudHNTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUq
IHNjb3BlZEFyZ3VtZW50c1N0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NvcGVkQXJndW1l
bnRzU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBjbG9uZWRBcmd1bWVudHNTdHJ1
Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2Nsb25lZEFyZ3VtZW50c1N0cnVjdHVyZS5nZXQoKTsg
fQorICAgIFN0cnVjdHVyZSogb2JqZWN0U3RydWN0dXJlRm9yT2JqZWN0Q29uc3RydWN0b3IoKSBj
b25zdCB7IHJldHVybiBtX29iamVjdFN0cnVjdHVyZUZvck9iamVjdENvbnN0cnVjdG9yLmdldCgp
OyB9CiAgICAgU3RydWN0dXJlKiBvcmlnaW5hbEFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBl
KEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUpIGNvbnN0CiAgICAgewogICAgICAgICBBU1NFUlQo
aW5kZXhpbmdUeXBlICYgSXNBcnJheSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMTVlZWJhNTA4MTk5MDg1MDg4MGE2
NzUyNWU5MDQwNjE4ODlhNjkwZC4uM2ZjZjllY2M4YzljNWExM2NjYWQxY2I4YzQzNjE2ZTQxMmJj
NjBjMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29u
c3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENv
bnN0cnVjdG9yLmNwcApAQCAtMTE4LDE5ICsxMTgsMzcgQEAgYm9vbCBPYmplY3RDb25zdHJ1Y3Rv
cjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywg
UHIKICAgICByZXR1cm4gZ2V0U3RhdGljRnVuY3Rpb25TbG90PEpTT2JqZWN0PihleGVjLCBvYmpl
Y3RDb25zdHJ1Y3RvclRhYmxlLCBqc0Nhc3Q8T2JqZWN0Q29uc3RydWN0b3IqPihvYmplY3QpLCBw
cm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCi1zdGF0aWMgQUxXQVlTX0lOTElORSBKU09iamVjdCog
Y29uc3RydWN0T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYykKKy8vIEVTIDE5LjEuMS4xIE9iamVjdChb
dmFsdWVdKQorc3RhdGljIEFMV0FZU19JTkxJTkUgSlNPYmplY3QqIGNvbnN0cnVjdE9iamVjdChF
eGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgbmV3VGFyZ2V0KQogewotICAgIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CisgICAgT2Jq
ZWN0Q29uc3RydWN0b3IqIG9iamVjdENvbnN0cnVjdG9yID0ganNDYXN0PE9iamVjdENvbnN0cnVj
dG9yKj4oZXhlYy0+Y2FsbGVlKCkpOworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qg
PSBvYmplY3RDb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCk7CisKKyAgICAvLyBXZSBuZWVkIHRv
IGNoZWNrIG5ld1RhcmdldCBjb25kaXRpb24gaW4gdGhpcyBjYWxsZXIgc2lkZSBpbnN0ZWFkIG9m
IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlIHNpZGUuCisgICAgLy8g
U2luY2UgaWYgd2UgZm91bmQgdGhpcyBjb25kaXRpb24gaXMgbWV0LCB3ZSBzaG91bGQgbm90IGZh
bGwgaW50byB0aGUgdHlwZSBjb252ZXJzaW9uIGluIHRoZSBzdGVwIDMuCisKKyAgICAvLyAxLiBJ
ZiBOZXdUYXJnZXQgaXMgbmVpdGhlciB1bmRlZmluZWQgbm9yIHRoZSBhY3RpdmUgZnVuY3Rpb24s
IHRoZW4KKyAgICBpZiAobmV3VGFyZ2V0ICYmIG5ld1RhcmdldCAhPSBvYmplY3RDb25zdHJ1Y3Rv
cikgeworICAgICAgICAvLyBhLiBSZXR1cm4gPyBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3Rv
cihOZXdUYXJnZXQsICIlT2JqZWN0UHJvdG90eXBlJSIpLgorICAgICAgICBTdHJ1Y3R1cmUqIG9i
amVjdFN0cnVjdHVyZSA9IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJl
KGV4ZWMsIG5ld1RhcmdldCwgZ2xvYmFsT2JqZWN0LT5vYmplY3RTdHJ1Y3R1cmVGb3JPYmplY3RD
b25zdHJ1Y3RvcigpKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVj
dChleGVjLCBvYmplY3RTdHJ1Y3R1cmUpOworICAgIH0KKworICAgIC8vIDIuIElmIHZhbHVlIGlz
IG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsIHJldHVybiBPYmplY3RDcmVhdGUoJU9i
amVjdFByb3RvdHlwZSUpLgogICAgIEFyZ0xpc3QgYXJncyhleGVjKTsKICAgICBKU1ZhbHVlIGFy
ZyA9IGFyZ3MuYXQoMCk7CiAgICAgaWYgKGFyZy5pc1VuZGVmaW5lZE9yTnVsbCgpKQotICAgICAg
ICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LT5vYmplY3RQ
cm90b3R5cGUoKSk7CisgICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBn
bG9iYWxPYmplY3QtPm9iamVjdFN0cnVjdHVyZUZvck9iamVjdENvbnN0cnVjdG9yKCkpOworCisg
ICAgLy8gMy4gUmV0dXJuIFRvT2JqZWN0KHZhbHVlKS4KICAgICByZXR1cm4gYXJnLnRvT2JqZWN0
KGV4ZWMsIGdsb2JhbE9iamVjdCk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGNvbnN0cnVjdFdpdGhPYmplY3RDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMpCiB7
Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjb25zdHJ1Y3RPYmplY3QoZXhlYykpOworICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY29uc3RydWN0T2JqZWN0KGV4ZWMsIGV4ZWMtPm5ld1Rh
cmdldCgpKSk7CiB9CiAKIENvbnN0cnVjdFR5cGUgT2JqZWN0Q29uc3RydWN0b3I6OmdldENvbnN0
cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKQEAgLTE0MSw3
ICsxNTksNyBAQCBDb25zdHJ1Y3RUeXBlIE9iamVjdENvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3RE
YXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cgogCiBzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBjYWxsT2JqZWN0Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjKQog
ewotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY29uc3RydWN0T2JqZWN0KGV4ZWMpKTsKKyAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNvbnN0cnVjdE9iamVjdChleGVjLCBKU1ZhbHVlKCkp
KTsKIH0KIAogQ2FsbFR5cGUgT2JqZWN0Q29uc3RydWN0b3I6OmdldENhbGxEYXRhKEpTQ2VsbCos
IENhbGxEYXRhJiBjYWxsRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3Mvb2JqZWN0LWNvbnN0cnVjdG9yLXNob3VsZC1iZS1uZXctdGFyZ2V0LWF3YXJl
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9vYmplY3QtY29uc3RydWN0
b3Itc2hvdWxkLWJlLW5ldy10YXJnZXQtYXdhcmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWEzOTJiZDg4YWJk
NThiNDNjMWYxNGM5ODgzNmFiODc5NDJiYzA3MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvb2JqZWN0LWNvbnN0cnVjdG9yLXNob3VsZC1iZS1u
ZXctdGFyZ2V0LWF3YXJlLmpzCkBAIC0wLDAgKzEsMTYgQEAKK2Z1bmN0aW9uIHNob3VsZEJlKGFj
dHVhbCwgZXhwZWN0ZWQpIHsKKyAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOworfQorCitjbGFzcyBIZWxs
byBleHRlbmRzIE9iamVjdCB7CisgICAgY29uc3RydWN0b3IoKQorICAgIHsKKyAgICAgICAgc3Vw
ZXIoKTsKKyAgICB9Cit9CisKK3ZhciBoZWxsbyA9IG5ldyBIZWxsbygpOworc2hvdWxkQmUoaGVs
bG8uX19wcm90b19fLCBIZWxsby5wcm90b3R5cGUpOworCitzaG91bGRCZShSZWZsZWN0LmNvbnN0
cnVjdChPYmplY3QsIFtdLCBIZWxsbykuX19wcm90b19fLCBIZWxsby5wcm90b3R5cGUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278071</attachid>
            <date>2016-05-04 02:09:52 -0700</date>
            <delta_ts>2016-05-04 02:18:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157196-20160504181031.patch</filename>
            <type>text/plain</type>
            <size>8020</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OTdmNTUyYzA2NDdhY2JjN2FkMDg0NDQ1NTM2MjBiODZiNDhiZTQzLi4xNWZhNDYxOTY2OTQ2ZjBj
OGEwYmQ3YmVmZDYzZTYwMzAzMGQ1ODFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyOSBAQAogMjAxNi0wNS0wNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAorICAgICAgICBbSlNDXSBPYmplY3QgY29uc3RydWN0b3IgbmVlZCB0byBiZSBhd2Fy
ZSBvZiBuZXcudGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTcxOTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBPYmplY3QgY29uc3RydWN0b3Igc2hvdWxkIGJlIGF3YXJlIG9mIG5ldy50YXJnZXQu
CisgICAgICAgIFdoZW4gdGhlIG5ldy50YXJnZXQgaXMgc3BlY2lmaWVkLCB3ZSBzaG91bGQgc3Rv
cmUgaXQucHJvdG90eXBlIHRvIHRoZSBuZXdseSBjcmVhdGVkCisgICAgICAgIG9iamVjdCdzIFtb
UHJvdG90eXBlXV0uCisKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2Jh
bE9iamVjdDo6dmlzaXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVj
dC5oOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6b2JqZWN0U3RydWN0dXJlRm9yT2Jq
ZWN0Q29uc3RydWN0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RPYmplY3QpOgorICAgICAgICAoSlNDOjpjb25zdHJ1
Y3RXaXRoT2JqZWN0Q29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpjYWxsT2JqZWN0Q29uc3Ry
dWN0b3IpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9vYmplY3QtY29uc3RydWN0b3Itc2hvdWxk
LWJlLW5ldy10YXJnZXQtYXdhcmUuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAg
ICAgICAoSGVsbG8pOgorCisyMDE2LTA1LTA0ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFA
Z21haWwuY29tPgorCiAgICAgICAgIEFzc2VydGlvbiBmYWlsdXJlIGZvciBzdXBlcigpIGNhbGwg
aW4gZGlyZWN0IGV2YWwgaW4gbWV0aG9kIGZ1bmN0aW9uCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTcwOTEKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IDFlMTU4YWZlMWVhODdlZTlk
NWVhMDYwOTAwMzViZGM1ODE2OGFlMTMuLmIzYmZjMmNiYzQ1YTc5NTRjZmMwY2Y1YWM1NDk5NGJm
ZWExNmRhNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAKQEAgLTM5Nyw2ICszOTcsOCBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0
KFZNJiB2bSkKICAgICBtX29iamVjdFByb3RvdHlwZS0+cHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nv
cih2bSwgdm0ucHJvcGVydHlOYW1lcy0+dW5kZXJzY29yZVByb3RvLCBwcm90b0FjY2Vzc29yLCBB
Y2Nlc3NvciB8IERvbnRFbnVtKTsKICAgICBtX2Z1bmN0aW9uUHJvdG90eXBlLT5zdHJ1Y3R1cmUo
KS0+c2V0UHJvdG90eXBlV2l0aG91dFRyYW5zaXRpb24odm0sIG1fb2JqZWN0UHJvdG90eXBlLmdl
dCgpKTsKIAorICAgIG1fb2JqZWN0U3RydWN0dXJlRm9yT2JqZWN0Q29uc3RydWN0b3Iuc2V0KHZt
LCB0aGlzLCB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUo
bV9vYmplY3RQcm90b3R5cGUuZ2V0KCksIEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBh
Y2l0eSgpKSk7CisKICAgICBtX3NwZWNpZXNHZXR0ZXJTZXR0ZXIuc2V0KHZtLCB0aGlzLCBHZXR0
ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgdGhpcykpOwogICAgIG1fc3BlY2llc0dldHRlclNldHRlci0+
c2V0R2V0dGVyKHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0s
IGdsb2JhbE9iamVjdFNwZWNpZXNHZXR0ZXJDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcywgImdldCBb
U3ltYm9sLnNwZWNpZXNdIikpOwogCkBAIC0xMDU3LDYgKzEwNTksNyBAQCB2b2lkIEpTR2xvYmFs
T2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3Ip
CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZGlyZWN0QXJndW1lbnRzU3RydWN0
dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9zY29wZWRBcmd1bWVudHNT
dHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Nsb25lZEFyZ3Vt
ZW50c1N0cnVjdHVyZSk7CisgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fb2JqZWN0
U3RydWN0dXJlRm9yT2JqZWN0Q29uc3RydWN0b3IpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBOdW1iZXJPZkluZGV4aW5nU2hhcGVzOyArK2kpCiAgICAgICAgIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tX29yaWdpbmFsQXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1NoYXBlW2ld
KTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgTnVtYmVyT2ZJbmRleGluZ1NoYXBlczsg
KytpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgK
aW5kZXggYzM0NTlhZTNhY2Y0NTYxYTI3YWI1NmNlZGE0ZjQ1YjZmYmZiNGRhMy4uZDkwNTc1NjA3
NWE5MTU4OTI3MDkyZTUwYzYzNGE1MzcyM2FlYTViMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC0yNzEsNiArMjcxLDggQEAgY2xhc3Mg
SlNHbG9iYWxPYmplY3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAg
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9kaXJlY3RBcmd1bWVudHNTdHJ1Y3R1cmU7CiAgICAg
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zY29wZWRBcmd1bWVudHNTdHJ1Y3R1cmU7CiAgICAg
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmU7CisKKyAg
ICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX29iamVjdFN0cnVjdHVyZUZvck9iamVjdENvbnN0
cnVjdG9yOwogICAgICAgICAKICAgICAvLyBMaXN0cyB0aGUgYWN0dWFsIHN0cnVjdHVyZXMgdXNl
ZCBmb3IgaGF2aW5nIHRoZXNlIHBhcnRpY3VsYXIgaW5kZXhpbmcgc2hhcGVzLgogICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fb3JpZ2luYWxBcnJheVN0cnVjdHVyZUZvckluZGV4aW5nU2hh
cGVbTnVtYmVyT2ZJbmRleGluZ1NoYXBlc107CkBAIC01MjEsNiArNTIzLDcgQEAgY2xhc3MgSlNH
bG9iYWxPYmplY3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgU3Ry
dWN0dXJlKiBkaXJlY3RBcmd1bWVudHNTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2RpcmVj
dEFyZ3VtZW50c1N0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogc2NvcGVkQXJndW1l
bnRzU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9zY29wZWRBcmd1bWVudHNTdHJ1Y3R1cmUu
Z2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGNsb25lZEFyZ3VtZW50c1N0cnVjdHVyZSgpIGNvbnN0
IHsgcmV0dXJuIG1fY2xvbmVkQXJndW1lbnRzU3RydWN0dXJlLmdldCgpOyB9CisgICAgU3RydWN0
dXJlKiBvYmplY3RTdHJ1Y3R1cmVGb3JPYmplY3RDb25zdHJ1Y3RvcigpIGNvbnN0IHsgcmV0dXJu
IG1fb2JqZWN0U3RydWN0dXJlRm9yT2JqZWN0Q29uc3RydWN0b3IuZ2V0KCk7IH0KICAgICBTdHJ1
Y3R1cmUqIG9yaWdpbmFsQXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGUoSW5kZXhpbmdUeXBl
IGluZGV4aW5nVHlwZSkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVChpbmRleGluZ1R5cGUg
JiBJc0FycmF5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09i
amVjdENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVj
dENvbnN0cnVjdG9yLmNwcAppbmRleCAxNWVlYmE1MDgxOTkwODUwODgwYTY3NTI1ZTkwNDA2MTg4
OWE2OTBkLi4zZmNmOWVjYzhjOWM1YTEzY2NhZDFjYjhjNDM2MTZlNDEyYmM2MGMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3Bw
CkBAIC0xMTgsMTkgKzExOCwzNyBAQCBib29sIE9iamVjdENvbnN0cnVjdG9yOjpnZXRPd25Qcm9w
ZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcgogICAgIHJldHVy
biBnZXRTdGF0aWNGdW5jdGlvblNsb3Q8SlNPYmplY3Q+KGV4ZWMsIG9iamVjdENvbnN0cnVjdG9y
VGFibGUsIGpzQ2FzdDxPYmplY3RDb25zdHJ1Y3Rvcio+KG9iamVjdCksIHByb3BlcnR5TmFtZSwg
c2xvdCk7CiB9CiAKLXN0YXRpYyBBTFdBWVNfSU5MSU5FIEpTT2JqZWN0KiBjb25zdHJ1Y3RPYmpl
Y3QoRXhlY1N0YXRlKiBleGVjKQorLy8gRVMgMTkuMS4xLjEgT2JqZWN0KFt2YWx1ZV0pCitzdGF0
aWMgQUxXQVlTX0lOTElORSBKU09iamVjdCogY29uc3RydWN0T2JqZWN0KEV4ZWNTdGF0ZSogZXhl
YywgSlNWYWx1ZSBuZXdUYXJnZXQpCiB7Ci0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICBPYmplY3RDb25zdHJ1Y3Rv
ciogb2JqZWN0Q29uc3RydWN0b3IgPSBqc0Nhc3Q8T2JqZWN0Q29uc3RydWN0b3IqPihleGVjLT5j
YWxsZWUoKSk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG9iamVjdENvbnN0
cnVjdG9yLT5nbG9iYWxPYmplY3QoKTsKKworICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgbmV3VGFy
Z2V0IGNvbmRpdGlvbiBpbiB0aGlzIGNhbGxlciBzaWRlIGluc3RlYWQgb2YgSW50ZXJuYWxGdW5j
dGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUgc2lkZS4KKyAgICAvLyBTaW5jZSBpZiB3ZSBm
b3VuZCB0aGlzIGNvbmRpdGlvbiBpcyBtZXQsIHdlIHNob3VsZCBub3QgZmFsbCBpbnRvIHRoZSB0
eXBlIGNvbnZlcnNpb24gaW4gdGhlIHN0ZXAgMy4KKworICAgIC8vIDEuIElmIE5ld1RhcmdldCBp
cyBuZWl0aGVyIHVuZGVmaW5lZCBub3IgdGhlIGFjdGl2ZSBmdW5jdGlvbiwgdGhlbgorICAgIGlm
IChuZXdUYXJnZXQgJiYgbmV3VGFyZ2V0ICE9IG9iamVjdENvbnN0cnVjdG9yKSB7CisgICAgICAg
IC8vIGEuIFJldHVybiA/IE9yZGluYXJ5Q3JlYXRlRnJvbUNvbnN0cnVjdG9yKE5ld1RhcmdldCwg
IiVPYmplY3RQcm90b3R5cGUlIikuCisgICAgICAgIFN0cnVjdHVyZSogb2JqZWN0U3RydWN0dXJl
ID0gSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUoZXhlYywgbmV3VGFy
Z2V0LCBnbG9iYWxPYmplY3QtPm9iamVjdFN0cnVjdHVyZUZvck9iamVjdENvbnN0cnVjdG9yKCkp
OworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIG9iamVj
dFN0cnVjdHVyZSk7CisgICAgfQorCisgICAgLy8gMi4gSWYgdmFsdWUgaXMgbnVsbCwgdW5kZWZp
bmVkIG9yIG5vdCBzdXBwbGllZCwgcmV0dXJuIE9iamVjdENyZWF0ZSglT2JqZWN0UHJvdG90eXBl
JSkuCiAgICAgQXJnTGlzdCBhcmdzKGV4ZWMpOwogICAgIEpTVmFsdWUgYXJnID0gYXJncy5hdCgw
KTsKICAgICBpZiAoYXJnLmlzVW5kZWZpbmVkT3JOdWxsKCkpCi0gICAgICAgIHJldHVybiBjb25z
dHJ1Y3RFbXB0eU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpKTsK
KyAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdC0+
b2JqZWN0U3RydWN0dXJlRm9yT2JqZWN0Q29uc3RydWN0b3IoKSk7CisKKyAgICAvLyAzLiBSZXR1
cm4gVG9PYmplY3QodmFsdWUpLgogICAgIHJldHVybiBhcmcudG9PYmplY3QoZXhlYywgZ2xvYmFs
T2JqZWN0KTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3Ry
dWN0V2l0aE9iamVjdENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGNvbnN0cnVjdE9iamVjdChleGVjKSk7CisgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShjb25zdHJ1Y3RPYmplY3QoZXhlYywgZXhlYy0+bmV3VGFyZ2V0KCkpKTsKIH0K
IAogQ29uc3RydWN0VHlwZSBPYmplY3RDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShKU0Nl
bGwqLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQpAQCAtMTQxLDcgKzE1OSw3IEBAIENv
bnN0cnVjdFR5cGUgT2JqZWN0Q29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwg
Q29uc3RydWN0RGF0YSYgY29uc3RyCiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGNhbGxPYmplY3RDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShjb25zdHJ1Y3RPYmplY3QoZXhlYykpOworICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoY29uc3RydWN0T2JqZWN0KGV4ZWMsIEpTVmFsdWUoKSkpOwogfQogCiBDYWxs
VHlwZSBPYmplY3RDb25zdHJ1Y3Rvcjo6Z2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmIGNh
bGxEYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9v
YmplY3QtY29uc3RydWN0b3Itc2hvdWxkLWJlLW5ldy10YXJnZXQtYXdhcmUuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL29iamVjdC1jb25zdHJ1Y3Rvci1zaG91bGQtYmUt
bmV3LXRhcmdldC1hd2FyZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTM5MmJkODhhYmQ1OGI0M2MxZjE0Yzk4
ODM2YWI4Nzk0MmJjMDczCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9vYmplY3QtY29uc3RydWN0b3Itc2hvdWxkLWJlLW5ldy10YXJnZXQtYXdh
cmUuanMKQEAgLTAsMCArMSwxNiBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3Rl
ZCkgeworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK2NsYXNzIEhlbGxvIGV4dGVuZHMgT2Jq
ZWN0IHsKKyAgICBjb25zdHJ1Y3RvcigpCisgICAgeworICAgICAgICBzdXBlcigpOworICAgIH0K
K30KKwordmFyIGhlbGxvID0gbmV3IEhlbGxvKCk7CitzaG91bGRCZShoZWxsby5fX3Byb3RvX18s
IEhlbGxvLnByb3RvdHlwZSk7CisKK3Nob3VsZEJlKFJlZmxlY3QuY29uc3RydWN0KE9iamVjdCwg
W10sIEhlbGxvKS5fX3Byb3RvX18sIEhlbGxvLnByb3RvdHlwZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278072</attachid>
            <date>2016-05-04 02:18:39 -0700</date>
            <delta_ts>2016-05-04 10:27:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157196-20160504181917.patch</filename>
            <type>text/plain</type>
            <size>9077</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OTdmNTUyYzA2NDdhY2JjN2FkMDg0NDQ1NTM2MjBiODZiNDhiZTQzLi41MGUxM2M2NTBjNTY1YjYz
ODg5MDI5NWUxMWYxMmVkZTY1NDUyZmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwzNiBAQAogMjAxNi0wNS0wNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAorICAgICAgICBbSlNDXSBPYmplY3QgY29uc3RydWN0b3IgbmVlZCB0byBiZSBhd2Fy
ZSBvZiBuZXcudGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTcxOTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBPYmplY3QgY29uc3RydWN0b3Igc2hvdWxkIGJlIGF3YXJlIG9mIG5ldy50YXJnZXQu
CisgICAgICAgIFdoZW4gdGhlIG5ldy50YXJnZXQgaXMgc3BlY2lmaWVkLCB3ZSBzaG91bGQgc3Rv
cmUgaXQucHJvdG90eXBlIHRvIHRoZSBuZXdseSBjcmVhdGVkCisgICAgICAgIG9iamVjdCdzIFtb
UHJvdG90eXBlXV0uCisKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2Jh
bE9iamVjdDo6dmlzaXRDaGlsZHJlbik6CisgICAgICAgIFRha2UgdGhlIGRlc2lnbiB0aGF0IGNh
Y2hlcyB0aGUgc3RydWN0dXJlIHVzZWQgZm9yIGVtcHR5IG9iamVjdC4KKyAgICAgICAgVGhpcyBz
dHJ1Y3R1cmUgaXMgYWxzbyB1c2VkIGluIGNvbnN0cnVjdEVtcHR5T2JqZWN0IGZyZXF1ZW50bHku
CisKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpT
R2xvYmFsT2JqZWN0OjpvYmplY3RTdHJ1Y3R1cmVGb3JPYmplY3RDb25zdHJ1Y3Rvcik6CisgICAg
ICAgICogcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OmNvbnN0
cnVjdE9iamVjdCk6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdFdpdGhPYmplY3RDb25zdHJ1Y3Rv
cik6CisgICAgICAgIChKU0M6OmNhbGxPYmplY3RDb25zdHJ1Y3Rvcik6CisgICAgICAgICogcnVu
dGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RFbXB0eU9i
amVjdCk6CisgICAgICAgIENvbnN0cnVjdCB0aGUgb2JqZWN0IGJ5IHVzaW5nIHRoZSBwbGFpbiBz
dHJ1Y3R1cmUgdGhhdCBpcyBhbHNvIHVzZWQgaW4gdGhlIE9iamVjdENvbnN0cnVjdG9yLgorCisg
ICAgICAgICogdGVzdHMvc3RyZXNzL29iamVjdC1jb25zdHJ1Y3Rvci1zaG91bGQtYmUtbmV3LXRh
cmdldC1hd2FyZS5qczogQWRkZWQuCisgICAgICAgIChzaG91bGRCZSk6CisgICAgICAgIChIZWxs
byk6CisKKzIwMTYtMDUtMDQgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+
CisKICAgICAgICAgQXNzZXJ0aW9uIGZhaWx1cmUgZm9yIHN1cGVyKCkgY2FsbCBpbiBkaXJlY3Qg
ZXZhbCBpbiBtZXRob2QgZnVuY3Rpb24KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1NzA5MQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggMWUxNThhZmUxZWE4N2VlOWQ1ZWEwNjA5MDAz
NWJkYzU4MTY4YWUxMy4uYjNiZmMyY2JjNDVhNzk1NGNmYzBjZjVhYzU0OTk0YmZlYTE2ZGE1NiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNw
cApAQCAtMzk3LDYgKzM5Nyw4IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQog
ICAgIG1fb2JqZWN0UHJvdG90eXBlLT5wdXREaXJlY3ROb25JbmRleEFjY2Vzc29yKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT51bmRlcnNjb3JlUHJvdG8sIHByb3RvQWNjZXNzb3IsIEFjY2Vzc29yIHwg
RG9udEVudW0pOwogICAgIG1fZnVuY3Rpb25Qcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5zZXRQcm90
b3R5cGVXaXRob3V0VHJhbnNpdGlvbih2bSwgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpOwogCisg
ICAgbV9vYmplY3RTdHJ1Y3R1cmVGb3JPYmplY3RDb25zdHJ1Y3Rvci5zZXQodm0sIHRoaXMsIHZt
LnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShtX29iamVjdFBy
b3RvdHlwZS5nZXQoKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpKTsK
KwogICAgIG1fc3BlY2llc0dldHRlclNldHRlci5zZXQodm0sIHRoaXMsIEdldHRlclNldHRlcjo6
Y3JlYXRlKHZtLCB0aGlzKSk7CiAgICAgbV9zcGVjaWVzR2V0dGVyU2V0dGVyLT5zZXRHZXR0ZXIo
dm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgZ2xvYmFsT2Jq
ZWN0U3BlY2llc0dldHRlckNvZGVHZW5lcmF0b3Iodm0pLCB0aGlzLCAiZ2V0IFtTeW1ib2wuc3Bl
Y2llc10iKSk7CiAKQEAgLTEwNTcsNiArMTA1OSw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZp
c2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNp
dG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9kaXJlY3RBcmd1bWVudHNTdHJ1Y3R1cmUpOwogICAg
IHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3Njb3BlZEFyZ3VtZW50c1N0cnVjdHVyZSk7
CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fY2xvbmVkQXJndW1lbnRzU3RydWN0
dXJlKTsKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9vYmplY3RTdHJ1Y3R1cmVG
b3JPYmplY3RDb25zdHJ1Y3Rvcik7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IE51bWJl
ck9mSW5kZXhpbmdTaGFwZXM7ICsraSkKICAgICAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmpl
Y3QtPm1fb3JpZ2luYWxBcnJheVN0cnVjdHVyZUZvckluZGV4aW5nU2hhcGVbaV0pOwogICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBOdW1iZXJPZkluZGV4aW5nU2hhcGVzOyArK2kpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCBjMzQ1
OWFlM2FjZjQ1NjFhMjdhYjU2Y2VkYTRmNDViNmZiZmI0ZGEzLi5kOTA1NzU2MDc1YTkxNTg5Mjcw
OTJlNTBjNjM0YTUzNzIzYWVhNWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTI3MSw2ICsyNzEsOCBAQCBjbGFzcyBKU0dsb2JhbE9i
amVjdCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IHsKICAgICBXcml0ZUJhcnJp
ZXI8U3RydWN0dXJlPiBtX2RpcmVjdEFyZ3VtZW50c1N0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJp
ZXI8U3RydWN0dXJlPiBtX3Njb3BlZEFyZ3VtZW50c1N0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJp
ZXI8U3RydWN0dXJlPiBtX2Nsb25lZEFyZ3VtZW50c1N0cnVjdHVyZTsKKworICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fb2JqZWN0U3RydWN0dXJlRm9yT2JqZWN0Q29uc3RydWN0b3I7CiAg
ICAgICAgIAogICAgIC8vIExpc3RzIHRoZSBhY3R1YWwgc3RydWN0dXJlcyB1c2VkIGZvciBoYXZp
bmcgdGhlc2UgcGFydGljdWxhciBpbmRleGluZyBzaGFwZXMuCiAgICAgV3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT4gbV9vcmlnaW5hbEFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdTaGFwZVtOdW1iZXJP
ZkluZGV4aW5nU2hhcGVzXTsKQEAgLTUyMSw2ICs1MjMsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVj
dCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IHsKICAgICBTdHJ1Y3R1cmUqIGRp
cmVjdEFyZ3VtZW50c1N0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0QXJndW1lbnRz
U3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBzY29wZWRBcmd1bWVudHNTdHJ1Y3R1
cmUoKSBjb25zdCB7IHJldHVybiBtX3Njb3BlZEFyZ3VtZW50c1N0cnVjdHVyZS5nZXQoKTsgfQog
ICAgIFN0cnVjdHVyZSogY2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4g
bV9jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUuZ2V0KCk7IH0KKyAgICBTdHJ1Y3R1cmUqIG9iamVj
dFN0cnVjdHVyZUZvck9iamVjdENvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3RT
dHJ1Y3R1cmVGb3JPYmplY3RDb25zdHJ1Y3Rvci5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogb3Jp
Z2luYWxBcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZShJbmRleGluZ1R5cGUgaW5kZXhpbmdU
eXBlKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKGluZGV4aW5nVHlwZSAmIElzQXJyYXkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3Ry
dWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0
b3IuY3BwCmluZGV4IDE1ZWViYTUwODE5OTA4NTA4ODBhNjc1MjVlOTA0MDYxODg5YTY5MGQuLjNm
Y2Y5ZWNjOGM5YzVhMTNjY2FkMWNiOGM0MzYxNmU0MTJiYzYwYzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKQEAgLTExOCwx
OSArMTE4LDM3IEBAIGJvb2wgT2JqZWN0Q29uc3RydWN0b3I6OmdldE93blByb3BlcnR5U2xvdChK
U09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByCiAgICAgcmV0dXJuIGdldFN0YXRp
Y0Z1bmN0aW9uU2xvdDxKU09iamVjdD4oZXhlYywgb2JqZWN0Q29uc3RydWN0b3JUYWJsZSwganND
YXN0PE9iamVjdENvbnN0cnVjdG9yKj4ob2JqZWN0KSwgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0K
IAotc3RhdGljIEFMV0FZU19JTkxJTkUgSlNPYmplY3QqIGNvbnN0cnVjdE9iamVjdChFeGVjU3Rh
dGUqIGV4ZWMpCisvLyBFUyAxOS4xLjEuMSBPYmplY3QoW3ZhbHVlXSkKK3N0YXRpYyBBTFdBWVNf
SU5MSU5FIEpTT2JqZWN0KiBjb25zdHJ1Y3RPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVl
IG5ld1RhcmdldCkKIHsKLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+
Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAgIE9iamVjdENvbnN0cnVjdG9yKiBvYmplY3RD
b25zdHJ1Y3RvciA9IGpzQ2FzdDxPYmplY3RDb25zdHJ1Y3Rvcio+KGV4ZWMtPmNhbGxlZSgpKTsK
KyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gb2JqZWN0Q29uc3RydWN0b3ItPmds
b2JhbE9iamVjdCgpOworCisgICAgLy8gV2UgbmVlZCB0byBjaGVjayBuZXdUYXJnZXQgY29uZGl0
aW9uIGluIHRoaXMgY2FsbGVyIHNpZGUgaW5zdGVhZCBvZiBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVh
dGVTdWJjbGFzc1N0cnVjdHVyZSBzaWRlLgorICAgIC8vIFNpbmNlIGlmIHdlIGZvdW5kIHRoaXMg
Y29uZGl0aW9uIGlzIG1ldCwgd2Ugc2hvdWxkIG5vdCBmYWxsIGludG8gdGhlIHR5cGUgY29udmVy
c2lvbiBpbiB0aGUgc3RlcCAzLgorCisgICAgLy8gMS4gSWYgTmV3VGFyZ2V0IGlzIG5laXRoZXIg
dW5kZWZpbmVkIG5vciB0aGUgYWN0aXZlIGZ1bmN0aW9uLCB0aGVuCisgICAgaWYgKG5ld1Rhcmdl
dCAmJiBuZXdUYXJnZXQgIT0gb2JqZWN0Q29uc3RydWN0b3IpIHsKKyAgICAgICAgLy8gYS4gUmV0
dXJuID8gT3JkaW5hcnlDcmVhdGVGcm9tQ29uc3RydWN0b3IoTmV3VGFyZ2V0LCAiJU9iamVjdFBy
b3RvdHlwZSUiKS4KKyAgICAgICAgU3RydWN0dXJlKiBvYmplY3RTdHJ1Y3R1cmUgPSBJbnRlcm5h
bEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZShleGVjLCBuZXdUYXJnZXQsIGdsb2Jh
bE9iamVjdC0+b2JqZWN0U3RydWN0dXJlRm9yT2JqZWN0Q29uc3RydWN0b3IoKSk7CisgICAgICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgICAgICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgb2JqZWN0U3RydWN0dXJl
KTsKKyAgICB9CisKKyAgICAvLyAyLiBJZiB2YWx1ZSBpcyBudWxsLCB1bmRlZmluZWQgb3Igbm90
IHN1cHBsaWVkLCByZXR1cm4gT2JqZWN0Q3JlYXRlKCVPYmplY3RQcm90b3R5cGUlKS4KICAgICBB
cmdMaXN0IGFyZ3MoZXhlYyk7CiAgICAgSlNWYWx1ZSBhcmcgPSBhcmdzLmF0KDApOwogICAgIGlm
IChhcmcuaXNVbmRlZmluZWRPck51bGwoKSkKLSAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5
T2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCkpOworICAgICAgICBy
ZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LT5vYmplY3RTdHJ1
Y3R1cmVGb3JPYmplY3RDb25zdHJ1Y3RvcigpKTsKKworICAgIC8vIDMuIFJldHVybiBUb09iamVj
dCh2YWx1ZSkuCiAgICAgcmV0dXJuIGFyZy50b09iamVjdChleGVjLCBnbG9iYWxPYmplY3QpOwog
fQogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RXaXRoT2Jq
ZWN0Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjKQogewotICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoY29uc3RydWN0T2JqZWN0KGV4ZWMpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGNvbnN0cnVjdE9iamVjdChleGVjLCBleGVjLT5uZXdUYXJnZXQoKSkpOwogfQogCiBDb25zdHJ1
Y3RUeXBlIE9iamVjdENvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0
cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCkBAIC0xNDEsNyArMTU5LDcgQEAgQ29uc3RydWN0VHlw
ZSBPYmplY3RDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3RE
YXRhJiBjb25zdHIKIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY2FsbE9i
amVjdENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGNvbnN0cnVjdE9iamVjdChleGVjKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShjb25zdHJ1Y3RPYmplY3QoZXhlYywgSlNWYWx1ZSgpKSk7CiB9CiAKIENhbGxUeXBlIE9iamVj
dENvbnN0cnVjdG9yOjpnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYgY2FsbERhdGEpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rv
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaApp
bmRleCAxYjIyYWI2NDQ0NmM0MmNmMjI3ZWZiOTMxZGZkZTZmNTY2OTAyYWRiLi5kMTQ4YWIwZmRk
YTE4YjFmODY5MTRjYzQyZjVjNDdjMWI0ZjIzMjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmgKQEAgLTg4LDcgKzg4LDcgQEAgaW5s
aW5lIEpTT2JqZWN0KiBjb25zdHJ1Y3RFbXB0eU9iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUpCiAKIGlubGluZSBKU09iamVjdCogY29uc3RydWN0RW1wdHlPYmplY3Qo
RXhlY1N0YXRlKiBleGVjKQogewotICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVj
LCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKTsKKyAgICBy
ZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpLT5vYmplY3RTdHJ1Y3R1cmVGb3JPYmplY3RDb25zdHJ1Y3RvcigpKTsKIH0KIAogLy8gU2Vj
dGlvbiA2LjIuNC40IG9mIHRoZSBFUzYgc3BlY2lmaWNhdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvb2JqZWN0LWNvbnN0cnVjdG9yLXNob3VsZC1i
ZS1uZXctdGFyZ2V0LWF3YXJlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9vYmplY3QtY29uc3RydWN0b3Itc2hvdWxkLWJlLW5ldy10YXJnZXQtYXdhcmUuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWEzOTJiZDg4YWJkNThiNDNjMWYxNGM5ODgzNmFiODc5NDJiYzA3MwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvb2JqZWN0LWNvbnN0
cnVjdG9yLXNob3VsZC1iZS1uZXctdGFyZ2V0LWF3YXJlLmpzCkBAIC0wLDAgKzEsMTYgQEAKK2Z1
bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAgICBpZiAoYWN0dWFsICE9PSBl
eHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwp
OworfQorCitjbGFzcyBIZWxsbyBleHRlbmRzIE9iamVjdCB7CisgICAgY29uc3RydWN0b3IoKQor
ICAgIHsKKyAgICAgICAgc3VwZXIoKTsKKyAgICB9Cit9CisKK3ZhciBoZWxsbyA9IG5ldyBIZWxs
bygpOworc2hvdWxkQmUoaGVsbG8uX19wcm90b19fLCBIZWxsby5wcm90b3R5cGUpOworCitzaG91
bGRCZShSZWZsZWN0LmNvbnN0cnVjdChPYmplY3QsIFtdLCBIZWxsbykuX19wcm90b19fLCBIZWxs
by5wcm90b3R5cGUpOwo=
</data>
<flag name="review"
          id="302207"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="302226"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>