<?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>205152</bug_id>
          
          <creation_ts>2019-12-11 19:54:19 -0800</creation_ts>
          <short_desc>[JSC] IsoHeapCellType should have destroy function member instead of specializing template function</short_desc>
          <delta_ts>2019-12-12 01:36:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</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>1597920</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-11 19:54:19 -0800</bug_when>
    <thetext>[JSC] IsoHeapCellType should have destroy function member instead of specializing template function</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597921</commentid>
    <comment_count>1</comment_count>
      <attachid>385473</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-11 20:01:53 -0800</bug_when>
    <thetext>Created attachment 385473
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597922</commentid>
    <comment_count>2</comment_count>
      <attachid>385474</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-11 20:11:03 -0800</bug_when>
    <thetext>Created attachment 385474
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597923</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-11 20:11:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/57865102&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597927</commentid>
    <comment_count>4</comment_count>
      <attachid>385474</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-12-11 21:15:03 -0800</bug_when>
    <thetext>Comment on attachment 385474
Patch

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

&gt; Source/JavaScriptCore/heap/IsoHeapCellType.cpp:2
&gt; + * Copyright (C) 2017 Apple Inc. All rights reserved.

2019?

&gt; Source/JavaScriptCore/inspector/PerGlobalObjectWrapperWorld.cpp:31
&gt; +using namespace JSC;

Why all of these?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597962</commentid>
    <comment_count>5</comment_count>
      <attachid>385474</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-12 01:35:43 -0800</bug_when>
    <thetext>Comment on attachment 385474
Patch

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

&gt;&gt; Source/JavaScriptCore/heap/IsoHeapCellType.cpp:2
&gt;&gt; + * Copyright (C) 2017 Apple Inc. All rights reserved.
&gt; 
&gt; 2019?

Fixed.

&gt;&gt; Source/JavaScriptCore/inspector/PerGlobalObjectWrapperWorld.cpp:31
&gt;&gt; +using namespace JSC;
&gt; 
&gt; Why all of these?

ChangeLog describes the reason :)

This patch also removes `using namespace JSC;` in global code in JavaScriptCore except for API codes, since
it starts causing build failure due to unified builds: API defines JSType enum in a global scope, which is
different from our JSC::JSType. If we do `using namespace JSC;` in a global scope, it can lead to ambiguity of
looking up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597963</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-12 01:36:18 -0800</bug_when>
    <thetext>Committed r253423: &lt;https://trac.webkit.org/changeset/253423&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385473</attachid>
            <date>2019-12-11 20:01:53 -0800</date>
            <delta_ts>2019-12-11 20:11:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205152-20191211200152.patch</filename>
            <type>text/plain</type>
            <size>55231</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZmM5MTVjYjcyYTkzOTJiYjVjYWYzMTA2YzQ4ZDE0ZDBkNjI2MmQwLi4zY2I1NDIyOTU4Yzg0N2Mx
