<?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>182191</bug_id>
          
          <creation_ts>2018-01-26 15:31:45 -0800</creation_ts>
          <short_desc>Add infrastructure for pointer preparation.</short_desc>
          <delta_ts>2018-01-26 16:44:18 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1393689</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-01-26 15:31:45 -0800</bug_when>
    <thetext>&lt;rdar://problem/36889194&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1393691</commentid>
    <comment_count>1</comment_count>
      <attachid>332421</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-01-26 15:39:18 -0800</bug_when>
    <thetext>Created attachment 332421
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1393695</commentid>
    <comment_count>2</comment_count>
      <attachid>332421</attachid>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-01-26 15:43:49 -0800</bug_when>
    <thetext>Comment on attachment 332421
proposed patch.

Attachment 332421 did not pass bindings-ews (mac):
Output: http://webkit-queues.webkit.org/results/6226023

New failing tests:
(JS) JSTestCallTracer.cpp
(JS) JSTestCEReactions.cpp
(JS) JSTestCEReactionsStringifier.cpp
(JS) JSTestClassWithJSBuiltinConstructor.cpp
(JS) JSTestCustomConstructorWithNoInterfaceObject.cpp
(JS) JSTestActiveDOMObject.cpp
(JS) JSTestDOMJIT.cpp
(JS) JSTestEnabledBySetting.cpp
(JS) JSTestEventConstructor.cpp
(JS) JSTestEventTarget.cpp
(JS) JSTestException.cpp
(JS) JSTestGenerateIsReachable.cpp
(JS) JSTestGlobalObject.cpp
(JS) JSTestIndexedSetterNoIdentifier.cpp
(JS) JSTestIndexedSetterThrowingException.cpp
(JS) JSTestIndexedSetterWithIdentifier.cpp
(JS) JSTestInterface.cpp
(JS) JSTestInterfaceLeadingUnderscore.cpp
(JS) JSTestIterable.cpp
(JS) JSTestJSBuiltinConstructor.cpp
(JS) JSMapLike.cpp
(JS) JSTestMediaQueryListListener.cpp
(JS) JSTestNamedAndIndexedSetterNoIdentifier.cpp
(JS) JSTestNamedAndIndexedSetterThrowingException.cpp
(JS) JSTestNamedAndIndexedSetterWithIdentifier.cpp
(JS) JSTestNamedConstructor.cpp
(JS) JSTestNamedDeleterNoIdentifier.cpp
(JS) JSTestNamedDeleterThrowingException.cpp
(JS) JSTestNamedDeleterWithIdentifier.cpp
(JS) JSTestNamedDeleterWithIndexedGetter.cpp
(JS) JSTestNamedGetterCallWith.cpp
(JS) JSTestNamedGetterNoIdentifier.cpp
(JS) JSTestNamedGetterWithIdentifier.cpp
(JS) JSTestNamedSetterNoIdentifier.cpp
(JS) JSTestNamedSetterThrowingException.cpp
(JS) JSTestNamedSetterWithIdentifier.cpp
(JS) JSTestNamedSetterWithIndexedGetter.cpp
(JS) JSTestNamedSetterWithIndexedGetterAndSetter.cpp
(JS) JSTestNamedSetterWithOverrideBuiltins.cpp
(JS) JSTestNamedSetterWithUnforgableProperties.cpp
(JS) JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp
(JS) JSTestNode.cpp
(JS) JSTestObj.cpp
(JS) JSTestOverloadedConstructors.cpp
(JS) JSTestOverloadedConstructorsWithSequence.cpp
(JS) JSTestOverrideBuiltins.cpp
(JS) JSTestPluginInterface.cpp
(JS) JSTestPromiseRejectionEvent.cpp
(JS) JSReadOnlyMapLike.cpp
(JS) JSInterfaceName.cpp
(JS) JSTestSerialization.cpp
(JS) JSTestSerializationIndirectInheritance.cpp
(JS) JSTestSerializationInherit.cpp
(JS) JSTestSerializationInheritFinal.cpp
(JS) JSTestSerializedScriptValueInterface.cpp
(JS) JSTestStringifier.cpp
(JS) JSTestStringifierAnonymousOperation.cpp
(JS) JSTestStringifierNamedOperation.cpp
(JS) JSTestStringifierOperationImplementedAs.cpp
(JS) JSTestStringifierOperationNamedToString.cpp
(JS) JSTestStringifierReadOnlyAttribute.cpp
(JS) JSTestStringifierReadWriteAttribute.cpp
(JS) JSTestTypedefs.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1393697</commentid>
    <comment_count>3</comment_count>
      <attachid>332421</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2018-01-26 15:45:03 -0800</bug_when>
    <thetext>Comment on attachment 332421
proposed patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1393715</commentid>
    <comment_count>4</comment_count>
      <attachid>332427</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-01-26 16:35:50 -0800</bug_when>
    <thetext>Created attachment 332427
patch for landing (w/ reset bindings test results).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1393719</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-01-26 16:44:18 -0800</bug_when>
    <thetext>Thanks for the review.  Landed in r227701: &lt;http://trac.webkit.org/r227701&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332421</attachid>
            <date>2018-01-26 15:39:18 -0800</date>
            <delta_ts>2018-01-26 16:35:50 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-182191.patch</filename>
            <type>text/plain</type>
            <size>7223</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjc2OTgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTAxLTI2ICBNYXJrIExhbSAgPG1hcmsubGFt
QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIHBvaW50ZXIgcHJl
cGFyYXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODIxOTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM2ODg5MTk0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIHd0
Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg6IEFkZGVkLgorCiAyMDE4LTAxLTI2ICBDaHJpcyBOYXJk
aSAgPGNuYXJkaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkcmVzc2luZyBwb3N0LXJldmll
dyBjb21tZW50cyBhZnRlciByMjI2NjE0CkluZGV4OiBTb3VyY2UvV1RGL1dURi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyNzY5NSkKKysrIFNvdXJjZS9XVEYvV1RGLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTYyNyw2ICs2MjcsNyBAQAog
CQlGRTg1NDE2RDFGQkUyODVDMDA4REE1REEgLyogUG9pc29uZWQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUG9pc29uZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRkU4NkE4NzQxRTU5NDQwMjAwMTExQkJGIC8qIEZvcmJpZEhlYXBBbGxvY2F0aW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvcmJpZEhlYXBBbGxvY2F0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFODkyNUFGMUQwMERBRUMwMDQ2OTA3RSAvKiBJ
bmRlbnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmRlbnRlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRUI2QjAzNTIwMUJFMEI2MDBCOTU4QzEgLyog
UG9pbnRlclByZXBhcmF0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
b2ludGVyUHJlcGFyYXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFREFD
RDNCMTYzMEY4M0YwMEM2OTYzNCAvKiBTdGFja1N0YXRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFN0YWNrU3RhdHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGRURBQ0QzQzE2MzBGODNGMDBDNjk2MzQgLyogU3RhY2tTdGF0cy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdGFja1N0YXRzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCkBAIC05ODYsNiAr
OTg3LDcgQEAKIAkJCQlBODc2REJENzE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0uaCAqLywK
IAkJCQlFMzIwMEFCNDFFOUE1MzZEMDAzQjU5RDIgLyogUGxhdGZvcm1SZWdpc3RlcnMuaCAqLywK
IAkJCQkwRkY4NjA5NDFCQ0NCRDc0MDA0NTEyN0YgLyogUG9pbnRlckNvbXBhcmlzb24uaCAqLywK
KwkJCQlGRUI2QjAzNTIwMUJFMEI2MDBCOTU4QzEgLyogUG9pbnRlclByZXBhcmF0aW9ucy5oICov
LAogCQkJCUZFODU0MTZDMUZCRTI4NUIwMDhEQTVEQSAvKiBQb2lzb25lZC5jcHAgKi8sCiAJCQkJ
RkU4NTQxNkQxRkJFMjg1QzAwOERBNURBIC8qIFBvaXNvbmVkLmggKi8sCiAJCQkJRkUwNUZCMDQx
RkU4NDUzMjAwMDkzMjMwIC8qIFBvaXNvbmVkVW5pcXVlUHRyLmggKi8sCkluZGV4OiBTb3VyY2Uv
V1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9DTWFr
ZUxpc3RzLnR4dAkocmV2aXNpb24gMjI3Njk1KQorKysgU291cmNlL1dURi93dGYvQ01ha2VMaXN0
cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTExMCw2ICsxMTAsNyBAQCBzZXQoV1RGX0hFQURFUlMK
ICAgICBQYXJraW5nTG90LmgKICAgICBQbGF0Zm9ybS5oCiAgICAgUGxhdGZvcm1SZWdpc3RlcnMu
aAorICAgIFBvaW50ZXJQcmVwYXJhdGlvbnMuaAogICAgIFBvaXNvbmVkLmgKICAgICBQb2lzb25l
ZFVuaXF1ZVB0ci5oCiAgICAgUHJpbnRTdHJlYW0uaApJbmRleDogU291cmNlL1dURi93dGYvUG9p
bnRlclByZXBhcmF0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BvaW50ZXJQ
cmVwYXJhdGlvbnMuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV1RGL3d0Zi9Qb2ludGVyUHJl
cGFyYXRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykgJiYgX19oYXNfaW5jbHVkZSg8V2ViS2l0QWRkaXRpb25zL1Bv
aW50ZXJQcmVwYXJhdGlvbnMuaD4pCisjaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL1BvaW50ZXJQ
cmVwYXJhdGlvbnMuaD4KKyNlbmRpZgorCisjaWZuZGVmIFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRF
Ul9GT1JfSU5TUEVDVElPTgorI2RlZmluZSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lO
U1BFQ1RJT04odnRibFB0cikgKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHZ0YmxQdHIpKQorI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjc2OTUpCisrKyBTb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxOC0wMS0yNiAgTWFy
ayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJl
IGZvciBwb2ludGVyIHByZXBhcmF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTgyMTkxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjg4OTE5
ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMgYmVjYXVzZSB0aGlzIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBhbnkgYmVoYXZp
b3IgY2hhbmdlLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG06CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKwogMjAxOC0wMS0yNiAgQ2hy
aXMgTmFyZGkgIDxjbmFyZGlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZHJlc3NpbmcgcG9z
dC1yZXZpZXcgY29tbWVudHMgYWZ0ZXIgcjIyNjYxNApJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDIyNzY5
NSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogIyBDb3B5cmlnaHQgKEMpIDIwMDYgQW5k
ZXJzIENhcmxzc29uIDxhbmRlcnNjYUBtYWMuY29tPgogIyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIw
MDcgU2FtdWVsIFdlaW5pZyA8c2FtQHdlYmtpdC5vcmc+CiAjIENvcHlyaWdodCAoQykgMjAwNiBB
bGV4ZXkgUHJvc2t1cnlha292IDxhcEB3ZWJraXQub3JnPgotIyBDb3B5cmlnaHQgKEMpIDIwMDYt
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAw
Ni0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChDKSAy
MDA5IENhbWVyb24gTWNDb3JtYWNrIDxjYW1AbWNjLmlkLmF1PgogIyBDb3B5cmlnaHQgKEMpIFJl
c2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENv
cHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnko
LWllcykKQEAgLTM4MDMsNiArMzgwMyw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAg
ICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIpOwogICAgIEFk
ZFRvSW1wbEluY2x1ZGVzKCJKU0RPTVdyYXBwZXJDYWNoZS5oIik7CiAgICAgQWRkVG9JbXBsSW5j
bHVkZXMoIjx3dGYvR2V0UHRyLmg+Iik7CisgICAgQWRkVG9JbXBsSW5jbHVkZXMoIjx3dGYvUG9p
bnRlclByZXBhcmF0aW9ucy5oPiIpOwogICAgIEFkZFRvSW1wbEluY2x1ZGVzKCI8cnVudGltZS9Q
cm9wZXJ0eU5hbWVBcnJheS5oPiIpIGlmICRpbmRleGVkR2V0dGVyT3BlcmF0aW9uOwogICAgIEFk
ZFRvSW1wbEluY2x1ZGVzKCJKU0RPTU1hcExpa2UuaCIpIGlmICRpbnRlcmZhY2UtPm1hcExpa2U7
CiAgICAgQWRkSlNCdWlsdGluSW5jbHVkZXNJZk5lZWRlZCgkaW50ZXJmYWNlKTsKQEAgLTQ2MjUs
OSArNDYyNiw5IEBAIEVORAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAgICB2b2lk
KiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5w
dHIoKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50
ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPigke3Z0YWJsZVJlZldpbn0pOworICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5T
UEVDVElPTigke3Z0YWJsZVJlZldpbn0pOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSAke3Z0YWJsZVJlZkdudX07CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCR7dnRhYmxlUmVm
R251fSk7CiAjZW5kaWYKIAogICAgIC8vIElmIHRoaXMgZmFpbHMgJHtpbXBsVHlwZX0gZG9lcyBu
b3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQo=
</data>
<flag name="review"
          id="351373"
          type_id="1"
          status="+"
          setter="jfbastien"
    />
    <flag name="commit-queue"
          id="351375"
          type_id="3"
          status="-"
          setter="ews-watchlist"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332427</attachid>
            <date>2018-01-26 16:35:50 -0800</date>
            <delta_ts>2018-01-26 16:35:50 -0800</delta_ts>
            <desc>patch for landing (w/ reset bindings test results).</desc>
            <filename>bug-182191.patch</filename>
            <type>text/plain</type>
            <size>89300</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjc3MDApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTAxLTI2ICBNYXJrIExhbSAgPG1hcmsubGFt
QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIHBvaW50ZXIgcHJl
cGFyYXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODIxOTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM2ODg5MTk0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IEpGIEJhc3RpZW4uCisKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiB3dGYvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogd3RmL1Bv
aW50ZXJQcmVwYXJhdGlvbnMuaDogQWRkZWQuCisKIDIwMTgtMDEtMjYgIENocmlzIE5hcmRpICA8
Y25hcmRpQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBZGRyZXNzaW5nIHBvc3QtcmV2aWV3IGNv
bW1lbnRzIGFmdGVyIHIyMjY2MTQKSW5kZXg6IFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gMjI3NzAwKQorKysgU291cmNlL1dURi9XVEYueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNjI3LDYgKzYyNyw3IEBACiAJCUZF
ODU0MTZEMUZCRTI4NUMwMDhEQTVEQSAvKiBQb2lzb25lZC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQb2lzb25lZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
RTg2QTg3NDFFNTk0NDAyMDAxMTFCQkYgLyogRm9yYmlkSGVhcEFsbG9jYXRpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9yYmlkSGVhcEFsbG9jYXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU4OTI1QUYxRDAwREFFQzAwNDY5MDdFIC8qIEluZGVu
dGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZGVudGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFQjZCMDM1MjAxQkUwQjYwMEI5NThDMSAvKiBQb2lu
dGVyUHJlcGFyYXRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBvaW50
ZXJQcmVwYXJhdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVEQUNEM0Ix
NjMwRjgzRjAwQzY5NjM0IC8qIFN0YWNrU3RhdHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU3RhY2tTdGF0cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUZFREFDRDNDMTYzMEY4M0YwMEM2OTYzNCAvKiBTdGFja1N0YXRzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0YWNrU3RhdHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KQEAgLTk4Niw2ICs5ODcs
NyBAQAogCQkJCUE4NzZEQkQ3MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oICovLAogCQkJ
CUUzMjAwQUI0MUU5QTUzNkQwMDNCNTlEMiAvKiBQbGF0Zm9ybVJlZ2lzdGVycy5oICovLAogCQkJ
CTBGRjg2MDk0MUJDQ0JENzQwMDQ1MTI3RiAvKiBQb2ludGVyQ29tcGFyaXNvbi5oICovLAorCQkJ
CUZFQjZCMDM1MjAxQkUwQjYwMEI5NThDMSAvKiBQb2ludGVyUHJlcGFyYXRpb25zLmggKi8sCiAJ
CQkJRkU4NTQxNkMxRkJFMjg1QjAwOERBNURBIC8qIFBvaXNvbmVkLmNwcCAqLywKIAkJCQlGRTg1
NDE2RDFGQkUyODVDMDA4REE1REEgLyogUG9pc29uZWQuaCAqLywKIAkJCQlGRTA1RkIwNDFGRTg0
NTMyMDAwOTMyMzAgLyogUG9pc29uZWRVbmlxdWVQdHIuaCAqLywKSW5kZXg6IFNvdXJjZS9XVEYv
d3RmL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0NNYWtlTGlz
dHMudHh0CShyZXZpc2lvbiAyMjc3MDApCisrKyBTb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMTEwLDYgKzExMCw3IEBAIHNldChXVEZfSEVBREVSUwogICAg
IFBhcmtpbmdMb3QuaAogICAgIFBsYXRmb3JtLmgKICAgICBQbGF0Zm9ybVJlZ2lzdGVycy5oCisg
ICAgUG9pbnRlclByZXBhcmF0aW9ucy5oCiAgICAgUG9pc29uZWQuaAogICAgIFBvaXNvbmVkVW5p
cXVlUHRyLmgKICAgICBQcmludFN0cmVhbS5oCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9Qb2ludGVy
UHJlcGFyYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUG9pbnRlclByZXBh
cmF0aW9ucy5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XVEYvd3RmL1BvaW50ZXJQcmVwYXJh
dGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKSAmJiBfX2hhc19pbmNsdWRlKDxXZWJLaXRBZGRpdGlvbnMvUG9pbnRl
clByZXBhcmF0aW9ucy5oPikKKyNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvUG9pbnRlclByZXBh
cmF0aW9ucy5oPgorI2VuZGlmCisKKyNpZm5kZWYgV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZP
Ul9JTlNQRUNUSU9OCisjZGVmaW5lIFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVD
VElPTih2dGJsUHRyKSAocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4odnRibFB0cikpCisjZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzNSBAQAorMjAxOC0wMS0yNiAgTWFyayBM
YW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIGZv
ciBwb2ludGVyIHByZXBhcmF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTgyMTkxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjg4OTE5ND4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcg
dGVzdHMgYmVjYXVzZSB0aGlzIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBhbnkgYmVoYXZpb3Ig
Y2hhbmdlLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06
CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNJbnRlcmZhY2VOYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRv
SlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU01h
cExpa2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTUmVhZE9ubHlNYXBMaWtlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdENFUmVhY3Rpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0
cmluZ2lmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERPTUpJVC5jcHA6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNldHRpbmcuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEV2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pT
TmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3
bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5k
ZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNO
ZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJ
bmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05l
d2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdElu
dGVyZmFjZS5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdElu
dGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0SXRlcmFibGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5
Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEpTQnVp
bHRpbkNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pT
TmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3
bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFt
ZWRHZXR0ZXJOb0lkZW50aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3Jl
YXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0
dGVyV2l0aElkZW50aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRl
ZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVy
Tm9JZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlclRocm93
aW5nRXhjZXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJ
ZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRl
eGVkR2V0dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRl
eGVkR2V0dGVyQW5kU2V0dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0
ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRl
cldpdGhPdmVycmlkZUJ1aWx0aW5zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNy
ZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNl
dHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pT
TmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJsZVByb3BlcnRpZXNBbmRPdmVycmlkZUJ1aWx0aW5zLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRv
SlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2Vx
dWVuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFBsdWdpbkludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRv
SlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTZXJpYWxpemF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9u
SW5kaXJlY3RJbmhlcml0YW5jZS5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFNlcmlhbGl6YXRpb25Jbmhlcml0LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXphdGlvbkluaGVyaXRGaW5hbC5jcHA6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmlu
Zy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1
dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorCiAyMDE4LTAxLTI2ICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NpT04gKHIyMjY0OTIpOiBD
cmFzaCB1bmRlciBFbGVtZW50OjphYnNvbHV0ZUV2ZW50Qm91bmRzKCkgb24gYSBTVkdQYXRoRWxl
bWVudCB3aGljaCBoYXMgbm90IGJlZW4gbGFpZCBvdXQgeWV0CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkocmV2aXNpb24g
MjI3NzAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0JKHdvcmtpbmcgY29weSkKQEAgLTMsNyArMyw3IEBACiAjIENvcHlyaWdodCAoQykgMjAw
NiBBbmRlcnMgQ2FybHNzb24gPGFuZGVyc2NhQG1hYy5jb20+CiAjIENvcHlyaWdodCAoQykgMjAw
NiwgMjAwNyBTYW11ZWwgV2VpbmlnIDxzYW1Ad2Via2l0Lm9yZz4KICMgQ29weXJpZ2h0IChDKSAy
MDA2IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdlYmtpdC5vcmc+Ci0jIENvcHlyaWdodCAoQykg
MjAwNi0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChD
KSAyMDA2LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQg
KEMpIDIwMDkgQ2FtZXJvbiBNY0Nvcm1hY2sgPGNhbUBtY2MuaWQuYXU+CiAjIENvcHlyaWdodCAo
QykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICMgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lk
aWFyeSgtaWVzKQpAQCAtMzgwMyw2ICszODAzLDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRp
b24KICAgICBBZGRUb0ltcGxJbmNsdWRlcygiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIik7CiAg
ICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTRE9NV3JhcHBlckNhY2hlLmgiKTsKICAgICBBZGRUb0lt
cGxJbmNsdWRlcygiPHd0Zi9HZXRQdHIuaD4iKTsKKyAgICBBZGRUb0ltcGxJbmNsdWRlcygiPHd0
Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+Iik7CiAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIjxydW50
aW1lL1Byb3BlcnR5TmFtZUFycmF5Lmg+IikgaWYgJGluZGV4ZWRHZXR0ZXJPcGVyYXRpb247CiAg
ICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTRE9NTWFwTGlrZS5oIikgaWYgJGludGVyZmFjZS0+bWFw
TGlrZTsKICAgICBBZGRKU0J1aWx0aW5JbmNsdWRlc0lmTmVlZGVkKCRpbnRlcmZhY2UpOwpAQCAt
NDYyNSw5ICs0NjI2LDkgQEAgRU5ECiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQogICAg
IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihp
bXBsLnB0cigpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxl
UG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KCR7dnRhYmxlUmVmV2lufSk7CisgICAg
dm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZP
Ul9JTlNQRUNUSU9OKCR7dnRhYmxlUmVmV2lufSk7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9ICR7dnRhYmxlUmVmR251fTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oJHt2dGFi
bGVSZWZHbnV9KTsKICNlbmRpZgogCiAgICAgLy8gSWYgdGhpcyBmYWlscyAke2ltcGxUeXBlfSBk
b2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNJbnRlcmZhY2VOYW1lLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNJ
bnRlcmZhY2VOYW1lLmNwcAkocmV2aXNpb24gMjI3NzAwKQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTSW50ZXJmYWNlTmFtZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlIDxydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg+
CiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+CiAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtMTk2LDkgKzE5Nyw5IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTQzo6RXhlY1MKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0
dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkp
KTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0g
cmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183SW50ZXJmYWNlTmFtZUBX
ZWJDb3JlQEA2QkAiKSk7CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BS
RVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9fN0ludGVy
ZmFjZU5hbWVAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTEzSW50ZXJmYWNlTmFtZUVbMl07CisgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQ
RUNUSU9OKCZfWlRWTjdXZWJDb3JlMTNJbnRlcmZhY2VOYW1lRVsyXSk7CiAjZW5kaWYKIAogICAg
IC8vIElmIHRoaXMgZmFpbHMgSW50ZXJmYWNlTmFtZSBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBz
byB5b3UgbmVlZCB0byBhZGQgdGhlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcAkocmV2aXNpb24gMjI3NzAwKQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTTWFwTGlrZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxydW50aW1lL0Z1bmN0
aW9uUHJvdG90eXBlLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVk
ZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+CiAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzY1LDkgKzM2Niw5IEBAIEpTQzo6SlNWYWx1ZSB0
b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkp
CiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lk
Kio+KGltcGwucHRyKCkpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183
TWFwTGlrZUBXZWJDb3JlQEA2QkAiKSk7CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigi
Pz9fN01hcExpa2VAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTdNYXBMaWtlRVsyXTsKKyAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJ
T04oJl9aVFZON1dlYkNvcmU3TWFwTGlrZUVbMl0pOwogI2VuZGlmCiAKICAgICAvLyBJZiB0aGlz
IGZhaWxzIE1hcExpa2UgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRk
IHRoZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTUmVh
ZE9ubHlNYXBMaWtlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNSZWFkT25seU1hcExpa2UuY3BwCShyZXZpc2lvbiAyMjc3MDApCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNSZWFkT25seU1hcExp
a2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8cnVudGlt
ZS9GdW5jdGlvblByb3RvdHlwZS5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSW5saW5lcy5oPgog
I2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9u
cy5oPgogCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMxNCw5ICszMTUsOSBAQCBKU0M6OkpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5U
RUdSSVRZKQogICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nh
c3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmll
cigiPz9fN1JlYWRPbmx5TWFwTGlrZUBXZWJDb3JlQEA2QkAiKSk7CisgICAgdm9pZCogZXhwZWN0
ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9O
KF9faWRlbnRpZmllcigiPz9fN1JlYWRPbmx5TWFwTGlrZUBXZWJDb3JlQEA2QkAiKSk7CiAjZWxz
ZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMTVSZWFk
T25seU1hcExpa2VFWzJdOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9Q
UkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigmX1pUVk43V2ViQ29yZTE1UmVhZE9u
bHlNYXBMaWtlRVsyXSk7CiAjZW5kaWYKIAogICAgIC8vIElmIHRoaXMgZmFpbHMgUmVhZE9ubHlN
YXBMaWtlIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVE
T01PYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCShyZXZpc2lvbiAyMjc3MDApCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9N
T2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPHJ1
bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMu
aD4KICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJh
dGlvbnMuaD4KIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yNzUsOSArMjc2LDkgQEAgSlND
OjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogI2lmIEVOQUJMRShCSU5ESU5H
X0lOVEVHUklUWSkKICAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJl
dF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50
aWZpZXIoIj8/XzdUZXN0QWN0aXZlRE9NT2JqZWN0QFdlYkNvcmVAQDZCQCIpKTsKKyAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lO
U1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdEFjdGl2ZURPTU9iamVjdEBXZWJDb3JlQEA2
QkAiKSk7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdX
ZWJDb3JlMTlUZXN0QWN0aXZlRE9NT2JqZWN0RVsyXTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oJl9aVFZO
N1dlYkNvcmUxOVRlc3RBY3RpdmVET01PYmplY3RFWzJdKTsKICNlbmRpZgogCiAgICAgLy8gSWYg
dGhpcyBmYWlscyBUZXN0QWN0aXZlRE9NT2JqZWN0IGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNv
IHlvdSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmNwcAkocmV2
aXNpb24gMjI3NzAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdENFUmVhY3Rpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBAQAog
I2luY2x1ZGUgPHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaD4KICNpbmNsdWRlIDxydW50aW1l
L0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bv
aW50ZXJQcmVwYXJhdGlvbnMuaD4KIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMjksOSAr
MzMwLDkgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogI2lmIEVO
QUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0g
KihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOwogI2lmIFBMQVRGT1JNKFdJ
TikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZv
aWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0Q0VSZWFjdGlvbnNAV2ViQ29yZUBANkJAIikpOwor
ICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRF
Ul9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0Q0VSZWFjdGlvbnNAV2ViQ29y
ZUBANkJAIikpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pU
Vk43V2ViQ29yZTE1VGVzdENFUmVhY3Rpb25zRVsyXTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oJl9aVFZO
N1dlYkNvcmUxNVRlc3RDRVJlYWN0aW9uc0VbMl0pOwogI2VuZGlmCiAKICAgICAvLyBJZiB0aGlz
IGZhaWxzIFRlc3RDRVJlYWN0aW9ucyBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVl
ZCB0byBhZGQgdGhlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5n
aWZpZXIuY3BwCShyZXZpc2lvbiAyMjc3MDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlIDxydW50aW1lL0Z1bmN0aW9uUHJvdG90
eXBlLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL0dl
dFB0ci5oPgorI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+CiAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtMjQ5LDkgKzI1MCw5IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlD
cmVhdGVkKEpTQzo6RXhlY1MKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9p
ZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwu
cHRyKCkpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdENFUmVh
Y3Rpb25zU3RyaW5naWZpZXJAV2ViQ29yZUBANkJAIikpOworICAgIHZvaWQqIGV4cGVjdGVkVlRh
YmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lk
ZW50aWZpZXIoIj8/XzdUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllckBXZWJDb3JlQEA2QkAiKSk7
CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3Jl
MjZUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllckVbMl07CisgICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZfWlRW
TjdXZWJDb3JlMjZUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllckVbMl0pOwogI2VuZGlmCiAKICAg
ICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyIGRvZXMgbm90IGhh
dmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRy
YWNlci5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzks
NiArMzksNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaD4KICNpbmNs
dWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CisjaW5j
bHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvVmFyaWFudC5o
PgogCiAKQEAgLTU0OCw5ICs1NDksOSBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChK
U0M6OkV4ZWNTCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQogICAgIHZvaWQqIGFjdHVh
bFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7
CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJl
aW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3RDYWxsVHJhY2VyQFdl
YkNvcmVAQDZCQCIpKTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJF
UEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdENh
bGxUcmFjZXJAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTE0VGVzdENhbGxUcmFjZXJFWzJdOworICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5T
UEVDVElPTigmX1pUVk43V2ViQ29yZTE0VGVzdENhbGxUcmFjZXJFWzJdKTsKICNlbmRpZgogCiAg
ICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0Q2FsbFRyYWNlciBkb2VzIG5vdCBoYXZlIGEgdnRhYmxl
LCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDbGFzc1dpdGhK
U0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAK
ICNpbmNsdWRlIDxydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg+CiAjaW5jbHVkZSA8cnVudGlt
ZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUgPHd0Zi9Q
b2ludGVyUHJlcGFyYXRpb25zLmg+CiAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTg4LDkg
KzE4OSw5IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICNpZiBF
TkFCTEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9
ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKICNpZiBQTEFURk9STShX
SU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2
b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9y
QFdlYkNvcmVAQDZCQCIpKTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZf
UFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVz
dENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCi0g
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzM1Rlc3RDbGFz
c1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3RvckVbMl07CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQ
b2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZfWlRWTjdX
ZWJDb3JlMzNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3JFWzJdKTsKICNlbmRpZgog
CiAgICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3Ig
ZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVj
dG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9J
bnRlcmZhY2VPYmplY3QuY3BwCShyZXZpc2lvbiAyMjc3MDApCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRl
cmZhY2VPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVk
ZSA8cnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSW5s
aW5lcy5oPgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclBy
ZXBhcmF0aW9ucy5oPgogCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTE4Niw5ICsxODcsOSBA
QCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAjaWYgRU5BQkxFKEJJ
TkRJTkdfSU5URUdSSVRZKQogICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50
ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9f
aWRlbnRpZmllcigiPz9fN1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVj
dEBXZWJDb3JlQEA2QkAiKSk7CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RG
X1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rl
c3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdEBXZWJDb3JlQEA2QkAiKSk7
CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3Jl
NDJUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RFWzJdOworICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1Jf
SU5TUEVDVElPTigmX1pUVk43V2ViQ29yZTQyVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50
ZXJmYWNlT2JqZWN0RVsyXSk7CiAjZW5kaWYKIAogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdEN1
c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0IGRvZXMgbm90IGhhdmUgYSB2dGFi
bGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuY3BwCShyZXZpc2lv
biAyMjc3MDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RE9NSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUg
PGludGVycHJldGVyL0ZyYW1lVHJhY2Vycy5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSW5saW5l
cy5oPgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBh
cmF0aW9ucy5oPgogCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
RW5hYmxlZEJ5U2V0dGluZy5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDx3
dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KIAogI2lm
IEVOQUJMRShURVNUX0ZFQVRVUkUpCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgpA
QCAtMzIyLDkgKzMyMyw5IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhl
Y1MKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxl
UG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKICNpZiBQ
TEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdEVuYWJsZWRCeVNldHRpbmdAV2Vi
Q29yZUBANkJAIikpOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQ
QVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0RW5h
YmxlZEJ5U2V0dGluZ0BXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjBUZXN0RW5hYmxlZEJ5U2V0dGluZ0VbMl07
CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lO
VEVSX0ZPUl9JTlNQRUNUSU9OKCZfWlRWTjdXZWJDb3JlMjBUZXN0RW5hYmxlZEJ5U2V0dGluZ0Vb
Ml0pOwogI2VuZGlmCiAKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RFbmFibGVkQnlTZXR0aW5n
IGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVj
dG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVj
dG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkpTRE9N
V3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVk
ZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+CiAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjg3LDkgKzI4OCw5IEBAIEpTQzo6SlNWYWx1ZSB0
b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkp
CiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lk
Kio+KGltcGwucHRyKCkpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183
VGVzdEV2ZW50Q29uc3RydWN0b3JAV2ViQ29yZUBANkJAIikpOworICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihf
X2lkZW50aWZpZXIoIj8/XzdUZXN0RXZlbnRDb25zdHJ1Y3RvckBXZWJDb3JlQEA2QkAiKSk7CiAj
ZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjBU
ZXN0RXZlbnRDb25zdHJ1Y3RvckVbMl07CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZfWlRWTjdXZWJDb3Jl
MjBUZXN0RXZlbnRDb25zdHJ1Y3RvckVbMl0pOwogI2VuZGlmCiAKICAgICAvLyBJZiB0aGlzIGZh
aWxzIFRlc3RFdmVudENvbnN0cnVjdG9yIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBu
ZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcAkocmV2aXNpb24g
MjI3NzAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEV2ZW50VGFyZ2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1
ZGUgPHJ1bnRpbWUvSlNDSW5saW5lcy5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvUHJvcGVydHlOYW1l
QXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQ
cmVwYXJhdGlvbnMuaD4KIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yNjAsOSArMjYxLDkg
QEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogI2lmIEVOQUJMRShC
SU5ESU5HX0lOVEVHUklUWSkKICAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWlu
dGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihf
X2lkZW50aWZpZXIoIj8/XzdUZXN0RXZlbnRUYXJnZXRAV2ViQ29yZUBANkJAIikpOworICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1Jf
SU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0RXZlbnRUYXJnZXRAV2ViQ29yZUBANkJA
IikpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2Vi
Q29yZTE1VGVzdEV2ZW50VGFyZ2V0RVsyXTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50
ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oJl9aVFZON1dlYkNv
cmUxNVRlc3RFdmVudFRhcmdldEVbMl0pOwogI2VuZGlmCiAKICAgICAvLyBJZiB0aGlzIGZhaWxz
IFRlc3RFdmVudFRhcmdldCBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBh
ZGQgdGhlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMjI3NzAwKQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxydW50aW1lL0Z1
bmN0aW9uUHJvdG90eXBlLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxpbmVzLmg+CiAjaW5j
bHVkZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+
CiAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjA1LDkgKzIwNiw5IEBAIEpTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJ
VFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2
b2lkKio+KGltcGwucHRyKCkpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0
ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/
P183VGVzdEV4Y2VwdGlvbkBXZWJDb3JlQEA2QkAiKSk7CisgICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRl
bnRpZmllcigiPz9fN1Rlc3RFeGNlcHRpb25AV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKLSAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTEzVGVzdEV4Y2VwdGlv
bkVbMl07CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRC
TF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZfWlRWTjdXZWJDb3JlMTNUZXN0RXhjZXB0aW9uRVsy
XSk7CiAjZW5kaWYKIAogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdEV4Y2VwdGlvbiBkb2VzIG5v
dCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwCShyZXZpc2lvbiAyMjc3MDApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNo
YWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxydW50
aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxpbmVzLmg+
CiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRp
b25zLmg+CiAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjExLDkgKzIxMiw5IEBAIEpTQzo6
SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICNpZiBFTkFCTEUoQklORElOR19J
TlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRf
Y2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlm
aWVyKCI/P183VGVzdEdlbmVyYXRlSXNSZWFjaGFibGVAV2ViQ29yZUBANkJAIikpOworICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1Jf
SU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUBXZWJD
b3JlQEA2QkAiKSk7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZf
WlRWTjdXZWJDb3JlMjNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUVbMl07CisgICAgdm9pZCogZXhw
ZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNU
SU9OKCZfWlRWTjdXZWJDb3JlMjNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUVbMl0pOwogI2VuZGlm
CiAKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlIGRvZXMgbm90
IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RH
bG9iYWxPYmplY3QuY3BwCShyZXZpc2lvbiAyMjc3MDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUu
aD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvR2V0UHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KIAogI2lmIEVOQUJMRShU
RVNUX0ZFQVRVUkUpCiAjaW5jbHVkZSAiVGVzdEdsb2JhbE9iamVjdEJ1aWx0aW5zLmgiCkBAIC01
OTYsOSArNTk3LDkgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwog
I2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2lu
dGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOwogI2lmIFBMQVRG
T1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9j
YXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0R2xvYmFsT2JqZWN0QFdlYkNvcmVAQDZC
QCIpKTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJM
X1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdEdsb2JhbE9iamVj
dEBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9ICZfWlRWTjdXZWJDb3JlMTZUZXN0R2xvYmFsT2JqZWN0RVsyXTsKKyAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJ
T04oJl9aVFZON1dlYkNvcmUxNlRlc3RHbG9iYWxPYmplY3RFWzJdKTsKICNlbmRpZgogCiAgICAg
Ly8gSWYgdGhpcyBmYWlscyBUZXN0R2xvYmFsT2JqZWN0IGRvZXMgbm90IGhhdmUgYSB2dGFibGUs
IHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5k
ZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVu
dGlmaWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPHJ1
bnRpbWUvSlNDSW5saW5lcy5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvUHJvcGVydHlOYW1lQXJyYXku
aD4KICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJh
dGlvbnMuaD4KIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yNzQsOSArMjc1LDkgQEAgSlND
OjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogI2lmIEVOQUJMRShCSU5ESU5H
X0lOVEVHUklUWSkKICAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJl
dF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50
aWZpZXIoIj8/XzdUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKSk7
CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lO
VEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rlc3RJbmRleGVkU2V0dGVyTm9J
ZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyOVRlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVy
RVsyXTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJM
X1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oJl9aVFZON1dlYkNvcmUyOVRlc3RJbmRleGVkU2V0dGVy
Tm9JZGVudGlmaWVyRVsyXSk7CiAjZW5kaWYKIAogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdElu
ZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5l
ZWQgdG8gYWRkIHRoZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRT
ZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dp
bmdFeGNlcHRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVk
ZSA8cnVudGltZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8cnVudGltZS9Qcm9wZXJ0eU5hbWVB
cnJheS5oPgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclBy
ZXBhcmF0aW9ucy5oPgogCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTI3NCw5ICsyNzUsOSBA
QCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAjaWYgRU5BQkxFKEJJ
TkRJTkdfSU5URUdSSVRZKQogICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50
ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9f
aWRlbnRpZmllcigiPz9fN1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25AV2ViQ29y
ZUBANkJAIikpOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJF
X1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0SW5kZXhl
ZFNldHRlclRocm93aW5nRXhjZXB0aW9uQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCi0gICAgdm9p
ZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzNFRlc3RJbmRleGVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb25FWzJdOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigmX1pUVk43V2ViQ29y
ZTM0VGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkVbMl0pOwogI2VuZGlmCiAKICAg
ICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24gZG9l
cyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJXaXRo
SWRlbnRpZmllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAJKHJldmlz
aW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
Myw2ICszMyw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8
cnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKyNp
bmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5oPgogCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTMwNiw5ICszMDcsOSBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6
OkV4ZWNTCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQogICAgIHZvaWQqIGFjdHVhbFZU
YWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CiAj
aWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50
ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3RJbmRleGVkU2V0dGVyV2l0
aElkZW50aWZpZXJAV2ViQ29yZUBANkJAIikpOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9p
bnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZp
ZXIoIj8/XzdUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpKTsK
ICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUz
MVRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJFWzJdOworICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigm
X1pUVk43V2ViQ29yZTMxVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckVbMl0pOwogI2Vu
ZGlmCiAKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZp
ZXIgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEludGVyZmFjZS5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9GdW5jdGlvblByb3RvdHlw
ZS5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi9HZXRQ
dHIuaD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5oPgogCiAjaWYgRU5BQkxF
KENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24xMSkgfHwgRU5BQkxFKENvbmRpdGlvbjEy
KSB8fCBFTkFCTEUoQ29uZGl0aW9uMikgfHwgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUo
Q29uZGl0aW9uMjMpCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZUxlYWRp
bmdVbmRlcnNjb3JlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUuY3BwCShyZXZp
c2lvbiAyMjc3MDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MCw2ICszMCw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oPgogI2lu
Y2x1ZGUgPHJ1bnRpbWUvSlNDSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKyNp
bmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5oPgogCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJ
dGVyYWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNwcAkocmV2aXNpb24gMjI3NzAwKQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDx3
dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KIAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yNTgsOSArMjU5LDkgQEAgSlNDOjpKU1ZhbHVlIHRvSlNO
ZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAg
ICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4o
aW1wbC5wdHIoKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0
SXRlcmFibGVAV2ViQ29yZUBANkJAIikpOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIo
Ij8/XzdUZXN0SXRlcmFibGVAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTEyVGVzdEl0ZXJhYmxlRVsyXTsKKyAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJf
Rk9SX0lOU1BFQ1RJT04oJl9aVFZON1dlYkNvcmUxMlRlc3RJdGVyYWJsZUVbMl0pOwogI2VuZGlm
CiAKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RJdGVyYWJsZSBkb2VzIG5vdCBoYXZlIGEgdnRh
YmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1
aWx0aW5Db25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxydW50aW1lL0Z1bmN0
aW9uUHJvdG90eXBlLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVk
ZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+CiAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyLmNwcAkocmV2aXNpb24gMjI3NzAwKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9GdW5j
dGlvblByb3RvdHlwZS5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSW5saW5lcy5oPgogI2luY2x1
ZGUgPHd0Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5oPgog
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTIxNCw5ICsyMTUsOSBAQCBKU0M6OkpTVmFsdWUg
dG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZ
KQogICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9p
ZCoqPihpbXBsLnB0cigpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9f
N1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQFdlYkNvcmVAQDZCQCIpKTsKKyAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BF
Q1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJAV2ViQ29y
ZUBANkJAIikpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pU
Vk43V2ViQ29yZTI2VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJFWzJdOworICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVD
VElPTigmX1pUVk43V2ViQ29yZTI2VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJFWzJdKTsKICNl
bmRpZgogCiAgICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBk
b2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVk
U2V0dGVyTm9JZGVudGlmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlm
aWVyLmNwcAkocmV2aXNpb24gMjI3NzAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlIDxydW50aW1lL0pTQ0lu
bGluZXMuaD4KICNpbmNsdWRlIDxydW50aW1lL1Byb3BlcnR5TmFtZUFycmF5Lmg+CiAjaW5jbHVk
ZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+CiAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzQwLDkgKzM0MSw5IEBAIEpTQzo6SlNWYWx1ZSB0
b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkp
CiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lk
Kio+KGltcGwucHRyKCkpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183
VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKSk7Cisg
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVS
X0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0
ZXJOb0lkZW50aWZpZXJAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTM3VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRl
ck5vSWRlbnRpZmllckVbMl07CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RG
X1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZfWlRWTjdXZWJDb3JlMzdUZXN0
TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyRVsyXSk7CiAjZW5kaWYKIAogICAgIC8v
IElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllciBkb2Vz
IG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2lu
Z0V4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4
Y2VwdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlIDxy
dW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDxydW50aW1lL1Byb3BlcnR5TmFtZUFycmF5
Lmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFy
YXRpb25zLmg+CiAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzQwLDkgKzM0MSw5IEBAIEpT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICNpZiBFTkFCTEUoQklORElO
R19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9p
ZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVu
dGlmaWVyKCI/P183VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uQFdl
YkNvcmVAQDZCQCIpKTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJF
UEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdE5h
bWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uQFdlYkNvcmVAQDZCQCIpKTsKICNl
bHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmU0MlRl
c3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkVbMl07CisgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQ
RUNUSU9OKCZfWlRWTjdXZWJDb3JlNDJUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb25FWzJdKTsKICNlbmRpZgogCiAgICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TmFtZWRB
bmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24gZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwg
c28geW91IG5lZWQgdG8gYWRkIHRoZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAy
Mjc3MDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVk
ZSA8cnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4K
KyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5oPgogCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTM5NCw5ICszOTUsOSBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChK
U0M6OkV4ZWNTCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQogICAgIHZvaWQqIGFjdHVh
bFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7
CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJl
aW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZEFuZEluZGV4
ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKSk7CisgICAgdm9pZCogZXhwZWN0
ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9O
KF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmll
ckBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9ICZfWlRWTjdXZWJDb3JlMzlUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZp
ZXJFWzJdOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZU
QkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigmX1pUVk43V2ViQ29yZTM5VGVzdE5hbWVkQW5kSW5k
ZXhlZFNldHRlcldpdGhJZGVudGlmaWVyRVsyXSk7CiAjZW5kaWYKIAogICAgIC8vIElmIHRoaXMg
ZmFpbHMgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyIGRvZXMgbm90IGhh
dmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRDb25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDx3
dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KIAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yMjcsOSArMjI4LDkgQEAgSlNDOjpKU1ZhbHVlIHRvSlNO
ZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAg
ICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4o
aW1wbC5wdHIoKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0
TmFtZWRDb25zdHJ1Y3RvckBXZWJDb3JlQEA2QkAiKSk7CisgICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRl
bnRpZmllcigiPz9fN1Rlc3ROYW1lZENvbnN0cnVjdG9yQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNl
Ci0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyMFRlc3RO
YW1lZENvbnN0cnVjdG9yRVsyXTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBX
VEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oJl9aVFZON1dlYkNvcmUyMFRl
c3ROYW1lZENvbnN0cnVjdG9yRVsyXSk7CiAjZW5kaWYKIAogICAgIC8vIElmIHRoaXMgZmFpbHMg
VGVzdE5hbWVkQ29uc3RydWN0b3IgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQg
dG8gYWRkIHRoZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlck5vSWRl
bnRpZmllci5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9GdW5jdGlvblBy
b3RvdHlwZS5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0
Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5oPgogCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTI1Myw5ICsyNTQsOSBAQCBKU0M6OkpTVmFsdWUgdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQogICAg
IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihp
bXBsLnB0cigpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxl
UG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3RO
YW1lZERlbGV0ZXJOb0lkZW50aWZpZXJAV2ViQ29yZUBANkJAIikpOworICAgIHZvaWQqIGV4cGVj
dGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElP
TihfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyQFdlYkNvcmVA
QDZCQCIpKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZO
N1dlYkNvcmUyOFRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXJFWzJdOworICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVD
VElPTigmX1pUVk43V2ViQ29yZTI4VGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllckVbMl0pOwog
I2VuZGlmCiAKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZp
ZXIgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRl
clRocm93aW5nRXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb24u
Y3BwCShyZXZpc2lvbiAyMjc3MDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9GdW5jdGlvblByb3Rv
dHlwZS5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi9H
ZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5oPgogCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTI2Nyw5ICsyNjgsOSBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5
Q3JlYXRlZChKU0M6OkV4ZWNTCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQogICAgIHZv
aWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBs
LnB0cigpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9p
bnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1l
ZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbkBXZWJDb3JlQEA2QkAiKSk7CisgICAgdm9pZCogZXhw
ZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNU
SU9OKF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbkBX
ZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
ICZfWlRWTjdXZWJDb3JlMzNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb25FWzJdOwor
ICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRF
Ul9GT1JfSU5TUEVDVElPTigmX1pUVk43V2ViQ29yZTMzVGVzdE5hbWVkRGVsZXRlclRocm93aW5n
RXhjZXB0aW9uRVsyXSk7CiAjZW5kaWYKIAogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVk
RGVsZXRlclRocm93aW5nRXhjZXB0aW9uIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBu
ZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRl
cldpdGhJZGVudGlmaWVyLmNwcAkocmV2aXNpb24gMjI3NzAwKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUv
RnVuY3Rpb25Qcm90b3R5cGUuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNp
bmNsdWRlIDx3dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMu
aD4KIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yODQsOSArMjg1LDkgQEAgSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVH
UklUWSkKICAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0
PHZvaWQqKj4oaW1wbC5wdHIoKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIo
Ij8/XzdUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXJAV2ViQ29yZUBANkJAIikpOworICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9G
T1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWREZWxldGVyV2l0aElkZW50
aWZpZXJAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSAmX1pUVk43V2ViQ29yZTMwVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyRVsy
XTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BP
SU5URVJfRk9SX0lOU1BFQ1RJT04oJl9aVFZON1dlYkNvcmUzMFRlc3ROYW1lZERlbGV0ZXJXaXRo
SWRlbnRpZmllckVbMl0pOwogI2VuZGlmCiAKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1l
ZERlbGV0ZXJXaXRoSWRlbnRpZmllciBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVl
ZCB0byBhZGQgdGhlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0
ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhl
ZEdldHRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlIDxy
dW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDxydW50aW1lL1Byb3BlcnR5TmFtZUFycmF5
Lmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFy
YXRpb25zLmg+CiAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjcxLDkgKzI3Miw5IEBAIEpT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICNpZiBFTkFCTEUoQklORElO
R19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9p
ZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVu
dGlmaWVyKCI/P183VGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyQFdlYkNvcmVAQDZC
QCIpKTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJM
X1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkRGVsZXRl
cldpdGhJbmRleGVkR2V0dGVyQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCi0gICAgdm9pZCogZXhw
ZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzM1Rlc3ROYW1lZERlbGV0ZXJXaXRo
SW5kZXhlZEdldHRlckVbMl07CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RG
X1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZfWlRWTjdXZWJDb3JlMzNUZXN0
TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXJFWzJdKTsKICNlbmRpZgogCiAgICAgLy8gSWYg
dGhpcyBmYWlscyBUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIgZG9lcyBub3QgaGF2
ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGguY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZEdldHRlckNhbGxXaXRoLmNwcAkocmV2aXNpb24gMjI3NzAwKQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGgu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9G
dW5jdGlvblByb3RvdHlwZS5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSW5saW5lcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5o
PgogCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTIzMiw5ICsyMzMsOSBAQCBKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdS
SVRZKQogICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8
dm9pZCoqPihpbXBsLnB0cigpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVj
dGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigi
Pz9fN1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoQFdlYkNvcmVAQDZCQCIpKTsKKyAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BF
Q1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGhAV2ViQ29yZUBA
NkJAIikpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43
V2ViQ29yZTIzVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGhFWzJdOworICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigm
X1pUVk43V2ViQ29yZTIzVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGhFWzJdKTsKICNlbmRpZgogCiAg
ICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aCBkb2VzIG5vdCBoYXZl
IGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllci5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlck5v
SWRlbnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRl
IDxydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxp
bmVzLmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJl
cGFyYXRpb25zLmg+CiAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjMyLDkgKzIzMyw5IEBA
IEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICNpZiBFTkFCTEUoQklO
RElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRl
cnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAg
dm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19p
ZGVudGlmaWVyKCI/P183VGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIp
KTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BP
SU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkR2V0dGVyTm9J
ZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyN1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllckVb
Ml07CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9Q
T0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZfWlRWTjdXZWJDb3JlMjdUZXN0TmFtZWRHZXR0ZXJOb0lk
ZW50aWZpZXJFWzJdKTsKICNlbmRpZgogCiAgICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TmFtZWRH
ZXR0ZXJOb0lkZW50aWZpZXIgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8g
YWRkIHRoZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlcldpdGhJZGVu
dGlmaWVyLmNwcAkocmV2aXNpb24gMjI3NzAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9GdW5jdGlvblBy
b3RvdHlwZS5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0
Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5oPgogCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTI2MCw5ICsyNjEsOSBAQCBKU0M6OkpTVmFsdWUgdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQogICAg
IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihp
bXBsLnB0cigpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxl
UG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3RO
YW1lZEdldHRlcldpdGhJZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpKTsKKyAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJ
T04oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXJAV2ViQ29y
ZUBANkJAIikpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pU
Vk43V2ViQ29yZTI5VGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXJFWzJdOworICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5T
UEVDVElPTigmX1pUVk43V2ViQ29yZTI5VGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXJFWzJd
KTsKICNlbmRpZgogCiAgICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TmFtZWRHZXR0ZXJXaXRoSWRl
bnRpZmllciBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRT
ZXR0ZXJOb0lkZW50aWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllci5jcHAJKHJl
dmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMw
LDYgKzMwLDcgQEAKICNpbmNsdWRlIDxydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg+CiAjaW5j
bHVkZSA8cnVudGltZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgorI2lu
Y2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+CiAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtMjk0LDkgKzI5NSw5IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6
RXhlY1MKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRh
YmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKICNp
ZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRl
cnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyTm9JZGVu
dGlmaWVyQFdlYkNvcmVAQDZCQCIpKTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/
P183VGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCi0g
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyN1Rlc3ROYW1l
ZFNldHRlck5vSWRlbnRpZmllckVbMl07CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZfWlRWTjdXZWJDb3Jl
MjdUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXJFWzJdKTsKICNlbmRpZgogCiAgICAgLy8gSWYg
dGhpcyBmYWlscyBUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIgZG9lcyBub3QgaGF2ZSBhIHZ0
YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMjI3NzAwKQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBA
CiAjaW5jbHVkZSA8cnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oPgogI2luY2x1ZGUgPHJ1bnRp
bWUvSlNDSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UG9pbnRlclByZXBhcmF0aW9ucy5oPgogCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTI5NCw5
ICsyOTUsOSBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAjaWYg
RU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQogICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIg
PSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CiAjaWYgUExBVEZPUk0o
V0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8
dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9u
QFdlYkNvcmVAQDZCQCIpKTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZf
UFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVz
dE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25AV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKLSAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTMyVGVzdE5hbWVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb25FWzJdOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9p
bnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigmX1pUVk43V2Vi
Q29yZTMyVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25FWzJdKTsKICNlbmRpZgogCiAg
ICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBkb2Vz
IG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRl
bnRpZmllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAy
Mjc3MDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMx
LDcgQEAKICNpbmNsdWRlIDxydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg+CiAjaW5jbHVkZSA8
cnVudGltZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+CiAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
MzI1LDkgKzMyNiw5IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MK
ICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9p
bnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKICNpZiBQTEFU
Rk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRf
Y2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZp
ZXJAV2ViQ29yZUBANkJAIikpOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdU
Rl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdU
ZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQotICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjlUZXN0TmFtZWRT
ZXR0ZXJXaXRoSWRlbnRpZmllckVbMl07CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZfWlRWTjdXZWJDb3Jl
MjlUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllckVbMl0pOwogI2VuZGlmCiAKICAgICAvLyBJ
ZiB0aGlzIGZhaWxzIFRlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyIGRvZXMgbm90IGhhdmUg
YSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAJKHJldmlzaW9uIDIyNzcw
MCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZFNldHRlcldpdGhJbmRleGVkR2V0dGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQs
NyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSW5saW5lcy5oPgogI2luY2x1ZGUgPHJ1bnRpbWUv
UHJvcGVydHlOYW1lQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8
d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0z
NjgsOSArMzY5LDkgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwog
I2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2lu
dGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOwogI2lmIFBMQVRG
T1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9j
YXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdl
dHRlckBXZWJDb3JlQEA2QkAiKSk7CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0g
V1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9f
N1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNl
Ci0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzMlRlc3RO
YW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyRVsyXTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oJl9aVFZO
N1dlYkNvcmUzMlRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyRVsyXSk7CiAjZW5kaWYK
IAogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIg
ZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0
aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0
dGVyQW5kU2V0dGVyLmNwcAkocmV2aXNpb24gMjI3NzAwKQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJB
bmRTZXR0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8
cnVudGltZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8cnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJh
eS5oPgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBh
cmF0aW9ucy5oPgogCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxOCw5ICs0MTksOSBAQCBK
U0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAjaWYgRU5BQkxFKEJJTkRJ
TkdfSU5URUdSSVRZKQogICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJw
cmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRl
bnRpZmllcigiPz9fN1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyQFdl
YkNvcmVAQDZCQCIpKTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJF
UEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdE5h
bWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXJAV2ViQ29yZUBANkJAIikpOwogI2Vs
c2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTQxVGVz
dE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXJFWzJdOworICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVD
VElPTigmX1pUVk43V2ViQ29yZTQxVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRT
ZXR0ZXJFWzJdKTsKICNlbmRpZgogCiAgICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TmFtZWRTZXR0
ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlciBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5
b3UgbmVlZCB0byBhZGQgdGhlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoT3ZlcnJpZGVCdWlsdGlucy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5h
bWVkU2V0dGVyV2l0aE92ZXJyaWRlQnVpbHRpbnMuY3BwCShyZXZpc2lvbiAyMjc3MDApCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJX
aXRoT3ZlcnJpZGVCdWlsdGlucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAK
ICNpbmNsdWRlIDxydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg+CiAjaW5jbHVkZSA8cnVudGlt
ZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUgPHd0Zi9Q
b2ludGVyUHJlcGFyYXRpb25zLmg+CiAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjgxLDkg
KzI4Miw5IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICNpZiBF
TkFCTEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9
ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKICNpZiBQTEFURk9STShX
SU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2
b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyV2l0aE92ZXJyaWRlQnVpbHRp
bnNAV2ViQ29yZUBANkJAIikpOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdU
Rl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdU
ZXN0TmFtZWRTZXR0ZXJXaXRoT3ZlcnJpZGVCdWlsdGluc0BXZWJDb3JlQEA2QkAiKSk7CiAjZWxz
ZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzVUZXN0
TmFtZWRTZXR0ZXJXaXRoT3ZlcnJpZGVCdWlsdGluc0VbMl07CisgICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZf
WlRWTjdXZWJDb3JlMzVUZXN0TmFtZWRTZXR0ZXJXaXRoT3ZlcnJpZGVCdWlsdGluc0VbMl0pOwog
I2VuZGlmCiAKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZFNldHRlcldpdGhPdmVycmlk
ZUJ1aWx0aW5zIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aFVu
Zm9yZ2FibGVQcm9wZXJ0aWVzLmNwcAkocmV2aXNpb24gMjI3NzAwKQorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2Fi
bGVQcm9wZXJ0aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1
ZGUgPHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0lu
bGluZXMuaD4KICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQ
cmVwYXJhdGlvbnMuaD4KIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNjMsOSArMzY0LDkg
QEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogI2lmIEVOQUJMRShC
SU5ESU5HX0lOVEVHUklUWSkKICAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWlu
dGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihf
X2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJsZVByb3BlcnRpZXNA
V2ViQ29yZUBANkJAIikpOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9Q
UkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0
TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJsZVByb3BlcnRpZXNAV2ViQ29yZUBANkJAIikpOwogI2Vs
c2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTM5VGVz
dE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzRVsyXTsKKyAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJ
T04oJl9aVFZON1dlYkNvcmUzOVRlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGll
c0VbMl0pOwogI2VuZGlmCiAKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZFNldHRlcldp
dGhVbmZvcmdhYmxlUHJvcGVydGllcyBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVl
ZCB0byBhZGQgdGhlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJsZVByb3BlcnRpZXNBbmRPdmVycmlkZUJ1
aWx0aW5zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJsZVByb3BlcnRpZXNBbmRPdmVy
cmlkZUJ1aWx0aW5zLmNwcAkocmV2aXNpb24gMjI3NzAwKQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9w
ZXJ0aWVzQW5kT3ZlcnJpZGVCdWlsdGlucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMy
LDcgQEAKICNpbmNsdWRlIDxydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg+CiAjaW5jbHVkZSA8
cnVudGltZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+CiAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
MzUwLDkgKzM1MSw5IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MK
ICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9p
bnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKICNpZiBQTEFU
Rk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRf
Y2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2Fi
bGVQcm9wZXJ0aWVzQW5kT3ZlcnJpZGVCdWlsdGluc0BXZWJDb3JlQEA2QkAiKSk7CisgICAgdm9p
ZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9J
TlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxl
UHJvcGVydGllc0FuZE92ZXJyaWRlQnVpbHRpbnNAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKLSAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTU4VGVzdE5hbWVk
U2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzQW5kT3ZlcnJpZGVCdWlsdGluc0VbMl07Cisg
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVS
X0ZPUl9JTlNQRUNUSU9OKCZfWlRWTjdXZWJDb3JlNThUZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3Jn
YWJsZVByb3BlcnRpZXNBbmRPdmVycmlkZUJ1aWx0aW5zRVsyXSk7CiAjZW5kaWYKIAogICAgIC8v
IElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzQW5k
T3ZlcnJpZGVCdWlsdGlucyBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBh
ZGQgdGhlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Tm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCShyZXZpc2lvbiAyMjc3MDApCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNp
bmNsdWRlIDxydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+CiAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNDI2LDkgKzQyNyw5IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVh
dGVkKEpTQzo6RXhlY1MKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCog
YWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRy
KCkpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdE5vZGVAV2Vi
Q29yZUBANkJAIikpOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQ
QVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0Tm9k
ZUBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9ICZfWlRWTjdXZWJDb3JlOFRlc3ROb2RlRVsyXTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oJl9aVFZO
N1dlYkNvcmU4VGVzdE5vZGVFWzJdKTsKICNlbmRpZgogCiAgICAgLy8gSWYgdGhpcyBmYWlscyBU
ZXN0Tm9kZSBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T2JqLmNwcAkocmV2aXNpb24gMjI3NzAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkwLDYg
KzkwLDcgQEAKICNpbmNsdWRlIDxydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmg+CiAjaW5jbHVk
ZSA8cnVudGltZS9Qcm9wZXJ0eU5hbWVBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4K
KyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9WYXJp
YW50Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC04MDIwLDkgKzgwMjEsOSBAQCBK
U0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAjaWYgRU5BQkxFKEJJTkRJ
TkdfSU5URUdSSVRZKQogICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJw
cmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRl
bnRpZmllcigiPz9fN1Rlc3RPYmpAV2ViQ29yZUBANkJAIikpOworICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihf
X2lkZW50aWZpZXIoIj8/XzdUZXN0T2JqQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCi0gICAgdm9p
ZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmU3VGVzdE9iakVbMl07Cisg
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVS
X0ZPUl9JTlNQRUNUSU9OKCZfWlRWTjdXZWJDb3JlN1Rlc3RPYmpFWzJdKTsKICNlbmRpZgogCiAg
ICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0T2JqIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlv
dSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9ycy5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDx3
dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KIAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yNzcsOSArMjc4LDkgQEAgSlNDOjpKU1ZhbHVlIHRvSlNO
ZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAg
ICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4o
aW1wbC5wdHIoKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0BXZWJDb3JlQEA2QkAiKSk7CisgICAgdm9pZCogZXhwZWN0
ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9O
KF9faWRlbnRpZmllcigiPz9fN1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQFdlYkNvcmVAQDZC
QCIpKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dl
YkNvcmUyNlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzRVsyXTsKKyAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04o
Jl9aVFZON1dlYkNvcmUyNlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzRVsyXSk7CiAjZW5kaWYK
IAogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMgZG9lcyBu
b3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnNXaXRoU2VxdWVuY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNl
LmNwcAkocmV2aXNpb24gMjI3NzAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9KU0FycmF5
Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+CiAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtMjMzLDkgKzIzNCw5IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVh
dGVkKEpTQzo6RXhlY1MKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCog
YWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRy
KCkpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2VAV2ViQ29yZUBANkJAIikpOworICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVD
VElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1
ZW5jZUBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9p
bnRlciA9ICZfWlRWTjdXZWJDb3JlMzhUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1
ZW5jZUVbMl07CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVf
VlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZfWlRWTjdXZWJDb3JlMzhUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZUVbMl0pOwogI2VuZGlmCiAKICAgICAvLyBJZiB0aGlz
IGZhaWxzIFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlIGRvZXMgbm90IGhh
dmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T3ZlcnJpZGVCdWlsdGlucy5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDx3
dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KIAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yNjMsOSArMjY0LDkgQEAgSlNDOjpKU1ZhbHVlIHRvSlNO
ZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAg
ICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4o
aW1wbC5wdHIoKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0
T3ZlcnJpZGVCdWlsdGluc0BXZWJDb3JlQEA2QkAiKSk7CisgICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRl
bnRpZmllcigiPz9fN1Rlc3RPdmVycmlkZUJ1aWx0aW5zQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNl
Ci0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyMFRlc3RP
dmVycmlkZUJ1aWx0aW5zRVsyXTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBX
VEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oJl9aVFZON1dlYkNvcmUyMFRl
c3RPdmVycmlkZUJ1aWx0aW5zRVsyXSk7CiAjZW5kaWYKIAogICAgIC8vIElmIHRoaXMgZmFpbHMg
VGVzdE92ZXJyaWRlQnVpbHRpbnMgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQg
dG8gYWRkIHRoZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFBsdWdpbkludGVyZmFjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFBsdWdpbkludGVyZmFjZS5jcHAJKHJldmlz
aW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RQbHVnaW5JbnRlcmZhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBA
CiAjaW5jbHVkZSA8cnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oPgogI2luY2x1ZGUgPHJ1bnRp
bWUvSlNDSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UG9pbnRlclByZXBhcmF0aW9ucy5oPgogCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTIzNiw5
ICsyMzcsOSBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAjaWYg
RU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQogICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIg
PSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CiAjaWYgUExBVEZPUk0o
V0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8
dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3RQbHVnaW5JbnRlcmZhY2VAV2ViQ29yZUBANkJA
IikpOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxf
UE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0UGx1Z2luSW50ZXJm
YWNlQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gJl9aVFZON1dlYkNvcmUxOVRlc3RQbHVnaW5JbnRlcmZhY2VFWzJdOworICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5T
UEVDVElPTigmX1pUVk43V2ViQ29yZTE5VGVzdFBsdWdpbkludGVyZmFjZUVbMl0pOwogI2VuZGlm
CiAKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RQbHVnaW5JbnRlcmZhY2UgZG9lcyBub3QgaGF2
ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9u
RXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiSlNE
T01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNs
dWRlIDx3dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4K
IAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yNjksOSArMjcwLDkgQEAgSlNDOjpKU1ZhbHVl
IHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklU
WSkKICAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZv
aWQqKj4oaW1wbC5wdHIoKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/
XzdUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50QFdlYkNvcmVAQDZCQCIpKTsKKyAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BF
Q1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdFByb21pc2VSZWplY3Rpb25FdmVudEBXZWJDb3Jl
QEA2QkAiKSk7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRW
TjdXZWJDb3JlMjVUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50RVsyXTsKKyAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJ
T04oJl9aVFZON1dlYkNvcmUyNVRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnRFWzJdKTsKICNlbmRp
ZgogCiAgICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50IGRvZXMg
bm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U2VyaWFsaXphdGlvbi5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSW5saW5lcy5o
PgogI2luY2x1ZGUgPHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaD4KICNpbmNsdWRlIDx3dGYv
R2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KIAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC01NzAsOSArNTcxLDkgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXds
eUNyZWF0ZWQoSlNDOjpFeGVjUwogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAgICB2
b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1w
bC5wdHIoKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0U2Vy
aWFsaXphdGlvbkBXZWJDb3JlQEA2QkAiKSk7CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmll
cigiPz9fN1Rlc3RTZXJpYWxpemF0aW9uQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCi0gICAgdm9p
ZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUxN1Rlc3RTZXJpYWxpemF0
aW9uRVsyXTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9W
VEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oJl9aVFZON1dlYkNvcmUxN1Rlc3RTZXJpYWxpemF0
aW9uRVsyXSk7CiAjZW5kaWYKIAogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdFNlcmlhbGl6YXRp
b24gZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6YXRp
b25JbmRpcmVjdEluaGVyaXRhbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXphdGlvbkluZGlyZWN0SW5oZXJp
dGFuY2UuY3BwCShyZXZpc2lvbiAyMjc3MDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXphdGlvbkluZGlyZWN0SW5oZXJpdGFuY2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiSlNET01XcmFwcGVy
Q2FjaGUuaCIKICNpbmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYv
R2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KIAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0U2VyaWFsaXphdGlvbkluaGVyaXQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uSW5o
ZXJpdC5jcHAJKHJldmlzaW9uIDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uSW5oZXJpdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNp
bmNsdWRlIDxydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+CiAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFNlcmlhbGl6YXRpb25Jbmhlcml0RmluYWwuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uSW5o
ZXJpdEZpbmFsLmNwcAkocmV2aXNpb24gMjI3NzAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6YXRpb25Jbmhlcml0RmluYWwuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxp
bmVzLmg+CiAjaW5jbHVkZSA8cnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oPgogI2luY2x1ZGUg
PHd0Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5oPgogCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCShyZXZpc2lvbiAyMjc3MDApCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQAog
I2luY2x1ZGUgPHJ1bnRpbWUvSlNBcnJheS5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSW5saW5l
cy5oPgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBh
cmF0aW9ucy5oPgogCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM3Myw5ICszNzQsOSBAQCBK
U0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAjaWYgRU5BQkxFKEJJTkRJ
TkdfSU5URUdSSVRZKQogICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJw
cmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRl
bnRpZmllcigiPz9fN1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VAV2ViQ29yZUBA
NkJAIikpOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZU
QkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCi0gICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzNFRlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2VFWzJdOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigmX1pUVk43V2ViQ29yZTM0
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUVbMl0pOwogI2VuZGlmCiAKICAgICAv
LyBJZiB0aGlzIGZhaWxzIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UgZG9lcyBu
b3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
U3RyaW5naWZpZXIuY3BwCShyZXZpc2lvbiAyMjc3MDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5o
PgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5oPgogCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTIwNyw5ICsyMDgsOSBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChKU0M6OkV4ZWNTCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQogICAgIHZvaWQqIGFj
dHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigp
KSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3RTdHJpbmdpZmll
ckBXZWJDb3JlQEA2QkAiKSk7CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RG
X1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rl
c3RTdHJpbmdpZmllckBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMTVUZXN0U3RyaW5naWZpZXJFWzJdOworICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9G
T1JfSU5TUEVDVElPTigmX1pUVk43V2ViQ29yZTE1VGVzdFN0cmluZ2lmaWVyRVsyXSk7CiAjZW5k
aWYKIAogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdFN0cmluZ2lmaWVyIGRvZXMgbm90IGhhdmUg
YSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlv
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uLmNwcAkocmV2aXNpb24gMjI3
NzAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0
cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiAr
MzAsNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaD4KICNpbmNsdWRl
IDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0yMDcsOSArMjA4LDkgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVj
UwogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAgICB2b2lkKiBhY3R1YWxWVGFibGVQ
b2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOwogI2lmIFBM
QVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJl
dF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNP
cGVyYXRpb25AV2ViQ29yZUBANkJAIikpOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIo
Ij8/XzdUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb25AV2ViQ29yZUBANkJAIikpOwog
I2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTMz
VGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uRVsyXTsKKyAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04o
Jl9aVFZON1dlYkNvcmUzM1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbkVbMl0pOwog
I2VuZGlmCiAKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RTdHJpbmdpZmllckFub255bW91c09w
ZXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5n
aWZpZXJOYW1lZE9wZXJhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24uY3Bw
CShyZXZpc2lvbiAyMjc3MDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg+
CiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+CiAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtMjIyLDkgKzIyMyw5IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTQzo6RXhlY1MKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCiAgICAgdm9pZCogYWN0
dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkp
KTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0g
cmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVyKCI/P183VGVzdFN0cmluZ2lmaWVy
TmFtZWRPcGVyYXRpb25AV2ViQ29yZUBANkJAIikpOworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxl
UG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50
aWZpZXIoIj8/XzdUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbkBXZWJDb3JlQEA2QkAiKSk7
CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3Jl
MjlUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbkVbMl07CisgICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZf
WlRWTjdXZWJDb3JlMjlUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbkVbMl0pOwogI2VuZGlm
CiAKICAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uIGRv
ZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJh
dGlvbkltcGxlbWVudGVkQXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVk
QXMuY3BwCShyZXZpc2lvbiAyMjc3MDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvRnVuY3Rp
b25Qcm90b3R5cGUuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRl
IDx3dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KIAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yMjIsOSArMjIzLDkgQEAgSlNDOjpKU1ZhbHVlIHRv
SlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkK
ICAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQq
Kj4oaW1wbC5wdHIoKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdU
ZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzQFdlYkNvcmVAQDZCQCIpKTsKKyAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJf
Rk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9u
SW1wbGVtZW50ZWRBc0BXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzdUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25J
bXBsZW1lbnRlZEFzRVsyXTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZf
UFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oJl9aVFZON1dlYkNvcmUzN1Rlc3RT
dHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXNFWzJdKTsKICNlbmRpZgogCiAgICAgLy8g
SWYgdGhpcyBmYWlscyBUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzIGRvZXMg
bm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlv
bk5hbWVkVG9TdHJpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcu
Y3BwCShyZXZpc2lvbiAyMjc3MDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDx3
dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KIAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yMDcsOSArMjA4LDkgQEAgSlNDOjpKU1ZhbHVlIHRvSlNO
ZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAg
ICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4o
aW1wbC5wdHIoKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0
U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nQFdlYkNvcmVAQDZCQCIpKTsKKyAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9S
X0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFt
ZWRUb1N0cmluZ0BXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRh
YmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzdUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1l
ZFRvU3RyaW5nRVsyXTsKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJF
UEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oJl9aVFZON1dlYkNvcmUzN1Rlc3RTdHJp
bmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmdFWzJdKTsKICNlbmRpZgogCiAgICAgLy8gSWYg
dGhpcyBmYWlscyBUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nIGRvZXMgbm90
IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0
cmlidXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZS5jcHAJKHJldmlzaW9u
IDIyNzcwMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEs
NiArMzEsNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaD4KICNpbmNs
dWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CisjaW5j
bHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC0yMjksOSArMjMwLDkgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpF
eGVjUwogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKICAgICB2b2lkKiBhY3R1YWxWVGFi
bGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOwogI2lm
IFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVy
cHJldF9jYXN0PHZvaWQqPihfX2lkZW50aWZpZXIoIj8/XzdUZXN0U3RyaW5naWZpZXJSZWFkT25s
eUF0dHJpYnV0ZUBXZWJDb3JlQEA2QkAiKSk7CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmll
cigiPz9fN1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlQFdlYkNvcmVAQDZCQCIpKTsK
ICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUz
MlRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlRVsyXTsKKyAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04o
Jl9aVFZON1dlYkNvcmUzMlRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlRVsyXSk7CiAj
ZW5kaWYKIAogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRy
aWJ1dGUgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lm
aWVyUmVhZFdyaXRlQXR0cmlidXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1
dGUuY3BwCShyZXZpc2lvbiAyMjc3MDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9GdW5jdGlvblBy
b3RvdHlwZS5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0
Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5oPgogCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTI0Nyw5ICsyNDgsOSBAQCBKU0M6OkpTVmFsdWUgdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQogICAg
IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihp
bXBsLnB0cigpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxl
UG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9faWRlbnRpZmllcigiPz9fN1Rlc3RT
dHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZUBXZWJDb3JlQEA2QkAiKSk7CisgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQ
RUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0
ZUBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9ICZfWlRWTjdXZWJDb3JlMzNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGVFWzJd
OworICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9J
TlRFUl9GT1JfSU5TUEVDVElPTigmX1pUVk43V2ViQ29yZTMzVGVzdFN0cmluZ2lmaWVyUmVhZFdy
aXRlQXR0cmlidXRlRVsyXSk7CiAjZW5kaWYKIAogICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdFN0
cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlv
dSBuZWVkIHRvIGFkZCB0aGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAkocmV2aXNpb24gMjI3
NzAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5
cGVkZWZzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1ZGUgPHJ1
bnRpbWUvSlNBcnJheS5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSW5saW5lcy5oPgogI2luY2x1
ZGUgPHd0Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5oPgog
I2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAKIApAQCAtNzY5LDkgKzc3MCw5IEBAIEpTQzo6SlNW
YWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKICNpZiBFTkFCTEUoQklORElOR19JTlRF
R1JJVFkpCiAgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2Fz
dDx2b2lkKio+KGltcGwucHRyKCkpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhw
ZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVy
KCI/P183VGVzdFR5cGVkZWZzQFdlYkNvcmVAQDZCQCIpKTsKKyAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19p
ZGVudGlmaWVyKCI/P183VGVzdFR5cGVkZWZzQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCi0gICAg
dm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUxMlRlc3RUeXBlZGVm
c0VbMl07CisgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRC
TF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZfWlRWTjdXZWJDb3JlMTJUZXN0VHlwZWRlZnNFWzJd
KTsKICNlbmRpZgogCiAgICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0VHlwZWRlZnMgZG9lcyBub3Qg
aGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>