<?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>39117</bug_id>
          
          <creation_ts>2010-05-14 08:18:53 -0700</creation_ts>
          <short_desc>Finish up IndexedDB events</short_desc>
          <delta_ts>2010-05-17 04:21:05 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeremy Orlow">jorlow</reporter>
          <assigned_to name="Jeremy Orlow">jorlow</assigned_to>
          <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>225829</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-05-14 08:18:53 -0700</bug_when>
    <thetext>Finish up IndexedDB events</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225830</commentid>
    <comment_count>1</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-05-14 08:20:21 -0700</bug_when>
    <thetext>Nate, I&apos;m not sure, but I think you might be a good reviewer for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225837</commentid>
    <comment_count>2</comment_count>
      <attachid>56072</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-05-14 08:31:29 -0700</bug_when>
    <thetext>Created attachment 56072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225856</commentid>
    <comment_count>3</comment_count>
      <attachid>56074</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-05-14 08:55:41 -0700</bug_when>
    <thetext>Created attachment 56074
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225886</commentid>
    <comment_count>4</comment_count>
      <attachid>56074</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-05-14 09:38:00 -0700</bug_when>
    <thetext>Comment on attachment 56074
Patch

No Webkit/chromium/ChangeLog entry.


Rest of comments inline. On the whole, looks good.


&gt; +        Disable it all all !Chromium platforms since none of them compile it

Typo.

&gt; diff --git a/LayoutTests/storage/indexeddb/script-tests/TEMPLATE.html b/LayoutTests/storage/indexeddb/script-tests/TEMPLATE.html
&gt; new file mode 100644
&gt; index 0000000000000000000000000000000000000000..239a7940debd7857873574f0a09a35880735ac19
&gt; --- /dev/null
&gt; +++ b/LayoutTests/storage/indexeddb/script-tests/TEMPLATE.html
&gt; @@ -0,0 +1,12 @@
&gt; +&lt;html&gt;
&gt; +&lt;head&gt;
&gt; +&lt;link rel=&quot;stylesheet&quot; href=&quot;../../fast/js/resources/js-test-style.css&quot;&gt;
&gt; +&lt;script src=&quot;../../fast/js/resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
&gt; +&lt;script src=&quot;../../fast/js/resources/js-test-post-function.js&quot;&gt;&lt;/script&gt;
&gt; +&lt;/head&gt;
&gt; +&lt;body&gt;
&gt; +&lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
&gt; +&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
&gt; +&lt;script src=&quot;YOUR_JS_FILE_HERE&quot;&gt;&lt;/script&gt;
&gt; +&lt;/body&gt;
&gt; +&lt;/html&gt;

Do we need to propagate the TEMPLATE?

&gt; +protected:
&gt; +    // Do not directly instantiate.
&gt; +    IDBEvent(const AtomicString&amp; type, PassRefPtr&lt;IDBAny&gt; source);

Nit: this comment is redundant with the fact that the constructor is protected.

&gt; -    PassRefPtr&lt;IndexedDatabase&gt; m_indexedDatabase;
&gt; +    RefPtr&lt;IndexedDatabase&gt; m_indexedDatabase;
&gt; +    RefPtr&lt;IDBAny&gt; m_this;

A variable name of m_this rubs me the wrong way.  m_source or m_request or something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225887</commentid>
    <comment_count>5</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-05-14 09:43:04 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 56074 [details])
&gt; No Webkit/chromium/ChangeLog entry.
&gt; 
&gt; 
&gt; Rest of comments inline. On the whole, looks good.
&gt; 
&gt; 
&gt; &gt; +        Disable it all all !Chromium platforms since none of them compile it
&gt; 
&gt; Typo.

Will fix.

 
&gt; &gt; diff --git a/LayoutTests/storage/indexeddb/script-tests/TEMPLATE.html b/LayoutTests/storage/indexeddb/script-tests/TEMPLATE.html
&gt; &gt; new file mode 100644
&gt; &gt; index 0000000000000000000000000000000000000000..239a7940debd7857873574f0a09a35880735ac19
&gt; &gt; --- /dev/null
&gt; &gt; +++ b/LayoutTests/storage/indexeddb/script-tests/TEMPLATE.html
&gt; &gt; @@ -0,0 +1,12 @@
&gt; &gt; +&lt;html&gt;
&gt; &gt; +&lt;head&gt;
&gt; &gt; +&lt;link rel=&quot;stylesheet&quot; href=&quot;../../fast/js/resources/js-test-style.css&quot;&gt;
&gt; &gt; +&lt;script src=&quot;../../fast/js/resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
&gt; &gt; +&lt;script src=&quot;../../fast/js/resources/js-test-post-function.js&quot;&gt;&lt;/script&gt;
&gt; &gt; +&lt;/head&gt;
&gt; &gt; +&lt;body&gt;
&gt; &gt; +&lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
&gt; &gt; +&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
&gt; &gt; +&lt;script src=&quot;YOUR_JS_FILE_HERE&quot;&gt;&lt;/script&gt;
&gt; &gt; +&lt;/body&gt;
&gt; &gt; +&lt;/html&gt;
&gt; 
&gt; Do we need to propagate the TEMPLATE?

This is how script-tests work.
 
&gt; &gt; +protected:
&gt; &gt; +    // Do not directly instantiate.
&gt; &gt; +    IDBEvent(const AtomicString&amp; type, PassRefPtr&lt;IDBAny&gt; source);
&gt; 
&gt; Nit: this comment is redundant with the fact that the constructor is protected.

Will do.

 
&gt; &gt; -    PassRefPtr&lt;IndexedDatabase&gt; m_indexedDatabase;
&gt; &gt; +    RefPtr&lt;IndexedDatabase&gt; m_indexedDatabase;
&gt; &gt; +    RefPtr&lt;IDBAny&gt; m_this;
&gt; 
&gt; A variable name of m_this rubs me the wrong way.  m_source or m_request or something?