ZmQ1YzBkM2Q1YmVmMWZhNjQzZWQ4ZDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NCBAQAorMjAxOS0xMi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIElzb0hlYXBDZWxsVHlwZSBzaG91bGQgaGF2ZSBkZXN0cm95IGZ1
bmN0aW9uIG1lbWJlciBpbnN0ZWFkIG9mIHNwZWNpYWxpemluZyB0ZW1wbGF0ZSBmdW5jdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MTUyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ugd2VyZSBz
cGVjaWFsaXppbmcgTWFya2VkQmxvY2s6OkhhbmRsZTo6c3BlY2lhbGl6ZWRTd2VlcCBpbiA1IGRp
ZmZlcmVudCB3YXlzIGZvciBlYWNoIElzb1N1YnNwYWNlLWVkIGNlbGwuCisgICAgICAgIFRoaXMg
YmxvYXRzIGJpbmFyeS4gSW5zdGVhZCBvZiBzcGVjaWFsaXppbmcgaXQsIElzb0hlYXBDZWxsVHlw
ZSBob2xkcyBkZXN0cm95IGZ1bmN0aW9uIHBvaW50ZXIsIHBhc3NpbmcgaXQKKyAgICAgICAgdG8g
TWFya2VkQmxvY2s6OkhhbmRsZTo6ZmluaXNoU3dlZXBLbm93aW5nSGVhcENlbGxUeXBlLiBUaGlz
IHJlcXVpcmVzIG9uZSBpbmRpcmVjdCBmdW5jdGlvbiBjYWxsIHBlciBjZWxsLgorICAgICAgICBC
dXQgdGhpcyBpcyBPSyBzaW5jZSwKKworICAgICAgICAxLiBCZWZvcmUgZG9pbmcgdGhlIGN1cnJl
bnQgYXBwcm9hY2gsIHdlIHdlcmUgdXNpbmcgSlNEZXN0cnVjdGlibGVPYmplY3QncyBjZWxsLT5j
bGFzc0luZm8tPm1ldGhvZFRhYmxlLmRlc3Ryb3kKKyAgICAgICAgICAgZnVuY3Rpb24gY2FsbCB0
byBkaXNwYXRjaCBkZXN0cm95IGZ1bmN0aW9uIGNhbGwuIENvbXBhcmVkIHRvIHRoYXQsIHRoZSBu
ZXcgb25lIGlzIHN0aWxsIHNhdmluZyBvbmUgcG9pbnRlcgorICAgICAgICAgICBjaGFzaW5nIGJh
c2ljYWxseSAoY2xhc3NJbmZvIGRlcmVmZXJlbmNlLCB3ZSBhc3N1bWUgY2VsbCBkZWZlcmVuY2Ug
aXMgbm8gY29zdCBzaW5jZSBpdCB3aWxsIGJlIGRvbmUgYW55d2F5KS4KKyAgICAgICAgMi4gV2Ug
c3RpbGwga2VlcCBKU1N0cmluZydzIGRlc3Ryb3kgZnVuY3Rpb24gaW5saW5pbmcgYnkgdXNpbmcg
SXNvSW5saW5lZEhlYXBDZWxsVHlwZS4gVGhpcyBpcyBpbXBvcnRhbnQgc2luY2UKKyAgICAgICAg
ICAgaXQgaXMgY3JpdGljYWwgdG8gcGVyZm9ybWFuY2UgYW5kIHdlIGhhZCBKU1N0cmluZ0hlYXBD
ZWxsVHlwZSBiZWZvcmUgd2UgcmVwbGFjZWQgaXQgd2l0aCBJc29IZWFwQ2VsbFR5cGUuCisgICAg
ICAgICAgIEJ1dCBJc29JbmxpbmVkSGVhcENlbGxUeXBlIHNwZWNpYWxpemF0aW9uIGlzIGZvciBv
bmx5IG9uZSBjbGFzcyBzbyBnZW5lcmF0ZWQgYmluYXJ5IHNpemUgaXMgdGhlIHNhbWUgdG8gdGhl
CisgICAgICAgICAgIG9sZCBjb2RlIHVzaW5nIEpTU3RyaW5nSGVhcENlbGxUeXBlLgorCisgICAg
ICAgIFRoaXMgc2F2ZXMgNDgwS0IgYmluYXJ5LXNpemUgaW4gSmF2YVNjcmlwdENvcmUuIEFuZCBt
b3JlIGltcG9ydGFudGx5LCBhZnRlciB0aGlzIHBhdGNoLCBhZGRpbmcgSXNvU3Vic3BhY2UKKyAg
ICAgICAgd2lsbCBub3QgYmxvYXQgY29kZSwgc28gd2UgY2FuIHNpbXBseSBwdXQgdGhpbmdzIGlu
dG8gSXNvU3Vic3BhY2UuCisKKyAgICAgICAgKiBBUEkvSlNIZWFwRmluYWxpemVyUHJpdmF0ZS5j
cHA6CisgICAgICAgIChKU0NvbnRleHRHcm91cEFkZEhlYXBGaW5hbGl6ZXIpOgorICAgICAgICAo
SlNDb250ZXh0R3JvdXBSZW1vdmVIZWFwRmluYWxpemVyKToKKyAgICAgICAgKiBBUEkvSlNIZWFw
RmluYWxpemVyUHJpdmF0ZS5oOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogYXNzZW1i
bGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL1Njcmlw
dEZ1bmN0aW9uQ2FsbC5jcHA6CisgICAgICAgICogYmluZGluZ3MvU2NyaXB0T2JqZWN0LmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9TY3JpcHRWYWx1ZS5jcHA6CisgICAgICAgICogaGVhcC9Jc29I
ZWFwQ2VsbFR5cGUuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuY3BwLgorICAgICAgICAoSlNDOjpJc29IZWFwQ2Vs
bFR5cGU6OmZpbmlzaFN3ZWVwKToKKyAgICAgICAgKEpTQzo6SXNvSGVhcENlbGxUeXBlOjpkZXN0
cm95KToKKyAgICAgICAgKiBoZWFwL0lzb0hlYXBDZWxsVHlwZS5oOgorICAgICAgICAqIGhlYXAv
SXNvSW5saW5lZEhlYXBDZWxsVHlwZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9Jc29IZWFwQ2VsbFR5cGUuaC4KKyAgICAgICAgKiBoZWFwL011dGF0b3JTdGF0ZS5j
cHA6CisgICAgICAgICogaGVhcC9TeW5jaHJvbm91c25lc3MuY3BwOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9KU0dsb2JhbE9iamVjdENv
bnNvbGVDbGllbnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3Bl
Y3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9KU0dsb2JhbE9iamVjdFNj
cmlwdERlYnVnU2VydmVyLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlw
dEhvc3QuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdFByb3Rv
dHlwZS5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHA6
CisgICAgICAgICogaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHA6
CisgICAgICAgICogaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwOgorICAgICAgICAq
IGluc3BlY3Rvci9QZXJHbG9iYWxPYmplY3RXcmFwcGVyV29ybGQuY3BwOgorICAgICAgICAqIGlu
c3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
U2NyaXB0RGVidWdTZXJ2ZXIuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9ySGVhcEFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclNj
cmlwdFByb2ZpbGVyQWdlbnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSlNHbG9i
YWxPYmplY3RBdWRpdEFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0pTR2xv
YmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9K
U0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5jcHA6CisgICAgICAgICogcnVudGltZS9KU0JpZ0lu
dC5jcHA6CisgICAgICAgIChKU0M6OkpTQmlnSW50Ojp0b1N0cmluZ0Jhc2VQb3dlck9mVHdvKToK
KyAgICAgICAgKEpTQzo6SlNCaWdJbnQ6OnRvU3RyaW5nR2VuZXJpYyk6CisgICAgICAgICogcnVu
dGltZS9OdW1iZXJQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjppbnQ1MlRvU3RyaW5nV2l0
aFJhZGl4KToKKyAgICAgICAgKEpTQzo6dG9TdHJpbmdXaXRoUmFkaXhJbnRlcm5hbCk6CisgICAg
ICAgIChKU0M6OmludDMyVG9TdHJpbmdJbnRlcm5hbCk6CisgICAgICAgIChKU0M6OmludDUyVG9T
dHJpbmcpOgorICAgICAgICAqIHJ1bnRpbWUvUGFyc2VJbnQuaDoKKyAgICAgICAgKiBydW50aW1l
L1ZNLmNwcDoKKyAgICAgICAgKEpTQzo6Vk06OlZNKToKKyAgICAgICAgKiBydW50aW1lL1ZNLmg6
CisKIDIwMTktMTItMTEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbSlNDXSBQdXQgYWxsIEFQSSByZWxhdGVkIEpTIGNlbGxzIGludG8gSXNvU3Vic3BhY2UK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMzY4MTE1ODgxMzA3NTg1NTdkMmE1ZGUwOTYxODAzZGM1ZTE1MDc0Yy4uMWU3NTUwOTE1
N2EzMmEzY2FiZTZjMmI0MDdhZmFjYTU0N2FkMWJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
OS0xMi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFtK
U0NdIElzb0hlYXBDZWxsVHlwZSBzaG91bGQgaGF2ZSBkZXN0cm95IGZ1bmN0aW9uIG1lbWJlciBp
bnN0ZWFkIG9mIHNwZWNpYWxpemluZyB0ZW1wbGF0ZSBmdW5jdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MTUyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvSGV4TnVtYmVyLmNwcDoKKyAg
ICAgICAgKiB3dGYvSGV4TnVtYmVyLmg6CisgICAgICAgIChXVEY6OkludGVybmFsOjpoZXhEaWdp
dHNGb3JNb2RlKToKKyAgICAgICAgKiB3dGYvU2l4Q2hhcmFjdGVySGFzaC5jcHA6CisgICAgICAg
IChXVEY6OmludGVnZXJUb1NpeENoYXJhY3Rlckhhc2hTdHJpbmcpOgorCiAyMDE5LTEyLTA5ICBG
dWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtNU1ZD
XSB3cml0ZU51bWJlclRvQnVmZmVyVW5zaWduZWQgaXMgdW5zYWZlIGZvciBib29sIHR5cGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNIZWFwRmluYWxpemVyUHJpdmF0
ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTSGVhcEZpbmFsaXplclByaXZhdGUu
Y3BwCmluZGV4IDAxMmRjNGY1NzI2OGVkZjU2MzU4ZmFiYzk1NGZlMjY5NWNjZDdlNzkuLjAwOWE2
NzFjZjg4MmUzNjhhODIyYjBkNjRhMWI3YTY3MmQ5ZDhmMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNIZWFwRmluYWxpemVyUHJpdmF0ZS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmNwcApAQCAtMjksMTgg
KzI5LDE2IEBACiAjaW5jbHVkZSAiQVBJQ2FzdC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIK
IAotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQogdm9pZCBKU0NvbnRleHRHcm91cEFkZEhlYXBGaW5h
bGl6ZXIoSlNDb250ZXh0R3JvdXBSZWYgZ3JvdXAsIEpTSGVhcEZpbmFsaXplciBmaW5hbGl6ZXIs
IHZvaWQgKnVzZXJEYXRhKQogewotICAgIFZNKiB2bSA9IHRvSlMoZ3JvdXApOwotICAgIEpTTG9j
a0hvbGRlciBsb2NrZXIodm0pOwotICAgIHZtLT5oZWFwLmFkZEhlYXBGaW5hbGl6ZXJDYWxsYmFj
ayhIZWFwRmluYWxpemVyQ2FsbGJhY2soZmluYWxpemVyLCB1c2VyRGF0YSkpOworICAgIEpTQzo6
Vk0qIHZtID0gdG9KUyhncm91cCk7CisgICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9ja2VyKHZtKTsK
KyAgICB2bS0+aGVhcC5hZGRIZWFwRmluYWxpemVyQ2FsbGJhY2soSlNDOjpIZWFwRmluYWxpemVy
Q2FsbGJhY2soZmluYWxpemVyLCB1c2VyRGF0YSkpOwogfQogCiB2b2lkIEpTQ29udGV4dEdyb3Vw
UmVtb3ZlSGVhcEZpbmFsaXplcihKU0NvbnRleHRHcm91cFJlZiBncm91cCwgSlNIZWFwRmluYWxp
emVyIGZpbmFsaXplciwgdm9pZCAqdXNlckRhdGEpCiB7Ci0gICAgVk0qIHZtID0gdG9KUyhncm91
cCk7Ci0gICAgSlNMb2NrSG9sZGVyIGxvY2tlcih2bSk7Ci0gICAgdm0tPmhlYXAucmVtb3ZlSGVh
cEZpbmFsaXplckNhbGxiYWNrKEhlYXBGaW5hbGl6ZXJDYWxsYmFjayhmaW5hbGl6ZXIsIHVzZXJE
YXRhKSk7CisgICAgSlNDOjpWTSogdm0gPSB0b0pTKGdyb3VwKTsKKyAgICBKU0M6OkpTTG9ja0hv
bGRlciBsb2NrZXIodm0pOworICAgIHZtLT5oZWFwLnJlbW92ZUhlYXBGaW5hbGl6ZXJDYWxsYmFj
ayhKU0M6OkhlYXBGaW5hbGl6ZXJDYWxsYmFjayhmaW5hbGl6ZXIsIHVzZXJEYXRhKSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTSGVhcEZpbmFsaXplclByaXZh
dGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNIZWFwRmluYWxpemVyUHJpdmF0ZS5o
CmluZGV4IDhjOWIxNTI1ZWM5NmUzN2Y1YWYyMTVkNjhlNGMwMDg5NWIwZWZjZjguLjQ1ZTFhZDFi
ZDFmZTA2N2MzNjdmNDExMzM2ZmQ5YzMzOGQ5ZGZhN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNIZWFwRmluYWxpemVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNIZWFwRmluYWxpemVyUHJpdmF0ZS5oCkBAIC0yNiw3ICsyNiw3IEBA
CiAjaWZuZGVmIEpTSGVhcEZpbmFsaXplclByaXZhdGVfaAogI2RlZmluZSBKU0hlYXBGaW5hbGl6
ZXJQcml2YXRlX2gKIAotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ29udGV4dFJlZi5oPgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQmFzZS5oPgogI2luY2x1ZGUgPHN0ZGJvb2wuaD4K
IAogI2lmZGVmIF9fY3BsdXNwbHVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZl
MjhlMjQ5OWY1YzFmMWU4MmNiY2FkMzFlZDY1ZjI5YmUyYzBhZDEuLjBhMTljYWNmNzUwYWYwYmRm
OTliOTczYTdjMDI0MmMzMGQ2OWU2OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xODQ0LDYgKzE4NDQsNyBAQAogCQlFM0MyOTVERDFFRDJDQkRBMDBEMzAxNkYgLyogT2JqZWN0
UHJvcGVydHlDaGFuZ2VBZGFwdGl2ZVdhdGNocG9pbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzI5NURDMUVEMkNCQUEwMEQzMDE2RiAvKiBPYmpl
Y3RQcm9wZXJ0eUNoYW5nZUFkYXB0aXZlV2F0Y2hwb2ludC5oICovOyB9OwogCQlFM0M2OTRCMzIz
MDI2ODc3MDA2RkJFNDIgLyogV2FzbU9TUkVudHJ5RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDNjk0QjEyMzAyNjg3MzAwNkZCRTQyIC8qIFdh
c21PU1JFbnRyeURhdGEuaCAqLzsgfTsKIAkJRTNDNzlDQUIxREI5QTREQzAwRDFFQ0E0IC8qIERP
TUpJVEVmZmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTNDNzlDQUExREI5QTRENjAwRDFFQ0E0IC8qIERPTUpJVEVmZmVjdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzQzhFRDQzMjNBMURCQ0Iw
MDEzMTk1OCAvKiBJc29JbmxpbmVkSGVhcENlbGxUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0M4RUQ0MjIzQTFEQkM1MDAxMzE5NTggLyogSXNv
SW5saW5lZEhlYXBDZWxsVHlwZS5oICovOyB9OwogCQlFM0QyMzlDOTFCODI5QzFDMDBCQkVGNjcg
LyogSlNNb2R1bGVFbnZpcm9ubWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTNEMjM5QzcxQjgyOUMxQzAwQkJFRjY3IC8qIEpTTW9kdWxlRW52aXJv
bm1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlFM0Q4Nzc3NDFFNjVDMEEwMDBCRTk0NUEgLyogQnl0ZWNvZGVEdW1wZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRDg3NzcyMUU2NUMwODkwMEJF
OTQ1QSAvKiBCeXRlY29kZUR1bXBlci5oICovOyB9OwogCQlFM0VFMTM3NjIxRkJENDM1MDBEODND
NEIgLyogRXJyb3JUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFM0VFMTM3NDIxRkJENDM0MDBEODNDNEIgLyogRXJyb3JUeXBlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQ5OTcsNiArNDk5OCw4
IEBACiAJCUUzQzY5NEIxMjMwMjY4NzMwMDZGQkU0MiAvKiBXYXNtT1NSRW50cnlEYXRhLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdhc21PU1JFbnRyeURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTNDNjk0QjIyMzAyNjg3NDAwNkZCRTQyIC8qIFdhc21UaWVyVXBDb3VudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXYXNtVGllclVwQ291bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFM0M3OUNBQTFEQjlBNEQ2MDBEMUVDQTQgLyogRE9NSklURWZmZWN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVEVmZmVjdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlFM0M4RUQ0MTIzQTFEQkM0MDAxMzE5NTggLyogSXNvSGVhcENl
bGxUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElzb0hlYXBD
ZWxsVHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzQzhFRDQyMjNBMURC
QzUwMDEzMTk1OCAvKiBJc29JbmxpbmVkSGVhcENlbGxUeXBlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IElzb0lubGluZWRIZWFwQ2VsbFR5cGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTNEMjM5QzYxQjgyOUMxQzAwQkJFRjY3IC8qIEpTTW9kdWxlRW52aXJv
bm1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNb2R1bGVF
bnZpcm9ubWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRDIzOUM3MUI4
MjlDMUMwMEJCRUY2NyAvKiBKU01vZHVsZUVudmlyb25tZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTTW9kdWxlRW52aXJvbm1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTNEMjY0MjYxRDM4QzA0MjAwMEJFMTc0IC8qIEJ5dGVjb2RlR2VuZXJhdG9y
aWZpY2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJ5dGVj
b2RlR2VuZXJhdG9yaWZpY2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTYyMDgsNyArNjIxMSw5IEBACiAJCQkJMEZCNDY3N0MxRkREQTZEOTAwM0ZDQjA5IC8qIElzb0Nl
bGxTZXQuY3BwICovLAogCQkJCTBGQjQ2NzdEMUZEREE2RDkwMDNGQ0IwOSAvKiBJc29DZWxsU2V0
LmggKi8sCiAJCQkJMEZCNDY3N0IxRkREQTZEODAwM0ZDQjA5IC8qIElzb0NlbGxTZXRJbmxpbmVz
LmggKi8sCisJCQkJRTNDOEVENDEyM0ExREJDNDAwMTMxOTU4IC8qIElzb0hlYXBDZWxsVHlwZS5j
cHAgKi8sCiAJCQkJRTNCRjFCQUQyMzhBQUVEMTAwM0ExQzJCIC8qIElzb0hlYXBDZWxsVHlwZS5o
ICovLAorCQkJCUUzQzhFRDQyMjNBMURCQzUwMDEzMTk1OCAvKiBJc29JbmxpbmVkSGVhcENlbGxU
eXBlLmggKi8sCiAJCQkJMEZEQ0UxMkMxRkFGQjRERTAwNkYzOTAxIC8qIElzb1N1YnNwYWNlLmNw
cCAqLywKIAkJCQkwRkRDRTEyQjFGQUZCNERFMDA2RjM5MDEgLyogSXNvU3Vic3BhY2UuaCAqLywK
IAkJCQkwRkQyRkQ5MjIwQjUyQkRDMDBGMDk0NDEgLyogSXNvU3Vic3BhY2VJbmxpbmVzLmggKi8s
CkBAIC05NjMyLDYgKzk2MzcsNyBAQAogCQkJCTBGQjQ2NzgwMUZEREE2RjEwMDNGQ0IwOSAvKiBJ
c29DZWxsU2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkI0Njc4MTFGRERBNkY3MDAzRkNCMDkg
LyogSXNvQ2VsbFNldElubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzQkYxQkFFMjM4QUFF
REIwMDNBMUMyQiAvKiBJc29IZWFwQ2VsbFR5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzQzhF
RDQzMjNBMURCQ0IwMDEzMTk1OCAvKiBJc29JbmxpbmVkSGVhcENlbGxUeXBlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRkRDRTEyRDFGQUZCNEU1MDA2RjM5MDEgLyogSXNvU3Vic3BhY2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGRDJGRDk1MjBCNTJCRTIwMEYwOTQ0MSAvKiBJc29TdWJzcGFjZUlu
bGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNUUwRkU3MjA4NkFENDgwMDk3RjBERSAvKiBJ
c29TdWJzcGFjZVBlclZNLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4
dAppbmRleCBlMTE4Mzc3OTUzNDgzNjliNTA1YTU2NDk3MWU2ZTFmY2VkNDQxMTM3Li41M2NjYzc0
ZjgyZDliZGUyNTMzYzJmNjkzZTY2NzZhOWJlZjMxYjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJj
ZXMudHh0CkBAIC01MjUsNiArNTI1LDcgQEAgaGVhcC9IZWFwU25hcHNob3RCdWlsZGVyLmNwcAog
aGVhcC9JbmNyZW1lbnRhbFN3ZWVwZXIuY3BwCiBoZWFwL0lzb0FsaWduZWRNZW1vcnlBbGxvY2F0
b3IuY3BwCiBoZWFwL0lzb0NlbGxTZXQuY3BwCitoZWFwL0lzb0hlYXBDZWxsVHlwZS5jcHAKIGhl
YXAvSXNvU3Vic3BhY2UuY3BwCiBoZWFwL0lzb1N1YnNwYWNlUGVyVk0uY3BwCiBoZWFwL0pJVFN0
dWJSb3V0aW5lU2V0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5jcHAKaW5kZXggODEwYjNjZTgwZTQ3ZGM0
OTllNWI3ZjgwM2M3NTBmMjk5YTYzYTkzNy4uZGNjOWU1OTIzMWNmZmU1ZTQ5NzgyNjRmYmUzN2Uy
NmRmOWU0MTY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9B
YnN0cmFjdE1hY3JvQXNzZW1ibGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuY3BwCkBAIC0zMCwxMCArMzAsMTAgQEAKIAog
I2luY2x1ZGUgPHd0Zi9QcmludFN0cmVhbS5oPgogCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCiBu
YW1lc3BhY2UgV1RGIHsKIAordXNpbmcgbmFtZXNwYWNlIEpTQzsKKwogdm9pZCBwcmludEludGVy
bmFsKFByaW50U3RyZWFtJiBvdXQsIEFic3RyYWN0TWFjcm9Bc3NlbWJsZXJCYXNlOjpTdGF0dXND
b25kaXRpb24gY29uZGl0aW9uKQogewogICAgIHN3aXRjaCAoY29uZGl0aW9uKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYmluZGluZ3MvU2NyaXB0RnVuY3Rpb25DYWxsLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5kaW5ncy9TY3JpcHRGdW5jdGlvbkNhbGwuY3Bw
CmluZGV4IDJlYjAyODU2ZDI2ZWE1NDNmOTk2NjEyMTY4Y2IxZTM3MWYyYzVkNTQuLjg2NmFlYmM5
ZDllYjYzOTNmYTllN2MwYTgxNjE3N2Q4ZmQ0YWE2MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iaW5kaW5ncy9TY3JpcHRGdW5jdGlvbkNhbGwuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iaW5kaW5ncy9TY3JpcHRGdW5jdGlvbkNhbGwuY3BwCkBAIC0zNiwxMCAr
MzYsMTAgQEAKICNpbmNsdWRlICJKU0xvY2suaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQogbmFtZXNwYWNlIERlcHJlY2F0ZWQgewog
Cit1c2luZyBuYW1lc3BhY2UgSlNDOworCiB2b2lkIFNjcmlwdENhbGxBcmd1bWVudEhhbmRsZXI6
OmFwcGVuZEFyZ3VtZW50KGNvbnN0IFN0cmluZyYgYXJndW1lbnQpCiB7CiAgICAgVk0mIHZtID0g
bV9nbG9iYWxPYmplY3QtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YmluZGluZ3MvU2NyaXB0T2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5kaW5n
cy9TY3JpcHRPYmplY3QuY3BwCmluZGV4IGFlODk1ZDViMmI0MTRkNzFiNzM4ZjFmZDhmYzhmZTQy
ZDE3OThhZGEuLjdiMDZiMDY0NzY5MGNjYjhmYmYyOGY5N2I2ODRlNjViMWNjMGU3MGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5kaW5ncy9TY3JpcHRPYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5kaW5ncy9TY3JpcHRPYmplY3QuY3BwCkBAIC0z
NCwxMCArMzQsMTAgQEAKIAogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKIAotdXNpbmcgbmFtZXNw
YWNlIEpTQzsKLQogbmFtZXNwYWNlIERlcHJlY2F0ZWQgewogCit1c2luZyBuYW1lc3BhY2UgSlND
OworCiBTY3JpcHRPYmplY3Q6OlNjcmlwdE9iamVjdChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU09iamVjdCogb2JqZWN0KQogICAgIDogU2NyaXB0VmFsdWUoZ2xvYmFsT2JqZWN0LT52
bSgpLCBvYmplY3QpCiAgICAgLCBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYmluZGluZ3MvU2NyaXB0VmFsdWUuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2JpbmRpbmdzL1NjcmlwdFZhbHVlLmNwcAppbmRleCA1ZGE2NDg5
NzM0ZTY1NjE3YzQ1ZjY2MzViODY1M2VhOTFkZTliNzQwLi5kZWNlNmFjNTFlM2E4NWIxZTA5NGU0
MDVlZmZjNjIwMzg4N2RkZmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYmlu
ZGluZ3MvU2NyaXB0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5kaW5n
cy9TY3JpcHRWYWx1ZS5jcHAKQEAgLTM1LDExICszNSwxMCBAQAogI2luY2x1ZGUgIkpTQ0lubGlu
ZXMuaCIKICNpbmNsdWRlICJKU0xvY2suaCIKIAotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLXVzaW5n
IG5hbWVzcGFjZSBJbnNwZWN0b3I7Ci0KIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCit1c2luZyBu
YW1lc3BhY2UgSlNDOworCiBzdGF0aWMgUmVmUHRyPEpTT046OlZhbHVlPiBqc1RvSW5zcGVjdG9y
VmFsdWUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSwgaW50IG1h
eERlcHRoKQogewogICAgIGlmICghdmFsdWUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0lzb0hlYXBDZWxsVHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9Jc29IZWFwQ2VsbFR5cGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIzM2Y1Y2NhODkzNWU0MjdjOGQ1
MWJkZmI0MDk3N2FhYmQzZjBjY2YKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9Jc29IZWFwQ2VsbFR5cGUuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIklzb0hlYXBDZWxsVHlwZS5oIgorCisjaW5jbHVkZSAiSlNDSW5saW5lcy5o
IgorI2luY2x1ZGUgIk1hcmtlZEJsb2NrSW5saW5lcy5oIgorCituYW1lc3BhY2UgSlNDIHsKKwor
dm9pZCBJc29IZWFwQ2VsbFR5cGU6OmZpbmlzaFN3ZWVwKE1hcmtlZEJsb2NrOjpIYW5kbGUmIGhh
bmRsZSwgRnJlZUxpc3QqIGZyZWVMaXN0KQoreworICAgIGhhbmRsZS5maW5pc2hTd2VlcEtub3dp
bmdIZWFwQ2VsbFR5cGUoZnJlZUxpc3QsICp0aGlzKTsKK30KKwordm9pZCBJc29IZWFwQ2VsbFR5
cGU6OmRlc3Ryb3koVk0mLCBKU0NlbGwqIGNlbGwpCit7CisgICAgbV9kZXN0cm95KGNlbGwpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBKU0MKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSXNvSGVhcENlbGxUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9J
c29IZWFwQ2VsbFR5cGUuaAppbmRleCBmM2VmYWZmNGExMGU5MWU5ZTM1N2RmMTQzZWNhNGJmZjMw
OTBkMzU4Li4xNDRkNTk1MTVmYTU1N2Y3YWQyOGQwNDdhMmNmMTVjYjE4MTFiMjk3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Jc29IZWFwQ2VsbFR5cGUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Jc29IZWFwQ2VsbFR5cGUuaApAQCAtMjgsMzEgKzI4
LDMyIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi10ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZT4K
IGNsYXNzIElzb0hlYXBDZWxsVHlwZSBmaW5hbCA6IHB1YmxpYyBIZWFwQ2VsbFR5cGUgewogcHVi
bGljOgotICAgIElzb0hlYXBDZWxsVHlwZSgpCi0gICAgICAgIDogSGVhcENlbGxUeXBlKENlbGxB
dHRyaWJ1dGVzKENlbGxUeXBlOjpuZWVkc0Rlc3RydWN0aW9uID8gTmVlZHNEZXN0cnVjdGlvbiA6
IERvZXNOb3ROZWVkRGVzdHJ1Y3Rpb24sIEhlYXBDZWxsOjpKU0NlbGwpKQorICAgIHVzaW5nIERl
c3Ryb3lGdW5jdGlvblB0ciA9IHZvaWQgKCopKEpTQ2VsbCopOworCisgICAgSXNvSGVhcENlbGxU
eXBlKERlc3RydWN0aW9uTW9kZSBkZXN0cnVjdGlvbk1vZGUsIERlc3Ryb3lGdW5jdGlvblB0ciBk
ZXN0cm95RnVuY3Rpb24pCisgICAgICAgIDogSGVhcENlbGxUeXBlKENlbGxBdHRyaWJ1dGVzKGRl
c3RydWN0aW9uTW9kZSwgSGVhcENlbGw6OkpTQ2VsbCkpCisgICAgICAgICwgbV9kZXN0cm95KGRl
c3Ryb3lGdW5jdGlvbikKICAgICB7CiAgICAgfQogCi0gICAgc3RydWN0IERlc3Ryb3lGdW5jIHsK
LSAgICAgICAgQUxXQVlTX0lOTElORSB2b2lkIG9wZXJhdG9yKCkoVk0mLCBKU0NlbGwqIGNlbGwp
IGNvbnN0Ci0gICAgICAgIHsKLSAgICAgICAgICAgIENlbGxUeXBlOjpkZXN0cm95KGNlbGwpOwot
ICAgICAgICB9Ci0gICAgfTsKLQotICAgIHZvaWQgZmluaXNoU3dlZXAoTWFya2VkQmxvY2s6Okhh
bmRsZSYgaGFuZGxlLCBGcmVlTGlzdCogZnJlZUxpc3QpIG92ZXJyaWRlCisgICAgdGVtcGxhdGU8
dHlwZW5hbWUgQ2VsbFR5cGU+CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2Vs
bFR5cGU+IGNyZWF0ZSgpCiAgICAgewotICAgICAgICBoYW5kbGUuZmluaXNoU3dlZXBLbm93aW5n
SGVhcENlbGxUeXBlKGZyZWVMaXN0LCBEZXN0cm95RnVuYygpKTsKKyAgICAgICAgcmV0dXJuIG1h
a2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPihDZWxsVHlwZTo6bmVlZHNEZXN0cnVjdGlvbiA/IE5l
ZWRzRGVzdHJ1Y3Rpb24gOiBEb2VzTm90TmVlZERlc3RydWN0aW9uLCAmQ2VsbFR5cGU6OmRlc3Ry
b3kpOwogICAgIH0KIAotICAgIHZvaWQgZGVzdHJveShWTSYsIEpTQ2VsbCogY2VsbCkgb3ZlcnJp
ZGUKKyAgICB2b2lkIGZpbmlzaFN3ZWVwKE1hcmtlZEJsb2NrOjpIYW5kbGUmLCBGcmVlTGlzdCop
IG92ZXJyaWRlOworICAgIHZvaWQgZGVzdHJveShWTSYsIEpTQ2VsbCopIG92ZXJyaWRlOworCisg
ICAgQUxXQVlTX0lOTElORSB2b2lkIG9wZXJhdG9yKCkoVk0mLCBKU0NlbGwqIGNlbGwpIGNvbnN0
CiAgICAgewotICAgICAgICBDZWxsVHlwZTo6ZGVzdHJveShjZWxsKTsKKyAgICAgICAgbV9kZXN0
cm95KGNlbGwpOwogICAgIH0KKworcHJpdmF0ZToKKyAgICBEZXN0cm95RnVuY3Rpb25QdHIgV1RG
X1ZUQkxfRlVOQ1BUUl9QVFJBVVRIX1NUUigiSXNvSGVhcENlbGxUeXBlLmRlc3Ryb3kiKSBtX2Rl
c3Ryb3k7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKLQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvSXNvSW5saW5lZEhlYXBDZWxsVHlwZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvSXNvSW5saW5lZEhlYXBDZWxsVHlwZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyYTE2
NjNkNjI3NjZlYmM2NDRlNWUyMGUyNWVkZGE5ZGZlMzBkZTgKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Jc29JbmxpbmVkSGVhcENlbGxUeXBlLmgKQEAgLTAs
MCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJIZWFwQ2VsbFR5cGUuaCIKKyNpbmNsdWRlICJNYXJrZWRCbG9ja0lubGluZXMu
aCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3RlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlPgorY2xh
c3MgSXNvSW5saW5lZEhlYXBDZWxsVHlwZSBmaW5hbCA6IHB1YmxpYyBIZWFwQ2VsbFR5cGUgewor
cHVibGljOgorICAgIElzb0lubGluZWRIZWFwQ2VsbFR5cGUoKQorICAgICAgICA6IEhlYXBDZWxs
VHlwZShDZWxsQXR0cmlidXRlcyhDZWxsVHlwZTo6bmVlZHNEZXN0cnVjdGlvbiA/IE5lZWRzRGVz
dHJ1Y3Rpb24gOiBEb2VzTm90TmVlZERlc3RydWN0aW9uLCBIZWFwQ2VsbDo6SlNDZWxsKSkKKyAg
ICB7CisgICAgfQorCisgICAgc3RydWN0IERlc3Ryb3lGdW5jIHsKKyAgICAgICAgQUxXQVlTX0lO
TElORSB2b2lkIG9wZXJhdG9yKCkoVk0mLCBKU0NlbGwqIGNlbGwpIGNvbnN0CisgICAgICAgIHsK
KyAgICAgICAgICAgIENlbGxUeXBlOjpkZXN0cm95KGNlbGwpOworICAgICAgICB9CisgICAgfTsK
KworICAgIHZvaWQgZmluaXNoU3dlZXAoTWFya2VkQmxvY2s6OkhhbmRsZSYgaGFuZGxlLCBGcmVl
TGlzdCogZnJlZUxpc3QpIG92ZXJyaWRlCisgICAgeworICAgICAgICBoYW5kbGUuZmluaXNoU3dl
ZXBLbm93aW5nSGVhcENlbGxUeXBlKGZyZWVMaXN0LCBEZXN0cm95RnVuYygpKTsKKyAgICB9CisK
KyAgICB2b2lkIGRlc3Ryb3koVk0mLCBKU0NlbGwqIGNlbGwpIG92ZXJyaWRlCisgICAgeworICAg
ICAgICBDZWxsVHlwZTo6ZGVzdHJveShjZWxsKTsKKyAgICB9Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBKU0MKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTXV0YXRvclN0
YXRlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL011dGF0b3JTdGF0ZS5jcHAKaW5k
ZXggNWE5MGI3Yjk0MjVhNzU3MTA2Mjk3ODUzNTYzNThiMDA4YTYxYjU3MS4uMTBjOWRkOGUzNmVk
YWZhNmM3ODNhOGMxYWVmYWExOGI1OGUyYjUxOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvTXV0YXRvclN0YXRlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9NdXRhdG9yU3RhdGUuY3BwCkBAIC0yOCwxMCArMjgsMTAgQEAKIAogI2luY2x1ZGUgPHd0
Zi9QcmludFN0cmVhbS5oPgogCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCiBuYW1lc3BhY2UgV1RG
IHsKIAordXNpbmcgbmFtZXNwYWNlIEpTQzsKKwogdm9pZCBwcmludEludGVybmFsKFByaW50U3Ry
ZWFtJiBvdXQsIE11dGF0b3JTdGF0ZSBzdGF0ZSkKIHsKICAgICBzd2l0Y2ggKHN0YXRlKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TeW5jaHJvbm91c25lc3MuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU3luY2hyb25vdXNuZXNzLmNwcAppbmRleCBk
ZDhlNTU5OWE0MGU0OGZjMjhkNzFjNGMzZjI3NmE0MGYzOWYwMTYxLi40MzI0YjQ0YWU0NWIwMDQz
MWY1Y2EwYTYzNmJiMWE5YzhkYmM4NDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9TeW5jaHJvbm91c25lc3MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL1N5bmNocm9ub3VzbmVzcy5jcHAKQEAgLTI4LDEwICsyOCwxMCBAQAogCiAjaW5jbHVkZSA8
d3RmL1ByaW50U3RyZWFtLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KIG5hbWVzcGFjZSBX
VEYgewogCit1c2luZyBuYW1lc3BhY2UgSlNDOworCiB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRT
dHJlYW0mIG91dCwgU3luY2hyb25vdXNuZXNzIHN5bmNocm9ub3VzbmVzcykKIHsKICAgICBzd2l0
Y2ggKHN5bmNocm9ub3VzbmVzcykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwCmluZGV4IDcyZWRhYmJhZjZmOTI5ZDI4
YjhjZWZjY2JhYTg3ZDllYjBkMjlhNGIuLjljYzI0NGYwMWZhY2Q2YmJiMGIzMDBlYTNmNjlkZDA2
NzBkZjliN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHRIb3N0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0SG9zdC5jcHAKQEAgLTI5LDEwICsyOSwxMCBAQAogI2luY2x1ZGUgIkpT
Q0lubGluZXMuaCIKICNpbmNsdWRlICJKU0luamVjdGVkU2NyaXB0SG9zdC5oIgogCi11c2luZyBu
YW1lc3BhY2UgSlNDOwotCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAordXNpbmcgbmFtZXNwYWNl
IEpTQzsKKwogSW5qZWN0ZWRTY3JpcHRIb3N0Ojp+SW5qZWN0ZWRTY3JpcHRIb3N0KCkKIHsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLmNwcAppbmRleCBhMDhmMjNlZjFiOTA1ZDE0MWFkZmM0M2RjZWFmMjVjYTYz
YjVjNDcyLi41MWUzYzFhMDMwNTFmMGI0MmFjNTE2MjE1YTk1YTQ2MmNlNDZiZGIwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdl
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dE1hbmFnZXIuY3BwCkBAIC00MiwxMCArNDIsMTAgQEAKICNpbmNsdWRlICJTb3VyY2VDb2RlLmgi
CiAjaW5jbHVkZSA8d3RmL0pTT05WYWx1ZXMuaD4KIAotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQog
bmFtZXNwYWNlIEluc3BlY3RvciB7CiAKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKIEluamVjdGVk
U2NyaXB0TWFuYWdlcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKEluc3BlY3RvckVudmlyb25tZW50
JiBlbnZpcm9ubWVudCwgUmVmPEluamVjdGVkU2NyaXB0SG9zdD4mJiBpbmplY3RlZFNjcmlwdEhv
c3QpCiAgICAgOiBtX2Vudmlyb25tZW50KGVudmlyb25tZW50KQogICAgICwgbV9pbmplY3RlZFNj
cmlwdEhvc3QoV1RGTW92ZShpbmplY3RlZFNjcmlwdEhvc3QpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdENvbnNvbGVD
bGllbnQuY3BwCmluZGV4IDhkZWY3ZTI0ZTMwMjU1YTAwY2UxNGEzZWY3MTZlYTNmNWI3ODE2NWIu
LmFhMGE4ZDQ4MTUxZThhYzdjOTAyODQ4NzI5YjIwZmQ3ZWI1NmYxZjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0
Q29uc29sZUNsaWVudC5jcHAKQEAgLTM0LDEwICszNCwxMCBAQAogI2luY2x1ZGUgIlNjcmlwdENh
bGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKIAotdXNpbmcg
bmFtZXNwYWNlIEpTQzsKLQogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKK3VzaW5nIG5hbWVzcGFj
ZSBKU0M7CisKICNpZiAhTE9HX0RJU0FCTEVECiBzdGF0aWMgYm9vbCBzTG9nVG9TeXN0ZW1Db25z
b2xlID0gdHJ1ZTsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKaW5kZXggMWU1ZDYyZWZmMmJmYTdlMmFkYjM4ZjcwMzI3ZjFmOWQ5Yjk3MGY4OS4uZTdkMjEw
YzQ1Njk3NjhmMzUzMGMxYTFhMmE5ZmFjYjAyNGU1NWVkMCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJ
bnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtNTcsMTAgKzU3LDEwIEBACiAjaW5jbHVkZSAiUmVt
b3RlSW5zcGVjdG9yLmgiCiAjZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQogbmFtZXNw
YWNlIEluc3BlY3RvciB7CiAKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKIEpTR2xvYmFsT2JqZWN0
SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyKEpT
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiAgICAgOiBtX2dsb2JhbE9iamVjdChnbG9iYWxP
YmplY3QpCiAgICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlcihtYWtlVW5pcXVlPEluamVjdGVk
U2NyaXB0TWFuYWdlcj4oKnRoaXMsIEluamVjdGVkU2NyaXB0SG9zdDo6Y3JlYXRlKCkpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdFNj
cmlwdERlYnVnU2VydmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNH
bG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5jcHAKaW5kZXggMTVmODBmMjFmYTc2YmY0ZDRl
NDRlOTBkNjJiMWVjYjU3MDJiYzM0Ni4uYWVmNTNkMmMzODZiNWJiMTgyZWQ1YzZkYTM1ZThjZjdh
ZWVjOGEzNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0ds
b2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0U2NyaXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC0zMSwx
MCArMzEsMTAgQEAKICNpbmNsdWRlICJKU0xvY2suaCIKICNpbmNsdWRlICJSZW1vdGVJbnNwZWN0
aW9uVGFyZ2V0LmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KIG5hbWVzcGFjZSBJbnNwZWN0
b3IgewogCit1c2luZyBuYW1lc3BhY2UgSlNDOworCiBKU0dsb2JhbE9iamVjdFNjcmlwdERlYnVn
U2VydmVyOjpKU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyKEpTR2xvYmFsT2JqZWN0JiBn
bG9iYWxPYmplY3QpCiAgICAgOiBTY3JpcHREZWJ1Z1NlcnZlcihnbG9iYWxPYmplY3Qudm0oKSkK
ICAgICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAKaW5kZXgg
MmUwNGZhMTIzZDUxNTUwMDQ5MzE2MGNlNzllM2Y5MzZmMTVjMjQxNi4uYTcxNzRhNjI5ZjY3YzBi
Mzg1YjhiYjY5NWFmYmIwYWM3ODE1MDVjMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAKQEAgLTgwLDEwICs4
MCwxMCBAQAogI2luY2x1ZGUgPHd0Zi9QcmludFN0cmVhbS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0NvbmNhdGVuYXRlLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KIG5hbWVzcGFj
ZSBJbnNwZWN0b3IgewogCit1c2luZyBuYW1lc3BhY2UgSlNDOworCiBjb25zdCBDbGFzc0luZm8g
SlNJbmplY3RlZFNjcmlwdEhvc3Q6OnNfaW5mbyA9IHsgIkluamVjdGVkU2NyaXB0SG9zdCIsICZC
YXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNJbmpl
Y3RlZFNjcmlwdEhvc3QpIH07CiAKIEpTSW5qZWN0ZWRTY3JpcHRIb3N0OjpKU0luamVjdGVkU2Ny
aXB0SG9zdChWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWY8SW5qZWN0ZWRTY3JpcHRI
b3N0PiYmIGltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGUuY3BwCmluZGV4IDJkNGMw
YmNmNWEzZjMyMzhhMmMyNWQ2ZDU5NTU4ZjIyMmNmMzliMWEuLjgxMjY0MzhhNDc0MDc1NWY0YmI0
YjEyZTVmNDBkM2U3MGVlYTljM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGUuY3Bw
CkBAIC0zNCwxMCArMzQsMTAgQEAKICNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAi
SlNJbmplY3RlZFNjcmlwdEhvc3QuaCIKIAotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQogbmFtZXNw
YWNlIEluc3BlY3RvciB7CiAKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKIHN0YXRpYyBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlRnVuY3Rp
b25TdWJ0eXBlKEpTR2xvYmFsT2JqZWN0KiwgQ2FsbEZyYW1lKik7CiBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZUZ1bmN0aW9u
RnVuY3Rpb25EZXRhaWxzKEpTR2xvYmFsT2JqZWN0KiwgQ2FsbEZyYW1lKik7CiBzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZUZ1
bmN0aW9uR2V0SW50ZXJuYWxQcm9wZXJ0aWVzKEpTR2xvYmFsT2JqZWN0KiwgQ2FsbEZyYW1lKik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlw
dENhbGxGcmFtZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNj
cmlwdENhbGxGcmFtZS5jcHAKaW5kZXggNWZlZmU5ODk1YzBlNGEzNGVmZDcwZTkzOWJhYjQwN2Qx
YTI2NmEwZC4uMjBkYTk5MjQzMmMxYmQwN2Y3NDIxMzg0NzlkNDQ4Y2Q2ODE1MWM2OCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJh
bWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lLmNwcApAQCAtMzMsMTAgKzMzLDEwIEBACiAjaW5jbHVkZSAiSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiT2JqZWN0Q29uc3RydWN0b3IuaCIKIAot
dXNpbmcgbmFtZXNwYWNlIEpTQzsKLQogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKK3VzaW5nIG5h
bWVzcGFjZSBKU0M7CisKIGNvbnN0IENsYXNzSW5mbyBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OnNf
aW5mbyA9IHsgIkphdmFTY3JpcHRDYWxsRnJhbWUiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBu
dWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTSmF2YVNjcmlwdENhbGxGcmFtZSkgfTsKIAog
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpKU0phdmFTY3JpcHRDYWxsRnJhbWUoVk0mIHZtLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgUmVmPEphdmFTY3JpcHRDYWxsRnJhbWU+JiYgaW1wbCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZy
YW1lUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZh
U2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmNwcAppbmRleCA1MjQxYTdlNDhhNGVmZDRhODBkYmQw
YzBlMzMxMjkxNDVlYTQzODdmLi44YjQwYTE0MmIzOTg0YzZkY2I1YmMwZGYwZjQ2MzIxMGM1Njdm
NzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNj
cmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwCkBAIC0zMiwxMCArMzIs
MTAgQEAKICNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lLmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KIG5hbWVzcGFjZSBJbnNwZWN0b3Ig
ewogCit1c2luZyBuYW1lc3BhY2UgSlNDOworCiAvLyBGdW5jdGlvbnMuCiBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGVGdW5j
dGlvbkV2YWx1YXRlV2l0aFNjb3BlRXh0ZW5zaW9uKEpTR2xvYmFsT2JqZWN0KiwgQ2FsbEZyYW1l
Kik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxs
RnJhbWVQcm90b3R5cGVGdW5jdGlvblNjb3BlRGVzY3JpcHRpb25zKEpTR2xvYmFsT2JqZWN0Kiwg
Q2FsbEZyYW1lKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcAppbmRleCAzYzI4NDg0YWViNGQxMTgwNTFjODQwMDE3
YWFjMTM0OWUxOGU1MzgzLi5lYWIwNzEwMDBkNWQ2NjM0OWRjMWFhODBlMzMyYjQ4YzNmNzBkNDg5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRD
YWxsRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSmF2YVNj
cmlwdENhbGxGcmFtZS5jcHAKQEAgLTI2LDEwICsyNiwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkphdmFTY3JpcHRDYWxsRnJhbWUuaCIKIAotdXNpbmcgbmFtZXNwYWNlIEpT
QzsKLQogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKIEph
dmFTY3JpcHRDYWxsRnJhbWU6OkphdmFTY3JpcHRDYWxsRnJhbWUoUmVmPERlYnVnZ2VyQ2FsbEZy
YW1lPiYmIGRlYnVnZ2VyQ2FsbEZyYW1lKQogICAgIDogbV9kZWJ1Z2dlckNhbGxGcmFtZShXVEZN
b3ZlKGRlYnVnZ2VyQ2FsbEZyYW1lKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvUGVyR2xvYmFsT2JqZWN0V3JhcHBlcldvcmxkLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvUGVyR2xvYmFsT2JqZWN0V3JhcHBlcldvcmxkLmNwcApp
bmRleCBjOWI3YWJkOGZmMDJkZDUyMjE0YTczODRkOTBlNTIzZTlhOWNlNmNjLi5jODZmOGE1MmUw
MTY0ZjFmNTBkNDE2YzkzYmJkNWZlNmE3OTA2OTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL1Blckdsb2JhbE9iamVjdFdyYXBwZXJXb3JsZC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9QZXJHbG9iYWxPYmplY3RXcmFwcGVyV29y
bGQuY3BwCkBAIC0yNiwxMCArMjYsMTAgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJQZXJHbG9iYWxPYmplY3RXcmFwcGVyV29ybGQuaCIKIAotdXNpbmcgbmFtZXNwYWNlIEpTQzsK
LQogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKIEpTVmFs
dWUgUGVyR2xvYmFsT2JqZWN0V3JhcHBlcldvcmxkOjpnZXRXcmFwcGVyKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCiB7CiAgICAgYXV0byBpdCA9IG1fd3JhcHBlcnMuZmluZChnbG9iYWxP
YmplY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAKaW5kZXggNmQ3ZDNjNWEyZjMyODJjMzg0ZWE1MTlk
ODNhMjFjYTgyNjNkNzNhZS4uYjE2ZGJmOTAyMGIxNmM3ZGUyYTEzMGUwMmJhMmM1ZTNhZWFjYWJj
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2tGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1Nj
cmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCkBAIC00NSwxMCArNDUsMTAgQEAKICNpbmNsdWRlICJT
dHJvbmdJbmxpbmVzLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLXVzaW5n
IG5hbWVzcGFjZSBKU0M7Ci0KIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCit1c2luZyBuYW1lc3Bh
Y2UgSlNDOworCiBjbGFzcyBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yIHsKIHB1YmxpYzoK
ICAgICBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yKGJvb2wgbmVlZFRvU2tpcEFGcmFtZSwg
VmVjdG9yPFNjcmlwdENhbGxGcmFtZT4mIGZyYW1lcywgc2l6ZV90IHJlbWFpbmluZ0NhcGFjaXR5
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1
Z1NlcnZlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVn
U2VydmVyLmNwcAppbmRleCAzODQ5ZjZhODljYjYyYTZhOGUwMzUyNjdmOTY5MDQ5ZWQyYzBkN2Iy
Li43ZmE2MDkzNzg2Yzk3MGYwZTg1ZTA0NTkyNDUxZmI2ZDRjZDlhOGQxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcApA
QCAtNDEsMTAgKzQxLDEwIEBACiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5j
bHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KIG5hbWVz
cGFjZSBJbnNwZWN0b3IgewogCit1c2luZyBuYW1lc3BhY2UgSlNDOworCiBTY3JpcHREZWJ1Z1Nl
cnZlcjo6U2NyaXB0RGVidWdTZXJ2ZXIoVk0mIHZtKQogICAgIDogRGVidWdnZXIodm0pCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JIZWFwQWdlbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9ySGVhcEFnZW50LmNwcAppbmRleCAxMTVlYzY5M2ZkNTE3NWQxYzk3M2UxOWM3ZDk2
YjVjNTdjNmE4YWRkLi44MTMzMmQyMTA5MTI3NDI0MGVkMGMxOGU0YmU0NDBlNzQxM2Q4MmFjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JIZWFwQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAKQEAgLTM2LDEwICszNiwxMCBAQAogI2luY2x1ZGUg
IlZNLmgiCiAjaW5jbHVkZSA8d3RmL1N0b3B3YXRjaC5oPgogCi11c2luZyBuYW1lc3BhY2UgSlND
OwotCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAordXNpbmcgbmFtZXNwYWNlIEpTQzsKKwogSW5z
cGVjdG9ySGVhcEFnZW50OjpJbnNwZWN0b3JIZWFwQWdlbnQoQWdlbnRDb250ZXh0JiBjb250ZXh0
KQogICAgIDogSW5zcGVjdG9yQWdlbnRCYXNlKCJIZWFwIl9zKQogICAgICwgbV9pbmplY3RlZFNj
cmlwdE1hbmFnZXIoY29udGV4dC5pbmplY3RlZFNjcmlwdE1hbmFnZXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3JpcHRQcm9m
aWxlckFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuY3BwCmluZGV4IDQ5MWU0OTk0NDRjNDRmOTM2NTNh
ZTNhNzRiMjE0OWMzMjVhZWQzYzAuLmI0YjY0Yzc4M2U1MTkyNjM4ZDJiNDMzMWMyMzc4YWM3N2Zi
YjI1MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuY3BwCkBA
IC0zMywxMCArMzMsMTAgQEAKICNpbmNsdWRlICJTY3JpcHREZWJ1Z1NlcnZlci5oIgogI2luY2x1
ZGUgPHd0Zi9TdG9wd2F0Y2guaD4KIAotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQogbmFtZXNwYWNl
IEluc3BlY3RvciB7CiAKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKIEluc3BlY3RvclNjcmlwdFBy
b2ZpbGVyQWdlbnQ6Okluc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQoQWdlbnRDb250ZXh0JiBj
b250ZXh0KQogICAgIDogSW5zcGVjdG9yQWdlbnRCYXNlKCJTY3JpcHRQcm9maWxlciJfcykKICAg
ICAsIG1fZnJvbnRlbmREaXNwYXRjaGVyKG1ha2VVbmlxdWU8U2NyaXB0UHJvZmlsZXJGcm9udGVu
ZERpc3BhdGNoZXI+KGNvbnRleHQuZnJvbnRlbmRSb3V0ZXIpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RBdWRpdEFnZW50
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2Jq
ZWN0QXVkaXRBZ2VudC5jcHAKaW5kZXggZmU1NzY1YmQ0MDRlMWEwMDExMzE4OTQ0Zjg1YjJmZDE3
NWFkODk2MS4uOGQ5ODc5ODZhYmM4YjA1NjUyYzliMzU4ZjNmNzNhY2ZlZDdiYzdmYiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmpl
Y3RBdWRpdEFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9KU0dsb2JhbE9iamVjdEF1ZGl0QWdlbnQuY3BwCkBAIC0zNCwxMCArMzQsMTAgQEAKICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAK
LXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCit1c2luZyBu
YW1lc3BhY2UgSlNDOworCiBKU0dsb2JhbE9iamVjdEF1ZGl0QWdlbnQ6OkpTR2xvYmFsT2JqZWN0
QXVkaXRBZ2VudChKU0FnZW50Q29udGV4dCYgY29udGV4dCkKICAgICA6IEluc3BlY3RvckF1ZGl0
QWdlbnQoY29udGV4dCkKICAgICAsIG1fZ2xvYmFsT2JqZWN0KGNvbnRleHQuaW5zcGVjdGVkR2xv
YmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHAKaW5k
ZXggZDU1NmU0YTE2MWIyOGMyZDM0NGMzOWNjN2Y3MzNkYTExMDNkMjNiNy4uOTMyZDJjMTk5NTg2
YjQwODhmZDQxNmY0MjlkMzBkY2JhZTZmYjM1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVj
dERlYnVnZ2VyQWdlbnQuY3BwCkBAIC0zNSwxMCArMzUsMTAgQEAKICNpbmNsdWRlICJTY3JpcHRD
YWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAKLXVzaW5n
IG5hbWVzcGFjZSBKU0M7Ci0KIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCit1c2luZyBuYW1lc3Bh
Y2UgSlNDOworCiBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ6OkpTR2xvYmFsT2JqZWN0RGVi
dWdnZXJBZ2VudChKU0FnZW50Q29udGV4dCYgY29udGV4dCwgSW5zcGVjdG9yQ29uc29sZUFnZW50
KiBjb25zb2xlQWdlbnQpCiAgICAgOiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KGNvbnRleHQpCiAg
ICAgLCBtX2NvbnNvbGVBZ2VudChjb25zb2xlQWdlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVj
dFJ1bnRpbWVBZ2VudC5jcHAKaW5kZXggODc3YWNmNzYzYWRjYjEzZDc5ZjcwYzY3YTQ4NjhkNmVj
ODQ2MmY2Zi4uMzMwMjgyNGJiN2U2OWE2NjM2ZTMyYWZiMGM4YjVkMzUxNDk2NGU1OCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmpl
Y3RSdW50aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmNwcApAQCAtMzAsMTAgKzMwLDEwIEBA
CiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxP
YmplY3QuaCIKIAotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQogbmFtZXNwYWNlIEluc3BlY3RvciB7
CiAKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKIEpTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50OjpK
U0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudChKU0FnZW50Q29udGV4dCYgY29udGV4dCkKICAgICA6
IEluc3BlY3RvclJ1bnRpbWVBZ2VudChjb250ZXh0KQogICAgICwgbV9mcm9udGVuZERpc3BhdGNo
ZXIobWFrZVVuaXF1ZTxSdW50aW1lRnJvbnRlbmREaXNwYXRjaGVyPihjb250ZXh0LmZyb250ZW5k
Um91dGVyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmln
SW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmNwcAppbmRl
eCAwYWY5MzQyNzZlYmVlODA5Mjg0MTliMGFjYzUwMzEyZmVmNDIxNTJiLi5lN2U5OWZlMDlkMjU0
NDRlYmEwNjM2YzNjZTc1NzU4ZjBiNWIxOTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0JpZ0ludC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNCaWdJbnQuY3BwCkBAIC0xNjE1LDIyICsxNjE1LDIyIEBAIFN0cmluZyBKU0JpZ0lu
dDo6dG9TdHJpbmdCYXNlUG93ZXJPZlR3byhWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTCiAgICAgICAgIERpZ2l0IG5ld0RpZ2l0ID0geC0+ZGlnaXQoaSk7CiAgICAgICAg
IC8vIFRha2UgYW55IGxlZnRvdmVyIGJpdHMgZnJvbSB0aGUgbGFzdCBpdGVyYXRpb24gaW50byBh
Y2NvdW50LgogICAgICAgICBpbnQgY3VycmVudCA9IChkaWdpdCB8IChuZXdEaWdpdCA8PCBhdmFp
bGFibGVCaXRzKSkgJiBjaGFyTWFzazsKLSAgICAgICAgcmVzdWx0U3RyaW5nW3Bvcy0tXSA9IHJh
ZGl4RGlnaXRzW2N1cnJlbnRdOworICAgICAgICByZXN1bHRTdHJpbmdbcG9zLS1dID0gV1RGOjps
b3dlcmNhc2VIZXhEaWdpdHNbY3VycmVudF07CiAgICAgICAgIGludCBjb25zdW1lZEJpdHMgPSBi
aXRzUGVyQ2hhciAtIGF2YWlsYWJsZUJpdHM7CiAgICAgICAgIGRpZ2l0ID0gbmV3RGlnaXQgPj4g
Y29uc3VtZWRCaXRzOwogICAgICAgICBhdmFpbGFibGVCaXRzID0gZGlnaXRCaXRzIC0gY29uc3Vt
ZWRCaXRzOwogICAgICAgICB3aGlsZSAoYXZhaWxhYmxlQml0cyA+PSBiaXRzUGVyQ2hhcikgewot
ICAgICAgICAgICAgcmVzdWx0U3RyaW5nW3Bvcy0tXSA9IHJhZGl4RGlnaXRzW2RpZ2l0ICYgY2hh
ck1hc2tdOworICAgICAgICAgICAgcmVzdWx0U3RyaW5nW3Bvcy0tXSA9IFdURjo6bG93ZXJjYXNl
SGV4RGlnaXRzW2RpZ2l0ICYgY2hhck1hc2tdOwogICAgICAgICAgICAgZGlnaXQgPj49IGJpdHNQ
ZXJDaGFyOwogICAgICAgICAgICAgYXZhaWxhYmxlQml0cyAtPSBiaXRzUGVyQ2hhcjsKICAgICAg
ICAgfQogICAgIH0KICAgICAvLyBUYWtlIGFueSBsZWZ0b3ZlciBiaXRzIGZyb20gdGhlIGxhc3Qg
aXRlcmF0aW9uIGludG8gYWNjb3VudC4KICAgICBpbnQgY3VycmVudCA9IChkaWdpdCB8IChtc2Qg
PDwgYXZhaWxhYmxlQml0cykpICYgY2hhck1hc2s7Ci0gICAgcmVzdWx0U3RyaW5nW3Bvcy0tXSA9
IHJhZGl4RGlnaXRzW2N1cnJlbnRdOworICAgIHJlc3VsdFN0cmluZ1twb3MtLV0gPSBXVEY6Omxv
d2VyY2FzZUhleERpZ2l0c1tjdXJyZW50XTsKICAgICBkaWdpdCA9IG1zZCA+PiAoYml0c1BlckNo
YXIgLSBhdmFpbGFibGVCaXRzKTsKICAgICB3aGlsZSAoZGlnaXQpIHsKLSAgICAgICAgcmVzdWx0
U3RyaW5nW3Bvcy0tXSA9IHJhZGl4RGlnaXRzW2RpZ2l0ICYgY2hhck1hc2tdOworICAgICAgICBy
ZXN1bHRTdHJpbmdbcG9zLS1dID0gV1RGOjpsb3dlcmNhc2VIZXhEaWdpdHNbZGlnaXQgJiBjaGFy
TWFza107CiAgICAgICAgIGRpZ2l0ID4+PSBiaXRzUGVyQ2hhcjsKICAgICB9CiAKQEAgLTE2ODgs
NyArMTY4OCw3IEBAIFN0cmluZyBKU0JpZ0ludDo6dG9TdHJpbmdHZW5lcmljKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNCaWdJbnQqCiAgICAgICAgICAgICBhYnNvbHV0
ZURpdldpdGhEaWdpdERpdmlzb3Iodm0sICpkaXZpZGVuZCwgY2h1bmtEaXZpc29yLCAmcmVzdCwg
Y2h1bmspOwogICAgICAgICAgICAgZGl2aWRlbmQgPSAmcmVzdDsKICAgICAgICAgICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBjaHVua0NoYXJzOyBpKyspIHsKLSAgICAgICAgICAgICAgICBy
ZXN1bHRTdHJpbmcuYXBwZW5kKHJhZGl4RGlnaXRzW2NodW5rICUgcmFkaXhdKTsKKyAgICAgICAg
ICAgICAgICByZXN1bHRTdHJpbmcuYXBwZW5kKFdURjo6bG93ZXJjYXNlSGV4RGlnaXRzW2NodW5r
ICUgcmFkaXhdKTsKICAgICAgICAgICAgICAgICBjaHVuayAvPSByYWRpeDsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIEFTU0VSVCghY2h1bmspOwpAQCAtMTcwNSw3ICsxNzA1LDcgQEAgU3Ry
aW5nIEpTQmlnSW50Ojp0b1N0cmluZ0dlbmVyaWMoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU0JpZ0ludCoKICAgICB9CiAKICAgICBkbyB7Ci0gICAgICAgIHJlc3VsdFN0
cmluZy5hcHBlbmQocmFkaXhEaWdpdHNbbGFzdERpZ2l0ICUgcmFkaXhdKTsKKyAgICAgICAgcmVz
dWx0U3RyaW5nLmFwcGVuZChXVEY6Omxvd2VyY2FzZUhleERpZ2l0c1tsYXN0RGlnaXQgJSByYWRp
eF0pOwogICAgICAgICBsYXN0RGlnaXQgLz0gcmFkaXg7CiAgICAgfSB3aGlsZSAobGFzdERpZ2l0
ID4gMCk7CiAgICAgQVNTRVJUKHJlc3VsdFN0cmluZy5zaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5jcHAKaW5kZXggOWFhM2RiMjQ2
YjgzYTlhY2FhNjEzODE4NGI4MzIxNTE3YTVjZmUxYi4uY2Y1ZmE5YzZkNmE1ZTZlOWEyZWI2YWE2
Y2U5ZTQ3MTVjZjk2ZjY1MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTnVtYmVyUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OdW1iZXJQcm90b3R5cGUuY3BwCkBAIC0xMzUsOCArMTM1LDggQEAgc3RhdGljIGlubGluZSBj
aGFyKiBpbnQ1MlRvU3RyaW5nV2l0aFJhZGl4KGNoYXIqIHN0YXJ0T2ZSZXN1bHRTdHJpbmcsIGlu
dDY0X3QgaW4KIAogICAgIGRvIHsKICAgICAgICAgdWludDY0X3QgaW5kZXggPSBwb3NpdGl2ZU51
bWJlciAlIHJhZGl4OwotICAgICAgICBBU1NFUlQoaW5kZXggPCBzaXplb2YocmFkaXhEaWdpdHMp
KTsKLSAgICAgICAgKi0tc3RhcnRPZlJlc3VsdFN0cmluZyA9IHJhZGl4RGlnaXRzW2luZGV4XTsK
KyAgICAgICAgQVNTRVJUKGluZGV4IDwgc2l6ZW9mKFdURjo6bG93ZXJjYXNlSGV4RGlnaXRzKSk7
CisgICAgICAgICotLXN0YXJ0T2ZSZXN1bHRTdHJpbmcgPSBXVEY6Omxvd2VyY2FzZUhleERpZ2l0
c1tpbmRleF07CiAgICAgICAgIHBvc2l0aXZlTnVtYmVyIC89IHJhZGl4OwogICAgIH0gd2hpbGUg
KHBvc2l0aXZlTnVtYmVyKTsKICAgICBpZiAobmVnYXRpdmUpCkBAIC0yNDcsNyArMjQ3LDcgQEAg
c3RhdGljIGNoYXIqIHRvU3RyaW5nV2l0aFJhZGl4SW50ZXJuYWwoUmFkaXhCdWZmZXImIGJ1ZmZl
ciwgZG91YmxlIG9yaWdpbmFsTnVtYmUKICAgICAgICAgICAgICAgICAvLyBXcml0ZSBhIGRpZ2l0
IHRvIHRoZSBzdHJpbmcuCiAgICAgICAgICAgICAgICAgZnJhY3Rpb24gKj0gcmFkaXg7CiAgICAg
ICAgICAgICAgICAgZGlnaXQgPSBmcmFjdGlvbi5mbG9vckFuZFN1YnRyYWN0KCk7Ci0gICAgICAg
ICAgICAgICAgKmVuZE9mUmVzdWx0U3RyaW5nKysgPSByYWRpeERpZ2l0c1tkaWdpdF07CisgICAg
ICAgICAgICAgICAgKmVuZE9mUmVzdWx0U3RyaW5nKysgPSBXVEY6Omxvd2VyY2FzZUhleERpZ2l0
c1tkaWdpdF07CiAgICAgICAgICAgICAgICAgLy8gS2VlcCB0cmFjayB3aGV0aGVyIHRoZSBwb3J0
aW9uIHdyaXR0ZW4gaXMgY3VycmVudGx5IGV2ZW4sIGlmIHRoZSByYWRpeCBpcyBvZGQuCiAgICAg
ICAgICAgICAgICAgaWYgKGRpZ2l0ICYgMSkKICAgICAgICAgICAgICAgICAgICAgaXNPZGRJbk9k
ZFJhZGl4ID0gIWlzT2RkSW5PZGRSYWRpeDsKQEAgLTI3Niw3ICsyNzYsNyBAQCBzdGF0aWMgY2hh
ciogdG9TdHJpbmdXaXRoUmFkaXhJbnRlcm5hbChSYWRpeEJ1ZmZlciYgYnVmZmVyLCBkb3VibGUg
b3JpZ2luYWxOdW1iZQogICAgICAgICAgICAgICAgIGRpZ2l0ID0gZnJhY3Rpb24uZmxvb3JBbmRT
dWJ0cmFjdCgpOwogICAgICAgICAgICAgICAgIGlmIChkaWdpdCAmIDEpCiAgICAgICAgICAgICAg
ICAgICAgIGlzT2RkSW5PZGRSYWRpeCA9ICFpc09kZEluT2RkUmFkaXg7Ci0gICAgICAgICAgICAg
ICAgKmVuZE9mUmVzdWx0U3RyaW5nKysgPSByYWRpeERpZ2l0c1tkaWdpdF07CisgICAgICAgICAg
ICAgICAgKmVuZE9mUmVzdWx0U3RyaW5nKysgPSBXVEY6Omxvd2VyY2FzZUhleERpZ2l0c1tkaWdp
dF07CiAKICAgICAgICAgICAgICAgICBoYWxmRGVsdGEgKj0gcmFkaXg7CiAgICAgICAgICAgICB9
CkBAIC0yODcsNyArMjg3LDcgQEAgc3RhdGljIGNoYXIqIHRvU3RyaW5nV2l0aFJhZGl4SW50ZXJu
YWwoUmFkaXhCdWZmZXImIGJ1ZmZlciwgZG91YmxlIG9yaWdpbmFsTnVtYmUKICAgICAgICAgICAg
IC8vIFdoaWxzdCB0aGUgbGFzdCBkaWdpdCBpcyB0aGUgbWF4aW11bSBpbiB0aGUgY3VycmVudCBy
YWRpeCwgcmVtb3ZlIGl0LgogICAgICAgICAgICAgLy8gZS5nLiByb3VuZGluZyB1cCB0aGUgbGFz
dCBkaWdpdCBpbiAiMTIuMzk5OSIgaXMgdGhlIHNhbWUgYXMgcm91bmRpbmcgdXAgdGhlCiAgICAg
ICAgICAgICAvLyBsYXN0IGRpZ2l0IGluICIxMi4zIiAtIGJvdGggcm91bmQgdXAgdG8gIjEyLjQi
LgotICAgICAgICAgICAgd2hpbGUgKGVuZE9mUmVzdWx0U3RyaW5nWy0xXSA9PSByYWRpeERpZ2l0
c1tyYWRpeCAtIDFdKQorICAgICAgICAgICAgd2hpbGUgKGVuZE9mUmVzdWx0U3RyaW5nWy0xXSA9
PSBXVEY6Omxvd2VyY2FzZUhleERpZ2l0c1tyYWRpeCAtIDFdKQogICAgICAgICAgICAgICAgIC0t
ZW5kT2ZSZXN1bHRTdHJpbmc7CiAKICAgICAgICAgICAgIC8vIFJhZGl4IGRpZ2l0cyBhcmUgc2Vx
dWVudGlhbCBpbiBhc2NpaS91bmljb2RlLCBleGNlcHQgZm9yICc5JyBhbmQgJ2EnLgpAQCAtMzI4
LDcgKzMyOCw3IEBAIHN0YXRpYyBjaGFyKiB0b1N0cmluZ1dpdGhSYWRpeEludGVybmFsKFJhZGl4
QnVmZmVyJiBidWZmZXIsIGRvdWJsZSBvcmlnaW5hbE51bWJlCiAgICAgICAgIC8vIFJlYWQgYSBz
aW5nbGUgZGlnaXQgYW5kIHdyaXRlIGl0IHRvIHRoZSBmcm9udCBvZiB0aGUgc3RyaW5nLgogICAg
ICAgICAvLyBEaXZpZGUgYnkgcmFkaXggdG8gcmVtb3ZlIG9uZSBkaWdpdCBmcm9tIHRoZSB2YWx1
ZS4KICAgICAgICAgdWludDMyX3QgZGlnaXQgPSB1bml0cy5kaXZpZGUocmFkaXgpOwotICAgICAg
ICAqLS1zdGFydE9mUmVzdWx0U3RyaW5nID0gcmFkaXhEaWdpdHNbZGlnaXRdOworICAgICAgICAq
LS1zdGFydE9mUmVzdWx0U3RyaW5nID0gV1RGOjpsb3dlcmNhc2VIZXhEaWdpdHNbZGlnaXRdOwog
ICAgIH0gd2hpbGUgKCEhdW5pdHMpOwogCiAgICAgLy8gSWYgdGhlIG51bWJlciBpcyBuZWdhdGl2
ZSwgcHJlcGVuZCAnLScuCkBAIC0zNTUsOCArMzU1LDggQEAgc3RhdGljIFN0cmluZyB0b1N0cmlu
Z1dpdGhSYWRpeEludGVybmFsKGludDMyX3QgbnVtYmVyLCB1bnNpZ25lZCByYWRpeCkKICAgICAv
LyBBbHdheXMgbG9vcCBhdCBsZWFzdCBvbmNlLCB0byBlbWl0IGF0IGxlYXN0ICcwJy4KICAgICBk
byB7CiAgICAgICAgIHVpbnQzMl90IGluZGV4ID0gcG9zaXRpdmVOdW1iZXIgJSByYWRpeDsKLSAg
ICAgICAgQVNTRVJUKGluZGV4IDwgc2l6ZW9mKHJhZGl4RGlnaXRzKSk7Ci0gICAgICAgICotLXAg
PSBzdGF0aWNfY2FzdDxMQ2hhcj4ocmFkaXhEaWdpdHNbaW5kZXhdKTsKKyAgICAgICAgQVNTRVJU
KGluZGV4IDwgc2l6ZW9mKFdURjo6bG93ZXJjYXNlSGV4RGlnaXRzKSk7CisgICAgICAgICotLXAg
PSBzdGF0aWNfY2FzdDxMQ2hhcj4oV1RGOjpsb3dlcmNhc2VIZXhEaWdpdHNbaW5kZXhdKTsKICAg
ICAgICAgcG9zaXRpdmVOdW1iZXIgLz0gcmFkaXg7CiAgICAgfSB3aGlsZSAocG9zaXRpdmVOdW1i
ZXIpOwogCkBAIC00OTEsNyArNDkxLDcgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgSlNTdHJpbmcq
IGludDMyVG9TdHJpbmdJbnRlcm5hbChWTSYgdm0sIGludDMyX3QgdmFsdWUsIGludDMKICAgICBp
ZiAoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKSA8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihy
YWRpeCkpIHsKICAgICAgICAgQVNTRVJUKHZhbHVlIDw9IDM2KTsKICAgICAgICAgQVNTRVJUKHZh
bHVlID49IDApOwotICAgICAgICByZXR1cm4gdm0uc21hbGxTdHJpbmdzLnNpbmdsZUNoYXJhY3Rl
clN0cmluZyhyYWRpeERpZ2l0c1t2YWx1ZV0pOworICAgICAgICByZXR1cm4gdm0uc21hbGxTdHJp
bmdzLnNpbmdsZUNoYXJhY3RlclN0cmluZyhXVEY6Omxvd2VyY2FzZUhleERpZ2l0c1t2YWx1ZV0p
OwogICAgIH0KIAogICAgIGlmIChyYWRpeCA9PSAxMCkKQEAgLTUzMSw3ICs1MzEsNyBAQCBKU1N0
cmluZyogaW50NTJUb1N0cmluZyhWTSYgdm0sIGludDY0X3QgdmFsdWUsIGludDMyX3QgcmFkaXgp
CiAgICAgaWYgKHN0YXRpY19jYXN0PHVpbnQ2NF90Pih2YWx1ZSkgPCBzdGF0aWNfY2FzdDx1aW50
NjRfdD4ocmFkaXgpKSB7CiAgICAgICAgIEFTU0VSVCh2YWx1ZSA8PSAzNik7CiAgICAgICAgIEFT
U0VSVCh2YWx1ZSA+PSAwKTsKLSAgICAgICAgcmV0dXJuIHZtLnNtYWxsU3RyaW5ncy5zaW5nbGVD
aGFyYWN0ZXJTdHJpbmcocmFkaXhEaWdpdHNbdmFsdWVdKTsKKyAgICAgICAgcmV0dXJuIHZtLnNt
YWxsU3RyaW5ncy5zaW5nbGVDaGFyYWN0ZXJTdHJpbmcoV1RGOjpsb3dlcmNhc2VIZXhEaWdpdHNb
dmFsdWVdKTsKICAgICB9CiAKICAgICBpZiAocmFkaXggPT0gMTApCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9QYXJzZUludC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUGFyc2VJbnQuaAppbmRleCBiZTNkOTUwMTA1MzJlYTRhNGQwNDQ3NmJmYzhj
MGUxYmNlMTE2OWM1Li5jOTIxMGNlYTY2MmMzZTU1YTEzODc5ZTZlNmIyOTcwMzdkMGIzYjg4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9QYXJzZUludC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1BhcnNlSW50LmgKQEAgLTI3LDYgKzI3LDcg
QEAKIAogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKICNpbmNsdWRlICJMZXhlci5oIgorI2luY2x1
ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvZHRvYS5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKQEAgLTIxMSw3ICsyMTIsNCBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSB0eXBlbmFtZSBz
dGQ6OnJlc3VsdF9vZjxDYWxsYmFja1doZW5Ob0V4Y2VwdGlvbihTdHJpbmdWaWV3KQogICAgIFJF
TEVBU0VfQU5EX1JFVFVSTihzY29wZSwgY2FsbGJhY2sodmlld1dpdGhTdHJpbmcudmlldykpOwog
fQogCi0vLyBNYXBwaW5nIGZyb20gaW50ZWdlcnMgMC4uMzUgdG8gZGlnaXQgaWRlbnRpZnlpbmcg
dGhpcyB2YWx1ZSwgZm9yIHJhZGl4IDIuLjM2LgotY29uc3QgY2hhciByYWRpeERpZ2l0c1tdID0g
IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiI7Ci0KIH0gLy8gbmFtZXNwYWNl
IEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCmluZGV4IGMyNTY2NmJmNzVkZTBl
NmE4YjA5MzdlYTdmZTMxZmQxNzk4NDZmNDEuLjE1NzdjZjdmMDI3NGE3MDUwMDczODZiMTFmOTFi
Nzc4YTE0Yzc5MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZN
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKQEAgLTc2LDYg
Kzc2LDcgQEAKICNpbmNsdWRlICJJbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuaCIKICNpbmNs
dWRlICJJbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIklzb0hlYXBDZWxs
VHlwZS5oIgorI2luY2x1ZGUgIklzb0lubGluZWRIZWFwQ2VsbFR5cGUuaCIKICNpbmNsdWRlICJK
SVRDb2RlLmgiCiAjaW5jbHVkZSAiSklUV29ya2xpc3QuaCIKICNpbmNsdWRlICJKU0FQSUdsb2Jh
bE9iamVjdC5oIgpAQCAtMzAxLDQwICszMDIsNDAgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhl
YXBUeXBlIGhlYXBUeXBlKQogICAgICwgaW1tdXRhYmxlQnV0dGVyZmx5SGVhcENlbGxUeXBlKG1h
a2VVbmlxdWU8SGVhcENlbGxUeXBlPihDZWxsQXR0cmlidXRlcyhEb2VzTm90TmVlZERlc3RydWN0
aW9uLCBIZWFwQ2VsbDo6SlNDZWxsV2l0aEludGVyaW9yUG9pbnRlcnMpKSkKICAgICAsIGNlbGxI
ZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxIZWFwQ2VsbFR5cGU+KENlbGxBdHRyaWJ1dGVzKERvZXNO
b3ROZWVkRGVzdHJ1Y3Rpb24sIEhlYXBDZWxsOjpKU0NlbGwpKSkKICAgICAsIGRlc3RydWN0aWJs
ZUNlbGxIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxIZWFwQ2VsbFR5cGU+KENlbGxBdHRyaWJ1dGVz
KE5lZWRzRGVzdHJ1Y3Rpb24sIEhlYXBDZWxsOjpKU0NlbGwpKSkKLSAgICAsIGNhbGxiYWNrQ29u
c3RydWN0b3JIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNDYWxsYmFj
a0NvbnN0cnVjdG9yPj4oKSkKLSAgICAsIGNhbGxiYWNrT2JqZWN0SGVhcENlbGxUeXBlKG1ha2VV
bmlxdWU8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4+
PigpKQotICAgICwgZGF0ZUluc3RhbmNlSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENl
bGxUeXBlPERhdGVJbnN0YW5jZT4+KCkpCi0gICAgLCBlcnJvckluc3RhbmNlSGVhcENlbGxUeXBl
KG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPEVycm9ySW5zdGFuY2U+PigpKQotICAgICwganNN
b2R1bGVSZWNvcmRIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNNb2R1
bGVSZWNvcmQ+PigpKQotICAgICwgbW9kdWxlTmFtZXNwYWNlT2JqZWN0SGVhcENlbGxUeXBlKG1h
a2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0Pj4oKSkKLSAg
ICAsIG5hdGl2ZVN0ZEZ1bmN0aW9uSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxU
eXBlPEpTTmF0aXZlU3RkRnVuY3Rpb24+PigpKQotICAgICwgc3RyaW5nSGVhcENlbGxUeXBlKG1h
a2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPEpTU3RyaW5nPj4oKSkKLSAgICAsIHdlYWtNYXBIZWFw
Q2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNXZWFrTWFwPj4oKSkKLSAgICAs
IHdlYWtTZXRIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNXZWFrU2V0
Pj4oKSkKKyAgICAsIGNhbGxiYWNrQ29uc3RydWN0b3JIZWFwQ2VsbFR5cGUoSXNvSGVhcENlbGxU
eXBlOjpjcmVhdGU8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigpKQorICAgICwgY2FsbGJhY2tPYmpl
Y3RIZWFwQ2VsbFR5cGUoSXNvSGVhcENlbGxUeXBlOjpjcmVhdGU8SlNDYWxsYmFja09iamVjdDxK
U05vbkZpbmFsT2JqZWN0Pj4oKSkKKyAgICAsIGRhdGVJbnN0YW5jZUhlYXBDZWxsVHlwZShJc29I
ZWFwQ2VsbFR5cGU6OmNyZWF0ZTxEYXRlSW5zdGFuY2U+KCkpCisgICAgLCBlcnJvckluc3RhbmNl
SGVhcENlbGxUeXBlKElzb0hlYXBDZWxsVHlwZTo6Y3JlYXRlPEVycm9ySW5zdGFuY2U+KCkpCisg
ICAgLCBqc01vZHVsZVJlY29yZEhlYXBDZWxsVHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxK
U01vZHVsZVJlY29yZD4oKSkKKyAgICAsIG1vZHVsZU5hbWVzcGFjZU9iamVjdEhlYXBDZWxsVHlw
ZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxKU01vZHVsZU5hbWVzcGFjZU9iamVjdD4oKSkKKyAg
ICAsIG5hdGl2ZVN0ZEZ1bmN0aW9uSGVhcENlbGxUeXBlKElzb0hlYXBDZWxsVHlwZTo6Y3JlYXRl
PEpTTmF0aXZlU3RkRnVuY3Rpb24+KCkpCisgICAgLCBzdHJpbmdIZWFwQ2VsbFR5cGUobWFrZVVu
aXF1ZTxJc29JbmxpbmVkSGVhcENlbGxUeXBlPEpTU3RyaW5nPj4oKSkKKyAgICAsIHdlYWtNYXBI
ZWFwQ2VsbFR5cGUoSXNvSGVhcENlbGxUeXBlOjpjcmVhdGU8SlNXZWFrTWFwPigpKQorICAgICwg
d2Vha1NldEhlYXBDZWxsVHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxKU1dlYWtTZXQ+KCkp
CiAgICAgLCBkZXN0cnVjdGlibGVPYmplY3RIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxKU0Rlc3Ry
dWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZT4oKSkKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAot
ICAgICwgYXBpV3JhcHBlck9iamVjdEhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxs
VHlwZTxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4+PigpKQotICAgICwgb2Jq
Q0NhbGxiYWNrRnVuY3Rpb25IZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8
T2JqQ0NhbGxiYWNrRnVuY3Rpb24+PigpKQorICAgICwgYXBpV3JhcHBlck9iamVjdEhlYXBDZWxs
VHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBl
ck9iamVjdD4+KCkpCisgICAgLCBvYmpDQ2FsbGJhY2tGdW5jdGlvbkhlYXBDZWxsVHlwZShJc29I
ZWFwQ2VsbFR5cGU6OmNyZWF0ZTxPYmpDQ2FsbGJhY2tGdW5jdGlvbj4oKSkKICNlbmRpZgogI2lm
ZGVmIEpTQ19HTElCX0FQSV9FTkFCTEVECi0gICAgLCBhcGlXcmFwcGVyT2JqZWN0SGVhcENlbGxU
eXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFw
cGVyT2JqZWN0Pj4+KCkpCi0gICAgLCBqc2NDYWxsYmFja0Z1bmN0aW9uSGVhcENlbGxUeXBlKG1h
a2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPEpTQ0NhbGxiYWNrRnVuY3Rpb24+PigpKQorICAgICwg
YXBpV3JhcHBlck9iamVjdEhlYXBDZWxsVHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxKU0Nh
bGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4+KCkpCisgICAgLCBqc2NDYWxsYmFja0Z1
bmN0aW9uSGVhcENlbGxUeXBlKElzb0hlYXBDZWxsVHlwZTo6Y3JlYXRlPEpTQ0NhbGxiYWNrRnVu
Y3Rpb24+KCkpCiAjZW5kaWYKICNpZiBFTkFCTEUoSU5UTCkKLSAgICAsIGludGxDb2xsYXRvckhl
YXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxJbnRsQ29sbGF0b3I+PigpKQot
ICAgICwgaW50bERhdGVUaW1lRm9ybWF0SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENl
bGxUeXBlPEludGxEYXRlVGltZUZvcm1hdD4+KCkpCi0gICAgLCBpbnRsTnVtYmVyRm9ybWF0SGVh
cENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPEludGxOdW1iZXJGb3JtYXQ+Pigp
KQotICAgICwgaW50bFBsdXJhbFJ1bGVzSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENl
bGxUeXBlPEludGxQbHVyYWxSdWxlcz4+KCkpCisgICAgLCBpbnRsQ29sbGF0b3JIZWFwQ2VsbFR5
cGUoSXNvSGVhcENlbGxUeXBlOjpjcmVhdGU8SW50bENvbGxhdG9yPigpKQorICAgICwgaW50bERh
dGVUaW1lRm9ybWF0SGVhcENlbGxUeXBlKElzb0hlYXBDZWxsVHlwZTo6Y3JlYXRlPEludGxEYXRl
VGltZUZvcm1hdD4oKSkKKyAgICAsIGludGxOdW1iZXJGb3JtYXRIZWFwQ2VsbFR5cGUoSXNvSGVh
cENlbGxUeXBlOjpjcmVhdGU8SW50bE51bWJlckZvcm1hdD4oKSkKKyAgICAsIGludGxQbHVyYWxS
dWxlc0hlYXBDZWxsVHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxJbnRsUGx1cmFsUnVsZXM+
KCkpCiAjZW5kaWYKICNpZiBFTkFCTEUoV0VCQVNTRU1CTFkpCi0gICAgLCB3ZWJBc3NlbWJseUNv
ZGVCbG9ja0hlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxKU1dlYkFzc2Vt
Ymx5Q29kZUJsb2NrPj4oKSkKLSAgICAsIHdlYkFzc2VtYmx5RnVuY3Rpb25IZWFwQ2VsbFR5cGUo
bWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8V2ViQXNzZW1ibHlGdW5jdGlvbj4+KCkpCi0gICAg
LCB3ZWJBc3NlbWJseUdsb2JhbEhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlw
ZTxKU1dlYkFzc2VtYmx5R2xvYmFsPj4oKSkKLSAgICAsIHdlYkFzc2VtYmx5SW5zdGFuY2VIZWFw
Q2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNXZWJBc3NlbWJseUluc3RhbmNl
Pj4oKSkKLSAgICAsIHdlYkFzc2VtYmx5TWVtb3J5SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNv
SGVhcENlbGxUeXBlPEpTV2ViQXNzZW1ibHlNZW1vcnk+PigpKQotICAgICwgd2ViQXNzZW1ibHlN
b2R1bGVIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNXZWJBc3NlbWJs
eU1vZHVsZT4+KCkpCi0gICAgLCB3ZWJBc3NlbWJseU1vZHVsZVJlY29yZEhlYXBDZWxsVHlwZSht
YWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxXZWJBc3NlbWJseU1vZHVsZVJlY29yZD4+KCkpCi0g
ICAgLCB3ZWJBc3NlbWJseVRhYmxlSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxU
eXBlPEpTV2ViQXNzZW1ibHlUYWJsZT4+KCkpCisgICAgLCB3ZWJBc3NlbWJseUNvZGVCbG9ja0hl
YXBDZWxsVHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxKU1dlYkFzc2VtYmx5Q29kZUJsb2Nr
PigpKQorICAgICwgd2ViQXNzZW1ibHlGdW5jdGlvbkhlYXBDZWxsVHlwZShJc29IZWFwQ2VsbFR5
cGU6OmNyZWF0ZTxXZWJBc3NlbWJseUZ1bmN0aW9uPigpKQorICAgICwgd2ViQXNzZW1ibHlHbG9i
YWxIZWFwQ2VsbFR5cGUoSXNvSGVhcENlbGxUeXBlOjpjcmVhdGU8SlNXZWJBc3NlbWJseUdsb2Jh
bD4oKSkKKyAgICAsIHdlYkFzc2VtYmx5SW5zdGFuY2VIZWFwQ2VsbFR5cGUoSXNvSGVhcENlbGxU
eXBlOjpjcmVhdGU8SlNXZWJBc3NlbWJseUluc3RhbmNlPigpKQorICAgICwgd2ViQXNzZW1ibHlN
ZW1vcnlIZWFwQ2VsbFR5cGUoSXNvSGVhcENlbGxUeXBlOjpjcmVhdGU8SlNXZWJBc3NlbWJseU1l
bW9yeT4oKSkKKyAgICAsIHdlYkFzc2VtYmx5TW9kdWxlSGVhcENlbGxUeXBlKElzb0hlYXBDZWxs
VHlwZTo6Y3JlYXRlPEpTV2ViQXNzZW1ibHlNb2R1bGU+KCkpCisgICAgLCB3ZWJBc3NlbWJseU1v
ZHVsZVJlY29yZEhlYXBDZWxsVHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxXZWJBc3NlbWJs
eU1vZHVsZVJlY29yZD4oKSkKKyAgICAsIHdlYkFzc2VtYmx5VGFibGVIZWFwQ2VsbFR5cGUoSXNv
SGVhcENlbGxUeXBlOjpjcmVhdGU8SlNXZWJBc3NlbWJseVRhYmxlPigpKQogI2VuZGlmCiAgICAg
LCBwcmltaXRpdmVHaWdhY2FnZUF1eGlsaWFyeVNwYWNlKCJQcmltaXRpdmUgR2lnYWNhZ2UgQXV4
aWxpYXJ5IiwgaGVhcCwgYXV4aWxpYXJ5SGVhcENlbGxUeXBlLmdldCgpLCBwcmltaXRpdmVHaWdh
Y2FnZUFsbG9jYXRvci5nZXQoKSkgLy8gSGFzaDoweDNlN2NkNzYyCiAgICAgLCBqc1ZhbHVlR2ln
YWNhZ2VBdXhpbGlhcnlTcGFjZSgiSlNWYWx1ZSBHaWdhY2FnZSBBdXhpbGlhcnkiLCBoZWFwLCBh
dXhpbGlhcnlIZWFwQ2VsbFR5cGUuZ2V0KCksIGpzVmFsdWVHaWdhY2FnZUFsbG9jYXRvci5nZXQo
KSkgLy8gSGFzaDoweDI0MWU5NDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1ZNLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCmluZGV4IGMx
MjRmYWIxODY5N2FkOGEwYjcwOTAxYzAzZWNhZWE5ZjA3NjEyZTcuLjgwYmM1ZWNiYzhlMzg0Njdm
MGE3NGEyNDhlNDAyMmViMjA3ZjhkNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1ZNLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApA
QCAtMTg0LDcgKzE4NCw4IEBAIGNsYXNzIFdhdGNocG9pbnRTZXQ7CiBjbGFzcyBXZWJBc3NlbWJs
eUZ1bmN0aW9uOwogY2xhc3MgV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQ7CiAKLXRlbXBsYXRlPHR5
cGVuYW1lIENlbGxUeXBlPiBjbGFzcyBJc29IZWFwQ2VsbFR5cGU7CitjbGFzcyBJc29IZWFwQ2Vs
bFR5cGU7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZT4gY2xhc3MgSXNvSW5saW5lZEhlYXBD
ZWxsVHlwZTsKIHRlbXBsYXRlPHR5cGVuYW1lIFBhcmVudD4gY2xhc3MgSlNDYWxsYmFja09iamVj
dDsKIAogI2lmIEVOQUJMRShGVExfSklUKQpAQCAtMzYzLDQwICszNjQsNDAgQEAgY2xhc3MgVk0g
OiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlz
dE5vZGU8Vk0+IHsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SGVhcENlbGxUeXBlPiBpbW11dGFibGVC
dXR0ZXJmbHlIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEhlYXBDZWxsVHlwZT4g
Y2VsbEhlYXBDZWxsVHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SGVhcENlbGxUeXBlPiBkZXN0
cnVjdGlibGVDZWxsSGVhcENlbGxUeXBlOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2Vs
bFR5cGU8SlNDYWxsYmFja0NvbnN0cnVjdG9yPj4gY2FsbGJhY2tDb25zdHJ1Y3RvckhlYXBDZWxs
VHlwZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNOb25GaW5hbE9iamVjdD4+PiBjYWxsYmFja09iamVjdEhlYXBDZWxsVHlwZTsKLSAgICBz
dGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPERhdGVJbnN0YW5jZT4+IGRhdGVJbnN0YW5j
ZUhlYXBDZWxsVHlwZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEVycm9y
SW5zdGFuY2U+PiBlcnJvckluc3RhbmNlSGVhcENlbGxUeXBlOwotICAgIHN0ZDo6dW5pcXVlX3B0
cjxJc29IZWFwQ2VsbFR5cGU8SlNNb2R1bGVSZWNvcmQ+PiBqc01vZHVsZVJlY29yZEhlYXBDZWxs
VHlwZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTTW9kdWxlTmFtZXNw
YWNlT2JqZWN0Pj4gbW9kdWxlTmFtZXNwYWNlT2JqZWN0SGVhcENlbGxUeXBlOwotICAgIHN0ZDo6
dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SlNOYXRpdmVTdGRGdW5jdGlvbj4+IG5hdGl2ZVN0
ZEZ1bmN0aW9uSGVhcENlbGxUeXBlOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5
cGU8SlNTdHJpbmc+PiBzdHJpbmdIZWFwQ2VsbFR5cGU7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPElz
b0hlYXBDZWxsVHlwZTxKU1dlYWtNYXA+PiB3ZWFrTWFwSGVhcENlbGxUeXBlOwotICAgIHN0ZDo6
dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SlNXZWFrU2V0Pj4gd2Vha1NldEhlYXBDZWxsVHlw
ZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiBjYWxsYmFja0NvbnN0cnVj
dG9ySGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IGNh
bGxiYWNrT2JqZWN0SGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2Vs
bFR5cGU+IGRhdGVJbnN0YW5jZUhlYXBDZWxsVHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNv
SGVhcENlbGxUeXBlPiBlcnJvckluc3RhbmNlSGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVl
X3B0cjxJc29IZWFwQ2VsbFR5cGU+IGpzTW9kdWxlUmVjb3JkSGVhcENlbGxUeXBlOworICAgIHN0
ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IG1vZHVsZU5hbWVzcGFjZU9iamVjdEhlYXBD
ZWxsVHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiBuYXRpdmVTdGRG
dW5jdGlvbkhlYXBDZWxsVHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSW5saW5lZEhlYXBD
ZWxsVHlwZTxKU1N0cmluZz4+IHN0cmluZ0hlYXBDZWxsVHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8SXNvSGVhcENlbGxUeXBlPiB3ZWFrTWFwSGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVl
X3B0cjxJc29IZWFwQ2VsbFR5cGU+IHdlYWtTZXRIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPEpTRGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlPiBkZXN0cnVjdGlibGVPYmpl
Y3RIZWFwQ2VsbFR5cGU7CiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKLSAgICBzdGQ6OnVuaXF1
ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0
Pj4+IGFwaVdyYXBwZXJPYmplY3RIZWFwQ2VsbFR5cGU7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPElz
b0hlYXBDZWxsVHlwZTxPYmpDQ2FsbGJhY2tGdW5jdGlvbj4+IG9iakNDYWxsYmFja0Z1bmN0aW9u
SGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IGFwaVdy
YXBwZXJPYmplY3RIZWFwQ2VsbFR5cGU7CisgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxs
VHlwZT4gb2JqQ0NhbGxiYWNrRnVuY3Rpb25IZWFwQ2VsbFR5cGU7CiAjZW5kaWYKICNpZmRlZiBK
U0NfR0xJQl9BUElfRU5BQkxFRAotICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8
SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Pj4gYXBpV3JhcHBlck9iamVjdEhl
YXBDZWxsVHlwZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTQ0NhbGxi
YWNrRnVuY3Rpb24+PiBqc2NDYWxsYmFja0Z1bmN0aW9uSGVhcENlbGxUeXBlOworICAgIHN0ZDo6
dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IGFwaVdyYXBwZXJPYmplY3RIZWFwQ2VsbFR5cGU7
CisgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZT4ganNjQ2FsbGJhY2tGdW5jdGlv
bkhlYXBDZWxsVHlwZTsKICNlbmRpZgogI2lmIEVOQUJMRShJTlRMKQotICAgIHN0ZDo6dW5pcXVl
X3B0cjxJc29IZWFwQ2VsbFR5cGU8SW50bENvbGxhdG9yPj4gaW50bENvbGxhdG9ySGVhcENlbGxU
eXBlOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SW50bERhdGVUaW1lRm9y
bWF0Pj4gaW50bERhdGVUaW1lRm9ybWF0SGVhcENlbGxUeXBlOwotICAgIHN0ZDo6dW5pcXVlX3B0
cjxJc29IZWFwQ2VsbFR5cGU8SW50bE51bWJlckZvcm1hdD4+IGludGxOdW1iZXJGb3JtYXRIZWFw
Q2VsbFR5cGU7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxJbnRsUGx1cmFs
UnVsZXM+PiBpbnRsUGx1cmFsUnVsZXNIZWFwQ2VsbFR5cGU7CisgICAgc3RkOjp1bmlxdWVfcHRy
PElzb0hlYXBDZWxsVHlwZT4gaW50bENvbGxhdG9ySGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5p
cXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IGludGxEYXRlVGltZUZvcm1hdEhlYXBDZWxsVHlwZTsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiBpbnRsTnVtYmVyRm9ybWF0SGVh
cENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IGludGxQbHVy
YWxSdWxlc0hlYXBDZWxsVHlwZTsKICNlbmRpZgogI2lmIEVOQUJMRShXRUJBU1NFTUJMWSkKLSAg
ICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTV2ViQXNzZW1ibHlDb2RlQmxvY2s+
PiB3ZWJBc3NlbWJseUNvZGVCbG9ja0hlYXBDZWxsVHlwZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8
SXNvSGVhcENlbGxUeXBlPFdlYkFzc2VtYmx5RnVuY3Rpb24+PiB3ZWJBc3NlbWJseUZ1bmN0aW9u
SGVhcENlbGxUeXBlOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SlNXZWJB
c3NlbWJseUdsb2JhbD4+IHdlYkFzc2VtYmx5R2xvYmFsSGVhcENlbGxUeXBlOwotICAgIHN0ZDo6
dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SlNXZWJBc3NlbWJseUluc3RhbmNlPj4gd2ViQXNz
ZW1ibHlJbnN0YW5jZUhlYXBDZWxsVHlwZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENl
bGxUeXBlPEpTV2ViQXNzZW1ibHlNZW1vcnk+PiB3ZWJBc3NlbWJseU1lbW9yeUhlYXBDZWxsVHlw
ZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTV2ViQXNzZW1ibHlNb2R1
bGU+PiB3ZWJBc3NlbWJseU1vZHVsZUhlYXBDZWxsVHlwZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8
SXNvSGVhcENlbGxUeXBlPFdlYkFzc2VtYmx5TW9kdWxlUmVjb3JkPj4gd2ViQXNzZW1ibHlNb2R1
bGVSZWNvcmRIZWFwQ2VsbFR5cGU7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlw
ZTxKU1dlYkFzc2VtYmx5VGFibGU+PiB3ZWJBc3NlbWJseVRhYmxlSGVhcENlbGxUeXBlOworICAg
IHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IHdlYkFzc2VtYmx5Q29kZUJsb2NrSGVh
cENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IHdlYkFzc2Vt
Ymx5RnVuY3Rpb25IZWFwQ2VsbFR5cGU7CisgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxs
VHlwZT4gd2ViQXNzZW1ibHlHbG9iYWxIZWFwQ2VsbFR5cGU7CisgICAgc3RkOjp1bmlxdWVfcHRy
PElzb0hlYXBDZWxsVHlwZT4gd2ViQXNzZW1ibHlJbnN0YW5jZUhlYXBDZWxsVHlwZTsKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiB3ZWJBc3NlbWJseU1lbW9yeUhlYXBDZWxs
VHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiB3ZWJBc3NlbWJseU1v
ZHVsZUhlYXBDZWxsVHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiB3
ZWJBc3NlbWJseU1vZHVsZVJlY29yZEhlYXBDZWxsVHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
SXNvSGVhcENlbGxUeXBlPiB3ZWJBc3NlbWJseVRhYmxlSGVhcENlbGxUeXBlOwogI2VuZGlmCiAg
ICAgCiAgICAgQ29tcGxldGVTdWJzcGFjZSBwcmltaXRpdmVHaWdhY2FnZUF1eGlsaWFyeVNwYWNl
OyAvLyBUeXBlZCBhcnJheXMsIHN0cmluZ3MsIGJpdHZlY3RvcnMsIGV0YyBnbyBoZXJlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvSGV4TnVtYmVyLmNwcCBiL1NvdXJjZS9XVEYvd3RmL0hl
eE51bWJlci5jcHAKaW5kZXggZTNjN2Y4MjQ1MmE4Mjg0NzZjNjZlZWM5NWFhMjAwNDUyODY3YjNm
ZC4uYmI0ZWMxMDAyOGMzODFkZTA4MmVhMjNiZTdiMmEwNGY0MjkzYjljZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvSGV4TnVtYmVyLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9IZXhOdW1i
ZXIuY3BwCkBAIC0yMiw2ICsyMiw5IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCitXVEZfRVhQT1JU
X1BSSVZBVEUgY29uc3QgTENoYXIgbG93ZXJjYXNlSGV4RGlnaXRzWzM3XSA9ICIwMTIzNDU2Nzg5
YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiOworV1RGX0VYUE9SVF9QUklWQVRFIGNvbnN0IExD
aGFyIHVwcGVyY2FzZUhleERpZ2l0c1szN10gPSAiMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BR
UlNUVVZXWFlaIjsKKwogbmFtZXNwYWNlIEludGVybmFsIHsKIAogc3RkOjpwYWlyPExDaGFyKiwg
dW5zaWduZWQ+IGFwcGVuZEhleChMQ2hhciogYnVmZmVyLCB1bnNpZ25lZCBidWZmZXJTaXplLCBz
dGQ6OnVpbnRtYXhfdCBudW1iZXIsIHVuc2lnbmVkIG1pbmltdW1EaWdpdHMsIEhleENvbnZlcnNp
b25Nb2RlIG1vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9IZXhOdW1iZXIuaCBiL1Nv
dXJjZS9XVEYvd3RmL0hleE51bWJlci5oCmluZGV4IGRhMGQzODExMzUwMTNmZDY1M2UxNGZmOGJm
YzY3MGVkOTYzZjc0MjUuLjg4MmVlOTNmZThhNzg1ODRiMjExZTA1ODE2YTk5ZTBjNWE3ZDNlYTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0hleE51bWJlci5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL0hleE51bWJlci5oCkBAIC0yOCwxMiArMjgsMTMgQEAgbmFtZXNwYWNlIFdURiB7CiAKIGVu
dW0gSGV4Q29udmVyc2lvbk1vZGUgeyBMb3dlcmNhc2UsIFVwcGVyY2FzZSB9OwogCitleHRlcm4g
V1RGX0VYUE9SVF9QUklWQVRFIGNvbnN0IExDaGFyIGxvd2VyY2FzZUhleERpZ2l0c1szN107Citl
eHRlcm4gV1RGX0VYUE9SVF9QUklWQVRFIGNvbnN0IExDaGFyIHVwcGVyY2FzZUhleERpZ2l0c1sz
N107CisKIG5hbWVzcGFjZSBJbnRlcm5hbCB7CiAKIGlubGluZSBjb25zdCBMQ2hhciogaGV4RGln
aXRzRm9yTW9kZShIZXhDb252ZXJzaW9uTW9kZSBtb2RlKQogewotICAgIHN0YXRpYyBjb25zdCBM
Q2hhciBsb3dlcmNhc2VIZXhEaWdpdHNbMTddID0gIjAxMjM0NTY3ODlhYmNkZWYiOwotICAgIHN0
YXRpYyBjb25zdCBMQ2hhciB1cHBlcmNhc2VIZXhEaWdpdHNbMTddID0gIjAxMjM0NTY3ODlBQkNE
RUYiOwogICAgIHJldHVybiBtb2RlID09IExvd2VyY2FzZSA/IGxvd2VyY2FzZUhleERpZ2l0cyA6
IHVwcGVyY2FzZUhleERpZ2l0czsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvU2l4
Q2hhcmFjdGVySGFzaC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9TaXhDaGFyYWN0ZXJIYXNoLmNwcApp
bmRleCBkN2YwNmQ1ZGE3YWI4NWJhMDAwNzkxNTk5MTkzMTA1NzMyYThhYTdhLi4zYmViZTVhYjgw
NjA5MDZlYjQ3MmU1MzMzZGFiZmNjN2IzNzU1MWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9TaXhDaGFyYWN0ZXJIYXNoLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TaXhDaGFyYWN0ZXJI
YXNoLmNwcApAQCAtNTUsMTMgKzU1LDE0IEBAIHVuc2lnbmVkIHNpeENoYXJhY3Rlckhhc2hTdHJp
bmdUb0ludGVnZXIoY29uc3QgY2hhciogc3RyaW5nKQogICAgIHJldHVybiBoYXNoOwogfQogCitz
dGF0aWMgV1RGX0VYUE9SVF9QUklWQVRFIGNvbnN0IGNoYXIgc2l4Q2hhcmFjdGVySGFzaFRhYmxl
WzYzXSA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3
eHl6MDEyMzQ1Njc4OSI7CisKIHN0ZDo6YXJyYXk8Y2hhciwgNz4gaW50ZWdlclRvU2l4Q2hhcmFj
dGVySGFzaFN0cmluZyh1bnNpZ25lZCBoYXNoKQogewotICAgIHN0YXRpYyBjb25zdCBjaGFyIHRh
YmxlWzYzXSA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0
dXZ3eHl6MDEyMzQ1Njc4OSI7CiAgICAgc3RkOjphcnJheTxjaGFyLCA3PiBidWZmZXI7CiAgICAg
dW5zaWduZWQgYWNjdW11bGF0b3IgPSBoYXNoOwogICAgIGZvciAodW5zaWduZWQgaSA9IDY7IGkt
LTspIHsKLSAgICAgICAgYnVmZmVyW2ldID0gdGFibGVbYWNjdW11bGF0b3IgJSA2Ml07CisgICAg
ICAgIGJ1ZmZlcltpXSA9IHNpeENoYXJhY3Rlckhhc2hUYWJsZVthY2N1bXVsYXRvciAlIDYyXTsK
ICAgICAgICAgYWNjdW11bGF0b3IgLz0gNjI7CiAgICAgfQogICAgIGJ1ZmZlcls2XSA9IDA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385474</attachid>
            <date>2019-12-11 20:11:03 -0800</date>
            <delta_ts>2019-12-11 21:15:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205152-20191211201102.patch</filename>
            <type>text/plain</type>
            <size>44681</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZmM5MTVjYjcyYTkzOTJiYjVjYWYzMTA2YzQ4ZDE0ZDBkNjI2MmQwLi44ODAyZmNiODQwZjkyMDQx
