<?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>87692</bug_id>
          
          <creation_ts>2012-05-28 21:31:17 -0700</creation_ts>
          <short_desc>[V8] Implement V8Binding::v8Null(isolate) and use it in CodeGeneratorV8.pm</short_desc>
          <delta_ts>2012-06-01 15:14:44 -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>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>japhet</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>635556</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-28 21:31:17 -0700</bug_when>
    <thetext>Since v8::Null(isolate) crashes if we pass a NULL isolate, we are planning to pass Isolate to v8::Null() in the following steps:

[1] Implement V8Bindings::v8Null(isolate). v8Null(isolate) does the NULL check. If isolate is NULL, v8Null(isolate) calls v8::Null(). Otherwise, v8Null(isolate) calls v8::Null(isolate).

[2] In V8 bindings, we replace v8::Null() with v8::Null(isolate) for a non-optional &apos;isolate&apos; parameter. (e.g. void foo(..., Isolate* isolate) { v8::Null(); } )

[3] In V8 bindings, we replace v8::Null() with v8Null(isolate) for an optional &apos;isolate&apos; parameter. (e.g. void foo(..., Isolate* isolate = 0) { v8::Null(); } )

This bug fixes [1].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635584</commentid>
    <comment_count>1</comment_count>
      <attachid>144447</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-28 22:41:58 -0700</bug_when>
    <thetext>Created attachment 144447
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635592</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-28 22:59:48 -0700</bug_when>
    <thetext>Looks great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635629</commentid>
    <comment_count>3</comment_count>
      <attachid>144447</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-28 23:42:29 -0700</bug_when>
    <thetext>Comment on attachment 144447
Patch

Clearing flags on attachment: 144447

Committed r118726: &lt;http://trac.webkit.org/changeset/118726&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635631</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-28 23:42:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639772</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-01 15:14:44 -0700</bug_when>
    <thetext>This improved the scores on binding tests by roughly 25%:

http://webkit-perf.appspot.com/graph.html#tests=[[2726794,2001,3001]]&amp;sel=1338266668968.9753,1338326860380.0183,341.8740849194729,480.0878477306003&amp;displayrange=7&amp;datatype=running</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144447</attachid>
            <date>2012-05-28 22:41:58 -0700</date>
            <delta_ts>2012-05-28 23:42:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87692-20120529144156.patch</filename>
            <type>text/plain</type>
            <size>24464</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWVmNmE3ZmEzMDE5YWQ1