Neither of those names are correct tho.  It actually is a wrapper to &quot;this&quot; object.  I do this rather than allocating an object on every request.  (Thus letting refPtrs do the stuff they&apos;re good at.  :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225888</commentid>
    <comment_count>6</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-05-14 09:45:38 -0700</bug_when>
    <thetext>As for the WebKit/chromium change (with no ChangeLog): that wasn&apos;t supposed to be there.  Will make sure it&apos;s not present when committing.  Promise.  :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225892</commentid>
    <comment_count>7</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-05-14 09:51:07 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; &gt; diff --git a/LayoutTests/storage/indexeddb/script-tests/TEMPLATE.html b/LayoutTests/storage/indexeddb/script-tests/TEMPLATE.html
&gt; &gt; &gt; new file mode 100644
&gt; &gt; &gt; index 0000000000000000000000000000000000000000..239a7940debd7857873574f0a09a35880735ac19
&gt; &gt; &gt; --- /dev/null
&gt; &gt; &gt; +++ b/LayoutTests/storage/indexeddb/script-tests/TEMPLATE.html
&gt; &gt; &gt; @@ -0,0 +1,12 @@
&gt; &gt; &gt; +&lt;html&gt;
&gt; &gt; &gt; +&lt;head&gt;
&gt; &gt; &gt; +&lt;link rel=&quot;stylesheet&quot; href=&quot;../../fast/js/resources/js-test-style.css&quot;&gt;
&gt; &gt; &gt; +&lt;script src=&quot;../../fast/js/resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
&gt; &gt; &gt; +&lt;script src=&quot;../../fast/js/resources/js-test-post-function.js&quot;&gt;&lt;/script&gt;
&gt; &gt; &gt; +&lt;/head&gt;
&gt; &gt; &gt; +&lt;body&gt;
&gt; &gt; &gt; +&lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
&gt; &gt; &gt; +&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
&gt; &gt; &gt; +&lt;script src=&quot;YOUR_JS_FILE_HERE&quot;&gt;&lt;/script&gt;
&gt; &gt; &gt; +&lt;/body&gt;
&gt; &gt; &gt; +&lt;/html&gt;
&gt; &gt; 
&gt; &gt; Do we need to propagate the TEMPLATE?
&gt; 
&gt; This is how script-tests work.

Ok, I did some more looking, and I hadn&apos;t realized that that file is in every script-tests directory.  It just seemed strange at first.

&gt; &gt; &gt; -    PassRefPtr&lt;IndexedDatabase&gt; m_indexedDatabase;
&gt; &gt; &gt; +    RefPtr&lt;IndexedDatabase&gt; m_indexedDatabase;
&gt; &gt; &gt; +    RefPtr&lt;IDBAny&gt; m_this;
&gt; &gt; 
&gt; &gt; A variable name of m_this rubs me the wrong way.  m_source or m_request or something?
&gt; 
&gt; Neither of those names are correct tho.  It actually is a wrapper to &quot;this&quot; object.  I do this rather than allocating an object on every request.  (Thus letting refPtrs do the stuff they&apos;re good at.  :-)

Yeah, I totally misread the constructor.  On second reading, I&apos;m much more ok with it, though it is a bit counter-intuitive.


(In reply to comment #6)
&gt; As for the WebKit/chromium change (with no ChangeLog): that wasn&apos;t supposed to be there.  Will make sure it&apos;s not present when committing.  Promise.  :-)

This was the primary reason I didn&apos;t r+ with nits.  If this is getting reverted, I think I&apos;m ok with approving.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225893</commentid>
    <comment_count>8</comment_count>
      <attachid>56074</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-05-14 09:51:29 -0700</bug_when>
    <thetext>Comment on attachment 56074
Patch

Switching to r+ based on previous comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226728</commentid>
    <comment_count>9</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-05-17 04:21:05 -0700</bug_when>
    <thetext>Committed r59602: &lt;http://trac.webkit.org/changeset/59602&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56072</attachid>
            <date>2010-05-14 08:31:29 -0700</date>
            <delta_ts>2010-05-14 08:55:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39117-20100514163126.patch</filename>
            <type>text/plain</type>
            <size>91840</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlNjZhNTk3MTUwZGE2OGViMmFhZWQ4NTc5NjY0MDM1YzhkMWYzZjA0Li4xN2JhODUw
ZjM2NTFhMDc0ZDBlMWY4OTE1ZjIxZjYyNzBlNTliZmUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAK
KzIwMTAtMDUtMTQgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRmluaXNoIHVwIEluZGV4
ZWREQiBldmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM5MTE3CisKKyAgICAgICAgQWRkIHRoZSBiZWdpbm5pbmdzIG9mIGEgdGVzdCBmb3IgSW5k
ZXhlZERCLiAgSXQgY3VycmVudGx5IGZhaWxzLCBidXQgd2UnbGwKKyAgICAgICAgdXBkYXRlIHRo
aXMgKGFuZC9vciBhZGQgb3RoZXIgdGVzdHMpIGFzIHRoaW5ncyBzdGFydCBwYXNzaW5nLgorCisg
ICAgICAgIERpc2FibGUgaXQgYWxsIGFsbCAhQ2hyb21pdW0gcGxhdGZvcm1zIHNpbmNlIG5vbmUg
b2YgdGhlbSBjb21waWxlIGl0CisgICAgICAgIGluLiAgKE5vdGUgdGhhdCBDaHJvbWl1bSBrZWVw
cyBpdCBiZWhpbmQgYSBydW50aW1lIGZsYWcgYXQgdGhlIG1vbWVudCwKKyAgICAgICAgZGVzcGl0
ZSBjb21waWxpbmcgaXQgaW4uLi5zbyBkb24ndCB3b3JyeS4pCisKKyAgICAgICAgVGhpcyBhbHNv
IG1ha2VzIGV2YWxBbmRMb2cgcmV0dXJuIHRoZSByZXN1bHQgb2YgdGhlIGV2YWx1YXRpb24uICBJ
IHRoaW5rCisgICAgICAgIHRoaXMgd2FzIGp1c3QgYW4gb3ZlcnNpZ2h0IHdoZW4gSSBvcmlnaW5h
bGx5IGFkZGVkIGl0LCBhbmQgaXQncyBnb2luZyB0bworICAgICAgICBjb21lIGluIHVzZWZ1bCBm
b3IgdGhlc2UgdGVzdHMuCisKKyAgICAgICAgKiBmYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qczoKKyAgICAgICAgKGV2YWxBbmRMb2cpOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lw
cGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL1NraXBwZWQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjLXNub3dsZW9wYXJkL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFj
LXRpZ2VyL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAg
ICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoK
KyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9iYXNpY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9iYXNpY3MuaHRtbDogQWRkZWQuCisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zY3JpcHQtdGVzdHMvYmFzaWNzLmpz
OiBBZGRlZC4KKyAgICAgICAgKGV2ZW50U2hhcmVkKToKKyAgICAgICAgKHN1Y2Nlc3NGdW5jdGlv
bik6CisgICAgICAgIChlcnJvckZ1bmN0aW9uKToKKyAgICAgICAgKHRlc3QpOgorCiAyMDEwLTA1
LTE0ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgdW5za2lwIHBhc3NpbmcgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzCmluZGV4IGVjZjVmZDA4ZGU2YTRjMTYyZmFjZmQ1MTAwNDAz
NDliOTY5MGEwMjguLjY2NDc3OThhMzQxMzM5Nzk1Zjc1NGY5ZWY1M2JiMDY5YTcxMjNiODggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCkBAIC05MCw2
ICs5MCw3IEBAIGZ1bmN0aW9uIGV2YWxBbmRMb2coX2EpCiAgIH0gY2F0Y2ggKGUpIHsKICAgICB0
ZXN0RmFpbGVkKF9hICsgIiB0aHJldyBleGNlcHRpb24gIiArIGUpOwogICB9CisgIHJldHVybiBf
YXY7CiB9CiAKIGZ1bmN0aW9uIHNob3VsZEJlKF9hLCBfYikKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQKaW5kZXggMTM5YTE3OTY5YmM0YjFlYzkxZWQwOTBkYTFjYjUzMThiMDVlNjQ3Ni4uM2U5MzNj
MTg4YmE5MDBjNWY1ZTEyM2FlMTE3NjYwNDE3ZDZkNjE1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKQEAgLTU5MjEsMyArNTkyMSw2IEBAIGZhc3QvbG9hZGVyL3JlY3Vyc2l2ZS1iZWZvcmUt
dW5sb2FkLWNyYXNoLmh0bWwKICMgVGVzdHMgZmFpbGluZyBvbmx5IG9uIHRoZSAzMi1iaXQgZGVi
dWcgYm90CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTEwMQog
Y3NzMS9jb2xvcl9hbmRfYmFja2dyb3VuZC9iYWNrZ3JvdW5kX2F0dGFjaG1lbnQuaHRtbAorCisj
IEluZGV4ZWREQiBpcyBub3QgeWV0IGVuYWJsZWQuCitzdG9yYWdlL2luZGV4ZWRkYgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvU2tpcHBlZCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL1NraXBwZWQKaW5kZXggMjA1ZWI0NDRmYTMwN2Q4OGNm
MWU2Y2E5ZGM3YTQ1MDBlZGFhMTYwNS4uYmI0MDRjMGJkOWRkMjBjNTA3ZTA3NTgwMTQwYzkwNzJh
N2UyOWU0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvU2tp
cHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9Ta2lwcGVkCkBAIC02
NywzICs2Nyw2IEBAIHBsYXRmb3JtL21hYy9mb250cy9jb2xvci1iaXRtYXAuaHRtbAogIyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgwMDAgLSByNTgxMDcgY2F1c2Vz
IHZpZGVvLXBsYXktc3RhbGwgYW5kIHZpZGVvLXBsYXktc3RhbGwtc2VlayB0byBmYWlsCiBodHRw
L3Rlc3RzL21lZGlhL3ZpZGVvLXBsYXktc3RhbGwuaHRtbAogaHR0cC90ZXN0cy9tZWRpYS92aWRl
by1wbGF5LXN0YWxsLXNlZWsuaHRtbAorCisjIEluZGV4ZWREQiBpcyBub3QgeWV0IGVuYWJsZWQu
CitzdG9yYWdlL2luZGV4ZWRkYgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXNub3dsZW9wYXJkL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtc25vd2xlb3Bh
cmQvU2tpcHBlZAppbmRleCAxOTIxNGNjNGI1OTJjMDE5NTIwZGExOTEwMTdkM2M2ZWU2YTI5Yjlk
Li40MTM3NjE3N2ZiMTJhODI4NjNjODlmNzlkNDUyYjQ1NDk0MDk2ZmQxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvU2tpcHBlZApAQCAtMTMwLDMgKzEzMCw2IEBA
IGZhc3QvanMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS40X0FycmF5
LzE1LjQuNC8xNS40LjQuMTJfQXJyYXlfCiAjIFRlc3QgZmFpbHMgb24gU25vdyBMZW9wYXJkIGlu
IERSVCBidXQgcGFzc2VzIHdoZW4gcnVuIG1hbnVhbGx5IGFuZCBwYXNzZXMgb24gTGVvcGFyZC4g
VGhlIHRlc3QgaXRzZWxmIG1pZ2h0IG5lZWQKICMgdHdlYWtpbmcgdG8gZGVhbCB3aXRoIHNjcm9s
bGluZyBkaWZmZXJlbmNlcyBiZXR3ZWVuIExlb3BhcmQgYW5kIFNMLiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg0MTYKIGZhc3QvcmVwYWludC9maXhlZC1tb3ZlLWFm
dGVyLWtleWJvYXJkLXNjcm9sbC5odG1sCisKKyMgSW5kZXhlZERCIGlzIG5vdCB5ZXQgZW5hYmxl
ZC4KK3N0b3JhZ2UvaW5kZXhlZGRiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtdGlnZXIvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy10aWdlci9Ta2lwcGVk
CmluZGV4IDdjOWU5MWU4NWMzMDQzYzJjNTY0NzVmODE3Y2E0YmM2M2ZmMzIzOWIuLjM2ZWQzMWU1
NjZlM2EzYmU1ZmEzOTVjZWRhNGQzZGUyMTZiYWIzMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy10aWdlci9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy10aWdlci9Ta2lwcGVkCkBAIC0xODEsMyArMTgxLDYgQEAgd2ViYXJjaGl2ZS90ZXN0LWxpbmst
cmVsLWljb24uaHRtbAogCiAjIFB5dGhvbiAyLjUgaXMgcmVxdWlyZWQgdG8gcnVuIHdlYnNvY2tl
dCB0ZXN0cwogd2Vic29ja2V0L3Rlc3RzCisKKyMgSW5kZXhlZERCIGlzIG5vdCB5ZXQgZW5hYmxl
ZC4KK3N0b3JhZ2UvaW5kZXhlZGRiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IDYxMjZk
NDRmMjNlNjEyZmQ1YWZkOTk2ZDJkODU2NjNiZWVlNDE0MWUuLmQxMTFmZGUxZjYwZWM5MmMyZmM1
M2NiZGFmZjMzZTQ5ZjAwNThkN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC0xODEs
MyArMTgxLDYgQEAgZmFzdC9jc3MvZm9udC1mYWNlLXdvZmYuaHRtbAogCiAjIEV2ZW50U2VuZGlu
Z0NvbnRyb2xsZXIgZG9lcyBub3Qgc2VuZCBldmVudHMgb24gYXJlYXMgb3V0c2lkZSB0aGUgV2Vi
Vmlldy4KIHNjcm9sbGJhcnMvc2Nyb2xsYmFyLWNsaWNrLWRvZXMtbm90LWJsdXItY29udGVudC5o
dG1sCisKKyMgSW5kZXhlZERCIGlzIG5vdCB5ZXQgZW5hYmxlZC4KK3N0b3JhZ2UvaW5kZXhlZGRi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCAwNWVkZjE3ZTNhMmEyMzMyZTUyZGEyN2FkN2Rl
MDYyODhlYzhkNjg2Li5jOWYzZjhlMmU2ZTIyN2RlNzI0ODk2OTQ2ODg0MGUxNDFiYzcwNmEwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTUwOTIsMyArNTA5Miw2IEBAIGVkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLmh0bWwKICMgTmV3IHRlc3QgaGFuZ3MgUVQgYm90CiAjIERpc2N1
c3NlZCBpbiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg5MjgKIGZh
c3QvbG9hZGVyL3JlY3Vyc2l2ZS1iZWZvcmUtdW5sb2FkLWNyYXNoLmh0bWwgCisKKyMgSW5kZXhl
ZERCIGlzIG5vdCB5ZXQgZW5hYmxlZC4KK3N0b3JhZ2UvaW5kZXhlZGRiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9Ta2lwcGVkCmluZGV4IGUyMmM1MzZmNTg3Njk1MmFiMDZhNmVkMzJiYzllYzIxOWFmOTlmYTEu
LjI3MGY4Nzk4ZjI5ZDZkNmFhZjFhZjgxYWJiNjllNmQ3YWM0ODc4MGMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9Ta2lwcGVkCkBAIC04NzIsMyArODcyLDYgQEAgZmFzdC9jc3MvZGlzcGxheS1ub25lLWlu
bGluZS1zdHlsZS1jaGFuZ2UtY3Jhc2guaHRtbAogCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zODc5NSAtIGRvZXNuJ3QgcHJpbnQgUGFpbnRFdmVudCBpbnN0cnVt
ZW50YXRpb24gb3V0cHV0CiBpbnNwZWN0b3IvdGltZWxpbmUtcGFpbnQuaHRtbAorCisjIEluZGV4
ZWREQiBpcyBub3QgeWV0IGVuYWJsZWQuCitzdG9yYWdlL2luZGV4ZWRkYgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvYmFzaWNzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Jhc2ljcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OGExMWY2Y2EyY2VkMGFiMjU5MTc3ZGE1YTk5ZTYyYjQxMjUwYmYyNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Jhc2ljcy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNCBAQAorVGVzdCB0aGUgYmFzaWNzIG9mIEluZGV4ZWREQi4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgJ2luZGV4ZWREQicgaW4gd2luZG93IGlzIHRydWUK
K1BBU1MgJ29wZW4nIGluIGluZGV4ZWREQiBpcyB0cnVlCitpbmRleGVkREIub3BlbignbmFtZScs
ICdkZXNjcmlwdGlvbicsIHRydWUgLyogYWxsb3cgbW9kaWZpY2F0aW9uICovKQorUEFTUyAnb25z
dWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRy
dWUKK1BBU1MgJ2Fib3J0JyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4g
cmVzdWx0IGlzIHRydWUKKworQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitGQUlM
IEVycm9yIGZ1bmN0aW9uIGNhbGxlZDogKDApIE5vdCBpbXBsZW1lbnRlZAorCitQQVNTICdzb3Vy
Y2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ29wZW4nIGluIGV2ZW50LnNvdXJjZSBpcyB0cnVl
CisKK0ZBSUwgJ3Jlc3VsdCcgaW4gZXZlbnQgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK0ZB
SUwgJ2NvZGUnIGluIGV2ZW50IHNob3VsZCBiZSBmYWxzZS4gV2FzIHRydWUuCitGQUlMICdtZXNz
YWdlJyBpbiBldmVudCBzaG91bGQgYmUgZmFsc2UuIFdhcyB0cnVlLgorCitQQVNTICdvbnN1Y2Nl
c3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdy
ZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvYmFzaWNzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9i
YXNpY3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jY2E5Njc0MDI3MTJkYmUwOWUwZTJlMTI5ODY2YjdkZDZl
N2Y1ZjI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
YmFzaWNzLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QtZnVuY3Rpb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy9iYXNpY3MuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2NyaXB0LXRlc3RzL1RFTVBMQVRF
Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zY3JpcHQtdGVzdHMvVEVNUExB
VEUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMzlhNzk0MGRlYmQ3ODU3ODczNTc0ZjBhMDlhMzU4ODA3MzVh
YzE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2Ny
aXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QtZnVuY3Rpb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9IllPVVJfSlNfRklMRV9IRVJFIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NjcmlwdC10ZXN0cy9i
YXNpY3MuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zY3JpcHQtdGVzdHMvYmFz
aWNzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjMwNzE5NmFhM2QzOWIxOGQ5MWNmMGM3OGVlMTYzODZlNDI4YmE2
NjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zY3Jp
cHQtdGVzdHMvYmFzaWNzLmpzCkBAIC0wLDAgKzEsNjEgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0IHRo
ZSBiYXNpY3Mgb2YgSW5kZXhlZERCLiIpOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK30KKworCitmdW5jdGlvbiBldmVudFNo
YXJlZCgpCit7CisgICAgZGVidWcoIiIpOworICAgIHNob3VsZEJlVHJ1ZSgiJ3NvdXJjZScgaW4g
ZXZlbnQiKTsKKyAgICBzaG91bGRCZVRydWUoIidvcGVuJyBpbiBldmVudC5zb3VyY2UiKTsKKyAg
ICBkZWJ1ZygiIik7CisgICAgc2hvdWxkQmVUcnVlKCIncmVzdWx0JyBpbiBldmVudCIpOworICAg
IHNob3VsZEJlRmFsc2UoIidjb2RlJyBpbiBldmVudCIpOworICAgIHNob3VsZEJlRmFsc2UoIidt
ZXNzYWdlJyBpbiBldmVudCIpOworICAgIGRlYnVnKCIiKTsKKyAgICBzaG91bGRCZVRydWUoIidv
bnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCIpOworICAgIHNob3VsZEJlVHJ1ZSgiJ29uZXJyb3In
IGluIGV2ZW50LnRhcmdldCIpOworICAgIHNob3VsZEJlVHJ1ZSgiJ2Fib3J0JyBpbiBldmVudC50
YXJnZXQiKTsKKyAgICBzaG91bGRCZVRydWUoIidyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQi
KTsKKyAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUiLCAiZXZlbnQudGFyZ2V0
LkRPTkUiKTsKKyAgICBkZWJ1ZygiIik7CisgICAgd2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7CisgICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKKyAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpCit9CisKK2Z1bmN0aW9uIHN1Y2Nlc3NGdW5jdGlvbigpCit7CisgICAgZGVidWcoIlN1
Y2Nlc3MgZnVuY3Rpb24gY2FsbGVkIik7CisgICAgZXZlbnRTaGFyZWQoKTsKK30KKworZnVuY3Rp
b24gZXJyb3JGdW5jdGlvbigpCit7CisgICAgdGVzdEZhaWxlZCgiRXJyb3IgZnVuY3Rpb24gY2Fs
bGVkOiAoIiArIGV2ZW50LmNvZGUgKyAiKSAiICsgZXZlbnQubWVzc2FnZSk7CisgICAgZXZlbnRT
aGFyZWQoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgc2hvdWxkQmVUcnVlKCInaW5k
ZXhlZERCJyBpbiB3aW5kb3ciKTsKKyAgICBzaG91bGRCZVRydWUoIidvcGVuJyBpbiBpbmRleGVk
REIiKTsKKworICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCduYW1lJywg
J2Rlc2NyaXB0aW9uJywgdHJ1ZSAvKiBhbGxvdyBtb2RpZmljYXRpb24gKi8pIik7CisgICAgc2hv
dWxkQmVUcnVlKCInb25zdWNjZXNzJyBpbiByZXN1bHQiKTsKKyAgICBzaG91bGRCZVRydWUoIidv
bmVycm9yJyBpbiByZXN1bHQiKTsKKyAgICBzaG91bGRCZVRydWUoIidhYm9ydCcgaW4gcmVzdWx0
Iik7CisgICAgc2hvdWxkQmVUcnVlKCIncmVhZHlTdGF0ZScgaW4gcmVzdWx0Iik7CisgICAgcmVz
dWx0Lm9uc3VjY2VzcyA9IHN1Y2Nlc3NGdW5jdGlvbjsKKyAgICByZXN1bHQub25lcnJvciA9IGVy
cm9yRnVuY3Rpb247CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJBbiBldmVudCBzaG91bGQg
ZmlyZSBzaG9ydGx5Li4uIik7CisgICAgZGVidWcoIiIpOworfQorCit0ZXN0KCk7CisKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVhNmZh
MGU5ODNiYzVjZDBkZGZlNWE0ODNlNWYwZDlmZmQyY2JjOC4uYTg4Y2QxZTcwNTY3Yzg2NTdiNjlm
NzNlOGQ1MjhiYmNmZTVkZDE3YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5MyBAQAorMjAxMC0wNS0xNCAgSmVyZW15IE9y
bG93ICA8am9ybG93QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBGaW5pc2ggdXAgSW5kZXhlZERCIGV2ZW50cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzkxMTcKKworICAgICAgICBJ
bXBsZW1lbnQgdGhlIGluZGV4ZWQgZGF0YWJhc2UgZXZlbnQgaW50ZXJmYWNlcyBhcyBwcm9wb3Nl
ZCBieSBNb3ppbGxhLgorICAgICAgICBSZWZhY3RvciB0aGUgcnVuIHRpbWUgdHlwZSBkZXRlY3Rp
b24gY29kZSB0aGF0IHdhcyBpbiBJREJSZXF1ZXN0IGludG8gaXRzIG93bgorICAgICAgICBjbGFz
cyBuYW1lZCBJREJBbnkuICBVc2UgdGhpcyBuZXcgY2xhc3Mgd2l0aGluIHRoZSBuZXcgZXZlbnQg
Y2xhc3NlcyBhbmQKKyAgICAgICAgSURCUmVzdWx0cy4KKworICAgICAgICBUZXN0OiBzdG9yYWdl
L2luZGV4ZWRkYi9iYXNpY3MuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06
CisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6CisgICAgICAgICogV2ViQ29yZS5n
eXBpOgorICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAg
ICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNJREJBbnlDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSURCUmVxdWVzdEN1c3RvbS5jcHA6
IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SURCQW55Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJREJSZXF1ZXN0Q3VzdG9tLmNwcDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnQ6Omlz
SURCRXJyb3JFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6aXNJREJTdWNjZXNzRXZl
bnQpOgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAgICAgICAqIHN0b3JhZ2UvSURCQW55LmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJREJBbnk6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJREJBbnk6OklEQkFueSk6CisgICAgICAgIChXZWJDb3JlOjpJREJBbnk6On5JREJB
bnkpOgorICAgICAgICAoV2ViQ29yZTo6SURCQW55OjppZGJEYXRhYmFzZVJlcXVlc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCQW55OjppbmRleGVkRGF0YWJhc2VSZXF1ZXN0KToKKyAgICAgICAg
KFdlYkNvcmU6OklEQkFueTo6c2VyaWFsaXplZFNjcmlwdFZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OklEQkFueTo6c2V0KToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkFueS5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OklEQkFueTo6KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkFueTo6dHlw
ZSk6CisgICAgICAgICogc3RvcmFnZS9JREJBbnkuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBzdG9y
YWdlL0lEQkVycm9yRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OklEQkVycm9y
RXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJFcnJvckV2ZW50OjpJREJFcnJv
ckV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkVycm9yRXZlbnQ6On5JREJFcnJvckV2ZW50
KToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkVycm9yRXZlbnQuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpJREJFcnJvckV2ZW50Ojpjb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkVycm9y
RXZlbnQ6Om1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SURCRXJyb3JFdmVudDo6aXNJREJF
cnJvckV2ZW50KToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkVycm9yRXZlbnQuaWRsOiBBZGRlZC4K
KyAgICAgICAgKiBzdG9yYWdlL0lEQkV2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpJREJFdmVudDo6SURCRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCRXZlbnQ6On5JREJF
dmVudCk6CisgICAgICAgIChXZWJDb3JlOjpJREJFdmVudDo6c291cmNlKToKKyAgICAgICAgKiBz
dG9yYWdlL0lEQkV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvSURCRXZlbnQuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL0lEQlJlcXVlc3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCUmVxdWVzdDo6SURCUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1
ZXN0OjpvblN1Y2Nlc3MpOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdDo6dGltZXJGaXJl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0OjpvbkV2ZW50Q29tbW9uKToKKyAgICAg
ICAgKiBzdG9yYWdlL0lEQlJlcXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0OjpyZXN1bHQpOgorICAgICAg
ICAqIHN0b3JhZ2UvSURCUmVxdWVzdC5pZGw6CisgICAgICAgICogc3RvcmFnZS9JREJTdWNjZXNz
RXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OklEQlN1Y2Nlc3NFdmVudDo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlN1Y2Nlc3NFdmVudDo6SURCU3VjY2Vzc0V2ZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlN1Y2Nlc3NFdmVudDo6fklEQlN1Y2Nlc3NFdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpJREJTdWNjZXNzRXZlbnQ6OnJlc3VsdCk6CisgICAgICAgICog
c3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJREJT
dWNjZXNzRXZlbnQ6OmlzSURCU3VjY2Vzc0V2ZW50KToKKyAgICAgICAgKiBzdG9yYWdlL0lEQlN1
Y2Nlc3NFdmVudC5pZGw6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvSW5kZXhlZERhdGFiYXNl
SW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmRleGVkRGF0YWJhc2VJbXBsOjpvcGVuKToK
KyAgICAgICAgKiBzdG9yYWdlL0luZGV4ZWREYXRhYmFzZVJlcXVlc3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5kZXhlZERhdGFiYXNlUmVxdWVzdDo6SW5kZXhlZERhdGFiYXNlUmVxdWVzdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbmRleGVkRGF0YWJhc2VSZXF1ZXN0OjpvcGVuKToKKyAgICAg
ICAgKiBzdG9yYWdlL0luZGV4ZWREYXRhYmFzZVJlcXVlc3QuaDoKKwogMjAxMC0wNS0xNCAgWmhl
bnlhbyBNbyAgPHptb0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkg
R2xhemtvdi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggMTQ3MWVmMzgyYjFlMzQ0NThjY2I2ZGYzZmQ0MTVl
NTY1ODJlZTU4OC4uYTI4MDMwZTlhMTcxM2NjMzRhYTZkNzk4NTQwNGM0NzY0MjEyYjk1OCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAKQEAgLTE2NSwxMCArMTY1LDE0IEBACiAjaW5jbHVkZSAiSlNIVE1MVGl0bGVF
bGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxVTGlzdEVsZW1lbnQuY3BwIgogI2luY2x1ZGUg
IkpTSFRNTFZpZGVvRWxlbWVudC5jcHAiCisjaW5jbHVkZSAiSlNJREJBbnkuY3BwIgogI2luY2x1
ZGUgIkpTSURCRGF0YWJhc2VFcnJvci5jcHAiCiAjaW5jbHVkZSAiSlNJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNJREJEYXRhYmFzZVJlcXVlc3QuY3BwIgorI2luY2x1ZGUg
IkpTSURCRXJyb3JFdmVudC5jcHAiCisjaW5jbHVkZSAiSlNJREJFdmVudC5jcHAiCiAjaW5jbHVk
ZSAiSlNJREJSZXF1ZXN0LmNwcCIKKyNpbmNsdWRlICJKU0lEQlN1Y2Nlc3NFdmVudC5jcHAiCiAj
aW5jbHVkZSAiSlNJbWFnZURhdGEuY3BwIgogI2luY2x1ZGUgIkpTSW5kZXhlZERhdGFiYXNlUmVx
dWVzdC5jcHAiCiAjaW5jbHVkZSAiSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCIKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCBkM2YwNTc4OTIwMDg1NGM5YjI3Nzc4ZjRjZjk3MGJjNTZkMzI0ZWNjLi44ZGVm
YzFhMDRlMjYzZWMwOTA5ZmZjM2E0NTYyMDg2MDAxNjI2Zjc3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0yMDgsMTAgKzIwOCwxNCBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBIVE1MVUxpc3RFbGVtZW50
IFwKICAgICBIVE1MVmlkZW9FbGVtZW50IFwKICAgICBIaXN0b3J5IFwKKyAgICBJREJBbnkgXAog
ICAgIElEQkRhdGFiYXNlRXJyb3IgXAogICAgIElEQkRhdGFiYXNlRXhjZXB0aW9uIFwKICAgICBJ
REJEYXRhYmFzZVJlcXVlc3QgXAorICAgIElEQkVycm9yRXZlbnQgXAorICAgIElEQkV2ZW50IFwK
ICAgICBJREJSZXF1ZXN0IFwKKyAgICBJREJTdWNjZXNzRXZlbnQgXAogICAgIEltYWdlRGF0YSBc
CiAgICAgSW5kZXhlZERhdGFiYXNlUmVxdWVzdCBcCiAgICAgSW5qZWN0ZWRTY3JpcHRIb3N0IFwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtCmluZGV4IGE2YjZjMDkxOTI4YjEyM2RlOTdlZmMyMTc1NzVjZTA1YzQwMDY5OTIuLmI2NTU2
MGVlYTc1YzgzYTJhZTEwYTI2YTRlZGVmYzRkOWYyMDZhYmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMjQyMiwxMCAr
MjQyMiwxNCBAQCBpZiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRQogRkVBVFVSRV9ERUZJTkVTICs9
IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFPTEKIAogSURMX0JJTkRJTkdTICs9IFwKKwlXZWJDb3Jl
L3N0b3JhZ2UvSURCREFueS5pZGwgXAogCVdlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUVycm9y
LmlkbCBcCiAJV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmlkbCBcCiAJV2Vi
Q29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlUmVxdWVzdC5pZGwgXAorCVdlYkNvcmUvc3RvcmFnZS9J
REJFcnJvckV2ZW50LmlkbCBcCisJV2ViQ29yZS9zdG9yYWdlL0lEQkV2ZW50LmlkbCBcCiAJV2Vi
Q29yZS9zdG9yYWdlL0lEQlJlcXVlc3QuaWRsIFwKKwlXZWJDb3JlL3N0b3JhZ2UvSURCU3VjY2Vz
c0V2ZW50LmlkbCBcCiAJV2ViQ29yZS9zdG9yYWdlL0luZGV4ZWREYXRhYmFzZVJlcXVlc3QuaWRs
CiAKIHdlYmNvcmVfY3BwZmxhZ3MgKz0gXApAQCAtMjQzMyw2ICsyNDM3LDggQEAgd2ViY29yZV9j
cHBmbGFncyArPSBcCiAKIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0lEQlJlcXVlc3RDdXN0b20uY3BwIFwKKwlXZWJDb3JlL3N0b3JhZ2UvSURCQW55LmNwcCBc
CisJV2ViQ29yZS9zdG9yYWdlL0lEQkFueS5oIFwKIAlXZWJDb3JlL3N0b3JhZ2UvSURCQ2FsbGJh
Y2tzLmNwcCBcCiAJV2ViQ29yZS9zdG9yYWdlL0lEQkNhbGxiYWNrcy5oIFwKIAlXZWJDb3JlL3N0
b3JhZ2UvSURCRGF0YWJhc2UuY3BwIFwKQEAgLTI0NDEsOCArMjQ0NywxNCBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVdlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5oIFwKIAlX
ZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VSZXF1ZXN0LmNwcCBcCiAJV2ViQ29yZS9zdG9yYWdl
L0lEQkRhdGFiYXNlUmVxdWVzdC5oIFwKKwlXZWJDb3JlL3N0b3JhZ2UvSURCRXJyb3JFdmVudC5j
cHAgXAorCVdlYkNvcmUvc3RvcmFnZS9JREJFcnJvckV2ZW50LmggXAorCVdlYkNvcmUvc3RvcmFn
ZS9JREJFdmVudC5jcHAgXAorCVdlYkNvcmUvc3RvcmFnZS9JREJFdmVudC5oIFwKIAlXZWJDb3Jl
L3N0b3JhZ2UvSURCUmVxdWVzdC5jcHAgXAogCVdlYkNvcmUvc3RvcmFnZS9JREJSZXF1ZXN0Lmgg
XAorCVdlYkNvcmUvc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuY3BwIFwKKwlXZWJDb3JlL3N0b3Jh
Z2UvSURCU3VjY2Vzc0V2ZW50LmggXAogCVdlYkNvcmUvc3RvcmFnZS9JbmRleGVkRGF0YWJhc2Uu
Y3BwIFwKIAlXZWJDb3JlL3N0b3JhZ2UvSW5kZXhlZERhdGFiYXNlLmggXAogCVdlYkNvcmUvc3Rv
cmFnZS9JbmRleGVkRGF0YWJhc2VJbXBsLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNv
cmUuZ3lwL1dlYkNvcmUuZ3lwIGIvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRl
eCBhZGY2ZDk0OWFhZGQ0YmMwYmE2MGUxZGViYmNmMDNkYjJjZmY2N2M0Li43NjM0NzY1M2I2OTc0
OWNiM2ZjZmY0ZDIwNmJiMDQ2MzU2MTcwYmZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
Z3lwL1dlYkNvcmUuZ3lwCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAg
LTU3Nyw2ICs1NzcsNyBAQAogICAgICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL25vdGlmaWNh
dGlvbnMnLAogICAgICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL3BhZ2UnLAogICAgICAgICAg
ICAgICAnLS1pbmNsdWRlJywgJy4uL3BsdWdpbnMnLAorICAgICAgICAgICAgICAnLS1pbmNsdWRl
JywgJy4uL3N0b3JhZ2UnLAogICAgICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL3N2ZycsCiAg
ICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vd2Vic29ja2V0cycsCiAgICAgICAgICAgICAg
ICctLWluY2x1ZGUnLCAnLi4vd29ya2VycycsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDk2MDhhYjI5YTQ0ZGEzNzNkM2UyNjU4
OGJjNmU0YmNkZDljMDY5ZWYuLmFhY2Y4ZTgyOWRiMjY1YThlMDY5NGVhMGM2M2IxNTYyYTU2YjRi
ZTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCkBAIC0yMTgsMTMgKzIxOCwxNyBAQAogICAgICAgICAgICAgJ3BsdWdpbnMvTWltZVR5
cGVBcnJheS5pZGwnLAogICAgICAgICAgICAgJ3BsdWdpbnMvUGx1Z2luLmlkbCcsCiAgICAgICAg
ICAgICAncGx1Z2lucy9QbHVnaW5BcnJheS5pZGwnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvSURC
QW55LmlkbCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9EYXRhYmFzZS5pZGwnLAogICAgICAgICAg
ICAgJ3N0b3JhZ2UvRGF0YWJhc2VDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2Uv
RGF0YWJhc2VTeW5jLmlkbCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9JREJEYXRhYmFzZUVycm9y
LmlkbCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5pZGwnLAog
ICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRGF0YWJhc2VSZXF1ZXN0LmlkbCcsCisgICAgICAgICAg
ICAnc3RvcmFnZS9JREJFcnJvckV2ZW50LmlkbCcsCisgICAgICAgICAgICAnc3RvcmFnZS9JREJF
dmVudC5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCUmVxdWVzdC5pZGwnLAorICAgICAg
ICAgICAgJ3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmlkbCcsCiAgICAgICAgICAgICAnc3RvcmFn
ZS9JbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmlkbCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9TUUxF
cnJvci5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmlkbCcsCkBAIC03
NTMsNyArNzU3LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MUGx1
Z0luRWxlbWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEhUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uaCcsCi0gICAgICAgICAgICAnYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SURCUmVxdWVzdEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOElEQkFueUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEphdmFTY3JpcHRDYWxsRnJhbWVDdXN0
b20uY3BwJywKQEAgLTMzMjIsNiArMzMyNiw4IEBACiAgICAgICAgICAgICAnc3RvcmFnZS9EYXRh
YmFzZVRyYWNrZXIuY3BwJywKICAgICAgICAgICAgICdzdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5o
JywKICAgICAgICAgICAgICdzdG9yYWdlL0RhdGFiYXNlVHJhY2tlckNsaWVudC5oJywKKyAgICAg
ICAgICAgICdzdG9yYWdlL0lEQkFueS5jcHAnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvSURCQW55
LmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCQ2FsbGJhY2tzLmgnLAogICAgICAgICAgICAg
J3N0b3JhZ2UvSURCRGF0YWJhc2UuaCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9JREJEYXRhYmFz
ZS5jcHAnLApAQCAtMzMyOSw4ICszMzM1LDE0IEBACiAgICAgICAgICAgICAnc3RvcmFnZS9JREJE
YXRhYmFzZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQkRhdGFiYXNlUmVx
dWVzdC5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRGF0YWJhc2VSZXF1ZXN0LmgnLAor
ICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRXZlbnQuY3BwJywKKyAgICAgICAgICAgICdzdG9yYWdl
L0lEQkV2ZW50LmgnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRXJyb3JFdmVudC5jcHAnLAor
ICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRXJyb3JFdmVudC5oJywKICAgICAgICAgICAgICdzdG9y
YWdlL0lEQlJlcXVlc3QuY3BwJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQlJlcXVlc3QuaCcs
CisgICAgICAgICAgICAnc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuY3BwJywKKyAgICAgICAgICAg
ICdzdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0luZGV4
ZWREYXRhYmFzZS5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSW5kZXhlZERhdGFiYXNlLmgn
LAogICAgICAgICAgICAgJ3N0b3JhZ2UvSW5kZXhlZERhdGFiYXNlSW1wbC5jcHAnLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggNzY0
MjM3OTdmY2Y1ZWIxZDA5NjA3Nzk3ODJmOTM4MmViMGVhN2M0Zi4uM2U2OGJlZmNkMWQ1NDBhNjEx
OGUyMGViMmY4OGVjOGM4YzAyZjBkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQor
KysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC00MzksMTAgKzQzOSwxNCBAQCBJRExfQklORElO
R1MgKz0gXAogICAgIHN0b3JhZ2UvRGF0YWJhc2UuaWRsIFwKICAgICBzdG9yYWdlL0RhdGFiYXNl
Q2FsbGJhY2suaWRsIFwKICAgICBzdG9yYWdlL0RhdGFiYXNlU3luYy5pZGwgXAorICAgIHN0b3Jh
Z2UvSURCQW55LmlkbCBcCiAgICAgc3RvcmFnZS9JREJEYXRhYmFzZUVycm9yLmlkbCBcCiAgICAg
c3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5pZGwgXAogICAgIHN0b3JhZ2UvSURCRGF0YWJh
c2VSZXF1ZXN0LmlkbCBcCisgICAgc3RvcmFnZS9JREJFcnJvckV2ZW50LmlkbCBcCisgICAgc3Rv
cmFnZS9JREJFdmVudC5pZGwgXAogICAgIHN0b3JhZ2UvSURCUmVxdWVzdC5pZGwgXAorICAgIHN0
b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmlkbCBcCiAgICAgc3RvcmFnZS9JbmRleGVkRGF0YWJhc2VS
ZXF1ZXN0LmlkbCBcCiAgICAgc3RvcmFnZS9TdG9yYWdlLmlkbCBcCiAgICAgc3RvcmFnZS9TdG9y
YWdlRXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3Jl
L1dlYkNvcmUucHJvCmluZGV4IDRkMmI2OTY4Y2JhYjhjMzc1NmRhOTg4ZGY2NDkxMDQ3MzA4NjE0
ZmQuLjUzN2VjZmNmZjExNTYxOWRlYzg0Y2VkNjU2Mjk1Mzc0N2I2YTM1YmQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjMxNCwy
MSArMjMxNCwyOSBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfREFUQUJBU0U9MSkgewogCiBj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRT0xKSB7CiAgICAgSEVBREVS
UyArPSBcCisgICAgICAgIHN0b3JhZ2UvSURCQW55LmggXAogICAgICAgICBzdG9yYWdlL0lEQkNh
bGxiYWNrcy5oIFwKICAgICAgICAgc3RvcmFnZS9JREJEYXRhYmFzZS5oIFwKICAgICAgICAgc3Rv
cmFnZS9JREJEYXRhYmFzZUVycm9yLmggXAogICAgICAgICBzdG9yYWdlL0lEQkRhdGFiYXNlRXhj
ZXB0aW9uLmggXAogICAgICAgICBzdG9yYWdlL0lEQkRhdGFiYXNlUmVxdWVzdC5oIFwKKyAgICAg
ICAgc3RvcmFnZS9JREJFcnJvckV2ZW50LmggXAorICAgICAgICBzdG9yYWdlL0lEQkV2ZW50Lmgg
XAogICAgICAgICBzdG9yYWdlL0lEQlJlcXVlc3QuaCBcCisgICAgICAgIHN0b3JhZ2UvSURCU3Vj
Y2Vzc0V2ZW50LmggXAogICAgICAgICBzdG9yYWdlL0luZGV4ZWREYXRhYmFzZS5oIFwKICAgICAg
ICAgc3RvcmFnZS9JbmRleGVkRGF0YWJhc2VJbXBsLmggXAogICAgICAgICBzdG9yYWdlL0luZGV4
ZWREYXRhYmFzZVJlcXVlc3QuaAogCiAgICAgU09VUkNFUyArPSBcCi0gICAgICAgIGJpbmRpbmdz
L2pzL0pTSURCUmVxdWVzdEN1c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy9qcy9KU0lEQkFu
eUN1c3RvbS5jcHAgXAorICAgICAgICBzdG9yYWdlL0lEQkFueS5jcHAgXAogICAgICAgICBzdG9y
YWdlL0lEQkRhdGFiYXNlLmNwcCBcCiAgICAgICAgIHN0b3JhZ2UvSURCRGF0YWJhc2VSZXF1ZXN0
LmNwcCBcCisgICAgICAgIHN0b3JhZ2UvSURCRXJyb3JFdmVudC5jcHAgXAorICAgICAgICBzdG9y
YWdlL0lEQkV2ZW50LmNwcCBcCiAgICAgICAgIHN0b3JhZ2UvSURCUmVxdWVzdC5jcHAgXAorICAg
ICAgICBzdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5jcHAgXAogICAgICAgICBzdG9yYWdlL0luZGV4
ZWREYXRhYmFzZS5jcHAgXAogICAgICAgICBzdG9yYWdlL0luZGV4ZWREYXRhYmFzZUltcGwuY3Bw
IFwKICAgICAgICAgc3RvcmFnZS9JbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmNwcApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNjVjZWFkMjdjODY1NDg2MDYyN2ZmMWU3MDY2
ODczMWFhOGJjOWIxYi4uNGY0NTk5MTcwYTg3OTA5ODhiNjM5MjQ3YjE2M2Q5ZGU2ZTg1NGRhYyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zNzgzNiw2ICszNzgzNiwx
MTggQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNJREJBbnkuY3BwIg0KKwkJCQkJPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJ
CQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJ
CQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQor
CQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0K
KwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQkFueS5o
Ig0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9
IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJ
REJEYXRhYmFzZS5jcHAiDQorCQkJCQk+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJ
CQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJ
CQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJ
CQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJ
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJ
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVn
X0NhaXJvfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4N
CisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+
DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSURCRGF0
YWJhc2UuaCINCisJCQkJCT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRp
dmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTSURCRGF0YWJhc2VFcnJvci5jcHAiDQogCQkJCQk+DQogCQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCkBAIC0zODAwNCw2ICszODExNiwxMTggQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQog
CQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJFcnJvckV2ZW50LmNwcCINCisJCQkJCT4N
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iUmVsZWFz
ZXxXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJ
CQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJ
CU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJv
fFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJ
CQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJ
TmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0K
KwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0K
KwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8L0ZpbGU+DQorCQkJ
CTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJFcnJvckV2ZW50LmgiDQorCQkJCQk+DQorCQkJ
CTwvRmlsZT4NCisJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQkV2ZW50LmNwcCINCisJ
CQkJCT4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
Ig0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9v
bA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0i
UmVsZWFzZXxXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+
DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkv
Pg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJSZWxlYXNl
X0NhaXJvfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4N
CisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+
DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8L0ZpbGU+
DQorCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJFdmVudC5oIg0KKwkJCQkJPg0KKwkJ
CQk8L0ZpbGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJSZXF1ZXN0LmNwcCIN
CiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAgLTM4MDYwLDcgKzM4Mjg0LDYz
IEBACiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxiaW5kaW5nc1xqc1xKU0lEQlJlcXVlc3RDdXN0b20uY3BwIg0KKwkJCQkJUmVsYXRpdmVQ
YXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTSURCU3VjY2Vzc0V2ZW50LmNwcCINCisJCQkJCT4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KKwkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdp
bjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8
VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFt
ZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQor
CQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQor
CQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCisJCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0K
KwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0K
KwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0K
KwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNJREJTdWNjZXNzRXZlbnQuaCINCisJCQkJCT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0K
KwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0lEQkFueUN1c3RvbS5jcHAiDQog
CQkJCQk+DQogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiINCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDJlZmM4
N2M0ZWUzNGE4MzgxMTE2YjlmYTVlNjg2MTY4NGNhNTFlYTguLmY3ZGJhMWNhY2FiNGUzZDQ1Mzc1
NWJjODkwNzY0MzIzNWJhMmUwMjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC00NzcyLDcgKzQ3NzIsMjMgQEAKIAkJQzUxOThGNUUxMTkyRUNGRDAwMkI3
NEE2IC8qIEluZGV4ZWREYXRhYmFzZVJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1MTk4RjRBMTE5MkVDRkQwMDJCNzRBNiAvKiBJbmRleGVk
RGF0YWJhc2VSZXF1ZXN0LmggKi87IH07CiAJCUM1NUUzOEJGMTAwNDBENUQwMEE1NkJEQiAvKiBT
dG9yYWdlTmFtZXNwYWNlSW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzU1RTM4QkIxMDA0MEQ1RDAwQTU2QkRCIC8qIFN0b3JhZ2VOYW1lc3BhY2VJ
bXBsLmggKi87IH07CiAJCUM1NUUzOEMwMTAwNDBENUQwMEE1NkJEQiAvKiBTdG9yYWdlTmFtZXNw
YWNlSW1wbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDNTVFMzhCQzEwMDQwRDVEMDBBNTZCREIgLyogU3RvcmFnZU5hbWVzcGFjZUltcGwuY3BwICov
OyB9OwotCQlDNTk1NjY3ODExOTMyNEM2MDBGRENFNDcgLyogSlNJREJSZXF1ZXN0Q3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1OTU2Njc3
MTE5MzI0QzYwMEZEQ0U0NyAvKiBKU0lEQlJlcXVlc3RDdXN0b20uY3BwICovOyB9OworCQlDNTZD
OTE0RTExOUQ4NDk4MDBERTRDRDkgLyogSlNJREJBbnlDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU2QzkxNEQxMTlEODQ5ODAwREU0Q0Q5
IC8qIEpTSURCQW55Q3VzdG9tLmNwcCAqLzsgfTsKKwkJQzU2QzkxNTIxMTlEODRDQjAwREU0Q0Q5
IC8qIElEQkFueS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDNTZDOTE0RjExOUQ4NENCMDBERTRDRDkgLyogSURCQW55LmNwcCAqLzsgfTsKKwkJQzU2
QzkxNTMxMTlEODRDQjAwREU0Q0Q5IC8qIElEQkFueS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU2QzkxNTAxMTlEODRDQjAwREU0Q0Q5IC8qIElEQkFu
eS5oICovOyB9OworCQlDNTZDOTE1RjExOUQ4NEU2MDBERTRDRDkgLyogSURCRXJyb3JFdmVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTZDOTE1
OTExOUQ4NEU2MDBERTRDRDkgLyogSURCRXJyb3JFdmVudC5jcHAgKi87IH07CisJCUM1NkM5MTYw
MTE5RDg0RTYwMERFNENEOSAvKiBJREJFcnJvckV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTZDOTE1QTExOUQ4NEU2MDBERTRDRDkgLyogSURC
RXJyb3JFdmVudC5oICovOyB9OworCQlDNTZDOTE2MjExOUQ4NEU2MDBERTRDRDkgLyogSURCRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU2
QzkxNUMxMTlEODRFNjAwREU0Q0Q5IC8qIElEQkV2ZW50LmNwcCAqLzsgfTsKKwkJQzU2QzkxNjMx
MTlEODRFNjAwREU0Q0Q5IC8qIElEQkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDNTZDOTE1RDExOUQ4NEU2MDBERTRDRDkgLyogSURCRXZlbnQu
aCAqLzsgfTsKKwkJQzU2QzkxNjgxMTlEODRGRjAwREU0Q0Q5IC8qIElEQlN1Y2Nlc3NFdmVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTZDOTE2
NTExOUQ4NEZGMDBERTRDRDkgLyogSURCU3VjY2Vzc0V2ZW50LmNwcCAqLzsgfTsKKwkJQzU2Qzkx
NjkxMTlEODRGRjAwREU0Q0Q5IC8qIElEQlN1Y2Nlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU2QzkxNjYxMTlEODRGRjAwREU0Q0Q5IC8q
IElEQlN1Y2Nlc3NFdmVudC5oICovOyB9OworCQlDNTZDOTE5QTExOUQ5MTUzMDBERTRDRDkgLyog
SlNJREJBbnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzU2QzkxOTgxMTlEOTE1MzAwREU0Q0Q5IC8qIEpTSURCQW55LmNwcCAqLzsgfTsKKwkJQzU2
QzkxOUIxMTlEOTE1MzAwREU0Q0Q5IC8qIEpTSURCQW55LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTZDOTE5OTExOUQ5MTUzMDBERTRDRDkgLyogSlNJ
REJBbnkuaCAqLzsgfTsKKwkJQzU2QzkxQTAxMTlEOTE4MTAwREU0Q0Q5IC8qIEpTSURCRXJyb3JF
dmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
NTZDOTE5QzExOUQ5MTgxMDBERTRDRDkgLyogSlNJREJFcnJvckV2ZW50LmNwcCAqLzsgfTsKKwkJ
QzU2QzkxQTExMTlEOTE4MTAwREU0Q0Q5IC8qIEpTSURCRXJyb3JFdmVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU2QzkxOUQxMTlEOTE4MTAwREU0
Q0Q5IC8qIEpTSURCRXJyb3JFdmVudC5oICovOyB9OworCQlDNTZDOTFBMjExOUQ5MTgxMDBERTRD
RDkgLyogSlNJREJFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDNTZDOTE5RTExOUQ5MTgxMDBERTRDRDkgLyogSlNJREJFdmVudC5jcHAgKi87
IH07CisJCUM1NkM5MUEzMTE5RDkxODEwMERFNENEOSAvKiBKU0lEQkV2ZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTZDOTE5RjExOUQ5MTgxMDBE
RTRDRDkgLyogSlNJREJFdmVudC5oICovOyB9OworCQlDNTZDOTFBNjExOUQ5MTg3MDBERTRDRDkg
LyogSlNJREJTdWNjZXNzRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzU2QzkxQTQxMTlEOTE4NzAwREU0Q0Q5IC8qIEpTSURCU3VjY2Vzc0V2
ZW50LmNwcCAqLzsgfTsKKwkJQzU2QzkxQTcxMTlEOTE4NzAwREU0Q0Q5IC8qIEpTSURCU3VjY2Vz
c0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
NTZDOTFBNTExOUQ5MTg3MDBERTRDRDkgLyogSlNJREJTdWNjZXNzRXZlbnQuaCAqLzsgfTsKIAkJ
QzVENEFBN0ExMTZCQUZCNjAwNjlDQTkzIC8qIEdseXBoTWV0cmljc01hcC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzVENEFBNzgxMTZCQUZCNjAwNjlD
QTkzIC8qIEdseXBoTWV0cmljc01hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUM1RTlCNjc3MTA2OTdFMTMwMEM3QkIxQSAvKiBTdG9yYWdlRXZl
bnREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEM1RTlCNjc2MTA2OTdFMTMwMEM3QkIxQSAvKiBTdG9yYWdlRXZlbnREaXNwYXRjaGVy
LmNwcCAqLzsgfTsKIAkJQzVFQkREODQxMDVFRERFQzAwNTY4MTZGIC8qIFN0b3JhZ2VFdmVudERp
c3BhdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEM1RUJERDgxMTA1RURERUMwMDU2ODE2RiAvKiBTdG9yYWdlRXZlbnREaXNwYXRjaGVyLmggKi87
IH07CkBAIC0xMDIzOCw3ICsxMDI1NCwyNyBAQAogCQlDNTE5OEY0QjExOTJFQ0ZEMDAyQjc0QTYg
LyogSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW5k
ZXhlZERhdGFiYXNlUmVxdWVzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1
NUUzOEJCMTAwNDBENUQwMEE1NkJEQiAvKiBTdG9yYWdlTmFtZXNwYWNlSW1wbC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdG9yYWdlTmFtZXNwYWNlSW1wbC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDNTVFMzhCQzEwMDQwRDVEMDBBNTZCREIgLyogU3RvcmFn
ZU5hbWVzcGFjZUltcGwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U3RvcmFnZU5hbWVzcGFjZUltcGwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlD
NTk1NjY3NzExOTMyNEM2MDBGRENFNDcgLyogSlNJREJSZXF1ZXN0Q3VzdG9tLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCUmVxdWVzdEN1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM1NkM5MTREMTE5RDg0OTgwMERFNENEOSAvKiBK
U0lEQkFueUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0lEQkFueUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM1NkM5MTRG
MTE5RDg0Q0IwMERFNENEOSAvKiBJREJBbnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSURCQW55LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2
QzkxNTAxMTlEODRDQjAwREU0Q0Q5IC8qIElEQkFueS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBJREJBbnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2Qzkx
NTExMTlEODRDQjAwREU0Q0Q5IC8qIElEQkFueS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
SURCQW55LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2QzkxNTkxMTlEODRF
NjAwREU0Q0Q5IC8qIElEQkVycm9yRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSURCRXJyb3JFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUM1NkM5MTVBMTE5RDg0RTYwMERFNENEOSAvKiBJREJFcnJvckV2ZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQkVycm9yRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQzU2QzkxNUIxMTlEODRFNjAwREU0Q0Q5IC8qIElEQkVycm9yRXZlbnQu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IElEQkVycm9yRXZlbnQuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDNTZDOTE1QzExOUQ4NEU2MDBERTRDRDkgLyogSURCRXZlbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSURCRXZlbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNTZDOTE1RDExOUQ4NEU2MDBERTRDRDkgLyog
SURCRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCRXZlbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2QzkxNUUxMTlEODRFNjAwREU0Q0Q5IC8q
IElEQkV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJREJFdmVudC5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM1NkM5MTY1MTE5RDg0RkYwMERFNENEOSAvKiBJREJT
dWNjZXNzRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSURC
U3VjY2Vzc0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2QzkxNjYx
MTlEODRGRjAwREU0Q0Q5IC8qIElEQlN1Y2Nlc3NFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBJREJTdWNjZXNzRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQzU2QzkxNjcxMTlEODRGRjAwREU0Q0Q5IC8qIElEQlN1Y2Nlc3NFdmVudC5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gSURCU3VjY2Vzc0V2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQzU2QzkxOTgxMTlEOTE1MzAwREU0Q0Q5IC8qIEpTSURCQW55LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCQW55LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2QzkxOTkxMTlEOTE1MzAwREU0Q0Q5IC8qIEpTSURC
QW55LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSURCQW55Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM1NkM5MTlDMTE5RDkxODEwMERFNENEOSAvKiBKU0lE
QkVycm9yRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJ
REJFcnJvckV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2QzkxOUQx
MTlEOTE4MTAwREU0Q0Q5IC8qIEpTSURCRXJyb3JFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0lEQkVycm9yRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQzU2QzkxOUUxMTlEOTE4MTAwREU0Q0Q5IC8qIEpTSURCRXZlbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJREJFdmVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUM1NkM5MTlGMTE5RDkxODEwMERFNENEOSAvKiBKU0lEQkV2ZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSURCRXZlbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2QzkxQTQxMTlEOTE4NzAwREU0Q0Q5IC8qIEpTSURC
U3VjY2Vzc0V2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
SURCU3VjY2Vzc0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2Qzkx
QTUxMTlEOTE4NzAwREU0Q0Q5IC8qIEpTSURCU3VjY2Vzc0V2ZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTSURCU3VjY2Vzc0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1ldHJpY3NNYXAu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2x5cGhNZXRyaWNzTWFwLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1RTlCNjc2MTA2OTdFMTMwMEM3QkIxQSAvKiBT
dG9yYWdlRXZlbnREaXNwYXRjaGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFN0b3JhZ2VFdmVudERpc3BhdGNoZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDNUVCREQ4MTEwNUVEREVDMDA1NjgxNkYgLyogU3RvcmFnZUV2ZW50RGlzcGF0Y2hl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdG9yYWdlRXZlbnREaXNwYXRj
aGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDkwNSw2ICsxMDk0MSw5IEBA
CiAJCQkJMUFENTFBMTMwQ0I1OUNEMzAwOTUzRDExIC8qIERhdGFiYXNlVHJhY2tlci5jcHAgKi8s
CiAJCQkJMUFENTFBMTIwQ0I1OUNEMzAwOTUzRDExIC8qIERhdGFiYXNlVHJhY2tlci5oICovLAog
CQkJCTUxRkFGRTMzMENFQ0JGMkQwMEJCM0YyNCAvKiBEYXRhYmFzZVRyYWNrZXJDbGllbnQuaCAq
LywKKwkJCQlDNTZDOTE0RjExOUQ4NENCMDBERTRDRDkgLyogSURCQW55LmNwcCAqLywKKwkJCQlD
NTZDOTE1MDExOUQ4NENCMDBERTRDRDkgLyogSURCQW55LmggKi8sCisJCQkJQzU2QzkxNTExMTlE
ODRDQjAwREU0Q0Q5IC8qIElEQkFueS5pZGwgKi8sCiAJCQkJQzUxOThGMzgxMTkyRUNGRDAwMkI3
NEE2IC8qIElEQkNhbGxiYWNrcy5oICovLAogCQkJCUM1MTk4RjM5MTE5MkVDRkQwMDJCNzRBNiAv
KiBJREJEYXRhYmFzZS5jcHAgKi8sCiAJCQkJQzUxOThGM0ExMTkyRUNGRDAwMkI3NEE2IC8qIElE
QkRhdGFiYXNlLmggKi8sCkBAIC0xMDkxNSw5ICsxMDk1NCwxOCBAQAogCQkJCUM1MTk4RjNGMTE5
MkVDRkQwMDJCNzRBNiAvKiBJREJEYXRhYmFzZVJlcXVlc3QuY3BwICovLAogCQkJCUM1MTk4RjQw
MTE5MkVDRkQwMDJCNzRBNiAvKiBJREJEYXRhYmFzZVJlcXVlc3QuaCAqLywKIAkJCQlDNTE5OEY0
MTExOTJFQ0ZEMDAyQjc0QTYgLyogSURCRGF0YWJhc2VSZXF1ZXN0LmlkbCAqLywKKwkJCQlDNTZD
OTE1OTExOUQ4NEU2MDBERTRDRDkgLyogSURCRXJyb3JFdmVudC5jcHAgKi8sCisJCQkJQzU2Qzkx
NUExMTlEODRFNjAwREU0Q0Q5IC8qIElEQkVycm9yRXZlbnQuaCAqLywKKwkJCQlDNTZDOTE1QjEx
OUQ4NEU2MDBERTRDRDkgLyogSURCRXJyb3JFdmVudC5pZGwgKi8sCisJCQkJQzU2QzkxNUMxMTlE
ODRFNjAwREU0Q0Q5IC8qIElEQkV2ZW50LmNwcCAqLywKKwkJCQlDNTZDOTE1RDExOUQ4NEU2MDBE
RTRDRDkgLyogSURCRXZlbnQuaCAqLywKKwkJCQlDNTZDOTE1RTExOUQ4NEU2MDBERTRDRDkgLyog
SURCRXZlbnQuaWRsICovLAogCQkJCUM1MTk4RjQyMTE5MkVDRkQwMDJCNzRBNiAvKiBJREJSZXF1
ZXN0LmNwcCAqLywKIAkJCQlDNTE5OEY0MzExOTJFQ0ZEMDAyQjc0QTYgLyogSURCUmVxdWVzdC5o
ICovLAogCQkJCUM1MTk4RjQ0MTE5MkVDRkQwMDJCNzRBNiAvKiBJREJSZXF1ZXN0LmlkbCAqLywK
KwkJCQlDNTZDOTE2NTExOUQ4NEZGMDBERTRDRDkgLyogSURCU3VjY2Vzc0V2ZW50LmNwcCAqLywK
KwkJCQlDNTZDOTE2NjExOUQ4NEZGMDBERTRDRDkgLyogSURCU3VjY2Vzc0V2ZW50LmggKi8sCisJ
CQkJQzU2QzkxNjcxMTlEODRGRjAwREU0Q0Q5IC8qIElEQlN1Y2Nlc3NFdmVudC5pZGwgKi8sCiAJ
CQkJQzUxOThGNDUxMTkyRUNGRDAwMkI3NEE2IC8qIEluZGV4ZWREYXRhYmFzZS5jcHAgKi8sCiAJ
CQkJQzUxOThGNDYxMTkyRUNGRDAwMkI3NEE2IC8qIEluZGV4ZWREYXRhYmFzZS5oICovLAogCQkJ
CUM1MTk4RjQ3MTE5MkVDRkQwMDJCNzRBNiAvKiBJbmRleGVkRGF0YWJhc2VJbXBsLmNwcCAqLywK
QEAgLTE0MjQwLDE0ICsxNDI4OCwyMiBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMUFFODJGOEQw
Q0FBRkE5RDAwMjIzN0FFIC8qIEpTRGF0YWJhc2UuY3BwICovLAogCQkJCTFBRTgyRjhFMENBQUZB
OUQwMDIyMzdBRSAvKiBKU0RhdGFiYXNlLmggKi8sCisJCQkJQzU2QzkxOTgxMTlEOTE1MzAwREU0
Q0Q5IC8qIEpTSURCQW55LmNwcCAqLywKKwkJCQlDNTZDOTE5OTExOUQ5MTUzMDBERTRDRDkgLyog
SlNJREJBbnkuaCAqLywKIAkJCQlDNUY0RjNGRTExOTMwNkFDMDBGREZBREQgLyogSlNJREJEYXRh
YmFzZUVycm9yLmNwcCAqLywKIAkJCQlDNUY0RjNGRjExOTMwNkFDMDBGREZBREQgLyogSlNJREJE
YXRhYmFzZUVycm9yLmggKi8sCiAJCQkJQzVGNEY0MDAxMTkzMDZBQzAwRkRGQUREIC8qIEpTSURC
RGF0YWJhc2VFeGNlcHRpb24uY3BwICovLAogCQkJCUM1RjRGNDAxMTE5MzA2QUMwMEZERkFERCAv
KiBKU0lEQkRhdGFiYXNlRXhjZXB0aW9uLmggKi8sCiAJCQkJQzVGNEY0MDIxMTkzMDZBQzAwRkRG
QUREIC8qIEpTSURCRGF0YWJhc2VSZXF1ZXN0LmNwcCAqLywKIAkJCQlDNUY0RjQwMzExOTMwNkFD
MDBGREZBREQgLyogSlNJREJEYXRhYmFzZVJlcXVlc3QuaCAqLywKKwkJCQlDNTZDOTE5QzExOUQ5
MTgxMDBERTRDRDkgLyogSlNJREJFcnJvckV2ZW50LmNwcCAqLywKKwkJCQlDNTZDOTE5RDExOUQ5
MTgxMDBERTRDRDkgLyogSlNJREJFcnJvckV2ZW50LmggKi8sCisJCQkJQzU2QzkxOUUxMTlEOTE4
MTAwREU0Q0Q5IC8qIEpTSURCRXZlbnQuY3BwICovLAorCQkJCUM1NkM5MTlGMTE5RDkxODEwMERF
NENEOSAvKiBKU0lEQkV2ZW50LmggKi8sCiAJCQkJQzVGNEY0MDQxMTkzMDZBQzAwRkRGQUREIC8q
IEpTSURCUmVxdWVzdC5jcHAgKi8sCiAJCQkJQzVGNEY0MDUxMTkzMDZBQzAwRkRGQUREIC8qIEpT
SURCUmVxdWVzdC5oICovLAorCQkJCUM1NkM5MUE0MTE5RDkxODcwMERFNENEOSAvKiBKU0lEQlN1
Y2Nlc3NFdmVudC5jcHAgKi8sCisJCQkJQzU2QzkxQTUxMTlEOTE4NzAwREU0Q0Q5IC8qIEpTSURC
U3VjY2Vzc0V2ZW50LmggKi8sCiAJCQkJQzVGNEY0MEUxMTkzMDZDMDAwRkRGQUREIC8qIEpTSW5k
ZXhlZERhdGFiYXNlUmVxdWVzdC5jcHAgKi8sCiAJCQkJQzVGNEY0MEYxMTkzMDZDMDAwRkRGQURE
IC8qIEpTSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5oICovLAogCQkJCTUxNEM3NjM1MENFOTIyNUUw
MDdFRjNDRCAvKiBKU1NRTEVycm9yLmNwcCAqLywKQEAgLTE1MjcwLDcgKzE1MzI2LDcgQEAKIAkJ
CQk0NDhBRDI3QTBBNDgxMzc5MDAyM0QxNzkgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0
b20uY3BwICovLAogCQkJCUJDMTdGOTY1MEI2NEVCQjgwMDRBNjVDQiAvKiBKU0hUTUxTZWxlY3RF
bGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlBQjRDQjRFQTBCOEJEQTNEMDA5RjQwQjAgLyogSlNI
VE1MU2VsZWN0RWxlbWVudEN1c3RvbS5oICovLAotCQkJCUM1OTU2Njc3MTE5MzI0QzYwMEZEQ0U0
NyAvKiBKU0lEQlJlcXVlc3RDdXN0b20uY3BwICovLAorCQkJCUM1NkM5MTREMTE5RDg0OTgwMERF
NENEOSAvKiBKU0lEQkFueUN1c3RvbS5jcHAgKi8sCiAJCQkJQTdEMDMxOEQwRTkzNTQwMzAwRTI0
QUNEIC8qIEpTSW1hZ2VEYXRhQ3VzdG9tLmNwcCAqLywKIAkJCQk3QTBFNzZENDEwQkYwNTA3MDBB
MDI3NkUgLyogSlNJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwICovLAogCQkJCTdBNzRFQ0JD
MTAxODM5REEwMEJGOTM5RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAgKi8s
CkBAIC0xOTE2NCw2ICsxOTIyMCwxNCBAQAogCQkJCTJFOTRGNDUxMTE5MjA5NkEwMEI3Rjc1RCAv
KiBGaWxlUmVhZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDQwQTJENzExOTFBNTIzMDAwODIw
QjAgLyogU1ZHRkVMaWdodGluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjVCNURDNkExMTlCQjNE
NTAwMkE4NzkwIC8qIEFic3RyYWN0RGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCUM1NkM5
MTUzMTE5RDg0Q0IwMERFNENEOSAvKiBJREJBbnkuaCBpbiBIZWFkZXJzICovLAorCQkJCUM1NkM5
MTYwMTE5RDg0RTYwMERFNENEOSAvKiBJREJFcnJvckV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlDNTZDOTE2MzExOUQ4NEU2MDBERTRDRDkgLyogSURCRXZlbnQuaCBpbiBIZWFkZXJzICovLAor
CQkJCUM1NkM5MTY5MTE5RDg0RkYwMERFNENEOSAvKiBJREJTdWNjZXNzRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUM1NkM5MTlCMTE5RDkxNTMwMERFNENEOSAvKiBKU0lEQkFueS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQzU2QzkxQTExMTlEOTE4MTAwREU0Q0Q5IC8qIEpTSURCRXJyb3JFdmVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzU2QzkxQTMxMTlEOTE4MTAwREU0Q0Q5IC8qIEpTSURC
RXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUM1NkM5MUE3MTE5RDkxODcwMERFNENEOSAvKiBK
U0lEQlN1Y2Nlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMTQyOCwxMSArMjE0OTIsMTkg
QEAKIAkJCQlDNUY0RjQwQTExOTMwNkFDMDBGREZBREQgLyogSlNJREJEYXRhYmFzZVJlcXVlc3Qu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzVGNEY0MEMxMTkzMDZBQzAwRkRGQUREIC8qIEpTSURC
UmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNUY0RjQxMDExOTMwNkMwMDBGREZBREQg
LyogSlNJbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUM1OTU2
Njc4MTE5MzI0QzYwMEZEQ0U0NyAvKiBKU0lEQlJlcXVlc3RDdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkU5NEY0M0IxMTkyMDdEQTAwQjdGNzVEIC8qIEpTRmlsZVJlYWRlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkyRTk0RjQ1MDExOTIwOTY0MDBCN0Y3NUQgLyogRmlsZVJlYWRlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDQwQTJENTExOTFBNTBCMDAwODIwQjAgLyogU1ZHRkVM
aWdodGluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCNUI1REM2OTExOUJCM0Q1MDAyQTg3OTAg
LyogQWJzdHJhY3REYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNTZDOTE0RTExOUQ4
NDk4MDBERTRDRDkgLyogSlNJREJBbnlDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzU2
QzkxNTIxMTlEODRDQjAwREU0Q0Q5IC8qIElEQkFueS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlD
NTZDOTE1RjExOUQ4NEU2MDBERTRDRDkgLyogSURCRXJyb3JFdmVudC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlDNTZDOTE2MjExOUQ4NEU2MDBERTRDRDkgLyogSURCRXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQzU2QzkxNjgxMTlEODRGRjAwREU0Q0Q5IC8qIElEQlN1Y2Nlc3NFdmVudC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlDNTZDOTE5QTExOUQ5MTUzMDBERTRDRDkgLyogSlNJREJB
bnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzU2QzkxQTAxMTlEOTE4MTAwREU0Q0Q5IC8qIEpT
SURCRXJyb3JFdmVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNTZDOTFBMjExOUQ5MTgxMDBE
RTRDRDkgLyogSlNJREJFdmVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNTZDOTFBNjExOUQ5
MTg3MDBERTRDRDkgLyogSlNJREJTdWNjZXNzRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAppbmRleCA2Njg2ZDdhNjljYzJkM2NlZDMzMzcy
NDIyYzcxNWQxOTRhMmJlMzAzLi5mZDQ2ZmFhMmZjOTk1NjUwZWEzZTI1MDY4ODZjODE1YzlhNGE0
NDFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKQEAgLTM4LDYgKzM4LDgg
QEAKICNpbmNsdWRlICJKU0N1c3RvbUV2ZW50LmgiCiAjaW5jbHVkZSAiSlNDb21wb3NpdGlvbkV2
ZW50LmgiCiAjaW5jbHVkZSAiSlNFcnJvckV2ZW50LmgiCisjaW5jbHVkZSAiSlNJREJFcnJvckV2
ZW50LmgiCisjaW5jbHVkZSAiSlNJREJTdWNjZXNzRXZlbnQuaCIKICNpbmNsdWRlICJKU0tleWJv
YXJkRXZlbnQuaCIKICNpbmNsdWRlICJKU01lc3NhZ2VFdmVudC5oIgogI2luY2x1ZGUgIkpTTW91
c2VFdmVudC5oIgpAQCAtNTQsNiArNTYsOCBAQAogI2luY2x1ZGUgIkpTWE1MSHR0cFJlcXVlc3RQ
cm9ncmVzc0V2ZW50LmgiCiAjaW5jbHVkZSAiQmVmb3JlTG9hZEV2ZW50LmgiCiAjaW5jbHVkZSAi
RXJyb3JFdmVudC5oIgorI2luY2x1ZGUgIklEQkVycm9yRXZlbnQuaCIKKyNpbmNsdWRlICJJREJT
dWNjZXNzRXZlbnQuaCIKICNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiTWVz
c2FnZUV2ZW50LmgiCiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgpAQCAtMTQ1LDYgKzE0OSwxMiBA
QCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBFdmVudCogZXZlbnQpCiAgICAgZWxzZSBpZiAoZXZlbnQtPmlzU3RvcmFnZUV2ZW50
KCkpCiAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGds
b2JhbE9iamVjdCwgU3RvcmFnZUV2ZW50LCBldmVudCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoSU5E
RVhFRF9EQVRBQkFTRSkKKyAgICBlbHNlIGlmIChldmVudC0+aXNJREJFcnJvckV2ZW50KCkpCisg
ICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9i
amVjdCwgSURCRXJyb3JFdmVudCwgZXZlbnQpOworICAgIGVsc2UgaWYgKGV2ZW50LT5pc0lEQlN1
Y2Nlc3NFdmVudCgpKQorICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBF
UihleGVjLCBnbG9iYWxPYmplY3QsIElEQlN1Y2Nlc3NFdmVudCwgZXZlbnQpOworI2VuZGlmCiAg
ICAgZWxzZSBpZiAoZXZlbnQtPmlzV2ViS2l0QW5pbWF0aW9uRXZlbnQoKSkKICAgICAgICAgd3Jh
cHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBXZWJL
aXRBbmltYXRpb25FdmVudCwgZXZlbnQpOwogICAgIGVsc2UgaWYgKGV2ZW50LT5pc1dlYktpdFRy
YW5zaXRpb25FdmVudCgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50
VGFyZ2V0LmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldC5jcHAKaW5kZXgg
OTQ4ODg5YjM3YjMyM2QyNWFhNDZlZDM5Y2ZjZmIyMmQ4ZTJkZGM1ZS4uYzVmY2U2NDBhZGM3NThi
YzBmNGMxNmM3MWQzMzljMjc5Yjg5ODA3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0V2ZW50VGFyZ2V0LmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJn
ZXQuY3BwCkBAIC03OCw2ICs3OCwxMSBAQAogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbi5oIgogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNpbmNsdWRlICJJREJSZXF1ZXN0
LmgiCisjaW5jbHVkZSAiSlNJREJSZXF1ZXN0LmgiCisjZW5kaWYKKwogI2lmIEVOQUJMRShXRUJf
U09DS0VUUykKICNpbmNsdWRlICJKU1dlYlNvY2tldC5oIgogI2luY2x1ZGUgIldlYlNvY2tldC5o
IgpAQCAtMTQ5LDYgKzE1NCwxMSBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RP
TUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFdmVudFRhcmdldCogdGFyZwogICAgICAgICBy
ZXR1cm4gdG9KUyhleGVjLCBub3RpZmljYXRpb24pOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoSU5E
RVhFRF9EQVRBQkFTRSkKKyAgICBpZiAoSURCUmVxdWVzdCogaWRiUmVxdWVzdCA9IHRhcmdldC0+
dG9JREJSZXF1ZXN0KCkpCisgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGlkYlJlcXVlc3QpOwor
I2VuZGlmCisKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiAgICAgaWYgKFdlYlNvY2tldCogd2Vi
U29ja2V0ID0gdGFyZ2V0LT50b1dlYlNvY2tldCgpKQogICAgICAgICByZXR1cm4gdG9KUyhleGVj
LCB3ZWJTb2NrZXQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lEQlJlcXVl
c3RDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lEQkFueUN1c3RvbS5jcHAKc2lt
aWxhcml0eSBpbmRleCA3NCUKcmVuYW1lIGZyb20gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lEQlJl
cXVlc3RDdXN0b20uY3BwCnJlbmFtZSB0byBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSURCQW55Q3Vz
dG9tLmNwcAppbmRleCBjNGY5NzQ0MWNmNDdmMmY3ZjlkMzEyZjgwN2U4NTNmZGJmNGEzODBjLi5m
NzY3NGI4Y2ZkOWI2ZjI5OGZhYTA1NGExN2ZiMzQ4YjMyNzU4OGRmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSURCUmVxdWVzdEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0lEQkFueUN1c3RvbS5jcHAKQEAgLTMyLDI3ICszMiwzMyBAQAogCiAjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCiAKLSNpbmNsdWRlICJKU0lEQlJlcXVlc3QuaCIKKyNpbmNs
dWRlICJKU0lEQkFueS5oIgogCisjaW5jbHVkZSAiSURCQW55LmgiCiAjaW5jbHVkZSAiSURCRGF0
YWJhc2VSZXF1ZXN0LmgiCi0jaW5jbHVkZSAiSURCUmVxdWVzdC5oIgorI2luY2x1ZGUgIkluZGV4
ZWREYXRhYmFzZVJlcXVlc3QuaCIKICNpbmNsdWRlICJKU0lEQkRhdGFiYXNlUmVxdWVzdC5oIgor
I2luY2x1ZGUgIkpTSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5oIgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLUpTVmFsdWUgSlNJREJSZXF1ZXN0OjpyZXN1bHQoRXhlY1N0YXRlKiBleGVjKSBj
b25zdAorSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSURCQW55KiBpZGJBbnkpCiB7Ci0gICAgSURCUmVxdWVzdCogaWRiUmVxdWVz
dCA9IHN0YXRpY19jYXN0PElEQlJlcXVlc3QqPihpbXBsKCkpOwotICAgIHN3aXRjaCAoaWRiUmVx
dWVzdC0+cmVzdWx0VHlwZSgpKSB7Ci0gICAgY2FzZSBJREJSZXF1ZXN0OjpVTkRFRklORUQ6Cisg
ICAgaWYgKCFpZGJBbnkpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKworICAgIHN3aXRjaCAo
aWRiQW55LT50eXBlKCkpIHsKKyAgICBjYXNlIElEQkFueTo6VW5kZWZpbmVkVHlwZToKICAgICAg
ICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAgY2FzZSBJREJSZXF1ZXN0OjpJREJEQVRBQkFT
RToKLSAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0KCksIGlkYlJlcXVlc3Qt
PmlkYkRhdGFiYXNlUmVzdWx0KCkpOwotICAgIGNhc2UgSURCUmVxdWVzdDo6U0VSSUFMSVpFRFND
UklQVFZBTFVFOgotICAgICAgICByZXR1cm4gaWRiUmVxdWVzdC0+c2VyaWFsaXplZFNjcmlwdFZh
bHVlUmVzdWx0KCktPmRlc2VyaWFsaXplKGV4ZWMsIGdsb2JhbE9iamVjdCgpKTsKKyAgICBjYXNl
IElEQkFueTo6SURCRGF0YWJhc2VSZXF1ZXN0VHlwZToKKyAgICAgICAgcmV0dXJuIHRvSlMoZXhl
YywgZ2xvYmFsT2JqZWN0LCBpZGJBbnktPmlkYkRhdGFiYXNlUmVxdWVzdCgpKTsKKyAgICBjYXNl
IElEQkFueTo6SW5kZXhlZERhdGFiYXNlUmVxdWVzdFR5cGU6CisgICAgICAgIHJldHVybiB0b0pT
KGV4ZWMsIGdsb2JhbE9iamVjdCwgaWRiQW55LT5pbmRleGVkRGF0YWJhc2VSZXF1ZXN0KCkpOwor
ICAgIGNhc2UgSURCQW55OjpTZXJpYWxpemVkU2NyaXB0VmFsdWVUeXBlOgorICAgICAgICByZXR1
cm4gaWRiQW55LT5zZXJpYWxpemVkU2NyaXB0VmFsdWUoKS0+ZGVzZXJpYWxpemUoZXhlYywgZ2xv
YmFsT2JqZWN0KTsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAKaW5kZXggYjI3MjhlYzc5ODgw
OGNlNDJkMmFjNDdiNWNhODIxZWIwOTRmNDY2ZS4uOGExYTMzOTlmNmM1YzNkMTQ3ZjdlNGI0N2Q3
MWEzNDczMDU4ZmZhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhF
dmVudEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1
c3RvbS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDkg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQpAQCAtNDEsNiArNDEsOCBAQAogI2luY2x1ZGUgIlY4Q29tcG9zaXRpb25FdmVu
dC5oIgogI2luY2x1ZGUgIlY4Q3VzdG9tRXZlbnQuaCIKICNpbmNsdWRlICJWOEVycm9yRXZlbnQu
aCIKKyNpbmNsdWRlICJWOElEQkVycm9yRXZlbnQuaCIKKyNpbmNsdWRlICJWOElEQlN1Y2Nlc3NF
dmVudC5oIgogI2luY2x1ZGUgIlY4S2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIlY4TWVzc2Fn
ZUV2ZW50LmgiCiAjaW5jbHVkZSAiVjhNb3VzZUV2ZW50LmgiCkBAIC0xNDMsNiArMTQ1LDEyIEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEV2ZW50KiBpbXBsKQogICAgIGlmIChpbXBsLT5p
c1N0b3JhZ2VFdmVudCgpKQogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxTdG9yYWdl
RXZlbnQqPihpbXBsKSk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyAg
ICBpZiAoaW1wbC0+aXNJREJFcnJvckV2ZW50KCkpCisgICAgICAgIHJldHVybiB0b1Y4KHN0YXRp
Y19jYXN0PElEQkVycm9yRXZlbnQqPihpbXBsKSk7CisgICAgaWYgKGltcGwtPmlzSURCU3VjY2Vz
c0V2ZW50KCkpCisgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PElEQlN1Y2Nlc3NFdmVu
dCo+KGltcGwpKTsKKyNlbmRpZgogICAgIGlmIChpbXBsLT5pc0JlZm9yZUxvYWRFdmVudCgpKQog
ICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxCZWZvcmVMb2FkRXZlbnQqPihpbXBsKSk7
CiAgICAgaWYgKGltcGwtPmlzQ3VzdG9tRXZlbnQoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SURCUmVxdWVzdEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOElEQkFueUN1c3RvbS5jcHAKc2ltaWxhcml0eSBpbmRleCA3NyUKcmVuYW1l
IGZyb20gV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJSZXF1ZXN0Q3VzdG9tLmNwcApy
ZW5hbWUgdG8gV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJBbnlDdXN0b20uY3BwCmlu
ZGV4IGJlZmZiNjkxMDk2NWUxNjBmOTRiYzlmYTQxZGRkZGI5NWI1MDJiMjAuLjJlMjBlODJiNTI0
ZDNlNTcxM2NhMTY1YWFlMDJhNTA1ZDg1YzY3OGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SURCUmVxdWVzdEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhJREJBbnlDdXN0b20uY3BwCkBAIC0zMiwzMyArMzIsMzQgQEAKIAogI2lm
IEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCi0jaW5jbHVkZSAiVjhJREJSZXF1ZXN0LmgiCisj
aW5jbHVkZSAiVjhJREJBbnkuaCIKIAogI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5o
IgogI2luY2x1ZGUgIlY4SURCRGF0YWJhc2VSZXF1ZXN0LmgiCi0jaW5jbHVkZSAiVjhQcm94eS5o
IgorI2luY2x1ZGUgIlY4SW5kZXhlZERhdGFiYXNlUmVxdWVzdC5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOElEQlJlcXVlc3Q6OnJlc3VsdEFjY2Vz
c29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJ
bmZvJiBpbmZvKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSURCQW55KiBpbXBsKQogewot
ICAgIElOQ19TVEFUUygiRE9NLklEQlJlcXVlc3QucmVzdWx0Iik7CisgICAgaWYgKCFpbXBsKQor
ICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKIAotICAgIElEQlJlcXVlc3QqIGlkYlJlcXVlc3Qg
PSBWOElEQlJlcXVlc3Q6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOwotICAgIHN3aXRjaCAoaWRi
UmVxdWVzdC0+cmVzdWx0VHlwZSgpKSB7Ci0gICAgY2FzZSBJREJSZXF1ZXN0OjpVTkRFRklORUQ6
CisgICAgc3dpdGNoIChpbXBsLT50eXBlKCkpIHsKKyAgICBjYXNlIElEQkFueTo6VW5kZWZpbmVk
VHlwZToKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKLSAgICBjYXNlIElEQlJlcXVl
c3Q6OklEQkRBVEFCQVNFOgotICAgICAgICByZXR1cm4gdG9WOChpZGJSZXF1ZXN0LT5pZGJEYXRh
YmFzZVJlc3VsdCgpKTsKLSAgICBjYXNlIElEQlJlcXVlc3Q6OlNFUklBTElaRURTQ1JJUFRWQUxV
RToKLSAgICAgICAgcmV0dXJuIGlkYlJlcXVlc3QtPnNlcmlhbGl6ZWRTY3JpcHRWYWx1ZVJlc3Vs
dCgpLT5kZXNlcmlhbGl6ZSgpOworICAgIGNhc2UgSURCQW55OjpJREJEYXRhYmFzZVJlcXVlc3RU
eXBlOgorICAgICAgICByZXR1cm4gdG9WOChpbXBsLT5pZGJEYXRhYmFzZVJlcXVlc3QoKSk7Cisg
ICAgY2FzZSBJREJBbnk6OkluZGV4ZWREYXRhYmFzZVJlcXVlc3RUeXBlOgorICAgICAgICByZXR1
cm4gdG9WOChpbXBsLT5pbmRleGVkRGF0YWJhc2VSZXF1ZXN0KCkpOworICAgIGNhc2UgSURCQW55
OjpTZXJpYWxpemVkU2NyaXB0VmFsdWVUeXBlOgorICAgICAgICByZXR1cm4gaW1wbC0+c2VyaWFs
aXplZFNjcmlwdFZhbHVlKCktPmRlc2VyaWFsaXplKCk7CiAgICAgfQogCiAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKIH0KIAotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50LmNwcCBi
L1dlYkNvcmUvZG9tL0V2ZW50LmNwcAppbmRleCA1MDZkOTQ1NTlmYzZjZDc0MmVhNThlZGNjOTIx
ZjAyYTc0MWZmYzQxLi44NzZmOGE4MGE1MTgxMzFlMGFmNDllMzYwNTMwMWJkMDRlNTg0YzdhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRXZlbnQu
Y3BwCkBAIC0xODYsNiArMTg2LDE4IEBAIGJvb2wgRXZlbnQ6OmlzU3RvcmFnZUV2ZW50KCkgY29u
c3QKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCitib29sIEV2ZW50
Ojppc0lEQkVycm9yRXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9v
bCBFdmVudDo6aXNJREJTdWNjZXNzRXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsK
K30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFdPUktFUlMpCiBib29sIEV2ZW50Ojppc0Vycm9yRXZl
bnQoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1dlYkNvcmUv
ZG9tL0V2ZW50LmgKaW5kZXggMDBiMzM0MTIzZTIyYWEyODk4NjJhZjhjODI1ZjRjMGQzODM5MjQx
MC4uOTk5YjU3NWMxOTg0Y2Y0ZjkzMjdlNTE3NWRjYjllOGUzYjg3NDQ5NSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vRXZlbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0xMjksNiAr
MTI5LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBpc1N0b3JhZ2VFdmVudCgpIGNvbnN0OwogI2VuZGlmCisjaWYg
RU5BQkxFKERPTV9TVE9SQUdFKQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNJREJFcnJvckV2ZW50
KCkgY29uc3Q7CisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0lEQlN1Y2Nlc3NFdmVudCgpIGNvbnN0
OworI2VuZGlmCiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Vy
cm9yRXZlbnQoKSBjb25zdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lE
QkFueS5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURCQW55LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xN2NhNzUw
OGYxY2FiZWYzZDQyZDE1OTQ5MGUzYzQ3NjliN2VjZjZiCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9zdG9yYWdlL0lEQkFueS5jcHAKQEAgLTAsMCArMSwxMDYgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiSURCQW55LmgiCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFT
RSkKKworI2luY2x1ZGUgIklEQkRhdGFiYXNlUmVxdWVzdC5oIgorI2luY2x1ZGUgIkluZGV4ZWRE
YXRhYmFzZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPElEQkFueT4gSURCQW55OjpjcmVhdGUo
KQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgSURCQW55KCkpOworfQorCitJREJBbnk6OklE
QkFueSgpCisgICAgOiBtX3R5cGUoVW5kZWZpbmVkVHlwZSkKK3sKK30KKworSURCQW55Ojp+SURC
QW55KCkKK3sKK30KKworUGFzc1JlZlB0cjxJREJEYXRhYmFzZVJlcXVlc3Q+IElEQkFueTo6aWRi
RGF0YWJhc2VSZXF1ZXN0KCkKK3sKKyAgICBBU1NFUlQobV90eXBlID09IElEQkRhdGFiYXNlUmVx
dWVzdFR5cGUpOworICAgIHJldHVybiBtX2lkYkRhdGFiYXNlUmVxdWVzdDsKK30KKworUGFzc1Jl
ZlB0cjxJbmRleGVkRGF0YWJhc2VSZXF1ZXN0PiBJREJBbnk6OmluZGV4ZWREYXRhYmFzZVJlcXVl
c3QoKQoreworICAgIEFTU0VSVChtX3R5cGUgPT0gSW5kZXhlZERhdGFiYXNlUmVxdWVzdFR5cGUp
OworICAgIHJldHVybiBtX2luZGV4ZWREYXRhYmFzZVJlcXVlc3Q7Cit9CisKK1Bhc3NSZWZQdHI8
U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBJREJBbnk6OnNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSgpCit7
CisgICAgQVNTRVJUKG1fdHlwZSA9PSBTZXJpYWxpemVkU2NyaXB0VmFsdWVUeXBlKTsKKyAgICBy
ZXR1cm4gbV9zZXJpYWxpemVkU2NyaXB0VmFsdWU7Cit9CisKK3ZvaWQgSURCQW55OjpzZXQoY29u
c3QgSURCQW55JiBhbnkpCit7CisgICAgbV90eXBlID0gYW55Lm1fdHlwZTsKKyAgICBtX2lkYkRh
dGFiYXNlUmVxdWVzdCA9IGFueS5tX2lkYkRhdGFiYXNlUmVxdWVzdDsKKyAgICBtX2luZGV4ZWRE
YXRhYmFzZVJlcXVlc3QgPSBhbnkubV9pbmRleGVkRGF0YWJhc2VSZXF1ZXN0OworICAgIG1fc2Vy
aWFsaXplZFNjcmlwdFZhbHVlID0gYW55Lm1fc2VyaWFsaXplZFNjcmlwdFZhbHVlOworfQorCit2
b2lkIElEQkFueTo6c2V0KFBhc3NSZWZQdHI8SURCRGF0YWJhc2VSZXF1ZXN0PiB2YWx1ZSkKK3sK
KyAgICBtX3R5cGUgPSBJREJEYXRhYmFzZVJlcXVlc3RUeXBlOworICAgIG1faWRiRGF0YWJhc2VS
ZXF1ZXN0ID0gdmFsdWU7CisgICAgbV9pbmRleGVkRGF0YWJhc2VSZXF1ZXN0ID0gMDsKKyAgICBt
X3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZSA9IDA7Cit9CisKK3ZvaWQgSURCQW55OjpzZXQoUGFzc1Jl
ZlB0cjxJbmRleGVkRGF0YWJhc2VSZXF1ZXN0PiB2YWx1ZSkKK3sKKyAgICBtX3R5cGUgPSBJbmRl
eGVkRGF0YWJhc2VSZXF1ZXN0VHlwZTsKKyAgICBtX2lkYkRhdGFiYXNlUmVxdWVzdCA9IDA7Cisg
ICAgbV9pbmRleGVkRGF0YWJhc2VSZXF1ZXN0ID0gdmFsdWU7CisgICAgbV9zZXJpYWxpemVkU2Ny
aXB0VmFsdWUgPSAwOworfQorCit2b2lkIElEQkFueTo6c2V0KFBhc3NSZWZQdHI8U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlPiB2YWx1ZSkKK3sKKyAgICBtX3R5cGUgPSBTZXJpYWxpemVkU2NyaXB0VmFs
dWVUeXBlOworICAgIG1faWRiRGF0YWJhc2VSZXF1ZXN0ID0gMDsKKyAgICBtX2luZGV4ZWREYXRh
YmFzZVJlcXVlc3QgPSAwOworICAgIG1fc2VyaWFsaXplZFNjcmlwdFZhbHVlID0gdmFsdWU7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3N0b3JhZ2UvSURCQW55LmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCQW55LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
M2Q3NDcxNjIyNDA1NTdlODQyYzYxNjk1ZGY3MTlkM2Y4ZTBmODM3YgotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvc3RvcmFnZS9JREJBbnkuaApAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5j
LiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJ
REJBbnlfaAorI2RlZmluZSBJREJBbnlfaAorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0Up
CisKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIElEQkRhdGFiYXNlUmVxdWVzdDsKK2NsYXNzIEluZGV4ZWREYXRhYmFzZVJlcXVlc3Q7Citj
bGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CisKK2NsYXNzIElEQkFueSA6IHB1YmxpYyBSZWZD
b3VudGVkPElEQkFueT4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQkFueT4g
Y3JlYXRlKCk7CisgICAgfklEQkFueSgpOworCisgICAgZW51bSBUeXBlIHsKKyAgICAgICAgVW5k
ZWZpbmVkVHlwZSA9IDAsCisgICAgICAgIElEQkRhdGFiYXNlUmVxdWVzdFR5cGUsCisgICAgICAg
IEluZGV4ZWREYXRhYmFzZVJlcXVlc3RUeXBlLAorICAgICAgICBTZXJpYWxpemVkU2NyaXB0VmFs
dWVUeXBlCisgICAgfTsKKworICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsg
fQorCisgICAgUGFzc1JlZlB0cjxJREJEYXRhYmFzZVJlcXVlc3Q+IGlkYkRhdGFiYXNlUmVxdWVz
dCgpOworICAgIFBhc3NSZWZQdHI8SW5kZXhlZERhdGFiYXNlUmVxdWVzdD4gaW5kZXhlZERhdGFi
YXNlUmVxdWVzdCgpOworICAgIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzZXJp
YWxpemVkU2NyaXB0VmFsdWUoKTsKKworICAgIHZvaWQgc2V0KGNvbnN0IElEQkFueSYpOworCisg
ICAgdm9pZCBzZXQoUGFzc1JlZlB0cjxJREJEYXRhYmFzZVJlcXVlc3Q+KTsKKyAgICB2b2lkIHNl
dChQYXNzUmVmUHRyPEluZGV4ZWREYXRhYmFzZVJlcXVlc3Q+KTsKKyAgICB2b2lkIHNldChQYXNz
UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4pOworCitwcml2YXRlOgorICAgIElEQkFueSgp
OworCisgICAgVHlwZSBtX3R5cGU7CisKKyAgICAvLyBPbmx5IG9uZSBvZiB0aGUgZm9sbG93aW5n
IHNob3VsZCBldmVyIGJlIGluIHVzZSBhdCBhbnkgZ2l2ZW4gdGltZS4KKyAgICBSZWZQdHI8SURC
RGF0YWJhc2VSZXF1ZXN0PiBtX2lkYkRhdGFiYXNlUmVxdWVzdDsKKyAgICBSZWZQdHI8SW5kZXhl
ZERhdGFiYXNlUmVxdWVzdD4gbV9pbmRleGVkRGF0YWJhc2VSZXF1ZXN0OworICAgIFJlZlB0cjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1fc2VyaWFsaXplZFNjcmlwdFZhbHVlOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0Up
CisKKyNlbmRpZiAvLyBJREJBbnlfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQkFu
eS5pZGwgYi9XZWJDb3JlL3N0b3JhZ2UvSURCQW55LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YzY1ZTEzNDkx
MjYwOTEyN2U2YTQxMzc1OGZjYzZhYjc5YTcwMDlhCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29y
ZS9zdG9yYWdlL0lEQkFueS5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBs
ZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsK
KworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUlOREVYRURfREFUQUJBU0Us
CisgICAgICAgIEN1c3RvbVRvSlMKKyAgICBdIElEQkFueSB7CisgICAgfTsKK30KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvc3RvcmFnZS9JREJFcnJvckV2ZW50LmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9J
REJFcnJvckV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYmE5ODBkNjk5NjJmMjIwODFlY2ExMjJiZTZh
NGExY2M4ZTk2MDY5Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkVycm9y
RXZlbnQuY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhl
IG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
KyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiSURCRXJyb3JFdmVudC5oIgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNp
bmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiSURCQW55LmgiCisjaW5jbHVkZSAiSURC
RGF0YWJhc2VFcnJvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8SURC
RXJyb3JFdmVudD4gSURCRXJyb3JFdmVudDo6Y3JlYXRlKFBhc3NSZWZQdHI8SURCQW55PiBzb3Vy
Y2UsIGNvbnN0IElEQkRhdGFiYXNlRXJyb3ImIGVycm9yKQoreworICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgSURCRXJyb3JFdmVudChzb3VyY2UsIGVycm9yKSk7Cit9CisKK0lEQkVycm9yRXZlbnQ6
OklEQkVycm9yRXZlbnQoUGFzc1JlZlB0cjxJREJBbnk+IHNvdXJjZSwgY29uc3QgSURCRGF0YWJh
c2VFcnJvciYgZXJyb3IpCisgICAgOiBJREJFdmVudChldmVudE5hbWVzKCkuZXJyb3JFdmVudCwg
c291cmNlKQorICAgICwgbV9jb2RlKGVycm9yLmNvZGUoKSkKKyAgICAsIG1fbWVzc2FnZShlcnJv
ci5tZXNzYWdlKCkpCit7Cit9CisKK0lEQkVycm9yRXZlbnQ6On5JREJFcnJvckV2ZW50KCkKK3sK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvc3RvcmFnZS9JREJFcnJvckV2ZW50LmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCRXJyb3JFdmVu
dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY0OGRhOGJlMWI0ODI3NzFhZGUxNWVlNDE2NDk0ZGE4YzA1ZGEyZmYK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRXJyb3JFdmVudC5oCkBAIC0w
LDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1l
IG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAg
ICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIElEQkVycm9yRXZlbnRfaAorI2RlZmluZSBJREJFcnJvckV2
ZW50X2gKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCisjaW5jbHVkZSAiSURCRXZl
bnQuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIElEQkFueTsKK2NsYXNzIElEQkRhdGFiYXNlRXJyb3I7CisKK2NsYXNzIElEQkVycm9y
RXZlbnQgOiBwdWJsaWMgSURCRXZlbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PElEQkVycm9yRXZlbnQ+IGNyZWF0ZShQYXNzUmVmUHRyPElEQkFueT4gc291cmNlLCBjb25zdCBJ
REJEYXRhYmFzZUVycm9yJik7CisgICAgLy8gRklYTUU6IE5lZWQgdG8gYWxsb3cgY3JlYXRpb24g
b2YgdGhlc2UgZXZlbnRzIGZyb20gSlMuCisgICAgdmlydHVhbCB+SURCRXJyb3JFdmVudCgpOwor
CisgICAgdW5zaWduZWQgc2hvcnQgY29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29kZTsgfQorICAg
IFN0cmluZyBtZXNzYWdlKCkgeyByZXR1cm4gbV9tZXNzYWdlOyB9CisKKyAgICB2aXJ0dWFsIGJv
b2wgaXNJREJFcnJvckV2ZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorCitwcml2YXRlOgor
ICAgIElEQkVycm9yRXZlbnQoUGFzc1JlZlB0cjxJREJBbnk+IHNvdXJjZSwgY29uc3QgSURCRGF0
YWJhc2VFcnJvciYpOworCisgICAgdW5zaWduZWQgc2hvcnQgbV9jb2RlOworICAgIFN0cmluZyBt
X21lc3NhZ2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKKworI2VuZGlmIC8vIElEQkV2ZW50X2gKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvc3RvcmFnZS9JREJFcnJvckV2ZW50LmlkbCBiL1dlYkNvcmUvc3RvcmFnZS9JREJF
cnJvckV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YzU4ZjZmYjg5ZDQ3NGU3YjU4NmJkNGFiMTI1Y2I1
ZTcyMDgxNDRmCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkVycm9yRXZl
bnQuaWRsCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0
aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5h
bWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgc3RvcmFnZSB7CisKKyAgICBpbnRlcmZh
Y2UgWworICAgICAgICBDb25kaXRpb25hbD1JTkRFWEVEX0RBVEFCQVNFCisgICAgXSBJREJFcnJv
ckV2ZW50IDogSURCRXZlbnQgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
c2hvcnQgY29kZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBtZXNzYWdl
OworICAgIH07Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRXZlbnQuY3BwIGIv
V2ViQ29yZS9zdG9yYWdlL0lEQkV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOWY2MDYwNmExNDczOWVi
ZDY2NTY1ZDM3YTlhNjI2ZjgxNzI0N2QzCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9y
YWdlL0lEQkV2ZW50LmNwcApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikg
bm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIklEQkV2ZW50LmgiCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKwor
I2luY2x1ZGUgIklEQkFueS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0lEQkV2ZW50OjpJ
REJFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFBhc3NSZWZQdHI8SURCQW55PiBzb3Vy
Y2UpCisgICAgOiBFdmVudCh0eXBlLCBmYWxzZSwgZmFsc2UpCisgICAgLCBtX3NvdXJjZShzb3Vy
Y2UpCit7Cit9CisKK0lEQkV2ZW50Ojp+SURCRXZlbnQoKQoreworfQorCitQYXNzUmVmUHRyPElE
QkFueT4gSURCRXZlbnQ6OnNvdXJjZSgpCit7CisgICAgcmV0dXJuIG1fc291cmNlOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9y
YWdlL0lEQkV2ZW50LmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCRXZlbnQuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
OWM2ZGQxZDkzMmJiMjNlN2Q3OTRmOTRiYjQ3ZGRhODhlMGJmNTgxCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViQ29yZS9zdG9yYWdlL0lEQkV2ZW50LmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIElu
Yy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
SURCRXZlbnRfaAorI2RlZmluZSBJREJFdmVudF9oCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
SURCQW55OworCitjbGFzcyBJREJFdmVudCA6IHB1YmxpYyBFdmVudCB7CitwdWJsaWM6CisgICAg
dmlydHVhbCB+SURCRXZlbnQoKTsKKworICAgIFBhc3NSZWZQdHI8SURCQW55PiBzb3VyY2UoKTsK
KworcHJvdGVjdGVkOgorICAgIC8vIERvIG5vdCBkaXJlY3RseSBpbnN0YW50aWF0ZS4KKyAgICBJ
REJFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFBhc3NSZWZQdHI8SURCQW55PiBzb3Vy
Y2UpOworCitwcml2YXRlOgorICAgIFJlZlB0cjxJREJBbnk+IG1fc291cmNlOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0Up
CisKKyNlbmRpZiAvLyBJREJFdmVudF9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURC
RXZlbnQuaWRsIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZGQ1
NTJlZTg0MGIxNmI3MWQzNGQ4ZTU0NjM5NjhjMzNkN2RjZjZiCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9zdG9yYWdlL0lEQkV2ZW50LmlkbApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5j
LiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHN0
b3JhZ2UgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9SU5ERVhFRF9E
QVRBQkFTRQorICAgIF0gSURCRXZlbnQgOiBFdmVudCB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBJREJBbnkgc291cmNlOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvSURCUmVxdWVzdC5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURCUmVxdWVzdC5jcHAKaW5kZXgg
M2JmYjkxYzk0YmMxYmY5ZmMyMGI2Y2NkMmJkMDk2ODc5ODkxMDBlYy4uNDIwNmZmNjNiZmMyMTE1
MzdjZWQyZGI5OWQ1MjkzOWUzZTcyZWE2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lE
QlJlcXVlc3QuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJSZXF1ZXN0LmNwcApAQCAtMjcs
MjMgKzI3LDI1IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIklEQlJl
cXVlc3QuaCIKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCi0jaW5jbHVkZSAiSURC
UmVxdWVzdC5oIgotCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudEV4Y2VwdGlv
bi5oIgogI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgi
CiAjaW5jbHVkZSAiSURCRGF0YWJhc2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiSURCRXJyb3JFdmVu
dC5oIgorI2luY2x1ZGUgIklEQlN1Y2Nlc3NFdmVudC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1JREJSZXF1ZXN0OjpJREJS
ZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCitJREJSZXF1ZXN0OjpJREJS
ZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8SURCQW55
PiBzb3VyY2UpCiAgICAgOiBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhpcykKLSAgICAsIG1f
cmVzdWx0VHlwZShVTkRFRklORUQpCisgICAgLCBtX3NvdXJjZShzb3VyY2UpCisgICAgLCBtX3Jl
c3VsdChJREJBbnk6OmNyZWF0ZSgpKQogICAgICwgbV90aW1lcih0aGlzLCAmSURCUmVxdWVzdDo6
dGltZXJGaXJlZCkKICAgICAsIG1fc3RvcHBlZChmYWxzZSkKICAgICAsIG1fYWJvcnRlZChmYWxz
ZSkKQEAgLTU3LDIwICs1OSw2IEBAIElEQlJlcXVlc3Q6On5JREJSZXF1ZXN0KCkKICAgICAgICAg
YWJvcnQoKTsKIH0KIAotCi1QYXNzUmVmUHRyPElEQkRhdGFiYXNlUmVxdWVzdD4gSURCUmVxdWVz
dDo6aWRiRGF0YWJhc2VSZXN1bHQoKQotewotICAgIEFTU0VSVChtX3Jlc3VsdFR5cGUgPT0gSURC
REFUQUJBU0UpOwotICAgIHJldHVybiBtX2lkYkRhdGFiYXNlUmVzdWx0OwotfQotCi0KLVBhc3NS
ZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBJREJSZXF1ZXN0OjpzZXJpYWxpemVkU2NyaXB0
VmFsdWVSZXN1bHQoKQotewotICAgIEFTU0VSVChtX3Jlc3VsdFR5cGUgPT0gU0VSSUFMSVpFRFND
UklQVFZBTFVFKTsKLSAgICByZXR1cm4gbV9zZXJpYWxpemVkU2NyaXB0VmFsdWVSZXN1bHQ7Ci19
Ci0KIHZvaWQgSURCUmVxdWVzdDo6b25FcnJvcihQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+
IGVycm9yKQogewogICAgIG9uRXZlbnRDb21tb24oKTsKQEAgLTgwLDE1ICs2OCwxMyBAQCB2b2lk
IElEQlJlcXVlc3Q6Om9uRXJyb3IoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPiBlcnJvcikK
IHZvaWQgSURCUmVxdWVzdDo6b25TdWNjZXNzKFBhc3NSZWZQdHI8SURCRGF0YWJhc2U+IGlkYkRh
dGFiYXNlKQogewogICAgIG9uRXZlbnRDb21tb24oKTsKLSAgICBtX3Jlc3VsdFR5cGUgPSBJREJE
QVRBQkFTRTsKLSAgICBtX2lkYkRhdGFiYXNlUmVzdWx0ID0gSURCRGF0YWJhc2VSZXF1ZXN0Ojpj
cmVhdGUoaWRiRGF0YWJhc2UpOworICAgIG1fcmVzdWx0LT5zZXQoSURCRGF0YWJhc2VSZXF1ZXN0
OjpjcmVhdGUoaWRiRGF0YWJhc2UpKTsKIH0KIAogdm9pZCBJREJSZXF1ZXN0OjpvblN1Y2Nlc3Mo
UGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSkK
IHsKICAgICBvbkV2ZW50Q29tbW9uKCk7Ci0gICAgbV9yZXN1bHRUeXBlID0gU0VSSUFMSVpFRFND
UklQVFZBTFVFOwotICAgIG1fc2VyaWFsaXplZFNjcmlwdFZhbHVlUmVzdWx0ID0gc2VyaWFsaXpl
ZFNjcmlwdFZhbHVlOworICAgIG1fcmVzdWx0LT5zZXQoc2VyaWFsaXplZFNjcmlwdFZhbHVlKTsK
IH0KIAogdm9pZCBJREJSZXF1ZXN0OjphYm9ydCgpCkBAIC0xNDQsMTggKzEzMCwxOCBAQCB2b2lk
IElEQlJlcXVlc3Q6OnRpbWVyRmlyZWQoVGltZXI8SURCUmVxdWVzdD4qKQogICAgIFJlZlB0cjxJ
REJSZXF1ZXN0PiBzZWxmUmVmID0gbV9zZWxmUmVmLnJlbGVhc2UoKTsKIAogICAgIGlmIChtX2Vy
cm9yKSB7Ci0gICAgICAgIEFTU0VSVChtX3Jlc3VsdFR5cGUgPT0gVU5ERUZJTkVEKTsKLSAgICAg
ICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBm
YWxzZSwgZmFsc2UpKTsKKyAgICAgICAgQVNTRVJUKG1fcmVzdWx0LT50eXBlKCkgPT0gSURCQW55
OjpVbmRlZmluZWRUeXBlKTsKKyAgICAgICAgZGlzcGF0Y2hFdmVudChJREJFcnJvckV2ZW50Ojpj
cmVhdGUobV9zb3VyY2UsICptX2Vycm9yKSk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgQVNTRVJU
KG1fcmVzdWx0VHlwZSAhPSBVTkRFRklORUQpOwotICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLnN1Y2Nlc3NFdmVudCwgZmFsc2UsIGZhbHNlKSk7ICAgICAg
ICAKKyAgICAgICAgQVNTRVJUKG1fcmVzdWx0LT50eXBlKCkgIT0gSURCQW55OjpVbmRlZmluZWRU
eXBlKTsKKyAgICAgICAgZGlzcGF0Y2hFdmVudChJREJTdWNjZXNzRXZlbnQ6OmNyZWF0ZShtX3Nv
dXJjZSwgbV9yZXN1bHQpKTsgICAgICAgIAogICAgIH0KIH0KIAogdm9pZCBJREJSZXF1ZXN0Ojpv
bkV2ZW50Q29tbW9uKCkKIHsKICAgICBBU1NFUlQobV9yZWFkeVN0YXRlIDwgRE9ORSk7Ci0gICAg
QVNTRVJUKG1fcmVzdWx0VHlwZSA9PSBVTkRFRklORUQpOworICAgIEFTU0VSVChtX3Jlc3VsdC0+
dHlwZSgpID09IElEQkFueTo6VW5kZWZpbmVkVHlwZSk7CiAgICAgQVNTRVJUKCFtX2Vycm9yKTsK
ICAgICBBU1NFUlQoIW1fc2VsZlJlZik7CiAgICAgQVNTRVJUKCFtX3RpbWVyLmlzQWN0aXZlKCkp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQlJlcXVlc3QuaCBiL1dlYkNvcmUvc3Rv
cmFnZS9JREJSZXF1ZXN0LmgKaW5kZXggNDhmZGU0OTIwY2QyMWE2Yzg4ZjNmNjUxYTk2NmZlZGMw
NDU2NmIxNC4uMGMzN2M5NjZmZWI0Y2ZhZTU1ZWI2ZDMwMjU3YzkzNzQzNDc4YzFhMCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQlJlcXVlc3QuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2Uv
SURCUmVxdWVzdC5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5o
IgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2lu
Y2x1ZGUgIklEQkFueS5oIgogI2luY2x1ZGUgIklEQkNhbGxiYWNrcy5oIgogI2luY2x1ZGUgIlRp
bWVyLmgiCiAKQEAgLTQ0LDIwICs0NSw5IEBAIGNsYXNzIElEQkRhdGFiYXNlUmVxdWVzdDsKIAog
Y2xhc3MgSURCUmVxdWVzdCA6IHB1YmxpYyBJREJDYWxsYmFja3MsIHB1YmxpYyBFdmVudFRhcmdl
dCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8SURCUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIHsg
cmV0dXJuIGFkb3B0UmVmKG5ldyBJREJSZXF1ZXN0KGNvbnRleHQpKTsgfQorICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPElEQlJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBQYXNzUmVmUHRyPElEQkFueT4gc291cmNlKSB7IHJldHVybiBhZG9wdFJlZihuZXcgSURC
UmVxdWVzdChjb250ZXh0LCBzb3VyY2UpKTsgfQogICAgIHZpcnR1YWwgfklEQlJlcXVlc3QoKTsK
IAotICAgIC8vIFRoZSByZXN1bHQgYXR0cmlidXRlIG9mIHRoaXMgY2xhc3MgY2FuIHJlcHJlc2Vu
dCBtYW55IGRpZmZlcmVudCBXZWJDb3JlIHR5cGVzLgotICAgIGVudW0gUmVzdWx0VHlwZSB7Ci0g
ICAgICAgIFVOREVGSU5FRCA9IDAsCi0gICAgICAgIElEQkRBVEFCQVNFLAotICAgICAgICBTRVJJ
QUxJWkVEU0NSSVBUVkFMVUUKLSAgICB9OwotICAgIFJlc3VsdFR5cGUgcmVzdWx0VHlwZSgpIGNv
bnN0IHsgcmV0dXJuIG1fcmVzdWx0VHlwZTsgfQotICAgIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VS
ZXF1ZXN0PiBpZGJEYXRhYmFzZVJlc3VsdCgpOwotICAgIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNj
cmlwdFZhbHVlPiBzZXJpYWxpemVkU2NyaXB0VmFsdWVSZXN1bHQoKTsKLSAgICAvLyBGSVhNRTog
SGF2ZSBvbmUgc3VjaCBnZXR0ZXIgZm9yIGVhY2ggcG9zc2libGUgcmVzdWx0IHR5cGUuCi0KICAg
ICAvLyBEZWZpbmVkIGluIHRoZSBJREwKICAgICB2b2lkIGFib3J0KCk7CiAgICAgZW51bSBSZWFk
eVN0YXRlIHsKQEAgLTY3LDYgKzU3LDcgQEAgcHVibGljOgogICAgIH07CiAgICAgdW5zaWduZWQg
c2hvcnQgcmVhZHlTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVhZHlTdGF0ZTsgfQogICAgIFBh
c3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4gZXJyb3IoKSBjb25zdCB7IHJldHVybiBtX2Vycm9y
OyB9CisgICAgUGFzc1JlZlB0cjxJREJBbnk+IHJlc3VsdCgpIHsgcmV0dXJuIG1fcmVzdWx0OyB9
CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihzdWNjZXNzKTsKICAgICBERUZJ
TkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVycm9yKTsKIApAQCAtODksNyArODAsNyBAQCBw
dWJsaWM6CiAgICAgdXNpbmcgUmVmQ291bnRlZDxJREJDYWxsYmFja3M+OjpkZXJlZjsKIAogcHJp
dmF0ZToKLSAgICBJREJSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKyAgICBJREJS
ZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkFueT4gc291cmNl
KTsKIAogICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxJREJSZXF1ZXN0PiopOwogICAgIHZvaWQg
b25FdmVudENvbW1vbigpOwpAQCAtMTAwLDEwICs5MSw5IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCBFdmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0YSgpOwogICAgIHZpcnR1YWwgRXZlbnRU
YXJnZXREYXRhKiBlbnN1cmVFdmVudFRhcmdldERhdGEoKTsKIAotICAgIFJlc3VsdFR5cGUgbV9y
ZXN1bHRUeXBlOwotICAgIC8vIE9ubHkgb25lIG9mIHRoZSBmb2xsb3dpbmcgc2hvdWxkIGV2ZXIg
YmUgaW4gdXNlIGF0IGFueSBnaXZlbiB0aW1lLiAgbV9yZXN1bHRUeXBlIGRlZmluZXMgd2hpY2gg
b25lLgotICAgIFJlZlB0cjxJREJEYXRhYmFzZVJlcXVlc3Q+IG1faWRiRGF0YWJhc2VSZXN1bHQ7
Ci0gICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbV9zZXJpYWxpemVkU2NyaXB0VmFs
dWVSZXN1bHQ7CisgICAgUmVmUHRyPElEQkFueT4gbV9zb3VyY2U7CisKKyAgICBSZWZQdHI8SURC
QW55PiBtX3Jlc3VsdDsKICAgICBSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4gbV9lcnJvcjsKIAog
ICAgIC8vIFVzZWQgdG8gZmlyZSBldmVudHMgYXN5bmNocm9ub3VzbHkuCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N0b3JhZ2UvSURCUmVxdWVzdC5pZGwgYi9XZWJDb3JlL3N0b3JhZ2UvSURCUmVxdWVz
dC5pZGwKaW5kZXggMTFhMTlhYmFmNWI5MmQ4OGM0ZjJlMWM0YTczNzQwYzY2MmY3ZmNhOS4uOWQ3
ZTBlNGEyZjMxNTY4MWI5ZmIyZTZkMDVhZTY3NDE0ODY1MjE2MiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9zdG9yYWdlL0lEQlJlcXVlc3QuaWRsCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJSZXF1ZXN0
LmlkbApAQCAtNDIsNyArNDIsNyBAQCBtb2R1bGUgc3RvcmFnZSB7CiAKICAgICAgICAgLy8gUG9z
c2libGUgcmVzdWx0cwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSURCRGF0YWJhc2VFcnJv
ciBlcnJvcjsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21dIGFueSByZXN1bHQ7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBJREJBbnkgcmVzdWx0OwogCiAgICAgICAgIC8v
IEV2ZW50cwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnN1Y2Nlc3M7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmNwcCBiL1dlYkNvcmUvc3Rv
cmFnZS9JREJTdWNjZXNzRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2NjBlZWY4MTFjNzE3ZTRiYjc4
Mzc4NjZhM2ExOTQ4ZTEwOWRjODIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2Uv
SURCU3VjY2Vzc0V2ZW50LmNwcApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxl
Iikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIklEQlN1Y2Nlc3NFdmVudC5oIgorCisjaWYgRU5BQkxFKElOREVYRURfREFU
QUJBU0UpCisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiSURCQW55LmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxJREJTdWNjZXNzRXZlbnQ+IElEQlN1
Y2Nlc3NFdmVudDo6Y3JlYXRlKFBhc3NSZWZQdHI8SURCQW55PiBzb3VyY2UsIFBhc3NSZWZQdHI8
SURCQW55PiByZXN1bHQpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJREJTdWNjZXNzRXZl
bnQoc291cmNlLCByZXN1bHQpKTsKK30KKworSURCU3VjY2Vzc0V2ZW50OjpJREJTdWNjZXNzRXZl
bnQoUGFzc1JlZlB0cjxJREJBbnk+IHNvdXJjZSwgUGFzc1JlZlB0cjxJREJBbnk+IHJlc3VsdCkK
KyAgICA6IElEQkV2ZW50KGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBzb3VyY2UpCisgICAgLCBt
X3Jlc3VsdChyZXN1bHQpCit7Cit9CisKK0lEQlN1Y2Nlc3NFdmVudDo6fklEQlN1Y2Nlc3NFdmVu
dCgpCit7Cit9CisKK1Bhc3NSZWZQdHI8SURCQW55PiBJREJTdWNjZXNzRXZlbnQ6OnJlc3VsdCgp
Cit7CisgICAgcmV0dXJuIG1fcmVzdWx0OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5oIGIv
V2ViQ29yZS9zdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViZTY2MGEyYzAx
NTk0YzI4MGYwMWY4MTA3ZThhZWRiYzU2MzdlOWYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmgKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4g
KCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSURC
U3VjY2Vzc0V2ZW50X2gKKyNkZWZpbmUgSURCU3VjY2Vzc0V2ZW50X2gKKworI2lmIEVOQUJMRShJ
TkRFWEVEX0RBVEFCQVNFKQorCisjaW5jbHVkZSAiSURCRXZlbnQuaCIKKyNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBJREJBbnk7CisKK2NsYXNzIElEQlN1Y2Nlc3NFdmVudCA6IHB1YmxpYyBJ
REJFdmVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8SURCU3VjY2Vzc0V2ZW50
PiBjcmVhdGUoUGFzc1JlZlB0cjxJREJBbnk+IHNvdXJjZSwgUGFzc1JlZlB0cjxJREJBbnk+IHJl
c3VsdCk7CisgICAgLy8gRklYTUU6IE5lZWQgdG8gYWxsb3cgY3JlYXRpb24gb2YgdGhlc2UgZXZl
bnRzIGZyb20gSlMuCisgICAgdmlydHVhbCB+SURCU3VjY2Vzc0V2ZW50KCk7CisKKyAgICBQYXNz
UmVmUHRyPElEQkFueT4gcmVzdWx0KCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNJREJTdWNjZXNz
RXZlbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKK3ByaXZhdGU6CisgICAgSURCU3VjY2Vz
c0V2ZW50KFBhc3NSZWZQdHI8SURCQW55PiBzb3VyY2UsIFBhc3NSZWZQdHI8SURCQW55PiByZXN1
bHQpOworCisgICAgUmVmUHRyPElEQkFueT4gbV9yZXN1bHQ7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworI2VuZGlm
IC8vIElEQkV2ZW50X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJTdWNjZXNzRXZl
bnQuaWRsIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YjRlYTdkMmMwOTY3NmM5YTE1ODU0ZDY0ZTU5NjFhOGJmMWM5ZWI3ZQotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuaWRsCkBAIC0wLDAgKzEsMzYgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENv
bXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICog
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
Cittb2R1bGUgc3RvcmFnZSB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25h
bD1JTkRFWEVEX0RBVEFCQVNFCisgICAgXSBJREJTdWNjZXNzRXZlbnQgOiBJREJFdmVudCB7Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBJREJBbnkgcmVzdWx0OworICAgIH07Cit9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSW5kZXhlZERhdGFiYXNlSW1wbC5jcHAgYi9XZWJDb3Jl
L3N0b3JhZ2UvSW5kZXhlZERhdGFiYXNlSW1wbC5jcHAKaW5kZXggODU2NDMzZTFlNTdjMmNiYWY2
N2JjMWViYjBkOTJhZDg3NGZmN2YyYi4uYjMwNTFjOTI2M2JmMzE0YWI3MTY5NTliMGY2NjJhZTgw
ZWNhYjU3NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0luZGV4ZWREYXRhYmFzZUltcGwu
Y3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JbmRleGVkRGF0YWJhc2VJbXBsLmNwcApAQCAtNTAs
MTMgKzUwLDEzIEBAIEluZGV4ZWREYXRhYmFzZUltcGw6On5JbmRleGVkRGF0YWJhc2VJbXBsKCkK
IHsKIH0KIAotdm9pZCBJbmRleGVkRGF0YWJhc2VJbXBsOjpvcGVuKGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgYm9vbCBtb2RpZnlEYXRhYmFzZSwgUGFzc1Jl
ZlB0cjxJREJDYWxsYmFja3M+LCBGcmFtZSosIEV4Y2VwdGlvbkNvZGUmKQordm9pZCBJbmRleGVk
RGF0YWJhc2VJbXBsOjpvcGVuKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBkZXNj
cmlwdGlvbiwgYm9vbCBtb2RpZnlEYXRhYmFzZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNh
bGxiYWNrcywgRnJhbWUqLCBFeGNlcHRpb25Db2RlJikKIHsKKyAgICAvLyBGSVhNRTogV3JpdGUg
Zm9yIHJlYWx6LgogICAgIFVOVVNFRF9QQVJBTShuYW1lKTsKICAgICBVTlVTRURfUEFSQU0oZGVz
Y3JpcHRpb24pOwogICAgIFVOVVNFRF9QQVJBTShtb2RpZnlEYXRhYmFzZSk7Ci0gICAgLy8gRklY
TUU6IFdyaXRlLgotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIGNhbGxiYWNrcy0+b25F
cnJvcihJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoMCwgIk5vdCBpbXBsZW1lbnRlZCIpKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lu
ZGV4ZWREYXRhYmFzZVJlcXVlc3QuY3BwIGIvV2ViQ29yZS9zdG9yYWdlL0luZGV4ZWREYXRhYmFz
ZVJlcXVlc3QuY3BwCmluZGV4IDM3NDcwNDJhMGRmYTE4NTA4YmNjOWQ2MzdjZGQ3ZWEzODExOWYx
MmYuLjIyMTBhOGQwZTY3NGFlYTZmZjllODhiZWI1Y2Y0NDAyNWQzZDY4NmQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvc3RvcmFnZS9JbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmNwcAorKysgYi9XZWJDb3Jl
L3N0b3JhZ2UvSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5jcHAKQEAgLTQzLDYgKzQzLDggQEAgSW5k
ZXhlZERhdGFiYXNlUmVxdWVzdDo6SW5kZXhlZERhdGFiYXNlUmVxdWVzdChJbmRleGVkRGF0YWJh
c2UqIGluZGV4ZWREYXRhYmFzZSwKICAgICA6IG1faW5kZXhlZERhdGFiYXNlKGluZGV4ZWREYXRh
YmFzZSkKICAgICAsIG1fZnJhbWUoZnJhbWUpCiB7CisgICAgbV90aGlzID0gSURCQW55OjpjcmVh
dGUoKTsKKyAgICBtX3RoaXMtPnNldCh0aGlzKTsKIH0KIAogSW5kZXhlZERhdGFiYXNlUmVxdWVz
dDo6fkluZGV4ZWREYXRhYmFzZVJlcXVlc3QoKQpAQCAtNTEsNyArNTMsNyBAQCBJbmRleGVkRGF0
YWJhc2VSZXF1ZXN0Ojp+SW5kZXhlZERhdGFiYXNlUmVxdWVzdCgpCiAKIFBhc3NSZWZQdHI8SURC
UmVxdWVzdD4gSW5kZXhlZERhdGFiYXNlUmVxdWVzdDo6b3Blbihjb25zdCBTdHJpbmcmIG5hbWUs
IGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGJvb2wgbW9kaWZ5RGF0YWJhc2UsIEV4Y2VwdGlv
bkNvZGUmIGV4Y2VwdGlvbikKIHsKLSAgICBSZWZQdHI8SURCUmVxdWVzdD4gcmVxdWVzdCA9IElE
QlJlcXVlc3Q6OmNyZWF0ZShtX2ZyYW1lLT5kb2N1bWVudCgpKTsKKyAgICBSZWZQdHI8SURCUmVx
dWVzdD4gcmVxdWVzdCA9IElEQlJlcXVlc3Q6OmNyZWF0ZShtX2ZyYW1lLT5kb2N1bWVudCgpLCBt
X3RoaXMpOwogICAgIG1faW5kZXhlZERhdGFiYXNlLT5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uLCBt
b2RpZnlEYXRhYmFzZSwgcmVxdWVzdCwgbV9mcmFtZSwgZXhjZXB0aW9uKTsKICAgICByZXR1cm4g
cmVxdWVzdDsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JbmRleGVkRGF0YWJhc2VS
ZXF1ZXN0LmggYi9XZWJDb3JlL3N0b3JhZ2UvSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5oCmluZGV4
IGJlNWU1YzhkZGIwNDYzMTQ2NzQ0MzkwNmVjYWNhNDU0NWE3ZmM2ZDcuLjBiNTk3OTAyOGRiZmE5
M2M4MzIwMzViODg2NGQwNDVmYzM2MmFlODUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9J
bmRleGVkRGF0YWJhc2VSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0luZGV4ZWREYXRh
YmFzZVJlcXVlc3QuaApAQCAtMzksOCArMzksOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIEluZGV4ZWREYXRhYmFzZTsKIGNsYXNzIEZyYW1lOworY2xhc3MgSURCQW55OworY2xh
c3MgSW5kZXhlZERhdGFiYXNlOwogCiBjbGFzcyBJbmRleGVkRGF0YWJhc2VSZXF1ZXN0IDogcHVi
bGljIFJlZkNvdW50ZWQ8SW5kZXhlZERhdGFiYXNlUmVxdWVzdD4gewogcHVibGljOgpAQCAtNTcs
NyArNTgsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEluZGV4ZWREYXRhYmFzZVJlcXVlc3Qo
SW5kZXhlZERhdGFiYXNlKiwgRnJhbWUqKTsKIAotICAgIFBhc3NSZWZQdHI8SW5kZXhlZERhdGFi
YXNlPiBtX2luZGV4ZWREYXRhYmFzZTsKKyAgICBSZWZQdHI8SW5kZXhlZERhdGFiYXNlPiBtX2lu
ZGV4ZWREYXRhYmFzZTsKKyAgICBSZWZQdHI8SURCQW55PiBtX3RoaXM7CiAgICAgRnJhbWUqIG1f
ZnJhbWU7CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56074</attachid>
            <date>2010-05-14 08:55:41 -0700</date>
            <delta_ts>2010-05-14 09:51:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39117-20100514165538.patch</filename>
            <type>text/plain</type>
            <size>92363</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlNjZhNTk3MTUwZGE2OGViMmFhZWQ4NTc5NjY0MDM1YzhkMWYzZjA0Li4xN2JhODUw
ZjM2NTFhMDc0ZDBlMWY4OTE1ZjIxZjYyNzBlNTliZmUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAK
KzIwMTAtMDUtMTQgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRmluaXNoIHVwIEluZGV4
ZWREQiBldmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM5MTE3CisKKyAgICAgICAgQWRkIHRoZSBiZWdpbm5pbmdzIG9mIGEgdGVzdCBmb3IgSW5k
ZXhlZERCLiAgSXQgY3VycmVudGx5IGZhaWxzLCBidXQgd2UnbGwKKyAgICAgICAgdXBkYXRlIHRo
aXMgKGFuZC9vciBhZGQgb3RoZXIgdGVzdHMpIGFzIHRoaW5ncyBzdGFydCBwYXNzaW5nLgorCisg
ICAgICAgIERpc2FibGUgaXQgYWxsIGFsbCAhQ2hyb21pdW0gcGxhdGZvcm1zIHNpbmNlIG5vbmUg
b2YgdGhlbSBjb21waWxlIGl0CisgICAgICAgIGluLiAgKE5vdGUgdGhhdCBDaHJvbWl1bSBrZWVw
cyBpdCBiZWhpbmQgYSBydW50aW1lIGZsYWcgYXQgdGhlIG1vbWVudCwKKyAgICAgICAgZGVzcGl0
ZSBjb21waWxpbmcgaXQgaW4uLi5zbyBkb24ndCB3b3JyeS4pCisKKyAgICAgICAgVGhpcyBhbHNv
IG1ha2VzIGV2YWxBbmRMb2cgcmV0dXJuIHRoZSByZXN1bHQgb2YgdGhlIGV2YWx1YXRpb24uICBJ
IHRoaW5rCisgICAgICAgIHRoaXMgd2FzIGp1c3QgYW4gb3ZlcnNpZ2h0IHdoZW4gSSBvcmlnaW5h
bGx5IGFkZGVkIGl0LCBhbmQgaXQncyBnb2luZyB0bworICAgICAgICBjb21lIGluIHVzZWZ1bCBm
b3IgdGhlc2UgdGVzdHMuCisKKyAgICAgICAgKiBmYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qczoKKyAgICAgICAgKGV2YWxBbmRMb2cpOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lw
cGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL1NraXBwZWQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjLXNub3dsZW9wYXJkL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFj
LXRpZ2VyL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAg
ICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoK
KyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9iYXNpY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9iYXNpY3MuaHRtbDogQWRkZWQuCisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zY3JpcHQtdGVzdHMvYmFzaWNzLmpz
OiBBZGRlZC4KKyAgICAgICAgKGV2ZW50U2hhcmVkKToKKyAgICAgICAgKHN1Y2Nlc3NGdW5jdGlv
bik6CisgICAgICAgIChlcnJvckZ1bmN0aW9uKToKKyAgICAgICAgKHRlc3QpOgorCiAyMDEwLTA1
LTE0ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgdW5za2lwIHBhc3NpbmcgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzCmluZGV4IGVjZjVmZDA4ZGU2YTRjMTYyZmFjZmQ1MTAwNDAz
NDliOTY5MGEwMjguLjY2NDc3OThhMzQxMzM5Nzk1Zjc1NGY5ZWY1M2JiMDY5YTcxMjNiODggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCkBAIC05MCw2
ICs5MCw3IEBAIGZ1bmN0aW9uIGV2YWxBbmRMb2coX2EpCiAgIH0gY2F0Y2ggKGUpIHsKICAgICB0
ZXN0RmFpbGVkKF9hICsgIiB0aHJldyBleGNlcHRpb24gIiArIGUpOwogICB9CisgIHJldHVybiBf
YXY7CiB9CiAKIGZ1bmN0aW9uIHNob3VsZEJlKF9hLCBfYikKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQKaW5kZXggMTM5YTE3OTY5YmM0YjFlYzkxZWQwOTBkYTFjYjUzMThiMDVlNjQ3Ni4uM2U5MzNj
MTg4YmE5MDBjNWY1ZTEyM2FlMTE3NjYwNDE3ZDZkNjE1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKQEAgLTU5MjEsMyArNTkyMSw2IEBAIGZhc3QvbG9hZGVyL3JlY3Vyc2l2ZS1iZWZvcmUt
dW5sb2FkLWNyYXNoLmh0bWwKICMgVGVzdHMgZmFpbGluZyBvbmx5IG9uIHRoZSAzMi1iaXQgZGVi
dWcgYm90CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTEwMQog
Y3NzMS9jb2xvcl9hbmRfYmFja2dyb3VuZC9iYWNrZ3JvdW5kX2F0dGFjaG1lbnQuaHRtbAorCisj
IEluZGV4ZWREQiBpcyBub3QgeWV0IGVuYWJsZWQuCitzdG9yYWdlL2luZGV4ZWRkYgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvU2tpcHBlZCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL1NraXBwZWQKaW5kZXggMjA1ZWI0NDRmYTMwN2Q4OGNm
MWU2Y2E5ZGM3YTQ1MDBlZGFhMTYwNS4uYmI0MDRjMGJkOWRkMjBjNTA3ZTA3NTgwMTQwYzkwNzJh
N2UyOWU0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvU2tp
cHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9Ta2lwcGVkCkBAIC02
NywzICs2Nyw2IEBAIHBsYXRmb3JtL21hYy9mb250cy9jb2xvci1iaXRtYXAuaHRtbAogIyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgwMDAgLSByNTgxMDcgY2F1c2Vz
IHZpZGVvLXBsYXktc3RhbGwgYW5kIHZpZGVvLXBsYXktc3RhbGwtc2VlayB0byBmYWlsCiBodHRw
L3Rlc3RzL21lZGlhL3ZpZGVvLXBsYXktc3RhbGwuaHRtbAogaHR0cC90ZXN0cy9tZWRpYS92aWRl
by1wbGF5LXN0YWxsLXNlZWsuaHRtbAorCisjIEluZGV4ZWREQiBpcyBub3QgeWV0IGVuYWJsZWQu
CitzdG9yYWdlL2luZGV4ZWRkYgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXNub3dsZW9wYXJkL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtc25vd2xlb3Bh
cmQvU2tpcHBlZAppbmRleCAxOTIxNGNjNGI1OTJjMDE5NTIwZGExOTEwMTdkM2M2ZWU2YTI5Yjlk
Li40MTM3NjE3N2ZiMTJhODI4NjNjODlmNzlkNDUyYjQ1NDk0MDk2ZmQxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvU2tpcHBlZApAQCAtMTMwLDMgKzEzMCw2IEBA
IGZhc3QvanMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS40X0FycmF5
LzE1LjQuNC8xNS40LjQuMTJfQXJyYXlfCiAjIFRlc3QgZmFpbHMgb24gU25vdyBMZW9wYXJkIGlu
IERSVCBidXQgcGFzc2VzIHdoZW4gcnVuIG1hbnVhbGx5IGFuZCBwYXNzZXMgb24gTGVvcGFyZC4g
VGhlIHRlc3QgaXRzZWxmIG1pZ2h0IG5lZWQKICMgdHdlYWtpbmcgdG8gZGVhbCB3aXRoIHNjcm9s
bGluZyBkaWZmZXJlbmNlcyBiZXR3ZWVuIExlb3BhcmQgYW5kIFNMLiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg0MTYKIGZhc3QvcmVwYWludC9maXhlZC1tb3ZlLWFm
dGVyLWtleWJvYXJkLXNjcm9sbC5odG1sCisKKyMgSW5kZXhlZERCIGlzIG5vdCB5ZXQgZW5hYmxl
ZC4KK3N0b3JhZ2UvaW5kZXhlZGRiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtdGlnZXIvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy10aWdlci9Ta2lwcGVk
CmluZGV4IDdjOWU5MWU4NWMzMDQzYzJjNTY0NzVmODE3Y2E0YmM2M2ZmMzIzOWIuLjM2ZWQzMWU1
NjZlM2EzYmU1ZmEzOTVjZWRhNGQzZGUyMTZiYWIzMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy10aWdlci9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy10aWdlci9Ta2lwcGVkCkBAIC0xODEsMyArMTgxLDYgQEAgd2ViYXJjaGl2ZS90ZXN0LWxpbmst
cmVsLWljb24uaHRtbAogCiAjIFB5dGhvbiAyLjUgaXMgcmVxdWlyZWQgdG8gcnVuIHdlYnNvY2tl
dCB0ZXN0cwogd2Vic29ja2V0L3Rlc3RzCisKKyMgSW5kZXhlZERCIGlzIG5vdCB5ZXQgZW5hYmxl
ZC4KK3N0b3JhZ2UvaW5kZXhlZGRiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IDYxMjZk
NDRmMjNlNjEyZmQ1YWZkOTk2ZDJkODU2NjNiZWVlNDE0MWUuLmQxMTFmZGUxZjYwZWM5MmMyZmM1
M2NiZGFmZjMzZTQ5ZjAwNThkN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC0xODEs
MyArMTgxLDYgQEAgZmFzdC9jc3MvZm9udC1mYWNlLXdvZmYuaHRtbAogCiAjIEV2ZW50U2VuZGlu
Z0NvbnRyb2xsZXIgZG9lcyBub3Qgc2VuZCBldmVudHMgb24gYXJlYXMgb3V0c2lkZSB0aGUgV2Vi
Vmlldy4KIHNjcm9sbGJhcnMvc2Nyb2xsYmFyLWNsaWNrLWRvZXMtbm90LWJsdXItY29udGVudC5o
dG1sCisKKyMgSW5kZXhlZERCIGlzIG5vdCB5ZXQgZW5hYmxlZC4KK3N0b3JhZ2UvaW5kZXhlZGRi
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCAwNWVkZjE3ZTNhMmEyMzMyZTUyZGEyN2FkN2Rl
MDYyODhlYzhkNjg2Li5jOWYzZjhlMmU2ZTIyN2RlNzI0ODk2OTQ2ODg0MGUxNDFiYzcwNmEwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTUwOTIsMyArNTA5Miw2IEBAIGVkaXRpbmcvc2Vs
ZWN0aW9uL3NoaWZ0LWNsaWNrLmh0bWwKICMgTmV3IHRlc3QgaGFuZ3MgUVQgYm90CiAjIERpc2N1
c3NlZCBpbiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg5MjgKIGZh
c3QvbG9hZGVyL3JlY3Vyc2l2ZS1iZWZvcmUtdW5sb2FkLWNyYXNoLmh0bWwgCisKKyMgSW5kZXhl
ZERCIGlzIG5vdCB5ZXQgZW5hYmxlZC4KK3N0b3JhZ2UvaW5kZXhlZGRiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9Ta2lwcGVkCmluZGV4IGUyMmM1MzZmNTg3Njk1MmFiMDZhNmVkMzJiYzllYzIxOWFmOTlmYTEu
LjI3MGY4Nzk4ZjI5ZDZkNmFhZjFhZjgxYWJiNjllNmQ3YWM0ODc4MGMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9Ta2lwcGVkCkBAIC04NzIsMyArODcyLDYgQEAgZmFzdC9jc3MvZGlzcGxheS1ub25lLWlu
bGluZS1zdHlsZS1jaGFuZ2UtY3Jhc2guaHRtbAogCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zODc5NSAtIGRvZXNuJ3QgcHJpbnQgUGFpbnRFdmVudCBpbnN0cnVt
ZW50YXRpb24gb3V0cHV0CiBpbnNwZWN0b3IvdGltZWxpbmUtcGFpbnQuaHRtbAorCisjIEluZGV4
ZWREQiBpcyBub3QgeWV0IGVuYWJsZWQuCitzdG9yYWdlL2luZGV4ZWRkYgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvYmFzaWNzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Jhc2ljcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OGExMWY2Y2EyY2VkMGFiMjU5MTc3ZGE1YTk5ZTYyYjQxMjUwYmYyNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Jhc2ljcy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNCBAQAorVGVzdCB0aGUgYmFzaWNzIG9mIEluZGV4ZWREQi4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgJ2luZGV4ZWREQicgaW4gd2luZG93IGlzIHRydWUK
K1BBU1MgJ29wZW4nIGluIGluZGV4ZWREQiBpcyB0cnVlCitpbmRleGVkREIub3BlbignbmFtZScs
ICdkZXNjcmlwdGlvbicsIHRydWUgLyogYWxsb3cgbW9kaWZpY2F0aW9uICovKQorUEFTUyAnb25z
dWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRy
dWUKK1BBU1MgJ2Fib3J0JyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4g
cmVzdWx0IGlzIHRydWUKKworQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitGQUlM
IEVycm9yIGZ1bmN0aW9uIGNhbGxlZDogKDApIE5vdCBpbXBsZW1lbnRlZAorCitQQVNTICdzb3Vy
Y2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ29wZW4nIGluIGV2ZW50LnNvdXJjZSBpcyB0cnVl
CisKK0ZBSUwgJ3Jlc3VsdCcgaW4gZXZlbnQgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK0ZB
SUwgJ2NvZGUnIGluIGV2ZW50IHNob3VsZCBiZSBmYWxzZS4gV2FzIHRydWUuCitGQUlMICdtZXNz
YWdlJyBpbiBldmVudCBzaG91bGQgYmUgZmFsc2UuIFdhcyB0cnVlLgorCitQQVNTICdvbnN1Y2Nl
c3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdy
ZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvYmFzaWNzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9i
YXNpY3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jY2E5Njc0MDI3MTJkYmUwOWUwZTJlMTI5ODY2YjdkZDZl
N2Y1ZjI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
YmFzaWNzLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QtZnVuY3Rpb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy9iYXNpY3MuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2NyaXB0LXRlc3RzL1RFTVBMQVRF
Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zY3JpcHQtdGVzdHMvVEVNUExB
VEUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMzlhNzk0MGRlYmQ3ODU3ODczNTc0ZjBhMDlhMzU4ODA3MzVh
YzE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2Ny
aXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QtZnVuY3Rpb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9IllPVVJfSlNfRklMRV9IRVJFIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NjcmlwdC10ZXN0cy9i
YXNpY3MuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zY3JpcHQtdGVzdHMvYmFz
aWNzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjMwNzE5NmFhM2QzOWIxOGQ5MWNmMGM3OGVlMTYzODZlNDI4YmE2
NjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zY3Jp
cHQtdGVzdHMvYmFzaWNzLmpzCkBAIC0wLDAgKzEsNjEgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0IHRo
ZSBiYXNpY3Mgb2YgSW5kZXhlZERCLiIpOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK30KKworCitmdW5jdGlvbiBldmVudFNo
YXJlZCgpCit7CisgICAgZGVidWcoIiIpOworICAgIHNob3VsZEJlVHJ1ZSgiJ3NvdXJjZScgaW4g
ZXZlbnQiKTsKKyAgICBzaG91bGRCZVRydWUoIidvcGVuJyBpbiBldmVudC5zb3VyY2UiKTsKKyAg
ICBkZWJ1ZygiIik7CisgICAgc2hvdWxkQmVUcnVlKCIncmVzdWx0JyBpbiBldmVudCIpOworICAg
IHNob3VsZEJlRmFsc2UoIidjb2RlJyBpbiBldmVudCIpOworICAgIHNob3VsZEJlRmFsc2UoIidt
ZXNzYWdlJyBpbiBldmVudCIpOworICAgIGRlYnVnKCIiKTsKKyAgICBzaG91bGRCZVRydWUoIidv
bnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCIpOworICAgIHNob3VsZEJlVHJ1ZSgiJ29uZXJyb3In
IGluIGV2ZW50LnRhcmdldCIpOworICAgIHNob3VsZEJlVHJ1ZSgiJ2Fib3J0JyBpbiBldmVudC50
YXJnZXQiKTsKKyAgICBzaG91bGRCZVRydWUoIidyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQi
KTsKKyAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUiLCAiZXZlbnQudGFyZ2V0
LkRPTkUiKTsKKyAgICBkZWJ1ZygiIik7CisgICAgd2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7CisgICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKKyAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpCit9CisKK2Z1bmN0aW9uIHN1Y2Nlc3NGdW5jdGlvbigpCit7CisgICAgZGVidWcoIlN1
Y2Nlc3MgZnVuY3Rpb24gY2FsbGVkIik7CisgICAgZXZlbnRTaGFyZWQoKTsKK30KKworZnVuY3Rp
b24gZXJyb3JGdW5jdGlvbigpCit7CisgICAgdGVzdEZhaWxlZCgiRXJyb3IgZnVuY3Rpb24gY2Fs
bGVkOiAoIiArIGV2ZW50LmNvZGUgKyAiKSAiICsgZXZlbnQubWVzc2FnZSk7CisgICAgZXZlbnRT
aGFyZWQoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgc2hvdWxkQmVUcnVlKCInaW5k
ZXhlZERCJyBpbiB3aW5kb3ciKTsKKyAgICBzaG91bGRCZVRydWUoIidvcGVuJyBpbiBpbmRleGVk
REIiKTsKKworICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCduYW1lJywg
J2Rlc2NyaXB0aW9uJywgdHJ1ZSAvKiBhbGxvdyBtb2RpZmljYXRpb24gKi8pIik7CisgICAgc2hv
dWxkQmVUcnVlKCInb25zdWNjZXNzJyBpbiByZXN1bHQiKTsKKyAgICBzaG91bGRCZVRydWUoIidv
bmVycm9yJyBpbiByZXN1bHQiKTsKKyAgICBzaG91bGRCZVRydWUoIidhYm9ydCcgaW4gcmVzdWx0
Iik7CisgICAgc2hvdWxkQmVUcnVlKCIncmVhZHlTdGF0ZScgaW4gcmVzdWx0Iik7CisgICAgcmVz
dWx0Lm9uc3VjY2VzcyA9IHN1Y2Nlc3NGdW5jdGlvbjsKKyAgICByZXN1bHQub25lcnJvciA9IGVy
cm9yRnVuY3Rpb247CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJBbiBldmVudCBzaG91bGQg
ZmlyZSBzaG9ydGx5Li4uIik7CisgICAgZGVidWcoIiIpOworfQorCit0ZXN0KCk7CisKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVhNmZh
MGU5ODNiYzVjZDBkZGZlNWE0ODNlNWYwZDlmZmQyY2JjOC4uYTg4Y2QxZTcwNTY3Yzg2NTdiNjlm
NzNlOGQ1MjhiYmNmZTVkZDE3YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5MyBAQAorMjAxMC0wNS0xNCAgSmVyZW15IE9y
bG93ICA8am9ybG93QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBGaW5pc2ggdXAgSW5kZXhlZERCIGV2ZW50cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzkxMTcKKworICAgICAgICBJ
bXBsZW1lbnQgdGhlIGluZGV4ZWQgZGF0YWJhc2UgZXZlbnQgaW50ZXJmYWNlcyBhcyBwcm9wb3Nl
ZCBieSBNb3ppbGxhLgorICAgICAgICBSZWZhY3RvciB0aGUgcnVuIHRpbWUgdHlwZSBkZXRlY3Rp
b24gY29kZSB0aGF0IHdhcyBpbiBJREJSZXF1ZXN0IGludG8gaXRzIG93bgorICAgICAgICBjbGFz
cyBuYW1lZCBJREJBbnkuICBVc2UgdGhpcyBuZXcgY2xhc3Mgd2l0aGluIHRoZSBuZXcgZXZlbnQg
Y2xhc3NlcyBhbmQKKyAgICAgICAgSURCUmVzdWx0cy4KKworICAgICAgICBUZXN0OiBzdG9yYWdl
L2luZGV4ZWRkYi9iYXNpY3MuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06
CisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6CisgICAgICAgICogV2ViQ29yZS5n
eXBpOgorICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAg
ICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNJREJBbnlDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSURCUmVxdWVzdEN1c3RvbS5jcHA6
IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SURCQW55Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJREJSZXF1ZXN0Q3VzdG9tLmNwcDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnQ6Omlz
SURCRXJyb3JFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6aXNJREJTdWNjZXNzRXZl
bnQpOgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAgICAgICAqIHN0b3JhZ2UvSURCQW55LmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJREJBbnk6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJREJBbnk6OklEQkFueSk6CisgICAgICAgIChXZWJDb3JlOjpJREJBbnk6On5JREJB
bnkpOgorICAgICAgICAoV2ViQ29yZTo6SURCQW55OjppZGJEYXRhYmFzZVJlcXVlc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCQW55OjppbmRleGVkRGF0YWJhc2VSZXF1ZXN0KToKKyAgICAgICAg
KFdlYkNvcmU6OklEQkFueTo6c2VyaWFsaXplZFNjcmlwdFZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OklEQkFueTo6c2V0KToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkFueS5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OklEQkFueTo6KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkFueTo6dHlw
ZSk6CisgICAgICAgICogc3RvcmFnZS9JREJBbnkuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBzdG9y
YWdlL0lEQkVycm9yRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OklEQkVycm9y
RXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJFcnJvckV2ZW50OjpJREJFcnJv
ckV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkVycm9yRXZlbnQ6On5JREJFcnJvckV2ZW50
KToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkVycm9yRXZlbnQuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpJREJFcnJvckV2ZW50Ojpjb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkVycm9y
RXZlbnQ6Om1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SURCRXJyb3JFdmVudDo6aXNJREJF
cnJvckV2ZW50KToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkVycm9yRXZlbnQuaWRsOiBBZGRlZC4K
KyAgICAgICAgKiBzdG9yYWdlL0lEQkV2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpJREJFdmVudDo6SURCRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCRXZlbnQ6On5JREJF
dmVudCk6CisgICAgICAgIChXZWJDb3JlOjpJREJFdmVudDo6c291cmNlKToKKyAgICAgICAgKiBz
dG9yYWdlL0lEQkV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvSURCRXZlbnQuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL0lEQlJlcXVlc3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCUmVxdWVzdDo6SURCUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1
ZXN0OjpvblN1Y2Nlc3MpOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdDo6dGltZXJGaXJl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0OjpvbkV2ZW50Q29tbW9uKToKKyAgICAg
ICAgKiBzdG9yYWdlL0lEQlJlcXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0OjpyZXN1bHQpOgorICAgICAg
ICAqIHN0b3JhZ2UvSURCUmVxdWVzdC5pZGw6CisgICAgICAgICogc3RvcmFnZS9JREJTdWNjZXNz
RXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OklEQlN1Y2Nlc3NFdmVudDo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlN1Y2Nlc3NFdmVudDo6SURCU3VjY2Vzc0V2ZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlN1Y2Nlc3NFdmVudDo6fklEQlN1Y2Nlc3NFdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpJREJTdWNjZXNzRXZlbnQ6OnJlc3VsdCk6CisgICAgICAgICog
c3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJREJT
dWNjZXNzRXZlbnQ6OmlzSURCU3VjY2Vzc0V2ZW50KToKKyAgICAgICAgKiBzdG9yYWdlL0lEQlN1
Y2Nlc3NFdmVudC5pZGw6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvSW5kZXhlZERhdGFiYXNl
SW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmRleGVkRGF0YWJhc2VJbXBsOjpvcGVuKToK
KyAgICAgICAgKiBzdG9yYWdlL0luZGV4ZWREYXRhYmFzZVJlcXVlc3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5kZXhlZERhdGFiYXNlUmVxdWVzdDo6SW5kZXhlZERhdGFiYXNlUmVxdWVzdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbmRleGVkRGF0YWJhc2VSZXF1ZXN0OjpvcGVuKToKKyAgICAg
ICAgKiBzdG9yYWdlL0luZGV4ZWREYXRhYmFzZVJlcXVlc3QuaDoKKwogMjAxMC0wNS0xNCAgWmhl
bnlhbyBNbyAgPHptb0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkg
R2xhemtvdi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggMTQ3MWVmMzgyYjFlMzQ0NThjY2I2ZGYzZmQ0MTVl
NTY1ODJlZTU4OC4uYTI4MDMwZTlhMTcxM2NjMzRhYTZkNzk4NTQwNGM0NzY0MjEyYjk1OCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAKQEAgLTE2NSwxMCArMTY1LDE0IEBACiAjaW5jbHVkZSAiSlNIVE1MVGl0bGVF
bGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxVTGlzdEVsZW1lbnQuY3BwIgogI2luY2x1ZGUg
IkpTSFRNTFZpZGVvRWxlbWVudC5jcHAiCisjaW5jbHVkZSAiSlNJREJBbnkuY3BwIgogI2luY2x1
ZGUgIkpTSURCRGF0YWJhc2VFcnJvci5jcHAiCiAjaW5jbHVkZSAiSlNJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNJREJEYXRhYmFzZVJlcXVlc3QuY3BwIgorI2luY2x1ZGUg
IkpTSURCRXJyb3JFdmVudC5jcHAiCisjaW5jbHVkZSAiSlNJREJFdmVudC5jcHAiCiAjaW5jbHVk
ZSAiSlNJREJSZXF1ZXN0LmNwcCIKKyNpbmNsdWRlICJKU0lEQlN1Y2Nlc3NFdmVudC5jcHAiCiAj
aW5jbHVkZSAiSlNJbWFnZURhdGEuY3BwIgogI2luY2x1ZGUgIkpTSW5kZXhlZERhdGFiYXNlUmVx
dWVzdC5jcHAiCiAjaW5jbHVkZSAiSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCIKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCBkM2YwNTc4OTIwMDg1NGM5YjI3Nzc4ZjRjZjk3MGJjNTZkMzI0ZWNjLi44ZGVm
YzFhMDRlMjYzZWMwOTA5ZmZjM2E0NTYyMDg2MDAxNjI2Zjc3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0yMDgsMTAgKzIwOCwxNCBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBIVE1MVUxpc3RFbGVtZW50
IFwKICAgICBIVE1MVmlkZW9FbGVtZW50IFwKICAgICBIaXN0b3J5IFwKKyAgICBJREJBbnkgXAog
ICAgIElEQkRhdGFiYXNlRXJyb3IgXAogICAgIElEQkRhdGFiYXNlRXhjZXB0aW9uIFwKICAgICBJ
REJEYXRhYmFzZVJlcXVlc3QgXAorICAgIElEQkVycm9yRXZlbnQgXAorICAgIElEQkV2ZW50IFwK
ICAgICBJREJSZXF1ZXN0IFwKKyAgICBJREJTdWNjZXNzRXZlbnQgXAogICAgIEltYWdlRGF0YSBc
CiAgICAgSW5kZXhlZERhdGFiYXNlUmVxdWVzdCBcCiAgICAgSW5qZWN0ZWRTY3JpcHRIb3N0IFwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtCmluZGV4IGE2YjZjMDkxOTI4YjEyM2RlOTdlZmMyMTc1NzVjZTA1YzQwMDY5OTIuLmI2NTU2
MGVlYTc1YzgzYTJhZTEwYTI2YTRlZGVmYzRkOWYyMDZhYmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMjQyMiwxMCAr
MjQyMiwxNCBAQCBpZiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRQogRkVBVFVSRV9ERUZJTkVTICs9
IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFPTEKIAogSURMX0JJTkRJTkdTICs9IFwKKwlXZWJDb3Jl
L3N0b3JhZ2UvSURCREFueS5pZGwgXAogCVdlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUVycm9y
LmlkbCBcCiAJV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmlkbCBcCiAJV2Vi
Q29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlUmVxdWVzdC5pZGwgXAorCVdlYkNvcmUvc3RvcmFnZS9J
REJFcnJvckV2ZW50LmlkbCBcCisJV2ViQ29yZS9zdG9yYWdlL0lEQkV2ZW50LmlkbCBcCiAJV2Vi
Q29yZS9zdG9yYWdlL0lEQlJlcXVlc3QuaWRsIFwKKwlXZWJDb3JlL3N0b3JhZ2UvSURCU3VjY2Vz
c0V2ZW50LmlkbCBcCiAJV2ViQ29yZS9zdG9yYWdlL0luZGV4ZWREYXRhYmFzZVJlcXVlc3QuaWRs
CiAKIHdlYmNvcmVfY3BwZmxhZ3MgKz0gXApAQCAtMjQzMyw2ICsyNDM3LDggQEAgd2ViY29yZV9j
cHBmbGFncyArPSBcCiAKIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0lEQlJlcXVlc3RDdXN0b20uY3BwIFwKKwlXZWJDb3JlL3N0b3JhZ2UvSURCQW55LmNwcCBc
CisJV2ViQ29yZS9zdG9yYWdlL0lEQkFueS5oIFwKIAlXZWJDb3JlL3N0b3JhZ2UvSURCQ2FsbGJh
Y2tzLmNwcCBcCiAJV2ViQ29yZS9zdG9yYWdlL0lEQkNhbGxiYWNrcy5oIFwKIAlXZWJDb3JlL3N0
b3JhZ2UvSURCRGF0YWJhc2UuY3BwIFwKQEAgLTI0NDEsOCArMjQ0NywxNCBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVdlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5oIFwKIAlX
ZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VSZXF1ZXN0LmNwcCBcCiAJV2ViQ29yZS9zdG9yYWdl
L0lEQkRhdGFiYXNlUmVxdWVzdC5oIFwKKwlXZWJDb3JlL3N0b3JhZ2UvSURCRXJyb3JFdmVudC5j
cHAgXAorCVdlYkNvcmUvc3RvcmFnZS9JREJFcnJvckV2ZW50LmggXAorCVdlYkNvcmUvc3RvcmFn
ZS9JREJFdmVudC5jcHAgXAorCVdlYkNvcmUvc3RvcmFnZS9JREJFdmVudC5oIFwKIAlXZWJDb3Jl
L3N0b3JhZ2UvSURCUmVxdWVzdC5jcHAgXAogCVdlYkNvcmUvc3RvcmFnZS9JREJSZXF1ZXN0Lmgg
XAorCVdlYkNvcmUvc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuY3BwIFwKKwlXZWJDb3JlL3N0b3Jh
Z2UvSURCU3VjY2Vzc0V2ZW50LmggXAogCVdlYkNvcmUvc3RvcmFnZS9JbmRleGVkRGF0YWJhc2Uu
Y3BwIFwKIAlXZWJDb3JlL3N0b3JhZ2UvSW5kZXhlZERhdGFiYXNlLmggXAogCVdlYkNvcmUvc3Rv
cmFnZS9JbmRleGVkRGF0YWJhc2VJbXBsLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNv
cmUuZ3lwL1dlYkNvcmUuZ3lwIGIvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRl
eCBhZGY2ZDk0OWFhZGQ0YmMwYmE2MGUxZGViYmNmMDNkYjJjZmY2N2M0Li43NjM0NzY1M2I2OTc0
OWNiM2ZjZmY0ZDIwNmJiMDQ2MzU2MTcwYmZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
Z3lwL1dlYkNvcmUuZ3lwCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAg
LTU3Nyw2ICs1NzcsNyBAQAogICAgICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL25vdGlmaWNh
dGlvbnMnLAogICAgICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL3BhZ2UnLAogICAgICAgICAg
ICAgICAnLS1pbmNsdWRlJywgJy4uL3BsdWdpbnMnLAorICAgICAgICAgICAgICAnLS1pbmNsdWRl
JywgJy4uL3N0b3JhZ2UnLAogICAgICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL3N2ZycsCiAg
ICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vd2Vic29ja2V0cycsCiAgICAgICAgICAgICAg
ICctLWluY2x1ZGUnLCAnLi4vd29ya2VycycsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDk2MDhhYjI5YTQ0ZGEzNzNkM2UyNjU4
OGJjNmU0YmNkZDljMDY5ZWYuLmFhY2Y4ZTgyOWRiMjY1YThlMDY5NGVhMGM2M2IxNTYyYTU2YjRi
ZTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCkBAIC0yMTgsMTMgKzIxOCwxNyBAQAogICAgICAgICAgICAgJ3BsdWdpbnMvTWltZVR5
cGVBcnJheS5pZGwnLAogICAgICAgICAgICAgJ3BsdWdpbnMvUGx1Z2luLmlkbCcsCiAgICAgICAg
ICAgICAncGx1Z2lucy9QbHVnaW5BcnJheS5pZGwnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvSURC
QW55LmlkbCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9EYXRhYmFzZS5pZGwnLAogICAgICAgICAg
ICAgJ3N0b3JhZ2UvRGF0YWJhc2VDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2Uv
RGF0YWJhc2VTeW5jLmlkbCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9JREJEYXRhYmFzZUVycm9y
LmlkbCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5pZGwnLAog
ICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRGF0YWJhc2VSZXF1ZXN0LmlkbCcsCisgICAgICAgICAg
ICAnc3RvcmFnZS9JREJFcnJvckV2ZW50LmlkbCcsCisgICAgICAgICAgICAnc3RvcmFnZS9JREJF
dmVudC5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCUmVxdWVzdC5pZGwnLAorICAgICAg
ICAgICAgJ3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmlkbCcsCiAgICAgICAgICAgICAnc3RvcmFn
ZS9JbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmlkbCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9TUUxF
cnJvci5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmlkbCcsCkBAIC03
NTMsNyArNzU3LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MUGx1
Z0luRWxlbWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEhUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uaCcsCi0gICAgICAgICAgICAnYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SURCUmVxdWVzdEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOElEQkFueUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEphdmFTY3JpcHRDYWxsRnJhbWVDdXN0
b20uY3BwJywKQEAgLTMzMjIsNiArMzMyNiw4IEBACiAgICAgICAgICAgICAnc3RvcmFnZS9EYXRh
YmFzZVRyYWNrZXIuY3BwJywKICAgICAgICAgICAgICdzdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5o
JywKICAgICAgICAgICAgICdzdG9yYWdlL0RhdGFiYXNlVHJhY2tlckNsaWVudC5oJywKKyAgICAg
ICAgICAgICdzdG9yYWdlL0lEQkFueS5jcHAnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvSURCQW55
LmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCQ2FsbGJhY2tzLmgnLAogICAgICAgICAgICAg
J3N0b3JhZ2UvSURCRGF0YWJhc2UuaCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9JREJEYXRhYmFz
ZS5jcHAnLApAQCAtMzMyOSw4ICszMzM1LDE0IEBACiAgICAgICAgICAgICAnc3RvcmFnZS9JREJE
YXRhYmFzZUV4Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQkRhdGFiYXNlUmVx
dWVzdC5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRGF0YWJhc2VSZXF1ZXN0LmgnLAor
ICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRXZlbnQuY3BwJywKKyAgICAgICAgICAgICdzdG9yYWdl
L0lEQkV2ZW50LmgnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRXJyb3JFdmVudC5jcHAnLAor
ICAgICAgICAgICAgJ3N0b3JhZ2UvSURCRXJyb3JFdmVudC5oJywKICAgICAgICAgICAgICdzdG9y
YWdlL0lEQlJlcXVlc3QuY3BwJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQlJlcXVlc3QuaCcs
CisgICAgICAgICAgICAnc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuY3BwJywKKyAgICAgICAgICAg
ICdzdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0luZGV4
ZWREYXRhYmFzZS5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSW5kZXhlZERhdGFiYXNlLmgn
LAogICAgICAgICAgICAgJ3N0b3JhZ2UvSW5kZXhlZERhdGFiYXNlSW1wbC5jcHAnLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggNzY0
MjM3OTdmY2Y1ZWIxZDA5NjA3Nzk3ODJmOTM4MmViMGVhN2M0Zi4uM2U2OGJlZmNkMWQ1NDBhNjEx
OGUyMGViMmY4OGVjOGM4YzAyZjBkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQor
KysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC00MzksMTAgKzQzOSwxNCBAQCBJRExfQklORElO
R1MgKz0gXAogICAgIHN0b3JhZ2UvRGF0YWJhc2UuaWRsIFwKICAgICBzdG9yYWdlL0RhdGFiYXNl
Q2FsbGJhY2suaWRsIFwKICAgICBzdG9yYWdlL0RhdGFiYXNlU3luYy5pZGwgXAorICAgIHN0b3Jh
Z2UvSURCQW55LmlkbCBcCiAgICAgc3RvcmFnZS9JREJEYXRhYmFzZUVycm9yLmlkbCBcCiAgICAg
c3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5pZGwgXAogICAgIHN0b3JhZ2UvSURCRGF0YWJh
c2VSZXF1ZXN0LmlkbCBcCisgICAgc3RvcmFnZS9JREJFcnJvckV2ZW50LmlkbCBcCisgICAgc3Rv
cmFnZS9JREJFdmVudC5pZGwgXAogICAgIHN0b3JhZ2UvSURCUmVxdWVzdC5pZGwgXAorICAgIHN0
b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmlkbCBcCiAgICAgc3RvcmFnZS9JbmRleGVkRGF0YWJhc2VS
ZXF1ZXN0LmlkbCBcCiAgICAgc3RvcmFnZS9TdG9yYWdlLmlkbCBcCiAgICAgc3RvcmFnZS9TdG9y
YWdlRXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3Jl
L1dlYkNvcmUucHJvCmluZGV4IDRkMmI2OTY4Y2JhYjhjMzc1NmRhOTg4ZGY2NDkxMDQ3MzA4NjE0
ZmQuLjUzN2VjZmNmZjExNTYxOWRlYzg0Y2VkNjU2Mjk1Mzc0N2I2YTM1YmQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjMxNCwy
MSArMjMxNCwyOSBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfREFUQUJBU0U9MSkgewogCiBj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRT0xKSB7CiAgICAgSEVBREVS
UyArPSBcCisgICAgICAgIHN0b3JhZ2UvSURCQW55LmggXAogICAgICAgICBzdG9yYWdlL0lEQkNh
bGxiYWNrcy5oIFwKICAgICAgICAgc3RvcmFnZS9JREJEYXRhYmFzZS5oIFwKICAgICAgICAgc3Rv
cmFnZS9JREJEYXRhYmFzZUVycm9yLmggXAogICAgICAgICBzdG9yYWdlL0lEQkRhdGFiYXNlRXhj
ZXB0aW9uLmggXAogICAgICAgICBzdG9yYWdlL0lEQkRhdGFiYXNlUmVxdWVzdC5oIFwKKyAgICAg
ICAgc3RvcmFnZS9JREJFcnJvckV2ZW50LmggXAorICAgICAgICBzdG9yYWdlL0lEQkV2ZW50Lmgg
XAogICAgICAgICBzdG9yYWdlL0lEQlJlcXVlc3QuaCBcCisgICAgICAgIHN0b3JhZ2UvSURCU3Vj
Y2Vzc0V2ZW50LmggXAogICAgICAgICBzdG9yYWdlL0luZGV4ZWREYXRhYmFzZS5oIFwKICAgICAg
ICAgc3RvcmFnZS9JbmRleGVkRGF0YWJhc2VJbXBsLmggXAogICAgICAgICBzdG9yYWdlL0luZGV4
ZWREYXRhYmFzZVJlcXVlc3QuaAogCiAgICAgU09VUkNFUyArPSBcCi0gICAgICAgIGJpbmRpbmdz
L2pzL0pTSURCUmVxdWVzdEN1c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy9qcy9KU0lEQkFu
eUN1c3RvbS5jcHAgXAorICAgICAgICBzdG9yYWdlL0lEQkFueS5jcHAgXAogICAgICAgICBzdG9y
YWdlL0lEQkRhdGFiYXNlLmNwcCBcCiAgICAgICAgIHN0b3JhZ2UvSURCRGF0YWJhc2VSZXF1ZXN0
LmNwcCBcCisgICAgICAgIHN0b3JhZ2UvSURCRXJyb3JFdmVudC5jcHAgXAorICAgICAgICBzdG9y
YWdlL0lEQkV2ZW50LmNwcCBcCiAgICAgICAgIHN0b3JhZ2UvSURCUmVxdWVzdC5jcHAgXAorICAg
ICAgICBzdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5jcHAgXAogICAgICAgICBzdG9yYWdlL0luZGV4
ZWREYXRhYmFzZS5jcHAgXAogICAgICAgICBzdG9yYWdlL0luZGV4ZWREYXRhYmFzZUltcGwuY3Bw
IFwKICAgICAgICAgc3RvcmFnZS9JbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmNwcApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNjVjZWFkMjdjODY1NDg2MDYyN2ZmMWU3MDY2
ODczMWFhOGJjOWIxYi4uNGY0NTk5MTcwYTg3OTA5ODhiNjM5MjQ3YjE2M2Q5ZGU2ZTg1NGRhYyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zNzgzNiw2ICszNzgzNiwx
MTggQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNJREJBbnkuY3BwIg0KKwkJCQkJPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJ
CQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJ
CQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQor
CQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0K
KwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQkFueS5o
Ig0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9
IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJ
REJEYXRhYmFzZS5jcHAiDQorCQkJCQk+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJ
CQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJ
CQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJ
CQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJ
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJ
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVn
X0NhaXJvfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4N
CisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+
DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSURCRGF0
YWJhc2UuaCINCisJCQkJCT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRp
dmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTSURCRGF0YWJhc2VFcnJvci5jcHAiDQogCQkJCQk+DQogCQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCkBAIC0zODAwNCw2ICszODExNiwxMTggQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQog
CQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJFcnJvckV2ZW50LmNwcCINCisJCQkJCT4N
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iUmVsZWFz
ZXxXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJ
CQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJ
CU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJv
fFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJ
CQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJ
TmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0K
KwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0K
KwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8L0ZpbGU+DQorCQkJ
CTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJFcnJvckV2ZW50LmgiDQorCQkJCQk+DQorCQkJ
CTwvRmlsZT4NCisJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQkV2ZW50LmNwcCINCisJ
CQkJCT4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
Ig0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9v
bA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0i
UmVsZWFzZXxXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+
DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkv
Pg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJSZWxlYXNl
X0NhaXJvfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4N
CisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+
DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8L0ZpbGU+
DQorCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJFdmVudC5oIg0KKwkJCQkJPg0KKwkJ
CQk8L0ZpbGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJSZXF1ZXN0LmNwcCIN
CiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAgLTM4MDYwLDcgKzM4Mjg0LDYz
IEBACiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxiaW5kaW5nc1xqc1xKU0lEQlJlcXVlc3RDdXN0b20uY3BwIg0KKwkJCQkJUmVsYXRpdmVQ
YXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTSURCU3VjY2Vzc0V2ZW50LmNwcCINCisJCQkJCT4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KKwkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdp
bjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8
VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFt
ZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQor
CQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQor
CQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCisJCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0K
KwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0K
KwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0K
KwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNJREJTdWNjZXNzRXZlbnQuaCINCisJCQkJCT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0K
KwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0lEQkFueUN1c3RvbS5jcHAiDQog
CQkJCQk+DQogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiINCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDJlZmM4
N2M0ZWUzNGE4MzgxMTE2YjlmYTVlNjg2MTY4NGNhNTFlYTguLmY3ZGJhMWNhY2FiNGUzZDQ1Mzc1
NWJjODkwNzY0MzIzNWJhMmUwMjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC00NzcyLDcgKzQ3NzIsMjMgQEAKIAkJQzUxOThGNUUxMTkyRUNGRDAwMkI3
NEE2IC8qIEluZGV4ZWREYXRhYmFzZVJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1MTk4RjRBMTE5MkVDRkQwMDJCNzRBNiAvKiBJbmRleGVk
RGF0YWJhc2VSZXF1ZXN0LmggKi87IH07CiAJCUM1NUUzOEJGMTAwNDBENUQwMEE1NkJEQiAvKiBT
dG9yYWdlTmFtZXNwYWNlSW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzU1RTM4QkIxMDA0MEQ1RDAwQTU2QkRCIC8qIFN0b3JhZ2VOYW1lc3BhY2VJ
bXBsLmggKi87IH07CiAJCUM1NUUzOEMwMTAwNDBENUQwMEE1NkJEQiAvKiBTdG9yYWdlTmFtZXNw
YWNlSW1wbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDNTVFMzhCQzEwMDQwRDVEMDBBNTZCREIgLyogU3RvcmFnZU5hbWVzcGFjZUltcGwuY3BwICov
OyB9OwotCQlDNTk1NjY3ODExOTMyNEM2MDBGRENFNDcgLyogSlNJREJSZXF1ZXN0Q3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1OTU2Njc3
MTE5MzI0QzYwMEZEQ0U0NyAvKiBKU0lEQlJlcXVlc3RDdXN0b20uY3BwICovOyB9OworCQlDNTZD
OTE0RTExOUQ4NDk4MDBERTRDRDkgLyogSlNJREJBbnlDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU2QzkxNEQxMTlEODQ5ODAwREU0Q0Q5
IC8qIEpTSURCQW55Q3VzdG9tLmNwcCAqLzsgfTsKKwkJQzU2QzkxNTIxMTlEODRDQjAwREU0Q0Q5
IC8qIElEQkFueS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDNTZDOTE0RjExOUQ4NENCMDBERTRDRDkgLyogSURCQW55LmNwcCAqLzsgfTsKKwkJQzU2
QzkxNTMxMTlEODRDQjAwREU0Q0Q5IC8qIElEQkFueS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU2QzkxNTAxMTlEODRDQjAwREU0Q0Q5IC8qIElEQkFu
eS5oICovOyB9OworCQlDNTZDOTE1RjExOUQ4NEU2MDBERTRDRDkgLyogSURCRXJyb3JFdmVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTZDOTE1
OTExOUQ4NEU2MDBERTRDRDkgLyogSURCRXJyb3JFdmVudC5jcHAgKi87IH07CisJCUM1NkM5MTYw
MTE5RDg0RTYwMERFNENEOSAvKiBJREJFcnJvckV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTZDOTE1QTExOUQ4NEU2MDBERTRDRDkgLyogSURC
RXJyb3JFdmVudC5oICovOyB9OworCQlDNTZDOTE2MjExOUQ4NEU2MDBERTRDRDkgLyogSURCRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU2
QzkxNUMxMTlEODRFNjAwREU0Q0Q5IC8qIElEQkV2ZW50LmNwcCAqLzsgfTsKKwkJQzU2QzkxNjMx
MTlEODRFNjAwREU0Q0Q5IC8qIElEQkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDNTZDOTE1RDExOUQ4NEU2MDBERTRDRDkgLyogSURCRXZlbnQu
aCAqLzsgfTsKKwkJQzU2QzkxNjgxMTlEODRGRjAwREU0Q0Q5IC8qIElEQlN1Y2Nlc3NFdmVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTZDOTE2
NTExOUQ4NEZGMDBERTRDRDkgLyogSURCU3VjY2Vzc0V2ZW50LmNwcCAqLzsgfTsKKwkJQzU2Qzkx
NjkxMTlEODRGRjAwREU0Q0Q5IC8qIElEQlN1Y2Nlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU2QzkxNjYxMTlEODRGRjAwREU0Q0Q5IC8q
IElEQlN1Y2Nlc3NFdmVudC5oICovOyB9OworCQlDNTZDOTE5QTExOUQ5MTUzMDBERTRDRDkgLyog
SlNJREJBbnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzU2QzkxOTgxMTlEOTE1MzAwREU0Q0Q5IC8qIEpTSURCQW55LmNwcCAqLzsgfTsKKwkJQzU2
QzkxOUIxMTlEOTE1MzAwREU0Q0Q5IC8qIEpTSURCQW55LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTZDOTE5OTExOUQ5MTUzMDBERTRDRDkgLyogSlNJ
REJBbnkuaCAqLzsgfTsKKwkJQzU2QzkxQTAxMTlEOTE4MTAwREU0Q0Q5IC8qIEpTSURCRXJyb3JF
dmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
NTZDOTE5QzExOUQ5MTgxMDBERTRDRDkgLyogSlNJREJFcnJvckV2ZW50LmNwcCAqLzsgfTsKKwkJ
QzU2QzkxQTExMTlEOTE4MTAwREU0Q0Q5IC8qIEpTSURCRXJyb3JFdmVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU2QzkxOUQxMTlEOTE4MTAwREU0
Q0Q5IC8qIEpTSURCRXJyb3JFdmVudC5oICovOyB9OworCQlDNTZDOTFBMjExOUQ5MTgxMDBERTRD
RDkgLyogSlNJREJFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDNTZDOTE5RTExOUQ5MTgxMDBERTRDRDkgLyogSlNJREJFdmVudC5jcHAgKi87
IH07CisJCUM1NkM5MUEzMTE5RDkxODEwMERFNENEOSAvKiBKU0lEQkV2ZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTZDOTE5RjExOUQ5MTgxMDBE
RTRDRDkgLyogSlNJREJFdmVudC5oICovOyB9OworCQlDNTZDOTFBNjExOUQ5MTg3MDBERTRDRDkg
LyogSlNJREJTdWNjZXNzRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzU2QzkxQTQxMTlEOTE4NzAwREU0Q0Q5IC8qIEpTSURCU3VjY2Vzc0V2
ZW50LmNwcCAqLzsgfTsKKwkJQzU2QzkxQTcxMTlEOTE4NzAwREU0Q0Q5IC8qIEpTSURCU3VjY2Vz
c0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
NTZDOTFBNTExOUQ5MTg3MDBERTRDRDkgLyogSlNJREJTdWNjZXNzRXZlbnQuaCAqLzsgfTsKIAkJ
QzVENEFBN0ExMTZCQUZCNjAwNjlDQTkzIC8qIEdseXBoTWV0cmljc01hcC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzVENEFBNzgxMTZCQUZCNjAwNjlD
QTkzIC8qIEdseXBoTWV0cmljc01hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUM1RTlCNjc3MTA2OTdFMTMwMEM3QkIxQSAvKiBTdG9yYWdlRXZl
bnREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEM1RTlCNjc2MTA2OTdFMTMwMEM3QkIxQSAvKiBTdG9yYWdlRXZlbnREaXNwYXRjaGVy
LmNwcCAqLzsgfTsKIAkJQzVFQkREODQxMDVFRERFQzAwNTY4MTZGIC8qIFN0b3JhZ2VFdmVudERp
c3BhdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEM1RUJERDgxMTA1RURERUMwMDU2ODE2RiAvKiBTdG9yYWdlRXZlbnREaXNwYXRjaGVyLmggKi87
IH07CkBAIC0xMDIzOCw3ICsxMDI1NCwyNyBAQAogCQlDNTE5OEY0QjExOTJFQ0ZEMDAyQjc0QTYg
LyogSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW5k
ZXhlZERhdGFiYXNlUmVxdWVzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1
NUUzOEJCMTAwNDBENUQwMEE1NkJEQiAvKiBTdG9yYWdlTmFtZXNwYWNlSW1wbC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdG9yYWdlTmFtZXNwYWNlSW1wbC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDNTVFMzhCQzEwMDQwRDVEMDBBNTZCREIgLyogU3RvcmFn
ZU5hbWVzcGFjZUltcGwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U3RvcmFnZU5hbWVzcGFjZUltcGwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlD
NTk1NjY3NzExOTMyNEM2MDBGRENFNDcgLyogSlNJREJSZXF1ZXN0Q3VzdG9tLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCUmVxdWVzdEN1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM1NkM5MTREMTE5RDg0OTgwMERFNENEOSAvKiBK
U0lEQkFueUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0lEQkFueUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM1NkM5MTRG
MTE5RDg0Q0IwMERFNENEOSAvKiBJREJBbnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSURCQW55LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2
QzkxNTAxMTlEODRDQjAwREU0Q0Q5IC8qIElEQkFueS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBJREJBbnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2Qzkx
NTExMTlEODRDQjAwREU0Q0Q5IC8qIElEQkFueS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
SURCQW55LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2QzkxNTkxMTlEODRF
NjAwREU0Q0Q5IC8qIElEQkVycm9yRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSURCRXJyb3JFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUM1NkM5MTVBMTE5RDg0RTYwMERFNENEOSAvKiBJREJFcnJvckV2ZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQkVycm9yRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQzU2QzkxNUIxMTlEODRFNjAwREU0Q0Q5IC8qIElEQkVycm9yRXZlbnQu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IElEQkVycm9yRXZlbnQuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDNTZDOTE1QzExOUQ4NEU2MDBERTRDRDkgLyogSURCRXZlbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSURCRXZlbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNTZDOTE1RDExOUQ4NEU2MDBERTRDRDkgLyog
SURCRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCRXZlbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2QzkxNUUxMTlEODRFNjAwREU0Q0Q5IC8q
IElEQkV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJREJFdmVudC5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM1NkM5MTY1MTE5RDg0RkYwMERFNENEOSAvKiBJREJT
dWNjZXNzRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSURC
U3VjY2Vzc0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2QzkxNjYx
MTlEODRGRjAwREU0Q0Q5IC8qIElEQlN1Y2Nlc3NFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBJREJTdWNjZXNzRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQzU2QzkxNjcxMTlEODRGRjAwREU0Q0Q5IC8qIElEQlN1Y2Nlc3NFdmVudC5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gSURCU3VjY2Vzc0V2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQzU2QzkxOTgxMTlEOTE1MzAwREU0Q0Q5IC8qIEpTSURCQW55LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCQW55LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2QzkxOTkxMTlEOTE1MzAwREU0Q0Q5IC8qIEpTSURC
QW55LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSURCQW55Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM1NkM5MTlDMTE5RDkxODEwMERFNENEOSAvKiBKU0lE
QkVycm9yRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJ
REJFcnJvckV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2QzkxOUQx
MTlEOTE4MTAwREU0Q0Q5IC8qIEpTSURCRXJyb3JFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0lEQkVycm9yRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQzU2QzkxOUUxMTlEOTE4MTAwREU0Q0Q5IC8qIEpTSURCRXZlbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJREJFdmVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUM1NkM5MTlGMTE5RDkxODEwMERFNENEOSAvKiBKU0lEQkV2ZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSURCRXZlbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2QzkxQTQxMTlEOTE4NzAwREU0Q0Q5IC8qIEpTSURC
U3VjY2Vzc0V2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
SURCU3VjY2Vzc0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU2Qzkx
QTUxMTlEOTE4NzAwREU0Q0Q5IC8qIEpTSURCU3VjY2Vzc0V2ZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTSURCU3VjY2Vzc0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1ldHJpY3NNYXAu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2x5cGhNZXRyaWNzTWFwLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1RTlCNjc2MTA2OTdFMTMwMEM3QkIxQSAvKiBT
dG9yYWdlRXZlbnREaXNwYXRjaGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFN0b3JhZ2VFdmVudERpc3BhdGNoZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDNUVCREQ4MTEwNUVEREVDMDA1NjgxNkYgLyogU3RvcmFnZUV2ZW50RGlzcGF0Y2hl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdG9yYWdlRXZlbnREaXNwYXRj
aGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDkwNSw2ICsxMDk0MSw5IEBA
CiAJCQkJMUFENTFBMTMwQ0I1OUNEMzAwOTUzRDExIC8qIERhdGFiYXNlVHJhY2tlci5jcHAgKi8s
CiAJCQkJMUFENTFBMTIwQ0I1OUNEMzAwOTUzRDExIC8qIERhdGFiYXNlVHJhY2tlci5oICovLAog
CQkJCTUxRkFGRTMzMENFQ0JGMkQwMEJCM0YyNCAvKiBEYXRhYmFzZVRyYWNrZXJDbGllbnQuaCAq
LywKKwkJCQlDNTZDOTE0RjExOUQ4NENCMDBERTRDRDkgLyogSURCQW55LmNwcCAqLywKKwkJCQlD
NTZDOTE1MDExOUQ4NENCMDBERTRDRDkgLyogSURCQW55LmggKi8sCisJCQkJQzU2QzkxNTExMTlE
ODRDQjAwREU0Q0Q5IC8qIElEQkFueS5pZGwgKi8sCiAJCQkJQzUxOThGMzgxMTkyRUNGRDAwMkI3
NEE2IC8qIElEQkNhbGxiYWNrcy5oICovLAogCQkJCUM1MTk4RjM5MTE5MkVDRkQwMDJCNzRBNiAv
KiBJREJEYXRhYmFzZS5jcHAgKi8sCiAJCQkJQzUxOThGM0ExMTkyRUNGRDAwMkI3NEE2IC8qIElE
QkRhdGFiYXNlLmggKi8sCkBAIC0xMDkxNSw5ICsxMDk1NCwxOCBAQAogCQkJCUM1MTk4RjNGMTE5
MkVDRkQwMDJCNzRBNiAvKiBJREJEYXRhYmFzZVJlcXVlc3QuY3BwICovLAogCQkJCUM1MTk4RjQw
MTE5MkVDRkQwMDJCNzRBNiAvKiBJREJEYXRhYmFzZVJlcXVlc3QuaCAqLywKIAkJCQlDNTE5OEY0
MTExOTJFQ0ZEMDAyQjc0QTYgLyogSURCRGF0YWJhc2VSZXF1ZXN0LmlkbCAqLywKKwkJCQlDNTZD
OTE1OTExOUQ4NEU2MDBERTRDRDkgLyogSURCRXJyb3JFdmVudC5jcHAgKi8sCisJCQkJQzU2Qzkx
NUExMTlEODRFNjAwREU0Q0Q5IC8qIElEQkVycm9yRXZlbnQuaCAqLywKKwkJCQlDNTZDOTE1QjEx
OUQ4NEU2MDBERTRDRDkgLyogSURCRXJyb3JFdmVudC5pZGwgKi8sCisJCQkJQzU2QzkxNUMxMTlE
ODRFNjAwREU0Q0Q5IC8qIElEQkV2ZW50LmNwcCAqLywKKwkJCQlDNTZDOTE1RDExOUQ4NEU2MDBE
RTRDRDkgLyogSURCRXZlbnQuaCAqLywKKwkJCQlDNTZDOTE1RTExOUQ4NEU2MDBERTRDRDkgLyog
SURCRXZlbnQuaWRsICovLAogCQkJCUM1MTk4RjQyMTE5MkVDRkQwMDJCNzRBNiAvKiBJREJSZXF1
ZXN0LmNwcCAqLywKIAkJCQlDNTE5OEY0MzExOTJFQ0ZEMDAyQjc0QTYgLyogSURCUmVxdWVzdC5o
ICovLAogCQkJCUM1MTk4RjQ0MTE5MkVDRkQwMDJCNzRBNiAvKiBJREJSZXF1ZXN0LmlkbCAqLywK
KwkJCQlDNTZDOTE2NTExOUQ4NEZGMDBERTRDRDkgLyogSURCU3VjY2Vzc0V2ZW50LmNwcCAqLywK
KwkJCQlDNTZDOTE2NjExOUQ4NEZGMDBERTRDRDkgLyogSURCU3VjY2Vzc0V2ZW50LmggKi8sCisJ
CQkJQzU2QzkxNjcxMTlEODRGRjAwREU0Q0Q5IC8qIElEQlN1Y2Nlc3NFdmVudC5pZGwgKi8sCiAJ
CQkJQzUxOThGNDUxMTkyRUNGRDAwMkI3NEE2IC8qIEluZGV4ZWREYXRhYmFzZS5jcHAgKi8sCiAJ
CQkJQzUxOThGNDYxMTkyRUNGRDAwMkI3NEE2IC8qIEluZGV4ZWREYXRhYmFzZS5oICovLAogCQkJ
CUM1MTk4RjQ3MTE5MkVDRkQwMDJCNzRBNiAvKiBJbmRleGVkRGF0YWJhc2VJbXBsLmNwcCAqLywK
QEAgLTE0MjQwLDE0ICsxNDI4OCwyMiBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMUFFODJGOEQw
Q0FBRkE5RDAwMjIzN0FFIC8qIEpTRGF0YWJhc2UuY3BwICovLAogCQkJCTFBRTgyRjhFMENBQUZB
OUQwMDIyMzdBRSAvKiBKU0RhdGFiYXNlLmggKi8sCisJCQkJQzU2QzkxOTgxMTlEOTE1MzAwREU0
Q0Q5IC8qIEpTSURCQW55LmNwcCAqLywKKwkJCQlDNTZDOTE5OTExOUQ5MTUzMDBERTRDRDkgLyog
SlNJREJBbnkuaCAqLywKIAkJCQlDNUY0RjNGRTExOTMwNkFDMDBGREZBREQgLyogSlNJREJEYXRh
YmFzZUVycm9yLmNwcCAqLywKIAkJCQlDNUY0RjNGRjExOTMwNkFDMDBGREZBREQgLyogSlNJREJE
YXRhYmFzZUVycm9yLmggKi8sCiAJCQkJQzVGNEY0MDAxMTkzMDZBQzAwRkRGQUREIC8qIEpTSURC
RGF0YWJhc2VFeGNlcHRpb24uY3BwICovLAogCQkJCUM1RjRGNDAxMTE5MzA2QUMwMEZERkFERCAv
KiBKU0lEQkRhdGFiYXNlRXhjZXB0aW9uLmggKi8sCiAJCQkJQzVGNEY0MDIxMTkzMDZBQzAwRkRG
QUREIC8qIEpTSURCRGF0YWJhc2VSZXF1ZXN0LmNwcCAqLywKIAkJCQlDNUY0RjQwMzExOTMwNkFD
MDBGREZBREQgLyogSlNJREJEYXRhYmFzZVJlcXVlc3QuaCAqLywKKwkJCQlDNTZDOTE5QzExOUQ5
MTgxMDBERTRDRDkgLyogSlNJREJFcnJvckV2ZW50LmNwcCAqLywKKwkJCQlDNTZDOTE5RDExOUQ5
MTgxMDBERTRDRDkgLyogSlNJREJFcnJvckV2ZW50LmggKi8sCisJCQkJQzU2QzkxOUUxMTlEOTE4
MTAwREU0Q0Q5IC8qIEpTSURCRXZlbnQuY3BwICovLAorCQkJCUM1NkM5MTlGMTE5RDkxODEwMERF
NENEOSAvKiBKU0lEQkV2ZW50LmggKi8sCiAJCQkJQzVGNEY0MDQxMTkzMDZBQzAwRkRGQUREIC8q
IEpTSURCUmVxdWVzdC5jcHAgKi8sCiAJCQkJQzVGNEY0MDUxMTkzMDZBQzAwRkRGQUREIC8qIEpT
SURCUmVxdWVzdC5oICovLAorCQkJCUM1NkM5MUE0MTE5RDkxODcwMERFNENEOSAvKiBKU0lEQlN1
Y2Nlc3NFdmVudC5jcHAgKi8sCisJCQkJQzU2QzkxQTUxMTlEOTE4NzAwREU0Q0Q5IC8qIEpTSURC
U3VjY2Vzc0V2ZW50LmggKi8sCiAJCQkJQzVGNEY0MEUxMTkzMDZDMDAwRkRGQUREIC8qIEpTSW5k
ZXhlZERhdGFiYXNlUmVxdWVzdC5jcHAgKi8sCiAJCQkJQzVGNEY0MEYxMTkzMDZDMDAwRkRGQURE
IC8qIEpTSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5oICovLAogCQkJCTUxNEM3NjM1MENFOTIyNUUw
MDdFRjNDRCAvKiBKU1NRTEVycm9yLmNwcCAqLywKQEAgLTE1MjcwLDcgKzE1MzI2LDcgQEAKIAkJ
CQk0NDhBRDI3QTBBNDgxMzc5MDAyM0QxNzkgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0
b20uY3BwICovLAogCQkJCUJDMTdGOTY1MEI2NEVCQjgwMDRBNjVDQiAvKiBKU0hUTUxTZWxlY3RF
bGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlBQjRDQjRFQTBCOEJEQTNEMDA5RjQwQjAgLyogSlNI
VE1MU2VsZWN0RWxlbWVudEN1c3RvbS5oICovLAotCQkJCUM1OTU2Njc3MTE5MzI0QzYwMEZEQ0U0
NyAvKiBKU0lEQlJlcXVlc3RDdXN0b20uY3BwICovLAorCQkJCUM1NkM5MTREMTE5RDg0OTgwMERF
NENEOSAvKiBKU0lEQkFueUN1c3RvbS5jcHAgKi8sCiAJCQkJQTdEMDMxOEQwRTkzNTQwMzAwRTI0
QUNEIC8qIEpTSW1hZ2VEYXRhQ3VzdG9tLmNwcCAqLywKIAkJCQk3QTBFNzZENDEwQkYwNTA3MDBB
MDI3NkUgLyogSlNJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwICovLAogCQkJCTdBNzRFQ0JD
MTAxODM5REEwMEJGOTM5RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAgKi8s
CkBAIC0xOTE2NCw2ICsxOTIyMCwxNCBAQAogCQkJCTJFOTRGNDUxMTE5MjA5NkEwMEI3Rjc1RCAv
KiBGaWxlUmVhZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDQwQTJENzExOTFBNTIzMDAwODIw
QjAgLyogU1ZHRkVMaWdodGluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjVCNURDNkExMTlCQjNE
NTAwMkE4NzkwIC8qIEFic3RyYWN0RGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCUM1NkM5
MTUzMTE5RDg0Q0IwMERFNENEOSAvKiBJREJBbnkuaCBpbiBIZWFkZXJzICovLAorCQkJCUM1NkM5
MTYwMTE5RDg0RTYwMERFNENEOSAvKiBJREJFcnJvckV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlDNTZDOTE2MzExOUQ4NEU2MDBERTRDRDkgLyogSURCRXZlbnQuaCBpbiBIZWFkZXJzICovLAor
CQkJCUM1NkM5MTY5MTE5RDg0RkYwMERFNENEOSAvKiBJREJTdWNjZXNzRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUM1NkM5MTlCMTE5RDkxNTMwMERFNENEOSAvKiBKU0lEQkFueS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQzU2QzkxQTExMTlEOTE4MTAwREU0Q0Q5IC8qIEpTSURCRXJyb3JFdmVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzU2QzkxQTMxMTlEOTE4MTAwREU0Q0Q5IC8qIEpTSURC
RXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUM1NkM5MUE3MTE5RDkxODcwMERFNENEOSAvKiBK
U0lEQlN1Y2Nlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMTQyOCwxMSArMjE0OTIsMTkg
QEAKIAkJCQlDNUY0RjQwQTExOTMwNkFDMDBGREZBREQgLyogSlNJREJEYXRhYmFzZVJlcXVlc3Qu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzVGNEY0MEMxMTkzMDZBQzAwRkRGQUREIC8qIEpTSURC
UmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNUY0RjQxMDExOTMwNkMwMDBGREZBREQg
LyogSlNJbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUM1OTU2
Njc4MTE5MzI0QzYwMEZEQ0U0NyAvKiBKU0lEQlJlcXVlc3RDdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkU5NEY0M0IxMTkyMDdEQTAwQjdGNzVEIC8qIEpTRmlsZVJlYWRlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkyRTk0RjQ1MDExOTIwOTY0MDBCN0Y3NUQgLyogRmlsZVJlYWRlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDQwQTJENTExOTFBNTBCMDAwODIwQjAgLyogU1ZHRkVM
aWdodGluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCNUI1REM2OTExOUJCM0Q1MDAyQTg3OTAg
LyogQWJzdHJhY3REYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNTZDOTE0RTExOUQ4
NDk4MDBERTRDRDkgLyogSlNJREJBbnlDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzU2
QzkxNTIxMTlEODRDQjAwREU0Q0Q5IC8qIElEQkFueS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlD
NTZDOTE1RjExOUQ4NEU2MDBERTRDRDkgLyogSURCRXJyb3JFdmVudC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlDNTZDOTE2MjExOUQ4NEU2MDBERTRDRDkgLyogSURCRXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQzU2QzkxNjgxMTlEODRGRjAwREU0Q0Q5IC8qIElEQlN1Y2Nlc3NFdmVudC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlDNTZDOTE5QTExOUQ5MTUzMDBERTRDRDkgLyogSlNJREJB
bnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzU2QzkxQTAxMTlEOTE4MTAwREU0Q0Q5IC8qIEpT
SURCRXJyb3JFdmVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNTZDOTFBMjExOUQ5MTgxMDBE
RTRDRDkgLyogSlNJREJFdmVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNTZDOTFBNjExOUQ5
MTg3MDBERTRDRDkgLyogSlNJREJTdWNjZXNzRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAppbmRleCA2Njg2ZDdhNjljYzJkM2NlZDMzMzcy
NDIyYzcxNWQxOTRhMmJlMzAzLi5mZDQ2ZmFhMmZjOTk1NjUwZWEzZTI1MDY4ODZjODE1YzlhNGE0
NDFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKQEAgLTM4LDYgKzM4LDgg
QEAKICNpbmNsdWRlICJKU0N1c3RvbUV2ZW50LmgiCiAjaW5jbHVkZSAiSlNDb21wb3NpdGlvbkV2
ZW50LmgiCiAjaW5jbHVkZSAiSlNFcnJvckV2ZW50LmgiCisjaW5jbHVkZSAiSlNJREJFcnJvckV2
ZW50LmgiCisjaW5jbHVkZSAiSlNJREJTdWNjZXNzRXZlbnQuaCIKICNpbmNsdWRlICJKU0tleWJv
YXJkRXZlbnQuaCIKICNpbmNsdWRlICJKU01lc3NhZ2VFdmVudC5oIgogI2luY2x1ZGUgIkpTTW91
c2VFdmVudC5oIgpAQCAtNTQsNiArNTYsOCBAQAogI2luY2x1ZGUgIkpTWE1MSHR0cFJlcXVlc3RQ
cm9ncmVzc0V2ZW50LmgiCiAjaW5jbHVkZSAiQmVmb3JlTG9hZEV2ZW50LmgiCiAjaW5jbHVkZSAi
RXJyb3JFdmVudC5oIgorI2luY2x1ZGUgIklEQkVycm9yRXZlbnQuaCIKKyNpbmNsdWRlICJJREJT
dWNjZXNzRXZlbnQuaCIKICNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiTWVz
c2FnZUV2ZW50LmgiCiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgpAQCAtMTQ1LDYgKzE0OSwxMiBA
QCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBFdmVudCogZXZlbnQpCiAgICAgZWxzZSBpZiAoZXZlbnQtPmlzU3RvcmFnZUV2ZW50
KCkpCiAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGds
b2JhbE9iamVjdCwgU3RvcmFnZUV2ZW50LCBldmVudCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoSU5E
RVhFRF9EQVRBQkFTRSkKKyAgICBlbHNlIGlmIChldmVudC0+aXNJREJFcnJvckV2ZW50KCkpCisg
ICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9i
amVjdCwgSURCRXJyb3JFdmVudCwgZXZlbnQpOworICAgIGVsc2UgaWYgKGV2ZW50LT5pc0lEQlN1
Y2Nlc3NFdmVudCgpKQorICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBF
UihleGVjLCBnbG9iYWxPYmplY3QsIElEQlN1Y2Nlc3NFdmVudCwgZXZlbnQpOworI2VuZGlmCiAg
ICAgZWxzZSBpZiAoZXZlbnQtPmlzV2ViS2l0QW5pbWF0aW9uRXZlbnQoKSkKICAgICAgICAgd3Jh
cHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBXZWJL
aXRBbmltYXRpb25FdmVudCwgZXZlbnQpOwogICAgIGVsc2UgaWYgKGV2ZW50LT5pc1dlYktpdFRy
YW5zaXRpb25FdmVudCgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50
VGFyZ2V0LmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldC5jcHAKaW5kZXgg
OTQ4ODg5YjM3YjMyM2QyNWFhNDZlZDM5Y2ZjZmIyMmQ4ZTJkZGM1ZS4uYzVmY2U2NDBhZGM3NThi
YzBmNGMxNmM3MWQzMzljMjc5Yjg5ODA3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0V2ZW50VGFyZ2V0LmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJn
ZXQuY3BwCkBAIC03OCw2ICs3OCwxMSBAQAogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbi5oIgogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNpbmNsdWRlICJJREJSZXF1ZXN0
LmgiCisjaW5jbHVkZSAiSlNJREJSZXF1ZXN0LmgiCisjZW5kaWYKKwogI2lmIEVOQUJMRShXRUJf
U09DS0VUUykKICNpbmNsdWRlICJKU1dlYlNvY2tldC5oIgogI2luY2x1ZGUgIldlYlNvY2tldC5o
IgpAQCAtMTQ5LDYgKzE1NCwxMSBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RP
TUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFdmVudFRhcmdldCogdGFyZwogICAgICAgICBy
ZXR1cm4gdG9KUyhleGVjLCBub3RpZmljYXRpb24pOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoSU5E
RVhFRF9EQVRBQkFTRSkKKyAgICBpZiAoSURCUmVxdWVzdCogaWRiUmVxdWVzdCA9IHRhcmdldC0+
dG9JREJSZXF1ZXN0KCkpCisgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGlkYlJlcXVlc3QpOwor
I2VuZGlmCisKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiAgICAgaWYgKFdlYlNvY2tldCogd2Vi
U29ja2V0ID0gdGFyZ2V0LT50b1dlYlNvY2tldCgpKQogICAgICAgICByZXR1cm4gdG9KUyhleGVj
LCB3ZWJTb2NrZXQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lEQlJlcXVl
c3RDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lEQkFueUN1c3RvbS5jcHAKc2lt
aWxhcml0eSBpbmRleCA3NCUKcmVuYW1lIGZyb20gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lEQlJl
cXVlc3RDdXN0b20uY3BwCnJlbmFtZSB0byBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSURCQW55Q3Vz
dG9tLmNwcAppbmRleCBjNGY5NzQ0MWNmNDdmMmY3ZjlkMzEyZjgwN2U4NTNmZGJmNGEzODBjLi5m
NzY3NGI4Y2ZkOWI2ZjI5OGZhYTA1NGExN2ZiMzQ4YjMyNzU4OGRmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSURCUmVxdWVzdEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0lEQkFueUN1c3RvbS5jcHAKQEAgLTMyLDI3ICszMiwzMyBAQAogCiAjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCiAKLSNpbmNsdWRlICJKU0lEQlJlcXVlc3QuaCIKKyNpbmNs
dWRlICJKU0lEQkFueS5oIgogCisjaW5jbHVkZSAiSURCQW55LmgiCiAjaW5jbHVkZSAiSURCRGF0
YWJhc2VSZXF1ZXN0LmgiCi0jaW5jbHVkZSAiSURCUmVxdWVzdC5oIgorI2luY2x1ZGUgIkluZGV4
ZWREYXRhYmFzZVJlcXVlc3QuaCIKICNpbmNsdWRlICJKU0lEQkRhdGFiYXNlUmVxdWVzdC5oIgor
I2luY2x1ZGUgIkpTSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5oIgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLUpTVmFsdWUgSlNJREJSZXF1ZXN0OjpyZXN1bHQoRXhlY1N0YXRlKiBleGVjKSBj
b25zdAorSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSURCQW55KiBpZGJBbnkpCiB7Ci0gICAgSURCUmVxdWVzdCogaWRiUmVxdWVz
dCA9IHN0YXRpY19jYXN0PElEQlJlcXVlc3QqPihpbXBsKCkpOwotICAgIHN3aXRjaCAoaWRiUmVx
dWVzdC0+cmVzdWx0VHlwZSgpKSB7Ci0gICAgY2FzZSBJREJSZXF1ZXN0OjpVTkRFRklORUQ6Cisg
ICAgaWYgKCFpZGJBbnkpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKworICAgIHN3aXRjaCAo
aWRiQW55LT50eXBlKCkpIHsKKyAgICBjYXNlIElEQkFueTo6VW5kZWZpbmVkVHlwZToKICAgICAg
ICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAgY2FzZSBJREJSZXF1ZXN0OjpJREJEQVRBQkFT
RToKLSAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0KCksIGlkYlJlcXVlc3Qt
PmlkYkRhdGFiYXNlUmVzdWx0KCkpOwotICAgIGNhc2UgSURCUmVxdWVzdDo6U0VSSUFMSVpFRFND
UklQVFZBTFVFOgotICAgICAgICByZXR1cm4gaWRiUmVxdWVzdC0+c2VyaWFsaXplZFNjcmlwdFZh
bHVlUmVzdWx0KCktPmRlc2VyaWFsaXplKGV4ZWMsIGdsb2JhbE9iamVjdCgpKTsKKyAgICBjYXNl
IElEQkFueTo6SURCRGF0YWJhc2VSZXF1ZXN0VHlwZToKKyAgICAgICAgcmV0dXJuIHRvSlMoZXhl
YywgZ2xvYmFsT2JqZWN0LCBpZGJBbnktPmlkYkRhdGFiYXNlUmVxdWVzdCgpKTsKKyAgICBjYXNl
IElEQkFueTo6SW5kZXhlZERhdGFiYXNlUmVxdWVzdFR5cGU6CisgICAgICAgIHJldHVybiB0b0pT
KGV4ZWMsIGdsb2JhbE9iamVjdCwgaWRiQW55LT5pbmRleGVkRGF0YWJhc2VSZXF1ZXN0KCkpOwor
ICAgIGNhc2UgSURCQW55OjpTZXJpYWxpemVkU2NyaXB0VmFsdWVUeXBlOgorICAgICAgICByZXR1
cm4gaWRiQW55LT5zZXJpYWxpemVkU2NyaXB0VmFsdWUoKS0+ZGVzZXJpYWxpemUoZXhlYywgZ2xv
YmFsT2JqZWN0KTsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHAKaW5kZXggYjI3MjhlYzc5ODgw
OGNlNDJkMmFjNDdiNWNhODIxZWIwOTRmNDY2ZS4uOGExYTMzOTlmNmM1YzNkMTQ3ZjdlNGI0N2Q3
MWEzNDczMDU4ZmZhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhF
dmVudEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1
c3RvbS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDkg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQpAQCAtNDEsNiArNDEsOCBAQAogI2luY2x1ZGUgIlY4Q29tcG9zaXRpb25FdmVu
dC5oIgogI2luY2x1ZGUgIlY4Q3VzdG9tRXZlbnQuaCIKICNpbmNsdWRlICJWOEVycm9yRXZlbnQu
aCIKKyNpbmNsdWRlICJWOElEQkVycm9yRXZlbnQuaCIKKyNpbmNsdWRlICJWOElEQlN1Y2Nlc3NF
dmVudC5oIgogI2luY2x1ZGUgIlY4S2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIlY4TWVzc2Fn
ZUV2ZW50LmgiCiAjaW5jbHVkZSAiVjhNb3VzZUV2ZW50LmgiCkBAIC0xNDMsNiArMTQ1LDEyIEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEV2ZW50KiBpbXBsKQogICAgIGlmIChpbXBsLT5p
c1N0b3JhZ2VFdmVudCgpKQogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxTdG9yYWdl
RXZlbnQqPihpbXBsKSk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyAg
ICBpZiAoaW1wbC0+aXNJREJFcnJvckV2ZW50KCkpCisgICAgICAgIHJldHVybiB0b1Y4KHN0YXRp
Y19jYXN0PElEQkVycm9yRXZlbnQqPihpbXBsKSk7CisgICAgaWYgKGltcGwtPmlzSURCU3VjY2Vz
c0V2ZW50KCkpCisgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PElEQlN1Y2Nlc3NFdmVu
dCo+KGltcGwpKTsKKyNlbmRpZgogICAgIGlmIChpbXBsLT5pc0JlZm9yZUxvYWRFdmVudCgpKQog
ICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxCZWZvcmVMb2FkRXZlbnQqPihpbXBsKSk7
CiAgICAgaWYgKGltcGwtPmlzQ3VzdG9tRXZlbnQoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SURCUmVxdWVzdEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOElEQkFueUN1c3RvbS5jcHAKc2ltaWxhcml0eSBpbmRleCA3NyUKcmVuYW1l
IGZyb20gV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJSZXF1ZXN0Q3VzdG9tLmNwcApy
ZW5hbWUgdG8gV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJBbnlDdXN0b20uY3BwCmlu
ZGV4IGJlZmZiNjkxMDk2NWUxNjBmOTRiYzlmYTQxZGRkZGI5NWI1MDJiMjAuLjJlMjBlODJiNTI0
ZDNlNTcxM2NhMTY1YWFlMDJhNTA1ZDg1YzY3OGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SURCUmVxdWVzdEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhJREJBbnlDdXN0b20uY3BwCkBAIC0zMiwzMyArMzIsMzQgQEAKIAogI2lm
IEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCi0jaW5jbHVkZSAiVjhJREJSZXF1ZXN0LmgiCisj
aW5jbHVkZSAiVjhJREJBbnkuaCIKIAogI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5o
IgogI2luY2x1ZGUgIlY4SURCRGF0YWJhc2VSZXF1ZXN0LmgiCi0jaW5jbHVkZSAiVjhQcm94eS5o
IgorI2luY2x1ZGUgIlY4SW5kZXhlZERhdGFiYXNlUmVxdWVzdC5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOElEQlJlcXVlc3Q6OnJlc3VsdEFjY2Vz
c29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJ
bmZvJiBpbmZvKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSURCQW55KiBpbXBsKQogewot
ICAgIElOQ19TVEFUUygiRE9NLklEQlJlcXVlc3QucmVzdWx0Iik7CisgICAgaWYgKCFpbXBsKQor
ICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKIAotICAgIElEQlJlcXVlc3QqIGlkYlJlcXVlc3Qg
PSBWOElEQlJlcXVlc3Q6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOwotICAgIHN3aXRjaCAoaWRi
UmVxdWVzdC0+cmVzdWx0VHlwZSgpKSB7Ci0gICAgY2FzZSBJREJSZXF1ZXN0OjpVTkRFRklORUQ6
CisgICAgc3dpdGNoIChpbXBsLT50eXBlKCkpIHsKKyAgICBjYXNlIElEQkFueTo6VW5kZWZpbmVk
VHlwZToKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKLSAgICBjYXNlIElEQlJlcXVl
c3Q6OklEQkRBVEFCQVNFOgotICAgICAgICByZXR1cm4gdG9WOChpZGJSZXF1ZXN0LT5pZGJEYXRh
YmFzZVJlc3VsdCgpKTsKLSAgICBjYXNlIElEQlJlcXVlc3Q6OlNFUklBTElaRURTQ1JJUFRWQUxV
RToKLSAgICAgICAgcmV0dXJuIGlkYlJlcXVlc3QtPnNlcmlhbGl6ZWRTY3JpcHRWYWx1ZVJlc3Vs
dCgpLT5kZXNlcmlhbGl6ZSgpOworICAgIGNhc2UgSURCQW55OjpJREJEYXRhYmFzZVJlcXVlc3RU
eXBlOgorICAgICAgICByZXR1cm4gdG9WOChpbXBsLT5pZGJEYXRhYmFzZVJlcXVlc3QoKSk7Cisg
ICAgY2FzZSBJREJBbnk6OkluZGV4ZWREYXRhYmFzZVJlcXVlc3RUeXBlOgorICAgICAgICByZXR1
cm4gdG9WOChpbXBsLT5pbmRleGVkRGF0YWJhc2VSZXF1ZXN0KCkpOworICAgIGNhc2UgSURCQW55
OjpTZXJpYWxpemVkU2NyaXB0VmFsdWVUeXBlOgorICAgICAgICByZXR1cm4gaW1wbC0+c2VyaWFs
aXplZFNjcmlwdFZhbHVlKCktPmRlc2VyaWFsaXplKCk7CiAgICAgfQogCiAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKIH0KIAotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50LmNwcCBi
L1dlYkNvcmUvZG9tL0V2ZW50LmNwcAppbmRleCA1MDZkOTQ1NTlmYzZjZDc0MmVhNThlZGNjOTIx
ZjAyYTc0MWZmYzQxLi44NzZmOGE4MGE1MTgxMzFlMGFmNDllMzYwNTMwMWJkMDRlNTg0YzdhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRXZlbnQu
Y3BwCkBAIC0xODYsNiArMTg2LDE4IEBAIGJvb2wgRXZlbnQ6OmlzU3RvcmFnZUV2ZW50KCkgY29u
c3QKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCitib29sIEV2ZW50
Ojppc0lEQkVycm9yRXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9v
bCBFdmVudDo6aXNJREJTdWNjZXNzRXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsK
K30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFdPUktFUlMpCiBib29sIEV2ZW50Ojppc0Vycm9yRXZl
bnQoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1dlYkNvcmUv
ZG9tL0V2ZW50LmgKaW5kZXggMDBiMzM0MTIzZTIyYWEyODk4NjJhZjhjODI1ZjRjMGQzODM5MjQx
MC4uZmJjZGM5NGVkNmFjNThjMWU3M2M1Y2YxMjdlYTBkMGE4OTIyMDk3NSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vRXZlbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0xMjksNiAr
MTI5LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBpc1N0b3JhZ2VFdmVudCgpIGNvbnN0OwogI2VuZGlmCisjaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0lEQkVycm9y
RXZlbnQoKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBib29sIGlzSURCU3VjY2Vzc0V2ZW50KCkg
Y29uc3Q7CisjZW5kaWYKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICAgICAgdmlydHVhbCBib29s
IGlzRXJyb3JFdmVudCgpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvSURCQW55LmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9JREJBbnkuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3
YTgwMDc0OTEyNWJhNzQ5ZTU5NjAwMmM5ODUwMzg2NzFlOTQyNjUKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJDb3JlL3N0b3JhZ2UvSURCQW55LmNwcApAQCAtMCwwICsxLDk4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5j
LiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIklEQkFueS5oIgorCisjaWYgRU5BQkxFKElOREVYRURfREFU
QUJBU0UpCisKKyNpbmNsdWRlICJJREJEYXRhYmFzZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJJbmRl
eGVkRGF0YWJhc2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxJREJBbnk+IElEQkFueTo6Y3Jl
YXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IElEQkFueSgpKTsKK30KKworSURCQW55
OjpJREJBbnkoKQorICAgIDogbV90eXBlKFVuZGVmaW5lZFR5cGUpCit7Cit9CisKK0lEQkFueTo6
fklEQkFueSgpCit7Cit9CisKK1Bhc3NSZWZQdHI8SURCRGF0YWJhc2VSZXF1ZXN0PiBJREJBbnk6
OmlkYkRhdGFiYXNlUmVxdWVzdCgpCit7CisgICAgQVNTRVJUKG1fdHlwZSA9PSBJREJEYXRhYmFz
ZVJlcXVlc3RUeXBlKTsKKyAgICByZXR1cm4gbV9pZGJEYXRhYmFzZVJlcXVlc3Q7Cit9CisKK1Bh
c3NSZWZQdHI8SW5kZXhlZERhdGFiYXNlUmVxdWVzdD4gSURCQW55OjppbmRleGVkRGF0YWJhc2VS
ZXF1ZXN0KCkKK3sKKyAgICBBU1NFUlQobV90eXBlID09IEluZGV4ZWREYXRhYmFzZVJlcXVlc3RU
eXBlKTsKKyAgICByZXR1cm4gbV9pbmRleGVkRGF0YWJhc2VSZXF1ZXN0OworfQorCitQYXNzUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gSURCQW55OjpzZXJpYWxpemVkU2NyaXB0VmFsdWUo
KQoreworICAgIEFTU0VSVChtX3R5cGUgPT0gU2VyaWFsaXplZFNjcmlwdFZhbHVlVHlwZSk7Cisg
ICAgcmV0dXJuIG1fc2VyaWFsaXplZFNjcmlwdFZhbHVlOworfQorCit2b2lkIElEQkFueTo6c2V0
KFBhc3NSZWZQdHI8SURCRGF0YWJhc2VSZXF1ZXN0PiB2YWx1ZSkKK3sKKyAgICBtX3R5cGUgPSBJ
REJEYXRhYmFzZVJlcXVlc3RUeXBlOworICAgIG1faWRiRGF0YWJhc2VSZXF1ZXN0ID0gdmFsdWU7
CisgICAgbV9pbmRleGVkRGF0YWJhc2VSZXF1ZXN0ID0gMDsKKyAgICBtX3NlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZSA9IDA7Cit9CisKK3ZvaWQgSURCQW55OjpzZXQoUGFzc1JlZlB0cjxJbmRleGVkRGF0
YWJhc2VSZXF1ZXN0PiB2YWx1ZSkKK3sKKyAgICBtX3R5cGUgPSBJbmRleGVkRGF0YWJhc2VSZXF1
ZXN0VHlwZTsKKyAgICBtX2lkYkRhdGFiYXNlUmVxdWVzdCA9IDA7CisgICAgbV9pbmRleGVkRGF0
YWJhc2VSZXF1ZXN0ID0gdmFsdWU7CisgICAgbV9zZXJpYWxpemVkU2NyaXB0VmFsdWUgPSAwOwor
fQorCit2b2lkIElEQkFueTo6c2V0KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2
YWx1ZSkKK3sKKyAgICBtX3R5cGUgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWVUeXBlOworICAgIG1f
aWRiRGF0YWJhc2VSZXF1ZXN0ID0gMDsKKyAgICBtX2luZGV4ZWREYXRhYmFzZVJlcXVlc3QgPSAw
OworICAgIG1fc2VyaWFsaXplZFNjcmlwdFZhbHVlID0gdmFsdWU7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCQW55
LmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCQW55LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZjNTdlMjlkMTFlMjdi
YTE1NmFkMTA0NTBlN2IxOWM5NDc5NDYwNgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvc3Rv
cmFnZS9JREJBbnkuaApAQCAtMCwwICsxLDgxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAz
LiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9y
IHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJREJBbnlfaAorI2RlZmlu
ZSBJREJBbnlfaAorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIElEQkRhdGFiYXNl
UmVxdWVzdDsKK2NsYXNzIEluZGV4ZWREYXRhYmFzZVJlcXVlc3Q7CitjbGFzcyBTZXJpYWxpemVk
U2NyaXB0VmFsdWU7CisKK2NsYXNzIElEQkFueSA6IHB1YmxpYyBSZWZDb3VudGVkPElEQkFueT4g
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQkFueT4gY3JlYXRlKCk7CisgICAg
fklEQkFueSgpOworCisgICAgZW51bSBUeXBlIHsKKyAgICAgICAgVW5kZWZpbmVkVHlwZSA9IDAs
CisgICAgICAgIElEQkRhdGFiYXNlUmVxdWVzdFR5cGUsCisgICAgICAgIEluZGV4ZWREYXRhYmFz
ZVJlcXVlc3RUeXBlLAorICAgICAgICBTZXJpYWxpemVkU2NyaXB0VmFsdWVUeXBlCisgICAgfTsK
KworICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorCisgICAgUGFzc1Jl
ZlB0cjxJREJEYXRhYmFzZVJlcXVlc3Q+IGlkYkRhdGFiYXNlUmVxdWVzdCgpOworICAgIFBhc3NS
ZWZQdHI8SW5kZXhlZERhdGFiYXNlUmVxdWVzdD4gaW5kZXhlZERhdGFiYXNlUmVxdWVzdCgpOwor
ICAgIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzZXJpYWxpemVkU2NyaXB0VmFs
dWUoKTsKKworICAgIHZvaWQgc2V0KFBhc3NSZWZQdHI8SURCRGF0YWJhc2VSZXF1ZXN0Pik7Cisg
ICAgdm9pZCBzZXQoUGFzc1JlZlB0cjxJbmRleGVkRGF0YWJhc2VSZXF1ZXN0Pik7CisgICAgdm9p
ZCBzZXQoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+KTsKKworcHJpdmF0ZToKKyAg
ICBJREJBbnkoKTsKKworICAgIFR5cGUgbV90eXBlOworCisgICAgLy8gT25seSBvbmUgb2YgdGhl
IGZvbGxvd2luZyBzaG91bGQgZXZlciBiZSBpbiB1c2UgYXQgYW55IGdpdmVuIHRpbWUuCisgICAg
UmVmUHRyPElEQkRhdGFiYXNlUmVxdWVzdD4gbV9pZGJEYXRhYmFzZVJlcXVlc3Q7CisgICAgUmVm
UHRyPEluZGV4ZWREYXRhYmFzZVJlcXVlc3Q+IG1faW5kZXhlZERhdGFiYXNlUmVxdWVzdDsKKyAg
ICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtX3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVE
X0RBVEFCQVNFKQorCisjZW5kaWYgLy8gSURCQW55X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3Rv
cmFnZS9JREJBbnkuaWRsIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkFueS5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTlkYTFjNzUyNjBkZjQ1ZTlhZDI3NmQ3OGVkMmNmYTc1Y2NhZDE0YwotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvc3RvcmFnZS9JREJBbnkuaWRsCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJ
bmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAg
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUg
c3RvcmFnZSB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1JTkRFWEVE
X0RBVEFCQVNFLAorICAgICAgICBDdXN0b21Ub0pTCisgICAgXSBJREJBbnkgeworICAgICAgICAv
LyBUaGlzIHNwYWNlIGlzIGludGVudGlvbmFsbHkgbGVmdCBibGFuay4KKyAgICB9OworfQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQkVycm9yRXZlbnQuY3BwIGIvV2ViQ29yZS9zdG9y
YWdlL0lEQkVycm9yRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiYTk4MGQ2OTk2MmYyMjA4MWVjYTEy
MmJlNmE0YTFjYzhlOTYwNjkKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURC
RXJyb3JFdmVudC5jcHAKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICog
My4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5v
ciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJJREJFcnJvckV2ZW50LmgiCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
KworI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJJREJBbnkuaCIKKyNpbmNsdWRl
ICJJREJEYXRhYmFzZUVycm9yLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0
cjxJREJFcnJvckV2ZW50PiBJREJFcnJvckV2ZW50OjpjcmVhdGUoUGFzc1JlZlB0cjxJREJBbnk+
IHNvdXJjZSwgY29uc3QgSURCRGF0YWJhc2VFcnJvciYgZXJyb3IpCit7CisgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBJREJFcnJvckV2ZW50KHNvdXJjZSwgZXJyb3IpKTsKK30KKworSURCRXJyb3JF
dmVudDo6SURCRXJyb3JFdmVudChQYXNzUmVmUHRyPElEQkFueT4gc291cmNlLCBjb25zdCBJREJE
YXRhYmFzZUVycm9yJiBlcnJvcikKKyAgICA6IElEQkV2ZW50KGV2ZW50TmFtZXMoKS5lcnJvckV2
ZW50LCBzb3VyY2UpCisgICAgLCBtX2NvZGUoZXJyb3IuY29kZSgpKQorICAgICwgbV9tZXNzYWdl
KGVycm9yLm1lc3NhZ2UoKSkKK3sKK30KKworSURCRXJyb3JFdmVudDo6fklEQkVycm9yRXZlbnQo
KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdG9yYWdlL0lEQkVycm9yRXZlbnQuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJFcnJv
ckV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQ4ZGE4YmUxYjQ4Mjc3MWFkZTE1ZWU0MTY0OTRkYThjMDVk
YTJmZgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJFcnJvckV2ZW50LmgK
QEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhl
IG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YK
KyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
CisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisg
KiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSURCRXJyb3JFdmVudF9oCisjZGVmaW5lIElEQkVy
cm9yRXZlbnRfaAorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJ
REJFdmVudC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgSURCQW55OworY2xhc3MgSURCRGF0YWJhc2VFcnJvcjsKKworY2xhc3MgSURC
RXJyb3JFdmVudCA6IHB1YmxpYyBJREJFdmVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8SURCRXJyb3JFdmVudD4gY3JlYXRlKFBhc3NSZWZQdHI8SURCQW55PiBzb3VyY2UsIGNv
bnN0IElEQkRhdGFiYXNlRXJyb3ImKTsKKyAgICAvLyBGSVhNRTogTmVlZCB0byBhbGxvdyBjcmVh
dGlvbiBvZiB0aGVzZSBldmVudHMgZnJvbSBKUy4KKyAgICB2aXJ0dWFsIH5JREJFcnJvckV2ZW50
KCk7CisKKyAgICB1bnNpZ25lZCBzaG9ydCBjb2RlKCkgY29uc3QgeyByZXR1cm4gbV9jb2RlOyB9
CisgICAgU3RyaW5nIG1lc3NhZ2UoKSB7IHJldHVybiBtX21lc3NhZ2U7IH0KKworICAgIHZpcnR1
YWwgYm9vbCBpc0lEQkVycm9yRXZlbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKK3ByaXZh
dGU6CisgICAgSURCRXJyb3JFdmVudChQYXNzUmVmUHRyPElEQkFueT4gc291cmNlLCBjb25zdCBJ
REJEYXRhYmFzZUVycm9yJik7CisKKyAgICB1bnNpZ25lZCBzaG9ydCBtX2NvZGU7CisgICAgU3Ry
aW5nIG1fbWVzc2FnZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCisjZW5kaWYgLy8gSURCRXZlbnRfaApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQkVycm9yRXZlbnQuaWRsIGIvV2ViQ29yZS9zdG9yYWdl
L0lEQkVycm9yRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjNThmNmZiODlkNDc0ZTdiNTg2YmQ0YWIx
MjVjYjVlNzIwODE0NGYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRXJy
b3JFdmVudC5pZGwKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4g
IE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0
aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKworICAgIGlu
dGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUlOREVYRURfREFUQUJBU0UKKyAgICBdIElE
QkVycm9yRXZlbnQgOiBJREJFdmVudCB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBzaG9ydCBjb2RlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG1l
c3NhZ2U7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJFdmVudC5j
cHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5ZjYwNjA2YTE0
NzM5ZWJkNjY1NjVkMzdhOWE2MjZmODE3MjQ3ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L3N0b3JhZ2UvSURCRXZlbnQuY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBw
bGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiSURCRXZlbnQuaCIKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNF
KQorCisjaW5jbHVkZSAiSURCQW55LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSURCRXZl
bnQ6OklEQkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgUGFzc1JlZlB0cjxJREJBbnk+
IHNvdXJjZSkKKyAgICA6IEV2ZW50KHR5cGUsIGZhbHNlLCBmYWxzZSkKKyAgICAsIG1fc291cmNl
KHNvdXJjZSkKK3sKK30KKworSURCRXZlbnQ6On5JREJFdmVudCgpCit7Cit9CisKK1Bhc3NSZWZQ
dHI8SURCQW55PiBJREJFdmVudDo6c291cmNlKCkKK3sKKyAgICByZXR1cm4gbV9zb3VyY2U7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3N0b3JhZ2UvSURCRXZlbnQuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJFdmVudC5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU5YzZkZDFkOTMyYmIyM2U3ZDc5NGY5NGJiNDdkZGE4OGUwYmY1ODEKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRXZlbnQuaApAQCAtMCwwICsxLDYwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRl
ciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAq
ICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQg
SVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBJREJFdmVudF9oCisjZGVmaW5lIElEQkV2ZW50X2gKKworI2lmIEVOQUJMRShJTkRFWEVE
X0RBVEFCQVNFKQorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBJREJBbnk7CisKK2NsYXNzIElEQkV2ZW50IDogcHVibGljIEV2ZW50IHsKK3B1YmxpYzoK
KyAgICB2aXJ0dWFsIH5JREJFdmVudCgpOworCisgICAgUGFzc1JlZlB0cjxJREJBbnk+IHNvdXJj
ZSgpOworCitwcm90ZWN0ZWQ6CisgICAgLy8gRG8gbm90IGRpcmVjdGx5IGluc3RhbnRpYXRlLgor
ICAgIElEQkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgUGFzc1JlZlB0cjxJREJBbnk+
IHNvdXJjZSk7CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPElEQkFueT4gbV9zb3VyY2U7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKKworI2VuZGlmIC8vIElEQkV2ZW50X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFn
ZS9JREJFdmVudC5pZGwgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRXZlbnQuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRkZDU1MmVlODQwYjE2YjcxZDM0ZDhlNTQ2Mzk2OGMzM2Q3ZGNmNmIKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRXZlbnQuaWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVy
LCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICog
ICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMK
KyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1
bGUgc3RvcmFnZSB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1JTkRF
WEVEX0RBVEFCQVNFCisgICAgXSBJREJFdmVudCA6IEV2ZW50IHsKKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIElEQkFueSBzb3VyY2U7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3RvcmFnZS9JREJSZXF1ZXN0LmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9JREJSZXF1ZXN0LmNwcApp
bmRleCAzYmZiOTFjOTRiYzFiZjlmYzIwYjZjY2QyYmQwOTY4Nzk4OTEwMGVjLi40MjA2ZmY2M2Jm
YzIxMTUzN2NlZDJkYjk5ZDUyOTM5ZTNlNzJlYTZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3Jh
Z2UvSURCUmVxdWVzdC5jcHAKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlJlcXVlc3QuY3BwCkBA
IC0yNywyMyArMjcsMjUgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
SURCUmVxdWVzdC5oIgogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKLSNpbmNsdWRl
ICJJREJSZXF1ZXN0LmgiCi0KICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50RXhj
ZXB0aW9uLmgiCiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIkV2ZW50TmFt
ZXMuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJJREJFcnJv
ckV2ZW50LmgiCisjaW5jbHVkZSAiSURCU3VjY2Vzc0V2ZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUlEQlJlcXVlc3Q6
OklEQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKK0lEQlJlcXVlc3Q6
OklEQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxJ
REJBbnk+IHNvdXJjZSkKICAgICA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQotICAg
ICwgbV9yZXN1bHRUeXBlKFVOREVGSU5FRCkKKyAgICAsIG1fc291cmNlKHNvdXJjZSkKKyAgICAs
IG1fcmVzdWx0KElEQkFueTo6Y3JlYXRlKCkpCiAgICAgLCBtX3RpbWVyKHRoaXMsICZJREJSZXF1
ZXN0Ojp0aW1lckZpcmVkKQogICAgICwgbV9zdG9wcGVkKGZhbHNlKQogICAgICwgbV9hYm9ydGVk
KGZhbHNlKQpAQCAtNTcsMjAgKzU5LDYgQEAgSURCUmVxdWVzdDo6fklEQlJlcXVlc3QoKQogICAg
ICAgICBhYm9ydCgpOwogfQogCi0KLVBhc3NSZWZQdHI8SURCRGF0YWJhc2VSZXF1ZXN0PiBJREJS
ZXF1ZXN0OjppZGJEYXRhYmFzZVJlc3VsdCgpCi17Ci0gICAgQVNTRVJUKG1fcmVzdWx0VHlwZSA9
PSBJREJEQVRBQkFTRSk7Ci0gICAgcmV0dXJuIG1faWRiRGF0YWJhc2VSZXN1bHQ7Ci19Ci0KLQot
UGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IElEQlJlcXVlc3Q6OnNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZVJlc3VsdCgpCi17Ci0gICAgQVNTRVJUKG1fcmVzdWx0VHlwZSA9PSBTRVJJQUxJ
WkVEU0NSSVBUVkFMVUUpOwotICAgIHJldHVybiBtX3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZVJlc3Vs
dDsKLX0KLQogdm9pZCBJREJSZXF1ZXN0OjpvbkVycm9yKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VF
cnJvcj4gZXJyb3IpCiB7CiAgICAgb25FdmVudENvbW1vbigpOwpAQCAtODAsMTUgKzY4LDEzIEBA
IHZvaWQgSURCUmVxdWVzdDo6b25FcnJvcihQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+IGVy
cm9yKQogdm9pZCBJREJSZXF1ZXN0OjpvblN1Y2Nlc3MoUGFzc1JlZlB0cjxJREJEYXRhYmFzZT4g
aWRiRGF0YWJhc2UpCiB7CiAgICAgb25FdmVudENvbW1vbigpOwotICAgIG1fcmVzdWx0VHlwZSA9
IElEQkRBVEFCQVNFOwotICAgIG1faWRiRGF0YWJhc2VSZXN1bHQgPSBJREJEYXRhYmFzZVJlcXVl
c3Q6OmNyZWF0ZShpZGJEYXRhYmFzZSk7CisgICAgbV9yZXN1bHQtPnNldChJREJEYXRhYmFzZVJl
cXVlc3Q6OmNyZWF0ZShpZGJEYXRhYmFzZSkpOwogfQogCiB2b2lkIElEQlJlcXVlc3Q6Om9uU3Vj
Y2VzcyhQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc2VyaWFsaXplZFNjcmlwdFZh
bHVlKQogewogICAgIG9uRXZlbnRDb21tb24oKTsKLSAgICBtX3Jlc3VsdFR5cGUgPSBTRVJJQUxJ
WkVEU0NSSVBUVkFMVUU7Ci0gICAgbV9zZXJpYWxpemVkU2NyaXB0VmFsdWVSZXN1bHQgPSBzZXJp
YWxpemVkU2NyaXB0VmFsdWU7CisgICAgbV9yZXN1bHQtPnNldChzZXJpYWxpemVkU2NyaXB0VmFs
dWUpOwogfQogCiB2b2lkIElEQlJlcXVlc3Q6OmFib3J0KCkKQEAgLTE0NCwxOCArMTMwLDE4IEBA
IHZvaWQgSURCUmVxdWVzdDo6dGltZXJGaXJlZChUaW1lcjxJREJSZXF1ZXN0PiopCiAgICAgUmVm
UHRyPElEQlJlcXVlc3Q+IHNlbGZSZWYgPSBtX3NlbGZSZWYucmVsZWFzZSgpOwogCiAgICAgaWYg
KG1fZXJyb3IpIHsKLSAgICAgICAgQVNTRVJUKG1fcmVzdWx0VHlwZSA9PSBVTkRFRklORUQpOwot
ICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZl
bnQsIGZhbHNlLCBmYWxzZSkpOworICAgICAgICBBU1NFUlQobV9yZXN1bHQtPnR5cGUoKSA9PSBJ
REJBbnk6OlVuZGVmaW5lZFR5cGUpOworICAgICAgICBkaXNwYXRjaEV2ZW50KElEQkVycm9yRXZl
bnQ6OmNyZWF0ZShtX3NvdXJjZSwgKm1fZXJyb3IpKTsKICAgICB9IGVsc2UgewotICAgICAgICBB
U1NFUlQobV9yZXN1bHRUeXBlICE9IFVOREVGSU5FRCk7Ci0gICAgICAgIGRpc3BhdGNoRXZlbnQo
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuc3VjY2Vzc0V2ZW50LCBmYWxzZSwgZmFsc2UpKTsg
ICAgICAgIAorICAgICAgICBBU1NFUlQobV9yZXN1bHQtPnR5cGUoKSAhPSBJREJBbnk6OlVuZGVm
aW5lZFR5cGUpOworICAgICAgICBkaXNwYXRjaEV2ZW50KElEQlN1Y2Nlc3NFdmVudDo6Y3JlYXRl
KG1fc291cmNlLCBtX3Jlc3VsdCkpOyAgICAgICAgCiAgICAgfQogfQogCiB2b2lkIElEQlJlcXVl
c3Q6Om9uRXZlbnRDb21tb24oKQogewogICAgIEFTU0VSVChtX3JlYWR5U3RhdGUgPCBET05FKTsK
LSAgICBBU1NFUlQobV9yZXN1bHRUeXBlID09IFVOREVGSU5FRCk7CisgICAgQVNTRVJUKG1fcmVz
dWx0LT50eXBlKCkgPT0gSURCQW55OjpVbmRlZmluZWRUeXBlKTsKICAgICBBU1NFUlQoIW1fZXJy
b3IpOwogICAgIEFTU0VSVCghbV9zZWxmUmVmKTsKICAgICBBU1NFUlQoIW1fdGltZXIuaXNBY3Rp
dmUoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCUmVxdWVzdC5oIGIvV2ViQ29y
ZS9zdG9yYWdlL0lEQlJlcXVlc3QuaAppbmRleCA0OGZkZTQ5MjBjZDIxYTZjODhmM2Y2NTFhOTY2
ZmVkYzA0NTY2YjE0Li4wYzM3Yzk2NmZlYjRjZmFlNTVlYjZkMzAyNTdjOTM3NDM0NzhjMWEwIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCUmVxdWVzdC5oCisrKyBiL1dlYkNvcmUvc3Rv
cmFnZS9JREJSZXF1ZXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJFdmVudExpc3Rl
bmVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0Lmgi
CisjaW5jbHVkZSAiSURCQW55LmgiCiAjaW5jbHVkZSAiSURCQ2FsbGJhY2tzLmgiCiAjaW5jbHVk
ZSAiVGltZXIuaCIKIApAQCAtNDQsMjAgKzQ1LDkgQEAgY2xhc3MgSURCRGF0YWJhc2VSZXF1ZXN0
OwogCiBjbGFzcyBJREJSZXF1ZXN0IDogcHVibGljIElEQkNhbGxiYWNrcywgcHVibGljIEV2ZW50
VGFyZ2V0LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxJREJSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IElEQlJlcXVlc3QoY29udGV4dCkpOyB9CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8SURCUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIFBhc3NSZWZQdHI8SURCQW55PiBzb3VyY2UpIHsgcmV0dXJuIGFkb3B0UmVmKG5l
dyBJREJSZXF1ZXN0KGNvbnRleHQsIHNvdXJjZSkpOyB9CiAgICAgdmlydHVhbCB+SURCUmVxdWVz
dCgpOwogCi0gICAgLy8gVGhlIHJlc3VsdCBhdHRyaWJ1dGUgb2YgdGhpcyBjbGFzcyBjYW4gcmVw
cmVzZW50IG1hbnkgZGlmZmVyZW50IFdlYkNvcmUgdHlwZXMuCi0gICAgZW51bSBSZXN1bHRUeXBl
IHsKLSAgICAgICAgVU5ERUZJTkVEID0gMCwKLSAgICAgICAgSURCREFUQUJBU0UsCi0gICAgICAg
IFNFUklBTElaRURTQ1JJUFRWQUxVRQotICAgIH07Ci0gICAgUmVzdWx0VHlwZSByZXN1bHRUeXBl
KCkgY29uc3QgeyByZXR1cm4gbV9yZXN1bHRUeXBlOyB9Ci0gICAgUGFzc1JlZlB0cjxJREJEYXRh
YmFzZVJlcXVlc3Q+IGlkYkRhdGFiYXNlUmVzdWx0KCk7Ci0gICAgUGFzc1JlZlB0cjxTZXJpYWxp
emVkU2NyaXB0VmFsdWU+IHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZVJlc3VsdCgpOwotICAgIC8vIEZJ
WE1FOiBIYXZlIG9uZSBzdWNoIGdldHRlciBmb3IgZWFjaCBwb3NzaWJsZSByZXN1bHQgdHlwZS4K
LQogICAgIC8vIERlZmluZWQgaW4gdGhlIElETAogICAgIHZvaWQgYWJvcnQoKTsKICAgICBlbnVt
IFJlYWR5U3RhdGUgewpAQCAtNjcsNiArNTcsNyBAQCBwdWJsaWM6CiAgICAgfTsKICAgICB1bnNp
Z25lZCBzaG9ydCByZWFkeVN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9yZWFkeVN0YXRlOyB9CiAg
ICAgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPiBlcnJvcigpIGNvbnN0IHsgcmV0dXJuIG1f
ZXJyb3I7IH0KKyAgICBQYXNzUmVmUHRyPElEQkFueT4gcmVzdWx0KCkgeyByZXR1cm4gbV9yZXN1
bHQ7IH0KICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHN1Y2Nlc3MpOwogICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZXJyb3IpOwogCkBAIC04OSw3ICs4MCw3
IEBAIHB1YmxpYzoKICAgICB1c2luZyBSZWZDb3VudGVkPElEQkNhbGxiYWNrcz46OmRlcmVmOwog
CiBwcml2YXRlOgotICAgIElEQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworICAg
IElEQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCQW55PiBz
b3VyY2UpOwogCiAgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPElEQlJlcXVlc3Q+Kik7CiAgICAg
dm9pZCBvbkV2ZW50Q29tbW9uKCk7CkBAIC0xMDAsMTAgKzkxLDkgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCk7CiAgICAgdmlydHVhbCBF
dmVudFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpOwogCi0gICAgUmVzdWx0VHlw
ZSBtX3Jlc3VsdFR5cGU7Ci0gICAgLy8gT25seSBvbmUgb2YgdGhlIGZvbGxvd2luZyBzaG91bGQg
ZXZlciBiZSBpbiB1c2UgYXQgYW55IGdpdmVuIHRpbWUuICBtX3Jlc3VsdFR5cGUgZGVmaW5lcyB3
aGljaCBvbmUuCi0gICAgUmVmUHRyPElEQkRhdGFiYXNlUmVxdWVzdD4gbV9pZGJEYXRhYmFzZVJl
c3VsdDsKLSAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtX3NlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZVJlc3VsdDsKKyAgICBSZWZQdHI8SURCQW55PiBtX3NvdXJjZTsKKworICAgIFJlZlB0
cjxJREJBbnk+IG1fcmVzdWx0OwogICAgIFJlZlB0cjxJREJEYXRhYmFzZUVycm9yPiBtX2Vycm9y
OwogCiAgICAgLy8gVXNlZCB0byBmaXJlIGV2ZW50cyBhc3luY2hyb25vdXNseS4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvc3RvcmFnZS9JREJSZXF1ZXN0LmlkbCBiL1dlYkNvcmUvc3RvcmFnZS9JREJS
ZXF1ZXN0LmlkbAppbmRleCAxMWExOWFiYWY1YjkyZDg4YzRmMmUxYzRhNzM3NDBjNjYyZjdmY2E5
Li45ZDdlMGU0YTJmMzE1NjgxYjlmYjJlNmQwNWFlNjc0MTQ4NjUyMTYyIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N0b3JhZ2UvSURCUmVxdWVzdC5pZGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlJl
cXVlc3QuaWRsCkBAIC00Miw3ICs0Miw3IEBAIG1vZHVsZSBzdG9yYWdlIHsKIAogICAgICAgICAv
LyBQb3NzaWJsZSByZXN1bHRzCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBJREJEYXRhYmFz
ZUVycm9yIGVycm9yOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gYW55IHJl
c3VsdDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIElEQkFueSByZXN1bHQ7CiAKICAgICAg
ICAgLy8gRXZlbnRzCiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc3VjY2VzczsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuY3BwIGIvV2ViQ29y
ZS9zdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTY2MGVlZjgxMWM3MTdl
NGJiNzgzNzg2NmEzYTE5NDhlMTA5ZGM4MgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvc3Rv
cmFnZS9JREJTdWNjZXNzRXZlbnQuY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiSURCU3VjY2Vzc0V2ZW50LmgiCisKKyNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKKworI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJJREJBbnku
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPElEQlN1Y2Nlc3NFdmVudD4g
SURCU3VjY2Vzc0V2ZW50OjpjcmVhdGUoUGFzc1JlZlB0cjxJREJBbnk+IHNvdXJjZSwgUGFzc1Jl
ZlB0cjxJREJBbnk+IHJlc3VsdCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IElEQlN1Y2Nl
c3NFdmVudChzb3VyY2UsIHJlc3VsdCkpOworfQorCitJREJTdWNjZXNzRXZlbnQ6OklEQlN1Y2Nl
c3NFdmVudChQYXNzUmVmUHRyPElEQkFueT4gc291cmNlLCBQYXNzUmVmUHRyPElEQkFueT4gcmVz
dWx0KQorICAgIDogSURCRXZlbnQoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIHNvdXJjZSkKKyAg
ICAsIG1fcmVzdWx0KHJlc3VsdCkKK3sKK30KKworSURCU3VjY2Vzc0V2ZW50Ojp+SURCU3VjY2Vz
c0V2ZW50KCkKK3sKK30KKworUGFzc1JlZlB0cjxJREJBbnk+IElEQlN1Y2Nlc3NFdmVudDo6cmVz
dWx0KCkKK3sKKyAgICByZXR1cm4gbV9yZXN1bHQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50
LmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWJlNjYw
YTJjMDE1OTRjMjgwZjAxZjgxMDdlOGFlZGJjNTYzN2U5ZgotLS0gL2Rldi9udWxsCisrKyBiL1dl
YkNvcmUvc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuaApAQCAtMCwwICsxLDYyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwg
SW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAg
ICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRT
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBJREJTdWNjZXNzRXZlbnRfaAorI2RlZmluZSBJREJTdWNjZXNzRXZlbnRfaAorCisjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJFdmVudC5oIgorI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIElEQkFueTsKKworY2xhc3MgSURCU3VjY2Vzc0V2ZW50IDogcHVi
bGljIElEQkV2ZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJTdWNjZXNz
RXZlbnQ+IGNyZWF0ZShQYXNzUmVmUHRyPElEQkFueT4gc291cmNlLCBQYXNzUmVmUHRyPElEQkFu
eT4gcmVzdWx0KTsKKyAgICAvLyBGSVhNRTogTmVlZCB0byBhbGxvdyBjcmVhdGlvbiBvZiB0aGVz
ZSBldmVudHMgZnJvbSBKUy4KKyAgICB2aXJ0dWFsIH5JREJTdWNjZXNzRXZlbnQoKTsKKworICAg
IFBhc3NSZWZQdHI8SURCQW55PiByZXN1bHQoKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc0lEQlN1
Y2Nlc3NFdmVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworcHJpdmF0ZToKKyAgICBJREJT
dWNjZXNzRXZlbnQoUGFzc1JlZlB0cjxJREJBbnk+IHNvdXJjZSwgUGFzc1JlZlB0cjxJREJBbnk+
IHJlc3VsdCk7CisKKyAgICBSZWZQdHI8SURCQW55PiBtX3Jlc3VsdDsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCisj
ZW5kaWYgLy8gSURCRXZlbnRfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQlN1Y2Nl
c3NFdmVudC5pZGwgYi9XZWJDb3JlL3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmlkbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iNGVhN2QyYzA5Njc2YzlhMTU4NTRkNjRlNTk2MWE4YmYxYzllYjdlCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5pZGwKQEAgLTAsMCArMSwz
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoK
KyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBw
bGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
CisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK21vZHVsZSBzdG9yYWdlIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRp
dGlvbmFsPUlOREVYRURfREFUQUJBU0UKKyAgICBdIElEQlN1Y2Nlc3NFdmVudCA6IElEQkV2ZW50
IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIElEQkFueSByZXN1bHQ7CisgICAgfTsKK30K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JbmRleGVkRGF0YWJhc2VJbXBsLmNwcCBiL1dl
YkNvcmUvc3RvcmFnZS9JbmRleGVkRGF0YWJhc2VJbXBsLmNwcAppbmRleCA4NTY0MzNlMWU1N2My
Y2JhZjY3YmMxZWJiMGQ5MmFkODc0ZmY3ZjJiLi5iMzA1MWM5MjYzYmYzMTRhYjcxNjk1OWIwZjY2
MmFlODBlY2FiNTc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSW5kZXhlZERhdGFiYXNl
SW1wbC5jcHAKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0luZGV4ZWREYXRhYmFzZUltcGwuY3BwCkBA
IC01MCwxMyArNTAsMTMgQEAgSW5kZXhlZERhdGFiYXNlSW1wbDo6fkluZGV4ZWREYXRhYmFzZUlt
cGwoKQogewogfQogCi12b2lkIEluZGV4ZWREYXRhYmFzZUltcGw6Om9wZW4oY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBib29sIG1vZGlmeURhdGFiYXNlLCBQ
YXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIEZyYW1lKiwgRXhjZXB0aW9uQ29kZSYpCit2b2lkIElu
ZGV4ZWREYXRhYmFzZUltcGw6Om9wZW4oY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IGRlc2NyaXB0aW9uLCBib29sIG1vZGlmeURhdGFiYXNlLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNr
cz4gY2FsbGJhY2tzLCBGcmFtZSosIEV4Y2VwdGlvbkNvZGUmKQogeworICAgIC8vIEZJWE1FOiBX
cml0ZSBmb3IgcmVhbHouCiAgICAgVU5VU0VEX1BBUkFNKG5hbWUpOwogICAgIFVOVVNFRF9QQVJB
TShkZXNjcmlwdGlvbik7CiAgICAgVU5VU0VEX1BBUkFNKG1vZGlmeURhdGFiYXNlKTsKLSAgICAv
LyBGSVhNRTogV3JpdGUuCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgY2FsbGJhY2tz
LT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZSgwLCAiTm90IGltcGxlbWVudGVkIikp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvSW5kZXhlZERh
dGFiYXNlUmVxdWVzdC5jcHAKaW5kZXggMzc0NzA0MmEwZGZhMTg1MDhiY2M5ZDYzN2NkZDdlYTM4
MTE5ZjEyZi4uMjIxMGE4ZDBlNjc0YWVhNmZmOWU4OGJlYjVjZjQ0MDI1ZDNkNjg2ZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9zdG9yYWdlL0luZGV4ZWREYXRhYmFzZVJlcXVlc3QuY3BwCisrKyBiL1dl
YkNvcmUvc3RvcmFnZS9JbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmNwcApAQCAtNDMsNiArNDMsOCBA
QCBJbmRleGVkRGF0YWJhc2VSZXF1ZXN0OjpJbmRleGVkRGF0YWJhc2VSZXF1ZXN0KEluZGV4ZWRE
YXRhYmFzZSogaW5kZXhlZERhdGFiYXNlLAogICAgIDogbV9pbmRleGVkRGF0YWJhc2UoaW5kZXhl
ZERhdGFiYXNlKQogICAgICwgbV9mcmFtZShmcmFtZSkKIHsKKyAgICBtX3RoaXMgPSBJREJBbnk6
OmNyZWF0ZSgpOworICAgIG1fdGhpcy0+c2V0KHRoaXMpOwogfQogCiBJbmRleGVkRGF0YWJhc2VS
ZXF1ZXN0Ojp+SW5kZXhlZERhdGFiYXNlUmVxdWVzdCgpCkBAIC01MSw3ICs1Myw3IEBAIEluZGV4
ZWREYXRhYmFzZVJlcXVlc3Q6On5JbmRleGVkRGF0YWJhc2VSZXF1ZXN0KCkKIAogUGFzc1JlZlB0
cjxJREJSZXF1ZXN0PiBJbmRleGVkRGF0YWJhc2VSZXF1ZXN0OjpvcGVuKGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgYm9vbCBtb2RpZnlEYXRhYmFzZSwgRXhj
ZXB0aW9uQ29kZSYgZXhjZXB0aW9uKQogewotICAgIFJlZlB0cjxJREJSZXF1ZXN0PiByZXF1ZXN0
ID0gSURCUmVxdWVzdDo6Y3JlYXRlKG1fZnJhbWUtPmRvY3VtZW50KCkpOworICAgIFJlZlB0cjxJ
REJSZXF1ZXN0PiByZXF1ZXN0ID0gSURCUmVxdWVzdDo6Y3JlYXRlKG1fZnJhbWUtPmRvY3VtZW50
KCksIG1fdGhpcyk7CiAgICAgbV9pbmRleGVkRGF0YWJhc2UtPm9wZW4obmFtZSwgZGVzY3JpcHRp
b24sIG1vZGlmeURhdGFiYXNlLCByZXF1ZXN0LCBtX2ZyYW1lLCBleGNlcHRpb24pOwogICAgIHJl
dHVybiByZXF1ZXN0OwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0luZGV4ZWREYXRh
YmFzZVJlcXVlc3QuaCBiL1dlYkNvcmUvc3RvcmFnZS9JbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmgK
aW5kZXggYmU1ZTVjOGRkYjA0NjMxNDY3NDQzOTA2ZWNhY2E0NTQ1YTdmYzZkNy4uMGI1OTc5MDI4
ZGJmYTkzYzgzMjAzNWI4ODY0ZDA0NWZjMzYyYWU4NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9y
YWdlL0luZGV4ZWREYXRhYmFzZVJlcXVlc3QuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSW5kZXhl
ZERhdGFiYXNlUmVxdWVzdC5oCkBAIC0zOSw4ICszOSw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgSW5kZXhlZERhdGFiYXNlOwogY2xhc3MgRnJhbWU7CitjbGFzcyBJREJBbnk7
CitjbGFzcyBJbmRleGVkRGF0YWJhc2U7CiAKIGNsYXNzIEluZGV4ZWREYXRhYmFzZVJlcXVlc3Qg
OiBwdWJsaWMgUmVmQ291bnRlZDxJbmRleGVkRGF0YWJhc2VSZXF1ZXN0PiB7CiBwdWJsaWM6CkBA
IC01Nyw3ICs1OCw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgSW5kZXhlZERhdGFiYXNlUmVx
dWVzdChJbmRleGVkRGF0YWJhc2UqLCBGcmFtZSopOwogCi0gICAgUGFzc1JlZlB0cjxJbmRleGVk
RGF0YWJhc2U+IG1faW5kZXhlZERhdGFiYXNlOworICAgIFJlZlB0cjxJbmRleGVkRGF0YWJhc2U+
IG1faW5kZXhlZERhdGFiYXNlOworICAgIFJlZlB0cjxJREJBbnk+IG1fdGhpczsKICAgICBGcmFt
ZSogbV9mcmFtZTsKIH07CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5k
ZXhlZERhdGFiYXNlSW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbmRleGVkRGF0YWJh
c2VJbXBsLmgKaW5kZXggMDQwMmVkZWMzYmQ4NjFlZTU0NWQyYWY1MTRhZjMxODhjNmJjN2NkNC4u
YTYyYTIwMzM0NWIyYThiZjgyYjczMTkwMzdiNDk2NjMwZTE4ODEwOSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJJbmRleGVkRGF0YWJhc2VJbXBsLmgKKysrIGIvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJJbmRleGVkRGF0YWJhc2VJbXBsLmgKQEAgLTM1LDkgKzM1LDEzIEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJJbmRleGVkRGF0YWJhc2VJbXBsIDogcHVibGlj
IFdlYkluZGV4ZWREYXRhYmFzZSB7CiBwdWJsaWM6CisgICAgV2ViSW5kZXhlZERhdGFiYXNlSW1w
bCgpOwogICAgIHZpcnR1YWwgfldlYkluZGV4ZWREYXRhYmFzZUltcGwoKTsKIAogICAgIHZpcnR1
YWwgdm9pZCBvcGVuKGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU3RyaW5nJiBkZXNj
cmlwdGlvbiwgYm9vbCBtb2RpZnlEYXRhYmFzZSwgV2ViSURCQ2FsbGJhY2tzKiwgY29uc3QgV2Vi
U3RyaW5nJiBvcmlnaW4sIFdlYkZyYW1lKiwgaW50JiBleGNlcHRpb25Db2RlKTsKKworcHJpdmF0
ZToKKyAgICBSZWZQdHI8SW5kZXhlZERhdGFiYXNlPiBtX2luZGV4ZWREYXRhYmFzZTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="40404"
          type_id="1"
          status="+"
          setter="japhet"
    />
          </attachment>
      

    </bug>

</bugzilla>