<?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>183947</bug_id>
          
          <creation_ts>2018-03-23 12:37:03 -0700</creation_ts>
          <short_desc>Add pointer profiling hooks to the CSS JIT.</short_desc>
          <delta_ts>2018-03-23 16:29:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>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>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>1408827</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-03-23 12:37:03 -0700</bug_when>
    <thetext>Patch coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408828</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-23 12:38:07 -0700</bug_when>
    <thetext>&lt;rdar://problem/38803593&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408835</commentid>
    <comment_count>2</comment_count>
      <attachid>336408</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-03-23 12:48:41 -0700</bug_when>
    <thetext>Created attachment 336408
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408845</commentid>
    <comment_count>3</comment_count>
      <attachid>336408</attachid>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-03-23 12:55:26 -0700</bug_when>
    <thetext>Comment on attachment 336408
proposed patch.

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

New failing tests:
(JS) JSTestCallTracer.cpp
(JS) JSTestCEReactions.cpp
(JS) JSTestCEReactionsStringifier.cpp
(JS) JSTestClassWithJSBuiltinConstructor.cpp
(JS) JSTestCustomConstructorWithNoInterfaceObject.cpp
(JS) JSTestActiveDOMObject.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) JSTestIterable.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) 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>1408849</commentid>
    <comment_count>4</comment_count>
      <attachid>336415</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-03-23 13:10:26 -0700</bug_when>
    <thetext>Created attachment 336415
proposed patch w/ updated bindings test results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408850</commentid>
    <comment_count>5</comment_count>
      <attachid>336408</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2018-03-23 13:11:27 -0700</bug_when>
    <thetext>Comment on attachment 336408
proposed patch.

r=me modulo tests fail</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408853</commentid>
    <comment_count>6</comment_count>
      <attachid>336415</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-03-23 13:14:32 -0700</bug_when>
    <thetext>Comment on attachment 336415
proposed patch w/ updated bindings test results.

JF already r+ed.  The failures were binding tests that just need to be rebased.  Will wait for EWS to confirm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408950</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-03-23 16:29:03 -0700</bug_when>
    <thetext>Thanks for the review.  Landed in r229931: &lt;http://trac.webkit.org/r229931&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336408</attachid>
            <date>2018-03-23 12:48:41 -0700</date>
            <delta_ts>2018-03-23 13:11:27 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-183947.patch</filename>
            <type>text/plain</type>
            <size>13662</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyOTkxMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE4LTAzLTIzICBNYXJrIExh
bSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcG9pbnRlciBwcm9maWxpbmcg
aG9va3MgdG8gdGhlIENTUyBKSVQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODM5NDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4ODAzNTkzPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyBuZWVkZWQuICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUltcGxl
bWVudGF0aW9uKToKKyAgICAgICAgLSBBZGRlZCBhIG1pc3NpbmcgYXBwbGljYXRpb24gb2YgV1RG
X1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCkuCisKKyAgICAgICAgKiBjc3Mv
RWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJ1bGVD
b2xsZWN0b3I6OnJ1bGVNYXRjaGVzKToKKyAgICAgICAgKiBjc3NqaXQvU2VsZWN0b3JDb21waWxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpTZWxlY3RvckNvZGVH
ZW5lcmF0b3I6OmNvbXBpbGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxlcjo6
U2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZVNlbGVjdG9yQ2hlY2tlcik6CisgICAgICAg
ICogY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9y
Q29tcGlsZXI6OnJ1bGVDb2xsZWN0b3JTaW1wbGVTZWxlY3RvckNoZWNrZXJGdW5jdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpxdWVyeVNlbGVjdG9yU2ltcGxlU2Vs
ZWN0b3JDaGVja2VyRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxl
cjo6cnVsZUNvbGxlY3RvclNlbGVjdG9yQ2hlY2tlckZ1bmN0aW9uV2l0aENoZWNraW5nQ29udGV4
dCk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpxdWVyeVNlbGVjdG9yU2Vs
ZWN0b3JDaGVja2VyRnVuY3Rpb25XaXRoQ2hlY2tpbmdDb250ZXh0KToKKyAgICAgICAgKiBkb20v
U2VsZWN0b3JRdWVyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckRhdGFMaXN0Ojpl
eGVjdXRlQ29tcGlsZWRTaW5nbGVNdWx0aVNlbGVjdG9yRGF0YSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpTZWxlY3RvckRhdGFMaXN0OjpleGVjdXRlIGNvbnN0KToKKwogMjAxOC0wMy0yMyAg
RGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFN0b3AgdXNpbmcg
ZGlzcGF0Y2hfc2V0X3RhcmdldF9xdWV1ZSgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkocmV2aXNpb24gMjI5OTEzKQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHdv
cmtpbmcgY29weSkKQEAgLTQ2MjksNyArNDYyOSw3IEBAIEVORAogICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgPDxFTkQpIGlmICR2dGFibGVOYW1lR251OwogCiAjaWYgRU5BQkxFKEJJTkRJTkdf
SU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0
X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRl
ciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigqKHJlaW50ZXJwcmV0
X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lO
U1BFQ1RJT04oJHt2dGFibGVSZWZXaW59KTsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9j
c3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAJKHJldmlzaW9uIDIyOTkxMykKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTIsNyArMiw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2Rl
Lm9yZykKICAqICAgICAgICAgICAoQykgMjAwNC0yMDA1IEFsbGFuIFNhbmRmZWxkIEplbnNlbiAo
a2RlQGNhcmV3b2xmLmNvbSkKICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBOaWNob2xhcyBT
aGFua3MgKHdlYmtpdEBuaWNrc2hhbmtzLmNvbSkKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAw
NiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxOCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5
IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwNywgMjAw
OCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgogICogQ29weXJpZ2h0IChDKSAyMDA4LCAy
MDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRv
cmNobW9iaWxlLmNvbS8pCkBAIC0zOTIsNyArMzkyLDcgQEAgaW5saW5lIGJvb2wgRWxlbWVudFJ1
bGVDb2xsZWN0b3I6OnJ1bGVNYQogICAgIH0KIAogICAgIGlmIChjb21waWxlZFNlbGVjdG9yQ2hl
Y2tlciAmJiBjb21waWxlZFNlbGVjdG9yLnN0YXR1cyA9PSBTZWxlY3RvckNvbXBpbGF0aW9uU3Rh
dHVzOjpTaW1wbGVTZWxlY3RvckNoZWNrZXIpIHsKLSAgICAgICAgYXV0byBzZWxlY3RvckNoZWNr
ZXIgPSBTZWxlY3RvckNvbXBpbGVyOjpydWxlQ29sbGVjdG9yU2ltcGxlU2VsZWN0b3JDaGVja2Vy
RnVuY3Rpb24oY29tcGlsZWRTZWxlY3RvckNoZWNrZXIsIGNvbXBpbGVkU2VsZWN0b3Iuc3RhdHVz
KTsKKyAgICAgICAgYXV0byBzZWxlY3RvckNoZWNrZXIgPSBTZWxlY3RvckNvbXBpbGVyOjpydWxl
Q29sbGVjdG9yU2ltcGxlU2VsZWN0b3JDaGVja2VyRnVuY3Rpb24oY29tcGlsZWRTZWxlY3Rvci5j
b2RlUmVmLCBjb21waWxlZFNlbGVjdG9yQ2hlY2tlciwgY29tcGlsZWRTZWxlY3Rvci5zdGF0dXMp
OwogI2lmICFBU1NFUlRfTVNHX0RJU0FCTEVECiAgICAgICAgIHVuc2lnbmVkIGlnbm9yZVNwZWNp
ZmljaXR5OwogICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzZWxlY3RvckNoZWNrZXIoJm1f
ZWxlbWVudCwgJmlnbm9yZVNwZWNpZmljaXR5KSB8fCBtX3BzZXVkb1N0eWxlUmVxdWVzdC5wc2V1
ZG9JZCA9PSBOT1BTRVVETywgIldoZW4gbWF0Y2hpbmcgcHNldWRvIGVsZW1lbnRzLCB3ZSBzaG91
bGQgbmV2ZXIgY29tcGlsZSBhIHNlbGVjdG9yIGNoZWNrZXIgd2l0aG91dCBjb250ZXh0IHVubGVz
cyBpdCBjYW5ub3QgbWF0Y2ggYW55dGhpbmcuIik7CkBAIC00MjAsNyArNDIwLDcgQEAgaW5saW5l
IGJvb2wgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OnJ1bGVNYQogICAgIGlmIChjb21waWxlZFNlbGVj
dG9yQ2hlY2tlcikgewogICAgICAgICBBU1NFUlQoY29tcGlsZWRTZWxlY3Rvci5zdGF0dXMgPT0g
U2VsZWN0b3JDb21waWxhdGlvblN0YXR1czo6U2VsZWN0b3JDaGVja2VyV2l0aENoZWNraW5nQ29u
dGV4dCk7CiAKLSAgICAgICAgYXV0byBzZWxlY3RvckNoZWNrZXIgPSBTZWxlY3RvckNvbXBpbGVy
OjpydWxlQ29sbGVjdG9yU2VsZWN0b3JDaGVja2VyRnVuY3Rpb25XaXRoQ2hlY2tpbmdDb250ZXh0
KGNvbXBpbGVkU2VsZWN0b3JDaGVja2VyLCBjb21waWxlZFNlbGVjdG9yLnN0YXR1cyk7CisgICAg
ICAgIGF1dG8gc2VsZWN0b3JDaGVja2VyID0gU2VsZWN0b3JDb21waWxlcjo6cnVsZUNvbGxlY3Rv
clNlbGVjdG9yQ2hlY2tlckZ1bmN0aW9uV2l0aENoZWNraW5nQ29udGV4dChjb21waWxlZFNlbGVj
dG9yLmNvZGVSZWYsIGNvbXBpbGVkU2VsZWN0b3JDaGVja2VyLCBjb21waWxlZFNlbGVjdG9yLnN0
YXR1cyk7CiAKICNpZiBDU1NfU0VMRUNUT1JfSklUX1BST0ZJTElORwogICAgICAgICBjb21waWxl
ZFNlbGVjdG9yLnVzZUNvdW50Kys7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0
b3JDb21waWxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVj
dG9yQ29tcGlsZXIuY3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3Nq
aXQvU2VsZWN0b3JDb21waWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMjQsNiArMTIyNCw3
IEBAIGlubGluZSBTZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVzIFNlbGVjdG8KICAgICAgICAgZ2Vu
ZXJhdGVTZWxlY3RvckNoZWNrZXIoKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGdW5jdGlv
blR5cGU6OkNhbm5vdE1hdGNoQW55dGhpbmc6CisgICAgICAgIG1fYXNzZW1ibGVyLnRhZ1JldHVy
bkFkZHJlc3MoKTsKICAgICAgICAgbV9hc3NlbWJsZXIubW92ZShBc3NlbWJsZXI6OlRydXN0ZWRJ
bW0zMigwKSwgcmV0dXJuUmVnaXN0ZXIpOwogICAgICAgICBtX2Fzc2VtYmxlci5yZXQoKTsKICAg
ICAgICAgYnJlYWs7CkBAIC0xMjQzLDEwICsxMjQ0LDExIEBAIGlubGluZSBTZWxlY3RvckNvbXBp
bGF0aW9uU3RhdHVzIFNlbGVjdG8KICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9mdW5j
dGlvbkNhbGxzLnNpemUoKTsgaSsrKQogICAgICAgICBsaW5rQnVmZmVyLmxpbmsobV9mdW5jdGlv
bkNhbGxzW2ldLmZpcnN0LCBtX2Z1bmN0aW9uQ2FsbHNbaV0uc2Vjb25kKTsKIAorICAgIEpTQzo6
UHRyVGFnIHRhZyA9IHB0clRhZygmY29kZVJlZiwgbV9zZWxlY3RvckNvbnRleHQpOwogI2lmIENT
U19TRUxFQ1RPUl9KSVRfREVCVUdHSU5HCi0gICAgY29kZVJlZiA9IGxpbmtCdWZmZXIuZmluYWxp
emVDb2RlV2l0aERpc2Fzc2VtYmx5KEpTQzo6Tm9QdHJUYWcsICJDU1MgU2VsZWN0b3IgSklUIGZv
ciBcIiVzXCIiLCBtX29yaWdpbmFsU2VsZWN0b3ItPnNlbGVjdG9yVGV4dCgpLnV0ZjgoKS5kYXRh
KCkpOworICAgIGNvZGVSZWYgPSBsaW5rQnVmZmVyLmZpbmFsaXplQ29kZVdpdGhEaXNhc3NlbWJs
eSh0YWcsICJDU1MgU2VsZWN0b3IgSklUIGZvciBcIiVzXCIiLCBtX29yaWdpbmFsU2VsZWN0b3It
PnNlbGVjdG9yVGV4dCgpLnV0ZjgoKS5kYXRhKCkpOwogI2Vsc2UKLSAgICBjb2RlUmVmID0gRklO
QUxJWkVfQ09ERShsaW5rQnVmZmVyLCBKU0M6Ok5vUHRyVGFnLCAiQ1NTIFNlbGVjdG9yIEpJVCIp
OworICAgIGNvZGVSZWYgPSBGSU5BTElaRV9DT0RFKGxpbmtCdWZmZXIsIHRhZywgIkNTUyBTZWxl
Y3RvciBKSVQiKTsKICNlbmRpZgogCiAgICAgaWYgKG1fZnVuY3Rpb25UeXBlID09IEZ1bmN0aW9u
VHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyIHx8IG1fZnVuY3Rpb25UeXBlID09IEZ1bmN0aW9u
VHlwZTo6Q2Fubm90TWF0Y2hBbnl0aGluZykKQEAgLTE3MzYsNiArMTczOCw3IEBAIHN0YXRpYyBi
b29sIHNob3VsZE1hcmtTdHlsZUlzQWZmZWN0ZWRCeVAKIAogdm9pZCBTZWxlY3RvckNvZGVHZW5l
cmF0b3I6OmdlbmVyYXRlU2VsZWN0b3JDaGVja2VyKCkKIHsKKyAgICBtX2Fzc2VtYmxlci50YWdS
ZXR1cm5BZGRyZXNzKCk7CiAgICAgcHVzaE1hY3JvQXNzZW1ibGVyUmVnaXN0ZXJzKCk7CiAgICAg
U3RhY2tBbGxvY2F0b3IgZWFybHlGYWlsdXJlU3RhY2sgPSBtX3N0YWNrQWxsb2NhdG9yOwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmgJKHJldmlzaW9uIDIy
OTkxMykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtNTUsMjggKzU1LDMyIEBAIHR5cGVkZWYgdW5zaWduZWQgKCpRdWVyeVNlbGVjdG9y
U2VsZWN0b3IKIAogU2VsZWN0b3JDb21waWxhdGlvblN0YXR1cyBjb21waWxlU2VsZWN0b3IoY29u
c3QgQ1NTU2VsZWN0b3IqLCBTZWxlY3RvckNvbnRleHQsIEpTQzo6TWFjcm9Bc3NlbWJsZXJDb2Rl
UmVmJiBvdXRwdXRDb2RlUmVmKTsKIAotaW5saW5lIFJ1bGVDb2xsZWN0b3JTaW1wbGVTZWxlY3Rv
ckNoZWNrZXIgcnVsZUNvbGxlY3RvclNpbXBsZVNlbGVjdG9yQ2hlY2tlckZ1bmN0aW9uKHZvaWQq
IGV4ZWN1dGFibGVBZGRyZXNzLCBTZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVzIGNvbXBpbGF0aW9u
U3RhdHVzKQoraW5saW5lIFJ1bGVDb2xsZWN0b3JTaW1wbGVTZWxlY3RvckNoZWNrZXIgcnVsZUNv
bGxlY3RvclNpbXBsZVNlbGVjdG9yQ2hlY2tlckZ1bmN0aW9uKGNvbnN0IEpTQzo6TWFjcm9Bc3Nl
bWJsZXJDb2RlUmVmJiBjb2RlUmVmLCB2b2lkKiBleGVjdXRhYmxlQWRkcmVzcywgU2VsZWN0b3JD
b21waWxhdGlvblN0YXR1cyBjb21waWxhdGlvblN0YXR1cykKIHsKICAgICBBU1NFUlRfVU5VU0VE
KGNvbXBpbGF0aW9uU3RhdHVzLCBjb21waWxhdGlvblN0YXR1cyA9PSBTZWxlY3RvckNvbXBpbGF0
aW9uU3RhdHVzOjpTaW1wbGVTZWxlY3RvckNoZWNrZXIpOwotICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFJ1bGVDb2xsZWN0b3JTaW1wbGVTZWxlY3RvckNoZWNrZXI+KGV4ZWN1dGFibGVBZGRy
ZXNzKTsKKyAgICBKU0M6OlB0clRhZyB0YWcgPSBKU0M6OnB0clRhZygmY29kZVJlZiwgU2VsZWN0
b3JDb250ZXh0OjpSdWxlQ29sbGVjdG9yKTsKKyAgICByZXR1cm4gSlNDOjp1bnRhZ0NGdW5jdGlv
blB0cjxSdWxlQ29sbGVjdG9yU2ltcGxlU2VsZWN0b3JDaGVja2VyPihleGVjdXRhYmxlQWRkcmVz
cywgdGFnKTsKIH0KIAotaW5saW5lIFF1ZXJ5U2VsZWN0b3JTaW1wbGVTZWxlY3RvckNoZWNrZXIg
cXVlcnlTZWxlY3RvclNpbXBsZVNlbGVjdG9yQ2hlY2tlckZ1bmN0aW9uKHZvaWQqIGV4ZWN1dGFi
bGVBZGRyZXNzLCBTZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVzIGNvbXBpbGF0aW9uU3RhdHVzKQor
aW5saW5lIFF1ZXJ5U2VsZWN0b3JTaW1wbGVTZWxlY3RvckNoZWNrZXIgcXVlcnlTZWxlY3RvclNp
bXBsZVNlbGVjdG9yQ2hlY2tlckZ1bmN0aW9uKGNvbnN0IEpTQzo6TWFjcm9Bc3NlbWJsZXJDb2Rl
UmVmJiBjb2RlUmVmLCB2b2lkKiBleGVjdXRhYmxlQWRkcmVzcywgU2VsZWN0b3JDb21waWxhdGlv
blN0YXR1cyBjb21waWxhdGlvblN0YXR1cykKIHsKICAgICBBU1NFUlRfVU5VU0VEKGNvbXBpbGF0
aW9uU3RhdHVzLCBjb21waWxhdGlvblN0YXR1cyA9PSBTZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVz
OjpTaW1wbGVTZWxlY3RvckNoZWNrZXIpOwotICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFF1
ZXJ5U2VsZWN0b3JTaW1wbGVTZWxlY3RvckNoZWNrZXI+KGV4ZWN1dGFibGVBZGRyZXNzKTsKKyAg
ICBKU0M6OlB0clRhZyB0YWcgPSBKU0M6OnB0clRhZygmY29kZVJlZiwgU2VsZWN0b3JDb250ZXh0
OjpRdWVyeVNlbGVjdG9yKTsKKyAgICByZXR1cm4gSlNDOjp1bnRhZ0NGdW5jdGlvblB0cjxRdWVy
eVNlbGVjdG9yU2ltcGxlU2VsZWN0b3JDaGVja2VyPihleGVjdXRhYmxlQWRkcmVzcywgdGFnKTsK
IH0KIAotaW5saW5lIFJ1bGVDb2xsZWN0b3JTZWxlY3RvckNoZWNrZXJXaXRoQ2hlY2tpbmdDb250
ZXh0IHJ1bGVDb2xsZWN0b3JTZWxlY3RvckNoZWNrZXJGdW5jdGlvbldpdGhDaGVja2luZ0NvbnRl
eHQodm9pZCogZXhlY3V0YWJsZUFkZHJlc3MsIFNlbGVjdG9yQ29tcGlsYXRpb25TdGF0dXMgY29t
cGlsYXRpb25TdGF0dXMpCitpbmxpbmUgUnVsZUNvbGxlY3RvclNlbGVjdG9yQ2hlY2tlcldpdGhD
aGVja2luZ0NvbnRleHQgcnVsZUNvbGxlY3RvclNlbGVjdG9yQ2hlY2tlckZ1bmN0aW9uV2l0aENo
ZWNraW5nQ29udGV4dChjb25zdCBKU0M6Ok1hY3JvQXNzZW1ibGVyQ29kZVJlZiYgY29kZVJlZiwg
dm9pZCogZXhlY3V0YWJsZUFkZHJlc3MsIFNlbGVjdG9yQ29tcGlsYXRpb25TdGF0dXMgY29tcGls
YXRpb25TdGF0dXMpCiB7CiAgICAgQVNTRVJUX1VOVVNFRChjb21waWxhdGlvblN0YXR1cywgY29t
cGlsYXRpb25TdGF0dXMgPT0gU2VsZWN0b3JDb21waWxhdGlvblN0YXR1czo6U2VsZWN0b3JDaGVj
a2VyV2l0aENoZWNraW5nQ29udGV4dCk7Ci0gICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8UnVs
ZUNvbGxlY3RvclNlbGVjdG9yQ2hlY2tlcldpdGhDaGVja2luZ0NvbnRleHQ+KGV4ZWN1dGFibGVB
ZGRyZXNzKTsKKyAgICBKU0M6OlB0clRhZyB0YWcgPSBKU0M6OnB0clRhZygmY29kZVJlZiwgU2Vs
ZWN0b3JDb250ZXh0OjpSdWxlQ29sbGVjdG9yKTsKKyAgICByZXR1cm4gSlNDOjp1bnRhZ0NGdW5j
dGlvblB0cjxSdWxlQ29sbGVjdG9yU2VsZWN0b3JDaGVja2VyV2l0aENoZWNraW5nQ29udGV4dD4o
ZXhlY3V0YWJsZUFkZHJlc3MsIHRhZyk7CiB9CiAKLWlubGluZSBRdWVyeVNlbGVjdG9yU2VsZWN0
b3JDaGVja2VyV2l0aENoZWNraW5nQ29udGV4dCBxdWVyeVNlbGVjdG9yU2VsZWN0b3JDaGVja2Vy
RnVuY3Rpb25XaXRoQ2hlY2tpbmdDb250ZXh0KHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzLCBTZWxl
Y3RvckNvbXBpbGF0aW9uU3RhdHVzIGNvbXBpbGF0aW9uU3RhdHVzKQoraW5saW5lIFF1ZXJ5U2Vs
ZWN0b3JTZWxlY3RvckNoZWNrZXJXaXRoQ2hlY2tpbmdDb250ZXh0IHF1ZXJ5U2VsZWN0b3JTZWxl
Y3RvckNoZWNrZXJGdW5jdGlvbldpdGhDaGVja2luZ0NvbnRleHQoY29uc3QgSlNDOjpNYWNyb0Fz
c2VtYmxlckNvZGVSZWYmIGNvZGVSZWYsIHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzLCBTZWxlY3Rv
ckNvbXBpbGF0aW9uU3RhdHVzIGNvbXBpbGF0aW9uU3RhdHVzKQogewogICAgIEFTU0VSVF9VTlVT
RUQoY29tcGlsYXRpb25TdGF0dXMsIGNvbXBpbGF0aW9uU3RhdHVzID09IFNlbGVjdG9yQ29tcGls
YXRpb25TdGF0dXM6OlNlbGVjdG9yQ2hlY2tlcldpdGhDaGVja2luZ0NvbnRleHQpOwotICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFF1ZXJ5U2VsZWN0b3JTZWxlY3RvckNoZWNrZXJXaXRoQ2hl
Y2tpbmdDb250ZXh0PihleGVjdXRhYmxlQWRkcmVzcyk7CisgICAgSlNDOjpQdHJUYWcgdGFnID0g
SlNDOjpwdHJUYWcoJmNvZGVSZWYsIFNlbGVjdG9yQ29udGV4dDo6UXVlcnlTZWxlY3Rvcik7Cisg
ICAgcmV0dXJuIEpTQzo6dW50YWdDRnVuY3Rpb25QdHI8UXVlcnlTZWxlY3RvclNlbGVjdG9yQ2hl
Y2tlcldpdGhDaGVja2luZ0NvbnRleHQ+KGV4ZWN1dGFibGVBZGRyZXNzLCB0YWcpOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBTZWxlY3RvckNvbXBpbGVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
U2VsZWN0b3JRdWVyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NlbGVj
dG9yUXVlcnkuY3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2Vs
ZWN0b3JRdWVyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDExLTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDExLTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogQ29weXJpZ2h0IChDKSAyMDE0IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNv
bT4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTQ1MSwxMSArNDUxLDExIEBAIEFMV0FZU19JTkxJTkUg
dm9pZCBTZWxlY3RvckRhdGFMaXN0OjpleGUKICAgICAgICAgICAgIGJvb2wgbWF0Y2hlZCA9IGZh
bHNlOwogICAgICAgICAgICAgdm9pZCogY29tcGlsZWRTZWxlY3RvckNoZWNrZXIgPSBzZWxlY3Rv
ci5jb21waWxlZFNlbGVjdG9yQ29kZVJlZi5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKTsKICAg
ICAgICAgICAgIGlmIChzZWxlY3Rvci5jb21waWxhdGlvblN0YXR1cyA9PSBTZWxlY3RvckNvbXBp
bGF0aW9uU3RhdHVzOjpTaW1wbGVTZWxlY3RvckNoZWNrZXIpIHsKLSAgICAgICAgICAgICAgICBh
dXRvIHNlbGVjdG9yQ2hlY2tlciA9IFNlbGVjdG9yQ29tcGlsZXI6OnF1ZXJ5U2VsZWN0b3JTaW1w
bGVTZWxlY3RvckNoZWNrZXJGdW5jdGlvbihjb21waWxlZFNlbGVjdG9yQ2hlY2tlciwgc2VsZWN0
b3IuY29tcGlsYXRpb25TdGF0dXMpOworICAgICAgICAgICAgICAgIGF1dG8gc2VsZWN0b3JDaGVj
a2VyID0gU2VsZWN0b3JDb21waWxlcjo6cXVlcnlTZWxlY3RvclNpbXBsZVNlbGVjdG9yQ2hlY2tl
ckZ1bmN0aW9uKHNlbGVjdG9yLmNvbXBpbGVkU2VsZWN0b3JDb2RlUmVmLCBjb21waWxlZFNlbGVj
dG9yQ2hlY2tlciwgc2VsZWN0b3IuY29tcGlsYXRpb25TdGF0dXMpOwogICAgICAgICAgICAgICAg
IG1hdGNoZWQgPSBzZWxlY3RvckNoZWNrZXIoJmVsZW1lbnQpOwogICAgICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgICAgICBBU1NFUlQoc2VsZWN0b3IuY29tcGlsYXRpb25TdGF0dXMgPT0g
U2VsZWN0b3JDb21waWxhdGlvblN0YXR1czo6U2VsZWN0b3JDaGVja2VyV2l0aENoZWNraW5nQ29u
dGV4dCk7Ci0gICAgICAgICAgICAgICAgYXV0byBzZWxlY3RvckNoZWNrZXIgPSBTZWxlY3RvckNv
bXBpbGVyOjpxdWVyeVNlbGVjdG9yU2VsZWN0b3JDaGVja2VyRnVuY3Rpb25XaXRoQ2hlY2tpbmdD
b250ZXh0KGNvbXBpbGVkU2VsZWN0b3JDaGVja2VyLCBzZWxlY3Rvci5jb21waWxhdGlvblN0YXR1
cyk7CisgICAgICAgICAgICAgICAgYXV0byBzZWxlY3RvckNoZWNrZXIgPSBTZWxlY3RvckNvbXBp
bGVyOjpxdWVyeVNlbGVjdG9yU2VsZWN0b3JDaGVja2VyRnVuY3Rpb25XaXRoQ2hlY2tpbmdDb250
ZXh0KHNlbGVjdG9yLmNvbXBpbGVkU2VsZWN0b3JDb2RlUmVmLCBjb21waWxlZFNlbGVjdG9yQ2hl
Y2tlciwgc2VsZWN0b3IuY29tcGlsYXRpb25TdGF0dXMpOwogICAgICAgICAgICAgICAgIG1hdGNo
ZWQgPSBzZWxlY3RvckNoZWNrZXIoJmVsZW1lbnQsICZjaGVja2luZ0NvbnRleHQpOwogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgaWYgKG1hdGNoZWQpIHsKQEAgLTU0MywxMSArNTQzLDExIEBA
IEFMV0FZU19JTkxJTkUgdm9pZCBTZWxlY3RvckRhdGFMaXN0OjpleGUKICAgICAgICAgY29uc3Qg
U2VsZWN0b3JEYXRhJiBzZWxlY3RvckRhdGEgPSBtX3NlbGVjdG9ycy5maXJzdCgpOwogICAgICAg
ICB2b2lkKiBjb21waWxlZFNlbGVjdG9yQ2hlY2tlciA9IHNlbGVjdG9yRGF0YS5jb21waWxlZFNl
bGVjdG9yQ29kZVJlZi5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKTsKICAgICAgICAgaWYgKHNl
bGVjdG9yRGF0YS5jb21waWxhdGlvblN0YXR1cyA9PSBTZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVz
OjpTaW1wbGVTZWxlY3RvckNoZWNrZXIpIHsKLSAgICAgICAgICAgIFNlbGVjdG9yQ29tcGlsZXI6
OlF1ZXJ5U2VsZWN0b3JTaW1wbGVTZWxlY3RvckNoZWNrZXIgc2VsZWN0b3JDaGVja2VyID0gU2Vs
ZWN0b3JDb21waWxlcjo6cXVlcnlTZWxlY3RvclNpbXBsZVNlbGVjdG9yQ2hlY2tlckZ1bmN0aW9u
KGNvbXBpbGVkU2VsZWN0b3JDaGVja2VyLCBzZWxlY3RvckRhdGEuY29tcGlsYXRpb25TdGF0dXMp
OworICAgICAgICAgICAgU2VsZWN0b3JDb21waWxlcjo6UXVlcnlTZWxlY3RvclNpbXBsZVNlbGVj
dG9yQ2hlY2tlciBzZWxlY3RvckNoZWNrZXIgPSBTZWxlY3RvckNvbXBpbGVyOjpxdWVyeVNlbGVj
dG9yU2ltcGxlU2VsZWN0b3JDaGVja2VyRnVuY3Rpb24oc2VsZWN0b3JEYXRhLmNvbXBpbGVkU2Vs
ZWN0b3JDb2RlUmVmLCBjb21waWxlZFNlbGVjdG9yQ2hlY2tlciwgc2VsZWN0b3JEYXRhLmNvbXBp
bGF0aW9uU3RhdHVzKTsKICAgICAgICAgICAgIGV4ZWN1dGVDb21waWxlZFNpbXBsZVNlbGVjdG9y
Q2hlY2tlcjxTZWxlY3RvclF1ZXJ5VHJhaXQ+KCpzZWFyY2hSb290Tm9kZSwgc2VsZWN0b3JDaGVj
a2VyLCBvdXRwdXQsIHNlbGVjdG9yRGF0YSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICBBU1NFUlQoc2VsZWN0b3JEYXRhLmNvbXBpbGF0aW9uU3RhdHVzID09IFNlbGVjdG9yQ29tcGls
YXRpb25TdGF0dXM6OlNlbGVjdG9yQ2hlY2tlcldpdGhDaGVja2luZ0NvbnRleHQpOwotICAgICAg
ICAgICAgU2VsZWN0b3JDb21waWxlcjo6UXVlcnlTZWxlY3RvclNlbGVjdG9yQ2hlY2tlcldpdGhD
aGVja2luZ0NvbnRleHQgc2VsZWN0b3JDaGVja2VyID0gU2VsZWN0b3JDb21waWxlcjo6cXVlcnlT
ZWxlY3RvclNlbGVjdG9yQ2hlY2tlckZ1bmN0aW9uV2l0aENoZWNraW5nQ29udGV4dChjb21waWxl
ZFNlbGVjdG9yQ2hlY2tlciwgc2VsZWN0b3JEYXRhLmNvbXBpbGF0aW9uU3RhdHVzKTsKKyAgICAg
ICAgICAgIFNlbGVjdG9yQ29tcGlsZXI6OlF1ZXJ5U2VsZWN0b3JTZWxlY3RvckNoZWNrZXJXaXRo
Q2hlY2tpbmdDb250ZXh0IHNlbGVjdG9yQ2hlY2tlciA9IFNlbGVjdG9yQ29tcGlsZXI6OnF1ZXJ5
U2VsZWN0b3JTZWxlY3RvckNoZWNrZXJGdW5jdGlvbldpdGhDaGVja2luZ0NvbnRleHQoc2VsZWN0
b3JEYXRhLmNvbXBpbGVkU2VsZWN0b3JDb2RlUmVmLCBjb21waWxlZFNlbGVjdG9yQ2hlY2tlciwg
c2VsZWN0b3JEYXRhLmNvbXBpbGF0aW9uU3RhdHVzKTsKICAgICAgICAgICAgIGV4ZWN1dGVDb21w
aWxlZFNlbGVjdG9yQ2hlY2tlcldpdGhDaGVja2luZ0NvbnRleHQ8U2VsZWN0b3JRdWVyeVRyYWl0
Pihyb290Tm9kZSwgKnNlYXJjaFJvb3ROb2RlLCBzZWxlY3RvckNoZWNrZXIsIG91dHB1dCwgc2Vs
ZWN0b3JEYXRhKTsKICAgICAgICAgfQogICAgICAgICBicmVhazsK
</data>
<flag name="review"
          id="354948"
          type_id="1"
          status="+"
          setter="jfbastien"
    />
    <flag name="commit-queue"
          id="354943"
          type_id="3"
          status="-"
          setter="ews-watchlist"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336415</attachid>
            <date>2018-03-23 13:10:26 -0700</date>
            <delta_ts>2018-03-23 13:14:32 -0700</delta_ts>
            <desc>proposed patch w/ updated bindings test results.</desc>
            <filename>bug-183947.patch</filename>
            <type>text/plain</type>
            <size>63732</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyOTkxNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0MyBAQAorMjAxOC0wMy0yMyAgTWFyayBM
