<?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>87809</bug_id>
          
          <creation_ts>2012-05-29 18:58:40 -0700</creation_ts>
          <short_desc>[V8] Replace v8::Null() with v8::Null(isolate) in custom bindings where isolate shouldn&apos;t be 0</short_desc>
          <delta_ts>2012-05-30 17:03:02 -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>WebCore JavaScript</component>
          <version>528+ (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>
          
          <blocked>84074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>636723</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-29 18:58:40 -0700</bug_when>
    <thetext>The objective is to pass Isolate around in V8 bindings.

In this bug we replace v8::Null() with v8::Null(isolate) in custom bindings where isolate shouldn&apos;t be 0. &apos;where isolate shouldn&apos;t be 0&apos; is the place where isolate is retrieved directly from AccessorInfo and Arguments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636728</commentid>
    <comment_count>1</comment_count>
      <attachid>144675</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-29 19:06:10 -0700</bug_when>
    <thetext>Created attachment 144675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637323</commentid>
    <comment_count>2</comment_count>
      <attachid>144675</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-30 09:42:37 -0700</bug_when>
    <thetext>Comment on attachment 144675
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=144675&amp;action=review

&gt; Source/WebCore/bindings/v8/custom/V8HTMLElementCustom.cpp:46
&gt; +        return v8::Null();

Not passing isolate here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637818</commentid>
    <comment_count>3</comment_count>
      <attachid>144675</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-30 16:46:26 -0700</bug_when>
    <thetext>Comment on attachment 144675
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=144675&amp;action=review

&gt;&gt; Source/WebCore/bindings/v8/custom/V8HTMLElementCustom.cpp:46
&gt;&gt; +        return v8::Null();
&gt; 
&gt; Not passing isolate here?

No. Isolate is passed here in another patch. This is a patch that passes isolate to the places where isolate cannot be 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637831</commentid>
    <comment_count>4</comment_count>
      <attachid>144675</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-30 17:02:58 -0700</bug_when>
    <thetext>Comment on attachment 144675
Patch

Clearing flags on attachment: 144675

Committed r118998: &lt;http://trac.webkit.org/changeset/118998&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637832</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-30 17:03:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144675</attachid>
            <date>2012-05-29 19:06:10 -0700</date>
            <delta_ts>2012-05-30 17:02:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87809-20120530110608.patch</filename>
            <type>text/plain</type>
            <size>25645</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4ODYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRmYzNiY2MyMGRlNGRm
YzZiNTFmMGY2YTE4NjY1NTgzYTczMmJkYS4uODA5NmMwNGNhYmJlOWZkODg1YzgwZTU1MGYxYjYz
OTRhZjM2YjRjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDcxIEBACiAyMDEyLTA1LTI5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIFJlcGxhY2Ug
djg6Ok51bGwoKSB3aXRoIHY4OjpOdWxsKGlzb2xhdGUpIGluIGN1c3RvbSBiaW5kaW5ncyB3aGVy
ZSBpc29sYXRlIHNob3VsZG4ndCBiZSAwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NzgwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoZSBvYmplY3RpdmUgaXMgdG8gcGFzcyBJc29sYXRlIGFyb3VuZCBp
biBWOCBiaW5kaW5ncy4KKyAgICAgICAgVGhpcyBwYXRjaCByZXBsYWNlcyB2ODo6TnVsbCgpIHdp
dGggdjg6Ok51bGwoaXNvbGF0ZSkgaW4gY3VzdG9tIGJpbmRpbmdzCisgICAgICAgIHdoZXJlIGlz
b2xhdGUgc2hvdWxkbid0IGJlIDAuICd3aGVyZSBpc29sYXRlIHNob3VsZG4ndCBiZSAwJyBpcyB0
aGUgcGxhY2UKKyAgICAgICAgd2hlcmUgaXNvbGF0ZSBpcyByZXRyaWV2ZWQgZGlyZWN0bHkgZnJv
bSBBY2Nlc3NvckluZm8gYW5kIEFyZ3VtZW50cy4KKworICAgICAgICBUaGlzIHBhdGNoIGluY2x1
ZGVzIGEgY291cGxlIG9mIHJlZmFjdG9yaW5nczoKKworICAgICAgICAtIE1ha2VzIFY4RGV2aWNl
TW90aW9uRXZlbnQ6OmNyZWF0ZUFjY2VsZXJhdGlvbk9iamVjdCgpIGFuZAorICAgICAgICBWOERl
dmljZU1vdGlvbkV2ZW50OjpjcmVhdGVSb3RhdGlvblJhdGVPYmplY3QoKSBzdGF0aWMKKworICAg
ICAgICAtIE1vdmVzIFY4SFRNTEVsZW1lbnQ6OnRvVjhPYmplY3QoKSBpbnRvIHRoZSBleGlzdGlu
ZyBFTkFCTEUoTUlDUk9EQVRBKSBmbGFnLgorCisgICAgICAgIE5vIHRlc3RzLiBObyBjaGFuZ2Ug
aW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDbGlwYm9hcmRD
dXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhDbGlwYm9hcmQ6OnR5cGVzQWNjZXNzb3JH
ZXR0ZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENvb3JkaW5hdGVzQ3VzdG9t
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4Q29vcmRpbmF0ZXM6OmFsdGl0dWRlQWNjZXNzb3JH
ZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhDb29yZGluYXRlczo6YWx0aXR1ZGVBY2N1cmFj
eUFjY2Vzc29yR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4Q29vcmRpbmF0ZXM6OmhlYWRp
bmdBY2Nlc3NvckdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpWOENvb3JkaW5hdGVzOjpzcGVl
ZEFjY2Vzc29yR2V0dGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VN
b3Rpb25FdmVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERldmljZU1vdGlvbkV2
ZW50OjphY2NlbGVyYXRpb25BY2Nlc3NvckdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpWOERl
dmljZU1vdGlvbkV2ZW50OjphY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5QWNjZXNzb3JHZXR0
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhEZXZpY2VNb3Rpb25FdmVudDo6cm90YXRpb25SYXRl
QWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhEZXZpY2VNb3Rpb25FdmVudDo6
aW50ZXJ2YWxBY2Nlc3NvckdldHRlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERl
dmljZU9yaWVudGF0aW9uRXZlbnQ6OmFscGhhQWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6VjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpiZXRhQWNjZXNzb3JHZXR0ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6VjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpnYW1tYUFjY2Vzc29yR2V0
dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6YWJzb2x1
dGVBY2Nlc3NvckdldHRlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1l
bnRMb2NhdGlvbkN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERvY3VtZW50Ojpsb2Nh
dGlvbkFjY2Vzc29yR2V0dGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1M
Q2FudmFzRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOEhUTUxDYW52YXNF
bGVtZW50OjpnZXRDb250ZXh0Q2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEhUTUxFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4T2JqZWN0KToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhIaXN0b3J5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlY4SGlzdG9yeTo6c3RhdGVBY2Nlc3NvckdldHRlcik6CisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4
TWVzc2FnZUV2ZW50OjpkYXRhQWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhOb2RlOjppbnNl
cnRCZWZvcmVDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOE5vZGU6OnJlcGxhY2VDaGls
ZENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4Tm9kZTo6cmVtb3ZlQ2hpbGRDYWxsYmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjpWOE5vZGU6OmFwcGVuZENoaWxkQ2FsbGJhY2spOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBvcFN0YXRlRXZlbnRDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VjhQb3BTdGF0ZUV2ZW50OjpzdGF0ZUFjY2Vzc29yR2V0dGVyKToKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlY4U1FMUmVzdWx0U2V0Um93TGlzdDo6aXRlbUNhbGxiYWNr
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhUcmFja0V2ZW50Q3VzdG9tLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlY4VHJhY2tFdmVudDo6dHJhY2tBY2Nlc3NvckdldHRlcik6Cisg
ICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9t
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjhPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6
VjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEF0dGFjaGVkU2hhZGVyc0NhbGxiYWNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OlY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRTdXBwb3J0ZWRFeHRl
bnNpb25zQ2FsbGJhY2spOgorCisyMDEyLTA1LTI5ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNo
cm9taXVtLm9yZz4KKwogICAgICAgICBbVjhdIFJlbmFtZSB2OE51bGwoKSB0byB2OE51bGxXaXRo
Q2hlY2soKQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODc3MTMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q2xpcGJvYXJkQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OENsaXBib2FyZEN1c3RvbS5jcHAKaW5kZXggY2VhMTBhZjFjNTRhZjcxM2IyODZiY2UzN2M0ZWI3
YjNkMzNkZDI4Yy4uNjFkZGExYzllNWFjOGNiNzcxZDVjNTk0ZWViZmZkY2QxNDNkNGQ2ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2xpcGJvYXJkQ3Vz
dG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDbGlwYm9h
cmRDdXN0b20uY3BwCkBAIC01MSw3ICs1MSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOENs
aXBib2FyZDo6dHlwZXNBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtCiAK
ICAgICBIYXNoU2V0PFN0cmluZz4gdHlwZXMgPSBjbGlwYm9hcmQtPnR5cGVzKCk7CiAgICAgaWYg
KHR5cGVzLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgICAgIHJl
dHVybiB2ODo6TnVsbChpbmZvLkdldElzb2xhdGUoKSk7CiAKICAgICB2ODo6TG9jYWw8djg6OkFy
cmF5PiByZXN1bHQgPSB2ODo6QXJyYXk6Ok5ldyh0eXBlcy5zaXplKCkpOwogICAgIEhhc2hTZXQ8
U3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gdHlwZXMuZW5kKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDb29yZGluYXRlc0N1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDb29yZGluYXRlc0N1c3RvbS5j
cHAKaW5kZXggZmM1Yzc1MGIzOTBiOGY4YzQ5MjEzMWRlMjNmYTZiODM0MDA0MDgzOC4uODI4OWVi
MmIyMTA4ZmJhNGJhOGJhZTg0YjJiYjAxZTIwMzVhZjhjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q29vcmRpbmF0ZXNDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENvb3JkaW5hdGVzQ3VzdG9tLmNwcApA
QCAtMzgsNyArMzgsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhDb29yZGluYXRlczo6YWx0
aXR1ZGVBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZwogICAgIHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKICAgICBDb29yZGluYXRlcyogaW1w
ID0gVjhDb29yZGluYXRlczo6dG9OYXRpdmUoaG9sZGVyKTsKICAgICBpZiAoIWltcC0+Y2FuUHJv
dmlkZUFsdGl0dWRlKCkpCi0gICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgICAgICByZXR1
cm4gdjg6Ok51bGwoaW5mby5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybiB2ODo6TnVtYmVyOjpO
ZXcoaW1wLT5hbHRpdHVkZSgpKTsKIH0KIApAQCAtNDgsNyArNDgsNyBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhDb29yZGluYXRlczo6YWx0aXR1ZGVBY2N1cmFjeUFjY2Vzc29yR2V0dGVyKHY4
OjpMb2NhbDx2OAogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xk
ZXIoKTsKICAgICBDb29yZGluYXRlcyogaW1wID0gVjhDb29yZGluYXRlczo6dG9OYXRpdmUoaG9s
ZGVyKTsKICAgICBpZiAoIWltcC0+Y2FuUHJvdmlkZUFsdGl0dWRlQWNjdXJhY3koKSkKLSAgICAg
ICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgICAgIHJldHVybiB2ODo6TnVsbChpbmZvLkdldElz
b2xhdGUoKSk7CiAgICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAtPmFsdGl0dWRlQWNjdXJh
Y3koKSk7CiB9CiAKQEAgLTU4LDcgKzU4LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Q29v
cmRpbmF0ZXM6OmhlYWRpbmdBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4KICAg
ICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7CiAgICAgQ29v
cmRpbmF0ZXMqIGltcCA9IFY4Q29vcmRpbmF0ZXM6OnRvTmF0aXZlKGhvbGRlcik7CiAgICAgaWYg
KCFpbXAtPmNhblByb3ZpZGVIZWFkaW5nKCkpCi0gICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwor
ICAgICAgICByZXR1cm4gdjg6Ok51bGwoaW5mby5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybiB2
ODo6TnVtYmVyOjpOZXcoaW1wLT5oZWFkaW5nKCkpOwogfQogCkBAIC02OCw3ICs2OCw3IEBAIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOENvb3JkaW5hdGVzOjpzcGVlZEFjY2Vzc29yR2V0dGVyKHY4
OjpMb2NhbDx2ODo6U3RyaW5nPiBuCiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIg
PSBpbmZvLkhvbGRlcigpOwogICAgIENvb3JkaW5hdGVzKiBpbXAgPSBWOENvb3JkaW5hdGVzOjp0
b05hdGl2ZShob2xkZXIpOwogICAgIGlmICghaW1wLT5jYW5Qcm92aWRlU3BlZWQoKSkKLSAgICAg
ICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgICAgIHJldHVybiB2ODo6TnVsbChpbmZvLkdldElz
b2xhdGUoKSk7CiAgICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAtPnNwZWVkKCkpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VN
b3Rpb25FdmVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAKaW5kZXggZjdhMDNmOWI4ZGFmYjNhZDUwMmQz
YjAzMjlkYjMxNTdkYTlmYTcwZi4uZTNlMjkwMTYxNmQyYTdhNWRlOTcyYjNmNzEyYzkzODAxNzky
MWI2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2
aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOERldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcApAQCAtMzksMjEgKzM5LDIxIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIHsKIAotdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IGNyZWF0ZUFjY2VsZXJhdGlvbk9iamVjdChjb25zdCBEZXZpY2VNb3Rpb25EYXRhOjpBY2Nl
bGVyYXRpb24qIGFjY2VsZXJhdGlvbikKK3N0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3Jl
YXRlQWNjZWxlcmF0aW9uT2JqZWN0KGNvbnN0IERldmljZU1vdGlvbkRhdGE6OkFjY2VsZXJhdGlv
biogYWNjZWxlcmF0aW9uLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICB2ODo6TG9jYWw8
djg6Ok9iamVjdD4gb2JqZWN0ID0gdjg6Ok9iamVjdDo6TmV3KCk7Ci0gICAgb2JqZWN0LT5TZXQo
djg6OlN0cmluZzo6TmV3KCJ4IiksIGFjY2VsZXJhdGlvbi0+Y2FuUHJvdmlkZVgoKSA/IHY4OjpO
dW1iZXI6Ok5ldyhhY2NlbGVyYXRpb24tPngoKSkgOiB2ODo6TnVsbCgpKTsKLSAgICBvYmplY3Qt
PlNldCh2ODo6U3RyaW5nOjpOZXcoInkiKSwgYWNjZWxlcmF0aW9uLT5jYW5Qcm92aWRlWSgpID8g
djg6Ok51bWJlcjo6TmV3KGFjY2VsZXJhdGlvbi0+eSgpKSA6IHY4OjpOdWxsKCkpOwotICAgIG9i
amVjdC0+U2V0KHY4OjpTdHJpbmc6Ok5ldygieiIpLCBhY2NlbGVyYXRpb24tPmNhblByb3ZpZGVa
KCkgPyB2ODo6TnVtYmVyOjpOZXcoYWNjZWxlcmF0aW9uLT56KCkpIDogdjg6Ok51bGwoKSk7Cisg
ICAgb2JqZWN0LT5TZXQodjg6OlN0cmluZzo6TmV3KCJ4IiksIGFjY2VsZXJhdGlvbi0+Y2FuUHJv
dmlkZVgoKSA/IHY4OjpOdW1iZXI6Ok5ldyhhY2NlbGVyYXRpb24tPngoKSkgOiB2ODo6TnVsbChp
c29sYXRlKSk7CisgICAgb2JqZWN0LT5TZXQodjg6OlN0cmluZzo6TmV3KCJ5IiksIGFjY2VsZXJh
dGlvbi0+Y2FuUHJvdmlkZVkoKSA/IHY4OjpOdW1iZXI6Ok5ldyhhY2NlbGVyYXRpb24tPnkoKSkg
OiB2ODo6TnVsbChpc29sYXRlKSk7CisgICAgb2JqZWN0LT5TZXQodjg6OlN0cmluZzo6TmV3KCJ6
IiksIGFjY2VsZXJhdGlvbi0+Y2FuUHJvdmlkZVooKSA/IHY4OjpOdW1iZXI6Ok5ldyhhY2NlbGVy
YXRpb24tPnooKSkgOiB2ODo6TnVsbChpc29sYXRlKSk7CiAgICAgcmV0dXJuIG9iamVjdDsKIH0K
IAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZVJvdGF0aW9uUmF0ZU9iamVjdChjb25zdCBE
ZXZpY2VNb3Rpb25EYXRhOjpSb3RhdGlvblJhdGUqIHJvdGF0aW9uUmF0ZSkKK3N0YXRpYyB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlUm90YXRpb25SYXRlT2JqZWN0KGNvbnN0IERldmljZU1v
dGlvbkRhdGE6OlJvdGF0aW9uUmF0ZSogcm90YXRpb25SYXRlLCB2ODo6SXNvbGF0ZSogaXNvbGF0
ZSkKIHsKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gb2JqZWN0ID0gdjg6Ok9iamVjdDo6TmV3
KCk7Ci0gICAgb2JqZWN0LT5TZXQodjg6OlN0cmluZzo6TmV3KCJhbHBoYSIpLCByb3RhdGlvblJh
dGUtPmNhblByb3ZpZGVBbHBoYSgpID8gdjg6Ok51bWJlcjo6TmV3KHJvdGF0aW9uUmF0ZS0+YWxw
aGEoKSkgOiB2ODo6TnVsbCgpKTsKLSAgICBvYmplY3QtPlNldCh2ODo6U3RyaW5nOjpOZXcoImJl
dGEiKSwgIHJvdGF0aW9uUmF0ZS0+Y2FuUHJvdmlkZUJldGEoKSAgPyB2ODo6TnVtYmVyOjpOZXco
cm90YXRpb25SYXRlLT5iZXRhKCkpICA6IHY4OjpOdWxsKCkpOwotICAgIG9iamVjdC0+U2V0KHY4
OjpTdHJpbmc6Ok5ldygiZ2FtbWEiKSwgcm90YXRpb25SYXRlLT5jYW5Qcm92aWRlR2FtbWEoKSA/
IHY4OjpOdW1iZXI6Ok5ldyhyb3RhdGlvblJhdGUtPmdhbW1hKCkpIDogdjg6Ok51bGwoKSk7Cisg
ICAgb2JqZWN0LT5TZXQodjg6OlN0cmluZzo6TmV3KCJhbHBoYSIpLCByb3RhdGlvblJhdGUtPmNh
blByb3ZpZGVBbHBoYSgpID8gdjg6Ok51bWJlcjo6TmV3KHJvdGF0aW9uUmF0ZS0+YWxwaGEoKSkg
OiB2ODo6TnVsbChpc29sYXRlKSk7CisgICAgb2JqZWN0LT5TZXQodjg6OlN0cmluZzo6TmV3KCJi
ZXRhIiksICByb3RhdGlvblJhdGUtPmNhblByb3ZpZGVCZXRhKCkgID8gdjg6Ok51bWJlcjo6TmV3
KHJvdGF0aW9uUmF0ZS0+YmV0YSgpKSAgOiB2ODo6TnVsbChpc29sYXRlKSk7CisgICAgb2JqZWN0
LT5TZXQodjg6OlN0cmluZzo6TmV3KCJnYW1tYSIpLCByb3RhdGlvblJhdGUtPmNhblByb3ZpZGVH
YW1tYSgpID8gdjg6Ok51bWJlcjo6TmV3KHJvdGF0aW9uUmF0ZS0+Z2FtbWEoKSkgOiB2ODo6TnVs
bChpc29sYXRlKSk7CiAgICAgcmV0dXJuIG9iamVjdDsKIH0KIApAQCAtMTI5LDggKzEyOSw4IEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2ZW50OjphY2NlbGVyYXRpb25B
Y2Nlc3NvckdldHRlcih2ODo6TG9jYWw8CiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xk
ZXIgPSBpbmZvLkhvbGRlcigpOwogICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERldmlj
ZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOwogICAgIGlmICghaW1wLT5kZXZpY2VNb3Rp
b25EYXRhKCktPmFjY2VsZXJhdGlvbigpKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKLSAg
ICByZXR1cm4gY3JlYXRlQWNjZWxlcmF0aW9uT2JqZWN0KGltcC0+ZGV2aWNlTW90aW9uRGF0YSgp
LT5hY2NlbGVyYXRpb24oKSk7CisgICAgICAgIHJldHVybiB2ODo6TnVsbChpbmZvLkdldElzb2xh
dGUoKSk7CisgICAgcmV0dXJuIGNyZWF0ZUFjY2VsZXJhdGlvbk9iamVjdChpbXAtPmRldmljZU1v
dGlvbkRhdGEoKS0+YWNjZWxlcmF0aW9uKCksIGluZm8uR2V0SXNvbGF0ZSgpKTsKIH0KIAogdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6OmFjY2VsZXJhdGlvbkluY2x1
ZGluZ0dyYXZpdHlBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29u
c3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKQEAgLTEzOSw4ICsxMzksOCBAQCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gVjhEZXZpY2VNb3Rpb25FdmVudDo6YWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jh
dml0eUFjY2Vzc29yRwogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5I
b2xkZXIoKTsKICAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gVjhEZXZpY2VNb3Rpb25FdmVu
dDo6dG9OYXRpdmUoaG9sZGVyKTsKICAgICBpZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5h
Y2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5KCkpCi0gICAgICAgIHJldHVybiB2ODo6TnVsbCgp
OwotICAgIHJldHVybiBjcmVhdGVBY2NlbGVyYXRpb25PYmplY3QoaW1wLT5kZXZpY2VNb3Rpb25E
YXRhKCktPmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoKSk7CisgICAgICAgIHJldHVybiB2
ODo6TnVsbChpbmZvLkdldElzb2xhdGUoKSk7CisgICAgcmV0dXJuIGNyZWF0ZUFjY2VsZXJhdGlv
bk9iamVjdChpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+YWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jh
dml0eSgpLCBpbmZvLkdldElzb2xhdGUoKSk7CiB9CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OERldmljZU1vdGlvbkV2ZW50Ojpyb3RhdGlvblJhdGVBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8
djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKQEAgLTE0OSw4
ICsxNDksOCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VNb3Rpb25FdmVudDo6cm90
YXRpb25SYXRlQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPAogICAgIHY4OjpIYW5kbGU8djg6Ok9i
amVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKICAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1w
ID0gVjhEZXZpY2VNb3Rpb25FdmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKICAgICBpZiAoIWltcC0+
ZGV2aWNlTW90aW9uRGF0YSgpLT5yb3RhdGlvblJhdGUoKSkKLSAgICAgICAgcmV0dXJuIHY4OjpO
dWxsKCk7Ci0gICAgcmV0dXJuIGNyZWF0ZVJvdGF0aW9uUmF0ZU9iamVjdChpbXAtPmRldmljZU1v
dGlvbkRhdGEoKS0+cm90YXRpb25SYXRlKCkpOworICAgICAgICByZXR1cm4gdjg6Ok51bGwoaW5m
by5HZXRJc29sYXRlKCkpOworICAgIHJldHVybiBjcmVhdGVSb3RhdGlvblJhdGVPYmplY3QoaW1w
LT5kZXZpY2VNb3Rpb25EYXRhKCktPnJvdGF0aW9uUmF0ZSgpLCBpbmZvLkdldElzb2xhdGUoKSk7
CiB9CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2ZW50OjppbnRlcnZh
bEFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNj
ZXNzb3JJbmZvJiBpbmZvKQpAQCAtMTU5LDcgKzE1OSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBWOERldmljZU1vdGlvbkV2ZW50OjppbnRlcnZhbEFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2
ODo6CiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOwog
ICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2
ZShob2xkZXIpOwogICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3ZpZGVJ
bnRlcnZhbCgpKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4
OjpOdWxsKGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGlt
cC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5pbnRlcnZhbCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudEN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmll
bnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAppbmRleCA5MTFhOTM4MjRjMzcxOGJjYzAzNDg5NTllM2Yx
MmI4MTgzMDUyMWE5Li5mYzNmYzIwMjZkMTA1MjVjZWFjZGUwNGE2NGExNmVhMWRjMDRlMWI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmll
bnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcApAQCAtNDMsNyArNDMsNyBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjphbHBoYUFj
Y2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2OAogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9s
ZGVyID0gaW5mby5Ib2xkZXIoKTsKICAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KiBpbXAgPSBW
OERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7CiAgICAgaWYgKCFpbXAt
Pm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVBbHBoYSgpKQotICAgICAgICByZXR1cm4gdjg6Ok51
bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICBy
ZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+b3JpZW50YXRpb24oKS0+YWxwaGEoKSk7CiB9CiAK
QEAgLTUzLDcgKzUzLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlT3JpZW50YXRp
b25FdmVudDo6YmV0YUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODoKICAgICB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7CiAgICAgRGV2aWNlT3JpZW50YXRp
b25FdmVudCogaW1wID0gVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIp
OwogICAgIGlmICghaW1wLT5vcmllbnRhdGlvbigpLT5jYW5Qcm92aWRlQmV0YSgpKQotICAgICAg
ICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKGluZm8uR2V0SXNv
bGF0ZSgpKTsKICAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+b3JpZW50YXRpb24oKS0+
YmV0YSgpKTsKIH0KIApAQCAtNjMsNyArNjMsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpnYW1tYUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2OAog
ICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKICAgICBE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRv
TmF0aXZlKGhvbGRlcik7CiAgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVH
YW1tYSgpKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4OjpO
dWxsKGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+
b3JpZW50YXRpb24oKS0+Z2FtbWEoKSk7CiB9CiAKQEAgLTczLDcgKzczLDcgQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6YWJzb2x1dGVBY2Nlc3Nvckdl
dHRlcih2ODo6TG9jYWwKICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8u
SG9sZGVyKCk7CiAgICAgRGV2aWNlT3JpZW50YXRpb25FdmVudCogaW1wID0gVjhEZXZpY2VPcmll
bnRhdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOwogICAgIGlmICghaW1wLT5vcmllbnRhdGlv
bigpLT5jYW5Qcm92aWRlQWJzb2x1dGUoKSkKLSAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7Cisg
ICAgICAgIHJldHVybiB2ODo6TnVsbChpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHY4
OjpCb29sZWFuOjpOZXcoaW1wLT5vcmllbnRhdGlvbigpLT5hYnNvbHV0ZSgpKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRMb2Nh
dGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1
bWVudExvY2F0aW9uQ3VzdG9tLmNwcAppbmRleCBiNDUzNzdjNjE0YTg5YmNhYWIyNjQ5MTZjOGEy
MDU4NDJiYTNlYTM4Li40ZWJiNzgzODQ3MTQxOGIxM2ZmNjhhYWU5Mjc1NDBkNzllNTcwYTk4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudExv
Y2F0aW9uQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhEb2N1bWVudExvY2F0aW9uQ3VzdG9tLmNwcApAQCAtMzgsNyArMzgsNyBAQCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gVjhEb2N1bWVudDo6bG9jYXRpb25BY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8
djg6OlN0cmluZz4gbgogewogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IFY4RG9jdW1lbnQ6OnRv
TmF0aXZlKGluZm8uSG9sZGVyKCkpOwogICAgIGlmICghZG9jdW1lbnQtPmZyYW1lKCkpCi0gICAg
ICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgICAgICByZXR1cm4gdjg6Ok51bGwoaW5mby5HZXRJ
c29sYXRlKCkpOwogCiAgICAgRE9NV2luZG93KiB3aW5kb3cgPSBkb2N1bWVudC0+ZnJhbWUoKS0+
ZG9tV2luZG93KCk7CiAgICAgcmV0dXJuIHRvVjgod2luZG93LT5sb2NhdGlvbigpLCBpbmZvLkdl
dElzb2xhdGUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggMDFjNTRkYjQ2
NGE0M2MxZGE3YjUzNjk5Yzk0MDlhZDcxNWVjODBjNS4uNzM1MTFhODY3NWI3OWQwMjQ4OTA3NTA1
MDc1YTg5OTVjMjdhNWZmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcApAQCAtODQs
NyArODQsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhIVE1MQ2FudmFzRWxlbWVudDo6Z2V0
Q29udGV4dENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudAogI2VuZGlmCiAgICAgQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dCogcmVzdWx0ID0gaW1wLT5nZXRDb250ZXh0KGNvbnRleHRJZCwgYXR0cnMu
Z2V0KCkpOwogICAgIGlmICghcmVzdWx0KQotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAg
ICAgICAgcmV0dXJuIHY4OjpOdWxsKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBpZiAocmVzdWx0
LT5pczJkKCkpCiAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRCo+KHJlc3VsdCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICNpZiBFTkFCTEUoV0VC
R0wpCkBAIC05Miw3ICs5Miw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhUTUxDYW52YXNF
bGVtZW50OjpnZXRDb250ZXh0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50CiAgICAgICAgIHJl
dHVybiB0b1Y4KHN0YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5nQ29udGV4dCo+KHJlc3VsdCksIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKICNlbmRpZgogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAg
IHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVsbChhcmdzLkdldElzb2xhdGUo
KSk7CiB9CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhUTUxDYW52YXNFbGVtZW50Ojp0b0Rh
dGFVUkxDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEVsZW1lbnRDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEVsZW1lbnRDdXN0b20uY3Bw
CmluZGV4IDE5Mjg2MTI0ZjE0NjgzNWNhYTZiYzM0NmUyODQ2ZDI1MTQxODkzYmMuLjM2MWU4ZDAy
Y2FlZjkyMzI1OTQzNGMxNDE2NGRlM2UwMjc3MGFkMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxFbGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRWxlbWVudEN1c3RvbS5jcHAKQEAg
LTQwLDI3ICs0MCwyNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3Y4OjpIYW5kbGU8djg6
OlZhbHVlPiB0b1Y4KEhUTUxFbGVtZW50KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwgYm9v
bCBmb3JjZU5ld09iamVjdCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiB2ODo6
TnVsbCgpOworICAgIHJldHVybiBjcmVhdGVWOEhUTUxXcmFwcGVyKGltcGwsIGlzb2xhdGUsIGZv
cmNlTmV3T2JqZWN0KTsKK30KKwogI2lmIEVOQUJMRShNSUNST0RBVEEpCiBzdGF0aWMgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHRvVjhPYmplY3QoTWljcm9EYXRhSXRlbVZhbHVlKiBpdGVtVmFsdWUs
IHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICghaXRlbVZhbHVlKQotICAgICAgICBy
ZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKGlzb2xhdGUpOwogCiAg
ICAgaWYgKGl0ZW1WYWx1ZS0+aXNOb2RlKCkpCiAgICAgICAgIHJldHVybiB0b1Y4KGl0ZW1WYWx1
ZS0+Z2V0Tm9kZSgpLCBpc29sYXRlKTsKIAogICAgIHJldHVybiB2OFN0cmluZyhpdGVtVmFsdWUt
PmdldFN0cmluZygpKTsKIH0KLSNlbmRpZgogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChI
VE1MRWxlbWVudCogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUsIGJvb2wgZm9yY2VOZXdPYmpl
Y3QpCi17Ci0gICAgaWYgKCFpbXBsKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKLSAgICBy
ZXR1cm4gY3JlYXRlVjhIVE1MV3JhcHBlcihpbXBsLCBpc29sYXRlLCBmb3JjZU5ld09iamVjdCk7
Ci19Ci0KLSNpZiBFTkFCTEUoTUlDUk9EQVRBKQogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SFRN
TEVsZW1lbnQ6Oml0ZW1WYWx1ZUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBu
YW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQogewogICAgIEhUTUxFbGVtZW50KiBp
bXBsID0gVjhIVE1MRWxlbWVudDo6dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIaXN0b3J5Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhpc3RvcnlDdXN0b20uY3BwCmlu
ZGV4IDRlMzBkYjUxNGJhMTczZGUyNjZlMjVmOTRmMjQ2NTZmMmVkNTk4ZGMuLmJjY2RhMGM5ZTRh
YmNmZTVkZjFhNjhiNmVhNGY1NGRjM2IyNGM0ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhpc3RvcnlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhpc3RvcnlDdXN0b20uY3BwCkBAIC01Myw3ICs1Myw3
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhpc3Rvcnk6OnN0YXRlQWNjZXNzb3JHZXR0ZXIo
djg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsCiAgICAgICAgIHJldHVybiB2YWx1ZTsKIAogICAg
IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogc2VyaWFsaXplZCA9IGhpc3RvcnktPnN0YXRlKCk7Ci0g
ICAgdmFsdWUgPSBzZXJpYWxpemVkID8gc2VyaWFsaXplZC0+ZGVzZXJpYWxpemUoMCwgaW5mby5H
ZXRJc29sYXRlKCkpIDogdjg6OkhhbmRsZTx2ODo6VmFsdWU+KHY4OjpOdWxsKCkpOworICAgIHZh
bHVlID0gc2VyaWFsaXplZCA/IHNlcmlhbGl6ZWQtPmRlc2VyaWFsaXplKDAsIGluZm8uR2V0SXNv
bGF0ZSgpKSA6IHY4OjpIYW5kbGU8djg6OlZhbHVlPih2ODo6TnVsbChpbmZvLkdldElzb2xhdGUo
KSkpOwogICAgIGluZm8uSG9sZGVyKCktPlNldEhpZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlO
YW1lOjpzdGF0ZSgpLCB2YWx1ZSk7CiAKICAgICByZXR1cm4gdmFsdWU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlRXZlbnRDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9t
LmNwcAppbmRleCA1YmIwMTg3YWUwYTgwYzE4M2RlNmQ5MDBlZTYzOTgxYzYwZTJlN2Y5Li43N2Jh
M2YyNjZiYWRjNzNiNTJmYTBmODk0Yjg3MDFkZGY4ZWQzNDkwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlRXZlbnRDdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VFdmVudEN1c3RvbS5j
cHAKQEAgLTUzLDcgKzUzLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4TWVzc2FnZUV2ZW50
OjpkYXRhQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG4KICAgICBjYXNlIE1l
c3NhZ2VFdmVudDo6RGF0YVR5cGVTY3JpcHRWYWx1ZTogewogICAgICAgICBTY3JpcHRWYWx1ZSBz
Y3JpcHRWYWx1ZSA9IGV2ZW50LT5kYXRhQXNTY3JpcHRWYWx1ZSgpOwogICAgICAgICBpZiAoc2Ny
aXB0VmFsdWUuaGFzTm9WYWx1ZSgpKQotICAgICAgICAgICAgcmVzdWx0ID0gdjg6Ok51bGwoKTsK
KyAgICAgICAgICAgIHJlc3VsdCA9IHY4OjpOdWxsKGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgcmVzdWx0ID0gdjg6OkxvY2FsPHY4OjpWYWx1ZT46Ok5ldyhz
Y3JpcHRWYWx1ZS52OFZhbHVlKCkpOwogICAgICAgICBicmVhazsKQEAgLTYzLDcgKzYzLDcgQEAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4TWVzc2FnZUV2ZW50OjpkYXRhQWNjZXNzb3JHZXR0ZXIo
djg6OkxvY2FsPHY4OjpTdHJpbmc+IG4KICAgICAgICAgaWYgKFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZSogc2VyaWFsaXplZFZhbHVlID0gZXZlbnQtPmRhdGFBc1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZSgp
KQogICAgICAgICAgICAgcmVzdWx0ID0gc2VyaWFsaXplZFZhbHVlLT5kZXNlcmlhbGl6ZShldmVu
dC0+cG9ydHMoKSwgaW5mby5HZXRJc29sYXRlKCkpOwogICAgICAgICBlbHNlCi0gICAgICAgICAg
ICByZXN1bHQgPSB2ODo6TnVsbCgpOworICAgICAgICAgICAgcmVzdWx0ID0gdjg6Ok51bGwoaW5m
by5HZXRJc29sYXRlKCkpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgTWVzc2FnZUV2ZW50
OjpEYXRhVHlwZVN0cmluZzogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhOb2RlQ3VzdG9tLmNwcAppbmRleCAzODQ4ZDVjOWMzNzcwZTkzNTQ5M2M0MWVmZWRi
NjI0ODRlMzFhNDkzLi4xODgyNjc1MWUyMmY3MzRlNmZkMmVlMGVlNzMxNjdiY2FmMTJmM2JjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9t
LmNwcApAQCAtNzcsNyArNzcsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOb2RlOjppbnNl
cnRCZWZvcmVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgICAgICByZXR1
cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAg
aWYgKHN1Y2Nlc3MpCiAgICAgICAgIHJldHVybiBhcmdzWzBdOwotICAgIHJldHVybiB2ODo6TnVs
bCgpOworICAgIHJldHVybiB2ODo6TnVsbChhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKIC8vIFRo
aXMgZnVuY3Rpb24gaXMgY3VzdG9taXplZCB0byB0YWtlIGFkdmFudGFnZSBvZiB0aGUgb3B0aW9u
YWwgNHRoIGFyZ3VtZW50OiBzaG91bGRMYXp5QXR0YWNoCkBAIC05NCw3ICs5NCw3IEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOE5vZGU6OnJlcGxhY2VDaGlsZENhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MpCiAgICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24o
ZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBpZiAoc3VjY2VzcykKICAgICAgICAgcmV0dXJu
IGFyZ3NbMV07Ci0gICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdWxsKGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKIH0KIAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Tm9kZTo6cmVt
b3ZlQ2hpbGRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQpAQCAtMTA5LDcgKzEw
OSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vZGU6OnJlbW92ZUNoaWxkQ2FsbGJhY2so
Y29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERP
TUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIGlmIChzdWNjZXNzKQogICAg
ICAgICByZXR1cm4gYXJnc1swXTsKLSAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4g
djg6Ok51bGwoYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiAvLyBUaGlzIGZ1bmN0aW9uIGlzIGN1
c3RvbWl6ZWQgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIG9wdGlvbmFsIDR0aCBhcmd1bWVudDog
c2hvdWxkTGF6eUF0dGFjaApAQCAtMTI1LDcgKzEyNSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBWOE5vZGU6OmFwcGVuZENoaWxkQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykK
ICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29s
YXRlKCkpOwogICAgIGlmIChzdWNjZXNzKQogICAgICAgICByZXR1cm4gYXJnc1swXTsKLSAgICBy
ZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bGwoYXJncy5HZXRJc29sYXRlKCkp
OwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOFNsb3coTm9kZSogaW1wbCwgdjg6Oklz
b2xhdGUqIGlzb2xhdGUsIGJvb2wgZm9yY2VOZXdPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBvcFN0YXRlRXZlbnRDdXN0b20uY3Bw
CmluZGV4IGIzZDkwZjRkMjBiNjgxNWU0NzQ1NDMzYTQ4MTA1MzY1NzAyYjY5ZTcuLjBhYmYwYzA0
M2UxNzY2NjJmYzYxM2E3ZjRiYzFhZjZjYjhmNTM4NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBvcFN0YXRlRXZlbnRDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBvcFN0YXRlRXZlbnRDdXN0b20uY3Bw
CkBAIC02Miw3ICs2Miw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFBvcFN0YXRlRXZlbnQ6
OnN0YXRlQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+CiAKICAgICBIaXN0b3J5
KiBoaXN0b3J5ID0gZXZlbnQtPmhpc3RvcnkoKTsKICAgICBpZiAoIWhpc3RvcnkgfHwgIWV2ZW50
LT5zZXJpYWxpemVkU3RhdGUoKSkKLSAgICAgICAgcmV0dXJuIGNhY2hlU3RhdGUoaW5mby5Ib2xk
ZXIoKSwgdjg6Ok51bGwoKSk7CisgICAgICAgIHJldHVybiBjYWNoZVN0YXRlKGluZm8uSG9sZGVy
KCksIHY4OjpOdWxsKGluZm8uR2V0SXNvbGF0ZSgpKSk7CiAKICAgICAvLyBUaGVyZSdzIG5vIGNh
Y2hlZCB2YWx1ZSBmcm9tIGEgcHJldmlvdXMgaW52b2NhdGlvbiwgbm9yIGEgc3RhdGUgdmFsdWUg
d2FzIHByb3ZpZGVkIGJ5IHRoZQogICAgIC8vIGV2ZW50LCBidXQgdGhlcmUgaXMgYSBoaXN0b3J5
IG9iamVjdCwgc28gZmlyc3Qgd2UgbmVlZCB0byBzZWUgaWYgdGhlIHN0YXRlIG9iamVjdCBoYXMg
YmVlbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FM
UmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcAppbmRleCBhNGY4MGQwYTFiYjZk
NGVhZTZiMWJiNTI2NjYxOGMwN2FmNTJlMTE1Li42NDc4YmEzN2UyZGIxNzgxMTM2NDhjN2NiMTVi
MjdmOWFjMGZmMzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcApAQCAtNjcs
NyArNjcsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhTUUxSZXN1bHRTZXRSb3dMaXN0Ojpp
dGVtQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYQogICAgICAgICAgICAgICAgIHZhbHVl
ID0gdjhTdHJpbmcoc3FsVmFsdWUuc3RyaW5nKCkpOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgY2FzZSBTUUxWYWx1ZTo6TnVsbFZhbHVlOgotICAgICAgICAgICAgICAgIHZh
bHVlID0gdjg6Ok51bGwoKTsKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IHY4OjpOdWxsKGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2Ug
U1FMVmFsdWU6Ok51bWJlclZhbHVlOgogICAgICAgICAgICAgICAgIHZhbHVlID0gdjg6Ok51bWJl
cjo6TmV3KHNxbFZhbHVlLm51bWJlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFRyYWNrRXZlbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4VHJhY2tFdmVudEN1c3RvbS5jcHAKaW5kZXggNTk0MmY1YzRk
ZTEwYzE1NjQzNDkwMjEyMGU4MTdjODdjZGMwMWNmMS4uYzdjNTE3NTI4NGZkMTIxYWRmNmNlZTJj
OTQzMWVjYTE3MzkxMWUxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4VHJhY2tFdmVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4VHJhY2tFdmVudEN1c3RvbS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4VHJhY2tFdmVudDo6dHJhY2tBY2Nlc3NvckdldHRlcih2ODo6
TG9jYWw8djg6OlN0cmluZz4gbmEKICAgICBUcmFja0Jhc2UqIHRyYWNrID0gdHJhY2tFdmVudC0+
dHJhY2soKTsKICAgICAKICAgICBpZiAoIXRyYWNrKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwo
KTsKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKGluZm8uR2V0SXNvbGF0ZSgpKTsKIAogICAgIHN3
aXRjaCAodHJhY2stPnR5cGUoKSkgewogICAgIGNhc2UgVHJhY2tCYXNlOjpCYXNlVHJhY2s6CkBA
IC02Nyw3ICs2Nyw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRyYWNrRXZlbnQ6OnRyYWNr
QWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hCiAgICAgICAgIGJyZWFrOwog
ICAgIH0KIAotICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVsbChpbmZv
LkdldElzb2xhdGUoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4
dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJl
bmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCmluZGV4IDhjNzVjNjRiYWE1MmU0YThhOTdjNzEyYmJj
ZmVlYzM0MTlkNTBjOTkuLjg1MjdiYzIxYjg4NmU2ZTBjMWI1YjQxODNkOTY0ZTkwNGNhNWFiNzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcApAQCAtMTMyLDcgKzEzMiw3
IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOE9iamVjdChjb25zdCBXZWJHTEdl
dEluZm8mIGluZm8sIHY4OjpJc29sYXRlKiBpCiAgICAgY2FzZSBXZWJHTEdldEluZm86OmtUeXBl
SW50OgogICAgICAgICByZXR1cm4gdjg6OkludGVnZXI6Ok5ldyhpbmZvLmdldEludCgpKTsKICAg
ICBjYXNlIFdlYkdMR2V0SW5mbzo6a1R5cGVOdWxsOgotICAgICAgICByZXR1cm4gdjg6Ok51bGwo
KTsKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKGlzb2xhdGUpOwogICAgIGNhc2UgV2ViR0xHZXRJ
bmZvOjprVHlwZVN0cmluZzoKICAgICAgICAgcmV0dXJuIHY4OjpTdHJpbmc6Ok5ldyhmcm9tV2Vi
Q29yZVN0cmluZyhpbmZvLmdldFN0cmluZygpKSwgaW5mby5nZXRTdHJpbmcoKS5sZW5ndGgoKSk7
CiAgICAgY2FzZSBXZWJHTEdldEluZm86OmtUeXBlVW5zaWduZWRJbnQ6CkBAIC0xNjgsNyArMTY4
LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4T2JqZWN0KGNvbnN0IFdlYkdM
R2V0SW5mbyYgaW5mbywgdjg6Oklzb2xhdGUqIGkKIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdG9WOE9iamVjdChXZWJHTEV4dGVuc2lvbiogZXh0ZW5zaW9uLCB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+IGNvbnRleHRPYmplY3QsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICgh
ZXh0ZW5zaW9uKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4
OjpOdWxsKGlzb2xhdGUpOwogICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBleHRlbnNpb25PYmpl
Y3Q7CiAgICAgY29uc3QgY2hhciogcmVmZXJlbmNlTmFtZSA9IDA7CiAgICAgc3dpdGNoIChleHRl
bnNpb24tPmdldE5hbWUoKSkgewpAQCAtMjc4LDEwICsyNzgsMTAgQEAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRBdHRhY2hlZFNoYWRlcnNDYWxsYmFj
ayhjb25zdAogICAgIGJvb2wgc3VjY2VlZCA9IGNvbnRleHQtPmdldEF0dGFjaGVkU2hhZGVycyhw
cm9ncmFtLCBzaGFkZXJzLCBlYyk7CiAgICAgaWYgKGVjKSB7CiAgICAgICAgIFY4UHJveHk6OnNl
dERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwotICAgICAgICByZXR1cm4gdjg6
Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAg
ICB9CiAgICAgaWYgKCFzdWNjZWVkKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAg
ICAgcmV0dXJuIHY4OjpOdWxsKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICB2ODo6TG9jYWw8djg6
OkFycmF5PiBhcnJheSA9IHY4OjpBcnJheTo6TmV3KHNoYWRlcnMuc2l6ZSgpKTsKICAgICBmb3Ig
KHNpemVfdCBpaSA9IDA7IGlpIDwgc2hhZGVycy5zaXplKCk7ICsraWkpCiAgICAgICAgIGFycmF5
LT5TZXQodjg6OkludGVnZXI6Ok5ldyhpaSksIHRvVjgoc2hhZGVyc1tpaV0uZ2V0KCksIGFyZ3Mu
R2V0SXNvbGF0ZSgpKSk7CkBAIC0zODgsNyArMzg4LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25zQ2FsbGJhY2so
Y28KICAgICBJTkNfU1RBVFMoIkRPTS5XZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0U3VwcG9ydGVk
RXh0ZW5zaW9uc0NhbGxiYWNrKCkiKTsKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGltcCA9
IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBp
ZiAoaW1wLT5pc0NvbnRleHRMb3N0KCkpCi0gICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAg
ICAgICByZXR1cm4gdjg6Ok51bGwoYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgVmVjdG9yPFN0
cmluZz4gdmFsdWUgPSBpbXAtPmdldFN1cHBvcnRlZEV4dGVuc2lvbnMoKTsKICAgICB2ODo6TG9j
YWw8djg6OkFycmF5PiBhcnJheSA9IHY4OjpBcnJheTo6TmV3KHZhbHVlLnNpemUoKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>