<?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>126116</bug_id>
          
          <creation_ts>2013-12-21 02:26:12 -0800</creation_ts>
          <short_desc>It should be possible to run the full version of V8v7/crypto with the FTL and call IC&apos;s</short_desc>
          <delta_ts>2014-01-30 13:28:19 -0800</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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>113621</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>962224</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-21 02:26:12 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962225</commentid>
    <comment_count>1</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-21 02:26:36 -0800</bug_when>
    <thetext>I suspect that the best bet is to have them just use DirectJITCode instead of NativeJITCode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962343</commentid>
    <comment_count>2</comment_count>
      <attachid>219876</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-22 10:37:48 -0800</bug_when>
    <thetext>Created attachment 219876
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962344</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-22 10:38:54 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/160980</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962387</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-12-22 19:40:08 -0800</bug_when>
    <thetext>Do you still want this reviewed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962394</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-22 21:02:51 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Do you still want this reviewed?

Yes please!  We&apos;re doing review-after-commit on the branch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962687</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-12-23 19:03:56 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Do you still want this reviewed?
&gt; 
&gt; Yes please!  We&apos;re doing review-after-commit on the branch.

Ok!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967604</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-01-13 18:43:00 -0800</bug_when>
    <thetext>Review status updated in r161938: &lt;http://trac.webkit.org/r161938&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219876</attachid>
            <date>2013-12-22 10:37:48 -0800</date>
            <delta_ts>2013-12-23 19:06:09 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>19892</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYwOTc5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDcxIEBA
CisyMDEzLTEyLTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHJ1biB0aGUgZnVsbCB2ZXJzaW9uIG9mIFY4djcvY3J5
cHRvIHdpdGggdGhlIEZUTCBhbmQgY2FsbCBJQydzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjYxMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFRoaXMgaW52b2x2ZWQgYSBudW1iZXIgb2Yg
bWlub3IgZml4ZXM6CisgICAgICAgIAorICAgICAgICAtIENhbGxMaW5rSW5mbzo6dW5saW5rKCkg
d2FzIGFzc3VtaW5nIHRoYXQgcmVwYXRjaEJ1ZmZlci5jb2RlQmxvY2soKSBpcyB0aGUgY2FsbGVy
LgorICAgICAgICAgIEl0J3MgYWN0dWFsbHkgdGhlIGNhbGxlZS4gU28sIHRvIGRldGVybWluZSBp
ZiB0aGUgY2FsbGVyIHJlcXVpcmVzIHJlZ2lzdGVyCisgICAgICAgICAgcHJlc2VydmF0aW9uLCB3
ZSBuZWVkIGFuIGV4dHJhIGJpdCB0byBzYXkgd2hldGhlciB0aGUgQ2FsbExpbmtJbmZvIGJlbG9u
Z3MgdG8gYW4gRlRMCisgICAgICAgICAgSklUQ29kZS4KKyAgICAgICAgCisgICAgICAgIC0gQSBs
b3Qgb2YgYnVncyBhcmlzZSBmcm9tIHVzIGluY29ycmVjdGx5IHByZXNlcnZpbmcgKG9yIGZhaWxp
bmcgdG8gcHJlc2VydmUpCisgICAgICAgICAgcmVnaXN0ZXJzLiBUaGlzIGFkZHMgYSBidW5jaCBv
ZiBqaXRBc3NlcnRUYWdzSW5QbGFjZSgpIGFzc2VydGlvbiB0aGF0IGhlbHBzIHRvIGNhdGNoCisg
ICAgICAgICAgYSBidW5jaCBvZiB0aG9zZSBidWdzLgorICAgICAgICAKKyAgICAgICAgLSBBcHBh
cmVudGx5IHRoZSBfX2NvbXBhY3RfdW53aW5kIHNvbWV0aW1lcyBoYXMgZ2FyYmFnZSBhZnRlciBp
dHMgb25lIGVudHJ5LiBUaGlzCisgICAgICAgICAgY2hhbmdlcyBvdXIgdW53aW5kIHBhcnNlciBz
byB0aGF0IGl0IGRvZXNuJ3QgYXNzZXJ0IHRoYXQgdGhlIHNlY29uZCBlbnRyeSBpcyBudWxsLAor
ICAgICAgICAgIGJ1dCBpdCBkb2VzIGFzc2VydCB0aGF0IHRoZSBmaXJzdCBlbnRyeSBjb3JyZXNw
b25kcyB0byBvdXIgZ2VuZXJhdGVkIGZ1bmN0aW9uLgorICAgICAgICAKKyAgICAgICAgLSBUaGUg
bmF0aXZlIGZ1bmN0aW9uIHRodW5rcyBhc3N1bWUgdGhhdCB0YWdzIGFyZSBzZXQgdXAgYW5kIHRo
YXQgdGhleSBjYW4gY2xvYmJlciBhbnkKKyAgICAgICAgICByZWdpc3RlcnMuIFRoaXMgYnJlYWtz
IGlmIHdlIGNhbGwgdGhlIHRodW5rcyBmcm9tIHRoZSBGVEwuIFRoaXMgcGF0Y2ggZml4ZXMgdGhl
IGJ1ZworICAgICAgICAgIGJ5IHdyYXBwaW5nIGp1c3QgdGhvc2UgdGh1bmtzIGluIGEgRGlyZWN0
SklUQ29kZSwgd2hpY2ggaGFzIHRoZSByZWdpc3RlciBwcmVzZXJ2YXRpb24KKyAgICAgICAgICB3
cmFwcGVycy4gVGhpcyBwcm9iYWJseSBlbmRzIHVwIG1ha2luZyBzZW5zZSBiZWNhdXNlIHRoZSBG
VEwgKnJlYWxseSogc2hvdWxkIGhhdmUKKyAgICAgICAgICBpbnRyaW5zaWNzIGZvciBhbGwgb2Yg
dGhvc2UgdGh1bmtzLiBBcyBwYXJ0IG9mIHRoaXMgY2hhbmdlLCBJIHJlZmFjdG9yZWQgaG93Cisg
ICAgICAgICAgTmF0aXZlRXhlY3V0YWJsZSBnZXRzIGl0cyBKSVRDb2RlIHRvIG1ha2UgdGhpbmdz
IHNvbWV3aGF0IG1vcmUgZXhwbGljaXQuCisgICAgICAgIAorICAgICAgICBXZSBzdGlsbCBoYXZl
IGEgYnVuY2ggb2Yga25vd24gcGVyZm9ybWFuY2UgYnVncyB0byBmaXgsIGJ1dCB0aGUgRlRMIGlz
IGFscmVhZHkgYXQgbmVhcgorICAgICAgICBwYXJpdHkgd2l0aCB0aGUgREZHIG9uIFY4djcvY3J5
cHRvLiBUaGlzIGlzIHByZXR0eSBjb29sIGNvbnNpZGVyaW5nIHRoZSBGVEwncyBvdGhlcgorICAg
ICAgICBzcGVlZC11cHMsIGFuZCB0aGUgZmFjdCB0aGF0IGNyeXB0byBoYXMgYmVlbiBvdXIgcHJp
bWFyeSBERkcgdHVuaW5nIHRlc3QgZm9yIHRoZSBwYXN0CisgICAgICAgIDIuNSB5ZWFycy4KKwor
ICAgICAgICAqIGJ5dGVjb2RlL0NhbGxMaW5rSW5mby5jcHA6CisgICAgICAgIChKU0M6OkNhbGxM
aW5rSW5mbzo6dW5saW5rKToKKyAgICAgICAgKiBieXRlY29kZS9DYWxsTGlua0luZm8uaDoKKyAg
ICAgICAgKEpTQzo6Q2FsbExpbmtJbmZvOjpDYWxsTGlua0luZm8pOgorICAgICAgICAqIGRmZy9E
RkdKSVRDb21waWxlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29tcGlsZXI6OmNvbXBp
bGVFbnRyeSk6CisgICAgICAgICogZGZnL0RGR09TUkV4aXRDb21waWxlcjY0LmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KToKKyAgICAgICAgKiBk
ZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjphZGp1
c3RBbmRKdW1wVG9UYXJnZXQpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVDdXJyZW50QmxvY2sp
OgorICAgICAgICAqIGZ0bC9GVExDb21waWxlLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpjb21w
aWxlKToKKyAgICAgICAgKiBmdGwvRlRMSlNDYWxsLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpK
U0NhbGw6OmxpbmspOgorICAgICAgICAqIGZ0bC9GVExVbndpbmRJbmZvLmNwcDoKKyAgICAgICAg
KEpTQzo6RlRMOjpVbndpbmRJbmZvOjpwYXJzZSk6CisgICAgICAgICogZnRsL0ZUTFVud2luZElu
Zm8uaDoKKyAgICAgICAgKiBqaXQvQXNzZW1ibHlIZWxwZXJzLmNwcDoKKyAgICAgICAgKEpTQzo6
QXNzZW1ibHlIZWxwZXJzOjpqaXRBc3NlcnRUYWdzSW5QbGFjZSk6CisgICAgICAgICogaml0L0Fz
c2VtYmx5SGVscGVycy5oOgorICAgICAgICAoSlNDOjpBc3NlbWJseUhlbHBlcnM6OmppdEFzc2Vy
dFRhZ3NJblBsYWNlKToKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklU
Ojpwcml2YXRlQ29tcGlsZU1haW5QYXNzKToKKyAgICAgICAgKiBqaXQvSklUQ29kZS5jcHA6Cisg
ICAgICAgICogaml0L0pJVENvZGUuaDoKKyAgICAgICAgKiBqaXQvSklUVGh1bmtzLmNwcDoKKyAg
ICAgICAgKEpTQzo6SklUVGh1bmtzOjpob3N0RnVuY3Rpb25TdHViKToKKyAgICAgICAgKiBqaXQv
UmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6
Z2VuZXJhdGVSZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXIpOgorICAgICAgICAqIHJ1bnRpbWUv
RXhlY3V0YWJsZS5oOgorICAgICAgICAoSlNDOjpOYXRpdmVFeGVjdXRhYmxlOjpjcmVhdGUpOgor
CiAyMDEzLTEyLTIxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBD
U3RhY2s6IFVwZGF0ZSB0aGUgVk1FbnRyeVNjb3BlJ3Mgc3RhY2sgbGltaXQgd2hlbiB0aGUgVk0g
ZW50ZXJzL2V4aXRzIEVycm9yTW9kZS4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9DYWxsTGlua0luZm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9DYWxsTGlua0luZm8uY3BwCShyZXZpc2lvbiAxNjA5NzkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtJbmZvLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzgsMTQgKzM4LDE0IEBAIHZvaWQgQ2FsbExpbmtJbmZvOjp1bmxpbmsoVk0mIHZtLCBSZXBh
dGMKICAgICBBU1NFUlQoaXNMaW5rZWQoKSk7CiAgICAgCiAgICAgaWYgKE9wdGlvbnM6OnNob3dE
aXNhc3NlbWJseSgpKQotICAgICAgICBkYXRhTG9nKCJVbmxpbmtpbmcgY2FsbCBpbiAiLCAqcmVw
YXRjaEJ1ZmZlci5jb2RlQmxvY2soKSwgIiBhdCAiLCBjb2RlT3JpZ2luLCAiXG4iKTsKLSAgICAK
KyAgICAgICAgZGF0YUxvZygiVW5saW5raW5nIGNhbGwgZnJvbSAiLCBjYWxsUmV0dXJuTG9jYXRp
b24sICIgdG8gIiwgcG9pbnRlckR1bXAocmVwYXRjaEJ1ZmZlci5jb2RlQmxvY2soKSksICJcbiIp
OworCiAgICAgcmVwYXRjaEJ1ZmZlci5yZXZlcnRKdW1wUmVwbGFjZW1lbnRUb0JyYW5jaFB0cldp
dGhQYXRjaChSZXBhdGNoQnVmZmVyOjpzdGFydE9mQnJhbmNoUHRyV2l0aFBhdGNoT25SZWdpc3Rl
cihob3RQYXRoQmVnaW4pLCBzdGF0aWNfY2FzdDxNYWNyb0Fzc2VtYmxlcjo6UmVnaXN0ZXJJRD4o
Y2FsbGVlR1BSKSwgMCk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoCiAgICAgICAgIGNhbGxS
ZXR1cm5Mb2NhdGlvbiwKICAgICAgICAgdm0uZ2V0Q1RJU3R1YihsaW5rVGh1bmtHZW5lcmF0b3JG
b3IoCiAgICAgICAgICAgICBjYWxsVHlwZSA9PSBDb25zdHJ1Y3QgPyBDb2RlRm9yQ29uc3RydWN0
IDogQ29kZUZvckNhbGwsCi0gICAgICAgICAgICByZXBhdGNoQnVmZmVyLmNvZGVCbG9jaygpLT5q
aXRUeXBlKCkgPT0gSklUQ29kZTo6RlRMSklUID8gTXVzdFByZXNlcnZlUmVnaXN0ZXJzIDogUmVn
aXN0ZXJQcmVzZXJ2YXRpb25Ob3RSZXF1aXJlZCkpLmNvZGUoKSk7CisgICAgICAgICAgICBpc0ZU
TCA/IE11c3RQcmVzZXJ2ZVJlZ2lzdGVycyA6IFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90UmVxdWly
ZWQpKS5jb2RlKCkpOwogICAgIGhhc1NlZW5TaG91bGRSZXBhdGNoID0gZmFsc2U7CiAgICAgY2Fs
bGVlLmNsZWFyKCk7CiAgICAgc3R1Yi5jbGVhcigpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NhbGxMaW5rSW5mby5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua0luZm8uaAkocmV2aXNpb24gMTYwOTc5KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxMaW5rSW5mby5oCSh3b3JraW5nIGNvcHkp
CkBAIC01NSw3ICs1NSw4IEBAIHN0cnVjdCBDYWxsTGlua0luZm8gOiBwdWJsaWMgQmFzaWNSYXdT
ZW4KICAgICB9CiAgICAgICAgIAogICAgIENhbGxMaW5rSW5mbygpCi0gICAgICAgIDogaGFzU2Vl
blNob3VsZFJlcGF0Y2goZmFsc2UpCisgICAgICAgIDogaXNGVEwoZmFsc2UpCisgICAgICAgICwg
aGFzU2VlblNob3VsZFJlcGF0Y2goZmFsc2UpCiAgICAgICAgICwgaGFzU2VlbkNsb3N1cmUoZmFs
c2UpCiAgICAgICAgICwgY2FsbFR5cGUoTm9uZSkKICAgICB7CkBAIC03OCw2ICs3OSw3IEBAIHN0
cnVjdCBDYWxsTGlua0luZm8gOiBwdWJsaWMgQmFzaWNSYXdTZW4KICAgICBKSVRXcml0ZUJhcnJp
ZXI8SlNGdW5jdGlvbj4gY2FsbGVlOwogICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBsYXN0
U2VlbkNhbGxlZTsKICAgICBSZWZQdHI8Q2xvc3VyZUNhbGxTdHViUm91dGluZT4gc3R1YjsKKyAg
ICBib29sIGlzRlRMIDogMTsKICAgICBib29sIGhhc1NlZW5TaG91bGRSZXBhdGNoIDogMTsKICAg
ICBib29sIGhhc1NlZW5DbG9zdXJlIDogMTsKICAgICB1bnNpZ25lZCBjYWxsVHlwZSA6IDU7IC8v
IENhbGxUeXBlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBp
bGVyLmNwcAkocmV2aXNpb24gMTYwOTc5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdKSVRDb21waWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMCw2ICsxMDAsNyBAQCB2b2lk
IEpJVENvbXBpbGVyOjpjb21waWxlRW50cnkoKQogICAgIC8vIGJvdGggbm9ybWFsIHJldHVybiBj
b2RlIGFuZCB3aGVuIGp1bXBpbmcgdG8gYW4gZXhjZXB0aW9uIGhhbmRsZXIpLgogICAgIGVtaXRG
dW5jdGlvblByb2xvZ3VlKCk7CiAgICAgZW1pdFB1dEltbWVkaWF0ZVRvQ2FsbEZyYW1lSGVhZGVy
KG1fY29kZUJsb2NrLCBKU1N0YWNrOjpDb2RlQmxvY2spOworICAgIGppdEFzc2VydFRhZ3NJblBs
YWNlKCk7CiB9CiAKIHZvaWQgSklUQ29tcGlsZXI6OmNvbXBpbGVCb2R5KCkKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyNjQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyNjQuY3BwCShy
ZXZpc2lvbiAxNjA5NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRD
b21waWxlcjY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksOCBAQCBuYW1lc3BhY2Ug
SlNDIHsgbmFtZXNwYWNlIERGRyB7CiAKIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhp
dChjb25zdCBPU1JFeGl0JiBleGl0LCBjb25zdCBPcGVyYW5kczxWYWx1ZVJlY292ZXJ5PiYgb3Bl
cmFuZHMsIFNwZWN1bGF0aW9uUmVjb3ZlcnkqIHJlY292ZXJ5KQogeworICAgIG1faml0LmppdEFz
c2VydFRhZ3NJblBsYWNlKCk7CisKICAgICAvLyAxKSBQcm8tZm9ybWEgc3R1ZmYuCiAgICAgaWYg
KE9wdGlvbnM6OnByaW50RWFjaE9TUkV4aXQoKSkgewogICAgICAgICBTcGVjdWxhdGlvbkZhaWx1
cmVEZWJ1Z0luZm8qIGRlYnVnSW5mbyA9IG5ldyBTcGVjdWxhdGlvbkZhaWx1cmVEZWJ1Z0luZm87
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1v
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0
Q29tcGlsZXJDb21tb24uY3BwCShyZXZpc2lvbiAxNjA5NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE3Niw2ICsxNzYsOCBAQCB2b2lkIGFkanVzdEFuZEp1bXBUb1RhcmdldChDQ2FsbEhlbHBlcnMm
CiAgICAgdm9pZCoganVtcFRhcmdldCA9IGJhc2VsaW5lQ29kZUJsb2NrLT5qaXRDb2RlKCktPmV4
ZWN1dGFibGVBZGRyZXNzQXRPZmZzZXQobWFwcGluZy0+bV9tYWNoaW5lQ29kZU9mZnNldCk7CiAK
ICAgICBqaXQuYWRkUHRyKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbTMyKEpJVDo6c3RhY2tQ
b2ludGVyT2Zmc2V0Rm9yKGJhc2VsaW5lQ29kZUJsb2NrKSAqIHNpemVvZihSZWdpc3RlcikpLCBH
UFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgQXNzZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50ZXJS
ZWdpc3Rlcik7CisgICAgCisgICAgaml0LmppdEFzc2VydFRhZ3NJblBsYWNlKCk7CiAKICAgICBq
aXQubW92ZShBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoanVtcFRhcmdldCksIEdQUklu
Zm86OnJlZ1QyKTsKICAgICBqaXQuanVtcChHUFJJbmZvOjpyZWdUMik7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24g
MTYwOTc5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE0NjYsNiArMTQ2Niw3IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVDdXJyZW50QmxvY2sKICAgICBtX3N0cmVhbS0+YXBwZW5kQW5kTG9nKFZhcmlh
YmxlRXZlbnQ6OnJlc2V0KCkpOwogICAgIAogICAgIG1faml0LmppdEFzc2VydEhhc1ZhbGlkQ2Fs
bEZyYW1lKCk7CisgICAgbV9qaXQuaml0QXNzZXJ0VGFnc0luUGxhY2UoKTsKIAogICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbV9ibG9jay0+dmFyaWFibGVzQXRIZWFkLm51bWJlck9mQXJndW1l
bnRzKCk7ICsraSkgewogICAgICAgICBtX3N0cmVhbS0+YXBwZW5kQW5kTG9nKApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCShyZXZpc2lvbiAxNjA5NzkpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00NTgsNyArNDU4LDggQEAgdm9pZCBjb21waWxlKFN0YXRlJiBzdGF0ZSkKICAgICAgICAg
fQogICAgIH0KICAgICAKLSAgICBzdGF0ZS5qaXRDb2RlLT51bndpbmRJbmZvLnBhcnNlKHN0YXRl
LmNvbXBhY3RVbndpbmQsIHN0YXRlLmNvbXBhY3RVbndpbmRTaXplKTsKKyAgICBzdGF0ZS5qaXRD
b2RlLT51bndpbmRJbmZvLnBhcnNlKAorICAgICAgICBzdGF0ZS5jb21wYWN0VW53aW5kLCBzdGF0
ZS5jb21wYWN0VW53aW5kU2l6ZSwgc3RhdGUuZ2VuZXJhdGVkRnVuY3Rpb24pOwogICAgIGlmIChE
Rkc6OnNob3VsZFNob3dEaXNhc3NlbWJseSgpKQogICAgICAgICBkYXRhTG9nKCJVbndpbmQgaW5m
byBmb3IgIiwgQ29kZUJsb2NrV2l0aEpJVFR5cGUoc3RhdGUuZ3JhcGgubV9jb2RlQmxvY2ssIEpJ
VENvZGU6OkZUTEpJVCksICI6XG4gICAgIiwgc3RhdGUuaml0Q29kZS0+dW53aW5kSW5mbywgIlxu
Iik7CiAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpTQ2FsbC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKU0NhbGwuY3BwCShy
ZXZpc2lvbiAxNjA5NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpTQ2FsbC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTcyLDYgKzcyLDcgQEAgdm9pZCBKU0NhbGw6OmxpbmsoVk0m
IHZtLCBMaW5rQnVmZmVyJiBsaQogICAgIGxpbmtCdWZmZXIubGluaygKICAgICAgICAgbV9zbG93
Q2FsbCwgRnVuY3Rpb25QdHIodm0uZ2V0Q1RJU3R1YihnZW5lcmF0b3IpLmNvZGUoKS5leGVjdXRh
YmxlQWRkcmVzcygpKSk7CiAgICAgCisgICAgY2FsbEluZm8uaXNGVEwgPSB0cnVlOwogICAgIGNh
bGxJbmZvLmNhbGxUeXBlID0gbV9ub2RlLT5vcCgpID09IERGRzo6Q29uc3RydWN0ID8gQ2FsbExp
bmtJbmZvOjpDb25zdHJ1Y3QgOiBDYWxsTGlua0luZm86OkNhbGw7CiAgICAgY2FsbEluZm8uY29k
ZU9yaWdpbiA9IG1fbm9kZS0+Y29kZU9yaWdpbjsKICAgICBjYWxsSW5mby5jYWxsUmV0dXJuTG9j
YXRpb24gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2ZOZWFyQ2FsbChtX3Nsb3dDYWxsKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMVW53aW5kSW5mby5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExVbndpbmRJbmZvLmNwcAkocmV2aXNpb24g
MTYwOTc5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExVbndpbmRJbmZvLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNyBAQCBzdHJ1Y3QgQ29tcGFjdFVud2luZCB7CiAK
IH0gLy8gYW5vbnltb3VzIG5hbWVzcGFjZQogCi12b2lkIFVud2luZEluZm86OnBhcnNlKHZvaWQq
IHNlY3Rpb24sIHNpemVfdCBzaXplKQordm9pZCBVbndpbmRJbmZvOjpwYXJzZSh2b2lkKiBzZWN0
aW9uLCBzaXplX3Qgc2l6ZSwgR2VuZXJhdGVkRnVuY3Rpb24gZ2VuZXJhdGVkRnVuY3Rpb24pCiB7
CiAgICAgbV9yZWdpc3RlcnMuY2xlYXIoKTsKICAgICAKQEAgLTU5LDcgKzU5LDcgQEAgdm9pZCBV
bndpbmRJbmZvOjpwYXJzZSh2b2lkKiBzZWN0aW9uLCBzaQogICAgIAogICAgIFJFTEVBU0VfQVNT
RVJUKCFkYXRhLT5wZXJzb25hbGl0eSk7IC8vIFdlIGRvbid0IGtub3cgaG93IHRvIGhhbmRsZSB0
aGlzLgogICAgIFJFTEVBU0VfQVNTRVJUKCFkYXRhLT5sc2RhKTsgLy8gV2UgZG9uJ3Qga25vdyBo
b3cgdG8gaGFuZGxlIHRoaXMuCi0gICAgUkVMRUFTRV9BU1NFUlQoc2l6ZSA9PSBzaXplb2YoQ29t
cGFjdFVud2luZCkgfHwgIWRhdGFbMV0uZnVuY3Rpb24pOyAvLyBUaGVyZSB3aWxsIG9ubHkgYmUg
b25lIGZ1bmN0aW9uLgorICAgIFJFTEVBU0VfQVNTRVJUKGRhdGEtPmZ1bmN0aW9uID09IGdlbmVy
YXRlZEZ1bmN0aW9uKTsgLy8gVGhlIHVud2luZCBkYXRhIGJldHRlciBiZSBmb3Igb3VyIGZ1bmN0
aW9uLgogICAgIAogICAgIGNvbXBhY3RfdW53aW5kX2VuY29kaW5nX3QgZW5jb2RpbmcgPSBkYXRh
LT5lbmNvZGluZzsKICAgICBSRUxFQVNFX0FTU0VSVCghKGVuY29kaW5nICYgVU5XSU5EX0lTX05P
VF9GVU5DVElPTl9TVEFSVCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExV
bndpbmRJbmZvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExV
bndpbmRJbmZvLmgJKHJldmlzaW9uIDE2MDk3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMVW53aW5kSW5mby5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNp
ZiBFTkFCTEUoRlRMX0pJVCkKIAorI2luY2x1ZGUgIkZUTEdlbmVyYXRlZEZ1bmN0aW9uLmgiCiAj
aW5jbHVkZSAiRlRMUmVnaXN0ZXJBdE9mZnNldC5oIgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNw
YWNlIEZUTCB7CkBAIC0zNiw3ICszNyw3IEBAIHN0cnVjdCBVbndpbmRJbmZvIHsKICAgICBVbndp
bmRJbmZvKCk7CiAgICAgflVud2luZEluZm8oKTsKICAgICAKLSAgICB2b2lkIHBhcnNlKHZvaWQq
LCBzaXplX3QpOworICAgIHZvaWQgcGFyc2Uodm9pZCosIHNpemVfdCwgR2VuZXJhdGVkRnVuY3Rp
b24pOwogICAgIAogICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmNwcAkocmV2
aXNpb24gMTYwOTc5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBl
cnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAsNiArMTEwLDE3IEBAIHZvaWQgQXNzZW1ibHlI
ZWxwZXJzOjpqaXRBc3NlcnRJc0NlbGwoR1AKICAgICBicmVha3BvaW50KCk7CiAgICAgY2hlY2tD
ZWxsLmxpbmsodGhpcyk7CiB9CisKK3ZvaWQgQXNzZW1ibHlIZWxwZXJzOjpqaXRBc3NlcnRUYWdz
SW5QbGFjZSgpCit7CisgICAgSnVtcCBvayA9IGJyYW5jaDY0KEVxdWFsLCBHUFJJbmZvOjp0YWdU
eXBlTnVtYmVyUmVnaXN0ZXIsIFRydXN0ZWRJbW02NChUYWdUeXBlTnVtYmVyKSk7CisgICAgYnJl
YWtwb2ludCgpOworICAgIG9rLmxpbmsodGhpcyk7CisgICAgCisgICAgb2sgPSBicmFuY2g2NChF
cXVhbCwgR1BSSW5mbzo6dGFnTWFza1JlZ2lzdGVyLCBUcnVzdGVkSW1tNjQoVGFnTWFzaykpOwor
ICAgIGJyZWFrcG9pbnQoKTsKKyAgICBvay5saW5rKHRoaXMpOworfQogI2VsaWYgVVNFKEpTVkFM
VUUzMl82NCkKIHZvaWQgQXNzZW1ibHlIZWxwZXJzOjpqaXRBc3NlcnRJc0ludDMyKEdQUlJlZyBn
cHIpCiB7CkBAIC0xNDUsNiArMTU2LDEwIEBAIHZvaWQgQXNzZW1ibHlIZWxwZXJzOjpqaXRBc3Nl
cnRJc0NlbGwoR1AKICAgICBicmVha3BvaW50KCk7CiAgICAgY2hlY2tDZWxsLmxpbmsodGhpcyk7
CiB9CisKK3ZvaWQgQXNzZW1ibHlIZWxwZXJzOjpqaXRBc3NlcnRUYWdzSW5QbGFjZSgpCit7Cit9
CiAjZW5kaWYgLy8gVVNFKEpTVkFMVUUzMl82NCkKIAogdm9pZCBBc3NlbWJseUhlbHBlcnM6Ompp
dEFzc2VydEhhc1ZhbGlkQ2FsbEZyYW1lKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvQXNzZW1ibHlIZWxwZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9Bc3NlbWJseUhlbHBlcnMuaAkocmV2aXNpb24gMTYwOTc5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMzQzLDYg
KzM0Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGppdEFzc2VydElzQ2VsbChHUFJSZWcpOwogICAg
IHZvaWQgaml0QXNzZXJ0SGFzVmFsaWRDYWxsRnJhbWUoKTsKICAgICB2b2lkIGppdEFzc2VydElz
TnVsbChHUFJSZWcpOworICAgIHZvaWQgaml0QXNzZXJ0VGFnc0luUGxhY2UoKTsKICNlbHNlCiAg
ICAgdm9pZCBqaXRBc3NlcnRJc0ludDMyKEdQUlJlZykgeyB9CiAgICAgdm9pZCBqaXRBc3NlcnRJ
c0pTSW50MzIoR1BSUmVnKSB7IH0KQEAgLTM1MSw2ICszNTIsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBqaXRBc3NlcnRJc0NlbGwoR1BSUmVnKSB7IH0KICAgICB2b2lkIGppdEFzc2VydEhhc1ZhbGlk
Q2FsbEZyYW1lKCkgeyB9CiAgICAgdm9pZCBqaXRBc3NlcnRJc051bGwoR1BSUmVnKSB7IH0KKyAg
ICB2b2lkIGppdEFzc2VydFRhZ3NJblBsYWNlKCkgeyB9CiAjZW5kaWYKIAogICAgIC8vIFRoZXNl
IG1ldGhvZHMgY29udmVydCBiZXR3ZWVuIGRvdWJsZXMsIGFuZCBkb3VibGVzIGJveGVkIGFuZCBK
U1ZhbHVlcy4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAJKHJldmlzaW9uIDE2MDk3
OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTM0LDYgKzEzNCw4IEBAIHZvaWQgSklUOjplbWl0RW50ZXJPcHRpbWl6YXRpb25DaGVjaygp
CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKIHsKKyAgICBqaXRBc3NlcnRU
YWdzSW5QbGFjZSgpOworICAgIAogICAgIEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbnNCZWdpbiA9
IG1fY29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigpOwogICAgIHVuc2lnbmVkIGluc3Ry
dWN0aW9uQ291bnQgPSBtX2NvZGVCbG9jay0+aW5zdHJ1Y3Rpb25zKCkuc2l6ZSgpOwogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENvZGUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5jcHAJKHJldmlzaW9uIDE2MDk3OSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTcyLDExICs3Miw2IEBAIEZUTDo6Rm9yT1NSRW50cnlKSVRDb2RlKiBKSVRDb2RlOjpmdGxGb3IK
ICAgICByZXR1cm4gMDsKIH0KIAotUGFzc1JlZlB0cjxKSVRDb2RlPiBKSVRDb2RlOjpob3N0RnVu
Y3Rpb24oSklUQ29kZTo6Q29kZVJlZiBjb2RlKQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcg
TmF0aXZlSklUQ29kZShjb2RlLCBIb3N0Q2FsbFRodW5rKSk7Ci19Ci0KIEpJVENvZGVXaXRoQ29k
ZVJlZjo6SklUQ29kZVdpdGhDb2RlUmVmKEpJVFR5cGUgaml0VHlwZSkKICAgICA6IEpJVENvZGUo
aml0VHlwZSkKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5oCShyZXZpc2lv
biAxNjA5NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENvZGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTgzLDggKzE4Myw2IEBAIHB1YmxpYzoKICAgICAKICAgICB2aXJ0dWFsIGJv
b2wgY29udGFpbnModm9pZCopID0gMDsKIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEpJVENvZGU+
IGhvc3RGdW5jdGlvbihDb2RlUmVmKTsKLQogcHJpdmF0ZToKICAgICBKSVRUeXBlIG1faml0VHlw
ZTsKIH07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFRodW5rcy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRUaHVua3MuY3BwCShyZXZp
c2lvbiAxNjA5NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFRodW5rcy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTg3LDcgKzg3LDEyIEBAIE5hdGl2ZUV4ZWN1dGFibGUqIEpJVFRo
dW5rczo6aG9zdEZ1bmN0aW8KICAgICBpZiAoTmF0aXZlRXhlY3V0YWJsZSogbmF0aXZlRXhlY3V0
YWJsZSA9IG1faG9zdEZ1bmN0aW9uU3R1Yk1hcC0+Z2V0KHN0ZDo6bWFrZV9wYWlyKGZ1bmN0aW9u
LCBjb25zdHJ1Y3RvcikpKQogICAgICAgICByZXR1cm4gbmF0aXZlRXhlY3V0YWJsZTsKIAotICAg
IE5hdGl2ZUV4ZWN1dGFibGUqIG5hdGl2ZUV4ZWN1dGFibGUgPSBOYXRpdmVFeGVjdXRhYmxlOjpj
cmVhdGUoKnZtLCBKSVQ6OmNvbXBpbGVDVElOYXRpdmVDYWxsKHZtLCBmdW5jdGlvbiksIGZ1bmN0
aW9uLCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY6OmNyZWF0ZVNlbGZNYW5hZ2VkQ29kZVJlZihjdGlO
YXRpdmVDb25zdHJ1Y3Qodm0pKSwgY29uc3RydWN0b3IsIE5vSW50cmluc2ljKTsKKyAgICBOYXRp
dmVFeGVjdXRhYmxlKiBuYXRpdmVFeGVjdXRhYmxlID0gTmF0aXZlRXhlY3V0YWJsZTo6Y3JlYXRl
KAorICAgICAgICAqdm0sCisgICAgICAgIGFkb3B0UmVmKG5ldyBOYXRpdmVKSVRDb2RlKEpJVDo6
Y29tcGlsZUNUSU5hdGl2ZUNhbGwodm0sIGZ1bmN0aW9uKSwgSklUQ29kZTo6SG9zdENhbGxUaHVu
aykpLAorICAgICAgICBmdW5jdGlvbiwKKyAgICAgICAgYWRvcHRSZWYobmV3IE5hdGl2ZUpJVENv
ZGUoTWFjcm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVTZWxmTWFuYWdlZENvZGVSZWYoY3RpTmF0
aXZlQ29uc3RydWN0KHZtKSksIEpJVENvZGU6Okhvc3RDYWxsVGh1bmspKSwKKyAgICAgICAgY29u
c3RydWN0b3IsIE5vSW50cmluc2ljKTsKICAgICB3ZWFrQWRkKCptX2hvc3RGdW5jdGlvblN0dWJN
YXAsIHN0ZDo6bWFrZV9wYWlyKGZ1bmN0aW9uLCBjb25zdHJ1Y3RvciksIFdlYWs8TmF0aXZlRXhl
Y3V0YWJsZT4obmF0aXZlRXhlY3V0YWJsZSkpOwogICAgIHJldHVybiBuYXRpdmVFeGVjdXRhYmxl
OwogfQpAQCAtOTksMTYgKzEwNCwxOCBAQCBOYXRpdmVFeGVjdXRhYmxlKiBKSVRUaHVua3M6Omhv
c3RGdW5jdGlvCiAgICAgaWYgKE5hdGl2ZUV4ZWN1dGFibGUqIG5hdGl2ZUV4ZWN1dGFibGUgPSBt
X2hvc3RGdW5jdGlvblN0dWJNYXAtPmdldChzdGQ6Om1ha2VfcGFpcihmdW5jdGlvbiwgJmNhbGxI
b3N0RnVuY3Rpb25Bc0NvbnN0cnVjdG9yKSkpCiAgICAgICAgIHJldHVybiBuYXRpdmVFeGVjdXRh
YmxlOwogCi0gICAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGNvZGU7CisgICAgUmVmUHRyPEpJVENv
ZGU+IGZvckNhbGw7CiAgICAgaWYgKGdlbmVyYXRvcikgewotICAgICAgICBpZiAodm0tPmNhblVz
ZUpJVCgpKQotICAgICAgICAgICAgY29kZSA9IGdlbmVyYXRvcih2bSk7Ci0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgIGNvZGUgPSBNYWNyb0Fzc2VtYmxlckNvZGVSZWYoKTsKKyAgICAgICAgaWYg
KHZtLT5jYW5Vc2VKSVQoKSkgeworICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGVu
dHJ5ID0gZ2VuZXJhdG9yKHZtKTsKKyAgICAgICAgICAgIGZvckNhbGwgPSBhZG9wdFJlZihuZXcg
RGlyZWN0SklUQ29kZShlbnRyeSwgZW50cnkuY29kZSgpLCBKSVRDb2RlOjpIb3N0Q2FsbFRodW5r
KSk7CisgICAgICAgIH0KICAgICB9IGVsc2UKLSAgICAgICAgY29kZSA9IEpJVDo6Y29tcGlsZUNU
SU5hdGl2ZUNhbGwodm0sIGZ1bmN0aW9uKTsKLQotICAgIE5hdGl2ZUV4ZWN1dGFibGUqIG5hdGl2
ZUV4ZWN1dGFibGUgPSBOYXRpdmVFeGVjdXRhYmxlOjpjcmVhdGUoKnZtLCBjb2RlLCBmdW5jdGlv
biwgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVTZWxmTWFuYWdlZENvZGVSZWYoY3RpTmF0
aXZlQ29uc3RydWN0KHZtKSksIGNhbGxIb3N0RnVuY3Rpb25Bc0NvbnN0cnVjdG9yLCBpbnRyaW5z
aWMpOworICAgICAgICBmb3JDYWxsID0gYWRvcHRSZWYobmV3IE5hdGl2ZUpJVENvZGUoSklUOjpj
b21waWxlQ1RJTmF0aXZlQ2FsbCh2bSwgZnVuY3Rpb24pLCBKSVRDb2RlOjpIb3N0Q2FsbFRodW5r
KSk7CisgICAgCisgICAgUmVmUHRyPEpJVENvZGU+IGZvckNvbnN0cnVjdCA9IGFkb3B0UmVmKG5l
dyBOYXRpdmVKSVRDb2RlKE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3JlYXRlU2VsZk1hbmFnZWRD
b2RlUmVmKGN0aU5hdGl2ZUNvbnN0cnVjdCh2bSkpLCBKSVRDb2RlOjpIb3N0Q2FsbFRodW5rKSk7
CisgICAgCisgICAgTmF0aXZlRXhlY3V0YWJsZSogbmF0aXZlRXhlY3V0YWJsZSA9IE5hdGl2ZUV4
ZWN1dGFibGU6OmNyZWF0ZSgqdm0sIGZvckNhbGwsIGZ1bmN0aW9uLCBmb3JDb25zdHJ1Y3QsIGNh
bGxIb3N0RnVuY3Rpb25Bc0NvbnN0cnVjdG9yLCBpbnRyaW5zaWMpOwogICAgIHdlYWtBZGQoKm1f
aG9zdEZ1bmN0aW9uU3R1Yk1hcCwgc3RkOjptYWtlX3BhaXIoZnVuY3Rpb24sICZjYWxsSG9zdEZ1
bmN0aW9uQXNDb25zdHJ1Y3RvciksIFdlYWs8TmF0aXZlRXhlY3V0YWJsZT4obmF0aXZlRXhlY3V0
YWJsZSkpOwogICAgIHJldHVybiBuYXRpdmVFeGVjdXRhYmxlOwogfQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJQcmVzZXJ2
YXRpb25XcmFwcGVyR2VuZXJhdG9yLmNwcAkocmV2aXNpb24gMTYwOTc5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02Miw4ICs2Miw2IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBn
ZW5lcmF0ZVJlZ2lzdGVyUHIKIHsKICNpZiBFTkFCTEUoRlRMX0pJVCkKICAgICAvLyBXZSBzaG91
bGRuJ3QgZXZlciBiZSBnZW5lcmF0aW5nIHdyYXBwZXJzIGZvciBuYXRpdmUgZnVuY3Rpb25zLgot
ICAgIFNjcmlwdEV4ZWN1dGFibGUqIHNjcmlwdEV4ZWN1dGFibGUgPSBqc0Nhc3Q8U2NyaXB0RXhl
Y3V0YWJsZSo+KGV4ZWN1dGFibGUpOwotICAgIAogICAgIFJlZ2lzdGVyU2V0IHRvU2F2ZSA9IHJl
Z2lzdGVyc1RvUHJlc2VydmUoKTsKICAgICBwdHJkaWZmX3Qgb2Zmc2V0ID0gcmVnaXN0ZXJQcmVz
ZXJ2YXRpb25PZmZzZXQoKTsKICAgICAKQEAgLTExOSw3ICsxMTcsNyBAQCBNYWNyb0Fzc2VtYmxl
ckNvZGVSZWYgZ2VuZXJhdGVSZWdpc3RlclByCiAgICAgTGlua0J1ZmZlciBsaW5rQnVmZmVyKHZt
LCAmaml0LCBHTE9CQUxfVEhVTktfSUQpOwogICAgIGxpbmtCdWZmZXIubGluayhjYWxsLCBDb2Rl
TG9jYXRpb25MYWJlbCh0YXJnZXQpKTsKICAgICAKLSAgICByZXR1cm4gRklOQUxJWkVfREZHX0NP
REUobGlua0J1ZmZlciwgKCJSZWdpc3RlciBwcmVzZXJ2YXRpb24gd3JhcHBlciBmb3IgJXMvJXMs
ICVwIiwgdG9DU3RyaW5nKHNjcmlwdEV4ZWN1dGFibGUtPmhhc2hGb3IoQ29kZUZvckNhbGwpKS5k
YXRhKCksIHRvQ1N0cmluZyhzY3JpcHRFeGVjdXRhYmxlLT5oYXNoRm9yKENvZGVGb3JDb25zdHJ1
Y3QpKS5kYXRhKCksIHRhcmdldC5leGVjdXRhYmxlQWRkcmVzcygpKSk7CisgICAgcmV0dXJuIEZJ
TkFMSVpFX0RGR19DT0RFKGxpbmtCdWZmZXIsICgiUmVnaXN0ZXIgcHJlc2VydmF0aW9uIHdyYXBw
ZXIgZm9yICVzLyVzLCAlcCIsIHRvQ1N0cmluZyhleGVjdXRhYmxlLT5oYXNoRm9yKENvZGVGb3JD
YWxsKSkuZGF0YSgpLCB0b0NTdHJpbmcoZXhlY3V0YWJsZS0+aGFzaEZvcihDb2RlRm9yQ29uc3Ry
dWN0KSkuZGF0YSgpLCB0YXJnZXQuZXhlY3V0YWJsZUFkZHJlc3MoKSkpOwogI2Vsc2UgLy8gRU5B
QkxFKEZUTF9KSVQpCiAgICAgVU5VU0VEX1BBUkFNKHZtKTsKICAgICBVTlVTRURfUEFSQU0oZXhl
Y3V0YWJsZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJs
ZS5oCShyZXZpc2lvbiAxNjA5NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
eGVjdXRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4OCwxNCArMjg4LDExIEBAIGNsYXNzIE5h
dGl2ZUV4ZWN1dGFibGUgOiBwdWJsaWMgRXhlY3V0YWIKIHB1YmxpYzoKICAgICB0eXBlZGVmIEV4
ZWN1dGFibGVCYXNlIEJhc2U7CiAKLSAgICBzdGF0aWMgTmF0aXZlRXhlY3V0YWJsZSogY3JlYXRl
KFZNJiB2bSwgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGNhbGxUaHVuaywgTmF0aXZlRnVuY3Rpb24g
ZnVuY3Rpb24sIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBjb25zdHJ1Y3RUaHVuaywgTmF0aXZlRnVu
Y3Rpb24gY29uc3RydWN0b3IsIEludHJpbnNpYyBpbnRyaW5zaWMpCisgICAgc3RhdGljIE5hdGl2
ZUV4ZWN1dGFibGUqIGNyZWF0ZShWTSYgdm0sIFBhc3NSZWZQdHI8SklUQ29kZT4gY2FsbFRodW5r
LCBOYXRpdmVGdW5jdGlvbiBmdW5jdGlvbiwgUGFzc1JlZlB0cjxKSVRDb2RlPiBjb25zdHJ1Y3RU
aHVuaywgTmF0aXZlRnVuY3Rpb24gY29uc3RydWN0b3IsIEludHJpbnNpYyBpbnRyaW5zaWMpCiAg
ICAgewogICAgICAgICBOYXRpdmVFeGVjdXRhYmxlKiBleGVjdXRhYmxlOwogICAgICAgICBleGVj
dXRhYmxlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8TmF0aXZlRXhlY3V0YWJsZT4odm0u
aGVhcCkpIE5hdGl2ZUV4ZWN1dGFibGUodm0sIGZ1bmN0aW9uLCBjb25zdHJ1Y3Rvcik7Ci0gICAg
ICAgIGlmICghY2FsbFRodW5rKQotICAgICAgICAgICAgZXhlY3V0YWJsZS0+ZmluaXNoQ3JlYXRp
b24odm0sIDAsIDAsIGludHJpbnNpYyk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGV4ZWN1
dGFibGUtPmZpbmlzaENyZWF0aW9uKHZtLCBKSVRDb2RlOjpob3N0RnVuY3Rpb24oY2FsbFRodW5r
KSwgSklUQ29kZTo6aG9zdEZ1bmN0aW9uKGNvbnN0cnVjdFRodW5rKSwgaW50cmluc2ljKTsKKyAg
ICAgICAgZXhlY3V0YWJsZS0+ZmluaXNoQ3JlYXRpb24odm0sIGNhbGxUaHVuaywgY29uc3RydWN0
VGh1bmssIGludHJpbnNpYyk7CiAgICAgICAgIHJldHVybiBleGVjdXRhYmxlOwogICAgIH0KIAo=
</data>
<flag name="review"
          id="243539"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>