MzVhNWIzMGExY2UzOTZiMDYxN2E2MzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3MCBAQAorMjAxOS0xMi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIElzb0hlYXBDZWxsVHlwZSBzaG91bGQgaGF2ZSBkZXN0cm95IGZ1
bmN0aW9uIG1lbWJlciBpbnN0ZWFkIG9mIHNwZWNpYWxpemluZyB0ZW1wbGF0ZSBmdW5jdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MTUyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ugd2VyZSBz
cGVjaWFsaXppbmcgTWFya2VkQmxvY2s6OkhhbmRsZTo6c3BlY2lhbGl6ZWRTd2VlcCBpbiA1IGRp
ZmZlcmVudCB3YXlzIGZvciBlYWNoIElzb1N1YnNwYWNlLWVkIGNlbGwuCisgICAgICAgIFRoaXMg
YmxvYXRzIGJpbmFyeS4gSW5zdGVhZCBvZiBzcGVjaWFsaXppbmcgaXQgd2l0aCBDZWxsVHlwZSwg
d2Ugc3BlY2lhbGl6ZSBpdCB3aXRoIG9uZSBmdW5jdG9yLCB3aGljaCBpbnZva2VzCisgICAgICAg
IGZ1bmN0aW9uIHBvaW50ZXIgaGVsZCBieSBJc29IZWFwQ2VsbFR5cGUuIFRoaXMgcmVxdWlyZXMg
b25lIGluZGlyZWN0IGZ1bmN0aW9uIGNhbGwgcGVyIGNlbGwuIEJ1dCB0aGlzIGlzIE9LIHNpbmNl
LAorCisgICAgICAgIDEuIFdlIHdlcmUgdXNpbmcgSlNEZXN0cnVjdGlibGVPYmplY3QncyBjZWxs
LT5jbGFzc0luZm8tPm1ldGhvZFRhYmxlLmRlc3Ryb3kgZnVuY3Rpb24gY2FsbCB0byBkaXNwYXRj
aCBkZXN0cnVjdGlvbiwKKyAgICAgICAgICAgYmVmb3JlIElzb1N1YnNwYWNlIHJlcGxhY2VzIHRo
ZW0gd2l0aCBJc29IZWFwQ2VsbFR5cGUtYmFzZWQgZGVzdHJ1Y3Rpb24uIENvbXBhcmVkIHRvIHRo
YXQsIHRoZSBuZXcgb25lIGlzIHN0aWxsCisgICAgICAgICAgIHNhdmluZyBvbmUgcG9pbnRlciBj
aGFzaW5nIGJhc2ljYWxseSAoY2xhc3NJbmZvIGRlcmVmZXJlbmNlLCB3ZSBhc3N1bWUgY2VsbCBk
ZWZlcmVuY2UgaXMgbm8gY29zdCBzaW5jZSBpdCB3aWxsCisgICAgICAgICAgIGJlIGRvbmUgYW55
d2F5KS4KKyAgICAgICAgMi4gV2Ugc3RpbGwga2VlcCBKU1N0cmluZydzIGRlc3Ryb3kgZnVuY3Rp
b24gaW5saW5pbmcgYnkgdXNpbmcgSXNvSW5saW5lZEhlYXBDZWxsVHlwZS4gVGhpcyBpcyBpbXBv
cnRhbnQgc2luY2UKKyAgICAgICAgICAgaXQgaXMgY3JpdGljYWwgdG8gcGVyZm9ybWFuY2UgYW5k
IHdlIGhhZCBKU1N0cmluZ0hlYXBDZWxsVHlwZSBiZWZvcmUgd2UgcmVwbGFjZWQgaXQgd2l0aCBJ
c29IZWFwQ2VsbFR5cGUuCisgICAgICAgICAgIEJ1dCBJc29JbmxpbmVkSGVhcENlbGxUeXBlIHNw
ZWNpYWxpemF0aW9uIGlzIGZvciBvbmx5IG9uZSBjbGFzcyBzbyBnZW5lcmF0ZWQgYmluYXJ5IHNp
emUgaXMgdGhlIHNhbWUgdG8gdGhlCisgICAgICAgICAgIG9sZCBjb2RlIHVzaW5nIEpTU3RyaW5n
SGVhcENlbGxUeXBlLgorCisgICAgICAgIFRoaXMgc2F2ZXMgNDgwS0IgYmluYXJ5LXNpemUgaW4g
SmF2YVNjcmlwdENvcmUuIEFuZCBtb3JlIGltcG9ydGFudGx5LCBhZnRlciB0aGlzIHBhdGNoLCBh
ZGRpbmcgSXNvU3Vic3BhY2UKKyAgICAgICAgd2lsbCBub3QgYmxvYXQgY29kZSwgc28gd2UgY2Fu
IHNpbXBseSBwdXQgdGhpbmdzIGludG8gSXNvU3Vic3BhY2UuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBhbHNvIHJlbW92ZXMgYHVzaW5nIG5hbWVzcGFjZSBKU0M7YCBpbiBnbG9iYWwgY29kZSBpbiBK
YXZhU2NyaXB0Q29yZSBleGNlcHQgZm9yIEFQSSBjb2Rlcywgc2luY2UKKyAgICAgICAgaXQgc3Rh
cnRzIGNhdXNpbmcgYnVpbGQgZmFpbHVyZSBkdWUgdG8gdW5pZmllZCBidWlsZHM6IEFQSSBkZWZp
bmVzIEpTVHlwZSBlbnVtIGluIGEgZ2xvYmFsIHNjb3BlLCB3aGljaCBpcworICAgICAgICBkaWZm
ZXJlbnQgZnJvbSBvdXIgSlNDOjpKU1R5cGUuIElmIHdlIGRvIGB1c2luZyBuYW1lc3BhY2UgSlND
O2AgaW4gYSBnbG9iYWwgc2NvcGUsIGl0IGNhbiBsZWFkIHRvIGFtYmlndWl0eSBvZgorICAgICAg
ICBsb29raW5nIHVwLgorCisgICAgICAgICogQVBJL0pTSGVhcEZpbmFsaXplclByaXZhdGUuY3Bw
OgorICAgICAgICAoSlNDb250ZXh0R3JvdXBBZGRIZWFwRmluYWxpemVyKToKKyAgICAgICAgKEpT
Q29udGV4dEdyb3VwUmVtb3ZlSGVhcEZpbmFsaXplcik6CisgICAgICAgICogQVBJL0pTSGVhcEZp
bmFsaXplclByaXZhdGUuaDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIGFzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9TY3JpcHRG
dW5jdGlvbkNhbGwuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL1NjcmlwdE9iamVjdC5jcHA6Cisg
ICAgICAgICogYmluZGluZ3MvU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAqIGhlYXAvSXNvSGVh
cENlbGxUeXBlLmNwcDogQ29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmNwcC4KKyAgICAgICAgKEpTQzo6SXNvSGVhcENlbGxU
eXBlOjpmaW5pc2hTd2VlcCk6CisgICAgICAgIChKU0M6Oklzb0hlYXBDZWxsVHlwZTo6ZGVzdHJv
eSk6CisgICAgICAgICogaGVhcC9Jc29IZWFwQ2VsbFR5cGUuaDoKKyAgICAgICAgKiBoZWFwL0lz
b0lubGluZWRIZWFwQ2VsbFR5cGUuaDogQ29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvSXNvSGVhcENlbGxUeXBlLmguCisgICAgICAgICogaGVhcC9NdXRhdG9yU3RhdGUuY3Bw
OgorICAgICAgICAqIGhlYXAvU3luY2hyb25vdXNuZXNzLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25z
b2xlQ2xpZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0
b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RTY3Jp
cHREZWJ1Z1NlcnZlci5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRI
b3N0LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5
cGUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwOgor
ICAgICAgICAqIGluc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwOgor
ICAgICAgICAqIGluc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvUGVyR2xvYmFsT2JqZWN0V3JhcHBlcldvcmxkLmNwcDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL1Nj
cmlwdERlYnVnU2VydmVyLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckhlYXBBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3Jp
cHRQcm9maWxlckFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFs
T2JqZWN0QXVkaXRBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9KU0dsb2Jh
bE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSlNH
bG9iYWxPYmplY3RSdW50aW1lQWdlbnQuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvVk0uY3BwOgor
ICAgICAgICAoSlNDOjpWTTo6Vk0pOgorICAgICAgICAqIHJ1bnRpbWUvVk0uaDoKKwogMjAxOS0x
Mi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0Nd
IFB1dCBhbGwgQVBJIHJlbGF0ZWQgSlMgY2VsbHMgaW50byBJc29TdWJzcGFjZQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNIZWFwRmluYWxpemVyUHJpdmF0ZS5jcHAKaW5k
ZXggMDEyZGM0ZjU3MjY4ZWRmNTYzNThmYWJjOTU0ZmUyNjk1Y2NkN2U3OS4uMDA5YTY3MWNmODgy
ZTM2OGE4MjJiMGQ2NGExYjdhNjcyZDlkOGYyNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTSGVhcEZpbmFsaXplclByaXZhdGUuY3BwCkBAIC0yOSwxOCArMjksMTYg
QEAKICNpbmNsdWRlICJBUElDYXN0LmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogCi11c2lu
ZyBuYW1lc3BhY2UgSlNDOwotCiB2b2lkIEpTQ29udGV4dEdyb3VwQWRkSGVhcEZpbmFsaXplcihK
U0NvbnRleHRHcm91cFJlZiBncm91cCwgSlNIZWFwRmluYWxpemVyIGZpbmFsaXplciwgdm9pZCAq
dXNlckRhdGEpCiB7Ci0gICAgVk0qIHZtID0gdG9KUyhncm91cCk7Ci0gICAgSlNMb2NrSG9sZGVy
IGxvY2tlcih2bSk7Ci0gICAgdm0tPmhlYXAuYWRkSGVhcEZpbmFsaXplckNhbGxiYWNrKEhlYXBG
aW5hbGl6ZXJDYWxsYmFjayhmaW5hbGl6ZXIsIHVzZXJEYXRhKSk7CisgICAgSlNDOjpWTSogdm0g
PSB0b0pTKGdyb3VwKTsKKyAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrZXIodm0pOworICAgIHZt
LT5oZWFwLmFkZEhlYXBGaW5hbGl6ZXJDYWxsYmFjayhKU0M6OkhlYXBGaW5hbGl6ZXJDYWxsYmFj
ayhmaW5hbGl6ZXIsIHVzZXJEYXRhKSk7CiB9CiAKIHZvaWQgSlNDb250ZXh0R3JvdXBSZW1vdmVI
ZWFwRmluYWxpemVyKEpTQ29udGV4dEdyb3VwUmVmIGdyb3VwLCBKU0hlYXBGaW5hbGl6ZXIgZmlu
YWxpemVyLCB2b2lkICp1c2VyRGF0YSkKIHsKLSAgICBWTSogdm0gPSB0b0pTKGdyb3VwKTsKLSAg
ICBKU0xvY2tIb2xkZXIgbG9ja2VyKHZtKTsKLSAgICB2bS0+aGVhcC5yZW1vdmVIZWFwRmluYWxp
emVyQ2FsbGJhY2soSGVhcEZpbmFsaXplckNhbGxiYWNrKGZpbmFsaXplciwgdXNlckRhdGEpKTsK
KyAgICBKU0M6OlZNKiB2bSA9IHRvSlMoZ3JvdXApOworICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxv
Y2tlcih2bSk7CisgICAgdm0tPmhlYXAucmVtb3ZlSGVhcEZpbmFsaXplckNhbGxiYWNrKEpTQzo6
SGVhcEZpbmFsaXplckNhbGxiYWNrKGZpbmFsaXplciwgdXNlckRhdGEpKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNIZWFwRmluYWxpemVyUHJpdmF0ZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmgKaW5kZXgg
OGM5YjE1MjVlYzk2ZTM3ZjVhZjIxNWQ2OGU0YzAwODk1YjBlZmNmOC4uNDVlMWFkMWJkMWZlMDY3
YzM2N2Y0MTEzMzZmZDljMzM4ZDlkZmE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5k
ZWYgSlNIZWFwRmluYWxpemVyUHJpdmF0ZV9oCiAjZGVmaW5lIEpTSGVhcEZpbmFsaXplclByaXZh
dGVfaAogCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNDb250ZXh0UmVmLmg+CisjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvSlNCYXNlLmg+CiAjaW5jbHVkZSA8c3RkYm9vbC5oPgogCiAjaWZk
ZWYgX19jcGx1c3BsdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZmUyOGUyNDk5
ZjVjMWYxZTgyY2JjYWQzMWVkNjVmMjliZTJjMGFkMS4uMGExOWNhY2Y3NTBhZjBiZGY5OWI5NzNh
N2MwMjQyYzMwZDY5ZTY5YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE4NDQs
NiArMTg0NCw3IEBACiAJCUUzQzI5NUREMUVEMkNCREEwMEQzMDE2RiAvKiBPYmplY3RQcm9wZXJ0
eUNoYW5nZUFkYXB0aXZlV2F0Y2hwb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTNDMjk1REMxRUQyQ0JBQTAwRDMwMTZGIC8qIE9iamVjdFByb3Bl
cnR5Q2hhbmdlQWRhcHRpdmVXYXRjaHBvaW50LmggKi87IH07CiAJCUUzQzY5NEIzMjMwMjY4Nzcw
MDZGQkU0MiAvKiBXYXNtT1NSRW50cnlEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFM0M2OTRCMTIzMDI2ODczMDA2RkJFNDIgLyogV2FzbU9TUkVu
dHJ5RGF0YS5oICovOyB9OwogCQlFM0M3OUNBQjFEQjlBNERDMDBEMUVDQTQgLyogRE9NSklURWZm
ZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0M3
OUNBQTFEQjlBNEQ2MDBEMUVDQTQgLyogRE9NSklURWZmZWN0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTNDOEVENDMyM0ExREJDQjAwMTMxOTU4
IC8qIElzb0lubGluZWRIZWFwQ2VsbFR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzhFRDQyMjNBMURCQzUwMDEzMTk1OCAvKiBJc29JbmxpbmVk
SGVhcENlbGxUeXBlLmggKi87IH07CiAJCUUzRDIzOUM5MUI4MjlDMUMwMEJCRUY2NyAvKiBKU01v
ZHVsZUVudmlyb25tZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFM0QyMzlDNzFCODI5QzFDMDBCQkVGNjcgLyogSlNNb2R1bGVFbnZpcm9ubWVudC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzRDg3
Nzc0MUU2NUMwQTAwMEJFOTQ1QSAvKiBCeXRlY29kZUR1bXBlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNEODc3NzIxRTY1QzA4OTAwQkU5NDVBIC8q
IEJ5dGVjb2RlRHVtcGVyLmggKi87IH07CiAJCUUzRUUxMzc2MjFGQkQ0MzUwMEQ4M0M0QiAvKiBF
cnJvclR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUzRUUxMzc0MjFGQkQ0MzQwMEQ4M0M0QiAvKiBFcnJvclR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNDk5Nyw2ICs0OTk4LDggQEAKIAkJ
RTNDNjk0QjEyMzAyNjg3MzAwNkZCRTQyIC8qIFdhc21PU1JFbnRyeURhdGEuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2FzbU9TUkVudHJ5RGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
M0M2OTRCMjIzMDI2ODc0MDA2RkJFNDIgLyogV2FzbVRpZXJVcENvdW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdhc21UaWVyVXBDb3VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUzQzc5Q0FBMURCOUE0RDYwMEQxRUNBNCAvKiBET01KSVRFZmZlY3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSklURWZmZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUUzQzhFRDQxMjNBMURCQzQwMDEzMTk1OCAvKiBJc29IZWFwQ2VsbFR5cGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSXNvSGVhcENlbGxUeXBl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTNDOEVENDIyM0ExREJDNTAwMTMx
OTU4IC8qIElzb0lubGluZWRIZWFwQ2VsbFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSXNvSW5saW5lZEhlYXBDZWxsVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFM0QyMzlDNjFCODI5QzFDMDBCQkVGNjcgLyogSlNNb2R1bGVFbnZpcm9ubWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vZHVsZUVudmlyb25t
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNEMjM5QzcxQjgyOUMxQzAw
QkJFRjY3IC8qIEpTTW9kdWxlRW52aXJvbm1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNNb2R1bGVFbnZpcm9ubWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFM0QyNjQyNjFEMzhDMDQyMDAwQkUxNzQgLyogQnl0ZWNvZGVHZW5lcmF0b3JpZmljYXRp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQnl0ZWNvZGVHZW5l
cmF0b3JpZmljYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjIwOCw3
ICs2MjExLDkgQEAKIAkJCQkwRkI0Njc3QzFGRERBNkQ5MDAzRkNCMDkgLyogSXNvQ2VsbFNldC5j
cHAgKi8sCiAJCQkJMEZCNDY3N0QxRkREQTZEOTAwM0ZDQjA5IC8qIElzb0NlbGxTZXQuaCAqLywK
IAkJCQkwRkI0Njc3QjFGRERBNkQ4MDAzRkNCMDkgLyogSXNvQ2VsbFNldElubGluZXMuaCAqLywK
KwkJCQlFM0M4RUQ0MTIzQTFEQkM0MDAxMzE5NTggLyogSXNvSGVhcENlbGxUeXBlLmNwcCAqLywK
IAkJCQlFM0JGMUJBRDIzOEFBRUQxMDAzQTFDMkIgLyogSXNvSGVhcENlbGxUeXBlLmggKi8sCisJ
CQkJRTNDOEVENDIyM0ExREJDNTAwMTMxOTU4IC8qIElzb0lubGluZWRIZWFwQ2VsbFR5cGUuaCAq
LywKIAkJCQkwRkRDRTEyQzFGQUZCNERFMDA2RjM5MDEgLyogSXNvU3Vic3BhY2UuY3BwICovLAog
CQkJCTBGRENFMTJCMUZBRkI0REUwMDZGMzkwMSAvKiBJc29TdWJzcGFjZS5oICovLAogCQkJCTBG
RDJGRDkyMjBCNTJCREMwMEYwOTQ0MSAvKiBJc29TdWJzcGFjZUlubGluZXMuaCAqLywKQEAgLTk2
MzIsNiArOTYzNyw3IEBACiAJCQkJMEZCNDY3ODAxRkREQTZGMTAwM0ZDQjA5IC8qIElzb0NlbGxT
ZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQjQ2NzgxMUZEREE2RjcwMDNGQ0IwOSAvKiBJc29D
ZWxsU2V0SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTNCRjFCQUUyMzhBQUVEQjAwM0Ex
QzJCIC8qIElzb0hlYXBDZWxsVHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTNDOEVENDMyM0Ex
REJDQjAwMTMxOTU4IC8qIElzb0lubGluZWRIZWFwQ2VsbFR5cGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGRENFMTJEMUZBRkI0RTUwMDZGMzkwMSAvKiBJc29TdWJzcGFjZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEZEMkZEOTUyMEI1MkJFMjAwRjA5NDQxIC8qIElzb1N1YnNwYWNlSW5saW5lcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1RTBGRTcyMDg2QUQ0ODAwOTdGMERFIC8qIElzb1N1YnNw
YWNlUGVyVk0uaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL1NvdXJjZXMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CmluZGV4
IGUxMTgzNzc5NTM0ODM2OWI1MDVhNTY0OTcxZTZlMWZjZWQ0NDExMzcuLjUzY2NjNzRmODJkOWJk
ZTI1MzNjMmY2OTNlNjY3NmE5YmVmMzFiNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQK
QEAgLTUyNSw2ICs1MjUsNyBAQCBoZWFwL0hlYXBTbmFwc2hvdEJ1aWxkZXIuY3BwCiBoZWFwL0lu
Y3JlbWVudGFsU3dlZXBlci5jcHAKIGhlYXAvSXNvQWxpZ25lZE1lbW9yeUFsbG9jYXRvci5jcHAK
IGhlYXAvSXNvQ2VsbFNldC5jcHAKK2hlYXAvSXNvSGVhcENlbGxUeXBlLmNwcAogaGVhcC9Jc29T
dWJzcGFjZS5jcHAKIGhlYXAvSXNvU3Vic3BhY2VQZXJWTS5jcHAKIGhlYXAvSklUU3R1YlJvdXRp
bmVTZXQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fi
c3RyYWN0TWFjcm9Bc3NlbWJsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmNwcAppbmRleCA4MTBiM2NlODBlNDdkYzQ5OWU1Yjdm
ODAzYzc1MGYyOTlhNjNhOTM3Li5kY2M5ZTU5MjMxY2ZmZTVlNDk3ODI2NGZiZTM3ZTI2ZGY5ZTQx
NjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0
TWFjcm9Bc3NlbWJsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
QWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5jcHAKQEAgLTMwLDEwICszMCwxMCBAQAogCiAjaW5jbHVk
ZSA8d3RmL1ByaW50U3RyZWFtLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KIG5hbWVzcGFj
ZSBXVEYgewogCit1c2luZyBuYW1lc3BhY2UgSlNDOworCiB2b2lkIHByaW50SW50ZXJuYWwoUHJp
bnRTdHJlYW0mIG91dCwgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlckJhc2U6OlN0YXR1c0NvbmRpdGlv
biBjb25kaXRpb24pCiB7CiAgICAgc3dpdGNoIChjb25kaXRpb24pIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5kaW5ncy9TY3JpcHRGdW5jdGlvbkNhbGwuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2JpbmRpbmdzL1NjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAKaW5kZXgg
MmViMDI4NTZkMjZlYTU0M2Y5OTY2MTIxNjhjYjFlMzcxZjJjNWQ1NC4uODY2YWViYzlkOWViNjM5
M2ZhOWU3YzBhODE2MTc3ZDhmZDRhYTYwNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2JpbmRpbmdzL1NjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2JpbmRpbmdzL1NjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAKQEAgLTM2LDEwICszNiwxMCBA
QAogI2luY2x1ZGUgIkpTTG9jay5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
Ci11c2luZyBuYW1lc3BhY2UgSlNDOwotCiBuYW1lc3BhY2UgRGVwcmVjYXRlZCB7CiAKK3VzaW5n
IG5hbWVzcGFjZSBKU0M7CisKIHZvaWQgU2NyaXB0Q2FsbEFyZ3VtZW50SGFuZGxlcjo6YXBwZW5k
QXJndW1lbnQoY29uc3QgU3RyaW5nJiBhcmd1bWVudCkKIHsKICAgICBWTSYgdm0gPSBtX2dsb2Jh
bE9iamVjdC0+dm0oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5kaW5n
cy9TY3JpcHRPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2JpbmRpbmdzL1Njcmlw
dE9iamVjdC5jcHAKaW5kZXggYWU4OTVkNWIyYjQxNGQ3MWI3MzhmMWZkOGZjOGZlNDJkMTc5OGFk
YS4uN2IwNmIwNjQ3NjkwY2NiOGZiZjI4Zjk3YjY4NGU2NWIxY2MwZTcwZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2JpbmRpbmdzL1NjcmlwdE9iamVjdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2JpbmRpbmdzL1NjcmlwdE9iamVjdC5jcHAKQEAgLTM0LDEwICsz
NCwxMCBAQAogCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogCi11c2luZyBuYW1lc3BhY2UgSlND
OwotCiBuYW1lc3BhY2UgRGVwcmVjYXRlZCB7CiAKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKIFNj
cmlwdE9iamVjdDo6U2NyaXB0T2JqZWN0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
T2JqZWN0KiBvYmplY3QpCiAgICAgOiBTY3JpcHRWYWx1ZShnbG9iYWxPYmplY3QtPnZtKCksIG9i
amVjdCkKICAgICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5kaW5ncy9TY3JpcHRWYWx1ZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYmluZGluZ3MvU2NyaXB0VmFsdWUuY3BwCmluZGV4IDVkYTY0ODk3MzRlNjU2
MTdjNDVmNjYzNWI4NjUzZWE5MWRlOWI3NDAuLmRlY2U2YWM1MWUzYTg1YjFlMDk0ZTQwNWVmZmM2
MjAzODg3ZGRmZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5kaW5ncy9T
Y3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2JpbmRpbmdzL1Njcmlw
dFZhbHVlLmNwcApAQCAtMzUsMTEgKzM1LDEwIEBACiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgog
I2luY2x1ZGUgIkpTTG9jay5oIgogCi11c2luZyBuYW1lc3BhY2UgSlNDOwotdXNpbmcgbmFtZXNw
YWNlIEluc3BlY3RvcjsKLQogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKK3VzaW5nIG5hbWVzcGFj
ZSBKU0M7CisKIHN0YXRpYyBSZWZQdHI8SlNPTjo6VmFsdWU+IGpzVG9JbnNwZWN0b3JWYWx1ZShK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlLCBpbnQgbWF4RGVwdGgp
CiB7CiAgICAgaWYgKCF2YWx1ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvSXNvSGVhcENlbGxUeXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lz
b0hlYXBDZWxsVHlwZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjMzZjVjY2E4OTM1ZTQyN2M4ZDUxYmRmYjQw
OTc3YWFiZDNmMGNjZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL0lzb0hlYXBDZWxsVHlwZS5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiSXNvSGVhcENlbGxUeXBlLmgiCisKKyNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCisjaW5j
bHVkZSAiTWFya2VkQmxvY2tJbmxpbmVzLmgiCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIElz
b0hlYXBDZWxsVHlwZTo6ZmluaXNoU3dlZXAoTWFya2VkQmxvY2s6OkhhbmRsZSYgaGFuZGxlLCBG
cmVlTGlzdCogZnJlZUxpc3QpCit7CisgICAgaGFuZGxlLmZpbmlzaFN3ZWVwS25vd2luZ0hlYXBD
ZWxsVHlwZShmcmVlTGlzdCwgKnRoaXMpOworfQorCit2b2lkIElzb0hlYXBDZWxsVHlwZTo6ZGVz
dHJveShWTSYsIEpTQ2VsbCogY2VsbCkKK3sKKyAgICBtX2Rlc3Ryb3koY2VsbCk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIEpTQworCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9Jc29IZWFwQ2VsbFR5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb0hlYXBD
ZWxsVHlwZS5oCmluZGV4IGYzZWZhZmY0YTEwZTkxZTllMzU3ZGYxNDNlY2E0YmZmMzA5MGQzNTgu
LjE0NGQ1OTUxNWZhNTU3ZjdhZDI4ZDA0N2EyY2YxNWNiMTgxMWIyOTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb0hlYXBDZWxsVHlwZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0lzb0hlYXBDZWxsVHlwZS5oCkBAIC0yOCwzMSArMjgsMzIgQEAK
IAogbmFtZXNwYWNlIEpTQyB7CiAKLXRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlPgogY2xhc3Mg
SXNvSGVhcENlbGxUeXBlIGZpbmFsIDogcHVibGljIEhlYXBDZWxsVHlwZSB7CiBwdWJsaWM6Ci0g
ICAgSXNvSGVhcENlbGxUeXBlKCkKLSAgICAgICAgOiBIZWFwQ2VsbFR5cGUoQ2VsbEF0dHJpYnV0
ZXMoQ2VsbFR5cGU6Om5lZWRzRGVzdHJ1Y3Rpb24gPyBOZWVkc0Rlc3RydWN0aW9uIDogRG9lc05v
dE5lZWREZXN0cnVjdGlvbiwgSGVhcENlbGw6OkpTQ2VsbCkpCisgICAgdXNpbmcgRGVzdHJveUZ1
bmN0aW9uUHRyID0gdm9pZCAoKikoSlNDZWxsKik7CisKKyAgICBJc29IZWFwQ2VsbFR5cGUoRGVz
dHJ1Y3Rpb25Nb2RlIGRlc3RydWN0aW9uTW9kZSwgRGVzdHJveUZ1bmN0aW9uUHRyIGRlc3Ryb3lG
dW5jdGlvbikKKyAgICAgICAgOiBIZWFwQ2VsbFR5cGUoQ2VsbEF0dHJpYnV0ZXMoZGVzdHJ1Y3Rp
b25Nb2RlLCBIZWFwQ2VsbDo6SlNDZWxsKSkKKyAgICAgICAgLCBtX2Rlc3Ryb3koZGVzdHJveUZ1
bmN0aW9uKQogICAgIHsKICAgICB9CiAKLSAgICBzdHJ1Y3QgRGVzdHJveUZ1bmMgewotICAgICAg
ICBBTFdBWVNfSU5MSU5FIHZvaWQgb3BlcmF0b3IoKShWTSYsIEpTQ2VsbCogY2VsbCkgY29uc3QK
LSAgICAgICAgewotICAgICAgICAgICAgQ2VsbFR5cGU6OmRlc3Ryb3koY2VsbCk7Ci0gICAgICAg
IH0KLSAgICB9OwotCi0gICAgdm9pZCBmaW5pc2hTd2VlcChNYXJrZWRCbG9jazo6SGFuZGxlJiBo
YW5kbGUsIEZyZWVMaXN0KiBmcmVlTGlzdCkgb3ZlcnJpZGUKKyAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBDZWxsVHlwZT4KKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZT4g
Y3JlYXRlKCkKICAgICB7Ci0gICAgICAgIGhhbmRsZS5maW5pc2hTd2VlcEtub3dpbmdIZWFwQ2Vs
bFR5cGUoZnJlZUxpc3QsIERlc3Ryb3lGdW5jKCkpOworICAgICAgICByZXR1cm4gbWFrZVVuaXF1
ZTxJc29IZWFwQ2VsbFR5cGU+KENlbGxUeXBlOjpuZWVkc0Rlc3RydWN0aW9uID8gTmVlZHNEZXN0
cnVjdGlvbiA6IERvZXNOb3ROZWVkRGVzdHJ1Y3Rpb24sICZDZWxsVHlwZTo6ZGVzdHJveSk7CiAg
ICAgfQogCi0gICAgdm9pZCBkZXN0cm95KFZNJiwgSlNDZWxsKiBjZWxsKSBvdmVycmlkZQorICAg
IHZvaWQgZmluaXNoU3dlZXAoTWFya2VkQmxvY2s6OkhhbmRsZSYsIEZyZWVMaXN0Kikgb3ZlcnJp
ZGU7CisgICAgdm9pZCBkZXN0cm95KFZNJiwgSlNDZWxsKikgb3ZlcnJpZGU7CisKKyAgICBBTFdB
WVNfSU5MSU5FIHZvaWQgb3BlcmF0b3IoKShWTSYsIEpTQ2VsbCogY2VsbCkgY29uc3QKICAgICB7
Ci0gICAgICAgIENlbGxUeXBlOjpkZXN0cm95KGNlbGwpOworICAgICAgICBtX2Rlc3Ryb3koY2Vs
bCk7CiAgICAgfQorCitwcml2YXRlOgorICAgIERlc3Ryb3lGdW5jdGlvblB0ciBXVEZfVlRCTF9G
VU5DUFRSX1BUUkFVVEhfU1RSKCJJc29IZWFwQ2VsbFR5cGUuZGVzdHJveSIpIG1fZGVzdHJveTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwotCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9Jc29JbmxpbmVkSGVhcENlbGxUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9Jc29JbmxpbmVkSGVhcENlbGxUeXBlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTJhMTY2M2Q2Mjc2
NmViYzY0NGU1ZTIwZTI1ZWRkYTlkZmUzMGRlOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0lzb0lubGluZWRIZWFwQ2VsbFR5cGUuaApAQCAtMCwwICsxLDU4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgIkhlYXBDZWxsVHlwZS5oIgorI2luY2x1ZGUgIk1hcmtlZEJsb2NrSW5saW5lcy5oIgorCitu
YW1lc3BhY2UgSlNDIHsKKwordGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGU+CitjbGFzcyBJc29J
bmxpbmVkSGVhcENlbGxUeXBlIGZpbmFsIDogcHVibGljIEhlYXBDZWxsVHlwZSB7CitwdWJsaWM6
CisgICAgSXNvSW5saW5lZEhlYXBDZWxsVHlwZSgpCisgICAgICAgIDogSGVhcENlbGxUeXBlKENl
bGxBdHRyaWJ1dGVzKENlbGxUeXBlOjpuZWVkc0Rlc3RydWN0aW9uID8gTmVlZHNEZXN0cnVjdGlv
biA6IERvZXNOb3ROZWVkRGVzdHJ1Y3Rpb24sIEhlYXBDZWxsOjpKU0NlbGwpKQorICAgIHsKKyAg
ICB9CisKKyAgICBzdHJ1Y3QgRGVzdHJveUZ1bmMgeworICAgICAgICBBTFdBWVNfSU5MSU5FIHZv
aWQgb3BlcmF0b3IoKShWTSYsIEpTQ2VsbCogY2VsbCkgY29uc3QKKyAgICAgICAgeworICAgICAg
ICAgICAgQ2VsbFR5cGU6OmRlc3Ryb3koY2VsbCk7CisgICAgICAgIH0KKyAgICB9OworCisgICAg
dm9pZCBmaW5pc2hTd2VlcChNYXJrZWRCbG9jazo6SGFuZGxlJiBoYW5kbGUsIEZyZWVMaXN0KiBm
cmVlTGlzdCkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIGhhbmRsZS5maW5pc2hTd2VlcEtub3dp
bmdIZWFwQ2VsbFR5cGUoZnJlZUxpc3QsIERlc3Ryb3lGdW5jKCkpOworICAgIH0KKworICAgIHZv
aWQgZGVzdHJveShWTSYsIEpTQ2VsbCogY2VsbCkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIENl
bGxUeXBlOjpkZXN0cm95KGNlbGwpOworICAgIH0KK307CisKK30gLy8gbmFtZXNwYWNlIEpTQwor
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NdXRhdG9yU3RhdGUuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTXV0YXRvclN0YXRlLmNwcAppbmRleCA1YTkw
YjdiOTQyNWE3NTcxMDYyOTc4NTM1NjM1OGIwMDhhNjFiNTcxLi4xMGM5ZGQ4ZTM2ZWRhZmE2Yzc4
M2E4YzFhZWZhYTE4YjU4ZTJiNTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9NdXRhdG9yU3RhdGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL011
dGF0b3JTdGF0ZS5jcHAKQEAgLTI4LDEwICsyOCwxMCBAQAogCiAjaW5jbHVkZSA8d3RmL1ByaW50
U3RyZWFtLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KIG5hbWVzcGFjZSBXVEYgewogCit1
c2luZyBuYW1lc3BhY2UgSlNDOworCiB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91
dCwgTXV0YXRvclN0YXRlIHN0YXRlKQogewogICAgIHN3aXRjaCAoc3RhdGUpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1N5bmNocm9ub3VzbmVzcy5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TeW5jaHJvbm91c25lc3MuY3BwCmluZGV4IGRkOGU1NTk5
YTQwZTQ4ZmMyOGQ3MWM0YzNmMjc2YTQwZjM5ZjAxNjEuLjQzMjRiNDRhZTQ1YjAwNDMxZjVjYTBh
NjM2YmIxYTljOGRiYzg0OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L1N5bmNocm9ub3VzbmVzcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU3lu
Y2hyb25vdXNuZXNzLmNwcApAQCAtMjgsMTAgKzI4LDEwIEBACiAKICNpbmNsdWRlIDx3dGYvUHJp
bnRTdHJlYW0uaD4KIAotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQogbmFtZXNwYWNlIFdURiB7CiAK
K3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYg
b3V0LCBTeW5jaHJvbm91c25lc3Mgc3luY2hyb25vdXNuZXNzKQogewogICAgIHN3aXRjaCAoc3lu
Y2hyb25vdXNuZXNzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0SG9zdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0SG9zdC5jcHAKaW5kZXggNzJlZGFiYmFmNmY5MjlkMjhiOGNlZmNj
YmFhODdkOWViMGQyOWE0Yi4uOWNjMjQ0ZjAxZmFjZDZiYmIwYjMwMGVhM2Y2OWRkMDY3MGRmOWI3
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdEhvc3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0
ZWRTY3JpcHRIb3N0LmNwcApAQCAtMjksMTAgKzI5LDEwIEBACiAjaW5jbHVkZSAiSlNDSW5saW5l
cy5oIgogI2luY2x1ZGUgIkpTSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAKLXVzaW5nIG5hbWVzcGFj
ZSBKU0M7Ci0KIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCit1c2luZyBuYW1lc3BhY2UgSlNDOwor
CiBJbmplY3RlZFNjcmlwdEhvc3Q6On5JbmplY3RlZFNjcmlwdEhvc3QoKQogewogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFn
ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1h
bmFnZXIuY3BwCmluZGV4IGEwOGYyM2VmMWI5MDVkMTQxYWRmYzQzZGNlYWYyNWNhNjNiNWM0NzIu
LjUxZTNjMWEwMzA1MWYwYjQyYWM1MTYyMTVhOTVhNDYyY2U0NmJkYjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdl
ci5jcHAKQEAgLTQyLDEwICs0MiwxMCBAQAogI2luY2x1ZGUgIlNvdXJjZUNvZGUuaCIKICNpbmNs
dWRlIDx3dGYvSlNPTlZhbHVlcy5oPgogCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCiBuYW1lc3Bh
Y2UgSW5zcGVjdG9yIHsKIAordXNpbmcgbmFtZXNwYWNlIEpTQzsKKwogSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjpJbmplY3RlZFNjcmlwdE1hbmFnZXIoSW5zcGVjdG9yRW52aXJvbm1lbnQmIGVudmly
b25tZW50LCBSZWY8SW5qZWN0ZWRTY3JpcHRIb3N0PiYmIGluamVjdGVkU2NyaXB0SG9zdCkKICAg
ICA6IG1fZW52aXJvbm1lbnQoZW52aXJvbm1lbnQpCiAgICAgLCBtX2luamVjdGVkU2NyaXB0SG9z
dChXVEZNb3ZlKGluamVjdGVkU2NyaXB0SG9zdCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5j
cHAKaW5kZXggOGRlZjdlMjRlMzAyNTVhMDBjZTE0YTNlZjcxNmVhM2Y1Yjc4MTY1Yi4uYWEwYThk
NDgxNTFlOGFjN2M5MDI4NDg3MjliMjBmZDdlYjU2ZjFmNSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xl
Q2xpZW50LmNwcApAQCAtMzQsMTAgKzM0LDEwIEBACiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNr
LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogCi11c2luZyBuYW1lc3Bh
Y2UgSlNDOwotCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAordXNpbmcgbmFtZXNwYWNlIEpTQzsK
KwogI2lmICFMT0dfRElTQUJMRUQKIHN0YXRpYyBib29sIHNMb2dUb1N5c3RlbUNvbnNvbGUgPSB0
cnVlOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRl
eCAxZTVkNjJlZmYyYmZhN2UyYWRiMzhmNzAzMjdmMWY5ZDliOTcwZjg5Li5lN2QyMTBjNDU2OTc2
OGYzNTMwYzFhMWEyYTlmYWNiMDI0ZTU1ZWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwCkBAIC01NywxMCArNTcsMTAgQEAKICNpbmNsdWRlICJSZW1vdGVJbnNw
ZWN0b3IuaCIKICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCiBuYW1lc3BhY2UgSW5z
cGVjdG9yIHsKIAordXNpbmcgbmFtZXNwYWNlIEpTQzsKKwogSlNHbG9iYWxPYmplY3RJbnNwZWN0
b3JDb250cm9sbGVyOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIoSlNHbG9iYWxP
YmplY3QmIGdsb2JhbE9iamVjdCkKICAgICA6IG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCkK
ICAgICAsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKG1ha2VVbmlxdWU8SW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyPigqdGhpcywgSW5qZWN0ZWRTY3JpcHRIb3N0OjpjcmVhdGUoKSkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0U2NyaXB0RGVi
dWdTZXJ2ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9i
amVjdFNjcmlwdERlYnVnU2VydmVyLmNwcAppbmRleCAxNWY4MGYyMWZhNzZiZjRkNGU0NGU5MGQ2
MmIxZWNiNTcwMmJjMzQ2Li5hZWY1M2QyYzM4NmI1YmIxODJlZDVjNmRhMzVlOGNmN2FlZWM4YTM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2Jq
ZWN0U2NyaXB0RGVidWdTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5jcHAKQEAgLTMxLDEwICszMSwx
MCBAQAogI2luY2x1ZGUgIkpTTG9jay5oIgogI2luY2x1ZGUgIlJlbW90ZUluc3BlY3Rpb25UYXJn
ZXQuaCIKIAotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAK
K3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKIEpTR2xvYmFsT2JqZWN0U2NyaXB0RGVidWdTZXJ2ZXI6
OkpTR2xvYmFsT2JqZWN0U2NyaXB0RGVidWdTZXJ2ZXIoSlNHbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCkKICAgICA6IFNjcmlwdERlYnVnU2VydmVyKGdsb2JhbE9iamVjdC52bSgpKQogICAgICwg
bV9nbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcAppbmRleCAyZTA0ZmEx
MjNkNTE1NTAwNDkzMTYwY2U3OWUzZjkzNmYxNWMyNDE2Li5hNzE3NGE2MjlmNjdjMGIzODViOGJi
Njk1YWZiYjBhYzc4MTUwNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcApAQCAtODAsMTAgKzgwLDEwIEBA
CiAjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5n
Q29uY2F0ZW5hdGUuaD4KIAotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQogbmFtZXNwYWNlIEluc3Bl
Y3RvciB7CiAKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKIGNvbnN0IENsYXNzSW5mbyBKU0luamVj
dGVkU2NyaXB0SG9zdDo6c19pbmZvID0geyAiSW5qZWN0ZWRTY3JpcHRIb3N0IiwgJkJhc2U6OnNf
aW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0luamVjdGVkU2Ny
aXB0SG9zdCkgfTsKIAogSlNJbmplY3RlZFNjcmlwdEhvc3Q6OkpTSW5qZWN0ZWRTY3JpcHRIb3N0
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZjxJbmplY3RlZFNjcmlwdEhvc3Q+JiYg
aW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmpl
Y3RlZFNjcmlwdEhvc3RQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5jcHAKaW5kZXggMmQ0YzBiY2Y1YTNm
MzIzOGEyYzI1ZDZkNTk1NThmMjIyY2YzOWIxYS4uODEyNjQzOGE0NzQwNzU1ZjRiYjRiMTJlNWY0
MGQzZTcwZWVhOWMzYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5jcHAKQEAgLTM0
LDEwICszNCwxMCBAQAogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0luamVj
dGVkU2NyaXB0SG9zdC5oIgogCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCiBuYW1lc3BhY2UgSW5z
cGVjdG9yIHsKIAordXNpbmcgbmFtZXNwYWNlIEpTQzsKKwogc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwganNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGVGdW5jdGlvblN1YnR5
cGUoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGpzSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlRnVuY3Rpb25GdW5jdGlv
bkRldGFpbHMoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKIHN0YXRpYyBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGpzSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlRnVuY3Rpb25H
ZXRJbnRlcm5hbFByb3BlcnRpZXMoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZy
YW1lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lLmNwcAppbmRleCA1ZmVmZTk4OTVjMGU0YTM0ZWZkNzBlOTM5YmFiNDA3ZDFhMjY2YTBk
Li4yMGRhOTkyNDMyYzFiZDA3Zjc0MjEzODQ3OWQ0NDhjZDY4MTUxYzY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJh
bWUuY3BwCkBAIC0zMywxMCArMzMsMTAgQEAKICNpbmNsdWRlICJKU0phdmFTY3JpcHRDYWxsRnJh
bWVQcm90b3R5cGUuaCIKICNpbmNsdWRlICJPYmplY3RDb25zdHJ1Y3Rvci5oIgogCi11c2luZyBu
YW1lc3BhY2UgSlNDOwotCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAordXNpbmcgbmFtZXNwYWNl
IEpTQzsKKwogY29uc3QgQ2xhc3NJbmZvIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6c19pbmZvID0g
eyAiSmF2YVNjcmlwdENhbGxGcmFtZSIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIs
IENSRUFURV9NRVRIT0RfVEFCTEUoSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKSB9OwogCiBKU0phdmFT
Y3JpcHRDYWxsRnJhbWU6OkpTSmF2YVNjcmlwdENhbGxGcmFtZShWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBSZWY8SmF2YVNjcmlwdENhbGxGcmFtZT4mJiBpbXBsKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90
b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRD
YWxsRnJhbWVQcm90b3R5cGUuY3BwCmluZGV4IDUyNDFhN2U0OGE0ZWZkNGE4MGRiZDBjMGUzMzEy
OTE0NWVhNDM4N2YuLjhiNDBhMTQyYjM5ODRjNmRjYjViYzBkZjBmNDYzMjEwYzU2N2Y3NTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAKQEAgLTMyLDEwICszMiwxMCBAQAog
I2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0phdmFTY3JpcHRDYWxsRnJhbWUu
aCIKIAotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKK3Vz
aW5nIG5hbWVzcGFjZSBKU0M7CisKIC8vIEZ1bmN0aW9ucy4KIHN0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZUZ1bmN0aW9uRXZh
bHVhdGVXaXRoU2NvcGVFeHRlbnNpb24oSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKIHN0
YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZVBy
b3RvdHlwZUZ1bmN0aW9uU2NvcGVEZXNjcmlwdGlvbnMoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJh
bWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSmF2YVNj
cmlwdENhbGxGcmFtZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0phdmFT
Y3JpcHRDYWxsRnJhbWUuY3BwCmluZGV4IDNjMjg0ODRhZWI0ZDExODA1MWM4NDAwMTdhYWMxMzQ5
ZTE4ZTUzODMuLmVhYjA3MTAwMGQ1ZDY2MzQ5ZGMxYWE4MGUzMzJiNDhjM2Y3MGQ0ODkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFt
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2Fs
bEZyYW1lLmNwcApAQCAtMjYsMTAgKzI2LDEwIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiSmF2YVNjcmlwdENhbGxGcmFtZS5oIgogCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCiBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKIAordXNpbmcgbmFtZXNwYWNlIEpTQzsKKwogSmF2YVNjcmlw
dENhbGxGcmFtZTo6SmF2YVNjcmlwdENhbGxGcmFtZShSZWY8RGVidWdnZXJDYWxsRnJhbWU+JiYg
ZGVidWdnZXJDYWxsRnJhbWUpCiAgICAgOiBtX2RlYnVnZ2VyQ2FsbEZyYW1lKFdURk1vdmUoZGVi
dWdnZXJDYWxsRnJhbWUpKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9QZXJHbG9iYWxPYmplY3RXcmFwcGVyV29ybGQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9QZXJHbG9iYWxPYmplY3RXcmFwcGVyV29ybGQuY3BwCmluZGV4IGM5
YjdhYmQ4ZmYwMmRkNTIyMTRhNzM4NGQ5MGU1MjNlOWE5Y2U2Y2MuLmM4NmY4YTUyZTAxNjRmMWY1
MGQ0MTZjOTNiYmQ1ZmU2YTc5MDY5MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvUGVyR2xvYmFsT2JqZWN0V3JhcHBlcldvcmxkLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1Blckdsb2JhbE9iamVjdFdyYXBwZXJXb3JsZC5jcHAK
QEAgLTI2LDEwICsyNiwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBlckds
b2JhbE9iamVjdFdyYXBwZXJXb3JsZC5oIgogCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCiBuYW1l
c3BhY2UgSW5zcGVjdG9yIHsKIAordXNpbmcgbmFtZXNwYWNlIEpTQzsKKwogSlNWYWx1ZSBQZXJH
bG9iYWxPYmplY3RXcmFwcGVyV29ybGQ6OmdldFdyYXBwZXIoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKIHsKICAgICBhdXRvIGl0ID0gbV93cmFwcGVycy5maW5kKGdsb2JhbE9iamVjdCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxT
dGFja0ZhY3RvcnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRD
YWxsU3RhY2tGYWN0b3J5LmNwcAppbmRleCA2ZDdkM2M1YTJmMzI4MmMzODRlYTUxOWQ4M2EyMWNh
ODI2M2Q3M2FlLi5iMTZkYmY5MDIwYjE2YzdkZTJhMTMwZTAyYmEyYzVlM2FlYWNhYmMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0Zh
Y3RvcnkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5jcHAKQEAgLTQ1LDEwICs0NSwxMCBAQAogI2luY2x1ZGUgIlN0cm9uZ0lu
bGluZXMuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdXNpbmcgbmFtZXNw
YWNlIEpTQzsKLQogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKK3VzaW5nIG5hbWVzcGFjZSBKU0M7
CisKIGNsYXNzIENyZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3IgewogcHVibGljOgogICAgIENy
ZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3IoYm9vbCBuZWVkVG9Ta2lwQUZyYW1lLCBWZWN0b3I8
U2NyaXB0Q2FsbEZyYW1lPiYgZnJhbWVzLCBzaXplX3QgcmVtYWluaW5nQ2FwYWNpdHkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVy
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIu
Y3BwCmluZGV4IDM4NDlmNmE4OWNiNjJhNmE4ZTAzNTI2N2Y5NjkwNDllZDJjMGQ3YjIuLjdmYTYw
OTM3ODZjOTcwZjBlODVlMDQ1OTI0NTFmYjZkNGNkOWE4ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC00MSwx
MCArNDEsMTAgQEAKICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3
dGYvU2V0Rm9yU2NvcGUuaD4KIAotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQogbmFtZXNwYWNlIElu
c3BlY3RvciB7CiAKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKIFNjcmlwdERlYnVnU2VydmVyOjpT
Y3JpcHREZWJ1Z1NlcnZlcihWTSYgdm0pCiAgICAgOiBEZWJ1Z2dlcih2bSkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBB
Z2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JIZWFwQWdlbnQuY3BwCmluZGV4IDExNWVjNjkzZmQ1MTc1ZDFjOTczZTE5YzdkOTZiNWM1N2M2
YThhZGQuLjgxMzMyZDIxMDkxMjc0MjQwZWQwYzE4ZTRiZTQ0MGU3NDEzZDgyYWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBB
Z2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9ySGVhcEFnZW50LmNwcApAQCAtMzYsMTAgKzM2LDEwIEBACiAjaW5jbHVkZSAiVk0uaCIK
ICNpbmNsdWRlIDx3dGYvU3RvcHdhdGNoLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KIG5h
bWVzcGFjZSBJbnNwZWN0b3IgewogCit1c2luZyBuYW1lc3BhY2UgSlNDOworCiBJbnNwZWN0b3JI
ZWFwQWdlbnQ6Okluc3BlY3RvckhlYXBBZ2VudChBZ2VudENvbnRleHQmIGNvbnRleHQpCiAgICAg
OiBJbnNwZWN0b3JBZ2VudEJhc2UoIkhlYXAiX3MpCiAgICAgLCBtX2luamVjdGVkU2NyaXB0TWFu
YWdlcihjb250ZXh0LmluamVjdGVkU2NyaXB0TWFuYWdlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdl
bnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
U2NyaXB0UHJvZmlsZXJBZ2VudC5jcHAKaW5kZXggNDkxZTQ5OTQ0NGM0NGY5MzY1M2FlM2E3NGIy
MTQ5YzMyNWFlZDNjMC4uYjRiNjRjNzgzZTUxOTI2MzhkMmI0MzMxYzIzNzhhYzc3ZmJiMjUxMiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yU2NyaXB0UHJvZmlsZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudC5jcHAKQEAgLTMzLDEw
ICszMywxMCBAQAogI2luY2x1ZGUgIlNjcmlwdERlYnVnU2VydmVyLmgiCiAjaW5jbHVkZSA8d3Rm
L1N0b3B3YXRjaC5oPgogCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCiBuYW1lc3BhY2UgSW5zcGVj
dG9yIHsKIAordXNpbmcgbmFtZXNwYWNlIEpTQzsKKwogSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJB
Z2VudDo6SW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudChBZ2VudENvbnRleHQmIGNvbnRleHQp
CiAgICAgOiBJbnNwZWN0b3JBZ2VudEJhc2UoIlNjcmlwdFByb2ZpbGVyIl9zKQogICAgICwgbV9m
cm9udGVuZERpc3BhdGNoZXIobWFrZVVuaXF1ZTxTY3JpcHRQcm9maWxlckZyb250ZW5kRGlzcGF0
Y2hlcj4oY29udGV4dC5mcm9udGVuZFJvdXRlcikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdEF1ZGl0QWdlbnQuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RBdWRp
dEFnZW50LmNwcAppbmRleCBmZTU3NjViZDQwNGUxYTAwMTEzMTg5NDRmODViMmZkMTc1YWQ4OTYx
Li44ZDk4Nzk4NmFiYzhiMDU2NTJjOWIzNThmM2Y3M2FjZmVkN2JjN2ZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdEF1ZGl0
QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pT
R2xvYmFsT2JqZWN0QXVkaXRBZ2VudC5jcHAKQEAgLTM0LDEwICszNCwxMCBAQAogI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdXNpbmcg
bmFtZXNwYWNlIEpTQzsKLQogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKK3VzaW5nIG5hbWVzcGFj
ZSBKU0M7CisKIEpTR2xvYmFsT2JqZWN0QXVkaXRBZ2VudDo6SlNHbG9iYWxPYmplY3RBdWRpdEFn
ZW50KEpTQWdlbnRDb250ZXh0JiBjb250ZXh0KQogICAgIDogSW5zcGVjdG9yQXVkaXRBZ2VudChj
b250ZXh0KQogICAgICwgbV9nbG9iYWxPYmplY3QoY29udGV4dC5pbnNwZWN0ZWRHbG9iYWxPYmpl
Y3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9K
U0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcAppbmRleCBkNTU2
ZTRhMTYxYjI4YzJkMzQ0YzM5Y2M3ZjczM2RhMTEwM2QyM2I3Li45MzJkMmMxOTk1ODZiNDA4OGZk
NDE2ZjQyOWQzMGRjYmFlNmZiMzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdn
ZXJBZ2VudC5jcHAKQEAgLTM1LDEwICszNSwxMCBAQAogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFj
ay5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKIAotdXNpbmcgbmFtZXNw
YWNlIEpTQzsKLQogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKK3VzaW5nIG5hbWVzcGFjZSBKU0M7
CisKIEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudDo6SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFn
ZW50KEpTQWdlbnRDb250ZXh0JiBjb250ZXh0LCBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNv
bGVBZ2VudCkKICAgICA6IEluc3BlY3RvckRlYnVnZ2VyQWdlbnQoY29udGV4dCkKICAgICAsIG1f
Y29uc29sZUFnZW50KGNvbnNvbGVBZ2VudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGlt
ZUFnZW50LmNwcAppbmRleCA4NzdhY2Y3NjNhZGNiMTNkNzlmNzBjNjdhNDg2OGQ2ZWM4NDYyZjZm
Li4zMzAyODI0YmI3ZTY5YTY2MzZlMzJhZmIwYzhiNWQzNTE0OTY0ZTU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRp
bWVBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuY3BwCkBAIC0zMCwxMCArMzAsMTAgQEAKICNpbmNs
dWRlICJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5o
IgogCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAordXNp
bmcgbmFtZXNwYWNlIEpTQzsKKwogSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQ6OkpTR2xvYmFs
T2JqZWN0UnVudGltZUFnZW50KEpTQWdlbnRDb250ZXh0JiBjb250ZXh0KQogICAgIDogSW5zcGVj
dG9yUnVudGltZUFnZW50KGNvbnRleHQpCiAgICAgLCBtX2Zyb250ZW5kRGlzcGF0Y2hlcihtYWtl
VW5pcXVlPFJ1bnRpbWVGcm9udGVuZERpc3BhdGNoZXI+KGNvbnRleHQuZnJvbnRlbmRSb3V0ZXIp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCmluZGV4IGMyNTY2NmJmNzVkZTBlNmE4
YjA5MzdlYTdmZTMxZmQxNzk4NDZmNDEuLjE1NzdjZjdmMDI3NGE3MDUwMDczODZiMTFmOTFiNzc4
YTE0Yzc5MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKQEAgLTc2LDYgKzc2
LDcgQEAKICNpbmNsdWRlICJJbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuaCIKICNpbmNsdWRl
ICJJbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIklzb0hlYXBDZWxsVHlw
ZS5oIgorI2luY2x1ZGUgIklzb0lubGluZWRIZWFwQ2VsbFR5cGUuaCIKICNpbmNsdWRlICJKSVRD
b2RlLmgiCiAjaW5jbHVkZSAiSklUV29ya2xpc3QuaCIKICNpbmNsdWRlICJKU0FQSUdsb2JhbE9i
amVjdC5oIgpAQCAtMzAxLDQwICszMDIsNDAgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBU
eXBlIGhlYXBUeXBlKQogICAgICwgaW1tdXRhYmxlQnV0dGVyZmx5SGVhcENlbGxUeXBlKG1ha2VV
bmlxdWU8SGVhcENlbGxUeXBlPihDZWxsQXR0cmlidXRlcyhEb2VzTm90TmVlZERlc3RydWN0aW9u
LCBIZWFwQ2VsbDo6SlNDZWxsV2l0aEludGVyaW9yUG9pbnRlcnMpKSkKICAgICAsIGNlbGxIZWFw
Q2VsbFR5cGUobWFrZVVuaXF1ZTxIZWFwQ2VsbFR5cGU+KENlbGxBdHRyaWJ1dGVzKERvZXNOb3RO
ZWVkRGVzdHJ1Y3Rpb24sIEhlYXBDZWxsOjpKU0NlbGwpKSkKICAgICAsIGRlc3RydWN0aWJsZUNl
bGxIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxIZWFwQ2VsbFR5cGU+KENlbGxBdHRyaWJ1dGVzKE5l
ZWRzRGVzdHJ1Y3Rpb24sIEhlYXBDZWxsOjpKU0NlbGwpKSkKLSAgICAsIGNhbGxiYWNrQ29uc3Ry
dWN0b3JIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNDYWxsYmFja0Nv
bnN0cnVjdG9yPj4oKSkKLSAgICAsIGNhbGxiYWNrT2JqZWN0SGVhcENlbGxUeXBlKG1ha2VVbmlx
dWU8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4+Pigp
KQotICAgICwgZGF0ZUluc3RhbmNlSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxU
eXBlPERhdGVJbnN0YW5jZT4+KCkpCi0gICAgLCBlcnJvckluc3RhbmNlSGVhcENlbGxUeXBlKG1h
a2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPEVycm9ySW5zdGFuY2U+PigpKQotICAgICwganNNb2R1
bGVSZWNvcmRIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNNb2R1bGVS
ZWNvcmQ+PigpKQotICAgICwgbW9kdWxlTmFtZXNwYWNlT2JqZWN0SGVhcENlbGxUeXBlKG1ha2VV
bmlxdWU8SXNvSGVhcENlbGxUeXBlPEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0Pj4oKSkKLSAgICAs
IG5hdGl2ZVN0ZEZ1bmN0aW9uSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBl
PEpTTmF0aXZlU3RkRnVuY3Rpb24+PigpKQotICAgICwgc3RyaW5nSGVhcENlbGxUeXBlKG1ha2VV
bmlxdWU8SXNvSGVhcENlbGxUeXBlPEpTU3RyaW5nPj4oKSkKLSAgICAsIHdlYWtNYXBIZWFwQ2Vs
bFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNXZWFrTWFwPj4oKSkKLSAgICAsIHdl
YWtTZXRIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNXZWFrU2V0Pj4o
KSkKKyAgICAsIGNhbGxiYWNrQ29uc3RydWN0b3JIZWFwQ2VsbFR5cGUoSXNvSGVhcENlbGxUeXBl
OjpjcmVhdGU8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigpKQorICAgICwgY2FsbGJhY2tPYmplY3RI
ZWFwQ2VsbFR5cGUoSXNvSGVhcENlbGxUeXBlOjpjcmVhdGU8SlNDYWxsYmFja09iamVjdDxKU05v
bkZpbmFsT2JqZWN0Pj4oKSkKKyAgICAsIGRhdGVJbnN0YW5jZUhlYXBDZWxsVHlwZShJc29IZWFw
Q2VsbFR5cGU6OmNyZWF0ZTxEYXRlSW5zdGFuY2U+KCkpCisgICAgLCBlcnJvckluc3RhbmNlSGVh
cENlbGxUeXBlKElzb0hlYXBDZWxsVHlwZTo6Y3JlYXRlPEVycm9ySW5zdGFuY2U+KCkpCisgICAg
LCBqc01vZHVsZVJlY29yZEhlYXBDZWxsVHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxKU01v
ZHVsZVJlY29yZD4oKSkKKyAgICAsIG1vZHVsZU5hbWVzcGFjZU9iamVjdEhlYXBDZWxsVHlwZShJ
c29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxKU01vZHVsZU5hbWVzcGFjZU9iamVjdD4oKSkKKyAgICAs
IG5hdGl2ZVN0ZEZ1bmN0aW9uSGVhcENlbGxUeXBlKElzb0hlYXBDZWxsVHlwZTo6Y3JlYXRlPEpT
TmF0aXZlU3RkRnVuY3Rpb24+KCkpCisgICAgLCBzdHJpbmdIZWFwQ2VsbFR5cGUobWFrZVVuaXF1
ZTxJc29JbmxpbmVkSGVhcENlbGxUeXBlPEpTU3RyaW5nPj4oKSkKKyAgICAsIHdlYWtNYXBIZWFw
Q2VsbFR5cGUoSXNvSGVhcENlbGxUeXBlOjpjcmVhdGU8SlNXZWFrTWFwPigpKQorICAgICwgd2Vh
a1NldEhlYXBDZWxsVHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxKU1dlYWtTZXQ+KCkpCiAg
ICAgLCBkZXN0cnVjdGlibGVPYmplY3RIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxKU0Rlc3RydWN0
aWJsZU9iamVjdEhlYXBDZWxsVHlwZT4oKSkKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAotICAg
ICwgYXBpV3JhcHBlck9iamVjdEhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlw
ZTxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4+PigpKQotICAgICwgb2JqQ0Nh
bGxiYWNrRnVuY3Rpb25IZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8T2Jq
Q0NhbGxiYWNrRnVuY3Rpb24+PigpKQorICAgICwgYXBpV3JhcHBlck9iamVjdEhlYXBDZWxsVHlw
ZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9i
amVjdD4+KCkpCisgICAgLCBvYmpDQ2FsbGJhY2tGdW5jdGlvbkhlYXBDZWxsVHlwZShJc29IZWFw
Q2VsbFR5cGU6OmNyZWF0ZTxPYmpDQ2FsbGJhY2tGdW5jdGlvbj4oKSkKICNlbmRpZgogI2lmZGVm
IEpTQ19HTElCX0FQSV9FTkFCTEVECi0gICAgLCBhcGlXcmFwcGVyT2JqZWN0SGVhcENlbGxUeXBl
KG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVy
T2JqZWN0Pj4+KCkpCi0gICAgLCBqc2NDYWxsYmFja0Z1bmN0aW9uSGVhcENlbGxUeXBlKG1ha2VV
bmlxdWU8SXNvSGVhcENlbGxUeXBlPEpTQ0NhbGxiYWNrRnVuY3Rpb24+PigpKQorICAgICwgYXBp
V3JhcHBlck9iamVjdEhlYXBDZWxsVHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxKU0NhbGxi
YWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4+KCkpCisgICAgLCBqc2NDYWxsYmFja0Z1bmN0
aW9uSGVhcENlbGxUeXBlKElzb0hlYXBDZWxsVHlwZTo6Y3JlYXRlPEpTQ0NhbGxiYWNrRnVuY3Rp
b24+KCkpCiAjZW5kaWYKICNpZiBFTkFCTEUoSU5UTCkKLSAgICAsIGludGxDb2xsYXRvckhlYXBD
ZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxJbnRsQ29sbGF0b3I+PigpKQotICAg
ICwgaW50bERhdGVUaW1lRm9ybWF0SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxU
eXBlPEludGxEYXRlVGltZUZvcm1hdD4+KCkpCi0gICAgLCBpbnRsTnVtYmVyRm9ybWF0SGVhcENl
bGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPEludGxOdW1iZXJGb3JtYXQ+PigpKQot
ICAgICwgaW50bFBsdXJhbFJ1bGVzSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxU
eXBlPEludGxQbHVyYWxSdWxlcz4+KCkpCisgICAgLCBpbnRsQ29sbGF0b3JIZWFwQ2VsbFR5cGUo
SXNvSGVhcENlbGxUeXBlOjpjcmVhdGU8SW50bENvbGxhdG9yPigpKQorICAgICwgaW50bERhdGVU
aW1lRm9ybWF0SGVhcENlbGxUeXBlKElzb0hlYXBDZWxsVHlwZTo6Y3JlYXRlPEludGxEYXRlVGlt
ZUZvcm1hdD4oKSkKKyAgICAsIGludGxOdW1iZXJGb3JtYXRIZWFwQ2VsbFR5cGUoSXNvSGVhcENl
bGxUeXBlOjpjcmVhdGU8SW50bE51bWJlckZvcm1hdD4oKSkKKyAgICAsIGludGxQbHVyYWxSdWxl
c0hlYXBDZWxsVHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxJbnRsUGx1cmFsUnVsZXM+KCkp
CiAjZW5kaWYKICNpZiBFTkFCTEUoV0VCQVNTRU1CTFkpCi0gICAgLCB3ZWJBc3NlbWJseUNvZGVC
bG9ja0hlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxKU1dlYkFzc2VtYmx5
Q29kZUJsb2NrPj4oKSkKLSAgICAsIHdlYkFzc2VtYmx5RnVuY3Rpb25IZWFwQ2VsbFR5cGUobWFr
ZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8V2ViQXNzZW1ibHlGdW5jdGlvbj4+KCkpCi0gICAgLCB3
ZWJBc3NlbWJseUdsb2JhbEhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxK
U1dlYkFzc2VtYmx5R2xvYmFsPj4oKSkKLSAgICAsIHdlYkFzc2VtYmx5SW5zdGFuY2VIZWFwQ2Vs
bFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNXZWJBc3NlbWJseUluc3RhbmNlPj4o
KSkKLSAgICAsIHdlYkFzc2VtYmx5TWVtb3J5SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVh
cENlbGxUeXBlPEpTV2ViQXNzZW1ibHlNZW1vcnk+PigpKQotICAgICwgd2ViQXNzZW1ibHlNb2R1
bGVIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNXZWJBc3NlbWJseU1v
ZHVsZT4+KCkpCi0gICAgLCB3ZWJBc3NlbWJseU1vZHVsZVJlY29yZEhlYXBDZWxsVHlwZShtYWtl
VW5pcXVlPElzb0hlYXBDZWxsVHlwZTxXZWJBc3NlbWJseU1vZHVsZVJlY29yZD4+KCkpCi0gICAg
LCB3ZWJBc3NlbWJseVRhYmxlSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBl
PEpTV2ViQXNzZW1ibHlUYWJsZT4+KCkpCisgICAgLCB3ZWJBc3NlbWJseUNvZGVCbG9ja0hlYXBD
ZWxsVHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxKU1dlYkFzc2VtYmx5Q29kZUJsb2NrPigp
KQorICAgICwgd2ViQXNzZW1ibHlGdW5jdGlvbkhlYXBDZWxsVHlwZShJc29IZWFwQ2VsbFR5cGU6
OmNyZWF0ZTxXZWJBc3NlbWJseUZ1bmN0aW9uPigpKQorICAgICwgd2ViQXNzZW1ibHlHbG9iYWxI
ZWFwQ2VsbFR5cGUoSXNvSGVhcENlbGxUeXBlOjpjcmVhdGU8SlNXZWJBc3NlbWJseUdsb2JhbD4o
KSkKKyAgICAsIHdlYkFzc2VtYmx5SW5zdGFuY2VIZWFwQ2VsbFR5cGUoSXNvSGVhcENlbGxUeXBl
OjpjcmVhdGU8SlNXZWJBc3NlbWJseUluc3RhbmNlPigpKQorICAgICwgd2ViQXNzZW1ibHlNZW1v
cnlIZWFwQ2VsbFR5cGUoSXNvSGVhcENlbGxUeXBlOjpjcmVhdGU8SlNXZWJBc3NlbWJseU1lbW9y
eT4oKSkKKyAgICAsIHdlYkFzc2VtYmx5TW9kdWxlSGVhcENlbGxUeXBlKElzb0hlYXBDZWxsVHlw
ZTo6Y3JlYXRlPEpTV2ViQXNzZW1ibHlNb2R1bGU+KCkpCisgICAgLCB3ZWJBc3NlbWJseU1vZHVs
ZVJlY29yZEhlYXBDZWxsVHlwZShJc29IZWFwQ2VsbFR5cGU6OmNyZWF0ZTxXZWJBc3NlbWJseU1v
ZHVsZVJlY29yZD4oKSkKKyAgICAsIHdlYkFzc2VtYmx5VGFibGVIZWFwQ2VsbFR5cGUoSXNvSGVh
cENlbGxUeXBlOjpjcmVhdGU8SlNXZWJBc3NlbWJseVRhYmxlPigpKQogI2VuZGlmCiAgICAgLCBw
cmltaXRpdmVHaWdhY2FnZUF1eGlsaWFyeVNwYWNlKCJQcmltaXRpdmUgR2lnYWNhZ2UgQXV4aWxp
YXJ5IiwgaGVhcCwgYXV4aWxpYXJ5SGVhcENlbGxUeXBlLmdldCgpLCBwcmltaXRpdmVHaWdhY2Fn
ZUFsbG9jYXRvci5nZXQoKSkgLy8gSGFzaDoweDNlN2NkNzYyCiAgICAgLCBqc1ZhbHVlR2lnYWNh
Z2VBdXhpbGlhcnlTcGFjZSgiSlNWYWx1ZSBHaWdhY2FnZSBBdXhpbGlhcnkiLCBoZWFwLCBhdXhp
bGlhcnlIZWFwQ2VsbFR5cGUuZ2V0KCksIGpzVmFsdWVHaWdhY2FnZUFsbG9jYXRvci5nZXQoKSkg
Ly8gSGFzaDoweDI0MWU5NDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCmluZGV4IGMxMjRm
YWIxODY5N2FkOGEwYjcwOTAxYzAzZWNhZWE5ZjA3NjEyZTcuLjgwYmM1ZWNiYzhlMzg0NjdmMGE3
NGEyNDhlNDAyMmViMjA3ZjhkNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1ZNLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApAQCAt
MTg0LDcgKzE4NCw4IEBAIGNsYXNzIFdhdGNocG9pbnRTZXQ7CiBjbGFzcyBXZWJBc3NlbWJseUZ1
bmN0aW9uOwogY2xhc3MgV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQ7CiAKLXRlbXBsYXRlPHR5cGVu
YW1lIENlbGxUeXBlPiBjbGFzcyBJc29IZWFwQ2VsbFR5cGU7CitjbGFzcyBJc29IZWFwQ2VsbFR5
cGU7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZT4gY2xhc3MgSXNvSW5saW5lZEhlYXBDZWxs
VHlwZTsKIHRlbXBsYXRlPHR5cGVuYW1lIFBhcmVudD4gY2xhc3MgSlNDYWxsYmFja09iamVjdDsK
IAogI2lmIEVOQUJMRShGVExfSklUKQpAQCAtMzYzLDQwICszNjQsNDAgQEAgY2xhc3MgVk0gOiBw
dWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5v
ZGU8Vk0+IHsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SGVhcENlbGxUeXBlPiBpbW11dGFibGVCdXR0
ZXJmbHlIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEhlYXBDZWxsVHlwZT4gY2Vs
bEhlYXBDZWxsVHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SGVhcENlbGxUeXBlPiBkZXN0cnVj
dGlibGVDZWxsSGVhcENlbGxUeXBlOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5
cGU8SlNDYWxsYmFja0NvbnN0cnVjdG9yPj4gY2FsbGJhY2tDb25zdHJ1Y3RvckhlYXBDZWxsVHlw
ZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8
SlNOb25GaW5hbE9iamVjdD4+PiBjYWxsYmFja09iamVjdEhlYXBDZWxsVHlwZTsKLSAgICBzdGQ6
OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPERhdGVJbnN0YW5jZT4+IGRhdGVJbnN0YW5jZUhl
YXBDZWxsVHlwZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEVycm9ySW5z
dGFuY2U+PiBlcnJvckluc3RhbmNlSGVhcENlbGxUeXBlOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxJ
c29IZWFwQ2VsbFR5cGU8SlNNb2R1bGVSZWNvcmQ+PiBqc01vZHVsZVJlY29yZEhlYXBDZWxsVHlw
ZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTTW9kdWxlTmFtZXNwYWNl
T2JqZWN0Pj4gbW9kdWxlTmFtZXNwYWNlT2JqZWN0SGVhcENlbGxUeXBlOwotICAgIHN0ZDo6dW5p
cXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SlNOYXRpdmVTdGRGdW5jdGlvbj4+IG5hdGl2ZVN0ZEZ1
bmN0aW9uSGVhcENlbGxUeXBlOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8
SlNTdHJpbmc+PiBzdHJpbmdIZWFwQ2VsbFR5cGU7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPElzb0hl
YXBDZWxsVHlwZTxKU1dlYWtNYXA+PiB3ZWFrTWFwSGVhcENlbGxUeXBlOwotICAgIHN0ZDo6dW5p
cXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SlNXZWFrU2V0Pj4gd2Vha1NldEhlYXBDZWxsVHlwZTsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiBjYWxsYmFja0NvbnN0cnVjdG9y
SGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IGNhbGxi
YWNrT2JqZWN0SGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5
cGU+IGRhdGVJbnN0YW5jZUhlYXBDZWxsVHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVh
cENlbGxUeXBlPiBlcnJvckluc3RhbmNlSGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0
cjxJc29IZWFwQ2VsbFR5cGU+IGpzTW9kdWxlUmVjb3JkSGVhcENlbGxUeXBlOworICAgIHN0ZDo6
dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IG1vZHVsZU5hbWVzcGFjZU9iamVjdEhlYXBDZWxs
VHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiBuYXRpdmVTdGRGdW5j
dGlvbkhlYXBDZWxsVHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSW5saW5lZEhlYXBDZWxs
VHlwZTxKU1N0cmluZz4+IHN0cmluZ0hlYXBDZWxsVHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
SXNvSGVhcENlbGxUeXBlPiB3ZWFrTWFwSGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0
cjxJc29IZWFwQ2VsbFR5cGU+IHdlYWtTZXRIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlxdWVf
cHRyPEpTRGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlPiBkZXN0cnVjdGlibGVPYmplY3RI
ZWFwQ2VsbFR5cGU7CiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKLSAgICBzdGQ6OnVuaXF1ZV9w
dHI8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pj4+
IGFwaVdyYXBwZXJPYmplY3RIZWFwQ2VsbFR5cGU7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPElzb0hl
YXBDZWxsVHlwZTxPYmpDQ2FsbGJhY2tGdW5jdGlvbj4+IG9iakNDYWxsYmFja0Z1bmN0aW9uSGVh
cENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IGFwaVdyYXBw
ZXJPYmplY3RIZWFwQ2VsbFR5cGU7CisgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlw
ZT4gb2JqQ0NhbGxiYWNrRnVuY3Rpb25IZWFwQ2VsbFR5cGU7CiAjZW5kaWYKICNpZmRlZiBKU0Nf
R0xJQl9BUElfRU5BQkxFRAotICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SlND
YWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Pj4gYXBpV3JhcHBlck9iamVjdEhlYXBD
ZWxsVHlwZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTQ0NhbGxiYWNr
RnVuY3Rpb24+PiBqc2NDYWxsYmFja0Z1bmN0aW9uSGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5p
cXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IGFwaVdyYXBwZXJPYmplY3RIZWFwQ2VsbFR5cGU7Cisg
ICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZT4ganNjQ2FsbGJhY2tGdW5jdGlvbkhl
YXBDZWxsVHlwZTsKICNlbmRpZgogI2lmIEVOQUJMRShJTlRMKQotICAgIHN0ZDo6dW5pcXVlX3B0
cjxJc29IZWFwQ2VsbFR5cGU8SW50bENvbGxhdG9yPj4gaW50bENvbGxhdG9ySGVhcENlbGxUeXBl
OwotICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SW50bERhdGVUaW1lRm9ybWF0
Pj4gaW50bERhdGVUaW1lRm9ybWF0SGVhcENlbGxUeXBlOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxJ
c29IZWFwQ2VsbFR5cGU8SW50bE51bWJlckZvcm1hdD4+IGludGxOdW1iZXJGb3JtYXRIZWFwQ2Vs
bFR5cGU7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxJbnRsUGx1cmFsUnVs
ZXM+PiBpbnRsUGx1cmFsUnVsZXNIZWFwQ2VsbFR5cGU7CisgICAgc3RkOjp1bmlxdWVfcHRyPElz
b0hlYXBDZWxsVHlwZT4gaW50bENvbGxhdG9ySGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVl
X3B0cjxJc29IZWFwQ2VsbFR5cGU+IGludGxEYXRlVGltZUZvcm1hdEhlYXBDZWxsVHlwZTsKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiBpbnRsTnVtYmVyRm9ybWF0SGVhcENl
bGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IGludGxQbHVyYWxS
dWxlc0hlYXBDZWxsVHlwZTsKICNlbmRpZgogI2lmIEVOQUJMRShXRUJBU1NFTUJMWSkKLSAgICBz
dGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTV2ViQXNzZW1ibHlDb2RlQmxvY2s+PiB3
ZWJBc3NlbWJseUNvZGVCbG9ja0hlYXBDZWxsVHlwZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNv
SGVhcENlbGxUeXBlPFdlYkFzc2VtYmx5RnVuY3Rpb24+PiB3ZWJBc3NlbWJseUZ1bmN0aW9uSGVh
cENlbGxUeXBlOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SlNXZWJBc3Nl
bWJseUdsb2JhbD4+IHdlYkFzc2VtYmx5R2xvYmFsSGVhcENlbGxUeXBlOwotICAgIHN0ZDo6dW5p
cXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SlNXZWJBc3NlbWJseUluc3RhbmNlPj4gd2ViQXNzZW1i
bHlJbnN0YW5jZUhlYXBDZWxsVHlwZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxU
eXBlPEpTV2ViQXNzZW1ibHlNZW1vcnk+PiB3ZWJBc3NlbWJseU1lbW9yeUhlYXBDZWxsVHlwZTsK
LSAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTV2ViQXNzZW1ibHlNb2R1bGU+
PiB3ZWJBc3NlbWJseU1vZHVsZUhlYXBDZWxsVHlwZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNv
SGVhcENlbGxUeXBlPFdlYkFzc2VtYmx5TW9kdWxlUmVjb3JkPj4gd2ViQXNzZW1ibHlNb2R1bGVS
ZWNvcmRIZWFwQ2VsbFR5cGU7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxK
U1dlYkFzc2VtYmx5VGFibGU+PiB3ZWJBc3NlbWJseVRhYmxlSGVhcENlbGxUeXBlOworICAgIHN0
ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IHdlYkFzc2VtYmx5Q29kZUJsb2NrSGVhcENl
bGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU+IHdlYkFzc2VtYmx5
RnVuY3Rpb25IZWFwQ2VsbFR5cGU7CisgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlw
ZT4gd2ViQXNzZW1ibHlHbG9iYWxIZWFwQ2VsbFR5cGU7CisgICAgc3RkOjp1bmlxdWVfcHRyPElz
b0hlYXBDZWxsVHlwZT4gd2ViQXNzZW1ibHlJbnN0YW5jZUhlYXBDZWxsVHlwZTsKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiB3ZWJBc3NlbWJseU1lbW9yeUhlYXBDZWxsVHlw
ZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiB3ZWJBc3NlbWJseU1vZHVs
ZUhlYXBDZWxsVHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPiB3ZWJB
c3NlbWJseU1vZHVsZVJlY29yZEhlYXBDZWxsVHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNv
SGVhcENlbGxUeXBlPiB3ZWJBc3NlbWJseVRhYmxlSGVhcENlbGxUeXBlOwogI2VuZGlmCiAgICAg
CiAgICAgQ29tcGxldGVTdWJzcGFjZSBwcmltaXRpdmVHaWdhY2FnZUF1eGlsaWFyeVNwYWNlOyAv
LyBUeXBlZCBhcnJheXMsIHN0cmluZ3MsIGJpdHZlY3RvcnMsIGV0YyBnbyBoZXJlLgo=
</data>
<flag name="review"
          id="401285"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>