MzFhYjEzNWU2ZjczNDBkNjRlOWY5NzU0Yi4uMTIxYjRkYjM4MTlkN2E0M2ZkNGRhMDMxZTRiZmJj
ODJhMmMxMjVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY3IEBACiAyMDEyLTA1LTI4ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIEltcGxlbWVu
dCBWOEJpbmRpbmc6OnY4TnVsbChpc29sYXRlKSBhbmQgdXNlIGl0IGluIENvZGVHZW5lcmF0b3JW
OC5wbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc2
OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5j
ZSB2ODo6TnVsbChpc29sYXRlKSBjcmFzaGVzIGlmIHdlIHBhc3MgYSBOVUxMIGlzb2xhdGUsIHdl
IGFyZSBwbGFubmluZworICAgICAgICB0byBwYXNzIElzb2xhdGUgdG8gdjg6Ok51bGwoKSBpbiB0
aGUgZm9sbG93aW5nIHN0ZXBzOgorCisgICAgICAgIFsxXSBJbXBsZW1lbnQgVjhCaW5kaW5nczo6
djhOdWxsKGlzb2xhdGUpLiB2OE51bGwoaXNvbGF0ZSkgZG9lcyB0aGUgTlVMTCBjaGVjay4KKyAg
ICAgICAgSWYgaXNvbGF0ZSBpcyBOVUxMLCB2OE51bGwoaXNvbGF0ZSkgY2FsbHMgdjg6Ok51bGwo
KS4gT3RoZXJ3aXNlLAorICAgICAgICB2OE51bGwoaXNvbGF0ZSkgY2FsbHMgdjg6Ok51bGwoaXNv
bGF0ZSkuCisKKyAgICAgICAgWzJdIEluIFY4IGJpbmRpbmdzLCB3ZSByZXBsYWNlIHY4OjpOdWxs
KCkgd2l0aCB2ODo6TnVsbChpc29sYXRlKSBmb3IgYSBub24tb3B0aW9uYWwKKyAgICAgICAgJ2lz
b2xhdGUnIHBhcmFtZXRlci4gKGUuZy4gdm9pZCBmb28oLi4uLCBJc29sYXRlKiBpc29sYXRlKSB7
IHY4OjpOdWxsKCk7IH0gKQorCisgICAgICAgIFszXSBJbiBWOCBiaW5kaW5ncywgd2UgcmVwbGFj
ZSB2ODo6TnVsbCgpIHdpdGggdjhOdWxsKGlzb2xhdGUpIGZvciBhbiBvcHRpb25hbAorICAgICAg
ICAnaXNvbGF0ZScgcGFyYW1ldGVyLiAoZS5nLiB2b2lkIGZvbyguLi4sIElzb2xhdGUqIGlzb2xh
dGUgPSAwKSB7IHY4OjpOdWxsKCk7IH0gKQorCisgICAgICAgIFRoaXMgYnVnIGZpeGVzIFsxXSBi
eSBpbXBsZW1lbnRpbmcgVjhCaW5kaW5nOjp2OE51bGwoaXNvbGF0ZSkuIEFsc28gdGhpcyBwYXRj
aCB1c2VzCisgICAgICAgIFY4QmluZGluZzo6djhOdWxsKGlzb2xhdGUpIGluIGJpbmRpbmdzL3Y4
Lyoue2gsY3BwfS4KKworICAgICAgICBObyB0ZXN0cy4gTm8gYmVoYXZpb3IgY2hhbmdlLgorCisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CisgICAgICAgIChH
ZW5lcmF0ZUhlYWRlcik6CisgICAgICAgIChOYXRpdmVUb0pTVmFsdWUpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5oOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuaDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RD
dXN0b21OYW1lZEdldHRlci5oOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RFdmVudFRhcmdldC5oOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5oOgorICAgICAgICAoV2Vi
Q29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdElu
dGVyZmFjZS5oOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaDoKKyAgICAgICAg
KFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3ROYW1lZENvbnN0cnVjdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5o
OgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlVjhJbnRlcm5hbDo6
dmFsdWVBdHRyR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2VWOEludGVybmFsOjpyZWFkb25seVZhbHVlQXR0ckdldHRlcik6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZS5oOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGlu
Z3MvdjgvVjhCaW5kaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjp2OE51bGwpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjp2OERhdGVPck51bGwpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHA6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01X
cmFwcGVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKworMjAxMi0wNS0yOCAgS2VudGFybyBIYXJh
ICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgW1Y4XSBBdm9pZCBwYXNzaW5nIE5V
TEwgdG8gYW4gJ2lzb2xhdGUnIHBhcmFtZXRlcgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc2ODkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCBmNjQxNTA0YjEzYTc4YWVmNGVi
ZDkwODkyZmM2MzljM2JjNDlmMGY5Li5iZmNjOThlM2U0YjA0ZWNhZDhkODViZDMxNTJiMzc1MmQw
NWIyOTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JWOC5wbQpAQCAtMjQ5LDYgKzI0OSw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogCiAg
ICAgJGhlYWRlckluY2x1ZGVzeyJ3dGYvdGV4dC9TdHJpbmdIYXNoLmgifSA9IDE7CiAgICAgJGhl
YWRlckluY2x1ZGVzeyJXcmFwcGVyVHlwZUluZm8uaCJ9ID0gMTsKKyAgICAkaGVhZGVySW5jbHVk
ZXN7IlY4QmluZGluZy5oIn0gPSAxOwogICAgICRoZWFkZXJJbmNsdWRlc3siVjhET01XcmFwcGVy
LmgifSA9IDE7CiAgICAgJGhlYWRlckluY2x1ZGVzeyJ3dGYvSGFzaE1hcC5oIn0gPSAxOwogICAg
ICRoZWFkZXJJbmNsdWRlc3sidjguaCJ9ID0gMTsKQEAgLTQ1NSw3ICs0NTYsNyBAQCBFTkQKIGlu
bGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOCgke25hdGl2ZVR5cGV9KiBpbXBsLCB2ODo6
SXNvbGF0ZSogaXNvbGF0ZSA9IDAke2ZvcmNlTmV3T2JqZWN0UGFyYW1ldGVyfSkKIHsKICAgICBp
ZiAoIWltcGwpCi0gICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgICAgICByZXR1cm4gdjhO
dWxsKGlzb2xhdGUpOwogICAgIHJldHVybiAke2NsYXNzTmFtZX06OndyYXAoaW1wbCwgaXNvbGF0
ZSR7Zm9yY2VOZXdPYmplY3RDYWxsfSk7CiB9CiBFTkQKQEAgLTQ3Miw3ICs0NzMsNyBAQCB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOFNsb3coTm9kZSosIHY4OjpJc29sYXRlKiwgYm9vbCk7CiBp
bmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoTm9kZSogaW1wbCwgdjg6Oklzb2xhdGUq
IGlzb2xhdGUgPSAwLCBib29sIGZvcmNlTmV3T2JqZWN0ID0gZmFsc2UpCiB7CiAgICAgaWYgKFVO
TElLRUxZKCFpbXBsKSkKLSAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgICAgIHJldHVy
biB2OE51bGwoaXNvbGF0ZSk7CiAgICAgaWYgKFVOTElLRUxZKGZvcmNlTmV3T2JqZWN0KSkKICAg
ICAgICAgcmV0dXJuIHRvVjhTbG93KGltcGwsIGlzb2xhdGUsIGZvcmNlTmV3T2JqZWN0KTsKICAg
ICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd3JhcHBlciA9IFY4RE9NV3JhcHBlcjo6Z2V0Q2FjaGVk
V3JhcHBlcihpbXBsKTsKQEAgLTM3OTgsNyArMzc5OSw3IEBAIHN1YiBOYXRpdmVUb0pTVmFsdWUK
ICAgICBteSAkc2lnbmF0dXJlID0gc2hpZnQ7CiAgICAgbXkgJHZhbHVlID0gc2hpZnQ7CiAgICAg
bXkgJGdldElzb2xhdGUgPSBzaGlmdDsKLSAgICAkZ2V0SXNvbGF0ZSA9ICRnZXRJc29sYXRlID8g
IiwgJGdldElzb2xhdGUiIDogIiI7CisgICAgbXkgJGdldElzb2xhdGVBcmcgPSAkZ2V0SXNvbGF0
ZSA/ICIsICRnZXRJc29sYXRlIiA6ICIiOwogICAgIG15ICR0eXBlID0gR2V0VHlwZUZyb21TaWdu
YXR1cmUoJHNpZ25hdHVyZSk7CiAKICAgICByZXR1cm4gInY4Qm9vbGVhbigkdmFsdWUpIiBpZiAk
dHlwZSBlcSAiYm9vbGVhbiI7CkBAIC0zODE4LDcgKzM4MTksNyBAQCBzdWIgTmF0aXZlVG9KU1Zh
bHVlCiAgICAgcmV0dXJuICJ2ODo6SW50ZWdlcjo6TmV3KCR2YWx1ZSkiIGlmICRuYXRpdmVUeXBl
IGVxICJpbnQiOwogICAgIHJldHVybiAidjg6OkludGVnZXI6Ok5ld0Zyb21VbnNpZ25lZCgkdmFs
dWUpIiBpZiAkbmF0aXZlVHlwZSBlcSAidW5zaWduZWQiOwogCi0gICAgcmV0dXJuICJ2OERhdGVP
ck51bGwoJHZhbHVlKSIgaWYgJHR5cGUgZXEgIkRhdGUiOworICAgIHJldHVybiAidjhEYXRlT3JO
dWxsKCR2YWx1ZSRnZXRJc29sYXRlQXJnKSIgaWYgJHR5cGUgZXEgIkRhdGUiOwogICAgICMgbG9u
ZyBsb25nIGFuZCB1bnNpZ25lZCBsb25nIGxvbmcgYXJlIG5vdCByZXByZXNlbnRhYmxlIGluIEVD
TUFTY3JpcHQuCiAgICAgcmV0dXJuICJ2ODo6TnVtYmVyOjpOZXcoc3RhdGljX2Nhc3Q8ZG91Ymxl
PigkdmFsdWUpKSIgaWYgJHR5cGUgZXEgImxvbmcgbG9uZyIgb3IgJHR5cGUgZXEgInVuc2lnbmVk
IGxvbmcgbG9uZyIgb3IgJHR5cGUgZXEgIkRPTVRpbWVTdGFtcCI7CiAgICAgcmV0dXJuICJ2ODo6
TnVtYmVyOjpOZXcoJHZhbHVlKSIgaWYgJGNvZGVHZW5lcmF0b3ItPklzUHJpbWl0aXZlVHlwZSgk
dHlwZSk7CkBAIC0zODMwLDEzICszODMxLDEzIEBAIHN1YiBOYXRpdmVUb0pTVmFsdWUKICAgICBp
ZiAoJGNvZGVHZW5lcmF0b3ItPklzU3RyaW5nVHlwZSgkdHlwZSkpIHsKICAgICAgICAgbXkgJGNv
bnYgPSAkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJlYXRSZXR1cm5lZE51bGxT
dHJpbmdBcyJ9OwogICAgICAgICBpZiAoZGVmaW5lZCAkY29udikgewotICAgICAgICAgICAgcmV0
dXJuICJ2OFN0cmluZ09yTnVsbCgkdmFsdWUkZ2V0SXNvbGF0ZSkiIGlmICRjb252IGVxICJOdWxs
IjsKLSAgICAgICAgICAgIHJldHVybiAidjhTdHJpbmdPclVuZGVmaW5lZCgkdmFsdWUkZ2V0SXNv
bGF0ZSkiIGlmICRjb252IGVxICJVbmRlZmluZWQiOwotICAgICAgICAgICAgcmV0dXJuICJ2OFN0
cmluZ09yRmFsc2UoJHZhbHVlJGdldElzb2xhdGUpIiBpZiAkY29udiBlcSAiRmFsc2UiOworICAg
ICAgICAgICAgcmV0dXJuICJ2OFN0cmluZ09yTnVsbCgkdmFsdWUkZ2V0SXNvbGF0ZUFyZykiIGlm
ICRjb252IGVxICJOdWxsIjsKKyAgICAgICAgICAgIHJldHVybiAidjhTdHJpbmdPclVuZGVmaW5l
ZCgkdmFsdWUkZ2V0SXNvbGF0ZUFyZykiIGlmICRjb252IGVxICJVbmRlZmluZWQiOworICAgICAg
ICAgICAgcmV0dXJuICJ2OFN0cmluZ09yRmFsc2UoJHZhbHVlJGdldElzb2xhdGVBcmcpIiBpZiAk
Y29udiBlcSAiRmFsc2UiOwogCiAgICAgICAgICAgICBkaWUgIlVua25vd24gdmFsdWUgZm9yIFRy
ZWF0UmV0dXJuZWROdWxsU3RyaW5nQXMgZXh0ZW5kZWQgYXR0cmlidXRlIjsKICAgICAgICAgfQot
ICAgICAgICByZXR1cm4gInY4U3RyaW5nKCR2YWx1ZSRnZXRJc29sYXRlKSI7CisgICAgICAgIHJl
dHVybiAidjhTdHJpbmcoJHZhbHVlJGdldElzb2xhdGVBcmcpIjsKICAgICB9CiAKICAgICBteSAk
YXJyYXlUeXBlID0gJGNvZGVHZW5lcmF0b3ItPkdldEFycmF5VHlwZSgkdHlwZSk7CkBAIC0zODQ1
LDM1ICszODQ2LDM1IEBAIHN1YiBOYXRpdmVUb0pTVmFsdWUKICAgICAgICAgICAgIEFkZFRvSW1w
bEluY2x1ZGVzKCJWOCRhcnJheVR5cGUuaCIpOwogICAgICAgICAgICAgQWRkVG9JbXBsSW5jbHVk
ZXMoIiRhcnJheVR5cGUuaCIpOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiAidjhBcnJheSgk
dmFsdWUkZ2V0SXNvbGF0ZSkiOworICAgICAgICByZXR1cm4gInY4QXJyYXkoJHZhbHVlJGdldElz
b2xhdGVBcmcpIjsKICAgICB9CiAKICAgICBBZGRJbmNsdWRlc0ZvclR5cGUoJHR5cGUpOwogCiAg
ICAgIyBzcGVjaWFsIGNhc2UgZm9yIG5vbi1ET00gbm9kZSBpbnRlcmZhY2VzCiAgICAgaWYgKElz
RE9NTm9kZVR5cGUoJHR5cGUpKSB7Ci0gICAgICAgIHJldHVybiAidG9WOCgke3ZhbHVlfSIgLiAo
JHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJldHVybk5ld09iamVjdCJ9ID8gIiRn
ZXRJc29sYXRlLCB0cnVlKSIgOiAiJGdldElzb2xhdGUpIik7CisgICAgICAgIHJldHVybiAidG9W
OCgke3ZhbHVlfSIgLiAoJHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJldHVybk5l
d09iamVjdCJ9ID8gIiRnZXRJc29sYXRlQXJnLCB0cnVlKSIgOiAiJGdldElzb2xhdGVBcmcpIik7
CiAgICAgfQogCiAgICAgaWYgKCR0eXBlIGVxICJFdmVudFRhcmdldCIpIHsKLSAgICAgICAgcmV0
dXJuICJWOERPTVdyYXBwZXI6OmNvbnZlcnRFdmVudFRhcmdldFRvVjhPYmplY3QoJHZhbHVlJGdl
dElzb2xhdGUpIjsKKyAgICAgICAgcmV0dXJuICJWOERPTVdyYXBwZXI6OmNvbnZlcnRFdmVudFRh
cmdldFRvVjhPYmplY3QoJHZhbHVlJGdldElzb2xhdGVBcmcpIjsKICAgICB9CiAKICAgICBpZiAo
JHR5cGUgZXEgIkV2ZW50TGlzdGVuZXIiKSB7CiAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJW
OEFic3RyYWN0RXZlbnRMaXN0ZW5lci5oIik7Ci0gICAgICAgIHJldHVybiAiJHt2YWx1ZX0gPyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4oc3RhdGljX2Nhc3Q8VjhBYnN0cmFjdEV2ZW50TGlzdGVuZXIq
Pigke3ZhbHVlfSktPmdldExpc3RlbmVyT2JqZWN0KGltcC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKSkgOiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4odjg6Ok51bGwoKSkiOworICAgICAgICByZXR1
cm4gIiR7dmFsdWV9ID8gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KHN0YXRpY19jYXN0PFY4QWJzdHJh
Y3RFdmVudExpc3RlbmVyKj4oJHt2YWx1ZX0pLT5nZXRMaXN0ZW5lck9iamVjdChpbXAtPnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSkpIDogdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCIgLiAoJGdldElz
b2xhdGUgPyAidjg6Ok51bGwoJGdldElzb2xhdGUpIiA6ICJ2ODo6TnVsbCgpIikgLiAiKSI7CiAg
ICAgfQogCiAgICAgaWYgKCR0eXBlIGVxICJTZXJpYWxpemVkU2NyaXB0VmFsdWUiKSB7CiAgICAg
ICAgIEFkZFRvSW1wbEluY2x1ZGVzKCIkdHlwZS5oIik7Ci0gICAgICAgIHJldHVybiAiJHZhbHVl
ID8gJHZhbHVlLT5kZXNlcmlhbGl6ZSgpIDogdjg6OkhhbmRsZTx2ODo6VmFsdWU+KHY4OjpOdWxs
KCkpIjsKKyAgICAgICAgcmV0dXJuICIkdmFsdWUgPyAkdmFsdWUtPmRlc2VyaWFsaXplKCkgOiB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4oIiAuICgkZ2V0SXNvbGF0ZSA/ICJ2ODo6TnVsbCgkZ2V0SXNv
bGF0ZSkiIDogInY4OjpOdWxsKCkiKSAuICIpIjsKICAgICB9CiAKICAgICBBZGRUb0ltcGxJbmNs
dWRlcygid3RmL1JlZkNvdW50ZWQuaCIpOwogICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJ3dGYvUmVm
UHRyLmgiKTsKICAgICBBZGRUb0ltcGxJbmNsdWRlcygid3RmL0dldFB0ci5oIik7CiAKLSAgICBy
ZXR1cm4gInRvVjgoJHZhbHVlJGdldElzb2xhdGUpIjsKKyAgICByZXR1cm4gInRvVjgoJHZhbHVl
JGdldElzb2xhdGVBcmcpIjsKIH0KIAogc3ViIFJldHVybk5hdGl2ZVRvSlNWYWx1ZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFy
cmF5LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0
QXJyYXkuaAppbmRleCAzNjhmY2ViYThmZDBiMTUzMjUzOTg5NDYzMGQ0OTFjYWYxN2E3NDg4Li5i
MGRmZDU1OWJiMzI1MmU2ZGU4NmE3NDY1NTViMzEwZTAyYjY4MDhlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXku
aApAQCAtMjIsNiArMjIsNyBAQAogI2RlZmluZSBWOEZsb2F0NjRBcnJheV9oCiAKICNpbmNsdWRl
ICJWOEFycmF5QnVmZmVyVmlldy5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUg
IlY4RE9NV3JhcHBlci5oIgogI2luY2x1ZGUgIldyYXBwZXJUeXBlSW5mby5oIgogI2luY2x1ZGUg
PHY4Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmgKaW5kZXggYzU1MjAyODMxZGMwODQ1
ZDNhNmYwZTM2NTJiZGFhYWM3NWYyYTVkMi4uNGQ4YmY2NTZiMzU1OTc3OTMzMWEyNTJhZDAxZTg0
NWRkNjJlNGMzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuaApAQCAtMjIsNiArMjIs
NyBAQAogI2RlZmluZSBWOFRlc3RBY3RpdmVET01PYmplY3RfaAogCiAjaW5jbHVkZSAiVGVzdEFj
dGl2ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4RE9N
V3JhcHBlci5oIgogI2luY2x1ZGUgIldyYXBwZXJUeXBlSW5mby5oIgogI2luY2x1ZGUgPHY4Lmg+
CkBAIC02MSw3ICs2Miw3IEBAIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0QWN0aXZlRE9N
T2JqZWN0Ojp3cmFwKFRlc3RBY3RpdmVET01PYmplY3QqIGltcGwsIHY4CiBpbmxpbmUgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdEFjdGl2ZURPTU9iamVjdCogaW1wbCwgdjg6Oklzb2xh
dGUqIGlzb2xhdGUgPSAwKQogewogICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJuIHY4OjpO
dWxsKCk7CisgICAgICAgIHJldHVybiB2OE51bGwoaXNvbGF0ZSk7CiAgICAgcmV0dXJuIFY4VGVz
dEFjdGl2ZURPTU9iamVjdDo6d3JhcChpbXBsLCBpc29sYXRlKTsKIH0KIGlubGluZSB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gdG9WOChQYXNzUmVmUHRyPCBUZXN0QWN0aXZlRE9NT2JqZWN0ID4gaW1w
bCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0
ZXIuaAppbmRleCA5OTQ3MmI3NTVjMWFiZmE1NTIyOTBhYTNiYmY0MzEyOWVhOGUzNTE4Li43Nzc0
YTRkYzA1OTBjMGFmZjEzNWJkOTE4MGM5NjEwNDU0OGIyZmQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3Vz
dG9tTmFtZWRHZXR0ZXIuaApAQCAtMjIsNiArMjIsNyBAQAogI2RlZmluZSBWOFRlc3RDdXN0b21O
YW1lZEdldHRlcl9oCiAKICNpbmNsdWRlICJUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaCIKKyNpbmNs
dWRlICJWOEJpbmRpbmcuaCIKICNpbmNsdWRlICJWOERPTVdyYXBwZXIuaCIKICNpbmNsdWRlICJX
cmFwcGVyVHlwZUluZm8uaCIKICNpbmNsdWRlIDx2OC5oPgpAQCAtNjAsNyArNjEsNyBAQCB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjp3cmFwKFRlc3RDdXN0
b21OYW1lZEdldHRlciogaW1wbAogaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFRl
c3RDdXN0b21OYW1lZEdldHRlciogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQogewog
ICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgICAgIHJldHVy
biB2OE51bGwoaXNvbGF0ZSk7CiAgICAgcmV0dXJuIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjp3
cmFwKGltcGwsIGlzb2xhdGUpOwogfQogaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4
KFBhc3NSZWZQdHI8IFRlc3RDdXN0b21OYW1lZEdldHRlciA+IGltcGwsIHY4OjpJc29sYXRlKiBp
c29sYXRlID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCmluZGV4IDExOTMxMGJl
MzU0MDhmZGI2MTU4MDU2MzE5Nzk0ODllMzBmOTQ2NzcuLjg5Zjg1NjgxYzY0ZDI3OWZlZGVhZDdm
MjZlZTUxNmM0NDI1ZjBhNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuaApAQCAt
MjIsNiArMjIsNyBAQAogI2RlZmluZSBWOFRlc3RFdmVudENvbnN0cnVjdG9yX2gKIAogI2luY2x1
ZGUgIlRlc3RFdmVudENvbnN0cnVjdG9yLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCiAjaW5j
bHVkZSAiVjhET01XcmFwcGVyLmgiCiAjaW5jbHVkZSAiV3JhcHBlclR5cGVJbmZvLmgiCiAjaW5j
bHVkZSA8djguaD4KQEAgLTYxLDcgKzYyLDcgQEAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRl
c3RFdmVudENvbnN0cnVjdG9yOjp3cmFwKFRlc3RFdmVudENvbnN0cnVjdG9yKiBpbXBsLAogaW5s
aW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFRlc3RFdmVudENvbnN0cnVjdG9yKiBpbXBs
LCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7CiAgICAgaWYgKCFpbXBsKQotICAgICAgICBy
ZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4TnVsbChpc29sYXRlKTsKICAgICBy
ZXR1cm4gVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6d3JhcChpbXBsLCBpc29sYXRlKTsKIH0KIGlu
bGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChQYXNzUmVmUHRyPCBUZXN0RXZlbnRDb25z
dHJ1Y3RvciA+IGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlID0gMCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFy
Z2V0LmgKaW5kZXggZDU3N2M5OGQ4NmJhNjI0NWRkYzQ5ODc1YWFkNTYxOTBkNDM2OWJkZi4uNTU2
NDIxZjBiMjJhNWE2ZDdiMTdhMDE4NDFlMjY5ZDQ0MGQxYTYxNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFy
Z2V0LmgKQEAgLTIyLDYgKzIyLDcgQEAKICNkZWZpbmUgVjhUZXN0RXZlbnRUYXJnZXRfaAogCiAj
aW5jbHVkZSAiVGVzdEV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCiAjaW5j
bHVkZSAiVjhET01XcmFwcGVyLmgiCiAjaW5jbHVkZSAiV3JhcHBlclR5cGVJbmZvLmgiCiAjaW5j
bHVkZSA8djguaD4KQEAgLTYyLDcgKzYzLDcgQEAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRl
c3RFdmVudFRhcmdldDo6d3JhcChUZXN0RXZlbnRUYXJnZXQqIGltcGwsIHY4OjpJc29sYXQKIGlu
bGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0RXZlbnRUYXJnZXQqIGltcGwsIHY4
OjpJc29sYXRlKiBpc29sYXRlID0gMCkKIHsKICAgICBpZiAoIWltcGwpCi0gICAgICAgIHJldHVy
biB2ODo6TnVsbCgpOworICAgICAgICByZXR1cm4gdjhOdWxsKGlzb2xhdGUpOwogICAgIHJldHVy
biBWOFRlc3RFdmVudFRhcmdldDo6d3JhcChpbXBsLCBpc29sYXRlKTsKIH0KIGlubGluZSB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChQYXNzUmVmUHRyPCBUZXN0RXZlbnRUYXJnZXQgPiBpbXBs
LCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9uLmgKaW5kZXggN2EyZjU4
NGU4YWZiNTQ0ZWMxYTE4YzBmZDE2ZTBkZWY2MzBlYmUzZS4uZmE2YTY5ZWZmMGM2YTliNTI3ZGZi
ODc0MTljYzkxMzlhM2FiY2Y4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uaApAQCAtMjIsNiArMjIsNyBA
QAogI2RlZmluZSBWOFRlc3RFeGNlcHRpb25faAogCiAjaW5jbHVkZSAiVGVzdEV4Y2VwdGlvbi5o
IgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4RE9NV3JhcHBlci5oIgogI2lu
Y2x1ZGUgIldyYXBwZXJUeXBlSW5mby5oIgogI2luY2x1ZGUgPHY4Lmg+CkBAIC01OSw3ICs2MCw3
IEBAIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0RXhjZXB0aW9uOjp3cmFwKFRlc3RFeGNl
cHRpb24qIGltcGwsIHY4OjpJc29sYXRlKiBpCiBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHRvVjgoVGVzdEV4Y2VwdGlvbiogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQogewog
ICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgICAgIHJldHVy
biB2OE51bGwoaXNvbGF0ZSk7CiAgICAgcmV0dXJuIFY4VGVzdEV4Y2VwdGlvbjo6d3JhcChpbXBs
LCBpc29sYXRlKTsKIH0KIGlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChQYXNzUmVm
UHRyPCBUZXN0RXhjZXB0aW9uID4gaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdElu
dGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEludGVyZmFjZS5oCmluZGV4IDgyMDY0MTU0Y2M4YTYwZDE2Mjk2MThiNmYwNjYxM2E3ZjVmM2I5
Y2EuLjdhOWFkZmMxYzk4NjcxODcwYTMxYjA3YjA1Mzc0MDBkMWJhZWNkNWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50
ZXJmYWNlLmgKQEAgLTI0LDYgKzI0LDcgQEAKICNkZWZpbmUgVjhUZXN0SW50ZXJmYWNlX2gKIAog
I2luY2x1ZGUgIlRlc3RJbnRlcmZhY2UuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKICNpbmNs
dWRlICJWOERPTVdyYXBwZXIuaCIKICNpbmNsdWRlICJXcmFwcGVyVHlwZUluZm8uaCIKICNpbmNs
dWRlIDx2OC5oPgpAQCAtNjQsNyArNjUsNyBAQCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVz
dEludGVyZmFjZTo6d3JhcChUZXN0SW50ZXJmYWNlKiBpbXBsLCB2ODo6SXNvbGF0ZSogaQogaW5s
aW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFRlc3RJbnRlcmZhY2UqIGltcGwsIHY4OjpJ
c29sYXRlKiBpc29sYXRlID0gMCkKIHsKICAgICBpZiAoIWltcGwpCi0gICAgICAgIHJldHVybiB2
ODo6TnVsbCgpOworICAgICAgICByZXR1cm4gdjhOdWxsKGlzb2xhdGUpOwogICAgIHJldHVybiBW
OFRlc3RJbnRlcmZhY2U6OndyYXAoaW1wbCwgaXNvbGF0ZSk7CiB9CiBpbmxpbmUgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHRvVjgoUGFzc1JlZlB0cjwgVGVzdEludGVyZmFjZSA+IGltcGwsIHY4OjpJ
c29sYXRlKiBpc29sYXRlID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5oCmluZGV4IDBmZTcxNzk5ZDEwMjEwMGZiMzk0NmM5OGE1MGI4ZThmNGQ0MjNjYjMuLjRm
ODRkNmQzN2ZlY2NjYmQ5NzhhNTA4NWQwNTcwYTQ0OTYyM2U4NzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaApAQCAtMjIsNiArMjIsNyBAQAogI2RlZmluZSBW
OFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyX2gKIAogI2luY2x1ZGUgIlRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCiAjaW5jbHVkZSAiVjhET01X
cmFwcGVyLmgiCiAjaW5jbHVkZSAiV3JhcHBlclR5cGVJbmZvLmgiCiAjaW5jbHVkZSA8djguaD4K
QEAgLTU5LDcgKzYwLDcgQEAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyOjp3cmFwKFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3QKIGlubGluZSB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogaW1wbCwgdjg6
Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQogewogICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJu
IHY4OjpOdWxsKCk7CisgICAgICAgIHJldHVybiB2OE51bGwoaXNvbGF0ZSk7CiAgICAgcmV0dXJu
IFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OndyYXAoaW1wbCwgaXNvbGF0ZSk7CiB9CiBp
bmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoUGFzc1JlZlB0cjwgVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIgPiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRD
b25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdE5hbWVkQ29uc3RydWN0b3IuaAppbmRleCBjNmUyNjI1YmZmOWUwOGFhNzkwNjcxNzAxMzZh
YTlkMmJkOTY1OTI3Li5kODQ0MWMwZjc4ODQwOGQ3MGU0ZjMyMjI0ZmI1ODRlNDIyZWVlOTcyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
TmFtZWRDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmgKQEAgLTIyLDYgKzIyLDcgQEAKICNkZWZp
bmUgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcl9oCiAKICNpbmNsdWRlICJUZXN0TmFtZWRDb25zdHJ1
Y3Rvci5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4RE9NV3JhcHBlci5o
IgogI2luY2x1ZGUgIldyYXBwZXJUeXBlSW5mby5oIgogI2luY2x1ZGUgPHY4Lmg+CkBAIC02Niw3
ICs2Nyw3IEBAIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6
d3JhcChUZXN0TmFtZWRDb25zdHJ1Y3RvciogaW1wbCwKIGlubGluZSB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdG9WOChUZXN0TmFtZWRDb25zdHJ1Y3RvciogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xh
dGUgPSAwKQogewogICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7Cisg
ICAgICAgIHJldHVybiB2OE51bGwoaXNvbGF0ZSk7CiAgICAgcmV0dXJuIFY4VGVzdE5hbWVkQ29u
c3RydWN0b3I6OndyYXAoaW1wbCwgaXNvbGF0ZSk7CiB9CiBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHRvVjgoUGFzc1JlZlB0cjwgVGVzdE5hbWVkQ29uc3RydWN0b3IgPiBpbXBsLCB2ODo6
SXNvbGF0ZSogaXNvbGF0ZSA9IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuaAppbmRleCA1N2U1MDI2ZGM3NmNkYTE3ZjMxYzg4
MWE4MmYxMTBjNDVjNzBlMGQ2Li5kMjFmMWM2NmNiZTM1ZjAxNThkMzZhNzA0MjIxMGZjNjgzMDU3
OWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0Tm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3ROb2RlLmgKQEAgLTIyLDYgKzIyLDcgQEAKICNkZWZpbmUgVjhUZXN0Tm9kZV9oCiAK
ICNpbmNsdWRlICJUZXN0Tm9kZS5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUg
IlY4RE9NV3JhcHBlci5oIgogI2luY2x1ZGUgIldyYXBwZXJUeXBlSW5mby5oIgogI2luY2x1ZGUg
PHY4Lmg+CkBAIC02MCw3ICs2MSw3IEBAIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0Tm9k
ZTo6d3JhcChUZXN0Tm9kZSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiBpbmxpbmUgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdE5vZGUqIGltcGwsIHY4OjpJc29sYXRlKiBpc29s
YXRlID0gMCkKIHsKICAgICBpZiAoIWltcGwpCi0gICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwor
ICAgICAgICByZXR1cm4gdjhOdWxsKGlzb2xhdGUpOwogICAgIHJldHVybiBWOFRlc3ROb2RlOjp3
cmFwKGltcGwsIGlzb2xhdGUpOwogfQogaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4
KFBhc3NSZWZQdHI8IFRlc3ROb2RlID4gaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9i
ai5oCmluZGV4IGUxYmI4MTNiNWFhNzBlOTIzNzJlYjU3MDA3MDA3NTI0ZGQ4YWFjNjAuLjUyMzA3
NTMwYzM5M2Y2MmVlNzYyYzk5NzIwM2RmNjBhNzNmNzFhNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmgKQEAgLTIyLDYgKzIy
LDcgQEAKICNkZWZpbmUgVjhUZXN0T2JqX2gKIAogI2luY2x1ZGUgIlRlc3RPYmouaCIKKyNpbmNs
dWRlICJWOEJpbmRpbmcuaCIKICNpbmNsdWRlICJWOERPTVdyYXBwZXIuaCIKICNpbmNsdWRlICJX
cmFwcGVyVHlwZUluZm8uaCIKICNpbmNsdWRlIDx2OC5oPgpAQCAtNjYsNyArNjcsNyBAQCB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdE9iajo6d3JhcChUZXN0T2JqKiBpbXBsLCB2ODo6SXNv
bGF0ZSogaXNvbGF0ZSkKIGlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0T2Jq
KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7CiAgICAgaWYgKCFpbXBsKQotICAg
ICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4TnVsbChpc29sYXRlKTsK
ICAgICByZXR1cm4gVjhUZXN0T2JqOjp3cmFwKGltcGwsIGlzb2xhdGUpOwogfQogaW5saW5lIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NSZWZQdHI8IFRlc3RPYmogPiBpbXBsLCB2ODo6
SXNvbGF0ZSogaXNvbGF0ZSA9IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCmluZGV4IDQ1MmJhMzc3NjBlMzc2OTRkMGViMzMw
MzA0NGE1MTA4MzlkMTgxZmYuLjRkZDRjM2MzOTU3NTQ1NDQ2NjIwYmE4NDE0OWZhMzMwZWIyN2Vj
MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2UuY3BwCkBAIC01MCw3ICs1MCw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdmFsdWVBdHRyR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2CiB7
CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS52
YWx1ZS5fZ2V0Iik7CiAgICAgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogaW1w
ID0gVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjp0b05hdGl2ZShpbmZvLkhv
bGRlcigpKTsKLSAgICByZXR1cm4gaW1wLT52YWx1ZSgpID8gaW1wLT52YWx1ZSgpLT5kZXNlcmlh
bGl6ZSgpIDogdjg6OkhhbmRsZTx2ODo6VmFsdWU+KHY4OjpOdWxsKCkpOworICAgIHJldHVybiBp
bXAtPnZhbHVlKCkgPyBpbXAtPnZhbHVlKCktPmRlc2VyaWFsaXplKCkgOiB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4odjg6Ok51bGwoaW5mby5HZXRJc29sYXRlKCkpKTsKIH0KIAogc3RhdGljIHZvaWQg
dmFsdWVBdHRyU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6
OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKQEAgLTY2LDcgKzY2
LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiByZWFkb25seVZhbHVlQXR0ckdldHRl
cih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLnJlYWRvbmx5VmFsdWUuX2dldCIpOwogICAg
IFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UqIGltcCA9IFY4VGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSk7Ci0gICAgcmV0
dXJuIGltcC0+cmVhZG9ubHlWYWx1ZSgpID8gaW1wLT5yZWFkb25seVZhbHVlKCktPmRlc2VyaWFs
aXplKCkgOiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4odjg6Ok51bGwoKSk7CisgICAgcmV0dXJuIGlt
cC0+cmVhZG9ubHlWYWx1ZSgpID8gaW1wLT5yZWFkb25seVZhbHVlKCktPmRlc2VyaWFsaXplKCkg
OiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4odjg6Ok51bGwoaW5mby5HZXRJc29sYXRlKCkpKTsKIH0K
IAogc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjYWNoZWRWYWx1ZUF0dHJHZXR0ZXIodjg6
OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgK
aW5kZXggYmQ2ZDllNjEyYWJlZTkxY2JlNjQ4MDNiMWQwYjM3NDM5MDE3YmQxNC4uZTE3NWQxNDdk
ZTQ4MThjNmQzMDUwNTIyNDBkZGY1ZDQwOWIxYzBiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUlu
dGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaApAQCAtMjQsNiArMjQsNyBAQAog
I2RlZmluZSBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VfaAogCiAjaW5jbHVk
ZSAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oIgorI2luY2x1ZGUgIlY4Qmlu
ZGluZy5oIgogI2luY2x1ZGUgIlY4RE9NV3JhcHBlci5oIgogI2luY2x1ZGUgIldyYXBwZXJUeXBl
SW5mby5oIgogI2luY2x1ZGUgPHY4Lmg+CkBAIC02Miw3ICs2Myw3IEBAIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjp3cmFwKFRlc3RT
ZXJpYWxpemVkCiBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQog
ewogICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgICAgIHJl
dHVybiB2OE51bGwoaXNvbGF0ZSk7CiAgICAgcmV0dXJuIFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZTo6d3JhcChpbXBsLCBpc29sYXRlKTsKIH0KIGlubGluZSB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gdG9WOChQYXNzUmVmUHRyPCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlID4gaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOEJpbmRpbmcuaAppbmRleCAzZWU2OTJkYTAxMzQxMzI4YmY4MDhlMjBlNDk4MTNm
YmUyMTA2YWI0Li4xNGQ2NTMyZDk0M2ZkMjE4OTBkZDZjODMwNzA4NzVjOTMwNGU5YWJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuaApAQCAtMjQ3LDYgKzI0NywxNSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFN0cmluZ1R5cGU+CiAg
ICAgU3RyaW5nVHlwZSB2OFN0cmluZ1RvV2ViQ29yZVN0cmluZyh2ODo6SGFuZGxlPHY4OjpTdHJp
bmc+IHY4U3RyaW5nLCBFeHRlcm5hbE1vZGUgZXh0ZXJuYWwpOwogCisgICAgLy8gU2luY2Ugdjg6
Ok51bGwoaXNvbGF0ZSkgY3Jhc2hlcyBpZiB3ZSBwYXNzIGEgbnVsbCBpc29sYXRlLAorICAgIC8v
IHdlIG5lZWQgdG8gaW5zdGVhZCB1c2UgdjhOdWxsKGlzb2xhdGUpLgorICAgIC8vCisgICAgLy8g
RklYTUU6IFJlbW92ZSBhbGwgbnVsbCBpc29sYXRlcyBmcm9tIFY4IGJpbmRpbmdzLCBhbmQgcmVt
b3ZlIHY4TnVsbChpc29sYXRlKS4KKyAgICBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHY4
TnVsbCh2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBpc29sYXRl
ID8gdjg6Ok51bGwoaXNvbGF0ZSkgOiB2ODo6TnVsbCgpOworICAgIH0KKwogICAgIC8vIENvbnZl
cnQgdjggdHlwZXMgdG8gYSBXVEY6OlN0cmluZy4gSWYgdGhlIFY4IHN0cmluZyBpcyBub3QgYWxy
ZWFkeQogICAgIC8vIGFuIGV4dGVybmFsIHN0cmluZyB0aGVuIGl0IGlzIHRyYW5zZm9ybWVkIGlu
dG8gYW4gZXh0ZXJuYWwgc3RyaW5nIGF0IHRoaXMKICAgICAvLyBwb2ludCB0byBhdm9pZCByZXBl
YXRlZCBjb252ZXJzaW9ucy4KQEAgLTQ0OCw5ICs0NTcsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHJldHVybiAob2JqZWN0LT5Jc0RhdGUoKSB8fCBvYmplY3QtPklzTnVtYmVyKCkp
ID8gb2JqZWN0LT5OdW1iZXJWYWx1ZSgpIDogc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+Ojpx
dWlldF9OYU4oKTsKICAgICB9CiAKLSAgICBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHY4
RGF0ZU9yTnVsbChkb3VibGUgdmFsdWUpCisgICAgaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB2OERhdGVPck51bGwoZG91YmxlIHZhbHVlLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiAg
ICAgewotICAgICAgICByZXR1cm4gaXNmaW5pdGUodmFsdWUpID8gdjg6OkRhdGU6Ok5ldyh2YWx1
ZSkgOiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4odjg6Ok51bGwoKSk7CisgICAgICAgIHJldHVybiBp
c2Zpbml0ZSh2YWx1ZSkgPyB2ODo6RGF0ZTo6TmV3KHZhbHVlKSA6IHY4TnVsbChpc29sYXRlKTsK
ICAgICB9CiAKICAgICB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gY3JlYXRl
UmF3VGVtcGxhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
RE9NV3JhcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIu
Y3BwCmluZGV4IDJjNGI5ZmYyNDcwYjkwM2MyM2QzMmNlMTViOWQxNzM5YTRkYjE0MDAuLjNiYzA2
MTQ0MTQxMzRhNTllMTg2NzdlNmM1YmIzMGQ5NzY0YzZkNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcApAQCAtNTQsMTAgKzU0LDEyIEBACiAjaW5jbHVk
ZSAiVjhQcm94eS5oIgogI2luY2x1ZGUgIlY4U3R5bGVTaGVldC5oIgogI2luY2x1ZGUgIlY4V29y
a2VyQ29udGV4dEV2ZW50TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJWOFhQYXRoTlNSZXNvbHZlci5o
IgogI2luY2x1ZGUgIldlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaCIKICNpbmNsdWRlICJXZWJHTFVu
aWZvcm1Mb2NhdGlvbi5oIgogI2luY2x1ZGUgIldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5o
IgogI2luY2x1ZGUgIldyYXBwZXJUeXBlSW5mby5oIgorI2luY2x1ZGUgIlhQYXRoTlNSZXNvbHZl
ci5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx1dGlsaXR5PgogI2luY2x1ZGUg
PHY4LWRlYnVnLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERP
TVdyYXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5oCmlu
ZGV4IDcwNTlmNTFiOGMxZWZkZjQ3NTIyNzM1MmJlODZkOWEzMjVjNTc5ZWEuLmQwMDQ4YzRhZjI3
ZmQ3M2VmZDE5MGIxMjg4OGFhZTI3NGZkN2Q2MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4RE9NV3JhcHBlci5oCkBAIC0zOSwxMiArMzksOSBAQAogI2luY2x1ZGUgIlBsYXRmb3Jt
U3RyaW5nLmgiCiAjaW5jbHVkZSAiVjhDdXN0b21YUGF0aE5TUmVzb2x2ZXIuaCIKICNpbmNsdWRl
ICJWOERPTU1hcC5oIgotI2luY2x1ZGUgIlY4RXZlbnQuaCIKICNpbmNsdWRlICJWOElzb2xhdGVk
Q29udGV4dC5oIgogI2luY2x1ZGUgIlY4VXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAiVjhYUGF0aE5T
UmVzb2x2ZXIuaCIKICNpbmNsdWRlICJXcmFwcGVyVHlwZUluZm8uaCIKLSNpbmNsdWRlICJYUGF0
aE5TUmVzb2x2ZXIuaCIKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFk
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTU4LDYgKzU1LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFY4QmluZGluZ1BlckNvbnRleHREYXRhOwogICAgIGNs
YXNzIFY4UHJveHk7CiAgICAgY2xhc3MgV29ya2VyQ29udGV4dDsKKyAgICBjbGFzcyBYUGF0aFJl
c29sdmVyOwogCiAgICAgZW51bSBMaXN0ZW5lckxvb2t1cFR5cGUgewogICAgICAgICBMaXN0ZW5l
ckZpbmRPbmx5LAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>