<?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>229351</bug_id>
          
          <creation_ts>2021-08-20 14:20:02 -0700</creation_ts>
          <short_desc>[JSC] Simplify moveIntsToDouble</short_desc>
          <delta_ts>2021-08-20 17:56:23 -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>New Bugs</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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1785978</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-20 14:20:02 -0700</bug_when>
    <thetext>[JSC] Simplify moveIntsToDouble</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785981</commentid>
    <comment_count>1</comment_count>
      <attachid>436028</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-20 14:22:59 -0700</bug_when>
    <thetext>Created attachment 436028
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785983</commentid>
    <comment_count>2</comment_count>
      <attachid>436028</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-08-20 14:24:25 -0700</bug_when>
    <thetext>Comment on attachment 436028
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786062</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-20 17:55:07 -0700</bug_when>
    <thetext>Committed r281355 (240770@main): &lt;https://commits.webkit.org/240770@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436028.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786063</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-20 17:56:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/82193023&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436028</attachid>
            <date>2021-08-20 14:22:59 -0700</date>
            <delta_ts>2021-08-20 17:55:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229351-20210820142258.patch</filename>
            <type>text/plain</type>
            <size>41032</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NmE5YjNkYmVhNTJlZWY3NjIyNzk4MWE0YmEzNDk1YThmZjRhOWJlLi43MzRlOGZhNzEyMjdlZTdl