YW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBvaW50ZXIgcHJvZmlsaW5n
IGhvb2tzIHRvIHRoZSBDU1MgSklULgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTgzOTQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zODgwMzU5Mz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcg
dGVzdHMgbmVlZGVkLiAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVJbXBs
ZW1lbnRhdGlvbik6CisgICAgICAgIC0gQWRkZWQgYSBtaXNzaW5nIGFwcGxpY2F0aW9uIG9mIFdU
Rl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigpLgorCisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTSW50ZXJmYWNlTmFtZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNNYXBMaWtlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1JlYWRPbmx5TWFwTGlrZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlD
cmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFj
dGlvbnNTdHJpbmdpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVk
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJm
YWNlT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3
bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhj
ZXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RJdGVyYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVk
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyTm9JZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4
ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3
bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFt
ZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3Jl
YXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVs
ZXRlck5vSWRlbnRpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVk
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVy
VGhyb3dpbmdFeGNlcHRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRl
ZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRl
cldpdGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJX
aXRoSW5kZXhlZEdldHRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVk
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJD
YWxsV2l0aC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZp
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhPdmVycmlkZUJ1aWx0
aW5zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxl
UHJvcGVydGllcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoVW5m
b3JnYWJsZVByb3BlcnRpZXNBbmRPdmVycmlkZUJ1aWx0aW5zLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFBsdWdpbkludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVh
dGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJl
amVjdGlvbkV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pT
TmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBjc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJ1bGVDb2xsZWN0b3I6OnJ1bGVNYXRjaGVzKToKKyAg
ICAgICAgKiBjc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
ZWxlY3RvckNvbXBpbGVyOjpTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmNvbXBpbGUpOgorICAgICAg
ICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxlcjo6U2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5l
cmF0ZVNlbGVjdG9yQ2hlY2tlcik6CisgICAgICAgICogY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OnJ1bGVDb2xsZWN0b3JTaW1w
bGVTZWxlY3RvckNoZWNrZXJGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNv
bXBpbGVyOjpxdWVyeVNlbGVjdG9yU2ltcGxlU2VsZWN0b3JDaGVja2VyRnVuY3Rpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxlcjo6cnVsZUNvbGxlY3RvclNlbGVjdG9yQ2hl
Y2tlckZ1bmN0aW9uV2l0aENoZWNraW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTZWxl
Y3RvckNvbXBpbGVyOjpxdWVyeVNlbGVjdG9yU2VsZWN0b3JDaGVja2VyRnVuY3Rpb25XaXRoQ2hl
Y2tpbmdDb250ZXh0KToKKyAgICAgICAgKiBkb20vU2VsZWN0b3JRdWVyeS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTZWxlY3RvckRhdGFMaXN0OjpleGVjdXRlQ29tcGlsZWRTaW5nbGVNdWx0aVNl
bGVjdG9yRGF0YSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckRhdGFMaXN0Ojpl
eGVjdXRlIGNvbnN0KToKKwogMjAxOC0wMy0yMyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIFN0b3AgdXNpbmcgZGlzcGF0Y2hfc2V0X3RhcmdldF9xdWV1ZSgp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbQkocmV2aXNpb24gMjI5OTEzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHdvcmtpbmcgY29weSkKQEAgLTQ2MjksNyArNDYy
OSw3IEBAIEVORAogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpIGlmICR2dGFibGVO
YW1lR251OwogCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVh
bFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7
CisgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRF
Ul9GT1JfSU5TUEVDVElPTigqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkp
OwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBX
VEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oJHt2dGFibGVSZWZXaW59KTsK
ICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNJ
bnRlcmZhY2VOYW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNJbnRlcmZhY2VOYW1lLmNwcAkocmV2aXNpb24gMjI5OTEzKQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTSW50ZXJmYWNlTmFtZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE5NSw3ICsxOTUsNyBAQCBKU0M6OkpTVmFsdWUgdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiB7CiAKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkp
Ci0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lk
Kio+KGltcGwucHRyKCkpKTsKKyAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gV1RGX1BS
RVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCoocmVpbnRlcnByZXRfY2FzdDx2b2lk
Kio+KGltcGwucHRyKCkpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQogICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihf
X2lkZW50aWZpZXIoIj8/XzdJbnRlcmZhY2VOYW1lQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNNYXBMaWtlLmNwcAkocmV2aXNpb24gMjI5OTEzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTTWFwTGlrZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2NCw3
ICszNjQsNyBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiB7CiAK
ICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9p
bnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKKyAgICB2b2lk
KiBhY3R1YWxWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQ
RUNUSU9OKCoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKSk7CiAjaWYgUExB
VEZPUk0oV0lOKQogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJF
X1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdNYXBMaWtlQFdl
YkNvcmVAQDZCQCIpKTsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNSZWFkT25seU1hcExpa2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1JlYWRPbmx5TWFwTGlrZS5jcHAJKHJl
dmlzaW9uIDIyOTkxMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1JlYWRPbmx5TWFwTGlrZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxMyw3ICszMTMsNyBA
QCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiB7CiAKICNpZiBFTkFC
TEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoo
cmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKKyAgICB2b2lkKiBhY3R1YWxW
VGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCoo
cmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKSk7CiAjaWYgUExBVEZPUk0oV0lO
KQogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9J
TlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdSZWFkT25seU1hcExpa2VAV2Vi
Q29yZUBANkJAIikpOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3Qu
Y3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc0
LDcgKzI3NCw3IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKIHsK
IAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICB2b2lkKiBhY3R1YWxWVGFibGVQ
b2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOworICAgIHZv
aWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lO
U1BFQ1RJT04oKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpKTsKICNpZiBQ
TEFURk9STShXSU4pCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBB
UkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rlc3RBY3Rp
dmVET01PYmplY3RAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVh
Y3Rpb25zLmNwcAkocmV2aXNpb24gMjI5OTEzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzI4LDcgKzMyOCw3IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MK
IHsKIAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICB2b2lkKiBhY3R1YWxWVGFi
bGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOworICAg
IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9S
X0lOU1BFQ1RJT04oKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpKTsKICNp
ZiBQTEFURk9STShXSU4pCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BS
RVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rlc3RD
RVJlYWN0aW9uc0BXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcAkocmV2aXNpb24gMjI5OTEzKQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3Ry
aW5naWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDgsNyArMjQ4LDcgQEAgSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogewogCiAjaWYgRU5BQkxFKEJJTkRJTkdf
SU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0
X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRl
ciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigqKHJlaW50ZXJwcmV0
X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lO
U1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJAV2Vi
Q29yZUBANkJAIikpOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5jcHAJKHJldmlz
aW9uIDIyOTkxMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDYWxsVHJhY2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQ3LDcgKzU0Nyw3IEBAIEpT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKIHsKIAogI2lmIEVOQUJMRShC
SU5ESU5HX0lOVEVHUklUWSkKLSAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWlu
dGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOworICAgIHZvaWQqIGFjdHVhbFZUYWJs
ZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oKihyZWlu
dGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpKTsKICNpZiBQTEFURk9STShXSU4pCiAg
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVS
X0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rlc3RDYWxsVHJhY2VyQFdlYkNvcmVA
QDZCQCIpKTsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDbGFzc1dp
dGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDIyOTkxMykKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5D
b25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4Nyw3ICsxODcsNyBAQCBKU0M6OkpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiB7CiAKICNpZiBFTkFCTEUoQklORElO
R19JTlRFR1JJVFkpCi0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKKyAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2lu
dGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCoocmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQogICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1Jf
SU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3Ry
dWN0b3JAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFj
ZU9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmNw
cAkocmV2aXNpb24gMjI5OTEzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTg1LDcgKzE4NSw3IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlD
cmVhdGVkKEpTQzo6RXhlY1MKIHsKIAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAg
ICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4o
aW1wbC5wdHIoKSkpOworICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFS
RV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4o
aW1wbC5wdHIoKSkpKTsKICNpZiBQTEFURk9STShXSU4pCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRl
bnRpZmllcigiPz9fN1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdEBX
ZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNldHRpbmcuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0
aW5nLmNwcAkocmV2aXNpb24gMjI5OTEzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNldHRpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjEsNyArMzIxLDcgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVj
UwogewogCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZU
YWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7Cisg
ICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9G
T1JfSU5TUEVDVElPTigqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwog
I2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZf
UFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVz
dEVuYWJsZWRCeVNldHRpbmdAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDIyOTkxMykKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzE2LDcgKzMxNiw3IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEpTQzo6RXhlY1MKIHsKIAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkK
LSAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQq
Kj4oaW1wbC5wdHIoKSkpOworICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJF
UEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oKihyZWludGVycHJldF9jYXN0PHZvaWQq
Kj4oaW1wbC5wdHIoKSkpKTsKICNpZiBQTEFURk9STShXSU4pCiAgICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9f
aWRlbnRpZmllcigiPz9fN1Rlc3RFdmVudENvbnN0cnVjdG9yQFdlYkNvcmVAQDZCQCIpKTsKICNl
bHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
RXZlbnRUYXJnZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAJKHJldmlzaW9uIDIyOTkxMykKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdl
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1OSw3ICsyNTksNyBAQCBKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiB7CiAKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJ
VFkpCi0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2
b2lkKio+KGltcGwucHRyKCkpKTsKKyAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gV1RG
X1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCoocmVpbnRlcnByZXRfY2FzdDx2
b2lkKio+KGltcGwucHRyKCkpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQogICAgIHZvaWQqIGV4cGVj
dGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElP
TihfX2lkZW50aWZpZXIoIj8/XzdUZXN0RXZlbnRUYXJnZXRAV2ViQ29yZUBANkJAIikpOwogI2Vs
c2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
eGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjA0LDcgKzIwNCw3IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlD
cmVhdGVkKEpTQzo6RXhlY1MKIHsKIAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAg
ICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4o
aW1wbC5wdHIoKSkpOworICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFS
RV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4o
aW1wbC5wdHIoKSkpKTsKICNpZiBQTEFURk9STShXSU4pCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRl
bnRpZmllcigiPz9fN1Rlc3RFeGNlcHRpb25AV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlz
UmVhY2hhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAJKHJldmlzaW9uIDIyOTkx
MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5l
cmF0ZUlzUmVhY2hhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEwLDcgKzIxMCw3IEBAIEpT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKIHsKIAogI2lmIEVOQUJMRShC
SU5ESU5HX0lOVEVHUklUWSkKLSAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWlu
dGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOworICAgIHZvaWQqIGFjdHVhbFZUYWJs
ZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oKihyZWlu
dGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpKTsKICNpZiBQTEFURk9STShXSU4pCiAg
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVS
X0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxl
QFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNw
cAkocmV2aXNpb24gMjI5OTEzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5NSw3ICs1
OTUsNyBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiB7CiAKICNp
ZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRl
ciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKKyAgICB2b2lkKiBh
Y3R1YWxWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNU
SU9OKCoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKSk7CiAjaWYgUExBVEZP
Uk0oV0lOKQogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZU
QkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0R2xvYmFsT2Jq
ZWN0QFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5v
SWRlbnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3Myw3ICsyNzMsNyBAQCBKU0M6OkpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiB7CiAKICNpZiBFTkFCTEUoQklORElO
R19JTlRFR1JJVFkpCi0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKKyAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2lu
dGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCoocmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQogICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1Jf
SU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmll
ckBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAJKHJldmlzaW9uIDIyOTkxMykK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzMsNyArMjcz
LDcgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogewogCiAjaWYg
RU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIg
PSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0
dWFsVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElP
TigqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JN
KFdJTikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJM
X1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdEluZGV4ZWRTZXR0
ZXJUaHJvd2luZ0V4Y2VwdGlvbkBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJXaXRo
SWRlbnRpZmllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAJKHJldmlz
aW9uIDIyOTkxMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MDUsNyArMzA1LDcgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwog
ewogCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJs
ZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAg
dm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1Jf
SU5TUEVDVElPTigqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lm
IFBMQVRGT1JNKFdJTikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJF
UEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdElu
ZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0SXRlcmFibGUuY3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFibGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNTcsNyArMjU3LDcgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpF
eGVjUwogewogCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVh
bFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7
CisgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRF
Ul9GT1JfSU5TUEVDVElPTigqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkp
OwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBX
VEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183
VGVzdEl0ZXJhYmxlQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw3ICsyMTMsNyBAQCBKU0M6OkpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiB7CiAKICNpZiBFTkFCTEUoQklORElO
R19JTlRFR1JJVFkpCi0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKKyAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2lu
dGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCoocmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQogICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1Jf
SU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckBX
ZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAJKHJldmlzaW9uIDIyOTkx
MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMzks
NyArMzM5LDcgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogewog
CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBv
aW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9p
ZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5T
UEVDVElPTigqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBM
QVRGT1JNKFdJTikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFS
RV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVk
QW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5k
SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVy
VGhyb3dpbmdFeGNlcHRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMzksNyArMzM5LDcgQEAg
SlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogewogCiAjaWYgRU5BQkxF
KEJJTkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJl
aW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0dWFsVlRh
YmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigqKHJl
aW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JNKFdJTikK
ICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5U
RVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlclRocm93aW5nRXhjZXB0aW9uQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVk
U2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRl
bnRpZmllci5jcHAJKHJldmlzaW9uIDIyOTkxMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmll
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5Myw3ICszOTMsNyBAQCBKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiB7CiAKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJ
VFkpCi0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2
b2lkKio+KGltcGwucHRyKCkpKTsKKyAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gV1RG
X1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCoocmVpbnRlcnByZXRfY2FzdDx2
b2lkKio+KGltcGwucHRyKCkpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQogICAgIHZvaWQqIGV4cGVj
dGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElP
TihfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZp
ZXJAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25z
dHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDIyOTkxMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjI2LDcgKzIyNiw3IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6
RXhlY1MKIHsKIAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICB2b2lkKiBhY3R1
YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkp
OworICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5U
RVJfRk9SX0lOU1BFQ1RJT04oKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkp
KTsKICNpZiBQTEFURk9STShXSU4pCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0g
V1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9f
N1Rlc3ROYW1lZENvbnN0cnVjdG9yQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyTm9J
ZGVudGlmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyLmNwcAkocmV2aXNpb24g
MjI5OTEzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1Miw3ICsy
NTIsNyBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiB7CiAKICNp
ZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRl
ciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKKyAgICB2b2lkKiBh
Y3R1YWxWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNU
SU9OKCoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKSk7CiAjaWYgUExBVEZP
Uk0oV0lOKQogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZU
QkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWREZWxl
dGVyTm9JZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdF
eGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAJKHJldmlz
aW9uIDIyOTkxMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI2Niw3ICsyNjYsNyBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNT
CiB7CiAKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgdm9pZCogYWN0dWFsVlRh
YmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKKyAg
ICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZP
Ul9JTlNQRUNUSU9OKCoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKSk7CiAj
aWYgUExBVEZPUk0oV0lOKQogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9Q
UkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0
TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb25AV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERl
bGV0ZXJXaXRoSWRlbnRpZmllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyLmNw
cAkocmV2aXNpb24gMjI5OTEzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjgzLDcgKzI4Myw3IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6
RXhlY1MKIHsKIAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICB2b2lkKiBhY3R1
YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkp
OworICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5U
RVJfRk9SX0lOU1BFQ1RJT04oKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkp
KTsKICNpZiBQTEFURk9STShXSU4pCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0g
V1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9f
N1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
RGVsZXRlcldpdGhJbmRleGVkR2V0dGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRH
ZXR0ZXIuY3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNzAsNyArMjcwLDcgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNy
ZWF0ZWQoSlNDOjpFeGVjUwogewogCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAg
IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihp
bXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJF
X1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihp
bXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVu
dGlmaWVyKCI/P183VGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyQFdlYkNvcmVAQDZC
QCIpKTsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGgu
Y3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTIzMSw3ICsyMzEsNyBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNT
CiB7CiAKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgdm9pZCogYWN0dWFsVlRh
YmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKKyAg
ICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZP
Ul9JTlNQRUNUSU9OKCoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKSk7CiAj
aWYgUExBVEZPUk0oV0lOKQogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9Q
UkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0
TmFtZWRHZXR0ZXJDYWxsV2l0aEBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyTm9JZGVu
dGlmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAyMjk5
MTMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFt
ZWRHZXR0ZXJOb0lkZW50aWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzEsNyArMjMxLDcg
QEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogewogCiAjaWYgRU5B
QkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAq
KHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0dWFs
VlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigq
KHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JNKFdJ
TikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BP
SU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkR2V0dGVyTm9J
ZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAyMjk5MTMpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0
ZXJXaXRoSWRlbnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1OSw3ICsyNTksNyBAQCBK
U0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiB7CiAKICNpZiBFTkFCTEUo
QklORElOR19JTlRFR1JJVFkpCi0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVp
bnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKKyAgICB2b2lkKiBhY3R1YWxWVGFi
bGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCoocmVp
bnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQog
ICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRF
Ul9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRHZXR0ZXJXaXRoSWRl
bnRpZmllckBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJOb0lk
ZW50aWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTMsNyArMjkzLDcgQEAgSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogewogCiAjaWYgRU5BQkxFKEJJTkRJTkdf
SU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0
X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRl
ciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigqKHJlaW50ZXJwcmV0
X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lO
U1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyQFdl
YkNvcmVAQDZCQCIpKTsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5h
bWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5Myw3ICsyOTMsNyBAQCBKU0M6
OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiB7CiAKICNpZiBFTkFCTEUoQklO
RElOR19JTlRFR1JJVFkpCi0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRl
cnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKKyAgICB2b2lkKiBhY3R1YWxWVGFibGVQ
b2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCoocmVpbnRl
cnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQogICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9G
T1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4
Y2VwdGlvbkBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcAkocmV2aXNpb24gMjI5OTEzKQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVy
V2l0aElkZW50aWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjQsNyArMzI0LDcgQEAgSlND
OjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogewogCiAjaWYgRU5BQkxFKEJJ
TkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50
ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0dWFsVlRhYmxl
UG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigqKHJlaW50
ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKICAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJf
Rk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyV2l0aElkZW50
aWZpZXJAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAJKHJldmlzaW9uIDIyOTkxMykK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNl
dHRlcldpdGhJbmRleGVkR2V0dGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzY3LDcgKzM2Nyw3
IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKIHsKIAogI2lmIEVO
QUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0g
KihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOworICAgIHZvaWQqIGFjdHVh
bFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04o
KihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpKTsKICNpZiBQTEFURk9STShX
SU4pCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9Q
T0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZFNldHRlcldp
dGhJbmRleGVkR2V0dGVyQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhl
ZEdldHRlckFuZFNldHRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRT
ZXR0ZXIuY3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxNyw3ICs0MTcsNyBAQCBKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiB7CiAKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJ
VFkpCi0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2
b2lkKio+KGltcGwucHRyKCkpKTsKKyAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gV1RG
X1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCoocmVpbnRlcnByZXRfY2FzdDx2
b2lkKio+KGltcGwucHRyKCkpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQogICAgIHZvaWQqIGV4cGVj
dGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElP
TihfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNl
dHRlckBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aE92ZXJyaWRlQnVpbHRpbnMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZFNldHRlcldpdGhPdmVycmlkZUJ1aWx0aW5zLmNwcAkocmV2aXNpb24gMjI5
OTEzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5h
bWVkU2V0dGVyV2l0aE92ZXJyaWRlQnVpbHRpbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yODAs
NyArMjgwLDcgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogewog
CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBv
aW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9p
ZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5T
UEVDVElPTigqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBM
QVRGT1JNKFdJTikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFS
RV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVk
U2V0dGVyV2l0aE92ZXJyaWRlQnVpbHRpbnNAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRl
cldpdGhVbmZvcmdhYmxlUHJvcGVydGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2Fi
bGVQcm9wZXJ0aWVzLmNwcAkocmV2aXNpb24gMjI5OTEzKQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9w
ZXJ0aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYyLDcgKzM2Miw3IEBAIEpTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKIHsKIAogI2lmIEVOQUJMRShCSU5ESU5HX0lO
VEVHUklUWSkKLSAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9j
YXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOworICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIg
PSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oKihyZWludGVycHJldF9j
YXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpKTsKICNpZiBQTEFURk9STShXSU4pCiAgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQ
RUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJv
cGVydGllc0BXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9w
ZXJ0aWVzQW5kT3ZlcnJpZGVCdWlsdGlucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2Fi
bGVQcm9wZXJ0aWVzQW5kT3ZlcnJpZGVCdWlsdGlucy5jcHAJKHJldmlzaW9uIDIyOTkxMykKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRl
cldpdGhVbmZvcmdhYmxlUHJvcGVydGllc0FuZE92ZXJyaWRlQnVpbHRpbnMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zNDksNyArMzQ5LDcgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQo
SlNDOjpFeGVjUwogewogCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQq
IGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0
cigpKSk7CisgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxf
UE9JTlRFUl9GT1JfSU5TUEVDVElPTigqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0
cigpKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50
ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVy
KCI/P183VGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzQW5kT3ZlcnJpZGVC
dWlsdGluc0BXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAkocmV2aXNp
b24gMjI5OTEzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MjUsNyArNDI1LDcgQEAgSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogewogCiAjaWYgRU5BQkxFKEJJTkRJTkdf
SU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0
X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRl
ciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigqKHJlaW50ZXJwcmV0
X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lO
U1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdE5vZGVAV2ViQ29yZUBANkJAIikpOwogI2Vs
c2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
YmouY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPYmouY3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
ODQxNyw3ICs4NDE3LDcgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVj
UwogewogCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZU
YWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7Cisg
ICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9G
T1JfSU5TUEVDVElPTigqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwog
I2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZf
UFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVz
dE9iakBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAkocmV2aXNpb24gMjI5OTEzKQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzYsNyArMjc2LDcgQEAgSlNDOjpKU1ZhbHVlIHRv
SlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogewogCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdS
SVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8
dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IFdU
Rl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigqKHJlaW50ZXJwcmV0X2Nhc3Q8
dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJ
T04oX19pZGVudGlmaWVyKCI/P183VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNAV2ViQ29yZUBA
NkJAIikpOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5jcHAJKHJldmlzaW9uIDIyOTkxMykKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMyLDcgKzIz
Miw3IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKIHsKIAogI2lm
IEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVy
ID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOworICAgIHZvaWQqIGFj
dHVhbFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJ
T04oKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpKTsKICNpZiBQTEFURk9S
TShXSU4pCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRC
TF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzV2l0aFNlcXVlbmNlQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWls
dGlucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuY3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWls
dGlucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2Miw3ICsyNjIsNyBAQCBKU0M6OkpTVmFsdWUg
dG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiB7CiAKICNpZiBFTkFCTEUoQklORElOR19JTlRF
R1JJVFkpCi0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2Fz
dDx2b2lkKio+KGltcGwucHRyKCkpKTsKKyAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0g
V1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCoocmVpbnRlcnByZXRfY2Fz
dDx2b2lkKio+KGltcGwucHRyKCkpKSk7CiAjaWYgUExBVEZPUk0oV0lOKQogICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVD
VElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0T3ZlcnJpZGVCdWlsdGluc0BXZWJDb3JlQEA2QkAi
KSk7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFBsdWdpbkludGVyZmFjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFBsdWdpbkludGVyZmFjZS5jcHAJKHJldmlz
aW9uIDIyOTkxMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RQbHVnaW5JbnRlcmZhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzUsNyArMjM1LDcg
QEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogewogCiAjaWYgRU5B
QkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAq
KHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0dWFs
VlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigq
KHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JNKFdJ
TikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BP
SU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdFBsdWdpbkludGVyZmFj
ZUBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21p
c2VSZWplY3Rpb25FdmVudC5jcHAJKHJldmlzaW9uIDIyOTkxMykKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yOTgsNyArMjk4LDcgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXds
eUNyZWF0ZWQoSlNDOjpFeGVjUwogewogCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQot
ICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoq
PihpbXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQ
QVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoq
PihpbXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19p
ZGVudGlmaWVyKCI/P183VGVzdFByb21pc2VSZWplY3Rpb25FdmVudEBXZWJDb3JlQEA2QkAiKSk7
CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFNlcmlhbGl6YXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uLmNwcAkocmV2aXNpb24gMjI5
OTEzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNl
cmlhbGl6YXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NjksNyArNTY5LDcgQEAgSlNDOjpK
U1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogewogCiAjaWYgRU5BQkxFKEJJTkRJ
TkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJw
cmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9p
bnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigqKHJlaW50ZXJw
cmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9S
X0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdFNlcmlhbGl6YXRpb25AV2ViQ29yZUBA
NkJAIikpOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCShyZXZpc2lvbiAyMjk5MTMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcyLDcgKzM3Miw3IEBAIEpTQzo6
SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKIHsKIAogI2lmIEVOQUJMRShCSU5E
SU5HX0lOVEVHUklUWSkKLSAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVy
cHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOworICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBv
aW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oKihyZWludGVy
cHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpKTsKICNpZiBQTEFURk9STShXSU4pCiAgICAg
dm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZP
Ul9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2VAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lm
aWVyLmNwcAkocmV2aXNpb24gMjI5OTEzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA2
LDcgKzIwNiw3IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1MKIHsK
IAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICB2b2lkKiBhY3R1YWxWVGFibGVQ
b2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOworICAgIHZv
aWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lO
U1BFQ1RJT04oKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpKTsKICNpZiBQ
TEFURk9STShXSU4pCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBB
UkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rlc3RTdHJp
bmdpZmllckBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24uY3BwCShyZXZpc2lvbiAyMjk5
MTMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3Ry
aW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDYsNyAr
MjA2LDcgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogewogCiAj
aWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50
ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9pZCog
YWN0dWFsVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVD
VElPTigqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBMQVRG
T1JNKFdJTikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9W
VEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdFN0cmluZ2lm
aWVyQW5vbnltb3VzT3BlcmF0aW9uQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJOYW1l
ZE9wZXJhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24uY3BwCShyZXZpc2lv
biAyMjk5MTMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyMSw3
ICsyMjEsNyBAQCBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTCiB7CiAK
ICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9p
bnRlciA9ICoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKKyAgICB2b2lk
KiBhY3R1YWxWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQ
RUNUSU9OKCoocmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKSk7CiAjaWYgUExB
VEZPUk0oV0lOKQogICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJF
X1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0U3RyaW5n
aWZpZXJOYW1lZE9wZXJhdGlvbkBXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0
aW9uSW1wbGVtZW50ZWRBcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRB
cy5jcHAJKHJldmlzaW9uIDIyOTkxMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMjEsNyArMjIxLDcgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNy
ZWF0ZWQoSlNDOjpFeGVjUwogewogCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAg
IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihp
bXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJF
X1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihp
bXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVu
dGlmaWVyKCI/P183VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBc0BXZWJDb3Jl
QEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0
cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZy5jcHAJKHJldmlzaW9uIDIyOTkxMykKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmll
ck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDYsNyArMjA2
LDcgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogewogCiAjaWYg
RU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIg
PSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0
dWFsVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElP
TigqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JN
KFdJTikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJM
X1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdFN0cmluZ2lmaWVy
T3BlcmF0aW9uTmFtZWRUb1N0cmluZ0BXZWJDb3JlQEA2QkAiKSk7CiAjZWxzZQpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVh
ZE9ubHlBdHRyaWJ1dGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlLmNwcAko
cmV2aXNpb24gMjI5OTEzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yMjgsNyArMjI4LDcgQEAgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpF
eGVjUwogewogCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVh
bFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7
CisgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRF
Ul9GT1JfSU5TUEVDVElPTigqKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSkp
OwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBX
VEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183
VGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGVAV2ViQ29yZUBANkJAIikpOwogI2Vsc2UK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJp
bmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0
cmlidXRlLmNwcAkocmV2aXNpb24gMjI5OTEzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjQ2LDcgKzI0Niw3IEBAIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlD
cmVhdGVkKEpTQzo6RXhlY1MKIHsKIAogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAg
ICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4o
aW1wbC5wdHIoKSkpOworICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFS
RV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04oKihyZWludGVycHJldF9jYXN0PHZvaWQqKj4o
aW1wbC5wdHIoKSkpKTsKICNpZiBQTEFURk9STShXSU4pCiAgICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRl
bnRpZmllcigiPz9fN1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZUBXZWJDb3JlQEA2
QkAiKSk7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCShyZXZpc2lvbiAyMjk5MTMp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRl
ZnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NjgsNyArNzY4LDcgQEAgSlNDOjpKU1ZhbHVlIHRv
SlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjUwogewogCiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdS
SVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJwcmV0X2Nhc3Q8
dm9pZCoqPihpbXBsLnB0cigpKSk7CisgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IFdU
Rl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigqKHJlaW50ZXJwcmV0X2Nhc3Q8
dm9pZCoqPihpbXBsLnB0cigpKSkpOwogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJ
T04oX19pZGVudGlmaWVyKCI/P183VGVzdFR5cGVkZWZzQFdlYkNvcmVAQDZCQCIpKTsKICNlbHNl
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAJKHJl
dmlzaW9uIDIyOTkxMykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rv
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIsNyArMiw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDE5
OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKICAqICAgICAgICAgICAoQykgMjAwNC0yMDA1
IEFsbGFuIFNhbmRmZWxkIEplbnNlbiAoa2RlQGNhcmV3b2xmLmNvbSkKICAqIENvcHlyaWdodCAo
QykgMjAwNiwgMjAwNyBOaWNob2xhcyBTaGFua3MgKHdlYmtpdEBuaWNrc2hhbmtzLmNvbSkKLSAq
IENvcHlyaWdodCAoQykgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSwg
MjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDUtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAq
IENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgog
ICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCkBAIC0zOTIsNyArMzkyLDcg
QEAgaW5saW5lIGJvb2wgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OnJ1bGVNYQogICAgIH0KIAogICAg
IGlmIChjb21waWxlZFNlbGVjdG9yQ2hlY2tlciAmJiBjb21waWxlZFNlbGVjdG9yLnN0YXR1cyA9
PSBTZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVzOjpTaW1wbGVTZWxlY3RvckNoZWNrZXIpIHsKLSAg
ICAgICAgYXV0byBzZWxlY3RvckNoZWNrZXIgPSBTZWxlY3RvckNvbXBpbGVyOjpydWxlQ29sbGVj
dG9yU2ltcGxlU2VsZWN0b3JDaGVja2VyRnVuY3Rpb24oY29tcGlsZWRTZWxlY3RvckNoZWNrZXIs
IGNvbXBpbGVkU2VsZWN0b3Iuc3RhdHVzKTsKKyAgICAgICAgYXV0byBzZWxlY3RvckNoZWNrZXIg
PSBTZWxlY3RvckNvbXBpbGVyOjpydWxlQ29sbGVjdG9yU2ltcGxlU2VsZWN0b3JDaGVja2VyRnVu
Y3Rpb24oY29tcGlsZWRTZWxlY3Rvci5jb2RlUmVmLCBjb21waWxlZFNlbGVjdG9yQ2hlY2tlciwg
Y29tcGlsZWRTZWxlY3Rvci5zdGF0dXMpOwogI2lmICFBU1NFUlRfTVNHX0RJU0FCTEVECiAgICAg
ICAgIHVuc2lnbmVkIGlnbm9yZVNwZWNpZmljaXR5OwogICAgICAgICBBU1NFUlRfV0lUSF9NRVNT
QUdFKCFzZWxlY3RvckNoZWNrZXIoJm1fZWxlbWVudCwgJmlnbm9yZVNwZWNpZmljaXR5KSB8fCBt
X3BzZXVkb1N0eWxlUmVxdWVzdC5wc2V1ZG9JZCA9PSBOT1BTRVVETywgIldoZW4gbWF0Y2hpbmcg
cHNldWRvIGVsZW1lbnRzLCB3ZSBzaG91bGQgbmV2ZXIgY29tcGlsZSBhIHNlbGVjdG9yIGNoZWNr
ZXIgd2l0aG91dCBjb250ZXh0IHVubGVzcyBpdCBjYW5ub3QgbWF0Y2ggYW55dGhpbmcuIik7CkBA
IC00MjAsNyArNDIwLDcgQEAgaW5saW5lIGJvb2wgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OnJ1bGVN
YQogICAgIGlmIChjb21waWxlZFNlbGVjdG9yQ2hlY2tlcikgewogICAgICAgICBBU1NFUlQoY29t
cGlsZWRTZWxlY3Rvci5zdGF0dXMgPT0gU2VsZWN0b3JDb21waWxhdGlvblN0YXR1czo6U2VsZWN0
b3JDaGVja2VyV2l0aENoZWNraW5nQ29udGV4dCk7CiAKLSAgICAgICAgYXV0byBzZWxlY3RvckNo
ZWNrZXIgPSBTZWxlY3RvckNvbXBpbGVyOjpydWxlQ29sbGVjdG9yU2VsZWN0b3JDaGVja2VyRnVu
Y3Rpb25XaXRoQ2hlY2tpbmdDb250ZXh0KGNvbXBpbGVkU2VsZWN0b3JDaGVja2VyLCBjb21waWxl
ZFNlbGVjdG9yLnN0YXR1cyk7CisgICAgICAgIGF1dG8gc2VsZWN0b3JDaGVja2VyID0gU2VsZWN0
b3JDb21waWxlcjo6cnVsZUNvbGxlY3RvclNlbGVjdG9yQ2hlY2tlckZ1bmN0aW9uV2l0aENoZWNr
aW5nQ29udGV4dChjb21waWxlZFNlbGVjdG9yLmNvZGVSZWYsIGNvbXBpbGVkU2VsZWN0b3JDaGVj
a2VyLCBjb21waWxlZFNlbGVjdG9yLnN0YXR1cyk7CiAKICNpZiBDU1NfU0VMRUNUT1JfSklUX1BS
T0ZJTElORwogICAgICAgICBjb21waWxlZFNlbGVjdG9yLnVzZUNvdW50Kys7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCShyZXZpc2lvbiAyMjk5MTMp
CisrKyBTb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEyMjQsNiArMTIyNCw3IEBAIGlubGluZSBTZWxlY3RvckNvbXBpbGF0aW9uU3Rh
dHVzIFNlbGVjdG8KICAgICAgICAgZ2VuZXJhdGVTZWxlY3RvckNoZWNrZXIoKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBGdW5jdGlvblR5cGU6OkNhbm5vdE1hdGNoQW55dGhpbmc6CisgICAg
ICAgIG1fYXNzZW1ibGVyLnRhZ1JldHVybkFkZHJlc3MoKTsKICAgICAgICAgbV9hc3NlbWJsZXIu
bW92ZShBc3NlbWJsZXI6OlRydXN0ZWRJbW0zMigwKSwgcmV0dXJuUmVnaXN0ZXIpOwogICAgICAg
ICBtX2Fzc2VtYmxlci5yZXQoKTsKICAgICAgICAgYnJlYWs7CkBAIC0xMjQzLDEwICsxMjQ0LDEx
IEBAIGlubGluZSBTZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVzIFNlbGVjdG8KICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbV9mdW5jdGlvbkNhbGxzLnNpemUoKTsgaSsrKQogICAgICAgICBs
aW5rQnVmZmVyLmxpbmsobV9mdW5jdGlvbkNhbGxzW2ldLmZpcnN0LCBtX2Z1bmN0aW9uQ2FsbHNb
aV0uc2Vjb25kKTsKIAorICAgIEpTQzo6UHRyVGFnIHRhZyA9IHB0clRhZygmY29kZVJlZiwgbV9z
ZWxlY3RvckNvbnRleHQpOwogI2lmIENTU19TRUxFQ1RPUl9KSVRfREVCVUdHSU5HCi0gICAgY29k
ZVJlZiA9IGxpbmtCdWZmZXIuZmluYWxpemVDb2RlV2l0aERpc2Fzc2VtYmx5KEpTQzo6Tm9QdHJU
YWcsICJDU1MgU2VsZWN0b3IgSklUIGZvciBcIiVzXCIiLCBtX29yaWdpbmFsU2VsZWN0b3ItPnNl
bGVjdG9yVGV4dCgpLnV0ZjgoKS5kYXRhKCkpOworICAgIGNvZGVSZWYgPSBsaW5rQnVmZmVyLmZp
bmFsaXplQ29kZVdpdGhEaXNhc3NlbWJseSh0YWcsICJDU1MgU2VsZWN0b3IgSklUIGZvciBcIiVz
XCIiLCBtX29yaWdpbmFsU2VsZWN0b3ItPnNlbGVjdG9yVGV4dCgpLnV0ZjgoKS5kYXRhKCkpOwog
I2Vsc2UKLSAgICBjb2RlUmVmID0gRklOQUxJWkVfQ09ERShsaW5rQnVmZmVyLCBKU0M6Ok5vUHRy
VGFnLCAiQ1NTIFNlbGVjdG9yIEpJVCIpOworICAgIGNvZGVSZWYgPSBGSU5BTElaRV9DT0RFKGxp
bmtCdWZmZXIsIHRhZywgIkNTUyBTZWxlY3RvciBKSVQiKTsKICNlbmRpZgogCiAgICAgaWYgKG1f
ZnVuY3Rpb25UeXBlID09IEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyIHx8IG1f
ZnVuY3Rpb25UeXBlID09IEZ1bmN0aW9uVHlwZTo6Q2Fubm90TWF0Y2hBbnl0aGluZykKQEAgLTE3
MzYsNiArMTczOCw3IEBAIHN0YXRpYyBib29sIHNob3VsZE1hcmtTdHlsZUlzQWZmZWN0ZWRCeVAK
IAogdm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlU2VsZWN0b3JDaGVja2VyKCkK
IHsKKyAgICBtX2Fzc2VtYmxlci50YWdSZXR1cm5BZGRyZXNzKCk7CiAgICAgcHVzaE1hY3JvQXNz
ZW1ibGVyUmVnaXN0ZXJzKCk7CiAgICAgU3RhY2tBbGxvY2F0b3IgZWFybHlGYWlsdXJlU3RhY2sg
PSBtX3N0YWNrQWxsb2NhdG9yOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0
b3JDb21waWxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3Rv
ckNvbXBpbGVyLmgJKHJldmlzaW9uIDIyOTkxMykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzc2ppdC9T
ZWxlY3RvckNvbXBpbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMy0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTUsMjggKzU1LDMyIEBAIHR5cGVkZWYg
dW5zaWduZWQgKCpRdWVyeVNlbGVjdG9yU2VsZWN0b3IKIAogU2VsZWN0b3JDb21waWxhdGlvblN0
YXR1cyBjb21waWxlU2VsZWN0b3IoY29uc3QgQ1NTU2VsZWN0b3IqLCBTZWxlY3RvckNvbnRleHQs
IEpTQzo6TWFjcm9Bc3NlbWJsZXJDb2RlUmVmJiBvdXRwdXRDb2RlUmVmKTsKIAotaW5saW5lIFJ1
bGVDb2xsZWN0b3JTaW1wbGVTZWxlY3RvckNoZWNrZXIgcnVsZUNvbGxlY3RvclNpbXBsZVNlbGVj
dG9yQ2hlY2tlckZ1bmN0aW9uKHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzLCBTZWxlY3RvckNvbXBp
bGF0aW9uU3RhdHVzIGNvbXBpbGF0aW9uU3RhdHVzKQoraW5saW5lIFJ1bGVDb2xsZWN0b3JTaW1w
bGVTZWxlY3RvckNoZWNrZXIgcnVsZUNvbGxlY3RvclNpbXBsZVNlbGVjdG9yQ2hlY2tlckZ1bmN0
aW9uKGNvbnN0IEpTQzo6TWFjcm9Bc3NlbWJsZXJDb2RlUmVmJiBjb2RlUmVmLCB2b2lkKiBleGVj
dXRhYmxlQWRkcmVzcywgU2VsZWN0b3JDb21waWxhdGlvblN0YXR1cyBjb21waWxhdGlvblN0YXR1
cykKIHsKICAgICBBU1NFUlRfVU5VU0VEKGNvbXBpbGF0aW9uU3RhdHVzLCBjb21waWxhdGlvblN0
YXR1cyA9PSBTZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVzOjpTaW1wbGVTZWxlY3RvckNoZWNrZXIp
OwotICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFJ1bGVDb2xsZWN0b3JTaW1wbGVTZWxlY3Rv
ckNoZWNrZXI+KGV4ZWN1dGFibGVBZGRyZXNzKTsKKyAgICBKU0M6OlB0clRhZyB0YWcgPSBKU0M6
OnB0clRhZygmY29kZVJlZiwgU2VsZWN0b3JDb250ZXh0OjpSdWxlQ29sbGVjdG9yKTsKKyAgICBy
ZXR1cm4gSlNDOjp1bnRhZ0NGdW5jdGlvblB0cjxSdWxlQ29sbGVjdG9yU2ltcGxlU2VsZWN0b3JD
aGVja2VyPihleGVjdXRhYmxlQWRkcmVzcywgdGFnKTsKIH0KIAotaW5saW5lIFF1ZXJ5U2VsZWN0
b3JTaW1wbGVTZWxlY3RvckNoZWNrZXIgcXVlcnlTZWxlY3RvclNpbXBsZVNlbGVjdG9yQ2hlY2tl
ckZ1bmN0aW9uKHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzLCBTZWxlY3RvckNvbXBpbGF0aW9uU3Rh
dHVzIGNvbXBpbGF0aW9uU3RhdHVzKQoraW5saW5lIFF1ZXJ5U2VsZWN0b3JTaW1wbGVTZWxlY3Rv
ckNoZWNrZXIgcXVlcnlTZWxlY3RvclNpbXBsZVNlbGVjdG9yQ2hlY2tlckZ1bmN0aW9uKGNvbnN0
IEpTQzo6TWFjcm9Bc3NlbWJsZXJDb2RlUmVmJiBjb2RlUmVmLCB2b2lkKiBleGVjdXRhYmxlQWRk
cmVzcywgU2VsZWN0b3JDb21waWxhdGlvblN0YXR1cyBjb21waWxhdGlvblN0YXR1cykKIHsKICAg
ICBBU1NFUlRfVU5VU0VEKGNvbXBpbGF0aW9uU3RhdHVzLCBjb21waWxhdGlvblN0YXR1cyA9PSBT
ZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVzOjpTaW1wbGVTZWxlY3RvckNoZWNrZXIpOwotICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFF1ZXJ5U2VsZWN0b3JTaW1wbGVTZWxlY3RvckNoZWNrZXI+
KGV4ZWN1dGFibGVBZGRyZXNzKTsKKyAgICBKU0M6OlB0clRhZyB0YWcgPSBKU0M6OnB0clRhZygm
Y29kZVJlZiwgU2VsZWN0b3JDb250ZXh0OjpRdWVyeVNlbGVjdG9yKTsKKyAgICByZXR1cm4gSlND
Ojp1bnRhZ0NGdW5jdGlvblB0cjxRdWVyeVNlbGVjdG9yU2ltcGxlU2VsZWN0b3JDaGVja2VyPihl
eGVjdXRhYmxlQWRkcmVzcywgdGFnKTsKIH0KIAotaW5saW5lIFJ1bGVDb2xsZWN0b3JTZWxlY3Rv
ckNoZWNrZXJXaXRoQ2hlY2tpbmdDb250ZXh0IHJ1bGVDb2xsZWN0b3JTZWxlY3RvckNoZWNrZXJG
dW5jdGlvbldpdGhDaGVja2luZ0NvbnRleHQodm9pZCogZXhlY3V0YWJsZUFkZHJlc3MsIFNlbGVj
dG9yQ29tcGlsYXRpb25TdGF0dXMgY29tcGlsYXRpb25TdGF0dXMpCitpbmxpbmUgUnVsZUNvbGxl
Y3RvclNlbGVjdG9yQ2hlY2tlcldpdGhDaGVja2luZ0NvbnRleHQgcnVsZUNvbGxlY3RvclNlbGVj
dG9yQ2hlY2tlckZ1bmN0aW9uV2l0aENoZWNraW5nQ29udGV4dChjb25zdCBKU0M6Ok1hY3JvQXNz
ZW1ibGVyQ29kZVJlZiYgY29kZVJlZiwgdm9pZCogZXhlY3V0YWJsZUFkZHJlc3MsIFNlbGVjdG9y
Q29tcGlsYXRpb25TdGF0dXMgY29tcGlsYXRpb25TdGF0dXMpCiB7CiAgICAgQVNTRVJUX1VOVVNF
RChjb21waWxhdGlvblN0YXR1cywgY29tcGlsYXRpb25TdGF0dXMgPT0gU2VsZWN0b3JDb21waWxh
dGlvblN0YXR1czo6U2VsZWN0b3JDaGVja2VyV2l0aENoZWNraW5nQ29udGV4dCk7Ci0gICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8UnVsZUNvbGxlY3RvclNlbGVjdG9yQ2hlY2tlcldpdGhDaGVj
a2luZ0NvbnRleHQ+KGV4ZWN1dGFibGVBZGRyZXNzKTsKKyAgICBKU0M6OlB0clRhZyB0YWcgPSBK
U0M6OnB0clRhZygmY29kZVJlZiwgU2VsZWN0b3JDb250ZXh0OjpSdWxlQ29sbGVjdG9yKTsKKyAg
ICByZXR1cm4gSlNDOjp1bnRhZ0NGdW5jdGlvblB0cjxSdWxlQ29sbGVjdG9yU2VsZWN0b3JDaGVj
a2VyV2l0aENoZWNraW5nQ29udGV4dD4oZXhlY3V0YWJsZUFkZHJlc3MsIHRhZyk7CiB9CiAKLWlu
bGluZSBRdWVyeVNlbGVjdG9yU2VsZWN0b3JDaGVja2VyV2l0aENoZWNraW5nQ29udGV4dCBxdWVy
eVNlbGVjdG9yU2VsZWN0b3JDaGVja2VyRnVuY3Rpb25XaXRoQ2hlY2tpbmdDb250ZXh0KHZvaWQq
IGV4ZWN1dGFibGVBZGRyZXNzLCBTZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVzIGNvbXBpbGF0aW9u
U3RhdHVzKQoraW5saW5lIFF1ZXJ5U2VsZWN0b3JTZWxlY3RvckNoZWNrZXJXaXRoQ2hlY2tpbmdD
b250ZXh0IHF1ZXJ5U2VsZWN0b3JTZWxlY3RvckNoZWNrZXJGdW5jdGlvbldpdGhDaGVja2luZ0Nv
bnRleHQoY29uc3QgSlNDOjpNYWNyb0Fzc2VtYmxlckNvZGVSZWYmIGNvZGVSZWYsIHZvaWQqIGV4
ZWN1dGFibGVBZGRyZXNzLCBTZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVzIGNvbXBpbGF0aW9uU3Rh
dHVzKQogewogICAgIEFTU0VSVF9VTlVTRUQoY29tcGlsYXRpb25TdGF0dXMsIGNvbXBpbGF0aW9u
U3RhdHVzID09IFNlbGVjdG9yQ29tcGlsYXRpb25TdGF0dXM6OlNlbGVjdG9yQ2hlY2tlcldpdGhD
aGVja2luZ0NvbnRleHQpOwotICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFF1ZXJ5U2VsZWN0
b3JTZWxlY3RvckNoZWNrZXJXaXRoQ2hlY2tpbmdDb250ZXh0PihleGVjdXRhYmxlQWRkcmVzcyk7
CisgICAgSlNDOjpQdHJUYWcgdGFnID0gSlNDOjpwdHJUYWcoJmNvZGVSZWYsIFNlbGVjdG9yQ29u
dGV4dDo6UXVlcnlTZWxlY3Rvcik7CisgICAgcmV0dXJuIEpTQzo6dW50YWdDRnVuY3Rpb25QdHI8
UXVlcnlTZWxlY3RvclNlbGVjdG9yQ2hlY2tlcldpdGhDaGVja2luZ0NvbnRleHQ+KGV4ZWN1dGFi
bGVBZGRyZXNzLCB0YWcpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBTZWxlY3RvckNvbXBpbGVyCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU2VsZWN0b3JRdWVyeS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL1NlbGVjdG9yUXVlcnkuY3BwCShyZXZpc2lvbiAyMjk5MTMpCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vU2VsZWN0b3JRdWVyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDE0IFl1c3VrZSBTdXp1
a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTQ1MSwxMSAr
NDUxLDExIEBAIEFMV0FZU19JTkxJTkUgdm9pZCBTZWxlY3RvckRhdGFMaXN0OjpleGUKICAgICAg
ICAgICAgIGJvb2wgbWF0Y2hlZCA9IGZhbHNlOwogICAgICAgICAgICAgdm9pZCogY29tcGlsZWRT
ZWxlY3RvckNoZWNrZXIgPSBzZWxlY3Rvci5jb21waWxlZFNlbGVjdG9yQ29kZVJlZi5jb2RlKCku
ZXhlY3V0YWJsZUFkZHJlc3MoKTsKICAgICAgICAgICAgIGlmIChzZWxlY3Rvci5jb21waWxhdGlv
blN0YXR1cyA9PSBTZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVzOjpTaW1wbGVTZWxlY3RvckNoZWNr
ZXIpIHsKLSAgICAgICAgICAgICAgICBhdXRvIHNlbGVjdG9yQ2hlY2tlciA9IFNlbGVjdG9yQ29t
cGlsZXI6OnF1ZXJ5U2VsZWN0b3JTaW1wbGVTZWxlY3RvckNoZWNrZXJGdW5jdGlvbihjb21waWxl
ZFNlbGVjdG9yQ2hlY2tlciwgc2VsZWN0b3IuY29tcGlsYXRpb25TdGF0dXMpOworICAgICAgICAg
ICAgICAgIGF1dG8gc2VsZWN0b3JDaGVja2VyID0gU2VsZWN0b3JDb21waWxlcjo6cXVlcnlTZWxl
Y3RvclNpbXBsZVNlbGVjdG9yQ2hlY2tlckZ1bmN0aW9uKHNlbGVjdG9yLmNvbXBpbGVkU2VsZWN0
b3JDb2RlUmVmLCBjb21waWxlZFNlbGVjdG9yQ2hlY2tlciwgc2VsZWN0b3IuY29tcGlsYXRpb25T
dGF0dXMpOwogICAgICAgICAgICAgICAgIG1hdGNoZWQgPSBzZWxlY3RvckNoZWNrZXIoJmVsZW1l
bnQpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBBU1NFUlQoc2VsZWN0
b3IuY29tcGlsYXRpb25TdGF0dXMgPT0gU2VsZWN0b3JDb21waWxhdGlvblN0YXR1czo6U2VsZWN0
b3JDaGVja2VyV2l0aENoZWNraW5nQ29udGV4dCk7Ci0gICAgICAgICAgICAgICAgYXV0byBzZWxl
Y3RvckNoZWNrZXIgPSBTZWxlY3RvckNvbXBpbGVyOjpxdWVyeVNlbGVjdG9yU2VsZWN0b3JDaGVj
a2VyRnVuY3Rpb25XaXRoQ2hlY2tpbmdDb250ZXh0KGNvbXBpbGVkU2VsZWN0b3JDaGVja2VyLCBz
ZWxlY3Rvci5jb21waWxhdGlvblN0YXR1cyk7CisgICAgICAgICAgICAgICAgYXV0byBzZWxlY3Rv
ckNoZWNrZXIgPSBTZWxlY3RvckNvbXBpbGVyOjpxdWVyeVNlbGVjdG9yU2VsZWN0b3JDaGVja2Vy
RnVuY3Rpb25XaXRoQ2hlY2tpbmdDb250ZXh0KHNlbGVjdG9yLmNvbXBpbGVkU2VsZWN0b3JDb2Rl
UmVmLCBjb21waWxlZFNlbGVjdG9yQ2hlY2tlciwgc2VsZWN0b3IuY29tcGlsYXRpb25TdGF0dXMp
OwogICAgICAgICAgICAgICAgIG1hdGNoZWQgPSBzZWxlY3RvckNoZWNrZXIoJmVsZW1lbnQsICZj
aGVja2luZ0NvbnRleHQpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKG1hdGNoZWQp
IHsKQEAgLTU0MywxMSArNTQzLDExIEBAIEFMV0FZU19JTkxJTkUgdm9pZCBTZWxlY3RvckRhdGFM
aXN0OjpleGUKICAgICAgICAgY29uc3QgU2VsZWN0b3JEYXRhJiBzZWxlY3RvckRhdGEgPSBtX3Nl
bGVjdG9ycy5maXJzdCgpOwogICAgICAgICB2b2lkKiBjb21waWxlZFNlbGVjdG9yQ2hlY2tlciA9
IHNlbGVjdG9yRGF0YS5jb21waWxlZFNlbGVjdG9yQ29kZVJlZi5jb2RlKCkuZXhlY3V0YWJsZUFk
ZHJlc3MoKTsKICAgICAgICAgaWYgKHNlbGVjdG9yRGF0YS5jb21waWxhdGlvblN0YXR1cyA9PSBT
ZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVzOjpTaW1wbGVTZWxlY3RvckNoZWNrZXIpIHsKLSAgICAg
ICAgICAgIFNlbGVjdG9yQ29tcGlsZXI6OlF1ZXJ5U2VsZWN0b3JTaW1wbGVTZWxlY3RvckNoZWNr
ZXIgc2VsZWN0b3JDaGVja2VyID0gU2VsZWN0b3JDb21waWxlcjo6cXVlcnlTZWxlY3RvclNpbXBs
ZVNlbGVjdG9yQ2hlY2tlckZ1bmN0aW9uKGNvbXBpbGVkU2VsZWN0b3JDaGVja2VyLCBzZWxlY3Rv
ckRhdGEuY29tcGlsYXRpb25TdGF0dXMpOworICAgICAgICAgICAgU2VsZWN0b3JDb21waWxlcjo6
UXVlcnlTZWxlY3RvclNpbXBsZVNlbGVjdG9yQ2hlY2tlciBzZWxlY3RvckNoZWNrZXIgPSBTZWxl
Y3RvckNvbXBpbGVyOjpxdWVyeVNlbGVjdG9yU2ltcGxlU2VsZWN0b3JDaGVja2VyRnVuY3Rpb24o
c2VsZWN0b3JEYXRhLmNvbXBpbGVkU2VsZWN0b3JDb2RlUmVmLCBjb21waWxlZFNlbGVjdG9yQ2hl
Y2tlciwgc2VsZWN0b3JEYXRhLmNvbXBpbGF0aW9uU3RhdHVzKTsKICAgICAgICAgICAgIGV4ZWN1
dGVDb21waWxlZFNpbXBsZVNlbGVjdG9yQ2hlY2tlcjxTZWxlY3RvclF1ZXJ5VHJhaXQ+KCpzZWFy
Y2hSb290Tm9kZSwgc2VsZWN0b3JDaGVja2VyLCBvdXRwdXQsIHNlbGVjdG9yRGF0YSk7CiAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBBU1NFUlQoc2VsZWN0b3JEYXRhLmNvbXBpbGF0aW9u
U3RhdHVzID09IFNlbGVjdG9yQ29tcGlsYXRpb25TdGF0dXM6OlNlbGVjdG9yQ2hlY2tlcldpdGhD
aGVja2luZ0NvbnRleHQpOwotICAgICAgICAgICAgU2VsZWN0b3JDb21waWxlcjo6UXVlcnlTZWxl
Y3RvclNlbGVjdG9yQ2hlY2tlcldpdGhDaGVja2luZ0NvbnRleHQgc2VsZWN0b3JDaGVja2VyID0g
U2VsZWN0b3JDb21waWxlcjo6cXVlcnlTZWxlY3RvclNlbGVjdG9yQ2hlY2tlckZ1bmN0aW9uV2l0
aENoZWNraW5nQ29udGV4dChjb21waWxlZFNlbGVjdG9yQ2hlY2tlciwgc2VsZWN0b3JEYXRhLmNv
bXBpbGF0aW9uU3RhdHVzKTsKKyAgICAgICAgICAgIFNlbGVjdG9yQ29tcGlsZXI6OlF1ZXJ5U2Vs
ZWN0b3JTZWxlY3RvckNoZWNrZXJXaXRoQ2hlY2tpbmdDb250ZXh0IHNlbGVjdG9yQ2hlY2tlciA9
IFNlbGVjdG9yQ29tcGlsZXI6OnF1ZXJ5U2VsZWN0b3JTZWxlY3RvckNoZWNrZXJGdW5jdGlvbldp
dGhDaGVja2luZ0NvbnRleHQoc2VsZWN0b3JEYXRhLmNvbXBpbGVkU2VsZWN0b3JDb2RlUmVmLCBj
b21waWxlZFNlbGVjdG9yQ2hlY2tlciwgc2VsZWN0b3JEYXRhLmNvbXBpbGF0aW9uU3RhdHVzKTsK
ICAgICAgICAgICAgIGV4ZWN1dGVDb21waWxlZFNlbGVjdG9yQ2hlY2tlcldpdGhDaGVja2luZ0Nv
bnRleHQ8U2VsZWN0b3JRdWVyeVRyYWl0Pihyb290Tm9kZSwgKnNlYXJjaFJvb3ROb2RlLCBzZWxl
Y3RvckNoZWNrZXIsIG91dHB1dCwgc2VsZWN0b3JEYXRhKTsKICAgICAgICAgfQogICAgICAgICBi
cmVhazsK
</data>
<flag name="review"
          id="354947"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>