MzhlZTFkZWRjYzdkYWY3ODQ5MjViYmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3MCBAQAorMjAyMS0wOC0yMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFNpbXBsaWZ5IG1vdmVJbnRzVG9Eb3VibGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTM1MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjptb3Zl
SW50c1RvRG91YmxlIHJlcXVpcmVkIHNjcmF0Y2ggRlBSUmVnLiBCdXQgaXQgd2FzIG9ubHkgcmVx
dWlyZWQgZm9yIE1hY3JvQXNzZW1ibGVyWDg2LCBhbmQgaXQgaXMgYWxyZWFkeSByZW1vdmVkLgor
ICAgICAgICBUaGlzIG1lYW5zIHRoYXQgd2Ugbm8gbG9uZ2VyIG5lZWQgdGhpcyBzY3JhdGNoIEZQ
UlJlZy4gVGhpcyBjaGFuZ2UgbWFrZXMgYSBsb3Qgb2YgSUMgY29kZSwgcHJvcGVydHkgYWNjZXNz
IGNvZGUgc2ltcGxlci4KKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVzIHRoYXQgc2NyYXRjaCBG
UFJSZWcsIGFuZCByZW1vdmVkIHNjcmF0Y2ggRlBSUmVnIG9mIG1hbnkgYXJpdGhtZXRpYyBJQ3Mu
IFRoaXMgcGF0Y2ggaXMgaW1wb3J0YW50IGZvciBQdXRCeVZhbCBtb2Rlcm4KKyAgICAgICAgSUMg
c2luY2Ugc29tZSBvZiBwcm9wZXJ0eSBhY2Nlc3MgcmVxdWlyZXMgRlBSUmVnIGJlY2F1c2Ugb2Yg
TWFjcm9Bc3NlbWJsZXI6Om1vdmVJbnRzVG9Eb3VibGUsIGFuZCBpdCByZXF1aXJlcyBhZGRpbmcg
bmV3IG1fc2NyYXRjaDJGUFIKKyAgICAgICAgdG8gQWNjZXNzQ2FzZS4gQnV0IGFmdGVyIHRoaXMg
c2ltcGxpZmljYXRpb24sIHRoaXMgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeS4KKworICAgICAgICAq
IGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNz
ZW1ibGVyQVJNdjc6Om1vdmVJbnRzVG9Eb3VibGUpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlck1JUFMuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJNSVBTOjptb3Zl
SW50c1RvRG91YmxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAg
ICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlVmFsdWVUb0ludDMyKToKKyAg
ICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZURvdWJsZVJlcCk6CisgICAg
ICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVtaXRVbnR5cGVkT3JCaWdJbnRSaWdodFNo
aWZ0Qml0T3ApOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlVmFs
dWVBZGQpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlVmFsdWVT
dWIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlTWF0aElDKToK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVZhbHVlTmVnYXRlKToK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVZhbHVlTXVsKToKKyAg
ICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlUmVhbE51bWJlcik6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVOb3JtYWxpemVNYXBLZXkp
OgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oOgorICAgICAgICAoSlNDOjpERkc6
OlNwZWN1bGF0aXZlSklUOjp1bmJveERvdWJsZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZH
VG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVC
aW5hcnlNYXRoSUMpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21w
aWxlQ29tcGFyZVN0cmljdEVxKToKKyAgICAgICAgKiBqaXQvQXNzZW1ibHlIZWxwZXJzLmNwcDoK
KyAgICAgICAgKEpTQzo6QXNzZW1ibHlIZWxwZXJzOjplbWl0Q29udmVydFZhbHVlVG9Cb29sZWFu
KToKKyAgICAgICAgKEpTQzo6QXNzZW1ibHlIZWxwZXJzOjpicmFuY2hJZlZhbHVlKToKKyAgICAg
ICAgKiBqaXQvQXNzZW1ibHlIZWxwZXJzLmg6CisgICAgICAgIChKU0M6OkFzc2VtYmx5SGVscGVy
czo6dW5ib3hEb3VibGVOb25EZXN0cnVjdGl2ZSk6CisgICAgICAgIChKU0M6OkFzc2VtYmx5SGVs
cGVyczo6dW5ib3hEb3VibGUpOgorICAgICAgICAqIGppdC9KSVRBZGRHZW5lcmF0b3IuY3BwOgor
ICAgICAgICAoSlNDOjpKSVRBZGRHZW5lcmF0b3I6OmdlbmVyYXRlRmFzdFBhdGgpOgorICAgICAg
ICAqIGppdC9KSVRBZGRHZW5lcmF0b3IuaDoKKyAgICAgICAgKEpTQzo6SklUQWRkR2VuZXJhdG9y
OjpKSVRBZGRHZW5lcmF0b3IpOgorICAgICAgICAqIGppdC9KSVRBcml0aG1ldGljLmNwcDoKKyAg
ICAgICAgKEpTQzo6SklUOjplbWl0UmlnaHRTaGlmdEZhc3RQYXRoKToKKyAgICAgICAgKEpTQzo6
SklUOjplbWl0TWF0aElDRmFzdCk6CisgICAgICAgICogaml0L0pJVERpdkdlbmVyYXRvci5jcHA6
CisgICAgICAgIChKU0M6OkpJVERpdkdlbmVyYXRvcjo6bG9hZE9wZXJhbmQpOgorICAgICAgICAq
IGppdC9KSVRNdWxHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpKSVRNdWxHZW5lcmF0b3I6
OmdlbmVyYXRlSW5saW5lKToKKyAgICAgICAgKEpTQzo6SklUTXVsR2VuZXJhdG9yOjpnZW5lcmF0
ZUZhc3RQYXRoKToKKyAgICAgICAgKiBqaXQvSklUTXVsR2VuZXJhdG9yLmg6CisgICAgICAgIChK
U0M6OkpJVE11bEdlbmVyYXRvcjo6SklUTXVsR2VuZXJhdG9yKToKKyAgICAgICAgKiBqaXQvSklU
UHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRGbG9hdFR5cGVkQXJy
YXlQdXRCeVZhbCk6CisgICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwOgor
ICAgICAgICAoSlNDOjpKSVQ6OmVtaXRHZW5lcmljQ29udGlndW91c1B1dEJ5VmFsKToKKyAgICAg
ICAgKiBqaXQvSklUUmlnaHRTaGlmdEdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkpJVFJp
Z2h0U2hpZnRHZW5lcmF0b3I6OmdlbmVyYXRlRmFzdFBhdGgpOgorICAgICAgICAqIGppdC9KSVRS
aWdodFNoaWZ0R2VuZXJhdG9yLmg6CisgICAgICAgIChKU0M6OkpJVFJpZ2h0U2hpZnRHZW5lcmF0
b3I6OkpJVFJpZ2h0U2hpZnRHZW5lcmF0b3IpOgorICAgICAgICAqIGppdC9KSVRTdWJHZW5lcmF0
b3IuY3BwOgorICAgICAgICAoSlNDOjpKSVRTdWJHZW5lcmF0b3I6OmdlbmVyYXRlSW5saW5lKToK
KyAgICAgICAgKEpTQzo6SklUU3ViR2VuZXJhdG9yOjpnZW5lcmF0ZUZhc3RQYXRoKToKKyAgICAg
ICAgKiBqaXQvSklUU3ViR2VuZXJhdG9yLmg6CisgICAgICAgIChKU0M6OkpJVFN1YkdlbmVyYXRv
cjo6SklUU3ViR2VuZXJhdG9yKToKKwogMjAyMS0wOC0yMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1
a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIFJlbW92ZSB1bm5lY2Vzc2FyeSBtb3ZlcyBp
biBZYXJyJ3Mgc3ViMzIgLyBhZGQzMiByZWxhdGVkIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKaW5kZXggYzM1ZmQz
OThmN2U1ZjQ0ZmYzNzMyNDFkNzg2MWJkZjFhMWYzMzRlMS4uZGY1MWU5NTJkZGNkZTRjMGM2N2Ey
NDI0MzA4MDkxOGQ0MzFlYmY5MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKQEAgLTEwMTIsOSArMTAxMiw4IEBAIGNs
YXNzIE1hY3JvQXNzZW1ibGVyQVJNdjcgOiBwdWJsaWMgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjxB
c3NlbWJsZXI+IHsKICAgICAgICAgbV9hc3NlbWJsZXIudm1vdihkZXN0MSwgZGVzdDIsIHNyYyk7
CiAgICAgfQogICAgIAotICAgIHZvaWQgbW92ZUludHNUb0RvdWJsZShSZWdpc3RlcklEIHNyYzEs
IFJlZ2lzdGVySUQgc3JjMiwgRlBSZWdpc3RlcklEIGRlc3QsIEZQUmVnaXN0ZXJJRCBzY3JhdGNo
KQorICAgIHZvaWQgbW92ZUludHNUb0RvdWJsZShSZWdpc3RlcklEIHNyYzEsIFJlZ2lzdGVySUQg
c3JjMiwgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBVTlVTRURfUEFSQU0oc2Ny
YXRjaCk7CiAgICAgICAgIG1fYXNzZW1ibGVyLnZtb3YoZGVzdCwgc3JjMSwgc3JjMik7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyTUlQUy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
Ymxlck1JUFMuaAppbmRleCAxNDQ1Yzc5MWIyOGNlZjVkZmMxNTZjMzEyNGM2YTRlMjIyMWFjMWE0
Li43NGQxMjc2MjVhNzdiNTExNjliYWRmOWFkMzVjN2U4NWIzNTM5YTY5IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQUy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmgKQEAg
LTIwNzIsOSArMjA3Miw4IEBAIGNsYXNzIE1hY3JvQXNzZW1ibGVyTUlQUyA6IHB1YmxpYyBBYnN0
cmFjdE1hY3JvQXNzZW1ibGVyPEFzc2VtYmxlcj4gewogICAgICAgICBtX2Fzc2VtYmxlci52bW92
KGRlc3QxLCBkZXN0Miwgc3JjKTsKICAgICB9CiAKLSAgICB2b2lkIG1vdmVJbnRzVG9Eb3VibGUo
UmVnaXN0ZXJJRCBzcmMxLCBSZWdpc3RlcklEIHNyYzIsIEZQUmVnaXN0ZXJJRCBkZXN0LCBGUFJl
Z2lzdGVySUQgc2NyYXRjaCkKKyAgICB2b2lkIG1vdmVJbnRzVG9Eb3VibGUoUmVnaXN0ZXJJRCBz
cmMxLCBSZWdpc3RlcklEIHNyYzIsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAg
VU5VU0VEX1BBUkFNKHNjcmF0Y2gpOwogICAgICAgICBtX2Fzc2VtYmxlci52bW92KGRlc3QsIHNy
YzEsIHNyYzIpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcAppbmRleCA4NjlkY2MyMWZiNWVhODBiOWEyNzI3MWM5OGJhYmE3MDNh
ZTI0ZWZjLi5jZmFjMTdlYzA5Y2ZjYmYwODkwOTc2MzNmMDdjYTAzYWIyMzJlMDFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtMjg1
Niw3ICsyODU2LDYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVZhbHVlVG9JbnQzMihO
b2RlKiBub2RlKQogICAgICAgICAgICAgICAgIEdQUlJlZyB0YWdHUFIgPSBvcDEudGFnR1BSKCk7
CiAgICAgICAgICAgICAgICAgRlBSVGVtcG9yYXJ5IHRlbXBGcHIodGhpcyk7CiAgICAgICAgICAg
ICAgICAgRlBSUmVnIGZwciA9IHRlbXBGcHIuZnByKCk7Ci0gICAgICAgICAgICAgICAgRlBSVGVt
cG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAKICAgICAgICAgICAgICAgICBKSVRDb21waWxlcjo6SnVt
cCBpc0ludGVnZXIgPSBtX2ppdC5icmFuY2hJZkludDMyKHRhZ0dQUik7CiAKQEAgLTI4ODUsNyAr
Mjg4NCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVWYWx1ZVRvSW50MzIoTm9kZSog
bm9kZSkKICAgICAgICAgICAgICAgICAgICAgaXNOdW1iZXIubGluaygmbV9qaXQpOwogICAgICAg
ICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIHVuYm94RG91YmxlKHRhZ0dQUiwgcGF5bG9h
ZEdQUiwgZnByLCBzY3JhdGNoLmZwcigpKTsKKyAgICAgICAgICAgICAgICB1bmJveERvdWJsZSh0
YWdHUFIsIHBheWxvYWRHUFIsIGZwcik7CiAKICAgICAgICAgICAgICAgICBzaWxlbnRTcGlsbEFs
bFJlZ2lzdGVycyhyZXN1bHRHcHIpOwogICAgICAgICAgICAgICAgIGNhbGxPcGVyYXRpb24ob3Bl
cmF0aW9uVG9JbnQzMiwgcmVzdWx0R3ByLCBmcHIpOwpAQCAtMjk4OSw5ICsyOTg4LDcgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZURvdWJsZVJlcChOb2RlKiBub2RlKQogICAgICAgICBH
UFJSZWcgdGVtcEdQUiA9IHRlbXAuZ3ByKCk7CiAgICAgICAgIG1faml0LnVuYm94RG91YmxlV2l0
aG91dEFzc2VydGlvbnMob3AxUmVncy5ncHIoKSwgdGVtcEdQUiwgcmVzdWx0RlBSKTsKICNlbHNl
Ci0gICAgICAgIEZQUlRlbXBvcmFyeSB0ZW1wKHRoaXMpOwotICAgICAgICBGUFJSZWcgdGVtcEZQ
UiA9IHRlbXAuZnByKCk7Ci0gICAgICAgIHVuYm94RG91YmxlKG9wMVJlZ3MudGFnR1BSKCksIG9w
MVJlZ3MucGF5bG9hZEdQUigpLCByZXN1bHRGUFIsIHRlbXBGUFIpOworICAgICAgICB1bmJveERv
dWJsZShvcDFSZWdzLnRhZ0dQUigpLCBvcDFSZWdzLnBheWxvYWRHUFIoKSwgcmVzdWx0RlBSKTsK
ICNlbmRpZgogICAgICAgICAKICAgICAgICAgSklUQ29tcGlsZXI6Okp1bXAgZG9uZSA9IG1faml0
LmJyYW5jaElmTm90TmFOKHJlc3VsdEZQUik7CkBAIC0zMDY4LDExICszMDY1LDggQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZURvdWJsZVJlcChOb2RlKiBub2RlKQogICAgICAgICBtX2pp
dC5jb252ZXJ0SW50MzJUb0RvdWJsZShvcDFHUFIsIHJlc3VsdEZQUik7CiAgICAgICAgIGRvbmUu
bGluaygmbV9qaXQpOwogI2Vsc2UgLy8gVVNFKEpTVkFMVUU2NCkgLT4gdGhpcyBpcyB0aGUgMzJf
NjQgY2FzZQotICAgICAgICBGUFJUZW1wb3JhcnkgdGVtcCh0aGlzKTsKLSAgICAKICAgICAgICAg
R1BSUmVnIG9wMVRhZ0dQUiA9IG9wMS50YWdHUFIoKTsKICAgICAgICAgR1BSUmVnIG9wMVBheWxv
YWRHUFIgPSBvcDEucGF5bG9hZEdQUigpOwotICAgICAgICBGUFJSZWcgdGVtcEZQUiA9IHRlbXAu
ZnByKCk7CiAgICAgICAgIEZQUlJlZyByZXN1bHRGUFIgPSByZXN1bHQuZnByKCk7CiAgICAgICAg
IEpJVENvbXBpbGVyOjpKdW1wTGlzdCBkb25lOwogICAgIApAQCAtMzEwOSw3ICszMTAzLDcgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZURvdWJsZVJlcChOb2RlKiBub2RlKQogICAgICAg
ICAgICAgICAgIG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpBYm92ZU9yRXF1YWwsIG9w
MVRhZ0dQUiwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6Okxvd2VzdFRhZykpKTsKICAgICAgICAgfQog
Ci0gICAgICAgIHVuYm94RG91YmxlKG9wMVRhZ0dQUiwgb3AxUGF5bG9hZEdQUiwgcmVzdWx0RlBS
LCB0ZW1wRlBSKTsKKyAgICAgICAgdW5ib3hEb3VibGUob3AxVGFnR1BSLCBvcDFQYXlsb2FkR1BS
LCByZXN1bHRGUFIpOwogICAgICAgICBkb25lLmFwcGVuZChtX2ppdC5qdW1wKCkpOwogICAgIAog
ICAgICAgICBpc0ludGVnZXIubGluaygmbV9qaXQpOwpAQCAtNDYyMiwxNCArNDYxNiwxMSBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0VW50eXBlZE9yQmlnSW50UmlnaHRTaGlmdEJpdE9wKE5v
ZGUqIG5vZGUpCiAgICAgSlNWYWx1ZVJlZ3MgcmVzdWx0UmVncyA9IEpTVmFsdWVSZWdzKHJlc3Vs
dC5ncHIoKSk7CiAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgR1BSUmVnIHNj
cmF0Y2hHUFIgPSBzY3JhdGNoLmdwcigpOwotICAgIEZQUlJlZyBzY3JhdGNoRlBSID0gSW52YWxp
ZEZQUlJlZzsKICNlbHNlCiAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdFRhZyh0aGlzKTsKICAgICBH
UFJUZW1wb3JhcnkgcmVzdWx0UGF5bG9hZCh0aGlzKTsKICAgICBKU1ZhbHVlUmVncyByZXN1bHRS
ZWdzID0gSlNWYWx1ZVJlZ3MocmVzdWx0UGF5bG9hZC5ncHIoKSwgcmVzdWx0VGFnLmdwcigpKTsK
ICAgICBHUFJSZWcgc2NyYXRjaEdQUiA9IHJlc3VsdFRhZy5ncHIoKTsKLSAgICBGUFJUZW1wb3Jh
cnkgZnByU2NyYXRjaCh0aGlzKTsKLSAgICBGUFJSZWcgc2NyYXRjaEZQUiA9IGZwclNjcmF0Y2gu
ZnByKCk7CiAjZW5kaWYKIAogICAgIFNuaXBwZXRPcGVyYW5kIGxlZnRPcGVyYW5kOwpAQCAtNDY1
Myw4ICs0NjQ0LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdFVudHlwZWRPckJpZ0ludFJp
Z2h0U2hpZnRCaXRPcChOb2RlKiBub2RlKQogICAgICAgICByaWdodFJlZ3MgPSByaWdodC0+anNW
YWx1ZVJlZ3MoKTsKICAgICB9CiAKLSAgICBKSVRSaWdodFNoaWZ0R2VuZXJhdG9yIGdlbihsZWZ0
T3BlcmFuZCwgcmlnaHRPcGVyYW5kLCByZXN1bHRSZWdzLCBsZWZ0UmVncywgcmlnaHRSZWdzLAot
ICAgICAgICBsZWZ0RlBSLCBzY3JhdGNoR1BSLCBzY3JhdGNoRlBSLCBzaGlmdFR5cGUpOworICAg
IEpJVFJpZ2h0U2hpZnRHZW5lcmF0b3IgZ2VuKGxlZnRPcGVyYW5kLCByaWdodE9wZXJhbmQsIHJl
c3VsdFJlZ3MsIGxlZnRSZWdzLCByaWdodFJlZ3MsIGxlZnRGUFIsIHNjcmF0Y2hHUFIsIHNoaWZ0
VHlwZSk7CiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgobV9qaXQpOwogCiAgICAgQVNTRVJUKGdl
bi5kaWRFbWl0RmFzdFBhdGgoKSk7CkBAIC00ODU5LDE0ICs0ODQ5LDYgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZVZhbHVlQWRkKE5vZGUqIG5vZGUpCiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIGJvb2wgbmVlZHNTY3JhdGNoR1BSUmVnID0g
dHJ1ZTsKLSAgICBib29sIG5lZWRzU2NyYXRjaEZQUlJlZyA9IGZhbHNlOwotI2Vsc2UKLSAgICBi
b29sIG5lZWRzU2NyYXRjaEdQUlJlZyA9IHRydWU7Ci0gICAgYm9vbCBuZWVkc1NjcmF0Y2hGUFJS
ZWcgPSB0cnVlOwotI2VuZGlmCi0KICAgICBDb2RlQmxvY2sqIGJhc2VsaW5lQ29kZUJsb2NrID0g
bV9qaXQuZ3JhcGgoKS5iYXNlbGluZUNvZGVCbG9ja0Zvcihub2RlLT5vcmlnaW4uc2VtYW50aWMp
OwogICAgIEJ5dGVjb2RlSW5kZXggYnl0ZWNvZGVJbmRleCA9IG5vZGUtPm9yaWdpbi5zZW1hbnRp
Yy5ieXRlY29kZUluZGV4KCk7CiAgICAgQmluYXJ5QXJpdGhQcm9maWxlKiBhcml0aFByb2ZpbGUg
PSBiYXNlbGluZUNvZGVCbG9jay0+YmluYXJ5QXJpdGhQcm9maWxlRm9yQnl0ZWNvZGVJbmRleChi
eXRlY29kZUluZGV4KTsKQEAgLTQ4NzQsNyArNDg1Niw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGVWYWx1ZUFkZChOb2RlKiBub2RlKQogICAgIGF1dG8gcmVwYXRjaGluZ0Z1bmN0aW9u
ID0gb3BlcmF0aW9uVmFsdWVBZGRPcHRpbWl6ZTsKICAgICBhdXRvIG5vblJlcGF0Y2hpbmdGdW5j
dGlvbiA9IG9wZXJhdGlvblZhbHVlQWRkOwogICAgIAotICAgIGNvbXBpbGVNYXRoSUMobm9kZSwg
YWRkSUMsIG5lZWRzU2NyYXRjaEdQUlJlZywgbmVlZHNTY3JhdGNoRlBSUmVnLCByZXBhdGNoaW5n
RnVuY3Rpb24sIG5vblJlcGF0Y2hpbmdGdW5jdGlvbik7CisgICAgY29tcGlsZU1hdGhJQyhub2Rl
LCBhZGRJQywgcmVwYXRjaGluZ0Z1bmN0aW9uLCBub25SZXBhdGNoaW5nRnVuY3Rpb24pOwogfQog
CiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlVmFsdWVTdWIoTm9kZSogbm9kZSkKQEAgLTQ5
NTEsMTQgKzQ5MzMsNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlVmFsdWVTdWIoTm9k
ZSogbm9kZSkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lmIFVTRShKU1ZBTFVFNjQpCi0g
ICAgYm9vbCBuZWVkc1NjcmF0Y2hHUFJSZWcgPSB0cnVlOwotICAgIGJvb2wgbmVlZHNTY3JhdGNo
RlBSUmVnID0gZmFsc2U7Ci0jZWxzZQotICAgIGJvb2wgbmVlZHNTY3JhdGNoR1BSUmVnID0gdHJ1
ZTsKLSAgICBib29sIG5lZWRzU2NyYXRjaEZQUlJlZyA9IHRydWU7Ci0jZW5kaWYKLQogICAgIENv
ZGVCbG9jayogYmFzZWxpbmVDb2RlQmxvY2sgPSBtX2ppdC5ncmFwaCgpLmJhc2VsaW5lQ29kZUJs
b2NrRm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7CiAgICAgQnl0ZWNvZGVJbmRleCBieXRlY29k
ZUluZGV4ID0gbm9kZS0+b3JpZ2luLnNlbWFudGljLmJ5dGVjb2RlSW5kZXgoKTsKICAgICBCaW5h
cnlBcml0aFByb2ZpbGUqIGFyaXRoUHJvZmlsZSA9IGJhc2VsaW5lQ29kZUJsb2NrLT5iaW5hcnlB
cml0aFByb2ZpbGVGb3JCeXRlY29kZUluZGV4KGJ5dGVjb2RlSW5kZXgpOwpAQCAtNDk2NiwxMSAr
NDk0MCwxMSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlVmFsdWVTdWIoTm9kZSogbm9k
ZSkKICAgICBhdXRvIHJlcGF0Y2hpbmdGdW5jdGlvbiA9IG9wZXJhdGlvblZhbHVlU3ViT3B0aW1p
emU7CiAgICAgYXV0byBub25SZXBhdGNoaW5nRnVuY3Rpb24gPSBvcGVyYXRpb25WYWx1ZVN1YjsK
IAotICAgIGNvbXBpbGVNYXRoSUMobm9kZSwgc3ViSUMsIG5lZWRzU2NyYXRjaEdQUlJlZywgbmVl
ZHNTY3JhdGNoRlBSUmVnLCByZXBhdGNoaW5nRnVuY3Rpb24sIG5vblJlcGF0Y2hpbmdGdW5jdGlv
bik7CisgICAgY29tcGlsZU1hdGhJQyhub2RlLCBzdWJJQywgcmVwYXRjaGluZ0Z1bmN0aW9uLCBu
b25SZXBhdGNoaW5nRnVuY3Rpb24pOwogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgR2VuZXJhdG9y
LCB0eXBlbmFtZSBSZXBhdGNoaW5nRnVuY3Rpb24sIHR5cGVuYW1lIE5vblJlcGF0Y2hpbmdGdW5j
dGlvbj4KLXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVNYXRoSUMoTm9kZSogbm9kZSwgSklU
QmluYXJ5TWF0aElDPEdlbmVyYXRvcj4qIG1hdGhJQywgYm9vbCBuZWVkc1NjcmF0Y2hHUFJSZWcs
IGJvb2wgbmVlZHNTY3JhdGNoRlBSUmVnLCBSZXBhdGNoaW5nRnVuY3Rpb24gcmVwYXRjaGluZ0Z1
bmN0aW9uLCBOb25SZXBhdGNoaW5nRnVuY3Rpb24gbm9uUmVwYXRjaGluZ0Z1bmN0aW9uKQordm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU1hdGhJQyhOb2RlKiBub2RlLCBKSVRCaW5hcnlNYXRo
SUM8R2VuZXJhdG9yPiogbWF0aElDLCBSZXBhdGNoaW5nRnVuY3Rpb24gcmVwYXRjaGluZ0Z1bmN0
aW9uLCBOb25SZXBhdGNoaW5nRnVuY3Rpb24gbm9uUmVwYXRjaGluZ0Z1bmN0aW9uKQogewogICAg
IEVkZ2UmIGxlZnRDaGlsZCA9IG5vZGUtPmNoaWxkMSgpOwogICAgIEVkZ2UmIHJpZ2h0Q2hpbGQg
PSBub2RlLT5jaGlsZDIoKTsKQEAgLTQ5ODcsMjggKzQ5NjEsMTcgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZU1hdGhJQyhOb2RlKiBub2RlLCBKSVRCaW5hcnlNYXRoSUM8R2VuZXJhdG9y
PiogbWF0aEkKICAgICBGUFJSZWcgcmlnaHRGUFIgPSByaWdodE51bWJlci5mcHIoKTsKIAogICAg
IEdQUlJlZyBzY3JhdGNoR1BSID0gSW52YWxpZEdQUlJlZzsKLSAgICBGUFJSZWcgc2NyYXRjaEZQ
UiA9IEludmFsaWRGUFJSZWc7Ci0KLSAgICBzdGQ6Om9wdGlvbmFsPEZQUlRlbXBvcmFyeT4gZnBy
U2NyYXRjaDsKLSAgICBpZiAobmVlZHNTY3JhdGNoRlBSUmVnKSB7Ci0gICAgICAgIGZwclNjcmF0
Y2guZW1wbGFjZSh0aGlzKTsKLSAgICAgICAgc2NyYXRjaEZQUiA9IGZwclNjcmF0Y2gtPmZwcigp
OwotICAgIH0KIAogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgc3RkOjpvcHRpb25hbDxHUFJUZW1w
b3Jhcnk+IGdwclNjcmF0Y2g7Ci0gICAgaWYgKG5lZWRzU2NyYXRjaEdQUlJlZykgewotICAgICAg
ICBncHJTY3JhdGNoLmVtcGxhY2UodGhpcyk7Ci0gICAgICAgIHNjcmF0Y2hHUFIgPSBncHJTY3Jh
dGNoLT5ncHIoKTsKLSAgICB9CisgICAgR1BSVGVtcG9yYXJ5IGdwclNjcmF0Y2godGhpcyk7Cisg
ICAgc2NyYXRjaEdQUiA9IGdwclNjcmF0Y2guZ3ByKCk7CiAgICAgR1BSVGVtcG9yYXJ5IHJlc3Vs
dCh0aGlzKTsKICAgICBKU1ZhbHVlUmVncyByZXN1bHRSZWdzID0gSlNWYWx1ZVJlZ3MocmVzdWx0
LmdwcigpKTsKICNlbHNlCiAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdFRhZyh0aGlzKTsKICAgICBH
UFJUZW1wb3JhcnkgcmVzdWx0UGF5bG9hZCh0aGlzKTsKICAgICBKU1ZhbHVlUmVncyByZXN1bHRS
ZWdzID0gSlNWYWx1ZVJlZ3MocmVzdWx0UGF5bG9hZC5ncHIoKSwgcmVzdWx0VGFnLmdwcigpKTsK
LSAgICBpZiAobmVlZHNTY3JhdGNoR1BSUmVnKQotICAgICAgICBzY3JhdGNoR1BSID0gcmVzdWx0
UmVncy50YWdHUFIoKTsKKyAgICBzY3JhdGNoR1BSID0gcmVzdWx0UmVncy50YWdHUFIoKTsKICNl
bmRpZgogCiAgICAgU25pcHBldE9wZXJhbmQgbGVmdE9wZXJhbmQobV9zdGF0ZS5mb3JOb2RlKGxl
ZnRDaGlsZCkucmVzdWx0VHlwZSgpKTsKQEAgLTUwMzgsNyArNTAwMSw3IEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGVNYXRoSUMoTm9kZSogbm9kZSwgSklUQmluYXJ5TWF0aElDPEdlbmVy
YXRvcj4qIG1hdGhJCiAjZW5kaWYKIAogICAgIEJveDxNYXRoSUNHZW5lcmF0aW9uU3RhdGU+IGFk
ZElDR2VuZXJhdGlvblN0YXRlID0gQm94PE1hdGhJQ0dlbmVyYXRpb25TdGF0ZT46OmNyZWF0ZSgp
OwotICAgIG1hdGhJQy0+bV9nZW5lcmF0b3IgPSBHZW5lcmF0b3IobGVmdE9wZXJhbmQsIHJpZ2h0
T3BlcmFuZCwgcmVzdWx0UmVncywgbGVmdFJlZ3MsIHJpZ2h0UmVncywgbGVmdEZQUiwgcmlnaHRG
UFIsIHNjcmF0Y2hHUFIsIHNjcmF0Y2hGUFIpOworICAgIG1hdGhJQy0+bV9nZW5lcmF0b3IgPSBH
ZW5lcmF0b3IobGVmdE9wZXJhbmQsIHJpZ2h0T3BlcmFuZCwgcmVzdWx0UmVncywgbGVmdFJlZ3Ms
IHJpZ2h0UmVncywgbGVmdEZQUiwgcmlnaHRGUFIsIHNjcmF0Y2hHUFIpOwogCiAgICAgYm9vbCBz
aG91bGRFbWl0UHJvZmlsaW5nID0gZmFsc2U7CiAgICAgYm9vbCBnZW5lcmF0ZWRJbmxpbmUgPSBt
YXRoSUMtPmdlbmVyYXRlSW5saW5lKG1faml0LCAqYWRkSUNHZW5lcmF0aW9uU3RhdGUsIHNob3Vs
ZEVtaXRQcm9maWxpbmcpOwpAQCAtNTU1OCw4ICs1NTIxLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZVZhbHVlTmVnYXRlKE5vZGUqIG5vZGUpCiAgICAgSklUTmVnSUMqIG5lZ0lDID0g
bV9qaXQuY29kZUJsb2NrKCktPmFkZEpJVE5lZ0lDKGFyaXRoUHJvZmlsZSk7CiAgICAgYXV0byBy
ZXBhdGNoaW5nRnVuY3Rpb24gPSBvcGVyYXRpb25Bcml0aE5lZ2F0ZU9wdGltaXplOwogICAgIGF1
dG8gbm9uUmVwYXRjaGluZ0Z1bmN0aW9uID0gb3BlcmF0aW9uQXJpdGhOZWdhdGU7Ci0gICAgYm9v
bCBuZWVkc1NjcmF0Y2hHUFJSZWcgPSB0cnVlOwotICAgIGNvbXBpbGVNYXRoSUMobm9kZSwgbmVn
SUMsIG5lZWRzU2NyYXRjaEdQUlJlZywgcmVwYXRjaGluZ0Z1bmN0aW9uLCBub25SZXBhdGNoaW5n
RnVuY3Rpb24pOworICAgIGNvbXBpbGVNYXRoSUMobm9kZSwgbmVnSUMsIHJlcGF0Y2hpbmdGdW5j
dGlvbiwgbm9uUmVwYXRjaGluZ0Z1bmN0aW9uKTsKIH0KIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZUFyaXRoTmVnYXRlKE5vZGUqIG5vZGUpCkBAIC01NjQyLDE0ICs1NjA0LDEwIEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVBcml0aE5lZ2F0ZShOb2RlKiBub2RlKQogfQogCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgR2VuZXJhdG9yLCB0eXBlbmFtZSBSZXBhdGNoaW5nRnVuY3Rpb24s
IHR5cGVuYW1lIE5vblJlcGF0Y2hpbmdGdW5jdGlvbj4KLXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVNYXRoSUMoTm9kZSogbm9kZSwgSklUVW5hcnlNYXRoSUM8R2VuZXJhdG9yPiogbWF0aElD
LCBib29sIG5lZWRzU2NyYXRjaEdQUlJlZywgUmVwYXRjaGluZ0Z1bmN0aW9uIHJlcGF0Y2hpbmdG
dW5jdGlvbiwgTm9uUmVwYXRjaGluZ0Z1bmN0aW9uIG5vblJlcGF0Y2hpbmdGdW5jdGlvbikKK3Zv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVNYXRoSUMoTm9kZSogbm9kZSwgSklUVW5hcnlNYXRo
SUM8R2VuZXJhdG9yPiogbWF0aElDLCBSZXBhdGNoaW5nRnVuY3Rpb24gcmVwYXRjaGluZ0Z1bmN0
aW9uLCBOb25SZXBhdGNoaW5nRnVuY3Rpb24gbm9uUmVwYXRjaGluZ0Z1bmN0aW9uKQogewotICAg
IEdQUlJlZyBzY3JhdGNoR1BSID0gSW52YWxpZEdQUlJlZzsKLSAgICBzdGQ6Om9wdGlvbmFsPEdQ
UlRlbXBvcmFyeT4gZ3ByU2NyYXRjaDsKLSAgICBpZiAobmVlZHNTY3JhdGNoR1BSUmVnKSB7Ci0g
ICAgICAgIGdwclNjcmF0Y2guZW1wbGFjZSh0aGlzKTsKLSAgICAgICAgc2NyYXRjaEdQUiA9IGdw
clNjcmF0Y2gtPmdwcigpOwotICAgIH0KKyAgICBHUFJUZW1wb3JhcnkgZ3ByU2NyYXRjaCh0aGlz
KTsKKyAgICBHUFJSZWcgc2NyYXRjaEdQUiA9IGdwclNjcmF0Y2guZ3ByKCk7CiAgICAgSlNWYWx1
ZU9wZXJhbmQgY2hpbGRPcGVyYW5kKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICBKU1ZhbHVl
UmVncyBjaGlsZFJlZ3MgPSBjaGlsZE9wZXJhbmQuanNWYWx1ZVJlZ3MoKTsKICNpZiBVU0UoSlNW
QUxVRTY0KQpAQCAtNTgwMSwxMyArNTc1OSw2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVWYWx1ZU11bChOb2RlKiBub2RlKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYm9v
bCBuZWVkc1NjcmF0Y2hHUFJSZWcgPSB0cnVlOwotI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgYm9v
bCBuZWVkc1NjcmF0Y2hGUFJSZWcgPSBmYWxzZTsKLSNlbHNlCi0gICAgYm9vbCBuZWVkc1NjcmF0
Y2hGUFJSZWcgPSB0cnVlOwotI2VuZGlmCi0KICAgICBDb2RlQmxvY2sqIGJhc2VsaW5lQ29kZUJs
b2NrID0gbV9qaXQuZ3JhcGgoKS5iYXNlbGluZUNvZGVCbG9ja0Zvcihub2RlLT5vcmlnaW4uc2Vt
YW50aWMpOwogICAgIEJ5dGVjb2RlSW5kZXggYnl0ZWNvZGVJbmRleCA9IG5vZGUtPm9yaWdpbi5z
ZW1hbnRpYy5ieXRlY29kZUluZGV4KCk7CiAgICAgQmluYXJ5QXJpdGhQcm9maWxlKiBhcml0aFBy
b2ZpbGUgPSBiYXNlbGluZUNvZGVCbG9jay0+YmluYXJ5QXJpdGhQcm9maWxlRm9yQnl0ZWNvZGVJ
bmRleChieXRlY29kZUluZGV4KTsKQEAgLTU4MTUsNyArNTc2Niw3IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVWYWx1ZU11bChOb2RlKiBub2RlKQogICAgIGF1dG8gcmVwYXRjaGluZ0Z1
bmN0aW9uID0gb3BlcmF0aW9uVmFsdWVNdWxPcHRpbWl6ZTsKICAgICBhdXRvIG5vblJlcGF0Y2hp
bmdGdW5jdGlvbiA9IG9wZXJhdGlvblZhbHVlTXVsOwogCi0gICAgY29tcGlsZU1hdGhJQyhub2Rl
LCBtdWxJQywgbmVlZHNTY3JhdGNoR1BSUmVnLCBuZWVkc1NjcmF0Y2hGUFJSZWcsIHJlcGF0Y2hp
bmdGdW5jdGlvbiwgbm9uUmVwYXRjaGluZ0Z1bmN0aW9uKTsKKyAgICBjb21waWxlTWF0aElDKG5v
ZGUsIG11bElDLCByZXBhdGNoaW5nRnVuY3Rpb24sIG5vblJlcGF0Y2hpbmdGdW5jdGlvbik7CiB9
CiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVBcml0aE11bChOb2RlKiBub2RlKQpAQCAt
MTEyNjMsOSArMTEyMTQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVSZWFsTnVt
YmVyKEVkZ2UgZWRnZSkKICAgICBHUFJSZWcgdGVtcEdQUiA9IHRlbXAuZ3ByKCk7CiAgICAgbV9q
aXQudW5ib3hEb3VibGVXaXRob3V0QXNzZXJ0aW9ucyhvcDFSZWdzLmdwcigpLCB0ZW1wR1BSLCBy
ZXN1bHRGUFIpOwogI2Vsc2UKLSAgICBGUFJUZW1wb3JhcnkgdGVtcCh0aGlzKTsKLSAgICBGUFJS
ZWcgdGVtcEZQUiA9IHRlbXAuZnByKCk7Ci0gICAgdW5ib3hEb3VibGUob3AxUmVncy50YWdHUFIo
KSwgb3AxUmVncy5wYXlsb2FkR1BSKCksIHJlc3VsdEZQUiwgdGVtcEZQUik7CisgICAgdW5ib3hE
b3VibGUob3AxUmVncy50YWdHUFIoKSwgb3AxUmVncy5wYXlsb2FkR1BSKCksIHJlc3VsdEZQUik7
CiAjZW5kaWYKICAgICAKICAgICBKSVRDb21waWxlcjo6SnVtcCBkb25lID0gbV9qaXQuYnJhbmNo
SWZOb3ROYU4ocmVzdWx0RlBSKTsKQEAgLTEzMjk4LDcgKzEzMjQ3LDcgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZU5vcm1hbGl6ZU1hcEtleShOb2RlKiBub2RlKQogI2lmIFVTRShKU1ZB
TFVFNjQpCiAgICAgbV9qaXQudW5ib3hEb3VibGVXaXRob3V0QXNzZXJ0aW9ucyhrZXlSZWdzLmdw
cigpLCBzY3JhdGNoR1BSLCBkb3VibGVWYWx1ZUZQUik7CiAjZWxzZQotICAgIHVuYm94RG91Ymxl
KGtleVJlZ3MudGFnR1BSKCksIGtleVJlZ3MucGF5bG9hZEdQUigpLCBkb3VibGVWYWx1ZUZQUiwg
dGVtcEZQUik7CisgICAgdW5ib3hEb3VibGUoa2V5UmVncy50YWdHUFIoKSwga2V5UmVncy5wYXls
b2FkR1BSKCksIGRvdWJsZVZhbHVlRlBSKTsKICNlbmRpZgogICAgIGF1dG8gbm90TmFOID0gbV9q
aXQuYnJhbmNoSWZOb3ROYU4oZG91YmxlVmFsdWVGUFIpOwogICAgIG1faml0Lm1vdmVUcnVzdGVk
VmFsdWUoanNOYU4oKSwgcmVzdWx0UmVncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggZDEyMGI3YjRmYjg0NDM2OWQ3MmNkNjAxODFiYzA4
YzBiNmM5MTdhYy4uOWYyOTMyMWU3ODRjMDY2ZDBhMjhlZTVjZWEyODg2OTIxNzA0MjgwZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApAQCAtNDgw
LDkgKzQ4MCw5IEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICB7CiAgICAgICAgIG1faml0
LmJveERvdWJsZShmcHIsIHRhZ0dQUiwgcGF5bG9hZEdQUik7CiAgICAgfQotICAgIHZvaWQgdW5i
b3hEb3VibGUoR1BSUmVnIHRhZ0dQUiwgR1BSUmVnIHBheWxvYWRHUFIsIEZQUlJlZyBmcHIsIEZQ
UlJlZyBzY3JhdGNoRlBSKQorICAgIHZvaWQgdW5ib3hEb3VibGUoR1BSUmVnIHRhZ0dQUiwgR1BS
UmVnIHBheWxvYWRHUFIsIEZQUlJlZyBmcHIpCiAgICAgewotICAgICAgICBtX2ppdC51bmJveERv
dWJsZSh0YWdHUFIsIHBheWxvYWRHUFIsIGZwciwgc2NyYXRjaEZQUik7CisgICAgICAgIG1faml0
LnVuYm94RG91YmxlKHRhZ0dQUiwgcGF5bG9hZEdQUiwgZnByKTsKICAgICB9CiAjZW5kaWYKICAg
ICB2b2lkIGJveERvdWJsZShGUFJSZWcgZnByLCBKU1ZhbHVlUmVncyByZWdzKQpAQCAtMTM5NSw5
ICsxMzk1LDkgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgIHZvaWQgY29tcGlsZVNoaWZ0
T3AoTm9kZSopOwogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEdlbmVyYXRvciwgdHlwZW5hbWUg
UmVwYXRjaGluZ0Z1bmN0aW9uLCB0eXBlbmFtZSBOb25SZXBhdGNoaW5nRnVuY3Rpb24+Ci0gICAg
dm9pZCBjb21waWxlTWF0aElDKE5vZGUqLCBKSVRCaW5hcnlNYXRoSUM8R2VuZXJhdG9yPiosIGJv
b2wgbmVlZHNTY3JhdGNoR1BSUmVnLCBib29sIG5lZWRzU2NyYXRjaEZQUlJlZywgUmVwYXRjaGlu
Z0Z1bmN0aW9uLCBOb25SZXBhdGNoaW5nRnVuY3Rpb24pOworICAgIHZvaWQgY29tcGlsZU1hdGhJ
QyhOb2RlKiwgSklUQmluYXJ5TWF0aElDPEdlbmVyYXRvcj4qLCBSZXBhdGNoaW5nRnVuY3Rpb24s
IE5vblJlcGF0Y2hpbmdGdW5jdGlvbik7CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEdlbmVyYXRv
ciwgdHlwZW5hbWUgUmVwYXRjaGluZ0Z1bmN0aW9uLCB0eXBlbmFtZSBOb25SZXBhdGNoaW5nRnVu
Y3Rpb24+Ci0gICAgdm9pZCBjb21waWxlTWF0aElDKE5vZGUqLCBKSVRVbmFyeU1hdGhJQzxHZW5l
cmF0b3I+KiwgYm9vbCBuZWVkc1NjcmF0Y2hHUFJSZWcsIFJlcGF0Y2hpbmdGdW5jdGlvbiwgTm9u
UmVwYXRjaGluZ0Z1bmN0aW9uKTsKKyAgICB2b2lkIGNvbXBpbGVNYXRoSUMoTm9kZSosIEpJVFVu
YXJ5TWF0aElDPEdlbmVyYXRvcj4qLCBSZXBhdGNoaW5nRnVuY3Rpb24sIE5vblJlcGF0Y2hpbmdG
dW5jdGlvbik7CiAKICAgICB2b2lkIGNvbXBpbGVBcml0aERvdWJsZVVuYXJ5T3AoTm9kZSosIGRv
dWJsZSAoKmRvdWJsZUZ1bmN0aW9uKShkb3VibGUpLCBkb3VibGUgKCpvcGVyYXRpb24pKEpTR2xv
YmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUpKTsKICAgICB2b2lkIGNvbXBpbGVWYWx1ZUFkZChO
b2RlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9CMy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAK
aW5kZXggYjAwMWQxMzJmMDJmZmMzODI1M2MzOGRmMmU0OWIwY2YzNmU2MmY2Ni4uNWEzZTk4Zjc1
MzcwMWQzYjM0Zjg0Yjk4MDgzZDI0ZGFlOGVmNzEwMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcApAQCAtMjUwMyw3ICsyNTAzLDcgQEAgY2xhc3Mg
TG93ZXJERkdUb0IzIHsKICAgICAgICAgICAgICAgICBKSVRCaW5hcnlNYXRoSUM8R2VuZXJhdG9y
PiogbWF0aElDID0gaml0LmNvZGVCbG9jaygpLT5hZGRNYXRoSUM8R2VuZXJhdG9yPihhcml0aFBy
b2ZpbGUpOwogICAgICAgICAgICAgICAgIG1hdGhJQy0+bV9nZW5lcmF0b3IgPSBHZW5lcmF0b3Io
bGVmdE9wZXJhbmQsIHJpZ2h0T3BlcmFuZCwgSlNWYWx1ZVJlZ3MocGFyYW1zWzBdLmdwcigpKSwK
ICAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZVJlZ3MocGFyYW1zWzFdLmdwcigpKSwgSlNWYWx1
ZVJlZ3MocGFyYW1zWzJdLmdwcigpKSwgcGFyYW1zLmZwU2NyYXRjaCgwKSwKLSAgICAgICAgICAg
ICAgICAgICAgcGFyYW1zLmZwU2NyYXRjaCgxKSwgcGFyYW1zLmdwU2NyYXRjaCgwKSwgSW52YWxp
ZEZQUlJlZyk7CisgICAgICAgICAgICAgICAgICAgIHBhcmFtcy5mcFNjcmF0Y2goMSksIHBhcmFt
cy5ncFNjcmF0Y2goMCkpOwogCiAgICAgICAgICAgICAgICAgYm9vbCBzaG91bGRFbWl0UHJvZmls
aW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgYm9vbCBnZW5lcmF0ZWRJbmxpbmUgPSBtYXRo
SUMtPmdlbmVyYXRlSW5saW5lKGppdCwgKm1hdGhJQ0dlbmVyYXRpb25TdGF0ZSwgc2hvdWxkRW1p
dFByb2ZpbGluZyk7CkBAIC0xNjAxMiw3ICsxNjAxMiw3IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7
CiAgICAgICAgICAgICAgICAgYXV0byBnZW5lcmF0b3IgPSBCb3g8SklUUmlnaHRTaGlmdEdlbmVy
YXRvcj46OmNyZWF0ZSgKICAgICAgICAgICAgICAgICAgICAgbGVmdE9wZXJhbmQsIHJpZ2h0T3Bl
cmFuZCwgSlNWYWx1ZVJlZ3MocGFyYW1zWzBdLmdwcigpKSwKICAgICAgICAgICAgICAgICAgICAg
SlNWYWx1ZVJlZ3MocGFyYW1zWzFdLmdwcigpKSwgSlNWYWx1ZVJlZ3MocGFyYW1zWzJdLmdwcigp
KSwKLSAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmZwU2NyYXRjaCgwKSwgcGFyYW1zLmdwU2Ny
YXRjaCgwKSwgSW52YWxpZEZQUlJlZywgc2hpZnRUeXBlKTsKKyAgICAgICAgICAgICAgICAgICAg
cGFyYW1zLmZwU2NyYXRjaCgwKSwgcGFyYW1zLmdwU2NyYXRjaCgwKSwgc2hpZnRUeXBlKTsKIAog
ICAgICAgICAgICAgICAgIGdlbmVyYXRvci0+Z2VuZXJhdGVGYXN0UGF0aChqaXQpOwogICAgICAg
ICAgICAgICAgIGdlbmVyYXRvci0+ZW5kSnVtcExpc3QoKS5saW5rKCZqaXQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3BwCmluZGV4IGQzNmViNzFiOWFk
ZDM2ZDQ0MjY0OTg0Yjg3ZGVkMjAyMGI3M2EwNjcuLmM4ZjlhYTA0MDEyMjUyMDM1MjMyMTRkMWQz
ZmQ5M2U3MjhiM2ZiNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNz
ZW1ibHlIZWxwZXJzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5
SGVscGVycy5jcHAKQEAgLTgxOSw3ICs4MTksNyBAQCB2b2lkIEFzc2VtYmx5SGVscGVyczo6ZW1p
dENvbnZlcnRWYWx1ZVRvQm9vbGVhbihWTSYgdm0sIEpTVmFsdWVSZWdzIHZhbHVlLCBHUFJSZQog
I2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgdW5ib3hEb3VibGUodmFsdWUuZ3ByKCksIHJlc3VsdCwg
dmFsdWVBc0ZQUik7CiAjZWxzZQotICAgIHVuYm94RG91YmxlKHZhbHVlLCB2YWx1ZUFzRlBSLCB0
ZW1wRlBSKTsKKyAgICB1bmJveERvdWJsZSh2YWx1ZSwgdmFsdWVBc0ZQUik7CiAjZW5kaWYKICAg
ICBtb3ZlKGludmVydCA/IFRydXN0ZWRJbW0zMigxKSA6IFRydXN0ZWRJbW0zMigwKSwgcmVzdWx0
KTsKICAgICBkb25lLmFwcGVuZChicmFuY2hEb3VibGVaZXJvT3JOYU4odmFsdWVBc0ZQUiwgdGVt
cEZQUikpOwpAQCAtOTIwLDcgKzkyMCw3IEBAIEFzc2VtYmx5SGVscGVyczo6SnVtcExpc3QgQXNz
ZW1ibHlIZWxwZXJzOjpicmFuY2hJZlZhbHVlKFZNJiB2bSwgSlNWYWx1ZVJlZ3MgdmFsCiAjaWYg
VVNFKEpTVkFMVUU2NCkKICAgICB1bmJveERvdWJsZSh2YWx1ZS5ncHIoKSwgc2NyYXRjaCwgdmFs
dWVBc0ZQUik7CiAjZWxzZQotICAgIHVuYm94RG91YmxlKHZhbHVlLCB2YWx1ZUFzRlBSLCB0ZW1w
RlBSKTsKKyAgICB1bmJveERvdWJsZSh2YWx1ZSwgdmFsdWVBc0ZQUik7CiAjZW5kaWYKICAgICBp
ZiAoaW52ZXJ0KSB7CiAgICAgICAgIHRydXRoeS5hcHBlbmQoYnJhbmNoRG91YmxlWmVyb09yTmFO
KHZhbHVlQXNGUFIsIHRlbXBGUFIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2Vt
Ymx5SGVscGVycy5oCmluZGV4IDBiNGMyYjliZTBmNWZmZjE1MWEzYjA3ZTlhYTI0ZmNjZjkwNTAz
OTguLjFhMzA1NDE4NDdjMmRiZDgxZDFmZWI4OGEzNmI2MjM5NDMzNDEyZTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaApAQCAtMTMwNCw3ICsxMzA0LDcg
QEAgY2xhc3MgQXNzZW1ibHlIZWxwZXJzIDogcHVibGljIE1hY3JvQXNzZW1ibGVyIHsKICAgICAg
ICAgYm94RG91YmxlKGZwciwgcmVncy5ncHIoKSwgbW9kZSk7CiAgICAgfQogCi0gICAgdm9pZCB1
bmJveERvdWJsZU5vbkRlc3RydWN0aXZlKEpTVmFsdWVSZWdzIHJlZ3MsIEZQUlJlZyBkZXN0RlBS
LCBHUFJSZWcgcmVzdWx0R1BSLCBGUFJSZWcpCisgICAgdm9pZCB1bmJveERvdWJsZU5vbkRlc3Ry
dWN0aXZlKEpTVmFsdWVSZWdzIHJlZ3MsIEZQUlJlZyBkZXN0RlBSLCBHUFJSZWcgcmVzdWx0R1BS
KQogICAgIHsKICAgICAgICAgdW5ib3hEb3VibGUocmVncy5wYXlsb2FkR1BSKCksIHJlc3VsdEdQ
UiwgZGVzdEZQUik7CiAgICAgfQpAQCAtMTM1NSwyMyArMTM1NSwyMyBAQCBjbGFzcyBBc3NlbWJs
eUhlbHBlcnMgOiBwdWJsaWMgTWFjcm9Bc3NlbWJsZXIgewogICAgIHsKICAgICAgICAgbW92ZURv
dWJsZVRvSW50cyhmcHIsIHBheWxvYWRHUFIsIHRhZ0dQUik7CiAgICAgfQotICAgIHZvaWQgdW5i
b3hEb3VibGUoR1BSUmVnIHRhZ0dQUiwgR1BSUmVnIHBheWxvYWRHUFIsIEZQUlJlZyBmcHIsIEZQ
UlJlZyBzY3JhdGNoRlBSKQorICAgIHZvaWQgdW5ib3hEb3VibGUoR1BSUmVnIHRhZ0dQUiwgR1BS
UmVnIHBheWxvYWRHUFIsIEZQUlJlZyBmcHIpCiAgICAgewotICAgICAgICBtb3ZlSW50c1RvRG91
YmxlKHBheWxvYWRHUFIsIHRhZ0dQUiwgZnByLCBzY3JhdGNoRlBSKTsKKyAgICAgICAgbW92ZUlu
dHNUb0RvdWJsZShwYXlsb2FkR1BSLCB0YWdHUFIsIGZwcik7CiAgICAgfQogICAgIAogICAgIHZv
aWQgYm94RG91YmxlKEZQUlJlZyBmcHIsIEpTVmFsdWVSZWdzIHJlZ3MpCiAgICAgewogICAgICAg
ICBib3hEb3VibGUoZnByLCByZWdzLnRhZ0dQUigpLCByZWdzLnBheWxvYWRHUFIoKSk7CiAgICAg
fQotICAgIHZvaWQgdW5ib3hEb3VibGUoSlNWYWx1ZVJlZ3MgcmVncywgRlBSUmVnIGZwciwgRlBS
UmVnIHNjcmF0Y2hGUFIpCisgICAgdm9pZCB1bmJveERvdWJsZShKU1ZhbHVlUmVncyByZWdzLCBG
UFJSZWcgZnByKQogICAgIHsKLSAgICAgICAgdW5ib3hEb3VibGUocmVncy50YWdHUFIoKSwgcmVn
cy5wYXlsb2FkR1BSKCksIGZwciwgc2NyYXRjaEZQUik7CisgICAgICAgIHVuYm94RG91YmxlKHJl
Z3MudGFnR1BSKCksIHJlZ3MucGF5bG9hZEdQUigpLCBmcHIpOwogICAgIH0KIAotICAgIHZvaWQg
dW5ib3hEb3VibGVOb25EZXN0cnVjdGl2ZShjb25zdCBKU1ZhbHVlUmVncyByZWdzLCBGUFJSZWcg
ZGVzdEZQUiwgR1BSUmVnLCBGUFJSZWcgc2NyYXRjaEZQUikKKyAgICB2b2lkIHVuYm94RG91Ymxl
Tm9uRGVzdHJ1Y3RpdmUoSlNWYWx1ZVJlZ3MgcmVncywgRlBSUmVnIGRlc3RGUFIsIEdQUlJlZykK
ICAgICB7Ci0gICAgICAgIHVuYm94RG91YmxlKHJlZ3MsIGRlc3RGUFIsIHNjcmF0Y2hGUFIpOwor
ICAgICAgICB1bmJveERvdWJsZShyZWdzLCBkZXN0RlBSKTsKICAgICB9CiAjZW5kaWYKICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQWRkR2VuZXJhdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQWRkR2VuZXJhdG9yLmNwcAppbmRleCA3
ODRmMWE2YzQ0NTc2MWQzYmI3ZjQwYmVkY2UzMGI2NjEzYTFkMmJhLi5kNmI0ODE3OThjNWEwNmY5
ZTcyZWU3MGEzMjFhMTliZDdhYjQ3ZmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVEFkZEdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRBZGRHZW5lcmF0b3IuY3BwCkBAIC04MCw3ICs4MCw2IEBAIGJvb2wgSklUQWRkR2VuZXJh
dG9yOjpnZW5lcmF0ZUZhc3RQYXRoKENDYWxsSGVscGVycyYgaml0LCBDQ2FsbEhlbHBlcnM6Okp1
bXBMaXN0CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICBBU1NFUlQobV9zY3JhdGNoR1BSICE9
IG1fbGVmdC50YWdHUFIoKSk7CiAgICAgQVNTRVJUKG1fc2NyYXRjaEdQUiAhPSBtX3JpZ2h0LnRh
Z0dQUigpKTsKLSAgICBBU1NFUlQobV9zY3JhdGNoRlBSICE9IEludmFsaWRGUFJSZWcpOwogI2Vu
ZGlmCiAKICAgICBBU1NFUlQoIW1fbGVmdE9wZXJhbmQuaXNDb25zdEludDMyKCkgfHwgIW1fcmln
aHRPcGVyYW5kLmlzQ29uc3RJbnQzMigpKTsKQEAgLTExNCw3ICsxMTMsNyBAQCBib29sIEpJVEFk
ZEdlbmVyYXRvcjo6Z2VuZXJhdGVGYXN0UGF0aChDQ2FsbEhlbHBlcnMmIGppdCwgQ0NhbGxIZWxw
ZXJzOjpKdW1wTGlzdAogICAgICAgICBpZiAoIXZhck9wci5kZWZpbml0ZWx5SXNOdW1iZXIoKSkK
ICAgICAgICAgICAgIHNsb3dQYXRoSnVtcExpc3QuYXBwZW5kKGppdC5icmFuY2hJZk5vdE51bWJl
cih2YXIsIG1fc2NyYXRjaEdQUikpOwogCi0gICAgICAgIGppdC51bmJveERvdWJsZU5vbkRlc3Ry
dWN0aXZlKHZhciwgbV9sZWZ0RlBSLCBtX3NjcmF0Y2hHUFIsIG1fc2NyYXRjaEZQUik7CisgICAg
ICAgIGppdC51bmJveERvdWJsZU5vbkRlc3RydWN0aXZlKHZhciwgbV9sZWZ0RlBSLCBtX3NjcmF0
Y2hHUFIpOwogCiAgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6SW1tMzIoY29uc3RPcHIu
YXNDb25zdEludDMyKCkpLCBtX3NjcmF0Y2hHUFIpOwogICAgICAgICBqaXQuY29udmVydEludDMy
VG9Eb3VibGUobV9zY3JhdGNoR1BSLCBtX3JpZ2h0RlBSKTsKQEAgLTE1MSw3ICsxNTAsNyBAQCBi
b29sIEpJVEFkZEdlbmVyYXRvcjo6Z2VuZXJhdGVGYXN0UGF0aChDQ2FsbEhlbHBlcnMmIGppdCwg
Q0NhbGxIZWxwZXJzOjpKdW1wTGlzdAogICAgICAgICBpZiAoIW1fcmlnaHRPcGVyYW5kLmRlZmlu
aXRlbHlJc051bWJlcigpKQogICAgICAgICAgICAgc2xvd1BhdGhKdW1wTGlzdC5hcHBlbmQoaml0
LmJyYW5jaElmTm90TnVtYmVyKG1fcmlnaHQsIG1fc2NyYXRjaEdQUikpOwogCi0gICAgICAgIGpp
dC51bmJveERvdWJsZU5vbkRlc3RydWN0aXZlKG1fbGVmdCwgbV9sZWZ0RlBSLCBtX3NjcmF0Y2hH
UFIsIG1fc2NyYXRjaEZQUik7CisgICAgICAgIGppdC51bmJveERvdWJsZU5vbkRlc3RydWN0aXZl
KG1fbGVmdCwgbV9sZWZ0RlBSLCBtX3NjcmF0Y2hHUFIpOwogICAgICAgICBDQ2FsbEhlbHBlcnM6
Okp1bXAgcmlnaHRJc0RvdWJsZSA9IGppdC5icmFuY2hJZk5vdEludDMyKG1fcmlnaHQpOwogCiAg
ICAgICAgIGppdC5jb252ZXJ0SW50MzJUb0RvdWJsZShtX3JpZ2h0LnBheWxvYWRHUFIoKSwgbV9y
aWdodEZQUik7CkBAIC0xNjQsNyArMTYzLDcgQEAgYm9vbCBKSVRBZGRHZW5lcmF0b3I6OmdlbmVy
YXRlRmFzdFBhdGgoQ0NhbGxIZWxwZXJzJiBqaXQsIENDYWxsSGVscGVyczo6SnVtcExpc3QKICAg
ICAgICAgaml0LmNvbnZlcnRJbnQzMlRvRG91YmxlKG1fbGVmdC5wYXlsb2FkR1BSKCksIG1fbGVm
dEZQUik7CiAKICAgICAgICAgcmlnaHRJc0RvdWJsZS5saW5rKCZqaXQpOwotICAgICAgICBqaXQu
dW5ib3hEb3VibGVOb25EZXN0cnVjdGl2ZShtX3JpZ2h0LCBtX3JpZ2h0RlBSLCBtX3NjcmF0Y2hH
UFIsIG1fc2NyYXRjaEZQUik7CisgICAgICAgIGppdC51bmJveERvdWJsZU5vbkRlc3RydWN0aXZl
KG1fcmlnaHQsIG1fcmlnaHRGUFIsIG1fc2NyYXRjaEdQUik7CiAKICAgICAgICAgcmlnaHRXYXNJ
bnRlZ2VyLmxpbmsoJmppdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUQWRkR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFkZEdl
bmVyYXRvci5oCmluZGV4IDY3NWNmOTNjOTA1NGE2NDIzNTI5NjRjZWJkYmU2ZTZhZGVhZjJjZWYu
LmQ3MjUxNGZiNTk2OWIxZmM4ZTJjMzYzNjA3M2ExZTIzZjQ0NTUxZDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQWRkR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRBZGRHZW5lcmF0b3IuaApAQCAtNDEsNyArNDEsNyBAQCBjbGFz
cyBKSVRBZGRHZW5lcmF0b3IgewogCiAgICAgSklUQWRkR2VuZXJhdG9yKFNuaXBwZXRPcGVyYW5k
IGxlZnRPcGVyYW5kLCBTbmlwcGV0T3BlcmFuZCByaWdodE9wZXJhbmQsCiAgICAgICAgIEpTVmFs
dWVSZWdzIHJlc3VsdCwgSlNWYWx1ZVJlZ3MgbGVmdCwgSlNWYWx1ZVJlZ3MgcmlnaHQsCi0gICAg
ICAgIEZQUlJlZyBsZWZ0RlBSLCBGUFJSZWcgcmlnaHRGUFIsIEdQUlJlZyBzY3JhdGNoR1BSLCBG
UFJSZWcgc2NyYXRjaEZQUikKKyAgICAgICAgRlBSUmVnIGxlZnRGUFIsIEZQUlJlZyByaWdodEZQ
UiwgR1BSUmVnIHNjcmF0Y2hHUFIpCiAgICAgICAgIDogbV9sZWZ0T3BlcmFuZChsZWZ0T3BlcmFu
ZCkKICAgICAgICAgLCBtX3JpZ2h0T3BlcmFuZChyaWdodE9wZXJhbmQpCiAgICAgICAgICwgbV9y
ZXN1bHQocmVzdWx0KQpAQCAtNTAsNyArNTAsNiBAQCBjbGFzcyBKSVRBZGRHZW5lcmF0b3Igewog
ICAgICAgICAsIG1fbGVmdEZQUihsZWZ0RlBSKQogICAgICAgICAsIG1fcmlnaHRGUFIocmlnaHRG
UFIpCiAgICAgICAgICwgbV9zY3JhdGNoR1BSKHNjcmF0Y2hHUFIpCi0gICAgICAgICwgbV9zY3Jh
dGNoRlBSKHNjcmF0Y2hGUFIpCiAgICAgewogICAgICAgICBBU1NFUlQoIW1fbGVmdE9wZXJhbmQu
aXNDb25zdEludDMyKCkgfHwgIW1fcmlnaHRPcGVyYW5kLmlzQ29uc3RJbnQzMigpKTsKICAgICB9
CkBAIC03MCw3ICs2OSw2IEBAIGNsYXNzIEpJVEFkZEdlbmVyYXRvciB7CiAgICAgRlBSUmVnIG1f
bGVmdEZQUjsKICAgICBGUFJSZWcgbV9yaWdodEZQUjsKICAgICBHUFJSZWcgbV9zY3JhdGNoR1BS
OwotICAgIEZQUlJlZyBtX3NjcmF0Y2hGUFI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQXJpdGhtZXRpYy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwCmluZGV4IDIwYjdhNDMx
ZWY3ZTUzNWFlZmY1ZDZmMGU1YTBiZTdmM2U1OWViYzQuLjM1NDc1ZmUyY2FhYzg4NTExNDZiZGMy
MDUxZDBlZDU5MDM3ZDRmNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUQXJpdGhtZXRpYy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRBcml0
aG1ldGljLmNwcApAQCAtODU0LDEzICs4NTQsMTEgQEAgdm9pZCBKSVQ6OmVtaXRSaWdodFNoaWZ0
RmFzdFBhdGgoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgSklUUmlnaHQK
ICAgICBKU1ZhbHVlUmVncyByaWdodFJlZ3MgPSBKU1ZhbHVlUmVncyhyZWdUMSk7CiAgICAgSlNW
YWx1ZVJlZ3MgcmVzdWx0UmVncyA9IGxlZnRSZWdzOwogICAgIEdQUlJlZyBzY3JhdGNoR1BSID0g
cmVnVDI7Ci0gICAgRlBSUmVnIHNjcmF0Y2hGUFIgPSBJbnZhbGlkRlBSUmVnOwogI2Vsc2UKICAg
ICBKU1ZhbHVlUmVncyBsZWZ0UmVncyA9IEpTVmFsdWVSZWdzKHJlZ1QxLCByZWdUMCk7CiAgICAg
SlNWYWx1ZVJlZ3MgcmlnaHRSZWdzID0gSlNWYWx1ZVJlZ3MocmVnVDMsIHJlZ1QyKTsKICAgICBK
U1ZhbHVlUmVncyByZXN1bHRSZWdzID0gbGVmdFJlZ3M7CiAgICAgR1BSUmVnIHNjcmF0Y2hHUFIg
PSByZWdUNDsKLSAgICBGUFJSZWcgc2NyYXRjaEZQUiA9IGZwUmVnVDI7CiAjZW5kaWYKIAogICAg
IFNuaXBwZXRPcGVyYW5kIGxlZnRPcGVyYW5kOwpAQCAtODc4LDggKzg3Niw3IEBAIHZvaWQgSklU
OjplbWl0UmlnaHRTaGlmdEZhc3RQYXRoKGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1
Y3Rpb24sIEpJVFJpZ2h0CiAgICAgaWYgKCFyaWdodE9wZXJhbmQuaXNDb25zdCgpKQogICAgICAg
ICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKG9wMiwgcmlnaHRSZWdzKTsKIAotICAgIEpJVFJpZ2h0
U2hpZnRHZW5lcmF0b3IgZ2VuKGxlZnRPcGVyYW5kLCByaWdodE9wZXJhbmQsIHJlc3VsdFJlZ3Ms
IGxlZnRSZWdzLCByaWdodFJlZ3MsCi0gICAgICAgIGZwUmVnVDAsIHNjcmF0Y2hHUFIsIHNjcmF0
Y2hGUFIsIHNuaXBwZXRTaGlmdFR5cGUpOworICAgIEpJVFJpZ2h0U2hpZnRHZW5lcmF0b3IgZ2Vu
KGxlZnRPcGVyYW5kLCByaWdodE9wZXJhbmQsIHJlc3VsdFJlZ3MsIGxlZnRSZWdzLCByaWdodFJl
Z3MsIGZwUmVnVDAsIHNjcmF0Y2hHUFIsIHNuaXBwZXRTaGlmdFR5cGUpOwogCiAgICAgZ2VuLmdl
bmVyYXRlRmFzdFBhdGgoKnRoaXMpOwogCkBAIC05NzksMTMgKzk3NiwxMSBAQCB2b2lkIEpJVDo6
ZW1pdE1hdGhJQ0Zhc3QoSklUQmluYXJ5TWF0aElDPEdlbmVyYXRvcj4qIG1hdGhJQywgY29uc3Qg
SW5zdHJ1Y3Rpb24qCiAgICAgSlNWYWx1ZVJlZ3MgcmlnaHRSZWdzID0gSlNWYWx1ZVJlZ3MocmVn
VDIpOwogICAgIEpTVmFsdWVSZWdzIHJlc3VsdFJlZ3MgPSBKU1ZhbHVlUmVncyhyZWdUMCk7CiAg
ICAgR1BSUmVnIHNjcmF0Y2hHUFIgPSByZWdUMzsKLSAgICBGUFJSZWcgc2NyYXRjaEZQUiA9IGZw
UmVnVDI7CiAjZWxzZQogICAgIEpTVmFsdWVSZWdzIGxlZnRSZWdzID0gSlNWYWx1ZVJlZ3MocmVn
VDEsIHJlZ1QwKTsKICAgICBKU1ZhbHVlUmVncyByaWdodFJlZ3MgPSBKU1ZhbHVlUmVncyhyZWdU
MywgcmVnVDIpOwogICAgIEpTVmFsdWVSZWdzIHJlc3VsdFJlZ3MgPSBsZWZ0UmVnczsKICAgICBH
UFJSZWcgc2NyYXRjaEdQUiA9IHJlZ1Q0OwotICAgIEZQUlJlZyBzY3JhdGNoRlBSID0gZnBSZWdU
MjsKICNlbmRpZgogCiAgICAgU25pcHBldE9wZXJhbmQgbGVmdE9wZXJhbmQoYnl0ZWNvZGUubV9v
cGVyYW5kVHlwZXMuZmlyc3QoKSk7CkBAIC05OTgsNyArOTkzLDcgQEAgdm9pZCBKSVQ6OmVtaXRN
YXRoSUNGYXN0KEpJVEJpbmFyeU1hdGhJQzxHZW5lcmF0b3I+KiBtYXRoSUMsIGNvbnN0IEluc3Ry
dWN0aW9uKgogCiAgICAgUkVMRUFTRV9BU1NFUlQoIWxlZnRPcGVyYW5kLmlzQ29uc3QoKSB8fCAh
cmlnaHRPcGVyYW5kLmlzQ29uc3QoKSk7CiAKLSAgICBtYXRoSUMtPm1fZ2VuZXJhdG9yID0gR2Vu
ZXJhdG9yKGxlZnRPcGVyYW5kLCByaWdodE9wZXJhbmQsIHJlc3VsdFJlZ3MsIGxlZnRSZWdzLCBy
aWdodFJlZ3MsIGZwUmVnVDAsIGZwUmVnVDEsIHNjcmF0Y2hHUFIsIHNjcmF0Y2hGUFIpOworICAg
IG1hdGhJQy0+bV9nZW5lcmF0b3IgPSBHZW5lcmF0b3IobGVmdE9wZXJhbmQsIHJpZ2h0T3BlcmFu
ZCwgcmVzdWx0UmVncywgbGVmdFJlZ3MsIHJpZ2h0UmVncywgZnBSZWdUMCwgZnBSZWdUMSwgc2Ny
YXRjaEdQUik7CiAgICAgCiAgICAgQVNTRVJUKCEoR2VuZXJhdG9yOjppc0xlZnRPcGVyYW5kVmFs
aWRDb25zdGFudChsZWZ0T3BlcmFuZCkgJiYgR2VuZXJhdG9yOjppc1JpZ2h0T3BlcmFuZFZhbGlk
Q29uc3RhbnQocmlnaHRPcGVyYW5kKSkpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVREaXZHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVREaXZHZW5lcmF0b3IuY3BwCmluZGV4IDEyOWYwNjVhYzM1NGM4Y2Q5ZmMxNDJlMmJh
ZDY3YzE1MjdmYjQ2YTcuLjM0YTExOGEzNGQ1NzI0MzExZTkzZDc1MzRmYWRmYzBjMGM3YzllNDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklURGl2R2VuZXJhdG9yLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVERpdkdlbmVyYXRvci5jcHAKQEAg
LTU1LDcgKzU1LDcgQEAgdm9pZCBKSVREaXZHZW5lcmF0b3I6OmxvYWRPcGVyYW5kKENDYWxsSGVs
cGVycyYgaml0LCBTbmlwcGV0T3BlcmFuZCYgb3ByLCBKU1ZhbHUKICAgICAgICAgaml0LmNvbnZl
cnRJbnQzMlRvRG91YmxlKG9wclJlZ3MucGF5bG9hZEdQUigpLCBkZXN0RlBSKTsKICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpKdW1wIG9wcklzTG9hZGVkID0gaml0Lmp1bXAoKTsKICAgICAgICAgbm90
SW50MzIubGluaygmaml0KTsKLSAgICAgICAgaml0LnVuYm94RG91YmxlTm9uRGVzdHJ1Y3RpdmUo
b3ByUmVncywgZGVzdEZQUiwgbV9zY3JhdGNoR1BSLCBtX3NjcmF0Y2hGUFIpOworICAgICAgICBq
aXQudW5ib3hEb3VibGVOb25EZXN0cnVjdGl2ZShvcHJSZWdzLCBkZXN0RlBSLCBtX3NjcmF0Y2hH
UFIpOwogICAgICAgICBvcHJJc0xvYWRlZC5saW5rKCZqaXQpOwogICAgIH0KIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUTXVsR2VuZXJhdG9yLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUTXVsR2VuZXJhdG9yLmNwcAppbmRleCAwZjM4YzQzMDUz
N2JlNGNhMTUyNmJkMWNlZGFmZTQ3YzUwNjkzN2NkLi40N2YzMmVjZjNjN2FmNmNlNWQ2YWFjNTlm
Y2EzYTA2NGM0MzM2Njg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE11bEdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRNdWxH
ZW5lcmF0b3IuY3BwCkBAIC01OCw4ICs1OCw4IEBAIEpJVE1hdGhJQ0lubGluZVJlc3VsdCBKSVRN
dWxHZW5lcmF0b3I6OmdlbmVyYXRlSW5saW5lKENDYWxsSGVscGVycyYgaml0LCBNYXRoSUNHCiAg
ICAgICAgICAgICBzdGF0ZS5zbG93UGF0aEp1bXBzLmFwcGVuZChqaXQuYnJhbmNoSWZOb3ROdW1i
ZXIobV9yaWdodCwgbV9zY3JhdGNoR1BSKSk7CiAgICAgICAgIHN0YXRlLnNsb3dQYXRoSnVtcHMu
YXBwZW5kKGppdC5icmFuY2hJZkludDMyKG1fbGVmdCkpOwogICAgICAgICBzdGF0ZS5zbG93UGF0
aEp1bXBzLmFwcGVuZChqaXQuYnJhbmNoSWZJbnQzMihtX3JpZ2h0KSk7Ci0gICAgICAgIGppdC51
bmJveERvdWJsZU5vbkRlc3RydWN0aXZlKG1fbGVmdCwgbV9sZWZ0RlBSLCBtX3NjcmF0Y2hHUFIs
IG1fc2NyYXRjaEZQUik7Ci0gICAgICAgIGppdC51bmJveERvdWJsZU5vbkRlc3RydWN0aXZlKG1f
cmlnaHQsIG1fcmlnaHRGUFIsIG1fc2NyYXRjaEdQUiwgbV9zY3JhdGNoRlBSKTsKKyAgICAgICAg
aml0LnVuYm94RG91YmxlTm9uRGVzdHJ1Y3RpdmUobV9sZWZ0LCBtX2xlZnRGUFIsIG1fc2NyYXRj
aEdQUik7CisgICAgICAgIGppdC51bmJveERvdWJsZU5vbkRlc3RydWN0aXZlKG1fcmlnaHQsIG1f
cmlnaHRGUFIsIG1fc2NyYXRjaEdQUik7CiAgICAgICAgIGppdC5tdWxEb3VibGUobV9yaWdodEZQ
UiwgbV9sZWZ0RlBSKTsKICAgICAgICAgaml0LmJveERvdWJsZShtX2xlZnRGUFIsIG1fcmVzdWx0
KTsKIApAQCAtOTksNyArOTksNiBAQCBib29sIEpJVE11bEdlbmVyYXRvcjo6Z2VuZXJhdGVGYXN0
UGF0aChDQ2FsbEhlbHBlcnMmIGppdCwgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdAogI2Vsc2UKICAg
ICBBU1NFUlQobV9zY3JhdGNoR1BSICE9IG1fbGVmdC50YWdHUFIoKSk7CiAgICAgQVNTRVJUKG1f
c2NyYXRjaEdQUiAhPSBtX3JpZ2h0LnRhZ0dQUigpKTsKLSAgICBBU1NFUlQobV9zY3JhdGNoRlBS
ICE9IEludmFsaWRGUFJSZWcpOwogI2VuZGlmCiAKICAgICBBU1NFUlQoIW1fbGVmdE9wZXJhbmQu
aXNQb3NpdGl2ZUNvbnN0SW50MzIoKSB8fCAhbV9yaWdodE9wZXJhbmQuaXNQb3NpdGl2ZUNvbnN0
SW50MzIoKSk7CkBAIC0xMzQsNyArMTMzLDcgQEAgYm9vbCBKSVRNdWxHZW5lcmF0b3I6OmdlbmVy
YXRlRmFzdFBhdGgoQ0NhbGxIZWxwZXJzJiBqaXQsIENDYWxsSGVscGVyczo6SnVtcExpc3QKICAg
ICAgICAgaWYgKCF2YXJPcHIuZGVmaW5pdGVseUlzTnVtYmVyKCkpCiAgICAgICAgICAgICBzbG93
UGF0aEp1bXBMaXN0LmFwcGVuZChqaXQuYnJhbmNoSWZOb3ROdW1iZXIodmFyLCBtX3NjcmF0Y2hH
UFIpKTsKIAotICAgICAgICBqaXQudW5ib3hEb3VibGVOb25EZXN0cnVjdGl2ZSh2YXIsIG1fbGVm
dEZQUiwgbV9zY3JhdGNoR1BSLCBtX3NjcmF0Y2hGUFIpOworICAgICAgICBqaXQudW5ib3hEb3Vi
bGVOb25EZXN0cnVjdGl2ZSh2YXIsIG1fbGVmdEZQUiwgbV9zY3JhdGNoR1BSKTsKIAogICAgICAg
ICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OkltbTMyKGNvbnN0T3ByLmFzQ29uc3RJbnQzMigpKSwg
bV9zY3JhdGNoR1BSKTsKICAgICAgICAgaml0LmNvbnZlcnRJbnQzMlRvRG91YmxlKG1fc2NyYXRj
aEdQUiwgbV9yaWdodEZQUik7CkBAIC0xNjksNyArMTY4LDcgQEAgYm9vbCBKSVRNdWxHZW5lcmF0
b3I6OmdlbmVyYXRlRmFzdFBhdGgoQ0NhbGxIZWxwZXJzJiBqaXQsIENDYWxsSGVscGVyczo6SnVt
cExpc3QKICAgICAgICAgaWYgKCFtX3JpZ2h0T3BlcmFuZC5kZWZpbml0ZWx5SXNOdW1iZXIoKSkK
ICAgICAgICAgICAgIHNsb3dQYXRoSnVtcExpc3QuYXBwZW5kKGppdC5icmFuY2hJZk5vdE51bWJl
cihtX3JpZ2h0LCBtX3NjcmF0Y2hHUFIpKTsKIAotICAgICAgICBqaXQudW5ib3hEb3VibGVOb25E
ZXN0cnVjdGl2ZShtX2xlZnQsIG1fbGVmdEZQUiwgbV9zY3JhdGNoR1BSLCBtX3NjcmF0Y2hGUFIp
OworICAgICAgICBqaXQudW5ib3hEb3VibGVOb25EZXN0cnVjdGl2ZShtX2xlZnQsIG1fbGVmdEZQ
UiwgbV9zY3JhdGNoR1BSKTsKICAgICAgICAgQ0NhbGxIZWxwZXJzOjpKdW1wIHJpZ2h0SXNEb3Vi
bGUgPSBqaXQuYnJhbmNoSWZOb3RJbnQzMihtX3JpZ2h0KTsKIAogICAgICAgICBqaXQuY29udmVy
dEludDMyVG9Eb3VibGUobV9yaWdodC5wYXlsb2FkR1BSKCksIG1fcmlnaHRGUFIpOwpAQCAtMTgy
LDcgKzE4MSw3IEBAIGJvb2wgSklUTXVsR2VuZXJhdG9yOjpnZW5lcmF0ZUZhc3RQYXRoKENDYWxs
SGVscGVycyYgaml0LCBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0CiAgICAgICAgIGppdC5jb252ZXJ0
SW50MzJUb0RvdWJsZShtX2xlZnQucGF5bG9hZEdQUigpLCBtX2xlZnRGUFIpOwogCiAgICAgICAg
IHJpZ2h0SXNEb3VibGUubGluaygmaml0KTsKLSAgICAgICAgaml0LnVuYm94RG91YmxlTm9uRGVz
dHJ1Y3RpdmUobV9yaWdodCwgbV9yaWdodEZQUiwgbV9zY3JhdGNoR1BSLCBtX3NjcmF0Y2hGUFIp
OworICAgICAgICBqaXQudW5ib3hEb3VibGVOb25EZXN0cnVjdGl2ZShtX3JpZ2h0LCBtX3JpZ2h0
RlBSLCBtX3NjcmF0Y2hHUFIpOwogCiAgICAgICAgIHJpZ2h0V2FzSW50ZWdlci5saW5rKCZqaXQp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE11bEdlbmVyYXRv
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRNdWxHZW5lcmF0b3IuaAppbmRleCA2
MDg3Nzk2Njg1YTk0YTg2NWJjN2FhNzIxNWIxZjhlYjA3MjZkMmQxLi4zYmY2MmJjN2I5YTQ4YThm
NDBmNTgxZDIzZDA0M2M1MDA4ZmI0NTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE11bEdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUTXVsR2VuZXJhdG9yLmgKQEAgLTQyLDcgKzQyLDcgQEAgY2xhc3MgSklUTXVsR2VuZXJhdG9y
IHsKIAogICAgIEpJVE11bEdlbmVyYXRvcihTbmlwcGV0T3BlcmFuZCBsZWZ0T3BlcmFuZCwgU25p
cHBldE9wZXJhbmQgcmlnaHRPcGVyYW5kLAogICAgICAgICBKU1ZhbHVlUmVncyByZXN1bHQsIEpT
VmFsdWVSZWdzIGxlZnQsIEpTVmFsdWVSZWdzIHJpZ2h0LAotICAgICAgICBGUFJSZWcgbGVmdEZQ
UiwgRlBSUmVnIHJpZ2h0RlBSLCBHUFJSZWcgc2NyYXRjaEdQUiwgRlBSUmVnIHNjcmF0Y2hGUFIp
CisgICAgICAgIEZQUlJlZyBsZWZ0RlBSLCBGUFJSZWcgcmlnaHRGUFIsIEdQUlJlZyBzY3JhdGNo
R1BSKQogICAgICAgICA6IG1fbGVmdE9wZXJhbmQobGVmdE9wZXJhbmQpCiAgICAgICAgICwgbV9y
aWdodE9wZXJhbmQocmlnaHRPcGVyYW5kKQogICAgICAgICAsIG1fcmVzdWx0KHJlc3VsdCkKQEAg
LTUxLDcgKzUxLDYgQEAgY2xhc3MgSklUTXVsR2VuZXJhdG9yIHsKICAgICAgICAgLCBtX2xlZnRG
UFIobGVmdEZQUikKICAgICAgICAgLCBtX3JpZ2h0RlBSKHJpZ2h0RlBSKQogICAgICAgICAsIG1f
c2NyYXRjaEdQUihzY3JhdGNoR1BSKQotICAgICAgICAsIG1fc2NyYXRjaEZQUihzY3JhdGNoRlBS
KQogICAgIHsKICAgICAgICAgQVNTRVJUKCFtX2xlZnRPcGVyYW5kLmlzUG9zaXRpdmVDb25zdElu
dDMyKCkgfHwgIW1fcmlnaHRPcGVyYW5kLmlzUG9zaXRpdmVDb25zdEludDMyKCkpOwogICAgIH0K
QEAgLTcxLDcgKzcwLDYgQEAgY2xhc3MgSklUTXVsR2VuZXJhdG9yIHsKICAgICBGUFJSZWcgbV9s
ZWZ0RlBSOwogICAgIEZQUlJlZyBtX3JpZ2h0RlBSOwogICAgIEdQUlJlZyBtX3NjcmF0Y2hHUFI7
Ci0gICAgRlBSUmVnIG1fc2NyYXRjaEZQUjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAppbmRleCA2
NzUxNGViNjJmYTkyMmIwM2FiNjA2MzRhYWE2ZTI3NzE2NjgzZmM0Li41NjY4ZGZiZTQxZDEyYTky
MjRhNDNjMDg4MTM0ZTNjYzVjODRjYzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcApAQCAtMzYwMCw3ICszNjAwLDcgQEAgSklUOjpKdW1w
TGlzdCBKSVQ6OmVtaXRGbG9hdFR5cGVkQXJyYXlQdXRCeVZhbChPcCBieXRlY29kZSwgUGF0Y2hh
YmxlSnVtcCYgYmFkVHkKICAgICBKdW1wIHJlYWR5ID0ganVtcCgpOwogICAgIGRvdWJsZUNhc2Uu
bGluayh0aGlzKTsKICAgICBzbG93Q2FzZXMuYXBwZW5kKGJyYW5jaDMyKEFib3ZlLCBsYXRlU2Ny
YXRjaCwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6Okxvd2VzdFRhZykpKTsKLSAgICBtb3ZlSW50c1Rv
RG91YmxlKGVhcmx5U2NyYXRjaCwgbGF0ZVNjcmF0Y2gsIGZwUmVnVDAsIGZwUmVnVDEpOworICAg
IG1vdmVJbnRzVG9Eb3VibGUoZWFybHlTY3JhdGNoLCBsYXRlU2NyYXRjaCwgZnBSZWdUMCk7CiAg
ICAgcmVhZHkubGluayh0aGlzKTsKICNlbmRpZgogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKaW5kZXggNzVkMGJkN2Y2
ZWYzNWM3NjI3MzEzZjI2YmE2NWExNjhkODNiOTQ1Ni4uYjk4YmZlY2VkYWE1NTYwMWY5NWE4OGJl
ZGE2MWIwOWYxYTM0MzQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCkBAIC01NDUsNyArNTQ1LDcgQEAgSklUOjpKdW1w
TGlzdCBKSVQ6OmVtaXRHZW5lcmljQ29udGlndW91c1B1dEJ5VmFsKE9wIGJ5dGVjb2RlLCBQYXRj
aGFibGVKdW1wJiBiYWQKICAgICAgICAgY29udmVydEludDMyVG9Eb3VibGUocmVnVDAsIGZwUmVn
VDApOwogICAgICAgICBKdW1wIHJlYWR5ID0ganVtcCgpOwogICAgICAgICBub3RJbnQubGluayh0
aGlzKTsKLSAgICAgICAgbW92ZUludHNUb0RvdWJsZShyZWdUMCwgcmVnVDEsIGZwUmVnVDAsIGZw
UmVnVDEpOworICAgICAgICBtb3ZlSW50c1RvRG91YmxlKHJlZ1QwLCByZWdUMSwgZnBSZWdUMCk7
CiAgICAgICAgIHNsb3dDYXNlcy5hcHBlbmQoYnJhbmNoSWZOYU4oZnBSZWdUMCkpOwogICAgICAg
ICByZWFkeS5saW5rKHRoaXMpOwogICAgICAgICBzdG9yZURvdWJsZShmcFJlZ1QwLCBCYXNlSW5k
ZXgocmVnVDMsIHJlZ1QyLCBUaW1lc0VpZ2h0KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFJpZ2h0U2hpZnRHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRSaWdodFNoaWZ0R2VuZXJhdG9yLmNwcAppbmRleCAxZjE5ZDRlODgyNmMw
NzA1ODY4NzdlNzM2OTk1ZDliOTIyNDY5NmIyLi43NmMyNTFiYjFiZWYwYTIxZGY2NGUzZGZjYjc4
MjMyM2VlNmFiMjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFJp
Z2h0U2hpZnRHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
UmlnaHRTaGlmdEdlbmVyYXRvci5jcHAKQEAgLTM4LDcgKzM4LDYgQEAgdm9pZCBKSVRSaWdodFNo
aWZ0R2VuZXJhdG9yOjpnZW5lcmF0ZUZhc3RQYXRoKENDYWxsSGVscGVycyYgaml0KQogI2lmIFVT
RShKU1ZBTFVFMzJfNjQpCiAgICAgQVNTRVJUKG1fc2NyYXRjaEdQUiAhPSBtX2xlZnQudGFnR1BS
KCkpOwogICAgIEFTU0VSVChtX3NjcmF0Y2hHUFIgIT0gbV9yaWdodC50YWdHUFIoKSk7Ci0gICAg
QVNTRVJUKG1fc2NyYXRjaEZQUiAhPSBJbnZhbGlkRlBSUmVnKTsKICNlbmRpZgogCiAgICAgQVNT
RVJUKCFtX2xlZnRPcGVyYW5kLmlzQ29uc3RJbnQzMigpIHx8ICFtX3JpZ2h0T3BlcmFuZC5pc0Nv
bnN0SW50MzIoKSk7CkBAIC02OSw3ICs2OCw3IEBAIHZvaWQgSklUUmlnaHRTaGlmdEdlbmVyYXRv
cjo6Z2VuZXJhdGVGYXN0UGF0aChDQ2FsbEhlbHBlcnMmIGppdCkKIAogICAgICAgICAgICAgbV9z
bG93UGF0aEp1bXBMaXN0LmFwcGVuZChqaXQuYnJhbmNoSWZOb3ROdW1iZXIobV9sZWZ0LCBtX3Nj
cmF0Y2hHUFIpKTsKIAotICAgICAgICAgICAgaml0LnVuYm94RG91YmxlTm9uRGVzdHJ1Y3RpdmUo
bV9sZWZ0LCBtX2xlZnRGUFIsIG1fc2NyYXRjaEdQUiwgbV9zY3JhdGNoRlBSKTsKKyAgICAgICAg
ICAgIGppdC51bmJveERvdWJsZU5vbkRlc3RydWN0aXZlKG1fbGVmdCwgbV9sZWZ0RlBSLCBtX3Nj
cmF0Y2hHUFIpOwogI2lmIENQVShBUk02NCkKICAgICAgICAgICAgIGlmIChNYWNyb0Fzc2VtYmxl
ckFSTTY0OjpzdXBwb3J0c0RvdWJsZVRvSW50MzJDb252ZXJzaW9uVXNpbmdKYXZhU2NyaXB0U2Vt
YW50aWNzKCkpCiAgICAgICAgICAgICAgICAgaml0LmNvbnZlcnREb3VibGVUb0ludDMyVXNpbmdK
YXZhU2NyaXB0U2VtYW50aWNzKG1fbGVmdEZQUiwgbV9zY3JhdGNoR1BSKTsKQEAgLTEyOCw3ICsx
MjcsNyBAQCB2b2lkIEpJVFJpZ2h0U2hpZnRHZW5lcmF0b3I6OmdlbmVyYXRlRmFzdFBhdGgoQ0Nh
bGxIZWxwZXJzJiBqaXQpCiAgICAgICAgICAgICBsZWZ0Tm90SW50LmxpbmsoJmppdCk7CiAKICAg
ICAgICAgICAgIG1fc2xvd1BhdGhKdW1wTGlzdC5hcHBlbmQoaml0LmJyYW5jaElmTm90TnVtYmVy
KG1fbGVmdCwgbV9zY3JhdGNoR1BSKSk7Ci0gICAgICAgICAgICBqaXQudW5ib3hEb3VibGVOb25E
ZXN0cnVjdGl2ZShtX2xlZnQsIG1fbGVmdEZQUiwgbV9zY3JhdGNoR1BSLCBtX3NjcmF0Y2hGUFIp
OworICAgICAgICAgICAgaml0LnVuYm94RG91YmxlTm9uRGVzdHJ1Y3RpdmUobV9sZWZ0LCBtX2xl
ZnRGUFIsIG1fc2NyYXRjaEdQUik7CiAjaWYgQ1BVKEFSTTY0KQogICAgICAgICAgICAgaWYgKE1h
Y3JvQXNzZW1ibGVyQVJNNjQ6OnN1cHBvcnRzRG91YmxlVG9JbnQzMkNvbnZlcnNpb25Vc2luZ0ph
dmFTY3JpcHRTZW1hbnRpY3MoKSkKICAgICAgICAgICAgICAgICBqaXQuY29udmVydERvdWJsZVRv
SW50MzJVc2luZ0phdmFTY3JpcHRTZW1hbnRpY3MobV9sZWZ0RlBSLCBtX3NjcmF0Y2hHUFIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRSaWdodFNoaWZ0R2VuZXJh
dG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFJpZ2h0U2hpZnRHZW5lcmF0b3Iu
aAppbmRleCBmYThjM2UzMGNmYzQxZmM4ZjExODUwODE2MTlkNzExY2E4OGRjNDgyLi5kZTRkOWQ3
OTgyMGY3NjU1ZmIwMzYxNGE3NWJiYTRiOWJjYmZiOTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFJpZ2h0U2hpZnRHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFJpZ2h0U2hpZnRHZW5lcmF0b3IuaApAQCAtNDAsMTEgKzQwLDEw
IEBAIGNsYXNzIEpJVFJpZ2h0U2hpZnRHZW5lcmF0b3IgOiBwdWJsaWMgSklUQml0QmluYXJ5T3BH
ZW5lcmF0b3IgewogCiAgICAgSklUUmlnaHRTaGlmdEdlbmVyYXRvcihjb25zdCBTbmlwcGV0T3Bl
cmFuZCYgbGVmdE9wZXJhbmQsIGNvbnN0IFNuaXBwZXRPcGVyYW5kJiByaWdodE9wZXJhbmQsCiAg
ICAgICAgIEpTVmFsdWVSZWdzIHJlc3VsdCwgSlNWYWx1ZVJlZ3MgbGVmdCwgSlNWYWx1ZVJlZ3Mg
cmlnaHQsCi0gICAgICAgIEZQUlJlZyBsZWZ0RlBSLCBHUFJSZWcgc2NyYXRjaEdQUiwgRlBSUmVn
IHNjcmF0Y2hGUFIsIFNoaWZ0VHlwZSB0eXBlID0gU2lnbmVkU2hpZnQpCisgICAgICAgIEZQUlJl
ZyBsZWZ0RlBSLCBHUFJSZWcgc2NyYXRjaEdQUiwgU2hpZnRUeXBlIHR5cGUgPSBTaWduZWRTaGlm
dCkKICAgICAgICAgOiBKSVRCaXRCaW5hcnlPcEdlbmVyYXRvcihsZWZ0T3BlcmFuZCwgcmlnaHRP
cGVyYW5kLCByZXN1bHQsIGxlZnQsIHJpZ2h0LCBzY3JhdGNoR1BSKQogICAgICAgICAsIG1fc2hp
ZnRUeXBlKHR5cGUpCiAgICAgICAgICwgbV9sZWZ0RlBSKGxlZnRGUFIpCi0gICAgICAgICwgbV9z
Y3JhdGNoRlBSKHNjcmF0Y2hGUFIpCiAgICAgeyB9CiAKICAgICB2b2lkIGdlbmVyYXRlRmFzdFBh
dGgoQ0NhbGxIZWxwZXJzJik7CkBAIC01Miw3ICs1MSw2IEBAIGNsYXNzIEpJVFJpZ2h0U2hpZnRH
ZW5lcmF0b3IgOiBwdWJsaWMgSklUQml0QmluYXJ5T3BHZW5lcmF0b3IgewogcHJpdmF0ZToKICAg
ICBTaGlmdFR5cGUgbV9zaGlmdFR5cGU7CiAgICAgRlBSUmVnIG1fbGVmdEZQUjsKLSAgICBGUFJS
ZWcgbV9zY3JhdGNoRlBSOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN1YkdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFN1YkdlbmVyYXRvci5jcHAKaW5kZXggN2IxYThiODE5ZmVlOGE5
NjdlOGEwN2M4NGI3NGMxMGJjY2RmZDAyNC4uNzQ3OGU1MzlkY2JmMTg0ZGFkM2ZlYjFjYmIzMmQ1
MWJmN2Q4ZGVjMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdWJH
ZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3ViR2VuZXJh
dG9yLmNwcApAQCAtNTYsOCArNTYsOCBAQCBKSVRNYXRoSUNJbmxpbmVSZXN1bHQgSklUU3ViR2Vu
ZXJhdG9yOjpnZW5lcmF0ZUlubGluZShDQ2FsbEhlbHBlcnMmIGppdCwgTWF0aElDRwogICAgICAg
ICAgICAgc3RhdGUuc2xvd1BhdGhKdW1wcy5hcHBlbmQoaml0LmJyYW5jaElmTm90TnVtYmVyKG1f
cmlnaHQsIG1fc2NyYXRjaEdQUikpOwogICAgICAgICBzdGF0ZS5zbG93UGF0aEp1bXBzLmFwcGVu
ZChqaXQuYnJhbmNoSWZJbnQzMihtX2xlZnQpKTsKICAgICAgICAgc3RhdGUuc2xvd1BhdGhKdW1w
cy5hcHBlbmQoaml0LmJyYW5jaElmSW50MzIobV9yaWdodCkpOwotICAgICAgICBqaXQudW5ib3hE
b3VibGVOb25EZXN0cnVjdGl2ZShtX2xlZnQsIG1fbGVmdEZQUiwgbV9zY3JhdGNoR1BSLCBtX3Nj
cmF0Y2hGUFIpOwotICAgICAgICBqaXQudW5ib3hEb3VibGVOb25EZXN0cnVjdGl2ZShtX3JpZ2h0
LCBtX3JpZ2h0RlBSLCBtX3NjcmF0Y2hHUFIsIG1fc2NyYXRjaEZQUik7CisgICAgICAgIGppdC51
bmJveERvdWJsZU5vbkRlc3RydWN0aXZlKG1fbGVmdCwgbV9sZWZ0RlBSLCBtX3NjcmF0Y2hHUFIp
OworICAgICAgICBqaXQudW5ib3hEb3VibGVOb25EZXN0cnVjdGl2ZShtX3JpZ2h0LCBtX3JpZ2h0
RlBSLCBtX3NjcmF0Y2hHUFIpOwogICAgICAgICBqaXQuc3ViRG91YmxlKG1fcmlnaHRGUFIsIG1f
bGVmdEZQUik7CiAgICAgICAgIGppdC5ib3hEb3VibGUobV9sZWZ0RlBSLCBtX3Jlc3VsdCk7CiAK
QEAgLTg2LDcgKzg2LDYgQEAgYm9vbCBKSVRTdWJHZW5lcmF0b3I6OmdlbmVyYXRlRmFzdFBhdGgo
Q0NhbGxIZWxwZXJzJiBqaXQsIENDYWxsSGVscGVyczo6SnVtcExpc3QKICNpZiBVU0UoSlNWQUxV
RTMyXzY0KQogICAgIEFTU0VSVChtX3NjcmF0Y2hHUFIgIT0gbV9sZWZ0LnRhZ0dQUigpKTsKICAg
ICBBU1NFUlQobV9zY3JhdGNoR1BSICE9IG1fcmlnaHQudGFnR1BSKCkpOwotICAgIEFTU0VSVCht
X3NjcmF0Y2hGUFIgIT0gSW52YWxpZEZQUlJlZyk7CiAjZW5kaWYKIAogICAgIENDYWxsSGVscGVy
czo6SnVtcCBsZWZ0Tm90SW50ID0gaml0LmJyYW5jaElmTm90SW50MzIobV9sZWZ0KTsKQEAgLTEx
MSw3ICsxMTAsNyBAQCBib29sIEpJVFN1YkdlbmVyYXRvcjo6Z2VuZXJhdGVGYXN0UGF0aChDQ2Fs
bEhlbHBlcnMmIGppdCwgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdAogICAgIGlmICghbV9yaWdodE9w
ZXJhbmQuZGVmaW5pdGVseUlzTnVtYmVyKCkpCiAgICAgICAgIHNsb3dQYXRoSnVtcExpc3QuYXBw
ZW5kKGppdC5icmFuY2hJZk5vdE51bWJlcihtX3JpZ2h0LCBtX3NjcmF0Y2hHUFIpKTsKIAotICAg
IGppdC51bmJveERvdWJsZU5vbkRlc3RydWN0aXZlKG1fbGVmdCwgbV9sZWZ0RlBSLCBtX3NjcmF0
Y2hHUFIsIG1fc2NyYXRjaEZQUik7CisgICAgaml0LnVuYm94RG91YmxlTm9uRGVzdHJ1Y3RpdmUo
bV9sZWZ0LCBtX2xlZnRGUFIsIG1fc2NyYXRjaEdQUik7CiAgICAgQ0NhbGxIZWxwZXJzOjpKdW1w
IHJpZ2h0SXNEb3VibGUgPSBqaXQuYnJhbmNoSWZOb3RJbnQzMihtX3JpZ2h0KTsKIAogICAgIGpp
dC5jb252ZXJ0SW50MzJUb0RvdWJsZShtX3JpZ2h0LnBheWxvYWRHUFIoKSwgbV9yaWdodEZQUik7
CkBAIC0xMjQsNyArMTIzLDcgQEAgYm9vbCBKSVRTdWJHZW5lcmF0b3I6OmdlbmVyYXRlRmFzdFBh
dGgoQ0NhbGxIZWxwZXJzJiBqaXQsIENDYWxsSGVscGVyczo6SnVtcExpc3QKICAgICBqaXQuY29u
dmVydEludDMyVG9Eb3VibGUobV9sZWZ0LnBheWxvYWRHUFIoKSwgbV9sZWZ0RlBSKTsKIAogICAg
IHJpZ2h0SXNEb3VibGUubGluaygmaml0KTsKLSAgICBqaXQudW5ib3hEb3VibGVOb25EZXN0cnVj
dGl2ZShtX3JpZ2h0LCBtX3JpZ2h0RlBSLCBtX3NjcmF0Y2hHUFIsIG1fc2NyYXRjaEZQUik7Cisg
ICAgaml0LnVuYm94RG91YmxlTm9uRGVzdHJ1Y3RpdmUobV9yaWdodCwgbV9yaWdodEZQUiwgbV9z
Y3JhdGNoR1BSKTsKIAogICAgIHJpZ2h0V2FzSW50ZWdlci5saW5rKCZqaXQpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN1YkdlbmVyYXRvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdWJHZW5lcmF0b3IuaAppbmRleCAzNDkxYTgzZmVkYTQw
NDM3OGJiOTE2NjRjNWUwNTNlMmNlOTE4NWY2Li42YmNlY2ExOWUyMjFhMGY0YTc2MDY5YTFlZDA0
MGVlOGM4NGM0MTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN1
YkdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3ViR2VuZXJh
dG9yLmgKQEAgLTQxLDcgKzQxLDcgQEAgY2xhc3MgSklUU3ViR2VuZXJhdG9yIHsKIAogICAgIEpJ
VFN1YkdlbmVyYXRvcihTbmlwcGV0T3BlcmFuZCBsZWZ0T3BlcmFuZCwgU25pcHBldE9wZXJhbmQg
cmlnaHRPcGVyYW5kLAogICAgICAgICBKU1ZhbHVlUmVncyByZXN1bHQsIEpTVmFsdWVSZWdzIGxl
ZnQsIEpTVmFsdWVSZWdzIHJpZ2h0LAotICAgICAgICBGUFJSZWcgbGVmdEZQUiwgRlBSUmVnIHJp
Z2h0RlBSLCBHUFJSZWcgc2NyYXRjaEdQUiwgRlBSUmVnIHNjcmF0Y2hGUFIpCisgICAgICAgIEZQ
UlJlZyBsZWZ0RlBSLCBGUFJSZWcgcmlnaHRGUFIsIEdQUlJlZyBzY3JhdGNoR1BSKQogICAgICAg
ICA6IG1fbGVmdE9wZXJhbmQobGVmdE9wZXJhbmQpCiAgICAgICAgICwgbV9yaWdodE9wZXJhbmQo
cmlnaHRPcGVyYW5kKQogICAgICAgICAsIG1fcmVzdWx0KHJlc3VsdCkKQEAgLTUwLDcgKzUwLDYg
QEAgY2xhc3MgSklUU3ViR2VuZXJhdG9yIHsKICAgICAgICAgLCBtX2xlZnRGUFIobGVmdEZQUikK
ICAgICAgICAgLCBtX3JpZ2h0RlBSKHJpZ2h0RlBSKQogICAgICAgICAsIG1fc2NyYXRjaEdQUihz
Y3JhdGNoR1BSKQotICAgICAgICAsIG1fc2NyYXRjaEZQUihzY3JhdGNoRlBSKQogICAgIHsgfQog
CiAgICAgSklUTWF0aElDSW5saW5lUmVzdWx0IGdlbmVyYXRlSW5saW5lKENDYWxsSGVscGVycyYs
IE1hdGhJQ0dlbmVyYXRpb25TdGF0ZSYsIGNvbnN0IEJpbmFyeUFyaXRoUHJvZmlsZSopOwpAQCAt
NjgsNyArNjcsNiBAQCBjbGFzcyBKSVRTdWJHZW5lcmF0b3IgewogICAgIEZQUlJlZyBtX2xlZnRG
UFI7CiAgICAgRlBSUmVnIG1fcmlnaHRGUFI7CiAgICAgR1BSUmVnIG1fc2NyYXRjaEdQUjsKLSAg
ICBGUFJSZWcgbV9zY3JhdGNoRlBSOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>