<?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>214389</bug_id>
          
          <creation_ts>2020-07-15 17:50:20 -0700</creation_ts>
          <short_desc>[WTF] Remove the unnecessary inner class DefaultHash&lt;T&gt;::Hash</short_desc>
          <delta_ts>2020-07-17 08:07:40 -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>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>alecflett</cc>
    
    <cc>apinheiro</cc>
    
    <cc>bburg</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>cgarcia</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>japhet</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>jfernandez</cc>
    
    <cc>joepeck</cc>
    
    <cc>jsbell</cc>
    
    <cc>kangil.han</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>mark.lam</cc>
    
    <cc>menard</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>msaboff</cc>
    
    <cc>pdr</cc>
    
    <cc>rego</cc>
    
    <cc>saam</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>samuel_white</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>svillar</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1672004</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-15 17:50:20 -0700</bug_when>
    <thetext>[WTF] Remove the unnecessary inner class DefaultHash&lt;T&gt;::Hash 

This is a problem for forward declaration (Bug 214320 Comment 5).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672007</commentid>
    <comment_count>1</comment_count>
      <attachid>404408</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-15 18:00:18 -0700</bug_when>
    <thetext>Created attachment 404408
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672008</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-07-15 18:01:02 -0700</bug_when>
    <thetext>This patch modifies the inspector protocol generator. Please ensure that you have rebaselined any generator test results (i.e., by running `Tools/Scripts/run-inspector-generator-tests --reset-results`)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672015</commentid>
    <comment_count>3</comment_count>
      <attachid>404408</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-07-15 18:11:05 -0700</bug_when>
    <thetext>Comment on attachment 404408
Patch

r- because the patch is causing lots of failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672019</commentid>
    <comment_count>4</comment_count>
      <attachid>404413</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-15 18:33:44 -0700</bug_when>
    <thetext>Created attachment 404413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672022</commentid>
    <comment_count>5</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-15 19:03:24 -0700</bug_when>
    <thetext>DefaultHash&lt;T&gt;::Hash was added by r12329.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672030</commentid>
    <comment_count>6</comment_count>
      <attachid>404415</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-15 20:09:44 -0700</bug_when>
    <thetext>Created attachment 404415
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672046</commentid>
    <comment_count>7</comment_count>
      <attachid>404422</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-15 22:12:55 -0700</bug_when>
    <thetext>Created attachment 404422
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672114</commentid>
    <comment_count>8</comment_count>
      <attachid>404422</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-16 08:29:29 -0700</bug_when>
    <thetext>Comment on attachment 404422
Patch

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

&gt; Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:532
&gt; +template&lt;JSC::PtrTag tag&gt; struct DefaultHash&lt;JSC::MacroAssemblerCodePtr&lt;tag&gt;&gt; : JSC::MacroAssemblerCodePtrHash&lt;tag&gt; { };

Can we use &quot;using&quot; here instead of inheritance? I’d rather not have a separate DefaultHash that is not the same as MacroAssemblerCodePtrHash, in case that might result in a little code bloat.

Same question about the many other places below where we define a new struct/class instead of doing &quot;using&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672115</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-16 08:30:11 -0700</bug_when>
    <thetext>Looks like a good idea, that is working out well. Please consider my suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672216</commentid>
    <comment_count>10</comment_count>
      <attachid>404422</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-16 12:49:28 -0700</bug_when>
    <thetext>Comment on attachment 404422
Patch

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

&gt;&gt; Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:532
&gt;&gt; +template&lt;JSC::PtrTag tag&gt; struct DefaultHash&lt;JSC::MacroAssemblerCodePtr&lt;tag&gt;&gt; : JSC::MacroAssemblerCodePtrHash&lt;tag&gt; { };
&gt; 
&gt; Can we use &quot;using&quot; here instead of inheritance? I’d rather not have a separate DefaultHash that is not the same as MacroAssemblerCodePtrHash, in case that might result in a little code bloat.
&gt; 
&gt; Same question about the many other places below where we define a new struct/class instead of doing &quot;using&quot;.

I also had the same idea, but it doesn&apos;t work.
It should be a template specialization of DefaultHash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672219</commentid>
    <comment_count>11</comment_count>
      <attachid>404422</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-16 12:54:46 -0700</bug_when>
    <thetext>Comment on attachment 404422
Patch

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

&gt;&gt;&gt; Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:532
&gt;&gt;&gt; +template&lt;JSC::PtrTag tag&gt; struct DefaultHash&lt;JSC::MacroAssemblerCodePtr&lt;tag&gt;&gt; : JSC::MacroAssemblerCodePtrHash&lt;tag&gt; { };
&gt;&gt; 
&gt;&gt; Can we use &quot;using&quot; here instead of inheritance? I’d rather not have a separate DefaultHash that is not the same as MacroAssemblerCodePtrHash, in case that might result in a little code bloat.
&gt;&gt; 
&gt;&gt; Same question about the many other places below where we define a new struct/class instead of doing &quot;using&quot;.
&gt; 
&gt; I also had the same idea, but it doesn&apos;t work.
&gt; It should be a template specialization of DefaultHash.

This, then, points to the benefit of the old scheme. The DefaultHash expression evaluated to a type, and it could also be specified directly, and in both cases it’s the same type.

With this new scheme, DefaultHash itself is a separate type. So that could lead to a bit of extra code bloat. Maybe in practice that’s not a problem.

I like the benefits of this for reducing the need for class definitions, and that it’s simpler.

I’d like to hear from C++ template meta programming efforts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672221</commentid>
    <comment_count>12</comment_count>
      <attachid>404422</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-16 12:59:35 -0700</bug_when>
    <thetext>Comment on attachment 404422
Patch

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

&gt;&gt;&gt;&gt; Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:532
&gt;&gt;&gt;&gt; +template&lt;JSC::PtrTag tag&gt; struct DefaultHash&lt;JSC::MacroAssemblerCodePtr&lt;tag&gt;&gt; : JSC::MacroAssemblerCodePtrHash&lt;tag&gt; { };
&gt;&gt;&gt; 
&gt;&gt;&gt; Can we use &quot;using&quot; here instead of inheritance? I’d rather not have a separate DefaultHash that is not the same as MacroAssemblerCodePtrHash, in case that might result in a little code bloat.
&gt;&gt;&gt; 
&gt;&gt;&gt; Same question about the many other places below where we define a new struct/class instead of doing &quot;using&quot;.
&gt;&gt; 
&gt;&gt; I also had the same idea, but it doesn&apos;t work.
&gt;&gt; It should be a template specialization of DefaultHash.
&gt; 
&gt; This, then, points to the benefit of the old scheme. The DefaultHash expression evaluated to a type, and it could also be specified directly, and in both cases it’s the same type.
&gt; 
&gt; With this new scheme, DefaultHash itself is a separate type. So that could lead to a bit of extra code bloat. Maybe in practice that’s not a problem.
&gt; 
&gt; I like the benefits of this for reducing the need for class definitions, and that it’s simpler.
&gt; 
&gt; I’d like to hear from C++ template meta programming efforts.

experts, not efforts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672316</commentid>
    <comment_count>13</comment_count>
      <attachid>404422</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-16 17:33:42 -0700</bug_when>
    <thetext>Comment on attachment 404422
Patch

Clearing flags on attachment: 404422

Committed r264488: &lt;https://trac.webkit.org/changeset/264488&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672317</commentid>
    <comment_count>14</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-16 17:33:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672319</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-16 17:34:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/65698688&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672343</commentid>
    <comment_count>16</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-07-16 18:16:46 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #13)
&gt; Comment on attachment 404422 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 404422
&gt; 
&gt; Committed r264488: &lt;https://trac.webkit.org/changeset/264488&gt;

I thought Darin said that we should not go with this approach of subclassing.  Am I missing something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672345</commentid>
    <comment_count>17</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-16 18:21:06 -0700</bug_when>
    <thetext>Darin didn&apos;t object to the subclassing.

(In reply to Darin Adler from comment #11)
&gt; I like the benefits of this for reducing the need for class definitions, and
&gt; that it’s simpler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672485</commentid>
    <comment_count>18</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-17 08:07:40 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #16)
&gt; (In reply to Fujii Hironori from comment #13)
&gt; I thought Darin said that we should not go with this approach of
&gt; subclassing.  Am I missing something?

I suggested another approach, and he explained that he tried it and it did not work.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404408</attachid>
            <date>2020-07-15 18:00:18 -0700</date>
            <delta_ts>2020-07-15 18:33:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214389-20200716100016.patch</filename>
            <type>text/plain</type>
            <size>162131</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NDQyNGRiNDI2NTFiNjFkOTk4MTE1Y2VkZDUzMDViNzY0ZWNhZTAwLi4wNjZjZThjOTJlMDg1NGUz
M2UxMTdhMWE5YjMxZjI3ZWVhNmUyNGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NiBAQAorMjAyMC0wNy0xNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KKworICAgICAgICBbV1RGXSBSZW1vdmUgdGhlIHVubmVjZXNzYXJ5IGlubmVyIGNs
YXNzIERlZmF1bHRIYXNoPFQ+OjpIYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTQzODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckNvZGVSZWYuaDoKKyAg
ICAgICAgKiBiMy9CM0NoZWNrU3BlY2lhbC5oOgorICAgICAgICAqIGIzL0IzS2luZC5oOgorICAg
ICAgICAqIGIzL0IzVmFsdWVLZXkuaDoKKyAgICAgICAgKiBiMy9haXIvQWlyQWxsb2NhdGVSZWdp
c3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwOgorICAgICAgICAqIGIzL2Fpci9BaXJBcmcuaDoKKyAg
ICAgICAgKiBiMy9haXIvQWlyVG1wLmg6CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVJbmRl
eC5oOgorICAgICAgICAqIGJ5dGVjb2RlL0NhbGxWYXJpYW50Lmg6CisgICAgICAgICogYnl0ZWNv
ZGUvQ29kZU9yaWdpbi5oOgorICAgICAgICAqIGJ5dGVjb2RlL0RGR0V4aXRQcm9maWxlLmg6Cisg
ICAgICAgICogYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaDoKKyAgICAgICAgKiBi
eXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oOgorICAgICAgICAqIGJ5dGVjb2RlL1By
b3BlcnR5Q29uZGl0aW9uLmg6CisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0SGVhcC5oOgorICAg
ICAgICAqIGRmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKiBk
ZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAqIGRmZy9ERkdDU0VQaGFzZS5jcHA6
CisgICAgICAgICogZGZnL0RGR0NvbXBpbGF0aW9uS2V5Lmg6CisgICAgICAgICogZGZnL0RGR0Rl
c2lyZWRHbG9iYWxQcm9wZXJ0eS5oOgorICAgICAgICAqIGRmZy9ERkdIZWFwTG9jYXRpb24uaDoK
KyAgICAgICAgKiBkZmcvREZHTGl2ZW5lc3NBbmFseXNpc1BoYXNlLmNwcDoKKyAgICAgICAgKiBk
ZmcvREZHTWluaWZpZWRJRC5oOgorICAgICAgICAqIGRmZy9ERkdOb2RlRmxvd1Byb2plY3Rpb24u
aDoKKyAgICAgICAgKiBkZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaDoKKyAgICAgICAgKiBk
ZmcvREZHUHJvcGVydHlUeXBlS2V5Lmg6CisgICAgICAgICogZGZnL0RGR1B1cmVWYWx1ZS5oOgor
ICAgICAgICAqIGZ0bC9GVExMb2NhdGlvbi5oOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1Rv
QjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTmV3
QXJyYXlXaXRoU3ByZWFkKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6
Y29tcGlsZUNhbGxPckNvbnN0cnVjdFZhcmFyZ3NTcHJlYWQpOgorICAgICAgICAoSlNDOjpGVEw6
OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTWF0ZXJpYWxpemVOZXdPYmplY3QpOgorICAgICAg
ICAqIGZ0bC9GVExTbG93UGF0aENhbGxLZXkuaDoKKyAgICAgICAgKiBoZWFwL01hcmtlZEJsb2Nr
Lmg6CisgICAgICAgICogaGVhcC9WaXNpdFJhY2VLZXkuaDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
c2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHk6Cisg
ICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1h
c3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0
ZXJzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVj
dGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdDoK
KyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0
aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0Ogor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtcmVxdWlyaW5n
LXJ1bnRpbWUtY2FzdHMuanNvbi1yZXN1bHQ6CisgICAgICAgICogaml0L0lDU3RhdHMuaDoKKyAg
ICAgICAgKiBqaXQvSklUVGh1bmtzLmg6CisgICAgICAgICogaml0L1JlZy5oOgorICAgICAgICAq
IGppdC9SZWdpc3RlclNldC5oOgorICAgICAgICAqIHBhcnNlci9WYXJpYWJsZUVudmlyb25tZW50
Lmg6CisgICAgICAgICogcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW4uaDoKKyAgICAgICAgKiBwcm9m
aWxlci9Qcm9maWxlck9yaWdpblN0YWNrLmg6CisgICAgICAgICogcHJvZmlsZXIvUHJvZmlsZXJV
SUQuaDoKKyAgICAgICAgKiBydW50aW1lL0NhY2hlZFR5cGVzLmNwcDoKKyAgICAgICAgKiBydW50
aW1lL0NvbnRyb2xGbG93UHJvZmlsZXIuaDoKKyAgICAgICAgKiBydW50aW1lL05hdGl2ZUZ1bmN0
aW9uLmg6CisgICAgICAgICogcnVudGltZS9Qcm90b3R5cGVLZXkuaDoKKyAgICAgICAgKiBydW50
aW1lL1JlZ0V4cEtleS5oOgorICAgICAgICAqIHJ1bnRpbWUvVGVtcGxhdGVPYmplY3REZXNjcmlw
dG9yLmg6CisgICAgICAgICogcnVudGltZS9UeXBlUHJvZmlsZXIuaDoKKyAgICAgICAgKiBydW50
aW1lL1Zhck9mZnNldC5oOgorICAgICAgICAqIHJ1bnRpbWUvV2Vha0dDTWFwLmg6CisgICAgICAg
ICogd2FzbS9XYXNtQkJRUGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbUNvZGVCbG9jay5oOgor
ICAgICAgICAqIHdhc20vV2FzbUVudHJ5UGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbUxMSW50
UGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbVNpZ25hdHVyZS5oOgorCiAyMDIwLTA3LTE1ICBG
dWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtDTWFr
ZV1bV2ViRHJpdmVyXSBHZW5lcmF0aW5nIFdlYkRyaXZlckF0b21zLmNwcCBpcyByYXJlbHkgZmFp
bGluZyBhcyAiSW1wb3J0RXJyb3I6IE5vIG1vZHVsZSBuYW1lZCBqc21pbiIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggYzRlODZj
YzZkYzIzZTE2NDQzZTdmMzU5OWRkMjM5YTk1YWVhYzU2My4uZmM5Y2JjZDRmZDAyYzc2N2ZiOTM1
NGVhMjU3Y2NjNDVlYmQ5Njg1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAyMC0wNy0xNSAgRnVq
aWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBbV1RGXSBS
ZW1vdmUgdGhlIHVubmVjZXNzYXJ5IGlubmVyIGNsYXNzIERlZmF1bHRIYXNoPFQ+OjpIYXNoCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQzODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWZhdWx0SGFz
aDxUPiBkb2Vzbid0IG5lZWQgdG8gaGF2ZSBhIGlubmVyIHN0cnVjdCBIYXNoLiBUaGlzIGNhbgor
ICAgICAgICBiZSBhIHByb2JsZW0gZm9yIGZvcndhcmQgZGVjbGFyYXRpb25zIChCdWcgMjE0MzIw
IENvbW1lbnQgNSkuCisKKyAgICAgICAgKiB3dGYvQml0VmVjdG9yLmg6CisgICAgICAgICogd3Rm
L0ZvcndhcmQuaDoKKyAgICAgICAgKiB3dGYvSGFzaEZ1bmN0aW9ucy5oOgorICAgICAgICAoV1RG
OjpQYWlySGFzaDo6aGFzaCk6CisgICAgICAgIChXVEY6OlBhaXJIYXNoOjplcXVhbCk6CisgICAg
ICAgIChXVEY6OlR1cGxlSGFzaDo6aGFzaCk6CisgICAgICAgIChXVEY6OlR1cGxlSGFzaDo6ZXF1
YWwpOgorICAgICAgICAqIHd0Zi9MaXN0SGFzaFNldC5oOgorICAgICAgICAqIHd0Zi9Mb2dnaW5n
SGFzaE1hcC5oOgorICAgICAgICAqIHd0Zi9Mb2dnaW5nSGFzaFNldC5oOgorICAgICAgICAqIHd0
Zi9NZXRhQWxsb2NhdG9yUHRyLmg6CisgICAgICAgICogd3RmL09iamVjdElkZW50aWZpZXIuaDoK
KyAgICAgICAgKiB3dGYvT3B0aW9uU2V0SGFzaC5oOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFz
aDxPcHRpb25TZXQ8VD4+OjpoYXNoKToKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8T3B0aW9u
U2V0PFQ+Pjo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxPcHRpb25TZXQ8VD4+
OjpIYXNoOjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8T3B0aW9u
U2V0PFQ+Pjo6SGFzaDo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi9QYWNrZWQuaDoK
KyAgICAgICAgKiB3dGYvUmV0YWluUHRyLmg6CisgICAgICAgICogd3RmL1N0YWNrU2hvdC5oOgor
ICAgICAgICAqIHd0Zi9VUkxIYXNoLmg6CisgICAgICAgICogd3RmL1ZlY3Rvckhhc2guaDoKKyAg
ICAgICAgKFdURjo6VmVjdG9ySGFzaDo6aGFzaCk6CisgICAgICAgICogd3RmL3RleHQvQXRvbVN0
cmluZy5oOgorICAgICAgICAqIHd0Zi90ZXh0L0F0b21TdHJpbmdIYXNoLmg6CisgICAgICAgICog
d3RmL3RleHQvQ1N0cmluZy5oOgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0hhc2guaDoKKyAg
ICAgICAgKiB3dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAgICAgICogd3RmL3RleHQvU3ltYm9s
UmVnaXN0cnkuaDoKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8U3ltYm9sUmVnaXN0cnlLZXk+
OjpoYXNoKToKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8U3ltYm9sUmVnaXN0cnlLZXk+Ojpl
cXVhbCk6CisgICAgICAgIChXVEY6OkRlZmF1bHRIYXNoPFN5bWJvbFJlZ2lzdHJ5S2V5Pjo6SGFz
aDo6aGFzaCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkRlZmF1bHRIYXNoPFN5bWJvbFJlZ2lz
dHJ5S2V5Pjo6SGFzaDo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi90ZXh0L1dURlN0
cmluZy5oOgorCiAyMDIwLTA3LTE1ICBKaW0gTWFzb24gIDxqbWFzb25AaWJpbnguY29tPgogCiAg
ICAgICAgIFtXVEZdIEZpeCBQYWNrZWRBbGlnbmVkUHRyIGZvciBYODZfNjQgY2Fub25pY2FsIGFk
ZHJlc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGVmNzdmMWQ1ZTliOTQ3ZmQ4OGI5ZmEwNTVhMjA3YjlmNDFi
N2Y4M2YuLjAzMDA0ZTlmOWQxMjQ5YmNjZjNkNTZlZDNlNzIwOWQ3M2I3YjM0YzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw5MCBAQAorMjAyMC0wNy0xNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9y
aS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBbV1RGXSBSZW1vdmUgdGhlIHVubmVjZXNzYXJ5
IGlubmVyIGNsYXNzIERlZmF1bHRIYXNoPFQ+OjpIYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQzODkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNl
SWRlbnRpZmllci5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXNv
dXJjZUlkZW50aWZpZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xVbm5hbWVkVHlwZUhhc2guaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFNlbWFudGljTWF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6bWF0Y2hSZXNv
dXJjZXMpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6Om1hdGNoVmVydGV4QXR0cmlidXRlcyk6
CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6bWF0Y2hDb2xvckF0dGFjaG1lbnRzKToKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAgICAqIGNvbnRlbnRleHRl
bnNpb25zL0NvbnRlbnRFeHRlbnNpb25Db21waWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
b250ZW50RXh0ZW5zaW9uczo6c2VyaWFsaXplQWN0aW9ucyk6CisgICAgICAgICogY29udGVudGV4
dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvblJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRFeHRlbnNpb25zOjpUcmlnZ2VySGFzaDo6aGFzaCk6CisgICAgICAgICogY29udGVudGV4dGVu
c2lvbnMvQ29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuaDoKKyAgICAgICAgKiBjb250ZW50ZXh0
ZW5zaW9ucy9ERkEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6OnBy
aW50VHJhbnNpdGlvbnMpOgorICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL0RGQUJ5dGVjb2Rl
SW50ZXJwcmV0ZXIuaDoKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5zaW9ucy9ERkFDb21iaW5lci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6REZBTWVyZ2VyOjpnZXRP
ckNyZWF0ZUNvbWJpbmVkTm9kZSk6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvREZBTm9k
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6REZBTm9kZTo6YmVz
dEZhbGxiYWNrVGFyZ2V0IGNvbnN0KToKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5zaW9ucy9JbW11
dGFibGVORkFOb2RlQnVpbGRlci5oOgorICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL05GQS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6TkZBOjpkZWJ1Z1ByaW50
RG90IGNvbnN0KToKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5zaW9ucy9ORkFOb2RlLmg6CisgICAg
ICAgICogY29udGVudGV4dGVuc2lvbnMvTkZBVG9ERkEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q29udGVudEV4dGVuc2lvbnM6Ok5vZGVJZFNldFRvVW5pcXVlTm9kZUlkU2V0U291cmNlOjpOb2Rl
SWRTZXRUb1VuaXF1ZU5vZGVJZFNldFNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
RXh0ZW5zaW9uczo6Tm9kZUlkU2V0VG9VbmlxdWVOb2RlSWRTZXRUcmFuc2xhdG9yOjp0cmFuc2xh
dGUpOgorICAgICAgICAqIGNzcy9tYWtlcHJvcC5wbDoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NT
U1BhcnNlckNvbnRleHQuaDoKKyAgICAgICAgKiBkb20vR0NSZWFjaGFibGVSZWYuaDoKKyAgICAg
ICAgKiBkb20vTWVzc2FnZVBvcnRJZGVudGlmaWVyLmg6CisgICAgICAgICogZG9tL05vZGVSYXJl
RGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZUxpc3RzTm9kZURhdGE6Ok5vZGVMaXN0Q2Fj
aGVNYXBFbnRyeUhhc2g6Omhhc2gpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZUxpc3RzTm9kZURh
dGE6Ok5vZGVMaXN0Q2FjaGVNYXBFbnRyeUhhc2g6OmVxdWFsKToKKyAgICAgICAgKiBkb20vUXVh
bGlmaWVkTmFtZS5oOgorICAgICAgICAqIGhpc3RvcnkvQmFja0ZvcndhcmRJdGVtSWRlbnRpZmll
ci5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaDoK
KyAgICAgICAgKiBsYXlvdXQvTGF5b3V0VW5pdHMuaDoKKyAgICAgICAgKiBsb2FkZXIvQWRDbGlj
a0F0dHJpYnV0aW9uLmg6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlQ3J5cHRvZ3JhcGhpY0Rp
Z2VzdC5oOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxXZWJDb3JlOjpSZXNvdXJjZUNyeXB0
b2dyYXBoaWNEaWdlc3Q+OjpoYXNoKToKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8V2ViQ29y
ZTo6UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0Pjo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpE
ZWZhdWx0SGFzaDxXZWJDb3JlOjpSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+OjpIYXNoOjpo
YXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8V2ViQ29yZTo6UmVzb3Vy
Y2VDcnlwdG9ncmFwaGljRGlnZXN0Pjo6SGFzaDo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAgICAq
IHBhZ2UvQ2xpZW50T3JpZ2luLmg6CisgICAgICAgICogcGFnZS9HbG9iYWxXaW5kb3dJZGVudGlm
aWVyLmg6CisgICAgICAgICogcGFnZS9TZWN1cml0eU9yaWdpbkRhdGEuaDoKKyAgICAgICAgKiBw
YWdlL1NlY3VyaXR5T3JpZ2luSGFzaC5oOgorICAgICAgICAqIHBsYXRmb3JtL0Nvb2tpZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL1JlZ2lzdHJhYmxlRG9tYWluLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvQ29sb3JIYXNoLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRmxv
YXRTaXplSGFzaC5oOgorICAgICAgICAoV1RGOjpGbG9hdEhhc2g8V2ViQ29yZTo6RmxvYXRTaXpl
Pjo6aGFzaCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdlbmVyaWNGYW1pbGll
cy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50SGFzaC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3RIYXNoLmg6CisgICAgICAgIChXVEY6OkludEhh
c2g8V2ViQ29yZTo6SW50UmVjdD46Omhhc2gpOgorICAgICAgICAoV1RGOjpJbnRIYXNoPFdlYkNv
cmU6OkludFJlY3Q+OjplcXVhbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6
ZUhhc2guaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9XaWR0aENhY2hlLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5cGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RmFsbGJhY2tGb250RGVzY3JpcHRpb25LZXk6OmNvbXB1dGVIYXNo
IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmg6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VIYXNoLmg6CisgICAgICAgICog
cGxhdGZvcm0vd2luL0NPTVB0ci5oOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9XaW5kb3dzS2V5
TmFtZXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvQ1NTVmFsdWVLZXkuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvR3JpZEJhc2VsaW5lQWxpZ25tZW50Lmg6CisgICAgICAgICogcmVuZGVyaW5nL0dy
aWRUcmFja1NpemluZ0FsZ29yaXRobS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlk
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OnBsYWNlU3BlY2lmaWVkTWFqb3JB
eGlzSXRlbXNPbkdyaWQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5o
OgorICAgICAgICAqIHN0eWxlL1J1bGVTZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6
OlJ1bGVTZXQ6OmV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxlcyk6CisgICAgICAgICogc3Zn
L1NWR0VsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0F0dHJpYnV0ZUhhc2hUcmFuc2xh
dG9yOjpoYXNoKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVu
dElkZW50aWZpZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbktleS5oOgorCiAyMDIwLTA3LTE1ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFw
cGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBDYXJldCBzaG91bGQgYmUgYmVmb3JlIHRleHQgcGxh
Y2Vob2xkZXIgaW5zdGVhZCBvZiBhZnRlciBpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggZTY4OTE2
ZTRkMjg2N2U4M2Y2YWYxNzM1MTAzNmYyZjczOGVlNTc0MC4uMDdkZTNjMWM4NDFjMzZjMjUxNDQ4
ZWUzMzdmZTJhM2YyMDhiMGRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMjAtMDctMTUgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisK
KyAgICAgICAgW1dURl0gUmVtb3ZlIHRoZSB1bm5lY2Vzc2FyeSBpbm5lciBjbGFzcyBEZWZhdWx0
SGFzaDxUPjo6SGFzaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE0Mzg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBwYWwvU2Vzc2lvbklELmg6CisKIDIwMjAtMDctMTUgIFJvYiBCdWlzICA8cmJ1aXNA
aWdhbGlhLmNvbT4KIAogICAgICAgICBCdWlsZGluZyBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSSB3
aXRoIHRoZSBtYWNPUyBCaWcgU3VyIHB1YmxpYyBTREsgZmFpbHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZWYxMzM5
YjBhOGQ0MWQ5NWY1NWIyYjFkMjEwZTNkZGQyN2VmN2JjMi4uYWYwYTg0YmUyZTQ1NjhhNmNiZmY1
MWUyN2U3YWQ1ZDExYjE5Yjc0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wNy0x
NSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBb
V1RGXSBSZW1vdmUgdGhlIHVubmVjZXNzYXJ5IGlubmVyIGNsYXNzIERlZmF1bHRIYXNoPFQ+OjpI
YXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQz
ODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZElELmg6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlS2V5Lmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL01lc3NhZ2VSZWNl
aXZlck1hcC5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9TdHJpbmdSZWZlcmVuY2UuaDoKKyAg
ICAgICAgKiBTaGFyZWQvQ2FsbGJhY2tJRC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvY3Bw
L1dLUmV0YWluUHRyLmg6CisKIDIwMjAtMDctMTUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgaXRzbmljZXRoYXQuY29tIHBhZ2UgaXMgc29tZXRpbWVz
IG5vbi1zY3JvbGxhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggMjY0NmZiOTI4
OTdlNTU2OTZjOWM3NmI3YWZhYzNiMjEwNmE0ZjJjMS4uOTA0MTdhNGNmZDZiZDYzZjkyZmU3ODY1
ZjNlMDUxNjhiMjQ1MWJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEyIEBACisyMDIwLTA3LTE1ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnku
Y29tPgorCisgICAgICAgIFtXVEZdIFJlbW92ZSB0aGUgdW5uZWNlc3NhcnkgaW5uZXIgY2xhc3Mg
RGVmYXVsdEhhc2g8VD46Okhhc2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNDM4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogQ09NUHJvcGVydHlCYWcuaDoKKwogMjAyMC0wNy0wNyAgU2FtIFdlaW5p
ZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUGFydCAyIG9mIFNpbXBsZUNvbG9yIGFu
ZCBTUkdCQTx1aW50OF90PiBhcmUgZXNzZW50aWFsbHkgdGhlIHNhbWUgLSBsZXQncyBjb252ZXJn
ZSB0aGVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQ29kZVJlZi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckNvZGVSZWYuaAppbmRleCBjYjI0YjJkOWM1ZTRjOWRhYjQyNmJmYmFjZDA5YTY5
ZmNiMzUyNjY5Li45YzRjNjk1ZTFiZTEzOTc3YTdhZWViMDU0YmRmNDFjMTFjMjQ1ZWEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQ29k
ZVJlZi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJDb2RlUmVmLmgKQEAgLTUyOSw5ICs1MjksNyBAQCBpbmxpbmUgRnVuY3Rpb25QdHI8dGFnPjo6
RnVuY3Rpb25QdHIoTWFjcm9Bc3NlbWJsZXJDb2RlUHRyPHRhZz4gcHRyKQogbmFtZXNwYWNlIFdU
RiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRl
PEpTQzo6UHRyVGFnIHRhZz4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6TWFjcm9Bc3NlbWJsZXJD
b2RlUHRyPHRhZz4+IHsKLSAgICB0eXBlZGVmIEpTQzo6TWFjcm9Bc3NlbWJsZXJDb2RlUHRySGFz
aDx0YWc+IEhhc2g7Ci19OwordGVtcGxhdGU8SlNDOjpQdHJUYWcgdGFnPiBzdHJ1Y3QgRGVmYXVs
dEhhc2g8SlNDOjpNYWNyb0Fzc2VtYmxlckNvZGVQdHI8dGFnPj4gOiBKU0M6Ok1hY3JvQXNzZW1i
bGVyQ29kZVB0ckhhc2g8dGFnPiB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBI
YXNoVHJhaXRzOwogdGVtcGxhdGU8SlNDOjpQdHJUYWcgdGFnPiBzdHJ1Y3QgSGFzaFRyYWl0czxK
U0M6Ok1hY3JvQXNzZW1ibGVyQ29kZVB0cjx0YWc+PiA6IHB1YmxpYyBDdXN0b21IYXNoVHJhaXRz
PEpTQzo6TWFjcm9Bc3NlbWJsZXJDb2RlUHRyPHRhZz4+IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrU3BlY2lhbC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzQ2hlY2tTcGVjaWFsLmgKaW5kZXggYzlkZTVmOGZlMGUwYTIxYWI2NGEyOGZjOGE2
NTAxZmUyYTY3NWIxNS4uNzU5YTliN2RhMTI2YTY5N2UwZTg0YWQ4OGM4NzcwYWIxYjAxZDI1NCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tTcGVjaWFsLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ2hlY2tTcGVjaWFsLmgKQEAgLTE0OSw5ICsx
NDksNyBAQCBzdHJ1Y3QgQ2hlY2tTcGVjaWFsS2V5SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAog
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpCMzo6Q2hlY2tTcGVjaWFsOjpLZXk+IHsKLSAgICB0eXBlZGVm
IEpTQzo6QjM6OkNoZWNrU3BlY2lhbEtleUhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxKU0M6OkIzOjpDaGVja1NwZWNpYWw6OktleT4gOiBKU0M6OkIzOjpDaGVj
a1NwZWNpYWxLZXlIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hU
cmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6QjM6OkNoZWNrU3BlY2lh
bDo6S2V5PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OkIzOjpDaGVja1NwZWNpYWw6Oktl
eT4gewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzS2luZC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzS2luZC5oCmluZGV4IGJkNTQ2ZGI0MWUyNjJiMDViYzA0
YTE1YWJhMWM5MTBiYWIyNzY5ZmUuLjFkMTg3MTA0MDAzZDRlYjQ2MzRjMzBiZmZhMGNjY2VkNzgw
YjliZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0tpbmQuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNLaW5kLmgKQEAgLTIxOSw5ICsyMTksNyBAQCBz
dHJ1Y3QgS2luZEhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6
QjM6OktpbmQ+IHsKLSAgICB0eXBlZGVmIEpTQzo6QjM6OktpbmRIYXNoIEhhc2g7Ci19OwordGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpCMzo6S2luZD4gOiBKU0M6OkIzOjpLaW5k
SGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVt
cGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkIzOjpLaW5kPiA6IHB1YmxpYyBTaW1wbGVD
bGFzc0hhc2hUcmFpdHM8SlNDOjpCMzo6S2luZD4gewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzVmFsdWVLZXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Zh
bHVlS2V5LmgKaW5kZXggYjkzODUxM2Y4MTU4YjU3Y2UzNmExOTQzMGFhYmE0OTk5OWViNzQ0MC4u
YjMzNDk3YWEyZGNiNDg1ZmY1ZjExYTMwY2NkY2UyYmYxMGEyOGE2ZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsdWVLZXkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvQjNWYWx1ZUtleS5oCkBAIC0xODYsOSArMTg2LDcgQEAgc3RydWN0IFZhbHVlS2V5
SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERl
ZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpCMzo6VmFsdWVL
ZXk+IHsKLSAgICB0eXBlZGVmIEpTQzo6QjM6OlZhbHVlS2V5SGFzaCBIYXNoOwotfTsKK3RlbXBs
YXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6QjM6OlZhbHVlS2V5PiA6IEpTQzo6QjM6OlZh
bHVlS2V5SGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRz
OwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkIzOjpWYWx1ZUtleT4gOiBwdWJs
aWMgU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6QjM6OlZhbHVlS2V5PiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFw
aENvbG9yaW5nLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVS
ZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwCmluZGV4IDYyM2E0N2FjMDhmYjUxMGJhZDRhYWY0
MmVhMzhkNzQ0ZTE4OGYwN2MuLmJmODE3ZTRlMGI0NmExNGY3Yjg2M2VkNzgyZjU0MjJiNGNkZTJl
YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVS
ZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwCkBAIC01NTksOSAr
NTU5LDkgQEAgcHJvdGVjdGVkOgogICAgIFZlY3RvcjxWZWN0b3I8SW5kZXhUeXBlLCAwLCBVbnNh
ZmVWZWN0b3JPdmVyZmxvdywgND4sIDAsIFVuc2FmZVZlY3Rvck92ZXJmbG93PiBtX2FkamFjZW5j
eUxpc3Q7CiAgICAgVmVjdG9yPEluZGV4VHlwZSwgMCwgVW5zYWZlVmVjdG9yT3ZlcmZsb3c+IG1f
ZGVncmVlczsKIAotICAgIHVzaW5nIEluZGV4VHlwZVNldCA9IEhhc2hTZXQ8SW5kZXhUeXBlLCB0
eXBlbmFtZSBEZWZhdWx0SGFzaDxJbmRleFR5cGU+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFpl
cm9LZXlIYXNoVHJhaXRzPEluZGV4VHlwZT4+OworICAgIHVzaW5nIEluZGV4VHlwZVNldCA9IEhh
c2hTZXQ8SW5kZXhUeXBlLCB0eXBlbmFtZSBEZWZhdWx0SGFzaDxJbmRleFR5cGU+LCBXVEY6OlVu
c2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPEluZGV4VHlwZT4+OwogCi0gICAgSGFzaE1hcDxJ
bmRleFR5cGUsIEluZGV4VHlwZVNldCwgdHlwZW5hbWUgRGVmYXVsdEhhc2g8SW5kZXhUeXBlPjo6
SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxJbmRleFR5cGU+PiBtX2Jp
YXNlczsKKyAgICBIYXNoTWFwPEluZGV4VHlwZSwgSW5kZXhUeXBlU2V0LCB0eXBlbmFtZSBEZWZh
dWx0SGFzaDxJbmRleFR5cGU+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPElu
ZGV4VHlwZT4+IG1fYmlhc2VzOwogCiAgICAgLy8gSW5zdGVhZCBvZiBrZWVwaW5nIHRyYWNrIG9m
IHRoZSBtb3ZlIGluc3RydWN0aW9ucywgd2UganVzdCBrZWVwIHRoZWlyIG9wZXJhbmRzIGFyb3Vu
ZCBhbmQgdXNlIHRoZSBpbmRleAogICAgIC8vIGluIHRoZSB2ZWN0b3IgYXMgdGhlICJpZGVudGlm
aWVyIiBmb3IgdGhlIG1vdmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
YWlyL0FpckFyZy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBcmcuaAppbmRl
eCBiZjlhZTVlMTI4ZTc5NWM5MjMxNjhjNzZjNzQ0MjVmYjg5MTRiNDkwLi5hMGRhNzE4ODdjZDI2
ODVkZTk5NjMxZTkxYTQ0NzYyNmEzYzBjNDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvYWlyL0FpckFyZy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIv
QWlyQXJnLmgKQEAgLTE0ODIsOSArMTQ4Miw3IEBAIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgcHJp
bnRJbnRlcm5hbChQcmludFN0cmVhbSYsIEpTQzo6QjM6OkFpcjo6QXJnOjpSb2xlKTsKIEpTX0VY
UE9SVF9QUklWQVRFIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYsIEpTQzo6QjM6OkFp
cjo6QXJnOjpTaWduZWRuZXNzKTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1
bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpCMzo6QWlyOjpBcmc+
IHsKLSAgICB0eXBlZGVmIEpTQzo6QjM6OkFpcjo6QXJnSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRl
PD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6QjM6OkFpcjo6QXJnPiA6IEpTQzo6QjM6OkFpcjo6
QXJnSGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwog
dGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkIzOjpBaXI6OkFyZz4gOiBTaW1wbGVD
bGFzc0hhc2hUcmFpdHM8SlNDOjpCMzo6QWlyOjpBcmc+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyVG1wLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
YWlyL0FpclRtcC5oCmluZGV4IDAwZTM5ZGZhNWQyNzY2OThlOWVlZjc0MjVjZWMxNTVlYjFjZGQ0
MjAuLjFlYzBmMzYyMjQxOTBmYzk2MGMzY2RkZmRiNzc2ZTU5NTZiOWVhMjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyVG1wLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL2Fpci9BaXJUbXAuaApAQCAtMzMwLDkgKzMzMCw3IEBAIHN0cnVjdCBUbXBI
YXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVm
YXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkIzOjpBaXI6OlRt
cD4gewotICAgIHR5cGVkZWYgSlNDOjpCMzo6QWlyOjpUbXBIYXNoIEhhc2g7Ci19OwordGVtcGxh
dGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpCMzo6QWlyOjpUbXA+IDogSlNDOjpCMzo6QWly
OjpUbXBIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7
CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6QjM6OkFpcjo6VG1wPiA6IFNpbXBs
ZUNsYXNzSGFzaFRyYWl0czxKU0M6OkIzOjpBaXI6OlRtcD4geyB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW5kZXguaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUluZGV4LmgKaW5kZXggOWJjODQzNGUwZjliMzhi
MjhhMWI4MTFlMGUwMWZlZTIwMWI4YmI4OC4uZDE0NzU0MTgzMjQ3MjU1NDg3NTk5YWU5YjQ2MjA1
YjZkNWQ3ZGUyOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5
dGVjb2RlSW5kZXguaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNv
ZGVJbmRleC5oCkBAIC0xMTMsOSArMTEzLDcgQEAgc3RydWN0IEJ5dGVjb2RlSW5kZXhIYXNoIHsK
IG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhh
c2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkJ5dGVjb2RlSW5kZXg+IHsK
LSAgICB0eXBlZGVmIEpTQzo6Qnl0ZWNvZGVJbmRleEhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkJ5dGVjb2RlSW5kZXg+IDogSlNDOjpCeXRlY29kZUlu
ZGV4SGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwog
dGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkJ5dGVjb2RlSW5kZXg+IDogU2ltcGxl
Q2xhc3NIYXNoVHJhaXRzPEpTQzo6Qnl0ZWNvZGVJbmRleD4gewpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxWYXJpYW50LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ2FsbFZhcmlhbnQuaAppbmRleCA0YzEwMWVmMjk3YzM1YmIwZDY5M2Jh
YWY0ODg5NDNkMzc5MmZjN2U1Li4zOTI4MGU5ZmFmY2MxM2FiODg5ZmM1ODZjZTMwMDNiZTYwZGZk
NWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbFZhcmlh
bnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbFZhcmlhbnQuaApA
QCAtMjEyLDkgKzIxMiw3IEBAIENhbGxWYXJpYW50TGlzdCBkZXNwZWNpZmllZFZhcmlhbnRMaXN0
KGNvbnN0IENhbGxWYXJpYW50TGlzdCYpOwogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPEpTQzo6Q2FsbFZhcmlhbnQ+IHsKLSAgICB0eXBlZGVmIEpTQzo6Q2FsbFZhcmlhbnRIYXNo
IEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpDYWxsVmFyaWFu
dD4gOiBKU0M6OkNhbGxWYXJpYW50SGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0
cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkNhbGxW
YXJpYW50PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OkNhbGxWYXJpYW50PiB7IH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZU9yaWdpbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4uaAppbmRleCBjYjQyMzBl
MWVjYjY2NzhhYmVmYWNmMzcyYmU1ODEyZThjODBjYTU5Li5iMmQ4M2ZhZDhkYmQwOThhNTUyMjgx
YWJlNWM4MDMzNDJhOGFhYjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQ29kZU9yaWdpbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlT3JpZ2luLmgKQEAgLTI5Nyw5ICsyOTcsNyBAQCBzdHJ1Y3QgQ29kZU9yaWdpbkFwcHJveGlt
YXRlSGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0
IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpDb2RlT3Jp
Z2luPiB7Ci0gICAgdHlwZWRlZiBKU0M6OkNvZGVPcmlnaW5IYXNoIEhhc2g7Ci19OwordGVtcGxh
dGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpDb2RlT3JpZ2luPiA6IEpTQzo6Q29kZU9yaWdp
bkhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRl
bXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpDb2RlT3JpZ2luPiA6IFNpbXBsZUNsYXNz
SGFzaFRyYWl0czxKU0M6OkNvZGVPcmlnaW4+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0UHJvZmlsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0RGR0V4aXRQcm9maWxlLmgKaW5kZXggZjgwNzdiY2M2NDA5YzliYzg1NTFkMGUz
ZDZhNjMwMDBiZmJkYjNlYS4uODllMDhmYjVkNjdlNDEyNjEzNjI4OWM4OTU0ZjY4OTE0N2FlNThi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RGR0V4aXRQcm9m
aWxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RGR0V4aXRQcm9maWxl
LmgKQEAgLTE1NSw5ICsxNTUsNyBAQCBzdHJ1Y3QgRnJlcXVlbnRFeGl0U2l0ZUhhc2ggewogbmFt
ZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsK
LXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpGcmVxdWVudEV4aXRTaXRl
PiB7Ci0gICAgdHlwZWRlZiBKU0M6OkRGRzo6RnJlcXVlbnRFeGl0U2l0ZUhhc2ggSGFzaDsKLX07
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6RnJlcXVlbnRFeGl0U2l0
ZT4gOiBKU0M6OkRGRzo6RnJlcXVlbnRFeGl0U2l0ZUhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8
SlNDOjpERkc6OkZyZXF1ZW50RXhpdFNpdGU+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6
REZHOjpGcmVxdWVudEV4aXRTaXRlPiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9MYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5oCmluZGV4IDgxZjVhMGM0
ODljNGVmNmRkY2JhNmUxYjQ2MmQ3MmQ5ZTk4NjQ2ZDcuLjFhNGNlMWE2ZmM4ODgyOTNjYzY1ZGYx
ZmE1MjNiYTgzMGY1NjI0MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9MYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9MYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5oCkBAIC0xMDcsOSArMTA3LDcgQEAg
c3RydWN0IExhenlPcGVyYW5kVmFsdWVQcm9maWxlS2V5SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsK
IAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZUtleT4gewotICAg
IHR5cGVkZWYgSlNDOjpMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZUtleUhhc2ggSGFzaDsKLX07Cit0
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkxhenlPcGVyYW5kVmFsdWVQcm9maWxl
S2V5PiA6IEpTQzo6TGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGVLZXlIYXNoIHsgfTsKIAogdGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNo
VHJhaXRzPEpTQzo6TGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGVLZXk+IDogcHVibGljIEdlbmVyaWNI
YXNoVHJhaXRzPEpTQzo6TGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGVLZXk+IHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9u
LmgKaW5kZXggZDgxNDE1ZWE2ZTVmOGM1NTk0ZDMyZjQzZWFhNjRlODdlOTJiYjU1ZC4uY2ZlYjRm
NWI1NWZlNTVmOWYxNjQ0NWEyYmU5Y2I5NTE0N2M4NDgyMiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmgKQEAg
LTI5Miw5ICsyOTIsNyBAQCBzdHJ1Y3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25IYXNoIHsKIG5h
bWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7
Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok9iamVjdFByb3BlcnR5Q29uZGl0
aW9uPiB7Ci0gICAgdHlwZWRlZiBKU0M6Ok9iamVjdFByb3BlcnR5Q29uZGl0aW9uSGFzaCBIYXNo
OwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6T2JqZWN0UHJvcGVydHlD
b25kaXRpb24+IDogSlNDOjpPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbkhhc2ggeyB9OwogCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhh
c2hUcmFpdHM8SlNDOjpPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbj4gOiBTaW1wbGVDbGFzc0hhc2hU
cmFpdHM8SlNDOjpPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbj4geyB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uaAppbmRleCBkMzIwYTRk
NWZkY2M1ODFlZGNjNzI3MTA1ZjkyMWRiMjA3NjBjYWUzLi42ZWI3NjUzZjY2NDcyYmFhZDhiODYz
ODg4YmM2YjFkYjhhYmIyZjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uaApAQCAtMzYxLDkgKzM2MSw3IEBAIG5hbWVzcGFjZSBX
VEYgewogdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgSlNDOjpQcm9wZXJ0eUNvbmRp
dGlvbjo6S2luZCk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsK
LXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UHJvcGVydHlDb25kaXRpb24+IHsK
LSAgICB0eXBlZGVmIEpTQzo6UHJvcGVydHlDb25kaXRpb25IYXNoIEhhc2g7Ci19OwordGVtcGxh
dGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpQcm9wZXJ0eUNvbmRpdGlvbj4gOiBKU0M6OlBy
b3BlcnR5Q29uZGl0aW9uSGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBI
YXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OlByb3BlcnR5Q29u
ZGl0aW9uPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OlByb3BlcnR5Q29uZGl0aW9uPiB7
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SGVh
cC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEhlYXAuaAppbmRleCA0
NDY2NTNlMDA4OWIwNWEyYTYzMDNjMGRjZjg3ZjdmZWUxNGVlZGUzLi5mZjg0ZjZiN2MwZDkwZmM0
Y2IxNGM3ODdjZDBmMWI0M2U3ZGJkY2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Fic3RyYWN0SGVhcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQWJzdHJhY3RIZWFwLmgKQEAgLTM1Miw5ICszNTIsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHZv
aWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYsIEpTQzo6REZHOjpBYnN0cmFjdEhlYXBLaW5k
KTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OkFic3RyYWN0SGVhcD4gewotICAgIHR5cGVk
ZWYgSlNDOjpERkc6OkFic3RyYWN0SGVhcEhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6QWJzdHJhY3RIZWFwPiA6IEpTQzo6REZHOjpBYnN0cmFj
dEhlYXBIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7
CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6REZHOjpBYnN0cmFjdEhlYXA+IDog
U2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6REZHOjpBYnN0cmFjdEhlYXA+IHsgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25Q
aGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0
aW9uUGhhc2UuY3BwCmluZGV4IDJlOThhMjc1M2M4NjNkNWQ3NzYwNTI0N2E2ODBiNWU3NDg5YjEy
MTEuLjZiMzYxOTk1ZTJkODU2Y2NjYzg0Yzk5NTJmZDBjZDNjY2I1M2FjOGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlv
blBoYXNlLmNwcApAQCAtNTA1LDcgKzUwNSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIHVzaW5nIElubGluZUNhbGxGcmFtZXMgPSBIYXNo
U2V0PElubGluZUNhbGxGcmFtZSosIFdURjo6RGVmYXVsdEhhc2g8SW5saW5lQ2FsbEZyYW1lKj46
Okhhc2gsIFdURjo6TnVsbGFibGVIYXNoVHJhaXRzPElubGluZUNhbGxGcmFtZSo+PjsKKyAgICAg
ICAgdXNpbmcgSW5saW5lQ2FsbEZyYW1lcyA9IEhhc2hTZXQ8SW5saW5lQ2FsbEZyYW1lKiwgV1RG
OjpEZWZhdWx0SGFzaDxJbmxpbmVDYWxsRnJhbWUqPiwgV1RGOjpOdWxsYWJsZUhhc2hUcmFpdHM8
SW5saW5lQ2FsbEZyYW1lKj4+OwogICAgICAgICB1c2luZyBJbmxpbmVDYWxsRnJhbWVzRm9yQ2Fu
ZGl0YXRlcyA9IEhhc2hNYXA8Tm9kZSosIElubGluZUNhbGxGcmFtZXM+OwogICAgICAgICBJbmxp
bmVDYWxsRnJhbWVzRm9yQ2FuZGl0YXRlcyBpbmxpbmVDYWxsRnJhbWVzRm9yQ2FuZGlkYXRlOwog
ICAgICAgICBhdXRvIGZvckVhY2hEZXBlbmRlbnROb2RlID0gcmVjdXJzYWJsZUxhbWJkYShbJl0o
YXV0byBzZWxmLCBOb2RlKiBub2RlLCBjb25zdCBhdXRvJiBmdW5jdG9yKSAtPiB2b2lkIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXgg
ZjNmM2FmY2VjZTgxZTkwYzE1NmNiMDAzNjFmMTRkZWMyMTY4YTk1OS4uM2Y1MmIwNTdlMGQ5MjYx
NmQwZDNkZmE4Mzc5OTY5YmQ5YWNlOTI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTExNDQsNyArMTE0NCw3IEBAIHByaXZhdGU6
CiAgICAgRnJvemVuVmFsdWUqIG1fY29uc3RhbnRPbmU7CiAgICAgVmVjdG9yPE5vZGUqLCAxNj4g
bV9jb25zdGFudHM7CiAKLSAgICBIYXNoTWFwPElubGluZUNhbGxGcmFtZSosIFZlY3RvcjxBcmd1
bWVudFBvc2l0aW9uKj4sIFdURjo6RGVmYXVsdEhhc2g8SW5saW5lQ2FsbEZyYW1lKj46Okhhc2gs
IFdURjo6TnVsbGFibGVIYXNoVHJhaXRzPElubGluZUNhbGxGcmFtZSo+PiBtX2lubGluZUNhbGxG
cmFtZVRvQXJndW1lbnRQb3NpdGlvbnM7CisgICAgSGFzaE1hcDxJbmxpbmVDYWxsRnJhbWUqLCBW
ZWN0b3I8QXJndW1lbnRQb3NpdGlvbio+LCBXVEY6OkRlZmF1bHRIYXNoPElubGluZUNhbGxGcmFt
ZSo+LCBXVEY6Ok51bGxhYmxlSGFzaFRyYWl0czxJbmxpbmVDYWxsRnJhbWUqPj4gbV9pbmxpbmVD
YWxsRnJhbWVUb0FyZ3VtZW50UG9zaXRpb25zOwogCiAgICAgLy8gVGhlIG51bWJlciBvZiBhcmd1
bWVudHMgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbi4KICAgICB1bnNpZ25lZCBtX251bUFyZ3VtZW50
czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDU0VQaGFzZS5jcHAKaW5kZXggMGMwMDFj
NTgxODczNThlNjc1YTdjMDAxYTBmMDVhNzA3NzlmOTU1Ny4uNjc4MjU4ZGViZTFmNWQ3NmY3MTdl
NzNjZDE3YWE5YzY1YWZkMGRkZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdDU0VQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDU0VQ
aGFzZS5jcHAKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGhhc2g7CiB9
OwogCi1zdHJ1Y3QgSW1wdXJlRGF0YVNsb3RIYXNoIDogcHVibGljIERlZmF1bHRIYXNoPHN0ZDo6
dW5pcXVlX3B0cjxJbXB1cmVEYXRhU2xvdD4+OjpIYXNoIHsKK3N0cnVjdCBJbXB1cmVEYXRhU2xv
dEhhc2ggOiBwdWJsaWMgRGVmYXVsdEhhc2g8c3RkOjp1bmlxdWVfcHRyPEltcHVyZURhdGFTbG90
Pj4gewogICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxJbXB1
cmVEYXRhU2xvdD4mIGtleSkKICAgICB7CiAgICAgICAgIHJldHVybiBrZXktPmhhc2g7CkBAIC0y
OTQsNyArMjk0LDcgQEAgcHJpdmF0ZToKICAgICAvLyBhIGR1cGxpY2F0ZSBpbiB0aGUgcGFzdCBh
bmQgbm93IG9ubHkgbGl2ZSBpbiBtX2ZhbGxiYWNrU3RhY2tNYXAuCiAgICAgLy8KICAgICAvLyBP
YnZpb3VzbHksIFRPUCBhbHdheXMgZ29lcyBpbnRvIG1fZmFsbGJhY2tTdGFja01hcCBzaW5jZSBp
dCBkb2VzIG5vdCBoYXZlIGEgdW5pcXVlIHZhbHVlLgotICAgIEhhc2hNYXA8aW50NjRfdCwgc3Rk
Ojp1bmlxdWVfcHRyPEltcHVyZURhdGFTbG90PiwgRGVmYXVsdEhhc2g8aW50NjRfdD46Okhhc2gs
IFdURjo6U2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPGludDY0X3Q+PiBtX2Fic3RyYWN0SGVh
cFN0YWNrTWFwOworICAgIEhhc2hNYXA8aW50NjRfdCwgc3RkOjp1bmlxdWVfcHRyPEltcHVyZURh
dGFTbG90PiwgRGVmYXVsdEhhc2g8aW50NjRfdD4sIFdURjo6U2lnbmVkV2l0aFplcm9LZXlIYXNo
VHJhaXRzPGludDY0X3Q+PiBtX2Fic3RyYWN0SGVhcFN0YWNrTWFwOwogICAgIE1hcCBtX2ZhbGxi
YWNrU3RhY2tNYXA7CiAKICAgICBNYXAgbV9oZWFwTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdDb21waWxhdGlvbktleS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdDb21waWxhdGlvbktleS5oCmluZGV4IDU4MzJmNmM2Mzc1YmY4MmYxZDM3ZWJl
YTNlZGE0Njg1YWRjMTA2OTguLjBkNDZmNWVkYTM5YTA2NzUzN2M2YzgwZTkxMmM0Y2E2ZDIzODE3
MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tcGlsYXRpb25L
ZXkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbXBpbGF0aW9uS2V5LmgK
QEAgLTk3LDkgKzk3LDcgQEAgc3RydWN0IENvbXBpbGF0aW9uS2V5SGFzaCB7CiBuYW1lc3BhY2Ug
V1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxh
dGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OkNvbXBpbGF0aW9uS2V5PiB7Ci0gICAg
dHlwZWRlZiBKU0M6OkRGRzo6Q29tcGlsYXRpb25LZXlIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OkNvbXBpbGF0aW9uS2V5PiA6IEpTQzo6REZH
OjpDb21waWxhdGlvbktleUhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
SGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpERkc6OkNvbXBp
bGF0aW9uS2V5PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OkRGRzo6Q29tcGlsYXRpb25L
ZXk+IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJl
ZEdsb2JhbFByb3BlcnR5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRH
bG9iYWxQcm9wZXJ0eS5oCmluZGV4IGE2MzkzMzMyZDgzMDZlNDY2ODBmMTFkODdlOGRiMWE3ZDEx
YmQ1ODkuLjFhNTI4MDY4YzZiZDA4YTgzMjdiOTI1Mjc4ZjU2Yjc3NjFlYWI2OTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZEdsb2JhbFByb3BlcnR5LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkR2xvYmFsUHJvcGVydHku
aApAQCAtMTAyLDkgKzEwMiw3IEBAIHN0cnVjdCBEZXNpcmVkR2xvYmFsUHJvcGVydHlIYXNoIHsK
IG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhh
c2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6RGVzaXJlZEdsb2Jh
bFByb3BlcnR5PiB7Ci0gICAgdHlwZWRlZiBKU0M6OkRGRzo6RGVzaXJlZEdsb2JhbFByb3BlcnR5
SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpE
ZXNpcmVkR2xvYmFsUHJvcGVydHk+IDogSlNDOjpERkc6OkRlc2lyZWRHbG9iYWxQcm9wZXJ0eUhh
c2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBs
YXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpERkc6OkRlc2lyZWRHbG9iYWxQcm9wZXJ0eT4g
OiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpERkc6OkRlc2lyZWRHbG9iYWxQcm9wZXJ0eT4g
eyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdIZWFwTG9jYXRp
b24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSGVhcExvY2F0aW9uLmgKaW5kZXgg
YjVjZWQxMzlmNDhhMGJiYjA3MjNkNDA4ZTQzMGJhM2IwZjc5YzY5NC4uNDQ0MjlhNjdiNmY1MjE4
ZGQwYWNjYzkzNGI3NzY0YWViOGQ1ZDc4MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdIZWFwTG9jYXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0hlYXBMb2NhdGlvbi5oCkBAIC0xODYsOSArMTg2LDcgQEAgbmFtZXNwYWNlIFdURiB7CiB2
b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBKU0M6OkRGRzo6TG9jYXRpb25LaW5kKTsK
IAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OkhlYXBMb2NhdGlvbj4gewotICAgIHR5cGVkZWYg
SlNDOjpERkc6OkhlYXBMb2NhdGlvbkhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxKU0M6OkRGRzo6SGVhcExvY2F0aW9uPiA6IEpTQzo6REZHOjpIZWFwTG9jYXRp
b25IYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0
ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6REZHOjpIZWFwTG9jYXRpb24+IDogU2lt
cGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6REZHOjpIZWFwTG9jYXRpb24+IHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTGl2ZW5lc3NBbmFseXNpc1BoYXNlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTGl2ZW5lc3NBbmFseXNpc1BoYXNlLmNwcApp
bmRleCA0M2E2MmZiMzcyZjg1NTQ2Y2M3ZmM3ZGQwODEwN2JkMjJkMzUyM2NmLi4xMDAxMTgzM2Iy
NDcxZWU1YjFiNjBmMjIwMTZlZWYwZjRlNmRmNmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0xpdmVuZXNzQW5hbHlzaXNQaGFzZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdMaXZlbmVzc0FuYWx5c2lzUGhhc2UuY3BwCkBAIC00MSwxMCAr
NDEsMTAgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogbmFtZXNwYWNlIHsKIAog
Ly8gVW5jb21tZW50IHRoaXMgdG8gbG9nIGhhc2h0YWJsZSBvcGVyYXRpb25zLgotLy8gc3RhdGlj
IGNvbnN0IGNoYXIgdGVtcGxhdGVTdHJpbmdbXSA9ICJ1bnNpZ25lZCwgRGVmYXVsdEhhc2g8dW5z
aWduZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVk
PiI7Ci0vLyB0eXBlZGVmIExvZ2dpbmdIYXNoU2V0PHRlbXBsYXRlU3RyaW5nLCB1bnNpZ25lZCwg
RGVmYXVsdEhhc2g8dW5zaWduZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNo
VHJhaXRzPHVuc2lnbmVkPj4gTGl2ZVNldDsKKy8vIHN0YXRpYyBjb25zdCBjaGFyIHRlbXBsYXRl
U3RyaW5nW10gPSAidW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25l
ZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4iOworLy8gdHlwZWRlZiBMb2dnaW5nSGFz
aFNldDx0ZW1wbGF0ZVN0cmluZywgdW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RG
OjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IExpdmVTZXQ7CiAKLXR5
cGVkZWYgSGFzaFNldDx1bnNpZ25lZCwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+OjpIYXNoLCBXVEY6
OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gTGl2ZVNldDsKK3R5cGVk
ZWYgSGFzaFNldDx1bnNpZ25lZCwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6OlVuc2lnbmVk
V2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gTGl2ZVNldDsKIAogdHlwZWRlZiBJbmRl
eFNwYXJzZVNldDx1bnNpZ25lZCwgRGVmYXVsdEluZGV4U3BhcnNlU2V0VHJhaXRzPHVuc2lnbmVk
PiwgVW5zYWZlVmVjdG9yT3ZlcmZsb3c+IFdvcmtzZXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTWluaWZpZWRJRC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdNaW5pZmllZElELmgKaW5kZXggY2I3MWYxYjllMDg5NGIyMmViOGJiOWM2MzljNmFm
NzVjNmY1YTUzMS4uMTY3Mjg2MTAyNzAwYmM3YjY3NDZjNjQ3MThkYjVlMzk3MjQ3MzI1OCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdNaW5pZmllZElELmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdNaW5pZmllZElELmgKQEAgLTg3LDkgKzg3LDcg
QEAgc3RydWN0IE1pbmlmaWVkSURIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0
SGFzaDxKU0M6OkRGRzo6TWluaWZpZWRJRD4gewotICAgIHR5cGVkZWYgSlNDOjpERkc6Ok1pbmlm
aWVkSURIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpE
Rkc6Ok1pbmlmaWVkSUQ+IDogSlNDOjpERkc6Ok1pbmlmaWVkSURIYXNoIHsgfTsKIAogdGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNo
VHJhaXRzPEpTQzo6REZHOjpNaW5pZmllZElEPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6
OkRGRzo6TWluaWZpZWRJRD4gewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdOb2RlRmxvd1Byb2plY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Tm9kZUZsb3dQcm9qZWN0aW9uLmgKaW5kZXggODI4ZTMxYjZmOWYwMTFlMzNkYTNmOGE2NTQ4Y2M2
YTczODgxMjcwYi4uMzQ5NzFlYWJlM2Y5NjVmNDdjMjZlNTZhOWI1YTMxYjA3OTRhOWJkZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlRmxvd1Byb2plY3Rpb24u
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVGbG93UHJvamVjdGlvbi5o
CkBAIC0xNDIsOSArMTQyLDcgQEAgc3RydWN0IE5vZGVGbG93UHJvamVjdGlvbkhhc2ggewogbmFt
ZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsK
LXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpOb2RlRmxvd1Byb2plY3Rp
b24+IHsKLSAgICB0eXBlZGVmIEpTQzo6REZHOjpOb2RlRmxvd1Byb2plY3Rpb25IYXNoIEhhc2g7
Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6Ok5vZGVGbG93UHJv
amVjdGlvbj4gOiBKU0M6OkRGRzo6Tm9kZUZsb3dQcm9qZWN0aW9uSGFzaCB7IH07CiAKIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFz
aFRyYWl0czxKU0M6OkRGRzo6Tm9kZUZsb3dQcm9qZWN0aW9uPiA6IFNpbXBsZUNsYXNzSGFzaFRy
YWl0czxKU0M6OkRGRzo6Tm9kZUZsb3dQcm9qZWN0aW9uPiB7IH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVhcExvY2F0aW9uLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVhcExvY2F0aW9uLmgKaW5kZXggZTBjMzFj
MjM2ZTU0ZTc1ZGJkM2Q3ZWY0YWRhYzBhZDdlYzE2ZjUyNS4uNGYxMjUyMzM4NDIxNTE0OTc2MTJl
YTE4ZjdiZjU1ZTQzOGIxNWIwMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaApAQCAtMjE1LDkgKzIxNSw3IEBAIG5hbWVzcGFj
ZSBXVEYgewogdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgSlNDOjpERkc6OlByb21v
dGVkTG9jYXRpb25LaW5kKTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRI
YXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OlByb21vdGVkSGVh
cExvY2F0aW9uPiB7Ci0gICAgdHlwZWRlZiBKU0M6OkRGRzo6UHJvbW90ZWRIZWFwTG9jYXRpb25I
YXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OlBy
b21vdGVkSGVhcExvY2F0aW9uPiA6IEpTQzo6REZHOjpQcm9tb3RlZEhlYXBMb2NhdGlvbkhhc2gg
eyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRl
PD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpERkc6OlByb21vdGVkSGVhcExvY2F0aW9uPiA6IFNp
bXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OkRGRzo6UHJvbW90ZWRIZWFwTG9jYXRpb24+IHsKQEAg
LTIyNSw5ICsyMjMsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6REZHOjpQ
cm9tb3RlZEhlYXBMb2NhdGlvbj4gOiBTaW1wbGVDbGFzc0hhc2hUcgogfTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVs
dEhhc2g8SlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yPiB7Ci0gICAgdHlwZWRl
ZiBKU0M6OkRGRzo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3JIYXNoIEhhc2g7Ci19OwordGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNj
cmlwdG9yPiA6IEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvckhhc2ggeyB9Owog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3Ry
dWN0IEhhc2hUcmFpdHM8SlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yPiA6IFNp
bXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OkRGRzo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3I+
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvcGVydHlUeXBl
S2V5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb3BlcnR5VHlwZUtleS5oCmlu
ZGV4IDFiNzk0MjRkNGNmMDhjNzFmYmM2ZGQ3NTI4NWEyMmVjZWU2NmVlZDIuLjc4NzkzYjhlOTI1
MzA2Nzk5YjAxY2QwYjg3ZDkxNWIxODU3YWUzNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHUHJvcGVydHlUeXBlS2V5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdQcm9wZXJ0eVR5cGVLZXkuaApAQCAtMTExLDkgKzExMSw3IEBAIHN0cnVjdCBQ
cm9wZXJ0eVR5cGVLZXlIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxK
U0M6OkRGRzo6UHJvcGVydHlUeXBlS2V5PiB7Ci0gICAgdHlwZWRlZiBKU0M6OkRGRzo6UHJvcGVy
dHlUeXBlS2V5SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpT
Qzo6REZHOjpQcm9wZXJ0eVR5cGVLZXk+IDogSlNDOjpERkc6OlByb3BlcnR5VHlwZUtleUhhc2gg
eyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRl
PD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpERkc6OlByb3BlcnR5VHlwZUtleT4gOiBTaW1wbGVD
bGFzc0hhc2hUcmFpdHM8SlNDOjpERkc6OlByb3BlcnR5VHlwZUtleT4gewpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQdXJlVmFsdWUuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHUHVyZVZhbHVlLmgKaW5kZXggYjVlZWJkNzIyODU2NTkzZTEwM2MxZDZi
YmJjODJhNWE0Zjg2NjAwYy4uNmY0MmRkM2Q5YTViZGQwOTZiMjUzYmYwNTlkNTI1YjI5MWIwODhh
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQdXJlVmFsdWUuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1B1cmVWYWx1ZS5oCkBAIC0xNTMsOSAr
MTUzLDcgQEAgc3RydWN0IFB1cmVWYWx1ZUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPEpTQzo6REZHOjpQdXJlVmFsdWU+IHsKLSAgICB0eXBlZGVmIEpTQzo6REZHOjpQ
dXJlVmFsdWVIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlND
OjpERkc6OlB1cmVWYWx1ZT4gOiBKU0M6OkRGRzo6UHVyZVZhbHVlSGFzaCB7IH07CiAKIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFz
aFRyYWl0czxKU0M6OkRGRzo6UHVyZVZhbHVlPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6
OkRGRzo6UHVyZVZhbHVlPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTExvY2F0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvY2F0aW9uLmgK
aW5kZXggMTE5NTlkZDY2OTI1NDdjYWM1OTk2MzUxMTFjZTYzYTAxMTc1MzIzYS4uYmQ0YjQxNjVl
YzgyYmMzYWI1NzFjODBmNDRlNTVhYTkzYmU3ZDBlMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb2NhdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMTG9jYXRpb24uaApAQCAtMjAxLDkgKzIwMSw3IEBAIG5hbWVzcGFjZSBXVEYgewogdm9p
ZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgSlNDOjpGVEw6OkxvY2F0aW9uOjpLaW5kKTsK
IAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpGVEw6OkxvY2F0aW9uPiB7Ci0gICAgdHlwZWRlZiBKU0M6
OkZUTDo6TG9jYXRpb25IYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8SlNDOjpGVEw6OkxvY2F0aW9uPiA6IEpTQzo6RlRMOjpMb2NhdGlvbkhhc2ggeyB9OwogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0
IEhhc2hUcmFpdHM8SlNDOjpGVEw6OkxvY2F0aW9uPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxK
U0M6OkZUTDo6TG9jYXRpb24+IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG93ZXJERkdUb0IzLmNwcAppbmRleCBlYzdhNTQ2YTExZTkyZWE2NDFkOTgwNzkwMTc4NDdkOWM0
ZjhmMzNmLi5kNGM4MDUxZjJkYmVkZTI0OTg1NjBhY2YxYWRhNGQ4ZjM1OTZmMWJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCkBAIC02ODI4LDcg
KzY4MjgsNyBAQCBwcml2YXRlOgogICAgICAgICBpZiAobV9ncmFwaC5pc1dhdGNoaW5nSGF2aW5n
QUJhZFRpbWVXYXRjaHBvaW50KG1fbm9kZSkpIHsKICAgICAgICAgICAgIENoZWNrZWRJbnQzMiBz
dGFydExlbmd0aCA9IDA7CiAgICAgICAgICAgICBCaXRWZWN0b3IqIGJpdFZlY3RvciA9IG1fbm9k
ZS0+Yml0VmVjdG9yKCk7Ci0gICAgICAgICAgICBIYXNoTWFwPElubGluZUNhbGxGcmFtZSosIExW
YWx1ZSwgV1RGOjpEZWZhdWx0SGFzaDxJbmxpbmVDYWxsRnJhbWUqPjo6SGFzaCwgV1RGOjpOdWxs
YWJsZUhhc2hUcmFpdHM8SW5saW5lQ2FsbEZyYW1lKj4+IGNhY2hlZFNwcmVhZExlbmd0aHM7Cisg
ICAgICAgICAgICBIYXNoTWFwPElubGluZUNhbGxGcmFtZSosIExWYWx1ZSwgV1RGOjpEZWZhdWx0
SGFzaDxJbmxpbmVDYWxsRnJhbWUqPiwgV1RGOjpOdWxsYWJsZUhhc2hUcmFpdHM8SW5saW5lQ2Fs
bEZyYW1lKj4+IGNhY2hlZFNwcmVhZExlbmd0aHM7CiAKICAgICAgICAgICAgIGlmIChtX25vZGUt
Pm51bUNoaWxkcmVuKCkgPT0gMSAmJiBiaXRWZWN0b3ItPmdldCgwKSkgewogICAgICAgICAgICAg
ICAgIEVkZ2UgdXNlID0gbV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDApOwpAQCAtOTcwMSw3
ICs5NzAxLDcgQEAgcHJpdmF0ZToKICAgICAgICAgdW5zaWduZWQgc3RhdGljQXJndW1lbnRDb3Vu
dCA9IDA7CiAgICAgICAgIFZlY3RvcjxMVmFsdWUsIDI+IHNwcmVhZExlbmd0aHM7CiAgICAgICAg
IFZlY3RvcjxMVmFsdWUsIDg+IHBhdGNocG9pbnRBcmd1bWVudHM7Ci0gICAgICAgIEhhc2hNYXA8
SW5saW5lQ2FsbEZyYW1lKiwgTFZhbHVlLCBXVEY6OkRlZmF1bHRIYXNoPElubGluZUNhbGxGcmFt
ZSo+OjpIYXNoLCBXVEY6Ok51bGxhYmxlSGFzaFRyYWl0czxJbmxpbmVDYWxsRnJhbWUqPj4gY2Fj
aGVkU3ByZWFkTGVuZ3RoczsKKyAgICAgICAgSGFzaE1hcDxJbmxpbmVDYWxsRnJhbWUqLCBMVmFs
dWUsIFdURjo6RGVmYXVsdEhhc2g8SW5saW5lQ2FsbEZyYW1lKj4sIFdURjo6TnVsbGFibGVIYXNo
VHJhaXRzPElubGluZUNhbGxGcmFtZSo+PiBjYWNoZWRTcHJlYWRMZW5ndGhzOwogICAgICAgICBh
dXRvIHB1c2hBbmRDb3VudEFyZ3VtZW50c0Zyb21SaWdodFRvTGVmdCA9IHJlY3Vyc2FibGVMYW1i
ZGEoWyZdKGF1dG8gc2VsZiwgTm9kZSogdGFyZ2V0KSAtPiB2b2lkIHsKICAgICAgICAgICAgIGlm
ICh0YXJnZXQtPm9wKCkgPT0gUGhhbnRvbVNwcmVhZCkgewogICAgICAgICAgICAgICAgIHNlbGYo
dGFyZ2V0LT5jaGlsZDEoKS5ub2RlKCkpOwpAQCAtMTI2NDYsNyArMTI2NDYsNyBAQCBwcml2YXRl
OgogCiAgICAgICAgICAgICAgICAgaW5pdGlhbGl6ZUFycmF5RWxlbWVudHMobV9vdXQuY29uc3RJ
bnQzMihzdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpKSwgbV9vdXQuaW50MzJaZXJvLCB2ZWN0b3JM
ZW5ndGgsIGJ1dHRlcmZseSk7CiAKLSAgICAgICAgICAgICAgICBIYXNoTWFwPGludDMyX3QsIExW
YWx1ZSwgRGVmYXVsdEhhc2g8aW50MzJfdD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tl
eUhhc2hUcmFpdHM8aW50MzJfdD4+IGluZGV4TWFwOworICAgICAgICAgICAgICAgIEhhc2hNYXA8
aW50MzJfdCwgTFZhbHVlLCBEZWZhdWx0SGFzaDxpbnQzMl90PiwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czxpbnQzMl90Pj4gaW5kZXhNYXA7CiAgICAgICAgICAgICAgICAgVmVj
dG9yPGludDMyX3Q+IGluZGljZXM7CiAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
ZGF0YS5tX3Byb3BlcnRpZXMuc2l6ZSgpOyBpLS07KSB7CiAgICAgICAgICAgICAgICAgICAgIFBy
b21vdGVkTG9jYXRpb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IgPSBkYXRhLm1fcHJvcGVydGllc1tp
XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxs
S2V5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbEtleS5oCmlu
ZGV4IDA2MzAxNGM3OWM3ODFlZDk1OGIxNjYwMGRkMTRkZDIxM2NiMmVmZmEuLjA4NmFlMDBlZTU4
NTUyYzdjZTgzZDcwNTIwZTc2MTM4NDJiZGQzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxsS2V5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExTbG93UGF0aENhbGxLZXkuaApAQCAtMTE4LDkgKzExOCw3IEBAIHN0cnVjdCBT
bG93UGF0aENhbGxLZXlIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxK
U0M6OkZUTDo6U2xvd1BhdGhDYWxsS2V5PiB7Ci0gICAgdHlwZWRlZiBKU0M6OkZUTDo6U2xvd1Bh
dGhDYWxsS2V5SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpT
Qzo6RlRMOjpTbG93UGF0aENhbGxLZXk+IDogSlNDOjpGVEw6OlNsb3dQYXRoQ2FsbEtleUhhc2gg
eyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRl
PD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpGVEw6OlNsb3dQYXRoQ2FsbEtleT4gOiBwdWJsaWMg
Q3VzdG9tSGFzaFRyYWl0czxKU0M6OkZUTDo6U2xvd1BhdGhDYWxsS2V5PiB7IH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRCbG9jay5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2suaAppbmRleCA5Mzc5ZDQ1ZjY0MjFlNzVjMjUx
MWRmZGZmNTVlOTJlZDA5ODhlMGMxLi5iYWY5Y2VjODU5MjEyNGMzYjlmMzZjNDNhYjU1YTA4NTk1
MWJjMThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRCbG9j
ay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrLmgKQEAgLTY5
MCw5ICs2OTAsNyBAQCBzdHJ1Y3QgTWFya2VkQmxvY2tIYXNoIDogUHRySGFzaDxKU0M6Ok1hcmtl
ZEJsb2NrKj4gewogICAgIH0KIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpT
Qzo6TWFya2VkQmxvY2sqPiB7Ci0gICAgdHlwZWRlZiBNYXJrZWRCbG9ja0hhc2ggSGFzaDsKLX07
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok1hcmtlZEJsb2NrKj4gOiBNYXJr
ZWRCbG9ja0hhc2ggeyB9OwogCiB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwg
SlNDOjpNYXJrZWRCbG9jazo6SGFuZGxlOjpTd2VlcE1vZGUpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9WaXNpdFJhY2VLZXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL1Zpc2l0UmFjZUtleS5oCmluZGV4IDczMTBiZGNlOWZiYWZhMjlhYWMwODU4NGZk
MzY2ODc3M2RkOWU5ZDMuLjFmNTk4N2NmZTI1ZjcxYzIzNDgzNjYyOGY2Njg5YjA3NmY2NzBjMjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Zpc2l0UmFjZUtleS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Zpc2l0UmFjZUtleS5oCkBAIC05Niw5ICs5
Niw3IEBAIHN0cnVjdCBWaXNpdFJhY2VLZXlIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxKU0M6OlZpc2l0UmFjZUtleT4gewotICAgIHR5cGVkZWYgSlNDOjpWaXNpdFJh
Y2VLZXlIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpW
aXNpdFJhY2VLZXk+IDogSlNDOjpWaXNpdFJhY2VLZXlIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRz
PEpTQzo6VmlzaXRSYWNlS2V5PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OlZpc2l0UmFj
ZUtleT4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hlYWRlci5weSBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2Nw
cF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkKaW5kZXggMTlmZDBjYTA0MTJiY2ZiMTJlZjU5Mjcx
NmZiNWUxNTdiNzQ5MzM4Yi4uMDAxOTI0ZGUwZWIwODI3Zjc0NWQzZDczNmMwYWI5MjAyMTI0ZGIz
NiAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2Nv
ZGVnZW4vZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hlYWRlci5weQorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJv
dG9jb2xfdHlwZXNfaGVhZGVyLnB5CkBAIC00ODUsOSArNDg1LDcgQEAgY2xhc3MgQ3BwUHJvdG9j
b2xUeXBlc0hlYWRlckdlbmVyYXRvcihDcHBHZW5lcmF0b3IpOgogICAgICAgICAgICAgZm9yIGVu
dW1fdHlwZSBpbiBlbnVtX3R5cGVzOgogICAgICAgICAgICAgICAgIGVudW1fbGluZXMgPSBbXQog
ICAgICAgICAgICAgICAgIGVudW1fbGluZXMuYXBwZW5kKCd0ZW1wbGF0ZTw+JykKLSAgICAgICAg
ICAgICAgICBlbnVtX2xpbmVzLmFwcGVuZCgnc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6
UHJvdG9jb2w6OiVzOjolcz4geycgJSAoZG9tYWluLmRvbWFpbl9uYW1lLCBlbnVtX3R5cGUucmF3
X25hbWUoKSkpCi0gICAgICAgICAgICAgICAgZW51bV9saW5lcy5hcHBlbmQoJyAgICB1c2luZyBI
YXNoID0gSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjolczo6JXM+OycgJSAoZG9tYWluLmRv
bWFpbl9uYW1lLCBlbnVtX3R5cGUucmF3X25hbWUoKSkpCi0gICAgICAgICAgICAgICAgZW51bV9s
aW5lcy5hcHBlbmQoJ307JykKKyAgICAgICAgICAgICAgICBlbnVtX2xpbmVzLmFwcGVuZCgnc3Ry
dWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OiVzOjolcz4gOiBJbnRIYXNoPElu
c3BlY3Rvcjo6UHJvdG9jb2w6OiVzOjolcz4geyB9OycgJSAoZG9tYWluLmRvbWFpbl9uYW1lLCBl
bnVtX3R5cGUucmF3X25hbWUoKSwgZG9tYWluLmRvbWFpbl9uYW1lLCBlbnVtX3R5cGUucmF3X25h
bWUoKSkpCiAgICAgICAgICAgICAgICAgZG9tYWluX2xpbmVzLmFwcGVuZChzZWxmLndyYXBfd2l0
aF9ndWFyZF9mb3JfY29uZGl0aW9uKGVudW1fdHlwZS5kZWNsYXJhdGlvbigpLmNvbmRpdGlvbiwg
J1xuJy5qb2luKGVudW1fbGluZXMpKSkKIAogICAgICAgICAgICAgbGluZXMuYXBwZW5kKHNlbGYu
d3JhcF93aXRoX2d1YXJkX2Zvcl9jb25kaXRpb24oZG9tYWluLmNvbmRpdGlvbiwgJ1xuJy5qb2lu
KGRvbWFpbl9saW5lcykpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRl
Lmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRlLmpzb24tcmVzdWx0Cmlu
ZGV4IDE2ZWMyNDcyZmQ3YzcxYmE0YjU5NWNlMjMyMjUyNjYzNDhmYWQ0NDYuLjNiNThlMGZiMjc0
ZDNlMjc3OWViNzY2YTlhNTE2NWViNDNhZWYyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLWFz
eW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1
dGUuanNvbi1yZXN1bHQKQEAgLTczMyw5ICs3MzMsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgRGVmYXVsdEhhc2g7CiAKIC8vIEhhc2ggZGVjbGFyYXRpb25zIGluIHRoZSAnRGF0YWJh
c2UnIERvbWFpbgogdGVtcGxhdGU8Pgotc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OkRhdGFiYXNlOjpQcmltYXJ5Q29sb3JzPiB7Ci0gICAgdXNpbmcgSGFzaCA9IEludEhh
c2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGF0YWJhc2U6OlByaW1hcnlDb2xvcnM+OwotfTsKK3N0
cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJpbWFyeUNv
bG9ycz4gOiBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpQcmltYXJ5Q29s
b3JzPiB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogIyMjIEVuZCBGaWxlOiBUZXN0UHJvdG9j
b2xPYmplY3RzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
c2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJu
LXBhcmFtZXRlcnMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVy
bi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CmluZGV4IGQ0YWFkMGIwZWE0NDYzMDUyNDgwZWUzMGJi
OWQyYWVlYmYwZWU5MzkuLmU0ZGIwNGFkOWIyNzZiOGIyMjlmYmZjNDFkYWNlN2IxODhiNTY2ZjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMu
anNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1l
dGVycy5qc29uLXJlc3VsdApAQCAtNjQ0LDkgKzY0NCw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0cnVjdCBEZWZhdWx0SGFzaDsKIAogLy8gSGFzaCBkZWNsYXJhdGlvbnMgaW4gdGhlICdEYXRh
YmFzZScgRG9tYWluCiB0ZW1wbGF0ZTw+Ci1zdHJ1Y3QgRGVmYXVsdEhhc2g8SW5zcGVjdG9yOjpQ
cm90b2NvbDo6RGF0YWJhc2U6OlByaW1hcnlDb2xvcnM+IHsKLSAgICB1c2luZyBIYXNoID0gSW50
SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJpbWFyeUNvbG9ycz47Ci19Owor
c3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpQcmltYXJ5
Q29sb3JzPiA6IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGF0YWJhc2U6OlByaW1hcnlD
b2xvcnM+IHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAjIyMgRW5kIEZpbGU6IFRlc3RQcm90
b2NvbE9iamVjdHMuaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0IGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2VudW0tdmFs
dWVzLmpzb24tcmVzdWx0CmluZGV4IDRlOTA1ZjAzN2E5NmRhMjAyZDI1N2NlOGRhODE2NDc0N2Iy
ZGU0N2MuLjM0ZGZlOGQ5ZjQ3MzVmZDVhZjViYWMzZTZlZTczMzExMWNmM2ViZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3Rl
ZC9lbnVtLXZhbHVlcy5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZW51bS12YWx1ZXMuanNvbi1yZXN1bHQKQEAg
LTQ5Miw5ICs0OTIsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7
CiAKIC8vIEhhc2ggZGVjbGFyYXRpb25zIGluIHRoZSAnVHlwZURvbWFpbicgRG9tYWluCiB0ZW1w
bGF0ZTw+Ci1zdHJ1Y3QgRGVmYXVsdEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6VHlwZURvbWFp
bjo6VHlwZURvbWFpbkVudW0+IHsKLSAgICB1c2luZyBIYXNoID0gSW50SGFzaDxJbnNwZWN0b3I6
OlByb3RvY29sOjpUeXBlRG9tYWluOjpUeXBlRG9tYWluRW51bT47Ci19Oworc3RydWN0IERlZmF1
bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlR5cGVEb21haW46OlR5cGVEb21haW5FbnVtPiA6
IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6VHlwZURvbWFpbjo6VHlwZURvbWFpbkVudW0+
IHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAjIyMgRW5kIEZpbGU6IFRlc3RQcm90b2NvbE9i
amVjdHMuaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3Jp
cHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3Vs
dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3Rl
ZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQKaW5kZXggOWZhM2Q5MzRi
NmYxNmVkNzRmZmI4MDdiOTFlMzE0NjQ3MzE3Y2E4My4uZDg4ODBjNjNlMzM3OGM1Y2ZlMzA4Y2Fm
ZGY4NGNjOTg3NDkyYmJmYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5q
c29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hcnJheS10eXBlLmpzb24tcmVzdWx0CkBA
IC0zNzksOSArMzc5LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNo
OwogCiAvLyBIYXNoIGRlY2xhcmF0aW9ucyBpbiB0aGUgJ0RlYnVnZ2VyJyBEb21haW4KIHRlbXBs
YXRlPD4KLXN0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEZWJ1Z2dlcjo6
UmVhc29uPiB7Ci0gICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6
RGVidWdnZXI6OlJlYXNvbj47Ci19Oworc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OkRlYnVnZ2VyOjpSZWFzb24+IDogSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpE
ZWJ1Z2dlcjo6UmVhc29uPiB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogIyMjIEVuZCBGaWxl
OiBUZXN0UHJvdG9jb2xPYmplY3RzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0t
dHlwZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdApp
bmRleCA4OGI4NjY4ZjM5MjIwYzViYWU4ZWQxMDYyNDY5NTBmZDA3OTlmYzU5Li4zYTJjMjA1Mjgz
MDQ0ZTAwMDZiMzMxZWUzMTViMDQzN2E0ZmE1YmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlv
bi1lbnVtLXR5cGUuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tZW51bS10eXBlLmpz
b24tcmVzdWx0CkBAIC0zNzgsMTMgKzM3OCw5IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVj
dCBEZWZhdWx0SGFzaDsKIAogLy8gSGFzaCBkZWNsYXJhdGlvbnMgaW4gdGhlICdSdW50aW1lJyBE
b21haW4KIHRlbXBsYXRlPD4KLXN0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29s
OjpSdW50aW1lOjpGYXJtQW5pbWFscz4gewotICAgIHVzaW5nIEhhc2ggPSBJbnRIYXNoPEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OkZhcm1BbmltYWxzPjsKLX07CitzdHJ1Y3QgRGVmYXVs
dEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6RmFybUFuaW1hbHM+IDogSW50SGFz
aDxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpGYXJtQW5pbWFscz4geyB9OwogdGVtcGxh
dGU8Pgotc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OlR3
b0xlZ2dlZEFuaW1hbHM+IHsKLSAgICB1c2luZyBIYXNoID0gSW50SGFzaDxJbnNwZWN0b3I6OlBy
b3RvY29sOjpSdW50aW1lOjpUd29MZWdnZWRBbmltYWxzPjsKLX07CitzdHJ1Y3QgRGVmYXVsdEhh
c2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6VHdvTGVnZ2VkQW5pbWFscz4gOiBJbnRI
YXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OlR3b0xlZ2dlZEFuaW1hbHM+IHsgfTsK
IAogfSAvLyBuYW1lc3BhY2UgV1RGCiAjIyMgRW5kIEZpbGU6IFRlc3RQcm90b2NvbE9iamVjdHMu
aApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlw
ZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29uLXJlc3VsdAppbmRleCA4YzgxNDM2MzNjYWNk
YTBlYjBlYTA5MGM0NjJkZjczN2Q4YTE0OGE4Li4zMjhmZWQyM2RjNGNhN2YxODg1OTBiNjM0NGQ1
YmY3ZTQ3M2RkYzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29u
LXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29uLXJlc3VsdApAQCAt
OTA4LDkgKzkwOCw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsK
IAogLy8gSGFzaCBkZWNsYXJhdGlvbnMgaW4gdGhlICdEYXRhYmFzZScgRG9tYWluCiB0ZW1wbGF0
ZTw+Ci1zdHJ1Y3QgRGVmYXVsdEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGF0YWJhc2U6Ok1v
dXNlQnV0dG9uPiB7Ci0gICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2Nv
bDo6RGF0YWJhc2U6Ok1vdXNlQnV0dG9uPjsKLX07CitzdHJ1Y3QgRGVmYXVsdEhhc2g8SW5zcGVj
dG9yOjpQcm90b2NvbDo6RGF0YWJhc2U6Ok1vdXNlQnV0dG9uPiA6IEludEhhc2g8SW5zcGVjdG9y
OjpQcm90b2NvbDo6RGF0YWJhc2U6Ok1vdXNlQnV0dG9uPiB7IH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdURgogIyMjIEVuZCBGaWxlOiBUZXN0UHJvdG9jb2xPYmplY3RzLmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBl
LXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtcmVxdWlyaW5nLXJ1bnRp
bWUtY2FzdHMuanNvbi1yZXN1bHQKaW5kZXggNjc2ZGViNGRiNDA2NzU0NGNhMDNjMzczNmEzNzg5
ZGU1MmUzMGM2ZS4uMjZiNzUwYzY2YjIwMWIwZDRlY2JmMmYzNzQ4YWI5ZjQwMzA5YTllYyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4
cGVjdGVkL3R5cGUtcmVxdWlyaW5nLXJ1bnRpbWUtY2FzdHMuanNvbi1yZXN1bHQKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUt
cmVxdWlyaW5nLXJ1bnRpbWUtY2FzdHMuanNvbi1yZXN1bHQKQEAgLTU5NSwxMyArNTk1LDkgQEAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwogCiAvLyBIYXNoIGRlY2xh
cmF0aW9ucyBpbiB0aGUgJ1Rlc3QnIERvbWFpbgogdGVtcGxhdGU8Pgotc3RydWN0IERlZmF1bHRI
YXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRlc3Q6OlVuY2FzdGVkQW5pbWFscz4gewotICAgIHVz
aW5nIEhhc2ggPSBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRlc3Q6OlVuY2FzdGVkQW5p
bWFscz47Ci19Oworc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRlc3Q6
OlVuY2FzdGVkQW5pbWFscz4gOiBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRlc3Q6OlVu
Y2FzdGVkQW5pbWFscz4geyB9OwogdGVtcGxhdGU8Pgotc3RydWN0IERlZmF1bHRIYXNoPEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OlRlc3Q6OkNhc3RlZEFuaW1hbHM+IHsKLSAgICB1c2luZyBIYXNoID0g
SW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpUZXN0OjpDYXN0ZWRBbmltYWxzPjsKLX07Citz
dHJ1Y3QgRGVmYXVsdEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6VGVzdDo6Q2FzdGVkQW5pbWFs
cz4gOiBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRlc3Q6OkNhc3RlZEFuaW1hbHM+IHsg
fTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAjIyMgRW5kIEZpbGU6IFRlc3RQcm90b2NvbE9iamVj
dHMuaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9JQ1N0YXRzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0lDU3RhdHMuaAppbmRleCA5NmMxOWExN2JkYzJhN2Qx
MGYxNWY5YmNhMzkwMjE2MjFjOTlkYjgyLi44ZmI3ZDA2OTUyODkyZjI0ODdkN2I0NmQ2NWZmODE2
YTU3MzE3MzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0lDU3RhdHMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0lDU3RhdHMuaApAQCAtMTc4LDkgKzE3
OCw3IEBAIG5hbWVzcGFjZSBXVEYgewogdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwg
SlNDOjpJQ0V2ZW50OjpLaW5kKTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1
bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpJQ0V2ZW50PiB7Ci0g
ICAgdHlwZWRlZiBKU0M6OklDRXZlbnRIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8SlNDOjpJQ0V2ZW50PiA6IEpTQzo6SUNFdmVudEhhc2ggeyB9OwogCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhh
c2hUcmFpdHM8SlNDOjpJQ0V2ZW50PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OklDRXZl
bnQ+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUVGh1bmtzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFRodW5rcy5oCmluZGV4IDdlODc1YzM3M2U0
N2RkYzAxZGIzNDhhZWRmMzUwMzViYWFlMmEzMWEuLmZhY2FjNDlkMDJhZDk2M2M4Yjk0YWNlY2Ez
NjBmOGRmYTM5NWZjMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
VGh1bmtzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRUaHVua3MuaApAQCAt
OTEsNyArOTEsNyBAQCBwcml2YXRlOgogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyBpbmxp
bmUgdW5zaWduZWQgaGFzaFBvaW50ZXIoVGFnZ2VkTmF0aXZlRnVuY3Rpb24gcCkKICAgICAgICAg
ewotICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uPjo6
SGFzaDo6aGFzaChwKTsKKyAgICAgICAgICAgIHJldHVybiBEZWZhdWx0SGFzaDxUYWdnZWROYXRp
dmVGdW5jdGlvbj46Omhhc2gocCk7CiAgICAgICAgIH0KIAogICAgICAgICBzdGF0aWMgdW5zaWdu
ZWQgaGFzaChUYWdnZWROYXRpdmVGdW5jdGlvbiBmdW5jdGlvbiwgVGFnZ2VkTmF0aXZlRnVuY3Rp
b24gY29uc3RydWN0b3IsIGNvbnN0IFN0cmluZyYgbmFtZSkKQEAgLTEwMCw3ICsxMDAsNyBAQCBw
cml2YXRlOgogICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNzgzNQogICAgICAgICAgICAgdW5zaWduZWQgaGFzaCA9IFdURjo6cGFpckludEhh
c2goaGFzaFBvaW50ZXIoZnVuY3Rpb24pLCBoYXNoUG9pbnRlcihjb25zdHJ1Y3RvcikpOwogICAg
ICAgICAgICAgaWYgKCFuYW1lLmlzTnVsbCgpKQotICAgICAgICAgICAgICAgIGhhc2ggPSBXVEY6
OnBhaXJJbnRIYXNoKGhhc2gsIERlZmF1bHRIYXNoPFN0cmluZz46Okhhc2g6Omhhc2gobmFtZSkp
OworICAgICAgICAgICAgICAgIGhhc2ggPSBXVEY6OnBhaXJJbnRIYXNoKGhhc2gsIERlZmF1bHRI
YXNoPFN0cmluZz46Omhhc2gobmFtZSkpOwogICAgICAgICAgICAgcmV0dXJuIGhhc2g7CiAgICAg
ICAgIH0KICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWcu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmgKaW5kZXggMGVjZDY3OGY2ZjZmYzY0
ZWZlMzE3NDljM2QxZWVhN2ExZDAyMTVhNS4uMGIyMjlhYTBmYTM0MDViOWNmM2UyNWQ3NDcyNDZl
NWQ4ZDBhNTQ4NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWcuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZy5oCkBAIC0yMzQsOSArMjM0LDcgQEAg
c3RydWN0IFJlZ0hhc2ggewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6
UmVnPiB7Ci0gICAgdHlwZWRlZiBKU0M6OlJlZ0hhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDxKU0M6OlJlZz4gOiBKU0M6OlJlZ0hhc2ggeyB9OwogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hU
cmFpdHM8SlNDOjpSZWc+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6UmVnPiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmgKaW5kZXggODBhMmRmNGZlYzZiYjMzOWQw
NDBhOTdlYWVlYjFlNGVmYTc4MTRkZC4uZTAzZGJhNDZlNmFmNDI0ZjBlNTA1MzY1N2U2ODA3NzA0
MTk2ZTg4OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNl
dC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuaApAQCAtMjM5
LDkgKzIzOSw3IEBAIHN0cnVjdCBSZWdpc3RlclNldEhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPEpTQzo6UmVnaXN0ZXJTZXQ+IHsKLSAgICB0eXBlZGVmIEpTQzo6UmVn
aXN0ZXJTZXRIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlND
OjpSZWdpc3RlclNldD4gOiBKU0M6OlJlZ2lzdGVyU2V0SGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0
czxKU0M6OlJlZ2lzdGVyU2V0PiA6IHB1YmxpYyBDdXN0b21IYXNoVHJhaXRzPEpTQzo6UmVnaXN0
ZXJTZXQ+IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvVmFy
aWFibGVFbnZpcm9ubWVudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9WYXJpYWJs
ZUVudmlyb25tZW50LmgKaW5kZXggOWI0MjI4NGFiZmM3MjY4NzE0OGU5YjQ4ZjNjYzllOTQ0MTAz
MWYwYy4uYzEyMTM1MTlmMTcxZDBmYzdlMmVmYzdkMmRlZThhMWFiNDQ5OTA5MCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9WYXJpYWJsZUVudmlyb25tZW50LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9WYXJpYWJsZUVudmlyb25tZW50LmgKQEAg
LTMyNyw5ICszMjcsNyBAQCBwcml2YXRlOgogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPEpTQzo6Q29tcGFjdFZhcmlhYmxlTWFwS2V5PiB7Ci0gICAgdXNpbmcgSGFzaCA9IEpTQzo6
Q29tcGFjdFZhcmlhYmxlTWFwS2V5OwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PEpTQzo6Q29tcGFjdFZhcmlhYmxlTWFwS2V5PiA6IEpTQzo6Q29tcGFjdFZhcmlhYmxlTWFwS2V5
IHsgfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkNvbXBhY3RWYXJpYWJs
ZU1hcEtleT4gOiBHZW5lcmljSGFzaFRyYWl0czxKU0M6OkNvbXBhY3RWYXJpYWJsZU1hcEtleT4g
ewogICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlck9yaWdpbi5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyT3JpZ2luLmgKaW5kZXgg
MTAxNmE0MDIwZjI4MDI1NTc1MWIyOTY3ZTEwYThkYTU2ZTE3NGI0NS4uMWVlYWJlNzBkYmQzNWQ3
MWE1NDI3YjVmYmY2OGQ5NTYyNTQ5ZTRmZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Byb2ZpbGVyL1Byb2ZpbGVyT3JpZ2luLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Byb2ZpbGVyL1Byb2ZpbGVyT3JpZ2luLmgKQEAgLTEwMSw5ICsxMDEsNyBAQCBzdHJ1Y3QgT3Jp
Z2luSGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0
IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpQcm9maWxl
cjo6T3JpZ2luPiB7Ci0gICAgdHlwZWRlZiBKU0M6OlByb2ZpbGVyOjpPcmlnaW5IYXNoIEhhc2g7
Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpQcm9maWxlcjo6T3JpZ2lu
PiA6IEpTQzo6UHJvZmlsZXI6Ok9yaWdpbkhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpQ
cm9maWxlcjo6T3JpZ2luPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OlByb2ZpbGVyOjpP
cmlnaW4+IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Q
cm9maWxlck9yaWdpblN0YWNrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJv
ZmlsZXJPcmlnaW5TdGFjay5oCmluZGV4IDBkMDllYTY1ZGQzODNiMTBhZWFlZjk2Yzg3Y2JmMTJj
MmY5YzBlZjYuLjUxOTVhMTNjYmViNTNkMmZjZDJjZTRlYTRjNmIyMzc5YTQzOTBmMmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlck9yaWdpblN0YWNr
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyT3JpZ2luU3Rh
Y2suaApAQCAtODcsOSArODcsNyBAQCBzdHJ1Y3QgT3JpZ2luU3RhY2tIYXNoIHsKIG5hbWVzcGFj
ZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1w
bGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OlByb2ZpbGVyOjpPcmlnaW5TdGFjaz4gewot
ICAgIHR5cGVkZWYgSlNDOjpQcm9maWxlcjo6T3JpZ2luU3RhY2tIYXNoIEhhc2g7Ci19OwordGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpQcm9maWxlcjo6T3JpZ2luU3RhY2s+IDog
SlNDOjpQcm9maWxlcjo6T3JpZ2luU3RhY2tIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUg
VD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6
UHJvZmlsZXI6Ok9yaWdpblN0YWNrPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OlByb2Zp
bGVyOjpPcmlnaW5TdGFjaz4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Byb2ZpbGVyL1Byb2ZpbGVyVUlELmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIv
UHJvZmlsZXJVSUQuaAppbmRleCBhYTU0ODg3Mjc2ZTE3MzliMjI3NzEwNDRmYmE2ZTgzNmQ4NzY5
MTc3Li4wZTQyMzI0Y2YyYTliMGQwNWQ4ZTM0ZDNmYjhkNGM2MDY4N2FkZWFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJVSUQuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJVSUQuaApAQCAtOTksOSArOTksNyBA
QCBzdHJ1Y3QgVUlESGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUg
VD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlND
OjpQcm9maWxlcjo6VUlEPiB7Ci0gICAgdHlwZWRlZiBKU0M6OlByb2ZpbGVyOjpVSURIYXNoIEhh
c2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpQcm9maWxlcjo6VUlE
PiA6IEpTQzo6UHJvZmlsZXI6OlVJREhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpQcm9m
aWxlcjo6VUlEPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OlByb2ZpbGVyOjpVSUQ+IHsg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NhY2hlZFR5cGVz
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NhY2hlZFR5cGVzLmNwcAppbmRl
eCAyMmY3MTY0ZTA5ZjdiMzY1MDRmZjg4OGJmYzlmMWMzZDQ0NGYzZDM0Li5lZWM0YjZmYjliNTll
NDNlY2MxNDliYzAwNjE3ODJkMDhlYWY1Y2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9DYWNoZWRUeXBlcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ2FjaGVkVHlwZXMuY3BwCkBAIC02NjgsNyArNjY4LDcgQEAgcHJpdmF0ZToKICAg
ICBTZWNvbmQgbV9zZWNvbmQ7CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1l
IFZhbHVlLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8U291cmNlVHlw
ZTxLZXk+Pjo6SGFzaCwgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxTb3VyY2VU
eXBlPEtleT4+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPFNvdXJjZVR5
cGU8VmFsdWU+Pj4KK3RlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWUsIHR5cGVu
YW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxTb3VyY2VUeXBlPEtleT4+LCB0eXBl
bmFtZSBLZXlUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPFNvdXJjZVR5cGU8S2V5Pj4sIHR5cGVuYW1l
IE1hcHBlZFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8U291cmNlVHlwZTxWYWx1ZT4+PgogY2xhc3Mg
Q2FjaGVkSGFzaE1hcCA6IHB1YmxpYyBWYXJpYWJsZUxlbmd0aE9iamVjdDxIYXNoTWFwPFNvdXJj
ZVR5cGU8S2V5PiwgU291cmNlVHlwZTxWYWx1ZT4sIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFw
cGVkVHJhaXRzQXJnPj4gewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEssIHR5cGVuYW1lIFY+CiAg
ICAgdXNpbmcgTWFwID0gSGFzaE1hcDxLLCBWLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBl
ZFRyYWl0c0FyZz47CkBAIC05MjQsNyArOTI0LDcgQEAgcHJpdmF0ZToKICAgICBzaXplX3QgbV9u
dW1CaXRzOwogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgSGFzaEFyZyA9IHR5
cGVuYW1lIERlZmF1bHRIYXNoPFQ+OjpIYXNoPgordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5h
bWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFQ+PgogY2xhc3MgQ2FjaGVkSGFzaFNl
dCA6IHB1YmxpYyBDYWNoZWRPYmplY3Q8SGFzaFNldDxTb3VyY2VUeXBlPFQ+LCBIYXNoQXJnPj4g
ewogcHVibGljOgogICAgIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEhhc2hT
ZXQ8U291cmNlVHlwZTxUPiwgSGFzaEFyZz4mIHNldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvbnRyb2xGbG93UHJvZmlsZXIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbnRyb2xGbG93UHJvZmlsZXIuaAppbmRleCA0YmRlNWVmYTg2MTFl
NzdlY2U5OWYzZDczODlkNWQ4ZWQ4NTAwMGY2Li4xYzQ5NTU5ZjUyMDUwNzlhMmM2ZDJkYjRkY2Uw
YjUzNjNkMmI5ZDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b250cm9sRmxvd1Byb2ZpbGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q29udHJvbEZsb3dQcm9maWxlci5oCkBAIC02OCw5ICs2OCw3IEBAIHN0cnVjdCBCYXNpY0Jsb2Nr
S2V5SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0
IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpCYXNpY0Js
b2NrS2V5PiB7Ci0gICAgdHlwZWRlZiBKU0M6OkJhc2ljQmxvY2tLZXlIYXNoIEhhc2g7Ci19Owor
dGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpCYXNpY0Jsb2NrS2V5PiA6IEpTQzo6
QmFzaWNCbG9ja0tleUhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFz
aFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpCYXNpY0Jsb2NrS2V5
PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OkJhc2ljQmxvY2tLZXk+IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUZ1bmN0aW9uLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVGdW5jdGlvbi5oCmluZGV4IDEwYmFmOTA5
Njc5NzMxNzJhYzQzODY4NWYwYjc3NWEyNjJlNmY4YjMuLmIxNjU4NDU4ZThkOWZjNTgxMGQ1Yjkw
NWVhMWE5OWU1NjMwZTVlMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL05hdGl2ZUZ1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TmF0aXZlRnVuY3Rpb24uaApAQCAtMTA4LDE1ICsxMDgsMTEgQEAgc3RhdGljX2Fzc2VydChzaXpl
b2YoVGFnZ2VkTmF0aXZlRnVuY3Rpb24pID09IHNpemVvZih2b2lkKiksICIiKTsKIAogbmFtZXNw
YWNlIFdURiB7CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6TmF0aXZlRnVuY3Rpb24+IHsKLSAgICB1
c2luZyBIYXNoID0gSlNDOjpOYXRpdmVGdW5jdGlvbkhhc2g7Ci19OwordGVtcGxhdGU8dHlwZW5h
bWU+IHN0cnVjdCBEZWZhdWx0SGFzaDsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpT
Qzo6TmF0aXZlRnVuY3Rpb24+IDogSlNDOjpOYXRpdmVGdW5jdGlvbkhhc2ggeyB9OwogCi10ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxKU0M6OlRhZ2dlZE5hdGl2ZUZ1bmN0aW9uPiB7Ci0gICAgdXNpbmcgSGFzaCA9
IEpTQzo6VGFnZ2VkTmF0aXZlRnVuY3Rpb25IYXNoOwotfTsKK3RlbXBsYXRlPHR5cGVuYW1lPiBz
dHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OlRh
Z2dlZE5hdGl2ZUZ1bmN0aW9uPiA6IEpTQzo6VGFnZ2VkTmF0aXZlRnVuY3Rpb25IYXNoIHsgfTsK
IAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1Byb3RvdHlwZUtleS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UHJvdG90eXBlS2V5LmgKaW5kZXggYWIxNzViMzc4NmMzY2Y2YTBjOTcyMzc5MzcwNzkwYzk5YjJh
MjM0Yi4uYTdmOTQ3MGYxOTQyYTk5NWZjNDkxY2E0MjdkMWEzMDlhZGY4NWIyYSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlS2V5LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlS2V5LmgKQEAgLTk1LDEyICs5NSwx
MCBAQCBzdHJ1Y3QgUHJvdG90eXBlS2V5SGFzaCB7CiAKIG5hbWVzcGFjZSBXVEYgewogCi10ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxKU0M6OlByb3RvdHlwZUtleT4gewotICAgIHR5cGVkZWYgSlNDOjpQcm90b3R5
cGVLZXlIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBEZWZhdWx0SGFz
aDsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UHJvdG90eXBlS2V5PiA6IEpT
Qzo6UHJvdG90eXBlS2V5SGFzaCB7IH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBI
YXNoVHJhaXRzOwordGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxh
dGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OlByb3RvdHlwZUtleT4gOiBTaW1wbGVDbGFzc0hh
c2hUcmFpdHM8SlNDOjpQcm90b3R5cGVLZXk+IHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBLZXkuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cEtleS5oCmluZGV4IDA0YjZjNjM0ODYz
ODY3ZGJkMzZmMjViZGU5ODMxOGE2YzU4MGU5YTIuLmUwZjg4MzEwMjBkNmQ5MzVjNzAxOTAxZmI0
OWIyOGNiNmRjOTM4ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1JlZ0V4cEtleS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cEtl
eS5oCkBAIC04OCwxMSArODgsOSBAQCBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlZ0V4
cEtleSYgYSwgY29uc3QgUmVnRXhwS2V5JiBiKQogfSAvLyBuYW1lc3BhY2UgSlNDCiAKIG5hbWVz
cGFjZSBXVEYgewotdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwordGVt
cGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBEZWZhdWx0SGFzaDsKIAotdGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8SlNDOjpSZWdFeHBLZXk+IHsKLSAgICB0eXBlZGVmIEpTQzo6UmVnRXhwS2V5
OjpIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpSZWdF
eHBLZXk+IDogSlNDOjpSZWdFeHBLZXk6Okhhc2ggeyB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBI
YXNoVHJhaXRzPEpTQzo6UmVnRXhwS2V5PiA6IEdlbmVyaWNIYXNoVHJhaXRzPEpTQzo6UmVnRXhw
S2V5PiB7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGVtcHR5VmFsdWVJc1plcm8gPSB0cnVl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVtcGxhdGVPYmpl
Y3REZXNjcmlwdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UZW1wbGF0ZU9i
amVjdERlc2NyaXB0b3IuaAppbmRleCBmZGMxNDUyY2I1MjViMWEwMDU1OTFkNzZmZWE4NDdlM2Yw
ZjZkYjA0Li43M2U0M2ZhMmMxN2E3ZjVlN2UzZDY3MzNlYTVhOGNjZTBmODRkZTFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UZW1wbGF0ZU9iamVjdERlc2NyaXB0
b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UZW1wbGF0ZU9iamVjdERl
c2NyaXB0b3IuaApAQCAtMTExLDExICsxMTEsOSBAQCBpbmxpbmUgdW5zaWduZWQgVGVtcGxhdGVP
YmplY3REZXNjcmlwdG9yOjpjYWxjdWxhdGVIYXNoKGNvbnN0IFN0cmluZ1ZlY3RvciYgcmF3Uwog
fSAvLyBuYW1lc3BhY2UgSlNDCiAKIG5hbWVzcGFjZSBXVEYgewotdGVtcGxhdGU8dHlwZW5hbWUg
VD4gc3RydWN0IERlZmF1bHRIYXNoOwordGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBEZWZhdWx0
SGFzaDsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpUZW1wbGF0ZU9iamVj
dERlc2NyaXB0b3I+IHsKLSAgICB0eXBlZGVmIEpTQzo6VGVtcGxhdGVPYmplY3REZXNjcmlwdG9y
OjpIYXNoZXIgSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OlRl
bXBsYXRlT2JqZWN0RGVzY3JpcHRvcj4gOiBKU0M6OlRlbXBsYXRlT2JqZWN0RGVzY3JpcHRvcjo6
SGFzaGVyIHsgfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OlRlbXBsYXRl
T2JqZWN0RGVzY3JpcHRvcj4gOiBDdXN0b21IYXNoVHJhaXRzPEpTQzo6VGVtcGxhdGVPYmplY3RE
ZXNjcmlwdG9yPiB7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVHlwZVByb2ZpbGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJv
ZmlsZXIuaAppbmRleCA4NjNlY2E3NTE1MGQ5NGM0OTVkZWZjZjI0NzFlNzM3NjIyNWYxNWEwLi43
NzljYzAwYzEwZGE5ZTFlYjZjYTE5NzgwNTdmZGEyMTlkODBjYmM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXIuaApAQCAtOTgsOSArOTgsNyBAQCBzdHJ1
Y3QgUXVlcnlLZXlIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6
OlF1ZXJ5S2V5PiB7Ci0gICAgdHlwZWRlZiBKU0M6OlF1ZXJ5S2V5SGFzaCBIYXNoOwotfTsKK3Rl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UXVlcnlLZXk+IDogSlNDOjpRdWVyeUtl
eUhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRl
bXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpRdWVyeUtleT4gOiBTaW1wbGVDbGFzc0hh
c2hUcmFpdHM8SlNDOjpRdWVyeUtleT4gewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVmFyT2Zmc2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9W
YXJPZmZzZXQuaAppbmRleCAyMDAyZjlkNzAyYjNhMmFjZDc1ZDMwMzQ4NDRiODYwOTk1OTRkY2U3
Li40MmMzN2MxMWExYWNlNDI0NGRmN2QzODFlNDY1NWNlZWZjOTYyMTllIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WYXJPZmZzZXQuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9WYXJPZmZzZXQuaApAQCAtMjMxLDkgKzIzMSw3IEBAIG5hbWVz
cGFjZSBXVEYgewogdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgSlNDOjpWYXJLaW5k
KTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpWYXJPZmZzZXQ+IHsKLSAgICB0eXBlZGVmIEpTQzo6
VmFyT2Zmc2V0SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpT
Qzo6VmFyT2Zmc2V0PiA6IEpTQzo6VmFyT2Zmc2V0SGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxK
U0M6OlZhck9mZnNldD4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpWYXJPZmZzZXQ+IHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKaW5kZXggODhlZmQ4NjU5
NGUxN2JiMmRlZjNjNzQ3NThlYTlhZWRiNDZiODU2YS4uZGYyOTkxYjI0YWM2MmQ4MDliZDg4NDlh
Yjk2ZDYzMjJhNmJjMzljMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV2Vha0dDTWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dD
TWFwLmgKQEAgLTM4LDcgKzM4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBwcnVuZVN0
YWxlRW50cmllcygpID0gMDsKIH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5h
bWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxLZXlB
cmc+OjpIYXNoLAordGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBWYWx1ZUFyZywg
dHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPEtleUFyZz4sCiAgICAgdHlw
ZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlBcmc+PgogY2xhc3MgV2Vha0dDTWFw
IGZpbmFsIDogcHVibGljIFdlYWtHQ01hcEJhc2UgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUJCUVBsYW4u
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CQlFQbGFuLmgKaW5kZXggZmI0ZTFl
MjU5NjIwZGJiNzU0NzZmYzc2YzkyZGNlYzYyNTM4NjQ0Ny4uZDdlNzEyOWFmYTQwNTkxMzUyNDdl
MjExOTllNGMxMTgzMTAzMmMyYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV2FzbUJCUVBsYW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQkJR
UGxhbi5oCkBAIC04Myw3ICs4Myw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPElu
dGVybmFsRnVuY3Rpb24+IGNvbXBpbGVGdW5jdGlvbih1aW50MzJfdCBmdW5jdGlvbkluZGV4LCBD
b21waWxhdGlvbkNvbnRleHQmLCBWZWN0b3I8VW5saW5rZWRXYXNtVG9XYXNtQ2FsbD4mLCBUaWVy
VXBDb3VudCopOwogCiAgICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9u
Pj4gbV93YXNtSW50ZXJuYWxGdW5jdGlvbnM7Ci0gICAgSGFzaE1hcDx1aW50MzJfdCwgc3RkOjp1
bmlxdWVfcHRyPEludGVybmFsRnVuY3Rpb24+LCB0eXBlbmFtZSBEZWZhdWx0SGFzaDx1aW50MzJf
dD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDMyX3Q+PiBt
X2VtYmVkZGVyVG9XYXNtSW50ZXJuYWxGdW5jdGlvbnM7CisgICAgSGFzaE1hcDx1aW50MzJfdCwg
c3RkOjp1bmlxdWVfcHRyPEludGVybmFsRnVuY3Rpb24+LCB0eXBlbmFtZSBEZWZhdWx0SGFzaDx1
aW50MzJfdD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDMyX3Q+PiBt
X2VtYmVkZGVyVG9XYXNtSW50ZXJuYWxGdW5jdGlvbnM7CiAgICAgVmVjdG9yPENvbXBpbGF0aW9u
Q29udGV4dD4gbV9jb21waWxhdGlvbkNvbnRleHRzOwogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9w
dHI8VGllclVwQ291bnQ+PiBtX3RpZXJVcENvdW50czsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vV2FzbUNvZGVCbG9jay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV2FzbUNvZGVCbG9jay5oCmluZGV4IGE4ZmIyNGI4ZTA1OWY5YTE5MTc4OTEwMDdkMThk
MzhlNTUzMTcxZWQuLmFiZGVlYTQ3ZmYzZjFhMzA4ZTYyMzEzMzc4M2E5NjQ4NzlkMjI0ZWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21Db2RlQmxvY2suaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ29kZUJsb2NrLmgKQEAgLTEzNiw3ICsx
MzYsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxSZWZQdHI8T01HQ2FsbGVlPj4gbV9vbWdDYWxs
ZWVzOwogICAgIFZlY3RvcjxSZWZQdHI8QkJRQ2FsbGVlPj4gbV9iYnFDYWxsZWVzOwogICAgIFJl
ZlB0cjxMTEludENhbGxlZXM+IG1fbGxpbnRDYWxsZWVzOwotICAgIEhhc2hNYXA8dWludDMyX3Qs
IFJlZlB0cjxFbWJlZGRlckVudHJ5cG9pbnRDYWxsZWU+LCB0eXBlbmFtZSBEZWZhdWx0SGFzaDx1
aW50MzJfdD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDMy
X3Q+PiBtX2VtYmVkZGVyQ2FsbGVlczsKKyAgICBIYXNoTWFwPHVpbnQzMl90LCBSZWZQdHI8RW1i
ZWRkZXJFbnRyeXBvaW50Q2FsbGVlPiwgdHlwZW5hbWUgRGVmYXVsdEhhc2g8dWludDMyX3Q+LCBX
VEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj4gbV9lbWJlZGRlckNh
bGxlZXM7CiAgICAgVmVjdG9yPE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxXYXNtRW50cnlQdHJUYWc+
PiBtX3dhc21JbmRpcmVjdENhbGxFbnRyeVBvaW50czsKICAgICBWZWN0b3I8VmVjdG9yPFVubGlu
a2VkV2FzbVRvV2FzbUNhbGw+PiBtX3dhc21Ub1dhc21DYWxsc2l0ZXM7CiAgICAgVmVjdG9yPE1h
Y3JvQXNzZW1ibGVyQ29kZVJlZjxXYXNtRW50cnlQdHJUYWc+PiBtX3dhc21Ub1dhc21FeGl0U3R1
YnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtRW50cnlQbGFu
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtRW50cnlQbGFuLmgKaW5kZXggYjAw
MGY4YmEyMjhhNzA3ZTRjYTMzZGZjNjU2MThmOGM4ZmYwMDgwOC4uZGU4ODdjYTY0ZjQ3NzAzZjEx
ODllNjgzOWU5ZDcxYTI0ODAxMTA4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV2FzbUVudHJ5UGxhbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dh
c21FbnRyeVBsYW4uaApAQCAtMTE1LDcgKzExNSw3IEBAIHByb3RlY3RlZDoKIAogICAgIFZlY3Rv
cjx1aW50OF90PiBtX3NvdXJjZTsKICAgICBWZWN0b3I8TWFjcm9Bc3NlbWJsZXJDb2RlUmVmPFdh
c21FbnRyeVB0clRhZz4+IG1fd2FzbVRvV2FzbUV4aXRTdHViczsKLSAgICBIYXNoU2V0PHVpbnQz
Ml90LCB0eXBlbmFtZSBEZWZhdWx0SGFzaDx1aW50MzJfdD46Okhhc2gsIFdURjo6VW5zaWduZWRX
aXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDMyX3Q+PiBtX2V4cG9ydGVkRnVuY3Rpb25JbmRpY2Vz
OworICAgIEhhc2hTZXQ8dWludDMyX3QsIHR5cGVuYW1lIERlZmF1bHRIYXNoPHVpbnQzMl90Piwg
V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+IG1fZXhwb3J0ZWRG
dW5jdGlvbkluZGljZXM7CiAKICAgICBWZWN0b3I8VmVjdG9yPFVubGlua2VkV2FzbVRvV2FzbUNh
bGw+PiBtX3VubGlua2VkV2FzbVRvV2FzbUNhbGxzOwogICAgIFN0cmVhbWluZ1BhcnNlciBtX3N0
cmVhbWluZ1BhcnNlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dh
c21MTEludFBsYW4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21MTEludFBsYW4u
aAppbmRleCBmYjg0OTFiYWIzMGRmYWI3OWMzN2YxMmFlYmJjMWVlNDFkMWU4NWQ5Li5hN2ExZTZl
NmQ3NDY1MjdkMzU3MDljNGU2Y2M3NGFkMTdkOWY3OWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRQbGFuLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbUxMSW50UGxhbi5oCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXYXNt
IHsKIGNsYXNzIExMSW50Q2FsbGVlOwogY2xhc3MgRW1iZWRkZXJFbnRyeXBvaW50Q2FsbGVlOwog
Ci11c2luZyBFbWJlZGRlckVudHJ5cG9pbnRDYWxsZWVNYXAgPSBIYXNoTWFwPHVpbnQzMl90LCBS
ZWZQdHI8RW1iZWRkZXJFbnRyeXBvaW50Q2FsbGVlPiwgdHlwZW5hbWUgRGVmYXVsdEhhc2g8dWlu
dDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90
Pj47Cit1c2luZyBFbWJlZGRlckVudHJ5cG9pbnRDYWxsZWVNYXAgPSBIYXNoTWFwPHVpbnQzMl90
LCBSZWZQdHI8RW1iZWRkZXJFbnRyeXBvaW50Q2FsbGVlPiwgdHlwZW5hbWUgRGVmYXVsdEhhc2g8
dWludDMyX3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj47
CiAKIGNsYXNzIExMSW50UGxhbiBmaW5hbCA6IHB1YmxpYyBFbnRyeVBsYW4gewogICAgIHVzaW5n
IEJhc2UgPSBFbnRyeVBsYW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9XYXNtU2lnbmF0dXJlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU2lnbmF0
dXJlLmgKaW5kZXggOWM1YTc5NmExY2ZkMTA0ZWJlMmRmOGQ3M2YxYmI4NDc0N2FkOTE1My4uY2E4
YzMyYjU2ZjZjYWNkNjIzYzIxNjU5YTQzY2Y5OWFhOTcwNDg1YSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVNpZ25hdHVyZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dhc21TaWduYXR1cmUuaApAQCAtMTIzLDkgKzEyMyw3IEBAIHN0cnVjdCBT
aWduYXR1cmVIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Oldh
c206OlNpZ25hdHVyZUhhc2g+IHsKLSAgICB0eXBlZGVmIEpTQzo6V2FzbTo6U2lnbmF0dXJlSGFz
aCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6V2FzbTo6U2ln
bmF0dXJlSGFzaD4gOiBKU0M6Oldhc206OlNpZ25hdHVyZUhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFp
dHM8SlNDOjpXYXNtOjpTaWduYXR1cmVIYXNoPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6
Oldhc206OlNpZ25hdHVyZUhhc2g+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0JpdFZl
Y3Rvci5oIGIvU291cmNlL1dURi93dGYvQml0VmVjdG9yLmgKaW5kZXggM2U2MTM0ODBjZTAxOGU2
ODEwMDg1ZDY4ZTc1ODgwNjU3OTVkZjVjMC4uZGQzOGJkODg4MjQyMTcxNTcxOTY2MDQzYTJhNDVk
NjA4ZWE2MDJiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQml0VmVjdG9yLmgKKysrIGIv
U291cmNlL1dURi93dGYvQml0VmVjdG9yLmgKQEAgLTQ5Myw5ICs0OTMsNyBAQCBzdHJ1Y3QgQml0
VmVjdG9ySGFzaCB7CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhh
c2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxCaXRWZWN0b3I+IHsKLSAgICB0eXBl
ZGVmIEJpdFZlY3Rvckhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFz
aDxCaXRWZWN0b3I+IDogQml0VmVjdG9ySGFzaCB7IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhh
c2hUcmFpdHM8Qml0VmVjdG9yPiA6IHB1YmxpYyBDdXN0b21IYXNoVHJhaXRzPEJpdFZlY3Rvcj4g
eyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Gb3J3YXJkLmggYi9Tb3VyY2UvV1RG
L3d0Zi9Gb3J3YXJkLmgKaW5kZXggN2I0MjA3MmNmZGNkNzUzMDk0MTQ3ZmViNTYzMDZjZmE0MWFk
ZGYzOS4uNDZkOTQ1MmIxMTEwZmE5ZmEyMTc3MDY5YjY5ZmUwNDA4N2Q5MTU2NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvRm9yd2FyZC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZvcndhcmQu
aApAQCAtNzgsMTUgKzc4LDE1IEBAIHRlbXBsYXRlPHR5cGVuYW1lLi4uPiBjbGFzcyBWYXJpYW50
OwogdGVtcGxhdGU8dHlwZW5hbWUsIHNpemVfdCA9IDAsIHR5cGVuYW1lID0gQ3Jhc2hPbk92ZXJm
bG93LCBzaXplX3QgPSAxNiwgdHlwZW5hbWUgTWFsbG9jID0gVmVjdG9yTWFsbG9jPiBjbGFzcyBW
ZWN0b3I7CiB0ZW1wbGF0ZTx0eXBlbmFtZSwgdHlwZW5hbWUgPSBFbXB0eUNvdW50ZXI+IGNsYXNz
IFdlYWtQdHI7CiAKLXRlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2ggeyB1c2lu
ZyBIYXNoID0gdm9pZDsgfTsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7
CiB0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IER1bWJWYWx1ZVRyYWl0czsKIHRlbXBsYXRlPHR5
cGVuYW1lPiBzdHJ1Y3QgRW51bVRyYWl0czsKIHRlbXBsYXRlPHR5cGVuYW1lIEUsIEUuLi4+IHN0
cnVjdCBFbnVtVmFsdWVzOwogdGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBIYXNoVHJhaXRzOwog
Ci10ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZSwgdHlwZW5hbWUgPSB0eXBlbmFtZSBEZWZhdWx0SGFz
aDxWYWx1ZT46Okhhc2gsIHR5cGVuYW1lID0gSGFzaFRyYWl0czxWYWx1ZT4+IGNsYXNzIEhhc2hD
b3VudGVkU2V0OwotdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBNYXBwZWRBcmcs
IHR5cGVuYW1lID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJnPjo6SGFzaCwgdHlwZW5hbWUg
PSBIYXNoVHJhaXRzPEtleUFyZz4sIHR5cGVuYW1lID0gSGFzaFRyYWl0czxNYXBwZWRBcmc+PiBj
bGFzcyBIYXNoTWFwOwotdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lID0gdHlw
ZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpIYXNoLCB0eXBlbmFtZSA9IEhhc2hUcmFpdHM8
VmFsdWVBcmc+PiBjbGFzcyBIYXNoU2V0OwordGVtcGxhdGU8dHlwZW5hbWUgVmFsdWUsIHR5cGVu
YW1lID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWU+LCB0eXBlbmFtZSA9IEhhc2hUcmFpdHM8
VmFsdWU+PiBjbGFzcyBIYXNoQ291bnRlZFNldDsKK3RlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywg
dHlwZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPEtleUFy
Zz4sIHR5cGVuYW1lID0gSGFzaFRyYWl0czxLZXlBcmc+LCB0eXBlbmFtZSA9IEhhc2hUcmFpdHM8
TWFwcGVkQXJnPj4gY2xhc3MgSGFzaE1hcDsKK3RlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCB0
eXBlbmFtZSA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPiwgdHlwZW5hbWUgPSBIYXNo
VHJhaXRzPFZhbHVlQXJnPj4gY2xhc3MgSGFzaFNldDsKIAogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9IYXNoRnVuY3Rpb25zLmggYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoRnVuY3Rpb25z
LmgKaW5kZXggOWRjYjg5ZjcxYzNiY2M4ZjYwZDM2MzUxZDI3ZjViODFlZTNlZjhlMi4uNWY5MGY0
ZWE3NjExODFiZmU0YTQ1MDc3YjEyZDE4NTFlN2Y4OWM0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvSGFzaEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0hhc2hGdW5jdGlvbnMu
aApAQCAtMTYwLDEzICsxNjAsMTMgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVCwgdHlwZW5hbWUgVT4gc3RydWN0IFBhaXJIYXNoIHsKICAgICAgICAgc3RhdGljIHVu
c2lnbmVkIGhhc2goY29uc3Qgc3RkOjpwYWlyPFQsIFU+JiBwKQogICAgICAgICB7Ci0gICAgICAg
ICAgICByZXR1cm4gcGFpckludEhhc2goRGVmYXVsdEhhc2g8VD46Okhhc2g6Omhhc2gocC5maXJz
dCksIERlZmF1bHRIYXNoPFU+OjpIYXNoOjpoYXNoKHAuc2Vjb25kKSk7CisgICAgICAgICAgICBy
ZXR1cm4gcGFpckludEhhc2goRGVmYXVsdEhhc2g8VD46Omhhc2gocC5maXJzdCksIERlZmF1bHRI
YXNoPFU+OjpoYXNoKHAuc2Vjb25kKSk7CiAgICAgICAgIH0KICAgICAgICAgc3RhdGljIGJvb2wg
ZXF1YWwoY29uc3Qgc3RkOjpwYWlyPFQsIFU+JiBhLCBjb25zdCBzdGQ6OnBhaXI8VCwgVT4mIGIp
CiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBEZWZhdWx0SGFzaDxUPjo6SGFzaDo6ZXF1
YWwoYS5maXJzdCwgYi5maXJzdCkgJiYgRGVmYXVsdEhhc2g8VT46Okhhc2g6OmVxdWFsKGEuc2Vj
b25kLCBiLnNlY29uZCk7CisgICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8VD46OmVxdWFs
KGEuZmlyc3QsIGIuZmlyc3QpICYmIERlZmF1bHRIYXNoPFU+OjplcXVhbChhLnNlY29uZCwgYi5z
ZWNvbmQpOwogICAgICAgICB9Ci0gICAgICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBzYWZlVG9D
b21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IERlZmF1bHRIYXNoPFQ+OjpIYXNoOjpzYWZlVG9Db21w
YXJlVG9FbXB0eU9yRGVsZXRlZCAmJiBEZWZhdWx0SGFzaDxVPjo6SGFzaDo6c2FmZVRvQ29tcGFy
ZVRvRW1wdHlPckRlbGV0ZWQ7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBzYWZlVG9D
b21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IERlZmF1bHRIYXNoPFQ+OjpzYWZlVG9Db21wYXJlVG9F
bXB0eU9yRGVsZXRlZCAmJiBEZWZhdWx0SGFzaDxVPjo6c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRl
bGV0ZWQ7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IHN0
cnVjdCBJbnRQYWlySGFzaCB7CkBAIC0xODEsOTQgKzE4MSw5NCBAQCBuYW1lc3BhY2UgV1RGIHsK
ICAgICAgICAgc3RhdGljIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPEkgPCBzaXplb2YuLi4oVHlw
ZXMpIC0gMSwgdW5zaWduZWQ+Ojp0eXBlIGhhc2goY29uc3Qgc3RkOjp0dXBsZTxUeXBlcy4uLj4m
IHQpCiAgICAgICAgIHsKICAgICAgICAgICAgIHVzaW5nIEl0aFR1cGxlRWxlbWVudFR5cGUgPSB0
eXBlbmFtZSBzdGQ6OnR1cGxlX2VsZW1lbnQ8SSwgdHlwZW5hbWUgc3RkOjp0dXBsZTxUeXBlcy4u
Lj4+Ojp0eXBlOwotICAgICAgICAgICAgcmV0dXJuIHBhaXJJbnRIYXNoKERlZmF1bHRIYXNoPEl0
aFR1cGxlRWxlbWVudFR5cGU+OjpIYXNoOjpoYXNoKHN0ZDo6Z2V0PEk+KHQpKSwgaGFzaDxJICsg
MT4odCkpOworICAgICAgICAgICAgcmV0dXJuIHBhaXJJbnRIYXNoKERlZmF1bHRIYXNoPEl0aFR1
cGxlRWxlbWVudFR5cGU+OjpoYXNoKHN0ZDo6Z2V0PEk+KHQpKSwgaGFzaDxJICsgMT4odCkpOwog
ICAgICAgICB9CiAKICAgICAgICAgdGVtcGxhdGU8c2l6ZV90IEkgPSAwPgogICAgICAgICBzdGF0
aWMgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8SSA9PSBzaXplb2YuLi4oVHlwZXMpIC0gMSwgdW5z
aWduZWQ+Ojp0eXBlIGhhc2goY29uc3Qgc3RkOjp0dXBsZTxUeXBlcy4uLj4mIHQpCiAgICAgICAg
IHsKICAgICAgICAgICAgIHVzaW5nIEl0aFR1cGxlRWxlbWVudFR5cGUgPSB0eXBlbmFtZSBzdGQ6
OnR1cGxlX2VsZW1lbnQ8SSwgdHlwZW5hbWUgc3RkOjp0dXBsZTxUeXBlcy4uLj4+Ojp0eXBlOwot
ICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPEl0aFR1cGxlRWxlbWVudFR5cGU+OjpIYXNo
OjpoYXNoKHN0ZDo6Z2V0PEk+KHQpKTsKKyAgICAgICAgICAgIHJldHVybiBEZWZhdWx0SGFzaDxJ
dGhUdXBsZUVsZW1lbnRUeXBlPjo6aGFzaChzdGQ6OmdldDxJPih0KSk7CiAgICAgICAgIH0KIAog
ICAgICAgICB0ZW1wbGF0ZTxzaXplX3QgSSA9IDA+CiAgICAgICAgIHN0YXRpYyB0eXBlbmFtZSBz
dGQ6OmVuYWJsZV9pZjxJIDwgc2l6ZW9mLi4uKFR5cGVzKSAtIDEsIGJvb2w+Ojp0eXBlIGVxdWFs
KGNvbnN0IHN0ZDo6dHVwbGU8VHlwZXMuLi4+JiBhLCBjb25zdCBzdGQ6OnR1cGxlPFR5cGVzLi4u
PiYgYikKICAgICAgICAgewogICAgICAgICAgICAgdXNpbmcgSXRoVHVwbGVFbGVtZW50VHlwZSA9
IHR5cGVuYW1lIHN0ZDo6dHVwbGVfZWxlbWVudDxJLCB0eXBlbmFtZSBzdGQ6OnR1cGxlPFR5cGVz
Li4uPj46OnR5cGU7Ci0gICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8SXRoVHVwbGVFbGVt
ZW50VHlwZT46Okhhc2g6OmVxdWFsKHN0ZDo6Z2V0PEk+KGEpLCBzdGQ6OmdldDxJPihiKSkgJiYg
ZXF1YWw8SSArIDE+KGEsIGIpOworICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPEl0aFR1
cGxlRWxlbWVudFR5cGU+OjplcXVhbChzdGQ6OmdldDxJPihhKSwgc3RkOjpnZXQ8ST4oYikpICYm
IGVxdWFsPEkgKyAxPihhLCBiKTsKICAgICAgICAgfQogCiAgICAgICAgIHRlbXBsYXRlPHNpemVf
dCBJID0gMD4KICAgICAgICAgc3RhdGljIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPEkgPT0gc2l6
ZW9mLi4uKFR5cGVzKSAtIDEsIGJvb2w+Ojp0eXBlIGVxdWFsKGNvbnN0IHN0ZDo6dHVwbGU8VHlw
ZXMuLi4+JiBhLCBjb25zdCBzdGQ6OnR1cGxlPFR5cGVzLi4uPiYgYikKICAgICAgICAgewogICAg
ICAgICAgICAgdXNpbmcgSXRoVHVwbGVFbGVtZW50VHlwZSA9IHR5cGVuYW1lIHN0ZDo6dHVwbGVf
ZWxlbWVudDxJLCB0eXBlbmFtZSBzdGQ6OnR1cGxlPFR5cGVzLi4uPj46OnR5cGU7Ci0gICAgICAg
ICAgICByZXR1cm4gRGVmYXVsdEhhc2g8SXRoVHVwbGVFbGVtZW50VHlwZT46Okhhc2g6OmVxdWFs
KHN0ZDo6Z2V0PEk+KGEpLCBzdGQ6OmdldDxJPihiKSk7CisgICAgICAgICAgICByZXR1cm4gRGVm
YXVsdEhhc2g8SXRoVHVwbGVFbGVtZW50VHlwZT46OmVxdWFsKHN0ZDo6Z2V0PEk+KGEpLCBzdGQ6
OmdldDxJPihiKSk7CiAgICAgICAgIH0KIAotICAgICAgICAvLyBXZSBzaG91bGQgdXNlIHNhZmVU
b0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gRGVmYXVsdEhhc2g8VHlwZXM+OjpIYXNoOjpzYWZl
VG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCAmJi4uLiB3aGVuZXZlcgorICAgICAgICAvLyBXZSBz
aG91bGQgdXNlIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gRGVmYXVsdEhhc2g8VHlw
ZXM+OjpzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCAmJi4uLiB3aGVuZXZlcgogICAgICAg
ICAvLyB3ZSBzd2l0Y2ggdG8gQysrMTcuIFdlIGNhbid0IGRvIGFueXRoaW5nIGJldHRlciBoZXJl
IHJpZ2h0IG5vdyBiZWNhdXNlIEdDQyBjYW4ndCBkbyBDKysuCiAgICAgICAgIHRlbXBsYXRlPHR5
cGVuYW1lIEJvb2xUeXBlPgogICAgICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgYWxsVHJ1ZShC
b29sVHlwZSB2YWx1ZSkgeyByZXR1cm4gdmFsdWU7IH0KICAgICAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgQm9vbFR5cGUsIHR5cGVuYW1lLi4uIEJvb2xUeXBlcz4KICAgICAgICAgc3RhdGljIGNvbnN0
ZXhwciBib29sIGFsbFRydWUoQm9vbFR5cGUgdmFsdWUsIEJvb2xUeXBlcy4uLiB2YWx1ZXMpIHsg
cmV0dXJuIHZhbHVlICYmIGFsbFRydWUodmFsdWVzLi4uKTsgfQotICAgICAgICBzdGF0aWMgY29u
c3RleHByIGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBhbGxUcnVlKERlZmF1
bHRIYXNoPFR5cGVzPjo6SGFzaDo6c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQuLi4pOwor
ICAgICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0
ZWQgPSBhbGxUcnVlKERlZmF1bHRIYXNoPFR5cGVzPjo6c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRl
bGV0ZWQuLi4pOwogICAgIH07CiAKICAgICAvLyBtYWtlIEludEhhc2ggdGhlIGRlZmF1bHQgaGFz
aCBmdW5jdGlvbiBmb3IgbWFueSBpbnRlZ2VyIHR5cGVzCiAKLSAgICB0ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxib29sPiB7IHR5cGVkZWYgSW50SGFzaDx1aW50OF90PiBIYXNoOyB9Owot
ICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHVpbnQ4X3Q+IHsgdHlwZWRlZiBJbnRI
YXNoPHVpbnQ4X3Q+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
c2hvcnQ+IHsgdHlwZWRlZiBJbnRIYXNoPHVuc2lnbmVkPiBIYXNoOyB9OwotICAgIHRlbXBsYXRl
PD4gc3RydWN0IERlZmF1bHRIYXNoPHVuc2lnbmVkIHNob3J0PiB7IHR5cGVkZWYgSW50SGFzaDx1
bnNpZ25lZD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxpbnQ+
IHsgdHlwZWRlZiBJbnRIYXNoPHVuc2lnbmVkPiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPHVuc2lnbmVkPiB7IHR5cGVkZWYgSW50SGFzaDx1bnNpZ25lZD4gSGFz
aDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxsb25nPiB7IHR5cGVkZWYg
SW50SGFzaDx1bnNpZ25lZCBsb25nPiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPHVuc2lnbmVkIGxvbmc+IHsgdHlwZWRlZiBJbnRIYXNoPHVuc2lnbmVkIGxvbmc+
IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8bG9uZyBsb25nPiB7
IHR5cGVkZWYgSW50SGFzaDx1bnNpZ25lZCBsb25nIGxvbmc+IEhhc2g7IH07Ci0gICAgdGVtcGxh
dGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8dW5zaWduZWQgbG9uZyBsb25nPiB7IHR5cGVkZWYgSW50
SGFzaDx1bnNpZ25lZCBsb25nIGxvbmc+IEhhc2g7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8Ym9vbD4gOiBJbnRIYXNoPHVpbnQ4X3Q+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDx1aW50OF90PiA6IEludEhhc2g8dWludDhfdD4geyB9OworICAg
IHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHNob3J0PiA6IEludEhhc2g8dW5zaWduZWQ+
IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDx1bnNpZ25lZCBzaG9ydD4g
OiBJbnRIYXNoPHVuc2lnbmVkPiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8aW50PiA6IEludEhhc2g8dW5zaWduZWQ+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDx1bnNpZ25lZD4gOiBJbnRIYXNoPHVuc2lnbmVkPiB7IH07CisgICAgdGVtcGxh
dGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8bG9uZz4gOiBJbnRIYXNoPHVuc2lnbmVkIGxvbmc+IHsg
fTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDx1bnNpZ25lZCBsb25nPiA6IElu
dEhhc2g8dW5zaWduZWQgbG9uZz4geyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPGxvbmcgbG9uZz4gOiBJbnRIYXNoPHVuc2lnbmVkIGxvbmcgbG9uZz4geyB9OworICAgIHRl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHVuc2lnbmVkIGxvbmcgbG9uZz4gOiBJbnRIYXNo
PHVuc2lnbmVkIGxvbmcgbG9uZz4geyB9OwogCiAjaWYgZGVmaW5lZChfTkFUSVZFX1dDSEFSX1Rf
REVGSU5FRCkKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDx3Y2hhcl90PiB7IHR5
cGVkZWYgSW50SGFzaDx3Y2hhcl90PiBIYXNoOyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPHdjaGFyX3Q+IDogSW50SGFzaDx3Y2hhcl90PiB7IH07CiAjZW5kaWYKIAotICAg
IHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGZsb2F0PiB7IHR5cGVkZWYgRmxvYXRIYXNo
PGZsb2F0PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGRvdWJs
ZT4geyB0eXBlZGVmIEZsb2F0SGFzaDxkb3VibGU+IEhhc2g7IH07CisgICAgdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8ZmxvYXQ+IDogRmxvYXRIYXNoPGZsb2F0PiB7IH07CisgICAgdGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8ZG91YmxlPiA6IEZsb2F0SGFzaDxkb3VibGU+IHsg
fTsKIAogICAgIC8vIG1ha2UgUHRySGFzaCB0aGUgZGVmYXVsdCBoYXNoIGZ1bmN0aW9uIGZvciBw
b2ludGVyIHR5cGVzIHRoYXQgZG9uJ3Qgc3BlY2lhbGl6ZQogCi0gICAgdGVtcGxhdGU8dHlwZW5h
bWUgUD4gc3RydWN0IERlZmF1bHRIYXNoPFAqPiB7IHR5cGVkZWYgUHRySGFzaDxQKj4gSGFzaDsg
fTsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8UmVmUHRyPFA+
PiB7IHR5cGVkZWYgUHRySGFzaDxSZWZQdHI8UD4+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8dHlw
ZW5hbWUgUD4gc3RydWN0IERlZmF1bHRIYXNoPFJlZjxQPj4geyB0eXBlZGVmIFB0ckhhc2g8UmVm
PFA+PiBIYXNoOyB9OworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFz
aDxQKj4gOiBQdHJIYXNoPFAqPiB7IH07CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgUD4gc3RydWN0
IERlZmF1bHRIYXNoPFJlZlB0cjxQPj4gOiBQdHJIYXNoPFJlZlB0cjxQPj4geyB9OworICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxSZWY8UD4+IDogUHRySGFzaDxS
ZWY8UD4+IHsgfTsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFAsIHR5cGVuYW1lIERlbGV0ZXI+
IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnVuaXF1ZV9wdHI8UCwgRGVsZXRlcj4+IHsgdHlwZWRl
ZiBQdHJIYXNoPHN0ZDo6dW5pcXVlX3B0cjxQLCBEZWxldGVyPj4gSGFzaDsgfTsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBQLCB0eXBlbmFtZSBEZWxldGVyPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3Rk
Ojp1bmlxdWVfcHRyPFAsIERlbGV0ZXI+PiA6IFB0ckhhc2g8c3RkOjp1bmlxdWVfcHRyPFAsIERl
bGV0ZXI+PiB7IH07CiAKICNpZmRlZiBfX09CSkNfXwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPF9fdW5zYWZlX3VucmV0YWluZWQgaWQ+IHsgdXNpbmcgSGFzaCA9IFB0ckhhc2g8
X191bnNhZmVfdW5yZXRhaW5lZCBpZD47IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVs
dEhhc2g8X191bnNhZmVfdW5yZXRhaW5lZCBpZD4gOiBQdHJIYXNoPF9fdW5zYWZlX3VucmV0YWlu
ZWQgaWQ+IHsgfTsKICNlbmRpZgogCiAgICAgLy8gbWFrZSBJbnRQYWlySGFzaCB0aGUgZGVmYXVs
dCBoYXNoIGZ1bmN0aW9uIGZvciBwYWlycyBvZiAoYXQgbW9zdCkgMzItYml0IGludGVnZXJzLgog
Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHNob3J0LCBzaG9y
dD4+IHsgdHlwZWRlZiBJbnRQYWlySGFzaDxzaG9ydCwgc2hvcnQ+IEhhc2g7IH07Ci0gICAgdGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHNob3J0LCB1bnNpZ25lZCBzaG9y
dD4+IHsgdHlwZWRlZiBJbnRQYWlySGFzaDxzaG9ydCwgdW5zaWduZWQgc2hvcnQ+IEhhc2g7IH07
Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHNob3J0LCBpbnQ+
PiB7IHR5cGVkZWYgSW50UGFpckhhc2g8c2hvcnQsIGludD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8c2hvcnQsIHVuc2lnbmVkPj4geyB0eXBl
ZGVmIEludFBhaXJIYXNoPHNob3J0LCB1bnNpZ25lZD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQgc2hvcnQsIHNob3J0Pj4geyB0
eXBlZGVmIEludFBhaXJIYXNoPHVuc2lnbmVkIHNob3J0LCBzaG9ydD4gSGFzaDsgfTsKLSAgICB0
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQgc2hvcnQsIHVu
c2lnbmVkIHNob3J0Pj4geyB0eXBlZGVmIEludFBhaXJIYXNoPHVuc2lnbmVkIHNob3J0LCB1bnNp
Z25lZCBzaG9ydD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxz
dGQ6OnBhaXI8dW5zaWduZWQgc2hvcnQsIGludD4+IHsgdHlwZWRlZiBJbnRQYWlySGFzaDx1bnNp
Z25lZCBzaG9ydCwgaW50PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPHN0ZDo6cGFpcjx1bnNpZ25lZCBzaG9ydCwgdW5zaWduZWQ+PiB7IHR5cGVkZWYgSW50UGFp
ckhhc2g8dW5zaWduZWQgc2hvcnQsIHVuc2lnbmVkPiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxpbnQsIHNob3J0Pj4geyB0eXBlZGVmIEludFBh
aXJIYXNoPGludCwgc2hvcnQ+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVs
dEhhc2g8c3RkOjpwYWlyPGludCwgdW5zaWduZWQgc2hvcnQ+PiB7IHR5cGVkZWYgSW50UGFpckhh
c2g8aW50LCB1bnNpZ25lZCBzaG9ydD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxzdGQ6OnBhaXI8aW50LCBpbnQ+PiB7IHR5cGVkZWYgSW50UGFpckhhc2g8aW50
LCBpbnQ+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpw
YWlyPGludCwgdW5zaWduZWQ+PiB7IHR5cGVkZWYgSW50UGFpckhhc2g8dW5zaWduZWQsIHVuc2ln
bmVkPiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFp
cjx1bnNpZ25lZCwgc2hvcnQ+PiB7IHR5cGVkZWYgSW50UGFpckhhc2g8dW5zaWduZWQsIHNob3J0
PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjx1
bnNpZ25lZCwgdW5zaWduZWQgc2hvcnQ+PiB7IHR5cGVkZWYgSW50UGFpckhhc2g8dW5zaWduZWQs
IHVuc2lnbmVkIHNob3J0PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPHN0ZDo6cGFpcjx1bnNpZ25lZCwgaW50Pj4geyB0eXBlZGVmIEludFBhaXJIYXNoPHVuc2ln
bmVkLCBpbnQ+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3Rk
OjpwYWlyPHVuc2lnbmVkLCB1bnNpZ25lZD4+IHsgdHlwZWRlZiBJbnRQYWlySGFzaDx1bnNpZ25l
ZCwgdW5zaWduZWQ+IEhhc2g7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
c3RkOjpwYWlyPHNob3J0LCBzaG9ydD4+IDogSW50UGFpckhhc2g8c2hvcnQsIHNob3J0PiB7IH07
CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHNob3J0LCB1bnNp
Z25lZCBzaG9ydD4+IDogSW50UGFpckhhc2g8c2hvcnQsIHVuc2lnbmVkIHNob3J0PiB7IH07Cisg
ICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHNob3J0LCBpbnQ+PiA6
IEludFBhaXJIYXNoPHNob3J0LCBpbnQ+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZh
dWx0SGFzaDxzdGQ6OnBhaXI8c2hvcnQsIHVuc2lnbmVkPj4gOiBJbnRQYWlySGFzaDxzaG9ydCwg
dW5zaWduZWQ+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBh
aXI8dW5zaWduZWQgc2hvcnQsIHNob3J0Pj4gOiBJbnRQYWlySGFzaDx1bnNpZ25lZCBzaG9ydCwg
c2hvcnQ+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8
dW5zaWduZWQgc2hvcnQsIHVuc2lnbmVkIHNob3J0Pj4gOiBJbnRQYWlySGFzaDx1bnNpZ25lZCBz
aG9ydCwgdW5zaWduZWQgc2hvcnQ+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0
SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQgc2hvcnQsIGludD4+IDogSW50UGFpckhhc2g8dW5zaWdu
ZWQgc2hvcnQsIGludD4geyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0
ZDo6cGFpcjx1bnNpZ25lZCBzaG9ydCwgdW5zaWduZWQ+PiA6IEludFBhaXJIYXNoPHVuc2lnbmVk
IHNob3J0LCB1bnNpZ25lZD4geyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PHN0ZDo6cGFpcjxpbnQsIHNob3J0Pj4gOiBJbnRQYWlySGFzaDxpbnQsIHNob3J0PiB7IH07Cisg
ICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPGludCwgdW5zaWduZWQg
c2hvcnQ+PiA6IEludFBhaXJIYXNoPGludCwgdW5zaWduZWQgc2hvcnQ+IHsgfTsKKyAgICB0ZW1w
bGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8aW50LCBpbnQ+PiA6IEludFBhaXJI
YXNoPGludCwgaW50PiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3Rk
OjpwYWlyPGludCwgdW5zaWduZWQ+PiA6IEludFBhaXJIYXNoPHVuc2lnbmVkLCB1bnNpZ25lZD4g
eyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjx1bnNpZ25l
ZCwgc2hvcnQ+PiA6IEludFBhaXJIYXNoPHVuc2lnbmVkLCBzaG9ydD4geyB9OworICAgIHRlbXBs
YXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjx1bnNpZ25lZCwgdW5zaWduZWQgc2hv
cnQ+PiA6IEludFBhaXJIYXNoPHVuc2lnbmVkLCB1bnNpZ25lZCBzaG9ydD4geyB9OworICAgIHRl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjx1bnNpZ25lZCwgaW50Pj4gOiBJ
bnRQYWlySGFzaDx1bnNpZ25lZCwgaW50PiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8c3RkOjpwYWlyPHVuc2lnbmVkLCB1bnNpZ25lZD4+IDogSW50UGFpckhhc2g8dW5z
aWduZWQsIHVuc2lnbmVkPiB7IH07CiAKICAgICAvLyBtYWtlIFBhaXJIYXNoIHRoZSBkZWZhdWx0
IGhhc2ggZnVuY3Rpb24gZm9yIHBhaXJzIG9mIGFyYml0cmFyeSB2YWx1ZXMuCiAKLSAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWly
PFQsIFU+PiB7IHR5cGVkZWYgUGFpckhhc2g8VCwgVT4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTx0
eXBlbmFtZS4uLiBUeXBlcz4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6dHVwbGU8VHlwZXMuLi4+
PiB7IHR5cGVkZWYgVHVwbGVIYXNoPFR5cGVzLi4uPiBIYXNoOyB9OworICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQsIHR5cGVuYW1lIFU+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8VCwgVT4+
IDogUGFpckhhc2g8VCwgVT4geyB9OworICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIFR5cGVzPiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjp0dXBsZTxUeXBlcy4uLj4+IDogVHVwbGVIYXNoPFR5cGVz
Li4uPiB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9MaXN0SGFzaFNldC5oIGIvU291cmNlL1dURi93dGYvTGlzdEhhc2hTZXQuaAppbmRleCA1
ODI5MmQxMjIwMzczNTk1ZTFiNGFjODZlMTllZGNmMmQwOGJmYjY3Li4yMDFlMWNjZDJiOGE2MDc0
MWE5MzJiOTEyYzIyYzA3NzI2YTFjMTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9MaXN0
SGFzaFNldC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xpc3RIYXNoU2V0LmgKQEAgLTQ5LDcgKzQ5
LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmc+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGU7
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoQXJnPiBzdHJ1Y3QgTGlzdEhhc2hTZXROb2RlSGFzaEZ1
bmN0aW9uczsKIHRlbXBsYXRlPHR5cGVuYW1lIEhhc2hBcmc+IHN0cnVjdCBMaXN0SGFzaFNldFRy
YW5zbGF0b3I7CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCB0eXBlbmFtZSBIYXNoQXJn
ID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNl
dCBmaW5hbAordGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0
eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz4+IGNsYXNzIExpc3RIYXNoU2V0IGZpbmFsCiAj
aWYgQ0hFQ0tfSEFTSFRBQkxFX0lURVJBVE9SUwogICAgIDogcHVibGljIENhbk1ha2VXZWFrUHRy
PExpc3RIYXNoU2V0PFZhbHVlQXJnLCBIYXNoQXJnPiwgV2Vha1B0ckZhY3RvcnlJbml0aWFsaXph
dGlvbjo6RWFnZXI+CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmdI
YXNoTWFwLmggYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nSGFzaE1hcC5oCmluZGV4IGVlNTNkMTQz
MDk1MDFmYjZhM2I4NTk3YjYzYzk0YTY5YmU0YTBkZTcuLmQyYTU2MWNjMDY5NzhiNmY4MTk1YzUx
NWVmODcwYjFjMmQzZjU0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmdIYXNo
TWFwLmgKKysrIGIvU291cmNlL1dURi93dGYvTG9nZ2luZ0hhc2hNYXAuaApAQCAtMzQsNyArMzQs
NyBAQCBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8CiAgICAgY29uc3QgY2hhciogdHlwZUFy
Z3VtZW50cywKLSAgICB0eXBlbmFtZSBLZXlBcmcsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5h
bWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPEtleUFyZz46Okhhc2gsCisgICAgdHlw
ZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBl
bmFtZSBEZWZhdWx0SGFzaDxLZXlBcmc+LAogICAgIHR5cGVuYW1lIEtleVRyYWl0c0FyZyA9IEhh
c2hUcmFpdHM8S2V5QXJnPiwgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnID0gSGFzaFRyYWl0czxN
YXBwZWRBcmc+LAogICAgIHR5cGVuYW1lIExvZ2dpbmdLZXlUcmFpdHMgPSBMb2dnaW5nSGFzaEtl
eVRyYWl0czxLZXlBcmc+LAogICAgIHR5cGVuYW1lIExvZ2dpbmdWYWx1ZVRyYWl0cyA9IExvZ2dp
bmdIYXNoVmFsdWVUcmFpdHM8TWFwcGVkQXJnPj4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L0xvZ2dpbmdIYXNoU2V0LmggYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nSGFzaFNldC5oCmluZGV4
IGM5MDM2Njg2MThlNjg4MDRiYjhjYTBjYzZkZWQ3YTgzNWIyZTM4NmUuLjY3Mzg0NjJlY2JmNmQ0
NjM0YjQ2ODE0YzFlY2QwYjA2NTBhOWVmM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0xv
Z2dpbmdIYXNoU2V0LmgKKysrIGIvU291cmNlL1dURi93dGYvTG9nZ2luZ0hhc2hTZXQuaApAQCAt
MzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8CiAgICAgY29uc3QgY2hh
ciogdHlwZUFyZ3VtZW50cywKLSAgICB0eXBlbmFtZSBWYWx1ZUFyZywgdHlwZW5hbWUgSGFzaEFy
ZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaCwKKyAgICB0eXBlbmFtZSBW
YWx1ZUFyZywgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJn
PiwKICAgICB0eXBlbmFtZSBUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPFZhbHVlQXJnPiwKICAgICB0
eXBlbmFtZSBMb2dnaW5nVHJhaXRzID0gTG9nZ2luZ0hhc2hLZXlUcmFpdHM8VmFsdWVBcmc+Pgog
Y2xhc3MgTG9nZ2luZ0hhc2hTZXQgZmluYWwgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
TWV0YUFsbG9jYXRvclB0ci5oIGIvU291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRvclB0ci5oCmlu
ZGV4IDI0YmIzZmRhNWZjMzEyMjY0OWE2M2MzMDAyMTZlYTEyOGI5YzhiNWIuLjIwMDUyMThmMmU3
ODY1ZGVjNWFhYWIzM2VhMThjMTZkNmFiMjYyMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L01ldGFBbGxvY2F0b3JQdHIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NZXRhQWxsb2NhdG9yUHRy
LmgKQEAgLTEwOSwxMCArMTA5LDggQEAgc3RydWN0IE1ldGFBbGxvY2F0b3JQdHJIYXNoIHsKICAg
ICBzdGF0aWMgY29uc3RleHByIGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0
cnVlOwogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVt
cGxhdGU8UHRyVGFnIHRhZz4gc3RydWN0IERlZmF1bHRIYXNoPE1ldGFBbGxvY2F0b3JQdHI8dGFn
Pj4gewotICAgIHR5cGVkZWYgTWV0YUFsbG9jYXRvclB0ckhhc2g8dGFnPiBIYXNoOwotfTsKK3Rl
bXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTxQdHJUYWcgdGFn
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8TWV0YUFsbG9jYXRvclB0cjx0YWc+PiA6IE1ldGFBbGxvY2F0
b3JQdHJIYXNoPHRhZz4geyB9OwogCiB0ZW1wbGF0ZTxQdHJUYWcgdGFnPiBzdHJ1Y3QgSGFzaFRy
YWl0czxNZXRhQWxsb2NhdG9yUHRyPHRhZz4+IDogcHVibGljIEN1c3RvbUhhc2hUcmFpdHM8TWV0
YUFsbG9jYXRvclB0cjx0YWc+PiB7IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL09i
amVjdElkZW50aWZpZXIuaCBiL1NvdXJjZS9XVEYvd3RmL09iamVjdElkZW50aWZpZXIuaAppbmRl
eCBjZTE2NzFhMjRiNmNiOGI1ZTcwNzU0MTAyNmQ3MTNkYTUxM2JlNWM0Li5mOWM2N2I2M2I1ZTI2
YTQwYjRhYWI1OGMwMTRkNWY0NzBhNjA4NTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9P
YmplY3RJZGVudGlmaWVyLmgKKysrIGIvU291cmNlL1dURi93dGYvT2JqZWN0SWRlbnRpZmllci5o
CkBAIC0xMzksOSArMTM5LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IE9iamVjdElk
ZW50aWZpZXJIYXNoIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM8
T2JqZWN0SWRlbnRpZmllcjxUPj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8T2JqZWN0SWRlbnRp
ZmllcjxUPj4geyB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
T2JqZWN0SWRlbnRpZmllcjxUPj4gewotICAgIHR5cGVkZWYgT2JqZWN0SWRlbnRpZmllckhhc2g8
VD4gSGFzaDsKLX07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8T2Jq
ZWN0SWRlbnRpZmllcjxUPj4gOiBPYmplY3RJZGVudGlmaWVySGFzaDxUPiB7IH07CiAKIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+CiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBj
b25zdCBPYmplY3RJZGVudGlmaWVyPFQ+JiBpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvT3B0aW9uU2V0SGFzaC5oIGIvU291cmNlL1dURi93dGYvT3B0aW9uU2V0SGFzaC5o
CmluZGV4IGM1ODg1NDM4OWY5MjEyMjY0ZjkwYTI2NjRmNDg2MzM1OTBhM2YyMzkuLmNjOWFlMDgy
NDE4Y2QyZmU2NzIzYWQ2OWI1MWI1YmFkMzVhYmE2OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL09wdGlvblNldEhhc2guaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9PcHRpb25TZXRIYXNoLmgK
QEAgLTMxLDE5ICszMSwxNyBAQAogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDxPcHRpb25TZXQ8VD4+IHsKLSAgICBzdHJ1Y3QgSGFzaCB7
Ci0gICAgICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKE9wdGlvblNldDxUPiBrZXkpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHJldHVybiBJbnRIYXNoPHR5cGVuYW1lIE9wdGlvblNldDxUPjo6U3Rv
cmFnZVR5cGU+OjpoYXNoKGtleS50b1JhdygpKTsKLSAgICAgICAgfQorICAgIHN0YXRpYyB1bnNp
Z25lZCBoYXNoKE9wdGlvblNldDxUPiBrZXkpCisgICAgeworICAgICAgICByZXR1cm4gSW50SGFz
aDx0eXBlbmFtZSBPcHRpb25TZXQ8VD46OlN0b3JhZ2VUeXBlPjo6aGFzaChrZXkudG9SYXcoKSk7
CisgICAgfQogCi0gICAgICAgIHN0YXRpYyBib29sIGVxdWFsKE9wdGlvblNldDxUPiBhLCBPcHRp
b25TZXQ8VD4gYikKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIGEgPT0gYjsKLSAgICAg
ICAgfQorICAgIHN0YXRpYyBib29sIGVxdWFsKE9wdGlvblNldDxUPiBhLCBPcHRpb25TZXQ8VD4g
YikKKyAgICB7CisgICAgICAgIHJldHVybiBhID09IGI7CisgICAgfQogCi0gICAgICAgIHN0YXRp
YyBjb25zdGV4cHIgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7Ci0g
ICAgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRl
bGV0ZWQgPSB0cnVlOwogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFp
dHM8T3B0aW9uU2V0PFQ+PiA6IEdlbmVyaWNIYXNoVHJhaXRzPE9wdGlvblNldDxUPj4gewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGFja2VkLmggYi9Tb3VyY2UvV1RGL3d0Zi9QYWNrZWQu
aAppbmRleCBiZmQyZDE5ODUyMzljOTU3YzZmNTBiY2Y5MzhjYWZhYjdlZjZlYTY0Li5iNzZhZWY4
ZjFiNjVhYjAyMTUxYTRkY2RmNGE4NDYxYzcyYzhhODhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9QYWNrZWQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QYWNrZWQuaApAQCAtMjcyLDcgKzI3
Miw3IEBAIHN0cnVjdCBQYWNrZWRQdHJUcmFpdHMgewogICAgIHN0YXRpYyBBTFdBWVNfSU5MSU5F
IGJvb2wgaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoY29uc3QgU3RvcmFnZVR5cGUmIHB0cikgeyBy
ZXR1cm4gcHRyLmdldCgpID09IGJpdHdpc2VfY2FzdDxUKj4oc3RhdGljX2Nhc3Q8dWludHB0cl90
PihTdG9yYWdlVHlwZTo6YWxpZ25tZW50KSk7IH0KIH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFA+
IHN0cnVjdCBEZWZhdWx0SGFzaDxQYWNrZWRQdHI8UD4+IHsgdXNpbmcgSGFzaCA9IFB0ckhhc2g8
UGFja2VkUHRyPFA+PjsgfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFz
aDxQYWNrZWRQdHI8UD4+IDogUHRySGFzaDxQYWNrZWRQdHI8UD4+IHsgfTsKIAogfSAvLyBuYW1l
c3BhY2UgV1RGCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1JldGFpblB0ci5oIGIvU291
cmNlL1dURi93dGYvUmV0YWluUHRyLmgKaW5kZXggMDEyYTAxZDc5NDRlYTZhZGE2NWZjOWU1OTdk
YTRmY2IzMWJlZmYwMi4uYmEzNjg0NmZjZTdhNmI5NTNkM2Q3N2E4Y2E5NWRiYzAzNTUyN2QxYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUmV0YWluUHRyLmgKKysrIGIvU291cmNlL1dURi93
dGYvUmV0YWluUHRyLmgKQEAgLTM0Niw5ICszNDYsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
c3RydWN0IElzU21hcnRQdHI8UmV0YWluUHRyPFQ+PiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBz
dHJ1Y3QgSGFzaFRyYWl0czxSZXRhaW5QdHI8UD4+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPFJl
dGFpblB0cjxQPj4gewogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgUD4gc3RydWN0IERlZmF1bHRI
YXNoPFJldGFpblB0cjxQPj4gewotICAgIHR5cGVkZWYgUHRySGFzaDxSZXRhaW5QdHI8UD4+IEhh
c2g7Ci19OwordGVtcGxhdGU8dHlwZW5hbWUgUD4gc3RydWN0IERlZmF1bHRIYXNoPFJldGFpblB0
cjxQPj4gOiBQdHJIYXNoPFJldGFpblB0cjxQPj4geyB9OwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUg
UD4KIHN0cnVjdCBSZXRhaW5QdHJPYmplY3RIYXNoVHJhaXRzIDogU2ltcGxlQ2xhc3NIYXNoVHJh
aXRzPFJldGFpblB0cjxQPj4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvU3RhY2tTaG90
LmggYi9Tb3VyY2UvV1RGL3d0Zi9TdGFja1Nob3QuaAppbmRleCBkYjI1NDAyNzE0NDA4ZjczYzZi
MjIyOTE2M2U0ZDY3OTkwZDgxYWU1Li5iY2VlNzBiZTA4MTMyNWQ0NTFmYzAyNjBmNTc5MDQ2ZDNj
NTIzY2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9TdGFja1Nob3QuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9TdGFja1Nob3QuaApAQCAtMTIxLDkgKzEyMSw3IEBAIHN0cnVjdCBTdGFja1No
b3RIYXNoIHsKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsK
LXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFN0YWNrU2hvdD4gewotICAgIHR5cGVkZWYg
U3RhY2tTaG90SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFN0
YWNrU2hvdD4gOiBTdGFja1Nob3RIYXNoIHsgfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRy
YWl0czxTdGFja1Nob3Q+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPFN0YWNrU2hvdD4geyB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9VUkxIYXNoLmggYi9Tb3VyY2UvV1RGL3d0Zi9V
UkxIYXNoLmgKaW5kZXggMjY3Y2QxNTJjMjNiYmRmMTgyZTJjNWYwZWMzODJiNmQxYWM5NWQ4Ni4u
MjY5ZTJiNTk4NGMwNTliYWZiZjQyOTNkMGRmNDEzODE5NzE1YWNiOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvVVJMSGFzaC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1VSTEhhc2guaApAQCAt
NDcsOSArNDcsNyBAQCBzdHJ1Y3QgVVJMSGFzaCB7CiB9OwogCiAvLyBVUkxIYXNoIGlzIHRoZSBk
ZWZhdWx0IGhhc2ggZm9yIFN0cmluZwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8VVJM
PiB7Ci0gICAgdXNpbmcgSGFzaCA9IFVSTEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8VVJMPiA6IFVSTEhhc2ggeyB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPFVSTD4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8VVJMPiB7IH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1ZlY3Rvckhhc2guaCBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvckhhc2gu
aAppbmRleCBmYmJjOWVhNDA0YzA3NWJjZWY4MjkyYmQxNmZkMDVmZGJiOTgwOGQ0Li5jMzczOTQ4
OGRlODVjMzhlZWNkNjcxZmU3MDMyMTdmMzkzZTljMjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9WZWN0b3JIYXNoLmgKKysrIGIvU291cmNlL1dURi93dGYvVmVjdG9ySGFzaC5oCkBAIC0z
Nyw3ICszNyw3IEBAIHN0cnVjdCBWZWN0b3JIYXNoIHsKICAgICB7CiAgICAgICAgIEludGVnZXJI
YXNoZXIgaGFzaGVyOwogICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHZhbHVlIDogdmVjdG9yKQot
ICAgICAgICAgICAgaGFzaGVyLmFkZChEZWZhdWx0SGFzaDxUPjo6SGFzaDo6aGFzaCh2YWx1ZSkp
OworICAgICAgICAgICAgaGFzaGVyLmFkZChEZWZhdWx0SGFzaDxUPjo6aGFzaCh2YWx1ZSkpOwog
ICAgICAgICByZXR1cm4gaGFzaGVyLmhhc2goKTsKICAgICB9CiAgICAgc3RhdGljIGJvb2wgZXF1
YWwoY29uc3QgVmVjdG9yPFQsIGlubGluZUNhcGFjaXR5PiYgYSwgY29uc3QgVmVjdG9yPFQsIGlu
bGluZUNhcGFjaXR5PiYgYikKQEAgLTQ4LDggKzQ4LDYgQEAgc3RydWN0IFZlY3Rvckhhc2ggewog
fTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5Pgotc3RydWN0
IERlZmF1bHRIYXNoPFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eT4+IHsKLSAgICB1c2luZyBIYXNo
ID0gVmVjdG9ySGFzaDxULCBpbmxpbmVDYXBhY2l0eT47Ci19Oworc3RydWN0IERlZmF1bHRIYXNo
PFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eT4+IDogVmVjdG9ySGFzaDxULCBpbmxpbmVDYXBhY2l0
eT4geyB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21TdHJpbmcu
aCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbVN0cmluZy5oCmluZGV4IDIyM2RmNmFmMWZjMGYw
NjI2Y2ZjN2ZhN2IyYTMzZjc0YjRjMjA2NWIuLmVlNmY5MTQ5MTA0MWUwYzZkMzk0ODE5N2QwOGIw
MDAxN2Y0OGZlYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbVN0cmluZy5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbVN0cmluZy5oCkBAIC0zMiw4ICszMiw2IEBA
CiAKIG5hbWVzcGFjZSBXVEYgewogCi1zdHJ1Y3QgQXRvbVN0cmluZ0hhc2g7Ci0KIGNsYXNzIEF0
b21TdHJpbmcgZmluYWwgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpA
QCAtMzIzLDEwICszMjEsOCBAQCBpbmxpbmUgQXRvbVN0cmluZyBBdG9tU3RyaW5nOjpmcm9tVVRG
OChjb25zdCBjaGFyKiBjaGFyYWN0ZXJzKQogfQogCiAvLyBBdG9tU3RyaW5nSGFzaCBpcyB0aGUg
ZGVmYXVsdCBoYXNoIGZvciBBdG9tU3RyaW5nCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxBdG9tU3RyaW5nPiB7
Ci0gICAgdHlwZWRlZiBBdG9tU3RyaW5nSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPHR5cGVuYW1l
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxBdG9t
U3RyaW5nPjsKIAogdGVtcGxhdGU8dW5zaWduZWQgbGVuZ3RoPiBpbmxpbmUgYm9vbCBlcXVhbExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShjb25zdCBBdG9tU3RyaW5nJiBzdHJpbmcsIGNvbnN0IGNo
YXIgKCZsb3dlcmNhc2VMZXR0ZXJzKVtsZW5ndGhdKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvdGV4dC9BdG9tU3RyaW5nSGFzaC5oIGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9tU3Ry
aW5nSGFzaC5oCmluZGV4IDFiYmY0OWRiYTkzNjg3YzI3MjAzYTQ5MWU5YTUwN2Q2ODAzYWZjMzcu
LjkyZDIwOGQzNWUyYWFkNWI4ODI3M2UzNDE4NmMyN2I1ZDA3Y2UxZmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL3RleHQvQXRvbVN0cmluZ0hhc2guaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90
ZXh0L0F0b21TdHJpbmdIYXNoLmgKQEAgLTYzLDYgKzYzLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAg
ICAgICAgIH0KICAgICB9OwogCisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8QXRv
bVN0cmluZz4gOiBBdG9tU3RyaW5nSGFzaCB7IH07CiB9CiAKIHVzaW5nIFdURjo6QXRvbVN0cmlu
Z0hhc2g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJpbmcuaCBiL1NvdXJj
ZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCmluZGV4IDcxNWJlYzgxY2JkNWU5YmZlYzEyNmM0MmUy
Nzk3NDhlMGRiZjc3OTAuLmUwNWRhZjc3ZjUzZTE1ZTNlMDYzYTMyNGY3M2MyZTg2ZDc0YTM5ODEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL3RleHQvQ1N0cmluZy5oCkBAIC0xMDYsOSArMTA2LDcgQEAgc3RydWN0IENTdHJpbmdI
YXNoIHsKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPENTdHJpbmc+IHsKLSAgICB0eXBlZGVmIENTdHJp
bmdIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8Q1N0cmluZz4g
OiBDU3RyaW5nSGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJh
aXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxDU3RyaW5nPiA6IFNpbXBsZUNsYXNz
SGFzaFRyYWl0czxDU3RyaW5nPiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0
L1N0cmluZ0hhc2guaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSGFzaC5oCmluZGV4IDE2
ZGJhOWIxZGFhMzliYmNhM2Y5ZWQ5OTNiNTUyZDAzZTBjZTc4YzIuLjVhODM4NWUwNGE5NTkwNGUw
NmJhMTI4ZDZlYWExM2Q5MWViOTBmYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQv
U3RyaW5nSGFzaC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSGFzaC5oCkBAIC0y
MTcsNiArMjE3LDEwIEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICB9CiAgICAgfTsKIAorICAg
IHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFN0cmluZ0ltcGwqPiA6IFN0cmluZ0hhc2gg
eyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFJlZlB0cjxTdHJpbmdJbXBs
Pj4gOiBTdHJpbmdIYXNoIHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxQ
YWNrZWRQdHI8U3RyaW5nSW1wbD4+IDogU3RyaW5nSGFzaCB7IH07CisgICAgdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8U3RyaW5nPiA6IFN0cmluZ0hhc2ggeyB9OwogfQogCiB1c2luZyBX
VEY6OkFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L3RleHQvU3RyaW5nSW1wbC5oIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKaW5k
ZXggYTAwNDM1ZTI0MzFlMWY0ZTdkNDczNDM3MmRhZDYyYTIwODc1NGU0NS4uMTY5ZTVhN2YxMTYw
YjMxNWJlMTRhMmNiN2JmOTA3ZTE1Mjc1OTczZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
dGV4dC9TdHJpbmdJbXBsLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgK
QEAgLTU5LDcgKzU5LDYgQEAgY2xhc3MgU3ltYm9sUmVnaXN0cnk7CiBzdHJ1Y3QgQ1N0cmluZ1Ry
YW5zbGF0b3I7CiBzdHJ1Y3QgSGFzaEFuZFVURjhDaGFyYWN0ZXJzVHJhbnNsYXRvcjsKIHN0cnVj
dCBMQ2hhckJ1ZmZlclRyYW5zbGF0b3I7Ci1zdHJ1Y3QgU3RyaW5nSGFzaDsKIHN0cnVjdCBTdWJz
dHJpbmdUcmFuc2xhdG9yOwogc3RydWN0IFVDaGFyQnVmZmVyVHJhbnNsYXRvcjsKIApAQCAtNjE0
LDE3ICs2MTMsMTEgQEAgYm9vbCBpc1NwYWNlT3JOZXdsaW5lKFVDaGFyMzIpOwogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiB1bnNpZ25lZCBsZW5ndGhPZk51bGxUZXJtaW5hdGVk
U3RyaW5nKGNvbnN0IENoYXJhY3RlclR5cGUqKTsKIAotLy8gU3RyaW5nSGFzaCBpcyB0aGUgZGVm
YXVsdCBoYXNoIGZvciBTdHJpbmdJbXBsKiBhbmQgUmVmUHRyPFN0cmluZ0ltcGw+Ci10ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZh
dWx0SGFzaDxTdHJpbmdJbXBsKj4gewotICAgIHR5cGVkZWYgU3RyaW5nSGFzaCBIYXNoOwotfTsK
LXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFJlZlB0cjxTdHJpbmdJbXBsPj4gewotICAg
IHR5cGVkZWYgU3RyaW5nSGFzaCBIYXNoOwotfTsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPFBhY2tlZFB0cjxTdHJpbmdJbXBsPj4gewotICAgIHVzaW5nIEhhc2ggPSBTdHJpbmdIYXNo
OwotfTsKKy8vIFN0cmluZ0hhc2hkIGlzIHRoZSBkZWZhdWx0IGhhc2ggZm9yIFN0cmluZ0ltcGwq
IGFuZCBSZWZQdHI8U3RyaW5nSW1wbD4KK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVs
dEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTdHJpbmdJbXBsKj47Cit0ZW1w
bGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxSZWZQdHI8U3RyaW5nSW1wbD4+OwordGVtcGxhdGU8
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8UGFja2VkUHRyPFN0cmluZ0ltcGw+PjsKIAogI2RlZmluZSBN
QUtFX1NUQVRJQ19TVFJJTkdfSU1QTChjaGFyYWN0ZXJzKSAoW10geyBcCiAgICAgICAgIHN0YXRp
YyBTdGF0aWNTdHJpbmdJbXBsIGltcGwoY2hhcmFjdGVycyk7IFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3lt
Ym9sUmVnaXN0cnkuaAppbmRleCBlYmE1ODNkZTI1MDIwOTA2MDA5OGFkNjUzOTA0ZjdkODdkMmEz
YTU5Li41NTg5NzlhZTgxNjU1OWEyMjE3NmRlOWUwYmIxMzFhMTQ0MDcwYzMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dURi93
dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5oCkBAIC01NCwxOCArNTQsMTYgQEAgcHJpdmF0ZToKICAg
ICB1bnNpZ25lZCBtX2hhc2ggeyAwIH07CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1
Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTeW1ib2xSZWdp
c3RyeUtleT4gewotICAgIHN0cnVjdCBIYXNoIDogU3RyaW5nSGFzaCB7Ci0gICAgICAgIHN0YXRp
YyB1bnNpZ25lZCBoYXNoKGNvbnN0IFN5bWJvbFJlZ2lzdHJ5S2V5JiBrZXkpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIHJldHVybiBrZXkuaGFzaCgpOwotICAgICAgICB9Ci0gICAgICAgIHN0YXRp
YyBib29sIGVxdWFsKGNvbnN0IFN5bWJvbFJlZ2lzdHJ5S2V5JiBhLCBjb25zdCBTeW1ib2xSZWdp
c3RyeUtleSYgYikKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIFN0cmluZ0hhc2g6OmVx
dWFsKGEuaW1wbCgpLCBiLmltcGwoKSk7Ci0gICAgICAgIH0KLSAgICB9OwordGVtcGxhdGU8dHlw
ZW5hbWU+IHN0cnVjdCBEZWZhdWx0SGFzaDsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PFN5bWJvbFJlZ2lzdHJ5S2V5PiA6IFN0cmluZ0hhc2ggeworICAgIHN0YXRpYyB1bnNpZ25lZCBo
YXNoKGNvbnN0IFN5bWJvbFJlZ2lzdHJ5S2V5JiBrZXkpCisgICAgeworICAgICAgICByZXR1cm4g
a2V5Lmhhc2goKTsKKyAgICB9CisgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgU3ltYm9sUmVn
aXN0cnlLZXkmIGEsIGNvbnN0IFN5bWJvbFJlZ2lzdHJ5S2V5JiBiKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIFN0cmluZ0hhc2g6OmVxdWFsKGEuaW1wbCgpLCBiLmltcGwoKSk7CisgICAgfQogfTsK
IAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxTeW1ib2xSZWdpc3RyeUtleT4gOiBTaW1w
bGVDbGFzc0hhc2hUcmFpdHM8U3ltYm9sUmVnaXN0cnlLZXk+IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmlu
Zy5oCmluZGV4IGEyMzcwYzc5YjY4YjQyMzA2NDZhZTQ3ZDRhZmMzZTZlNTU0NGE0NGQuLmY5NGVk
ZDkzOTA0NDY1NTdmODc2ZjYwNmJiMmM3MzFkYzY5OGY2NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL3RleHQvV1RGU3RyaW5nLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJp
bmcuaApAQCAtNDQyLDcgKzQ0Miw3IEBAIFdURl9FWFBPUlRfUFJJVkFURSBjb25zdCBTdHJpbmcm
IGVtcHR5U3RyaW5nKCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgY29uc3QgU3RyaW5nJiBudWxsU3Ry
aW5nKCk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTdHJpbmc+IHsgdXNpbmcgSGFzaCA9IFN0cmluZ0hhc2g7
IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTdHJpbmc+OwogdGVtcGxhdGU8PiBz
dHJ1Y3QgVmVjdG9yVHJhaXRzPFN0cmluZz4gOiBWZWN0b3JUcmFpdHNCYXNlPGZhbHNlLCB2b2lk
PiB7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGNhbkluaXRpYWxpemVXaXRoTWVtc2V0ID0g
dHJ1ZTsKICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgY2FuTW92ZVdpdGhNZW1jcHkgPSB0cnVl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJh
c2VJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRh
YmFzZUlkZW50aWZpZXIuaAppbmRleCAzYThlMjE5MGI5NzI4ODU0MmVkMTFhNzVlZjc5YWRhMjNk
Njg2MTVmLi5hYzQ5YmExMjcxMmFiZGYyMDQ0NzJhN2IzMzQ2YjJmZWJhMGMxM2E4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUlkZW50aWZp
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUlk
ZW50aWZpZXIuaApAQCAtMTQwLDkgKzE0MCw3IEBAIE9wdGlvbmFsPElEQkRhdGFiYXNlSWRlbnRp
Zmllcj4gSURCRGF0YWJhc2VJZGVudGlmaWVyOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKIG5h
bWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OklE
QkRhdGFiYXNlSWRlbnRpZmllcj4gOiBXZWJDb3JlOjpJREJEYXRhYmFzZUlkZW50aWZpZXJIYXNo
VHJhaXRzIHsgfTsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OklEQkRh
dGFiYXNlSWRlbnRpZmllcj4gewotICAgIHR5cGVkZWYgV2ViQ29yZTo6SURCRGF0YWJhc2VJZGVu
dGlmaWVySGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNv
cmU6OklEQkRhdGFiYXNlSWRlbnRpZmllcj4gOiBXZWJDb3JlOjpJREJEYXRhYmFzZUlkZW50aWZp
ZXJIYXNoIHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXNvdXJjZUlkZW50aWZpZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXNvdXJjZUlkZW50
aWZpZXIuaAppbmRleCBjNTc5OTZkNWU2YjkyYWYzYzY3NDgzMzhiOWVmN2Y3YjM2NTRmMGVkLi5m
NjE0MjU3ZmUxMzNjOWJjYWJjYThiOTNiOTVmOThkMjViZDJmMjhiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVzb3VyY2VJZGVudGlmaWVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlc291
cmNlSWRlbnRpZmllci5oCkBAIC0xNDUsOSArMTQ1LDcgQEAgYm9vbCBJREJSZXNvdXJjZUlkZW50
aWZpZXI6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBJREJSZXNvdXJjZUlkZW50aWZpZXImIGlk
ZW4KIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNv
cmU6OklEQlJlc291cmNlSWRlbnRpZmllcj4gOiBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZp
ZXJIYXNoVHJhaXRzIHsgfTsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6
OklEQlJlc291cmNlSWRlbnRpZmllcj4gewotICAgIHR5cGVkZWYgV2ViQ29yZTo6SURCUmVzb3Vy
Y2VJZGVudGlmaWVySGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllcj4gOiBXZWJDb3JlOjpJREJSZXNvdXJjZUlk
ZW50aWZpZXJIYXNoIHsgfTsKIAogaW5saW5lIFdlYkNvcmU6OklEQkNvbm5lY3Rpb25JZGVudGlm
aWVyIGNyb3NzVGhyZWFkQ29weShXZWJDb3JlOjpJREJDb25uZWN0aW9uSWRlbnRpZmllciBpZGVu
dGlmaWVyKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvQVNUL1dITFNMVW5uYW1lZFR5cGVIYXNoLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9BU1QvV0hMU0xVbm5hbWVkVHlwZUhhc2guaAppbmRleCAzYzI0OGIxZWI2NmRh
ODIwOTNkZDY4OTZjMGYwODE4YjFlNzc2MjQxLi42NzhkYWIwYjk4ODYwN2FmYmRjZTNjNzI3Mjc2
NTI3ZmY3YmY4NzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9BU1QvV0hMU0xVbm5hbWVkVHlwZUhhc2guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xVbm5hbWVkVHlwZUhhc2guaApAQCAtNzcsOSArNzcs
NyBAQCBwcml2YXRlOgogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hU
cmFpdHM8V2ViQ29yZTo6V0hMU0w6OlVubmFtZWRUeXBlS2V5PiA6IFdlYkNvcmU6OldITFNMOjpV
bm5hbWVkVHlwZUtleTo6VHJhaXRzIHsgfTsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PFdlYkNvcmU6OldITFNMOjpVbm5hbWVkVHlwZUtleT4gewotICAgIHR5cGVkZWYgV2ViQ29yZTo6
V0hMU0w6OlVubmFtZWRUeXBlS2V5OjpIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8V2ViQ29yZTo6V0hMU0w6OlVubmFtZWRUeXBlS2V5PiA6IFdlYkNvcmU6OldI
TFNMOjpVbm5hbWVkVHlwZUtleTo6SGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFNlbWFu
dGljTWF0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFNlbWFudGljTWF0Y2hlci5jcHAKaW5kZXggNTQyZmE3ODViMjgwOGRlYWVkMDVlMTY1ZmE1NDA4
OWM4ZTRmOGMzOS4uNWU5N2JhZDcwNjg0ZmRlODY5NzI2NDZjMjdlYTQyMjdjY2I5YjhhNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTZW1hbnRp
Y01hdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMU2VtYW50aWNNYXRjaGVyLmNwcApAQCAtNjEsNyArNjEsNyBAQCBzdGF0aWMgYm9vbCBtYXRj
aE1vZGUoQmluZGluZzo6QmluZGluZ0RldGFpbHMgYmluZGluZ1R5cGUsIEFTVDo6UmVzb3VyY2VT
ZW1hbnRpYwogc3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8QmluZGluZyosIHNpemVfdD4+IG1hdGNo
UmVzb3VyY2VzKFZlY3RvcjxFbnRyeVBvaW50SXRlbT4mIGVudHJ5UG9pbnRJdGVtcywgTGF5b3V0
JiBsYXlvdXQsIFNoYWRlclN0YWdlIHNoYWRlclN0YWdlKQogewogICAgIEhhc2hNYXA8QmluZGlu
ZyosIHNpemVfdD4gcmVzdWx0OwotICAgIEhhc2hTZXQ8c2l6ZV90LCBEZWZhdWx0SGFzaDxzaXpl
X3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHNpemVfdD4+IGl0
ZW1JbmRpY2VzOworICAgIEhhc2hTZXQ8c2l6ZV90LCBEZWZhdWx0SGFzaDxzaXplX3Q+LCBXVEY6
OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHNpemVfdD4+IGl0ZW1JbmRpY2VzOwogICAg
IGZvciAoYXV0byYgYmluZEdyb3VwIDogbGF5b3V0KSB7CiAgICAgICAgIGF1dG8gc3BhY2UgPSBi
aW5kR3JvdXAubmFtZTsKICAgICAgICAgZm9yIChhdXRvJiBiaW5kaW5nIDogYmluZEdyb3VwLmJp
bmRpbmdzKSB7CkBAIC0xNDAsNyArMTQwLDcgQEAgc3RhdGljIGJvb2wgaXNBY2NlcHRhYmxlRm9y
bWF0KFZlcnRleEZvcm1hdCB2ZXJ0ZXhGb3JtYXQsIEFTVDo6VW5uYW1lZFR5cGUmIHVubmEKIHN0
YXRpYyBPcHRpb25hbDxIYXNoTWFwPFZlcnRleEF0dHJpYnV0ZSosIHNpemVfdD4+IG1hdGNoVmVy
dGV4QXR0cmlidXRlcyhWZWN0b3I8RW50cnlQb2ludEl0ZW0+JiB2ZXJ0ZXhJbnB1dHMsIFZlcnRl
eEF0dHJpYnV0ZXMmIHZlcnRleEF0dHJpYnV0ZXMsIEludHJpbnNpY3MmIGludHJpbnNpY3MpCiB7
CiAgICAgSGFzaE1hcDxWZXJ0ZXhBdHRyaWJ1dGUqLCBzaXplX3Q+IHJlc3VsdDsKLSAgICBIYXNo
U2V0PHNpemVfdCwgRGVmYXVsdEhhc2g8c2l6ZV90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czxzaXplX3Q+PiBpdGVtSW5kaWNlczsKKyAgICBIYXNoU2V0PHNpemVf
dCwgRGVmYXVsdEhhc2g8c2l6ZV90PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0
czxzaXplX3Q+PiBpdGVtSW5kaWNlczsKICAgICBmb3IgKGF1dG8mIHZlcnRleEF0dHJpYnV0ZSA6
IHZlcnRleEF0dHJpYnV0ZXMpIHsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB2ZXJ0
ZXhJbnB1dHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgIGF1dG8mIGl0ZW0gPSB2ZXJ0ZXhJ
bnB1dHNbaV07CkBAIC0yMjYsNyArMjI2LDcgQEAgc3RhdGljIGJvb2wgaXNBY2NlcHRhYmxlRm9y
bWF0KFRleHR1cmVGb3JtYXQgdGV4dHVyZUZvcm1hdCwgQVNUOjpVbm5hbWVkVHlwZSYgdW4KIHN0
YXRpYyBPcHRpb25hbDxIYXNoTWFwPEF0dGFjaG1lbnREZXNjcmlwdG9yKiwgc2l6ZV90Pj4gbWF0
Y2hDb2xvckF0dGFjaG1lbnRzKFZlY3RvcjxFbnRyeVBvaW50SXRlbT4mIGZyYWdtZW50T3V0cHV0
cywgVmVjdG9yPEF0dGFjaG1lbnREZXNjcmlwdG9yPiYgYXR0YWNobWVudERlc2NyaXB0b3JzLCBJ
bnRyaW5zaWNzJiBpbnRyaW5zaWNzKQogewogICAgIEhhc2hNYXA8QXR0YWNobWVudERlc2NyaXB0
b3IqLCBzaXplX3Q+IHJlc3VsdDsKLSAgICBIYXNoU2V0PHNpemVfdCwgRGVmYXVsdEhhc2g8c2l6
ZV90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxzaXplX3Q+PiBp
dGVtSW5kaWNlczsKKyAgICBIYXNoU2V0PHNpemVfdCwgRGVmYXVsdEhhc2g8c2l6ZV90PiwgV1RG
OjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxzaXplX3Q+PiBpdGVtSW5kaWNlczsKICAg
ICBmb3IgKGF1dG8mIGF0dGFjaG1lbnREZXNjcmlwdG9yIDogYXR0YWNobWVudERlc2NyaXB0b3Jz
KSB7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZnJhZ21lbnRPdXRwdXRzLnNpemUo
KTsgKytpKSB7CiAgICAgICAgICAgICBhdXRvJiBpdGVtID0gZnJhZ21lbnRPdXRwdXRzW2ldOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9TZXNzaW9uSUQuaCBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvU2Vzc2lvbklELmgKaW5kZXggM2JjZDQ5MTM1OTMzMTk3NjI1YWM2MWM5
NTBhMWUyYmRmZDMwMTgyMi4uNWQyYWJlZGE2ZTJlZWRlOThlYmMxNmVkMmExMGNlMzJiZDE0MzM5
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9TZXNzaW9uSUQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL1Nlc3Npb25JRC5oCkBAIC0xMTksOCArMTE5LDYgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxQQUw6OlNlc3Npb25JRD4gOiBHZW5lcmljSGFzaFRy
YWl0czxQQUw6OlNlc3Npb25JRD4KICAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShjb25z
dCBQQUw6OlNlc3Npb25JRCYgc2xvdCkgeyByZXR1cm4gc2xvdC5pc0hhc2hUYWJsZURlbGV0ZWRW
YWx1ZSgpOyB9CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxQQUw6OlNlc3Np
b25JRD4gewotICAgIHR5cGVkZWYgU2Vzc2lvbklESGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPFBBTDo6U2Vzc2lvbklEPiA6IFNlc3Npb25JREhhc2ggeyB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCmluZGV4IGM5ZDdkOWE3NGI2M2RlMGExYjAwMDE0
MjUzYjBlYzc4MTNhNzQ2MDYuLjZjODk2N2UyYjdjMjc2ZjE3MjBmMzdiOGRlNTczM2RmYjcxMmMy
MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmNwcApAQCAtMjA4Nyw3ICsyMDg3LDcgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCog
QWNjZXNzaWJpbGl0eU9iamVjdDo6Zmlyc3RBbm9ueW1vdXNCbG9ja0NoaWxkKCkgY29uc3QKIH0K
IAogdXNpbmcgQVJJQVJvbGVNYXAgPSBIYXNoTWFwPFN0cmluZywgQWNjZXNzaWJpbGl0eVJvbGUs
IEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD47Ci11c2luZyBBUklBUmV2ZXJzZVJvbGVNYXAgPSBI
YXNoTWFwPEFjY2Vzc2liaWxpdHlSb2xlLCBTdHJpbmcsIERlZmF1bHRIYXNoPGludD46Okhhc2gs
IFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8aW50Pj47Cit1c2luZyBBUklBUmV2
ZXJzZVJvbGVNYXAgPSBIYXNoTWFwPEFjY2Vzc2liaWxpdHlSb2xlLCBTdHJpbmcsIERlZmF1bHRI
YXNoPGludD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8aW50Pj47CiAKIHN0
YXRpYyBBUklBUm9sZU1hcCogZ0FyaWFSb2xlTWFwID0gbnVsbHB0cjsKIHN0YXRpYyBBUklBUmV2
ZXJzZVJvbGVNYXAqIGdBcmlhUmV2ZXJzZVJvbGVNYXAgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCA0Mjg0
MzFiMjJkOTA4NzIxY2I4YjY5NzE5MWVlYzRmYzkwZDYwMDgxLi5iMjFhNmQwOWU0YWVkNmU3ZGM5
MGU4YjMzNzg4NTgzYzU3MzVmZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtODE5LDcgKzgxOSw3IEBAIEFjY2Vzc2li
aWxpdHlPYmplY3QqIGZpcnN0QWNjZXNzaWJsZU9iamVjdEZyb21Ob2RlKGNvbnN0IE5vZGUqLCBj
b25zdCBXVEY6OkZ1bmN0CiAKIG5hbWVzcGFjZSBBY2Nlc3NpYmlsaXR5IHsKIAotdXNpbmcgUGxh
dGZvcm1Sb2xlTWFwID0gSGFzaE1hcDxBY2Nlc3NpYmlsaXR5Um9sZSwgU3RyaW5nLCBEZWZhdWx0
SGFzaDx1bnNpZ25lZD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8
dW5zaWduZWQ+PjsKK3VzaW5nIFBsYXRmb3JtUm9sZU1hcCA9IEhhc2hNYXA8QWNjZXNzaWJpbGl0
eVJvbGUsIFN0cmluZywgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6OlVuc2lnbmVkV2l0aFpl
cm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj47CiAKIFBsYXRmb3JtUm9sZU1hcCBjcmVhdGVQbGF0
Zm9ybVJvbGVNYXAoKTsKIFN0cmluZyByb2xlVG9QbGF0Zm9ybVN0cmluZyhBY2Nlc3NpYmlsaXR5
Um9sZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250
ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lv
bnMvQ29udGVudEV4dGVuc2lvbkNvbXBpbGVyLmNwcAppbmRleCBjZWEyMGE4YWJhNzQzNzY3Mjhl
Njk4YzQ5MzQ5ZTBhOTM0OWIyYTNlLi4yOGE3MjU4ZmI4NzljYmZjMTBhY2I4ZjhjMjBkMzcyNTNm
OTVhNDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250
ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRl
bnNpb25zL0NvbnRlbnRFeHRlbnNpb25Db21waWxlci5jcHAKQEAgLTk0LDggKzk0LDggQEAgc3Rh
dGljIFZlY3Rvcjx1bnNpZ25lZD4gc2VyaWFsaXplQWN0aW9ucyhjb25zdCBWZWN0b3I8Q29udGVu
dEV4dGVuc2lvblJ1bGU+JiBydWwKICAgICBWZWN0b3I8dWludDMyX3Q+IGFjdGlvbkxvY2F0aW9u
czsKIAogICAgIHVzaW5nIEFjdGlvbkxvY2F0aW9uID0gdWludDMyX3Q7Ci0gICAgdXNpbmcgQWN0
aW9uTWFwID0gSGFzaE1hcDxSZXNvdXJjZUZsYWdzLCBBY3Rpb25Mb2NhdGlvbiwgRGVmYXVsdEhh
c2g8UmVzb3VyY2VGbGFncz46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFp
dHM8UmVzb3VyY2VGbGFncz4+OwotICAgIHVzaW5nIFN0cmluZ0FjdGlvbk1hcCA9IEhhc2hNYXA8
c3RkOjpwYWlyPFN0cmluZywgUmVzb3VyY2VGbGFncz4sIEFjdGlvbkxvY2F0aW9uLCBEZWZhdWx0
SGFzaDxzdGQ6OnBhaXI8U3RyaW5nLCBSZXNvdXJjZUZsYWdzPj46Okhhc2gsIFBhaXJIYXNoVHJh
aXRzPEhhc2hUcmFpdHM8U3RyaW5nPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0
czxSZXNvdXJjZUZsYWdzPj4+OworICAgIHVzaW5nIEFjdGlvbk1hcCA9IEhhc2hNYXA8UmVzb3Vy
Y2VGbGFncywgQWN0aW9uTG9jYXRpb24sIERlZmF1bHRIYXNoPFJlc291cmNlRmxhZ3M+LCBXVEY6
OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPFJlc291cmNlRmxhZ3M+PjsKKyAgICB1c2lu
ZyBTdHJpbmdBY3Rpb25NYXAgPSBIYXNoTWFwPHN0ZDo6cGFpcjxTdHJpbmcsIFJlc291cmNlRmxh
Z3M+LCBBY3Rpb25Mb2NhdGlvbiwgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPFN0cmluZywgUmVzb3Vy
Y2VGbGFncz4+LCBQYWlySGFzaFRyYWl0czxIYXNoVHJhaXRzPFN0cmluZz4sIFdURjo6VW5zaWdu
ZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8UmVzb3VyY2VGbGFncz4+PjsKICAgICBBY3Rpb25NYXAg
YmxvY2tMb2FkQWN0aW9uc01hcDsKICAgICBBY3Rpb25NYXAgYmxvY2tDb29raWVzQWN0aW9uc01h
cDsKICAgICBQZW5kaW5nRGlzcGxheU5vbmVBY3Rpb25zTWFwIGNzc0Rpc3BsYXlOb25lQWN0aW9u
c01hcDsKQEAgLTE5MSw3ICsxOTEsNyBAQCBzdGF0aWMgVmVjdG9yPHVuc2lnbmVkPiBzZXJpYWxp
emVBY3Rpb25zKGNvbnN0IFZlY3RvcjxDb250ZW50RXh0ZW5zaW9uUnVsZT4mIHJ1bAogICAgIHJl
dHVybiBhY3Rpb25Mb2NhdGlvbnM7CiB9CiAKLXR5cGVkZWYgSGFzaFNldDx1aW50NjRfdCwgRGVm
YXVsdEhhc2g8dWludDY0X3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJh
aXRzPHVpbnQ2NF90Pj4gVW5pdmVyc2FsQWN0aW9uU2V0OwordHlwZWRlZiBIYXNoU2V0PHVpbnQ2
NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hU
cmFpdHM8dWludDY0X3Q+PiBVbml2ZXJzYWxBY3Rpb25TZXQ7CiAKIHN0YXRpYyB2b2lkIGFkZFVu
aXZlcnNhbEFjdGlvbnNUb0RGQShERkEmIGRmYSwgVW5pdmVyc2FsQWN0aW9uU2V0JiYgdW5pdmVy
c2FsQWN0aW9ucykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNp
b25zL0NvbnRlbnRFeHRlbnNpb25SdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5z
aW9ucy9Db250ZW50RXh0ZW5zaW9uUnVsZS5oCmluZGV4IDM5OGU3NGMyMzExMjc3MDViNmNhMDM3
ZWRkNzUzZDE0MzRlZGY5MmMuLmM1MGJmMTdiOTZiZDczMDA4MmUzYzAxZDY5N2I2MmQ2NDU5Y2Rj
MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRF
eHRlbnNpb25SdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29u
dGVudEV4dGVuc2lvblJ1bGUuaApAQCAtOTEsNyArOTEsNyBAQCBzdHJ1Y3QgVHJpZ2dlckhhc2gg
ewogICAgICAgICB1bnNpZ25lZCBoYXNoID0gdHJpZ2dlci51cmxGaWx0ZXJJc0Nhc2VTZW5zaXRp
dmUgPyAxMDYxOTg2MyA6IDQwOTYwMDAxOwogICAgICAgICBpZiAoIXRyaWdnZXIudXJsRmlsdGVy
LmlzTnVsbCgpKQogICAgICAgICAgICAgaGFzaCBePSBTdHJpbmdIYXNoOjpoYXNoKHRyaWdnZXIu
dXJsRmlsdGVyKTsKLSAgICAgICAgaGFzaCA9IFdURjo6cGFpckludEhhc2goaGFzaCwgRGVmYXVs
dEhhc2g8UmVzb3VyY2VGbGFncz46Okhhc2g6Omhhc2godHJpZ2dlci5mbGFncykpOworICAgICAg
ICBoYXNoID0gV1RGOjpwYWlySW50SGFzaChoYXNoLCBEZWZhdWx0SGFzaDxSZXNvdXJjZUZsYWdz
Pjo6aGFzaCh0cmlnZ2VyLmZsYWdzKSk7CiAKICAgICAgICAgZm9yIChjb25zdCBTdHJpbmcmIGNv
bmRpdGlvbiA6IHRyaWdnZXIuY29uZGl0aW9ucykKICAgICAgICAgICAgIGhhc2ggXj0gU3RyaW5n
SGFzaDo6aGFzaChjb25kaXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY29udGVu
dGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25TdHlsZVNoZWV0LmgKaW5kZXggMzA3
NzM2MjM1NGIxNmUyODQwYjE2NzU3YjUyMTc5YTU4Y2EzMGZjYy4uZWE2M2RiZTIwNjNmNWI1NjY4
NDc1ZmM3NTgxMmUzNzIxYWE3ZGY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY29udGVu
dGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oCkBAIC01
NSw3ICs1NSw3IEBAIHByaXZhdGU6CiAgICAgQ29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQoRG9j
dW1lbnQmKTsKIAogICAgIFJlZjxDU1NTdHlsZVNoZWV0PiBtX3N0eWxlU2hlZXQ7Ci0gICAgSGFz
aFNldDx1aW50MzJfdCwgRGVmYXVsdEhhc2g8dWludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVk
V2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj4gbV9hZGRlZFNlbGVjdG9ySURzOworICAg
IEhhc2hTZXQ8dWludDMyX3QsIERlZmF1bHRIYXNoPHVpbnQzMl90PiwgV1RGOjpVbnNpZ25lZFdp
dGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+IG1fYWRkZWRTZWxlY3RvcklEczsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIENvbnRlbnRFeHRlbnNpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkEuY3BwIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4
dGVuc2lvbnMvREZBLmNwcAppbmRleCA5MjVhNjc1ODM2ZTNhOGEzY2U4OGMxMGVkZjIzZDgzZmM5
ODcyZTcyLi4wNDc1ZmFhYzJlMjRjMjA2ODUzNGMyOTM4MWRmNGE1MTYxZDVhYjYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkEuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAgc3Rh
dGljIHZvaWQgcHJpbnRUcmFuc2l0aW9ucyhjb25zdCBERkEmIGRmYSwgdW5zaWduZWQgc291cmNl
Tm9kZUlkKQogICAgIGlmICh0cmFuc2l0aW9ucy5iZWdpbigpID09IHRyYW5zaXRpb25zLmVuZCgp
KQogICAgICAgICByZXR1cm47CiAKLSAgICBIYXNoTWFwPHVuc2lnbmVkLCBWZWN0b3I8dWludDE2
X3Q+LCBEZWZhdWx0SGFzaDx1bnNpZ25lZD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tl
eUhhc2hUcmFpdHM8dW5zaWduZWQ+PiB0cmFuc2l0aW9uc1BlclRhcmdldDsKKyAgICBIYXNoTWFw
PHVuc2lnbmVkLCBWZWN0b3I8dWludDE2X3Q+LCBEZWZhdWx0SGFzaDx1bnNpZ25lZD4sIFdURjo6
VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiB0cmFuc2l0aW9uc1BlclRh
cmdldDsKIAogICAgIC8vIEZpcnN0LCB3ZSBidWlsZCB0aGUgbGlzdCBvZiB0cmFuc2l0aW9ucyBj
b21pbmcgdG8gZWFjaCB0YXJnZXQgbm9kZS4KICAgICBmb3IgKGNvbnN0IGF1dG8mIHRyYW5zaXRp
b24gOiB0cmFuc2l0aW9ucykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4
dGVuc2lvbnMvREZBQnl0ZWNvZGVJbnRlcnByZXRlci5oIGIvU291cmNlL1dlYkNvcmUvY29udGVu
dGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJbnRlcnByZXRlci5oCmluZGV4IGFkZmNhZGE3YjIxZTQ4
OGM5M2E2ZmFkN2Q0YjFlZmMwOTk0NmRmNjUuLjFjZjNiOGM5YWIyMWM2Mjg4NzFmNGMxNDZiNWVi
NmVhMmJmMGQ3ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25z
L0RGQUJ5dGVjb2RlSW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0
ZW5zaW9ucy9ERkFCeXRlY29kZUludGVycHJldGVyLmgKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGlj
OgogICAgIHsKICAgICB9CiAgICAgCi0gICAgdHlwZWRlZiBIYXNoU2V0PHVpbnQ2NF90LCBEZWZh
dWx0SGFzaDx1aW50NjRfdD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFp
dHM8dWludDY0X3Q+PiBBY3Rpb25zOworICAgIHR5cGVkZWYgSGFzaFNldDx1aW50NjRfdCwgRGVm
YXVsdEhhc2g8dWludDY0X3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVp
bnQ2NF90Pj4gQWN0aW9uczsKICAgICAKICAgICBBY3Rpb25zIGludGVycHJldChjb25zdCBDU3Ry
aW5nJiwgdWludDE2X3QgZmxhZ3MpOwogICAgIEFjdGlvbnMgaW50ZXJwcmV0V2l0aENvbmRpdGlv
bnMoY29uc3QgQ1N0cmluZyYsIHVpbnQxNl90IGZsYWdzLCBjb25zdCBERkFCeXRlY29kZUludGVy
cHJldGVyOjpBY3Rpb25zJiBjb25kaXRpb25BY3Rpb25zKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUNvbWJpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2NvbnRlbnRleHRlbnNpb25zL0RGQUNvbWJpbmVyLmNwcAppbmRleCBhZmJhZWFhYzYwYTM5ZTY0
Y2ZjYjQ3ODE4ODJjZDM4YTM5MDM2ZTFkLi43MmU3NjE4MTVkMTNjNzk2MjRlYTY5YzM5Y2E3NWE5
ODEzODRhNjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9E
RkFDb21iaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZB
Q29tYmluZXIuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgcHJpdmF0ZToKICAgICAgICAgdWludDMy
X3QgaW5kZXhBID0gZXh0cmFjdEluZGV4QShuZXdOb2RlU2lnbmF0dXJlKTsKICAgICAgICAgdWlu
dDMyX3QgaW5kZXhCID0gZXh0cmFjdEluZGV4QihuZXdOb2RlU2lnbmF0dXJlKTsKIAotICAgICAg
ICBIYXNoU2V0PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD46Okhhc2gsIFdURjo6VW5z
aWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBhY3Rpb25zOworICAgICAgICBI
YXNoU2V0PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD4sIFdURjo6VW5zaWduZWRXaXRo
WmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBhY3Rpb25zOwogICAgICAgICBpZiAoaW5kZXhB
ICE9IGludmFsaWROb2RlSW5kZXgpIHsKICAgICAgICAgICAgIGNvbnN0IERGQU5vZGUmIG5vZGUg
PSBtX2RmYUEubm9kZXNbaW5kZXhBXTsKICAgICAgICAgICAgIHVpbnQzMl90IGFjdGlvbnNTdGFy
dCA9IG5vZGUuYWN0aW9uc1N0YXJ0KCk7CkBAIC0xODAsNyArMTgwLDcgQEAgcHJpdmF0ZToKICAg
ICBjb25zdCBERkEmIG1fZGZhQTsKICAgICBjb25zdCBERkEmIG1fZGZhQjsKICAgICBERkEgbV9v
dXRwdXQ7Ci0gICAgSGFzaE1hcDx1aW50NjRfdCwgdWludDMyX3QsIERlZmF1bHRIYXNoPHVpbnQ2
NF90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50NjRfdD4+
IG1fbm9kZU1hcHBpbmc7CisgICAgSGFzaE1hcDx1aW50NjRfdCwgdWludDMyX3QsIERlZmF1bHRI
YXNoPHVpbnQ2NF90PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50NjRf
dD4+IG1fbm9kZU1hcHBpbmc7CiAgICAgVmVjdG9yPHVpbnQ2NF90LCAwLCBDb250ZW50RXh0ZW5z
aW9uc092ZXJmbG93SGFuZGxlcj4gbV91bnByb2Nlc3NlZE5vZGVzOwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBTm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFOb2RlLmNwcAppbmRleCA3NjJhMTM1NThlN2Fl
MDEzODcyZjE0ZWEyYjliMzg0ZDJkYTJmZmE4Li4zZmI4YzIxYTQ1NmJhODE2MTc4ZjdjN2NhMDdi
ODJmOGI5Y2FiMDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9u
cy9ERkFOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFO
b2RlLmNwcApAQCAtMTEwLDcgKzExMCw3IEBAIHVpbnQzMl90IERGQU5vZGU6OmJlc3RGYWxsYmFj
a1RhcmdldChjb25zdCBERkEmIGRmYSkgY29uc3QKIHsKICAgICBBU1NFUlQoY2FuVXNlRmFsbGJh
Y2tUcmFuc2l0aW9uKGRmYSkpOwogCi0gICAgSGFzaE1hcDx1aW50MzJfdCwgdW5zaWduZWQsIERl
ZmF1bHRIYXNoPHVpbnQzMl90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRy
YWl0czx1aW50MzJfdD4+IGhpc3RvZ3JhbTsKKyAgICBIYXNoTWFwPHVpbnQzMl90LCB1bnNpZ25l
ZCwgRGVmYXVsdEhhc2g8dWludDMyX3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJh
aXRzPHVpbnQzMl90Pj4gaGlzdG9ncmFtOwogCiAgICAgSXRlcmFibGVDb25zdFJhbmdlIGl0ZXJh
YmxlVHJhbnNpdGlvbnMgPSB0cmFuc2l0aW9ucyhkZmEpOwogICAgIGF1dG8gaXRlcmF0b3IgPSBp
dGVyYWJsZVRyYW5zaXRpb25zLmJlZ2luKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
b250ZW50ZXh0ZW5zaW9ucy9JbW11dGFibGVORkFOb2RlQnVpbGRlci5oIGIvU291cmNlL1dlYkNv
cmUvY29udGVudGV4dGVuc2lvbnMvSW1tdXRhYmxlTkZBTm9kZUJ1aWxkZXIuaAppbmRleCBlN2Nk
MzFjZjc1NGE3MDk4Zjc1ZGExZWI1Zjk0NDg2MmVmZDliMjY4Li5lMjdlMjRjNjBiMWU1NmE4ZTRl
MDk2ZmQ2NjI1ZDcxZWQwNjAxNDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50
ZXh0ZW5zaW9ucy9JbW11dGFibGVORkFOb2RlQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2NvbnRlbnRleHRlbnNpb25zL0ltbXV0YWJsZU5GQU5vZGVCdWlsZGVyLmgKQEAgLTQxLDcgKzQx
LDcgQEAgbmFtZXNwYWNlIENvbnRlbnRFeHRlbnNpb25zIHsKIHRlbXBsYXRlIDx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlLCB0eXBlbmFtZSBBY3Rpb25UeXBlPgogY2xhc3MgSW1tdXRhYmxlTkZBTm9k
ZUJ1aWxkZXIgewogICAgIHR5cGVkZWYgSW1tdXRhYmxlTkZBPENoYXJhY3RlclR5cGUsIEFjdGlv
blR5cGU+IFR5cGVkSW1tdXRhYmxlTkZBOwotICAgIHR5cGVkZWYgSGFzaFNldDx1aW50MzJfdCwg
RGVmYXVsdEhhc2g8dWludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNo
VHJhaXRzPHVpbnQzMl90Pj4gVGFyZ2V0U2V0OworICAgIHR5cGVkZWYgSGFzaFNldDx1aW50MzJf
dCwgRGVmYXVsdEhhc2g8dWludDMyX3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJh
aXRzPHVpbnQzMl90Pj4gVGFyZ2V0U2V0OwogcHVibGljOgogICAgIEltbXV0YWJsZU5GQU5vZGVC
dWlsZGVyKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNp
b25zL05GQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ORkEuY3BwCmlu
ZGV4IDQzYzM3ZTkzYjdmMzlkYTZjNDIzNjk0MDRiMTg0MTE1ZDhiYjJkOGYuLjUyNDQzMTQyYTYy
NTRiMTNkNTU0NDIyZTYyMmQ5NDVhODMyM2MwNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2NvbnRlbnRleHRlbnNpb25zL05GQS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4
dGVuc2lvbnMvTkZBLmNwcApAQCAtNzEsNyArNzEsNyBAQCB2b2lkIE5GQTo6ZGVidWdQcmludERv
dCgpIGNvbnN0CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG5vZGVzLnNpemUoKTsgKytp
KSB7CiAgICAgICAgIGNvbnN0IGF1dG8mIG5vZGUgPSBub2Rlc1tpXTsKIAotICAgICAgICBIYXNo
TWFwPHVpbnQzMl90LCBWZWN0b3I8dWludDMyX3Q+LCBEZWZhdWx0SGFzaDx1bnNpZ25lZD46Okhh
c2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiB0cmFuc2l0
aW9uc1BlclRhcmdldDsKKyAgICAgICAgSGFzaE1hcDx1aW50MzJfdCwgVmVjdG9yPHVpbnQzMl90
PiwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJh
aXRzPHVuc2lnbmVkPj4gdHJhbnNpdGlvbnNQZXJUYXJnZXQ7CiAKICAgICAgICAgZm9yICh1aW50
MzJfdCB0cmFuc2l0aW9uSW5kZXggPSBub2RlLnJhbmdlc1N0YXJ0OyB0cmFuc2l0aW9uSW5kZXgg
PCBub2RlLnJhbmdlc0VuZDsgKyt0cmFuc2l0aW9uSW5kZXgpIHsKICAgICAgICAgICAgIGNvbnN0
IEltbXV0YWJsZUNoYXJSYW5nZSYgcmFuZ2UgPSB0cmFuc2l0aW9uc1t0cmFuc2l0aW9uSW5kZXhd
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvTkZBTm9kZS5o
IGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvTkZBTm9kZS5oCmluZGV4IGI3MDM0
OWIzZmU3NzJjYzhiMTUxZmY4YjkxMjEyODFlNWQwNWQ2NTguLmFhYWVkMzExNDAzM2I0MzMzYmIx
MDUxNDU5OGQzOWU0NjBiOWMzYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRl
eHRlbnNpb25zL05GQU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9u
cy9ORkFOb2RlLmgKQEAgLTM5LDggKzM5LDggQEAgbmFtZXNwYWNlIENvbnRlbnRFeHRlbnNpb25z
IHsKIC8vIEEgTkZBTm9kZSBhYnN0cmFjdCB0aGUgdHJhbnNpdGlvbiB0YWJsZSBvdXQgb2YgYSBO
RkEgc3RhdGUuCiAKIHR5cGVkZWYgVmVjdG9yPHVpbnQ2NF90LCAwLCBXVEY6OkNyYXNoT25PdmVy
ZmxvdywgMT4gQWN0aW9uTGlzdDsKLXR5cGVkZWYgSGFzaFNldDx1bnNpZ25lZCwgRGVmYXVsdEhh
c2g8dW5zaWduZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVu
c2lnbmVkPj4gTkZBTm9kZUluZGV4U2V0OwotdHlwZWRlZiBIYXNoTWFwPHVpbnQxNl90LCBORkFO
b2RlSW5kZXhTZXQsIERlZmF1bHRIYXNoPHVpbnQxNl90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdp
dGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MTZfdD4+IE5GQU5vZGVUcmFuc2l0aW9uczsKK3R5cGVk
ZWYgSGFzaFNldDx1bnNpZ25lZCwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6OlVuc2lnbmVk
V2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gTkZBTm9kZUluZGV4U2V0OwordHlwZWRl
ZiBIYXNoTWFwPHVpbnQxNl90LCBORkFOb2RlSW5kZXhTZXQsIERlZmF1bHRIYXNoPHVpbnQxNl90
PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MTZfdD4+IE5GQU5vZGVU
cmFuc2l0aW9uczsKIAogY2xhc3MgTkZBTm9kZSB7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ORkFUb0RGQS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jb250ZW50ZXh0ZW5zaW9ucy9ORkFUb0RGQS5jcHAKaW5kZXggZWNkODI0ZWZhY2M2OTNlYTVi
YTMxNWQ0MTE3ZTk4ZWEwNDZmZDlkYy4uZDMzZmUyNGJmYmM3OGE5ZDRmMjE3NDc2YzRhZTdlMTI1
ZjBmNWVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvTkZB
VG9ERkEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL05GQVRvREZB
LmNwcApAQCAtMjI0LDcgKzIyNCw3IEBAIHN0cnVjdCBOb2RlSWRTZXRUb1VuaXF1ZU5vZGVJZFNl
dFNvdXJjZSB7CiAgICAgICAgIHVuc2lnbmVkIGhhc2ggPSA0MjA3NDQ1MTU1OwogICAgICAgICBm
b3IgKHVuc2lnbmVkIG5vZGVJZCA6IG5vZGVJZFNldCkKICAgICAgICAgICAgIGhhc2ggKz0gbm9k
ZUlkOwotICAgICAgICB0aGlzLT5oYXNoID0gRGVmYXVsdEhhc2g8dW5zaWduZWQ+OjpIYXNoOjpo
YXNoKGhhc2gpOworICAgICAgICB0aGlzLT5oYXNoID0gRGVmYXVsdEhhc2g8dW5zaWduZWQ+Ojpo
YXNoKGhhc2gpOwogICAgIH0KICAgICBERkEmIGRmYTsKICAgICBjb25zdCBORkEmIG5mYTsKQEAg
LTI0Nyw3ICsyNDcsNyBAQCBzdHJ1Y3QgTm9kZUlkU2V0VG9VbmlxdWVOb2RlSWRTZXRUcmFuc2xh
dG9yIHsKICAgICB7CiAgICAgICAgIERGQU5vZGUgbmV3REZBTm9kZTsKIAotICAgICAgICBIYXNo
U2V0PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD46Okhhc2gsIFdURjo6VW5zaWduZWRX
aXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBhY3Rpb25zOworICAgICAgICBIYXNoU2V0
PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tl
eUhhc2hUcmFpdHM8dWludDY0X3Q+PiBhY3Rpb25zOwogCiAgICAgICAgIGZvciAodW5zaWduZWQg
bmZhTm9kZUlkIDogc291cmNlLm5vZGVJZFNldCkgewogICAgICAgICAgICAgY29uc3QgYXV0byYg
bmZhTm9kZSA9IHNvdXJjZS5uZmEubm9kZXNbbmZhTm9kZUlkXTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5w
bAppbmRleCAyODAxODNjZmU5YWIwOTkzYzQ0MDk5ZDY1ZGYxMjUzNzhhZWNjNjQyLi5mNjEwMWY4
ODQ3MTAzNzJlOTE4M2M4MDQwOGQ3ODFiYmY5NzRkYTczIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvbWFrZXByb3AucGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBs
CkBAIC02MTgsNyArNjE4LDcgQEAgaW5saW5lIENTU1Byb3BlcnR5SUQgY29udmVydFRvQ1NTUHJv
cGVydHlJRChpbnQgdmFsdWUpCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIG5hbWVzcGFjZSBX
VEYgewotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6Q1NTUHJvcGVydHlJ
RD4geyB1c2luZyBIYXNoID0gSW50SGFzaDx1bnNpZ25lZD47IH07Cit0ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpDU1NQcm9wZXJ0eUlEPiA6IEludEhhc2g8dW5zaWduZWQ+
IHsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6Q1NTUHJvcGVydHlJ
RD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpDU1NQcm9wZXJ0eUlEPiB7CiAgICAgc3Rh
dGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IHRydWU7CiAgICAgc3RhdGljIHZvaWQg
Y29uc3RydWN0RGVsZXRlZFZhbHVlKFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQmIHNsb3QpIHsgc2xv
dCA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQ+KFdlYkNvcmU6Omxhc3RDU1NQ
cm9wZXJ0eSArIDEpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1BhcnNlckNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29u
dGV4dC5oCmluZGV4IDc3M2I4NTQyMzAxY2FiMjE2YzM1ZmY4NmM3ODkyMzNkMjhjOGIzNDYuLjBl
ZTU1YmZjODBlYjRmZjAwODMwYjFkYTJiNDA1YzdhYmNlMzA4ODkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5oCkBAIC0xMjksNyArMTI5LDYgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpDU1NQYXJzZXJDb250ZXh0PiA6IEdl
bmVyaWNIYXNoVHJhaXRzPFdlYkMKICAgICBzdGF0aWMgV2ViQ29yZTo6Q1NTUGFyc2VyQ29udGV4
dCBlbXB0eVZhbHVlKCkgeyByZXR1cm4gV2ViQ29yZTo6Q1NTUGFyc2VyQ29udGV4dChXZWJDb3Jl
OjpIVE1MU3RhbmRhcmRNb2RlKTsgfQogfTsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8V2ViQ29yZTo6Q1NTUGFyc2VyQ29udGV4dD4gewotICAgIHR5cGVkZWYgV2ViQ29yZTo6Q1NT
UGFyc2VyQ29udGV4dEhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFz
aDxXZWJDb3JlOjpDU1NQYXJzZXJDb250ZXh0PiA6IFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHRI
YXNoIHsgfTsKKwogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vR0NSZWFjaGFibGVSZWYuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HQ1JlYWNoYWJsZVJl
Zi5oCmluZGV4IDg0OGFjN2JlNjJhZjNlMjA5MDNmNjFmYjRmZDcyN2VkMTk4ODdlOWMuLmY2MDdj
N2Y2NjIxODVkZWRkOTAzNjc0ODBjZjk0NTg5ZjZmMWNkYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9HQ1JlYWNoYWJsZVJlZi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HQ1Jl
YWNoYWJsZVJlZi5oCkBAIC0xNDMsOSArMTQzLDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgUD4gc3Ry
dWN0IFB0ckhhc2g8V2ViQ29yZTo6R0NSZWFjaGFibGVSZWY8UD4+IDogUHRySGFzaEJhc2U8V2UK
ICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IGZh
bHNlOwogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgUD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNv
cmU6OkdDUmVhY2hhYmxlUmVmPFA+PiB7Ci0gICAgdHlwZWRlZiBQdHJIYXNoPFdlYkNvcmU6OkdD
UmVhY2hhYmxlUmVmPFA+PiBIYXNoOwotfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxXZWJDb3JlOjpHQ1JlYWNoYWJsZVJlZjxQPj4gOiBQdHJIYXNoPFdlYkNvcmU6
OkdDUmVhY2hhYmxlUmVmPFA+PiB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRJZGVudGlmaWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTWVzc2FnZVBvcnRJZGVudGlmaWVyLmgKaW5kZXggYzA4NzUyYzE4ZmIzM2U5
YTIzYmNmZWFhYmY1MDVmNDJkZGQwNTJmMC4uOGJjYzExZDYwNzAzZmZmZjE0OTkxOTE0MTJhZjI5
MWZiOTA5MWFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0SWRl
bnRpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydElkZW50aWZpZXIu
aApAQCAtMTA1LDggKzEwNSw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29y
ZTo6TWVzc2FnZVBvcnRJZGVudGlmaWVyPiA6IEdlbmVyaWNIYXNoVHJhaXRzCiAgICAgc3RhdGlj
IGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2ViQ29yZTo6TWVzc2FnZVBvcnRJZGVudGlmaWVy
JiBzbG90KSB7IHJldHVybiBzbG90LnByb2Nlc3NJZGVudGlmaWVyLnRvVUludDY0KCkgPT0gc3Rk
OjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpOyB9CiB9OwogCi10ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpNZXNzYWdlUG9ydElkZW50aWZpZXI+IHsKLSAgICB0
eXBlZGVmIE1lc3NhZ2VQb3J0SWRlbnRpZmllckhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpNZXNzYWdlUG9ydElkZW50aWZpZXI+IDogTWVzc2Fn
ZVBvcnRJZGVudGlmaWVySGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGVSYXJlRGF0YS5oCmluZGV4IDRiZGIxMjYyMmNmZDg2ZTkyNjQyNTNiYWUzOGVjOWFlY2Yw
MWQ1YmUuLjYxZjZmMWIyMmI5NjFkNzUzMjg3YjEzOTI3YTdmNjZhOWQxZDBlM2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZVJhcmVEYXRhLmgKQEAgLTkwLDEwICs5MCwxMCBAQCBwdWJsaWM6CiAgICAgc3Ry
dWN0IE5vZGVMaXN0Q2FjaGVNYXBFbnRyeUhhc2ggewogICAgICAgICBzdGF0aWMgdW5zaWduZWQg
aGFzaChjb25zdCBzdGQ6OnBhaXI8dW5zaWduZWQgY2hhciwgQXRvbVN0cmluZz4mIGVudHJ5KQog
ICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8QXRvbVN0cmluZz46Okhh
c2g6Omhhc2goZW50cnkuc2Vjb25kKSArIGVudHJ5LmZpcnN0OworICAgICAgICAgICAgcmV0dXJu
IERlZmF1bHRIYXNoPEF0b21TdHJpbmc+OjpoYXNoKGVudHJ5LnNlY29uZCkgKyBlbnRyeS5maXJz
dDsKICAgICAgICAgfQotICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBzdGQ6OnBhaXI8
dW5zaWduZWQgY2hhciwgQXRvbVN0cmluZz4mIGEsIGNvbnN0IHN0ZDo6cGFpcjx1bnNpZ25lZCBj
aGFyLCBBdG9tU3RyaW5nPiYgYikgeyByZXR1cm4gYS5maXJzdCA9PSBiLmZpcnN0ICYmIERlZmF1
bHRIYXNoPEF0b21TdHJpbmc+OjpIYXNoOjplcXVhbChhLnNlY29uZCwgYi5zZWNvbmQpOyB9Ci0g
ICAgICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0g
RGVmYXVsdEhhc2g8QXRvbVN0cmluZz46Okhhc2g6OnNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxl
dGVkOworICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBzdGQ6OnBhaXI8dW5zaWduZWQg
Y2hhciwgQXRvbVN0cmluZz4mIGEsIGNvbnN0IHN0ZDo6cGFpcjx1bnNpZ25lZCBjaGFyLCBBdG9t
U3RyaW5nPiYgYikgeyByZXR1cm4gYS5maXJzdCA9PSBiLmZpcnN0ICYmIERlZmF1bHRIYXNoPEF0
b21TdHJpbmc+OjplcXVhbChhLnNlY29uZCwgYi5zZWNvbmQpOyB9CisgICAgICAgIHN0YXRpYyBj
b25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gRGVmYXVsdEhhc2g8QXRv
bVN0cmluZz46OnNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkOwogICAgIH07CiAKICAgICB1
c2luZyBOb2RlTGlzdENhY2hlTWFwID0gSGFzaE1hcDxzdGQ6OnBhaXI8dW5zaWduZWQgY2hhciwg
QXRvbVN0cmluZz4sIExpdmVOb2RlTGlzdCosIE5vZGVMaXN0Q2FjaGVNYXBFbnRyeUhhc2g+Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKaW5kZXggMzNmNzNjZTE2ZWNhOWY4ZGVmOGQ5MmZm
NTg0Y2UzMzBhMzgwOGExYS4uMjY0YzQ3OTE1MGNjYmY3YTA2NWRlYTU1YWNlYmE0NGVkZDM5MmY0
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCkBAIC0xNTQsOSArMTU0LDcgQEAgbmFt
ZXNwYWNlIFdURiB7CiAgICAgCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1
bHRIYXNoOwogCi0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6UXVh
bGlmaWVkTmFtZT4gewotICAgICAgICB0eXBlZGVmIFdlYkNvcmU6OlF1YWxpZmllZE5hbWVIYXNo
IEhhc2g7Ci0gICAgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3Jl
OjpRdWFsaWZpZWROYW1lPiA6IFdlYkNvcmU6OlF1YWxpZmllZE5hbWVIYXNoIHsgfTsKICAgICAK
ICAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OlF1YWxpZmllZE5hbWU+
IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPFdlYkNvcmU6OlF1YWxpZmllZE5hbWU+IHsKICAgICAg
ICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIuaAppbmRleCA1
NDc0OTFjMDM1ZGQ4ZTczOTNmZTRlYjZjNDQ5ZjRlNjE1NzRlNDBkLi5lNTM1ZTE1OTU5ZDNjYmNk
NmNjM2Q1ZmFhNzQwOWE2NDZiYWVmZDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0
b3J5L0JhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0
b3J5L0JhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIuaApAQCAtMTE5LDggKzExOSw2IEBAIHRlbXBs
YXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmll
cj4gOiBHZW5lcmljSGFzaFRyCiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3Qg
V2ViQ29yZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciYgc2xvdCkgeyByZXR1cm4gc2xvdC5w
cm9jZXNzSWRlbnRpZmllci50b1VJbnQ2NCgpID09IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDY0
X3Q+OjptYXgoKTsgfQogfTsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29y
ZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcj4gewotICAgIHR5cGVkZWYgQmFja0ZvcndhcmRJ
dGVtSWRlbnRpZmllckhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFz
aDxXZWJDb3JlOjpCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyPiA6IEJhY2tGb3J3YXJkSXRlbUlk
ZW50aWZpZXJIYXNoIHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKaW5kZXgg
ZmE0YjE3N2Y0YzQ2NzU2ZDBmMmJlMDM3NDViODZjNzRmNDc3MWI0My4uZDRmYzc5NThkMTcyODFh
ODA0MzEyM2E3YWQzZGIxNDY1OTYwYzBkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaApAQCAtNTUxLDcgKzU1MSw3
IEBAIHByb3RlY3RlZDoKICAgICB9OwogICAgIFZlY3RvcjxUZXh0dXJlVW5pdFN0YXRlPiBtX3Rl
eHR1cmVVbml0czsKICNpZiAhVVNFKEFOR0xFKQotICAgIEhhc2hTZXQ8dW5zaWduZWQsIERlZmF1
bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0
czx1bnNpZ25lZD4+IG1fdW5yZW5kZXJhYmxlVGV4dHVyZVVuaXRzOworICAgIEhhc2hTZXQ8dW5z
aWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFz
aFRyYWl0czx1bnNpZ25lZD4+IG1fdW5yZW5kZXJhYmxlVGV4dHVyZVVuaXRzOwogI2VuZGlmCiAg
ICAgdW5zaWduZWQgbG9uZyBtX2FjdGl2ZVRleHR1cmVVbml0OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0VW5pdHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9M
YXlvdXRVbml0cy5oCmluZGV4IGIxZWUxZGE3MGRiYWI1NjBkYzQ2ZWFmNzNlMzI0MjZjNjdlMzVh
YmEuLjc0MjVhMWQ5NjY4MTcwZTIyYzI5OTQxZWRkMTVmMGUwMjQ0YTVhZTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9MYXlvdXRVbml0cy5oCkBAIC0yNDcsOSArMjQ3LDcgQEAgdGVtcGxhdGU8PiBzdHJ1
Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpMYXlvdXQ6OlNsb3RQb3NpdGlvbj4gOiBHZW5lcmljSGFz
aFRyYWl0czwKICAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoV2ViQ29yZTo6
TGF5b3V0OjpTbG90UG9zaXRpb24mIHNsb3QpIHsgc2xvdCA9IFdlYkNvcmU6OkxheW91dDo6U2xv
dFBvc2l0aW9uKHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCksIDApOyB9CiAgICAg
c3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2ViQ29yZTo6TGF5b3V0OjpTbG90UG9z
aXRpb24mIHNsb3QpIHsgcmV0dXJuIHNsb3QgPT0gV2ViQ29yZTo6TGF5b3V0OjpTbG90UG9zaXRp
b24oc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKSwgMCk7IH0KIH07Ci10ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpMYXlvdXQ6OlNsb3RQb3NpdGlvbj4gewot
ICAgIHR5cGVkZWYgU2xvdFBvc2l0aW9uSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0aW9uPiA6IFNsb3RQb3NpdGlv
bkhhc2ggeyB9OwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9BZENsaWNrQXR0cmlidXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9BZENsaWNrQXR0
cmlidXRpb24uaAppbmRleCA2ODk4OTk1OGIwY2MyY2U2YzE4ODhhNjQxNjgxYWE3YjAwNWU1MmQ3
Li5jODNjM2U1NTI1MzliYzI3MGNhODkwZTFiN2NhNDM1NTlmZWZhZTg5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvQWRDbGlja0F0dHJpYnV0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0FkQ2xpY2tBdHRyaWJ1dGlvbi5oCkBAIC0zNTIsMTggKzM1MiwxNCBAQCBP
cHRpb25hbDxBZENsaWNrQXR0cmlidXRpb246OkNvbnZlcnNpb24+IEFkQ2xpY2tBdHRyaWJ1dGlv
bjo6Q29udmVyc2lvbjo6ZGVjb2RlKAogbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PFdlYkNvcmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6U291cmNlPiB7Ci0gICAgdHlwZWRlZiBXZWJD
b3JlOjpBZENsaWNrQXR0cmlidXRpb246OlNvdXJjZUhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OlNvdXJjZT4g
OiBXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OlNvdXJjZUhhc2ggeyB9OwogdGVtcGxhdGU8
PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OlNvdXJjZT4g
OiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OlNvdXJjZT4g
ewogICAgIHN0YXRpYyBXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OlNvdXJjZSBlbXB0eVZh
bHVlKCkgeyByZXR1cm4geyB9OyB9CiAgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZh
bHVlKFdlYkNvcmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6U291cmNlJiBzbG90KSB7IFdlYkNvcmU6
OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6U291cmNlOjpjb25zdHJ1Y3REZWxldGVkVmFsdWUoc2xvdCk7
IH0KICAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShjb25zdCBXZWJDb3JlOjpBZENsaWNr
QXR0cmlidXRpb246OlNvdXJjZSYgc2xvdCkgeyByZXR1cm4gc2xvdC5pc0RlbGV0ZWRWYWx1ZSgp
OyB9CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpBZENsaWNr
QXR0cmlidXRpb246OkRlc3RpbmF0aW9uPiB7Ci0gICAgdHlwZWRlZiBXZWJDb3JlOjpBZENsaWNr
QXR0cmlidXRpb246OkRlc3RpbmF0aW9uSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPFdlYkNvcmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6RGVzdGluYXRpb24+IDog
V2ViQ29yZTo6QWRDbGlja0F0dHJpYnV0aW9uOjpEZXN0aW5hdGlvbkhhc2ggeyB9OwogdGVtcGxh
dGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OkRlc3Rp
bmF0aW9uPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6
RGVzdGluYXRpb24+IHsKICAgICBzdGF0aWMgV2ViQ29yZTo6QWRDbGlja0F0dHJpYnV0aW9uOjpE
ZXN0aW5hdGlvbiBlbXB0eVZhbHVlKCkgeyByZXR1cm4geyB9OyB9CiAgICAgc3RhdGljIHZvaWQg
Y29uc3RydWN0RGVsZXRlZFZhbHVlKFdlYkNvcmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6RGVzdGlu
YXRpb24mIHNsb3QpIHsgV2ViQ29yZTo6QWRDbGlja0F0dHJpYnV0aW9uOjpEZXN0aW5hdGlvbjo6
Y29uc3RydWN0RGVsZXRlZFZhbHVlKHNsb3QpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0LmgKaW5kZXggMmE1NjZkMTdhYzk3MTEw
OGMxMTk3OGE3N2U0YzNlZjdhYWMzM2Y0YS4uYTE3NjhjZTc2MjZhNGE0YWVlNmNlMDQyMTA3NzQ4
ZDA4Njg1ZmM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQ3J5
cHRvZ3JhcGhpY0RpZ2VzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUNy
eXB0b2dyYXBoaWNEaWdlc3QuaApAQCAtODEsMTcgKzgxLDE1IEBAIFJlc291cmNlQ3J5cHRvZ3Jh
cGhpY0RpZ2VzdCBjcnlwdG9ncmFwaGljRGlnZXN0Rm9yQnl0ZXMoUmVzb3VyY2VDcnlwdG9ncmFw
aGljRGlnCiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
V2ViQ29yZTo6UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0PiB7Ci0gICAgc3RydWN0IEhhc2gg
ewotICAgICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUNy
eXB0b2dyYXBoaWNEaWdlc3QmIGRpZ2VzdCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJu
IHBhaXJJbnRIYXNoKGludEhhc2goc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGRpZ2VzdC5hbGdvcml0
aG0pKSwgU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaChkaWdlc3QudmFsdWUuZGF0YSgpLCBkaWdl
c3QudmFsdWUuc2l6ZSgpKSk7Ci0gICAgICAgIH0KLSAgICAgICAgc3RhdGljIGJvb2wgZXF1YWwo
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0JiBhLCBjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QmIGIpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHJldHVybiBhID09IGI7Ci0gICAgICAgIH0KLSAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wg
c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwotICAgIH07CisgICAgc3RhdGlj
IHVuc2lnbmVkIGhhc2goY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0
JiBkaWdlc3QpCisgICAgeworICAgICAgICByZXR1cm4gcGFpckludEhhc2goaW50SGFzaChzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oZGlnZXN0LmFsZ29yaXRobSkpLCBTdHJpbmdIYXNoZXI6OmNvbXB1
dGVIYXNoKGRpZ2VzdC52YWx1ZS5kYXRhKCksIGRpZ2VzdC52YWx1ZS5zaXplKCkpKTsKKyAgICB9
CisgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VDcnlwdG9ncmFw
aGljRGlnZXN0JiBhLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Qm
IGIpCisgICAgeworICAgICAgICByZXR1cm4gYSA9PSBiOworICAgIH0KKyAgICBzdGF0aWMgY29u
c3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7CiB9OwogCiB0ZW1w
bGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OlJlc291cmNlQ3J5cHRvZ3JhcGhpY0Rp
Z2VzdD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpSZXNvdXJjZUNyeXB0b2dyYXBoaWNE
aWdlc3Q+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2xpZW50T3JpZ2luLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NsaWVudE9yaWdpbi5oCmluZGV4IDJhZmI5OWNkYjRjMjg4
YmIyNjk3MTE3MDJjOTk0ODUxZjUzZDczY2QuLmU1NGVkNzVlYTgwMGIwM2EyN2EwZTUyYzBhODA4
MjBmZTEzMWY2MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2xpZW50T3JpZ2lu
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DbGllbnRPcmlnaW4uaApAQCAtMTA2LDggKzEw
Niw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6Q2xpZW50T3JpZ2lu
PiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6CiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVk
VmFsdWUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBzbG90KSB7IHJldHVybiBzbG90LnRv
cE9yaWdpbi5pc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpOyB9CiB9OwogCi10ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpDbGllbnRPcmlnaW4+IHsKLSAgICB0eXBlZGVmIENs
aWVudE9yaWdpbktleUhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFz
aDxXZWJDb3JlOjpDbGllbnRPcmlnaW4+IDogQ2xpZW50T3JpZ2luS2V5SGFzaCB7IH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9HbG9iYWxX
aW5kb3dJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dsb2JhbFdpbmRvd0lkZW50
aWZpZXIuaAppbmRleCA4YzQ2NGQ2MDRjZmZmNWU0Y2I4ZTI1YTgwMTM0YzIzMWMxNzk0Y2Q3Li41
YTFkNzIzZmRjMGM3ZTA4N2Y0OWZlNWRkNjg3MGUzYTFjNzA5MDFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0dsb2JhbFdpbmRvd0lkZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0dsb2JhbFdpbmRvd0lkZW50aWZpZXIuaApAQCAtOTgsOCArOTgsNiBAQCB0ZW1w
bGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6Okdsb2JhbFdpbmRvd0lkZW50aWZpZXI+
IDogR2VuZXJpY0hhc2hUcmFpdAogICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0
IFdlYkNvcmU6Okdsb2JhbFdpbmRvd0lkZW50aWZpZXImIHNsb3QpIHsgcmV0dXJuIHNsb3Qud2lu
ZG93SWRlbnRpZmllci50b1VJbnQ2NCgpID09IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDY0X3Q+
OjptYXgoKTsgfQogfTsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6
R2xvYmFsV2luZG93SWRlbnRpZmllcj4gewotICAgIHR5cGVkZWYgR2xvYmFsV2luZG93SWRlbnRp
Zmllckhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3Jl
OjpHbG9iYWxXaW5kb3dJZGVudGlmaWVyPiA6IEdsb2JhbFdpbmRvd0lkZW50aWZpZXJIYXNoIHsg
fTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NlY3VyaXR5T3JpZ2luRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdp
bkRhdGEuaAppbmRleCA2ODY1YTRmOTdlNmM4NjlmYzViOWU5N2M2ODgyZDJlYTBhN2Y1MjQ1Li4w
ZjY2MjYyYTYwY2ZiNzk0NTEyZjlmNWVmZjI4YTcwY2VmNDJlNmY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2VjdXJpdHlPcmlnaW5EYXRhLmgKQEAgLTE1Miw4ICsxNTIsNiBAQCBzdHJ1Y3QgU2Vj
dXJpdHlPcmlnaW5EYXRhSGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8PiBzdHJ1
Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IDogV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW5EYXRhSGFzaFRyYWl0cyB7IH07Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0
SGFzaDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IHsKLSAgICB0eXBlZGVmIFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luRGF0YUhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZh
dWx0SGFzaDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IDogV2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW5EYXRhSGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbkhhc2guaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2VjdXJpdHlPcmlnaW5IYXNoLmgKaW5kZXggZjlhNTJmYTFmNDEzYTcxMmQ4YWVlODk1ODE4
ZjhmMzUxYWU5M2U3YS4uNGUzMjA5N2ZkOTFmYTczMDI2OWM5NTFjNDYwYWEzMDBkY2E5NzI4NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbkhhc2guaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luSGFzaC5oCkBAIC03NCwxMCArNzQs
OCBAQCBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5IYXNoIHsKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogbmFtZXNwYWNlIFdURiB7Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBEZWZhdWx0
SGFzaDsKIAotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFJlZlB0cjxXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbj4+IHsKLSAgICAgICAgdHlwZWRlZiBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbkhhc2ggSGFzaDsKLSAgICB9OwordGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBEZWZhdWx0
SGFzaDsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFJlZlB0cjxXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbj4+IDogV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5IYXNoIHsgfTsKIAogfSAvLyBu
YW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db29raWUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tpZS5oCmluZGV4IDYyYmE2YzdmZWVlNjRm
N2Y2MmExMGQ1MGY0NjZmMWY4Y2FhNzUxY2QuLjk4NDM1OWM4OGVkOTE1MTYxZjIyMTgyOTI3ZGU1
MzIyOThkNzA5NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tpZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tpZS5oCkBAIC0xNzAsOSArMTcwLDcg
QEAgT3B0aW9uYWw8Q29va2llPiBDb29raWU6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogCiBu
YW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhh
c2g7Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6Q29va2llPiB7
Ci0gICAgICAgIHR5cGVkZWYgV2ViQ29yZTo6Q29va2llSGFzaCBIYXNoOwotICAgIH07CisgICAg
dGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6Q29va2llPiA6IFdlYkNvcmU6
OkNvb2tpZUhhc2ggeyB9OwogICAgIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29y
ZTo6Q29va2llPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OkNvb2tpZT4gewogICAgICAg
ICBzdGF0aWMgV2ViQ29yZTo6Q29va2llIGVtcHR5VmFsdWUoKSB7IHJldHVybiB7IH07IH0KICAg
ICAgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFdlYkNvcmU6OkNvb2tpZSYg
c2xvdCkgeyBzbG90ID0gV2ViQ29yZTo6Q29va2llKFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVl
KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVnaXN0cmFibGVEb21h
aW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1JlZ2lzdHJhYmxlRG9tYWluLmgKaW5kZXgg
ODQyMzUxNTE3MThhZTY2NTgzN2Q0NTU5Yzc4OGUxNzhmYWQxODVjMy4uNDAyZmJkYWYzNjE3NmJj
ZmI5OGQwYTQ4NmUwZDk5ZmI1ZmZkNzdjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUmVnaXN0cmFibGVEb21haW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9S
ZWdpc3RyYWJsZURvbWFpbi5oCkBAIC0xNjIsOCArMTYyLDYgQEAgaW5saW5lIGJvb2wgYXJlUmVn
aXN0cmFibGVEb21haW5zRXF1YWwoY29uc3QgVVJMJiBhLCBjb25zdCBVUkwmIGIpCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKIG5hbWVzcGFjZSBXVEYgewotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+IHsKLSAgICB1c2luZyBIYXNoID0g
V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW46OlJlZ2lzdHJhYmxlRG9tYWluSGFzaDsKLX07Cit0
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbj4g
OiBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbjo6UmVnaXN0cmFibGVEb21haW5IYXNoIHsgfTsK
IHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+
IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluPiB7IH07
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvckhh
c2guaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9ySGFzaC5oCmluZGV4
IGYwODExOTM1MWQwODRjYmJlNDBmOTI5MDg1MTk4MGIzNjhiZWM0YzQuLjNkMmM5YzU1MzZmYmUx
ODM1MzNhZjg4MWUwZDFjZjBhNDNkODgyZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0NvbG9ySGFzaC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0NvbG9ySGFzaC5oCkBAIC0zNiw5ICszNiw3IEBAIHN0cnVjdCBDb2xvckhhc2gg
ewogICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0g
dHJ1ZTsKIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkNvbG9y
PiB7Ci0gICAgdXNpbmcgSGFzaCA9IENvbG9ySGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxXZWJDb3JlOjpDb2xvcj4gOiBDb2xvckhhc2ggeyB9OwogCiB0ZW1wbGF0ZTw+
IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkNvbG9yPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdl
YkNvcmU6OkNvbG9yPiB7CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9
IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxv
YXRTaXplSGFzaC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXpl
SGFzaC5oCmluZGV4IGY1MzJkMzEyMzZiNGNkOGQzZWQ5NmRiNTczMzViYmM3MGNkYTQxODMuLjIx
NjEzY2IxNDczMzUzYzZkNWUyZTUwNjg1YzJkYzg0YTYwNjVkMTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZUhhc2guaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemVIYXNoLmgKQEAgLTMyLDE0ICszMiwx
MiBAQAogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPD4gc3RydWN0IEZsb2F0SGFzaDxXZWJD
b3JlOjpGbG9hdFNpemU+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBXZWJDb3Jl
OjpGbG9hdFNpemUmIGtleSkgeyByZXR1cm4gcGFpckludEhhc2goRGVmYXVsdEhhc2g8ZmxvYXQ+
OjpIYXNoOjpoYXNoKGtleS53aWR0aCgpKSwgRGVmYXVsdEhhc2g8ZmxvYXQ+OjpIYXNoOjpoYXNo
KGtleS5oZWlnaHQoKSkpOyB9CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgV2ViQ29y
ZTo6RmxvYXRTaXplJiBrZXkpIHsgcmV0dXJuIHBhaXJJbnRIYXNoKERlZmF1bHRIYXNoPGZsb2F0
Pjo6aGFzaChrZXkud2lkdGgoKSksIERlZmF1bHRIYXNoPGZsb2F0Pjo6aGFzaChrZXkuaGVpZ2h0
KCkpKTsgfQogICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYg
YSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBiKSB7IHJldHVybiBhID09IGI7IH0KICAgICBz
dGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7CiB9
OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpGbG9hdFNpemU+IHsK
LSAgICB0eXBlZGVmIEZsb2F0SGFzaDxXZWJDb3JlOjpGbG9hdFNpemU+IEhhc2g7Ci19OwordGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6RmxvYXRTaXplPiA6IEZsb2F0SGFz
aDxXZWJDb3JlOjpGbG9hdFNpemU+IHsgfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0
czxXZWJDb3JlOjpGbG9hdFNpemU+IDogR2VuZXJpY0hhc2hUcmFpdHM8V2ViQ29yZTo6RmxvYXRT
aXplPiB7CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IHRydWU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250R2VuZXJpY0Zh
bWlsaWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250R2VuZXJpY0Zh
bWlsaWVzLmgKaW5kZXggNjg1ODY4ZGRhNTI3ZmQ4YTBkMDZmMWRjZGVhNWJmNGExYjBmZGFkMi4u
ZjEyNGJiODZkMzRlMjY5NTFkMjBlZTlkYjMwNjNhODY3YTkyYTRmYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdlbmVyaWNGYW1pbGllcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuaApA
QCAtNDIsNyArNDIsNyBAQCBzdHJ1Y3QgVVNjcmlwdENvZGVIYXNoVHJhaXRzIDogV1RGOjpHZW5l
cmljSGFzaFRyYWl0czxpbnQ+IHsKICAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShpbnQg
dmFsdWUpIHsgcmV0dXJuIHZhbHVlID09IC0zOyB9CiB9OwogCi10eXBlZGVmIEhhc2hNYXA8aW50
LCBBdG9tU3RyaW5nLCBEZWZhdWx0SGFzaDxpbnQ+OjpIYXNoLCBVU2NyaXB0Q29kZUhhc2hUcmFp
dHM+IFNjcmlwdEZvbnRGYW1pbHlNYXA7Cit0eXBlZGVmIEhhc2hNYXA8aW50LCBBdG9tU3RyaW5n
LCBEZWZhdWx0SGFzaDxpbnQ+LCBVU2NyaXB0Q29kZUhhc2hUcmFpdHM+IFNjcmlwdEZvbnRGYW1p
bHlNYXA7CiAKIGNsYXNzIEZvbnRHZW5lcmljRmFtaWxpZXMgewogICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW50UG9pbnRIYXNoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2lu
dEhhc2guaAppbmRleCBhN2FlM2FkOWJiYWViMDMyMWZjZDM0YTY4NmI5NjI3NTU5ZGMwMGViLi45
NzEyODJjNzQyNzZiZjNhYjdkNDcxMmIwNzBmMWNkMjQyZjdlNjRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludEhhc2guaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludEhhc2guaApAQCAtMzgsOSArMzgsNyBA
QCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkludFBvaW50PiA6IEdlbmVy
aWNIYXNoVHJhaXRzPFdlYkNvcmU6OkludAogICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0
ZWRWYWx1ZShXZWJDb3JlOjpJbnRQb2ludCYgc2xvdCkgeyBzbG90ID0gV2ViQ29yZTo6SW50UG9p
bnQoc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKSwgMCk7IH0KICAgICBzdGF0aWMgYm9v
bCBpc0RlbGV0ZWRWYWx1ZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgc2xvdCkgeyByZXR1cm4g
c2xvdCA9PSBXZWJDb3JlOjpJbnRQb2ludChzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1pbigp
LCAwKTsgfQogfTsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFBv
aW50PiB7Ci0gICAgdHlwZWRlZiBJbnRQb2ludEhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRQb2ludD4gOiBJbnRQb2ludEhhc2ggeyB9Owog
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJl
Y3RIYXNoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0SGFzaC5o
CmluZGV4IDlkOTBkYTcyYTdiOTYwODViMTI2NmRjOTkxMTAwMzZkZDQ5ZWE4NGUuLjg3Y2I2OTJh
MjhlYjM5NzQ4ODI4NzYzMjlhOWNmZTgwODc4YTZkYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3RIYXNoLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdEhhc2guaApAQCAtMzYsMTUgKzM2LDE1IEBAIG5hbWVz
cGFjZSBXVEYgewogdGVtcGxhdGU8PiBzdHJ1Y3QgSW50SGFzaDxXZWJDb3JlOjpJbnRSZWN0PiB7
CiAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgV2ViQ29yZTo6SW50UmVjdCYga2V5KQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIHBhaXJJbnRIYXNoKERlZmF1bHRIYXNoPFdlYkNvcmU6Oklu
dFBvaW50Pjo6SGFzaDo6aGFzaChrZXkubG9jYXRpb24oKSksIERlZmF1bHRIYXNoPFdlYkNvcmU6
OkludFNpemU+OjpIYXNoOjpoYXNoKGtleS5zaXplKCkpKTsKKyAgICAgICAgcmV0dXJuIHBhaXJJ
bnRIYXNoKERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFBvaW50Pjo6aGFzaChrZXkubG9jYXRpb24o
KSksIERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFNpemU+OjpoYXNoKGtleS5zaXplKCkpKTsKICAg
ICB9CiAgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgYSwgY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYgYikKICAgICB7Ci0gICAgICAgIHJldHVybiBEZWZhdWx0SGFz
aDxXZWJDb3JlOjpJbnRQb2ludD46Okhhc2g6OmVxdWFsKGEubG9jYXRpb24oKSwgYi5sb2NhdGlv
bigpKSAmJiBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRTaXplPjo6SGFzaDo6ZXF1YWwoYS5zaXpl
KCksIGIuc2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFBv
aW50Pjo6ZXF1YWwoYS5sb2NhdGlvbigpLCBiLmxvY2F0aW9uKCkpICYmIERlZmF1bHRIYXNoPFdl
YkNvcmU6OkludFNpemU+OjplcXVhbChhLnNpemUoKSwgYi5zaXplKCkpOwogICAgIH0KICAgICBz
dGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7CiB9
OwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6SW50UmVjdD4geyB0eXBl
ZGVmIEludEhhc2g8V2ViQ29yZTo6SW50UmVjdD4gSGFzaDsgfTsKK3RlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFJlY3Q+IDogSW50SGFzaDxXZWJDb3JlOjpJbnRSZWN0
PiB7IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6SW50UmVjdD4g
OiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpJbnRSZWN0PiB7CiAgICAgc3RhdGljIGNvbnN0
IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplSGFzaC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW50U2l6ZUhhc2guaAppbmRleCA3OWY0ZThhYmY2ZWExOWI0NDdhZDA5NWU0
NmJiMTlhZWQ1MGY3MmU0Li5kM2VkMWFjMjQ5ZmNjZGU2MDRmZDE4M2RiM2FiODkzOWFmMDM0ZDgx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplSGFz
aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFNpemVIYXNoLmgK
QEAgLTMwLDcgKzMwLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHN0YXRpYyBib29sIGVx
dWFsKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGEsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGIp
IHsgcmV0dXJuIGEgPT0gYjsgfQogICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21w
YXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7CiAgICAgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRTaXplPiB7IHR5cGVkZWYgSW50SGFzaDxXZWJDb3Jl
OjpJbnRTaXplPiBIYXNoOyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdl
YkNvcmU6OkludFNpemU+IDogSW50SGFzaDxXZWJDb3JlOjpJbnRTaXplPiB7IH07CiAgICAgCiAg
ICAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpJbnRTaXplPiA6IEdlbmVy
aWNIYXNoVHJhaXRzPFdlYkNvcmU6OkludFNpemU+IHsKICAgICAgICAgc3RhdGljIGNvbnN0IGJv
b2wgZW1wdHlWYWx1ZUlzWmVybyA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9XaWR0aENhY2hlLmgKaW5kZXggZThkNzJlMDk2Yjk0MmVhNTFlYTAwNWEyZmEyYTYx
ZjEwNzYwZDcyZS4uNTJhN2IwODY2Y2QwNzBkMmRkZTg4NGU0NzI4ZWIzNGQ4NTNhODczNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhDYWNoZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoQ2FjaGUuaApAQCAtMjEw
LDcgKzIxMCw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgdHlwZWRlZiBIYXNoTWFwPFNtYWxs
U3RyaW5nS2V5LCBmbG9hdCwgU21hbGxTdHJpbmdLZXlIYXNoLCBTbWFsbFN0cmluZ0tleUhhc2hU
cmFpdHM+IE1hcDsKLSAgICB0eXBlZGVmIEhhc2hNYXA8dWludDMyX3QsIGZsb2F0LCBEZWZhdWx0
SGFzaDx1aW50MzJfdD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8
dWludDMyX3Q+PiBTaW5nbGVDaGFyTWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDx1aW50MzJfdCwg
ZmxvYXQsIERlZmF1bHRIYXNoPHVpbnQzMl90PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFz
aFRyYWl0czx1aW50MzJfdD4+IFNpbmdsZUNoYXJNYXA7CiAgICAgc3RhdGljIGNvbnN0IGludCBz
X21pbkludGVydmFsID0gLTM7IC8vIEEgY2FjaGUgaGl0IHBheXMgZm9yIGFib3V0IDMgY2FjaGUg
bWlzc2VzLgogICAgIHN0YXRpYyBjb25zdCBpbnQgc19tYXhJbnRlcnZhbCA9IDIwOyAvLyBTYW1w
bGluZyBhdCB0aGlzIGludGVydmFsIGhhcyBhbG1vc3Qgbm8gb3ZlcmhlYWQuCiAgICAgc3RhdGlj
IGNvbnN0IGludCBzX21heFNpemUgPSA1MDAwMDA7IC8vIEp1c3QgZW5vdWdoIHRvIGd1YXJkIGFn
YWluc3QgcGF0aG9sb2dpY2FsIGdyb3d0aC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNoZUZyZWVUeXBlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNoZUZyZWVUeXBlLmNwcApp
bmRleCA3M2VhZGVkMjRlZjExNDJiYmM2ZmFlN2I1NmU1ZGRmNDQ3MWE5Zjg0Li5mMDI3ZWVkMzE3
MTQ0NGJjMzZhNDM0NDc2M2I3M2UxMmRiMmEwMjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVlVHlwZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5
cGUuY3BwCkBAIC0yMjIsNyArMjIyLDcgQEAgc3RydWN0IEZhbGxiYWNrRm9udERlc2NyaXB0aW9u
S2V5IHsKIAogICAgIHVuc2lnbmVkIGNvbXB1dGVIYXNoKCkgY29uc3QKICAgICB7Ci0gICAgICAg
IHJldHVybiBXVEY6OnBhaXJJbnRIYXNoKGRlc2NyaXB0aW9uS2V5LmNvbXB1dGVIYXNoKCksIFdU
Rjo6RGVmYXVsdEhhc2g8Ym9vbD46Okhhc2g6Omhhc2goY29sb3JlZEZvbnQpKTsKKyAgICAgICAg
cmV0dXJuIFdURjo6cGFpckludEhhc2goZGVzY3JpcHRpb25LZXkuY29tcHV0ZUhhc2goKSwgV1RG
OjpEZWZhdWx0SGFzaDxib29sPjo6aGFzaChjb2xvcmVkRm9udCkpOwogICAgIH0KIAogICAgIEZv
bnREZXNjcmlwdGlvbktleSBkZXNjcmlwdGlvbktleTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaAppbmRleCBmZjBhZjgzNTUzNGZmYjQwY2ZlOTA2ZTc3
NDVjYzc4MzU0MjY3ZGM4Li5lNTViNDhiODAxZDJjNTFlMDVhNzE2MjY3MzM0ZTNiODI4OGMwNWZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oCkBA
IC0xNTUsNyArMTU1LDcgQEAgYm9vbCBhZGRUb0FjY2Vzc0NvbnRyb2xBbGxvd0xpc3QoY29uc3Qg
U3RyaW5nJiBzdHJpbmcsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZAogICAgIHJldHVybiB0cnVl
OwogfQogCi10ZW1wbGF0ZTxjbGFzcyBIYXNoVHlwZSA9IERlZmF1bHRIYXNoPFN0cmluZz46Okhh
c2g+Cit0ZW1wbGF0ZTxjbGFzcyBIYXNoVHlwZSA9IERlZmF1bHRIYXNoPFN0cmluZz4+CiBPcHRp
b25hbDxIYXNoU2V0PFN0cmluZywgSGFzaFR5cGU+PiBwYXJzZUFjY2Vzc0NvbnRyb2xBbGxvd0xp
c3QoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgSGFzaFNldDxTdHJpbmcsIEhhc2hUeXBl
PiBzZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Byb3Rl
Y3Rpb25TcGFjZUhhc2guaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUHJvdGVj
dGlvblNwYWNlSGFzaC5oCmluZGV4IGU4NDMzMzU3ZjJhZmRiNjYyNDMxZmU1YTZkODBkYjZhNDQz
MDk1NTcuLmQ1OWMyZjE5M2ZhZDE2OWU5ODQyOGU3MjkwNDZlMTk1ZmRkOGMxNDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlSGFzaC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlSGFz
aC5oCkBAIC01NywxMSArNTcsOCBAQCBzdHJ1Y3QgUHJvdGVjdGlvblNwYWNlSGFzaCB7CiAKIG5h
bWVzcGFjZSBXVEYgewogCi0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3Jl
OjpQcm90ZWN0aW9uU3BhY2U+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPFdlYkNvcmU6OlByb3Rl
Y3Rpb25TcGFjZT4geyB9OwotCi0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2Vi
Q29yZTo6UHJvdGVjdGlvblNwYWNlPiB7Ci0gICAgICAgIHVzaW5nIEhhc2ggPSBXZWJDb3JlOjpQ
cm90ZWN0aW9uU3BhY2VIYXNoOwotICAgIH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRz
PFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8V2ViQ29y
ZTo6UHJvdGVjdGlvblNwYWNlPiB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxX
ZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2U+IDogV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlSGFzaCB7
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vQ09NUHRyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ09NUHRy
LmgKaW5kZXggMzcxMzE2ZTJjOTM4ZDI1ZDYzYjk4OTI4ZWI1N2VkMTUyNmUzY2NjZi4uNzY1MWJm
OTNkYWQ1YmMyMGUzY2EwN2IyMDJmYWYyYTg4MTI3Yzc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL0NPTVB0ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9DT01QdHIuaApAQCAtMjU1LDkgKzI1NSw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFA+IHN0
cnVjdCBIYXNoVHJhaXRzPENPTVB0cjxQPiA+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPENPTVB0
CiAgICAgc3RhdGljIFBlZWtUeXBlIHBlZWsoUCogdmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9CiB9
OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8Q09NUHRyPFA+PiB7
Ci0gICAgdHlwZWRlZiBQdHJIYXNoPENPTVB0cjxQPj4gSGFzaDsKLX07Cit0ZW1wbGF0ZTx0eXBl
bmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8Q09NUHRyPFA+PiA6IFB0ckhhc2g8Q09NUHRyPFA+
PiB7IH07CiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dp
bmRvd3NLZXlOYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd3NLZXlO
YW1lcy5oCmluZGV4IDBmZGZlYzA4N2ExYjI0ZTY2ZjJhODQzM2VhMWY5MTk5Mjg1MWFlNzEuLjkw
YzYyNDRmOGM3ZWE4MWZlOGVhNGM1OGQ1Y2MwM2VjMDc1YjY1MmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dzS2V5TmFtZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vV2luZG93c0tleU5hbWVzLmgKQEAgLTU0LDcgKzU0LDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faGFzQWx0R3JhcGggPSBmYWxzZTsKIAogICAgIHVzaW5nIFZpcnR1
YWxLZXlNb2RpZmllclNldFBhaXIgPSBzdGQ6OnBhaXI8dW5zaWduZWQsIEtleU1vZGlmaWVyU2V0
PjsKLSAgICB1c2luZyBWaXJ0dWFsS2V5VG9LZXlNYXAgPSBIYXNoTWFwPFZpcnR1YWxLZXlNb2Rp
ZmllclNldFBhaXIsIFN0cmluZywgRGVmYXVsdEhhc2g8VmlydHVhbEtleU1vZGlmaWVyU2V0UGFp
cj46Okhhc2gsIFBhaXJIYXNoVHJhaXRzPFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFp
dHM8dW5zaWduZWQ+LCBIYXNoVHJhaXRzPEtleU1vZGlmaWVyU2V0Pj4+OworICAgIHVzaW5nIFZp
cnR1YWxLZXlUb0tleU1hcCA9IEhhc2hNYXA8VmlydHVhbEtleU1vZGlmaWVyU2V0UGFpciwgU3Ry
aW5nLCBEZWZhdWx0SGFzaDxWaXJ0dWFsS2V5TW9kaWZpZXJTZXRQYWlyPiwgUGFpckhhc2hUcmFp
dHM8V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4sIEhhc2hUcmFp
dHM8S2V5TW9kaWZpZXJTZXQ+Pj47CiAgICAgVmlydHVhbEtleVRvS2V5TWFwIG1fcHJpbnRhYmxl
S2V5Q29kZVRvS2V5OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0NTU1ZhbHVlS2V5LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ1NTVmFsdWVLZXkuaApp
bmRleCBhZjhjYWI3MWY3YzE4MzMyNGY1MDJkYTYyMDg5ZDA1N2U3OWI4OTMwLi5jYjJlODNkZDI3
YWY1NDhkMTU2ZGY2NTgyY2M5YzFjNDA5MTc3NmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvQ1NTVmFsdWVLZXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
Q1NTVmFsdWVLZXkuaApAQCAtOTMsOCArOTMsNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPFdlYkNvcmU6OkNTU1ZhbHVlS2V5PiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6Ogog
ICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFdlYkNvcmU6OkNTU1ZhbHVlS2V5
JiBzbG90KSB7IHJldHVybiBzbG90LmNzc1ZhbHVlSUQgPT0gV2ViQ29yZTo6Q1NTVmFsdWVJbnZh
bGlkICYmIHNsb3QudXNlRGFya0FwcGVhcmFuY2UgJiYgc2xvdC51c2VFbGV2YXRlZFVzZXJJbnRl
cmZhY2VMZXZlbDsgfQogfTsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29y
ZTo6Q1NTVmFsdWVLZXk+IHsKLSAgICB0eXBlZGVmIENTU1ZhbHVlS2V5SGFzaCBIYXNoOwotfTsK
K3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkNTU1ZhbHVlS2V5PiA6IENT
U1ZhbHVlS2V5SGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVudC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVudC5oCmluZGV4IDM4YzA0ODhlNDgy
YTM1N2U3YTVmYjgyOTk3YTM5MzQwYjFiMmMwZjYuLjU4ZTNmYzZiYzFiZWY4YTNhOGY3YzQzNmVi
YzRiY2VmY2Q0ZjQ5ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Hcmlk
QmFzZWxpbmVBbGlnbm1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZEJh
c2VsaW5lQWxpZ25tZW50LmgKQEAgLTE2Myw3ICsxNjMsNyBAQCBwcml2YXRlOgogICAgIGJvb2wg
aXNPcnRob2dvbmFsQ2hpbGRGb3JCYXNlbGluZShjb25zdCBSZW5kZXJCb3gmKSBjb25zdDsKICAg
ICBib29sIGlzUGFyYWxsZWxUb0Jhc2VsaW5lQXhpc0ZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYs
IEdyaWRBeGlzKSBjb25zdDsKIAotICAgIHR5cGVkZWYgSGFzaE1hcDx1bnNpZ25lZCwgc3RkOjp1
bmlxdWVfcHRyPEJhc2VsaW5lQ29udGV4dD4sIERlZmF1bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwg
V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IEJhc2VsaW5lQ29u
dGV4dHNNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPHVuc2lnbmVkLCBzdGQ6OnVuaXF1ZV9wdHI8
QmFzZWxpbmVDb250ZXh0PiwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6OlVuc2lnbmVkV2l0
aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gQmFzZWxpbmVDb250ZXh0c01hcDsKIAogICAg
IC8vIEdyaWQgQ29udGFpbmVyJ3MgV3JpdGluZ01vZGUsIHVzZWQgdG8gZGV0ZXJtaW5lIGdyaWQg
aXRlbSdzIG9ydGhvZ29uYWxpdHkuCiAgICAgV3JpdGluZ01vZGUgbV9ibG9ja0Zsb3c7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGht
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmgK
aW5kZXggOWY0NGY2MGZkMDExOTYyZGI2NTg2NDNjZTZlYjNmNTJiYTYyYTA3Zi4uMWQwZDZmYzA2
NjQyNDFhYmE0NDRlMzYxZWFhNWU0NWNhM2NiOTAzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaApAQCAtMTcxLDcgKzE3MSw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb21wdXRlR3JpZENvbnRhaW5lckludHJpbnNpY1NpemVz
KCk7CiAKICAgICAvLyBIZWxwZXIgbWV0aG9kcyBmb3Igc3RlcCA0LiBTdHJlY2ggZmxleGlibGUg
dHJhY2tzLgotICAgIHR5cGVkZWYgSGFzaFNldDx1bnNpZ25lZCwgRGVmYXVsdEhhc2g8dW5zaWdu
ZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4g
VHJhY2tJbmRleFNldDsKKyAgICB0eXBlZGVmIEhhc2hTZXQ8dW5zaWduZWQsIERlZmF1bHRIYXNo
PHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+
IFRyYWNrSW5kZXhTZXQ7CiAgICAgZG91YmxlIGNvbXB1dGVGbGV4RmFjdG9yVW5pdFNpemUoY29u
c3QgVmVjdG9yPEdyaWRUcmFjaz4mIHRyYWNrcywgZG91YmxlIGZsZXhGYWN0b3JTdW0sIExheW91
dFVuaXQmIGxlZnRPdmVyU3BhY2UsIGNvbnN0IFZlY3Rvcjx1bnNpZ25lZCwgOD4mIGZsZXhpYmxl
VHJhY2tzSW5kZXhlcywgc3RkOjp1bmlxdWVfcHRyPFRyYWNrSW5kZXhTZXQ+IHRyYWNrc1RvVHJl
YXRBc0luZmxleGlibGUgPSBudWxscHRyKSBjb25zdDsKICAgICB2b2lkIGNvbXB1dGVGbGV4U2l6
ZWRUcmFja3NHcm93dGgoZG91YmxlIGZsZXhGcmFjdGlvbiwgVmVjdG9yPExheW91dFVuaXQ+JiBp
bmNyZW1lbnRzLCBMYXlvdXRVbml0JiB0b3RhbEdyb3d0aCkgY29uc3Q7CiAgICAgZG91YmxlIGZp
bmRGclVuaXRTaXplKGNvbnN0IEdyaWRTcGFuJiB0cmFja3NTcGFuLCBMYXlvdXRVbml0IGxlZnRP
dmVyU3BhY2UpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmlu
ZGV4IGFiNGU4MGVmNTlhMTQxZWM2ZDM4NTAyMzhiMzdlMGE2NGU4M2JiY2YuLjlmZDg1ZjI4ZWEz
OGY1ZGU2NzA3NTI0MzZjYjc3M2UyNDg1MjNmY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyR3JpZC5jcHAKQEAgLTc0Myw3ICs3NDMsNyBAQCB2b2lkIFJlbmRlckdyaWQ6OnBsYWNl
U3BlY2lmaWVkTWFqb3JBeGlzSXRlbXNPbkdyaWQoR3JpZCYgZ3JpZCwgY29uc3QgVmVjdG9yPFJl
bgogICAgIC8vIE1hcHBpbmcgYmV0d2VlbiB0aGUgbWFqb3IgYXhpcyB0cmFja3MgKHJvd3Mgb3Ig
Y29sdW1ucykgYW5kIHRoZSBsYXN0IGF1dG8tcGxhY2VkIGl0ZW0ncyBwb3NpdGlvbiBpbnNlcnRl
ZCBvbgogICAgIC8vIHRoYXQgdHJhY2suIFRoaXMgaXMgbmVlZGVkIHRvIGltcGxlbWVudCAic3Bh
cnNlIiBwYWNraW5nIGZvciBpdGVtcyBsb2NrZWQgdG8gYSBnaXZlbiB0cmFjay4KICAgICAvLyBT
ZWUgaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzLWdyaWQvI2F1dG8tcGxhY2VtZW50LWFsZ29y
aXRobQotICAgIEhhc2hNYXA8dW5zaWduZWQsIHVuc2lnbmVkLCBEZWZhdWx0SGFzaDx1bnNpZ25l
ZD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiBt
aW5vckF4aXNDdXJzb3JzOworICAgIEhhc2hNYXA8dW5zaWduZWQsIHVuc2lnbmVkLCBEZWZhdWx0
SGFzaDx1bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWdu
ZWQ+PiBtaW5vckF4aXNDdXJzb3JzOwogCiAgICAgZm9yIChhdXRvJiBhdXRvR3JpZEl0ZW0gOiBh
dXRvR3JpZEl0ZW1zKSB7CiAgICAgICAgIEdyaWRTcGFuIG1ham9yQXhpc1Bvc2l0aW9ucyA9IGdy
aWQuZ3JpZEl0ZW1TcGFuKCphdXRvR3JpZEl0ZW0sIGF1dG9QbGFjZW1lbnRNYWpvckF4aXNEaXJl
Y3Rpb24oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IGViN2I5
MTMyMjdiNjVjNjI5ZmI4YzNiMmI3YzVjNzZlZTZmODdhNzUuLjVlNDhmMDRmNjI5Yjg0MzM0ZmYw
YzNlOGUyOTUwOTdiZWMwYjZjYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oCkBAIC00NTMsNyArNDUzLDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgQ29sb3JDYWNo
ZSYgY29sb3JDYWNoZShPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0OwogCiBw
cml2YXRlOgotICAgIG11dGFibGUgSGFzaE1hcDx1aW50OF90LCBDb2xvckNhY2hlLCBEZWZhdWx0
SGFzaDx1aW50OF90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1
aW50OF90Pj4gbV9jb2xvckNhY2hlTWFwOworICAgIG11dGFibGUgSGFzaE1hcDx1aW50OF90LCBD
b2xvckNhY2hlLCBEZWZhdWx0SGFzaDx1aW50OF90PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5
SGFzaFRyYWl0czx1aW50OF90Pj4gbV9jb2xvckNhY2hlTWFwOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcAppbmRleCBjOWFmNGNmY2ZmMGNiY2Iy
MTYwYmZhYTRhZDE1YzI4ZGI0YjEzMzQ4Li42ZmZkYTkyMzAxZjRhZTYwNzYxYjQ0NzljNjg1YWUz
MTMwNDIzNWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcApAQCAtNDIyLDcgKzQyMiw3IEBA
IFJ1bGVTZXQ6OkNvbGxlY3RlZE1lZGlhUXVlcnlDaGFuZ2VzIFJ1bGVTZXQ6OmV2YWx1YXRlRHlu
YW1pY01lZGlhUXVlcnlSdWxlcyhjb25zCiB7CiAgICAgQ29sbGVjdGVkTWVkaWFRdWVyeUNoYW5n
ZXMgY29sbGVjdGVkQ2hhbmdlczsKIAotICAgIEhhc2hNYXA8c2l6ZV90LCBib29sLCBEZWZhdWx0
SGFzaDxzaXplX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHNp
emVfdD4+IGFmZmVjdGVkUnVsZVBvc2l0aW9uc0FuZFJlc3VsdHM7CisgICAgSGFzaE1hcDxzaXpl
X3QsIGJvb2wsIERlZmF1bHRIYXNoPHNpemVfdD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhh
c2hUcmFpdHM8c2l6ZV90Pj4gYWZmZWN0ZWRSdWxlUG9zaXRpb25zQW5kUmVzdWx0czsKIAogICAg
IGZvciAoc2l6ZV90IGkgPSBzdGFydEluZGV4OyBpIDwgbV9keW5hbWljTWVkaWFRdWVyeVJ1bGVz
LnNpemUoKTsgKytpKSB7CiAgICAgICAgIGF1dG8mIGR5bmFtaWNSdWxlcyA9IG1fZHluYW1pY01l
ZGlhUXVlcnlSdWxlc1tpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCmluZGV4IDNiMDQ5NDIxZDdm
ZGQ5ZDk1NTUyNDA3NDJmODNlY2M5MzMwMmIxMGYuLjIyOTkwZWQ5M2IwMTNlODdmMjAwNjc1MDhi
YWYzNWJiZGNkNzdkN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaApAQCAtMjIwLDcgKzIyMCw3
IEBAIHN0cnVjdCBTVkdBdHRyaWJ1dGVIYXNoVHJhbnNsYXRvciB7CiAgICAgICAgICAgICBRdWFs
aWZpZWROYW1lQ29tcG9uZW50cyBjb21wb25lbnRzID0geyBudWxsQXRvbSgpLmltcGwoKSwga2V5
LmxvY2FsTmFtZSgpLmltcGwoKSwga2V5Lm5hbWVzcGFjZVVSSSgpLmltcGwoKSB9OwogICAgICAg
ICAgICAgcmV0dXJuIGhhc2hDb21wb25lbnRzKGNvbXBvbmVudHMpOwogICAgICAgICB9Ci0gICAg
ICAgIHJldHVybiBEZWZhdWx0SGFzaDxRdWFsaWZpZWROYW1lPjo6SGFzaDo6aGFzaChrZXkpOwor
ICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8UXVhbGlmaWVkTmFtZT46Omhhc2goa2V5KTsKICAg
ICB9CiAgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgUXVhbGlmaWVkTmFtZSYgYSwgY29uc3Qg
UXVhbGlmaWVkTmFtZSYgYikgeyByZXR1cm4gYS5tYXRjaGVzKGIpOyB9CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVu
dGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNs
aWVudElkZW50aWZpZXIuaAppbmRleCA2MDAzYTZkZDllNGI3OTFlNDAxODQ4NTNkMzUxNzVjMGI1
NGJlYTFjLi42NDA5YTQxYzM4MmE4ZTU3N2M5NjAzNjRmYjY3ZTc4MTQ0OWNiMWI2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudElk
ZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNsaWVudElkZW50aWZpZXIuaApAQCAtMTE3LDkgKzExNyw3IEBAIHRlbXBsYXRlPD4gc3Ry
dWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI+IDog
R2VuZXJpY0hhCiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2ViQ29yZTo6
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXImIHNsb3QpIHsgcmV0dXJuIHNsb3Quc2VydmVy
Q29ubmVjdGlvbklkZW50aWZpZXIudG9VSW50NjQoKSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPHVp
bnQ2NF90Pjo6bWF4KCk7IH0KIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyPiB7Ci0gICAgdHlwZWRlZiBTZXJ2
aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllckhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcj4gOiBT
ZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllckhhc2ggeyB9OwogCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
S2V5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbktleS5oCmluZGV4IGQ0MjBiNmY5NWZjMWVjNmZiZTU1NzNiYzVkZjVlYjVmNmJiMWFi
ZGEuLjI3OTEyMTIxODhiNjI0ZDA0ZTQ1ZGY5YmUzYTdjYjc3NTkzYjM4ZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
S2V5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25LZXkuaApAQCAtMTEwLDkgKzExMCw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhh
c2hUcmFpdHM8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleT4gOiBHZW5lcmlj
SGFzCiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbktleSYgc2xvdCkgeyByZXR1cm4gc2xvdC5zY29wZSgpLmlzSGFz
aFRhYmxlRGVsZXRlZFZhbHVlKCk7IH0KIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXk+IHsKLSAgICB0eXBlZGVm
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXlIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleT4g
OiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5SGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdURgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fk
cy9Eb3dubG9hZElELmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZElELmgKaW5kZXggNDAyMzIwZjIyZDIzZTgwMjhiYWU1ODJjZmJjMmVlOTBhZWIxOGM2
My4uNzQzNDEzMjgyNjc4MWYxZjQyZTU3ZGJkYjcxNjI4NzE5ZTgwYjY0MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRJRC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkSUQuaApAQCAt
OTAsOSArOTAsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYktpdDo6RG93bmxv
YWRJRD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJLaXQ6OkRvdwogICAgIHN0YXRpYyB2b2lkIGNv
bnN0cnVjdERlbGV0ZWRWYWx1ZShXZWJLaXQ6OkRvd25sb2FkSUQmIHNsb3QpIHsgc2xvdCA9IFdl
YktpdDo6RG93bmxvYWRJRChzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCkpOyB9
CiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2ViS2l0OjpEb3dubG9hZElE
JiBzbG90KSB7IHJldHVybiBzbG90LmRvd25sb2FkSUQoKSA9PSBzdGQ6Om51bWVyaWNfbGltaXRz
PHVpbnQ2NF90Pjo6bWF4KCk7IH0KIH07Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxX
ZWJLaXQ6OkRvd25sb2FkSUQ+IHsKLSAgICB0eXBlZGVmIERvd25sb2FkSURIYXNoIEhhc2g7Ci19
OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViS2l0OjpEb3dubG9hZElEPiA6IERv
d25sb2FkSURIYXNoIHsgfTsKIAogfQogI2VuZGlmIC8qIERvd25sb2FkSURfaCAqLwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmgKaW5kZXgg
YjgyMzdiYTk0NmQ2ZjMzOTJjY2UzZDY2YmRjMjFhNGViYWI5ZjUyYy4uZTVjNjA1YzUxZjMyNzE1
NjNhNmI2ZWUxOTEwYzk0ZWQwMTNmMzQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCkBAIC05Miw5ICs5Miw3IEBAIHRlbXBsYXRl
PD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViS2l0OjpOZXR3b3JrQ2FjaGU6Okdsb2JhbEZyYW1lSUQ+
IDogR2VuZXJpY0hhc2hUCiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2Vi
S2l0OjpOZXR3b3JrQ2FjaGU6Okdsb2JhbEZyYW1lSUQmIHNsb3QpIHsgcmV0dXJuIHNsb3Qud2Vi
UGFnZUlELnRvVUludDY0KCkgPT0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgp
OyB9CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJLaXQ6Ok5ldHdvcmtD
YWNoZTo6R2xvYmFsRnJhbWVJRD4gewotICAgIHR5cGVkZWYgR2xvYmFsRnJhbWVJREhhc2ggSGFz
aDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJLaXQ6Ok5ldHdvcmtDYWNo
ZTo6R2xvYmFsRnJhbWVJRD4gOiBHbG9iYWxGcmFtZUlESGFzaCB7IH07CiAKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXku
aCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlS2V5LmgK
aW5kZXggYTMyY2RkNGI3ODE2ZmQ4YzAzZjhiNDZlZDllZDE5NzdiZTM1YjAyZS4uZjUxMTFiZTgz
MzI1YTQxNGMyMTJhNWFiOGI0NDhmOTAzZDJmYWFjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5oCkBAIC0xMjIsOSArMTIy
LDcgQEAgc3RydWN0IE5ldHdvcmtDYWNoZUtleUhhc2ggewogfTsKIAogdGVtcGxhdGU8dHlwZW5h
bWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OktleT4gewotICAgIHR5cGVkZWYgTmV0d29ya0NhY2hlS2V5
SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYktpdDo6TmV0
d29ya0NhY2hlOjpLZXk+IDogTmV0d29ya0NhY2hlS2V5SGFzaCB7IH07CiAKIHRlbXBsYXRlPD4g
c3RydWN0IEhhc2hUcmFpdHM8V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OktleT4gOiBTaW1wbGVDbGFz
c0hhc2hUcmFpdHM8V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OktleT4gewogICAgIHN0YXRpYyBjb25z
dCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vSVBDL01lc3NhZ2VSZWNlaXZlck1hcC5oIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvTWVzc2FnZVJlY2VpdmVyTWFwLmgKaW5kZXggYmE2NGMxNTU1ZTJkODNmZjc1MDQx
OGJhYzQyMTc3NDViYmE5Y2ZlYS4uYWMzNjYyZTk3MjYwYmQ4Y2JmODgyYjI4YjFlODc3ZWExMzJi
YzEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVJlY2Vp
dmVyTWFwLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVJlY2VpdmVy
TWFwLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHJpdmF0ZToKICAgICAvLyBNZXNzYWdlIHJlY2VpdmVy
cyB0aGF0IGRvbid0IHJlcXVpcmUgYSBkZXN0aW5hdGlvbiBJRC4KICAgICBIYXNoTWFwPFJlY2Vp
dmVyTmFtZSwgTWVzc2FnZVJlY2VpdmVyKiwgV1RGOjpJbnRIYXNoPFJlY2VpdmVyTmFtZT4sIFdU
Rjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8UmVjZWl2ZXJOYW1lPj4gbV9nbG9iYWxNZXNzYWdlUmVj
ZWl2ZXJzOwogCi0gICAgSGFzaE1hcDxzdGQ6OnBhaXI8UmVjZWl2ZXJOYW1lLCB1aW50NjRfdD4s
IE1lc3NhZ2VSZWNlaXZlciosIERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxSZWNlaXZlck5hbWUsIHVp
bnQ2NF90Pj46Okhhc2gsIFBhaXJIYXNoVHJhaXRzPFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8
UmVjZWl2ZXJOYW1lPiwgSGFzaFRyYWl0czx1aW50NjRfdD4+PiBtX21lc3NhZ2VSZWNlaXZlcnM7
CisgICAgSGFzaE1hcDxzdGQ6OnBhaXI8UmVjZWl2ZXJOYW1lLCB1aW50NjRfdD4sIE1lc3NhZ2VS
ZWNlaXZlciosIERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxSZWNlaXZlck5hbWUsIHVpbnQ2NF90Pj4s
IFBhaXJIYXNoVHJhaXRzPFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8UmVjZWl2ZXJOYW1lPiwg
SGFzaFRyYWl0czx1aW50NjRfdD4+PiBtX21lc3NhZ2VSZWNlaXZlcnM7CiB9OwogCiB9OwpAQCAt
NjYsOCArNjYsNiBAQCBwcml2YXRlOgogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PElQQzo6UmVjZWl2ZXJOYW1lPiB7Ci0gICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SVBDOjpSZWNl
aXZlck5hbWU+OwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPElQQzo6UmVjZWl2
ZXJOYW1lPiA6IEludEhhc2g8SVBDOjpSZWNlaXZlck5hbWU+IHsgfTsKIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJlbmNlLmggYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJpbmdSZWZlcmVuY2UuaAppbmRleCBlNzE0NDhkYjk1ZjU3
MDQwYjMwMmU3M2YwYzBkM2UzMDQzMTcyNzJiLi5kZTYwNmQ3OTFhYWI3NTBjYjlmYjkyMDZhM2Rl
MTJkOTdiNGM5ZWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJp
bmdSZWZlcmVuY2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJpbmdSZWZl
cmVuY2UuaApAQCAtOTcsOSArOTcsNyBAQCBpbmxpbmUgYm9vbCBTdHJpbmdSZWZlcmVuY2U6Okhh
c2g6OmVxdWFsKGNvbnN0IFN0cmluZ1JlZmVyZW5jZSYgYSwgY29uc3QgU3RyaW5nUgogbmFtZXNw
YWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAKLXRl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPElQQzo6U3RyaW5nUmVmZXJlbmNlPiB7Ci0gICAg
dHlwZWRlZiBJUEM6OlN0cmluZ1JlZmVyZW5jZTo6SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPElQQzo6U3RyaW5nUmVmZXJlbmNlPiA6IElQQzo6U3RyaW5nUmVm
ZXJlbmNlOjpIYXNoIHsgfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxJUEM6OlN0
cmluZ1JlZmVyZW5jZT4gOiBHZW5lcmljSGFzaFRyYWl0czxJUEM6OlN0cmluZ1JlZmVyZW5jZT4g
ewogICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ2FsbGJhY2tJRC5oIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ2FsbGJhY2tJRC5oCmluZGV4IGEyNmZlYjg2NzI4NGJkMDA3ZGYyMTIxMzdmMGU5MzQ3MWYx
MjRiMGMuLjE2MzhjZWQzNGYxNTY5ZTVkYjEwMWFlOGUxZGRmOWJhZWQ3NTExOGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NhbGxiYWNrSUQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9DYWxsYmFja0lELmgKQEAgLTEyMSw4ICsxMjEsNiBAQCB0ZW1wbGF0ZTw+IHN0cnVj
dCBIYXNoVHJhaXRzPFdlYktpdDo6Q2FsbGJhY2tJRD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJL
aXQ6OkNhbAogICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShXZWJLaXQ6OkNh
bGxiYWNrSUQmIHNsb3QpIHsgc2xvdCA9IFdlYktpdDo6Q2FsbGJhY2tJRChzdGQ6Om51bWVyaWNf
bGltaXRzPHVpbnQ2NF90Pjo6bWF4KCkpOyB9CiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFs
dWUoY29uc3QgV2ViS2l0OjpDYWxsYmFja0lEJiBzbG90KSB7IHJldHVybiBzbG90Lm1faWQgPT0g
c3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpOyB9CiB9OwotdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8V2ViS2l0OjpDYWxsYmFja0lEPiB7Ci0gICAgdHlwZWRlZiBDYWxs
YmFja0lESGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYktp
dDo6Q2FsbGJhY2tJRD4gOiBDYWxsYmFja0lESGFzaCB7IH07CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9jcHAvV0tSZXRhaW5QdHIuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9jcHAvV0tSZXRhaW5QdHIuaAppbmRleCBiY2M3ZmRmYWE1YWNhYTcw
NWZjNWM5NWM0NzA4MTcwZjU0NDMyNDMxLi5mNGViOTE0ZDc5MmEwMDhlMzUyOWY0MmY1YTczMGJk
NDdlMTdlMTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvY3BwL1dL
UmV0YWluUHRyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2NwcC9XS1JldGFp
blB0ci5oCkBAIC0yNjYsOSArMjY2LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElz
U21hcnRQdHI8V0tSZXRhaW5QdHI8VD4+IHsKICAgICBXVEZfSU5URVJOQUwgc3RhdGljIGNvbnN0
IGJvb2wgdmFsdWUgPSB0cnVlOwogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgUD4gc3RydWN0IERl
ZmF1bHRIYXNoPFdLUmV0YWluUHRyPFA+PiB7Ci0gICAgdHlwZWRlZiBQdHJIYXNoPFdLUmV0YWlu
UHRyPFA+PiBIYXNoOwotfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFz
aDxXS1JldGFpblB0cjxQPj4gOiBQdHJIYXNoPFdLUmV0YWluUHRyPFA+PiB7IH07CiAKIHRlbXBs
YXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBIYXNoVHJhaXRzPFdLUmV0YWluUHRyPFA+PiA6IFNpbXBs
ZUNsYXNzSGFzaFRyYWl0czxXS1JldGFpblB0cjxQPj4gewogICAgIHN0YXRpYyBQIGVtcHR5VmFs
dWUoKSB7IHJldHVybiBudWxscHRyOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9DT01Qcm9wZXJ0eUJhZy5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ09NUHJvcGVy
dHlCYWcuaAppbmRleCBiNTc5NWM2ZDg2NDQxN2RmNTk1ZDcyYmI5ZWNhNjI2OGM3MjI1YjIyLi40
MTA3ZWFkNGIyZDg1MDYzNTgwYWViMGE2MTU4MjY4ZTAzYTJiYWZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0NPTVByb3BlcnR5QmFnLmgKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogCi10ZW1wbGF0ZTx0
eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lIEtleVR5cGUgPSB0eXBlbmFtZSBXVEY6OlN0cmlu
ZywgdHlwZW5hbWUgSGFzaFR5cGUgPSB0eXBlbmFtZSBXVEY6OlN0cmluZ0hhc2g+Cit0ZW1wbGF0
ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lIEtleVR5cGUgPSB0eXBlbmFtZSBXVEY6OlN0
cmluZywgdHlwZW5hbWUgSGFzaFR5cGUgPSB0eXBlbmFtZSBXVEY6OkRlZmF1bHRIYXNoPEtleVR5
cGU+PgogY2xhc3MgQ09NUHJvcGVydHlCYWcgZmluYWwgOiBwdWJsaWMgSVByb3BlcnR5QmFnLCBw
dWJsaWMgSVByb3BlcnR5QmFnMiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ09NUHJvcGVy
dHlCYWcpOwogcHVibGljOgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IDAzMzgzYjJjOGU1NTY0ZmM5MmMyNTY5ZWIxNjI0Yjc4ODUwMWFiODAuLmM1
N2VmZmEyNDMzZTczMTZmMGI1Y2JlZGIyZjgxYWJjOTEyNmViZDggMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAyMC0w
Ny0xNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAg
ICBbV1RGXSBSZW1vdmUgdGhlIHVubmVjZXNzYXJ5IGlubmVyIGNsYXNzIERlZmF1bHRIYXNoPFQ+
OjpIYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQzODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0RlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRvci5oOgorICAg
ICAgICAoV1RGOjpEZWZhdWx0SGFzaDxEZWxldGVkQWRkcmVzc09mT3BlcmF0b3I+OjpoYXNoKToK
KyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8RGVsZXRlZEFkZHJlc3NPZk9wZXJhdG9yPjo6ZXF1
YWwpOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxEZWxldGVkQWRkcmVzc09mT3BlcmF0b3I+
OjpIYXNoOjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8RGVsZXRl
ZEFkZHJlc3NPZk9wZXJhdG9yPjo6SGFzaDo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hDb3VudGVkU2V0LmNwcDoKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OmJ1Y2tldEZvcktleSk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvSGFzaE1hcC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpidWNrZXRGb3JLZXkpOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XVEYvSGFzaFNldC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjp0ZXN0SW5pdGlh
bENhcGFjaXR5KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Nb3ZlT25seS5o
OgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxNb3ZlT25seT46Omhhc2gpOgorICAgICAgICAo
V1RGOjpEZWZhdWx0SGFzaDxNb3ZlT25seT46OmVxdWFsKToKKyAgICAgICAgKFdURjo6RGVmYXVs
dEhhc2g8TW92ZU9ubHk+OjpIYXNoOjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6RGVm
YXVsdEhhc2g8TW92ZU9ubHk+OjpIYXNoOjplcXVhbCk6IERlbGV0ZWQuCisKIDIwMjAtMDctMTUg
IEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFtydW4tamF2
YXNjcmlwdGNvcmUtdGVzdHNdIG5hdGl2ZUFyY2hpdGVjdHVyZSBzaG91bGQgbmV2ZXIgYmUgYXJt
NjRlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9EZWxldGVkQWRk
cmVzc09mT3BlcmF0b3IuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0RlbGV0ZWRB
ZGRyZXNzT2ZPcGVyYXRvci5oCmluZGV4IDMxZDVkODBiOTM4NDM0YzAxNjZlZTI1MWUxMzkzMjFj
Zjg1OGZhZGQuLjQ1Y2NmYTQwMzBlMTJhZDNjNWE2ZGMzNzRjMTViZDllZDMxMDkwMmEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0RlbGV0ZWRBZGRyZXNzT2ZPcGVy
YXRvci5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0RlbGV0ZWRBZGRyZXNz
T2ZPcGVyYXRvci5oCkBAIC02NiwxOSArNjYsMTcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRy
YWl0czxEZWxldGVkQWRkcmVzc09mT3BlcmF0b3I+IDogcHVibGljIEdlbmVyaWNIYXNoVHJhaXQK
IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPERlbGV0ZWRBZGRyZXNzT2ZPcGVy
YXRvcj4gewotICAgIHN0cnVjdCBIYXNoIHsKLSAgICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2go
Y29uc3QgRGVsZXRlZEFkZHJlc3NPZk9wZXJhdG9yJiBrZXkpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHJldHVybiBpbnRIYXNoKGtleS52YWx1ZSgpKTsKLSAgICAgICAgfQorICAgIHN0YXRpYyB1
bnNpZ25lZCBoYXNoKGNvbnN0IERlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRvciYga2V5KQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGludEhhc2goa2V5LnZhbHVlKCkpOworICAgIH0KIAotICAgICAgICBz
dGF0aWMgYm9vbCBlcXVhbChjb25zdCBEZWxldGVkQWRkcmVzc09mT3BlcmF0b3ImIGEsIGNvbnN0
IERlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRvciYgYikKLSAgICAgICAgewotICAgICAgICAgICAgcmV0
dXJuIGEgPT0gYjsKLSAgICAgICAgfQorICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IERlbGV0
ZWRBZGRyZXNzT2ZPcGVyYXRvciYgYSwgY29uc3QgRGVsZXRlZEFkZHJlc3NPZk9wZXJhdG9yJiBi
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGEgPT0gYjsKKyAgICB9CiAKLSAgICAgICAgc3RhdGlj
IGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwotICAgIH07
CisgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0
cnVlOwogfTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
SGFzaENvdW50ZWRTZXQuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaENv
dW50ZWRTZXQuY3BwCmluZGV4IDdiOGZhZjI4OGFiYzA3Y2ZhZjhiNTI3MTIzOGY3NmQwMTMwMTJl
ZTYuLjJjZDdkMTMxN2I1ODhkNWYwNDM0MDY1MTExODJiMGU4OGQ3ZDE2NGIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hDb3VudGVkU2V0LmNwcAorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9IYXNoQ291bnRlZFNldC5jcHAKQEAgLTU5LDEx
ICs1OSwxMSBAQCBzdHJ1Y3QgVGVzdERvdWJsZUhhc2hUcmFpdHMgOiBIYXNoVHJhaXRzPGRvdWJs
ZT4gewogICAgIHN0YXRpYyBjb25zdCBpbnQgbWluaW11bVRhYmxlU2l6ZSA9IDg7CiB9OwogCi10
eXBlZGVmIEhhc2hDb3VudGVkU2V0PGRvdWJsZSwgRGVmYXVsdEhhc2g8ZG91YmxlPjo6SGFzaCwg
VGVzdERvdWJsZUhhc2hUcmFpdHM+IERvdWJsZUhhc2hDb3VudGVkU2V0OwordHlwZWRlZiBIYXNo
Q291bnRlZFNldDxkb3VibGUsIERlZmF1bHRIYXNoPGRvdWJsZT4sIFRlc3REb3VibGVIYXNoVHJh
aXRzPiBEb3VibGVIYXNoQ291bnRlZFNldDsKIAogc3RhdGljIGludCBidWNrZXRGb3JLZXkoZG91
YmxlIGtleSkKIHsKLSAgICByZXR1cm4gRGVmYXVsdEhhc2g8ZG91YmxlPjo6SGFzaDo6aGFzaChr
ZXkpICYgKFRlc3REb3VibGVIYXNoVHJhaXRzOjptaW5pbXVtVGFibGVTaXplIC0gMSk7CisgICAg
cmV0dXJuIERlZmF1bHRIYXNoPGRvdWJsZT46Omhhc2goa2V5KSAmIChUZXN0RG91YmxlSGFzaFRy
YWl0czo6bWluaW11bVRhYmxlU2l6ZSAtIDEpOwogfQogCiBURVNUKFdURl9IYXNoQ291bnRlZFNl
dCwgRG91YmxlSGFzaENvbGxpc2lvbnMpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9IYXNoTWFwLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hh
c2hNYXAuY3BwCmluZGV4IDIwOGQ5NjUzMWQ1YmU0NzAwMTM5N2Q1OTAxMTkxNGYxNzJkMzU1ZGIu
LmVkNzdkYTU5ZGU3ZGFiZDUxMjdlMDc4MjI0YmQ2OGYyOTIwYWU3YmUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hNYXAuY3BwCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hNYXAuY3BwCkBAIC02MywxMSArNjMsMTEgQEAgc3RydWN0
IFRlc3REb3VibGVIYXNoVHJhaXRzIDogSGFzaFRyYWl0czxkb3VibGU+IHsKICAgICBzdGF0aWMg
Y29uc3QgaW50IG1pbmltdW1UYWJsZVNpemUgPSA4OwogfTsKIAotdHlwZWRlZiBIYXNoTWFwPGRv
dWJsZSwgaW50NjRfdCwgRGVmYXVsdEhhc2g8ZG91YmxlPjo6SGFzaCwgVGVzdERvdWJsZUhhc2hU
cmFpdHM+IERvdWJsZUhhc2hNYXA7Cit0eXBlZGVmIEhhc2hNYXA8ZG91YmxlLCBpbnQ2NF90LCBE
ZWZhdWx0SGFzaDxkb3VibGU+LCBUZXN0RG91YmxlSGFzaFRyYWl0cz4gRG91YmxlSGFzaE1hcDsK
IAogc3RhdGljIGludCBidWNrZXRGb3JLZXkoZG91YmxlIGtleSkKIHsKLSAgICByZXR1cm4gRGVm
YXVsdEhhc2g8ZG91YmxlPjo6SGFzaDo6aGFzaChrZXkpICYgKFRlc3REb3VibGVIYXNoVHJhaXRz
OjptaW5pbXVtVGFibGVTaXplIC0gMSk7CisgICAgcmV0dXJuIERlZmF1bHRIYXNoPGRvdWJsZT46
Omhhc2goa2V5KSAmIChUZXN0RG91YmxlSGFzaFRyYWl0czo6bWluaW11bVRhYmxlU2l6ZSAtIDEp
OwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQmlnVGFibGVIYXNoVHJhaXRzIDog
cHVibGljIEhhc2hUcmFpdHM8VD4gewpAQCAtMTAyMSw3ICsxMDIxLDcgQEAgVEVTVChXVEZfSGFz
aE1hcCwgUmFuZG9tX1dyYXBBcm91bmQpCiAKIFRFU1QoV1RGX0hhc2hNYXAsIFJhbmRvbV9Jc0V2
ZW5seURpc3RyaWJ1dGVkKQogewotICAgIEhhc2hNYXA8dW5zaWduZWQsIHVuc2lnbmVkLCBEZWZh
dWx0SGFzaDx1bnNpZ25lZD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFp
dHM8dW5zaWduZWQ+PiBtYXA7CisgICAgSGFzaE1hcDx1bnNpZ25lZCwgdW5zaWduZWQsIERlZmF1
bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNp
Z25lZD4+IG1hcDsKICAgICBtYXAuYWRkKDAsIDApOwogICAgIG1hcC5hZGQoMSwgMSk7CiAKQEAg
LTEwOTQsNyArMTA5NCw3IEBAIFRFU1QoV1RGX0hhc2hNYXAsIFJlc2VydmVJbml0aWFsQ2FwYWNp
dHkpCiBURVNUKFdURl9IYXNoTWFwLCBSYW5kb21fSXNFdmVubHlEaXN0cmlidXRlZEFmdGVyUmVt
b3ZlKQogewogICAgIGZvciAoc2l6ZV90IHRhYmxlU2l6ZSA9IDI7IHRhYmxlU2l6ZSA8PSAyICog
NjsgKyt0YWJsZVNpemUpIHsgLy8gT3VyIGhhc2ggdGFibGVzIHNocmluayBhdCBhIGxvYWQgZmFj
dG9yIG9mIDEgLyA2LgotICAgICAgICBIYXNoTWFwPHVuc2lnbmVkLCB1bnNpZ25lZCwgRGVmYXVs
dEhhc2g8dW5zaWduZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRz
PHVuc2lnbmVkPj4gbWFwOworICAgICAgICBIYXNoTWFwPHVuc2lnbmVkLCB1bnNpZ25lZCwgRGVm
YXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVu
c2lnbmVkPj4gbWFwOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHRhYmxlU2l6ZTsg
KytpKQogICAgICAgICAgICAgbWFwLmFkZChpLCBpKTsKICAgICAgICAgZm9yIChzaXplX3QgaSA9
IDI7IGkgPCB0YWJsZVNpemU7ICsraSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL0hhc2hTZXQuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFz
aFNldC5jcHAKaW5kZXggNGNjMjQ3ZmMxMjgyYWRhZmZiMDkxM2MxZmRhNThkZGM3YmZlNDllMy4u
Njg1MTQ4MmY2YTE2ZTUxNWVhYzViYmExYjljMGQ2YzJkNDg3MTE2NSAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaFNldC5jcHAKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvSGFzaFNldC5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgdGVtcGxhdGU8
dW5zaWduZWQgc2l6ZT4KIHZvaWQgdGVzdEluaXRpYWxDYXBhY2l0eSgpCiB7CiAgICAgY29uc3Qg
dW5zaWduZWQgaW5pdGlhbENhcGFjaXR5ID0gV1RGOjpIYXNoVGFibGVDYXBhY2l0eUZvclNpemU8
c2l6ZT46OnZhbHVlOwotICAgIEhhc2hTZXQ8aW50LCBEZWZhdWx0SGFzaDxpbnQ+OjpIYXNoLCBJ
bml0aWFsQ2FwYWNpdHlUZXN0SGFzaFRyYWl0czxpbml0aWFsQ2FwYWNpdHk+ID4gdGVzdFNldDsK
KyAgICBIYXNoU2V0PGludCwgRGVmYXVsdEhhc2g8aW50PiwgSW5pdGlhbENhcGFjaXR5VGVzdEhh
c2hUcmFpdHM8aW5pdGlhbENhcGFjaXR5PiA+IHRlc3RTZXQ7CiAKICAgICAvLyBJbml0aWFsIGNh
cGFjaXR5IGlzIG51bGwuCiAgICAgQVNTRVJUX0VRKDB1LCB0ZXN0U2V0LmNhcGFjaXR5KCkpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTW92ZU9ubHkuaCBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01vdmVPbmx5LmgKaW5kZXggM2ZmMWVhMDNiOTFk
YmQ0YzhjMDM3MjFhODAxMjhkYWNlMTVjZmNjZi4uZDljMjA2YzI4ZWM0OWRjY2QwY2Y5ZDQwN2Fk
MzcyZmFjMDI0NGJhZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
TW92ZU9ubHkuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Nb3ZlT25seS5o
CkBAIC04NCwxOSArODQsMTcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxNb3ZlT25s
eT4gOiBwdWJsaWMgR2VuZXJpY0hhc2hUcmFpdHM8TW92ZU9ubHk+IHsKIH07CiAKIHRlbXBsYXRl
PD4gc3RydWN0IERlZmF1bHRIYXNoPE1vdmVPbmx5PiB7Ci0gICAgc3RydWN0IEhhc2ggewotICAg
ICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBNb3ZlT25seSYga2V5KQotICAgICAgICB7
Ci0gICAgICAgICAgICByZXR1cm4gaW50SGFzaChrZXkudmFsdWUoKSk7Ci0gICAgICAgIH0KLQot
ICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBNb3ZlT25seSYgYSwgY29uc3QgTW92ZU9u
bHkmIGIpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhID09IGI7Ci0gICAgICAgIH0K
LQotICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRl
ZCA9IHRydWU7Ci0gICAgfTsKKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBNb3ZlT25s
eSYga2V5KSAKKyAgICB7CisgICAgICAgIHJldHVybiBpbnRIYXNoKGtleS52YWx1ZSgpKTsKKyAg
ICB9CisKKyAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBNb3ZlT25seSYgYSwgY29uc3QgTW92
ZU9ubHkmIGIpCisgICAgeworICAgICAgICByZXR1cm4gYSA9PSBiOworICAgIH0KKworICAgIHN0
YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKIH07
CiB9IC8vIG5hbWVzcGFjZSBXVEYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404413</attachid>
            <date>2020-07-15 18:33:44 -0700</date>
            <delta_ts>2020-07-15 20:09:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214389-20200716103343.patch</filename>
            <type>text/plain</type>
            <size>161993</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NDQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NDQyNGRiNDI2NTFiNjFkOTk4MTE1Y2VkZDUzMDViNzY0ZWNhZTAwLi4wNjZjZThjOTJlMDg1NGUz
M2UxMTdhMWE5YjMxZjI3ZWVhNmUyNGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NiBAQAorMjAyMC0wNy0xNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KKworICAgICAgICBbV1RGXSBSZW1vdmUgdGhlIHVubmVjZXNzYXJ5IGlubmVyIGNs
YXNzIERlZmF1bHRIYXNoPFQ+OjpIYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTQzODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckNvZGVSZWYuaDoKKyAg
ICAgICAgKiBiMy9CM0NoZWNrU3BlY2lhbC5oOgorICAgICAgICAqIGIzL0IzS2luZC5oOgorICAg
ICAgICAqIGIzL0IzVmFsdWVLZXkuaDoKKyAgICAgICAgKiBiMy9haXIvQWlyQWxsb2NhdGVSZWdp
c3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwOgorICAgICAgICAqIGIzL2Fpci9BaXJBcmcuaDoKKyAg
ICAgICAgKiBiMy9haXIvQWlyVG1wLmg6CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVJbmRl
eC5oOgorICAgICAgICAqIGJ5dGVjb2RlL0NhbGxWYXJpYW50Lmg6CisgICAgICAgICogYnl0ZWNv
ZGUvQ29kZU9yaWdpbi5oOgorICAgICAgICAqIGJ5dGVjb2RlL0RGR0V4aXRQcm9maWxlLmg6Cisg
ICAgICAgICogYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaDoKKyAgICAgICAgKiBi
eXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oOgorICAgICAgICAqIGJ5dGVjb2RlL1By
b3BlcnR5Q29uZGl0aW9uLmg6CisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0SGVhcC5oOgorICAg
ICAgICAqIGRmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKiBk
ZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAqIGRmZy9ERkdDU0VQaGFzZS5jcHA6
CisgICAgICAgICogZGZnL0RGR0NvbXBpbGF0aW9uS2V5Lmg6CisgICAgICAgICogZGZnL0RGR0Rl
c2lyZWRHbG9iYWxQcm9wZXJ0eS5oOgorICAgICAgICAqIGRmZy9ERkdIZWFwTG9jYXRpb24uaDoK
KyAgICAgICAgKiBkZmcvREZHTGl2ZW5lc3NBbmFseXNpc1BoYXNlLmNwcDoKKyAgICAgICAgKiBk
ZmcvREZHTWluaWZpZWRJRC5oOgorICAgICAgICAqIGRmZy9ERkdOb2RlRmxvd1Byb2plY3Rpb24u
aDoKKyAgICAgICAgKiBkZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaDoKKyAgICAgICAgKiBk
ZmcvREZHUHJvcGVydHlUeXBlS2V5Lmg6CisgICAgICAgICogZGZnL0RGR1B1cmVWYWx1ZS5oOgor
ICAgICAgICAqIGZ0bC9GVExMb2NhdGlvbi5oOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1Rv
QjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTmV3
QXJyYXlXaXRoU3ByZWFkKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6
Y29tcGlsZUNhbGxPckNvbnN0cnVjdFZhcmFyZ3NTcHJlYWQpOgorICAgICAgICAoSlNDOjpGVEw6
OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTWF0ZXJpYWxpemVOZXdPYmplY3QpOgorICAgICAg
ICAqIGZ0bC9GVExTbG93UGF0aENhbGxLZXkuaDoKKyAgICAgICAgKiBoZWFwL01hcmtlZEJsb2Nr
Lmg6CisgICAgICAgICogaGVhcC9WaXNpdFJhY2VLZXkuaDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
c2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHk6Cisg
ICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1h
c3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0
ZXJzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVj
dGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdDoK
KyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0
aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0Ogor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtcmVxdWlyaW5n
LXJ1bnRpbWUtY2FzdHMuanNvbi1yZXN1bHQ6CisgICAgICAgICogaml0L0lDU3RhdHMuaDoKKyAg
ICAgICAgKiBqaXQvSklUVGh1bmtzLmg6CisgICAgICAgICogaml0L1JlZy5oOgorICAgICAgICAq
IGppdC9SZWdpc3RlclNldC5oOgorICAgICAgICAqIHBhcnNlci9WYXJpYWJsZUVudmlyb25tZW50
Lmg6CisgICAgICAgICogcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW4uaDoKKyAgICAgICAgKiBwcm9m
aWxlci9Qcm9maWxlck9yaWdpblN0YWNrLmg6CisgICAgICAgICogcHJvZmlsZXIvUHJvZmlsZXJV
SUQuaDoKKyAgICAgICAgKiBydW50aW1lL0NhY2hlZFR5cGVzLmNwcDoKKyAgICAgICAgKiBydW50
aW1lL0NvbnRyb2xGbG93UHJvZmlsZXIuaDoKKyAgICAgICAgKiBydW50aW1lL05hdGl2ZUZ1bmN0
aW9uLmg6CisgICAgICAgICogcnVudGltZS9Qcm90b3R5cGVLZXkuaDoKKyAgICAgICAgKiBydW50
aW1lL1JlZ0V4cEtleS5oOgorICAgICAgICAqIHJ1bnRpbWUvVGVtcGxhdGVPYmplY3REZXNjcmlw
dG9yLmg6CisgICAgICAgICogcnVudGltZS9UeXBlUHJvZmlsZXIuaDoKKyAgICAgICAgKiBydW50
aW1lL1Zhck9mZnNldC5oOgorICAgICAgICAqIHJ1bnRpbWUvV2Vha0dDTWFwLmg6CisgICAgICAg
ICogd2FzbS9XYXNtQkJRUGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbUNvZGVCbG9jay5oOgor
ICAgICAgICAqIHdhc20vV2FzbUVudHJ5UGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbUxMSW50
UGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbVNpZ25hdHVyZS5oOgorCiAyMDIwLTA3LTE1ICBG
dWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtDTWFr
ZV1bV2ViRHJpdmVyXSBHZW5lcmF0aW5nIFdlYkRyaXZlckF0b21zLmNwcCBpcyByYXJlbHkgZmFp
bGluZyBhcyAiSW1wb3J0RXJyb3I6IE5vIG1vZHVsZSBuYW1lZCBqc21pbiIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggYjg5OWY2
YzJlMTAwYjkwMTYxMjUxNjFjYWUzOTJkMzhiZjA5NzBkOS4uMTA3MjMwMjQ2ZjdiYzJkYzM4NzQx
YmZjYzkzNWJjMTAyZGY4ZDgxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAyMC0wNy0xNSAgRnVq
aWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBbV1RGXSBS
ZW1vdmUgdGhlIHVubmVjZXNzYXJ5IGlubmVyIGNsYXNzIERlZmF1bHRIYXNoPFQ+OjpIYXNoCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQzODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWZhdWx0SGFz
aDxUPiBkb2Vzbid0IG5lZWQgdG8gaGF2ZSBhIGlubmVyIHN0cnVjdCBIYXNoLiBUaGlzIGNhbgor
ICAgICAgICBiZSBhIHByb2JsZW0gZm9yIGZvcndhcmQgZGVjbGFyYXRpb25zIChCdWcgMjE0MzIw
IENvbW1lbnQgNSkuCisKKyAgICAgICAgKiB3dGYvQml0VmVjdG9yLmg6CisgICAgICAgICogd3Rm
L0ZvcndhcmQuaDoKKyAgICAgICAgKiB3dGYvSGFzaEZ1bmN0aW9ucy5oOgorICAgICAgICAoV1RG
OjpQYWlySGFzaDo6aGFzaCk6CisgICAgICAgIChXVEY6OlBhaXJIYXNoOjplcXVhbCk6CisgICAg
ICAgIChXVEY6OlR1cGxlSGFzaDo6aGFzaCk6CisgICAgICAgIChXVEY6OlR1cGxlSGFzaDo6ZXF1
YWwpOgorICAgICAgICAqIHd0Zi9MaXN0SGFzaFNldC5oOgorICAgICAgICAqIHd0Zi9Mb2dnaW5n
SGFzaE1hcC5oOgorICAgICAgICAqIHd0Zi9Mb2dnaW5nSGFzaFNldC5oOgorICAgICAgICAqIHd0
Zi9NZXRhQWxsb2NhdG9yUHRyLmg6CisgICAgICAgICogd3RmL09iamVjdElkZW50aWZpZXIuaDoK
KyAgICAgICAgKiB3dGYvT3B0aW9uU2V0SGFzaC5oOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFz
aDxPcHRpb25TZXQ8VD4+OjpoYXNoKToKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8T3B0aW9u
U2V0PFQ+Pjo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxPcHRpb25TZXQ8VD4+
OjpIYXNoOjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8T3B0aW9u
U2V0PFQ+Pjo6SGFzaDo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi9QYWNrZWQuaDoK
KyAgICAgICAgKiB3dGYvUmV0YWluUHRyLmg6CisgICAgICAgICogd3RmL1N0YWNrU2hvdC5oOgor
ICAgICAgICAqIHd0Zi9VUkxIYXNoLmg6CisgICAgICAgICogd3RmL1ZlY3Rvckhhc2guaDoKKyAg
ICAgICAgKFdURjo6VmVjdG9ySGFzaDo6aGFzaCk6CisgICAgICAgICogd3RmL3RleHQvQXRvbVN0
cmluZy5oOgorICAgICAgICAqIHd0Zi90ZXh0L0F0b21TdHJpbmdIYXNoLmg6CisgICAgICAgICog
d3RmL3RleHQvQ1N0cmluZy5oOgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0hhc2guaDoKKyAg
ICAgICAgKiB3dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAgICAgICogd3RmL3RleHQvU3ltYm9s
UmVnaXN0cnkuaDoKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8U3ltYm9sUmVnaXN0cnlLZXk+
OjpoYXNoKToKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8U3ltYm9sUmVnaXN0cnlLZXk+Ojpl
cXVhbCk6CisgICAgICAgIChXVEY6OkRlZmF1bHRIYXNoPFN5bWJvbFJlZ2lzdHJ5S2V5Pjo6SGFz
aDo6aGFzaCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkRlZmF1bHRIYXNoPFN5bWJvbFJlZ2lz
dHJ5S2V5Pjo6SGFzaDo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi90ZXh0L1dURlN0
cmluZy5oOgorCiAyMDIwLTA3LTE1ICBTYWFnYXIgSmhhICA8c2FhZ2FyQHNhYWdhcmpoYS5jb20+
CiAKICAgICAgICAgQWRkIHNvbWUgbWlzc2luZyBib2lsZXJwbGF0ZSB0byBoZWxwIGZpeCBidWls
ZCBvbiBtYWNPUyBCaWcgU3VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTdlNmQ4YzZkNWU4YjQzN2M3ZTU2ZjBl
MzBiNmM3NjU4MzdhOTFlOS4uNzY2YjJjZGE4MDYzMzg0MWRmOTUwYWQxNzEyOTAzZWRjODlhMjNm
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkwIEBACisyMDIwLTA3LTE1ICBGdWppaSBIaXJvbm9y
aSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtXVEZdIFJlbW92ZSB0aGUg
dW5uZWNlc3NhcnkgaW5uZXIgY2xhc3MgRGVmYXVsdEhhc2g8VD46Okhhc2gKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDM4OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
SURCRGF0YWJhc2VJZGVudGlmaWVyLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hh
cmVkL0lEQlJlc291cmNlSWRlbnRpZmllci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTFVubmFtZWRUeXBlSGFzaC5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMU2VtYW50aWNNYXRjaGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNM
OjptYXRjaFJlc291cmNlcyk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6bWF0Y2hWZXJ0ZXhB
dHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjptYXRjaENvbG9yQXR0YWNobWVu
dHMpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6Cisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgICog
Y29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbkNvbXBpbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpzZXJpYWxpemVBY3Rpb25zKToKKyAgICAgICAg
KiBjb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uUnVsZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udGVudEV4dGVuc2lvbnM6OlRyaWdnZXJIYXNoOjpoYXNoKToKKyAgICAgICAgKiBj
b250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oOgorICAgICAgICAq
IGNvbnRlbnRleHRlbnNpb25zL0RGQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0
ZW5zaW9uczo6cHJpbnRUcmFuc2l0aW9ucyk6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMv
REZBQnl0ZWNvZGVJbnRlcnByZXRlci5oOgorICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL0RG
QUNvbWJpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpERkFN
ZXJnZXI6OmdldE9yQ3JlYXRlQ29tYmluZWROb2RlKToKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5z
aW9ucy9ERkFOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpE
RkFOb2RlOjpiZXN0RmFsbGJhY2tUYXJnZXQgY29uc3QpOgorICAgICAgICAqIGNvbnRlbnRleHRl
bnNpb25zL0ltbXV0YWJsZU5GQU5vZGVCdWlsZGVyLmg6CisgICAgICAgICogY29udGVudGV4dGVu
c2lvbnMvTkZBLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpORkE6
OmRlYnVnUHJpbnREb3QgY29uc3QpOgorICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL05GQU5v
ZGUuaDoKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5zaW9ucy9ORkFUb0RGQS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6Tm9kZUlkU2V0VG9VbmlxdWVOb2RlSWRTZXRT
b3VyY2U6Ok5vZGVJZFNldFRvVW5pcXVlTm9kZUlkU2V0U291cmNlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRlbnRFeHRlbnNpb25zOjpOb2RlSWRTZXRUb1VuaXF1ZU5vZGVJZFNldFRyYW5zbGF0
b3I6OnRyYW5zbGF0ZSk6CisgICAgICAgICogY3NzL21ha2Vwcm9wLnBsOgorICAgICAgICAqIGNz
cy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5oOgorICAgICAgICAqIGRvbS9HQ1JlYWNoYWJsZVJl
Zi5oOgorICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydElkZW50aWZpZXIuaDoKKyAgICAgICAgKiBk
b20vTm9kZVJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2RlRGF0YTo6
Tm9kZUxpc3RDYWNoZU1hcEVudHJ5SGFzaDo6aGFzaCk6CisgICAgICAgIChXZWJDb3JlOjpOb2Rl
TGlzdHNOb2RlRGF0YTo6Tm9kZUxpc3RDYWNoZU1hcEVudHJ5SGFzaDo6ZXF1YWwpOgorICAgICAg
ICAqIGRvbS9RdWFsaWZpZWROYW1lLmg6CisgICAgICAgICogaGlzdG9yeS9CYWNrRm9yd2FyZEl0
ZW1JZGVudGlmaWVyLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5oOgorICAgICAgICAqIGxheW91dC9MYXlvdXRVbml0cy5oOgorICAgICAgICAqIGxv
YWRlci9BZENsaWNrQXR0cmlidXRpb24uaDoKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VDcnlw
dG9ncmFwaGljRGlnZXN0Lmg6CisgICAgICAgIChXVEY6OkRlZmF1bHRIYXNoPFdlYkNvcmU6OlJl
c291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdD46Omhhc2gpOgorICAgICAgICAoV1RGOjpEZWZhdWx0
SGFzaDxXZWJDb3JlOjpSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+OjplcXVhbCk6CisgICAg
ICAgIChXVEY6OkRlZmF1bHRIYXNoPFdlYkNvcmU6OlJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2Vz
dD46Okhhc2g6Omhhc2gpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxXZWJD
b3JlOjpSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+OjpIYXNoOjplcXVhbCk6IERlbGV0ZWQu
CisgICAgICAgICogcGFnZS9DbGllbnRPcmlnaW4uaDoKKyAgICAgICAgKiBwYWdlL0dsb2JhbFdp
bmRvd0lkZW50aWZpZXIuaDoKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5T3JpZ2luRGF0YS5oOgor
ICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW5IYXNoLmg6CisgICAgICAgICogcGxhdGZvcm0v
Q29va2llLmg6CisgICAgICAgICogcGxhdGZvcm0vUmVnaXN0cmFibGVEb21haW4uaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvckhhc2guaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9GbG9hdFNpemVIYXNoLmg6CisgICAgICAgIChXVEY6OkZsb2F0SGFzaDxXZWJDb3Jl
OjpGbG9hdFNpemU+OjpoYXNoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250R2Vu
ZXJpY0ZhbWlsaWVzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnRIYXNo
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdEhhc2guaDoKKyAgICAgICAg
KFdURjo6SW50SGFzaDxXZWJDb3JlOjpJbnRSZWN0Pjo6aGFzaCk6CisgICAgICAgIChXVEY6Oklu
dEhhc2g8V2ViQ29yZTo6SW50UmVjdD46OmVxdWFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9JbnRTaXplSGFzaC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoQ2Fj
aGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVl
VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGYWxsYmFja0ZvbnREZXNjcmlwdGlvbktleTo6
Y29tcHV0ZUhhc2ggY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNl
cnMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZUhhc2guaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS93aW4vQ09NUHRyLmg6CisgICAgICAgICogcGxhdGZvcm0vd2lu
L1dpbmRvd3NLZXlOYW1lcy5oOgorICAgICAgICAqIHJlbmRlcmluZy9DU1NWYWx1ZUtleS5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9HcmlkQmFzZWxpbmVBbGlnbm1lbnQuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cGxhY2VTcGVj
aWZpZWRNYWpvckF4aXNJdGVtc09uR3JpZCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmg6CisgICAgICAgICogc3R5bGUvUnVsZVNldC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZTo6UnVsZVNldDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeVJ1bGVzKToKKyAg
ICAgICAgKiBzdmcvU1ZHRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQXR0cmlidXRl
SGFzaFRyYW5zbGF0b3I6Omhhc2gpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ2xpZW50SWRlbnRpZmllci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5Lmg6CisKIDIwMjAtMDctMTUgIERldmluIFJvdXNzbyAg
PGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZm9sbG93dXAsIHVzZSBg
b2JqZWN0UmVwbGFjZW1lbnRDaGFyYWN0ZXJgIGluc3RlYWQgb2YgYDB4RkZGQ2AKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCmluZGV4IDY0ZDczMWNiMmRkNjY3Y2EzMjg2NDA4OWZhYWJkMzExZDViMTA1OGQuLmNh
NzlmZGRiZDMyYTRiNzg4OTQxOTIwODljMmU0MmJhZjdlZjc2MGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA3LTE1ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3Jp
LkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtXVEZdIFJlbW92ZSB0aGUgdW5uZWNlc3Nhcnkg
aW5uZXIgY2xhc3MgRGVmYXVsdEhhc2g8VD46Okhhc2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDM4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL1Nlc3Npb25JRC5oOgorCiAyMDIwLTA3LTE1
ICBTYWFnYXIgSmhhICA8c2FhZ2FyQHNhYWdhcmpoYS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUg
bWlzc2luZyBib2lsZXJwbGF0ZSB0byBoZWxwIGZpeCBidWlsZCBvbiBtYWNPUyBCaWcgU3VyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDJiZmE1OWJiZTI0YTU3MDFlMmMwMWRjZDA2ZjQzZmI4NTRmNjJiMjguLmJmZjU3
ODQ4M2RkODBkZGVlMjc4YjJiMTExZjY3ZWNiYzg1MTFjNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTggQEAKKzIwMjAtMDctMTUgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5j
b20+CisKKyAgICAgICAgW1dURl0gUmVtb3ZlIHRoZSB1bm5lY2Vzc2FyeSBpbm5lciBjbGFzcyBE
ZWZhdWx0SGFzaDxUPjo6SGFzaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0Mzg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRJRC5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5oOgorICAgICAgICAqIFBsYXRmb3Jt
L0lQQy9NZXNzYWdlUmVjZWl2ZXJNYXAuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvU3RyaW5n
UmVmZXJlbmNlLmg6CisgICAgICAgICogU2hhcmVkL0NhbGxiYWNrSUQuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2NwcC9XS1JldGFpblB0ci5oOgorCiAyMDIwLTA3LTE1ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnQg
cGFydCBvZiByMjY0Mzg1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IDI2NDZmYjky
ODk3ZTU1Njk2YzljNzZiN2FmYWMzYjIxMDZhNGYyYzEuLjkwNDE3YTRjZmQ2YmQ2M2Y5MmZlNzg2
NWYzZTA1MTY4YjI0NTFiZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAyMC0wNy0xNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255
LmNvbT4KKworICAgICAgICBbV1RGXSBSZW1vdmUgdGhlIHVubmVjZXNzYXJ5IGlubmVyIGNsYXNz
IERlZmF1bHRIYXNoPFQ+OjpIYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTQzODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIENPTVByb3BlcnR5QmFnLmg6CisKIDIwMjAtMDctMDcgIFNhbSBXZWlu
aWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFBhcnQgMiBvZiBTaW1wbGVDb2xvciBh
bmQgU1JHQkE8dWludDhfdD4gYXJlIGVzc2VudGlhbGx5IHRoZSBzYW1lIC0gbGV0J3MgY29udmVy
Z2UgdGhlbQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckNvZGVSZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJDb2RlUmVmLmgKaW5kZXggY2IyNGIyZDljNWU0YzlkYWI0MjZiZmJhY2QwOWE2
OWZjYjM1MjY2OS4uOWM0YzY5NWUxYmUxMzk3N2E3YWVlYjA1NGJkZjQxYzExYzI0NWVhMiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckNv
ZGVSZWYuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyQ29kZVJlZi5oCkBAIC01MjksOSArNTI5LDcgQEAgaW5saW5lIEZ1bmN0aW9uUHRyPHRhZz46
OkZ1bmN0aW9uUHRyKE1hY3JvQXNzZW1ibGVyQ29kZVB0cjx0YWc+IHB0cikKIG5hbWVzcGFjZSBX
VEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0
ZTxKU0M6OlB0clRhZyB0YWc+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok1hY3JvQXNzZW1ibGVy
Q29kZVB0cjx0YWc+PiB7Ci0gICAgdHlwZWRlZiBKU0M6Ok1hY3JvQXNzZW1ibGVyQ29kZVB0ckhh
c2g8dGFnPiBIYXNoOwotfTsKK3RlbXBsYXRlPEpTQzo6UHRyVGFnIHRhZz4gc3RydWN0IERlZmF1
bHRIYXNoPEpTQzo6TWFjcm9Bc3NlbWJsZXJDb2RlUHRyPHRhZz4+IDogSlNDOjpNYWNyb0Fzc2Vt
YmxlckNvZGVQdHJIYXNoPHRhZz4geyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
SGFzaFRyYWl0czsKIHRlbXBsYXRlPEpTQzo6UHRyVGFnIHRhZz4gc3RydWN0IEhhc2hUcmFpdHM8
SlNDOjpNYWNyb0Fzc2VtYmxlckNvZGVQdHI8dGFnPj4gOiBwdWJsaWMgQ3VzdG9tSGFzaFRyYWl0
czxKU0M6Ok1hY3JvQXNzZW1ibGVyQ29kZVB0cjx0YWc+PiB7IH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1NwZWNpYWwuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM0NoZWNrU3BlY2lhbC5oCmluZGV4IGM5ZGU1ZjhmZTBlMGEyMWFiNjRhMjhmYzhh
NjUwMWZlMmE2NzViMTUuLjc1OWE5YjdkYTEyNmE2OTdlMGU4NGFkODhjODc3MGFiMWIwMWQyNTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrU3BlY2lhbC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrU3BlY2lhbC5oCkBAIC0xNDksOSAr
MTQ5LDcgQEAgc3RydWN0IENoZWNrU3BlY2lhbEtleUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPEpTQzo6QjM6OkNoZWNrU3BlY2lhbDo6S2V5PiB7Ci0gICAgdHlwZWRl
ZiBKU0M6OkIzOjpDaGVja1NwZWNpYWxLZXlIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpCMzo6Q2hlY2tTcGVjaWFsOjpLZXk+IDogSlNDOjpCMzo6Q2hl
Y2tTcGVjaWFsS2V5SGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNo
VHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkIzOjpDaGVja1NwZWNp
YWw6OktleT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpCMzo6Q2hlY2tTcGVjaWFsOjpL
ZXk+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0tpbmQuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0tpbmQuaAppbmRleCBiZDU0NmRiNDFlMjYyYjA1YmMw
NGExNWFiYTFjOTEwYmFiMjc2OWZlLi4xZDE4NzEwNDAwM2Q0ZWI0NjM0YzMwYmZmYTBjY2NlZDc4
MGI5YmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNLaW5kLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzS2luZC5oCkBAIC0yMTksOSArMjE5LDcgQEAg
c3RydWN0IEtpbmRIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6
OkIzOjpLaW5kPiB7Ci0gICAgdHlwZWRlZiBKU0M6OkIzOjpLaW5kSGFzaCBIYXNoOwotfTsKK3Rl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6QjM6OktpbmQ+IDogSlNDOjpCMzo6S2lu
ZEhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRl
bXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpCMzo6S2luZD4gOiBwdWJsaWMgU2ltcGxl
Q2xhc3NIYXNoVHJhaXRzPEpTQzo6QjM6OktpbmQ+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1ZhbHVlS2V5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNW
YWx1ZUtleS5oCmluZGV4IGI5Mzg1MTNmODE1OGI1N2NlMzZhMTk0MzBhYWJhNDk5OTllYjc0NDAu
LmIzMzQ5N2FhMmRjYjQ4NWZmNWYxMWEzMGNjZGNlMmJmMTBhMjhhNmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlS2V5LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzVmFsdWVLZXkuaApAQCAtMTg2LDkgKzE4Niw3IEBAIHN0cnVjdCBWYWx1ZUtl
eUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBE
ZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6QjM6OlZhbHVl
S2V5PiB7Ci0gICAgdHlwZWRlZiBKU0M6OkIzOjpWYWx1ZUtleUhhc2ggSGFzaDsKLX07Cit0ZW1w
bGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkIzOjpWYWx1ZUtleT4gOiBKU0M6OkIzOjpW
YWx1ZUtleUhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0
czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpCMzo6VmFsdWVLZXk+IDogcHVi
bGljIFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OkIzOjpWYWx1ZUtleT4gewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3Jh
cGhDb2xvcmluZy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRl
UmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcAppbmRleCA2MjNhNDdhYzA4ZmI1MTBiYWQ0YWFm
NDJlYTM4ZDc0NGUxODhmMDdjLi5hOGZkODMzMGIwODc5MGMyNzYzMDFkMjk2OGExZTZmYWQ0ZWQ1
Y2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRl
UmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcApAQCAtNTU5LDkg
KzU1OSw5IEBAIHByb3RlY3RlZDoKICAgICBWZWN0b3I8VmVjdG9yPEluZGV4VHlwZSwgMCwgVW5z
YWZlVmVjdG9yT3ZlcmZsb3csIDQ+LCAwLCBVbnNhZmVWZWN0b3JPdmVyZmxvdz4gbV9hZGphY2Vu
Y3lMaXN0OwogICAgIFZlY3RvcjxJbmRleFR5cGUsIDAsIFVuc2FmZVZlY3Rvck92ZXJmbG93PiBt
X2RlZ3JlZXM7CiAKLSAgICB1c2luZyBJbmRleFR5cGVTZXQgPSBIYXNoU2V0PEluZGV4VHlwZSwg
dHlwZW5hbWUgRGVmYXVsdEhhc2g8SW5kZXhUeXBlPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czxJbmRleFR5cGU+PjsKKyAgICB1c2luZyBJbmRleFR5cGVTZXQgPSBI
YXNoU2V0PEluZGV4VHlwZSwgRGVmYXVsdEhhc2g8SW5kZXhUeXBlPiwgV1RGOjpVbnNpZ25lZFdp
dGhaZXJvS2V5SGFzaFRyYWl0czxJbmRleFR5cGU+PjsKIAotICAgIEhhc2hNYXA8SW5kZXhUeXBl
LCBJbmRleFR5cGVTZXQsIHR5cGVuYW1lIERlZmF1bHRIYXNoPEluZGV4VHlwZT46Okhhc2gsIFdU
Rjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8SW5kZXhUeXBlPj4gbV9iaWFzZXM7Cisg
ICAgSGFzaE1hcDxJbmRleFR5cGUsIEluZGV4VHlwZVNldCwgRGVmYXVsdEhhc2g8SW5kZXhUeXBl
PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxJbmRleFR5cGU+PiBtX2JpYXNl
czsKIAogICAgIC8vIEluc3RlYWQgb2Yga2VlcGluZyB0cmFjayBvZiB0aGUgbW92ZSBpbnN0cnVj
dGlvbnMsIHdlIGp1c3Qga2VlcCB0aGVpciBvcGVyYW5kcyBhcm91bmQgYW5kIHVzZSB0aGUgaW5k
ZXgKICAgICAvLyBpbiB0aGUgdmVjdG9yIGFzIHRoZSAiaWRlbnRpZmllciIgZm9yIHRoZSBtb3Zl
LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBcmcuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQXJnLmgKaW5kZXggYmY5YWU1ZTEyOGU3OTVj
OTIzMTY4Yzc2Yzc0NDI1ZmI4OTE0YjQ5MC4uYTBkYTcxODg3Y2QyNjg1ZGU5OTYzMWU5MWE0NDc2
MjZhM2MwYzQ4YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJB
cmcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFyZy5oCkBAIC0xNDgy
LDkgKzE0ODIsNyBAQCBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRT
dHJlYW0mLCBKU0M6OkIzOjpBaXI6OkFyZzo6Um9sZSk7CiBKU19FWFBPUlRfUFJJVkFURSB2b2lk
IHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBKU0M6OkIzOjpBaXI6OkFyZzo6U2lnbmVkbmVz
cyk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRl
PD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6QjM6OkFpcjo6QXJnPiB7Ci0gICAgdHlwZWRlZiBK
U0M6OkIzOjpBaXI6OkFyZ0hhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0
SGFzaDxKU0M6OkIzOjpBaXI6OkFyZz4gOiBKU0M6OkIzOjpBaXI6OkFyZ0hhc2ggeyB9OwogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0
IEhhc2hUcmFpdHM8SlNDOjpCMzo6QWlyOjpBcmc+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpT
Qzo6QjM6OkFpcjo6QXJnPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
YWlyL0FpclRtcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJUbXAuaAppbmRl
eCAwMGUzOWRmYTVkMjc2Njk4ZTllZWY3NDI1Y2VjMTU1ZWIxY2RkNDIwLi4xZWMwZjM2MjI0MTkw
ZmM5NjBjM2NkZGZkYjc3NmU1OTU2YjllYTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvYWlyL0FpclRtcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIv
QWlyVG1wLmgKQEAgLTMzMCw5ICszMzAsNyBAQCBzdHJ1Y3QgVG1wSGFzaCB7CiBuYW1lc3BhY2Ug
V1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxh
dGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpCMzo6QWlyOjpUbXA+IHsKLSAgICB0eXBlZGVm
IEpTQzo6QjM6OkFpcjo6VG1wSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPEpTQzo6QjM6OkFpcjo6VG1wPiA6IEpTQzo6QjM6OkFpcjo6VG1wSGFzaCB7IH07CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1
Y3QgSGFzaFRyYWl0czxKU0M6OkIzOjpBaXI6OlRtcD4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8
SlNDOjpCMzo6QWlyOjpUbXA+IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9CeXRlY29kZUluZGV4LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQnl0ZWNvZGVJbmRleC5oCmluZGV4IDliYzg0MzRlMGY5YjM4YjI4YTFiODExZTBlMDFmZWUy
MDFiOGJiODguLmQxNDc1NDE4MzI0NzI1NTQ4NzU5OWFlOWI0NjIwNWI2ZDVkN2RlMjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUluZGV4LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW5kZXguaApAQCAtMTEz
LDkgKzExMyw3IEBAIHN0cnVjdCBCeXRlY29kZUluZGV4SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsK
IAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpCeXRlY29kZUluZGV4PiB7Ci0gICAgdHlwZWRlZiBKU0M6
OkJ5dGVjb2RlSW5kZXhIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8SlNDOjpCeXRlY29kZUluZGV4PiA6IEpTQzo6Qnl0ZWNvZGVJbmRleEhhc2ggeyB9OwogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0
IEhhc2hUcmFpdHM8SlNDOjpCeXRlY29kZUluZGV4PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxK
U0M6OkJ5dGVjb2RlSW5kZXg+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9DYWxsVmFyaWFudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nh
bGxWYXJpYW50LmgKaW5kZXggNGMxMDFlZjI5N2MzNWJiMGQ2OTNiYWFmNDg4OTQzZDM3OTJmYzdl
NS4uMzkyODBlOWZhZmNjMTNhYjg4OWZjNTg2Y2UzMDAzYmU2MGRmZDVjYSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxWYXJpYW50LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxWYXJpYW50LmgKQEAgLTIxMiw5ICsyMTIsNyBA
QCBDYWxsVmFyaWFudExpc3QgZGVzcGVjaWZpZWRWYXJpYW50TGlzdChjb25zdCBDYWxsVmFyaWFu
dExpc3QmKTsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkNhbGxWYXJp
YW50PiB7Ci0gICAgdHlwZWRlZiBKU0M6OkNhbGxWYXJpYW50SGFzaCBIYXNoOwotfTsKK3RlbXBs
YXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6Q2FsbFZhcmlhbnQ+IDogSlNDOjpDYWxsVmFy
aWFudEhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsK
IHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpDYWxsVmFyaWFudD4gOiBTaW1wbGVD
bGFzc0hhc2hUcmFpdHM8SlNDOjpDYWxsVmFyaWFudD4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlT3JpZ2luLmgKaW5kZXggY2I0MjMwZTFlY2I2Njc4YWJlZmFjZjM3
MmJlNTgxMmU4YzgwY2E1OS4uYjJkODNmYWQ4ZGJkMDk4YTU1MjI4MWFiZTVjODAzMzQyYThhYWIw
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4u
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZU9yaWdpbi5oCkBAIC0y
OTcsOSArMjk3LDcgQEAgc3RydWN0IENvZGVPcmlnaW5BcHByb3hpbWF0ZUhhc2ggewogbmFtZXNw
YWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6Q29kZU9yaWdpbj4gewotICAgIHR5cGVk
ZWYgSlNDOjpDb2RlT3JpZ2luSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPEpTQzo6Q29kZU9yaWdpbj4gOiBKU0M6OkNvZGVPcmlnaW5IYXNoIHsgfTsKIAogdGVt
cGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBI
YXNoVHJhaXRzPEpTQzo6Q29kZU9yaWdpbj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpD
b2RlT3JpZ2luPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
REZHRXhpdFByb2ZpbGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0
UHJvZmlsZS5oCmluZGV4IGY4MDc3YmNjNjQwOWM5YmM4NTUxZDBlM2Q2YTYzMDAwYmZiZGIzZWEu
Ljg5ZTA4ZmI1ZDY3ZTQxMjYxMzYyODljODk1NGY2ODkxNDdhZTU4YmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0UHJvZmlsZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0UHJvZmlsZS5oCkBAIC0xNTUsOSArMTU1
LDcgQEAgc3RydWN0IEZyZXF1ZW50RXhpdFNpdGVIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6RnJlcXVlbnRFeGl0U2l0ZT4gewotICAgIHR5cGVkZWYg
SlNDOjpERkc6OkZyZXF1ZW50RXhpdFNpdGVIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OkZyZXF1ZW50RXhpdFNpdGU+IDogSlNDOjpERkc6OkZy
ZXF1ZW50RXhpdFNpdGVIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhh
c2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6REZHOjpGcmVxdWVu
dEV4aXRTaXRlPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OkRGRzo6RnJlcXVlbnRFeGl0
U2l0ZT4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xh
enlPcGVyYW5kVmFsdWVQcm9maWxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
TGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaAppbmRleCA4MWY1YTBjNDg5YzRlZjZkZGNiYTZlMWI0
NjJkNzJkOWU5ODY0NmQ3Li4xYTRjZTFhNmZjODg4MjkzY2M2NWRmMWZhNTIzYmE4MzBmNTYyNDI0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGF6eU9wZXJhbmRW
YWx1ZVByb2ZpbGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGF6eU9w
ZXJhbmRWYWx1ZVByb2ZpbGUuaApAQCAtMTA3LDkgKzEwNyw3IEBAIHN0cnVjdCBMYXp5T3BlcmFu
ZFZhbHVlUHJvZmlsZUtleUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PEpTQzo6TGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGVLZXk+IHsKLSAgICB0eXBlZGVmIEpTQzo6TGF6
eU9wZXJhbmRWYWx1ZVByb2ZpbGVLZXlIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8SlNDOjpMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZUtleT4gOiBKU0M6OkxhenlP
cGVyYW5kVmFsdWVQcm9maWxlS2V5SGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0
cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkxhenlP
cGVyYW5kVmFsdWVQcm9maWxlS2V5PiA6IHB1YmxpYyBHZW5lcmljSGFzaFRyYWl0czxKU0M6Okxh
enlPcGVyYW5kVmFsdWVQcm9maWxlS2V5PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb24uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oCmluZGV4IGQ4MTQxNWVh
NmU1ZjhjNTU5NGQzMmY0M2VhYTY0ZTg3ZTkyYmI1NWQuLmNmZWI0ZjViNTVmZTU1ZjlmMTY0NDVh
MmJlOWNiOTUxNDdjODQ4MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oCkBAIC0yOTIsOSArMjkyLDcgQEAg
c3RydWN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uSGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAog
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbj4gewotICAgIHR5cGVk
ZWYgSlNDOjpPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbkhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok9iamVjdFByb3BlcnR5Q29uZGl0aW9uPiA6IEpTQzo6
T2JqZWN0UHJvcGVydHlDb25kaXRpb25IYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6T2Jq
ZWN0UHJvcGVydHlDb25kaXRpb24+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6T2JqZWN0
UHJvcGVydHlDb25kaXRpb24+IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmgKaW5kZXggZDMyMGE0ZDVmZGNjNTgxZWRjYzcyNzEw
NWY5MjFkYjIwNzYwY2FlMy4uNmViNzY1M2Y2NjQ3MmJhYWQ4Yjg2Mzg4OGJjNmIxZGI4YWJiMmYy
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29u
ZGl0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29u
ZGl0aW9uLmgKQEAgLTM2MSw5ICszNjEsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQgcHJpbnRJ
bnRlcm5hbChQcmludFN0cmVhbSYsIEpTQzo6UHJvcGVydHlDb25kaXRpb246OktpbmQpOwogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxKU0M6OlByb3BlcnR5Q29uZGl0aW9uPiB7Ci0gICAgdHlwZWRlZiBKU0M6
OlByb3BlcnR5Q29uZGl0aW9uSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPEpTQzo6UHJvcGVydHlDb25kaXRpb24+IDogSlNDOjpQcm9wZXJ0eUNvbmRpdGlvbkhh
c2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBs
YXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpQcm9wZXJ0eUNvbmRpdGlvbj4gOiBTaW1wbGVD
bGFzc0hhc2hUcmFpdHM8SlNDOjpQcm9wZXJ0eUNvbmRpdGlvbj4geyB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEhlYXAuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RIZWFwLmgKaW5kZXggNDQ2NjUzZTAwODliMDVhMmE2
MzAzYzBkY2Y4N2Y3ZmVlMTRlZWRlMy4uZmY4NGY2YjdjMGQ5MGZjNGNiMTRjNzg3Y2QwZjFiNDNl
N2RiZGNhOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFj
dEhlYXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SGVhcC5o
CkBAIC0zNTIsOSArMzUyLDcgQEAgbmFtZXNwYWNlIFdURiB7CiB2b2lkIHByaW50SW50ZXJuYWwo
UHJpbnRTdHJlYW0mLCBKU0M6OkRGRzo6QWJzdHJhY3RIZWFwS2luZCk7CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPEpTQzo6REZHOjpBYnN0cmFjdEhlYXA+IHsKLSAgICB0eXBlZGVmIEpTQzo6REZHOjpBYnN0
cmFjdEhlYXBIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlND
OjpERkc6OkFic3RyYWN0SGVhcD4gOiBKU0M6OkRGRzo6QWJzdHJhY3RIZWFwSGFzaCB7IH07CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1
Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6QWJzdHJhY3RIZWFwPiA6IFNpbXBsZUNsYXNzSGFzaFRy
YWl0czxKU0M6OkRGRzo6QWJzdHJhY3RIZWFwPiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcAppbmRl
eCAyZTk4YTI3NTNjODYzZDVkNzc2MDUyNDdhNjgwYjVlNzQ4OWIxMjExLi42YjM2MTk5NWUyZDg1
NmNjY2M4NGM5OTUyZmQwY2QzY2NiNTNhYzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHAKQEAgLTUw
NSw3ICs1MDUsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAg
IAotICAgICAgICB1c2luZyBJbmxpbmVDYWxsRnJhbWVzID0gSGFzaFNldDxJbmxpbmVDYWxsRnJh
bWUqLCBXVEY6OkRlZmF1bHRIYXNoPElubGluZUNhbGxGcmFtZSo+OjpIYXNoLCBXVEY6Ok51bGxh
YmxlSGFzaFRyYWl0czxJbmxpbmVDYWxsRnJhbWUqPj47CisgICAgICAgIHVzaW5nIElubGluZUNh
bGxGcmFtZXMgPSBIYXNoU2V0PElubGluZUNhbGxGcmFtZSosIFdURjo6RGVmYXVsdEhhc2g8SW5s
aW5lQ2FsbEZyYW1lKj4sIFdURjo6TnVsbGFibGVIYXNoVHJhaXRzPElubGluZUNhbGxGcmFtZSo+
PjsKICAgICAgICAgdXNpbmcgSW5saW5lQ2FsbEZyYW1lc0ZvckNhbmRpdGF0ZXMgPSBIYXNoTWFw
PE5vZGUqLCBJbmxpbmVDYWxsRnJhbWVzPjsKICAgICAgICAgSW5saW5lQ2FsbEZyYW1lc0ZvckNh
bmRpdGF0ZXMgaW5saW5lQ2FsbEZyYW1lc0ZvckNhbmRpZGF0ZTsKICAgICAgICAgYXV0byBmb3JF
YWNoRGVwZW5kZW50Tm9kZSA9IHJlY3Vyc2FibGVMYW1iZGEoWyZdKGF1dG8gc2VsZiwgTm9kZSog
bm9kZSwgY29uc3QgYXV0byYgZnVuY3RvcikgLT4gdm9pZCB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IGYzZjNhZmNlY2U4MWU5MGMx
NTZjYjAwMzYxZjE0ZGVjMjE2OGE5NTkuLjNmNTJiMDU3ZTBkOTI2MTZkMGQzZGZhODM3OTk2OWJk
OWFjZTkyNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQ
YXJzZXIuY3BwCkBAIC0xMTQ0LDcgKzExNDQsNyBAQCBwcml2YXRlOgogICAgIEZyb3plblZhbHVl
KiBtX2NvbnN0YW50T25lOwogICAgIFZlY3RvcjxOb2RlKiwgMTY+IG1fY29uc3RhbnRzOwogCi0g
ICAgSGFzaE1hcDxJbmxpbmVDYWxsRnJhbWUqLCBWZWN0b3I8QXJndW1lbnRQb3NpdGlvbio+LCBX
VEY6OkRlZmF1bHRIYXNoPElubGluZUNhbGxGcmFtZSo+OjpIYXNoLCBXVEY6Ok51bGxhYmxlSGFz
aFRyYWl0czxJbmxpbmVDYWxsRnJhbWUqPj4gbV9pbmxpbmVDYWxsRnJhbWVUb0FyZ3VtZW50UG9z
aXRpb25zOworICAgIEhhc2hNYXA8SW5saW5lQ2FsbEZyYW1lKiwgVmVjdG9yPEFyZ3VtZW50UG9z
aXRpb24qPiwgV1RGOjpEZWZhdWx0SGFzaDxJbmxpbmVDYWxsRnJhbWUqPiwgV1RGOjpOdWxsYWJs
ZUhhc2hUcmFpdHM8SW5saW5lQ2FsbEZyYW1lKj4+IG1faW5saW5lQ2FsbEZyYW1lVG9Bcmd1bWVu
dFBvc2l0aW9uczsKIAogICAgIC8vIFRoZSBudW1iZXIgb2YgYXJndW1lbnRzIHBhc3NlZCB0byB0
aGUgZnVuY3Rpb24uCiAgICAgdW5zaWduZWQgbV9udW1Bcmd1bWVudHM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NTRVBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3BwCmluZGV4IDBjMDAxYzU4MTg3MzU4ZTY3NWE3YzAw
MWEwZjA1YTcwNzc5Zjk1NTcuLjY3ODI1OGRlYmUxZjVkNzZmNzE3ZTczY2QxN2FhOWM2NWFmZDBk
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3BwCkBAIC02Myw3
ICs2Myw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBoYXNoOwogfTsKIAotc3RydWN0IEltcHVy
ZURhdGFTbG90SGFzaCA6IHB1YmxpYyBEZWZhdWx0SGFzaDxzdGQ6OnVuaXF1ZV9wdHI8SW1wdXJl
RGF0YVNsb3Q+Pjo6SGFzaCB7CitzdHJ1Y3QgSW1wdXJlRGF0YVNsb3RIYXNoIDogcHVibGljIERl
ZmF1bHRIYXNoPHN0ZDo6dW5pcXVlX3B0cjxJbXB1cmVEYXRhU2xvdD4+IHsKICAgICBzdGF0aWMg
dW5zaWduZWQgaGFzaChjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8SW1wdXJlRGF0YVNsb3Q+JiBrZXkp
CiAgICAgewogICAgICAgICByZXR1cm4ga2V5LT5oYXNoOwpAQCAtMjk0LDcgKzI5NCw3IEBAIHBy
aXZhdGU6CiAgICAgLy8gYSBkdXBsaWNhdGUgaW4gdGhlIHBhc3QgYW5kIG5vdyBvbmx5IGxpdmUg
aW4gbV9mYWxsYmFja1N0YWNrTWFwLgogICAgIC8vCiAgICAgLy8gT2J2aW91c2x5LCBUT1AgYWx3
YXlzIGdvZXMgaW50byBtX2ZhbGxiYWNrU3RhY2tNYXAgc2luY2UgaXQgZG9lcyBub3QgaGF2ZSBh
IHVuaXF1ZSB2YWx1ZS4KLSAgICBIYXNoTWFwPGludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxJbXB1
cmVEYXRhU2xvdD4sIERlZmF1bHRIYXNoPGludDY0X3Q+OjpIYXNoLCBXVEY6OlNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czxpbnQ2NF90Pj4gbV9hYnN0cmFjdEhlYXBTdGFja01hcDsKKyAgICBI
YXNoTWFwPGludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxJbXB1cmVEYXRhU2xvdD4sIERlZmF1bHRI
YXNoPGludDY0X3Q+LCBXVEY6OlNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxpbnQ2NF90Pj4g
bV9hYnN0cmFjdEhlYXBTdGFja01hcDsKICAgICBNYXAgbV9mYWxsYmFja1N0YWNrTWFwOwogCiAg
ICAgTWFwIG1faGVhcE1hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQ29tcGlsYXRpb25LZXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tcGls
YXRpb25LZXkuaAppbmRleCA1ODMyZjZjNjM3NWJmODJmMWQzN2ViZWEzZWRhNDY4NWFkYzEwNjk4
Li4wZDQ2ZjVlZGEzOWEwNjc1MzdjNmM4MGU5MTJjNGNhNmQyMzgxNzI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbXBpbGF0aW9uS2V5LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21waWxhdGlvbktleS5oCkBAIC05Nyw5ICs5Nyw3IEBA
IHN0cnVjdCBDb21waWxhdGlvbktleUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPEpTQzo6REZHOjpDb21waWxhdGlvbktleT4gewotICAgIHR5cGVkZWYgSlNDOjpERkc6
OkNvbXBpbGF0aW9uS2V5SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPEpTQzo6REZHOjpDb21waWxhdGlvbktleT4gOiBKU0M6OkRGRzo6Q29tcGlsYXRpb25LZXlI
YXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1w
bGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6REZHOjpDb21waWxhdGlvbktleT4gOiBTaW1w
bGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpERkc6OkNvbXBpbGF0aW9uS2V5PiB7IH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRHbG9iYWxQcm9wZXJ0eS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkR2xvYmFsUHJvcGVydHkuaApp
bmRleCBhNjM5MzMzMmQ4MzA2ZTQ2NjgwZjExZDg3ZThkYjFhN2QxMWJkNTg5Li4xYTUyODA2OGM2
YmQwOGE4MzI3YjkyNTI3OGY1NmI3NzYxZWFiNjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRHbG9iYWxQcm9wZXJ0eS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZEdsb2JhbFByb3BlcnR5LmgKQEAgLTEwMiw5ICsxMDIs
NyBAQCBzdHJ1Y3QgRGVzaXJlZEdsb2JhbFByb3BlcnR5SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsK
IAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OkRlc2lyZWRHbG9iYWxQcm9wZXJ0eT4gewotICAg
IHR5cGVkZWYgSlNDOjpERkc6OkRlc2lyZWRHbG9iYWxQcm9wZXJ0eUhhc2ggSGFzaDsKLX07Cit0
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6RGVzaXJlZEdsb2JhbFByb3Bl
cnR5PiA6IEpTQzo6REZHOjpEZXNpcmVkR2xvYmFsUHJvcGVydHlIYXNoIHsgfTsKIAogdGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNo
VHJhaXRzPEpTQzo6REZHOjpEZXNpcmVkR2xvYmFsUHJvcGVydHk+IDogU2ltcGxlQ2xhc3NIYXNo
VHJhaXRzPEpTQzo6REZHOjpEZXNpcmVkR2xvYmFsUHJvcGVydHk+IHsgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSGVhcExvY2F0aW9uLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0hlYXBMb2NhdGlvbi5oCmluZGV4IGI1Y2VkMTM5ZjQ4YTBiYmIw
NzIzZDQwOGU0MzBiYTNiMGY3OWM2OTQuLjQ0NDI5YTY3YjZmNTIxOGRkMGFjY2M5MzRiNzc2NGFl
YjhkNWQ3ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSGVhcExv
Y2F0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdIZWFwTG9jYXRpb24u
aApAQCAtMTg2LDkgKzE4Niw3IEBAIG5hbWVzcGFjZSBXVEYgewogdm9pZCBwcmludEludGVybmFs
KFByaW50U3RyZWFtJiwgSlNDOjpERkc6OkxvY2F0aW9uS2luZCk7CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PEpTQzo6REZHOjpIZWFwTG9jYXRpb24+IHsKLSAgICB0eXBlZGVmIEpTQzo6REZHOjpIZWFwTG9j
YXRpb25IYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpE
Rkc6OkhlYXBMb2NhdGlvbj4gOiBKU0M6OkRGRzo6SGVhcExvY2F0aW9uSGFzaCB7IH07CiAKIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3Qg
SGFzaFRyYWl0czxKU0M6OkRGRzo6SGVhcExvY2F0aW9uPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0
czxKU0M6OkRGRzo6SGVhcExvY2F0aW9uPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0xpdmVuZXNzQW5hbHlzaXNQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0xpdmVuZXNzQW5hbHlzaXNQaGFzZS5jcHAKaW5kZXggNDNhNjJmYjM3MmY4
NTU0NmNjN2ZjN2RkMDgxMDdiZDIyZDM1MjNjZi4uMTAwMTE4MzNiMjQ3MWVlNWIxYjYwZjIyMDE2
ZWVmMGY0ZTZkZjZhOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdM
aXZlbmVzc0FuYWx5c2lzUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTGl2ZW5lc3NBbmFseXNpc1BoYXNlLmNwcApAQCAtNDEsMTAgKzQxLDEwIEBAIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKIG5hbWVzcGFjZSB7CiAKIC8vIFVuY29tbWVudCB0aGlz
IHRvIGxvZyBoYXNodGFibGUgb3BlcmF0aW9ucy4KLS8vIHN0YXRpYyBjb25zdCBjaGFyIHRlbXBs
YXRlU3RyaW5nW10gPSAidW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwgV1RG
OjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4iOwotLy8gdHlwZWRlZiBM
b2dnaW5nSGFzaFNldDx0ZW1wbGF0ZVN0cmluZywgdW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2ln
bmVkPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+
IExpdmVTZXQ7CisvLyBzdGF0aWMgY29uc3QgY2hhciB0ZW1wbGF0ZVN0cmluZ1tdID0gInVuc2ln
bmVkLCBEZWZhdWx0SGFzaDx1bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hU
cmFpdHM8dW5zaWduZWQ+IjsKKy8vIHR5cGVkZWYgTG9nZ2luZ0hhc2hTZXQ8dGVtcGxhdGVTdHJp
bmcsIHVuc2lnbmVkLCBEZWZhdWx0SGFzaDx1bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVy
b0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiBMaXZlU2V0OwogCi10eXBlZGVmIEhhc2hTZXQ8dW5z
aWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJv
S2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IExpdmVTZXQ7Cit0eXBlZGVmIEhhc2hTZXQ8dW5zaWdu
ZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRy
YWl0czx1bnNpZ25lZD4+IExpdmVTZXQ7CiAKIHR5cGVkZWYgSW5kZXhTcGFyc2VTZXQ8dW5zaWdu
ZWQsIERlZmF1bHRJbmRleFNwYXJzZVNldFRyYWl0czx1bnNpZ25lZD4sIFVuc2FmZVZlY3Rvck92
ZXJmbG93PiBXb3Jrc2V0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR01pbmlmaWVkSUQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTWluaWZpZWRJ
RC5oCmluZGV4IGNiNzFmMWI5ZTA4OTRiMjJlYjhiYjljNjM5YzZhZjc1YzZmNWE1MzEuLjE2NzI4
NjEwMjcwMGJjN2I2NzQ2YzY0NzE4ZGI1ZTM5NzI0NzMyNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTWluaWZpZWRJRC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTWluaWZpZWRJRC5oCkBAIC04Nyw5ICs4Nyw3IEBAIHN0cnVjdCBNaW5pZmll
ZElESGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0
IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6Ok1p
bmlmaWVkSUQ+IHsKLSAgICB0eXBlZGVmIEpTQzo6REZHOjpNaW5pZmllZElESGFzaCBIYXNoOwot
fTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpNaW5pZmllZElEPiA6
IEpTQzo6REZHOjpNaW5pZmllZElESGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0
cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6
TWluaWZpZWRJRD4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpERkc6Ok1pbmlmaWVkSUQ+
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZUZsb3dQcm9q
ZWN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVGbG93UHJvamVjdGlv
bi5oCmluZGV4IDgyOGUzMWI2ZjlmMDExZTMzZGEzZjhhNjU0OGNjNmE3Mzg4MTI3MGIuLjM0OTcx
ZWFiZTNmOTY1ZjQ3YzI2ZTU2YTliNWEzMWIwNzk0YTliZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZUZsb3dQcm9qZWN0aW9uLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlRmxvd1Byb2plY3Rpb24uaApAQCAtMTQyLDkgKzE0Miw3
IEBAIHN0cnVjdCBOb2RlRmxvd1Byb2plY3Rpb25IYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6Tm9kZUZsb3dQcm9qZWN0aW9uPiB7Ci0gICAgdHlwZWRl
ZiBKU0M6OkRGRzo6Tm9kZUZsb3dQcm9qZWN0aW9uSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpOb2RlRmxvd1Byb2plY3Rpb24+IDogSlNDOjpE
Rkc6Ok5vZGVGbG93UHJvamVjdGlvbkhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpERkc6
Ok5vZGVGbG93UHJvamVjdGlvbj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpERkc6Ok5v
ZGVGbG93UHJvamVjdGlvbj4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oCmluZGV4IGUwYzMxYzIzNmU1NGU3NWRiZDNkN2Vm
NGFkYWMwYWQ3ZWMxNmY1MjUuLjRmMTI1MjMzODQyMTUxNDk3NjEyZWExOGY3YmY1NWU0MzhiMTVi
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZWRIZWFw
TG9jYXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVh
cExvY2F0aW9uLmgKQEAgLTIxNSw5ICsyMTUsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQgcHJp
bnRJbnRlcm5hbChQcmludFN0cmVhbSYsIEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uS2luZCk7
CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQcm9tb3RlZEhlYXBMb2NhdGlvbj4gewotICAg
IHR5cGVkZWYgSlNDOjpERkc6OlByb21vdGVkSGVhcExvY2F0aW9uSGFzaCBIYXNoOwotfTsKK3Rl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQcm9tb3RlZEhlYXBMb2NhdGlv
bj4gOiBKU0M6OkRGRzo6UHJvbW90ZWRIZWFwTG9jYXRpb25IYXNoIHsgfTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPEpTQzo6REZHOjpQcm9tb3RlZEhlYXBMb2NhdGlvbj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFp
dHM8SlNDOjpERkc6OlByb21vdGVkSGVhcExvY2F0aW9uPiB7CkBAIC0yMjUsOSArMjIzLDcgQEAg
dGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6UHJvbW90ZWRIZWFwTG9jYXRp
b24+IDogU2ltcGxlQ2xhc3NIYXNoVHIKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVj
dCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQ
cm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcj4gewotICAgIHR5cGVkZWYgSlNDOjpERkc6OlByb21v
dGVkTG9jYXRpb25EZXNjcmlwdG9ySGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcj4gOiBKU0M6OkRG
Rzo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3JIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5h
bWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpT
Qzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFp
dHM8SlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yPiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb3BlcnR5VHlwZUtleS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9wZXJ0eVR5cGVLZXkuaAppbmRleCAxYjc5NDI0ZDRjZjA4
YzcxZmJjNmRkNzUyODVhMjJlY2VlNjZlZWQyLi43ODc5M2I4ZTkyNTMwNjc5OWIwMWNkMGI4N2Q5
MTViMTg1N2FlMzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1By
b3BlcnR5VHlwZUtleS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvcGVy
dHlUeXBlS2V5LmgKQEAgLTExMSw5ICsxMTEsNyBAQCBzdHJ1Y3QgUHJvcGVydHlUeXBlS2V5SGFz
aCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1
bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OlByb3BlcnR5
VHlwZUtleT4gewotICAgIHR5cGVkZWYgSlNDOjpERkc6OlByb3BlcnR5VHlwZUtleUhhc2ggSGFz
aDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6UHJvcGVydHlU
eXBlS2V5PiA6IEpTQzo6REZHOjpQcm9wZXJ0eVR5cGVLZXlIYXNoIHsgfTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPEpTQzo6REZHOjpQcm9wZXJ0eVR5cGVLZXk+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpT
Qzo6REZHOjpQcm9wZXJ0eVR5cGVLZXk+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHUHVyZVZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1B1
cmVWYWx1ZS5oCmluZGV4IGI1ZWViZDcyMjg1NjU5M2UxMDNjMWQ2YmJiYzgyYTVhNGY4NjYwMGMu
LjZmNDJkZDNkOWE1YmRkMDk2YjI1M2JmMDU5ZDUyNWIyOTFiMDg4YTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHVyZVZhbHVlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdQdXJlVmFsdWUuaApAQCAtMTUzLDkgKzE1Myw3IEBAIHN0cnVjdCBQ
dXJlVmFsdWVIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkRG
Rzo6UHVyZVZhbHVlPiB7Ci0gICAgdHlwZWRlZiBKU0M6OkRGRzo6UHVyZVZhbHVlSGFzaCBIYXNo
OwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQdXJlVmFsdWU+
IDogSlNDOjpERkc6OlB1cmVWYWx1ZUhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpERkc6
OlB1cmVWYWx1ZT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpERkc6OlB1cmVWYWx1ZT4g
ewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb2NhdGlvbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb2NhdGlvbi5oCmluZGV4IDExOTU5ZGQ2Njky
NTQ3Y2FjNTk5NjM1MTExY2U2M2EwMTE3NTMyM2EuLmJkNGI0MTY1ZWM4MmJjM2FiNTcxYzgwZjQ0
ZTU1YWE5M2JlN2QwZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG9jYXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvY2F0aW9uLmgK
QEAgLTIwMSw5ICsyMDEsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQgcHJpbnRJbnRlcm5hbChQ
cmludFN0cmVhbSYsIEpTQzo6RlRMOjpMb2NhdGlvbjo6S2luZCk7CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PEpTQzo6RlRMOjpMb2NhdGlvbj4gewotICAgIHR5cGVkZWYgSlNDOjpGVEw6OkxvY2F0aW9uSGFz
aCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6RlRMOjpMb2Nh
dGlvbj4gOiBKU0M6OkZUTDo6TG9jYXRpb25IYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUg
VD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6
RlRMOjpMb2NhdGlvbj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpGVEw6OkxvY2F0aW9u
PiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9CMy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAK
aW5kZXggZWM3YTU0NmExMWU5MmVhNjQxZDk4MDc5MDE3ODQ3ZDljNGY4ZjMzZi4uZDRjODA1MWYy
ZGJlZGUyNDk4NTYwYWNmMWFkYTRkOGYzNTk2ZjFiZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcApAQCAtNjgyOCw3ICs2ODI4LDcgQEAgcHJpdmF0
ZToKICAgICAgICAgaWYgKG1fZ3JhcGguaXNXYXRjaGluZ0hhdmluZ0FCYWRUaW1lV2F0Y2hwb2lu
dChtX25vZGUpKSB7CiAgICAgICAgICAgICBDaGVja2VkSW50MzIgc3RhcnRMZW5ndGggPSAwOwog
ICAgICAgICAgICAgQml0VmVjdG9yKiBiaXRWZWN0b3IgPSBtX25vZGUtPmJpdFZlY3RvcigpOwot
ICAgICAgICAgICAgSGFzaE1hcDxJbmxpbmVDYWxsRnJhbWUqLCBMVmFsdWUsIFdURjo6RGVmYXVs
dEhhc2g8SW5saW5lQ2FsbEZyYW1lKj46Okhhc2gsIFdURjo6TnVsbGFibGVIYXNoVHJhaXRzPElu
bGluZUNhbGxGcmFtZSo+PiBjYWNoZWRTcHJlYWRMZW5ndGhzOworICAgICAgICAgICAgSGFzaE1h
cDxJbmxpbmVDYWxsRnJhbWUqLCBMVmFsdWUsIFdURjo6RGVmYXVsdEhhc2g8SW5saW5lQ2FsbEZy
YW1lKj4sIFdURjo6TnVsbGFibGVIYXNoVHJhaXRzPElubGluZUNhbGxGcmFtZSo+PiBjYWNoZWRT
cHJlYWRMZW5ndGhzOwogCiAgICAgICAgICAgICBpZiAobV9ub2RlLT5udW1DaGlsZHJlbigpID09
IDEgJiYgYml0VmVjdG9yLT5nZXQoMCkpIHsKICAgICAgICAgICAgICAgICBFZGdlIHVzZSA9IG1f
Z3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAwKTsKQEAgLTk3MDEsNyArOTcwMSw3IEBAIHByaXZh
dGU6CiAgICAgICAgIHVuc2lnbmVkIHN0YXRpY0FyZ3VtZW50Q291bnQgPSAwOwogICAgICAgICBW
ZWN0b3I8TFZhbHVlLCAyPiBzcHJlYWRMZW5ndGhzOwogICAgICAgICBWZWN0b3I8TFZhbHVlLCA4
PiBwYXRjaHBvaW50QXJndW1lbnRzOwotICAgICAgICBIYXNoTWFwPElubGluZUNhbGxGcmFtZSos
IExWYWx1ZSwgV1RGOjpEZWZhdWx0SGFzaDxJbmxpbmVDYWxsRnJhbWUqPjo6SGFzaCwgV1RGOjpO
dWxsYWJsZUhhc2hUcmFpdHM8SW5saW5lQ2FsbEZyYW1lKj4+IGNhY2hlZFNwcmVhZExlbmd0aHM7
CisgICAgICAgIEhhc2hNYXA8SW5saW5lQ2FsbEZyYW1lKiwgTFZhbHVlLCBXVEY6OkRlZmF1bHRI
YXNoPElubGluZUNhbGxGcmFtZSo+LCBXVEY6Ok51bGxhYmxlSGFzaFRyYWl0czxJbmxpbmVDYWxs
RnJhbWUqPj4gY2FjaGVkU3ByZWFkTGVuZ3RoczsKICAgICAgICAgYXV0byBwdXNoQW5kQ291bnRB
cmd1bWVudHNGcm9tUmlnaHRUb0xlZnQgPSByZWN1cnNhYmxlTGFtYmRhKFsmXShhdXRvIHNlbGYs
IE5vZGUqIHRhcmdldCkgLT4gdm9pZCB7CiAgICAgICAgICAgICBpZiAodGFyZ2V0LT5vcCgpID09
IFBoYW50b21TcHJlYWQpIHsKICAgICAgICAgICAgICAgICBzZWxmKHRhcmdldC0+Y2hpbGQxKCku
bm9kZSgpKTsKQEAgLTEyNjQ2LDcgKzEyNjQ2LDcgQEAgcHJpdmF0ZToKIAogICAgICAgICAgICAg
ICAgIGluaXRpYWxpemVBcnJheUVsZW1lbnRzKG1fb3V0LmNvbnN0SW50MzIoc3RydWN0dXJlLT5p
bmRleGluZ1R5cGUoKSksIG1fb3V0LmludDMyWmVybywgdmVjdG9yTGVuZ3RoLCBidXR0ZXJmbHkp
OwogCi0gICAgICAgICAgICAgICAgSGFzaE1hcDxpbnQzMl90LCBMVmFsdWUsIERlZmF1bHRIYXNo
PGludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPGludDMy
X3Q+PiBpbmRleE1hcDsKKyAgICAgICAgICAgICAgICBIYXNoTWFwPGludDMyX3QsIExWYWx1ZSwg
RGVmYXVsdEhhc2g8aW50MzJfdD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8
aW50MzJfdD4+IGluZGV4TWFwOwogICAgICAgICAgICAgICAgIFZlY3RvcjxpbnQzMl90PiBpbmRp
Y2VzOwogICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGRhdGEubV9wcm9wZXJ0aWVz
LnNpemUoKTsgaS0tOykgewogICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVz
Y3JpcHRvciBkZXNjcmlwdG9yID0gZGF0YS5tX3Byb3BlcnRpZXNbaV07CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbEtleS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0aENhbGxLZXkuaAppbmRleCAwNjMwMTRjNzljNzgx
ZWQ5NThiMTY2MDBkZDE0ZGQyMTNjYjJlZmZhLi4wODZhZTAwZWU1ODU1MmM3Y2U4M2Q3MDUyMGU3
NjEzODQyYmRkMzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNs
b3dQYXRoQ2FsbEtleS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1Bh
dGhDYWxsS2V5LmgKQEAgLTExOCw5ICsxMTgsNyBAQCBzdHJ1Y3QgU2xvd1BhdGhDYWxsS2V5SGFz
aCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1
bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpGVEw6OlNsb3dQYXRo
Q2FsbEtleT4gewotICAgIHR5cGVkZWYgSlNDOjpGVEw6OlNsb3dQYXRoQ2FsbEtleUhhc2ggSGFz
aDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkZUTDo6U2xvd1BhdGhD
YWxsS2V5PiA6IEpTQzo6RlRMOjpTbG93UGF0aENhbGxLZXlIYXNoIHsgfTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPEpTQzo6RlRMOjpTbG93UGF0aENhbGxLZXk+IDogcHVibGljIEN1c3RvbUhhc2hUcmFpdHM8
SlNDOjpGVEw6OlNsb3dQYXRoQ2FsbEtleT4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L01hcmtlZEJsb2NrLmgKaW5kZXggOTM3OWQ0NWY2NDIxZTc1YzI1MTFkZmRmZjU1ZTkyZWQwOTg4
ZTBjMS4uYmFmOWNlYzg1OTIxMjRjM2I5ZjM2YzQzYWI1NWEwODU5NTFiYzE4YSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2suaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRCbG9jay5oCkBAIC02OTAsOSArNjkwLDcgQEAgc3Ry
dWN0IE1hcmtlZEJsb2NrSGFzaCA6IFB0ckhhc2g8SlNDOjpNYXJrZWRCbG9jayo+IHsKICAgICB9
CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok1hcmtlZEJsb2NrKj4g
ewotICAgIHR5cGVkZWYgTWFya2VkQmxvY2tIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpNYXJrZWRCbG9jayo+IDogTWFya2VkQmxvY2tIYXNoIHsgfTsK
IAogdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIEpTQzo6TWFya2VkQmxvY2s6
OkhhbmRsZTo6U3dlZXBNb2RlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvVmlzaXRSYWNlS2V5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9WaXNpdFJh
Y2VLZXkuaAppbmRleCA3MzEwYmRjZTlmYmFmYTI5YWFjMDg1ODRmZDM2Njg3NzNkZDllOWQzLi4x
ZjU5ODdjZmUyNWY3MWMyMzQ4MzY2MjhmNjY4OWIwNzZmNjcwYzI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9WaXNpdFJhY2VLZXkuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9WaXNpdFJhY2VLZXkuaApAQCAtOTYsOSArOTYsNyBAQCBzdHJ1Y3QgVmlz
aXRSYWNlS2V5SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpW
aXNpdFJhY2VLZXk+IHsKLSAgICB0eXBlZGVmIEpTQzo6VmlzaXRSYWNlS2V5SGFzaCBIYXNoOwot
fTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6VmlzaXRSYWNlS2V5PiA6IEpT
Qzo6VmlzaXRSYWNlS2V5SGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBI
YXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OlZpc2l0UmFjZUtl
eT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpWaXNpdFJhY2VLZXk+IHsgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dl
bmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNf
aGVhZGVyLnB5CmluZGV4IDE5ZmQwY2EwNDEyYmNmYjEyZWY1OTI3MTZmYjVlMTU3Yjc0OTMzOGIu
LjAwMTkyNGRlMGViMDgyN2Y3NDVkM2Q3MzZjMGFiOTIwMjEyNGRiMzYgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2Nw
cF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hlYWRl
ci5weQpAQCAtNDg1LDkgKzQ4NSw3IEBAIGNsYXNzIENwcFByb3RvY29sVHlwZXNIZWFkZXJHZW5l
cmF0b3IoQ3BwR2VuZXJhdG9yKToKICAgICAgICAgICAgIGZvciBlbnVtX3R5cGUgaW4gZW51bV90
eXBlczoKICAgICAgICAgICAgICAgICBlbnVtX2xpbmVzID0gW10KICAgICAgICAgICAgICAgICBl
bnVtX2xpbmVzLmFwcGVuZCgndGVtcGxhdGU8PicpCi0gICAgICAgICAgICAgICAgZW51bV9saW5l
cy5hcHBlbmQoJ3N0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjolczo6JXM+
IHsnICUgKGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90eXBlLnJhd19uYW1lKCkpKQotICAgICAg
ICAgICAgICAgIGVudW1fbGluZXMuYXBwZW5kKCcgICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5z
cGVjdG9yOjpQcm90b2NvbDo6JXM6OiVzPjsnICUgKGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90
eXBlLnJhd19uYW1lKCkpKQotICAgICAgICAgICAgICAgIGVudW1fbGluZXMuYXBwZW5kKCd9Oycp
CisgICAgICAgICAgICAgICAgZW51bV9saW5lcy5hcHBlbmQoJ3N0cnVjdCBEZWZhdWx0SGFzaDxJ
bnNwZWN0b3I6OlByb3RvY29sOjolczo6JXM+IDogSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29s
Ojolczo6JXM+IHsgfTsnICUgKGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90eXBlLnJhd19uYW1l
KCksIGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90eXBlLnJhd19uYW1lKCkpKQogICAgICAgICAg
ICAgICAgIGRvbWFpbl9saW5lcy5hcHBlbmQoc2VsZi53cmFwX3dpdGhfZ3VhcmRfZm9yX2NvbmRp
dGlvbihlbnVtX3R5cGUuZGVjbGFyYXRpb24oKS5jb25kaXRpb24sICdcbicuam9pbihlbnVtX2xp
bmVzKSkpCiAKICAgICAgICAgICAgIGxpbmVzLmFwcGVuZChzZWxmLndyYXBfd2l0aF9ndWFyZF9m
b3JfY29uZGl0aW9uKGRvbWFpbi5jb25kaXRpb24sICdcbicuam9pbihkb21haW5fbGluZXMpKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21t
YW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdAppbmRleCAxNmVjMjQ3MmZkN2M3
MWJhNGI1OTVjZTIzMjI1MjY2MzQ4ZmFkNDQ2Li4zYjU4ZTBmYjI3NGQzZTI3NzllYjc2NmE5YTUx
NjVlYjQzYWVmMjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNv
bi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRlLmpzb24tcmVzdWx0CkBA
IC03MzMsOSArNzMzLDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNo
OwogCiAvLyBIYXNoIGRlY2xhcmF0aW9ucyBpbiB0aGUgJ0RhdGFiYXNlJyBEb21haW4KIHRlbXBs
YXRlPD4KLXN0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6
UHJpbWFyeUNvbG9ycz4gewotICAgIHVzaW5nIEhhc2ggPSBJbnRIYXNoPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OkRhdGFiYXNlOjpQcmltYXJ5Q29sb3JzPjsKLX07CitzdHJ1Y3QgRGVmYXVsdEhhc2g8
SW5zcGVjdG9yOjpQcm90b2NvbDo6RGF0YWJhc2U6OlByaW1hcnlDb2xvcnM+IDogSW50SGFzaDxJ
bnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJpbWFyeUNvbG9ycz4geyB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXVEYKICMjIyBFbmQgRmlsZTogVGVzdFByb3RvY29sT2JqZWN0cy5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhw
ZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24t
cmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4
cGVjdGVkL2NvbW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVycy5qc29u
LXJlc3VsdAppbmRleCBkNGFhZDBiMGVhNDQ2MzA1MjQ4MGVlMzBiYjlkMmFlZWJmMGVlOTM5Li5l
NGRiMDRhZDliMjc2YjhiMjI5ZmJmYzQxZGFjZTdiMTg4YjU2NmY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFu
ZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9j
b21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQK
QEAgLTY0NCw5ICs2NDQsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhh
c2g7CiAKIC8vIEhhc2ggZGVjbGFyYXRpb25zIGluIHRoZSAnRGF0YWJhc2UnIERvbWFpbgogdGVt
cGxhdGU8Pgotc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNl
OjpQcmltYXJ5Q29sb3JzPiB7Ci0gICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9yOjpQ
cm90b2NvbDo6RGF0YWJhc2U6OlByaW1hcnlDb2xvcnM+OwotfTsKK3N0cnVjdCBEZWZhdWx0SGFz
aDxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJpbWFyeUNvbG9ycz4gOiBJbnRIYXNo
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpQcmltYXJ5Q29sb3JzPiB7IH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdURgogIyMjIEVuZCBGaWxlOiBUZXN0UHJvdG9jb2xPYmplY3RzLmgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9l
eHBlY3RlZC9lbnVtLXZhbHVlcy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9lbnVtLXZhbHVlcy5qc29uLXJlc3VsdApp
bmRleCA0ZTkwNWYwMzdhOTZkYTIwMmQyNTdjZThkYTgxNjQ3NDdiMmRlNDdjLi4zNGRmZThkOWY0
NzM1ZmQ1YWY1YmFjM2U2ZWU3MzMxMTFjZjNlYmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZW51bS12YWx1ZXMuanNv
bi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0CkBAIC00OTIsOSArNDkyLDcgQEAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwogCiAvLyBIYXNoIGRlY2xh
cmF0aW9ucyBpbiB0aGUgJ1R5cGVEb21haW4nIERvbWFpbgogdGVtcGxhdGU8Pgotc3RydWN0IERl
ZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlR5cGVEb21haW46OlR5cGVEb21haW5FbnVt
PiB7Ci0gICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6VHlwZURv
bWFpbjo6VHlwZURvbWFpbkVudW0+OwotfTsKK3N0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6
OlByb3RvY29sOjpUeXBlRG9tYWluOjpUeXBlRG9tYWluRW51bT4gOiBJbnRIYXNoPEluc3BlY3Rv
cjo6UHJvdG9jb2w6OlR5cGVEb21haW46OlR5cGVEb21haW5FbnVtPiB7IH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdURgogIyMjIEVuZCBGaWxlOiBUZXN0UHJvdG9jb2xPYmplY3RzLmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3Rl
ZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlv
bi1hcnJheS10eXBlLmpzb24tcmVzdWx0CmluZGV4IDlmYTNkOTM0YjZmMTZlZDc0ZmZiODA3Yjkx
ZTMxNDY0NzMxN2NhODMuLmQ4ODgwYzYzZTMzNzhjNWNmZTMwOGNhZmRmODRjYzk4NzQ5MmJiZmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5
cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdApAQCAtMzc5LDkgKzM3OSw3IEBA
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKIAogLy8gSGFzaCBkZWNs
YXJhdGlvbnMgaW4gdGhlICdEZWJ1Z2dlcicgRG9tYWluCiB0ZW1wbGF0ZTw+Ci1zdHJ1Y3QgRGVm
YXVsdEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGVidWdnZXI6OlJlYXNvbj4gewotICAgIHVz
aW5nIEhhc2ggPSBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRlYnVnZ2VyOjpSZWFzb24+
OwotfTsKK3N0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEZWJ1Z2dlcjo6
UmVhc29uPiA6IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGVidWdnZXI6OlJlYXNvbj4g
eyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKICMjIyBFbmQgRmlsZTogVGVzdFByb3RvY29sT2Jq
ZWN0cy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbi1yZXN1bHQg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQv
dHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbi1yZXN1bHQKaW5kZXggODhiODY2OGYzOTIy
MGM1YmFlOGVkMTA2MjQ2OTUwZmQwNzk5ZmM1OS4uM2EyYzIwNTI4MzA0NGUwMDA2YjMzMWVlMzE1
YjA0MzdhNGZhNWJmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tZW51bS10eXBlLmpzb24t
cmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdApAQCAtMzc4
LDEzICszNzgsOSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAK
IC8vIEhhc2ggZGVjbGFyYXRpb25zIGluIHRoZSAnUnVudGltZScgRG9tYWluCiB0ZW1wbGF0ZTw+
Ci1zdHJ1Y3QgRGVmYXVsdEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6RmFybUFu
aW1hbHM+IHsKLSAgICB1c2luZyBIYXNoID0gSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpS
dW50aW1lOjpGYXJtQW5pbWFscz47Ci19Oworc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6
UHJvdG9jb2w6OlJ1bnRpbWU6OkZhcm1BbmltYWxzPiA6IEludEhhc2g8SW5zcGVjdG9yOjpQcm90
b2NvbDo6UnVudGltZTo6RmFybUFuaW1hbHM+IHsgfTsKIHRlbXBsYXRlPD4KLXN0cnVjdCBEZWZh
dWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpUd29MZWdnZWRBbmltYWxzPiB7
Ci0gICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6
VHdvTGVnZ2VkQW5pbWFscz47Ci19Oworc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OlJ1bnRpbWU6OlR3b0xlZ2dlZEFuaW1hbHM+IDogSW50SGFzaDxJbnNwZWN0b3I6OlBy
b3RvY29sOjpSdW50aW1lOjpUd29MZWdnZWRBbmltYWxzPiB7IH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdURgogIyMjIEVuZCBGaWxlOiBUZXN0UHJvdG9jb2xPYmplY3RzLmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBl
LWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tb2Jq
ZWN0LXR5cGUuanNvbi1yZXN1bHQKaW5kZXggOGM4MTQzNjMzY2FjZGEwZWIwZWEwOTBjNDYyZGY3
MzdkOGExNDhhOC4uMzI4ZmVkMjNkYzRjYTdmMTg4NTkwYjYzNDRkNWJmN2U0NzNkZGMwMyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4
cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUt
ZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKQEAgLTkwOCw5ICs5MDgsNyBAQCB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAKIC8vIEhhc2ggZGVjbGFy
YXRpb25zIGluIHRoZSAnRGF0YWJhc2UnIERvbWFpbgogdGVtcGxhdGU8Pgotc3RydWN0IERlZmF1
bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpNb3VzZUJ1dHRvbj4gewotICAg
IHVzaW5nIEhhc2ggPSBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpNb3Vz
ZUJ1dHRvbj47Ci19Oworc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRh
dGFiYXNlOjpNb3VzZUJ1dHRvbj4gOiBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFi
YXNlOjpNb3VzZUJ1dHRvbj4geyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKICMjIyBFbmQgRmls
ZTogVGVzdFByb3RvY29sT2JqZWN0cy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVudGlt
ZS1jYXN0cy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVz
dWx0CmluZGV4IDY3NmRlYjRkYjQwNjc1NDRjYTAzYzM3MzZhMzc4OWRlNTJlMzBjNmUuLjI2Yjc1
MGM2NmIyMDFiMGQ0ZWNiZjJmMzc0OGFiOWY0MDMwOWE5ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVp
cmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1l
LWNhc3RzLmpzb24tcmVzdWx0CkBAIC01OTUsMTMgKzU5NSw5IEBAIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKIAogLy8gSGFzaCBkZWNsYXJhdGlvbnMgaW4gdGhlICdU
ZXN0JyBEb21haW4KIHRlbXBsYXRlPD4KLXN0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlBy
b3RvY29sOjpUZXN0OjpVbmNhc3RlZEFuaW1hbHM+IHsKLSAgICB1c2luZyBIYXNoID0gSW50SGFz
aDxJbnNwZWN0b3I6OlByb3RvY29sOjpUZXN0OjpVbmNhc3RlZEFuaW1hbHM+OwotfTsKK3N0cnVj
dCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpUZXN0OjpVbmNhc3RlZEFuaW1hbHM+
IDogSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpUZXN0OjpVbmNhc3RlZEFuaW1hbHM+IHsg
fTsKIHRlbXBsYXRlPD4KLXN0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpU
ZXN0OjpDYXN0ZWRBbmltYWxzPiB7Ci0gICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9y
OjpQcm90b2NvbDo6VGVzdDo6Q2FzdGVkQW5pbWFscz47Ci19Oworc3RydWN0IERlZmF1bHRIYXNo
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRlc3Q6OkNhc3RlZEFuaW1hbHM+IDogSW50SGFzaDxJbnNw
ZWN0b3I6OlByb3RvY29sOjpUZXN0OjpDYXN0ZWRBbmltYWxzPiB7IH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdURgogIyMjIEVuZCBGaWxlOiBUZXN0UHJvdG9jb2xPYmplY3RzLmgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSUNTdGF0cy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9JQ1N0YXRzLmgKaW5kZXggOTZjMTlhMTdiZGMyYTdkMTBmMTVmOWJjYTM5MDIxNjIx
Yzk5ZGI4Mi4uOGZiN2QwNjk1Mjg5MmYyNDg3ZDdiNDZkNjVmZjgxNmE1NzMxNzM1MyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9JQ1N0YXRzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9JQ1N0YXRzLmgKQEAgLTE3OCw5ICsxNzgsNyBAQCBuYW1lc3BhY2Ug
V1RGIHsKIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYsIEpTQzo6SUNFdmVudDo6S2lu
ZCk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRl
PD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6SUNFdmVudD4gewotICAgIHR5cGVkZWYgSlNDOjpJ
Q0V2ZW50SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6
SUNFdmVudD4gOiBKU0M6OklDRXZlbnRIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6SUNF
dmVudD4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpJQ0V2ZW50PiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFRodW5rcy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRUaHVua3MuaAppbmRleCA3ZTg3NWMzNzNlNDdkZGMwMWRiMzQ4YWVkZjM1
MDM1YmFhZTJhMzFhLi5mYWNhYzQ5ZDAyYWQ5NjNjOGI5NGFjZWNhMzYwZjhkZmEzOTVmYzMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFRodW5rcy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUVGh1bmtzLmgKQEAgLTkxLDcgKzkxLDcgQEAgcHJp
dmF0ZToKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGhhc2hQ
b2ludGVyKFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uIHApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJl
dHVybiBEZWZhdWx0SGFzaDxUYWdnZWROYXRpdmVGdW5jdGlvbj46Okhhc2g6Omhhc2gocCk7Cisg
ICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8VGFnZ2VkTmF0aXZlRnVuY3Rpb24+OjpoYXNo
KHApOwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goVGFnZ2VkTmF0
aXZlRnVuY3Rpb24gZnVuY3Rpb24sIFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBj
b25zdCBTdHJpbmcmIG5hbWUpCkBAIC0xMDAsNyArMTAwLDcgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc4MzUKICAg
ICAgICAgICAgIHVuc2lnbmVkIGhhc2ggPSBXVEY6OnBhaXJJbnRIYXNoKGhhc2hQb2ludGVyKGZ1
bmN0aW9uKSwgaGFzaFBvaW50ZXIoY29uc3RydWN0b3IpKTsKICAgICAgICAgICAgIGlmICghbmFt
ZS5pc051bGwoKSkKLSAgICAgICAgICAgICAgICBoYXNoID0gV1RGOjpwYWlySW50SGFzaChoYXNo
LCBEZWZhdWx0SGFzaDxTdHJpbmc+OjpIYXNoOjpoYXNoKG5hbWUpKTsKKyAgICAgICAgICAgICAg
ICBoYXNoID0gV1RGOjpwYWlySW50SGFzaChoYXNoLCBEZWZhdWx0SGFzaDxTdHJpbmc+OjpoYXNo
KG5hbWUpKTsKICAgICAgICAgICAgIHJldHVybiBoYXNoOwogICAgICAgICB9CiAgICAgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L1JlZy5oCmluZGV4IDBlY2Q2NzhmNmY2ZmM2NGVmZTMxNzQ5YzNkMWVlYTdh
MWQwMjE1YTUuLjBiMjI5YWEwZmEzNDA1YjljZjNlMjVkNzQ3MjQ2ZTVkOGQwYTU0ODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9SZWcuaApAQCAtMjM0LDkgKzIzNCw3IEBAIHN0cnVjdCBSZWdIYXNoIHsK
IG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhh
c2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OlJlZz4gewotICAgIHR5cGVk
ZWYgSlNDOjpSZWdIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
SlNDOjpSZWc+IDogSlNDOjpSZWdIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3Ry
dWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6UmVnPiA6
IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OlJlZz4gewpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZWdpc3RlclNldC5oCmluZGV4IDgwYTJkZjRmZWM2YmIzMzlkMDQwYTk3ZWFlZWIxZTRlZmE3
ODE0ZGQuLmUwM2RiYTQ2ZTZhZjQyNGYwZTUwNTM2NTdlNjgwNzcwNDE5NmU4ODkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmgKQEAgLTIzOSw5ICsyMzksNyBAQCBzdHJ1
Y3QgUmVnaXN0ZXJTZXRIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxK
U0M6OlJlZ2lzdGVyU2V0PiB7Ci0gICAgdHlwZWRlZiBKU0M6OlJlZ2lzdGVyU2V0SGFzaCBIYXNo
OwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UmVnaXN0ZXJTZXQ+IDog
SlNDOjpSZWdpc3RlclNldEhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
SGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpSZWdpc3RlclNl
dD4gOiBwdWJsaWMgQ3VzdG9tSGFzaFRyYWl0czxKU0M6OlJlZ2lzdGVyU2V0PiB7IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1ZhcmlhYmxlRW52aXJvbm1lbnQu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvVmFyaWFibGVFbnZpcm9ubWVudC5oCmlu
ZGV4IDliNDIyODRhYmZjNzI2ODcxNDhlOWI0OGYzY2M5ZTk0NDEwMzFmMGMuLmMxMjEzNTE5ZjE3
MWQwZmM3ZTJlZmM3ZDJkZWU4YTFhYjQ0OTkwOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvVmFyaWFibGVFbnZpcm9ubWVudC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvVmFyaWFibGVFbnZpcm9ubWVudC5oCkBAIC0zMjcsOSArMzI3LDcgQEAg
cHJpdmF0ZToKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkNvbXBhY3RW
YXJpYWJsZU1hcEtleT4gewotICAgIHVzaW5nIEhhc2ggPSBKU0M6OkNvbXBhY3RWYXJpYWJsZU1h
cEtleTsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkNvbXBhY3RWYXJp
YWJsZU1hcEtleT4gOiBKU0M6OkNvbXBhY3RWYXJpYWJsZU1hcEtleSB7IH07CiAKIHRlbXBsYXRl
PD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpDb21wYWN0VmFyaWFibGVNYXBLZXk+IDogR2VuZXJp
Y0hhc2hUcmFpdHM8SlNDOjpDb21wYWN0VmFyaWFibGVNYXBLZXk+IHsKICAgICBzdGF0aWMgY29u
c3RleHByIGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW4uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wcm9maWxlci9Qcm9maWxlck9yaWdpbi5oCmluZGV4IDEwMTZhNDAyMGYyODAyNTU3
NTFiMjk2N2UxMGE4ZGE1NmUxNzRiNDUuLjFlZWFiZTcwZGJkMzVkNzFhNTQyN2I1ZmJmNjhkOTU2
MjU0OWU0ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9m
aWxlck9yaWdpbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxl
ck9yaWdpbi5oCkBAIC0xMDEsOSArMTAxLDcgQEAgc3RydWN0IE9yaWdpbkhhc2ggewogbmFtZXNw
YWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UHJvZmlsZXI6Ok9yaWdpbj4gewotICAg
IHR5cGVkZWYgSlNDOjpQcm9maWxlcjo6T3JpZ2luSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UHJvZmlsZXI6Ok9yaWdpbj4gOiBKU0M6OlByb2ZpbGVy
OjpPcmlnaW5IYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFp
dHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6UHJvZmlsZXI6Ok9yaWdpbj4g
OiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpQcm9maWxlcjo6T3JpZ2luPiB7IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW5TdGFj
ay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyT3JpZ2luU3RhY2su
aAppbmRleCAwZDA5ZWE2NWRkMzgzYjEwYWVhZWY5NmM4N2NiZjEyYzJmOWMwZWY2Li41MTk1YTEz
Y2JlYjUzZDJmY2QyY2U0ZWE0YzZiMjM3OWE0MzkwZjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW5TdGFjay5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlck9yaWdpblN0YWNrLmgKQEAgLTg3LDkgKzg3
LDcgQEAgc3RydWN0IE9yaWdpblN0YWNrSGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8SlNDOjpQcm9maWxlcjo6T3JpZ2luU3RhY2s+IHsKLSAgICB0eXBlZGVmIEpTQzo6
UHJvZmlsZXI6Ok9yaWdpblN0YWNrSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPEpTQzo6UHJvZmlsZXI6Ok9yaWdpblN0YWNrPiA6IEpTQzo6UHJvZmlsZXI6Ok9y
aWdpblN0YWNrSGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJh
aXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OlByb2ZpbGVyOjpPcmlnaW5T
dGFjaz4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpQcm9maWxlcjo6T3JpZ2luU3RhY2s+
IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxl
clVJRC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyVUlELmgKaW5k
ZXggYWE1NDg4NzI3NmUxNzM5YjIyNzcxMDQ0ZmJhNmU4MzZkODc2OTE3Ny4uMGU0MjMyNGNmMmE5
YjBkMDVkOGUzNGQzZmI4ZDRjNjA2ODdhZGVhZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyVUlELmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Byb2ZpbGVyL1Byb2ZpbGVyVUlELmgKQEAgLTk5LDkgKzk5LDcgQEAgc3RydWN0IFVJREhhc2gg
ewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0
SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UHJvZmlsZXI6OlVJRD4g
ewotICAgIHR5cGVkZWYgSlNDOjpQcm9maWxlcjo6VUlESGFzaCBIYXNoOwotfTsKK3RlbXBsYXRl
PD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UHJvZmlsZXI6OlVJRD4gOiBKU0M6OlByb2ZpbGVy
OjpVSURIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7
CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6UHJvZmlsZXI6OlVJRD4gOiBTaW1w
bGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpQcm9maWxlcjo6VUlEPiB7IH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DYWNoZWRUeXBlcy5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9DYWNoZWRUeXBlcy5jcHAKaW5kZXggMjJmNzE2NGUwOWY3YjM2
NTA0ZmY4ODhiZmM5ZjFjM2Q0NDRmM2QzNC4uNTQ3NTc2NDZkNzAyMGQ1MGViZTdlNDVmMWMzMjg5
OTljNjQwZjY0YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2Fj
aGVkVHlwZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NhY2hlZFR5
cGVzLmNwcApAQCAtNjY4LDcgKzY2OCw3IEBAIHByaXZhdGU6CiAgICAgU2Vjb25kIG1fc2Vjb25k
OwogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZSwgdHlwZW5hbWUg
SGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFNvdXJjZVR5cGU8S2V5Pj46Okhhc2gsIHR5
cGVuYW1lIEtleVRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8U291cmNlVHlwZTxLZXk+PiwgdHlwZW5h
bWUgTWFwcGVkVHJhaXRzQXJnID0gSGFzaFRyYWl0czxTb3VyY2VUeXBlPFZhbHVlPj4+Cit0ZW1w
bGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoQXJnID0gRGVm
YXVsdEhhc2g8U291cmNlVHlwZTxLZXk+PiwgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRy
YWl0czxTb3VyY2VUeXBlPEtleT4+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJh
aXRzPFNvdXJjZVR5cGU8VmFsdWU+Pj4KIGNsYXNzIENhY2hlZEhhc2hNYXAgOiBwdWJsaWMgVmFy
aWFibGVMZW5ndGhPYmplY3Q8SGFzaE1hcDxTb3VyY2VUeXBlPEtleT4sIFNvdXJjZVR5cGU8VmFs
dWU+LCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4+IHsKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBLLCB0eXBlbmFtZSBWPgogICAgIHVzaW5nIE1hcCA9IEhhc2hNYXA8Sywg
ViwgSGFzaEFyZywgS2V5VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+OwpAQCAtOTI0LDcgKzky
NCw3IEBAIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fbnVtQml0czsKIH07CiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFQsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxUPjo6SGFz
aD4KK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEhhc2hBcmcgPSBEZWZhdWx0SGFzaDxU
Pj4KIGNsYXNzIENhY2hlZEhhc2hTZXQgOiBwdWJsaWMgQ2FjaGVkT2JqZWN0PEhhc2hTZXQ8U291
cmNlVHlwZTxUPiwgSGFzaEFyZz4+IHsKIHB1YmxpYzoKICAgICB2b2lkIGVuY29kZShFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBIYXNoU2V0PFNvdXJjZVR5cGU8VD4sIEhhc2hBcmc+JiBzZXQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db250cm9sRmxvd1Byb2Zp
bGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db250cm9sRmxvd1Byb2ZpbGVy
LmgKaW5kZXggNGJkZTVlZmE4NjExZTc3ZWNlOTlmM2Q3Mzg5ZDVkOGVkODUwMDBmNi4uMWM0OTU1
OWY1MjA1MDc5YTJjNmQyZGI0ZGNlMGI1MzYzZDJiOWQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29udHJvbEZsb3dQcm9maWxlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbnRyb2xGbG93UHJvZmlsZXIuaApAQCAtNjgsOSArNjgs
NyBAQCBzdHJ1Y3QgQmFzaWNCbG9ja0tleUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPEpTQzo6QmFzaWNCbG9ja0tleT4gewotICAgIHR5cGVkZWYgSlNDOjpCYXNpY0Js
b2NrS2V5SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6
QmFzaWNCbG9ja0tleT4gOiBKU0M6OkJhc2ljQmxvY2tLZXlIYXNoIHsgfTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPEpTQzo6QmFzaWNCbG9ja0tleT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpCYXNp
Y0Jsb2NrS2V5PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
YXRpdmVGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRnVu
Y3Rpb24uaAppbmRleCAxMGJhZjkwOTY3OTczMTcyYWM0Mzg2ODVmMGI3NzVhMjYyZTZmOGIzLi5i
MTY1ODQ1OGU4ZDlmYzU4MTBkNWI5MDVlYTFhOTllNTYzMGU1ZTM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUZ1bmN0aW9uLmgKQEAgLTEwOCwxNSArMTA4LDEx
IEBAIHN0YXRpY19hc3NlcnQoc2l6ZW9mKFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uKSA9PSBzaXplb2Yo
dm9pZCopLCAiIik7CiAKIG5hbWVzcGFjZSBXVEYgewogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok5h
dGl2ZUZ1bmN0aW9uPiB7Ci0gICAgdXNpbmcgSGFzaCA9IEpTQzo6TmF0aXZlRnVuY3Rpb25IYXNo
OwotfTsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok5hdGl2ZUZ1bmN0aW9uPiA6IEpTQzo6TmF0aXZlRnVu
Y3Rpb25IYXNoIHsgfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNo
OwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpUYWdnZWROYXRpdmVGdW5jdGlv
bj4gewotICAgIHVzaW5nIEhhc2ggPSBKU0M6OlRhZ2dlZE5hdGl2ZUZ1bmN0aW9uSGFzaDsKLX07
Cit0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IERlZmF1bHRIYXNoOwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpUYWdnZWROYXRpdmVGdW5jdGlvbj4gOiBKU0M6OlRhZ2dlZE5h
dGl2ZUZ1bmN0aW9uSGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVLZXkuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZUtleS5oCmluZGV4IGFiMTc1YjM3ODZjM2Nm
NmEwYzk3MjM3OTM3MDc5MGM5OWIyYTIzNGIuLmE3Zjk0NzBmMTk0MmE5OTVmYzQ5MWNhNDI3ZDFh
MzA5YWRmODViMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1By
b3RvdHlwZUtleS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlw
ZUtleS5oCkBAIC05NSwxMiArOTUsMTAgQEAgc3RydWN0IFByb3RvdHlwZUtleUhhc2ggewogCiBu
YW1lc3BhY2UgV1RGIHsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNo
OwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpQcm90b3R5cGVLZXk+IHsKLSAg
ICB0eXBlZGVmIEpTQzo6UHJvdG90eXBlS2V5SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPHR5cGVu
YW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxK
U0M6OlByb3RvdHlwZUtleT4gOiBKU0M6OlByb3RvdHlwZUtleUhhc2ggeyB9OwogCi10ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1
Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpQcm90b3R5
cGVLZXk+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6UHJvdG90eXBlS2V5PiB7IH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwS2V5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBL
ZXkuaAppbmRleCAwNGI2YzYzNDg2Mzg2N2RiZDM2ZjI1YmRlOTgzMThhNmM1ODBlOWEyLi5lMGY4
ODMxMDIwZDZkOTM1YzcwMTkwMWZiNDliMjhjYjZkYzkzOGZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBLZXkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHBLZXkuaApAQCAtODgsMTEgKzg4LDkgQEAgaW5saW5lIGJvb2wg
b3BlcmF0b3I9PShjb25zdCBSZWdFeHBLZXkmIGEsIGNvbnN0IFJlZ0V4cEtleSYgYikKIH0gLy8g
bmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0
cnVjdCBEZWZhdWx0SGFzaDsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7
CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UmVnRXhwS2V5PiB7Ci0gICAg
dHlwZWRlZiBKU0M6OlJlZ0V4cEtleTo6SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPEpTQzo6UmVnRXhwS2V5PiA6IEpTQzo6UmVnRXhwS2V5OjpIYXNoIHsgfTsK
IAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OlJlZ0V4cEtleT4gOiBHZW5lcmlj
SGFzaFRyYWl0czxKU0M6OlJlZ0V4cEtleT4gewogICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBl
bXB0eVZhbHVlSXNaZXJvID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1RlbXBsYXRlT2JqZWN0RGVzY3JpcHRvci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmgKaW5kZXggZmRjMTQ1MmNiNTI1
YjFhMDA1NTkxZDc2ZmVhODQ3ZTNmMGY2ZGIwNC4uNzNlNDNmYTJjMTdhN2Y1ZTdlM2Q2NzMzZWE1
YThjY2UwZjg0ZGUxZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
VGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmgKQEAgLTExMSwxMSArMTExLDkgQEAgaW5s
aW5lIHVuc2lnbmVkIFRlbXBsYXRlT2JqZWN0RGVzY3JpcHRvcjo6Y2FsY3VsYXRlSGFzaChjb25z
dCBTdHJpbmdWZWN0b3ImIHJhd1MKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RG
IHsKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKK3RlbXBsYXRlPHR5
cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPEpTQzo6VGVtcGxhdGVPYmplY3REZXNjcmlwdG9yPiB7Ci0gICAgdHlwZWRlZiBKU0M6OlRl
bXBsYXRlT2JqZWN0RGVzY3JpcHRvcjo6SGFzaGVyIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpUZW1wbGF0ZU9iamVjdERlc2NyaXB0b3I+IDogSlNDOjpUZW1w
bGF0ZU9iamVjdERlc2NyaXB0b3I6Okhhc2hlciB7IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhh
c2hUcmFpdHM8SlNDOjpUZW1wbGF0ZU9iamVjdERlc2NyaXB0b3I+IDogQ3VzdG9tSGFzaFRyYWl0
czxKU0M6OlRlbXBsYXRlT2JqZWN0RGVzY3JpcHRvcj4gewogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyLmgKaW5kZXggODYzZWNhNzUxNTBkOTRjNDk1ZGVm
Y2YyNDcxZTczNzYyMjVmMTVhMC4uNzc5Y2MwMGMxMGRhOWUxZWI2Y2ExOTc4MDU3ZmRhMjE5ZDgw
Y2JjNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2Zp
bGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyLmgK
QEAgLTk4LDkgKzk4LDcgQEAgc3RydWN0IFF1ZXJ5S2V5SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsK
IAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpRdWVyeUtleT4gewotICAgIHR5cGVkZWYgSlNDOjpRdWVy
eUtleUhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OlF1
ZXJ5S2V5PiA6IEpTQzo6UXVlcnlLZXlIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6UXVl
cnlLZXk+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6UXVlcnlLZXk+IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Zhck9mZnNldC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVmFyT2Zmc2V0LmgKaW5kZXggMjAwMmY5ZDcwMmIzYTJhY2Q3
NWQzMDM0ODQ0Yjg2MDk5NTk0ZGNlNy4uNDJjMzdjMTFhMWFjZTQyNDRkZjdkMzgxZTQ2NTVjZWVm
Yzk2MjE5ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVmFyT2Zm
c2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVmFyT2Zmc2V0LmgKQEAg
LTIzMSw5ICsyMzEsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQgcHJpbnRJbnRlcm5hbChQcmlu
dFN0cmVhbSYsIEpTQzo6VmFyS2luZCk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBE
ZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6VmFyT2Zmc2V0
PiB7Ci0gICAgdHlwZWRlZiBKU0M6OlZhck9mZnNldEhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OlZhck9mZnNldD4gOiBKU0M6OlZhck9mZnNldEhhc2gg
eyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRl
PD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpWYXJPZmZzZXQ+IDogU2ltcGxlQ2xhc3NIYXNoVHJh
aXRzPEpTQzo6VmFyT2Zmc2V0PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9XZWFrR0NNYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtH
Q01hcC5oCmluZGV4IDg4ZWZkODY1OTRlMTdiYjJkZWYzYzc0NzU4ZWE5YWVkYjQ2Yjg1NmEuLjkx
MmNkNDE5NmI1OTAyM2M1M2VjNjViZTUxNThlMjJkMmViMDU0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCkBAIC0zOCw3ICszOCw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgcHJ1bmVTdGFsZUVudHJpZXMoKSA9IDA7CiB9OwogCi10ZW1wbGF0ZTx0
eXBlbmFtZSBLZXlBcmcsIHR5cGVuYW1lIFZhbHVlQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlw
ZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJnPjo6SGFzaCwKK3RlbXBsYXRlPHR5cGVuYW1lIEtleUFy
ZywgdHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSBEZWZhdWx0SGFzaDxLZXlB
cmc+LAogICAgIHR5cGVuYW1lIEtleVRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8S2V5QXJnPj4KIGNs
YXNzIFdlYWtHQ01hcCBmaW5hbCA6IHB1YmxpYyBXZWFrR0NNYXBCYXNlIHsKICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21CQlFQbGFuLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQkJRUGxhbi5o
CmluZGV4IGZiNGUxZTI1OTYyMGRiYjc1NDc2ZmM3NmM5MmRjZWM2MjUzODY0NDcuLjI3NTA4YmYx
Y2Q0MDY0MzA2NDcyNmU1ZWRmYjc4MzMyYjQzY2I4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dhc21CQlFQbGFuLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV2FzbUJCUVBsYW4uaApAQCAtODMsNyArODMsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6
dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9uPiBjb21waWxlRnVuY3Rpb24odWludDMyX3QgZnVu
Y3Rpb25JbmRleCwgQ29tcGlsYXRpb25Db250ZXh0JiwgVmVjdG9yPFVubGlua2VkV2FzbVRvV2Fz
bUNhbGw+JiwgVGllclVwQ291bnQqKTsKIAogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8SW50
ZXJuYWxGdW5jdGlvbj4+IG1fd2FzbUludGVybmFsRnVuY3Rpb25zOwotICAgIEhhc2hNYXA8dWlu
dDMyX3QsIHN0ZDo6dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9uPiwgdHlwZW5hbWUgRGVmYXVs
dEhhc2g8dWludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRz
PHVpbnQzMl90Pj4gbV9lbWJlZGRlclRvV2FzbUludGVybmFsRnVuY3Rpb25zOworICAgIEhhc2hN
YXA8dWludDMyX3QsIHN0ZDo6dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9uPiwgRGVmYXVsdEhh
c2g8dWludDMyX3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90
Pj4gbV9lbWJlZGRlclRvV2FzbUludGVybmFsRnVuY3Rpb25zOwogICAgIFZlY3RvcjxDb21waWxh
dGlvbkNvbnRleHQ+IG1fY29tcGlsYXRpb25Db250ZXh0czsKICAgICBWZWN0b3I8c3RkOjp1bmlx
dWVfcHRyPFRpZXJVcENvdW50Pj4gbV90aWVyVXBDb3VudHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21Db2RlQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dhc21Db2RlQmxvY2suaAppbmRleCBhOGZiMjRiOGUwNTlmOWExOTE3ODkxMDA3
ZDE4ZDM4ZTU1MzE3MWVkLi5hNzUzYTUyNGMxYjRhZDVkOWFmMjdlYmYyNTFlMmJhNTgzMmI3Mzhh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ29kZUJsb2NrLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUNvZGVCbG9jay5oCkBAIC0xMzYs
NyArMTM2LDcgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8UmVmUHRyPE9NR0NhbGxlZT4+IG1fb21n
Q2FsbGVlczsKICAgICBWZWN0b3I8UmVmUHRyPEJCUUNhbGxlZT4+IG1fYmJxQ2FsbGVlczsKICAg
ICBSZWZQdHI8TExJbnRDYWxsZWVzPiBtX2xsaW50Q2FsbGVlczsKLSAgICBIYXNoTWFwPHVpbnQz
Ml90LCBSZWZQdHI8RW1iZWRkZXJFbnRyeXBvaW50Q2FsbGVlPiwgdHlwZW5hbWUgRGVmYXVsdEhh
c2g8dWludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVp
bnQzMl90Pj4gbV9lbWJlZGRlckNhbGxlZXM7CisgICAgSGFzaE1hcDx1aW50MzJfdCwgUmVmUHRy
PEVtYmVkZGVyRW50cnlwb2ludENhbGxlZT4sIERlZmF1bHRIYXNoPHVpbnQzMl90PiwgV1RGOjpV
bnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+IG1fZW1iZWRkZXJDYWxsZWVz
OwogICAgIFZlY3RvcjxNYWNyb0Fzc2VtYmxlckNvZGVQdHI8V2FzbUVudHJ5UHRyVGFnPj4gbV93
YXNtSW5kaXJlY3RDYWxsRW50cnlQb2ludHM7CiAgICAgVmVjdG9yPFZlY3RvcjxVbmxpbmtlZFdh
c21Ub1dhc21DYWxsPj4gbV93YXNtVG9XYXNtQ2FsbHNpdGVzOwogICAgIFZlY3RvcjxNYWNyb0Fz
c2VtYmxlckNvZGVSZWY8V2FzbUVudHJ5UHRyVGFnPj4gbV93YXNtVG9XYXNtRXhpdFN0dWJzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUVudHJ5UGxhbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUVudHJ5UGxhbi5oCmluZGV4IGIwMDBmOGJh
MjI4YTcwN2U0Y2EzM2RmYzY1NjE4ZjhjOGZmMDA4MDguLjAzMzkxOTZkMDkxNTY3ZDg1Zjc0YzRk
ZWU4OGRhNzM0Mzg0YmI5NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21FbnRyeVBsYW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtRW50
cnlQbGFuLmgKQEAgLTExNSw3ICsxMTUsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBWZWN0b3I8dWlu
dDhfdD4gbV9zb3VyY2U7CiAgICAgVmVjdG9yPE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxXYXNtRW50
cnlQdHJUYWc+PiBtX3dhc21Ub1dhc21FeGl0U3R1YnM7Ci0gICAgSGFzaFNldDx1aW50MzJfdCwg
dHlwZW5hbWUgRGVmYXVsdEhhc2g8dWludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFpl
cm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj4gbV9leHBvcnRlZEZ1bmN0aW9uSW5kaWNlczsKKyAg
ICBIYXNoU2V0PHVpbnQzMl90LCBEZWZhdWx0SGFzaDx1aW50MzJfdD4sIFdURjo6VW5zaWduZWRX
aXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDMyX3Q+PiBtX2V4cG9ydGVkRnVuY3Rpb25JbmRpY2Vz
OwogCiAgICAgVmVjdG9yPFZlY3RvcjxVbmxpbmtlZFdhc21Ub1dhc21DYWxsPj4gbV91bmxpbmtl
ZFdhc21Ub1dhc21DYWxsczsKICAgICBTdHJlYW1pbmdQYXJzZXIgbV9zdHJlYW1pbmdQYXJzZXI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRQbGFuLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRQbGFuLmgKaW5kZXggZmI4NDkx
YmFiMzBkZmFiNzljMzdmMTJhZWJiYzFlZTQxZDFlODVkOS4uMmVjYzQyODczNzlhZTE4ZjNjNjEx
N2I3NmE1ZWE2NTZmNTcwODYyNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV2FzbUxMSW50UGxhbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21M
TEludFBsYW4uaApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2FzbSB7CiBjbGFzcyBMTElu
dENhbGxlZTsKIGNsYXNzIEVtYmVkZGVyRW50cnlwb2ludENhbGxlZTsKIAotdXNpbmcgRW1iZWRk
ZXJFbnRyeXBvaW50Q2FsbGVlTWFwID0gSGFzaE1hcDx1aW50MzJfdCwgUmVmUHRyPEVtYmVkZGVy
RW50cnlwb2ludENhbGxlZT4sIHR5cGVuYW1lIERlZmF1bHRIYXNoPHVpbnQzMl90Pjo6SGFzaCwg
V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+OwordXNpbmcgRW1i
ZWRkZXJFbnRyeXBvaW50Q2FsbGVlTWFwID0gSGFzaE1hcDx1aW50MzJfdCwgUmVmUHRyPEVtYmVk
ZGVyRW50cnlwb2ludENhbGxlZT4sIERlZmF1bHRIYXNoPHVpbnQzMl90PiwgV1RGOjpVbnNpZ25l
ZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+OwogCiBjbGFzcyBMTEludFBsYW4gZmlu
YWwgOiBwdWJsaWMgRW50cnlQbGFuIHsKICAgICB1c2luZyBCYXNlID0gRW50cnlQbGFuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVNpZ25hdHVyZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVNpZ25hdHVyZS5oCmluZGV4IDljNWE3OTZhMWNm
ZDEwNGViZTJkZjhkNzNmMWJiODQ3NDdhZDkxNTMuLmNhOGMzMmI1NmY2Y2FjZDYyM2MyMTY1OWE0
M2NmOTlhYTk3MDQ4NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dh
c21TaWduYXR1cmUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU2lnbmF0
dXJlLmgKQEAgLTEyMyw5ICsxMjMsNyBAQCBzdHJ1Y3QgU2lnbmF0dXJlSGFzaCB7CiBuYW1lc3Bh
Y2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpXYXNtOjpTaWduYXR1cmVIYXNoPiB7Ci0g
ICAgdHlwZWRlZiBKU0M6Oldhc206OlNpZ25hdHVyZUhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Oldhc206OlNpZ25hdHVyZUhhc2g+IDogSlNDOjpXYXNt
OjpTaWduYXR1cmVIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hU
cmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6V2FzbTo6U2lnbmF0dXJl
SGFzaD4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpXYXNtOjpTaWduYXR1cmVIYXNoPiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9CaXRWZWN0b3IuaCBiL1NvdXJjZS9XVEYvd3Rm
L0JpdFZlY3Rvci5oCmluZGV4IDNlNjEzNDgwY2UwMThlNjgxMDA4NWQ2OGU3NTg4MDY1Nzk1ZGY1
YzAuLmRkMzhiZDg4ODI0MjE3MTU3MTk2NjA0M2EyYTQ1ZDYwOGVhNjAyYjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL0JpdFZlY3Rvci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0JpdFZlY3Rv
ci5oCkBAIC00OTMsOSArNDkzLDcgQEAgc3RydWN0IEJpdFZlY3Rvckhhc2ggewogfTsKIAogdGVt
cGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8Qml0VmVjdG9yPiB7Ci0gICAgdHlwZWRlZiBCaXRWZWN0b3JIYXNoIEhhc2g7
Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8Qml0VmVjdG9yPiA6IEJpdFZlY3Rv
ckhhc2ggeyB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEJpdFZlY3Rvcj4gOiBw
dWJsaWMgQ3VzdG9tSGFzaFRyYWl0czxCaXRWZWN0b3I+IHsgfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvRm9yd2FyZC5oIGIvU291cmNlL1dURi93dGYvRm9yd2FyZC5oCmluZGV4IDdi
NDIwNzJjZmRjZDc1MzA5NDE0N2ZlYjU2MzA2Y2ZhNDFhZGRmMzkuLjQ3MGIyZTllOTRhZmI2MWFi
M2IyOTQ1MzM2MzUxMGFlNjlkYjFlYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Zvcndh
cmQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Gb3J3YXJkLmgKQEAgLTc4LDE1ICs3OCwxNSBAQCB0
ZW1wbGF0ZTx0eXBlbmFtZS4uLj4gY2xhc3MgVmFyaWFudDsKIHRlbXBsYXRlPHR5cGVuYW1lLCBz
aXplX3QgPSAwLCB0eXBlbmFtZSA9IENyYXNoT25PdmVyZmxvdywgc2l6ZV90ID0gMTYsIHR5cGVu
YW1lIE1hbGxvYyA9IFZlY3Rvck1hbGxvYz4gY2xhc3MgVmVjdG9yOwogdGVtcGxhdGU8dHlwZW5h
bWUsIHR5cGVuYW1lID0gRW1wdHlDb3VudGVyPiBjbGFzcyBXZWFrUHRyOwogCi10ZW1wbGF0ZTx0
eXBlbmFtZT4gc3RydWN0IERlZmF1bHRIYXNoIHsgdXNpbmcgSGFzaCA9IHZvaWQ7IH07Cit0ZW1w
bGF0ZTx0eXBlbmFtZT4gc3RydWN0IERlZmF1bHRIYXNoOwogdGVtcGxhdGU8dHlwZW5hbWU+IHN0
cnVjdCBEdW1iVmFsdWVUcmFpdHM7CiB0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IEVudW1UcmFp
dHM7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBFLCBFLi4uPiBzdHJ1Y3QgRW51bVZhbHVlczsKIHRlbXBs
YXRlPHR5cGVuYW1lPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVmFs
dWUsIHR5cGVuYW1lID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWU+OjpIYXNoLCB0eXBlbmFt
ZSA9IEhhc2hUcmFpdHM8VmFsdWU+PiBjbGFzcyBIYXNoQ291bnRlZFNldDsKLXRlbXBsYXRlPHR5
cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSA9IHR5cGVuYW1lIERl
ZmF1bHRIYXNoPEtleUFyZz46Okhhc2gsIHR5cGVuYW1lID0gSGFzaFRyYWl0czxLZXlBcmc+LCB0
eXBlbmFtZSA9IEhhc2hUcmFpdHM8TWFwcGVkQXJnPj4gY2xhc3MgSGFzaE1hcDsKLXRlbXBsYXRl
PHR5cGVuYW1lIFZhbHVlQXJnLCB0eXBlbmFtZSA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVl
QXJnPjo6SGFzaCwgdHlwZW5hbWUgPSBIYXNoVHJhaXRzPFZhbHVlQXJnPj4gY2xhc3MgSGFzaFNl
dDsKK3RlbXBsYXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSA9IERlZmF1bHRIYXNoPFZhbHVl
PiwgdHlwZW5hbWUgPSBIYXNoVHJhaXRzPFZhbHVlPj4gY2xhc3MgSGFzaENvdW50ZWRTZXQ7Cit0
ZW1wbGF0ZTx0eXBlbmFtZSBLZXlBcmcsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgPSBE
ZWZhdWx0SGFzaDxLZXlBcmc+LCB0eXBlbmFtZSA9IEhhc2hUcmFpdHM8S2V5QXJnPiwgdHlwZW5h
bWUgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4+IGNsYXNzIEhhc2hNYXA7Cit0ZW1wbGF0ZTx0eXBl
bmFtZSBWYWx1ZUFyZywgdHlwZW5hbWUgPSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz4sIHR5cGVuYW1l
ID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4+IGNsYXNzIEhhc2hTZXQ7CiAKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvSGFzaEZ1bmN0aW9ucy5oIGIvU291cmNlL1dURi93dGYvSGFzaEZ1
bmN0aW9ucy5oCmluZGV4IDlkY2I4OWY3MWMzYmNjOGY2MGQzNjM1MWQyN2Y1YjgxZWUzZWY4ZTIu
LjVmOTBmNGVhNzYxMTgxYmZlNGE0NTA3N2IxMmQxODUxZTdmODljNDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL0hhc2hGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoRnVu
Y3Rpb25zLmgKQEAgLTE2MCwxMyArMTYwLDEzIEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IHN0cnVjdCBQYWlySGFzaCB7CiAgICAgICAgIHN0
YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IHN0ZDo6cGFpcjxULCBVPiYgcCkKICAgICAgICAgewot
ICAgICAgICAgICAgcmV0dXJuIHBhaXJJbnRIYXNoKERlZmF1bHRIYXNoPFQ+OjpIYXNoOjpoYXNo
KHAuZmlyc3QpLCBEZWZhdWx0SGFzaDxVPjo6SGFzaDo6aGFzaChwLnNlY29uZCkpOworICAgICAg
ICAgICAgcmV0dXJuIHBhaXJJbnRIYXNoKERlZmF1bHRIYXNoPFQ+OjpoYXNoKHAuZmlyc3QpLCBE
ZWZhdWx0SGFzaDxVPjo6aGFzaChwLnNlY29uZCkpOwogICAgICAgICB9CiAgICAgICAgIHN0YXRp
YyBib29sIGVxdWFsKGNvbnN0IHN0ZDo6cGFpcjxULCBVPiYgYSwgY29uc3Qgc3RkOjpwYWlyPFQs
IFU+JiBiKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8VD46Okhh
c2g6OmVxdWFsKGEuZmlyc3QsIGIuZmlyc3QpICYmIERlZmF1bHRIYXNoPFU+OjpIYXNoOjplcXVh
bChhLnNlY29uZCwgYi5zZWNvbmQpOworICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPFQ+
OjplcXVhbChhLmZpcnN0LCBiLmZpcnN0KSAmJiBEZWZhdWx0SGFzaDxVPjo6ZXF1YWwoYS5zZWNv
bmQsIGIuc2Vjb25kKTsKICAgICAgICAgfQotICAgICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wg
c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBEZWZhdWx0SGFzaDxUPjo6SGFzaDo6c2Fm
ZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgJiYgRGVmYXVsdEhhc2g8VT46Okhhc2g6OnNhZmVU
b0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkOworICAgICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wg
c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBEZWZhdWx0SGFzaDxUPjo6c2FmZVRvQ29t
cGFyZVRvRW1wdHlPckRlbGV0ZWQgJiYgRGVmYXVsdEhhc2g8VT46OnNhZmVUb0NvbXBhcmVUb0Vt
cHR5T3JEZWxldGVkOwogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFt
ZSBVPiBzdHJ1Y3QgSW50UGFpckhhc2ggewpAQCAtMTgxLDk0ICsxODEsOTQgQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgICAgIHN0YXRpYyB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJIDwgc2l6ZW9m
Li4uKFR5cGVzKSAtIDEsIHVuc2lnbmVkPjo6dHlwZSBoYXNoKGNvbnN0IHN0ZDo6dHVwbGU8VHlw
ZXMuLi4+JiB0KQogICAgICAgICB7CiAgICAgICAgICAgICB1c2luZyBJdGhUdXBsZUVsZW1lbnRU
eXBlID0gdHlwZW5hbWUgc3RkOjp0dXBsZV9lbGVtZW50PEksIHR5cGVuYW1lIHN0ZDo6dHVwbGU8
VHlwZXMuLi4+Pjo6dHlwZTsKLSAgICAgICAgICAgIHJldHVybiBwYWlySW50SGFzaChEZWZhdWx0
SGFzaDxJdGhUdXBsZUVsZW1lbnRUeXBlPjo6SGFzaDo6aGFzaChzdGQ6OmdldDxJPih0KSksIGhh
c2g8SSArIDE+KHQpKTsKKyAgICAgICAgICAgIHJldHVybiBwYWlySW50SGFzaChEZWZhdWx0SGFz
aDxJdGhUdXBsZUVsZW1lbnRUeXBlPjo6aGFzaChzdGQ6OmdldDxJPih0KSksIGhhc2g8SSArIDE+
KHQpKTsKICAgICAgICAgfQogCiAgICAgICAgIHRlbXBsYXRlPHNpemVfdCBJID0gMD4KICAgICAg
ICAgc3RhdGljIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPEkgPT0gc2l6ZW9mLi4uKFR5cGVzKSAt
IDEsIHVuc2lnbmVkPjo6dHlwZSBoYXNoKGNvbnN0IHN0ZDo6dHVwbGU8VHlwZXMuLi4+JiB0KQog
ICAgICAgICB7CiAgICAgICAgICAgICB1c2luZyBJdGhUdXBsZUVsZW1lbnRUeXBlID0gdHlwZW5h
bWUgc3RkOjp0dXBsZV9lbGVtZW50PEksIHR5cGVuYW1lIHN0ZDo6dHVwbGU8VHlwZXMuLi4+Pjo6
dHlwZTsKLSAgICAgICAgICAgIHJldHVybiBEZWZhdWx0SGFzaDxJdGhUdXBsZUVsZW1lbnRUeXBl
Pjo6SGFzaDo6aGFzaChzdGQ6OmdldDxJPih0KSk7CisgICAgICAgICAgICByZXR1cm4gRGVmYXVs
dEhhc2g8SXRoVHVwbGVFbGVtZW50VHlwZT46Omhhc2goc3RkOjpnZXQ8ST4odCkpOwogICAgICAg
ICB9CiAKICAgICAgICAgdGVtcGxhdGU8c2l6ZV90IEkgPSAwPgogICAgICAgICBzdGF0aWMgdHlw
ZW5hbWUgc3RkOjplbmFibGVfaWY8SSA8IHNpemVvZi4uLihUeXBlcykgLSAxLCBib29sPjo6dHlw
ZSBlcXVhbChjb25zdCBzdGQ6OnR1cGxlPFR5cGVzLi4uPiYgYSwgY29uc3Qgc3RkOjp0dXBsZTxU
eXBlcy4uLj4mIGIpCiAgICAgICAgIHsKICAgICAgICAgICAgIHVzaW5nIEl0aFR1cGxlRWxlbWVu
dFR5cGUgPSB0eXBlbmFtZSBzdGQ6OnR1cGxlX2VsZW1lbnQ8SSwgdHlwZW5hbWUgc3RkOjp0dXBs
ZTxUeXBlcy4uLj4+Ojp0eXBlOwotICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPEl0aFR1
cGxlRWxlbWVudFR5cGU+OjpIYXNoOjplcXVhbChzdGQ6OmdldDxJPihhKSwgc3RkOjpnZXQ8ST4o
YikpICYmIGVxdWFsPEkgKyAxPihhLCBiKTsKKyAgICAgICAgICAgIHJldHVybiBEZWZhdWx0SGFz
aDxJdGhUdXBsZUVsZW1lbnRUeXBlPjo6ZXF1YWwoc3RkOjpnZXQ8ST4oYSksIHN0ZDo6Z2V0PEk+
KGIpKSAmJiBlcXVhbDxJICsgMT4oYSwgYik7CiAgICAgICAgIH0KIAogICAgICAgICB0ZW1wbGF0
ZTxzaXplX3QgSSA9IDA+CiAgICAgICAgIHN0YXRpYyB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJ
ID09IHNpemVvZi4uLihUeXBlcykgLSAxLCBib29sPjo6dHlwZSBlcXVhbChjb25zdCBzdGQ6OnR1
cGxlPFR5cGVzLi4uPiYgYSwgY29uc3Qgc3RkOjp0dXBsZTxUeXBlcy4uLj4mIGIpCiAgICAgICAg
IHsKICAgICAgICAgICAgIHVzaW5nIEl0aFR1cGxlRWxlbWVudFR5cGUgPSB0eXBlbmFtZSBzdGQ6
OnR1cGxlX2VsZW1lbnQ8SSwgdHlwZW5hbWUgc3RkOjp0dXBsZTxUeXBlcy4uLj4+Ojp0eXBlOwot
ICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPEl0aFR1cGxlRWxlbWVudFR5cGU+OjpIYXNo
OjplcXVhbChzdGQ6OmdldDxJPihhKSwgc3RkOjpnZXQ8ST4oYikpOworICAgICAgICAgICAgcmV0
dXJuIERlZmF1bHRIYXNoPEl0aFR1cGxlRWxlbWVudFR5cGU+OjplcXVhbChzdGQ6OmdldDxJPihh
KSwgc3RkOjpnZXQ8ST4oYikpOwogICAgICAgICB9CiAKLSAgICAgICAgLy8gV2Ugc2hvdWxkIHVz
ZSBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IERlZmF1bHRIYXNoPFR5cGVzPjo6SGFz
aDo6c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgJiYuLi4gd2hlbmV2ZXIKKyAgICAgICAg
Ly8gV2Ugc2hvdWxkIHVzZSBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IERlZmF1bHRI
YXNoPFR5cGVzPjo6c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgJiYuLi4gd2hlbmV2ZXIK
ICAgICAgICAgLy8gd2Ugc3dpdGNoIHRvIEMrKzE3LiBXZSBjYW4ndCBkbyBhbnl0aGluZyBiZXR0
ZXIgaGVyZSByaWdodCBub3cgYmVjYXVzZSBHQ0MgY2FuJ3QgZG8gQysrLgogICAgICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBCb29sVHlwZT4KICAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGFs
bFRydWUoQm9vbFR5cGUgdmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9CiAgICAgICAgIHRlbXBsYXRl
PHR5cGVuYW1lIEJvb2xUeXBlLCB0eXBlbmFtZS4uLiBCb29sVHlwZXM+CiAgICAgICAgIHN0YXRp
YyBjb25zdGV4cHIgYm9vbCBhbGxUcnVlKEJvb2xUeXBlIHZhbHVlLCBCb29sVHlwZXMuLi4gdmFs
dWVzKSB7IHJldHVybiB2YWx1ZSAmJiBhbGxUcnVlKHZhbHVlcy4uLik7IH0KLSAgICAgICAgc3Rh
dGljIGNvbnN0ZXhwciBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gYWxsVHJ1
ZShEZWZhdWx0SGFzaDxUeXBlcz46Okhhc2g6OnNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVk
Li4uKTsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5
T3JEZWxldGVkID0gYWxsVHJ1ZShEZWZhdWx0SGFzaDxUeXBlcz46OnNhZmVUb0NvbXBhcmVUb0Vt
cHR5T3JEZWxldGVkLi4uKTsKICAgICB9OwogCiAgICAgLy8gbWFrZSBJbnRIYXNoIHRoZSBkZWZh
dWx0IGhhc2ggZnVuY3Rpb24gZm9yIG1hbnkgaW50ZWdlciB0eXBlcwogCi0gICAgdGVtcGxhdGU8
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8Ym9vbD4geyB0eXBlZGVmIEludEhhc2g8dWludDhfdD4gSGFz
aDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDx1aW50OF90PiB7IHR5cGVk
ZWYgSW50SGFzaDx1aW50OF90PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPHNob3J0PiB7IHR5cGVkZWYgSW50SGFzaDx1bnNpZ25lZD4gSGFzaDsgfTsKLSAgICB0
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDx1bnNpZ25lZCBzaG9ydD4geyB0eXBlZGVmIElu
dEhhc2g8dW5zaWduZWQ+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8aW50PiB7IHR5cGVkZWYgSW50SGFzaDx1bnNpZ25lZD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDx1bnNpZ25lZD4geyB0eXBlZGVmIEludEhhc2g8dW5zaWdu
ZWQ+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8bG9uZz4geyB0
eXBlZGVmIEludEhhc2g8dW5zaWduZWQgbG9uZz4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDx1bnNpZ25lZCBsb25nPiB7IHR5cGVkZWYgSW50SGFzaDx1bnNpZ25l
ZCBsb25nPiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGxvbmcg
bG9uZz4geyB0eXBlZGVmIEludEhhc2g8dW5zaWduZWQgbG9uZyBsb25nPiBIYXNoOyB9OwotICAg
IHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHVuc2lnbmVkIGxvbmcgbG9uZz4geyB0eXBl
ZGVmIEludEhhc2g8dW5zaWduZWQgbG9uZyBsb25nPiBIYXNoOyB9OworICAgIHRlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPGJvb2w+IDogSW50SGFzaDx1aW50OF90PiB7IH07CisgICAgdGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8dWludDhfdD4gOiBJbnRIYXNoPHVpbnQ4X3Q+IHsg
fTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzaG9ydD4gOiBJbnRIYXNoPHVu
c2lnbmVkPiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8dW5zaWduZWQg
c2hvcnQ+IDogSW50SGFzaDx1bnNpZ25lZD4geyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPGludD4gOiBJbnRIYXNoPHVuc2lnbmVkPiB7IH07CisgICAgdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8dW5zaWduZWQ+IDogSW50SGFzaDx1bnNpZ25lZD4geyB9OworICAg
IHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGxvbmc+IDogSW50SGFzaDx1bnNpZ25lZCBs
b25nPiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8dW5zaWduZWQgbG9u
Zz4gOiBJbnRIYXNoPHVuc2lnbmVkIGxvbmc+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxsb25nIGxvbmc+IDogSW50SGFzaDx1bnNpZ25lZCBsb25nIGxvbmc+IHsgfTsK
KyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDx1bnNpZ25lZCBsb25nIGxvbmc+IDog
SW50SGFzaDx1bnNpZ25lZCBsb25nIGxvbmc+IHsgfTsKIAogI2lmIGRlZmluZWQoX05BVElWRV9X
Q0hBUl9UX0RFRklORUQpCi0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8d2NoYXJf
dD4geyB0eXBlZGVmIEludEhhc2g8d2NoYXJfdD4gSGFzaDsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDx3Y2hhcl90PiA6IEludEhhc2g8d2NoYXJfdD4geyB9OwogI2VuZGlm
CiAKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxmbG9hdD4geyB0eXBlZGVmIEZs
b2F0SGFzaDxmbG9hdD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFz
aDxkb3VibGU+IHsgdHlwZWRlZiBGbG9hdEhhc2g8ZG91YmxlPiBIYXNoOyB9OworICAgIHRlbXBs
YXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGZsb2F0PiA6IEZsb2F0SGFzaDxmbG9hdD4geyB9Owor
ICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGRvdWJsZT4gOiBGbG9hdEhhc2g8ZG91
YmxlPiB7IH07CiAKICAgICAvLyBtYWtlIFB0ckhhc2ggdGhlIGRlZmF1bHQgaGFzaCBmdW5jdGlv
biBmb3IgcG9pbnRlciB0eXBlcyB0aGF0IGRvbid0IHNwZWNpYWxpemUKIAotICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxQKj4geyB0eXBlZGVmIFB0ckhhc2g8UCo+
IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgUD4gc3RydWN0IERlZmF1bHRIYXNoPFJl
ZlB0cjxQPj4geyB0eXBlZGVmIFB0ckhhc2g8UmVmUHRyPFA+PiBIYXNoOyB9OwotICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxSZWY8UD4+IHsgdHlwZWRlZiBQdHJI
YXNoPFJlZjxQPj4gSGFzaDsgfTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8UCo+IDogUHRySGFzaDxQKj4geyB9OworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFA+
IHN0cnVjdCBEZWZhdWx0SGFzaDxSZWZQdHI8UD4+IDogUHRySGFzaDxSZWZQdHI8UD4+IHsgfTsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8UmVmPFA+PiA6IFB0
ckhhc2g8UmVmPFA+PiB7IH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQLCB0eXBlbmFtZSBE
ZWxldGVyPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjp1bmlxdWVfcHRyPFAsIERlbGV0ZXI+PiB7
IHR5cGVkZWYgUHRySGFzaDxzdGQ6OnVuaXF1ZV9wdHI8UCwgRGVsZXRlcj4+IEhhc2g7IH07Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgUCwgdHlwZW5hbWUgRGVsZXRlcj4gc3RydWN0IERlZmF1bHRI
YXNoPHN0ZDo6dW5pcXVlX3B0cjxQLCBEZWxldGVyPj4gOiBQdHJIYXNoPHN0ZDo6dW5pcXVlX3B0
cjxQLCBEZWxldGVyPj4geyB9OwogCiAjaWZkZWYgX19PQkpDX18KLSAgICB0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDxfX3Vuc2FmZV91bnJldGFpbmVkIGlkPiB7IHVzaW5nIEhhc2ggPSBQ
dHJIYXNoPF9fdW5zYWZlX3VucmV0YWluZWQgaWQ+OyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPF9fdW5zYWZlX3VucmV0YWluZWQgaWQ+IDogUHRySGFzaDxfX3Vuc2FmZV91
bnJldGFpbmVkIGlkPiB7IH07CiAjZW5kaWYKIAogICAgIC8vIG1ha2UgSW50UGFpckhhc2ggdGhl
IGRlZmF1bHQgaGFzaCBmdW5jdGlvbiBmb3IgcGFpcnMgb2YgKGF0IG1vc3QpIDMyLWJpdCBpbnRl
Z2Vycy4KIAotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxzaG9y
dCwgc2hvcnQ+PiB7IHR5cGVkZWYgSW50UGFpckhhc2g8c2hvcnQsIHNob3J0PiBIYXNoOyB9Owot
ICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxzaG9ydCwgdW5zaWdu
ZWQgc2hvcnQ+PiB7IHR5cGVkZWYgSW50UGFpckhhc2g8c2hvcnQsIHVuc2lnbmVkIHNob3J0PiBI
YXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxzaG9y
dCwgaW50Pj4geyB0eXBlZGVmIEludFBhaXJIYXNoPHNob3J0LCBpbnQ+IEhhc2g7IH07Ci0gICAg
dGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHNob3J0LCB1bnNpZ25lZD4+
IHsgdHlwZWRlZiBJbnRQYWlySGFzaDxzaG9ydCwgdW5zaWduZWQ+IEhhc2g7IH07Ci0gICAgdGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHVuc2lnbmVkIHNob3J0LCBzaG9y
dD4+IHsgdHlwZWRlZiBJbnRQYWlySGFzaDx1bnNpZ25lZCBzaG9ydCwgc2hvcnQ+IEhhc2g7IH07
Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHVuc2lnbmVkIHNo
b3J0LCB1bnNpZ25lZCBzaG9ydD4+IHsgdHlwZWRlZiBJbnRQYWlySGFzaDx1bnNpZ25lZCBzaG9y
dCwgdW5zaWduZWQgc2hvcnQ+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVs
dEhhc2g8c3RkOjpwYWlyPHVuc2lnbmVkIHNob3J0LCBpbnQ+PiB7IHR5cGVkZWYgSW50UGFpckhh
c2g8dW5zaWduZWQgc2hvcnQsIGludD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQgc2hvcnQsIHVuc2lnbmVkPj4geyB0eXBlZGVm
IEludFBhaXJIYXNoPHVuc2lnbmVkIHNob3J0LCB1bnNpZ25lZD4gSGFzaDsgfTsKLSAgICB0ZW1w
bGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8aW50LCBzaG9ydD4+IHsgdHlwZWRl
ZiBJbnRQYWlySGFzaDxpbnQsIHNob3J0PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxpbnQsIHVuc2lnbmVkIHNob3J0Pj4geyB0eXBlZGVmIElu
dFBhaXJIYXNoPGludCwgdW5zaWduZWQgc2hvcnQ+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPGludCwgaW50Pj4geyB0eXBlZGVmIEludFBhaXJI
YXNoPGludCwgaW50PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PHN0ZDo6cGFpcjxpbnQsIHVuc2lnbmVkPj4geyB0eXBlZGVmIEludFBhaXJIYXNoPHVuc2lnbmVk
LCB1bnNpZ25lZD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxz
dGQ6OnBhaXI8dW5zaWduZWQsIHNob3J0Pj4geyB0eXBlZGVmIEludFBhaXJIYXNoPHVuc2lnbmVk
LCBzaG9ydD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6
OnBhaXI8dW5zaWduZWQsIHVuc2lnbmVkIHNob3J0Pj4geyB0eXBlZGVmIEludFBhaXJIYXNoPHVu
c2lnbmVkLCB1bnNpZ25lZCBzaG9ydD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQsIGludD4+IHsgdHlwZWRlZiBJbnRQYWlySGFz
aDx1bnNpZ25lZCwgaW50PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPHN0ZDo6cGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+PiB7IHR5cGVkZWYgSW50UGFpckhhc2g8
dW5zaWduZWQsIHVuc2lnbmVkPiBIYXNoOyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPHN0ZDo6cGFpcjxzaG9ydCwgc2hvcnQ+PiA6IEludFBhaXJIYXNoPHNob3J0LCBzaG9y
dD4geyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxzaG9y
dCwgdW5zaWduZWQgc2hvcnQ+PiA6IEludFBhaXJIYXNoPHNob3J0LCB1bnNpZ25lZCBzaG9ydD4g
eyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxzaG9ydCwg
aW50Pj4gOiBJbnRQYWlySGFzaDxzaG9ydCwgaW50PiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHNob3J0LCB1bnNpZ25lZD4+IDogSW50UGFpckhhc2g8
c2hvcnQsIHVuc2lnbmVkPiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
c3RkOjpwYWlyPHVuc2lnbmVkIHNob3J0LCBzaG9ydD4+IDogSW50UGFpckhhc2g8dW5zaWduZWQg
c2hvcnQsIHNob3J0PiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3Rk
OjpwYWlyPHVuc2lnbmVkIHNob3J0LCB1bnNpZ25lZCBzaG9ydD4+IDogSW50UGFpckhhc2g8dW5z
aWduZWQgc2hvcnQsIHVuc2lnbmVkIHNob3J0PiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8c3RkOjpwYWlyPHVuc2lnbmVkIHNob3J0LCBpbnQ+PiA6IEludFBhaXJIYXNo
PHVuc2lnbmVkIHNob3J0LCBpbnQ+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0
SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQgc2hvcnQsIHVuc2lnbmVkPj4gOiBJbnRQYWlySGFzaDx1
bnNpZ25lZCBzaG9ydCwgdW5zaWduZWQ+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZh
dWx0SGFzaDxzdGQ6OnBhaXI8aW50LCBzaG9ydD4+IDogSW50UGFpckhhc2g8aW50LCBzaG9ydD4g
eyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxpbnQsIHVu
c2lnbmVkIHNob3J0Pj4gOiBJbnRQYWlySGFzaDxpbnQsIHVuc2lnbmVkIHNob3J0PiB7IH07Cisg
ICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPGludCwgaW50Pj4gOiBJ
bnRQYWlySGFzaDxpbnQsIGludD4geyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPHN0ZDo6cGFpcjxpbnQsIHVuc2lnbmVkPj4gOiBJbnRQYWlySGFzaDx1bnNpZ25lZCwgdW5z
aWduZWQ+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8
dW5zaWduZWQsIHNob3J0Pj4gOiBJbnRQYWlySGFzaDx1bnNpZ25lZCwgc2hvcnQ+IHsgfTsKKyAg
ICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQsIHVuc2ln
bmVkIHNob3J0Pj4gOiBJbnRQYWlySGFzaDx1bnNpZ25lZCwgdW5zaWduZWQgc2hvcnQ+IHsgfTsK
KyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQsIGlu
dD4+IDogSW50UGFpckhhc2g8dW5zaWduZWQsIGludD4geyB9OworICAgIHRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+PiA6IEludFBhaXJI
YXNoPHVuc2lnbmVkLCB1bnNpZ25lZD4geyB9OwogCiAgICAgLy8gbWFrZSBQYWlySGFzaCB0aGUg
ZGVmYXVsdCBoYXNoIGZ1bmN0aW9uIGZvciBwYWlycyBvZiBhcmJpdHJhcnkgdmFsdWVzLgogCi0g
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gc3RydWN0IERlZmF1bHRIYXNoPHN0
ZDo6cGFpcjxULCBVPj4geyB0eXBlZGVmIFBhaXJIYXNoPFQsIFU+IEhhc2g7IH07Ci0gICAgdGVt
cGxhdGU8dHlwZW5hbWUuLi4gVHlwZXM+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnR1cGxlPFR5
cGVzLi4uPj4geyB0eXBlZGVmIFR1cGxlSGFzaDxUeXBlcy4uLj4gSGFzaDsgfTsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWly
PFQsIFU+PiA6IFBhaXJIYXNoPFQsIFU+IHsgfTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBU
eXBlcz4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6dHVwbGU8VHlwZXMuLi4+PiA6IFR1cGxlSGFz
aDxUeXBlcy4uLj4geyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvTGlzdEhhc2hTZXQuaCBiL1NvdXJjZS9XVEYvd3RmL0xpc3RIYXNoU2V0LmgK
aW5kZXggNTgyOTJkMTIyMDM3MzU5NWUxYjRhYzg2ZTE5ZWRjZjJkMDhiZmI2Ny4uZDgyMGEwOTBl
ODY3YWM5NDBjYmIzMzFhYTY4YzYxYzBjNDVlZjQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvTGlzdEhhc2hTZXQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9MaXN0SGFzaFNldC5oCkBAIC00
OSw3ICs0OSw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnPiBzdHJ1Y3QgTGlzdEhhc2hT
ZXROb2RlOwogdGVtcGxhdGU8dHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9k
ZUhhc2hGdW5jdGlvbnM7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoQXJnPiBzdHJ1Y3QgTGlzdEhh
c2hTZXRUcmFuc2xhdG9yOwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgdHlwZW5hbWUg
SGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaD4gY2xhc3MgTGlz
dEhhc2hTZXQgZmluYWwKK3RlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCB0eXBlbmFtZSBIYXNo
QXJnID0gRGVmYXVsdEhhc2g8VmFsdWVBcmc+PiBjbGFzcyBMaXN0SGFzaFNldCBmaW5hbAogI2lm
IENIRUNLX0hBU0hUQUJMRV9JVEVSQVRPUlMKICAgICA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxM
aXN0SGFzaFNldDxWYWx1ZUFyZywgSGFzaEFyZz4sIFdlYWtQdHJGYWN0b3J5SW5pdGlhbGl6YXRp
b246OkVhZ2VyPgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nSGFz
aE1hcC5oIGIvU291cmNlL1dURi93dGYvTG9nZ2luZ0hhc2hNYXAuaAppbmRleCBlZTUzZDE0MzA5
NTAxZmI2YTNiODU5N2I2M2M5NGE2OWJlNGEwZGU3Li5iMTJjNjkwYjJkNGExMDMyZTU2YjU1NmJj
MjZhYmQ5OGU4MDJjOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nSGFzaE1h
cC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmdIYXNoTWFwLmgKQEAgLTM0LDcgKzM0LDcg
QEAgbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPAogICAgIGNvbnN0IGNoYXIqIHR5cGVBcmd1
bWVudHMsCi0gICAgdHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1l
IEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxLZXlBcmc+OjpIYXNoLAorICAgIHR5cGVu
YW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gRGVmYXVs
dEhhc2g8S2V5QXJnPiwKICAgICB0eXBlbmFtZSBLZXlUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPEtl
eUFyZz4sIHR5cGVuYW1lIE1hcHBlZFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8TWFwcGVkQXJnPiwK
ICAgICB0eXBlbmFtZSBMb2dnaW5nS2V5VHJhaXRzID0gTG9nZ2luZ0hhc2hLZXlUcmFpdHM8S2V5
QXJnPiwKICAgICB0eXBlbmFtZSBMb2dnaW5nVmFsdWVUcmFpdHMgPSBMb2dnaW5nSGFzaFZhbHVl
VHJhaXRzPE1hcHBlZEFyZz4+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nSGFz
aFNldC5oIGIvU291cmNlL1dURi93dGYvTG9nZ2luZ0hhc2hTZXQuaAppbmRleCBjOTAzNjY4NjE4
ZTY4ODA0YmI4Y2EwY2M2ZGVkN2E4MzViMmUzODZlLi4wNzAwZDUxNjQ0NmZhNjBiNzllYTM2NGM1
YTY5ZjM5NDg1MGJjMjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nSGFzaFNl
dC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmdIYXNoU2V0LmgKQEAgLTM0LDcgKzM0LDcg
QEAgbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPAogICAgIGNvbnN0IGNoYXIqIHR5cGVBcmd1
bWVudHMsCi0gICAgdHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFt
ZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCisgICAgdHlwZW5hbWUgVmFsdWVBcmcsIHR5
cGVuYW1lIEhhc2hBcmcgPSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz4sCiAgICAgdHlwZW5hbWUgVHJh
aXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4sCiAgICAgdHlwZW5hbWUgTG9nZ2luZ1RyYWl0
cyA9IExvZ2dpbmdIYXNoS2V5VHJhaXRzPFZhbHVlQXJnPj4KIGNsYXNzIExvZ2dpbmdIYXNoU2V0
IGZpbmFsIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01ldGFBbGxvY2F0b3JQdHIuaCBi
L1NvdXJjZS9XVEYvd3RmL01ldGFBbGxvY2F0b3JQdHIuaAppbmRleCAyNGJiM2ZkYTVmYzMxMjI2
NDlhNjNjMzAwMjE2ZWExMjhiOWM4YjViLi4yMDA1MjE4ZjJlNzg2NWRlYzVhYWFiMzNlYTE4YzE2
ZDZhYjI2MjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NZXRhQWxsb2NhdG9yUHRyLmgK
KysrIGIvU291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRvclB0ci5oCkBAIC0xMDksMTAgKzEwOSw4
IEBAIHN0cnVjdCBNZXRhQWxsb2NhdG9yUHRySGFzaCB7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBi
b29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKIH07CiAKLXRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPFB0clRhZyB0YWc+IHN0
cnVjdCBEZWZhdWx0SGFzaDxNZXRhQWxsb2NhdG9yUHRyPHRhZz4+IHsKLSAgICB0eXBlZGVmIE1l
dGFBbGxvY2F0b3JQdHJIYXNoPHRhZz4gSGFzaDsKLX07Cit0ZW1wbGF0ZTx0eXBlbmFtZT4gc3Ry
dWN0IERlZmF1bHRIYXNoOwordGVtcGxhdGU8UHRyVGFnIHRhZz4gc3RydWN0IERlZmF1bHRIYXNo
PE1ldGFBbGxvY2F0b3JQdHI8dGFnPj4gOiBNZXRhQWxsb2NhdG9yUHRySGFzaDx0YWc+IHsgfTsK
IAogdGVtcGxhdGU8UHRyVGFnIHRhZz4gc3RydWN0IEhhc2hUcmFpdHM8TWV0YUFsbG9jYXRvclB0
cjx0YWc+PiA6IHB1YmxpYyBDdXN0b21IYXNoVHJhaXRzPE1ldGFBbGxvY2F0b3JQdHI8dGFnPj4g
eyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9PYmplY3RJZGVudGlmaWVyLmggYi9T
b3VyY2UvV1RGL3d0Zi9PYmplY3RJZGVudGlmaWVyLmgKaW5kZXggY2UxNjcxYTI0YjZjYjhiNWU3
MDc1NDEwMjZkNzEzZGE1MTNiZTVjNC4uZjljNjdiNjNiNWUyNmE0MGI0YWFiNThjMDE0ZDVmNDcw
YTYwODU1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvT2JqZWN0SWRlbnRpZmllci5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL09iamVjdElkZW50aWZpZXIuaApAQCAtMTM5LDkgKzEzOSw3IEBA
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBPYmplY3RJZGVudGlmaWVySGFzaCB7CiAKIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzPE9iamVjdElkZW50aWZpZXI8VD4+
IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPE9iamVjdElkZW50aWZpZXI8VD4+IHsgfTsKIAotdGVt
cGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoPE9iamVjdElkZW50aWZpZXI8VD4+
IHsKLSAgICB0eXBlZGVmIE9iamVjdElkZW50aWZpZXJIYXNoPFQ+IEhhc2g7Ci19OwordGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoPE9iamVjdElkZW50aWZpZXI8VD4+IDog
T2JqZWN0SWRlbnRpZmllckhhc2g8VD4geyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogVGV4
dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgT2JqZWN0SWRlbnRpZmll
cjxUPiYgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL09wdGlvblNldEhh
c2guaCBiL1NvdXJjZS9XVEYvd3RmL09wdGlvblNldEhhc2guaAppbmRleCBjNTg4NTQzODlmOTIx
MjI2NGY5MGEyNjY0ZjQ4NjMzNTkwYTNmMjM5Li5jYzlhZTA4MjQxOGNkMmZlNjcyM2FkNjliNTFi
NWJhZDM1YWJhNjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9PcHRpb25TZXRIYXNoLmgK
KysrIGIvU291cmNlL1dURi93dGYvT3B0aW9uU2V0SGFzaC5oCkBAIC0zMSwxOSArMzEsMTcgQEAK
IG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8T3B0aW9uU2V0PFQ+PiB7Ci0gICAgc3RydWN0IEhhc2ggewotICAgICAgICBzdGF0aWMgdW5z
aWduZWQgaGFzaChPcHRpb25TZXQ8VD4ga2V5KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1
cm4gSW50SGFzaDx0eXBlbmFtZSBPcHRpb25TZXQ8VD46OlN0b3JhZ2VUeXBlPjo6aGFzaChrZXku
dG9SYXcoKSk7Ci0gICAgICAgIH0KKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChPcHRpb25TZXQ8
VD4ga2V5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIEludEhhc2g8dHlwZW5hbWUgT3B0aW9uU2V0
PFQ+OjpTdG9yYWdlVHlwZT46Omhhc2goa2V5LnRvUmF3KCkpOworICAgIH0KIAotICAgICAgICBz
dGF0aWMgYm9vbCBlcXVhbChPcHRpb25TZXQ8VD4gYSwgT3B0aW9uU2V0PFQ+IGIpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHJldHVybiBhID09IGI7Ci0gICAgICAgIH0KKyAgICBzdGF0aWMgYm9v
bCBlcXVhbChPcHRpb25TZXQ8VD4gYSwgT3B0aW9uU2V0PFQ+IGIpCisgICAgeworICAgICAgICBy
ZXR1cm4gYSA9PSBiOworICAgIH0KIAotICAgICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgc2Fm
ZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwotICAgIH07CisgICAgc3RhdGljIGNv
bnN0ZXhwciBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKIH07CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzPE9wdGlvblNldDxUPj4gOiBH
ZW5lcmljSGFzaFRyYWl0czxPcHRpb25TZXQ8VD4+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL1BhY2tlZC5oIGIvU291cmNlL1dURi93dGYvUGFja2VkLmgKaW5kZXggYmZkMmQxOTg1MjM5
Yzk1N2M2ZjUwYmNmOTM4Y2FmYWI3ZWY2ZWE2NC4uYjc2YWVmOGYxYjY1YWIwMjE1MWE0ZGNkZjRh
ODQ2MWM3MmM4YTg4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGFja2VkLmgKKysrIGIv
U291cmNlL1dURi93dGYvUGFja2VkLmgKQEAgLTI3Miw3ICsyNzIsNyBAQCBzdHJ1Y3QgUGFja2Vk
UHRyVHJhaXRzIHsKICAgICBzdGF0aWMgQUxXQVlTX0lOTElORSBib29sIGlzSGFzaFRhYmxlRGVs
ZXRlZFZhbHVlKGNvbnN0IFN0b3JhZ2VUeXBlJiBwdHIpIHsgcmV0dXJuIHB0ci5nZXQoKSA9PSBi
aXR3aXNlX2Nhc3Q8VCo+KHN0YXRpY19jYXN0PHVpbnRwdHJfdD4oU3RvcmFnZVR5cGU6OmFsaWdu
bWVudCkpOyB9CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
UGFja2VkUHRyPFA+PiB7IHVzaW5nIEhhc2ggPSBQdHJIYXNoPFBhY2tlZFB0cjxQPj47IH07Cit0
ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8UGFja2VkUHRyPFA+PiA6IFB0
ckhhc2g8UGFja2VkUHRyPFA+PiB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9SZXRhaW5QdHIuaCBiL1NvdXJjZS9XVEYvd3RmL1JldGFpblB0
ci5oCmluZGV4IDAxMmEwMWQ3OTQ0ZWE2YWRhNjVmYzllNTk3ZGE0ZmNiMzFiZWZmMDIuLmJhMzY4
NDZmY2U3YTZiOTUzZDNkNzdhOGNhOTVkYmMwMzU1MjdkMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1JldGFpblB0ci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JldGFpblB0ci5oCkBAIC0z
NDYsOSArMzQ2LDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBJc1NtYXJ0UHRyPFJl
dGFpblB0cjxUPj4gewogdGVtcGxhdGU8dHlwZW5hbWUgUD4gc3RydWN0IEhhc2hUcmFpdHM8UmV0
YWluUHRyPFA+PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxSZXRhaW5QdHI8UD4+IHsKIH07CiAK
LXRlbXBsYXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxSZXRhaW5QdHI8UD4+IHsK
LSAgICB0eXBlZGVmIFB0ckhhc2g8UmV0YWluUHRyPFA+PiBIYXNoOwotfTsKK3RlbXBsYXRlPHR5
cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxSZXRhaW5QdHI8UD4+IDogUHRySGFzaDxSZXRh
aW5QdHI8UD4+IHsgfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFA+CiBzdHJ1Y3QgUmV0YWluUHRy
T2JqZWN0SGFzaFRyYWl0cyA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxSZXRhaW5QdHI8UD4+IHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1N0YWNrU2hvdC5oIGIvU291cmNlL1dURi93dGYv
U3RhY2tTaG90LmgKaW5kZXggZGIyNTQwMjcxNDQwOGY3M2M2YjIyMjkxNjNlNGQ2Nzk5MGQ4MWFl
NS4uYmNlZTcwYmUwODEzMjVkNDUxZmMwMjYwZjU3OTA0NmQzYzUyM2NhOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvU3RhY2tTaG90LmgKKysrIGIvU291cmNlL1dURi93dGYvU3RhY2tTaG90
LmgKQEAgLTEyMSw5ICsxMjEsNyBAQCBzdHJ1Y3QgU3RhY2tTaG90SGFzaCB7CiB9OwogCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxTdGFja1Nob3Q+IHsKLSAgICB0eXBlZGVmIFN0YWNrU2hvdEhhc2ggSGFzaDsK
LX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTdGFja1Nob3Q+IDogU3RhY2tTaG90
SGFzaCB7IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8U3RhY2tTaG90PiA6IFNp
bXBsZUNsYXNzSGFzaFRyYWl0czxTdGFja1Nob3Q+IHsgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvVVJMSGFzaC5oIGIvU291cmNlL1dURi93dGYvVVJMSGFzaC5oCmluZGV4IDI2N2Nk
MTUyYzIzYmJkZjE4MmUyYzVmMGVjMzgyYjZkMWFjOTVkODYuLjI2OWUyYjU5ODRjMDU5YmFmYmY0
MjkzZDBkZjQxMzgxOTcxNWFjYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1VSTEhhc2gu
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9VUkxIYXNoLmgKQEAgLTQ3LDkgKzQ3LDcgQEAgc3RydWN0
IFVSTEhhc2ggewogfTsKIAogLy8gVVJMSGFzaCBpcyB0aGUgZGVmYXVsdCBoYXNoIGZvciBTdHJp
bmcKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFVSTD4gewotICAgIHVzaW5nIEhhc2gg
PSBVUkxIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFVSTD4gOiBVUkxI
YXNoIHsgfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxVUkw+IDogU2ltcGxlQ2xh
c3NIYXNoVHJhaXRzPFVSTD4geyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0
b3JIYXNoLmggYi9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3JIYXNoLmgKaW5kZXggZmJiYzllYTQwNGMw
NzViY2VmODI5MmJkMTZmZDA1ZmRiYjk4MDhkNC4uYzM3Mzk0ODhkZTg1YzM4ZWVjZDY3MWZlNzAz
MjE3ZjM5M2U5YzIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVmVjdG9ySGFzaC5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvckhhc2guaApAQCAtMzcsNyArMzcsNyBAQCBzdHJ1Y3Qg
VmVjdG9ySGFzaCB7CiAgICAgewogICAgICAgICBJbnRlZ2VySGFzaGVyIGhhc2hlcjsKICAgICAg
ICAgZm9yIChjb25zdCBhdXRvJiB2YWx1ZSA6IHZlY3RvcikKLSAgICAgICAgICAgIGhhc2hlci5h
ZGQoRGVmYXVsdEhhc2g8VD46Okhhc2g6Omhhc2godmFsdWUpKTsKKyAgICAgICAgICAgIGhhc2hl
ci5hZGQoRGVmYXVsdEhhc2g8VD46Omhhc2godmFsdWUpKTsKICAgICAgICAgcmV0dXJuIGhhc2hl
ci5oYXNoKCk7CiAgICAgfQogICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFZlY3RvcjxULCBp
bmxpbmVDYXBhY2l0eT4mIGEsIGNvbnN0IFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eT4mIGIpCkBA
IC00OCw4ICs0OCw2IEBAIHN0cnVjdCBWZWN0b3JIYXNoIHsKIH07CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4KLXN0cnVjdCBEZWZhdWx0SGFzaDxWZWN0b3I8
VCwgaW5saW5lQ2FwYWNpdHk+PiB7Ci0gICAgdXNpbmcgSGFzaCA9IFZlY3Rvckhhc2g8VCwgaW5s
aW5lQ2FwYWNpdHk+OwotfTsKK3N0cnVjdCBEZWZhdWx0SGFzaDxWZWN0b3I8VCwgaW5saW5lQ2Fw
YWNpdHk+PiA6IFZlY3Rvckhhc2g8VCwgaW5saW5lQ2FwYWNpdHk+IHsgfTsKIAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9tU3RyaW5nLmggYi9Tb3VyY2UvV1RGL3d0Zi90
ZXh0L0F0b21TdHJpbmcuaAppbmRleCAyMjNkZjZhZjFmYzBmMDYyNmNmYzdmYTdiMmEzM2Y3NGI0
YzIwNjViLi5lZTZmOTE0OTEwNDFlMGM2ZDM5NDgxOTdkMDhiMDAwMTdmNDhmZWM2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21TdHJpbmcuaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi90ZXh0L0F0b21TdHJpbmcuaApAQCAtMzIsOCArMzIsNiBAQAogCiBuYW1lc3BhY2UgV1RGIHsK
IAotc3RydWN0IEF0b21TdHJpbmdIYXNoOwotCiBjbGFzcyBBdG9tU3RyaW5nIGZpbmFsIHsKICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAgLTMyMywxMCArMzIxLDggQEAg
aW5saW5lIEF0b21TdHJpbmcgQXRvbVN0cmluZzo6ZnJvbVVURjgoY29uc3QgY2hhciogY2hhcmFj
dGVycykKIH0KIAogLy8gQXRvbVN0cmluZ0hhc2ggaXMgdGhlIGRlZmF1bHQgaGFzaCBmb3IgQXRv
bVN0cmluZwotdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxh
dGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8QXRvbVN0cmluZz4gewotICAgIHR5cGVkZWYgQXRvbVN0
cmluZ0hhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IERlZmF1bHRIYXNo
OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8QXRvbVN0cmluZz47CiAKIHRlbXBsYXRl
PHVuc2lnbmVkIGxlbmd0aD4gaW5saW5lIGJvb2wgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2UoY29uc3QgQXRvbVN0cmluZyYgc3RyaW5nLCBjb25zdCBjaGFyICgmbG93ZXJjYXNlTGV0dGVy
cylbbGVuZ3RoXSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbVN0cmlu
Z0hhc2guaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbVN0cmluZ0hhc2guaAppbmRleCAxYmJm
NDlkYmE5MzY4N2MyNzIwM2E0OTFlOWE1MDdkNjgwM2FmYzM3Li45MmQyMDhkMzVlMmFhZDViODgy
NzNlMzQxODZjMjdiNWQwN2NlMWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0
b21TdHJpbmdIYXNoLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9tU3RyaW5nSGFzaC5o
CkBAIC02Myw2ICs2Myw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICB9CiAgICAgfTsKIAor
ICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEF0b21TdHJpbmc+IDogQXRvbVN0cmlu
Z0hhc2ggeyB9OwogfQogCiB1c2luZyBXVEY6OkF0b21TdHJpbmdIYXNoOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJp
bmcuaAppbmRleCA3MTViZWM4MWNiZDVlOWJmZWMxMjZjNDJlMjc5NzQ4ZTBkYmY3NzkwLi5lMDVk
YWY3N2Y1M2UxNWUzZTA2M2EzMjRmNzNjMmU4NmQ3NGEzOTgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L0NTdHJpbmcuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJpbmcu
aApAQCAtMTA2LDkgKzEwNiw3IEBAIHN0cnVjdCBDU3RyaW5nSGFzaCB7CiB9OwogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZh
dWx0SGFzaDxDU3RyaW5nPiB7Ci0gICAgdHlwZWRlZiBDU3RyaW5nSGFzaCBIYXNoOwotfTsKK3Rl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPENTdHJpbmc+IDogQ1N0cmluZ0hhc2ggeyB9Owog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3Ry
dWN0IEhhc2hUcmFpdHM8Q1N0cmluZz4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8Q1N0cmluZz4g
eyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdIYXNoLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0hhc2guaAppbmRleCAxNmRiYTliMWRhYTM5YmJjYTNmOWVk
OTkzYjU1MmQwM2UwY2U3OGMyLi41YTgzODVlMDRhOTU5MDRlMDZiYTEyOGQ2ZWFhMTNkOTFlYjkw
ZmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0hhc2guaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0hhc2guaApAQCAtMjE3LDYgKzIxNywxMCBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICAgICAgfQogICAgIH07CiAKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxTdHJpbmdJbXBsKj4gOiBTdHJpbmdIYXNoIHsgfTsKKyAgICB0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxSZWZQdHI8U3RyaW5nSW1wbD4+IDogU3RyaW5nSGFzaCB7IH07
CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8UGFja2VkUHRyPFN0cmluZ0ltcGw+
PiA6IFN0cmluZ0hhc2ggeyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFN0
cmluZz4gOiBTdHJpbmdIYXNoIHsgfTsKIH0KIAogdXNpbmcgV1RGOjpBU0NJSUNhc2VJbnNlbnNp
dGl2ZUhhc2g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaCBi
L1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCmluZGV4IGEwMDQzNWUyNDMxZTFmNGU3
ZDQ3MzQzNzJkYWQ2MmEyMDg3NTRlNDUuLjE2OWU1YTdmMTE2MGIzMTViZTE0YTJjYjdiZjkwN2Ux
NTI3NTk3M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCkBAIC01OSw3ICs1OSw2IEBAIGNs
YXNzIFN5bWJvbFJlZ2lzdHJ5Owogc3RydWN0IENTdHJpbmdUcmFuc2xhdG9yOwogc3RydWN0IEhh
c2hBbmRVVEY4Q2hhcmFjdGVyc1RyYW5zbGF0b3I7CiBzdHJ1Y3QgTENoYXJCdWZmZXJUcmFuc2xh
dG9yOwotc3RydWN0IFN0cmluZ0hhc2g7CiBzdHJ1Y3QgU3Vic3RyaW5nVHJhbnNsYXRvcjsKIHN0
cnVjdCBVQ2hhckJ1ZmZlclRyYW5zbGF0b3I7CiAKQEAgLTYxNCwxNyArNjEzLDExIEBAIGJvb2wg
aXNTcGFjZU9yTmV3bGluZShVQ2hhcjMyKTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVy
VHlwZT4gdW5zaWduZWQgbGVuZ3RoT2ZOdWxsVGVybWluYXRlZFN0cmluZyhjb25zdCBDaGFyYWN0
ZXJUeXBlKik7CiAKLS8vIFN0cmluZ0hhc2ggaXMgdGhlIGRlZmF1bHQgaGFzaCBmb3IgU3RyaW5n
SW1wbCogYW5kIFJlZlB0cjxTdHJpbmdJbXBsPgotdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0
IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8U3RyaW5nSW1wbCo+
IHsKLSAgICB0eXBlZGVmIFN0cmluZ0hhc2ggSGFzaDsKLX07Ci10ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxSZWZQdHI8U3RyaW5nSW1wbD4+IHsKLSAgICB0eXBlZGVmIFN0cmluZ0hhc2gg
SGFzaDsKLX07Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxQYWNrZWRQdHI8U3RyaW5n
SW1wbD4+IHsKLSAgICB1c2luZyBIYXNoID0gU3RyaW5nSGFzaDsKLX07CisvLyBTdHJpbmdIYXNo
ZCBpcyB0aGUgZGVmYXVsdCBoYXNoIGZvciBTdHJpbmdJbXBsKiBhbmQgUmVmUHRyPFN0cmluZ0lt
cGw+Cit0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IERlZmF1bHRIYXNoOwordGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8U3RyaW5nSW1wbCo+OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVs
dEhhc2g8UmVmUHRyPFN0cmluZ0ltcGw+PjsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PFBhY2tlZFB0cjxTdHJpbmdJbXBsPj47CiAKICNkZWZpbmUgTUFLRV9TVEFUSUNfU1RSSU5HX0lN
UEwoY2hhcmFjdGVycykgKFtdIHsgXAogICAgICAgICBzdGF0aWMgU3RhdGljU3RyaW5nSW1wbCBp
bXBsKGNoYXJhY3RlcnMpOyBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJv
bFJlZ2lzdHJ5LmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmgKaW5kZXgg
ZWJhNTgzZGUyNTAyMDkwNjAwOThhZDY1MzkwNGY3ZDg3ZDJhM2E1OS4uNTU4OTc5YWU4MTY1NTlh
MjIxNzZkZTllMGJiMTMxYTE0NDA3MGMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4
dC9TeW1ib2xSZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0
cnkuaApAQCAtNTQsMTggKzU0LDE2IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9oYXNoIHsg
MCB9OwogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8U3ltYm9sUmVnaXN0cnlLZXk+IHsKLSAgICBzdHJ1
Y3QgSGFzaCA6IFN0cmluZ0hhc2ggewotICAgICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25z
dCBTeW1ib2xSZWdpc3RyeUtleSYga2V5KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4g
a2V5Lmhhc2goKTsKLSAgICAgICAgfQotICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBT
eW1ib2xSZWdpc3RyeUtleSYgYSwgY29uc3QgU3ltYm9sUmVnaXN0cnlLZXkmIGIpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHJldHVybiBTdHJpbmdIYXNoOjplcXVhbChhLmltcGwoKSwgYi5pbXBs
KCkpOwotICAgICAgICB9Ci0gICAgfTsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVs
dEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTeW1ib2xSZWdpc3RyeUtleT4g
OiBTdHJpbmdIYXNoIHsKKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBTeW1ib2xSZWdp
c3RyeUtleSYga2V5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGtleS5oYXNoKCk7CisgICAgfQor
ICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFN5bWJvbFJlZ2lzdHJ5S2V5JiBhLCBjb25zdCBT
eW1ib2xSZWdpc3RyeUtleSYgYikKKyAgICB7CisgICAgICAgIHJldHVybiBTdHJpbmdIYXNoOjpl
cXVhbChhLmltcGwoKSwgYi5pbXBsKCkpOworICAgIH0KIH07CiAKIHRlbXBsYXRlPD4gc3RydWN0
IEhhc2hUcmFpdHM8U3ltYm9sUmVnaXN0cnlLZXk+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPFN5
bWJvbFJlZ2lzdHJ5S2V5PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0
cmluZy5oIGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuaAppbmRleCBhMjM3MGM3OWI2
OGI0MjMwNjQ2YWU0N2Q0YWZjM2U2ZTU1NDRhNDRkLi5mOTRlZGQ5MzkwNDQ2NTU3Zjg3NmY2MDZi
YjJjNzMxZGM2OThmNjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmlu
Zy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmgKQEAgLTQ0Miw3ICs0NDIs
NyBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgY29uc3QgU3RyaW5nJiBlbXB0eVN0cmluZygpOwogV1RG
X0VYUE9SVF9QUklWQVRFIGNvbnN0IFN0cmluZyYgbnVsbFN0cmluZygpOwogCiB0ZW1wbGF0ZTx0
eXBlbmFtZT4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8U3RyaW5nPiB7IHVzaW5nIEhhc2ggPSBTdHJpbmdIYXNoOyB9OwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8U3RyaW5nPjsKIHRlbXBsYXRlPD4gc3RydWN0IFZlY3RvclRyYWl0czxT
dHJpbmc+IDogVmVjdG9yVHJhaXRzQmFzZTxmYWxzZSwgdm9pZD4gewogICAgIHN0YXRpYyBjb25z
dGV4cHIgYm9vbCBjYW5Jbml0aWFsaXplV2l0aE1lbXNldCA9IHRydWU7CiAgICAgc3RhdGljIGNv
bnN0ZXhwciBib29sIGNhbk1vdmVXaXRoTWVtY3B5ID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlSWRlbnRpZmllci5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VJZGVudGlmaWVyLmgKaW5k
ZXggM2E4ZTIxOTBiOTcyODg1NDJlZDExYTc1ZWY3OWFkYTIzZDY4NjE1Zi4uYWM0OWJhMTI3MTJh
YmRmMjA0NDcyYTdiMzM0NmIyZmViYTBjMTNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VJZGVudGlmaWVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VJZGVudGlmaWVyLmgKQEAgLTE0MCw5
ICsxNDAsNyBAQCBPcHRpb25hbDxJREJEYXRhYmFzZUlkZW50aWZpZXI+IElEQkRhdGFiYXNlSWRl
bnRpZmllcjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiBuYW1lc3BhY2UgV1RGIHsKIAogdGVt
cGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpJREJEYXRhYmFzZUlkZW50aWZpZXI+
IDogV2ViQ29yZTo6SURCRGF0YWJhc2VJZGVudGlmaWVySGFzaFRyYWl0cyB7IH07Ci10ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJREJEYXRhYmFzZUlkZW50aWZpZXI+IHsK
LSAgICB0eXBlZGVmIFdlYkNvcmU6OklEQkRhdGFiYXNlSWRlbnRpZmllckhhc2ggSGFzaDsKLX07
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJREJEYXRhYmFzZUlkZW50
aWZpZXI+IDogV2ViQ29yZTo6SURCRGF0YWJhc2VJZGVudGlmaWVySGFzaCB7IH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdURgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zaGFyZWQvSURCUmVzb3VyY2VJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVzb3VyY2VJZGVudGlmaWVyLmgKaW5kZXggYzU3OTk2
ZDVlNmI5MmFmM2M2NzQ4MzM4YjllZjdmN2IzNjU0ZjBlZC4uZjYxNDI1N2ZlMTMzYzliY2FiY2E4
YjkzYjk1Zjk4ZDI1YmQyZjI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2hhcmVkL0lEQlJlc291cmNlSWRlbnRpZmllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXNvdXJjZUlkZW50aWZpZXIuaApAQCAt
MTQ1LDkgKzE0NSw3IEBAIGJvb2wgSURCUmVzb3VyY2VJZGVudGlmaWVyOjpkZWNvZGUoRGVjb2Rl
ciYgZGVjb2RlciwgSURCUmVzb3VyY2VJZGVudGlmaWVyJiBpZGVuCiBuYW1lc3BhY2UgV1RGIHsK
IAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50
aWZpZXI+IDogV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVySGFzaFRyYWl0cyB7IH07Ci10
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZp
ZXI+IHsKLSAgICB0eXBlZGVmIFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllckhhc2ggSGFz
aDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJREJSZXNvdXJj
ZUlkZW50aWZpZXI+IDogV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVySGFzaCB7IH07CiAK
IGlubGluZSBXZWJDb3JlOjpJREJDb25uZWN0aW9uSWRlbnRpZmllciBjcm9zc1RocmVhZENvcHko
V2ViQ29yZTo6SURCQ29ubmVjdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcikKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFVubmFtZWRU
eXBlSGFzaC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNM
VW5uYW1lZFR5cGVIYXNoLmgKaW5kZXggM2MyNDhiMWViNjZkYTgyMDkzZGQ2ODk2YzBmMDgxOGIx
ZTc3NjI0MS4uNjc4ZGFiMGI5ODg2MDdhZmJkY2UzYzcyNzI3NjUyN2ZmN2JmODcxZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVW5uYW1l
ZFR5cGVIYXNoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNU
L1dITFNMVW5uYW1lZFR5cGVIYXNoLmgKQEAgLTc3LDkgKzc3LDcgQEAgcHJpdmF0ZToKIG5hbWVz
cGFjZSBXVEYgewogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OldITFNM
OjpVbm5hbWVkVHlwZUtleT4gOiBXZWJDb3JlOjpXSExTTDo6VW5uYW1lZFR5cGVLZXk6OlRyYWl0
cyB7IH07Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpXSExTTDo6VW5u
YW1lZFR5cGVLZXk+IHsKLSAgICB0eXBlZGVmIFdlYkNvcmU6OldITFNMOjpVbm5hbWVkVHlwZUtl
eTo6SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6
OldITFNMOjpVbm5hbWVkVHlwZUtleT4gOiBXZWJDb3JlOjpXSExTTDo6VW5uYW1lZFR5cGVLZXk6
Okhhc2ggeyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTZW1hbnRpY01hdGNoZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTZW1hbnRpY01hdGNoZXIuY3Bw
CmluZGV4IDU0MmZhNzg1YjI4MDhkZWFlZDA1ZTE2NWZhNTQwODljOGU0ZjhjMzkuLjVlOTdiYWQ3
MDY4NGZkZTg2OTcyNjQ2YzI3ZWE0MjI3Y2NiOWI4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU2VtYW50aWNNYXRjaGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFNlbWFudGljTWF0Y2hlci5j
cHAKQEAgLTYxLDcgKzYxLDcgQEAgc3RhdGljIGJvb2wgbWF0Y2hNb2RlKEJpbmRpbmc6OkJpbmRp
bmdEZXRhaWxzIGJpbmRpbmdUeXBlLCBBU1Q6OlJlc291cmNlU2VtYW50aWMKIHN0YXRpYyBPcHRp
b25hbDxIYXNoTWFwPEJpbmRpbmcqLCBzaXplX3Q+PiBtYXRjaFJlc291cmNlcyhWZWN0b3I8RW50
cnlQb2ludEl0ZW0+JiBlbnRyeVBvaW50SXRlbXMsIExheW91dCYgbGF5b3V0LCBTaGFkZXJTdGFn
ZSBzaGFkZXJTdGFnZSkKIHsKICAgICBIYXNoTWFwPEJpbmRpbmcqLCBzaXplX3Q+IHJlc3VsdDsK
LSAgICBIYXNoU2V0PHNpemVfdCwgRGVmYXVsdEhhc2g8c2l6ZV90Pjo6SGFzaCwgV1RGOjpVbnNp
Z25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxzaXplX3Q+PiBpdGVtSW5kaWNlczsKKyAgICBIYXNo
U2V0PHNpemVfdCwgRGVmYXVsdEhhc2g8c2l6ZV90PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5
SGFzaFRyYWl0czxzaXplX3Q+PiBpdGVtSW5kaWNlczsKICAgICBmb3IgKGF1dG8mIGJpbmRHcm91
cCA6IGxheW91dCkgewogICAgICAgICBhdXRvIHNwYWNlID0gYmluZEdyb3VwLm5hbWU7CiAgICAg
ICAgIGZvciAoYXV0byYgYmluZGluZyA6IGJpbmRHcm91cC5iaW5kaW5ncykgewpAQCAtMTQwLDcg
KzE0MCw3IEBAIHN0YXRpYyBib29sIGlzQWNjZXB0YWJsZUZvcm1hdChWZXJ0ZXhGb3JtYXQgdmVy
dGV4Rm9ybWF0LCBBU1Q6OlVubmFtZWRUeXBlJiB1bm5hCiBzdGF0aWMgT3B0aW9uYWw8SGFzaE1h
cDxWZXJ0ZXhBdHRyaWJ1dGUqLCBzaXplX3Q+PiBtYXRjaFZlcnRleEF0dHJpYnV0ZXMoVmVjdG9y
PEVudHJ5UG9pbnRJdGVtPiYgdmVydGV4SW5wdXRzLCBWZXJ0ZXhBdHRyaWJ1dGVzJiB2ZXJ0ZXhB
dHRyaWJ1dGVzLCBJbnRyaW5zaWNzJiBpbnRyaW5zaWNzKQogewogICAgIEhhc2hNYXA8VmVydGV4
QXR0cmlidXRlKiwgc2l6ZV90PiByZXN1bHQ7Ci0gICAgSGFzaFNldDxzaXplX3QsIERlZmF1bHRI
YXNoPHNpemVfdD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8c2l6
ZV90Pj4gaXRlbUluZGljZXM7CisgICAgSGFzaFNldDxzaXplX3QsIERlZmF1bHRIYXNoPHNpemVf
dD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8c2l6ZV90Pj4gaXRlbUluZGlj
ZXM7CiAgICAgZm9yIChhdXRvJiB2ZXJ0ZXhBdHRyaWJ1dGUgOiB2ZXJ0ZXhBdHRyaWJ1dGVzKSB7
CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdmVydGV4SW5wdXRzLnNpemUoKTsgKytp
KSB7CiAgICAgICAgICAgICBhdXRvJiBpdGVtID0gdmVydGV4SW5wdXRzW2ldOwpAQCAtMjI2LDcg
KzIyNiw3IEBAIHN0YXRpYyBib29sIGlzQWNjZXB0YWJsZUZvcm1hdChUZXh0dXJlRm9ybWF0IHRl
eHR1cmVGb3JtYXQsIEFTVDo6VW5uYW1lZFR5cGUmIHVuCiBzdGF0aWMgT3B0aW9uYWw8SGFzaE1h
cDxBdHRhY2htZW50RGVzY3JpcHRvciosIHNpemVfdD4+IG1hdGNoQ29sb3JBdHRhY2htZW50cyhW
ZWN0b3I8RW50cnlQb2ludEl0ZW0+JiBmcmFnbWVudE91dHB1dHMsIFZlY3RvcjxBdHRhY2htZW50
RGVzY3JpcHRvcj4mIGF0dGFjaG1lbnREZXNjcmlwdG9ycywgSW50cmluc2ljcyYgaW50cmluc2lj
cykKIHsKICAgICBIYXNoTWFwPEF0dGFjaG1lbnREZXNjcmlwdG9yKiwgc2l6ZV90PiByZXN1bHQ7
Ci0gICAgSGFzaFNldDxzaXplX3QsIERlZmF1bHRIYXNoPHNpemVfdD46Okhhc2gsIFdURjo6VW5z
aWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8c2l6ZV90Pj4gaXRlbUluZGljZXM7CisgICAgSGFz
aFNldDxzaXplX3QsIERlZmF1bHRIYXNoPHNpemVfdD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tl
eUhhc2hUcmFpdHM8c2l6ZV90Pj4gaXRlbUluZGljZXM7CiAgICAgZm9yIChhdXRvJiBhdHRhY2ht
ZW50RGVzY3JpcHRvciA6IGF0dGFjaG1lbnREZXNjcmlwdG9ycykgewogICAgICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGZyYWdtZW50T3V0cHV0cy5zaXplKCk7ICsraSkgewogICAgICAgICAg
ICAgYXV0byYgaXRlbSA9IGZyYWdtZW50T3V0cHV0c1tpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvU2Vzc2lvbklELmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1Nlc3Np
b25JRC5oCmluZGV4IDNiY2Q0OTEzNTkzMzE5NzYyNWFjNjFjOTUwYTFlMmJkZmQzMDE4MjIuLjVk
MmFiZWRhNmUyZWVkZTk4ZWJjMTZlZDJhMTBjZTMyYmQxNDMzOWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvU2Vzc2lvbklELmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9TZXNzaW9uSUQuaApAQCAtMTE5LDggKzExOSw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hU
cmFpdHM8UEFMOjpTZXNzaW9uSUQ+IDogR2VuZXJpY0hhc2hUcmFpdHM8UEFMOjpTZXNzaW9uSUQ+
CiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgUEFMOjpTZXNzaW9uSUQmIHNs
b3QpIHsgcmV0dXJuIHNsb3QuaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKTsgfQogfTsKIAotdGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8UEFMOjpTZXNzaW9uSUQ+IHsKLSAgICB0eXBlZGVm
IFNlc3Npb25JREhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxQ
QUw6OlNlc3Npb25JRD4gOiBTZXNzaW9uSURIYXNoIHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RG
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmNwcAppbmRleCBjOWQ3ZDlhNzRiNjNkZTBhMWIwMDAxNDI1M2IwZWM3ODEzYTc0NjA2Li42
Yzg5NjdlMmI3YzI3NmYxNzIwZjM3YjhkZTU3MzNkZmI3MTJjMjFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTIw
ODcsNyArMjA4Nyw3IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2liaWxpdHlPYmplY3Q6
OmZpcnN0QW5vbnltb3VzQmxvY2tDaGlsZCgpIGNvbnN0CiB9CiAKIHVzaW5nIEFSSUFSb2xlTWFw
ID0gSGFzaE1hcDxTdHJpbmcsIEFjY2Vzc2liaWxpdHlSb2xlLCBBU0NJSUNhc2VJbnNlbnNpdGl2
ZUhhc2g+OwotdXNpbmcgQVJJQVJldmVyc2VSb2xlTWFwID0gSGFzaE1hcDxBY2Nlc3NpYmlsaXR5
Um9sZSwgU3RyaW5nLCBEZWZhdWx0SGFzaDxpbnQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFpl
cm9LZXlIYXNoVHJhaXRzPGludD4+OwordXNpbmcgQVJJQVJldmVyc2VSb2xlTWFwID0gSGFzaE1h
cDxBY2Nlc3NpYmlsaXR5Um9sZSwgU3RyaW5nLCBEZWZhdWx0SGFzaDxpbnQ+LCBXVEY6OlVuc2ln
bmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPGludD4+OwogCiBzdGF0aWMgQVJJQVJvbGVNYXAqIGdB
cmlhUm9sZU1hcCA9IG51bGxwdHI7CiBzdGF0aWMgQVJJQVJldmVyc2VSb2xlTWFwKiBnQXJpYVJl
dmVyc2VSb2xlTWFwID0gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKaW5kZXggNDI4NDMxYjIyZDkwODcyMWNiOGI2OTcx
OTFlZWM0ZmM5MGQ2MDA4MS4uYjIxYTZkMDllNGFlZDZlN2RjOTBlOGIzMzc4ODU4M2M1NzM1ZmU1
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmgKQEAgLTgxOSw3ICs4MTksNyBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBmaXJzdEFj
Y2Vzc2libGVPYmplY3RGcm9tTm9kZShjb25zdCBOb2RlKiwgY29uc3QgV1RGOjpGdW5jdAogCiBu
YW1lc3BhY2UgQWNjZXNzaWJpbGl0eSB7CiAKLXVzaW5nIFBsYXRmb3JtUm9sZU1hcCA9IEhhc2hN
YXA8QWNjZXNzaWJpbGl0eVJvbGUsIFN0cmluZywgRGVmYXVsdEhhc2g8dW5zaWduZWQ+OjpIYXNo
LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj47Cit1c2luZyBQ
bGF0Zm9ybVJvbGVNYXAgPSBIYXNoTWFwPEFjY2Vzc2liaWxpdHlSb2xlLCBTdHJpbmcsIERlZmF1
bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNp
Z25lZD4+OwogCiBQbGF0Zm9ybVJvbGVNYXAgY3JlYXRlUGxhdGZvcm1Sb2xlTWFwKCk7CiBTdHJp
bmcgcm9sZVRvUGxhdGZvcm1TdHJpbmcoQWNjZXNzaWJpbGl0eVJvbGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbkNvbXBpbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25D
b21waWxlci5jcHAKaW5kZXggY2VhMjBhOGFiYTc0Mzc2NzI4ZTY5OGM0OTM0OWUwYTkzNDliMmEz
ZS4uMjhhNzI1OGZiODc5Y2JmYzEwYWNiOGY4YzIwZDM3MjUzZjk1YTQ0ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbkNvbXBpbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5z
aW9uQ29tcGlsZXIuY3BwCkBAIC05NCw4ICs5NCw4IEBAIHN0YXRpYyBWZWN0b3I8dW5zaWduZWQ+
IHNlcmlhbGl6ZUFjdGlvbnMoY29uc3QgVmVjdG9yPENvbnRlbnRFeHRlbnNpb25SdWxlPiYgcnVs
CiAgICAgVmVjdG9yPHVpbnQzMl90PiBhY3Rpb25Mb2NhdGlvbnM7CiAKICAgICB1c2luZyBBY3Rp
b25Mb2NhdGlvbiA9IHVpbnQzMl90OwotICAgIHVzaW5nIEFjdGlvbk1hcCA9IEhhc2hNYXA8UmVz
b3VyY2VGbGFncywgQWN0aW9uTG9jYXRpb24sIERlZmF1bHRIYXNoPFJlc291cmNlRmxhZ3M+OjpI
YXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPFJlc291cmNlRmxhZ3M+PjsK
LSAgICB1c2luZyBTdHJpbmdBY3Rpb25NYXAgPSBIYXNoTWFwPHN0ZDo6cGFpcjxTdHJpbmcsIFJl
c291cmNlRmxhZ3M+LCBBY3Rpb25Mb2NhdGlvbiwgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPFN0cmlu
ZywgUmVzb3VyY2VGbGFncz4+OjpIYXNoLCBQYWlySGFzaFRyYWl0czxIYXNoVHJhaXRzPFN0cmlu
Zz4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8UmVzb3VyY2VGbGFncz4+PjsK
KyAgICB1c2luZyBBY3Rpb25NYXAgPSBIYXNoTWFwPFJlc291cmNlRmxhZ3MsIEFjdGlvbkxvY2F0
aW9uLCBEZWZhdWx0SGFzaDxSZXNvdXJjZUZsYWdzPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5
SGFzaFRyYWl0czxSZXNvdXJjZUZsYWdzPj47CisgICAgdXNpbmcgU3RyaW5nQWN0aW9uTWFwID0g
SGFzaE1hcDxzdGQ6OnBhaXI8U3RyaW5nLCBSZXNvdXJjZUZsYWdzPiwgQWN0aW9uTG9jYXRpb24s
IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxTdHJpbmcsIFJlc291cmNlRmxhZ3M+PiwgUGFpckhhc2hU
cmFpdHM8SGFzaFRyYWl0czxTdHJpbmc+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJh
aXRzPFJlc291cmNlRmxhZ3M+Pj47CiAgICAgQWN0aW9uTWFwIGJsb2NrTG9hZEFjdGlvbnNNYXA7
CiAgICAgQWN0aW9uTWFwIGJsb2NrQ29va2llc0FjdGlvbnNNYXA7CiAgICAgUGVuZGluZ0Rpc3Bs
YXlOb25lQWN0aW9uc01hcCBjc3NEaXNwbGF5Tm9uZUFjdGlvbnNNYXA7CkBAIC0xOTEsNyArMTkx
LDcgQEAgc3RhdGljIFZlY3Rvcjx1bnNpZ25lZD4gc2VyaWFsaXplQWN0aW9ucyhjb25zdCBWZWN0
b3I8Q29udGVudEV4dGVuc2lvblJ1bGU+JiBydWwKICAgICByZXR1cm4gYWN0aW9uTG9jYXRpb25z
OwogfQogCi10eXBlZGVmIEhhc2hTZXQ8dWludDY0X3QsIERlZmF1bHRIYXNoPHVpbnQ2NF90Pjo6
SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50NjRfdD4+IFVuaXZl
cnNhbEFjdGlvblNldDsKK3R5cGVkZWYgSGFzaFNldDx1aW50NjRfdCwgRGVmYXVsdEhhc2g8dWlu
dDY0X3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQ2NF90Pj4gVW5p
dmVyc2FsQWN0aW9uU2V0OwogCiBzdGF0aWMgdm9pZCBhZGRVbml2ZXJzYWxBY3Rpb25zVG9ERkEo
REZBJiBkZmEsIFVuaXZlcnNhbEFjdGlvblNldCYmIHVuaXZlcnNhbEFjdGlvbnMpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9u
UnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lv
blJ1bGUuaAppbmRleCAzOThlNzRjMjMxMTI3NzA1YjZjYTAzN2VkZDc1M2QxNDM0ZWRmOTJjLi5j
NTBiZjE3Yjk2YmQ3MzAwODJlM2MwMWQ2OTdiNjJkNjQ1OWNkYzI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uUnVsZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25SdWxlLmgK
QEAgLTkxLDcgKzkxLDcgQEAgc3RydWN0IFRyaWdnZXJIYXNoIHsKICAgICAgICAgdW5zaWduZWQg
aGFzaCA9IHRyaWdnZXIudXJsRmlsdGVySXNDYXNlU2Vuc2l0aXZlID8gMTA2MTk4NjMgOiA0MDk2
MDAwMTsKICAgICAgICAgaWYgKCF0cmlnZ2VyLnVybEZpbHRlci5pc051bGwoKSkKICAgICAgICAg
ICAgIGhhc2ggXj0gU3RyaW5nSGFzaDo6aGFzaCh0cmlnZ2VyLnVybEZpbHRlcik7Ci0gICAgICAg
IGhhc2ggPSBXVEY6OnBhaXJJbnRIYXNoKGhhc2gsIERlZmF1bHRIYXNoPFJlc291cmNlRmxhZ3M+
OjpIYXNoOjpoYXNoKHRyaWdnZXIuZmxhZ3MpKTsKKyAgICAgICAgaGFzaCA9IFdURjo6cGFpcklu
dEhhc2goaGFzaCwgRGVmYXVsdEhhc2g8UmVzb3VyY2VGbGFncz46Omhhc2godHJpZ2dlci5mbGFn
cykpOwogCiAgICAgICAgIGZvciAoY29uc3QgU3RyaW5nJiBjb25kaXRpb24gOiB0cmlnZ2VyLmNv
bmRpdGlvbnMpCiAgICAgICAgICAgICBoYXNoIF49IFN0cmluZ0hhc2g6Omhhc2goY29uZGl0aW9u
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRF
eHRlbnNpb25TdHlsZVNoZWV0LmggYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9D
b250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oCmluZGV4IDMwNzczNjIzNTRiMTZlMjg0MGIxNjc1
N2I1MjE3OWE1OGNhMzBmY2MuLmVhNjNkYmUyMDYzZjViNTY2ODQ3NWZjNzU4MTJlMzcyMWFhN2Rm
OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRF
eHRlbnNpb25TdHlsZVNoZWV0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lv
bnMvQ29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuaApAQCAtNTUsNyArNTUsNyBAQCBwcml2YXRl
OgogICAgIENvbnRlbnRFeHRlbnNpb25TdHlsZVNoZWV0KERvY3VtZW50Jik7CiAKICAgICBSZWY8
Q1NTU3R5bGVTaGVldD4gbV9zdHlsZVNoZWV0OwotICAgIEhhc2hTZXQ8dWludDMyX3QsIERlZmF1
bHRIYXNoPHVpbnQzMl90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0
czx1aW50MzJfdD4+IG1fYWRkZWRTZWxlY3RvcklEczsKKyAgICBIYXNoU2V0PHVpbnQzMl90LCBE
ZWZhdWx0SGFzaDx1aW50MzJfdD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8
dWludDMyX3Q+PiBtX2FkZGVkU2VsZWN0b3JJRHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBDb250
ZW50RXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lv
bnMvREZBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQS5jcHAKaW5k
ZXggOTI1YTY3NTgzNmUzYThhM2NlODhjMTBlZGYyM2Q4M2ZjOTg3MmU3Mi4uMDQ3NWZhYWMyZTI0
YzIwNjg1MzRjMjkzODFkZjRhNTE2MWQ1YWI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y29udGVudGV4dGVuc2lvbnMvREZBLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0
ZW5zaW9ucy9ERkEuY3BwCkBAIC05OCw3ICs5OCw3IEBAIHN0YXRpYyB2b2lkIHByaW50VHJhbnNp
dGlvbnMoY29uc3QgREZBJiBkZmEsIHVuc2lnbmVkIHNvdXJjZU5vZGVJZCkKICAgICBpZiAodHJh
bnNpdGlvbnMuYmVnaW4oKSA9PSB0cmFuc2l0aW9ucy5lbmQoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgSGFzaE1hcDx1bnNpZ25lZCwgVmVjdG9yPHVpbnQxNl90PiwgRGVmYXVsdEhhc2g8dW5z
aWduZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVk
Pj4gdHJhbnNpdGlvbnNQZXJUYXJnZXQ7CisgICAgSGFzaE1hcDx1bnNpZ25lZCwgVmVjdG9yPHVp
bnQxNl90PiwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlI
YXNoVHJhaXRzPHVuc2lnbmVkPj4gdHJhbnNpdGlvbnNQZXJUYXJnZXQ7CiAKICAgICAvLyBGaXJz
dCwgd2UgYnVpbGQgdGhlIGxpc3Qgb2YgdHJhbnNpdGlvbnMgY29taW5nIHRvIGVhY2ggdGFyZ2V0
IG5vZGUuCiAgICAgZm9yIChjb25zdCBhdXRvJiB0cmFuc2l0aW9uIDogdHJhbnNpdGlvbnMpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUJ5dGVjb2Rl
SW50ZXJwcmV0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUJ5dGVj
b2RlSW50ZXJwcmV0ZXIuaAppbmRleCBhZGZjYWRhN2IyMWU0ODhjOTNhNmZhZDdkNGIxZWZjMDk5
NDZkZjY1Li4xY2YzYjhjOWFiMjFjNjI4ODcxZjRjMTQ2YjVlYjZlYTJiZjBkN2Q0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFCeXRlY29kZUludGVycHJl
dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJ
bnRlcnByZXRlci5oCkBAIC00NSw3ICs0NSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogICAg
IAotICAgIHR5cGVkZWYgSGFzaFNldDx1aW50NjRfdCwgRGVmYXVsdEhhc2g8dWludDY0X3Q+OjpI
YXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQ2NF90Pj4gQWN0aW9u
czsKKyAgICB0eXBlZGVmIEhhc2hTZXQ8dWludDY0X3QsIERlZmF1bHRIYXNoPHVpbnQ2NF90Piwg
V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50NjRfdD4+IEFjdGlvbnM7CiAg
ICAgCiAgICAgQWN0aW9ucyBpbnRlcnByZXQoY29uc3QgQ1N0cmluZyYsIHVpbnQxNl90IGZsYWdz
KTsKICAgICBBY3Rpb25zIGludGVycHJldFdpdGhDb25kaXRpb25zKGNvbnN0IENTdHJpbmcmLCB1
aW50MTZfdCBmbGFncywgY29uc3QgREZBQnl0ZWNvZGVJbnRlcnByZXRlcjo6QWN0aW9ucyYgY29u
ZGl0aW9uQWN0aW9ucyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5z
aW9ucy9ERkFDb21iaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9E
RkFDb21iaW5lci5jcHAKaW5kZXggYWZiYWVhYWM2MGEzOWU2NGNmY2I0NzgxODgyY2QzOGEzOTAz
NmUxZC4uNzJlNzYxODE1ZDEzYzc5NjI0ZWE2OWMzOWNhNzVhOTgxMzg0YTYxOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQ29tYmluZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUNvbWJpbmVyLmNwcApAQCAtMTUx
LDcgKzE1MSw3IEBAIHByaXZhdGU6CiAgICAgICAgIHVpbnQzMl90IGluZGV4QSA9IGV4dHJhY3RJ
bmRleEEobmV3Tm9kZVNpZ25hdHVyZSk7CiAgICAgICAgIHVpbnQzMl90IGluZGV4QiA9IGV4dHJh
Y3RJbmRleEIobmV3Tm9kZVNpZ25hdHVyZSk7CiAKLSAgICAgICAgSGFzaFNldDx1aW50NjRfdCwg
RGVmYXVsdEhhc2g8dWludDY0X3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNo
VHJhaXRzPHVpbnQ2NF90Pj4gYWN0aW9uczsKKyAgICAgICAgSGFzaFNldDx1aW50NjRfdCwgRGVm
YXVsdEhhc2g8dWludDY0X3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVp
bnQ2NF90Pj4gYWN0aW9uczsKICAgICAgICAgaWYgKGluZGV4QSAhPSBpbnZhbGlkTm9kZUluZGV4
KSB7CiAgICAgICAgICAgICBjb25zdCBERkFOb2RlJiBub2RlID0gbV9kZmFBLm5vZGVzW2luZGV4
QV07CiAgICAgICAgICAgICB1aW50MzJfdCBhY3Rpb25zU3RhcnQgPSBub2RlLmFjdGlvbnNTdGFy
dCgpOwpAQCAtMTgwLDcgKzE4MCw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgREZBJiBtX2RmYUE7
CiAgICAgY29uc3QgREZBJiBtX2RmYUI7CiAgICAgREZBIG1fb3V0cHV0OwotICAgIEhhc2hNYXA8
dWludDY0X3QsIHVpbnQzMl90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD46Okhhc2gsIFdURjo6VW5z
aWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBtX25vZGVNYXBwaW5nOworICAg
IEhhc2hNYXA8dWludDY0X3QsIHVpbnQzMl90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD4sIFdURjo6
VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBtX25vZGVNYXBwaW5nOwog
ICAgIFZlY3Rvcjx1aW50NjRfdCwgMCwgQ29udGVudEV4dGVuc2lvbnNPdmVyZmxvd0hhbmRsZXI+
IG1fdW5wcm9jZXNzZWROb2RlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nv
bnRlbnRleHRlbnNpb25zL0RGQU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVu
c2lvbnMvREZBTm9kZS5jcHAKaW5kZXggNzYyYTEzNTU4ZTdhZTAxMzg3MmYxNGVhMmI5YjM4NGQy
ZGEyZmZhOC4uM2ZiOGMyMWE0NTZiYTgxNjE3OGY3YzdjYTA3YjgyZjhiOWNhYjA4OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBTm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBTm9kZS5jcHAKQEAgLTExMCw3ICsx
MTAsNyBAQCB1aW50MzJfdCBERkFOb2RlOjpiZXN0RmFsbGJhY2tUYXJnZXQoY29uc3QgREZBJiBk
ZmEpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGNhblVzZUZhbGxiYWNrVHJhbnNpdGlvbihkZmEpKTsK
IAotICAgIEhhc2hNYXA8dWludDMyX3QsIHVuc2lnbmVkLCBEZWZhdWx0SGFzaDx1aW50MzJfdD46
Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDMyX3Q+PiBoaXN0
b2dyYW07CisgICAgSGFzaE1hcDx1aW50MzJfdCwgdW5zaWduZWQsIERlZmF1bHRIYXNoPHVpbnQz
Ml90PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+IGhpc3Rv
Z3JhbTsKIAogICAgIEl0ZXJhYmxlQ29uc3RSYW5nZSBpdGVyYWJsZVRyYW5zaXRpb25zID0gdHJh
bnNpdGlvbnMoZGZhKTsKICAgICBhdXRvIGl0ZXJhdG9yID0gaXRlcmFibGVUcmFuc2l0aW9ucy5i
ZWdpbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvSW1t
dXRhYmxlTkZBTm9kZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25z
L0ltbXV0YWJsZU5GQU5vZGVCdWlsZGVyLmgKaW5kZXggZTdjZDMxY2Y3NTRhNzA5OGY3NWRhMWVi
NWY5NDQ4NjJlZmQ5YjI2OC4uZTI3ZTI0YzYwYjFlNTZhOGU0ZTA5NmZkNjYyNWQ3MWVkMDYwMTQx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvSW1tdXRhYmxl
TkZBTm9kZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9J
bW11dGFibGVORkFOb2RlQnVpbGRlci5oCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBDb250
ZW50RXh0ZW5zaW9ucyB7CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZSwgdHlwZW5h
bWUgQWN0aW9uVHlwZT4KIGNsYXNzIEltbXV0YWJsZU5GQU5vZGVCdWlsZGVyIHsKICAgICB0eXBl
ZGVmIEltbXV0YWJsZU5GQTxDaGFyYWN0ZXJUeXBlLCBBY3Rpb25UeXBlPiBUeXBlZEltbXV0YWJs
ZU5GQTsKLSAgICB0eXBlZGVmIEhhc2hTZXQ8dWludDMyX3QsIERlZmF1bHRIYXNoPHVpbnQzMl90
Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+IFRh
cmdldFNldDsKKyAgICB0eXBlZGVmIEhhc2hTZXQ8dWludDMyX3QsIERlZmF1bHRIYXNoPHVpbnQz
Ml90PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+IFRhcmdl
dFNldDsKIHB1YmxpYzoKICAgICBJbW11dGFibGVORkFOb2RlQnVpbGRlcigpIHsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ORkEuY3BwIGIvU291cmNl
L1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvTkZBLmNwcAppbmRleCA0M2MzN2U5M2I3ZjM5ZGE2
YzQyMzY5NDA0YjE4NDExNWQ4YmIyZDhmLi41MjQ0MzE0MmE2MjU0YjEzZDU1NDQyMmU2MjJkOTQ1
YTgzMjNjMDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9O
RkEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL05GQS5jcHAKQEAg
LTcxLDcgKzcxLDcgQEAgdm9pZCBORkE6OmRlYnVnUHJpbnREb3QoKSBjb25zdAogICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBub2Rlcy5zaXplKCk7ICsraSkgewogICAgICAgICBjb25zdCBh
dXRvJiBub2RlID0gbm9kZXNbaV07CiAKLSAgICAgICAgSGFzaE1hcDx1aW50MzJfdCwgVmVjdG9y
PHVpbnQzMl90PiwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0
aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gdHJhbnNpdGlvbnNQZXJUYXJnZXQ7CisgICAg
ICAgIEhhc2hNYXA8dWludDMyX3QsIFZlY3Rvcjx1aW50MzJfdD4sIERlZmF1bHRIYXNoPHVuc2ln
bmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IHRyYW5z
aXRpb25zUGVyVGFyZ2V0OwogCiAgICAgICAgIGZvciAodWludDMyX3QgdHJhbnNpdGlvbkluZGV4
ID0gbm9kZS5yYW5nZXNTdGFydDsgdHJhbnNpdGlvbkluZGV4IDwgbm9kZS5yYW5nZXNFbmQ7ICsr
dHJhbnNpdGlvbkluZGV4KSB7CiAgICAgICAgICAgICBjb25zdCBJbW11dGFibGVDaGFyUmFuZ2Um
IHJhbmdlID0gdHJhbnNpdGlvbnNbdHJhbnNpdGlvbkluZGV4XTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL05GQU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nv
bnRlbnRleHRlbnNpb25zL05GQU5vZGUuaAppbmRleCBiNzAzNDliM2ZlNzcyY2M4YjE1MWZmOGI5
MTIxMjgxZTVkMDVkNjU4Li5hYWFlZDMxMTQwMzNiNDMzM2JiMTA1MTQ1OThkMzllNDYwYjljM2Iy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ORkFOb2RlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvTkZBTm9kZS5oCkBAIC0zOSw4
ICszOSw4IEBAIG5hbWVzcGFjZSBDb250ZW50RXh0ZW5zaW9ucyB7CiAvLyBBIE5GQU5vZGUgYWJz
dHJhY3QgdGhlIHRyYW5zaXRpb24gdGFibGUgb3V0IG9mIGEgTkZBIHN0YXRlLgogCiB0eXBlZGVm
IFZlY3Rvcjx1aW50NjRfdCwgMCwgV1RGOjpDcmFzaE9uT3ZlcmZsb3csIDE+IEFjdGlvbkxpc3Q7
Ci10eXBlZGVmIEhhc2hTZXQ8dW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwg
V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IE5GQU5vZGVJbmRl
eFNldDsKLXR5cGVkZWYgSGFzaE1hcDx1aW50MTZfdCwgTkZBTm9kZUluZGV4U2V0LCBEZWZhdWx0
SGFzaDx1aW50MTZfdD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8
dWludDE2X3Q+PiBORkFOb2RlVHJhbnNpdGlvbnM7Cit0eXBlZGVmIEhhc2hTZXQ8dW5zaWduZWQs
IERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0
czx1bnNpZ25lZD4+IE5GQU5vZGVJbmRleFNldDsKK3R5cGVkZWYgSGFzaE1hcDx1aW50MTZfdCwg
TkZBTm9kZUluZGV4U2V0LCBEZWZhdWx0SGFzaDx1aW50MTZfdD4sIFdURjo6VW5zaWduZWRXaXRo
WmVyb0tleUhhc2hUcmFpdHM8dWludDE2X3Q+PiBORkFOb2RlVHJhbnNpdGlvbnM7CiAKIGNsYXNz
IE5GQU5vZGUgewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4
dGVuc2lvbnMvTkZBVG9ERkEuY3BwIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMv
TkZBVG9ERkEuY3BwCmluZGV4IGVjZDgyNGVmYWNjNjkzZWE1YmEzMTVkNDExN2U5OGVhMDQ2ZmQ5
ZGMuLmQzM2ZlMjRiZmJjNzhhOWQ0ZjIxNzQ3NmM0YWU3ZTEyNWYwZjVlZjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL05GQVRvREZBLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ORkFUb0RGQS5jcHAKQEAgLTIyNCw3ICsyMjQs
NyBAQCBzdHJ1Y3QgTm9kZUlkU2V0VG9VbmlxdWVOb2RlSWRTZXRTb3VyY2UgewogICAgICAgICB1
bnNpZ25lZCBoYXNoID0gNDIwNzQ0NTE1NTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBub2RlSWQg
OiBub2RlSWRTZXQpCiAgICAgICAgICAgICBoYXNoICs9IG5vZGVJZDsKLSAgICAgICAgdGhpcy0+
aGFzaCA9IERlZmF1bHRIYXNoPHVuc2lnbmVkPjo6SGFzaDo6aGFzaChoYXNoKTsKKyAgICAgICAg
dGhpcy0+aGFzaCA9IERlZmF1bHRIYXNoPHVuc2lnbmVkPjo6aGFzaChoYXNoKTsKICAgICB9CiAg
ICAgREZBJiBkZmE7CiAgICAgY29uc3QgTkZBJiBuZmE7CkBAIC0yNDcsNyArMjQ3LDcgQEAgc3Ry
dWN0IE5vZGVJZFNldFRvVW5pcXVlTm9kZUlkU2V0VHJhbnNsYXRvciB7CiAgICAgewogICAgICAg
ICBERkFOb2RlIG5ld0RGQU5vZGU7CiAKLSAgICAgICAgSGFzaFNldDx1aW50NjRfdCwgRGVmYXVs
dEhhc2g8dWludDY0X3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRz
PHVpbnQ2NF90Pj4gYWN0aW9uczsKKyAgICAgICAgSGFzaFNldDx1aW50NjRfdCwgRGVmYXVsdEhh
c2g8dWludDY0X3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQ2NF90
Pj4gYWN0aW9uczsKIAogICAgICAgICBmb3IgKHVuc2lnbmVkIG5mYU5vZGVJZCA6IHNvdXJjZS5u
b2RlSWRTZXQpIHsKICAgICAgICAgICAgIGNvbnN0IGF1dG8mIG5mYU5vZGUgPSBzb3VyY2UubmZh
Lm5vZGVzW25mYU5vZGVJZF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXBy
b3AucGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKaW5kZXggMjgwMTgzY2ZlOWFi
MDk5M2M0NDA5OWQ2NWRmMTI1Mzc4YWVjYzY0Mi4uZjYxMDFmODg0NzEwMzcyZTkxODNjODA0MDhk
NzgxYmJmOTc0ZGE3MyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbApAQCAtNjE4LDcgKzYxOCw3IEBA
IGlubGluZSBDU1NQcm9wZXJ0eUlEIGNvbnZlcnRUb0NTU1Byb3BlcnR5SUQoaW50IHZhbHVlKQog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiBuYW1lc3BhY2UgV1RGIHsKLXRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQ+IHsgdXNpbmcgSGFzaCA9IElu
dEhhc2g8dW5zaWduZWQ+OyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29y
ZTo6Q1NTUHJvcGVydHlJRD4gOiBJbnRIYXNoPHVuc2lnbmVkPiB7IH07CiB0ZW1wbGF0ZTw+IHN0
cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQ+IDogR2VuZXJpY0hhc2hUcmFp
dHM8V2ViQ29yZTo6Q1NTUHJvcGVydHlJRD4gewogICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5
VmFsdWVJc1plcm8gPSB0cnVlOwogICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1
ZShXZWJDb3JlOjpDU1NQcm9wZXJ0eUlEJiBzbG90KSB7IHNsb3QgPSBzdGF0aWNfY2FzdDxXZWJD
b3JlOjpDU1NQcm9wZXJ0eUlEPihXZWJDb3JlOjpsYXN0Q1NTUHJvcGVydHkgKyAxKTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0LmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuaAppbmRleCA3NzNiODU0
MjMwMWNhYjIxNmMzNWZmODZjNzg5MjMzZDI4YzhiMzQ2Li4wZWU1NWJmYzgwZWI0ZmYwMDgzMGIx
ZGEyYjQwNWM3YWJjZTMwODg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2Vy
L0NTU1BhcnNlckNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Bh
cnNlckNvbnRleHQuaApAQCAtMTI5LDcgKzEyOSw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hU
cmFpdHM8V2ViQ29yZTo6Q1NTUGFyc2VyQ29udGV4dD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJD
CiAgICAgc3RhdGljIFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQgZW1wdHlWYWx1ZSgpIHsgcmV0
dXJuIFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQoV2ViQ29yZTo6SFRNTFN0YW5kYXJkTW9kZSk7
IH0KIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkNTU1BhcnNl
ckNvbnRleHQ+IHsKLSAgICB0eXBlZGVmIFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHRIYXNoIEhh
c2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6Q1NTUGFyc2Vy
Q29udGV4dD4gOiBXZWJDb3JlOjpDU1NQYXJzZXJDb250ZXh0SGFzaCB7IH07CisKIH0gLy8gbmFt
ZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0dDUmVhY2hhYmxlUmVm
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vR0NSZWFjaGFibGVSZWYuaAppbmRleCA4NDhhYzdiZTYy
YWYzZTIwOTAzZjYxZmI0ZmQ3MjdlZDE5ODg3ZTljLi5mNjA3YzdmNjYyMTg1ZGVkZDkwMzY3NDgw
Y2Y5NDU4OWY2ZjFjZGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vR0NSZWFjaGFi
bGVSZWYuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR0NSZWFjaGFibGVSZWYuaApAQCAtMTQz
LDkgKzE0Myw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBQdHJIYXNoPFdlYkNvcmU6
OkdDUmVhY2hhYmxlUmVmPFA+PiA6IFB0ckhhc2hCYXNlPFdlCiAgICAgc3RhdGljIGNvbnN0IGJv
b2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBmYWxzZTsKIH07CiAKLXRlbXBsYXRl
PHR5cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpHQ1JlYWNoYWJsZVJlZjxQ
Pj4gewotICAgIHR5cGVkZWYgUHRySGFzaDxXZWJDb3JlOjpHQ1JlYWNoYWJsZVJlZjxQPj4gSGFz
aDsKLX07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6
R0NSZWFjaGFibGVSZWY8UD4+IDogUHRySGFzaDxXZWJDb3JlOjpHQ1JlYWNoYWJsZVJlZjxQPj4g
eyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL01lc3NhZ2VQb3J0SWRlbnRpZmllci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQ
b3J0SWRlbnRpZmllci5oCmluZGV4IGMwODc1MmMxOGZiMzNlOWEyM2JjZmVhYWJmNTA1ZjQyZGRk
MDUyZjAuLjhiY2MxMWQ2MDcwM2ZmZmYxNDk5MTkxNDEyYWYyOTFmYjkwOTFhYzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydElkZW50aWZpZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRJZGVudGlmaWVyLmgKQEAgLTEwNSw4ICsxMDUsNiBA
QCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6Ok1lc3NhZ2VQb3J0SWRlbnRp
Zmllcj4gOiBHZW5lcmljSGFzaFRyYWl0cwogICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVl
KGNvbnN0IFdlYkNvcmU6Ok1lc3NhZ2VQb3J0SWRlbnRpZmllciYgc2xvdCkgeyByZXR1cm4gc2xv
dC5wcm9jZXNzSWRlbnRpZmllci50b1VJbnQ2NCgpID09IHN0ZDo6bnVtZXJpY19saW1pdHM8dWlu
dDY0X3Q+OjptYXgoKTsgfQogfTsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2Vi
Q29yZTo6TWVzc2FnZVBvcnRJZGVudGlmaWVyPiB7Ci0gICAgdHlwZWRlZiBNZXNzYWdlUG9ydElk
ZW50aWZpZXJIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2Vi
Q29yZTo6TWVzc2FnZVBvcnRJZGVudGlmaWVyPiA6IE1lc3NhZ2VQb3J0SWRlbnRpZmllckhhc2gg
eyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlUmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAppbmRl
eCA0YmRiMTI2MjJjZmQ4NmU5MjY0MjUzYmFlMzhlYzlhZWNmMDFkNWJlLi42MWY2ZjFiMjJiOTYx
ZDc1MzI4N2IxMzkyN2E3ZjY2YTlkMWQwZTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZVJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5o
CkBAIC05MCwxMCArOTAsMTAgQEAgcHVibGljOgogICAgIHN0cnVjdCBOb2RlTGlzdENhY2hlTWFw
RW50cnlIYXNoIHsKICAgICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3Qgc3RkOjpwYWly
PHVuc2lnbmVkIGNoYXIsIEF0b21TdHJpbmc+JiBlbnRyeSkKICAgICAgICAgewotICAgICAgICAg
ICAgcmV0dXJuIERlZmF1bHRIYXNoPEF0b21TdHJpbmc+OjpIYXNoOjpoYXNoKGVudHJ5LnNlY29u
ZCkgKyBlbnRyeS5maXJzdDsKKyAgICAgICAgICAgIHJldHVybiBEZWZhdWx0SGFzaDxBdG9tU3Ry
aW5nPjo6aGFzaChlbnRyeS5zZWNvbmQpICsgZW50cnkuZmlyc3Q7CiAgICAgICAgIH0KLSAgICAg
ICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3Qgc3RkOjpwYWlyPHVuc2lnbmVkIGNoYXIsIEF0b21T
dHJpbmc+JiBhLCBjb25zdCBzdGQ6OnBhaXI8dW5zaWduZWQgY2hhciwgQXRvbVN0cmluZz4mIGIp
IHsgcmV0dXJuIGEuZmlyc3QgPT0gYi5maXJzdCAmJiBEZWZhdWx0SGFzaDxBdG9tU3RyaW5nPjo6
SGFzaDo6ZXF1YWwoYS5zZWNvbmQsIGIuc2Vjb25kKTsgfQotICAgICAgICBzdGF0aWMgY29uc3Qg
Ym9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IERlZmF1bHRIYXNoPEF0b21TdHJp
bmc+OjpIYXNoOjpzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZDsKKyAgICAgICAgc3RhdGlj
IGJvb2wgZXF1YWwoY29uc3Qgc3RkOjpwYWlyPHVuc2lnbmVkIGNoYXIsIEF0b21TdHJpbmc+JiBh
LCBjb25zdCBzdGQ6OnBhaXI8dW5zaWduZWQgY2hhciwgQXRvbVN0cmluZz4mIGIpIHsgcmV0dXJu
IGEuZmlyc3QgPT0gYi5maXJzdCAmJiBEZWZhdWx0SGFzaDxBdG9tU3RyaW5nPjo6ZXF1YWwoYS5z
ZWNvbmQsIGIuc2Vjb25kKTsgfQorICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21w
YXJlVG9FbXB0eU9yRGVsZXRlZCA9IERlZmF1bHRIYXNoPEF0b21TdHJpbmc+OjpzYWZlVG9Db21w
YXJlVG9FbXB0eU9yRGVsZXRlZDsKICAgICB9OwogCiAgICAgdXNpbmcgTm9kZUxpc3RDYWNoZU1h
cCA9IEhhc2hNYXA8c3RkOjpwYWlyPHVuc2lnbmVkIGNoYXIsIEF0b21TdHJpbmc+LCBMaXZlTm9k
ZUxpc3QqLCBOb2RlTGlzdENhY2hlTWFwRW50cnlIYXNoPjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5oCmluZGV4IDMzZjczY2UxNmVjYTlmOGRlZjhkOTJmZjU4NGNlMzMwYTM4MDhhMWEuLjI2
NGM0NzkxNTBjY2JmN2EwNjVkZWE1NWFjZWJhNDRlZGQzOTJmNGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1F1
YWxpZmllZE5hbWUuaApAQCAtMTU0LDkgKzE1NCw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIAog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKIAotICAgIHRlbXBs
YXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OlF1YWxpZmllZE5hbWU+IHsKLSAgICAg
ICAgdHlwZWRlZiBXZWJDb3JlOjpRdWFsaWZpZWROYW1lSGFzaCBIYXNoOwotICAgIH07CisgICAg
dGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6UXVhbGlmaWVkTmFtZT4gOiBX
ZWJDb3JlOjpRdWFsaWZpZWROYW1lSGFzaCB7IH07CiAgICAgCiAgICAgdGVtcGxhdGU8PiBzdHJ1
Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpRdWFsaWZpZWROYW1lPiA6IFNpbXBsZUNsYXNzSGFzaFRy
YWl0czxXZWJDb3JlOjpRdWFsaWZpZWROYW1lPiB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBib29s
IGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hp
c3RvcnkvQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllci5oIGIvU291cmNlL1dlYkNvcmUvaGlzdG9y
eS9CYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyLmgKaW5kZXggNTQ3NDkxYzAzNWRkOGU3MzkzZmU0
ZWI2YzQ0OWY0ZTYxNTc0ZTQwZC4uZTUzNWUxNTk1OWQzY2JjZDZjYzNkNWZhYTc0MDlhNjQ2YmFl
ZmQ2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyLmgKQEAgLTExOSw4ICsxMTksNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXI+IDogR2VuZXJpY0hhc2hUcgog
ICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFdlYkNvcmU6OkJhY2tGb3J3YXJk
SXRlbUlkZW50aWZpZXImIHNsb3QpIHsgcmV0dXJuIHNsb3QucHJvY2Vzc0lkZW50aWZpZXIudG9V
SW50NjQoKSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCk7IH0KIH07CiAK
LXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlk
ZW50aWZpZXI+IHsKLSAgICB0eXBlZGVmIEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXJIYXNoIEhh
c2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6QmFja0Zvcndh
cmRJdGVtSWRlbnRpZmllcj4gOiBCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVySGFzaCB7IH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCmluZGV4IGZhNGIxNzdmNGM0Njc1NmQwZjJi
ZTAzNzQ1Yjg2Yzc0ZjQ3NzFiNDMuLmQ0ZmM3OTU4ZDE3MjgxYTgwNDMxMjNhN2FkM2RiMTQ2NTk2
MGMwZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmgKQEAgLTU1MSw3ICs1NTEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAg
fTsKICAgICBWZWN0b3I8VGV4dHVyZVVuaXRTdGF0ZT4gbV90ZXh0dXJlVW5pdHM7CiAjaWYgIVVT
RShBTkdMRSkKLSAgICBIYXNoU2V0PHVuc2lnbmVkLCBEZWZhdWx0SGFzaDx1bnNpZ25lZD46Okhh
c2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiBtX3VucmVu
ZGVyYWJsZVRleHR1cmVVbml0czsKKyAgICBIYXNoU2V0PHVuc2lnbmVkLCBEZWZhdWx0SGFzaDx1
bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiBt
X3VucmVuZGVyYWJsZVRleHR1cmVVbml0czsKICNlbmRpZgogICAgIHVuc2lnbmVkIGxvbmcgbV9h
Y3RpdmVUZXh0dXJlVW5pdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xh
eW91dFVuaXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0VW5pdHMuaAppbmRleCBi
MWVlMWRhNzBkYmFiNTYwZGM0NmVhZjczZTMyNDI2YzY3ZTM1YWJhLi43NDI1YTFkOTY2ODE3MGUy
MmMyOTk0MWVkZDE1ZjBlMDI0NGE1YWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvTGF5b3V0VW5pdHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0VW5pdHMu
aApAQCAtMjQ3LDkgKzI0Nyw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29y
ZTo6TGF5b3V0OjpTbG90UG9zaXRpb24+IDogR2VuZXJpY0hhc2hUcmFpdHM8CiAgICAgc3RhdGlj
IHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0aW9u
JiBzbG90KSB7IHNsb3QgPSBXZWJDb3JlOjpMYXlvdXQ6OlNsb3RQb3NpdGlvbihzdGQ6Om51bWVy
aWNfbGltaXRzPHNpemVfdD46Om1heCgpLCAwKTsgfQogICAgIHN0YXRpYyBib29sIGlzRGVsZXRl
ZFZhbHVlKGNvbnN0IFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0aW9uJiBzbG90KSB7IHJldHVy
biBzbG90ID09IFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0aW9uKHN0ZDo6bnVtZXJpY19saW1p
dHM8c2l6ZV90Pjo6bWF4KCksIDApOyB9CiB9OwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8V2ViQ29yZTo6TGF5b3V0OjpTbG90UG9zaXRpb24+IHsKLSAgICB0eXBlZGVmIFNsb3RQb3Np
dGlvbkhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3Jl
OjpMYXlvdXQ6OlNsb3RQb3NpdGlvbj4gOiBTbG90UG9zaXRpb25IYXNoIHsgfTsKIH0KIAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQWRDbGlja0F0dHJpYnV0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQWRDbGlja0F0dHJpYnV0aW9uLmgKaW5kZXggNjg5
ODk5NThiMGNjMmNlNmMxODg4YTY0MTY4MWFhN2IwMDVlNTJkNy4uYzgzYzNlNTUyNTM5YmMyNzBj
YTg5MGUxYjdjYTQzNTU5ZmVmYWU4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0FkQ2xpY2tBdHRyaWJ1dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9BZENsaWNr
QXR0cmlidXRpb24uaApAQCAtMzUyLDE4ICszNTIsMTQgQEAgT3B0aW9uYWw8QWRDbGlja0F0dHJp
YnV0aW9uOjpDb252ZXJzaW9uPiBBZENsaWNrQXR0cmlidXRpb246OkNvbnZlcnNpb246OmRlY29k
ZSgKIG5hbWVzcGFjZSBXVEYgewogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRI
YXNoOwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpBZENsaWNrQXR0
cmlidXRpb246OlNvdXJjZT4gewotICAgIHR5cGVkZWYgV2ViQ29yZTo6QWRDbGlja0F0dHJpYnV0
aW9uOjpTb3VyY2VIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
V2ViQ29yZTo6QWRDbGlja0F0dHJpYnV0aW9uOjpTb3VyY2U+IDogV2ViQ29yZTo6QWRDbGlja0F0
dHJpYnV0aW9uOjpTb3VyY2VIYXNoIHsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8
V2ViQ29yZTo6QWRDbGlja0F0dHJpYnV0aW9uOjpTb3VyY2U+IDogR2VuZXJpY0hhc2hUcmFpdHM8
V2ViQ29yZTo6QWRDbGlja0F0dHJpYnV0aW9uOjpTb3VyY2U+IHsKICAgICBzdGF0aWMgV2ViQ29y
ZTo6QWRDbGlja0F0dHJpYnV0aW9uOjpTb3VyY2UgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIHsgfTsg
fQogICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShXZWJDb3JlOjpBZENsaWNr
QXR0cmlidXRpb246OlNvdXJjZSYgc2xvdCkgeyBXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246
OlNvdXJjZTo6Y29uc3RydWN0RGVsZXRlZFZhbHVlKHNsb3QpOyB9CiAgICAgc3RhdGljIGJvb2wg
aXNEZWxldGVkVmFsdWUoY29uc3QgV2ViQ29yZTo6QWRDbGlja0F0dHJpYnV0aW9uOjpTb3VyY2Um
IHNsb3QpIHsgcmV0dXJuIHNsb3QuaXNEZWxldGVkVmFsdWUoKTsgfQogfTsKIAotdGVtcGxhdGU8
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6QWRDbGlja0F0dHJpYnV0aW9uOjpEZXN0aW5h
dGlvbj4gewotICAgIHR5cGVkZWYgV2ViQ29yZTo6QWRDbGlja0F0dHJpYnV0aW9uOjpEZXN0aW5h
dGlvbkhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3Jl
OjpBZENsaWNrQXR0cmlidXRpb246OkRlc3RpbmF0aW9uPiA6IFdlYkNvcmU6OkFkQ2xpY2tBdHRy
aWJ1dGlvbjo6RGVzdGluYXRpb25IYXNoIHsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFp
dHM8V2ViQ29yZTo6QWRDbGlja0F0dHJpYnV0aW9uOjpEZXN0aW5hdGlvbj4gOiBHZW5lcmljSGFz
aFRyYWl0czxXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OkRlc3RpbmF0aW9uPiB7CiAgICAg
c3RhdGljIFdlYkNvcmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6RGVzdGluYXRpb24gZW1wdHlWYWx1
ZSgpIHsgcmV0dXJuIHsgfTsgfQogICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1
ZShXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OkRlc3RpbmF0aW9uJiBzbG90KSB7IFdlYkNv
cmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6RGVzdGluYXRpb246OmNvbnN0cnVjdERlbGV0ZWRWYWx1
ZShzbG90KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQ3J5
cHRvZ3JhcGhpY0RpZ2VzdC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQ3J5cHRv
Z3JhcGhpY0RpZ2VzdC5oCmluZGV4IDJhNTY2ZDE3YWM5NzExMDhjMTE5NzhhNzdlNGMzZWY3YWFj
MzNmNGEuLmExNzY4Y2U3NjI2YTRhNGFlZTZjZTA0MjEwNzc0OGQwODY4NWZjNGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0LmgK
QEAgLTgxLDE3ICs4MSwxNSBAQCBSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QgY3J5cHRvZ3Jh
cGhpY0RpZ2VzdEZvckJ5dGVzKFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZwogbmFtZXNwYWNlIFdU
RiB7CiAKIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OlJlc291cmNlQ3J5
cHRvZ3JhcGhpY0RpZ2VzdD4gewotICAgIHN0cnVjdCBIYXNoIHsKLSAgICAgICAgc3RhdGljIHVu
c2lnbmVkIGhhc2goY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0JiBk
aWdlc3QpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBwYWlySW50SGFzaChpbnRIYXNo
KHN0YXRpY19jYXN0PHVuc2lnbmVkPihkaWdlc3QuYWxnb3JpdGhtKSksIFN0cmluZ0hhc2hlcjo6
Y29tcHV0ZUhhc2goZGlnZXN0LnZhbHVlLmRhdGEoKSwgZGlnZXN0LnZhbHVlLnNpemUoKSkpOwot
ICAgICAgICB9Ci0gICAgICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdCYgYSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VDcnlwdG9n
cmFwaGljRGlnZXN0JiBiKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYSA9PSBiOwot
ICAgICAgICB9Ci0gICAgICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5
T3JEZWxldGVkID0gdHJ1ZTsKLSAgICB9OworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdCYgZGlnZXN0KQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHBhaXJJbnRIYXNoKGludEhhc2goc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGRp
Z2VzdC5hbGdvcml0aG0pKSwgU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaChkaWdlc3QudmFsdWUu
ZGF0YSgpLCBkaWdlc3QudmFsdWUuc2l6ZSgpKSk7CisgICAgfQorICAgIHN0YXRpYyBib29sIGVx
dWFsKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdCYgYSwgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0JiBiKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGEgPT0gYjsKKyAgICB9CisgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFy
ZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwogfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRy
YWl0czxXZWJDb3JlOjpSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+IDogR2VuZXJpY0hhc2hU
cmFpdHM8V2ViQ29yZTo6UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0PiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NsaWVudE9yaWdpbi5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DbGllbnRPcmlnaW4uaAppbmRleCAyYWZiOTljZGI0YzI4OGJiMjY5NzExNzAyYzk5NDg1MWY1
M2Q3M2NkLi5lNTRlZDc1ZWE4MDBiMDNhMjdhMGU1MmMwYTgwODIwZmUxMzFmNjEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NsaWVudE9yaWdpbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2xpZW50T3JpZ2luLmgKQEAgLTEwNiw4ICsxMDYsNiBAQCB0ZW1wbGF0ZTw+IHN0
cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkNsaWVudE9yaWdpbj4gOiBHZW5lcmljSGFzaFRyYWl0
czxXZWJDb3JlOgogICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFdlYkNvcmU6
OkNsaWVudE9yaWdpbiYgc2xvdCkgeyByZXR1cm4gc2xvdC50b3BPcmlnaW4uaXNIYXNoVGFibGVE
ZWxldGVkVmFsdWUoKTsgfQogfTsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2Vi
Q29yZTo6Q2xpZW50T3JpZ2luPiB7Ci0gICAgdHlwZWRlZiBDbGllbnRPcmlnaW5LZXlIYXNoIEhh
c2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6Q2xpZW50T3Jp
Z2luPiA6IENsaWVudE9yaWdpbktleUhhc2ggeyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2xvYmFsV2luZG93SWRlbnRpZmllci5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9HbG9iYWxXaW5kb3dJZGVudGlmaWVyLmgKaW5kZXggOGM0NjRk
NjA0Y2ZmZjVlNGNiOGUyNWE4MDEzNGMyMzFjMTc5NGNkNy4uNWExZDcyM2ZkYzBjN2UwODdmNDlm
ZTVkZDY4NzBlM2ExYzcwOTAxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9HbG9i
YWxXaW5kb3dJZGVudGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9HbG9iYWxXaW5k
b3dJZGVudGlmaWVyLmgKQEAgLTk4LDggKzk4LDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRy
YWl0czxXZWJDb3JlOjpHbG9iYWxXaW5kb3dJZGVudGlmaWVyPiA6IEdlbmVyaWNIYXNoVHJhaXQK
ICAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShjb25zdCBXZWJDb3JlOjpHbG9iYWxXaW5k
b3dJZGVudGlmaWVyJiBzbG90KSB7IHJldHVybiBzbG90LndpbmRvd0lkZW50aWZpZXIudG9VSW50
NjQoKSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCk7IH0KIH07CiAKLXRl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6Okdsb2JhbFdpbmRvd0lkZW50aWZp
ZXI+IHsKLSAgICB0eXBlZGVmIEdsb2JhbFdpbmRvd0lkZW50aWZpZXJIYXNoIEhhc2g7Ci19Owor
dGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6R2xvYmFsV2luZG93SWRlbnRp
Zmllcj4gOiBHbG9iYWxXaW5kb3dJZGVudGlmaWVySGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbkRhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW5EYXRhLmgKaW5kZXggNjg2NWE0
Zjk3ZTZjODY5ZmM1YjllOTdjNjg4MmQyZWEwYTdmNTI0NS4uMGY2NjI2MmE2MGNmYjc5NDUxMmY5
ZjVlZmYyOGE3MGNlZjQyZTZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1
cml0eU9yaWdpbkRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2lu
RGF0YS5oCkBAIC0xNTIsOCArMTUyLDYgQEAgc3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YUhhc2gg
ewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiA6IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YUhhc2hU
cmFpdHMgeyB9OwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW5EYXRhPiB7Ci0gICAgdHlwZWRlZiBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGFI
YXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW5EYXRhPiA6IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YUhhc2ggeyB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Vj
dXJpdHlPcmlnaW5IYXNoLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luSGFz
aC5oCmluZGV4IGY5YTUyZmExZjQxM2E3MTJkOGFlZTg5NTgxOGY4ZjM1MWFlOTNlN2EuLjRlMzIw
OTdmZDkxZmE3MzAyNjljOTUxYzQ2MGFhMzAwZGNhOTcyODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW5IYXNoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZWN1cml0eU9yaWdpbkhhc2guaApAQCAtNzQsMTAgKzc0LDggQEAgc3RydWN0IFNlY3VyaXR5
T3JpZ2luSGFzaCB7CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIG5hbWVzcGFjZSBXVEYgewot
ICAgIHRlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAKLSAgICB0ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+PiB7
Ci0gICAgICAgIHR5cGVkZWYgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5IYXNoIEhhc2g7Ci0gICAg
fTsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDxSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+PiA6IFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luSGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29va2llLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Db29raWUuaAppbmRleCA2MmJhNmM3ZmVlZTY0ZjdmNjJhMTBkNTBmNDY2ZjFmOGNh
YTc1MWNkLi45ODQzNTljODhlZDkxNTE2MWYyMjE4MjkyN2RlNTMyMjk4ZDcwOTVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db29raWUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Db29raWUuaApAQCAtMTcwLDkgKzE3MCw3IEBAIE9wdGlvbmFsPENvb2tpZT4g
Q29va2llOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKIAogbmFtZXNwYWNlIFdURiB7CiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotICAgIHRlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkNvb2tpZT4gewotICAgICAgICB0eXBlZGVmIFdl
YkNvcmU6OkNvb2tpZUhhc2ggSGFzaDsKLSAgICB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPFdlYkNvcmU6OkNvb2tpZT4gOiBXZWJDb3JlOjpDb29raWVIYXNoIHsgfTsKICAg
ICB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkNvb2tpZT4gOiBHZW5lcmlj
SGFzaFRyYWl0czxXZWJDb3JlOjpDb29raWU+IHsKICAgICAgICAgc3RhdGljIFdlYkNvcmU6OkNv
b2tpZSBlbXB0eVZhbHVlKCkgeyByZXR1cm4geyB9OyB9CiAgICAgICAgIHN0YXRpYyB2b2lkIGNv
bnN0cnVjdERlbGV0ZWRWYWx1ZShXZWJDb3JlOjpDb29raWUmIHNsb3QpIHsgc2xvdCA9IFdlYkNv
cmU6OkNvb2tpZShXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZSk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1JlZ2lzdHJhYmxlRG9tYWluLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9SZWdpc3RyYWJsZURvbWFpbi5oCmluZGV4IDg0MjM1MTUxNzE4YWU2NjU4Mzdk
NDU1OWM3ODhlMTc4ZmFkMTg1YzMuLjQwMmZiZGFmMzYxNzZiY2ZiOThkMGE0ODZlMGQ5OWZiNWZm
ZDc3Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1JlZ2lzdHJhYmxlRG9t
YWluLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVnaXN0cmFibGVEb21haW4uaApA
QCAtMTYyLDggKzE2Miw2IEBAIGlubGluZSBib29sIGFyZVJlZ2lzdHJhYmxlRG9tYWluc0VxdWFs
KGNvbnN0IFVSTCYgYSwgY29uc3QgVVJMJiBiKQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiBu
YW1lc3BhY2UgV1RGIHsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OlJl
Z2lzdHJhYmxlRG9tYWluPiB7Ci0gICAgdXNpbmcgSGFzaCA9IFdlYkNvcmU6OlJlZ2lzdHJhYmxl
RG9tYWluOjpSZWdpc3RyYWJsZURvbWFpbkhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+IDogV2ViQ29yZTo6UmVnaXN0cmFi
bGVEb21haW46OlJlZ2lzdHJhYmxlRG9tYWluSGFzaCB7IH07CiB0ZW1wbGF0ZTw+IHN0cnVjdCBI
YXNoVHJhaXRzPFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluPiA6IFNpbXBsZUNsYXNzSGFzaFRy
YWl0czxXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbj4geyB9OwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JIYXNoLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvckhhc2guaAppbmRleCBmMDgxMTkzNTFkMDg0Y2JiZTQw
ZjkyOTA4NTE5ODBiMzY4YmVjNGM0Li4zZDJjOWM1NTM2ZmJlMTgzNTMzYWY4ODFlMGQxY2YwYTQz
ZDg4MmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xv
ckhhc2guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvckhhc2gu
aApAQCAtMzYsOSArMzYsNyBAQCBzdHJ1Y3QgQ29sb3JIYXNoIHsKICAgICBzdGF0aWMgY29uc3Qg
Ym9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7CiB9OwogCi10ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpDb2xvcj4gewotICAgIHVzaW5nIEhhc2gg
PSBDb2xvckhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6
Q29sb3I+IDogQ29sb3JIYXNoIHsgfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxX
ZWJDb3JlOjpDb2xvcj4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpDb2xvcj4gewogICAg
IHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZUhhc2guaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZUhhc2guaAppbmRleCBmNTMyZDMx
MjM2YjRjZDhkM2VkOTZkYjU3MzM1YmJjNzBjZGE0MTgzLi4yMTYxM2NiMTQ3MzM1M2M2ZDVlMmU1
MDY4NWMyZGM4NGE2MDY1ZDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9GbG9hdFNpemVIYXNoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRmxvYXRTaXplSGFzaC5oCkBAIC0zMiwxNCArMzIsMTIgQEAKIG5hbWVzcGFjZSBXVEYg
ewogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBGbG9hdEhhc2g8V2ViQ29yZTo6RmxvYXRTaXplPiB7Ci0g
ICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBrZXkpIHsg
cmV0dXJuIHBhaXJJbnRIYXNoKERlZmF1bHRIYXNoPGZsb2F0Pjo6SGFzaDo6aGFzaChrZXkud2lk
dGgoKSksIERlZmF1bHRIYXNoPGZsb2F0Pjo6SGFzaDo6aGFzaChrZXkuaGVpZ2h0KCkpKTsgfQor
ICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYga2V5KSB7
IHJldHVybiBwYWlySW50SGFzaChEZWZhdWx0SGFzaDxmbG9hdD46Omhhc2goa2V5LndpZHRoKCkp
LCBEZWZhdWx0SGFzaDxmbG9hdD46Omhhc2goa2V5LmhlaWdodCgpKSk7IH0KICAgICBzdGF0aWMg
Ym9vbCBlcXVhbChjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIGEsIGNvbnN0IFdlYkNvcmU6OkZs
b2F0U2l6ZSYgYikgeyByZXR1cm4gYSA9PSBiOyB9CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2Fm
ZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwogfTsKIAotdGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6RmxvYXRTaXplPiB7Ci0gICAgdHlwZWRlZiBGbG9hdEhh
c2g8V2ViQ29yZTo6RmxvYXRTaXplPiBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPFdlYkNvcmU6OkZsb2F0U2l6ZT4gOiBGbG9hdEhhc2g8V2ViQ29yZTo6RmxvYXRTaXpl
PiB7IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6RmxvYXRTaXpl
PiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OkZsb2F0U2l6ZT4gewogICAgIHN0YXRpYyBj
b25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdlbmVyaWNGYW1pbGllcy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdlbmVyaWNGYW1pbGllcy5oCmluZGV4IDY4NTg2
OGRkYTUyN2ZkOGEwZDA2ZjFkY2RlYTViZjRhMWIwZmRhZDIuLmYxMjRiYjg2ZDM0ZTI2OTUxZDIw
ZWU5ZGIzMDYzYTg2N2E5MmE0ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250R2VuZXJpY0ZhbWlsaWVzLmgKQEAgLTQyLDcgKzQyLDcgQEAgc3Ry
dWN0IFVTY3JpcHRDb2RlSGFzaFRyYWl0cyA6IFdURjo6R2VuZXJpY0hhc2hUcmFpdHM8aW50PiB7
CiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoaW50IHZhbHVlKSB7IHJldHVybiB2YWx1
ZSA9PSAtMzsgfQogfTsKIAotdHlwZWRlZiBIYXNoTWFwPGludCwgQXRvbVN0cmluZywgRGVmYXVs
dEhhc2g8aW50Pjo6SGFzaCwgVVNjcmlwdENvZGVIYXNoVHJhaXRzPiBTY3JpcHRGb250RmFtaWx5
TWFwOwordHlwZWRlZiBIYXNoTWFwPGludCwgQXRvbVN0cmluZywgRGVmYXVsdEhhc2g8aW50Piwg
VVNjcmlwdENvZGVIYXNoVHJhaXRzPiBTY3JpcHRGb250RmFtaWx5TWFwOwogCiBjbGFzcyBGb250
R2VuZXJpY0ZhbWlsaWVzIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50SGFzaC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnRIYXNoLmgKaW5kZXggYTdhZTNh
ZDliYmFlYjAzMjFmY2QzNGE2ODZiOTYyNzU1OWRjMDBlYi4uOTcxMjgyYzc0Mjc2YmYzYWI3ZDQ3
MTJiMDcwZjFjZDI0MmY3ZTY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW50UG9pbnRIYXNoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW50UG9pbnRIYXNoLmgKQEAgLTM4LDkgKzM4LDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
SGFzaFRyYWl0czxXZWJDb3JlOjpJbnRQb2ludD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3Jl
OjpJbnQKICAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoV2ViQ29yZTo6SW50
UG9pbnQmIHNsb3QpIHsgc2xvdCA9IFdlYkNvcmU6OkludFBvaW50KHN0ZDo6bnVtZXJpY19saW1p
dHM8aW50Pjo6bWluKCksIDApOyB9CiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmIHNsb3QpIHsgcmV0dXJuIHNsb3QgPT0gV2ViQ29yZTo6SW50
UG9pbnQoc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKSwgMCk7IH0KIH07Ci10ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRQb2ludD4gewotICAgIHR5cGVkZWYg
SW50UG9pbnRIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2Vi
Q29yZTo6SW50UG9pbnQ+IDogSW50UG9pbnRIYXNoIHsgfTsKIAogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0SGFzaC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdEhhc2guaAppbmRleCA5ZDkwZGE3MmE3Yjk2
MDg1YjEyNjZkYzk5MTEwMDM2ZGQ0OWVhODRlLi44N2NiNjkyYTI4ZWIzOTc0ODgyODc2MzI5YTlj
ZmU4MDg3OGE2ZGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbnRSZWN0SGFzaC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lu
dFJlY3RIYXNoLmgKQEAgLTM2LDE1ICszNiwxNSBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRl
PD4gc3RydWN0IEludEhhc2g8V2ViQ29yZTo6SW50UmVjdD4gewogICAgIHN0YXRpYyB1bnNpZ25l
ZCBoYXNoKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGtleSkKICAgICB7Ci0gICAgICAgIHJldHVy
biBwYWlySW50SGFzaChEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRQb2ludD46Okhhc2g6Omhhc2go
a2V5LmxvY2F0aW9uKCkpLCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRTaXplPjo6SGFzaDo6aGFz
aChrZXkuc2l6ZSgpKSk7CisgICAgICAgIHJldHVybiBwYWlySW50SGFzaChEZWZhdWx0SGFzaDxX
ZWJDb3JlOjpJbnRQb2ludD46Omhhc2goa2V5LmxvY2F0aW9uKCkpLCBEZWZhdWx0SGFzaDxXZWJD
b3JlOjpJbnRTaXplPjo6aGFzaChrZXkuc2l6ZSgpKSk7CiAgICAgfQogICAgIHN0YXRpYyBib29s
IGVxdWFsKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGEsIGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IGIpCiAgICAgewotICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8V2ViQ29yZTo6SW50UG9pbnQ+
OjpIYXNoOjplcXVhbChhLmxvY2F0aW9uKCksIGIubG9jYXRpb24oKSkgJiYgRGVmYXVsdEhhc2g8
V2ViQ29yZTo6SW50U2l6ZT46Okhhc2g6OmVxdWFsKGEuc2l6ZSgpLCBiLnNpemUoKSk7CisgICAg
ICAgIHJldHVybiBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRQb2ludD46OmVxdWFsKGEubG9jYXRp
b24oKSwgYi5sb2NhdGlvbigpKSAmJiBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRTaXplPjo6ZXF1
YWwoYS5zaXplKCksIGIuc2l6ZSgpKTsKICAgICB9CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2Fm
ZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwogfTsKLXRlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFJlY3Q+IHsgdHlwZWRlZiBJbnRIYXNoPFdlYkNvcmU6
OkludFJlY3Q+IEhhc2g7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3Jl
OjpJbnRSZWN0PiA6IEludEhhc2g8V2ViQ29yZTo6SW50UmVjdD4geyB9OwogCiB0ZW1wbGF0ZTw+
IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkludFJlY3Q+IDogR2VuZXJpY0hhc2hUcmFpdHM8
V2ViQ29yZTo6SW50UmVjdD4gewogICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1pl
cm8gPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW50U2l6ZUhhc2guaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFNpemVI
YXNoLmgKaW5kZXggNzlmNGU4YWJmNmVhMTliNDQ3YWQwOTVlNDZiYjE5YWVkNTBmNzJlNC4uZDNl
ZDFhYzI0OWZjY2RlNjA0ZmQxODNkYjNhYjg5MzlhZjAzNGQ4MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZUhhc2guaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplSGFzaC5oCkBAIC0zMCw3ICszMCw3IEBAIG5h
bWVzcGFjZSBXVEYgewogICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBXZWJDb3JlOjpJ
bnRTaXplJiBhLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBiKSB7IHJldHVybiBhID09IGI7IH0K
ICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQg
PSB0cnVlOwogICAgIH07Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29y
ZTo6SW50U2l6ZT4geyB0eXBlZGVmIEludEhhc2g8V2ViQ29yZTo6SW50U2l6ZT4gSGFzaDsgfTsK
KyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRTaXplPiA6IElu
dEhhc2g8V2ViQ29yZTo6SW50U2l6ZT4geyB9OwogICAgIAogICAgIHRlbXBsYXRlPD4gc3RydWN0
IEhhc2hUcmFpdHM8V2ViQ29yZTo6SW50U2l6ZT4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3Jl
OjpJbnRTaXplPiB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8g
PSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lk
dGhDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhDYWNoZS5o
CmluZGV4IGU4ZDcyZTA5NmI5NDJlYTUxZWEwMDVhMmZhMmE2MWYxMDc2MGQ3MmUuLjUyYTdiMDg2
NmNkMDcwZDJkZGU4ODRlNDcyOGViMzRkODUzYTg3MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aENhY2hlLmgKQEAgLTIxMCw3ICsyMTAsNyBAQCBwcml2YXRl
OgogICAgIH0KIAogICAgIHR5cGVkZWYgSGFzaE1hcDxTbWFsbFN0cmluZ0tleSwgZmxvYXQsIFNt
YWxsU3RyaW5nS2V5SGFzaCwgU21hbGxTdHJpbmdLZXlIYXNoVHJhaXRzPiBNYXA7Ci0gICAgdHlw
ZWRlZiBIYXNoTWFwPHVpbnQzMl90LCBmbG9hdCwgRGVmYXVsdEhhc2g8dWludDMyX3Q+OjpIYXNo
LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj4gU2luZ2xlQ2hh
ck1hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8dWludDMyX3QsIGZsb2F0LCBEZWZhdWx0SGFzaDx1
aW50MzJfdD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDMyX3Q+PiBT
aW5nbGVDaGFyTWFwOwogICAgIHN0YXRpYyBjb25zdCBpbnQgc19taW5JbnRlcnZhbCA9IC0zOyAv
LyBBIGNhY2hlIGhpdCBwYXlzIGZvciBhYm91dCAzIGNhY2hlIG1pc3Nlcy4KICAgICBzdGF0aWMg
Y29uc3QgaW50IHNfbWF4SW50ZXJ2YWwgPSAyMDsgLy8gU2FtcGxpbmcgYXQgdGhpcyBpbnRlcnZh
bCBoYXMgYWxtb3N0IG5vIG92ZXJoZWFkLgogICAgIHN0YXRpYyBjb25zdCBpbnQgc19tYXhTaXpl
ID0gNTAwMDAwOyAvLyBKdXN0IGVub3VnaCB0byBndWFyZCBhZ2FpbnN0IHBhdGhvbG9naWNhbCBn
cm93dGguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVl
dHlwZS9Gb250Q2FjaGVGcmVlVHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVlVHlwZS5jcHAKaW5kZXggNzNlYWRlZDI0ZWYxMTQy
YmJjNmZhZTdiNTZlNWRkZjQ0NzFhOWY4NC4uZjAyN2VlZDMxNzE0NDRiYzM2YTQzNDQ3NjNiNzNl
MTJkYjJhMDI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNoZUZyZWVUeXBlLmNwcApAQCAtMjIyLDcgKzIy
Miw3IEBAIHN0cnVjdCBGYWxsYmFja0ZvbnREZXNjcmlwdGlvbktleSB7CiAKICAgICB1bnNpZ25l
ZCBjb21wdXRlSGFzaCgpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gV1RGOjpwYWlySW50
SGFzaChkZXNjcmlwdGlvbktleS5jb21wdXRlSGFzaCgpLCBXVEY6OkRlZmF1bHRIYXNoPGJvb2w+
OjpIYXNoOjpoYXNoKGNvbG9yZWRGb250KSk7CisgICAgICAgIHJldHVybiBXVEY6OnBhaXJJbnRI
YXNoKGRlc2NyaXB0aW9uS2V5LmNvbXB1dGVIYXNoKCksIFdURjo6RGVmYXVsdEhhc2g8Ym9vbD46
Omhhc2goY29sb3JlZEZvbnQpKTsKICAgICB9CiAKICAgICBGb250RGVzY3JpcHRpb25LZXkgZGVz
Y3JpcHRpb25LZXk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0hUVFBQYXJzZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJz
ZXJzLmgKaW5kZXggZmYwYWY4MzU1MzRmZmI0MGNmZTkwNmU3NzQ1Y2M3ODM1NDI2N2RjOC4uZTU1
YjQ4YjgwMWQyYzUxZTA1YTcxNjI2NzMzNGUzYjgyODhjMDVmYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaApAQCAtMTU1LDcgKzE1NSw3IEBAIGJv
b2wgYWRkVG9BY2Nlc3NDb250cm9sQWxsb3dMaXN0KGNvbnN0IFN0cmluZyYgc3RyaW5nLCB1bnNp
Z25lZCBzdGFydCwgdW5zaWduZWQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdGVtcGxhdGU8Y2xh
c3MgSGFzaFR5cGUgPSBEZWZhdWx0SGFzaDxTdHJpbmc+OjpIYXNoPgordGVtcGxhdGU8Y2xhc3Mg
SGFzaFR5cGUgPSBEZWZhdWx0SGFzaDxTdHJpbmc+PgogT3B0aW9uYWw8SGFzaFNldDxTdHJpbmcs
IEhhc2hUeXBlPj4gcGFyc2VBY2Nlc3NDb250cm9sQWxsb3dMaXN0KGNvbnN0IFN0cmluZyYgc3Ry
aW5nKQogewogICAgIEhhc2hTZXQ8U3RyaW5nLCBIYXNoVHlwZT4gc2V0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VIYXNoLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZUhhc2guaAppbmRl
eCBlODQzMzM1N2YyYWZkYjY2MjQzMWZlNWE2ZDgwZGI2YTQ0MzA5NTU3Li5kNTljMmYxOTNmYWQx
NjllOTg0MjhlNzI5MDQ2ZTE5NWZkZDhjMTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZUhhc2guaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZUhhc2guaApAQCAtNTcsMTEgKzU3LDgg
QEAgc3RydWN0IFByb3RlY3Rpb25TcGFjZUhhc2ggewogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAg
IHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlPiA6
IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2U+IHsgfTsKLQot
ICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OlByb3RlY3Rpb25TcGFj
ZT4gewotICAgICAgICB1c2luZyBIYXNoID0gV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlSGFzaDsK
LSAgICB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpQcm90ZWN0aW9u
U3BhY2U+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZT4g
eyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6UHJvdGVjdGlvblNw
YWNlPiA6IFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZUhhc2ggeyB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXVEYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NPTVB0ci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NPTVB0ci5oCmluZGV4IDM3MTMxNmUyYzkz
OGQyNWQ2M2I5ODkyOGViNTdlZDE1MjZlM2NjY2YuLjc2NTFiZjkzZGFkNWJjMjBlM2NhMDdiMjAy
ZmFmMmE4ODEyN2M3NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9D
T01QdHIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ09NUHRyLmgKQEAgLTI1
NSw5ICsyNTUsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgSGFzaFRyYWl0czxDT01Q
dHI8UD4gPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxDT01QdAogICAgIHN0YXRpYyBQZWVrVHlw
ZSBwZWVrKFAqIHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfQogfTsKIAotdGVtcGxhdGU8dHlwZW5h
bWUgUD4gc3RydWN0IERlZmF1bHRIYXNoPENPTVB0cjxQPj4gewotICAgIHR5cGVkZWYgUHRySGFz
aDxDT01QdHI8UD4+IEhhc2g7Ci19OwordGVtcGxhdGU8dHlwZW5hbWUgUD4gc3RydWN0IERlZmF1
bHRIYXNoPENPTVB0cjxQPj4gOiBQdHJIYXNoPENPTVB0cjxQPj4geyB9OwogCiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dzS2V5TmFtZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dzS2V5TmFtZXMuaAppbmRleCAwZmRmZWMw
ODdhMWIyNGU2NmYyYTg0MzNlYTFmOTE5OTI4NTFhZTcxLi45MGM2MjQ0ZjhjN2VhODFmZThlYTRj
NThkNWNjMDNlYzA3NWI2NTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vV2luZG93c0tleU5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dp
bmRvd3NLZXlOYW1lcy5oCkBAIC01NCw3ICs1NCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hh
c0FsdEdyYXBoID0gZmFsc2U7CiAKICAgICB1c2luZyBWaXJ0dWFsS2V5TW9kaWZpZXJTZXRQYWly
ID0gc3RkOjpwYWlyPHVuc2lnbmVkLCBLZXlNb2RpZmllclNldD47Ci0gICAgdXNpbmcgVmlydHVh
bEtleVRvS2V5TWFwID0gSGFzaE1hcDxWaXJ0dWFsS2V5TW9kaWZpZXJTZXRQYWlyLCBTdHJpbmcs
IERlZmF1bHRIYXNoPFZpcnR1YWxLZXlNb2RpZmllclNldFBhaXI+OjpIYXNoLCBQYWlySGFzaFRy
YWl0czxXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPiwgSGFzaFRy
YWl0czxLZXlNb2RpZmllclNldD4+PjsKKyAgICB1c2luZyBWaXJ0dWFsS2V5VG9LZXlNYXAgPSBI
YXNoTWFwPFZpcnR1YWxLZXlNb2RpZmllclNldFBhaXIsIFN0cmluZywgRGVmYXVsdEhhc2g8Vmly
dHVhbEtleU1vZGlmaWVyU2V0UGFpcj4sIFBhaXJIYXNoVHJhaXRzPFdURjo6VW5zaWduZWRXaXRo
WmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+LCBIYXNoVHJhaXRzPEtleU1vZGlmaWVyU2V0Pj4+
OwogICAgIFZpcnR1YWxLZXlUb0tleU1hcCBtX3ByaW50YWJsZUtleUNvZGVUb0tleTsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9DU1NWYWx1ZUtleS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NTU1ZhbHVlS2V5LmgKaW5kZXggYWY4Y2FiNzFmN2MxODMz
MjRmNTAyZGE2MjA4OWQwNTdlNzliODkzMC4uY2IyZTgzZGQyN2FmNTQ4ZDE1NmRmNjU4MmNjOWMx
YzQwOTE3NzZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NTU1ZhbHVl
S2V5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NTU1ZhbHVlS2V5LmgKQEAgLTkz
LDggKzkzLDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpDU1NWYWx1
ZUtleT4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjoKICAgICBzdGF0aWMgYm9vbCBpc0Rl
bGV0ZWRWYWx1ZShjb25zdCBXZWJDb3JlOjpDU1NWYWx1ZUtleSYgc2xvdCkgeyByZXR1cm4gc2xv
dC5jc3NWYWx1ZUlEID09IFdlYkNvcmU6OkNTU1ZhbHVlSW52YWxpZCAmJiBzbG90LnVzZURhcmtB
cHBlYXJhbmNlICYmIHNsb3QudXNlRWxldmF0ZWRVc2VySW50ZXJmYWNlTGV2ZWw7IH0KIH07CiAK
LXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkNTU1ZhbHVlS2V5PiB7Ci0g
ICAgdHlwZWRlZiBDU1NWYWx1ZUtleUhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxXZWJDb3JlOjpDU1NWYWx1ZUtleT4gOiBDU1NWYWx1ZUtleUhhc2ggeyB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9HcmlkQmFzZWxpbmVBbGlnbm1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Hcmlk
QmFzZWxpbmVBbGlnbm1lbnQuaAppbmRleCAzOGMwNDg4ZTQ4MmEzNTdlN2E1ZmI4Mjk5N2EzOTM0
MGIxYjJjMGY2Li41OGUzZmM2YmMxYmVmOGEzYThmN2M0MzZlYmM0YmNlZmNkNGY0OWYzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZEJhc2VsaW5lQWxpZ25tZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVudC5oCkBA
IC0xNjMsNyArMTYzLDcgQEAgcHJpdmF0ZToKICAgICBib29sIGlzT3J0aG9nb25hbENoaWxkRm9y
QmFzZWxpbmUoY29uc3QgUmVuZGVyQm94JikgY29uc3Q7CiAgICAgYm9vbCBpc1BhcmFsbGVsVG9C
YXNlbGluZUF4aXNGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmLCBHcmlkQXhpcykgY29uc3Q7CiAK
LSAgICB0eXBlZGVmIEhhc2hNYXA8dW5zaWduZWQsIHN0ZDo6dW5pcXVlX3B0cjxCYXNlbGluZUNv
bnRleHQ+LCBEZWZhdWx0SGFzaDx1bnNpZ25lZD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVy
b0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiBCYXNlbGluZUNvbnRleHRzTWFwOworICAgIHR5cGVk
ZWYgSGFzaE1hcDx1bnNpZ25lZCwgc3RkOjp1bmlxdWVfcHRyPEJhc2VsaW5lQ29udGV4dD4sIERl
ZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1
bnNpZ25lZD4+IEJhc2VsaW5lQ29udGV4dHNNYXA7CiAKICAgICAvLyBHcmlkIENvbnRhaW5lcidz
IFdyaXRpbmdNb2RlLCB1c2VkIHRvIGRldGVybWluZSBncmlkIGl0ZW0ncyBvcnRob2dvbmFsaXR5
LgogICAgIFdyaXRpbmdNb2RlIG1fYmxvY2tGbG93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oCmluZGV4IDlmNDRmNjBmZDAxMTk2
MmRiNjU4NjQzY2U2ZWIzZjUyYmE2MmEwN2YuLjFkMGQ2ZmMwNjY0MjQxYWJhNDQ0ZTM2MWVhYTVl
NDVjYTNjYjkwM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJh
Y2tTaXppbmdBbGdvcml0aG0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRy
YWNrU2l6aW5nQWxnb3JpdGhtLmgKQEAgLTE3MSw3ICsxNzEsNyBAQCBwcml2YXRlOgogICAgIHZv
aWQgY29tcHV0ZUdyaWRDb250YWluZXJJbnRyaW5zaWNTaXplcygpOwogCiAgICAgLy8gSGVscGVy
IG1ldGhvZHMgZm9yIHN0ZXAgNC4gU3RyZWNoIGZsZXhpYmxlIHRyYWNrcy4KLSAgICB0eXBlZGVm
IEhhc2hTZXQ8dW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwgV1RGOjpVbnNp
Z25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IFRyYWNrSW5kZXhTZXQ7CisgICAg
dHlwZWRlZiBIYXNoU2V0PHVuc2lnbmVkLCBEZWZhdWx0SGFzaDx1bnNpZ25lZD4sIFdURjo6VW5z
aWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiBUcmFja0luZGV4U2V0OwogICAg
IGRvdWJsZSBjb21wdXRlRmxleEZhY3RvclVuaXRTaXplKGNvbnN0IFZlY3RvcjxHcmlkVHJhY2s+
JiB0cmFja3MsIGRvdWJsZSBmbGV4RmFjdG9yU3VtLCBMYXlvdXRVbml0JiBsZWZ0T3ZlclNwYWNl
LCBjb25zdCBWZWN0b3I8dW5zaWduZWQsIDg+JiBmbGV4aWJsZVRyYWNrc0luZGV4ZXMsIHN0ZDo6
dW5pcXVlX3B0cjxUcmFja0luZGV4U2V0PiB0cmFja3NUb1RyZWF0QXNJbmZsZXhpYmxlID0gbnVs
bHB0cikgY29uc3Q7CiAgICAgdm9pZCBjb21wdXRlRmxleFNpemVkVHJhY2tzR3Jvd3RoKGRvdWJs
ZSBmbGV4RnJhY3Rpb24sIFZlY3RvcjxMYXlvdXRVbml0PiYgaW5jcmVtZW50cywgTGF5b3V0VW5p
dCYgdG90YWxHcm93dGgpIGNvbnN0OwogICAgIGRvdWJsZSBmaW5kRnJVbml0U2l6ZShjb25zdCBH
cmlkU3BhbiYgdHJhY2tzU3BhbiwgTGF5b3V0VW5pdCBsZWZ0T3ZlclNwYWNlKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCBhYjRlODBlZjU5YTE0MWVj
NmQzODUwMjM4YjM3ZTBhNjRlODNiYmNmLi45ZmQ4NWYyOGVhMzhmNWRlNjcwNzUyNDM2Y2I3NzNl
MjQ4NTIzZmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3Jp
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC03
NDMsNyArNzQzLDcgQEAgdm9pZCBSZW5kZXJHcmlkOjpwbGFjZVNwZWNpZmllZE1ham9yQXhpc0l0
ZW1zT25HcmlkKEdyaWQmIGdyaWQsIGNvbnN0IFZlY3RvcjxSZW4KICAgICAvLyBNYXBwaW5nIGJl
dHdlZW4gdGhlIG1ham9yIGF4aXMgdHJhY2tzIChyb3dzIG9yIGNvbHVtbnMpIGFuZCB0aGUgbGFz
dCBhdXRvLXBsYWNlZCBpdGVtJ3MgcG9zaXRpb24gaW5zZXJ0ZWQgb24KICAgICAvLyB0aGF0IHRy
YWNrLiBUaGlzIGlzIG5lZWRlZCB0byBpbXBsZW1lbnQgInNwYXJzZSIgcGFja2luZyBmb3IgaXRl
bXMgbG9ja2VkIHRvIGEgZ2l2ZW4gdHJhY2suCiAgICAgLy8gU2VlIGh0dHA6Ly9kZXYudzMub3Jn
L2Nzc3dnL2Nzcy1ncmlkLyNhdXRvLXBsYWNlbWVudC1hbGdvcml0aG0KLSAgICBIYXNoTWFwPHVu
c2lnbmVkLCB1bnNpZ25lZCwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+OjpIYXNoLCBXVEY6OlVuc2ln
bmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gbWlub3JBeGlzQ3Vyc29yczsKKyAg
ICBIYXNoTWFwPHVuc2lnbmVkLCB1bnNpZ25lZCwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6
OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gbWlub3JBeGlzQ3Vyc29y
czsKIAogICAgIGZvciAoYXV0byYgYXV0b0dyaWRJdGVtIDogYXV0b0dyaWRJdGVtcykgewogICAg
ICAgICBHcmlkU3BhbiBtYWpvckF4aXNQb3NpdGlvbnMgPSBncmlkLmdyaWRJdGVtU3BhbigqYXV0
b0dyaWRJdGVtLCBhdXRvUGxhY2VtZW50TWFqb3JBeGlzRGlyZWN0aW9uKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCBlYjdiOTEzMjI3YjY1YzYyOWZiOGMzYjJi
N2M1Yzc2ZWU2Zjg3YTc1Li41ZTQ4ZjA0ZjYyOWI4NDMzNGZmMGMzZThlMjk1MDk3YmVjMGI2Y2I3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtNDUzLDcgKzQ1Myw3
IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIENvbG9yQ2FjaGUmIGNvbG9yQ2FjaGUoT3B0aW9u
U2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+KSBjb25zdDsKIAogcHJpdmF0ZToKLSAgICBtdXRhYmxl
IEhhc2hNYXA8dWludDhfdCwgQ29sb3JDYWNoZSwgRGVmYXVsdEhhc2g8dWludDhfdD46Okhhc2gs
IFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDhfdD4+IG1fY29sb3JDYWNo
ZU1hcDsKKyAgICBtdXRhYmxlIEhhc2hNYXA8dWludDhfdCwgQ29sb3JDYWNoZSwgRGVmYXVsdEhh
c2g8dWludDhfdD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDhfdD4+
IG1fY29sb3JDYWNoZU1hcDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvUnVsZVNldC5jcHAKaW5kZXggYzlhZjRjZmNmZjBjYmNiMjE2MGJmYWE0YWQxNWMyOGRiNGIx
MzM0OC4uNmZmZGE5MjMwMWY0YWU2MDc2MWI0NDc5YzY4NWFlMzEzMDQyMzVkZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvUnVsZVNldC5jcHAKQEAgLTQyMiw3ICs0MjIsNyBAQCBSdWxlU2V0OjpDb2xsZWN0ZWRN
ZWRpYVF1ZXJ5Q2hhbmdlcyBSdWxlU2V0OjpldmFsdWF0ZUR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMo
Y29ucwogewogICAgIENvbGxlY3RlZE1lZGlhUXVlcnlDaGFuZ2VzIGNvbGxlY3RlZENoYW5nZXM7
CiAKLSAgICBIYXNoTWFwPHNpemVfdCwgYm9vbCwgRGVmYXVsdEhhc2g8c2l6ZV90Pjo6SGFzaCwg
V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxzaXplX3Q+PiBhZmZlY3RlZFJ1bGVQ
b3NpdGlvbnNBbmRSZXN1bHRzOworICAgIEhhc2hNYXA8c2l6ZV90LCBib29sLCBEZWZhdWx0SGFz
aDxzaXplX3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHNpemVfdD4+IGFm
ZmVjdGVkUnVsZVBvc2l0aW9uc0FuZFJlc3VsdHM7CiAKICAgICBmb3IgKHNpemVfdCBpID0gc3Rh
cnRJbmRleDsgaSA8IG1fZHluYW1pY01lZGlhUXVlcnlSdWxlcy5zaXplKCk7ICsraSkgewogICAg
ICAgICBhdXRvJiBkeW5hbWljUnVsZXMgPSBtX2R5bmFtaWNNZWRpYVF1ZXJ5UnVsZXNbaV07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0VsZW1lbnQuaAppbmRleCAzYjA0OTQyMWQ3ZmRkOWQ5NTU1MjQwNzQyZjgzZWNj
OTMzMDJiMTBmLi4yMjk5MGVkOTNiMDEzZTg3ZjIwMDY3NTA4YmFmMzViYmRjZDc3ZDdjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdFbGVtZW50LmgKQEAgLTIyMCw3ICsyMjAsNyBAQCBzdHJ1Y3QgU1ZHQXR0cmli
dXRlSGFzaFRyYW5zbGF0b3IgewogICAgICAgICAgICAgUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMg
Y29tcG9uZW50cyA9IHsgbnVsbEF0b20oKS5pbXBsKCksIGtleS5sb2NhbE5hbWUoKS5pbXBsKCks
IGtleS5uYW1lc3BhY2VVUkkoKS5pbXBsKCkgfTsKICAgICAgICAgICAgIHJldHVybiBoYXNoQ29t
cG9uZW50cyhjb21wb25lbnRzKTsKICAgICAgICAgfQotICAgICAgICByZXR1cm4gRGVmYXVsdEhh
c2g8UXVhbGlmaWVkTmFtZT46Okhhc2g6Omhhc2goa2V5KTsKKyAgICAgICAgcmV0dXJuIERlZmF1
bHRIYXNoPFF1YWxpZmllZE5hbWU+OjpoYXNoKGtleSk7CiAgICAgfQogICAgIHN0YXRpYyBib29s
IGVxdWFsKGNvbnN0IFF1YWxpZmllZE5hbWUmIGEsIGNvbnN0IFF1YWxpZmllZE5hbWUmIGIpIHsg
cmV0dXJuIGEubWF0Y2hlcyhiKTsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllci5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmgKaW5k
ZXggNjAwM2E2ZGQ5ZTRiNzkxZTQwMTg0ODUzZDM1MTc1YzBiNTRiZWExYy4uNjQwOWE0MWMzODJh
OGU1NzdjOTYwMzY0ZmI2N2U3ODE0NDljYjFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVy
LmgKQEAgLTExNyw5ICsxMTcsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyPiA6IEdlbmVyaWNIYQogICAgIHN0YXRp
YyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJ
ZGVudGlmaWVyJiBzbG90KSB7IHJldHVybiBzbG90LnNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVy
LnRvVUludDY0KCkgPT0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpOyB9CiB9
OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
Q2xpZW50SWRlbnRpZmllcj4gewotICAgIHR5cGVkZWYgU2VydmljZVdvcmtlckNsaWVudElkZW50
aWZpZXJIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29y
ZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI+IDogU2VydmljZVdvcmtlckNsaWVudElk
ZW50aWZpZXJIYXNoIHsgfTsKIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaAppbmRleCBk
NDIwYjZmOTVmYzFlYzZmYmU1NTczYmM1ZGY1ZWI1ZjZiYjFhYmRhLi4yNzkxMjEyMTg4YjYyNGQw
NGU0NWRmOWJlM2E3Y2I3NzU5M2IzOGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5LmgKQEAg
LTExMCw5ICsxMTAsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXk+IDogR2VuZXJpY0hhcwogICAgIHN0YXRpYyBib29s
IGlzRGVsZXRlZFZhbHVlKGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25L
ZXkmIHNsb3QpIHsgcmV0dXJuIHNsb3Quc2NvcGUoKS5pc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgp
OyB9CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uS2V5PiB7Ci0gICAgdHlwZWRlZiBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uS2V5SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXk+IDogU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbktleUhhc2ggeyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRJRC5oIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRJRC5oCmluZGV4IDQw
MjMyMGYyMmQyM2U4MDI4YmFlNTgyY2ZiYzJlZTkwYWViMThjNjMuLjc0MzQxMzI4MjY3ODFmMWY0
MmU1N2RiZGI3MTYyODcxOWU4MGI2NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkSUQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZElELmgKQEAgLTkwLDkgKzkwLDcgQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJLaXQ6OkRvd25sb2FkSUQ+IDogR2VuZXJpY0hhc2hU
cmFpdHM8V2ViS2l0OjpEb3cKICAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUo
V2ViS2l0OjpEb3dubG9hZElEJiBzbG90KSB7IHNsb3QgPSBXZWJLaXQ6OkRvd25sb2FkSUQoc3Rk
OjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpKTsgfQogICAgIHN0YXRpYyBib29sIGlz
RGVsZXRlZFZhbHVlKGNvbnN0IFdlYktpdDo6RG93bmxvYWRJRCYgc2xvdCkgeyByZXR1cm4gc2xv
dC5kb3dubG9hZElEKCkgPT0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpOyB9
CiB9OwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViS2l0OjpEb3dubG9hZElEPiB7
Ci0gICAgdHlwZWRlZiBEb3dubG9hZElESGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPFdlYktpdDo6RG93bmxvYWRJRD4gOiBEb3dubG9hZElESGFzaCB7IH07CiAK
IH0KICNlbmRpZiAvKiBEb3dubG9hZElEX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCmluZGV4IGI4MjM3YmE5NDZkNmYzMzkyY2Nl
M2Q2NmJkYzIxYTRlYmFiOWY1MmMuLmU1YzYwNWM1MWYzMjcxNTYzYTZiNmVlMTkxMGM5NGVkMDEz
ZjM0OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGUuaApAQCAtOTIsOSArOTIsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRz
PFdlYktpdDo6TmV0d29ya0NhY2hlOjpHbG9iYWxGcmFtZUlEPiA6IEdlbmVyaWNIYXNoVAogICAg
IHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFdlYktpdDo6TmV0d29ya0NhY2hlOjpH
bG9iYWxGcmFtZUlEJiBzbG90KSB7IHJldHVybiBzbG90LndlYlBhZ2VJRC50b1VJbnQ2NCgpID09
IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDY0X3Q+OjptYXgoKTsgfQogfTsKIAotdGVtcGxhdGU8
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViS2l0OjpOZXR3b3JrQ2FjaGU6Okdsb2JhbEZyYW1lSUQ+
IHsKLSAgICB0eXBlZGVmIEdsb2JhbEZyYW1lSURIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8V2ViS2l0OjpOZXR3b3JrQ2FjaGU6Okdsb2JhbEZyYW1lSUQ+IDog
R2xvYmFsRnJhbWVJREhhc2ggeyB9OwogCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlS2V5LmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5oCmluZGV4IGEzMmNkZDRiNzgxNmZk
OGMwM2Y4YjQ2ZWQ5ZWQxOTc3YmUzNWIwMmUuLmY1MTExYmU4MzMyNWE0MTRjMjEyYTVhYjhiNDQ4
ZjkwM2QyZmFhYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlS2V5LmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVLZXkuaApAQCAtMTIyLDkgKzEyMiw3IEBAIHN0cnVjdCBOZXR3b3Jr
Q2FjaGVLZXlIYXNoIHsKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0
SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYktpdDo6TmV0d29ya0NhY2hl
OjpLZXk+IHsKLSAgICB0eXBlZGVmIE5ldHdvcmtDYWNoZUtleUhhc2ggSGFzaDsKLX07Cit0ZW1w
bGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6S2V5PiA6IE5l
dHdvcmtDYWNoZUtleUhhc2ggeyB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdl
YktpdDo6TmV0d29ya0NhY2hlOjpLZXk+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPFdlYktpdDo6
TmV0d29ya0NhY2hlOjpLZXk+IHsKICAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNa
ZXJvID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9NZXNz
YWdlUmVjZWl2ZXJNYXAuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL01lc3NhZ2VSZWNl
aXZlck1hcC5oCmluZGV4IGJhNjRjMTU1NWUyZDgzZmY3NTA0MThiYWM0MjE3NzQ1YmJhOWNmZWEu
LmFjMzY2MmU5NzI2MGJkOGNiZjg4MmIyOGIxZTg3N2VhMTMyYmMxM2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL01lc3NhZ2VSZWNlaXZlck1hcC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vSVBDL01lc3NhZ2VSZWNlaXZlck1hcC5oCkBAIC01OCw3ICs1OCw3
IEBAIHByaXZhdGU6CiAgICAgLy8gTWVzc2FnZSByZWNlaXZlcnMgdGhhdCBkb24ndCByZXF1aXJl
IGEgZGVzdGluYXRpb24gSUQuCiAgICAgSGFzaE1hcDxSZWNlaXZlck5hbWUsIE1lc3NhZ2VSZWNl
aXZlciosIFdURjo6SW50SGFzaDxSZWNlaXZlck5hbWU+LCBXVEY6OlN0cm9uZ0VudW1IYXNoVHJh
aXRzPFJlY2VpdmVyTmFtZT4+IG1fZ2xvYmFsTWVzc2FnZVJlY2VpdmVyczsKIAotICAgIEhhc2hN
YXA8c3RkOjpwYWlyPFJlY2VpdmVyTmFtZSwgdWludDY0X3Q+LCBNZXNzYWdlUmVjZWl2ZXIqLCBE
ZWZhdWx0SGFzaDxzdGQ6OnBhaXI8UmVjZWl2ZXJOYW1lLCB1aW50NjRfdD4+OjpIYXNoLCBQYWly
SGFzaFRyYWl0czxXVEY6OlN0cm9uZ0VudW1IYXNoVHJhaXRzPFJlY2VpdmVyTmFtZT4sIEhhc2hU
cmFpdHM8dWludDY0X3Q+Pj4gbV9tZXNzYWdlUmVjZWl2ZXJzOworICAgIEhhc2hNYXA8c3RkOjpw
YWlyPFJlY2VpdmVyTmFtZSwgdWludDY0X3Q+LCBNZXNzYWdlUmVjZWl2ZXIqLCBEZWZhdWx0SGFz
aDxzdGQ6OnBhaXI8UmVjZWl2ZXJOYW1lLCB1aW50NjRfdD4+LCBQYWlySGFzaFRyYWl0czxXVEY6
OlN0cm9uZ0VudW1IYXNoVHJhaXRzPFJlY2VpdmVyTmFtZT4sIEhhc2hUcmFpdHM8dWludDY0X3Q+
Pj4gbV9tZXNzYWdlUmVjZWl2ZXJzOwogfTsKIAogfTsKQEAgLTY2LDggKzY2LDYgQEAgcHJpdmF0
ZToKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVs
dEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxJUEM6OlJlY2VpdmVyTmFtZT4g
ewotICAgIHVzaW5nIEhhc2ggPSBJbnRIYXNoPElQQzo6UmVjZWl2ZXJOYW1lPjsKLX07Cit0ZW1w
bGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxJUEM6OlJlY2VpdmVyTmFtZT4gOiBJbnRIYXNoPElQ
Qzo6UmVjZWl2ZXJOYW1lPiB7IH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL1N0cmluZ1JlZmVyZW5jZS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMv
U3RyaW5nUmVmZXJlbmNlLmgKaW5kZXggZTcxNDQ4ZGI5NWY1NzA0MGIzMDJlNzNmMGMwZDNlMzA0
MzE3MjcyYi4uZGU2MDZkNzkxYWFiNzUwY2I5ZmI5MjA2YTNkZTEyZDk3YjRjOWVjNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJlbmNlLmgKKysrIGIv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJlbmNlLmgKQEAgLTk3LDkgKzk3
LDcgQEAgaW5saW5lIGJvb2wgU3RyaW5nUmVmZXJlbmNlOjpIYXNoOjplcXVhbChjb25zdCBTdHJp
bmdSZWZlcmVuY2UmIGEsIGNvbnN0IFN0cmluZ1IKIG5hbWVzcGFjZSBXVEYgewogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZh
dWx0SGFzaDxJUEM6OlN0cmluZ1JlZmVyZW5jZT4gewotICAgIHR5cGVkZWYgSVBDOjpTdHJpbmdS
ZWZlcmVuY2U6Okhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxJ
UEM6OlN0cmluZ1JlZmVyZW5jZT4gOiBJUEM6OlN0cmluZ1JlZmVyZW5jZTo6SGFzaCB7IH07CiAK
IHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SVBDOjpTdHJpbmdSZWZlcmVuY2U+IDogR2Vu
ZXJpY0hhc2hUcmFpdHM8SVBDOjpTdHJpbmdSZWZlcmVuY2U+IHsKICAgICBzdGF0aWMgY29uc3Qg
Ym9vbCBlbXB0eVZhbHVlSXNaZXJvID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0NhbGxiYWNrSUQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NhbGxiYWNrSUQuaAppbmRl
eCBhMjZmZWI4NjcyODRiZDAwN2RmMjEyMTM3ZjBlOTM0NzFmMTI0YjBjLi4xNjM4Y2VkMzRmMTU2
OWU1ZGIxMDFhZThlMWRkZjliYWVkNzUxMThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9DYWxsYmFja0lELmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ2FsbGJhY2tJRC5o
CkBAIC0xMjEsOCArMTIxLDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJLaXQ6
OkNhbGxiYWNrSUQ+IDogR2VuZXJpY0hhc2hUcmFpdHM8V2ViS2l0OjpDYWwKICAgICBzdGF0aWMg
dm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoV2ViS2l0OjpDYWxsYmFja0lEJiBzbG90KSB7IHNs
b3QgPSBXZWJLaXQ6OkNhbGxiYWNrSUQoc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1h
eCgpKTsgfQogICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFdlYktpdDo6Q2Fs
bGJhY2tJRCYgc2xvdCkgeyByZXR1cm4gc2xvdC5tX2lkID09IHN0ZDo6bnVtZXJpY19saW1pdHM8
dWludDY0X3Q+OjptYXgoKTsgfQogfTsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdl
YktpdDo6Q2FsbGJhY2tJRD4gewotICAgIHR5cGVkZWYgQ2FsbGJhY2tJREhhc2ggSGFzaDsKLX07
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJLaXQ6OkNhbGxiYWNrSUQ+IDogQ2Fs
bGJhY2tJREhhc2ggeyB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvY3BwL1dLUmV0YWluUHRyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvY3Bw
L1dLUmV0YWluUHRyLmgKaW5kZXggYmNjN2ZkZmFhNWFjYWE3MDVmYzVjOTVjNDcwODE3MGY1NDQz
MjQzMS4uZjRlYjkxNGQ3OTJhMDA4ZTM1MjlmNDJmNWE3MzBiZDQ3ZTE3ZTE0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2NwcC9XS1JldGFpblB0ci5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9jcHAvV0tSZXRhaW5QdHIuaApAQCAtMjY2LDkgKzI2
Niw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBJc1NtYXJ0UHRyPFdLUmV0YWluUHRy
PFQ+PiB7CiAgICAgV1RGX0lOVEVSTkFMIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gdHJ1ZTsK
IH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxXS1JldGFpblB0
cjxQPj4gewotICAgIHR5cGVkZWYgUHRySGFzaDxXS1JldGFpblB0cjxQPj4gSGFzaDsKLX07Cit0
ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V0tSZXRhaW5QdHI8UD4+IDog
UHRySGFzaDxXS1JldGFpblB0cjxQPj4geyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1
Y3QgSGFzaFRyYWl0czxXS1JldGFpblB0cjxQPj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8V0tS
ZXRhaW5QdHI8UD4+IHsKICAgICBzdGF0aWMgUCBlbXB0eVZhbHVlKCkgeyByZXR1cm4gbnVsbHB0
cjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ09NUHJvcGVydHlCYWcu
aCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NPTVByb3BlcnR5QmFnLmgKaW5kZXggYjU3OTVj
NmQ4NjQ0MTdkZjU5NWQ3MmJiOWVjYTYyNjhjNzIyNWIyMi4uNDEwN2VhZDRiMmQ4NTA2MzU4MGFl
YjBhNjE1ODI2OGUwM2EyYmFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q09NUHJvcGVydHlCYWcuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DT01Qcm9wZXJ0
eUJhZy5oCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0
eXBlbmFtZSBLZXlUeXBlID0gdHlwZW5hbWUgV1RGOjpTdHJpbmcsIHR5cGVuYW1lIEhhc2hUeXBl
ID0gdHlwZW5hbWUgV1RGOjpTdHJpbmdIYXNoPgordGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBl
LCB0eXBlbmFtZSBLZXlUeXBlID0gdHlwZW5hbWUgV1RGOjpTdHJpbmcsIHR5cGVuYW1lIEhhc2hU
eXBlID0gdHlwZW5hbWUgV1RGOjpEZWZhdWx0SGFzaDxLZXlUeXBlPj4KIGNsYXNzIENPTVByb3Bl
cnR5QmFnIGZpbmFsIDogcHVibGljIElQcm9wZXJ0eUJhZywgcHVibGljIElQcm9wZXJ0eUJhZzIg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENPTVByb3BlcnR5QmFnKTsKIHB1YmxpYzoKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwOTllYTcw
NjE5Y2U3MDczMDdkNjY4NDY1N2JiMzM5MzE3YmY0N2M0Li4yMjE0NWQxYjQ4NWI4ZjE2MjljYjZm
M2Y1ZGYyYjUwMDQ1YmIzNmU5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjAtMDctMTUgIEZ1amlpIEhpcm9ub3Jp
ICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgW1dURl0gUmVtb3ZlIHRoZSB1
bm5lY2Vzc2FyeSBpbm5lciBjbGFzcyBEZWZhdWx0SGFzaDxUPjo6SGFzaAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Mzg5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9EZWxldGVkQWRkcmVzc09mT3BlcmF0b3IuaDoKKyAgICAgICAgKFdURjo6RGVmYXVsdEhh
c2g8RGVsZXRlZEFkZHJlc3NPZk9wZXJhdG9yPjo6aGFzaCk6CisgICAgICAgIChXVEY6OkRlZmF1
bHRIYXNoPERlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRvcj46OmVxdWFsKToKKyAgICAgICAgKFdURjo6
RGVmYXVsdEhhc2g8RGVsZXRlZEFkZHJlc3NPZk9wZXJhdG9yPjo6SGFzaDo6aGFzaCk6IERlbGV0
ZWQuCisgICAgICAgIChXVEY6OkRlZmF1bHRIYXNoPERlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRvcj46
Okhhc2g6OmVxdWFsKTogRGVsZXRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9IYXNoQ291bnRlZFNldC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpidWNrZXRGb3JL
ZXkpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hNYXAuY3BwOgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6YnVja2V0Rm9yS2V5KToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hTZXQuY3Bw
OgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGVzdEluaXRpYWxDYXBhY2l0eSk6CisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTW92ZU9ubHkuaDoKKyAgICAgICAgKFdURjo6RGVm
YXVsdEhhc2g8TW92ZU9ubHk+OjpoYXNoKToKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8TW92
ZU9ubHk+OjplcXVhbCk6CisgICAgICAgIChXVEY6OkRlZmF1bHRIYXNoPE1vdmVPbmx5Pjo6SGFz
aDo6aGFzaCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkRlZmF1bHRIYXNoPE1vdmVPbmx5Pjo6
SGFzaDo6ZXF1YWwpOiBEZWxldGVkLgorCiAyMDIwLTA3LTE1ICBKb25hdGhhbiBCZWRhcmQgIDxq
YmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbd2Via2l0Y29yZXB5XSBTcGluIG9mZiBnZW5l
cmFsIHdlYmtpdHB5IHRvb2xzIGludG8gYSBwaXAgbW9kdWxlCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9EZWxldGVkQWRkcmVzc09mT3BlcmF0b3IuaCBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0RlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRvci5oCmluZGV4
IDMxZDVkODBiOTM4NDM0YzAxNjZlZTI1MWUxMzkzMjFjZjg1OGZhZGQuLjQ1Y2NmYTQwMzBlMTJh
ZDNjNWE2ZGMzNzRjMTViZDllZDMxMDkwMmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL0RlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRvci5oCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL0RlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRvci5oCkBAIC02NiwxOSAr
NjYsMTcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxEZWxldGVkQWRkcmVzc09mT3Bl
cmF0b3I+IDogcHVibGljIEdlbmVyaWNIYXNoVHJhaXQKIH07CiAKIHRlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPERlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRvcj4gewotICAgIHN0cnVjdCBIYXNo
IHsKLSAgICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgRGVsZXRlZEFkZHJlc3NPZk9w
ZXJhdG9yJiBrZXkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBpbnRIYXNoKGtleS52
YWx1ZSgpKTsKLSAgICAgICAgfQorICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IERlbGV0
ZWRBZGRyZXNzT2ZPcGVyYXRvciYga2V5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGludEhhc2go
a2V5LnZhbHVlKCkpOworICAgIH0KIAotICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBE
ZWxldGVkQWRkcmVzc09mT3BlcmF0b3ImIGEsIGNvbnN0IERlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRv
ciYgYikKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIGEgPT0gYjsKLSAgICAgICAgfQor
ICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IERlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRvciYgYSwg
Y29uc3QgRGVsZXRlZEFkZHJlc3NPZk9wZXJhdG9yJiBiKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGEgPT0gYjsKKyAgICB9CiAKLSAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFy
ZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwotICAgIH07CisgICAgc3RhdGljIGNvbnN0IGJvb2wg
c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwogfTsKIH0KIApkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaENvdW50ZWRTZXQuY3BwIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaENvdW50ZWRTZXQuY3BwCmluZGV4IDdiOGZh
ZjI4OGFiYzA3Y2ZhZjhiNTI3MTIzOGY3NmQwMTMwMTJlZTYuLjJjZDdkMTMxN2I1ODhkNWYwNDM0
MDY1MTExODJiMGU4OGQ3ZDE2NGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL0hhc2hDb3VudGVkU2V0LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9IYXNoQ291bnRlZFNldC5jcHAKQEAgLTU5LDExICs1OSwxMSBAQCBzdHJ1Y3QgVGVzdERv
dWJsZUhhc2hUcmFpdHMgOiBIYXNoVHJhaXRzPGRvdWJsZT4gewogICAgIHN0YXRpYyBjb25zdCBp
bnQgbWluaW11bVRhYmxlU2l6ZSA9IDg7CiB9OwogCi10eXBlZGVmIEhhc2hDb3VudGVkU2V0PGRv
dWJsZSwgRGVmYXVsdEhhc2g8ZG91YmxlPjo6SGFzaCwgVGVzdERvdWJsZUhhc2hUcmFpdHM+IERv
dWJsZUhhc2hDb3VudGVkU2V0OwordHlwZWRlZiBIYXNoQ291bnRlZFNldDxkb3VibGUsIERlZmF1
bHRIYXNoPGRvdWJsZT4sIFRlc3REb3VibGVIYXNoVHJhaXRzPiBEb3VibGVIYXNoQ291bnRlZFNl
dDsKIAogc3RhdGljIGludCBidWNrZXRGb3JLZXkoZG91YmxlIGtleSkKIHsKLSAgICByZXR1cm4g
RGVmYXVsdEhhc2g8ZG91YmxlPjo6SGFzaDo6aGFzaChrZXkpICYgKFRlc3REb3VibGVIYXNoVHJh
aXRzOjptaW5pbXVtVGFibGVTaXplIC0gMSk7CisgICAgcmV0dXJuIERlZmF1bHRIYXNoPGRvdWJs
ZT46Omhhc2goa2V5KSAmIChUZXN0RG91YmxlSGFzaFRyYWl0czo6bWluaW11bVRhYmxlU2l6ZSAt
IDEpOwogfQogCiBURVNUKFdURl9IYXNoQ291bnRlZFNldCwgRG91YmxlSGFzaENvbGxpc2lvbnMp
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9IYXNoTWFwLmNwcCBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hNYXAuY3BwCmluZGV4IDIwOGQ5NjUz
MWQ1YmU0NzAwMTM5N2Q1OTAxMTkxNGYxNzJkMzU1ZGIuLmVkNzdkYTU5ZGU3ZGFiZDUxMjdlMDc4
MjI0YmQ2OGYyOTIwYWU3YmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL0hhc2hNYXAuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hN
YXAuY3BwCkBAIC02MywxMSArNjMsMTEgQEAgc3RydWN0IFRlc3REb3VibGVIYXNoVHJhaXRzIDog
SGFzaFRyYWl0czxkb3VibGU+IHsKICAgICBzdGF0aWMgY29uc3QgaW50IG1pbmltdW1UYWJsZVNp
emUgPSA4OwogfTsKIAotdHlwZWRlZiBIYXNoTWFwPGRvdWJsZSwgaW50NjRfdCwgRGVmYXVsdEhh
c2g8ZG91YmxlPjo6SGFzaCwgVGVzdERvdWJsZUhhc2hUcmFpdHM+IERvdWJsZUhhc2hNYXA7Cit0
eXBlZGVmIEhhc2hNYXA8ZG91YmxlLCBpbnQ2NF90LCBEZWZhdWx0SGFzaDxkb3VibGU+LCBUZXN0
RG91YmxlSGFzaFRyYWl0cz4gRG91YmxlSGFzaE1hcDsKIAogc3RhdGljIGludCBidWNrZXRGb3JL
ZXkoZG91YmxlIGtleSkKIHsKLSAgICByZXR1cm4gRGVmYXVsdEhhc2g8ZG91YmxlPjo6SGFzaDo6
aGFzaChrZXkpICYgKFRlc3REb3VibGVIYXNoVHJhaXRzOjptaW5pbXVtVGFibGVTaXplIC0gMSk7
CisgICAgcmV0dXJuIERlZmF1bHRIYXNoPGRvdWJsZT46Omhhc2goa2V5KSAmIChUZXN0RG91Ymxl
SGFzaFRyYWl0czo6bWluaW11bVRhYmxlU2l6ZSAtIDEpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBzdHJ1Y3QgQmlnVGFibGVIYXNoVHJhaXRzIDogcHVibGljIEhhc2hUcmFpdHM8VD4gewpA
QCAtMTAyMSw3ICsxMDIxLDcgQEAgVEVTVChXVEZfSGFzaE1hcCwgUmFuZG9tX1dyYXBBcm91bmQp
CiAKIFRFU1QoV1RGX0hhc2hNYXAsIFJhbmRvbV9Jc0V2ZW5seURpc3RyaWJ1dGVkKQogewotICAg
IEhhc2hNYXA8dW5zaWduZWQsIHVuc2lnbmVkLCBEZWZhdWx0SGFzaDx1bnNpZ25lZD46Okhhc2gs
IFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiBtYXA7CisgICAg
SGFzaE1hcDx1bnNpZ25lZCwgdW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpV
bnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IG1hcDsKICAgICBtYXAuYWRk
KDAsIDApOwogICAgIG1hcC5hZGQoMSwgMSk7CiAKQEAgLTEwOTQsNyArMTA5NCw3IEBAIFRFU1Qo
V1RGX0hhc2hNYXAsIFJlc2VydmVJbml0aWFsQ2FwYWNpdHkpCiBURVNUKFdURl9IYXNoTWFwLCBS
YW5kb21fSXNFdmVubHlEaXN0cmlidXRlZEFmdGVyUmVtb3ZlKQogewogICAgIGZvciAoc2l6ZV90
IHRhYmxlU2l6ZSA9IDI7IHRhYmxlU2l6ZSA8PSAyICogNjsgKyt0YWJsZVNpemUpIHsgLy8gT3Vy
IGhhc2ggdGFibGVzIHNocmluayBhdCBhIGxvYWQgZmFjdG9yIG9mIDEgLyA2LgotICAgICAgICBI
YXNoTWFwPHVuc2lnbmVkLCB1bnNpZ25lZCwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+OjpIYXNoLCBX
VEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gbWFwOworICAgICAg
ICBIYXNoTWFwPHVuc2lnbmVkLCB1bnNpZ25lZCwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6
OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gbWFwOwogICAgICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHRhYmxlU2l6ZTsgKytpKQogICAgICAgICAgICAgbWFwLmFk
ZChpLCBpKTsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDI7IGkgPCB0YWJsZVNpemU7ICsraSkK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hTZXQuY3BwIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaFNldC5jcHAKaW5kZXggNGNjMjQ3ZmMx
MjgyYWRhZmZiMDkxM2MxZmRhNThkZGM3YmZlNDllMy4uNjg1MTQ4MmY2YTE2ZTUxNWVhYzViYmEx
YjljMGQ2YzJkNDg3MTE2NSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvSGFzaFNldC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaFNl
dC5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgdGVtcGxhdGU8dW5zaWduZWQgc2l6ZT4KIHZvaWQgdGVz
dEluaXRpYWxDYXBhY2l0eSgpCiB7CiAgICAgY29uc3QgdW5zaWduZWQgaW5pdGlhbENhcGFjaXR5
ID0gV1RGOjpIYXNoVGFibGVDYXBhY2l0eUZvclNpemU8c2l6ZT46OnZhbHVlOwotICAgIEhhc2hT
ZXQ8aW50LCBEZWZhdWx0SGFzaDxpbnQ+OjpIYXNoLCBJbml0aWFsQ2FwYWNpdHlUZXN0SGFzaFRy
YWl0czxpbml0aWFsQ2FwYWNpdHk+ID4gdGVzdFNldDsKKyAgICBIYXNoU2V0PGludCwgRGVmYXVs
dEhhc2g8aW50PiwgSW5pdGlhbENhcGFjaXR5VGVzdEhhc2hUcmFpdHM8aW5pdGlhbENhcGFjaXR5
PiA+IHRlc3RTZXQ7CiAKICAgICAvLyBJbml0aWFsIGNhcGFjaXR5IGlzIG51bGwuCiAgICAgQVNT
RVJUX0VRKDB1LCB0ZXN0U2V0LmNhcGFjaXR5KCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvTW92ZU9ubHkuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL01vdmVPbmx5LmgKaW5kZXggM2ZmMWVhMDNiOTFkYmQ0YzhjMDM3MjFhODAxMjhkYWNlMTVj
ZmNjZi4uZDljMjA2YzI4ZWM0OWRjY2QwY2Y5ZDQwN2FkMzcyZmFjMDI0NGJhZCAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTW92ZU9ubHkuaAorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Nb3ZlT25seS5oCkBAIC04NCwxOSArODQsMTcgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxNb3ZlT25seT4gOiBwdWJsaWMgR2VuZXJpY0hhc2hU
cmFpdHM8TW92ZU9ubHk+IHsKIH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPE1v
dmVPbmx5PiB7Ci0gICAgc3RydWN0IEhhc2ggewotICAgICAgICBzdGF0aWMgdW5zaWduZWQgaGFz
aChjb25zdCBNb3ZlT25seSYga2V5KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gaW50
SGFzaChrZXkudmFsdWUoKSk7Ci0gICAgICAgIH0KLQotICAgICAgICBzdGF0aWMgYm9vbCBlcXVh
bChjb25zdCBNb3ZlT25seSYgYSwgY29uc3QgTW92ZU9ubHkmIGIpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIHJldHVybiBhID09IGI7Ci0gICAgICAgIH0KLQotICAgICAgICBzdGF0aWMgY29uc3Qg
Ym9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7Ci0gICAgfTsKKyAgICBz
dGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBNb3ZlT25seSYga2V5KSAKKyAgICB7CisgICAgICAg
IHJldHVybiBpbnRIYXNoKGtleS52YWx1ZSgpKTsKKyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBl
cXVhbChjb25zdCBNb3ZlT25seSYgYSwgY29uc3QgTW92ZU9ubHkmIGIpCisgICAgeworICAgICAg
ICByZXR1cm4gYSA9PSBiOworICAgIH0KKworICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0Nv
bXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKIH07CiB9IC8vIG5hbWVzcGFjZSBXVEYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404415</attachid>
            <date>2020-07-15 20:09:44 -0700</date>
            <delta_ts>2020-07-15 22:12:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214389-20200716120943.patch</filename>
            <type>text/plain</type>
            <size>162645</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NDQyNGRiNDI2NTFiNjFkOTk4MTE1Y2VkZDUzMDViNzY0ZWNhZTAwLi4wNjZjZThjOTJlMDg1NGUz
M2UxMTdhMWE5YjMxZjI3ZWVhNmUyNGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NiBAQAorMjAyMC0wNy0xNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KKworICAgICAgICBbV1RGXSBSZW1vdmUgdGhlIHVubmVjZXNzYXJ5IGlubmVyIGNs
YXNzIERlZmF1bHRIYXNoPFQ+OjpIYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTQzODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckNvZGVSZWYuaDoKKyAg
ICAgICAgKiBiMy9CM0NoZWNrU3BlY2lhbC5oOgorICAgICAgICAqIGIzL0IzS2luZC5oOgorICAg
ICAgICAqIGIzL0IzVmFsdWVLZXkuaDoKKyAgICAgICAgKiBiMy9haXIvQWlyQWxsb2NhdGVSZWdp
c3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwOgorICAgICAgICAqIGIzL2Fpci9BaXJBcmcuaDoKKyAg
ICAgICAgKiBiMy9haXIvQWlyVG1wLmg6CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVJbmRl
eC5oOgorICAgICAgICAqIGJ5dGVjb2RlL0NhbGxWYXJpYW50Lmg6CisgICAgICAgICogYnl0ZWNv
ZGUvQ29kZU9yaWdpbi5oOgorICAgICAgICAqIGJ5dGVjb2RlL0RGR0V4aXRQcm9maWxlLmg6Cisg
ICAgICAgICogYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaDoKKyAgICAgICAgKiBi
eXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oOgorICAgICAgICAqIGJ5dGVjb2RlL1By
b3BlcnR5Q29uZGl0aW9uLmg6CisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0SGVhcC5oOgorICAg
ICAgICAqIGRmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKiBk
ZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAqIGRmZy9ERkdDU0VQaGFzZS5jcHA6
CisgICAgICAgICogZGZnL0RGR0NvbXBpbGF0aW9uS2V5Lmg6CisgICAgICAgICogZGZnL0RGR0Rl
c2lyZWRHbG9iYWxQcm9wZXJ0eS5oOgorICAgICAgICAqIGRmZy9ERkdIZWFwTG9jYXRpb24uaDoK
KyAgICAgICAgKiBkZmcvREZHTGl2ZW5lc3NBbmFseXNpc1BoYXNlLmNwcDoKKyAgICAgICAgKiBk
ZmcvREZHTWluaWZpZWRJRC5oOgorICAgICAgICAqIGRmZy9ERkdOb2RlRmxvd1Byb2plY3Rpb24u
aDoKKyAgICAgICAgKiBkZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaDoKKyAgICAgICAgKiBk
ZmcvREZHUHJvcGVydHlUeXBlS2V5Lmg6CisgICAgICAgICogZGZnL0RGR1B1cmVWYWx1ZS5oOgor
ICAgICAgICAqIGZ0bC9GVExMb2NhdGlvbi5oOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1Rv
QjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTmV3
QXJyYXlXaXRoU3ByZWFkKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6
Y29tcGlsZUNhbGxPckNvbnN0cnVjdFZhcmFyZ3NTcHJlYWQpOgorICAgICAgICAoSlNDOjpGVEw6
OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTWF0ZXJpYWxpemVOZXdPYmplY3QpOgorICAgICAg
ICAqIGZ0bC9GVExTbG93UGF0aENhbGxLZXkuaDoKKyAgICAgICAgKiBoZWFwL01hcmtlZEJsb2Nr
Lmg6CisgICAgICAgICogaGVhcC9WaXNpdFJhY2VLZXkuaDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
c2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHk6Cisg
ICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1h
c3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0
ZXJzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVj
dGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdDoK
KyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0
aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0Ogor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtcmVxdWlyaW5n
LXJ1bnRpbWUtY2FzdHMuanNvbi1yZXN1bHQ6CisgICAgICAgICogaml0L0lDU3RhdHMuaDoKKyAg
ICAgICAgKiBqaXQvSklUVGh1bmtzLmg6CisgICAgICAgICogaml0L1JlZy5oOgorICAgICAgICAq
IGppdC9SZWdpc3RlclNldC5oOgorICAgICAgICAqIHBhcnNlci9WYXJpYWJsZUVudmlyb25tZW50
Lmg6CisgICAgICAgICogcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW4uaDoKKyAgICAgICAgKiBwcm9m
aWxlci9Qcm9maWxlck9yaWdpblN0YWNrLmg6CisgICAgICAgICogcHJvZmlsZXIvUHJvZmlsZXJV
SUQuaDoKKyAgICAgICAgKiBydW50aW1lL0NhY2hlZFR5cGVzLmNwcDoKKyAgICAgICAgKiBydW50
aW1lL0NvbnRyb2xGbG93UHJvZmlsZXIuaDoKKyAgICAgICAgKiBydW50aW1lL05hdGl2ZUZ1bmN0
aW9uLmg6CisgICAgICAgICogcnVudGltZS9Qcm90b3R5cGVLZXkuaDoKKyAgICAgICAgKiBydW50
aW1lL1JlZ0V4cEtleS5oOgorICAgICAgICAqIHJ1bnRpbWUvVGVtcGxhdGVPYmplY3REZXNjcmlw
dG9yLmg6CisgICAgICAgICogcnVudGltZS9UeXBlUHJvZmlsZXIuaDoKKyAgICAgICAgKiBydW50
aW1lL1Zhck9mZnNldC5oOgorICAgICAgICAqIHJ1bnRpbWUvV2Vha0dDTWFwLmg6CisgICAgICAg
ICogd2FzbS9XYXNtQkJRUGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbUNvZGVCbG9jay5oOgor
ICAgICAgICAqIHdhc20vV2FzbUVudHJ5UGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbUxMSW50
UGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbVNpZ25hdHVyZS5oOgorCiAyMDIwLTA3LTE1ICBG
dWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtDTWFr
ZV1bV2ViRHJpdmVyXSBHZW5lcmF0aW5nIFdlYkRyaXZlckF0b21zLmNwcCBpcyByYXJlbHkgZmFp
bGluZyBhcyAiSW1wb3J0RXJyb3I6IE5vIG1vZHVsZSBuYW1lZCBqc21pbiIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggYjg5OWY2
YzJlMTAwYjkwMTYxMjUxNjFjYWUzOTJkMzhiZjA5NzBkOS4uMTA3MjMwMjQ2ZjdiYzJkYzM4NzQx
YmZjYzkzNWJjMTAyZGY4ZDgxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAyMC0wNy0xNSAgRnVq
aWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBbV1RGXSBS
ZW1vdmUgdGhlIHVubmVjZXNzYXJ5IGlubmVyIGNsYXNzIERlZmF1bHRIYXNoPFQ+OjpIYXNoCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQzODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWZhdWx0SGFz
aDxUPiBkb2Vzbid0IG5lZWQgdG8gaGF2ZSBhIGlubmVyIHN0cnVjdCBIYXNoLiBUaGlzIGNhbgor
ICAgICAgICBiZSBhIHByb2JsZW0gZm9yIGZvcndhcmQgZGVjbGFyYXRpb25zIChCdWcgMjE0MzIw
IENvbW1lbnQgNSkuCisKKyAgICAgICAgKiB3dGYvQml0VmVjdG9yLmg6CisgICAgICAgICogd3Rm
L0ZvcndhcmQuaDoKKyAgICAgICAgKiB3dGYvSGFzaEZ1bmN0aW9ucy5oOgorICAgICAgICAoV1RG
OjpQYWlySGFzaDo6aGFzaCk6CisgICAgICAgIChXVEY6OlBhaXJIYXNoOjplcXVhbCk6CisgICAg
ICAgIChXVEY6OlR1cGxlSGFzaDo6aGFzaCk6CisgICAgICAgIChXVEY6OlR1cGxlSGFzaDo6ZXF1
YWwpOgorICAgICAgICAqIHd0Zi9MaXN0SGFzaFNldC5oOgorICAgICAgICAqIHd0Zi9Mb2dnaW5n
SGFzaE1hcC5oOgorICAgICAgICAqIHd0Zi9Mb2dnaW5nSGFzaFNldC5oOgorICAgICAgICAqIHd0
Zi9NZXRhQWxsb2NhdG9yUHRyLmg6CisgICAgICAgICogd3RmL09iamVjdElkZW50aWZpZXIuaDoK
KyAgICAgICAgKiB3dGYvT3B0aW9uU2V0SGFzaC5oOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFz
aDxPcHRpb25TZXQ8VD4+OjpoYXNoKToKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8T3B0aW9u
U2V0PFQ+Pjo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxPcHRpb25TZXQ8VD4+
OjpIYXNoOjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8T3B0aW9u
U2V0PFQ+Pjo6SGFzaDo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi9QYWNrZWQuaDoK
KyAgICAgICAgKiB3dGYvUmV0YWluUHRyLmg6CisgICAgICAgICogd3RmL1N0YWNrU2hvdC5oOgor
ICAgICAgICAqIHd0Zi9VUkxIYXNoLmg6CisgICAgICAgICogd3RmL1ZlY3Rvckhhc2guaDoKKyAg
ICAgICAgKFdURjo6VmVjdG9ySGFzaDo6aGFzaCk6CisgICAgICAgICogd3RmL3RleHQvQXRvbVN0
cmluZy5oOgorICAgICAgICAqIHd0Zi90ZXh0L0F0b21TdHJpbmdIYXNoLmg6CisgICAgICAgICog
d3RmL3RleHQvQ1N0cmluZy5oOgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0hhc2guaDoKKyAg
ICAgICAgKiB3dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAgICAgICogd3RmL3RleHQvU3ltYm9s
UmVnaXN0cnkuaDoKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8U3ltYm9sUmVnaXN0cnlLZXk+
OjpoYXNoKToKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8U3ltYm9sUmVnaXN0cnlLZXk+Ojpl
cXVhbCk6CisgICAgICAgIChXVEY6OkRlZmF1bHRIYXNoPFN5bWJvbFJlZ2lzdHJ5S2V5Pjo6SGFz
aDo6aGFzaCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkRlZmF1bHRIYXNoPFN5bWJvbFJlZ2lz
dHJ5S2V5Pjo6SGFzaDo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi90ZXh0L1dURlN0
cmluZy5oOgorCiAyMDIwLTA3LTE1ICBTYWFnYXIgSmhhICA8c2FhZ2FyQHNhYWdhcmpoYS5jb20+
CiAKICAgICAgICAgQWRkIHNvbWUgbWlzc2luZyBib2lsZXJwbGF0ZSB0byBoZWxwIGZpeCBidWls
ZCBvbiBtYWNPUyBCaWcgU3VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTdlNmQ4YzZkNWU4YjQzN2M3ZTU2ZjBl
MzBiNmM3NjU4MzdhOTFlOS4uNzY2YjJjZGE4MDYzMzg0MWRmOTUwYWQxNzEyOTAzZWRjODlhMjNm
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkwIEBACisyMDIwLTA3LTE1ICBGdWppaSBIaXJvbm9y
aSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtXVEZdIFJlbW92ZSB0aGUg
dW5uZWNlc3NhcnkgaW5uZXIgY2xhc3MgRGVmYXVsdEhhc2g8VD46Okhhc2gKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDM4OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
SURCRGF0YWJhc2VJZGVudGlmaWVyLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hh
cmVkL0lEQlJlc291cmNlSWRlbnRpZmllci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTFVubmFtZWRUeXBlSGFzaC5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMU2VtYW50aWNNYXRjaGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNM
OjptYXRjaFJlc291cmNlcyk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6bWF0Y2hWZXJ0ZXhB
dHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjptYXRjaENvbG9yQXR0YWNobWVu
dHMpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6Cisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgICog
Y29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbkNvbXBpbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpzZXJpYWxpemVBY3Rpb25zKToKKyAgICAgICAg
KiBjb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uUnVsZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udGVudEV4dGVuc2lvbnM6OlRyaWdnZXJIYXNoOjpoYXNoKToKKyAgICAgICAgKiBj
b250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oOgorICAgICAgICAq
IGNvbnRlbnRleHRlbnNpb25zL0RGQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0
ZW5zaW9uczo6cHJpbnRUcmFuc2l0aW9ucyk6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMv
REZBQnl0ZWNvZGVJbnRlcnByZXRlci5oOgorICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL0RG
QUNvbWJpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpERkFN
ZXJnZXI6OmdldE9yQ3JlYXRlQ29tYmluZWROb2RlKToKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5z
aW9ucy9ERkFOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpE
RkFOb2RlOjpiZXN0RmFsbGJhY2tUYXJnZXQgY29uc3QpOgorICAgICAgICAqIGNvbnRlbnRleHRl
bnNpb25zL0ltbXV0YWJsZU5GQU5vZGVCdWlsZGVyLmg6CisgICAgICAgICogY29udGVudGV4dGVu
c2lvbnMvTkZBLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpORkE6
OmRlYnVnUHJpbnREb3QgY29uc3QpOgorICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL05GQU5v
ZGUuaDoKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5zaW9ucy9ORkFUb0RGQS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6Tm9kZUlkU2V0VG9VbmlxdWVOb2RlSWRTZXRT
b3VyY2U6Ok5vZGVJZFNldFRvVW5pcXVlTm9kZUlkU2V0U291cmNlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRlbnRFeHRlbnNpb25zOjpOb2RlSWRTZXRUb1VuaXF1ZU5vZGVJZFNldFRyYW5zbGF0
b3I6OnRyYW5zbGF0ZSk6CisgICAgICAgICogY3NzL21ha2Vwcm9wLnBsOgorICAgICAgICAqIGNz
cy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5oOgorICAgICAgICAqIGRvbS9HQ1JlYWNoYWJsZVJl
Zi5oOgorICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydElkZW50aWZpZXIuaDoKKyAgICAgICAgKiBk
b20vTm9kZVJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2RlRGF0YTo6
Tm9kZUxpc3RDYWNoZU1hcEVudHJ5SGFzaDo6aGFzaCk6CisgICAgICAgIChXZWJDb3JlOjpOb2Rl
TGlzdHNOb2RlRGF0YTo6Tm9kZUxpc3RDYWNoZU1hcEVudHJ5SGFzaDo6ZXF1YWwpOgorICAgICAg
ICAqIGRvbS9RdWFsaWZpZWROYW1lLmg6CisgICAgICAgICogaGlzdG9yeS9CYWNrRm9yd2FyZEl0
ZW1JZGVudGlmaWVyLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5oOgorICAgICAgICAqIGxheW91dC9MYXlvdXRVbml0cy5oOgorICAgICAgICAqIGxv
YWRlci9BZENsaWNrQXR0cmlidXRpb24uaDoKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VDcnlw
dG9ncmFwaGljRGlnZXN0Lmg6CisgICAgICAgIChXVEY6OkRlZmF1bHRIYXNoPFdlYkNvcmU6OlJl
c291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdD46Omhhc2gpOgorICAgICAgICAoV1RGOjpEZWZhdWx0
SGFzaDxXZWJDb3JlOjpSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+OjplcXVhbCk6CisgICAg
ICAgIChXVEY6OkRlZmF1bHRIYXNoPFdlYkNvcmU6OlJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2Vz
dD46Okhhc2g6Omhhc2gpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxXZWJD
b3JlOjpSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+OjpIYXNoOjplcXVhbCk6IERlbGV0ZWQu
CisgICAgICAgICogcGFnZS9DbGllbnRPcmlnaW4uaDoKKyAgICAgICAgKiBwYWdlL0dsb2JhbFdp
bmRvd0lkZW50aWZpZXIuaDoKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5T3JpZ2luRGF0YS5oOgor
ICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW5IYXNoLmg6CisgICAgICAgICogcGxhdGZvcm0v
Q29va2llLmg6CisgICAgICAgICogcGxhdGZvcm0vUmVnaXN0cmFibGVEb21haW4uaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvckhhc2guaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9GbG9hdFNpemVIYXNoLmg6CisgICAgICAgIChXVEY6OkZsb2F0SGFzaDxXZWJDb3Jl
OjpGbG9hdFNpemU+OjpoYXNoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250R2Vu
ZXJpY0ZhbWlsaWVzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnRIYXNo
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdEhhc2guaDoKKyAgICAgICAg
KFdURjo6SW50SGFzaDxXZWJDb3JlOjpJbnRSZWN0Pjo6aGFzaCk6CisgICAgICAgIChXVEY6Oklu
dEhhc2g8V2ViQ29yZTo6SW50UmVjdD46OmVxdWFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9JbnRTaXplSGFzaC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoQ2Fj
aGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVl
VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGYWxsYmFja0ZvbnREZXNjcmlwdGlvbktleTo6
Y29tcHV0ZUhhc2ggY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNl
cnMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZUhhc2guaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS93aW4vQ09NUHRyLmg6CisgICAgICAgICogcGxhdGZvcm0vd2lu
L1dpbmRvd3NLZXlOYW1lcy5oOgorICAgICAgICAqIHJlbmRlcmluZy9DU1NWYWx1ZUtleS5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9HcmlkQmFzZWxpbmVBbGlnbm1lbnQuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cGxhY2VTcGVj
aWZpZWRNYWpvckF4aXNJdGVtc09uR3JpZCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmg6CisgICAgICAgICogc3R5bGUvUnVsZVNldC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZTo6UnVsZVNldDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeVJ1bGVzKToKKyAg
ICAgICAgKiBzdmcvU1ZHRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQXR0cmlidXRl
SGFzaFRyYW5zbGF0b3I6Omhhc2gpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ2xpZW50SWRlbnRpZmllci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5Lmg6CisKIDIwMjAtMDctMTUgIERldmluIFJvdXNzbyAg
PGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZm9sbG93dXAsIHVzZSBg
b2JqZWN0UmVwbGFjZW1lbnRDaGFyYWN0ZXJgIGluc3RlYWQgb2YgYDB4RkZGQ2AKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCmluZGV4IDY0ZDczMWNiMmRkNjY3Y2EzMjg2NDA4OWZhYWJkMzExZDViMTA1OGQuLmNh
NzlmZGRiZDMyYTRiNzg4OTQxOTIwODljMmU0MmJhZjdlZjc2MGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA3LTE1ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3Jp
LkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtXVEZdIFJlbW92ZSB0aGUgdW5uZWNlc3Nhcnkg
aW5uZXIgY2xhc3MgRGVmYXVsdEhhc2g8VD46Okhhc2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDM4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL1Nlc3Npb25JRC5oOgorCiAyMDIwLTA3LTE1
ICBTYWFnYXIgSmhhICA8c2FhZ2FyQHNhYWdhcmpoYS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUg
bWlzc2luZyBib2lsZXJwbGF0ZSB0byBoZWxwIGZpeCBidWlsZCBvbiBtYWNPUyBCaWcgU3VyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDJiZmE1OWJiZTI0YTU3MDFlMmMwMWRjZDA2ZjQzZmI4NTRmNjJiMjguLmJmZjU3
ODQ4M2RkODBkZGVlMjc4YjJiMTExZjY3ZWNiYzg1MTFjNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTggQEAKKzIwMjAtMDctMTUgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5j
b20+CisKKyAgICAgICAgW1dURl0gUmVtb3ZlIHRoZSB1bm5lY2Vzc2FyeSBpbm5lciBjbGFzcyBE
ZWZhdWx0SGFzaDxUPjo6SGFzaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0Mzg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRJRC5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5oOgorICAgICAgICAqIFBsYXRmb3Jt
L0lQQy9NZXNzYWdlUmVjZWl2ZXJNYXAuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvU3RyaW5n
UmVmZXJlbmNlLmg6CisgICAgICAgICogU2hhcmVkL0NhbGxiYWNrSUQuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2NwcC9XS1JldGFpblB0ci5oOgorCiAyMDIwLTA3LTE1ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnQg
cGFydCBvZiByMjY0Mzg1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IDI2NDZmYjky
ODk3ZTU1Njk2YzljNzZiN2FmYWMzYjIxMDZhNGYyYzEuLjkwNDE3YTRjZmQ2YmQ2M2Y5MmZlNzg2
NWYzZTA1MTY4YjI0NTFiZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAyMC0wNy0xNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255
LmNvbT4KKworICAgICAgICBbV1RGXSBSZW1vdmUgdGhlIHVubmVjZXNzYXJ5IGlubmVyIGNsYXNz
IERlZmF1bHRIYXNoPFQ+OjpIYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTQzODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIENPTVByb3BlcnR5QmFnLmg6CisKIDIwMjAtMDctMDcgIFNhbSBXZWlu
aWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFBhcnQgMiBvZiBTaW1wbGVDb2xvciBh
bmQgU1JHQkE8dWludDhfdD4gYXJlIGVzc2VudGlhbGx5IHRoZSBzYW1lIC0gbGV0J3MgY29udmVy
Z2UgdGhlbQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckNvZGVSZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJDb2RlUmVmLmgKaW5kZXggY2IyNGIyZDljNWU0YzlkYWI0MjZiZmJhY2QwOWE2
OWZjYjM1MjY2OS4uOWM0YzY5NWUxYmUxMzk3N2E3YWVlYjA1NGJkZjQxYzExYzI0NWVhMiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckNv
ZGVSZWYuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyQ29kZVJlZi5oCkBAIC01MjksOSArNTI5LDcgQEAgaW5saW5lIEZ1bmN0aW9uUHRyPHRhZz46
OkZ1bmN0aW9uUHRyKE1hY3JvQXNzZW1ibGVyQ29kZVB0cjx0YWc+IHB0cikKIG5hbWVzcGFjZSBX
VEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0
ZTxKU0M6OlB0clRhZyB0YWc+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok1hY3JvQXNzZW1ibGVy
Q29kZVB0cjx0YWc+PiB7Ci0gICAgdHlwZWRlZiBKU0M6Ok1hY3JvQXNzZW1ibGVyQ29kZVB0ckhh
c2g8dGFnPiBIYXNoOwotfTsKK3RlbXBsYXRlPEpTQzo6UHRyVGFnIHRhZz4gc3RydWN0IERlZmF1
bHRIYXNoPEpTQzo6TWFjcm9Bc3NlbWJsZXJDb2RlUHRyPHRhZz4+IDogSlNDOjpNYWNyb0Fzc2Vt
YmxlckNvZGVQdHJIYXNoPHRhZz4geyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
SGFzaFRyYWl0czsKIHRlbXBsYXRlPEpTQzo6UHRyVGFnIHRhZz4gc3RydWN0IEhhc2hUcmFpdHM8
SlNDOjpNYWNyb0Fzc2VtYmxlckNvZGVQdHI8dGFnPj4gOiBwdWJsaWMgQ3VzdG9tSGFzaFRyYWl0
czxKU0M6Ok1hY3JvQXNzZW1ibGVyQ29kZVB0cjx0YWc+PiB7IH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1NwZWNpYWwuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM0NoZWNrU3BlY2lhbC5oCmluZGV4IGM5ZGU1ZjhmZTBlMGEyMWFiNjRhMjhmYzhh
NjUwMWZlMmE2NzViMTUuLjc1OWE5YjdkYTEyNmE2OTdlMGU4NGFkODhjODc3MGFiMWIwMWQyNTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrU3BlY2lhbC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrU3BlY2lhbC5oCkBAIC0xNDksOSAr
MTQ5LDcgQEAgc3RydWN0IENoZWNrU3BlY2lhbEtleUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPEpTQzo6QjM6OkNoZWNrU3BlY2lhbDo6S2V5PiB7Ci0gICAgdHlwZWRl
ZiBKU0M6OkIzOjpDaGVja1NwZWNpYWxLZXlIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpCMzo6Q2hlY2tTcGVjaWFsOjpLZXk+IDogSlNDOjpCMzo6Q2hl
Y2tTcGVjaWFsS2V5SGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNo
VHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkIzOjpDaGVja1NwZWNp
YWw6OktleT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpCMzo6Q2hlY2tTcGVjaWFsOjpL
ZXk+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0tpbmQuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0tpbmQuaAppbmRleCBiZDU0NmRiNDFlMjYyYjA1YmMw
NGExNWFiYTFjOTEwYmFiMjc2OWZlLi4xZDE4NzEwNDAwM2Q0ZWI0NjM0YzMwYmZmYTBjY2NlZDc4
MGI5YmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNLaW5kLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzS2luZC5oCkBAIC0yMTksOSArMjE5LDcgQEAg
c3RydWN0IEtpbmRIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6
OkIzOjpLaW5kPiB7Ci0gICAgdHlwZWRlZiBKU0M6OkIzOjpLaW5kSGFzaCBIYXNoOwotfTsKK3Rl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6QjM6OktpbmQ+IDogSlNDOjpCMzo6S2lu
ZEhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRl
bXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpCMzo6S2luZD4gOiBwdWJsaWMgU2ltcGxl
Q2xhc3NIYXNoVHJhaXRzPEpTQzo6QjM6OktpbmQ+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1ZhbHVlS2V5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNW
YWx1ZUtleS5oCmluZGV4IGI5Mzg1MTNmODE1OGI1N2NlMzZhMTk0MzBhYWJhNDk5OTllYjc0NDAu
LmIzMzQ5N2FhMmRjYjQ4NWZmNWYxMWEzMGNjZGNlMmJmMTBhMjhhNmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlS2V5LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzVmFsdWVLZXkuaApAQCAtMTg2LDkgKzE4Niw3IEBAIHN0cnVjdCBWYWx1ZUtl
eUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBE
ZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6QjM6OlZhbHVl
S2V5PiB7Ci0gICAgdHlwZWRlZiBKU0M6OkIzOjpWYWx1ZUtleUhhc2ggSGFzaDsKLX07Cit0ZW1w
bGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkIzOjpWYWx1ZUtleT4gOiBKU0M6OkIzOjpW
YWx1ZUtleUhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0
czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpCMzo6VmFsdWVLZXk+IDogcHVi
bGljIFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OkIzOjpWYWx1ZUtleT4gewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3Jh
cGhDb2xvcmluZy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRl
UmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcAppbmRleCA2MjNhNDdhYzA4ZmI1MTBiYWQ0YWFm
NDJlYTM4ZDc0NGUxODhmMDdjLi5hOGZkODMzMGIwODc5MGMyNzYzMDFkMjk2OGExZTZmYWQ0ZWQ1
Y2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRl
UmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcApAQCAtNTU5LDkg
KzU1OSw5IEBAIHByb3RlY3RlZDoKICAgICBWZWN0b3I8VmVjdG9yPEluZGV4VHlwZSwgMCwgVW5z
YWZlVmVjdG9yT3ZlcmZsb3csIDQ+LCAwLCBVbnNhZmVWZWN0b3JPdmVyZmxvdz4gbV9hZGphY2Vu
Y3lMaXN0OwogICAgIFZlY3RvcjxJbmRleFR5cGUsIDAsIFVuc2FmZVZlY3Rvck92ZXJmbG93PiBt
X2RlZ3JlZXM7CiAKLSAgICB1c2luZyBJbmRleFR5cGVTZXQgPSBIYXNoU2V0PEluZGV4VHlwZSwg
dHlwZW5hbWUgRGVmYXVsdEhhc2g8SW5kZXhUeXBlPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czxJbmRleFR5cGU+PjsKKyAgICB1c2luZyBJbmRleFR5cGVTZXQgPSBI
YXNoU2V0PEluZGV4VHlwZSwgRGVmYXVsdEhhc2g8SW5kZXhUeXBlPiwgV1RGOjpVbnNpZ25lZFdp
dGhaZXJvS2V5SGFzaFRyYWl0czxJbmRleFR5cGU+PjsKIAotICAgIEhhc2hNYXA8SW5kZXhUeXBl
LCBJbmRleFR5cGVTZXQsIHR5cGVuYW1lIERlZmF1bHRIYXNoPEluZGV4VHlwZT46Okhhc2gsIFdU
Rjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8SW5kZXhUeXBlPj4gbV9iaWFzZXM7Cisg
ICAgSGFzaE1hcDxJbmRleFR5cGUsIEluZGV4VHlwZVNldCwgRGVmYXVsdEhhc2g8SW5kZXhUeXBl
PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxJbmRleFR5cGU+PiBtX2JpYXNl
czsKIAogICAgIC8vIEluc3RlYWQgb2Yga2VlcGluZyB0cmFjayBvZiB0aGUgbW92ZSBpbnN0cnVj
dGlvbnMsIHdlIGp1c3Qga2VlcCB0aGVpciBvcGVyYW5kcyBhcm91bmQgYW5kIHVzZSB0aGUgaW5k
ZXgKICAgICAvLyBpbiB0aGUgdmVjdG9yIGFzIHRoZSAiaWRlbnRpZmllciIgZm9yIHRoZSBtb3Zl
LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBcmcuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQXJnLmgKaW5kZXggYmY5YWU1ZTEyOGU3OTVj
OTIzMTY4Yzc2Yzc0NDI1ZmI4OTE0YjQ5MC4uYTBkYTcxODg3Y2QyNjg1ZGU5OTYzMWU5MWE0NDc2
MjZhM2MwYzQ4YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJB
cmcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFyZy5oCkBAIC0xNDgy
LDkgKzE0ODIsNyBAQCBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRT
dHJlYW0mLCBKU0M6OkIzOjpBaXI6OkFyZzo6Um9sZSk7CiBKU19FWFBPUlRfUFJJVkFURSB2b2lk
IHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBKU0M6OkIzOjpBaXI6OkFyZzo6U2lnbmVkbmVz
cyk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRl
PD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6QjM6OkFpcjo6QXJnPiB7Ci0gICAgdHlwZWRlZiBK
U0M6OkIzOjpBaXI6OkFyZ0hhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0
SGFzaDxKU0M6OkIzOjpBaXI6OkFyZz4gOiBKU0M6OkIzOjpBaXI6OkFyZ0hhc2ggeyB9OwogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0
IEhhc2hUcmFpdHM8SlNDOjpCMzo6QWlyOjpBcmc+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpT
Qzo6QjM6OkFpcjo6QXJnPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
YWlyL0FpclRtcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJUbXAuaAppbmRl
eCAwMGUzOWRmYTVkMjc2Njk4ZTllZWY3NDI1Y2VjMTU1ZWIxY2RkNDIwLi4xZWMwZjM2MjI0MTkw
ZmM5NjBjM2NkZGZkYjc3NmU1OTU2YjllYTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvYWlyL0FpclRtcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIv
QWlyVG1wLmgKQEAgLTMzMCw5ICszMzAsNyBAQCBzdHJ1Y3QgVG1wSGFzaCB7CiBuYW1lc3BhY2Ug
V1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxh
dGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpCMzo6QWlyOjpUbXA+IHsKLSAgICB0eXBlZGVm
IEpTQzo6QjM6OkFpcjo6VG1wSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPEpTQzo6QjM6OkFpcjo6VG1wPiA6IEpTQzo6QjM6OkFpcjo6VG1wSGFzaCB7IH07CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1
Y3QgSGFzaFRyYWl0czxKU0M6OkIzOjpBaXI6OlRtcD4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8
SlNDOjpCMzo6QWlyOjpUbXA+IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9CeXRlY29kZUluZGV4LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQnl0ZWNvZGVJbmRleC5oCmluZGV4IDliYzg0MzRlMGY5YjM4YjI4YTFiODExZTBlMDFmZWUy
MDFiOGJiODguLmQxNDc1NDE4MzI0NzI1NTQ4NzU5OWFlOWI0NjIwNWI2ZDVkN2RlMjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUluZGV4LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW5kZXguaApAQCAtMTEz
LDkgKzExMyw3IEBAIHN0cnVjdCBCeXRlY29kZUluZGV4SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsK
IAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpCeXRlY29kZUluZGV4PiB7Ci0gICAgdHlwZWRlZiBKU0M6
OkJ5dGVjb2RlSW5kZXhIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8SlNDOjpCeXRlY29kZUluZGV4PiA6IEpTQzo6Qnl0ZWNvZGVJbmRleEhhc2ggeyB9OwogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0
IEhhc2hUcmFpdHM8SlNDOjpCeXRlY29kZUluZGV4PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxK
U0M6OkJ5dGVjb2RlSW5kZXg+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9DYWxsVmFyaWFudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nh
bGxWYXJpYW50LmgKaW5kZXggNGMxMDFlZjI5N2MzNWJiMGQ2OTNiYWFmNDg4OTQzZDM3OTJmYzdl
NS4uMzkyODBlOWZhZmNjMTNhYjg4OWZjNTg2Y2UzMDAzYmU2MGRmZDVjYSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxWYXJpYW50LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxWYXJpYW50LmgKQEAgLTIxMiw5ICsyMTIsNyBA
QCBDYWxsVmFyaWFudExpc3QgZGVzcGVjaWZpZWRWYXJpYW50TGlzdChjb25zdCBDYWxsVmFyaWFu
dExpc3QmKTsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkNhbGxWYXJp
YW50PiB7Ci0gICAgdHlwZWRlZiBKU0M6OkNhbGxWYXJpYW50SGFzaCBIYXNoOwotfTsKK3RlbXBs
YXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6Q2FsbFZhcmlhbnQ+IDogSlNDOjpDYWxsVmFy
aWFudEhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsK
IHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpDYWxsVmFyaWFudD4gOiBTaW1wbGVD
bGFzc0hhc2hUcmFpdHM8SlNDOjpDYWxsVmFyaWFudD4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlT3JpZ2luLmgKaW5kZXggY2I0MjMwZTFlY2I2Njc4YWJlZmFjZjM3
MmJlNTgxMmU4YzgwY2E1OS4uYjJkODNmYWQ4ZGJkMDk4YTU1MjI4MWFiZTVjODAzMzQyYThhYWIw
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4u
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZU9yaWdpbi5oCkBAIC0y
OTcsOSArMjk3LDcgQEAgc3RydWN0IENvZGVPcmlnaW5BcHByb3hpbWF0ZUhhc2ggewogbmFtZXNw
YWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6Q29kZU9yaWdpbj4gewotICAgIHR5cGVk
ZWYgSlNDOjpDb2RlT3JpZ2luSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPEpTQzo6Q29kZU9yaWdpbj4gOiBKU0M6OkNvZGVPcmlnaW5IYXNoIHsgfTsKIAogdGVt
cGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBI
YXNoVHJhaXRzPEpTQzo6Q29kZU9yaWdpbj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpD
b2RlT3JpZ2luPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
REZHRXhpdFByb2ZpbGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0
UHJvZmlsZS5oCmluZGV4IGY4MDc3YmNjNjQwOWM5YmM4NTUxZDBlM2Q2YTYzMDAwYmZiZGIzZWEu
Ljg5ZTA4ZmI1ZDY3ZTQxMjYxMzYyODljODk1NGY2ODkxNDdhZTU4YmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0UHJvZmlsZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0UHJvZmlsZS5oCkBAIC0xNTUsOSArMTU1
LDcgQEAgc3RydWN0IEZyZXF1ZW50RXhpdFNpdGVIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6RnJlcXVlbnRFeGl0U2l0ZT4gewotICAgIHR5cGVkZWYg
SlNDOjpERkc6OkZyZXF1ZW50RXhpdFNpdGVIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OkZyZXF1ZW50RXhpdFNpdGU+IDogSlNDOjpERkc6OkZy
ZXF1ZW50RXhpdFNpdGVIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhh
c2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6REZHOjpGcmVxdWVu
dEV4aXRTaXRlPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OkRGRzo6RnJlcXVlbnRFeGl0
U2l0ZT4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xh
enlPcGVyYW5kVmFsdWVQcm9maWxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
TGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaAppbmRleCA4MWY1YTBjNDg5YzRlZjZkZGNiYTZlMWI0
NjJkNzJkOWU5ODY0NmQ3Li4xYTRjZTFhNmZjODg4MjkzY2M2NWRmMWZhNTIzYmE4MzBmNTYyNDI0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGF6eU9wZXJhbmRW
YWx1ZVByb2ZpbGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGF6eU9w
ZXJhbmRWYWx1ZVByb2ZpbGUuaApAQCAtMTA3LDkgKzEwNyw3IEBAIHN0cnVjdCBMYXp5T3BlcmFu
ZFZhbHVlUHJvZmlsZUtleUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PEpTQzo6TGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGVLZXk+IHsKLSAgICB0eXBlZGVmIEpTQzo6TGF6
eU9wZXJhbmRWYWx1ZVByb2ZpbGVLZXlIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8SlNDOjpMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZUtleT4gOiBKU0M6OkxhenlP
cGVyYW5kVmFsdWVQcm9maWxlS2V5SGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0
cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkxhenlP
cGVyYW5kVmFsdWVQcm9maWxlS2V5PiA6IHB1YmxpYyBHZW5lcmljSGFzaFRyYWl0czxKU0M6Okxh
enlPcGVyYW5kVmFsdWVQcm9maWxlS2V5PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb24uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oCmluZGV4IGQ4MTQxNWVh
NmU1ZjhjNTU5NGQzMmY0M2VhYTY0ZTg3ZTkyYmI1NWQuLmNmZWI0ZjViNTVmZTU1ZjlmMTY0NDVh
MmJlOWNiOTUxNDdjODQ4MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oCkBAIC0yOTIsOSArMjkyLDcgQEAg
c3RydWN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uSGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAog
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbj4gewotICAgIHR5cGVk
ZWYgSlNDOjpPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbkhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok9iamVjdFByb3BlcnR5Q29uZGl0aW9uPiA6IEpTQzo6
T2JqZWN0UHJvcGVydHlDb25kaXRpb25IYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6T2Jq
ZWN0UHJvcGVydHlDb25kaXRpb24+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6T2JqZWN0
UHJvcGVydHlDb25kaXRpb24+IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmgKaW5kZXggZDMyMGE0ZDVmZGNjNTgxZWRjYzcyNzEw
NWY5MjFkYjIwNzYwY2FlMy4uNmViNzY1M2Y2NjQ3MmJhYWQ4Yjg2Mzg4OGJjNmIxZGI4YWJiMmYy
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29u
ZGl0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29u
ZGl0aW9uLmgKQEAgLTM2MSw5ICszNjEsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQgcHJpbnRJ
bnRlcm5hbChQcmludFN0cmVhbSYsIEpTQzo6UHJvcGVydHlDb25kaXRpb246OktpbmQpOwogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxKU0M6OlByb3BlcnR5Q29uZGl0aW9uPiB7Ci0gICAgdHlwZWRlZiBKU0M6
OlByb3BlcnR5Q29uZGl0aW9uSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPEpTQzo6UHJvcGVydHlDb25kaXRpb24+IDogSlNDOjpQcm9wZXJ0eUNvbmRpdGlvbkhh
c2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBs
YXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpQcm9wZXJ0eUNvbmRpdGlvbj4gOiBTaW1wbGVD
bGFzc0hhc2hUcmFpdHM8SlNDOjpQcm9wZXJ0eUNvbmRpdGlvbj4geyB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEhlYXAuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RIZWFwLmgKaW5kZXggNDQ2NjUzZTAwODliMDVhMmE2
MzAzYzBkY2Y4N2Y3ZmVlMTRlZWRlMy4uZmY4NGY2YjdjMGQ5MGZjNGNiMTRjNzg3Y2QwZjFiNDNl
N2RiZGNhOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFj
dEhlYXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SGVhcC5o
CkBAIC0zNTIsOSArMzUyLDcgQEAgbmFtZXNwYWNlIFdURiB7CiB2b2lkIHByaW50SW50ZXJuYWwo
UHJpbnRTdHJlYW0mLCBKU0M6OkRGRzo6QWJzdHJhY3RIZWFwS2luZCk7CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPEpTQzo6REZHOjpBYnN0cmFjdEhlYXA+IHsKLSAgICB0eXBlZGVmIEpTQzo6REZHOjpBYnN0
cmFjdEhlYXBIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlND
OjpERkc6OkFic3RyYWN0SGVhcD4gOiBKU0M6OkRGRzo6QWJzdHJhY3RIZWFwSGFzaCB7IH07CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1
Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6QWJzdHJhY3RIZWFwPiA6IFNpbXBsZUNsYXNzSGFzaFRy
YWl0czxKU0M6OkRGRzo6QWJzdHJhY3RIZWFwPiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcAppbmRl
eCAyZTk4YTI3NTNjODYzZDVkNzc2MDUyNDdhNjgwYjVlNzQ4OWIxMjExLi42YjM2MTk5NWUyZDg1
NmNjY2M4NGM5OTUyZmQwY2QzY2NiNTNhYzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHAKQEAgLTUw
NSw3ICs1MDUsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAg
IAotICAgICAgICB1c2luZyBJbmxpbmVDYWxsRnJhbWVzID0gSGFzaFNldDxJbmxpbmVDYWxsRnJh
bWUqLCBXVEY6OkRlZmF1bHRIYXNoPElubGluZUNhbGxGcmFtZSo+OjpIYXNoLCBXVEY6Ok51bGxh
YmxlSGFzaFRyYWl0czxJbmxpbmVDYWxsRnJhbWUqPj47CisgICAgICAgIHVzaW5nIElubGluZUNh
bGxGcmFtZXMgPSBIYXNoU2V0PElubGluZUNhbGxGcmFtZSosIFdURjo6RGVmYXVsdEhhc2g8SW5s
aW5lQ2FsbEZyYW1lKj4sIFdURjo6TnVsbGFibGVIYXNoVHJhaXRzPElubGluZUNhbGxGcmFtZSo+
PjsKICAgICAgICAgdXNpbmcgSW5saW5lQ2FsbEZyYW1lc0ZvckNhbmRpdGF0ZXMgPSBIYXNoTWFw
PE5vZGUqLCBJbmxpbmVDYWxsRnJhbWVzPjsKICAgICAgICAgSW5saW5lQ2FsbEZyYW1lc0ZvckNh
bmRpdGF0ZXMgaW5saW5lQ2FsbEZyYW1lc0ZvckNhbmRpZGF0ZTsKICAgICAgICAgYXV0byBmb3JF
YWNoRGVwZW5kZW50Tm9kZSA9IHJlY3Vyc2FibGVMYW1iZGEoWyZdKGF1dG8gc2VsZiwgTm9kZSog
bm9kZSwgY29uc3QgYXV0byYgZnVuY3RvcikgLT4gdm9pZCB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IGYzZjNhZmNlY2U4MWU5MGMx
NTZjYjAwMzYxZjE0ZGVjMjE2OGE5NTkuLjNmNTJiMDU3ZTBkOTI2MTZkMGQzZGZhODM3OTk2OWJk
OWFjZTkyNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQ
YXJzZXIuY3BwCkBAIC0xMTQ0LDcgKzExNDQsNyBAQCBwcml2YXRlOgogICAgIEZyb3plblZhbHVl
KiBtX2NvbnN0YW50T25lOwogICAgIFZlY3RvcjxOb2RlKiwgMTY+IG1fY29uc3RhbnRzOwogCi0g
ICAgSGFzaE1hcDxJbmxpbmVDYWxsRnJhbWUqLCBWZWN0b3I8QXJndW1lbnRQb3NpdGlvbio+LCBX
VEY6OkRlZmF1bHRIYXNoPElubGluZUNhbGxGcmFtZSo+OjpIYXNoLCBXVEY6Ok51bGxhYmxlSGFz
aFRyYWl0czxJbmxpbmVDYWxsRnJhbWUqPj4gbV9pbmxpbmVDYWxsRnJhbWVUb0FyZ3VtZW50UG9z
aXRpb25zOworICAgIEhhc2hNYXA8SW5saW5lQ2FsbEZyYW1lKiwgVmVjdG9yPEFyZ3VtZW50UG9z
aXRpb24qPiwgV1RGOjpEZWZhdWx0SGFzaDxJbmxpbmVDYWxsRnJhbWUqPiwgV1RGOjpOdWxsYWJs
ZUhhc2hUcmFpdHM8SW5saW5lQ2FsbEZyYW1lKj4+IG1faW5saW5lQ2FsbEZyYW1lVG9Bcmd1bWVu
dFBvc2l0aW9uczsKIAogICAgIC8vIFRoZSBudW1iZXIgb2YgYXJndW1lbnRzIHBhc3NlZCB0byB0
aGUgZnVuY3Rpb24uCiAgICAgdW5zaWduZWQgbV9udW1Bcmd1bWVudHM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NTRVBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3BwCmluZGV4IDBjMDAxYzU4MTg3MzU4ZTY3NWE3YzAw
MWEwZjA1YTcwNzc5Zjk1NTcuLjY3ODI1OGRlYmUxZjVkNzZmNzE3ZTczY2QxN2FhOWM2NWFmZDBk
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3BwCkBAIC02Myw3
ICs2Myw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBoYXNoOwogfTsKIAotc3RydWN0IEltcHVy
ZURhdGFTbG90SGFzaCA6IHB1YmxpYyBEZWZhdWx0SGFzaDxzdGQ6OnVuaXF1ZV9wdHI8SW1wdXJl
RGF0YVNsb3Q+Pjo6SGFzaCB7CitzdHJ1Y3QgSW1wdXJlRGF0YVNsb3RIYXNoIDogcHVibGljIERl
ZmF1bHRIYXNoPHN0ZDo6dW5pcXVlX3B0cjxJbXB1cmVEYXRhU2xvdD4+IHsKICAgICBzdGF0aWMg
dW5zaWduZWQgaGFzaChjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8SW1wdXJlRGF0YVNsb3Q+JiBrZXkp
CiAgICAgewogICAgICAgICByZXR1cm4ga2V5LT5oYXNoOwpAQCAtMjk0LDcgKzI5NCw3IEBAIHBy
aXZhdGU6CiAgICAgLy8gYSBkdXBsaWNhdGUgaW4gdGhlIHBhc3QgYW5kIG5vdyBvbmx5IGxpdmUg
aW4gbV9mYWxsYmFja1N0YWNrTWFwLgogICAgIC8vCiAgICAgLy8gT2J2aW91c2x5LCBUT1AgYWx3
YXlzIGdvZXMgaW50byBtX2ZhbGxiYWNrU3RhY2tNYXAgc2luY2UgaXQgZG9lcyBub3QgaGF2ZSBh
IHVuaXF1ZSB2YWx1ZS4KLSAgICBIYXNoTWFwPGludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxJbXB1
cmVEYXRhU2xvdD4sIERlZmF1bHRIYXNoPGludDY0X3Q+OjpIYXNoLCBXVEY6OlNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czxpbnQ2NF90Pj4gbV9hYnN0cmFjdEhlYXBTdGFja01hcDsKKyAgICBI
YXNoTWFwPGludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxJbXB1cmVEYXRhU2xvdD4sIERlZmF1bHRI
YXNoPGludDY0X3Q+LCBXVEY6OlNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxpbnQ2NF90Pj4g
bV9hYnN0cmFjdEhlYXBTdGFja01hcDsKICAgICBNYXAgbV9mYWxsYmFja1N0YWNrTWFwOwogCiAg
ICAgTWFwIG1faGVhcE1hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQ29tcGlsYXRpb25LZXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tcGls
YXRpb25LZXkuaAppbmRleCA1ODMyZjZjNjM3NWJmODJmMWQzN2ViZWEzZWRhNDY4NWFkYzEwNjk4
Li4wZDQ2ZjVlZGEzOWEwNjc1MzdjNmM4MGU5MTJjNGNhNmQyMzgxNzI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbXBpbGF0aW9uS2V5LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21waWxhdGlvbktleS5oCkBAIC05Nyw5ICs5Nyw3IEBA
IHN0cnVjdCBDb21waWxhdGlvbktleUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPEpTQzo6REZHOjpDb21waWxhdGlvbktleT4gewotICAgIHR5cGVkZWYgSlNDOjpERkc6
OkNvbXBpbGF0aW9uS2V5SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPEpTQzo6REZHOjpDb21waWxhdGlvbktleT4gOiBKU0M6OkRGRzo6Q29tcGlsYXRpb25LZXlI
YXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1w
bGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6REZHOjpDb21waWxhdGlvbktleT4gOiBTaW1w
bGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpERkc6OkNvbXBpbGF0aW9uS2V5PiB7IH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRHbG9iYWxQcm9wZXJ0eS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkR2xvYmFsUHJvcGVydHkuaApp
bmRleCBhNjM5MzMzMmQ4MzA2ZTQ2NjgwZjExZDg3ZThkYjFhN2QxMWJkNTg5Li4xYTUyODA2OGM2
YmQwOGE4MzI3YjkyNTI3OGY1NmI3NzYxZWFiNjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRHbG9iYWxQcm9wZXJ0eS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZEdsb2JhbFByb3BlcnR5LmgKQEAgLTEwMiw5ICsxMDIs
NyBAQCBzdHJ1Y3QgRGVzaXJlZEdsb2JhbFByb3BlcnR5SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsK
IAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OkRlc2lyZWRHbG9iYWxQcm9wZXJ0eT4gewotICAg
IHR5cGVkZWYgSlNDOjpERkc6OkRlc2lyZWRHbG9iYWxQcm9wZXJ0eUhhc2ggSGFzaDsKLX07Cit0
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6RGVzaXJlZEdsb2JhbFByb3Bl
cnR5PiA6IEpTQzo6REZHOjpEZXNpcmVkR2xvYmFsUHJvcGVydHlIYXNoIHsgfTsKIAogdGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNo
VHJhaXRzPEpTQzo6REZHOjpEZXNpcmVkR2xvYmFsUHJvcGVydHk+IDogU2ltcGxlQ2xhc3NIYXNo
VHJhaXRzPEpTQzo6REZHOjpEZXNpcmVkR2xvYmFsUHJvcGVydHk+IHsgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSGVhcExvY2F0aW9uLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0hlYXBMb2NhdGlvbi5oCmluZGV4IGI1Y2VkMTM5ZjQ4YTBiYmIw
NzIzZDQwOGU0MzBiYTNiMGY3OWM2OTQuLjQ0NDI5YTY3YjZmNTIxOGRkMGFjY2M5MzRiNzc2NGFl
YjhkNWQ3ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSGVhcExv
Y2F0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdIZWFwTG9jYXRpb24u
aApAQCAtMTg2LDkgKzE4Niw3IEBAIG5hbWVzcGFjZSBXVEYgewogdm9pZCBwcmludEludGVybmFs
KFByaW50U3RyZWFtJiwgSlNDOjpERkc6OkxvY2F0aW9uS2luZCk7CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PEpTQzo6REZHOjpIZWFwTG9jYXRpb24+IHsKLSAgICB0eXBlZGVmIEpTQzo6REZHOjpIZWFwTG9j
YXRpb25IYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpE
Rkc6OkhlYXBMb2NhdGlvbj4gOiBKU0M6OkRGRzo6SGVhcExvY2F0aW9uSGFzaCB7IH07CiAKIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3Qg
SGFzaFRyYWl0czxKU0M6OkRGRzo6SGVhcExvY2F0aW9uPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0
czxKU0M6OkRGRzo6SGVhcExvY2F0aW9uPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0xpdmVuZXNzQW5hbHlzaXNQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0xpdmVuZXNzQW5hbHlzaXNQaGFzZS5jcHAKaW5kZXggNDNhNjJmYjM3MmY4
NTU0NmNjN2ZjN2RkMDgxMDdiZDIyZDM1MjNjZi4uMTAwMTE4MzNiMjQ3MWVlNWIxYjYwZjIyMDE2
ZWVmMGY0ZTZkZjZhOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdM
aXZlbmVzc0FuYWx5c2lzUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTGl2ZW5lc3NBbmFseXNpc1BoYXNlLmNwcApAQCAtNDEsMTAgKzQxLDEwIEBAIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKIG5hbWVzcGFjZSB7CiAKIC8vIFVuY29tbWVudCB0aGlz
IHRvIGxvZyBoYXNodGFibGUgb3BlcmF0aW9ucy4KLS8vIHN0YXRpYyBjb25zdCBjaGFyIHRlbXBs
YXRlU3RyaW5nW10gPSAidW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwgV1RG
OjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4iOwotLy8gdHlwZWRlZiBM
b2dnaW5nSGFzaFNldDx0ZW1wbGF0ZVN0cmluZywgdW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2ln
bmVkPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+
IExpdmVTZXQ7CisvLyBzdGF0aWMgY29uc3QgY2hhciB0ZW1wbGF0ZVN0cmluZ1tdID0gInVuc2ln
bmVkLCBEZWZhdWx0SGFzaDx1bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hU
cmFpdHM8dW5zaWduZWQ+IjsKKy8vIHR5cGVkZWYgTG9nZ2luZ0hhc2hTZXQ8dGVtcGxhdGVTdHJp
bmcsIHVuc2lnbmVkLCBEZWZhdWx0SGFzaDx1bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVy
b0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiBMaXZlU2V0OwogCi10eXBlZGVmIEhhc2hTZXQ8dW5z
aWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJv
S2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IExpdmVTZXQ7Cit0eXBlZGVmIEhhc2hTZXQ8dW5zaWdu
ZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRy
YWl0czx1bnNpZ25lZD4+IExpdmVTZXQ7CiAKIHR5cGVkZWYgSW5kZXhTcGFyc2VTZXQ8dW5zaWdu
ZWQsIERlZmF1bHRJbmRleFNwYXJzZVNldFRyYWl0czx1bnNpZ25lZD4sIFVuc2FmZVZlY3Rvck92
ZXJmbG93PiBXb3Jrc2V0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR01pbmlmaWVkSUQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTWluaWZpZWRJ
RC5oCmluZGV4IGNiNzFmMWI5ZTA4OTRiMjJlYjhiYjljNjM5YzZhZjc1YzZmNWE1MzEuLjE2NzI4
NjEwMjcwMGJjN2I2NzQ2YzY0NzE4ZGI1ZTM5NzI0NzMyNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTWluaWZpZWRJRC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTWluaWZpZWRJRC5oCkBAIC04Nyw5ICs4Nyw3IEBAIHN0cnVjdCBNaW5pZmll
ZElESGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0
IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6Ok1p
bmlmaWVkSUQ+IHsKLSAgICB0eXBlZGVmIEpTQzo6REZHOjpNaW5pZmllZElESGFzaCBIYXNoOwot
fTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpNaW5pZmllZElEPiA6
IEpTQzo6REZHOjpNaW5pZmllZElESGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0
cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6
TWluaWZpZWRJRD4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpERkc6Ok1pbmlmaWVkSUQ+
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZUZsb3dQcm9q
ZWN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVGbG93UHJvamVjdGlv
bi5oCmluZGV4IDgyOGUzMWI2ZjlmMDExZTMzZGEzZjhhNjU0OGNjNmE3Mzg4MTI3MGIuLjM0OTcx
ZWFiZTNmOTY1ZjQ3YzI2ZTU2YTliNWEzMWIwNzk0YTliZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZUZsb3dQcm9qZWN0aW9uLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlRmxvd1Byb2plY3Rpb24uaApAQCAtMTQyLDkgKzE0Miw3
IEBAIHN0cnVjdCBOb2RlRmxvd1Byb2plY3Rpb25IYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6Tm9kZUZsb3dQcm9qZWN0aW9uPiB7Ci0gICAgdHlwZWRl
ZiBKU0M6OkRGRzo6Tm9kZUZsb3dQcm9qZWN0aW9uSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpOb2RlRmxvd1Byb2plY3Rpb24+IDogSlNDOjpE
Rkc6Ok5vZGVGbG93UHJvamVjdGlvbkhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpERkc6
Ok5vZGVGbG93UHJvamVjdGlvbj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpERkc6Ok5v
ZGVGbG93UHJvamVjdGlvbj4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oCmluZGV4IGUwYzMxYzIzNmU1NGU3NWRiZDNkN2Vm
NGFkYWMwYWQ3ZWMxNmY1MjUuLjRmMTI1MjMzODQyMTUxNDk3NjEyZWExOGY3YmY1NWU0MzhiMTVi
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZWRIZWFw
TG9jYXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVh
cExvY2F0aW9uLmgKQEAgLTIxNSw5ICsyMTUsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQgcHJp
bnRJbnRlcm5hbChQcmludFN0cmVhbSYsIEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uS2luZCk7
CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQcm9tb3RlZEhlYXBMb2NhdGlvbj4gewotICAg
IHR5cGVkZWYgSlNDOjpERkc6OlByb21vdGVkSGVhcExvY2F0aW9uSGFzaCBIYXNoOwotfTsKK3Rl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQcm9tb3RlZEhlYXBMb2NhdGlv
bj4gOiBKU0M6OkRGRzo6UHJvbW90ZWRIZWFwTG9jYXRpb25IYXNoIHsgfTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPEpTQzo6REZHOjpQcm9tb3RlZEhlYXBMb2NhdGlvbj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFp
dHM8SlNDOjpERkc6OlByb21vdGVkSGVhcExvY2F0aW9uPiB7CkBAIC0yMjUsOSArMjIzLDcgQEAg
dGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6UHJvbW90ZWRIZWFwTG9jYXRp
b24+IDogU2ltcGxlQ2xhc3NIYXNoVHIKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVj
dCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQ
cm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcj4gewotICAgIHR5cGVkZWYgSlNDOjpERkc6OlByb21v
dGVkTG9jYXRpb25EZXNjcmlwdG9ySGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcj4gOiBKU0M6OkRG
Rzo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3JIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5h
bWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpT
Qzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFp
dHM8SlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yPiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb3BlcnR5VHlwZUtleS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9wZXJ0eVR5cGVLZXkuaAppbmRleCAxYjc5NDI0ZDRjZjA4
YzcxZmJjNmRkNzUyODVhMjJlY2VlNjZlZWQyLi43ODc5M2I4ZTkyNTMwNjc5OWIwMWNkMGI4N2Q5
MTViMTg1N2FlMzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1By
b3BlcnR5VHlwZUtleS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvcGVy
dHlUeXBlS2V5LmgKQEAgLTExMSw5ICsxMTEsNyBAQCBzdHJ1Y3QgUHJvcGVydHlUeXBlS2V5SGFz
aCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1
bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OlByb3BlcnR5
VHlwZUtleT4gewotICAgIHR5cGVkZWYgSlNDOjpERkc6OlByb3BlcnR5VHlwZUtleUhhc2ggSGFz
aDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6UHJvcGVydHlU
eXBlS2V5PiA6IEpTQzo6REZHOjpQcm9wZXJ0eVR5cGVLZXlIYXNoIHsgfTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPEpTQzo6REZHOjpQcm9wZXJ0eVR5cGVLZXk+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpT
Qzo6REZHOjpQcm9wZXJ0eVR5cGVLZXk+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHUHVyZVZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1B1
cmVWYWx1ZS5oCmluZGV4IGI1ZWViZDcyMjg1NjU5M2UxMDNjMWQ2YmJiYzgyYTVhNGY4NjYwMGMu
LjZmNDJkZDNkOWE1YmRkMDk2YjI1M2JmMDU5ZDUyNWIyOTFiMDg4YTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHVyZVZhbHVlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdQdXJlVmFsdWUuaApAQCAtMTUzLDkgKzE1Myw3IEBAIHN0cnVjdCBQ
dXJlVmFsdWVIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkRG
Rzo6UHVyZVZhbHVlPiB7Ci0gICAgdHlwZWRlZiBKU0M6OkRGRzo6UHVyZVZhbHVlSGFzaCBIYXNo
OwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQdXJlVmFsdWU+
IDogSlNDOjpERkc6OlB1cmVWYWx1ZUhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpERkc6
OlB1cmVWYWx1ZT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpERkc6OlB1cmVWYWx1ZT4g
ewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb2NhdGlvbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb2NhdGlvbi5oCmluZGV4IDExOTU5ZGQ2Njky
NTQ3Y2FjNTk5NjM1MTExY2U2M2EwMTE3NTMyM2EuLmJkNGI0MTY1ZWM4MmJjM2FiNTcxYzgwZjQ0
ZTU1YWE5M2JlN2QwZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG9jYXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvY2F0aW9uLmgK
QEAgLTIwMSw5ICsyMDEsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQgcHJpbnRJbnRlcm5hbChQ
cmludFN0cmVhbSYsIEpTQzo6RlRMOjpMb2NhdGlvbjo6S2luZCk7CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PEpTQzo6RlRMOjpMb2NhdGlvbj4gewotICAgIHR5cGVkZWYgSlNDOjpGVEw6OkxvY2F0aW9uSGFz
aCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6RlRMOjpMb2Nh
dGlvbj4gOiBKU0M6OkZUTDo6TG9jYXRpb25IYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUg
VD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6
RlRMOjpMb2NhdGlvbj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpGVEw6OkxvY2F0aW9u
PiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9CMy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAK
aW5kZXggZWM3YTU0NmExMWU5MmVhNjQxZDk4MDc5MDE3ODQ3ZDljNGY4ZjMzZi4uZDRjODA1MWYy
ZGJlZGUyNDk4NTYwYWNmMWFkYTRkOGYzNTk2ZjFiZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcApAQCAtNjgyOCw3ICs2ODI4LDcgQEAgcHJpdmF0
ZToKICAgICAgICAgaWYgKG1fZ3JhcGguaXNXYXRjaGluZ0hhdmluZ0FCYWRUaW1lV2F0Y2hwb2lu
dChtX25vZGUpKSB7CiAgICAgICAgICAgICBDaGVja2VkSW50MzIgc3RhcnRMZW5ndGggPSAwOwog
ICAgICAgICAgICAgQml0VmVjdG9yKiBiaXRWZWN0b3IgPSBtX25vZGUtPmJpdFZlY3RvcigpOwot
ICAgICAgICAgICAgSGFzaE1hcDxJbmxpbmVDYWxsRnJhbWUqLCBMVmFsdWUsIFdURjo6RGVmYXVs
dEhhc2g8SW5saW5lQ2FsbEZyYW1lKj46Okhhc2gsIFdURjo6TnVsbGFibGVIYXNoVHJhaXRzPElu
bGluZUNhbGxGcmFtZSo+PiBjYWNoZWRTcHJlYWRMZW5ndGhzOworICAgICAgICAgICAgSGFzaE1h
cDxJbmxpbmVDYWxsRnJhbWUqLCBMVmFsdWUsIFdURjo6RGVmYXVsdEhhc2g8SW5saW5lQ2FsbEZy
YW1lKj4sIFdURjo6TnVsbGFibGVIYXNoVHJhaXRzPElubGluZUNhbGxGcmFtZSo+PiBjYWNoZWRT
cHJlYWRMZW5ndGhzOwogCiAgICAgICAgICAgICBpZiAobV9ub2RlLT5udW1DaGlsZHJlbigpID09
IDEgJiYgYml0VmVjdG9yLT5nZXQoMCkpIHsKICAgICAgICAgICAgICAgICBFZGdlIHVzZSA9IG1f
Z3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAwKTsKQEAgLTk3MDEsNyArOTcwMSw3IEBAIHByaXZh
dGU6CiAgICAgICAgIHVuc2lnbmVkIHN0YXRpY0FyZ3VtZW50Q291bnQgPSAwOwogICAgICAgICBW
ZWN0b3I8TFZhbHVlLCAyPiBzcHJlYWRMZW5ndGhzOwogICAgICAgICBWZWN0b3I8TFZhbHVlLCA4
PiBwYXRjaHBvaW50QXJndW1lbnRzOwotICAgICAgICBIYXNoTWFwPElubGluZUNhbGxGcmFtZSos
IExWYWx1ZSwgV1RGOjpEZWZhdWx0SGFzaDxJbmxpbmVDYWxsRnJhbWUqPjo6SGFzaCwgV1RGOjpO
dWxsYWJsZUhhc2hUcmFpdHM8SW5saW5lQ2FsbEZyYW1lKj4+IGNhY2hlZFNwcmVhZExlbmd0aHM7
CisgICAgICAgIEhhc2hNYXA8SW5saW5lQ2FsbEZyYW1lKiwgTFZhbHVlLCBXVEY6OkRlZmF1bHRI
YXNoPElubGluZUNhbGxGcmFtZSo+LCBXVEY6Ok51bGxhYmxlSGFzaFRyYWl0czxJbmxpbmVDYWxs
RnJhbWUqPj4gY2FjaGVkU3ByZWFkTGVuZ3RoczsKICAgICAgICAgYXV0byBwdXNoQW5kQ291bnRB
cmd1bWVudHNGcm9tUmlnaHRUb0xlZnQgPSByZWN1cnNhYmxlTGFtYmRhKFsmXShhdXRvIHNlbGYs
IE5vZGUqIHRhcmdldCkgLT4gdm9pZCB7CiAgICAgICAgICAgICBpZiAodGFyZ2V0LT5vcCgpID09
IFBoYW50b21TcHJlYWQpIHsKICAgICAgICAgICAgICAgICBzZWxmKHRhcmdldC0+Y2hpbGQxKCku
bm9kZSgpKTsKQEAgLTEyNjQ2LDcgKzEyNjQ2LDcgQEAgcHJpdmF0ZToKIAogICAgICAgICAgICAg
ICAgIGluaXRpYWxpemVBcnJheUVsZW1lbnRzKG1fb3V0LmNvbnN0SW50MzIoc3RydWN0dXJlLT5p
bmRleGluZ1R5cGUoKSksIG1fb3V0LmludDMyWmVybywgdmVjdG9yTGVuZ3RoLCBidXR0ZXJmbHkp
OwogCi0gICAgICAgICAgICAgICAgSGFzaE1hcDxpbnQzMl90LCBMVmFsdWUsIERlZmF1bHRIYXNo
PGludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPGludDMy
X3Q+PiBpbmRleE1hcDsKKyAgICAgICAgICAgICAgICBIYXNoTWFwPGludDMyX3QsIExWYWx1ZSwg
RGVmYXVsdEhhc2g8aW50MzJfdD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8
aW50MzJfdD4+IGluZGV4TWFwOwogICAgICAgICAgICAgICAgIFZlY3RvcjxpbnQzMl90PiBpbmRp
Y2VzOwogICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGRhdGEubV9wcm9wZXJ0aWVz
LnNpemUoKTsgaS0tOykgewogICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVz
Y3JpcHRvciBkZXNjcmlwdG9yID0gZGF0YS5tX3Byb3BlcnRpZXNbaV07CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbEtleS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0aENhbGxLZXkuaAppbmRleCAwNjMwMTRjNzljNzgx
ZWQ5NThiMTY2MDBkZDE0ZGQyMTNjYjJlZmZhLi4wODZhZTAwZWU1ODU1MmM3Y2U4M2Q3MDUyMGU3
NjEzODQyYmRkMzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNs
b3dQYXRoQ2FsbEtleS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1Bh
dGhDYWxsS2V5LmgKQEAgLTExOCw5ICsxMTgsNyBAQCBzdHJ1Y3QgU2xvd1BhdGhDYWxsS2V5SGFz
aCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1
bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpGVEw6OlNsb3dQYXRo
Q2FsbEtleT4gewotICAgIHR5cGVkZWYgSlNDOjpGVEw6OlNsb3dQYXRoQ2FsbEtleUhhc2ggSGFz
aDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkZUTDo6U2xvd1BhdGhD
YWxsS2V5PiA6IEpTQzo6RlRMOjpTbG93UGF0aENhbGxLZXlIYXNoIHsgfTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPEpTQzo6RlRMOjpTbG93UGF0aENhbGxLZXk+IDogcHVibGljIEN1c3RvbUhhc2hUcmFpdHM8
SlNDOjpGVEw6OlNsb3dQYXRoQ2FsbEtleT4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L01hcmtlZEJsb2NrLmgKaW5kZXggOTM3OWQ0NWY2NDIxZTc1YzI1MTFkZmRmZjU1ZTkyZWQwOTg4
ZTBjMS4uYmFmOWNlYzg1OTIxMjRjM2I5ZjM2YzQzYWI1NWEwODU5NTFiYzE4YSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2suaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRCbG9jay5oCkBAIC02OTAsOSArNjkwLDcgQEAgc3Ry
dWN0IE1hcmtlZEJsb2NrSGFzaCA6IFB0ckhhc2g8SlNDOjpNYXJrZWRCbG9jayo+IHsKICAgICB9
CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok1hcmtlZEJsb2NrKj4g
ewotICAgIHR5cGVkZWYgTWFya2VkQmxvY2tIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpNYXJrZWRCbG9jayo+IDogTWFya2VkQmxvY2tIYXNoIHsgfTsK
IAogdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIEpTQzo6TWFya2VkQmxvY2s6
OkhhbmRsZTo6U3dlZXBNb2RlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvVmlzaXRSYWNlS2V5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9WaXNpdFJh
Y2VLZXkuaAppbmRleCA3MzEwYmRjZTlmYmFmYTI5YWFjMDg1ODRmZDM2Njg3NzNkZDllOWQzLi4x
ZjU5ODdjZmUyNWY3MWMyMzQ4MzY2MjhmNjY4OWIwNzZmNjcwYzI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9WaXNpdFJhY2VLZXkuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9WaXNpdFJhY2VLZXkuaApAQCAtOTYsOSArOTYsNyBAQCBzdHJ1Y3QgVmlz
aXRSYWNlS2V5SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpW
aXNpdFJhY2VLZXk+IHsKLSAgICB0eXBlZGVmIEpTQzo6VmlzaXRSYWNlS2V5SGFzaCBIYXNoOwot
fTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6VmlzaXRSYWNlS2V5PiA6IEpT
Qzo6VmlzaXRSYWNlS2V5SGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBI
YXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OlZpc2l0UmFjZUtl
eT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpWaXNpdFJhY2VLZXk+IHsgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dl
bmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNf
aGVhZGVyLnB5CmluZGV4IDE5ZmQwY2EwNDEyYmNmYjEyZWY1OTI3MTZmYjVlMTU3Yjc0OTMzOGIu
LjAwMTkyNGRlMGViMDgyN2Y3NDVkM2Q3MzZjMGFiOTIwMjEyNGRiMzYgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2Nw
cF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hlYWRl
ci5weQpAQCAtNDg1LDkgKzQ4NSw3IEBAIGNsYXNzIENwcFByb3RvY29sVHlwZXNIZWFkZXJHZW5l
cmF0b3IoQ3BwR2VuZXJhdG9yKToKICAgICAgICAgICAgIGZvciBlbnVtX3R5cGUgaW4gZW51bV90
eXBlczoKICAgICAgICAgICAgICAgICBlbnVtX2xpbmVzID0gW10KICAgICAgICAgICAgICAgICBl
bnVtX2xpbmVzLmFwcGVuZCgndGVtcGxhdGU8PicpCi0gICAgICAgICAgICAgICAgZW51bV9saW5l
cy5hcHBlbmQoJ3N0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjolczo6JXM+
IHsnICUgKGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90eXBlLnJhd19uYW1lKCkpKQotICAgICAg
ICAgICAgICAgIGVudW1fbGluZXMuYXBwZW5kKCcgICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5z
cGVjdG9yOjpQcm90b2NvbDo6JXM6OiVzPjsnICUgKGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90
eXBlLnJhd19uYW1lKCkpKQotICAgICAgICAgICAgICAgIGVudW1fbGluZXMuYXBwZW5kKCd9Oycp
CisgICAgICAgICAgICAgICAgZW51bV9saW5lcy5hcHBlbmQoJ3N0cnVjdCBEZWZhdWx0SGFzaDxJ
bnNwZWN0b3I6OlByb3RvY29sOjolczo6JXM+IDogSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29s
Ojolczo6JXM+IHsgfTsnICUgKGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90eXBlLnJhd19uYW1l
KCksIGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90eXBlLnJhd19uYW1lKCkpKQogICAgICAgICAg
ICAgICAgIGRvbWFpbl9saW5lcy5hcHBlbmQoc2VsZi53cmFwX3dpdGhfZ3VhcmRfZm9yX2NvbmRp
dGlvbihlbnVtX3R5cGUuZGVjbGFyYXRpb24oKS5jb25kaXRpb24sICdcbicuam9pbihlbnVtX2xp
bmVzKSkpCiAKICAgICAgICAgICAgIGxpbmVzLmFwcGVuZChzZWxmLndyYXBfd2l0aF9ndWFyZF9m
b3JfY29uZGl0aW9uKGRvbWFpbi5jb25kaXRpb24sICdcbicuam9pbihkb21haW5fbGluZXMpKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21t
YW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdAppbmRleCAxNmVjMjQ3MmZkN2M3
MWJhNGI1OTVjZTIzMjI1MjY2MzQ4ZmFkNDQ2Li4zYjU4ZTBmYjI3NGQzZTI3NzllYjc2NmE5YTUx
NjVlYjQzYWVmMjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNv
bi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRlLmpzb24tcmVzdWx0CkBA
IC03MzMsOSArNzMzLDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNo
OwogCiAvLyBIYXNoIGRlY2xhcmF0aW9ucyBpbiB0aGUgJ0RhdGFiYXNlJyBEb21haW4KIHRlbXBs
YXRlPD4KLXN0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6
UHJpbWFyeUNvbG9ycz4gewotICAgIHVzaW5nIEhhc2ggPSBJbnRIYXNoPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OkRhdGFiYXNlOjpQcmltYXJ5Q29sb3JzPjsKLX07CitzdHJ1Y3QgRGVmYXVsdEhhc2g8
SW5zcGVjdG9yOjpQcm90b2NvbDo6RGF0YWJhc2U6OlByaW1hcnlDb2xvcnM+IDogSW50SGFzaDxJ
bnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJpbWFyeUNvbG9ycz4geyB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXVEYKICMjIyBFbmQgRmlsZTogVGVzdFByb3RvY29sT2JqZWN0cy5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhw
ZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24t
cmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4
cGVjdGVkL2NvbW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVycy5qc29u
LXJlc3VsdAppbmRleCBkNGFhZDBiMGVhNDQ2MzA1MjQ4MGVlMzBiYjlkMmFlZWJmMGVlOTM5Li5l
NGRiMDRhZDliMjc2YjhiMjI5ZmJmYzQxZGFjZTdiMTg4YjU2NmY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFu
ZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9j
b21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQK
QEAgLTY0NCw5ICs2NDQsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhh
c2g7CiAKIC8vIEhhc2ggZGVjbGFyYXRpb25zIGluIHRoZSAnRGF0YWJhc2UnIERvbWFpbgogdGVt
cGxhdGU8Pgotc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNl
OjpQcmltYXJ5Q29sb3JzPiB7Ci0gICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9yOjpQ
cm90b2NvbDo6RGF0YWJhc2U6OlByaW1hcnlDb2xvcnM+OwotfTsKK3N0cnVjdCBEZWZhdWx0SGFz
aDxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJpbWFyeUNvbG9ycz4gOiBJbnRIYXNo
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpQcmltYXJ5Q29sb3JzPiB7IH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdURgogIyMjIEVuZCBGaWxlOiBUZXN0UHJvdG9jb2xPYmplY3RzLmgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9l
eHBlY3RlZC9lbnVtLXZhbHVlcy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9lbnVtLXZhbHVlcy5qc29uLXJlc3VsdApp
bmRleCA0ZTkwNWYwMzdhOTZkYTIwMmQyNTdjZThkYTgxNjQ3NDdiMmRlNDdjLi4zNGRmZThkOWY0
NzM1ZmQ1YWY1YmFjM2U2ZWU3MzMxMTFjZjNlYmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZW51bS12YWx1ZXMuanNv
bi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0CkBAIC00OTIsOSArNDkyLDcgQEAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwogCiAvLyBIYXNoIGRlY2xh
cmF0aW9ucyBpbiB0aGUgJ1R5cGVEb21haW4nIERvbWFpbgogdGVtcGxhdGU8Pgotc3RydWN0IERl
ZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlR5cGVEb21haW46OlR5cGVEb21haW5FbnVt
PiB7Ci0gICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6VHlwZURv
bWFpbjo6VHlwZURvbWFpbkVudW0+OwotfTsKK3N0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6
OlByb3RvY29sOjpUeXBlRG9tYWluOjpUeXBlRG9tYWluRW51bT4gOiBJbnRIYXNoPEluc3BlY3Rv
cjo6UHJvdG9jb2w6OlR5cGVEb21haW46OlR5cGVEb21haW5FbnVtPiB7IH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdURgogIyMjIEVuZCBGaWxlOiBUZXN0UHJvdG9jb2xPYmplY3RzLmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3Rl
ZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlv
bi1hcnJheS10eXBlLmpzb24tcmVzdWx0CmluZGV4IDlmYTNkOTM0YjZmMTZlZDc0ZmZiODA3Yjkx
ZTMxNDY0NzMxN2NhODMuLmQ4ODgwYzYzZTMzNzhjNWNmZTMwOGNhZmRmODRjYzk4NzQ5MmJiZmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5
cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdApAQCAtMzc5LDkgKzM3OSw3IEBA
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKIAogLy8gSGFzaCBkZWNs
YXJhdGlvbnMgaW4gdGhlICdEZWJ1Z2dlcicgRG9tYWluCiB0ZW1wbGF0ZTw+Ci1zdHJ1Y3QgRGVm
YXVsdEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGVidWdnZXI6OlJlYXNvbj4gewotICAgIHVz
aW5nIEhhc2ggPSBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRlYnVnZ2VyOjpSZWFzb24+
OwotfTsKK3N0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEZWJ1Z2dlcjo6
UmVhc29uPiA6IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGVidWdnZXI6OlJlYXNvbj4g
eyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKICMjIyBFbmQgRmlsZTogVGVzdFByb3RvY29sT2Jq
ZWN0cy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbi1yZXN1bHQg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQv
dHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbi1yZXN1bHQKaW5kZXggODhiODY2OGYzOTIy
MGM1YmFlOGVkMTA2MjQ2OTUwZmQwNzk5ZmM1OS4uM2EyYzIwNTI4MzA0NGUwMDA2YjMzMWVlMzE1
YjA0MzdhNGZhNWJmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tZW51bS10eXBlLmpzb24t
cmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdApAQCAtMzc4
LDEzICszNzgsOSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAK
IC8vIEhhc2ggZGVjbGFyYXRpb25zIGluIHRoZSAnUnVudGltZScgRG9tYWluCiB0ZW1wbGF0ZTw+
Ci1zdHJ1Y3QgRGVmYXVsdEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6RmFybUFu
aW1hbHM+IHsKLSAgICB1c2luZyBIYXNoID0gSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpS
dW50aW1lOjpGYXJtQW5pbWFscz47Ci19Oworc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6
UHJvdG9jb2w6OlJ1bnRpbWU6OkZhcm1BbmltYWxzPiA6IEludEhhc2g8SW5zcGVjdG9yOjpQcm90
b2NvbDo6UnVudGltZTo6RmFybUFuaW1hbHM+IHsgfTsKIHRlbXBsYXRlPD4KLXN0cnVjdCBEZWZh
dWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpUd29MZWdnZWRBbmltYWxzPiB7
Ci0gICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6
VHdvTGVnZ2VkQW5pbWFscz47Ci19Oworc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OlJ1bnRpbWU6OlR3b0xlZ2dlZEFuaW1hbHM+IDogSW50SGFzaDxJbnNwZWN0b3I6OlBy
b3RvY29sOjpSdW50aW1lOjpUd29MZWdnZWRBbmltYWxzPiB7IH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdURgogIyMjIEVuZCBGaWxlOiBUZXN0UHJvdG9jb2xPYmplY3RzLmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBl
LWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tb2Jq
ZWN0LXR5cGUuanNvbi1yZXN1bHQKaW5kZXggOGM4MTQzNjMzY2FjZGEwZWIwZWEwOTBjNDYyZGY3
MzdkOGExNDhhOC4uMzI4ZmVkMjNkYzRjYTdmMTg4NTkwYjYzNDRkNWJmN2U0NzNkZGMwMyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4
cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUt
ZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKQEAgLTkwOCw5ICs5MDgsNyBAQCB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAKIC8vIEhhc2ggZGVjbGFy
YXRpb25zIGluIHRoZSAnRGF0YWJhc2UnIERvbWFpbgogdGVtcGxhdGU8Pgotc3RydWN0IERlZmF1
bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpNb3VzZUJ1dHRvbj4gewotICAg
IHVzaW5nIEhhc2ggPSBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpNb3Vz
ZUJ1dHRvbj47Ci19Oworc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRh
dGFiYXNlOjpNb3VzZUJ1dHRvbj4gOiBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFi
YXNlOjpNb3VzZUJ1dHRvbj4geyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKICMjIyBFbmQgRmls
ZTogVGVzdFByb3RvY29sT2JqZWN0cy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVudGlt
ZS1jYXN0cy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVz
dWx0CmluZGV4IDY3NmRlYjRkYjQwNjc1NDRjYTAzYzM3MzZhMzc4OWRlNTJlMzBjNmUuLjI2Yjc1
MGM2NmIyMDFiMGQ0ZWNiZjJmMzc0OGFiOWY0MDMwOWE5ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVp
cmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1l
LWNhc3RzLmpzb24tcmVzdWx0CkBAIC01OTUsMTMgKzU5NSw5IEBAIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKIAogLy8gSGFzaCBkZWNsYXJhdGlvbnMgaW4gdGhlICdU
ZXN0JyBEb21haW4KIHRlbXBsYXRlPD4KLXN0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlBy
b3RvY29sOjpUZXN0OjpVbmNhc3RlZEFuaW1hbHM+IHsKLSAgICB1c2luZyBIYXNoID0gSW50SGFz
aDxJbnNwZWN0b3I6OlByb3RvY29sOjpUZXN0OjpVbmNhc3RlZEFuaW1hbHM+OwotfTsKK3N0cnVj
dCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpUZXN0OjpVbmNhc3RlZEFuaW1hbHM+
IDogSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpUZXN0OjpVbmNhc3RlZEFuaW1hbHM+IHsg
fTsKIHRlbXBsYXRlPD4KLXN0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpU
ZXN0OjpDYXN0ZWRBbmltYWxzPiB7Ci0gICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9y
OjpQcm90b2NvbDo6VGVzdDo6Q2FzdGVkQW5pbWFscz47Ci19Oworc3RydWN0IERlZmF1bHRIYXNo
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRlc3Q6OkNhc3RlZEFuaW1hbHM+IDogSW50SGFzaDxJbnNw
ZWN0b3I6OlByb3RvY29sOjpUZXN0OjpDYXN0ZWRBbmltYWxzPiB7IH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdURgogIyMjIEVuZCBGaWxlOiBUZXN0UHJvdG9jb2xPYmplY3RzLmgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSUNTdGF0cy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9JQ1N0YXRzLmgKaW5kZXggOTZjMTlhMTdiZGMyYTdkMTBmMTVmOWJjYTM5MDIxNjIx
Yzk5ZGI4Mi4uOGZiN2QwNjk1Mjg5MmYyNDg3ZDdiNDZkNjVmZjgxNmE1NzMxNzM1MyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9JQ1N0YXRzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9JQ1N0YXRzLmgKQEAgLTE3OCw5ICsxNzgsNyBAQCBuYW1lc3BhY2Ug
V1RGIHsKIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYsIEpTQzo6SUNFdmVudDo6S2lu
ZCk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRl
PD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6SUNFdmVudD4gewotICAgIHR5cGVkZWYgSlNDOjpJ
Q0V2ZW50SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6
SUNFdmVudD4gOiBKU0M6OklDRXZlbnRIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6SUNF
dmVudD4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpJQ0V2ZW50PiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFRodW5rcy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRUaHVua3MuaAppbmRleCA3ZTg3NWMzNzNlNDdkZGMwMWRiMzQ4YWVkZjM1
MDM1YmFhZTJhMzFhLi5mYWNhYzQ5ZDAyYWQ5NjNjOGI5NGFjZWNhMzYwZjhkZmEzOTVmYzMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFRodW5rcy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUVGh1bmtzLmgKQEAgLTkxLDcgKzkxLDcgQEAgcHJp
dmF0ZToKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGhhc2hQ
b2ludGVyKFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uIHApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJl
dHVybiBEZWZhdWx0SGFzaDxUYWdnZWROYXRpdmVGdW5jdGlvbj46Okhhc2g6Omhhc2gocCk7Cisg
ICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8VGFnZ2VkTmF0aXZlRnVuY3Rpb24+OjpoYXNo
KHApOwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goVGFnZ2VkTmF0
aXZlRnVuY3Rpb24gZnVuY3Rpb24sIFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBj
b25zdCBTdHJpbmcmIG5hbWUpCkBAIC0xMDAsNyArMTAwLDcgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc4MzUKICAg
ICAgICAgICAgIHVuc2lnbmVkIGhhc2ggPSBXVEY6OnBhaXJJbnRIYXNoKGhhc2hQb2ludGVyKGZ1
bmN0aW9uKSwgaGFzaFBvaW50ZXIoY29uc3RydWN0b3IpKTsKICAgICAgICAgICAgIGlmICghbmFt
ZS5pc051bGwoKSkKLSAgICAgICAgICAgICAgICBoYXNoID0gV1RGOjpwYWlySW50SGFzaChoYXNo
LCBEZWZhdWx0SGFzaDxTdHJpbmc+OjpIYXNoOjpoYXNoKG5hbWUpKTsKKyAgICAgICAgICAgICAg
ICBoYXNoID0gV1RGOjpwYWlySW50SGFzaChoYXNoLCBEZWZhdWx0SGFzaDxTdHJpbmc+OjpoYXNo
KG5hbWUpKTsKICAgICAgICAgICAgIHJldHVybiBoYXNoOwogICAgICAgICB9CiAgICAgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L1JlZy5oCmluZGV4IDBlY2Q2NzhmNmY2ZmM2NGVmZTMxNzQ5YzNkMWVlYTdh
MWQwMjE1YTUuLjBiMjI5YWEwZmEzNDA1YjljZjNlMjVkNzQ3MjQ2ZTVkOGQwYTU0ODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9SZWcuaApAQCAtMjM0LDkgKzIzNCw3IEBAIHN0cnVjdCBSZWdIYXNoIHsK
IG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhh
c2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OlJlZz4gewotICAgIHR5cGVk
ZWYgSlNDOjpSZWdIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
SlNDOjpSZWc+IDogSlNDOjpSZWdIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3Ry
dWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6UmVnPiA6
IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OlJlZz4gewpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZWdpc3RlclNldC5oCmluZGV4IDgwYTJkZjRmZWM2YmIzMzlkMDQwYTk3ZWFlZWIxZTRlZmE3
ODE0ZGQuLmUwM2RiYTQ2ZTZhZjQyNGYwZTUwNTM2NTdlNjgwNzcwNDE5NmU4ODkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmgKQEAgLTIzOSw5ICsyMzksNyBAQCBzdHJ1
Y3QgUmVnaXN0ZXJTZXRIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxK
U0M6OlJlZ2lzdGVyU2V0PiB7Ci0gICAgdHlwZWRlZiBKU0M6OlJlZ2lzdGVyU2V0SGFzaCBIYXNo
OwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UmVnaXN0ZXJTZXQ+IDog
SlNDOjpSZWdpc3RlclNldEhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
SGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpSZWdpc3RlclNl
dD4gOiBwdWJsaWMgQ3VzdG9tSGFzaFRyYWl0czxKU0M6OlJlZ2lzdGVyU2V0PiB7IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1ZhcmlhYmxlRW52aXJvbm1lbnQu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvVmFyaWFibGVFbnZpcm9ubWVudC5oCmlu
ZGV4IDliNDIyODRhYmZjNzI2ODcxNDhlOWI0OGYzY2M5ZTk0NDEwMzFmMGMuLmMxMjEzNTE5ZjE3
MWQwZmM3ZTJlZmM3ZDJkZWU4YTFhYjQ0OTkwOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvVmFyaWFibGVFbnZpcm9ubWVudC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvVmFyaWFibGVFbnZpcm9ubWVudC5oCkBAIC0zMjcsOSArMzI3LDcgQEAg
cHJpdmF0ZToKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkNvbXBhY3RW
YXJpYWJsZU1hcEtleT4gewotICAgIHVzaW5nIEhhc2ggPSBKU0M6OkNvbXBhY3RWYXJpYWJsZU1h
cEtleTsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkNvbXBhY3RWYXJp
YWJsZU1hcEtleT4gOiBKU0M6OkNvbXBhY3RWYXJpYWJsZU1hcEtleSB7IH07CiAKIHRlbXBsYXRl
PD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpDb21wYWN0VmFyaWFibGVNYXBLZXk+IDogR2VuZXJp
Y0hhc2hUcmFpdHM8SlNDOjpDb21wYWN0VmFyaWFibGVNYXBLZXk+IHsKICAgICBzdGF0aWMgY29u
c3RleHByIGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW4uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wcm9maWxlci9Qcm9maWxlck9yaWdpbi5oCmluZGV4IDEwMTZhNDAyMGYyODAyNTU3
NTFiMjk2N2UxMGE4ZGE1NmUxNzRiNDUuLjFlZWFiZTcwZGJkMzVkNzFhNTQyN2I1ZmJmNjhkOTU2
MjU0OWU0ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9m
aWxlck9yaWdpbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxl
ck9yaWdpbi5oCkBAIC0xMDEsOSArMTAxLDcgQEAgc3RydWN0IE9yaWdpbkhhc2ggewogbmFtZXNw
YWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UHJvZmlsZXI6Ok9yaWdpbj4gewotICAg
IHR5cGVkZWYgSlNDOjpQcm9maWxlcjo6T3JpZ2luSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UHJvZmlsZXI6Ok9yaWdpbj4gOiBKU0M6OlByb2ZpbGVy
OjpPcmlnaW5IYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFp
dHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6UHJvZmlsZXI6Ok9yaWdpbj4g
OiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpQcm9maWxlcjo6T3JpZ2luPiB7IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW5TdGFj
ay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyT3JpZ2luU3RhY2su
aAppbmRleCAwZDA5ZWE2NWRkMzgzYjEwYWVhZWY5NmM4N2NiZjEyYzJmOWMwZWY2Li41MTk1YTEz
Y2JlYjUzZDJmY2QyY2U0ZWE0YzZiMjM3OWE0MzkwZjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW5TdGFjay5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlck9yaWdpblN0YWNrLmgKQEAgLTg3LDkgKzg3
LDcgQEAgc3RydWN0IE9yaWdpblN0YWNrSGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8SlNDOjpQcm9maWxlcjo6T3JpZ2luU3RhY2s+IHsKLSAgICB0eXBlZGVmIEpTQzo6
UHJvZmlsZXI6Ok9yaWdpblN0YWNrSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPEpTQzo6UHJvZmlsZXI6Ok9yaWdpblN0YWNrPiA6IEpTQzo6UHJvZmlsZXI6Ok9y
aWdpblN0YWNrSGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJh
aXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OlByb2ZpbGVyOjpPcmlnaW5T
dGFjaz4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpQcm9maWxlcjo6T3JpZ2luU3RhY2s+
IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxl
clVJRC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyVUlELmgKaW5k
ZXggYWE1NDg4NzI3NmUxNzM5YjIyNzcxMDQ0ZmJhNmU4MzZkODc2OTE3Ny4uMGU0MjMyNGNmMmE5
YjBkMDVkOGUzNGQzZmI4ZDRjNjA2ODdhZGVhZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyVUlELmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Byb2ZpbGVyL1Byb2ZpbGVyVUlELmgKQEAgLTk5LDkgKzk5LDcgQEAgc3RydWN0IFVJREhhc2gg
ewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0
SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UHJvZmlsZXI6OlVJRD4g
ewotICAgIHR5cGVkZWYgSlNDOjpQcm9maWxlcjo6VUlESGFzaCBIYXNoOwotfTsKK3RlbXBsYXRl
PD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UHJvZmlsZXI6OlVJRD4gOiBKU0M6OlByb2ZpbGVy
OjpVSURIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7
CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6UHJvZmlsZXI6OlVJRD4gOiBTaW1w
bGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpQcm9maWxlcjo6VUlEPiB7IH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DYWNoZWRUeXBlcy5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9DYWNoZWRUeXBlcy5jcHAKaW5kZXggMjJmNzE2NGUwOWY3YjM2
NTA0ZmY4ODhiZmM5ZjFjM2Q0NDRmM2QzNC4uNTQ3NTc2NDZkNzAyMGQ1MGViZTdlNDVmMWMzMjg5
OTljNjQwZjY0YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2Fj
aGVkVHlwZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NhY2hlZFR5
cGVzLmNwcApAQCAtNjY4LDcgKzY2OCw3IEBAIHByaXZhdGU6CiAgICAgU2Vjb25kIG1fc2Vjb25k
OwogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZSwgdHlwZW5hbWUg
SGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFNvdXJjZVR5cGU8S2V5Pj46Okhhc2gsIHR5
cGVuYW1lIEtleVRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8U291cmNlVHlwZTxLZXk+PiwgdHlwZW5h
bWUgTWFwcGVkVHJhaXRzQXJnID0gSGFzaFRyYWl0czxTb3VyY2VUeXBlPFZhbHVlPj4+Cit0ZW1w
bGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoQXJnID0gRGVm
YXVsdEhhc2g8U291cmNlVHlwZTxLZXk+PiwgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRy
YWl0czxTb3VyY2VUeXBlPEtleT4+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJh
aXRzPFNvdXJjZVR5cGU8VmFsdWU+Pj4KIGNsYXNzIENhY2hlZEhhc2hNYXAgOiBwdWJsaWMgVmFy
aWFibGVMZW5ndGhPYmplY3Q8SGFzaE1hcDxTb3VyY2VUeXBlPEtleT4sIFNvdXJjZVR5cGU8VmFs
dWU+LCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4+IHsKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBLLCB0eXBlbmFtZSBWPgogICAgIHVzaW5nIE1hcCA9IEhhc2hNYXA8Sywg
ViwgSGFzaEFyZywgS2V5VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+OwpAQCAtOTI0LDcgKzky
NCw3IEBAIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fbnVtQml0czsKIH07CiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFQsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxUPjo6SGFz
aD4KK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEhhc2hBcmcgPSBEZWZhdWx0SGFzaDxU
Pj4KIGNsYXNzIENhY2hlZEhhc2hTZXQgOiBwdWJsaWMgQ2FjaGVkT2JqZWN0PEhhc2hTZXQ8U291
cmNlVHlwZTxUPiwgSGFzaEFyZz4+IHsKIHB1YmxpYzoKICAgICB2b2lkIGVuY29kZShFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBIYXNoU2V0PFNvdXJjZVR5cGU8VD4sIEhhc2hBcmc+JiBzZXQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db250cm9sRmxvd1Byb2Zp
bGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db250cm9sRmxvd1Byb2ZpbGVy
LmgKaW5kZXggNGJkZTVlZmE4NjExZTc3ZWNlOTlmM2Q3Mzg5ZDVkOGVkODUwMDBmNi4uMWM0OTU1
OWY1MjA1MDc5YTJjNmQyZGI0ZGNlMGI1MzYzZDJiOWQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29udHJvbEZsb3dQcm9maWxlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbnRyb2xGbG93UHJvZmlsZXIuaApAQCAtNjgsOSArNjgs
NyBAQCBzdHJ1Y3QgQmFzaWNCbG9ja0tleUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPEpTQzo6QmFzaWNCbG9ja0tleT4gewotICAgIHR5cGVkZWYgSlNDOjpCYXNpY0Js
b2NrS2V5SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6
QmFzaWNCbG9ja0tleT4gOiBKU0M6OkJhc2ljQmxvY2tLZXlIYXNoIHsgfTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPEpTQzo6QmFzaWNCbG9ja0tleT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpCYXNp
Y0Jsb2NrS2V5PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
YXRpdmVGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRnVu
Y3Rpb24uaAppbmRleCAxMGJhZjkwOTY3OTczMTcyYWM0Mzg2ODVmMGI3NzVhMjYyZTZmOGIzLi5i
MTY1ODQ1OGU4ZDlmYzU4MTBkNWI5MDVlYTFhOTllNTYzMGU1ZTM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUZ1bmN0aW9uLmgKQEAgLTEwOCwxNSArMTA4LDEx
IEBAIHN0YXRpY19hc3NlcnQoc2l6ZW9mKFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uKSA9PSBzaXplb2Yo
dm9pZCopLCAiIik7CiAKIG5hbWVzcGFjZSBXVEYgewogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok5h
dGl2ZUZ1bmN0aW9uPiB7Ci0gICAgdXNpbmcgSGFzaCA9IEpTQzo6TmF0aXZlRnVuY3Rpb25IYXNo
OwotfTsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok5hdGl2ZUZ1bmN0aW9uPiA6IEpTQzo6TmF0aXZlRnVu
Y3Rpb25IYXNoIHsgfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNo
OwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpUYWdnZWROYXRpdmVGdW5jdGlv
bj4gewotICAgIHVzaW5nIEhhc2ggPSBKU0M6OlRhZ2dlZE5hdGl2ZUZ1bmN0aW9uSGFzaDsKLX07
Cit0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IERlZmF1bHRIYXNoOwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpUYWdnZWROYXRpdmVGdW5jdGlvbj4gOiBKU0M6OlRhZ2dlZE5h
dGl2ZUZ1bmN0aW9uSGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVLZXkuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZUtleS5oCmluZGV4IGFiMTc1YjM3ODZjM2Nm
NmEwYzk3MjM3OTM3MDc5MGM5OWIyYTIzNGIuLmE3Zjk0NzBmMTk0MmE5OTVmYzQ5MWNhNDI3ZDFh
MzA5YWRmODViMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1By
b3RvdHlwZUtleS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlw
ZUtleS5oCkBAIC05NSwxMiArOTUsMTAgQEAgc3RydWN0IFByb3RvdHlwZUtleUhhc2ggewogCiBu
YW1lc3BhY2UgV1RGIHsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNo
OwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpQcm90b3R5cGVLZXk+IHsKLSAg
ICB0eXBlZGVmIEpTQzo6UHJvdG90eXBlS2V5SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPHR5cGVu
YW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxK
U0M6OlByb3RvdHlwZUtleT4gOiBKU0M6OlByb3RvdHlwZUtleUhhc2ggeyB9OwogCi10ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1
Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpQcm90b3R5
cGVLZXk+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6UHJvdG90eXBlS2V5PiB7IH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwS2V5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBL
ZXkuaAppbmRleCAwNGI2YzYzNDg2Mzg2N2RiZDM2ZjI1YmRlOTgzMThhNmM1ODBlOWEyLi5lMGY4
ODMxMDIwZDZkOTM1YzcwMTkwMWZiNDliMjhjYjZkYzkzOGZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBLZXkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHBLZXkuaApAQCAtODgsMTEgKzg4LDkgQEAgaW5saW5lIGJvb2wg
b3BlcmF0b3I9PShjb25zdCBSZWdFeHBLZXkmIGEsIGNvbnN0IFJlZ0V4cEtleSYgYikKIH0gLy8g
bmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0
cnVjdCBEZWZhdWx0SGFzaDsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7
CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UmVnRXhwS2V5PiB7Ci0gICAg
dHlwZWRlZiBKU0M6OlJlZ0V4cEtleTo6SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPEpTQzo6UmVnRXhwS2V5PiA6IEpTQzo6UmVnRXhwS2V5OjpIYXNoIHsgfTsK
IAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OlJlZ0V4cEtleT4gOiBHZW5lcmlj
SGFzaFRyYWl0czxKU0M6OlJlZ0V4cEtleT4gewogICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBl
bXB0eVZhbHVlSXNaZXJvID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1RlbXBsYXRlT2JqZWN0RGVzY3JpcHRvci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmgKaW5kZXggZmRjMTQ1MmNiNTI1
YjFhMDA1NTkxZDc2ZmVhODQ3ZTNmMGY2ZGIwNC4uNzNlNDNmYTJjMTdhN2Y1ZTdlM2Q2NzMzZWE1
YThjY2UwZjg0ZGUxZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
VGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmgKQEAgLTExMSwxMSArMTExLDkgQEAgaW5s
aW5lIHVuc2lnbmVkIFRlbXBsYXRlT2JqZWN0RGVzY3JpcHRvcjo6Y2FsY3VsYXRlSGFzaChjb25z
dCBTdHJpbmdWZWN0b3ImIHJhd1MKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RG
IHsKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKK3RlbXBsYXRlPHR5
cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPEpTQzo6VGVtcGxhdGVPYmplY3REZXNjcmlwdG9yPiB7Ci0gICAgdHlwZWRlZiBKU0M6OlRl
bXBsYXRlT2JqZWN0RGVzY3JpcHRvcjo6SGFzaGVyIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpUZW1wbGF0ZU9iamVjdERlc2NyaXB0b3I+IDogSlNDOjpUZW1w
bGF0ZU9iamVjdERlc2NyaXB0b3I6Okhhc2hlciB7IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhh
c2hUcmFpdHM8SlNDOjpUZW1wbGF0ZU9iamVjdERlc2NyaXB0b3I+IDogQ3VzdG9tSGFzaFRyYWl0
czxKU0M6OlRlbXBsYXRlT2JqZWN0RGVzY3JpcHRvcj4gewogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyLmgKaW5kZXggODYzZWNhNzUxNTBkOTRjNDk1ZGVm
Y2YyNDcxZTczNzYyMjVmMTVhMC4uNzc5Y2MwMGMxMGRhOWUxZWI2Y2ExOTc4MDU3ZmRhMjE5ZDgw
Y2JjNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2Zp
bGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyLmgK
QEAgLTk4LDkgKzk4LDcgQEAgc3RydWN0IFF1ZXJ5S2V5SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsK
IAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpRdWVyeUtleT4gewotICAgIHR5cGVkZWYgSlNDOjpRdWVy
eUtleUhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OlF1
ZXJ5S2V5PiA6IEpTQzo6UXVlcnlLZXlIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6UXVl
cnlLZXk+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6UXVlcnlLZXk+IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Zhck9mZnNldC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVmFyT2Zmc2V0LmgKaW5kZXggMjAwMmY5ZDcwMmIzYTJhY2Q3
NWQzMDM0ODQ0Yjg2MDk5NTk0ZGNlNy4uNDJjMzdjMTFhMWFjZTQyNDRkZjdkMzgxZTQ2NTVjZWVm
Yzk2MjE5ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVmFyT2Zm
c2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVmFyT2Zmc2V0LmgKQEAg
LTIzMSw5ICsyMzEsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQgcHJpbnRJbnRlcm5hbChQcmlu
dFN0cmVhbSYsIEpTQzo6VmFyS2luZCk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBE
ZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6VmFyT2Zmc2V0
PiB7Ci0gICAgdHlwZWRlZiBKU0M6OlZhck9mZnNldEhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OlZhck9mZnNldD4gOiBKU0M6OlZhck9mZnNldEhhc2gg
eyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRl
PD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpWYXJPZmZzZXQ+IDogU2ltcGxlQ2xhc3NIYXNoVHJh
aXRzPEpTQzo6VmFyT2Zmc2V0PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9XZWFrR0NNYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtH
Q01hcC5oCmluZGV4IDg4ZWZkODY1OTRlMTdiYjJkZWYzYzc0NzU4ZWE5YWVkYjQ2Yjg1NmEuLjkx
MmNkNDE5NmI1OTAyM2M1M2VjNjViZTUxNThlMjJkMmViMDU0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCkBAIC0zOCw3ICszOCw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgcHJ1bmVTdGFsZUVudHJpZXMoKSA9IDA7CiB9OwogCi10ZW1wbGF0ZTx0
eXBlbmFtZSBLZXlBcmcsIHR5cGVuYW1lIFZhbHVlQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlw
ZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJnPjo6SGFzaCwKK3RlbXBsYXRlPHR5cGVuYW1lIEtleUFy
ZywgdHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSBEZWZhdWx0SGFzaDxLZXlB
cmc+LAogICAgIHR5cGVuYW1lIEtleVRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8S2V5QXJnPj4KIGNs
YXNzIFdlYWtHQ01hcCBmaW5hbCA6IHB1YmxpYyBXZWFrR0NNYXBCYXNlIHsKICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21CQlFQbGFuLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQkJRUGxhbi5o
CmluZGV4IGZiNGUxZTI1OTYyMGRiYjc1NDc2ZmM3NmM5MmRjZWM2MjUzODY0NDcuLjI3NTA4YmYx
Y2Q0MDY0MzA2NDcyNmU1ZWRmYjc4MzMyYjQzY2I4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dhc21CQlFQbGFuLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV2FzbUJCUVBsYW4uaApAQCAtODMsNyArODMsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6
dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9uPiBjb21waWxlRnVuY3Rpb24odWludDMyX3QgZnVu
Y3Rpb25JbmRleCwgQ29tcGlsYXRpb25Db250ZXh0JiwgVmVjdG9yPFVubGlua2VkV2FzbVRvV2Fz
bUNhbGw+JiwgVGllclVwQ291bnQqKTsKIAogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8SW50
ZXJuYWxGdW5jdGlvbj4+IG1fd2FzbUludGVybmFsRnVuY3Rpb25zOwotICAgIEhhc2hNYXA8dWlu
dDMyX3QsIHN0ZDo6dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9uPiwgdHlwZW5hbWUgRGVmYXVs
dEhhc2g8dWludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRz
PHVpbnQzMl90Pj4gbV9lbWJlZGRlclRvV2FzbUludGVybmFsRnVuY3Rpb25zOworICAgIEhhc2hN
YXA8dWludDMyX3QsIHN0ZDo6dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9uPiwgRGVmYXVsdEhh
c2g8dWludDMyX3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90
Pj4gbV9lbWJlZGRlclRvV2FzbUludGVybmFsRnVuY3Rpb25zOwogICAgIFZlY3RvcjxDb21waWxh
dGlvbkNvbnRleHQ+IG1fY29tcGlsYXRpb25Db250ZXh0czsKICAgICBWZWN0b3I8c3RkOjp1bmlx
dWVfcHRyPFRpZXJVcENvdW50Pj4gbV90aWVyVXBDb3VudHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21Db2RlQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dhc21Db2RlQmxvY2suaAppbmRleCBhOGZiMjRiOGUwNTlmOWExOTE3ODkxMDA3
ZDE4ZDM4ZTU1MzE3MWVkLi5hNzUzYTUyNGMxYjRhZDVkOWFmMjdlYmYyNTFlMmJhNTgzMmI3Mzhh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ29kZUJsb2NrLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUNvZGVCbG9jay5oCkBAIC0xMzYs
NyArMTM2LDcgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8UmVmUHRyPE9NR0NhbGxlZT4+IG1fb21n
Q2FsbGVlczsKICAgICBWZWN0b3I8UmVmUHRyPEJCUUNhbGxlZT4+IG1fYmJxQ2FsbGVlczsKICAg
ICBSZWZQdHI8TExJbnRDYWxsZWVzPiBtX2xsaW50Q2FsbGVlczsKLSAgICBIYXNoTWFwPHVpbnQz
Ml90LCBSZWZQdHI8RW1iZWRkZXJFbnRyeXBvaW50Q2FsbGVlPiwgdHlwZW5hbWUgRGVmYXVsdEhh
c2g8dWludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVp
bnQzMl90Pj4gbV9lbWJlZGRlckNhbGxlZXM7CisgICAgSGFzaE1hcDx1aW50MzJfdCwgUmVmUHRy
PEVtYmVkZGVyRW50cnlwb2ludENhbGxlZT4sIERlZmF1bHRIYXNoPHVpbnQzMl90PiwgV1RGOjpV
bnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+IG1fZW1iZWRkZXJDYWxsZWVz
OwogICAgIFZlY3RvcjxNYWNyb0Fzc2VtYmxlckNvZGVQdHI8V2FzbUVudHJ5UHRyVGFnPj4gbV93
YXNtSW5kaXJlY3RDYWxsRW50cnlQb2ludHM7CiAgICAgVmVjdG9yPFZlY3RvcjxVbmxpbmtlZFdh
c21Ub1dhc21DYWxsPj4gbV93YXNtVG9XYXNtQ2FsbHNpdGVzOwogICAgIFZlY3RvcjxNYWNyb0Fz
c2VtYmxlckNvZGVSZWY8V2FzbUVudHJ5UHRyVGFnPj4gbV93YXNtVG9XYXNtRXhpdFN0dWJzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUVudHJ5UGxhbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUVudHJ5UGxhbi5oCmluZGV4IGIwMDBmOGJh
MjI4YTcwN2U0Y2EzM2RmYzY1NjE4ZjhjOGZmMDA4MDguLjAzMzkxOTZkMDkxNTY3ZDg1Zjc0YzRk
ZWU4OGRhNzM0Mzg0YmI5NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21FbnRyeVBsYW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtRW50
cnlQbGFuLmgKQEAgLTExNSw3ICsxMTUsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBWZWN0b3I8dWlu
dDhfdD4gbV9zb3VyY2U7CiAgICAgVmVjdG9yPE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxXYXNtRW50
cnlQdHJUYWc+PiBtX3dhc21Ub1dhc21FeGl0U3R1YnM7Ci0gICAgSGFzaFNldDx1aW50MzJfdCwg
dHlwZW5hbWUgRGVmYXVsdEhhc2g8dWludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFpl
cm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj4gbV9leHBvcnRlZEZ1bmN0aW9uSW5kaWNlczsKKyAg
ICBIYXNoU2V0PHVpbnQzMl90LCBEZWZhdWx0SGFzaDx1aW50MzJfdD4sIFdURjo6VW5zaWduZWRX
aXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDMyX3Q+PiBtX2V4cG9ydGVkRnVuY3Rpb25JbmRpY2Vz
OwogCiAgICAgVmVjdG9yPFZlY3RvcjxVbmxpbmtlZFdhc21Ub1dhc21DYWxsPj4gbV91bmxpbmtl
ZFdhc21Ub1dhc21DYWxsczsKICAgICBTdHJlYW1pbmdQYXJzZXIgbV9zdHJlYW1pbmdQYXJzZXI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRQbGFuLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRQbGFuLmgKaW5kZXggZmI4NDkx
YmFiMzBkZmFiNzljMzdmMTJhZWJiYzFlZTQxZDFlODVkOS4uMmVjYzQyODczNzlhZTE4ZjNjNjEx
N2I3NmE1ZWE2NTZmNTcwODYyNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV2FzbUxMSW50UGxhbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21M
TEludFBsYW4uaApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2FzbSB7CiBjbGFzcyBMTElu
dENhbGxlZTsKIGNsYXNzIEVtYmVkZGVyRW50cnlwb2ludENhbGxlZTsKIAotdXNpbmcgRW1iZWRk
ZXJFbnRyeXBvaW50Q2FsbGVlTWFwID0gSGFzaE1hcDx1aW50MzJfdCwgUmVmUHRyPEVtYmVkZGVy
RW50cnlwb2ludENhbGxlZT4sIHR5cGVuYW1lIERlZmF1bHRIYXNoPHVpbnQzMl90Pjo6SGFzaCwg
V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+OwordXNpbmcgRW1i
ZWRkZXJFbnRyeXBvaW50Q2FsbGVlTWFwID0gSGFzaE1hcDx1aW50MzJfdCwgUmVmUHRyPEVtYmVk
ZGVyRW50cnlwb2ludENhbGxlZT4sIERlZmF1bHRIYXNoPHVpbnQzMl90PiwgV1RGOjpVbnNpZ25l
ZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+OwogCiBjbGFzcyBMTEludFBsYW4gZmlu
YWwgOiBwdWJsaWMgRW50cnlQbGFuIHsKICAgICB1c2luZyBCYXNlID0gRW50cnlQbGFuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVNpZ25hdHVyZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVNpZ25hdHVyZS5oCmluZGV4IDljNWE3OTZhMWNm
ZDEwNGViZTJkZjhkNzNmMWJiODQ3NDdhZDkxNTMuLmNhOGMzMmI1NmY2Y2FjZDYyM2MyMTY1OWE0
M2NmOTlhYTk3MDQ4NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dh
c21TaWduYXR1cmUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU2lnbmF0
dXJlLmgKQEAgLTEyMyw5ICsxMjMsNyBAQCBzdHJ1Y3QgU2lnbmF0dXJlSGFzaCB7CiBuYW1lc3Bh
Y2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpXYXNtOjpTaWduYXR1cmVIYXNoPiB7Ci0g
ICAgdHlwZWRlZiBKU0M6Oldhc206OlNpZ25hdHVyZUhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Oldhc206OlNpZ25hdHVyZUhhc2g+IDogSlNDOjpXYXNt
OjpTaWduYXR1cmVIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hU
cmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6V2FzbTo6U2lnbmF0dXJl
SGFzaD4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpXYXNtOjpTaWduYXR1cmVIYXNoPiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9CaXRWZWN0b3IuaCBiL1NvdXJjZS9XVEYvd3Rm
L0JpdFZlY3Rvci5oCmluZGV4IDNlNjEzNDgwY2UwMThlNjgxMDA4NWQ2OGU3NTg4MDY1Nzk1ZGY1
YzAuLmRkMzhiZDg4ODI0MjE3MTU3MTk2NjA0M2EyYTQ1ZDYwOGVhNjAyYjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL0JpdFZlY3Rvci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0JpdFZlY3Rv
ci5oCkBAIC00OTMsOSArNDkzLDcgQEAgc3RydWN0IEJpdFZlY3Rvckhhc2ggewogfTsKIAogdGVt
cGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8Qml0VmVjdG9yPiB7Ci0gICAgdHlwZWRlZiBCaXRWZWN0b3JIYXNoIEhhc2g7
Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8Qml0VmVjdG9yPiA6IEJpdFZlY3Rv
ckhhc2ggeyB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEJpdFZlY3Rvcj4gOiBw
dWJsaWMgQ3VzdG9tSGFzaFRyYWl0czxCaXRWZWN0b3I+IHsgfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvRm9yd2FyZC5oIGIvU291cmNlL1dURi93dGYvRm9yd2FyZC5oCmluZGV4IDdi
NDIwNzJjZmRjZDc1MzA5NDE0N2ZlYjU2MzA2Y2ZhNDFhZGRmMzkuLjQ3MGIyZTllOTRhZmI2MWFi
M2IyOTQ1MzM2MzUxMGFlNjlkYjFlYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Zvcndh
cmQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Gb3J3YXJkLmgKQEAgLTc4LDE1ICs3OCwxNSBAQCB0
ZW1wbGF0ZTx0eXBlbmFtZS4uLj4gY2xhc3MgVmFyaWFudDsKIHRlbXBsYXRlPHR5cGVuYW1lLCBz
aXplX3QgPSAwLCB0eXBlbmFtZSA9IENyYXNoT25PdmVyZmxvdywgc2l6ZV90ID0gMTYsIHR5cGVu
YW1lIE1hbGxvYyA9IFZlY3Rvck1hbGxvYz4gY2xhc3MgVmVjdG9yOwogdGVtcGxhdGU8dHlwZW5h
bWUsIHR5cGVuYW1lID0gRW1wdHlDb3VudGVyPiBjbGFzcyBXZWFrUHRyOwogCi10ZW1wbGF0ZTx0
eXBlbmFtZT4gc3RydWN0IERlZmF1bHRIYXNoIHsgdXNpbmcgSGFzaCA9IHZvaWQ7IH07Cit0ZW1w
bGF0ZTx0eXBlbmFtZT4gc3RydWN0IERlZmF1bHRIYXNoOwogdGVtcGxhdGU8dHlwZW5hbWU+IHN0
cnVjdCBEdW1iVmFsdWVUcmFpdHM7CiB0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IEVudW1UcmFp
dHM7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBFLCBFLi4uPiBzdHJ1Y3QgRW51bVZhbHVlczsKIHRlbXBs
YXRlPHR5cGVuYW1lPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVmFs
dWUsIHR5cGVuYW1lID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWU+OjpIYXNoLCB0eXBlbmFt
ZSA9IEhhc2hUcmFpdHM8VmFsdWU+PiBjbGFzcyBIYXNoQ291bnRlZFNldDsKLXRlbXBsYXRlPHR5
cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSA9IHR5cGVuYW1lIERl
ZmF1bHRIYXNoPEtleUFyZz46Okhhc2gsIHR5cGVuYW1lID0gSGFzaFRyYWl0czxLZXlBcmc+LCB0
eXBlbmFtZSA9IEhhc2hUcmFpdHM8TWFwcGVkQXJnPj4gY2xhc3MgSGFzaE1hcDsKLXRlbXBsYXRl
PHR5cGVuYW1lIFZhbHVlQXJnLCB0eXBlbmFtZSA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVl
QXJnPjo6SGFzaCwgdHlwZW5hbWUgPSBIYXNoVHJhaXRzPFZhbHVlQXJnPj4gY2xhc3MgSGFzaFNl
dDsKK3RlbXBsYXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSA9IERlZmF1bHRIYXNoPFZhbHVl
PiwgdHlwZW5hbWUgPSBIYXNoVHJhaXRzPFZhbHVlPj4gY2xhc3MgSGFzaENvdW50ZWRTZXQ7Cit0
ZW1wbGF0ZTx0eXBlbmFtZSBLZXlBcmcsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgPSBE
ZWZhdWx0SGFzaDxLZXlBcmc+LCB0eXBlbmFtZSA9IEhhc2hUcmFpdHM8S2V5QXJnPiwgdHlwZW5h
bWUgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4+IGNsYXNzIEhhc2hNYXA7Cit0ZW1wbGF0ZTx0eXBl
bmFtZSBWYWx1ZUFyZywgdHlwZW5hbWUgPSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz4sIHR5cGVuYW1l
ID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4+IGNsYXNzIEhhc2hTZXQ7CiAKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvSGFzaEZ1bmN0aW9ucy5oIGIvU291cmNlL1dURi93dGYvSGFzaEZ1
bmN0aW9ucy5oCmluZGV4IDlkY2I4OWY3MWMzYmNjOGY2MGQzNjM1MWQyN2Y1YjgxZWUzZWY4ZTIu
LjVmOTBmNGVhNzYxMTgxYmZlNGE0NTA3N2IxMmQxODUxZTdmODljNDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL0hhc2hGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoRnVu
Y3Rpb25zLmgKQEAgLTE2MCwxMyArMTYwLDEzIEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IHN0cnVjdCBQYWlySGFzaCB7CiAgICAgICAgIHN0
YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IHN0ZDo6cGFpcjxULCBVPiYgcCkKICAgICAgICAgewot
ICAgICAgICAgICAgcmV0dXJuIHBhaXJJbnRIYXNoKERlZmF1bHRIYXNoPFQ+OjpIYXNoOjpoYXNo
KHAuZmlyc3QpLCBEZWZhdWx0SGFzaDxVPjo6SGFzaDo6aGFzaChwLnNlY29uZCkpOworICAgICAg
ICAgICAgcmV0dXJuIHBhaXJJbnRIYXNoKERlZmF1bHRIYXNoPFQ+OjpoYXNoKHAuZmlyc3QpLCBE
ZWZhdWx0SGFzaDxVPjo6aGFzaChwLnNlY29uZCkpOwogICAgICAgICB9CiAgICAgICAgIHN0YXRp
YyBib29sIGVxdWFsKGNvbnN0IHN0ZDo6cGFpcjxULCBVPiYgYSwgY29uc3Qgc3RkOjpwYWlyPFQs
IFU+JiBiKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8VD46Okhh
c2g6OmVxdWFsKGEuZmlyc3QsIGIuZmlyc3QpICYmIERlZmF1bHRIYXNoPFU+OjpIYXNoOjplcXVh
bChhLnNlY29uZCwgYi5zZWNvbmQpOworICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPFQ+
OjplcXVhbChhLmZpcnN0LCBiLmZpcnN0KSAmJiBEZWZhdWx0SGFzaDxVPjo6ZXF1YWwoYS5zZWNv
bmQsIGIuc2Vjb25kKTsKICAgICAgICAgfQotICAgICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wg
c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBEZWZhdWx0SGFzaDxUPjo6SGFzaDo6c2Fm
ZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgJiYgRGVmYXVsdEhhc2g8VT46Okhhc2g6OnNhZmVU
b0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkOworICAgICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wg
c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBEZWZhdWx0SGFzaDxUPjo6c2FmZVRvQ29t
cGFyZVRvRW1wdHlPckRlbGV0ZWQgJiYgRGVmYXVsdEhhc2g8VT46OnNhZmVUb0NvbXBhcmVUb0Vt
cHR5T3JEZWxldGVkOwogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFt
ZSBVPiBzdHJ1Y3QgSW50UGFpckhhc2ggewpAQCAtMTgxLDk0ICsxODEsOTQgQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgICAgIHN0YXRpYyB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJIDwgc2l6ZW9m
Li4uKFR5cGVzKSAtIDEsIHVuc2lnbmVkPjo6dHlwZSBoYXNoKGNvbnN0IHN0ZDo6dHVwbGU8VHlw
ZXMuLi4+JiB0KQogICAgICAgICB7CiAgICAgICAgICAgICB1c2luZyBJdGhUdXBsZUVsZW1lbnRU
eXBlID0gdHlwZW5hbWUgc3RkOjp0dXBsZV9lbGVtZW50PEksIHR5cGVuYW1lIHN0ZDo6dHVwbGU8
VHlwZXMuLi4+Pjo6dHlwZTsKLSAgICAgICAgICAgIHJldHVybiBwYWlySW50SGFzaChEZWZhdWx0
SGFzaDxJdGhUdXBsZUVsZW1lbnRUeXBlPjo6SGFzaDo6aGFzaChzdGQ6OmdldDxJPih0KSksIGhh
c2g8SSArIDE+KHQpKTsKKyAgICAgICAgICAgIHJldHVybiBwYWlySW50SGFzaChEZWZhdWx0SGFz
aDxJdGhUdXBsZUVsZW1lbnRUeXBlPjo6aGFzaChzdGQ6OmdldDxJPih0KSksIGhhc2g8SSArIDE+
KHQpKTsKICAgICAgICAgfQogCiAgICAgICAgIHRlbXBsYXRlPHNpemVfdCBJID0gMD4KICAgICAg
ICAgc3RhdGljIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPEkgPT0gc2l6ZW9mLi4uKFR5cGVzKSAt
IDEsIHVuc2lnbmVkPjo6dHlwZSBoYXNoKGNvbnN0IHN0ZDo6dHVwbGU8VHlwZXMuLi4+JiB0KQog
ICAgICAgICB7CiAgICAgICAgICAgICB1c2luZyBJdGhUdXBsZUVsZW1lbnRUeXBlID0gdHlwZW5h
bWUgc3RkOjp0dXBsZV9lbGVtZW50PEksIHR5cGVuYW1lIHN0ZDo6dHVwbGU8VHlwZXMuLi4+Pjo6
dHlwZTsKLSAgICAgICAgICAgIHJldHVybiBEZWZhdWx0SGFzaDxJdGhUdXBsZUVsZW1lbnRUeXBl
Pjo6SGFzaDo6aGFzaChzdGQ6OmdldDxJPih0KSk7CisgICAgICAgICAgICByZXR1cm4gRGVmYXVs
dEhhc2g8SXRoVHVwbGVFbGVtZW50VHlwZT46Omhhc2goc3RkOjpnZXQ8ST4odCkpOwogICAgICAg
ICB9CiAKICAgICAgICAgdGVtcGxhdGU8c2l6ZV90IEkgPSAwPgogICAgICAgICBzdGF0aWMgdHlw
ZW5hbWUgc3RkOjplbmFibGVfaWY8SSA8IHNpemVvZi4uLihUeXBlcykgLSAxLCBib29sPjo6dHlw
ZSBlcXVhbChjb25zdCBzdGQ6OnR1cGxlPFR5cGVzLi4uPiYgYSwgY29uc3Qgc3RkOjp0dXBsZTxU
eXBlcy4uLj4mIGIpCiAgICAgICAgIHsKICAgICAgICAgICAgIHVzaW5nIEl0aFR1cGxlRWxlbWVu
dFR5cGUgPSB0eXBlbmFtZSBzdGQ6OnR1cGxlX2VsZW1lbnQ8SSwgdHlwZW5hbWUgc3RkOjp0dXBs
ZTxUeXBlcy4uLj4+Ojp0eXBlOwotICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPEl0aFR1
cGxlRWxlbWVudFR5cGU+OjpIYXNoOjplcXVhbChzdGQ6OmdldDxJPihhKSwgc3RkOjpnZXQ8ST4o
YikpICYmIGVxdWFsPEkgKyAxPihhLCBiKTsKKyAgICAgICAgICAgIHJldHVybiBEZWZhdWx0SGFz
aDxJdGhUdXBsZUVsZW1lbnRUeXBlPjo6ZXF1YWwoc3RkOjpnZXQ8ST4oYSksIHN0ZDo6Z2V0PEk+
KGIpKSAmJiBlcXVhbDxJICsgMT4oYSwgYik7CiAgICAgICAgIH0KIAogICAgICAgICB0ZW1wbGF0
ZTxzaXplX3QgSSA9IDA+CiAgICAgICAgIHN0YXRpYyB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJ
ID09IHNpemVvZi4uLihUeXBlcykgLSAxLCBib29sPjo6dHlwZSBlcXVhbChjb25zdCBzdGQ6OnR1
cGxlPFR5cGVzLi4uPiYgYSwgY29uc3Qgc3RkOjp0dXBsZTxUeXBlcy4uLj4mIGIpCiAgICAgICAg
IHsKICAgICAgICAgICAgIHVzaW5nIEl0aFR1cGxlRWxlbWVudFR5cGUgPSB0eXBlbmFtZSBzdGQ6
OnR1cGxlX2VsZW1lbnQ8SSwgdHlwZW5hbWUgc3RkOjp0dXBsZTxUeXBlcy4uLj4+Ojp0eXBlOwot
ICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPEl0aFR1cGxlRWxlbWVudFR5cGU+OjpIYXNo
OjplcXVhbChzdGQ6OmdldDxJPihhKSwgc3RkOjpnZXQ8ST4oYikpOworICAgICAgICAgICAgcmV0
dXJuIERlZmF1bHRIYXNoPEl0aFR1cGxlRWxlbWVudFR5cGU+OjplcXVhbChzdGQ6OmdldDxJPihh
KSwgc3RkOjpnZXQ8ST4oYikpOwogICAgICAgICB9CiAKLSAgICAgICAgLy8gV2Ugc2hvdWxkIHVz
ZSBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IERlZmF1bHRIYXNoPFR5cGVzPjo6SGFz
aDo6c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgJiYuLi4gd2hlbmV2ZXIKKyAgICAgICAg
Ly8gV2Ugc2hvdWxkIHVzZSBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IERlZmF1bHRI
YXNoPFR5cGVzPjo6c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgJiYuLi4gd2hlbmV2ZXIK
ICAgICAgICAgLy8gd2Ugc3dpdGNoIHRvIEMrKzE3LiBXZSBjYW4ndCBkbyBhbnl0aGluZyBiZXR0
ZXIgaGVyZSByaWdodCBub3cgYmVjYXVzZSBHQ0MgY2FuJ3QgZG8gQysrLgogICAgICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBCb29sVHlwZT4KICAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGFs
bFRydWUoQm9vbFR5cGUgdmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9CiAgICAgICAgIHRlbXBsYXRl
PHR5cGVuYW1lIEJvb2xUeXBlLCB0eXBlbmFtZS4uLiBCb29sVHlwZXM+CiAgICAgICAgIHN0YXRp
YyBjb25zdGV4cHIgYm9vbCBhbGxUcnVlKEJvb2xUeXBlIHZhbHVlLCBCb29sVHlwZXMuLi4gdmFs
dWVzKSB7IHJldHVybiB2YWx1ZSAmJiBhbGxUcnVlKHZhbHVlcy4uLik7IH0KLSAgICAgICAgc3Rh
dGljIGNvbnN0ZXhwciBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gYWxsVHJ1
ZShEZWZhdWx0SGFzaDxUeXBlcz46Okhhc2g6OnNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVk
Li4uKTsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5
T3JEZWxldGVkID0gYWxsVHJ1ZShEZWZhdWx0SGFzaDxUeXBlcz46OnNhZmVUb0NvbXBhcmVUb0Vt
cHR5T3JEZWxldGVkLi4uKTsKICAgICB9OwogCiAgICAgLy8gbWFrZSBJbnRIYXNoIHRoZSBkZWZh
dWx0IGhhc2ggZnVuY3Rpb24gZm9yIG1hbnkgaW50ZWdlciB0eXBlcwogCi0gICAgdGVtcGxhdGU8
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8Ym9vbD4geyB0eXBlZGVmIEludEhhc2g8dWludDhfdD4gSGFz
aDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDx1aW50OF90PiB7IHR5cGVk
ZWYgSW50SGFzaDx1aW50OF90PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPHNob3J0PiB7IHR5cGVkZWYgSW50SGFzaDx1bnNpZ25lZD4gSGFzaDsgfTsKLSAgICB0
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDx1bnNpZ25lZCBzaG9ydD4geyB0eXBlZGVmIElu
dEhhc2g8dW5zaWduZWQ+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8aW50PiB7IHR5cGVkZWYgSW50SGFzaDx1bnNpZ25lZD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDx1bnNpZ25lZD4geyB0eXBlZGVmIEludEhhc2g8dW5zaWdu
ZWQ+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8bG9uZz4geyB0
eXBlZGVmIEludEhhc2g8dW5zaWduZWQgbG9uZz4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDx1bnNpZ25lZCBsb25nPiB7IHR5cGVkZWYgSW50SGFzaDx1bnNpZ25l
ZCBsb25nPiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGxvbmcg
bG9uZz4geyB0eXBlZGVmIEludEhhc2g8dW5zaWduZWQgbG9uZyBsb25nPiBIYXNoOyB9OwotICAg
IHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHVuc2lnbmVkIGxvbmcgbG9uZz4geyB0eXBl
ZGVmIEludEhhc2g8dW5zaWduZWQgbG9uZyBsb25nPiBIYXNoOyB9OworICAgIHRlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPGJvb2w+IDogSW50SGFzaDx1aW50OF90PiB7IH07CisgICAgdGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8dWludDhfdD4gOiBJbnRIYXNoPHVpbnQ4X3Q+IHsg
fTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzaG9ydD4gOiBJbnRIYXNoPHVu
c2lnbmVkPiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8dW5zaWduZWQg
c2hvcnQ+IDogSW50SGFzaDx1bnNpZ25lZD4geyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPGludD4gOiBJbnRIYXNoPHVuc2lnbmVkPiB7IH07CisgICAgdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8dW5zaWduZWQ+IDogSW50SGFzaDx1bnNpZ25lZD4geyB9OworICAg
IHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGxvbmc+IDogSW50SGFzaDx1bnNpZ25lZCBs
b25nPiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8dW5zaWduZWQgbG9u
Zz4gOiBJbnRIYXNoPHVuc2lnbmVkIGxvbmc+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxsb25nIGxvbmc+IDogSW50SGFzaDx1bnNpZ25lZCBsb25nIGxvbmc+IHsgfTsK
KyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDx1bnNpZ25lZCBsb25nIGxvbmc+IDog
SW50SGFzaDx1bnNpZ25lZCBsb25nIGxvbmc+IHsgfTsKIAogI2lmIGRlZmluZWQoX05BVElWRV9X
Q0hBUl9UX0RFRklORUQpCi0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8d2NoYXJf
dD4geyB0eXBlZGVmIEludEhhc2g8d2NoYXJfdD4gSGFzaDsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDx3Y2hhcl90PiA6IEludEhhc2g8d2NoYXJfdD4geyB9OwogI2VuZGlm
CiAKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxmbG9hdD4geyB0eXBlZGVmIEZs
b2F0SGFzaDxmbG9hdD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFz
aDxkb3VibGU+IHsgdHlwZWRlZiBGbG9hdEhhc2g8ZG91YmxlPiBIYXNoOyB9OworICAgIHRlbXBs
YXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGZsb2F0PiA6IEZsb2F0SGFzaDxmbG9hdD4geyB9Owor
ICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGRvdWJsZT4gOiBGbG9hdEhhc2g8ZG91
YmxlPiB7IH07CiAKICAgICAvLyBtYWtlIFB0ckhhc2ggdGhlIGRlZmF1bHQgaGFzaCBmdW5jdGlv
biBmb3IgcG9pbnRlciB0eXBlcyB0aGF0IGRvbid0IHNwZWNpYWxpemUKIAotICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxQKj4geyB0eXBlZGVmIFB0ckhhc2g8UCo+
IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgUD4gc3RydWN0IERlZmF1bHRIYXNoPFJl
ZlB0cjxQPj4geyB0eXBlZGVmIFB0ckhhc2g8UmVmUHRyPFA+PiBIYXNoOyB9OwotICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxSZWY8UD4+IHsgdHlwZWRlZiBQdHJI
YXNoPFJlZjxQPj4gSGFzaDsgfTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8UCo+IDogUHRySGFzaDxQKj4geyB9OworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFA+
IHN0cnVjdCBEZWZhdWx0SGFzaDxSZWZQdHI8UD4+IDogUHRySGFzaDxSZWZQdHI8UD4+IHsgfTsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8UmVmPFA+PiA6IFB0
ckhhc2g8UmVmPFA+PiB7IH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQLCB0eXBlbmFtZSBE
ZWxldGVyPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjp1bmlxdWVfcHRyPFAsIERlbGV0ZXI+PiB7
IHR5cGVkZWYgUHRySGFzaDxzdGQ6OnVuaXF1ZV9wdHI8UCwgRGVsZXRlcj4+IEhhc2g7IH07Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgUCwgdHlwZW5hbWUgRGVsZXRlcj4gc3RydWN0IERlZmF1bHRI
YXNoPHN0ZDo6dW5pcXVlX3B0cjxQLCBEZWxldGVyPj4gOiBQdHJIYXNoPHN0ZDo6dW5pcXVlX3B0
cjxQLCBEZWxldGVyPj4geyB9OwogCiAjaWZkZWYgX19PQkpDX18KLSAgICB0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDxfX3Vuc2FmZV91bnJldGFpbmVkIGlkPiB7IHVzaW5nIEhhc2ggPSBQ
dHJIYXNoPF9fdW5zYWZlX3VucmV0YWluZWQgaWQ+OyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPF9fdW5zYWZlX3VucmV0YWluZWQgaWQ+IDogUHRySGFzaDxfX3Vuc2FmZV91
bnJldGFpbmVkIGlkPiB7IH07CiAjZW5kaWYKIAogICAgIC8vIG1ha2UgSW50UGFpckhhc2ggdGhl
IGRlZmF1bHQgaGFzaCBmdW5jdGlvbiBmb3IgcGFpcnMgb2YgKGF0IG1vc3QpIDMyLWJpdCBpbnRl
Z2Vycy4KIAotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxzaG9y
dCwgc2hvcnQ+PiB7IHR5cGVkZWYgSW50UGFpckhhc2g8c2hvcnQsIHNob3J0PiBIYXNoOyB9Owot
ICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxzaG9ydCwgdW5zaWdu
ZWQgc2hvcnQ+PiB7IHR5cGVkZWYgSW50UGFpckhhc2g8c2hvcnQsIHVuc2lnbmVkIHNob3J0PiBI
YXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxzaG9y
dCwgaW50Pj4geyB0eXBlZGVmIEludFBhaXJIYXNoPHNob3J0LCBpbnQ+IEhhc2g7IH07Ci0gICAg
dGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHNob3J0LCB1bnNpZ25lZD4+
IHsgdHlwZWRlZiBJbnRQYWlySGFzaDxzaG9ydCwgdW5zaWduZWQ+IEhhc2g7IH07Ci0gICAgdGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHVuc2lnbmVkIHNob3J0LCBzaG9y
dD4+IHsgdHlwZWRlZiBJbnRQYWlySGFzaDx1bnNpZ25lZCBzaG9ydCwgc2hvcnQ+IEhhc2g7IH07
Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHVuc2lnbmVkIHNo
b3J0LCB1bnNpZ25lZCBzaG9ydD4+IHsgdHlwZWRlZiBJbnRQYWlySGFzaDx1bnNpZ25lZCBzaG9y
dCwgdW5zaWduZWQgc2hvcnQ+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVs
dEhhc2g8c3RkOjpwYWlyPHVuc2lnbmVkIHNob3J0LCBpbnQ+PiB7IHR5cGVkZWYgSW50UGFpckhh
c2g8dW5zaWduZWQgc2hvcnQsIGludD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQgc2hvcnQsIHVuc2lnbmVkPj4geyB0eXBlZGVm
IEludFBhaXJIYXNoPHVuc2lnbmVkIHNob3J0LCB1bnNpZ25lZD4gSGFzaDsgfTsKLSAgICB0ZW1w
bGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8aW50LCBzaG9ydD4+IHsgdHlwZWRl
ZiBJbnRQYWlySGFzaDxpbnQsIHNob3J0PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxpbnQsIHVuc2lnbmVkIHNob3J0Pj4geyB0eXBlZGVmIElu
dFBhaXJIYXNoPGludCwgdW5zaWduZWQgc2hvcnQ+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPGludCwgaW50Pj4geyB0eXBlZGVmIEludFBhaXJI
YXNoPGludCwgaW50PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PHN0ZDo6cGFpcjxpbnQsIHVuc2lnbmVkPj4geyB0eXBlZGVmIEludFBhaXJIYXNoPHVuc2lnbmVk
LCB1bnNpZ25lZD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxz
dGQ6OnBhaXI8dW5zaWduZWQsIHNob3J0Pj4geyB0eXBlZGVmIEludFBhaXJIYXNoPHVuc2lnbmVk
LCBzaG9ydD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6
OnBhaXI8dW5zaWduZWQsIHVuc2lnbmVkIHNob3J0Pj4geyB0eXBlZGVmIEludFBhaXJIYXNoPHVu
c2lnbmVkLCB1bnNpZ25lZCBzaG9ydD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQsIGludD4+IHsgdHlwZWRlZiBJbnRQYWlySGFz
aDx1bnNpZ25lZCwgaW50PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPHN0ZDo6cGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+PiB7IHR5cGVkZWYgSW50UGFpckhhc2g8
dW5zaWduZWQsIHVuc2lnbmVkPiBIYXNoOyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPHN0ZDo6cGFpcjxzaG9ydCwgc2hvcnQ+PiA6IEludFBhaXJIYXNoPHNob3J0LCBzaG9y
dD4geyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxzaG9y
dCwgdW5zaWduZWQgc2hvcnQ+PiA6IEludFBhaXJIYXNoPHNob3J0LCB1bnNpZ25lZCBzaG9ydD4g
eyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxzaG9ydCwg
aW50Pj4gOiBJbnRQYWlySGFzaDxzaG9ydCwgaW50PiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHNob3J0LCB1bnNpZ25lZD4+IDogSW50UGFpckhhc2g8
c2hvcnQsIHVuc2lnbmVkPiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
c3RkOjpwYWlyPHVuc2lnbmVkIHNob3J0LCBzaG9ydD4+IDogSW50UGFpckhhc2g8dW5zaWduZWQg
c2hvcnQsIHNob3J0PiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3Rk
OjpwYWlyPHVuc2lnbmVkIHNob3J0LCB1bnNpZ25lZCBzaG9ydD4+IDogSW50UGFpckhhc2g8dW5z
aWduZWQgc2hvcnQsIHVuc2lnbmVkIHNob3J0PiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8c3RkOjpwYWlyPHVuc2lnbmVkIHNob3J0LCBpbnQ+PiA6IEludFBhaXJIYXNo
PHVuc2lnbmVkIHNob3J0LCBpbnQ+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0
SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQgc2hvcnQsIHVuc2lnbmVkPj4gOiBJbnRQYWlySGFzaDx1
bnNpZ25lZCBzaG9ydCwgdW5zaWduZWQ+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZh
dWx0SGFzaDxzdGQ6OnBhaXI8aW50LCBzaG9ydD4+IDogSW50UGFpckhhc2g8aW50LCBzaG9ydD4g
eyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxpbnQsIHVu
c2lnbmVkIHNob3J0Pj4gOiBJbnRQYWlySGFzaDxpbnQsIHVuc2lnbmVkIHNob3J0PiB7IH07Cisg
ICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPGludCwgaW50Pj4gOiBJ
bnRQYWlySGFzaDxpbnQsIGludD4geyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPHN0ZDo6cGFpcjxpbnQsIHVuc2lnbmVkPj4gOiBJbnRQYWlySGFzaDx1bnNpZ25lZCwgdW5z
aWduZWQ+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8
dW5zaWduZWQsIHNob3J0Pj4gOiBJbnRQYWlySGFzaDx1bnNpZ25lZCwgc2hvcnQ+IHsgfTsKKyAg
ICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQsIHVuc2ln
bmVkIHNob3J0Pj4gOiBJbnRQYWlySGFzaDx1bnNpZ25lZCwgdW5zaWduZWQgc2hvcnQ+IHsgfTsK
KyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQsIGlu
dD4+IDogSW50UGFpckhhc2g8dW5zaWduZWQsIGludD4geyB9OworICAgIHRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+PiA6IEludFBhaXJI
YXNoPHVuc2lnbmVkLCB1bnNpZ25lZD4geyB9OwogCiAgICAgLy8gbWFrZSBQYWlySGFzaCB0aGUg
ZGVmYXVsdCBoYXNoIGZ1bmN0aW9uIGZvciBwYWlycyBvZiBhcmJpdHJhcnkgdmFsdWVzLgogCi0g
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gc3RydWN0IERlZmF1bHRIYXNoPHN0
ZDo6cGFpcjxULCBVPj4geyB0eXBlZGVmIFBhaXJIYXNoPFQsIFU+IEhhc2g7IH07Ci0gICAgdGVt
cGxhdGU8dHlwZW5hbWUuLi4gVHlwZXM+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnR1cGxlPFR5
cGVzLi4uPj4geyB0eXBlZGVmIFR1cGxlSGFzaDxUeXBlcy4uLj4gSGFzaDsgfTsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWly
PFQsIFU+PiA6IFBhaXJIYXNoPFQsIFU+IHsgfTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBU
eXBlcz4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6dHVwbGU8VHlwZXMuLi4+PiA6IFR1cGxlSGFz
aDxUeXBlcy4uLj4geyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvTGlzdEhhc2hTZXQuaCBiL1NvdXJjZS9XVEYvd3RmL0xpc3RIYXNoU2V0LmgK
aW5kZXggNTgyOTJkMTIyMDM3MzU5NWUxYjRhYzg2ZTE5ZWRjZjJkMDhiZmI2Ny4uZDgyMGEwOTBl
ODY3YWM5NDBjYmIzMzFhYTY4YzYxYzBjNDVlZjQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvTGlzdEhhc2hTZXQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9MaXN0SGFzaFNldC5oCkBAIC00
OSw3ICs0OSw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnPiBzdHJ1Y3QgTGlzdEhhc2hT
ZXROb2RlOwogdGVtcGxhdGU8dHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9k
ZUhhc2hGdW5jdGlvbnM7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoQXJnPiBzdHJ1Y3QgTGlzdEhh
c2hTZXRUcmFuc2xhdG9yOwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgdHlwZW5hbWUg
SGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaD4gY2xhc3MgTGlz
dEhhc2hTZXQgZmluYWwKK3RlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCB0eXBlbmFtZSBIYXNo
QXJnID0gRGVmYXVsdEhhc2g8VmFsdWVBcmc+PiBjbGFzcyBMaXN0SGFzaFNldCBmaW5hbAogI2lm
IENIRUNLX0hBU0hUQUJMRV9JVEVSQVRPUlMKICAgICA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxM
aXN0SGFzaFNldDxWYWx1ZUFyZywgSGFzaEFyZz4sIFdlYWtQdHJGYWN0b3J5SW5pdGlhbGl6YXRp
b246OkVhZ2VyPgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nSGFz
aE1hcC5oIGIvU291cmNlL1dURi93dGYvTG9nZ2luZ0hhc2hNYXAuaAppbmRleCBlZTUzZDE0MzA5
NTAxZmI2YTNiODU5N2I2M2M5NGE2OWJlNGEwZGU3Li5iMTJjNjkwYjJkNGExMDMyZTU2YjU1NmJj
MjZhYmQ5OGU4MDJjOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nSGFzaE1h
cC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmdIYXNoTWFwLmgKQEAgLTM0LDcgKzM0LDcg
QEAgbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPAogICAgIGNvbnN0IGNoYXIqIHR5cGVBcmd1
bWVudHMsCi0gICAgdHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1l
IEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxLZXlBcmc+OjpIYXNoLAorICAgIHR5cGVu
YW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gRGVmYXVs
dEhhc2g8S2V5QXJnPiwKICAgICB0eXBlbmFtZSBLZXlUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPEtl
eUFyZz4sIHR5cGVuYW1lIE1hcHBlZFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8TWFwcGVkQXJnPiwK
ICAgICB0eXBlbmFtZSBMb2dnaW5nS2V5VHJhaXRzID0gTG9nZ2luZ0hhc2hLZXlUcmFpdHM8S2V5
QXJnPiwKICAgICB0eXBlbmFtZSBMb2dnaW5nVmFsdWVUcmFpdHMgPSBMb2dnaW5nSGFzaFZhbHVl
VHJhaXRzPE1hcHBlZEFyZz4+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nSGFz
aFNldC5oIGIvU291cmNlL1dURi93dGYvTG9nZ2luZ0hhc2hTZXQuaAppbmRleCBjOTAzNjY4NjE4
ZTY4ODA0YmI4Y2EwY2M2ZGVkN2E4MzViMmUzODZlLi4wNzAwZDUxNjQ0NmZhNjBiNzllYTM2NGM1
YTY5ZjM5NDg1MGJjMjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nSGFzaFNl
dC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmdIYXNoU2V0LmgKQEAgLTM0LDcgKzM0LDcg
QEAgbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPAogICAgIGNvbnN0IGNoYXIqIHR5cGVBcmd1
bWVudHMsCi0gICAgdHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFt
ZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCisgICAgdHlwZW5hbWUgVmFsdWVBcmcsIHR5
cGVuYW1lIEhhc2hBcmcgPSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz4sCiAgICAgdHlwZW5hbWUgVHJh
aXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4sCiAgICAgdHlwZW5hbWUgTG9nZ2luZ1RyYWl0
cyA9IExvZ2dpbmdIYXNoS2V5VHJhaXRzPFZhbHVlQXJnPj4KIGNsYXNzIExvZ2dpbmdIYXNoU2V0
IGZpbmFsIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01ldGFBbGxvY2F0b3JQdHIuaCBi
L1NvdXJjZS9XVEYvd3RmL01ldGFBbGxvY2F0b3JQdHIuaAppbmRleCAyNGJiM2ZkYTVmYzMxMjI2
NDlhNjNjMzAwMjE2ZWExMjhiOWM4YjViLi4yMDA1MjE4ZjJlNzg2NWRlYzVhYWFiMzNlYTE4YzE2
ZDZhYjI2MjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NZXRhQWxsb2NhdG9yUHRyLmgK
KysrIGIvU291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRvclB0ci5oCkBAIC0xMDksMTAgKzEwOSw4
IEBAIHN0cnVjdCBNZXRhQWxsb2NhdG9yUHRySGFzaCB7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBi
b29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKIH07CiAKLXRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPFB0clRhZyB0YWc+IHN0
cnVjdCBEZWZhdWx0SGFzaDxNZXRhQWxsb2NhdG9yUHRyPHRhZz4+IHsKLSAgICB0eXBlZGVmIE1l
dGFBbGxvY2F0b3JQdHJIYXNoPHRhZz4gSGFzaDsKLX07Cit0ZW1wbGF0ZTx0eXBlbmFtZT4gc3Ry
dWN0IERlZmF1bHRIYXNoOwordGVtcGxhdGU8UHRyVGFnIHRhZz4gc3RydWN0IERlZmF1bHRIYXNo
PE1ldGFBbGxvY2F0b3JQdHI8dGFnPj4gOiBNZXRhQWxsb2NhdG9yUHRySGFzaDx0YWc+IHsgfTsK
IAogdGVtcGxhdGU8UHRyVGFnIHRhZz4gc3RydWN0IEhhc2hUcmFpdHM8TWV0YUFsbG9jYXRvclB0
cjx0YWc+PiA6IHB1YmxpYyBDdXN0b21IYXNoVHJhaXRzPE1ldGFBbGxvY2F0b3JQdHI8dGFnPj4g
eyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9PYmplY3RJZGVudGlmaWVyLmggYi9T
b3VyY2UvV1RGL3d0Zi9PYmplY3RJZGVudGlmaWVyLmgKaW5kZXggY2UxNjcxYTI0YjZjYjhiNWU3
MDc1NDEwMjZkNzEzZGE1MTNiZTVjNC4uZjljNjdiNjNiNWUyNmE0MGI0YWFiNThjMDE0ZDVmNDcw
YTYwODU1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvT2JqZWN0SWRlbnRpZmllci5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL09iamVjdElkZW50aWZpZXIuaApAQCAtMTM5LDkgKzEzOSw3IEBA
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBPYmplY3RJZGVudGlmaWVySGFzaCB7CiAKIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzPE9iamVjdElkZW50aWZpZXI8VD4+
IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPE9iamVjdElkZW50aWZpZXI8VD4+IHsgfTsKIAotdGVt
cGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoPE9iamVjdElkZW50aWZpZXI8VD4+
IHsKLSAgICB0eXBlZGVmIE9iamVjdElkZW50aWZpZXJIYXNoPFQ+IEhhc2g7Ci19OwordGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoPE9iamVjdElkZW50aWZpZXI8VD4+IDog
T2JqZWN0SWRlbnRpZmllckhhc2g8VD4geyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogVGV4
dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgT2JqZWN0SWRlbnRpZmll
cjxUPiYgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL09wdGlvblNldEhh
c2guaCBiL1NvdXJjZS9XVEYvd3RmL09wdGlvblNldEhhc2guaAppbmRleCBjNTg4NTQzODlmOTIx
MjI2NGY5MGEyNjY0ZjQ4NjMzNTkwYTNmMjM5Li5jYzlhZTA4MjQxOGNkMmZlNjcyM2FkNjliNTFi
NWJhZDM1YWJhNjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9PcHRpb25TZXRIYXNoLmgK
KysrIGIvU291cmNlL1dURi93dGYvT3B0aW9uU2V0SGFzaC5oCkBAIC0zMSwxOSArMzEsMTcgQEAK
IG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8T3B0aW9uU2V0PFQ+PiB7Ci0gICAgc3RydWN0IEhhc2ggewotICAgICAgICBzdGF0aWMgdW5z
aWduZWQgaGFzaChPcHRpb25TZXQ8VD4ga2V5KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1
cm4gSW50SGFzaDx0eXBlbmFtZSBPcHRpb25TZXQ8VD46OlN0b3JhZ2VUeXBlPjo6aGFzaChrZXku
dG9SYXcoKSk7Ci0gICAgICAgIH0KKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChPcHRpb25TZXQ8
VD4ga2V5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIEludEhhc2g8dHlwZW5hbWUgT3B0aW9uU2V0
PFQ+OjpTdG9yYWdlVHlwZT46Omhhc2goa2V5LnRvUmF3KCkpOworICAgIH0KIAotICAgICAgICBz
dGF0aWMgYm9vbCBlcXVhbChPcHRpb25TZXQ8VD4gYSwgT3B0aW9uU2V0PFQ+IGIpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHJldHVybiBhID09IGI7Ci0gICAgICAgIH0KKyAgICBzdGF0aWMgYm9v
bCBlcXVhbChPcHRpb25TZXQ8VD4gYSwgT3B0aW9uU2V0PFQ+IGIpCisgICAgeworICAgICAgICBy
ZXR1cm4gYSA9PSBiOworICAgIH0KIAotICAgICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgc2Fm
ZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwotICAgIH07CisgICAgc3RhdGljIGNv
bnN0ZXhwciBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKIH07CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzPE9wdGlvblNldDxUPj4gOiBH
ZW5lcmljSGFzaFRyYWl0czxPcHRpb25TZXQ8VD4+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL1BhY2tlZC5oIGIvU291cmNlL1dURi93dGYvUGFja2VkLmgKaW5kZXggYmZkMmQxOTg1MjM5
Yzk1N2M2ZjUwYmNmOTM4Y2FmYWI3ZWY2ZWE2NC4uYjc2YWVmOGYxYjY1YWIwMjE1MWE0ZGNkZjRh
ODQ2MWM3MmM4YTg4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGFja2VkLmgKKysrIGIv
U291cmNlL1dURi93dGYvUGFja2VkLmgKQEAgLTI3Miw3ICsyNzIsNyBAQCBzdHJ1Y3QgUGFja2Vk
UHRyVHJhaXRzIHsKICAgICBzdGF0aWMgQUxXQVlTX0lOTElORSBib29sIGlzSGFzaFRhYmxlRGVs
ZXRlZFZhbHVlKGNvbnN0IFN0b3JhZ2VUeXBlJiBwdHIpIHsgcmV0dXJuIHB0ci5nZXQoKSA9PSBi
aXR3aXNlX2Nhc3Q8VCo+KHN0YXRpY19jYXN0PHVpbnRwdHJfdD4oU3RvcmFnZVR5cGU6OmFsaWdu
bWVudCkpOyB9CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
UGFja2VkUHRyPFA+PiB7IHVzaW5nIEhhc2ggPSBQdHJIYXNoPFBhY2tlZFB0cjxQPj47IH07Cit0
ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8UGFja2VkUHRyPFA+PiA6IFB0
ckhhc2g8UGFja2VkUHRyPFA+PiB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9SZXRhaW5QdHIuaCBiL1NvdXJjZS9XVEYvd3RmL1JldGFpblB0
ci5oCmluZGV4IDAxMmEwMWQ3OTQ0ZWE2YWRhNjVmYzllNTk3ZGE0ZmNiMzFiZWZmMDIuLmJhMzY4
NDZmY2U3YTZiOTUzZDNkNzdhOGNhOTVkYmMwMzU1MjdkMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1JldGFpblB0ci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JldGFpblB0ci5oCkBAIC0z
NDYsOSArMzQ2LDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBJc1NtYXJ0UHRyPFJl
dGFpblB0cjxUPj4gewogdGVtcGxhdGU8dHlwZW5hbWUgUD4gc3RydWN0IEhhc2hUcmFpdHM8UmV0
YWluUHRyPFA+PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxSZXRhaW5QdHI8UD4+IHsKIH07CiAK
LXRlbXBsYXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxSZXRhaW5QdHI8UD4+IHsK
LSAgICB0eXBlZGVmIFB0ckhhc2g8UmV0YWluUHRyPFA+PiBIYXNoOwotfTsKK3RlbXBsYXRlPHR5
cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxSZXRhaW5QdHI8UD4+IDogUHRySGFzaDxSZXRh
aW5QdHI8UD4+IHsgfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFA+CiBzdHJ1Y3QgUmV0YWluUHRy
T2JqZWN0SGFzaFRyYWl0cyA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxSZXRhaW5QdHI8UD4+IHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1N0YWNrU2hvdC5oIGIvU291cmNlL1dURi93dGYv
U3RhY2tTaG90LmgKaW5kZXggZGIyNTQwMjcxNDQwOGY3M2M2YjIyMjkxNjNlNGQ2Nzk5MGQ4MWFl
NS4uYmNlZTcwYmUwODEzMjVkNDUxZmMwMjYwZjU3OTA0NmQzYzUyM2NhOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvU3RhY2tTaG90LmgKKysrIGIvU291cmNlL1dURi93dGYvU3RhY2tTaG90
LmgKQEAgLTEyMSw5ICsxMjEsNyBAQCBzdHJ1Y3QgU3RhY2tTaG90SGFzaCB7CiB9OwogCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxTdGFja1Nob3Q+IHsKLSAgICB0eXBlZGVmIFN0YWNrU2hvdEhhc2ggSGFzaDsK
LX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTdGFja1Nob3Q+IDogU3RhY2tTaG90
SGFzaCB7IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8U3RhY2tTaG90PiA6IFNp
bXBsZUNsYXNzSGFzaFRyYWl0czxTdGFja1Nob3Q+IHsgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvVVJMSGFzaC5oIGIvU291cmNlL1dURi93dGYvVVJMSGFzaC5oCmluZGV4IDI2N2Nk
MTUyYzIzYmJkZjE4MmUyYzVmMGVjMzgyYjZkMWFjOTVkODYuLjI2OWUyYjU5ODRjMDU5YmFmYmY0
MjkzZDBkZjQxMzgxOTcxNWFjYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1VSTEhhc2gu
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9VUkxIYXNoLmgKQEAgLTQ3LDkgKzQ3LDcgQEAgc3RydWN0
IFVSTEhhc2ggewogfTsKIAogLy8gVVJMSGFzaCBpcyB0aGUgZGVmYXVsdCBoYXNoIGZvciBTdHJp
bmcKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFVSTD4gewotICAgIHVzaW5nIEhhc2gg
PSBVUkxIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFVSTD4gOiBVUkxI
YXNoIHsgfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxVUkw+IDogU2ltcGxlQ2xh
c3NIYXNoVHJhaXRzPFVSTD4geyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0
b3JIYXNoLmggYi9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3JIYXNoLmgKaW5kZXggZmJiYzllYTQwNGMw
NzViY2VmODI5MmJkMTZmZDA1ZmRiYjk4MDhkNC4uYzM3Mzk0ODhkZTg1YzM4ZWVjZDY3MWZlNzAz
MjE3ZjM5M2U5YzIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVmVjdG9ySGFzaC5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvckhhc2guaApAQCAtMzcsNyArMzcsNyBAQCBzdHJ1Y3Qg
VmVjdG9ySGFzaCB7CiAgICAgewogICAgICAgICBJbnRlZ2VySGFzaGVyIGhhc2hlcjsKICAgICAg
ICAgZm9yIChjb25zdCBhdXRvJiB2YWx1ZSA6IHZlY3RvcikKLSAgICAgICAgICAgIGhhc2hlci5h
ZGQoRGVmYXVsdEhhc2g8VD46Okhhc2g6Omhhc2godmFsdWUpKTsKKyAgICAgICAgICAgIGhhc2hl
ci5hZGQoRGVmYXVsdEhhc2g8VD46Omhhc2godmFsdWUpKTsKICAgICAgICAgcmV0dXJuIGhhc2hl
ci5oYXNoKCk7CiAgICAgfQogICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFZlY3RvcjxULCBp
bmxpbmVDYXBhY2l0eT4mIGEsIGNvbnN0IFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eT4mIGIpCkBA
IC00OCw4ICs0OCw2IEBAIHN0cnVjdCBWZWN0b3JIYXNoIHsKIH07CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4KLXN0cnVjdCBEZWZhdWx0SGFzaDxWZWN0b3I8
VCwgaW5saW5lQ2FwYWNpdHk+PiB7Ci0gICAgdXNpbmcgSGFzaCA9IFZlY3Rvckhhc2g8VCwgaW5s
aW5lQ2FwYWNpdHk+OwotfTsKK3N0cnVjdCBEZWZhdWx0SGFzaDxWZWN0b3I8VCwgaW5saW5lQ2Fw
YWNpdHk+PiA6IFZlY3Rvckhhc2g8VCwgaW5saW5lQ2FwYWNpdHk+IHsgfTsKIAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9HUmVmUHRyLmggYi9Tb3VyY2UvV1RGL3d0Zi9nbGli
L0dSZWZQdHIuaAppbmRleCAwNjEzM2Q4MmNiMzVkYzU4ZDY3Y2NlMTNiNGRmYjFhNTRlNzUwYTYw
Li5jYzFiOTcyNDUzNjgxMjE4ZWFiMzQ2ZGI2MjkxMDdjYmZlZjkwMGU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9nbGliL0dSZWZQdHIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9nbGliL0dS
ZWZQdHIuaApAQCAtMjU1LDcgKzI1NSw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBpbmxpbmUg
dm9pZCBkZXJlZkdQdHIoVCogcHRyKQogICAgICAgICBnX29iamVjdF91bnJlZihwdHIpOwogfQog
Ci10ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8R1JlZlB0cjxQPj4geyB0
eXBlZGVmIFB0ckhhc2g8R1JlZlB0cjxQPj4gSGFzaDsgfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFA+
IHN0cnVjdCBEZWZhdWx0SGFzaDxHUmVmUHRyPFA+PiA6IFB0ckhhc2g8R1JlZlB0cjxQPj4geyB9
OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgSGFzaFRyYWl0czxHUmVmUHRyPFA+PiA6
IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxHUmVmUHRyPFA+PiB7CiAgICAgc3RhdGljIFAqIGVtcHR5
VmFsdWUoKSB7IHJldHVybiBudWxscHRyOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90
ZXh0L0F0b21TdHJpbmcuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbVN0cmluZy5oCmluZGV4
IDIyM2RmNmFmMWZjMGYwNjI2Y2ZjN2ZhN2IyYTMzZjc0YjRjMjA2NWIuLmVlNmY5MTQ5MTA0MWUw
YzZkMzk0ODE5N2QwOGIwMDAxN2Y0OGZlYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvQXRvbVN0cmluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbVN0cmluZy5oCkBA
IC0zMiw4ICszMiw2IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi1zdHJ1Y3QgQXRvbVN0cmluZ0hh
c2g7Ci0KIGNsYXNzIEF0b21TdHJpbmcgZmluYWwgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgpAQCAtMzIzLDEwICszMjEsOCBAQCBpbmxpbmUgQXRvbVN0cmluZyBBdG9t
U3RyaW5nOjpmcm9tVVRGOChjb25zdCBjaGFyKiBjaGFyYWN0ZXJzKQogfQogCiAvLyBBdG9tU3Ry
aW5nSGFzaCBpcyB0aGUgZGVmYXVsdCBoYXNoIGZvciBBdG9tU3RyaW5nCi10ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFz
aDxBdG9tU3RyaW5nPiB7Ci0gICAgdHlwZWRlZiBBdG9tU3RyaW5nSGFzaCBIYXNoOwotfTsKK3Rl
bXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxBdG9tU3RyaW5nPjsKIAogdGVtcGxhdGU8dW5zaWduZWQgbGVuZ3RoPiBpbmxp
bmUgYm9vbCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShjb25zdCBBdG9tU3RyaW5nJiBz
dHJpbmcsIGNvbnN0IGNoYXIgKCZsb3dlcmNhc2VMZXR0ZXJzKVtsZW5ndGhdKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9tU3RyaW5nSGFzaC5oIGIvU291cmNlL1dURi93
dGYvdGV4dC9BdG9tU3RyaW5nSGFzaC5oCmluZGV4IDFiYmY0OWRiYTkzNjg3YzI3MjAzYTQ5MWU5
YTUwN2Q2ODAzYWZjMzcuLjkyZDIwOGQzNWUyYWFkNWI4ODI3M2UzNDE4NmMyN2I1ZDA3Y2UxZmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbVN0cmluZ0hhc2guaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21TdHJpbmdIYXNoLmgKQEAgLTYzLDYgKzYzLDcgQEAgbmFt
ZXNwYWNlIFdURiB7CiAgICAgICAgIH0KICAgICB9OwogCisgICAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8QXRvbVN0cmluZz4gOiBBdG9tU3RyaW5nSGFzaCB7IH07CiB9CiAKIHVzaW5n
IFdURjo6QXRvbVN0cmluZ0hhc2g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0NT
dHJpbmcuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCmluZGV4IDcxNWJlYzgxY2Jk
NWU5YmZlYzEyNmM0MmUyNzk3NDhlMGRiZjc3OTAuLmUwNWRhZjc3ZjUzZTE1ZTNlMDYzYTMyNGY3
M2MyZTg2ZDc0YTM5ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCkBAIC0xMDYsOSArMTA2LDcgQEAg
c3RydWN0IENTdHJpbmdIYXNoIHsKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBE
ZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPENTdHJpbmc+IHsKLSAg
ICB0eXBlZGVmIENTdHJpbmdIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVs
dEhhc2g8Q1N0cmluZz4gOiBDU3RyaW5nSGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxDU3RyaW5n
PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxDU3RyaW5nPiB7IH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0hhc2guaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5n
SGFzaC5oCmluZGV4IDE2ZGJhOWIxZGFhMzliYmNhM2Y5ZWQ5OTNiNTUyZDAzZTBjZTc4YzIuLjVh
ODM4NWUwNGE5NTkwNGUwNmJhMTI4ZDZlYWExM2Q5MWViOTBmYjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL3RleHQvU3RyaW5nSGFzaC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3Ry
aW5nSGFzaC5oCkBAIC0yMTcsNiArMjE3LDEwIEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICB9
CiAgICAgfTsKIAorICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFN0cmluZ0ltcGwq
PiA6IFN0cmluZ0hhc2ggeyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFJl
ZlB0cjxTdHJpbmdJbXBsPj4gOiBTdHJpbmdIYXNoIHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxQYWNrZWRQdHI8U3RyaW5nSW1wbD4+IDogU3RyaW5nSGFzaCB7IH07Cisg
ICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8U3RyaW5nPiA6IFN0cmluZ0hhc2ggeyB9
OwogfQogCiB1c2luZyBXVEY6OkFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oIGIvU291cmNlL1dURi93dGYvdGV4dC9T
dHJpbmdJbXBsLmgKaW5kZXggYTAwNDM1ZTI0MzFlMWY0ZTdkNDczNDM3MmRhZDYyYTIwODc1NGU0
NS4uMTY5ZTVhN2YxMTYwYjMxNWJlMTRhMmNiN2JmOTA3ZTE1Mjc1OTczZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4
dC9TdHJpbmdJbXBsLmgKQEAgLTU5LDcgKzU5LDYgQEAgY2xhc3MgU3ltYm9sUmVnaXN0cnk7CiBz
dHJ1Y3QgQ1N0cmluZ1RyYW5zbGF0b3I7CiBzdHJ1Y3QgSGFzaEFuZFVURjhDaGFyYWN0ZXJzVHJh
bnNsYXRvcjsKIHN0cnVjdCBMQ2hhckJ1ZmZlclRyYW5zbGF0b3I7Ci1zdHJ1Y3QgU3RyaW5nSGFz
aDsKIHN0cnVjdCBTdWJzdHJpbmdUcmFuc2xhdG9yOwogc3RydWN0IFVDaGFyQnVmZmVyVHJhbnNs
YXRvcjsKIApAQCAtNjE0LDE3ICs2MTMsMTEgQEAgYm9vbCBpc1NwYWNlT3JOZXdsaW5lKFVDaGFy
MzIpOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiB1bnNpZ25lZCBsZW5ndGhP
Zk51bGxUZXJtaW5hdGVkU3RyaW5nKGNvbnN0IENoYXJhY3RlclR5cGUqKTsKIAotLy8gU3RyaW5n
SGFzaCBpcyB0aGUgZGVmYXVsdCBoYXNoIGZvciBTdHJpbmdJbXBsKiBhbmQgUmVmUHRyPFN0cmlu
Z0ltcGw+Ci10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTdHJpbmdJbXBsKj4gewotICAgIHR5cGVkZWYgU3RyaW5n
SGFzaCBIYXNoOwotfTsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFJlZlB0cjxTdHJp
bmdJbXBsPj4gewotICAgIHR5cGVkZWYgU3RyaW5nSGFzaCBIYXNoOwotfTsKLXRlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPFBhY2tlZFB0cjxTdHJpbmdJbXBsPj4gewotICAgIHVzaW5nIEhh
c2ggPSBTdHJpbmdIYXNoOwotfTsKKy8vIFN0cmluZ0hhc2hkIGlzIHRoZSBkZWZhdWx0IGhhc2gg
Zm9yIFN0cmluZ0ltcGwqIGFuZCBSZWZQdHI8U3RyaW5nSW1wbD4KK3RlbXBsYXRlPHR5cGVuYW1l
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTdHJp
bmdJbXBsKj47Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxSZWZQdHI8U3RyaW5nSW1w
bD4+OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8UGFja2VkUHRyPFN0cmluZ0ltcGw+
PjsKIAogI2RlZmluZSBNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTChjaGFyYWN0ZXJzKSAoW10geyBc
CiAgICAgICAgIHN0YXRpYyBTdGF0aWNTdHJpbmdJbXBsIGltcGwoY2hhcmFjdGVycyk7IFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuaCBiL1NvdXJjZS9X
VEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuaAppbmRleCBlYmE1ODNkZTI1MDIwOTA2MDA5OGFk
NjUzOTA0ZjdkODdkMmEzYTU5Li41NTg5NzlhZTgxNjU1OWEyMjE3NmRlOWUwYmIxMzFhMTQ0MDcw
YzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmgKKysr
IGIvU291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5oCkBAIC01NCwxOCArNTQsMTYg
QEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2hhc2ggeyAwIH07CiB9OwogCi10ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0
SGFzaDxTeW1ib2xSZWdpc3RyeUtleT4gewotICAgIHN0cnVjdCBIYXNoIDogU3RyaW5nSGFzaCB7
Ci0gICAgICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFN5bWJvbFJlZ2lzdHJ5S2V5JiBr
ZXkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBrZXkuaGFzaCgpOwotICAgICAgICB9
Ci0gICAgICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFN5bWJvbFJlZ2lzdHJ5S2V5JiBhLCBj
b25zdCBTeW1ib2xSZWdpc3RyeUtleSYgYikKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJu
IFN0cmluZ0hhc2g6OmVxdWFsKGEuaW1wbCgpLCBiLmltcGwoKSk7Ci0gICAgICAgIH0KLSAgICB9
OwordGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBEZWZhdWx0SGFzaDsKK3RlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPFN5bWJvbFJlZ2lzdHJ5S2V5PiA6IFN0cmluZ0hhc2ggeworICAgIHN0
YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFN5bWJvbFJlZ2lzdHJ5S2V5JiBrZXkpCisgICAgewor
ICAgICAgICByZXR1cm4ga2V5Lmhhc2goKTsKKyAgICB9CisgICAgc3RhdGljIGJvb2wgZXF1YWwo
Y29uc3QgU3ltYm9sUmVnaXN0cnlLZXkmIGEsIGNvbnN0IFN5bWJvbFJlZ2lzdHJ5S2V5JiBiKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cmluZ0hhc2g6OmVxdWFsKGEuaW1wbCgpLCBiLmltcGwo
KSk7CisgICAgfQogfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxTeW1ib2xSZWdp
c3RyeUtleT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8U3ltYm9sUmVnaXN0cnlLZXk+IHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmggYi9Tb3VyY2UvV1RGL3d0
Zi90ZXh0L1dURlN0cmluZy5oCmluZGV4IGEyMzcwYzc5YjY4YjQyMzA2NDZhZTQ3ZDRhZmMzZTZl
NTU0NGE0NGQuLmY5NGVkZDkzOTA0NDY1NTdmODc2ZjYwNmJiMmM3MzFkYzY5OGY2NTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmgKKysrIGIvU291cmNlL1dURi93
dGYvdGV4dC9XVEZTdHJpbmcuaApAQCAtNDQyLDcgKzQ0Miw3IEBAIFdURl9FWFBPUlRfUFJJVkFU
RSBjb25zdCBTdHJpbmcmIGVtcHR5U3RyaW5nKCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgY29uc3Qg
U3RyaW5nJiBudWxsU3RyaW5nKCk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVs
dEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTdHJpbmc+IHsgdXNpbmcgSGFz
aCA9IFN0cmluZ0hhc2g7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTdHJpbmc+
OwogdGVtcGxhdGU8PiBzdHJ1Y3QgVmVjdG9yVHJhaXRzPFN0cmluZz4gOiBWZWN0b3JUcmFpdHNC
YXNlPGZhbHNlLCB2b2lkPiB7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGNhbkluaXRpYWxp
emVXaXRoTWVtc2V0ID0gdHJ1ZTsKICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgY2FuTW92ZVdp
dGhNZW1jcHkgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCRGF0YWJhc2VJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJEYXRhYmFzZUlkZW50aWZpZXIuaAppbmRleCAzYThlMjE5MGI5NzI4ODU0MmVk
MTFhNzVlZjc5YWRhMjNkNjg2MTVmLi5hYzQ5YmExMjcxMmFiZGYyMDQ0NzJhN2IzMzQ2YjJmZWJh
MGMxM2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJE
YXRhYmFzZUlkZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJEYXRhYmFzZUlkZW50aWZpZXIuaApAQCAtMTQwLDkgKzE0MCw3IEBAIE9wdGlvbmFsPElE
QkRhdGFiYXNlSWRlbnRpZmllcj4gSURCRGF0YWJhc2VJZGVudGlmaWVyOjpkZWNvZGUoRGVjb2Rl
ciYgZGVjb2RlcikKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPFdlYkNvcmU6OklEQkRhdGFiYXNlSWRlbnRpZmllcj4gOiBXZWJDb3JlOjpJREJEYXRhYmFz
ZUlkZW50aWZpZXJIYXNoVHJhaXRzIHsgfTsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PFdlYkNvcmU6OklEQkRhdGFiYXNlSWRlbnRpZmllcj4gewotICAgIHR5cGVkZWYgV2ViQ29yZTo6
SURCRGF0YWJhc2VJZGVudGlmaWVySGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPFdlYkNvcmU6OklEQkRhdGFiYXNlSWRlbnRpZmllcj4gOiBXZWJDb3JlOjpJREJE
YXRhYmFzZUlkZW50aWZpZXJIYXNoIHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXNvdXJj
ZUlkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
REJSZXNvdXJjZUlkZW50aWZpZXIuaAppbmRleCBjNTc5OTZkNWU2YjkyYWYzYzY3NDgzMzhiOWVm
N2Y3YjM2NTRmMGVkLi5mNjE0MjU3ZmUxMzNjOWJjYWJjYThiOTNiOTVmOThkMjViZDJmMjhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVz
b3VyY2VJZGVudGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2hhcmVkL0lEQlJlc291cmNlSWRlbnRpZmllci5oCkBAIC0xNDUsOSArMTQ1LDcgQEAgYm9vbCBJ
REJSZXNvdXJjZUlkZW50aWZpZXI6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBJREJSZXNvdXJj
ZUlkZW50aWZpZXImIGlkZW4KIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBI
YXNoVHJhaXRzPFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllcj4gOiBXZWJDb3JlOjpJREJS
ZXNvdXJjZUlkZW50aWZpZXJIYXNoVHJhaXRzIHsgfTsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllcj4gewotICAgIHR5cGVkZWYgV2Vi
Q29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVySGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllcj4gOiBXZWJDb3Jl
OjpJREJSZXNvdXJjZUlkZW50aWZpZXJIYXNoIHsgfTsKIAogaW5saW5lIFdlYkNvcmU6OklEQkNv
bm5lY3Rpb25JZGVudGlmaWVyIGNyb3NzVGhyZWFkQ29weShXZWJDb3JlOjpJREJDb25uZWN0aW9u
SWRlbnRpZmllciBpZGVudGlmaWVyKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVW5uYW1lZFR5cGVIYXNoLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xVbm5hbWVkVHlwZUhhc2guaAppbmRl
eCAzYzI0OGIxZWI2NmRhODIwOTNkZDY4OTZjMGYwODE4YjFlNzc2MjQxLi42NzhkYWIwYjk4ODYw
N2FmYmRjZTNjNzI3Mjc2NTI3ZmY3YmY4NzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xVbm5hbWVkVHlwZUhhc2guaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xVbm5hbWVkVHlwZUhhc2gu
aApAQCAtNzcsOSArNzcsNyBAQCBwcml2YXRlOgogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRl
PD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6V0hMU0w6OlVubmFtZWRUeXBlS2V5PiA6IFdl
YkNvcmU6OldITFNMOjpVbm5hbWVkVHlwZUtleTo6VHJhaXRzIHsgfTsKLXRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OldITFNMOjpVbm5hbWVkVHlwZUtleT4gewotICAgIHR5
cGVkZWYgV2ViQ29yZTo6V0hMU0w6OlVubmFtZWRUeXBlS2V5OjpIYXNoIEhhc2g7Ci19OwordGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6V0hMU0w6OlVubmFtZWRUeXBlS2V5
PiA6IFdlYkNvcmU6OldITFNMOjpVbm5hbWVkVHlwZUtleTo6SGFzaCB7IH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdURgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTFNlbWFudGljTWF0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFNlbWFudGljTWF0Y2hlci5jcHAKaW5kZXggNTQyZmE3ODViMjgwOGRl
YWVkMDVlMTY1ZmE1NDA4OWM4ZTRmOGMzOS4uNWU5N2JhZDcwNjg0ZmRlODY5NzI2NDZjMjdlYTQy
MjdjY2I5YjhhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvV0hMU0xTZW1hbnRpY01hdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMU2VtYW50aWNNYXRjaGVyLmNwcApAQCAtNjEsNyArNjEsNyBAQCBz
dGF0aWMgYm9vbCBtYXRjaE1vZGUoQmluZGluZzo6QmluZGluZ0RldGFpbHMgYmluZGluZ1R5cGUs
IEFTVDo6UmVzb3VyY2VTZW1hbnRpYwogc3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8QmluZGluZyos
IHNpemVfdD4+IG1hdGNoUmVzb3VyY2VzKFZlY3RvcjxFbnRyeVBvaW50SXRlbT4mIGVudHJ5UG9p
bnRJdGVtcywgTGF5b3V0JiBsYXlvdXQsIFNoYWRlclN0YWdlIHNoYWRlclN0YWdlKQogewogICAg
IEhhc2hNYXA8QmluZGluZyosIHNpemVfdD4gcmVzdWx0OwotICAgIEhhc2hTZXQ8c2l6ZV90LCBE
ZWZhdWx0SGFzaDxzaXplX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJh
aXRzPHNpemVfdD4+IGl0ZW1JbmRpY2VzOworICAgIEhhc2hTZXQ8c2l6ZV90LCBEZWZhdWx0SGFz
aDxzaXplX3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHNpemVfdD4+IGl0
ZW1JbmRpY2VzOwogICAgIGZvciAoYXV0byYgYmluZEdyb3VwIDogbGF5b3V0KSB7CiAgICAgICAg
IGF1dG8gc3BhY2UgPSBiaW5kR3JvdXAubmFtZTsKICAgICAgICAgZm9yIChhdXRvJiBiaW5kaW5n
IDogYmluZEdyb3VwLmJpbmRpbmdzKSB7CkBAIC0xNDAsNyArMTQwLDcgQEAgc3RhdGljIGJvb2wg
aXNBY2NlcHRhYmxlRm9ybWF0KFZlcnRleEZvcm1hdCB2ZXJ0ZXhGb3JtYXQsIEFTVDo6VW5uYW1l
ZFR5cGUmIHVubmEKIHN0YXRpYyBPcHRpb25hbDxIYXNoTWFwPFZlcnRleEF0dHJpYnV0ZSosIHNp
emVfdD4+IG1hdGNoVmVydGV4QXR0cmlidXRlcyhWZWN0b3I8RW50cnlQb2ludEl0ZW0+JiB2ZXJ0
ZXhJbnB1dHMsIFZlcnRleEF0dHJpYnV0ZXMmIHZlcnRleEF0dHJpYnV0ZXMsIEludHJpbnNpY3Mm
IGludHJpbnNpY3MpCiB7CiAgICAgSGFzaE1hcDxWZXJ0ZXhBdHRyaWJ1dGUqLCBzaXplX3Q+IHJl
c3VsdDsKLSAgICBIYXNoU2V0PHNpemVfdCwgRGVmYXVsdEhhc2g8c2l6ZV90Pjo6SGFzaCwgV1RG
OjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxzaXplX3Q+PiBpdGVtSW5kaWNlczsKKyAg
ICBIYXNoU2V0PHNpemVfdCwgRGVmYXVsdEhhc2g8c2l6ZV90PiwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czxzaXplX3Q+PiBpdGVtSW5kaWNlczsKICAgICBmb3IgKGF1dG8mIHZl
cnRleEF0dHJpYnV0ZSA6IHZlcnRleEF0dHJpYnV0ZXMpIHsKICAgICAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCB2ZXJ0ZXhJbnB1dHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgIGF1dG8m
IGl0ZW0gPSB2ZXJ0ZXhJbnB1dHNbaV07CkBAIC0yMjYsNyArMjI2LDcgQEAgc3RhdGljIGJvb2wg
aXNBY2NlcHRhYmxlRm9ybWF0KFRleHR1cmVGb3JtYXQgdGV4dHVyZUZvcm1hdCwgQVNUOjpVbm5h
bWVkVHlwZSYgdW4KIHN0YXRpYyBPcHRpb25hbDxIYXNoTWFwPEF0dGFjaG1lbnREZXNjcmlwdG9y
Kiwgc2l6ZV90Pj4gbWF0Y2hDb2xvckF0dGFjaG1lbnRzKFZlY3RvcjxFbnRyeVBvaW50SXRlbT4m
IGZyYWdtZW50T3V0cHV0cywgVmVjdG9yPEF0dGFjaG1lbnREZXNjcmlwdG9yPiYgYXR0YWNobWVu
dERlc2NyaXB0b3JzLCBJbnRyaW5zaWNzJiBpbnRyaW5zaWNzKQogewogICAgIEhhc2hNYXA8QXR0
YWNobWVudERlc2NyaXB0b3IqLCBzaXplX3Q+IHJlc3VsdDsKLSAgICBIYXNoU2V0PHNpemVfdCwg
RGVmYXVsdEhhc2g8c2l6ZV90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRy
YWl0czxzaXplX3Q+PiBpdGVtSW5kaWNlczsKKyAgICBIYXNoU2V0PHNpemVfdCwgRGVmYXVsdEhh
c2g8c2l6ZV90PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxzaXplX3Q+PiBp
dGVtSW5kaWNlczsKICAgICBmb3IgKGF1dG8mIGF0dGFjaG1lbnREZXNjcmlwdG9yIDogYXR0YWNo
bWVudERlc2NyaXB0b3JzKSB7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZnJhZ21l
bnRPdXRwdXRzLnNpemUoKTsgKytpKSB7CiAgICAgICAgICAgICBhdXRvJiBpdGVtID0gZnJhZ21l
bnRPdXRwdXRzW2ldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9TZXNzaW9u
SUQuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvU2Vzc2lvbklELmgKaW5kZXggM2JjZDQ5MTM1
OTMzMTk3NjI1YWM2MWM5NTBhMWUyYmRmZDMwMTgyMi4uNWQyYWJlZGE2ZTJlZWRlOThlYmMxNmVk
MmExMGNlMzJiZDE0MzM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9TZXNz
aW9uSUQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1Nlc3Npb25JRC5oCkBAIC0xMTks
OCArMTE5LDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxQQUw6OlNlc3Npb25JRD4g
OiBHZW5lcmljSGFzaFRyYWl0czxQQUw6OlNlc3Npb25JRD4KICAgICBzdGF0aWMgYm9vbCBpc0Rl
bGV0ZWRWYWx1ZShjb25zdCBQQUw6OlNlc3Npb25JRCYgc2xvdCkgeyByZXR1cm4gc2xvdC5pc0hh
c2hUYWJsZURlbGV0ZWRWYWx1ZSgpOyB9CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0
SGFzaDxQQUw6OlNlc3Npb25JRD4gewotICAgIHR5cGVkZWYgU2Vzc2lvbklESGFzaCBIYXNoOwot
fTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFBBTDo6U2Vzc2lvbklEPiA6IFNlc3Np
b25JREhhc2ggeyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCmluZGV4IGM5ZDdkOWE3
NGI2M2RlMGExYjAwMDE0MjUzYjBlYzc4MTNhNzQ2MDYuLjZjODk2N2UyYjdjMjc2ZjE3MjBmMzdi
OGRlNTczM2RmYjcxMmMyMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMjA4Nyw3ICsyMDg3LDcgQEAgQWNjZXNz
aWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eU9iamVjdDo6Zmlyc3RBbm9ueW1vdXNCbG9ja0No
aWxkKCkgY29uc3QKIH0KIAogdXNpbmcgQVJJQVJvbGVNYXAgPSBIYXNoTWFwPFN0cmluZywgQWNj
ZXNzaWJpbGl0eVJvbGUsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD47Ci11c2luZyBBUklBUmV2
ZXJzZVJvbGVNYXAgPSBIYXNoTWFwPEFjY2Vzc2liaWxpdHlSb2xlLCBTdHJpbmcsIERlZmF1bHRI
YXNoPGludD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8aW50Pj47
Cit1c2luZyBBUklBUmV2ZXJzZVJvbGVNYXAgPSBIYXNoTWFwPEFjY2Vzc2liaWxpdHlSb2xlLCBT
dHJpbmcsIERlZmF1bHRIYXNoPGludD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFp
dHM8aW50Pj47CiAKIHN0YXRpYyBBUklBUm9sZU1hcCogZ0FyaWFSb2xlTWFwID0gbnVsbHB0cjsK
IHN0YXRpYyBBUklBUmV2ZXJzZVJvbGVNYXAqIGdBcmlhUmV2ZXJzZVJvbGVNYXAgPSBudWxscHRy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuaAppbmRleCA0Mjg0MzFiMjJkOTA4NzIxY2I4YjY5NzE5MWVlYzRmYzkwZDYwMDgxLi5iMjFh
NmQwOWU0YWVkNmU3ZGM5MGU4YjMzNzg4NTgzYzU3MzVmZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtODE5LDcgKzgx
OSw3IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIGZpcnN0QWNjZXNzaWJsZU9iamVjdEZyb21Ob2Rl
KGNvbnN0IE5vZGUqLCBjb25zdCBXVEY6OkZ1bmN0CiAKIG5hbWVzcGFjZSBBY2Nlc3NpYmlsaXR5
IHsKIAotdXNpbmcgUGxhdGZvcm1Sb2xlTWFwID0gSGFzaE1hcDxBY2Nlc3NpYmlsaXR5Um9sZSwg
U3RyaW5nLCBEZWZhdWx0SGFzaDx1bnNpZ25lZD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVy
b0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PjsKK3VzaW5nIFBsYXRmb3JtUm9sZU1hcCA9IEhhc2hN
YXA8QWNjZXNzaWJpbGl0eVJvbGUsIFN0cmluZywgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6
OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj47CiAKIFBsYXRmb3JtUm9s
ZU1hcCBjcmVhdGVQbGF0Zm9ybVJvbGVNYXAoKTsKIFN0cmluZyByb2xlVG9QbGF0Zm9ybVN0cmlu
ZyhBY2Nlc3NpYmlsaXR5Um9sZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50
ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbkNvbXBpbGVyLmNwcAppbmRleCBjZWEy
MGE4YWJhNzQzNzY3MjhlNjk4YzQ5MzQ5ZTBhOTM0OWIyYTNlLi4yOGE3MjU4ZmI4NzljYmZjMTBh
Y2I4ZjhjMjBkMzcyNTNmOTVhNDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50
ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25Db21waWxlci5jcHAKQEAgLTk0
LDggKzk0LDggQEAgc3RhdGljIFZlY3Rvcjx1bnNpZ25lZD4gc2VyaWFsaXplQWN0aW9ucyhjb25z
dCBWZWN0b3I8Q29udGVudEV4dGVuc2lvblJ1bGU+JiBydWwKICAgICBWZWN0b3I8dWludDMyX3Q+
IGFjdGlvbkxvY2F0aW9uczsKIAogICAgIHVzaW5nIEFjdGlvbkxvY2F0aW9uID0gdWludDMyX3Q7
Ci0gICAgdXNpbmcgQWN0aW9uTWFwID0gSGFzaE1hcDxSZXNvdXJjZUZsYWdzLCBBY3Rpb25Mb2Nh
dGlvbiwgRGVmYXVsdEhhc2g8UmVzb3VyY2VGbGFncz46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRo
WmVyb0tleUhhc2hUcmFpdHM8UmVzb3VyY2VGbGFncz4+OwotICAgIHVzaW5nIFN0cmluZ0FjdGlv
bk1hcCA9IEhhc2hNYXA8c3RkOjpwYWlyPFN0cmluZywgUmVzb3VyY2VGbGFncz4sIEFjdGlvbkxv
Y2F0aW9uLCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8U3RyaW5nLCBSZXNvdXJjZUZsYWdzPj46Okhh
c2gsIFBhaXJIYXNoVHJhaXRzPEhhc2hUcmFpdHM8U3RyaW5nPiwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czxSZXNvdXJjZUZsYWdzPj4+OworICAgIHVzaW5nIEFjdGlvbk1hcCA9
IEhhc2hNYXA8UmVzb3VyY2VGbGFncywgQWN0aW9uTG9jYXRpb24sIERlZmF1bHRIYXNoPFJlc291
cmNlRmxhZ3M+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPFJlc291cmNlRmxh
Z3M+PjsKKyAgICB1c2luZyBTdHJpbmdBY3Rpb25NYXAgPSBIYXNoTWFwPHN0ZDo6cGFpcjxTdHJp
bmcsIFJlc291cmNlRmxhZ3M+LCBBY3Rpb25Mb2NhdGlvbiwgRGVmYXVsdEhhc2g8c3RkOjpwYWly
PFN0cmluZywgUmVzb3VyY2VGbGFncz4+LCBQYWlySGFzaFRyYWl0czxIYXNoVHJhaXRzPFN0cmlu
Zz4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8UmVzb3VyY2VGbGFncz4+PjsK
ICAgICBBY3Rpb25NYXAgYmxvY2tMb2FkQWN0aW9uc01hcDsKICAgICBBY3Rpb25NYXAgYmxvY2tD
b29raWVzQWN0aW9uc01hcDsKICAgICBQZW5kaW5nRGlzcGxheU5vbmVBY3Rpb25zTWFwIGNzc0Rp
c3BsYXlOb25lQWN0aW9uc01hcDsKQEAgLTE5MSw3ICsxOTEsNyBAQCBzdGF0aWMgVmVjdG9yPHVu
c2lnbmVkPiBzZXJpYWxpemVBY3Rpb25zKGNvbnN0IFZlY3RvcjxDb250ZW50RXh0ZW5zaW9uUnVs
ZT4mIHJ1bAogICAgIHJldHVybiBhY3Rpb25Mb2NhdGlvbnM7CiB9CiAKLXR5cGVkZWYgSGFzaFNl
dDx1aW50NjRfdCwgRGVmYXVsdEhhc2g8dWludDY0X3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0
aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQ2NF90Pj4gVW5pdmVyc2FsQWN0aW9uU2V0OwordHlwZWRl
ZiBIYXNoU2V0PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD4sIFdURjo6VW5zaWduZWRX
aXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBVbml2ZXJzYWxBY3Rpb25TZXQ7CiAKIHN0
YXRpYyB2b2lkIGFkZFVuaXZlcnNhbEFjdGlvbnNUb0RGQShERkEmIGRmYSwgVW5pdmVyc2FsQWN0
aW9uU2V0JiYgdW5pdmVyc2FsQWN0aW9ucykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25SdWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uUnVsZS5oCmluZGV4IDM5OGU3NGMy
MzExMjc3MDViNmNhMDM3ZWRkNzUzZDE0MzRlZGY5MmMuLmM1MGJmMTdiOTZiZDczMDA4MmUzYzAx
ZDY5N2I2MmQ2NDU5Y2RjMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRl
bnNpb25zL0NvbnRlbnRFeHRlbnNpb25SdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVu
dGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvblJ1bGUuaApAQCAtOTEsNyArOTEsNyBAQCBzdHJ1
Y3QgVHJpZ2dlckhhc2ggewogICAgICAgICB1bnNpZ25lZCBoYXNoID0gdHJpZ2dlci51cmxGaWx0
ZXJJc0Nhc2VTZW5zaXRpdmUgPyAxMDYxOTg2MyA6IDQwOTYwMDAxOwogICAgICAgICBpZiAoIXRy
aWdnZXIudXJsRmlsdGVyLmlzTnVsbCgpKQogICAgICAgICAgICAgaGFzaCBePSBTdHJpbmdIYXNo
OjpoYXNoKHRyaWdnZXIudXJsRmlsdGVyKTsKLSAgICAgICAgaGFzaCA9IFdURjo6cGFpckludEhh
c2goaGFzaCwgRGVmYXVsdEhhc2g8UmVzb3VyY2VGbGFncz46Okhhc2g6Omhhc2godHJpZ2dlci5m
bGFncykpOworICAgICAgICBoYXNoID0gV1RGOjpwYWlySW50SGFzaChoYXNoLCBEZWZhdWx0SGFz
aDxSZXNvdXJjZUZsYWdzPjo6aGFzaCh0cmlnZ2VyLmZsYWdzKSk7CiAKICAgICAgICAgZm9yIChj
b25zdCBTdHJpbmcmIGNvbmRpdGlvbiA6IHRyaWdnZXIuY29uZGl0aW9ucykKICAgICAgICAgICAg
IGhhc2ggXj0gU3RyaW5nSGFzaDo6aGFzaChjb25kaXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuaCBi
L1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25TdHlsZVNo
ZWV0LmgKaW5kZXggMzA3NzM2MjM1NGIxNmUyODQwYjE2NzU3YjUyMTc5YTU4Y2EzMGZjYy4uZWE2
M2RiZTIwNjNmNWI1NjY4NDc1ZmM3NTgxMmUzNzIxYWE3ZGY5MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uU3R5
bGVTaGVldC5oCkBAIC01NSw3ICs1NSw3IEBAIHByaXZhdGU6CiAgICAgQ29udGVudEV4dGVuc2lv
blN0eWxlU2hlZXQoRG9jdW1lbnQmKTsKIAogICAgIFJlZjxDU1NTdHlsZVNoZWV0PiBtX3N0eWxl
U2hlZXQ7Ci0gICAgSGFzaFNldDx1aW50MzJfdCwgRGVmYXVsdEhhc2g8dWludDMyX3Q+OjpIYXNo
LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj4gbV9hZGRlZFNl
bGVjdG9ySURzOworICAgIEhhc2hTZXQ8dWludDMyX3QsIERlZmF1bHRIYXNoPHVpbnQzMl90Piwg
V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+IG1fYWRkZWRTZWxl
Y3RvcklEczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIENvbnRlbnRFeHRlbnNpb25zCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkEuY3BwIGIvU291cmNlL1dl
YkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBLmNwcAppbmRleCA5MjVhNjc1ODM2ZTNhOGEzY2U4
OGMxMGVkZjIzZDgzZmM5ODcyZTcyLi4wNDc1ZmFhYzJlMjRjMjA2ODUzNGMyOTM4MWRmNGE1MTYx
ZDVhYjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQS5jcHAKQEAgLTk4
LDcgKzk4LDcgQEAgc3RhdGljIHZvaWQgcHJpbnRUcmFuc2l0aW9ucyhjb25zdCBERkEmIGRmYSwg
dW5zaWduZWQgc291cmNlTm9kZUlkKQogICAgIGlmICh0cmFuc2l0aW9ucy5iZWdpbigpID09IHRy
YW5zaXRpb25zLmVuZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBIYXNoTWFwPHVuc2lnbmVk
LCBWZWN0b3I8dWludDE2X3Q+LCBEZWZhdWx0SGFzaDx1bnNpZ25lZD46Okhhc2gsIFdURjo6VW5z
aWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiB0cmFuc2l0aW9uc1BlclRhcmdl
dDsKKyAgICBIYXNoTWFwPHVuc2lnbmVkLCBWZWN0b3I8dWludDE2X3Q+LCBEZWZhdWx0SGFzaDx1
bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiB0
cmFuc2l0aW9uc1BlclRhcmdldDsKIAogICAgIC8vIEZpcnN0LCB3ZSBidWlsZCB0aGUgbGlzdCBv
ZiB0cmFuc2l0aW9ucyBjb21pbmcgdG8gZWFjaCB0YXJnZXQgbm9kZS4KICAgICBmb3IgKGNvbnN0
IGF1dG8mIHRyYW5zaXRpb24gOiB0cmFuc2l0aW9ucykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJbnRlcnByZXRlci5oIGIvU291cmNl
L1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJbnRlcnByZXRlci5oCmluZGV4
IGFkZmNhZGE3YjIxZTQ4OGM5M2E2ZmFkN2Q0YjFlZmMwOTk0NmRmNjUuLjFjZjNiOGM5YWIyMWM2
Mjg4NzFmNGMxNDZiNWViNmVhMmJmMGQ3ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nv
bnRlbnRleHRlbnNpb25zL0RGQUJ5dGVjb2RlSW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFCeXRlY29kZUludGVycHJldGVyLmgKQEAgLTQ1LDcg
KzQ1LDcgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAgICAgCi0gICAgdHlwZWRlZiBIYXNoU2V0
PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRo
WmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBBY3Rpb25zOworICAgIHR5cGVkZWYgSGFzaFNl
dDx1aW50NjRfdCwgRGVmYXVsdEhhc2g8dWludDY0X3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9L
ZXlIYXNoVHJhaXRzPHVpbnQ2NF90Pj4gQWN0aW9uczsKICAgICAKICAgICBBY3Rpb25zIGludGVy
cHJldChjb25zdCBDU3RyaW5nJiwgdWludDE2X3QgZmxhZ3MpOwogICAgIEFjdGlvbnMgaW50ZXJw
cmV0V2l0aENvbmRpdGlvbnMoY29uc3QgQ1N0cmluZyYsIHVpbnQxNl90IGZsYWdzLCBjb25zdCBE
RkFCeXRlY29kZUludGVycHJldGVyOjpBY3Rpb25zJiBjb25kaXRpb25BY3Rpb25zKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUNvbWJpbmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUNvbWJpbmVyLmNwcAppbmRleCBh
ZmJhZWFhYzYwYTM5ZTY0Y2ZjYjQ3ODE4ODJjZDM4YTM5MDM2ZTFkLi43MmU3NjE4MTVkMTNjNzk2
MjRlYTY5YzM5Y2E3NWE5ODEzODRhNjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250
ZW50ZXh0ZW5zaW9ucy9ERkFDb21iaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVu
dGV4dGVuc2lvbnMvREZBQ29tYmluZXIuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgdWludDMyX3QgaW5kZXhBID0gZXh0cmFjdEluZGV4QShuZXdOb2RlU2lnbmF0dXJl
KTsKICAgICAgICAgdWludDMyX3QgaW5kZXhCID0gZXh0cmFjdEluZGV4QihuZXdOb2RlU2lnbmF0
dXJlKTsKIAotICAgICAgICBIYXNoU2V0PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD46
Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBhY3Rp
b25zOworICAgICAgICBIYXNoU2V0PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD4sIFdU
Rjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBhY3Rpb25zOwogICAg
ICAgICBpZiAoaW5kZXhBICE9IGludmFsaWROb2RlSW5kZXgpIHsKICAgICAgICAgICAgIGNvbnN0
IERGQU5vZGUmIG5vZGUgPSBtX2RmYUEubm9kZXNbaW5kZXhBXTsKICAgICAgICAgICAgIHVpbnQz
Ml90IGFjdGlvbnNTdGFydCA9IG5vZGUuYWN0aW9uc1N0YXJ0KCk7CkBAIC0xODAsNyArMTgwLDcg
QEAgcHJpdmF0ZToKICAgICBjb25zdCBERkEmIG1fZGZhQTsKICAgICBjb25zdCBERkEmIG1fZGZh
QjsKICAgICBERkEgbV9vdXRwdXQ7Ci0gICAgSGFzaE1hcDx1aW50NjRfdCwgdWludDMyX3QsIERl
ZmF1bHRIYXNoPHVpbnQ2NF90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRy
YWl0czx1aW50NjRfdD4+IG1fbm9kZU1hcHBpbmc7CisgICAgSGFzaE1hcDx1aW50NjRfdCwgdWlu
dDMyX3QsIERlZmF1bHRIYXNoPHVpbnQ2NF90PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFz
aFRyYWl0czx1aW50NjRfdD4+IG1fbm9kZU1hcHBpbmc7CiAgICAgVmVjdG9yPHVpbnQ2NF90LCAw
LCBDb250ZW50RXh0ZW5zaW9uc092ZXJmbG93SGFuZGxlcj4gbV91bnByb2Nlc3NlZE5vZGVzOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFOb2RlLmNwcAppbmRl
eCA3NjJhMTM1NThlN2FlMDEzODcyZjE0ZWEyYjliMzg0ZDJkYTJmZmE4Li4zZmI4YzIxYTQ1NmJh
ODE2MTc4ZjdjN2NhMDdiODJmOGI5Y2FiMDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
b250ZW50ZXh0ZW5zaW9ucy9ERkFOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50
ZXh0ZW5zaW9ucy9ERkFOb2RlLmNwcApAQCAtMTEwLDcgKzExMCw3IEBAIHVpbnQzMl90IERGQU5v
ZGU6OmJlc3RGYWxsYmFja1RhcmdldChjb25zdCBERkEmIGRmYSkgY29uc3QKIHsKICAgICBBU1NF
UlQoY2FuVXNlRmFsbGJhY2tUcmFuc2l0aW9uKGRmYSkpOwogCi0gICAgSGFzaE1hcDx1aW50MzJf
dCwgdW5zaWduZWQsIERlZmF1bHRIYXNoPHVpbnQzMl90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdp
dGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+IGhpc3RvZ3JhbTsKKyAgICBIYXNoTWFwPHVp
bnQzMl90LCB1bnNpZ25lZCwgRGVmYXVsdEhhc2g8dWludDMyX3Q+LCBXVEY6OlVuc2lnbmVkV2l0
aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj4gaGlzdG9ncmFtOwogCiAgICAgSXRlcmFibGVD
b25zdFJhbmdlIGl0ZXJhYmxlVHJhbnNpdGlvbnMgPSB0cmFuc2l0aW9ucyhkZmEpOwogICAgIGF1
dG8gaXRlcmF0b3IgPSBpdGVyYWJsZVRyYW5zaXRpb25zLmJlZ2luKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9JbW11dGFibGVORkFOb2RlQnVpbGRlci5o
IGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvSW1tdXRhYmxlTkZBTm9kZUJ1aWxk
ZXIuaAppbmRleCBlN2NkMzFjZjc1NGE3MDk4Zjc1ZGExZWI1Zjk0NDg2MmVmZDliMjY4Li5lMjdl
MjRjNjBiMWU1NmE4ZTRlMDk2ZmQ2NjI1ZDcxZWQwNjAxNDFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9JbW11dGFibGVORkFOb2RlQnVpbGRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0ltbXV0YWJsZU5GQU5vZGVCdWlsZGVy
LmgKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIENvbnRlbnRFeHRlbnNpb25zIHsKIHRlbXBs
YXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlLCB0eXBlbmFtZSBBY3Rpb25UeXBlPgogY2xhc3Mg
SW1tdXRhYmxlTkZBTm9kZUJ1aWxkZXIgewogICAgIHR5cGVkZWYgSW1tdXRhYmxlTkZBPENoYXJh
Y3RlclR5cGUsIEFjdGlvblR5cGU+IFR5cGVkSW1tdXRhYmxlTkZBOwotICAgIHR5cGVkZWYgSGFz
aFNldDx1aW50MzJfdCwgRGVmYXVsdEhhc2g8dWludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVk
V2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj4gVGFyZ2V0U2V0OworICAgIHR5cGVkZWYg
SGFzaFNldDx1aW50MzJfdCwgRGVmYXVsdEhhc2g8dWludDMyX3Q+LCBXVEY6OlVuc2lnbmVkV2l0
aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj4gVGFyZ2V0U2V0OwogcHVibGljOgogICAgIElt
bXV0YWJsZU5GQU5vZGVCdWlsZGVyKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2NvbnRlbnRleHRlbnNpb25zL05GQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5z
aW9ucy9ORkEuY3BwCmluZGV4IDQzYzM3ZTkzYjdmMzlkYTZjNDIzNjk0MDRiMTg0MTE1ZDhiYjJk
OGYuLjUyNDQzMTQyYTYyNTRiMTNkNTU0NDIyZTYyMmQ5NDVhODMyM2MwNDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL05GQS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY29udGVudGV4dGVuc2lvbnMvTkZBLmNwcApAQCAtNzEsNyArNzEsNyBAQCB2b2lkIE5G
QTo6ZGVidWdQcmludERvdCgpIGNvbnN0CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG5v
ZGVzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIGNvbnN0IGF1dG8mIG5vZGUgPSBub2Rlc1tpXTsK
IAotICAgICAgICBIYXNoTWFwPHVpbnQzMl90LCBWZWN0b3I8dWludDMyX3Q+LCBEZWZhdWx0SGFz
aDx1bnNpZ25lZD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5z
aWduZWQ+PiB0cmFuc2l0aW9uc1BlclRhcmdldDsKKyAgICAgICAgSGFzaE1hcDx1aW50MzJfdCwg
VmVjdG9yPHVpbnQzMl90PiwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6OlVuc2lnbmVkV2l0
aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gdHJhbnNpdGlvbnNQZXJUYXJnZXQ7CiAKICAg
ICAgICAgZm9yICh1aW50MzJfdCB0cmFuc2l0aW9uSW5kZXggPSBub2RlLnJhbmdlc1N0YXJ0OyB0
cmFuc2l0aW9uSW5kZXggPCBub2RlLnJhbmdlc0VuZDsgKyt0cmFuc2l0aW9uSW5kZXgpIHsKICAg
ICAgICAgICAgIGNvbnN0IEltbXV0YWJsZUNoYXJSYW5nZSYgcmFuZ2UgPSB0cmFuc2l0aW9uc1t0
cmFuc2l0aW9uSW5kZXhdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVu
c2lvbnMvTkZBTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvTkZBTm9k
ZS5oCmluZGV4IGI3MDM0OWIzZmU3NzJjYzhiMTUxZmY4YjkxMjEyODFlNWQwNWQ2NTguLmFhYWVk
MzExNDAzM2I0MzMzYmIxMDUxNDU5OGQzOWU0NjBiOWMzYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL05GQU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
b250ZW50ZXh0ZW5zaW9ucy9ORkFOb2RlLmgKQEAgLTM5LDggKzM5LDggQEAgbmFtZXNwYWNlIENv
bnRlbnRFeHRlbnNpb25zIHsKIC8vIEEgTkZBTm9kZSBhYnN0cmFjdCB0aGUgdHJhbnNpdGlvbiB0
YWJsZSBvdXQgb2YgYSBORkEgc3RhdGUuCiAKIHR5cGVkZWYgVmVjdG9yPHVpbnQ2NF90LCAwLCBX
VEY6OkNyYXNoT25PdmVyZmxvdywgMT4gQWN0aW9uTGlzdDsKLXR5cGVkZWYgSGFzaFNldDx1bnNp
Z25lZCwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9L
ZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gTkZBTm9kZUluZGV4U2V0OwotdHlwZWRlZiBIYXNoTWFw
PHVpbnQxNl90LCBORkFOb2RlSW5kZXhTZXQsIERlZmF1bHRIYXNoPHVpbnQxNl90Pjo6SGFzaCwg
V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MTZfdD4+IE5GQU5vZGVUcmFu
c2l0aW9uczsKK3R5cGVkZWYgSGFzaFNldDx1bnNpZ25lZCwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+
LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gTkZBTm9kZUlu
ZGV4U2V0OwordHlwZWRlZiBIYXNoTWFwPHVpbnQxNl90LCBORkFOb2RlSW5kZXhTZXQsIERlZmF1
bHRIYXNoPHVpbnQxNl90PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50
MTZfdD4+IE5GQU5vZGVUcmFuc2l0aW9uczsKIAogY2xhc3MgTkZBTm9kZSB7CiBwdWJsaWM6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ORkFUb0RGQS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ORkFUb0RGQS5jcHAKaW5kZXggZWNk
ODI0ZWZhY2M2OTNlYTViYTMxNWQ0MTE3ZTk4ZWEwNDZmZDlkYy4uZDMzZmUyNGJmYmM3OGE5ZDRm
MjE3NDc2YzRhZTdlMTI1ZjBmNWVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY29udGVu
dGV4dGVuc2lvbnMvTkZBVG9ERkEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRl
bnNpb25zL05GQVRvREZBLmNwcApAQCAtMjI0LDcgKzIyNCw3IEBAIHN0cnVjdCBOb2RlSWRTZXRU
b1VuaXF1ZU5vZGVJZFNldFNvdXJjZSB7CiAgICAgICAgIHVuc2lnbmVkIGhhc2ggPSA0MjA3NDQ1
MTU1OwogICAgICAgICBmb3IgKHVuc2lnbmVkIG5vZGVJZCA6IG5vZGVJZFNldCkKICAgICAgICAg
ICAgIGhhc2ggKz0gbm9kZUlkOwotICAgICAgICB0aGlzLT5oYXNoID0gRGVmYXVsdEhhc2g8dW5z
aWduZWQ+OjpIYXNoOjpoYXNoKGhhc2gpOworICAgICAgICB0aGlzLT5oYXNoID0gRGVmYXVsdEhh
c2g8dW5zaWduZWQ+OjpoYXNoKGhhc2gpOwogICAgIH0KICAgICBERkEmIGRmYTsKICAgICBjb25z
dCBORkEmIG5mYTsKQEAgLTI0Nyw3ICsyNDcsNyBAQCBzdHJ1Y3QgTm9kZUlkU2V0VG9VbmlxdWVO
b2RlSWRTZXRUcmFuc2xhdG9yIHsKICAgICB7CiAgICAgICAgIERGQU5vZGUgbmV3REZBTm9kZTsK
IAotICAgICAgICBIYXNoU2V0PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD46Okhhc2gs
IFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBhY3Rpb25zOwor
ICAgICAgICBIYXNoU2V0PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD4sIFdURjo6VW5z
aWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBhY3Rpb25zOwogCiAgICAgICAg
IGZvciAodW5zaWduZWQgbmZhTm9kZUlkIDogc291cmNlLm5vZGVJZFNldCkgewogICAgICAgICAg
ICAgY29uc3QgYXV0byYgbmZhTm9kZSA9IHNvdXJjZS5uZmEubm9kZXNbbmZhTm9kZUlkXTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9tYWtlcHJvcC5wbAppbmRleCAyODAxODNjZmU5YWIwOTkzYzQ0MDk5ZDY1ZGYxMjUzNzhh
ZWNjNjQyLi5mNjEwMWY4ODQ3MTAzNzJlOTE4M2M4MDQwOGQ3ODFiYmY5NzRkYTczIDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL21ha2Vwcm9wLnBsCkBAIC02MTgsNyArNjE4LDcgQEAgaW5saW5lIENTU1Byb3BlcnR5SUQg
Y29udmVydFRvQ1NTUHJvcGVydHlJRChpbnQgdmFsdWUpCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKIG5hbWVzcGFjZSBXVEYgewotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29y
ZTo6Q1NTUHJvcGVydHlJRD4geyB1c2luZyBIYXNoID0gSW50SGFzaDx1bnNpZ25lZD47IH07Cit0
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpDU1NQcm9wZXJ0eUlEPiA6IElu
dEhhc2g8dW5zaWduZWQ+IHsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29y
ZTo6Q1NTUHJvcGVydHlJRD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpDU1NQcm9wZXJ0
eUlEPiB7CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IHRydWU7CiAg
ICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFdlYkNvcmU6OkNTU1Byb3BlcnR5
SUQmIHNsb3QpIHsgc2xvdCA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQ+KFdl
YkNvcmU6Omxhc3RDU1NQcm9wZXJ0eSArIDEpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUGFyc2VyQ29udGV4dC5oCmluZGV4IDc3M2I4NTQyMzAxY2FiMjE2YzM1ZmY4NmM3ODky
MzNkMjhjOGIzNDYuLjBlZTU1YmZjODBlYjRmZjAwODMwYjFkYTJiNDA1YzdhYmNlMzA4ODkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5oCkBAIC0xMjks
NyArMTI5LDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpDU1NQYXJz
ZXJDb250ZXh0PiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkMKICAgICBzdGF0aWMgV2ViQ29yZTo6
Q1NTUGFyc2VyQ29udGV4dCBlbXB0eVZhbHVlKCkgeyByZXR1cm4gV2ViQ29yZTo6Q1NTUGFyc2Vy
Q29udGV4dChXZWJDb3JlOjpIVE1MU3RhbmRhcmRNb2RlKTsgfQogfTsKIAotdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6Q1NTUGFyc2VyQ29udGV4dD4gewotICAgIHR5cGVk
ZWYgV2ViQ29yZTo6Q1NTUGFyc2VyQ29udGV4dEhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpDU1NQYXJzZXJDb250ZXh0PiA6IFdlYkNvcmU6OkNT
U1BhcnNlckNvbnRleHRIYXNoIHsgfTsKKwogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vR0NSZWFjaGFibGVSZWYuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9HQ1JlYWNoYWJsZVJlZi5oCmluZGV4IDg0OGFjN2JlNjJhZjNlMjA5MDNmNjFmYjRmZDcyN2Vk
MTk4ODdlOWMuLmY2MDdjN2Y2NjIxODVkZWRkOTAzNjc0ODBjZjk0NTg5ZjZmMWNkYzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HQ1JlYWNoYWJsZVJlZi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9HQ1JlYWNoYWJsZVJlZi5oCkBAIC0xNDMsOSArMTQzLDcgQEAgdGVtcGxhdGU8
dHlwZW5hbWUgUD4gc3RydWN0IFB0ckhhc2g8V2ViQ29yZTo6R0NSZWFjaGFibGVSZWY8UD4+IDog
UHRySGFzaEJhc2U8V2UKICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0
eU9yRGVsZXRlZCA9IGZhbHNlOwogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgUD4gc3RydWN0IERl
ZmF1bHRIYXNoPFdlYkNvcmU6OkdDUmVhY2hhYmxlUmVmPFA+PiB7Ci0gICAgdHlwZWRlZiBQdHJI
YXNoPFdlYkNvcmU6OkdDUmVhY2hhYmxlUmVmPFA+PiBIYXNoOwotfTsKK3RlbXBsYXRlPHR5cGVu
YW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpHQ1JlYWNoYWJsZVJlZjxQPj4gOiBQ
dHJIYXNoPFdlYkNvcmU6OkdDUmVhY2hhYmxlUmVmPFA+PiB7IH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdURgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRJZGVudGlm
aWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRJZGVudGlmaWVyLmgKaW5kZXgg
YzA4NzUyYzE4ZmIzM2U5YTIzYmNmZWFhYmY1MDVmNDJkZGQwNTJmMC4uOGJjYzExZDYwNzAzZmZm
ZjE0OTkxOTE0MTJhZjI5MWZiOTA5MWFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L01lc3NhZ2VQb3J0SWRlbnRpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdl
UG9ydElkZW50aWZpZXIuaApAQCAtMTA1LDggKzEwNSw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhh
c2hUcmFpdHM8V2ViQ29yZTo6TWVzc2FnZVBvcnRJZGVudGlmaWVyPiA6IEdlbmVyaWNIYXNoVHJh
aXRzCiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2ViQ29yZTo6TWVzc2Fn
ZVBvcnRJZGVudGlmaWVyJiBzbG90KSB7IHJldHVybiBzbG90LnByb2Nlc3NJZGVudGlmaWVyLnRv
VUludDY0KCkgPT0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpOyB9CiB9Owog
Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpNZXNzYWdlUG9ydElkZW50
aWZpZXI+IHsKLSAgICB0eXBlZGVmIE1lc3NhZ2VQb3J0SWRlbnRpZmllckhhc2ggSGFzaDsKLX07
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpNZXNzYWdlUG9ydElkZW50
aWZpZXI+IDogTWVzc2FnZVBvcnRJZGVudGlmaWVySGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCmluZGV4IDRiZGIxMjYyMmNmZDg2ZTkyNjQy
NTNiYWUzOGVjOWFlY2YwMWQ1YmUuLjYxZjZmMWIyMmI5NjFkNzUzMjg3YjEzOTI3YTdmNjZhOWQx
ZDBlM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKQEAgLTkwLDEwICs5MCwxMCBAQCBw
dWJsaWM6CiAgICAgc3RydWN0IE5vZGVMaXN0Q2FjaGVNYXBFbnRyeUhhc2ggewogICAgICAgICBz
dGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBzdGQ6OnBhaXI8dW5zaWduZWQgY2hhciwgQXRvbVN0
cmluZz4mIGVudHJ5KQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8
QXRvbVN0cmluZz46Okhhc2g6Omhhc2goZW50cnkuc2Vjb25kKSArIGVudHJ5LmZpcnN0OworICAg
ICAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPEF0b21TdHJpbmc+OjpoYXNoKGVudHJ5LnNlY29u
ZCkgKyBlbnRyeS5maXJzdDsKICAgICAgICAgfQotICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChj
b25zdCBzdGQ6OnBhaXI8dW5zaWduZWQgY2hhciwgQXRvbVN0cmluZz4mIGEsIGNvbnN0IHN0ZDo6
cGFpcjx1bnNpZ25lZCBjaGFyLCBBdG9tU3RyaW5nPiYgYikgeyByZXR1cm4gYS5maXJzdCA9PSBi
LmZpcnN0ICYmIERlZmF1bHRIYXNoPEF0b21TdHJpbmc+OjpIYXNoOjplcXVhbChhLnNlY29uZCwg
Yi5zZWNvbmQpOyB9Ci0gICAgICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0Vt
cHR5T3JEZWxldGVkID0gRGVmYXVsdEhhc2g8QXRvbVN0cmluZz46Okhhc2g6OnNhZmVUb0NvbXBh
cmVUb0VtcHR5T3JEZWxldGVkOworICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBzdGQ6
OnBhaXI8dW5zaWduZWQgY2hhciwgQXRvbVN0cmluZz4mIGEsIGNvbnN0IHN0ZDo6cGFpcjx1bnNp
Z25lZCBjaGFyLCBBdG9tU3RyaW5nPiYgYikgeyByZXR1cm4gYS5maXJzdCA9PSBiLmZpcnN0ICYm
IERlZmF1bHRIYXNoPEF0b21TdHJpbmc+OjplcXVhbChhLnNlY29uZCwgYi5zZWNvbmQpOyB9Cisg
ICAgICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0g
RGVmYXVsdEhhc2g8QXRvbVN0cmluZz46OnNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkOwog
ICAgIH07CiAKICAgICB1c2luZyBOb2RlTGlzdENhY2hlTWFwID0gSGFzaE1hcDxzdGQ6OnBhaXI8
dW5zaWduZWQgY2hhciwgQXRvbVN0cmluZz4sIExpdmVOb2RlTGlzdCosIE5vZGVMaXN0Q2FjaGVN
YXBFbnRyeUhhc2g+OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5h
bWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKaW5kZXggMzNmNzNjZTE2
ZWNhOWY4ZGVmOGQ5MmZmNTg0Y2UzMzBhMzgwOGExYS4uMjY0YzQ3OTE1MGNjYmY3YTA2NWRlYTU1
YWNlYmE0NGVkZDM5MmY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmll
ZE5hbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCkBAIC0xNTQs
OSArMTU0LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gc3RydWN0IERlZmF1bHRIYXNoOwogCi0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8V2ViQ29yZTo6UXVhbGlmaWVkTmFtZT4gewotICAgICAgICB0eXBlZGVmIFdlYkNvcmU6OlF1
YWxpZmllZE5hbWVIYXNoIEhhc2g7Ci0gICAgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZh
dWx0SGFzaDxXZWJDb3JlOjpRdWFsaWZpZWROYW1lPiA6IFdlYkNvcmU6OlF1YWxpZmllZE5hbWVI
YXNoIHsgfTsKICAgICAKICAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6
OlF1YWxpZmllZE5hbWU+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPFdlYkNvcmU6OlF1YWxpZmll
ZE5hbWU+IHsKICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkSXRlbUlkZW50
aWZpZXIuaAppbmRleCA1NDc0OTFjMDM1ZGQ4ZTczOTNmZTRlYjZjNDQ5ZjRlNjE1NzRlNDBkLi5l
NTM1ZTE1OTU5ZDNjYmNkNmNjM2Q1ZmFhNzQwOWE2NDZiYWVmZDYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIuaApAQCAtMTE5LDgg
KzExOSw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6QmFja0Zvcndh
cmRJdGVtSWRlbnRpZmllcj4gOiBHZW5lcmljSGFzaFRyCiAgICAgc3RhdGljIGJvb2wgaXNEZWxl
dGVkVmFsdWUoY29uc3QgV2ViQ29yZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciYgc2xvdCkg
eyByZXR1cm4gc2xvdC5wcm9jZXNzSWRlbnRpZmllci50b1VJbnQ2NCgpID09IHN0ZDo6bnVtZXJp
Y19saW1pdHM8dWludDY0X3Q+OjptYXgoKTsgfQogfTsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8V2ViQ29yZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcj4gewotICAgIHR5cGVk
ZWYgQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllckhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyPiA6IEJh
Y2tGb3J3YXJkSXRlbUlkZW50aWZpZXJIYXNoIHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmgKaW5kZXggZmE0YjE3N2Y0YzQ2NzU2ZDBmMmJlMDM3NDViODZjNzRmNDc3MWI0My4u
ZDRmYzc5NThkMTcyODFhODA0MzEyM2E3YWQzZGIxNDY1OTYwYzBkZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaApA
QCAtNTUxLDcgKzU1MSw3IEBAIHByb3RlY3RlZDoKICAgICB9OwogICAgIFZlY3RvcjxUZXh0dXJl
VW5pdFN0YXRlPiBtX3RleHR1cmVVbml0czsKICNpZiAhVVNFKEFOR0xFKQotICAgIEhhc2hTZXQ8
dW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IG1fdW5yZW5kZXJhYmxlVGV4dHVyZVVuaXRzOwor
ICAgIEhhc2hTZXQ8dW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25l
ZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IG1fdW5yZW5kZXJhYmxlVGV4dHVyZVVu
aXRzOwogI2VuZGlmCiAgICAgdW5zaWduZWQgbG9uZyBtX2FjdGl2ZVRleHR1cmVVbml0OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0VW5pdHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5oCmluZGV4IGIxZWUxZGE3MGRiYWI1NjBkYzQ2ZWFm
NzNlMzI0MjZjNjdlMzVhYmEuLjc0MjVhMWQ5NjY4MTcwZTIyYzI5OTQxZWRkMTVmMGUwMjQ0YTVh
ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5oCkBAIC0yNDcsOSArMjQ3LDcgQEAg
dGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpMYXlvdXQ6OlNsb3RQb3NpdGlv
bj4gOiBHZW5lcmljSGFzaFRyYWl0czwKICAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVk
VmFsdWUoV2ViQ29yZTo6TGF5b3V0OjpTbG90UG9zaXRpb24mIHNsb3QpIHsgc2xvdCA9IFdlYkNv
cmU6OkxheW91dDo6U2xvdFBvc2l0aW9uKHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4
KCksIDApOyB9CiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2ViQ29yZTo6
TGF5b3V0OjpTbG90UG9zaXRpb24mIHNsb3QpIHsgcmV0dXJuIHNsb3QgPT0gV2ViQ29yZTo6TGF5
b3V0OjpTbG90UG9zaXRpb24oc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKSwgMCk7
IH0KIH07Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpMYXlvdXQ6OlNs
b3RQb3NpdGlvbj4gewotICAgIHR5cGVkZWYgU2xvdFBvc2l0aW9uSGFzaCBIYXNoOwotfTsKK3Rl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0aW9u
PiA6IFNsb3RQb3NpdGlvbkhhc2ggeyB9OwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9BZENsaWNrQXR0cmlidXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9BZENsaWNrQXR0cmlidXRpb24uaAppbmRleCA2ODk4OTk1OGIwY2MyY2U2YzE4ODhhNjQx
NjgxYWE3YjAwNWU1MmQ3Li5jODNjM2U1NTI1MzliYzI3MGNhODkwZTFiN2NhNDM1NTlmZWZhZTg5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQWRDbGlja0F0dHJpYnV0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0FkQ2xpY2tBdHRyaWJ1dGlvbi5oCkBAIC0zNTIs
MTggKzM1MiwxNCBAQCBPcHRpb25hbDxBZENsaWNrQXR0cmlidXRpb246OkNvbnZlcnNpb24+IEFk
Q2xpY2tBdHRyaWJ1dGlvbjo6Q29udmVyc2lvbjo6ZGVjb2RlKAogbmFtZXNwYWNlIFdURiB7CiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAKLXRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6U291cmNlPiB7Ci0g
ICAgdHlwZWRlZiBXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OlNvdXJjZUhhc2ggSGFzaDsK
LX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpBZENsaWNrQXR0cmli
dXRpb246OlNvdXJjZT4gOiBXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OlNvdXJjZUhhc2gg
eyB9OwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpBZENsaWNrQXR0cmli
dXRpb246OlNvdXJjZT4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpBZENsaWNrQXR0cmli
dXRpb246OlNvdXJjZT4gewogICAgIHN0YXRpYyBXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246
OlNvdXJjZSBlbXB0eVZhbHVlKCkgeyByZXR1cm4geyB9OyB9CiAgICAgc3RhdGljIHZvaWQgY29u
c3RydWN0RGVsZXRlZFZhbHVlKFdlYkNvcmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6U291cmNlJiBz
bG90KSB7IFdlYkNvcmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6U291cmNlOjpjb25zdHJ1Y3REZWxl
dGVkVmFsdWUoc2xvdCk7IH0KICAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShjb25zdCBX
ZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OlNvdXJjZSYgc2xvdCkgeyByZXR1cm4gc2xvdC5p
c0RlbGV0ZWRWYWx1ZSgpOyB9CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxX
ZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OkRlc3RpbmF0aW9uPiB7Ci0gICAgdHlwZWRlZiBX
ZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OkRlc3RpbmF0aW9uSGFzaCBIYXNoOwotfTsKK3Rl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6
RGVzdGluYXRpb24+IDogV2ViQ29yZTo6QWRDbGlja0F0dHJpYnV0aW9uOjpEZXN0aW5hdGlvbkhh
c2ggeyB9OwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpBZENsaWNrQXR0
cmlidXRpb246OkRlc3RpbmF0aW9uPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OkFkQ2xp
Y2tBdHRyaWJ1dGlvbjo6RGVzdGluYXRpb24+IHsKICAgICBzdGF0aWMgV2ViQ29yZTo6QWRDbGlj
a0F0dHJpYnV0aW9uOjpEZXN0aW5hdGlvbiBlbXB0eVZhbHVlKCkgeyByZXR1cm4geyB9OyB9CiAg
ICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFdlYkNvcmU6OkFkQ2xpY2tBdHRy
aWJ1dGlvbjo6RGVzdGluYXRpb24mIHNsb3QpIHsgV2ViQ29yZTo6QWRDbGlja0F0dHJpYnV0aW9u
OjpEZXN0aW5hdGlvbjo6Y29uc3RydWN0RGVsZXRlZFZhbHVlKHNsb3QpOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0LmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0LmgKaW5kZXgg
MmE1NjZkMTdhYzk3MTEwOGMxMTk3OGE3N2U0YzNlZjdhYWMzM2Y0YS4uYTE3NjhjZTc2MjZhNGE0
YWVlNmNlMDQyMTA3NzQ4ZDA4Njg1ZmM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QuaApAQCAtODEsMTcgKzgxLDE1IEBAIFJl
c291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdCBjcnlwdG9ncmFwaGljRGlnZXN0Rm9yQnl0ZXMoUmVz
b3VyY2VDcnlwdG9ncmFwaGljRGlnCiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0PiB7Ci0g
ICAgc3RydWN0IEhhc2ggewotICAgICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QmIGRpZ2VzdCkKLSAgICAgICAgewotICAg
ICAgICAgICAgcmV0dXJuIHBhaXJJbnRIYXNoKGludEhhc2goc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KGRpZ2VzdC5hbGdvcml0aG0pKSwgU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaChkaWdlc3QudmFs
dWUuZGF0YSgpLCBkaWdlc3QudmFsdWUuc2l6ZSgpKSk7Ci0gICAgICAgIH0KLSAgICAgICAgc3Rh
dGljIGJvb2wgZXF1YWwoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0
JiBhLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QmIGIpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhID09IGI7Ci0gICAgICAgIH0KLSAgICAgICAgc3Rh
dGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwotICAg
IH07CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VDcnlw
dG9ncmFwaGljRGlnZXN0JiBkaWdlc3QpCisgICAgeworICAgICAgICByZXR1cm4gcGFpckludEhh
c2goaW50SGFzaChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGlnZXN0LmFsZ29yaXRobSkpLCBTdHJp
bmdIYXNoZXI6OmNvbXB1dGVIYXNoKGRpZ2VzdC52YWx1ZS5kYXRhKCksIGRpZ2VzdC52YWx1ZS5z
aXplKCkpKTsKKyAgICB9CisgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0JiBhLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUNyeXB0
b2dyYXBoaWNEaWdlc3QmIGIpCisgICAgeworICAgICAgICByZXR1cm4gYSA9PSBiOworICAgIH0K
KyAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRy
dWU7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OlJlc291cmNl
Q3J5cHRvZ3JhcGhpY0RpZ2VzdD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpSZXNvdXJj
ZUNyeXB0b2dyYXBoaWNEaWdlc3Q+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2xpZW50T3JpZ2luLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NsaWVudE9yaWdpbi5oCmluZGV4
IDJhZmI5OWNkYjRjMjg4YmIyNjk3MTE3MDJjOTk0ODUxZjUzZDczY2QuLmU1NGVkNzVlYTgwMGIw
M2EyN2EwZTUyYzBhODA4MjBmZTEzMWY2MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2xpZW50T3JpZ2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DbGllbnRPcmlnaW4u
aApAQCAtMTA2LDggKzEwNiw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29y
ZTo6Q2xpZW50T3JpZ2luPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6CiAgICAgc3RhdGlj
IGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBzbG90KSB7
IHJldHVybiBzbG90LnRvcE9yaWdpbi5pc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpOyB9CiB9Owog
Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpDbGllbnRPcmlnaW4+IHsK
LSAgICB0eXBlZGVmIENsaWVudE9yaWdpbktleUhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpDbGllbnRPcmlnaW4+IDogQ2xpZW50T3JpZ2luS2V5
SGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9HbG9iYWxXaW5kb3dJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ds
b2JhbFdpbmRvd0lkZW50aWZpZXIuaAppbmRleCA4YzQ2NGQ2MDRjZmZmNWU0Y2I4ZTI1YTgwMTM0
YzIzMWMxNzk0Y2Q3Li41YTFkNzIzZmRjMGM3ZTA4N2Y0OWZlNWRkNjg3MGUzYTFjNzA5MDFjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dsb2JhbFdpbmRvd0lkZW50aWZpZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dsb2JhbFdpbmRvd0lkZW50aWZpZXIuaApAQCAtOTgs
OCArOTgsNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6Okdsb2JhbFdp
bmRvd0lkZW50aWZpZXI+IDogR2VuZXJpY0hhc2hUcmFpdAogICAgIHN0YXRpYyBib29sIGlzRGVs
ZXRlZFZhbHVlKGNvbnN0IFdlYkNvcmU6Okdsb2JhbFdpbmRvd0lkZW50aWZpZXImIHNsb3QpIHsg
cmV0dXJuIHNsb3Qud2luZG93SWRlbnRpZmllci50b1VJbnQ2NCgpID09IHN0ZDo6bnVtZXJpY19s
aW1pdHM8dWludDY0X3Q+OjptYXgoKTsgfQogfTsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVs
dEhhc2g8V2ViQ29yZTo6R2xvYmFsV2luZG93SWRlbnRpZmllcj4gewotICAgIHR5cGVkZWYgR2xv
YmFsV2luZG93SWRlbnRpZmllckhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZh
dWx0SGFzaDxXZWJDb3JlOjpHbG9iYWxXaW5kb3dJZGVudGlmaWVyPiA6IEdsb2JhbFdpbmRvd0lk
ZW50aWZpZXJIYXNoIHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZWN1cml0eU9yaWdpbkRhdGEuaAppbmRleCA2ODY1YTRmOTdlNmM4NjlmYzViOWU5N2M2ODgy
ZDJlYTBhN2Y1MjQ1Li4wZjY2MjYyYTYwY2ZiNzk0NTEyZjlmNWVmZjI4YTcwY2VmNDJlNmY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luRGF0YS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW5EYXRhLmgKQEAgLTE1Miw4ICsxNTIs
NiBAQCBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhSGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAog
dGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+
IDogV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhSGFzaFRyYWl0cyB7IH07Ci10ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IHsKLSAgICB0
eXBlZGVmIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YUhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IDogV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhSGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbkhhc2guaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW5IYXNoLmgKaW5kZXggZjlhNTJmYTFmNDEz
YTcxMmQ4YWVlODk1ODE4ZjhmMzUxYWU5M2U3YS4uNGUzMjA5N2ZkOTFmYTczMDI2OWM5NTFjNDYw
YWEzMDBkY2E5NzI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9y
aWdpbkhhc2guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luSGFzaC5o
CkBAIC03NCwxMCArNzQsOCBAQCBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5IYXNoIHsKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogbmFtZXNwYWNlIFdURiB7Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWU+
IHN0cnVjdCBEZWZhdWx0SGFzaDsKIAotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+IHsKLSAgICAgICAgdHlwZWRlZiBXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbkhhc2ggSGFzaDsKLSAgICB9OwordGVtcGxhdGU8dHlwZW5hbWU+
IHN0cnVjdCBEZWZhdWx0SGFzaDsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFJlZlB0
cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+IDogV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5IYXNo
IHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Db29raWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tpZS5oCmluZGV4
IDYyYmE2YzdmZWVlNjRmN2Y2MmExMGQ1MGY0NjZmMWY4Y2FhNzUxY2QuLjk4NDM1OWM4OGVkOTE1
MTYxZjIyMTgyOTI3ZGU1MzIyOThkNzA5NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0Nvb2tpZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tpZS5oCkBA
IC0xNzAsOSArMTcwLDcgQEAgT3B0aW9uYWw8Q29va2llPiBDb29raWU6OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyKQogCiBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgRGVmYXVsdEhhc2g7Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2Vi
Q29yZTo6Q29va2llPiB7Ci0gICAgICAgIHR5cGVkZWYgV2ViQ29yZTo6Q29va2llSGFzaCBIYXNo
OwotICAgIH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6Q29v
a2llPiA6IFdlYkNvcmU6OkNvb2tpZUhhc2ggeyB9OwogICAgIHRlbXBsYXRlPD4gc3RydWN0IEhh
c2hUcmFpdHM8V2ViQ29yZTo6Q29va2llPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OkNv
b2tpZT4gewogICAgICAgICBzdGF0aWMgV2ViQ29yZTo6Q29va2llIGVtcHR5VmFsdWUoKSB7IHJl
dHVybiB7IH07IH0KICAgICAgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFdl
YkNvcmU6OkNvb2tpZSYgc2xvdCkgeyBzbG90ID0gV2ViQ29yZTo6Q29va2llKFdURjo6SGFzaFRh
YmxlRGVsZXRlZFZhbHVlKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UmVnaXN0cmFibGVEb21haW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1JlZ2lzdHJhYmxl
RG9tYWluLmgKaW5kZXggODQyMzUxNTE3MThhZTY2NTgzN2Q0NTU5Yzc4OGUxNzhmYWQxODVjMy4u
NDAyZmJkYWYzNjE3NmJjZmI5OGQwYTQ4NmUwZDk5ZmI1ZmZkNzdjZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVnaXN0cmFibGVEb21haW4uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9SZWdpc3RyYWJsZURvbWFpbi5oCkBAIC0xNjIsOCArMTYyLDYgQEAgaW5s
aW5lIGJvb2wgYXJlUmVnaXN0cmFibGVEb21haW5zRXF1YWwoY29uc3QgVVJMJiBhLCBjb25zdCBV
UkwmIGIpCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIG5hbWVzcGFjZSBXVEYgewotdGVtcGxh
dGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+IHsKLSAg
ICB1c2luZyBIYXNoID0gV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW46OlJlZ2lzdHJhYmxlRG9t
YWluSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpSZWdp
c3RyYWJsZURvbWFpbj4gOiBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbjo6UmVnaXN0cmFibGVE
b21haW5IYXNoIHsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6UmVn
aXN0cmFibGVEb21haW4+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPFdlYkNvcmU6OlJlZ2lzdHJh
YmxlRG9tYWluPiB7IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Db2xvckhhc2guaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nv
bG9ySGFzaC5oCmluZGV4IGYwODExOTM1MWQwODRjYmJlNDBmOTI5MDg1MTk4MGIzNjhiZWM0YzQu
LjNkMmM5YzU1MzZmYmUxODM1MzNhZjg4MWUwZDFjZjBhNDNkODgyZTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9ySGFzaC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9ySGFzaC5oCkBAIC0zNiw5ICszNiw3IEBAIHN0
cnVjdCBDb2xvckhhc2ggewogICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0Vt
cHR5T3JEZWxldGVkID0gdHJ1ZTsKIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PFdlYkNvcmU6OkNvbG9yPiB7Ci0gICAgdXNpbmcgSGFzaCA9IENvbG9ySGFzaDsKLX07Cit0ZW1w
bGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpDb2xvcj4gOiBDb2xvckhhc2ggeyB9
OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkNvbG9yPiA6IEdlbmVy
aWNIYXNoVHJhaXRzPFdlYkNvcmU6OkNvbG9yPiB7CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1w
dHlWYWx1ZUlzWmVybyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRTaXplSGFzaC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRmxvYXRTaXplSGFzaC5oCmluZGV4IGY1MzJkMzEyMzZiNGNkOGQzZWQ5NmRiNTczMzVi
YmM3MGNkYTQxODMuLjIxNjEzY2IxNDczMzUzYzZkNWUyZTUwNjg1YzJkYzg0YTYwNjVkMTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZUhhc2gu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemVIYXNoLmgK
QEAgLTMyLDE0ICszMiwxMiBAQAogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPD4gc3RydWN0
IEZsb2F0SGFzaDxXZWJDb3JlOjpGbG9hdFNpemU+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGFz
aChjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIGtleSkgeyByZXR1cm4gcGFpckludEhhc2goRGVm
YXVsdEhhc2g8ZmxvYXQ+OjpIYXNoOjpoYXNoKGtleS53aWR0aCgpKSwgRGVmYXVsdEhhc2g8Zmxv
YXQ+OjpIYXNoOjpoYXNoKGtleS5oZWlnaHQoKSkpOyB9CisgICAgc3RhdGljIHVuc2lnbmVkIGhh
c2goY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBrZXkpIHsgcmV0dXJuIHBhaXJJbnRIYXNoKERl
ZmF1bHRIYXNoPGZsb2F0Pjo6aGFzaChrZXkud2lkdGgoKSksIERlZmF1bHRIYXNoPGZsb2F0Pjo6
aGFzaChrZXkuaGVpZ2h0KCkpKTsgfQogICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFdlYkNv
cmU6OkZsb2F0U2l6ZSYgYSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBiKSB7IHJldHVybiBh
ID09IGI7IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVs
ZXRlZCA9IHRydWU7CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3Jl
OjpGbG9hdFNpemU+IHsKLSAgICB0eXBlZGVmIEZsb2F0SGFzaDxXZWJDb3JlOjpGbG9hdFNpemU+
IEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6RmxvYXRT
aXplPiA6IEZsb2F0SGFzaDxXZWJDb3JlOjpGbG9hdFNpemU+IHsgfTsKIAogdGVtcGxhdGU8PiBz
dHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpGbG9hdFNpemU+IDogR2VuZXJpY0hhc2hUcmFpdHM8
V2ViQ29yZTo6RmxvYXRTaXplPiB7CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlz
WmVybyA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250R2VuZXJpY0ZhbWlsaWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250R2VuZXJpY0ZhbWlsaWVzLmgKaW5kZXggNjg1ODY4ZGRhNTI3ZmQ4YTBkMDZmMWRjZGVh
NWJmNGExYjBmZGFkMi4uZjEyNGJiODZkMzRlMjY5NTFkMjBlZTlkYjMwNjNhODY3YTkyYTRmYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdlbmVyaWNG
YW1pbGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5l
cmljRmFtaWxpZXMuaApAQCAtNDIsNyArNDIsNyBAQCBzdHJ1Y3QgVVNjcmlwdENvZGVIYXNoVHJh
aXRzIDogV1RGOjpHZW5lcmljSGFzaFRyYWl0czxpbnQ+IHsKICAgICBzdGF0aWMgYm9vbCBpc0Rl
bGV0ZWRWYWx1ZShpbnQgdmFsdWUpIHsgcmV0dXJuIHZhbHVlID09IC0zOyB9CiB9OwogCi10eXBl
ZGVmIEhhc2hNYXA8aW50LCBBdG9tU3RyaW5nLCBEZWZhdWx0SGFzaDxpbnQ+OjpIYXNoLCBVU2Ny
aXB0Q29kZUhhc2hUcmFpdHM+IFNjcmlwdEZvbnRGYW1pbHlNYXA7Cit0eXBlZGVmIEhhc2hNYXA8
aW50LCBBdG9tU3RyaW5nLCBEZWZhdWx0SGFzaDxpbnQ+LCBVU2NyaXB0Q29kZUhhc2hUcmFpdHM+
IFNjcmlwdEZvbnRGYW1pbHlNYXA7CiAKIGNsYXNzIEZvbnRHZW5lcmljRmFtaWxpZXMgewogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW50UG9pbnRIYXNoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbnRQb2ludEhhc2guaAppbmRleCBhN2FlM2FkOWJiYWViMDMyMWZjZDM0YTY4NmI5
NjI3NTU5ZGMwMGViLi45NzEyODJjNzQyNzZiZjNhYjdkNDcxMmIwNzBmMWNkMjQyZjdlNjRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludEhhc2gu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludEhhc2guaApA
QCAtMzgsOSArMzgsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6Oklu
dFBvaW50PiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OkludAogICAgIHN0YXRpYyB2b2lk
IGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShXZWJDb3JlOjpJbnRQb2ludCYgc2xvdCkgeyBzbG90ID0g
V2ViQ29yZTo6SW50UG9pbnQoc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKSwgMCk7IH0K
ICAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYg
c2xvdCkgeyByZXR1cm4gc2xvdCA9PSBXZWJDb3JlOjpJbnRQb2ludChzdGQ6Om51bWVyaWNfbGlt
aXRzPGludD46Om1pbigpLCAwKTsgfQogfTsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PFdlYkNvcmU6OkludFBvaW50PiB7Ci0gICAgdHlwZWRlZiBJbnRQb2ludEhhc2ggSGFzaDsKLX07
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRQb2ludD4gOiBJbnRQ
b2ludEhhc2ggeyB9OwogCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ludFJlY3RIYXNoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbnRSZWN0SGFzaC5oCmluZGV4IDlkOTBkYTcyYTdiOTYwODViMTI2NmRjOTkxMTAwMzZkZDQ5
ZWE4NGUuLjg3Y2I2OTJhMjhlYjM5NzQ4ODI4NzYzMjlhOWNmZTgwODc4YTZkYzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3RIYXNoLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdEhhc2guaApAQCAtMzYsMTUg
KzM2LDE1IEBAIG5hbWVzcGFjZSBXVEYgewogdGVtcGxhdGU8PiBzdHJ1Y3QgSW50SGFzaDxXZWJD
b3JlOjpJbnRSZWN0PiB7CiAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYga2V5KQogICAgIHsKLSAgICAgICAgcmV0dXJuIHBhaXJJbnRIYXNoKERlZmF1bHRI
YXNoPFdlYkNvcmU6OkludFBvaW50Pjo6SGFzaDo6aGFzaChrZXkubG9jYXRpb24oKSksIERlZmF1
bHRIYXNoPFdlYkNvcmU6OkludFNpemU+OjpIYXNoOjpoYXNoKGtleS5zaXplKCkpKTsKKyAgICAg
ICAgcmV0dXJuIHBhaXJJbnRIYXNoKERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFBvaW50Pjo6aGFz
aChrZXkubG9jYXRpb24oKSksIERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFNpemU+OjpoYXNoKGtl
eS5zaXplKCkpKTsKICAgICB9CiAgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgYSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgYikKICAgICB7Ci0gICAgICAgIHJl
dHVybiBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRQb2ludD46Okhhc2g6OmVxdWFsKGEubG9jYXRp
b24oKSwgYi5sb2NhdGlvbigpKSAmJiBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRTaXplPjo6SGFz
aDo6ZXF1YWwoYS5zaXplKCksIGIuc2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNo
PFdlYkNvcmU6OkludFBvaW50Pjo6ZXF1YWwoYS5sb2NhdGlvbigpLCBiLmxvY2F0aW9uKCkpICYm
IERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFNpemU+OjplcXVhbChhLnNpemUoKSwgYi5zaXplKCkp
OwogICAgIH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVs
ZXRlZCA9IHRydWU7CiB9OwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6
SW50UmVjdD4geyB0eXBlZGVmIEludEhhc2g8V2ViQ29yZTo6SW50UmVjdD4gSGFzaDsgfTsKK3Rl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFJlY3Q+IDogSW50SGFzaDxX
ZWJDb3JlOjpJbnRSZWN0PiB7IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2Vi
Q29yZTo6SW50UmVjdD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpJbnRSZWN0PiB7CiAg
ICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IHRydWU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplSGFzaC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZUhhc2guaAppbmRleCA3OWY0ZThhYmY2
ZWExOWI0NDdhZDA5NWU0NmJiMTlhZWQ1MGY3MmU0Li5kM2VkMWFjMjQ5ZmNjZGU2MDRmZDE4M2Ri
M2FiODkzOWFmMDM0ZDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbnRTaXplSGFzaC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ludFNpemVIYXNoLmgKQEAgLTMwLDcgKzMwLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAg
IHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGEsIGNvbnN0IFdlYkNv
cmU6OkludFNpemUmIGIpIHsgcmV0dXJuIGEgPT0gYjsgfQogICAgICAgICBzdGF0aWMgY29uc3Qg
Ym9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7CiAgICAgfTsKLSAgICB0
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRTaXplPiB7IHR5cGVkZWYg
SW50SGFzaDxXZWJDb3JlOjpJbnRTaXplPiBIYXNoOyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFNpemU+IDogSW50SGFzaDxXZWJDb3JlOjpJbnRTaXpl
PiB7IH07CiAgICAgCiAgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpJ
bnRTaXplPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OkludFNpemU+IHsKICAgICAgICAg
c3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IHRydWU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aENhY2hlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aENhY2hlLmgKaW5kZXggZThkNzJlMDk2Yjk0MmVh
NTFlYTAwNWEyZmEyYTYxZjEwNzYwZDcyZS4uNTJhN2IwODY2Y2QwNzBkMmRkZTg4NGU0NzI4ZWIz
NGQ4NTNhODczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
V2lkdGhDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRo
Q2FjaGUuaApAQCAtMjEwLDcgKzIxMCw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgdHlwZWRl
ZiBIYXNoTWFwPFNtYWxsU3RyaW5nS2V5LCBmbG9hdCwgU21hbGxTdHJpbmdLZXlIYXNoLCBTbWFs
bFN0cmluZ0tleUhhc2hUcmFpdHM+IE1hcDsKLSAgICB0eXBlZGVmIEhhc2hNYXA8dWludDMyX3Qs
IGZsb2F0LCBEZWZhdWx0SGFzaDx1aW50MzJfdD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVy
b0tleUhhc2hUcmFpdHM8dWludDMyX3Q+PiBTaW5nbGVDaGFyTWFwOworICAgIHR5cGVkZWYgSGFz
aE1hcDx1aW50MzJfdCwgZmxvYXQsIERlZmF1bHRIYXNoPHVpbnQzMl90PiwgV1RGOjpVbnNpZ25l
ZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+IFNpbmdsZUNoYXJNYXA7CiAgICAgc3Rh
dGljIGNvbnN0IGludCBzX21pbkludGVydmFsID0gLTM7IC8vIEEgY2FjaGUgaGl0IHBheXMgZm9y
IGFib3V0IDMgY2FjaGUgbWlzc2VzLgogICAgIHN0YXRpYyBjb25zdCBpbnQgc19tYXhJbnRlcnZh
bCA9IDIwOyAvLyBTYW1wbGluZyBhdCB0aGlzIGludGVydmFsIGhhcyBhbG1vc3Qgbm8gb3Zlcmhl
YWQuCiAgICAgc3RhdGljIGNvbnN0IGludCBzX21heFNpemUgPSA1MDAwMDA7IC8vIEp1c3QgZW5v
dWdoIHRvIGd1YXJkIGFnYWluc3QgcGF0aG9sb2dpY2FsIGdyb3d0aC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNoZUZyZWVUeXBl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNo
ZUZyZWVUeXBlLmNwcAppbmRleCA3M2VhZGVkMjRlZjExNDJiYmM2ZmFlN2I1NmU1ZGRmNDQ3MWE5
Zjg0Li5mMDI3ZWVkMzE3MTQ0NGJjMzZhNDM0NDc2M2I3M2UxMmRiMmEwMjY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVl
VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUv
Rm9udENhY2hlRnJlZVR5cGUuY3BwCkBAIC0yMjIsNyArMjIyLDcgQEAgc3RydWN0IEZhbGxiYWNr
Rm9udERlc2NyaXB0aW9uS2V5IHsKIAogICAgIHVuc2lnbmVkIGNvbXB1dGVIYXNoKCkgY29uc3QK
ICAgICB7Ci0gICAgICAgIHJldHVybiBXVEY6OnBhaXJJbnRIYXNoKGRlc2NyaXB0aW9uS2V5LmNv
bXB1dGVIYXNoKCksIFdURjo6RGVmYXVsdEhhc2g8Ym9vbD46Okhhc2g6Omhhc2goY29sb3JlZEZv
bnQpKTsKKyAgICAgICAgcmV0dXJuIFdURjo6cGFpckludEhhc2goZGVzY3JpcHRpb25LZXkuY29t
cHV0ZUhhc2goKSwgV1RGOjpEZWZhdWx0SGFzaDxib29sPjo6aGFzaChjb2xvcmVkRm9udCkpOwog
ICAgIH0KIAogICAgIEZvbnREZXNjcmlwdGlvbktleSBkZXNjcmlwdGlvbktleTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaAppbmRleCBmZjBhZjgzNTUz
NGZmYjQwY2ZlOTA2ZTc3NDVjYzc4MzU0MjY3ZGM4Li5lNTViNDhiODAxZDJjNTFlMDVhNzE2MjY3
MzM0ZTNiODI4OGMwNWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0hUVFBQYXJzZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9I
VFRQUGFyc2Vycy5oCkBAIC0xNTUsNyArMTU1LDcgQEAgYm9vbCBhZGRUb0FjY2Vzc0NvbnRyb2xB
bGxvd0xpc3QoY29uc3QgU3RyaW5nJiBzdHJpbmcsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZAog
ICAgIHJldHVybiB0cnVlOwogfQogCi10ZW1wbGF0ZTxjbGFzcyBIYXNoVHlwZSA9IERlZmF1bHRI
YXNoPFN0cmluZz46Okhhc2g+Cit0ZW1wbGF0ZTxjbGFzcyBIYXNoVHlwZSA9IERlZmF1bHRIYXNo
PFN0cmluZz4+CiBPcHRpb25hbDxIYXNoU2V0PFN0cmluZywgSGFzaFR5cGU+PiBwYXJzZUFjY2Vz
c0NvbnRyb2xBbGxvd0xpc3QoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgSGFzaFNldDxT
dHJpbmcsIEhhc2hUeXBlPiBzZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZUhhc2guaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUHJvdGVjdGlvblNwYWNlSGFzaC5oCmluZGV4IGU4NDMzMzU3ZjJhZmRiNjYyNDMx
ZmU1YTZkODBkYjZhNDQzMDk1NTcuLmQ1OWMyZjE5M2ZhZDE2OWU5ODQyOGU3MjkwNDZlMTk1ZmRk
OGMxNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUHJvdGVj
dGlvblNwYWNlSGFzaC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUHJv
dGVjdGlvblNwYWNlSGFzaC5oCkBAIC01NywxMSArNTcsOCBAQCBzdHJ1Y3QgUHJvdGVjdGlvblNw
YWNlSGFzaCB7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFz
aFRyYWl0czxXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2U+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRz
PFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZT4geyB9OwotCi0gICAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8V2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlPiB7Ci0gICAgICAgIHVzaW5nIEhh
c2ggPSBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2VIYXNoOwotICAgIH07Cit0ZW1wbGF0ZTw+IHN0
cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZT4gOiBTaW1wbGVDbGFzc0hh
c2hUcmFpdHM8V2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlPiB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2U+IDogV2ViQ29yZTo6UHJvdGVj
dGlvblNwYWNlSGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ09NUHRyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vQ09NUHRyLmgKaW5kZXggMzcxMzE2ZTJjOTM4ZDI1ZDYzYjk4OTI4ZWI1N2VkMTUy
NmUzY2NjZi4uNzY1MWJmOTNkYWQ1YmMyMGUzY2EwN2IyMDJmYWYyYTg4MTI3Yzc1NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NPTVB0ci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9DT01QdHIuaApAQCAtMjU1LDkgKzI1NSw3IEBAIHRlbXBsYXRl
PHR5cGVuYW1lIFA+IHN0cnVjdCBIYXNoVHJhaXRzPENPTVB0cjxQPiA+IDogU2ltcGxlQ2xhc3NI
YXNoVHJhaXRzPENPTVB0CiAgICAgc3RhdGljIFBlZWtUeXBlIHBlZWsoUCogdmFsdWUpIHsgcmV0
dXJuIHZhbHVlOyB9CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8Q09NUHRyPFA+PiB7Ci0gICAgdHlwZWRlZiBQdHJIYXNoPENPTVB0cjxQPj4gSGFzaDsKLX07
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8Q09NUHRyPFA+PiA6IFB0
ckhhc2g8Q09NUHRyPFA+PiB7IH07CiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vd2luL1dpbmRvd3NLZXlOYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luL1dpbmRvd3NLZXlOYW1lcy5oCmluZGV4IDBmZGZlYzA4N2ExYjI0ZTY2ZjJhODQzM2VhMWY5
MTk5Mjg1MWFlNzEuLjkwYzYyNDRmOGM3ZWE4MWZlOGVhNGM1OGQ1Y2MwM2VjMDc1YjY1MmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dzS2V5TmFtZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93c0tleU5hbWVzLmgKQEAgLTU0
LDcgKzU0LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faGFzQWx0R3JhcGggPSBmYWxzZTsKIAog
ICAgIHVzaW5nIFZpcnR1YWxLZXlNb2RpZmllclNldFBhaXIgPSBzdGQ6OnBhaXI8dW5zaWduZWQs
IEtleU1vZGlmaWVyU2V0PjsKLSAgICB1c2luZyBWaXJ0dWFsS2V5VG9LZXlNYXAgPSBIYXNoTWFw
PFZpcnR1YWxLZXlNb2RpZmllclNldFBhaXIsIFN0cmluZywgRGVmYXVsdEhhc2g8VmlydHVhbEtl
eU1vZGlmaWVyU2V0UGFpcj46Okhhc2gsIFBhaXJIYXNoVHJhaXRzPFdURjo6VW5zaWduZWRXaXRo
WmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+LCBIYXNoVHJhaXRzPEtleU1vZGlmaWVyU2V0Pj4+
OworICAgIHVzaW5nIFZpcnR1YWxLZXlUb0tleU1hcCA9IEhhc2hNYXA8VmlydHVhbEtleU1vZGlm
aWVyU2V0UGFpciwgU3RyaW5nLCBEZWZhdWx0SGFzaDxWaXJ0dWFsS2V5TW9kaWZpZXJTZXRQYWly
PiwgUGFpckhhc2hUcmFpdHM8V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNp
Z25lZD4sIEhhc2hUcmFpdHM8S2V5TW9kaWZpZXJTZXQ+Pj47CiAgICAgVmlydHVhbEtleVRvS2V5
TWFwIG1fcHJpbnRhYmxlS2V5Q29kZVRvS2V5OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0NTU1ZhbHVlS2V5LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
Q1NTVmFsdWVLZXkuaAppbmRleCBhZjhjYWI3MWY3YzE4MzMyNGY1MDJkYTYyMDg5ZDA1N2U3OWI4
OTMwLi5jYjJlODNkZDI3YWY1NDhkMTU2ZGY2NTgyY2M5YzFjNDA5MTc3NmJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ1NTVmFsdWVLZXkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvQ1NTVmFsdWVLZXkuaApAQCAtOTMsOCArOTMsNiBAQCB0ZW1wbGF0ZTw+
IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkNTU1ZhbHVlS2V5PiA6IEdlbmVyaWNIYXNoVHJh
aXRzPFdlYkNvcmU6OgogICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFdlYkNv
cmU6OkNTU1ZhbHVlS2V5JiBzbG90KSB7IHJldHVybiBzbG90LmNzc1ZhbHVlSUQgPT0gV2ViQ29y
ZTo6Q1NTVmFsdWVJbnZhbGlkICYmIHNsb3QudXNlRGFya0FwcGVhcmFuY2UgJiYgc2xvdC51c2VF
bGV2YXRlZFVzZXJJbnRlcmZhY2VMZXZlbDsgfQogfTsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8V2ViQ29yZTo6Q1NTVmFsdWVLZXk+IHsKLSAgICB0eXBlZGVmIENTU1ZhbHVlS2V5
SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkNT
U1ZhbHVlS2V5PiA6IENTU1ZhbHVlS2V5SGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVudC5oCmlu
ZGV4IDM4YzA0ODhlNDgyYTM1N2U3YTVmYjgyOTk3YTM5MzQwYjFiMmMwZjYuLjU4ZTNmYzZiYzFi
ZWY4YTNhOGY3YzQzNmViYzRiY2VmY2Q0ZjQ5ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9HcmlkQmFzZWxpbmVBbGlnbm1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvR3JpZEJhc2VsaW5lQWxpZ25tZW50LmgKQEAgLTE2Myw3ICsxNjMsNyBAQCBwcml2
YXRlOgogICAgIGJvb2wgaXNPcnRob2dvbmFsQ2hpbGRGb3JCYXNlbGluZShjb25zdCBSZW5kZXJC
b3gmKSBjb25zdDsKICAgICBib29sIGlzUGFyYWxsZWxUb0Jhc2VsaW5lQXhpc0ZvckNoaWxkKGNv
bnN0IFJlbmRlckJveCYsIEdyaWRBeGlzKSBjb25zdDsKIAotICAgIHR5cGVkZWYgSGFzaE1hcDx1
bnNpZ25lZCwgc3RkOjp1bmlxdWVfcHRyPEJhc2VsaW5lQ29udGV4dD4sIERlZmF1bHRIYXNoPHVu
c2lnbmVkPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25l
ZD4+IEJhc2VsaW5lQ29udGV4dHNNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPHVuc2lnbmVkLCBz
dGQ6OnVuaXF1ZV9wdHI8QmFzZWxpbmVDb250ZXh0PiwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBX
VEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gQmFzZWxpbmVDb250
ZXh0c01hcDsKIAogICAgIC8vIEdyaWQgQ29udGFpbmVyJ3MgV3JpdGluZ01vZGUsIHVzZWQgdG8g
ZGV0ZXJtaW5lIGdyaWQgaXRlbSdzIG9ydGhvZ29uYWxpdHkuCiAgICAgV3JpdGluZ01vZGUgbV9i
bG9ja0Zsb3c7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNr
U2l6aW5nQWxnb3JpdGhtLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6
aW5nQWxnb3JpdGhtLmgKaW5kZXggOWY0NGY2MGZkMDExOTYyZGI2NTg2NDNjZTZlYjNmNTJiYTYy
YTA3Zi4uMWQwZDZmYzA2NjQyNDFhYmE0NDRlMzYxZWFhNWU0NWNhM2NiOTAzZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaApA
QCAtMTcxLDcgKzE3MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb21wdXRlR3JpZENvbnRhaW5l
ckludHJpbnNpY1NpemVzKCk7CiAKICAgICAvLyBIZWxwZXIgbWV0aG9kcyBmb3Igc3RlcCA0LiBT
dHJlY2ggZmxleGlibGUgdHJhY2tzLgotICAgIHR5cGVkZWYgSGFzaFNldDx1bnNpZ25lZCwgRGVm
YXVsdEhhc2g8dW5zaWduZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJh
aXRzPHVuc2lnbmVkPj4gVHJhY2tJbmRleFNldDsKKyAgICB0eXBlZGVmIEhhc2hTZXQ8dW5zaWdu
ZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRy
YWl0czx1bnNpZ25lZD4+IFRyYWNrSW5kZXhTZXQ7CiAgICAgZG91YmxlIGNvbXB1dGVGbGV4RmFj
dG9yVW5pdFNpemUoY29uc3QgVmVjdG9yPEdyaWRUcmFjaz4mIHRyYWNrcywgZG91YmxlIGZsZXhG
YWN0b3JTdW0sIExheW91dFVuaXQmIGxlZnRPdmVyU3BhY2UsIGNvbnN0IFZlY3Rvcjx1bnNpZ25l
ZCwgOD4mIGZsZXhpYmxlVHJhY2tzSW5kZXhlcywgc3RkOjp1bmlxdWVfcHRyPFRyYWNrSW5kZXhT
ZXQ+IHRyYWNrc1RvVHJlYXRBc0luZmxleGlibGUgPSBudWxscHRyKSBjb25zdDsKICAgICB2b2lk
IGNvbXB1dGVGbGV4U2l6ZWRUcmFja3NHcm93dGgoZG91YmxlIGZsZXhGcmFjdGlvbiwgVmVjdG9y
PExheW91dFVuaXQ+JiBpbmNyZW1lbnRzLCBMYXlvdXRVbml0JiB0b3RhbEdyb3d0aCkgY29uc3Q7
CiAgICAgZG91YmxlIGZpbmRGclVuaXRTaXplKGNvbnN0IEdyaWRTcGFuJiB0cmFja3NTcGFuLCBM
YXlvdXRVbml0IGxlZnRPdmVyU3BhY2UpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuY3BwCmluZGV4IGFiNGU4MGVmNTlhMTQxZWM2ZDM4NTAyMzhiMzdlMGE2NGU4M2Ji
Y2YuLjlmZDg1ZjI4ZWEzOGY1ZGU2NzA3NTI0MzZjYjc3M2UyNDg1MjNmY2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTc0Myw3ICs3NDMsNyBAQCB2b2lkIFJl
bmRlckdyaWQ6OnBsYWNlU3BlY2lmaWVkTWFqb3JBeGlzSXRlbXNPbkdyaWQoR3JpZCYgZ3JpZCwg
Y29uc3QgVmVjdG9yPFJlbgogICAgIC8vIE1hcHBpbmcgYmV0d2VlbiB0aGUgbWFqb3IgYXhpcyB0
cmFja3MgKHJvd3Mgb3IgY29sdW1ucykgYW5kIHRoZSBsYXN0IGF1dG8tcGxhY2VkIGl0ZW0ncyBw
b3NpdGlvbiBpbnNlcnRlZCBvbgogICAgIC8vIHRoYXQgdHJhY2suIFRoaXMgaXMgbmVlZGVkIHRv
IGltcGxlbWVudCAic3BhcnNlIiBwYWNraW5nIGZvciBpdGVtcyBsb2NrZWQgdG8gYSBnaXZlbiB0
cmFjay4KICAgICAvLyBTZWUgaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzLWdyaWQvI2F1dG8t
cGxhY2VtZW50LWFsZ29yaXRobQotICAgIEhhc2hNYXA8dW5zaWduZWQsIHVuc2lnbmVkLCBEZWZh
dWx0SGFzaDx1bnNpZ25lZD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFp
dHM8dW5zaWduZWQ+PiBtaW5vckF4aXNDdXJzb3JzOworICAgIEhhc2hNYXA8dW5zaWduZWQsIHVu
c2lnbmVkLCBEZWZhdWx0SGFzaDx1bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhh
c2hUcmFpdHM8dW5zaWduZWQ+PiBtaW5vckF4aXNDdXJzb3JzOwogCiAgICAgZm9yIChhdXRvJiBh
dXRvR3JpZEl0ZW0gOiBhdXRvR3JpZEl0ZW1zKSB7CiAgICAgICAgIEdyaWRTcGFuIG1ham9yQXhp
c1Bvc2l0aW9ucyA9IGdyaWQuZ3JpZEl0ZW1TcGFuKCphdXRvR3JpZEl0ZW0sIGF1dG9QbGFjZW1l
bnRNYWpvckF4aXNEaXJlY3Rpb24oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oCmluZGV4IGViN2I5MTMyMjdiNjVjNjI5ZmI4YzNiMmI3YzVjNzZlZTZmODdhNzUuLjVlNDhm
MDRmNjI5Yjg0MzM0ZmYwYzNlOGUyOTUwOTdiZWMwYjZjYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oCkBAIC00NTMsNyArNDUzLDcgQEAgcHJvdGVjdGVkOgogICAgIHZp
cnR1YWwgQ29sb3JDYWNoZSYgY29sb3JDYWNoZShPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9u
cz4pIGNvbnN0OwogCiBwcml2YXRlOgotICAgIG11dGFibGUgSGFzaE1hcDx1aW50OF90LCBDb2xv
ckNhY2hlLCBEZWZhdWx0SGFzaDx1aW50OF90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJv
S2V5SGFzaFRyYWl0czx1aW50OF90Pj4gbV9jb2xvckNhY2hlTWFwOworICAgIG11dGFibGUgSGFz
aE1hcDx1aW50OF90LCBDb2xvckNhY2hlLCBEZWZhdWx0SGFzaDx1aW50OF90PiwgV1RGOjpVbnNp
Z25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50OF90Pj4gbV9jb2xvckNhY2hlTWFwOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvUnVsZVNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcAppbmRleCBj
OWFmNGNmY2ZmMGNiY2IyMTYwYmZhYTRhZDE1YzI4ZGI0YjEzMzQ4Li42ZmZkYTkyMzAxZjRhZTYw
NzYxYjQ0NzljNjg1YWUzMTMwNDIzNWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9SdWxlU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcApAQCAt
NDIyLDcgKzQyMiw3IEBAIFJ1bGVTZXQ6OkNvbGxlY3RlZE1lZGlhUXVlcnlDaGFuZ2VzIFJ1bGVT
ZXQ6OmV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxlcyhjb25zCiB7CiAgICAgQ29sbGVjdGVk
TWVkaWFRdWVyeUNoYW5nZXMgY29sbGVjdGVkQ2hhbmdlczsKIAotICAgIEhhc2hNYXA8c2l6ZV90
LCBib29sLCBEZWZhdWx0SGFzaDxzaXplX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9L
ZXlIYXNoVHJhaXRzPHNpemVfdD4+IGFmZmVjdGVkUnVsZVBvc2l0aW9uc0FuZFJlc3VsdHM7Cisg
ICAgSGFzaE1hcDxzaXplX3QsIGJvb2wsIERlZmF1bHRIYXNoPHNpemVfdD4sIFdURjo6VW5zaWdu
ZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8c2l6ZV90Pj4gYWZmZWN0ZWRSdWxlUG9zaXRpb25zQW5k
UmVzdWx0czsKIAogICAgIGZvciAoc2l6ZV90IGkgPSBzdGFydEluZGV4OyBpIDwgbV9keW5hbWlj
TWVkaWFRdWVyeVJ1bGVzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIGF1dG8mIGR5bmFtaWNSdWxl
cyA9IG1fZHluYW1pY01lZGlhUXVlcnlSdWxlc1tpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCmlu
ZGV4IDNiMDQ5NDIxZDdmZGQ5ZDk1NTUyNDA3NDJmODNlY2M5MzMwMmIxMGYuLjIyOTkwZWQ5M2Iw
MTNlODdmMjAwNjc1MDhiYWYzNWJiZGNkNzdkN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaApA
QCAtMjIwLDcgKzIyMCw3IEBAIHN0cnVjdCBTVkdBdHRyaWJ1dGVIYXNoVHJhbnNsYXRvciB7CiAg
ICAgICAgICAgICBRdWFsaWZpZWROYW1lQ29tcG9uZW50cyBjb21wb25lbnRzID0geyBudWxsQXRv
bSgpLmltcGwoKSwga2V5LmxvY2FsTmFtZSgpLmltcGwoKSwga2V5Lm5hbWVzcGFjZVVSSSgpLmlt
cGwoKSB9OwogICAgICAgICAgICAgcmV0dXJuIGhhc2hDb21wb25lbnRzKGNvbXBvbmVudHMpOwog
ICAgICAgICB9Ci0gICAgICAgIHJldHVybiBEZWZhdWx0SGFzaDxRdWFsaWZpZWROYW1lPjo6SGFz
aDo6aGFzaChrZXkpOworICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8UXVhbGlmaWVkTmFtZT46
Omhhc2goa2V5KTsKICAgICB9CiAgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgUXVhbGlmaWVk
TmFtZSYgYSwgY29uc3QgUXVhbGlmaWVkTmFtZSYgYikgeyByZXR1cm4gYS5tYXRjaGVzKGIpOyB9
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDbGllbnRJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIuaAppbmRleCA2MDAzYTZkZDllNGI3OTFlNDAx
ODQ4NTNkMzUxNzVjMGI1NGJlYTFjLi42NDA5YTQxYzM4MmE4ZTU3N2M5NjAzNjRmYjY3ZTc4MTQ0
OWNiMWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNsaWVudElkZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIuaApAQCAtMTE3LDkgKzExNyw3IEBA
IHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVu
dElkZW50aWZpZXI+IDogR2VuZXJpY0hhCiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUo
Y29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXImIHNsb3QpIHsgcmV0
dXJuIHNsb3Quc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIudG9VSW50NjQoKSA9PSBzdGQ6Om51
bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCk7IH0KIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyPiB7Ci0g
ICAgdHlwZWRlZiBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllckhhc2ggSGFzaDsKLX07Cit0
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50
SWRlbnRpZmllcj4gOiBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllckhhc2ggeyB9OwogCiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uS2V5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oCmluZGV4IGQ0MjBiNmY5NWZjMWVjNmZiZTU1NzNi
YzVkZjVlYjVmNmJiMWFiZGEuLjI3OTEyMTIxODhiNjI0ZDA0ZTQ1ZGY5YmUzYTdjYjc3NTkzYjM4
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uS2V5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaApAQCAtMTEwLDkgKzExMCw3IEBAIHRlbXBs
YXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bktleT4gOiBHZW5lcmljSGFzCiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3Qg
V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYgc2xvdCkgeyByZXR1cm4gc2xv
dC5zY29wZSgpLmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCk7IH0KIH07CiAKLXRlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXk+
IHsKLSAgICB0eXBlZGVmIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXlIYXNoIEhhc2g7Ci19
OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbktleT4gOiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5SGFzaCB7IH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZElELmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZElELmgKaW5kZXggNDAyMzIwZjIyZDIzZTgwMjhiYWU1ODJj
ZmJjMmVlOTBhZWIxOGM2My4uNzQzNDEzMjgyNjc4MWYxZjQyZTU3ZGJkYjcxNjI4NzE5ZTgwYjY0
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93
bmxvYWRJRC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rv
d25sb2FkSUQuaApAQCAtOTAsOSArOTAsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRz
PFdlYktpdDo6RG93bmxvYWRJRD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJLaXQ6OkRvdwogICAg
IHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShXZWJLaXQ6OkRvd25sb2FkSUQmIHNs
b3QpIHsgc2xvdCA9IFdlYktpdDo6RG93bmxvYWRJRChzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2
NF90Pjo6bWF4KCkpOyB9CiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2Vi
S2l0OjpEb3dubG9hZElEJiBzbG90KSB7IHJldHVybiBzbG90LmRvd25sb2FkSUQoKSA9PSBzdGQ6
Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCk7IH0KIH07Ci10ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxXZWJLaXQ6OkRvd25sb2FkSUQ+IHsKLSAgICB0eXBlZGVmIERvd25sb2Fk
SURIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViS2l0OjpE
b3dubG9hZElEPiA6IERvd25sb2FkSURIYXNoIHsgfTsKIAogfQogI2VuZGlmIC8qIERvd25sb2Fk
SURfaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlLmgKaW5kZXggYjgyMzdiYTk0NmQ2ZjMzOTJjY2UzZDY2YmRjMjFhNGViYWI5ZjUyYy4u
ZTVjNjA1YzUxZjMyNzE1NjNhNmI2ZWUxOTEwYzk0ZWQwMTNmMzQ5MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCkBAIC05Miw5ICs5
Miw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViS2l0OjpOZXR3b3JrQ2FjaGU6
Okdsb2JhbEZyYW1lSUQ+IDogR2VuZXJpY0hhc2hUCiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVk
VmFsdWUoY29uc3QgV2ViS2l0OjpOZXR3b3JrQ2FjaGU6Okdsb2JhbEZyYW1lSUQmIHNsb3QpIHsg
cmV0dXJuIHNsb3Qud2ViUGFnZUlELnRvVUludDY0KCkgPT0gc3RkOjpudW1lcmljX2xpbWl0czx1
aW50NjRfdD46Om1heCgpOyB9CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxX
ZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6R2xvYmFsRnJhbWVJRD4gewotICAgIHR5cGVkZWYgR2xvYmFs
RnJhbWVJREhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJL
aXQ6Ok5ldHdvcmtDYWNoZTo6R2xvYmFsRnJhbWVJRD4gOiBHbG9iYWxGcmFtZUlESGFzaCB7IH07
CiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVLZXkuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlS2V5LmgKaW5kZXggYTMyY2RkNGI3ODE2ZmQ4YzAzZjhiNDZlZDllZDE5NzdiZTM1
YjAyZS4uZjUxMTFiZTgzMzI1YTQxNGMyMTJhNWFiOGI0NDhmOTAzZDJmYWFjNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5o
CkBAIC0xMjIsOSArMTIyLDcgQEAgc3RydWN0IE5ldHdvcmtDYWNoZUtleUhhc2ggewogfTsKIAog
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OktleT4gewotICAgIHR5cGVkZWYg
TmV0d29ya0NhY2hlS2V5SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPFdlYktpdDo6TmV0d29ya0NhY2hlOjpLZXk+IDogTmV0d29ya0NhY2hlS2V5SGFzaCB7IH07
CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViS2l0OjpOZXR3b3JrQ2FjaGU6Oktl
eT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OktleT4gewog
ICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL01lc3NhZ2VSZWNlaXZlck1hcC5oIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVJlY2VpdmVyTWFwLmgKaW5kZXggYmE2NGMx
NTU1ZTJkODNmZjc1MDQxOGJhYzQyMTc3NDViYmE5Y2ZlYS4uYWMzNjYyZTk3MjYwYmQ4Y2JmODgy
YjI4YjFlODc3ZWExMzJiYzEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9J
UEMvTWVzc2FnZVJlY2VpdmVyTWFwLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMv
TWVzc2FnZVJlY2VpdmVyTWFwLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHJpdmF0ZToKICAgICAvLyBN
ZXNzYWdlIHJlY2VpdmVycyB0aGF0IGRvbid0IHJlcXVpcmUgYSBkZXN0aW5hdGlvbiBJRC4KICAg
ICBIYXNoTWFwPFJlY2VpdmVyTmFtZSwgTWVzc2FnZVJlY2VpdmVyKiwgV1RGOjpJbnRIYXNoPFJl
Y2VpdmVyTmFtZT4sIFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8UmVjZWl2ZXJOYW1lPj4gbV9n
bG9iYWxNZXNzYWdlUmVjZWl2ZXJzOwogCi0gICAgSGFzaE1hcDxzdGQ6OnBhaXI8UmVjZWl2ZXJO
YW1lLCB1aW50NjRfdD4sIE1lc3NhZ2VSZWNlaXZlciosIERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxS
ZWNlaXZlck5hbWUsIHVpbnQ2NF90Pj46Okhhc2gsIFBhaXJIYXNoVHJhaXRzPFdURjo6U3Ryb25n
RW51bUhhc2hUcmFpdHM8UmVjZWl2ZXJOYW1lPiwgSGFzaFRyYWl0czx1aW50NjRfdD4+PiBtX21l
c3NhZ2VSZWNlaXZlcnM7CisgICAgSGFzaE1hcDxzdGQ6OnBhaXI8UmVjZWl2ZXJOYW1lLCB1aW50
NjRfdD4sIE1lc3NhZ2VSZWNlaXZlciosIERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxSZWNlaXZlck5h
bWUsIHVpbnQ2NF90Pj4sIFBhaXJIYXNoVHJhaXRzPFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8
UmVjZWl2ZXJOYW1lPiwgSGFzaFRyYWl0czx1aW50NjRfdD4+PiBtX21lc3NhZ2VSZWNlaXZlcnM7
CiB9OwogCiB9OwpAQCAtNjYsOCArNjYsNiBAQCBwcml2YXRlOgogbmFtZXNwYWNlIFdURiB7CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPElQQzo6UmVjZWl2ZXJOYW1lPiB7Ci0gICAgdXNpbmcgSGFzaCA9IElu
dEhhc2g8SVBDOjpSZWNlaXZlck5hbWU+OwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPElQQzo6UmVjZWl2ZXJOYW1lPiA6IEludEhhc2g8SVBDOjpSZWNlaXZlck5hbWU+IHsgfTsK
IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJl
bmNlLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJpbmdSZWZlcmVuY2UuaAppbmRl
eCBlNzE0NDhkYjk1ZjU3MDQwYjMwMmU3M2YwYzBkM2UzMDQzMTcyNzJiLi5kZTYwNmQ3OTFhYWI3
NTBjYjlmYjkyMDZhM2RlMTJkOTdiNGM5ZWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9TdHJpbmdSZWZlcmVuY2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9TdHJpbmdSZWZlcmVuY2UuaApAQCAtOTcsOSArOTcsNyBAQCBpbmxpbmUgYm9vbCBTdHJp
bmdSZWZlcmVuY2U6Okhhc2g6OmVxdWFsKGNvbnN0IFN0cmluZ1JlZmVyZW5jZSYgYSwgY29uc3Qg
U3RyaW5nUgogbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVm
YXVsdEhhc2g7CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPElQQzo6U3RyaW5nUmVm
ZXJlbmNlPiB7Ci0gICAgdHlwZWRlZiBJUEM6OlN0cmluZ1JlZmVyZW5jZTo6SGFzaCBIYXNoOwot
fTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPElQQzo6U3RyaW5nUmVmZXJlbmNlPiA6
IElQQzo6U3RyaW5nUmVmZXJlbmNlOjpIYXNoIHsgfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFz
aFRyYWl0czxJUEM6OlN0cmluZ1JlZmVyZW5jZT4gOiBHZW5lcmljSGFzaFRyYWl0czxJUEM6OlN0
cmluZ1JlZmVyZW5jZT4gewogICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8g
PSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ2FsbGJhY2tJRC5oIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQ2FsbGJhY2tJRC5oCmluZGV4IGEyNmZlYjg2NzI4NGJkMDA3ZGYy
MTIxMzdmMGU5MzQ3MWYxMjRiMGMuLjE2MzhjZWQzNGYxNTY5ZTVkYjEwMWFlOGUxZGRmOWJhZWQ3
NTExOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NhbGxiYWNrSUQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9DYWxsYmFja0lELmgKQEAgLTEyMSw4ICsxMjEsNiBAQCB0
ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYktpdDo6Q2FsbGJhY2tJRD4gOiBHZW5lcmlj
SGFzaFRyYWl0czxXZWJLaXQ6OkNhbAogICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRW
YWx1ZShXZWJLaXQ6OkNhbGxiYWNrSUQmIHNsb3QpIHsgc2xvdCA9IFdlYktpdDo6Q2FsbGJhY2tJ
RChzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCkpOyB9CiAgICAgc3RhdGljIGJv
b2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2ViS2l0OjpDYWxsYmFja0lEJiBzbG90KSB7IHJldHVy
biBzbG90Lm1faWQgPT0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpOyB9CiB9
OwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViS2l0OjpDYWxsYmFja0lEPiB7Ci0g
ICAgdHlwZWRlZiBDYWxsYmFja0lESGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPFdlYktpdDo6Q2FsbGJhY2tJRD4gOiBDYWxsYmFja0lESGFzaCB7IH07CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9jcHAvV0tSZXRhaW5QdHIu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9jcHAvV0tSZXRhaW5QdHIuaAppbmRleCBi
Y2M3ZmRmYWE1YWNhYTcwNWZjNWM5NWM0NzA4MTcwZjU0NDMyNDMxLi5mNGViOTE0ZDc5MmEwMDhl
MzUyOWY0MmY1YTczMGJkNDdlMTdlMTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvY3BwL1dLUmV0YWluUHRyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2NwcC9XS1JldGFpblB0ci5oCkBAIC0yNjYsOSArMjY2LDcgQEAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4gc3RydWN0IElzU21hcnRQdHI8V0tSZXRhaW5QdHI8VD4+IHsKICAgICBXVEZfSU5URVJO
QUwgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSB0cnVlOwogfTsKIAotdGVtcGxhdGU8dHlwZW5h
bWUgUD4gc3RydWN0IERlZmF1bHRIYXNoPFdLUmV0YWluUHRyPFA+PiB7Ci0gICAgdHlwZWRlZiBQ
dHJIYXNoPFdLUmV0YWluUHRyPFA+PiBIYXNoOwotfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFA+IHN0
cnVjdCBEZWZhdWx0SGFzaDxXS1JldGFpblB0cjxQPj4gOiBQdHJIYXNoPFdLUmV0YWluUHRyPFA+
PiB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBIYXNoVHJhaXRzPFdLUmV0YWlu
UHRyPFA+PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxXS1JldGFpblB0cjxQPj4gewogICAgIHN0
YXRpYyBQIGVtcHR5VmFsdWUoKSB7IHJldHVybiBudWxscHRyOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9DT01Qcm9wZXJ0eUJhZy5oIGIvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vQ09NUHJvcGVydHlCYWcuaAppbmRleCBiNTc5NWM2ZDg2NDQxN2RmNTk1ZDcyYmI5ZWNh
NjI2OGM3MjI1YjIyLi40MTA3ZWFkNGIyZDg1MDYzNTgwYWViMGE2MTU4MjY4ZTAzYTJiYWZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NPTVByb3BlcnR5QmFnLmgKQEAgLTMxLDcgKzMxLDcg
QEAKICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogCi10ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lIEtleVR5cGUgPSB0eXBl
bmFtZSBXVEY6OlN0cmluZywgdHlwZW5hbWUgSGFzaFR5cGUgPSB0eXBlbmFtZSBXVEY6OlN0cmlu
Z0hhc2g+Cit0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lIEtleVR5cGUgPSB0
eXBlbmFtZSBXVEY6OlN0cmluZywgdHlwZW5hbWUgSGFzaFR5cGUgPSB0eXBlbmFtZSBXVEY6OkRl
ZmF1bHRIYXNoPEtleVR5cGU+PgogY2xhc3MgQ09NUHJvcGVydHlCYWcgZmluYWwgOiBwdWJsaWMg
SVByb3BlcnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7CiAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ09NUHJvcGVydHlCYWcpOwogcHVibGljOgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDA0YjdmNDg1MjIwMjMzYzYwZDUwM2MzMTk1ZTI3
ZGQ2ZjgxYjdkMzAuLjA1MWVjYTIwNGU5OWNiZWJjNWUwMzJhZmVkZmEyYzM0MWNlOTkwOGQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyOCBAQAorMjAyMC0wNy0xNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255
LmNvbT4KKworICAgICAgICBbV1RGXSBSZW1vdmUgdGhlIHVubmVjZXNzYXJ5IGlubmVyIGNsYXNz
IERlZmF1bHRIYXNoPFQ+OjpIYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTQzODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0RlbGV0ZWRBZGRyZXNzT2ZP
cGVyYXRvci5oOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxEZWxldGVkQWRkcmVzc09mT3Bl
cmF0b3I+OjpoYXNoKToKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8RGVsZXRlZEFkZHJlc3NP
Zk9wZXJhdG9yPjo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxEZWxldGVkQWRk
cmVzc09mT3BlcmF0b3I+OjpIYXNoOjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6RGVm
YXVsdEhhc2g8RGVsZXRlZEFkZHJlc3NPZk9wZXJhdG9yPjo6SGFzaDo6ZXF1YWwpOiBEZWxldGVk
LgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hDb3VudGVkU2V0LmNwcDoK
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmJ1Y2tldEZvcktleSk6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvSGFzaE1hcC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpi
dWNrZXRGb3JLZXkpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaFNldC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjp0ZXN0SW5pdGlhbENhcGFjaXR5KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9Nb3ZlT25seS5oOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxNb3ZlT25seT46Omhh
c2gpOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxNb3ZlT25seT46OmVxdWFsKToKKyAgICAg
ICAgKFdURjo6RGVmYXVsdEhhc2g8TW92ZU9ubHk+OjpIYXNoOjpoYXNoKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdURjo6RGVmYXVsdEhhc2g8TW92ZU9ubHk+OjpIYXNoOjplcXVhbCk6IERlbGV0ZWQu
CisKIDIwMjAtMDctMTUgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAg
IE1pbmlCcm93c2VyIHRvb2xiYXIgaXMgdWdseSB3aXRoIGRlZmF1bHQgbWFjT1MgQmlnIFN1ciBz
dHlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvRGVsZXRlZEFk
ZHJlc3NPZk9wZXJhdG9yLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9EZWxldGVk
QWRkcmVzc09mT3BlcmF0b3IuaAppbmRleCAzMWQ1ZDgwYjkzODQzNGMwMTY2ZWUyNTFlMTM5MzIx
Y2Y4NThmYWRkLi40NWNjZmE0MDMwZTEyYWQzYzVhNmRjMzc0YzE1YmQ5ZWQzMTA5MDJhIDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9EZWxldGVkQWRkcmVzc09mT3Bl
cmF0b3IuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9EZWxldGVkQWRkcmVz
c09mT3BlcmF0b3IuaApAQCAtNjYsMTkgKzY2LDE3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hU
cmFpdHM8RGVsZXRlZEFkZHJlc3NPZk9wZXJhdG9yPiA6IHB1YmxpYyBHZW5lcmljSGFzaFRyYWl0
CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxEZWxldGVkQWRkcmVzc09mT3Bl
cmF0b3I+IHsKLSAgICBzdHJ1Y3QgSGFzaCB7Ci0gICAgICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNo
KGNvbnN0IERlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRvciYga2V5KQotICAgICAgICB7Ci0gICAgICAg
ICAgICByZXR1cm4gaW50SGFzaChrZXkudmFsdWUoKSk7Ci0gICAgICAgIH0KKyAgICBzdGF0aWMg
dW5zaWduZWQgaGFzaChjb25zdCBEZWxldGVkQWRkcmVzc09mT3BlcmF0b3ImIGtleSkKKyAgICB7
CisgICAgICAgIHJldHVybiBpbnRIYXNoKGtleS52YWx1ZSgpKTsKKyAgICB9CiAKLSAgICAgICAg
c3RhdGljIGJvb2wgZXF1YWwoY29uc3QgRGVsZXRlZEFkZHJlc3NPZk9wZXJhdG9yJiBhLCBjb25z
dCBEZWxldGVkQWRkcmVzc09mT3BlcmF0b3ImIGIpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJl
dHVybiBhID09IGI7Ci0gICAgICAgIH0KKyAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBEZWxl
dGVkQWRkcmVzc09mT3BlcmF0b3ImIGEsIGNvbnN0IERlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRvciYg
YikKKyAgICB7CisgICAgICAgIHJldHVybiBhID09IGI7CisgICAgfQogCi0gICAgICAgIHN0YXRp
YyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKLSAgICB9
OworICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0g
dHJ1ZTsKIH07CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L0hhc2hDb3VudGVkU2V0LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hD
b3VudGVkU2V0LmNwcAppbmRleCA3YjhmYWYyODhhYmMwN2NmYWY4YjUyNzEyMzhmNzZkMDEzMDEy
ZWU2Li4yY2Q3ZDEzMTdiNTg4ZDVmMDQzNDA2NTExMTgyYjBlODhkN2QxNjRiIDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9IYXNoQ291bnRlZFNldC5jcHAKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaENvdW50ZWRTZXQuY3BwCkBAIC01OSwx
MSArNTksMTEgQEAgc3RydWN0IFRlc3REb3VibGVIYXNoVHJhaXRzIDogSGFzaFRyYWl0czxkb3Vi
bGU+IHsKICAgICBzdGF0aWMgY29uc3QgaW50IG1pbmltdW1UYWJsZVNpemUgPSA4OwogfTsKIAot
dHlwZWRlZiBIYXNoQ291bnRlZFNldDxkb3VibGUsIERlZmF1bHRIYXNoPGRvdWJsZT46Okhhc2gs
IFRlc3REb3VibGVIYXNoVHJhaXRzPiBEb3VibGVIYXNoQ291bnRlZFNldDsKK3R5cGVkZWYgSGFz
aENvdW50ZWRTZXQ8ZG91YmxlLCBEZWZhdWx0SGFzaDxkb3VibGU+LCBUZXN0RG91YmxlSGFzaFRy
YWl0cz4gRG91YmxlSGFzaENvdW50ZWRTZXQ7CiAKIHN0YXRpYyBpbnQgYnVja2V0Rm9yS2V5KGRv
dWJsZSBrZXkpCiB7Ci0gICAgcmV0dXJuIERlZmF1bHRIYXNoPGRvdWJsZT46Okhhc2g6Omhhc2go
a2V5KSAmIChUZXN0RG91YmxlSGFzaFRyYWl0czo6bWluaW11bVRhYmxlU2l6ZSAtIDEpOworICAg
IHJldHVybiBEZWZhdWx0SGFzaDxkb3VibGU+OjpoYXNoKGtleSkgJiAoVGVzdERvdWJsZUhhc2hU
cmFpdHM6Om1pbmltdW1UYWJsZVNpemUgLSAxKTsKIH0KIAogVEVTVChXVEZfSGFzaENvdW50ZWRT
ZXQsIERvdWJsZUhhc2hDb2xsaXNpb25zKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvSGFzaE1hcC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9I
YXNoTWFwLmNwcAppbmRleCAyMDhkOTY1MzFkNWJlNDcwMDEzOTdkNTkwMTE5MTRmMTcyZDM1NWRi
Li5lZDc3ZGE1OWRlN2RhYmQ1MTI3ZTA3ODIyNGJkNjhmMjkyMGFlN2JlIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9IYXNoTWFwLmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9IYXNoTWFwLmNwcApAQCAtNjMsMTEgKzYzLDExIEBAIHN0cnVj
dCBUZXN0RG91YmxlSGFzaFRyYWl0cyA6IEhhc2hUcmFpdHM8ZG91YmxlPiB7CiAgICAgc3RhdGlj
IGNvbnN0IGludCBtaW5pbXVtVGFibGVTaXplID0gODsKIH07CiAKLXR5cGVkZWYgSGFzaE1hcDxk
b3VibGUsIGludDY0X3QsIERlZmF1bHRIYXNoPGRvdWJsZT46Okhhc2gsIFRlc3REb3VibGVIYXNo
VHJhaXRzPiBEb3VibGVIYXNoTWFwOwordHlwZWRlZiBIYXNoTWFwPGRvdWJsZSwgaW50NjRfdCwg
RGVmYXVsdEhhc2g8ZG91YmxlPiwgVGVzdERvdWJsZUhhc2hUcmFpdHM+IERvdWJsZUhhc2hNYXA7
CiAKIHN0YXRpYyBpbnQgYnVja2V0Rm9yS2V5KGRvdWJsZSBrZXkpCiB7Ci0gICAgcmV0dXJuIERl
ZmF1bHRIYXNoPGRvdWJsZT46Okhhc2g6Omhhc2goa2V5KSAmIChUZXN0RG91YmxlSGFzaFRyYWl0
czo6bWluaW11bVRhYmxlU2l6ZSAtIDEpOworICAgIHJldHVybiBEZWZhdWx0SGFzaDxkb3VibGU+
OjpoYXNoKGtleSkgJiAoVGVzdERvdWJsZUhhc2hUcmFpdHM6Om1pbmltdW1UYWJsZVNpemUgLSAx
KTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEJpZ1RhYmxlSGFzaFRyYWl0cyA6
IHB1YmxpYyBIYXNoVHJhaXRzPFQ+IHsKQEAgLTEwMjEsNyArMTAyMSw3IEBAIFRFU1QoV1RGX0hh
c2hNYXAsIFJhbmRvbV9XcmFwQXJvdW5kKQogCiBURVNUKFdURl9IYXNoTWFwLCBSYW5kb21fSXNF
dmVubHlEaXN0cmlidXRlZCkKIHsKLSAgICBIYXNoTWFwPHVuc2lnbmVkLCB1bnNpZ25lZCwgRGVm
YXVsdEhhc2g8dW5zaWduZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJh
aXRzPHVuc2lnbmVkPj4gbWFwOworICAgIEhhc2hNYXA8dW5zaWduZWQsIHVuc2lnbmVkLCBEZWZh
dWx0SGFzaDx1bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5z
aWduZWQ+PiBtYXA7CiAgICAgbWFwLmFkZCgwLCAwKTsKICAgICBtYXAuYWRkKDEsIDEpOwogCkBA
IC0xMDk0LDcgKzEwOTQsNyBAQCBURVNUKFdURl9IYXNoTWFwLCBSZXNlcnZlSW5pdGlhbENhcGFj
aXR5KQogVEVTVChXVEZfSGFzaE1hcCwgUmFuZG9tX0lzRXZlbmx5RGlzdHJpYnV0ZWRBZnRlclJl
bW92ZSkKIHsKICAgICBmb3IgKHNpemVfdCB0YWJsZVNpemUgPSAyOyB0YWJsZVNpemUgPD0gMiAq
IDY7ICsrdGFibGVTaXplKSB7IC8vIE91ciBoYXNoIHRhYmxlcyBzaHJpbmsgYXQgYSBsb2FkIGZh
Y3RvciBvZiAxIC8gNi4KLSAgICAgICAgSGFzaE1hcDx1bnNpZ25lZCwgdW5zaWduZWQsIERlZmF1
bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0
czx1bnNpZ25lZD4+IG1hcDsKKyAgICAgICAgSGFzaE1hcDx1bnNpZ25lZCwgdW5zaWduZWQsIERl
ZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1
bnNpZ25lZD4+IG1hcDsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0YWJsZVNpemU7
ICsraSkKICAgICAgICAgICAgIG1hcC5hZGQoaSwgaSk7CiAgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAyOyBpIDwgdGFibGVTaXplOyArK2kpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9IYXNoU2V0LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hh
c2hTZXQuY3BwCmluZGV4IDRjYzI0N2ZjMTI4MmFkYWZmYjA5MTNjMWZkYTU4ZGRjN2JmZTQ5ZTMu
LjY4NTE0ODJmNmExNmU1MTVlYWM1YmJhMWI5YzBkNmMyZDQ4NzExNjUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hTZXQuY3BwCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hTZXQuY3BwCkBAIC00Nyw3ICs0Nyw3IEBAIHRlbXBsYXRl
PHVuc2lnbmVkIHNpemU+CiB2b2lkIHRlc3RJbml0aWFsQ2FwYWNpdHkoKQogewogICAgIGNvbnN0
IHVuc2lnbmVkIGluaXRpYWxDYXBhY2l0eSA9IFdURjo6SGFzaFRhYmxlQ2FwYWNpdHlGb3JTaXpl
PHNpemU+Ojp2YWx1ZTsKLSAgICBIYXNoU2V0PGludCwgRGVmYXVsdEhhc2g8aW50Pjo6SGFzaCwg
SW5pdGlhbENhcGFjaXR5VGVzdEhhc2hUcmFpdHM8aW5pdGlhbENhcGFjaXR5PiA+IHRlc3RTZXQ7
CisgICAgSGFzaFNldDxpbnQsIERlZmF1bHRIYXNoPGludD4sIEluaXRpYWxDYXBhY2l0eVRlc3RI
YXNoVHJhaXRzPGluaXRpYWxDYXBhY2l0eT4gPiB0ZXN0U2V0OwogCiAgICAgLy8gSW5pdGlhbCBj
YXBhY2l0eSBpcyBudWxsLgogICAgIEFTU0VSVF9FUSgwdSwgdGVzdFNldC5jYXBhY2l0eSgpKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01vdmVPbmx5LmggYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Nb3ZlT25seS5oCmluZGV4IDNmZjFlYTAzYjkx
ZGJkNGM4YzAzNzIxYTgwMTI4ZGFjZTE1Y2ZjY2YuLmQ5YzIwNmMyOGVjNDlkY2NkMGNmOWQ0MDdh
ZDM3MmZhYzAyNDRiYWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L01vdmVPbmx5LmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTW92ZU9ubHku
aApAQCAtODQsMTkgKzg0LDE3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8TW92ZU9u
bHk+IDogcHVibGljIEdlbmVyaWNIYXNoVHJhaXRzPE1vdmVPbmx5PiB7CiB9OwogCiB0ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxNb3ZlT25seT4gewotICAgIHN0cnVjdCBIYXNoIHsKLSAg
ICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgTW92ZU9ubHkmIGtleSkKLSAgICAgICAg
ewotICAgICAgICAgICAgcmV0dXJuIGludEhhc2goa2V5LnZhbHVlKCkpOwotICAgICAgICB9Ci0K
LSAgICAgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgTW92ZU9ubHkmIGEsIGNvbnN0IE1vdmVP
bmx5JiBiKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYSA9PSBiOwotICAgICAgICB9
Ci0KLSAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0
ZWQgPSB0cnVlOwotICAgIH07CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgTW92ZU9u
bHkmIGtleSkgCisgICAgeworICAgICAgICByZXR1cm4gaW50SGFzaChrZXkudmFsdWUoKSk7Cisg
ICAgfQorCisgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgTW92ZU9ubHkmIGEsIGNvbnN0IE1v
dmVPbmx5JiBiKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGEgPT0gYjsKKyAgICB9CisKKyAgICBz
dGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7CiB9
OwogfSAvLyBuYW1lc3BhY2UgV1RGCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404422</attachid>
            <date>2020-07-15 22:12:55 -0700</date>
            <delta_ts>2020-07-16 17:33:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214389-20200716141253.patch</filename>
            <type>text/plain</type>
            <size>163324</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NDQyNGRiNDI2NTFiNjFkOTk4MTE1Y2VkZDUzMDViNzY0ZWNhZTAwLi4wNjZjZThjOTJlMDg1NGUz
M2UxMTdhMWE5YjMxZjI3ZWVhNmUyNGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NiBAQAorMjAyMC0wNy0xNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KKworICAgICAgICBbV1RGXSBSZW1vdmUgdGhlIHVubmVjZXNzYXJ5IGlubmVyIGNs
YXNzIERlZmF1bHRIYXNoPFQ+OjpIYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTQzODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckNvZGVSZWYuaDoKKyAg
ICAgICAgKiBiMy9CM0NoZWNrU3BlY2lhbC5oOgorICAgICAgICAqIGIzL0IzS2luZC5oOgorICAg
ICAgICAqIGIzL0IzVmFsdWVLZXkuaDoKKyAgICAgICAgKiBiMy9haXIvQWlyQWxsb2NhdGVSZWdp
c3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwOgorICAgICAgICAqIGIzL2Fpci9BaXJBcmcuaDoKKyAg
ICAgICAgKiBiMy9haXIvQWlyVG1wLmg6CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVJbmRl
eC5oOgorICAgICAgICAqIGJ5dGVjb2RlL0NhbGxWYXJpYW50Lmg6CisgICAgICAgICogYnl0ZWNv
ZGUvQ29kZU9yaWdpbi5oOgorICAgICAgICAqIGJ5dGVjb2RlL0RGR0V4aXRQcm9maWxlLmg6Cisg
ICAgICAgICogYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaDoKKyAgICAgICAgKiBi
eXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oOgorICAgICAgICAqIGJ5dGVjb2RlL1By
b3BlcnR5Q29uZGl0aW9uLmg6CisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0SGVhcC5oOgorICAg
ICAgICAqIGRmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKiBk
ZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAqIGRmZy9ERkdDU0VQaGFzZS5jcHA6
CisgICAgICAgICogZGZnL0RGR0NvbXBpbGF0aW9uS2V5Lmg6CisgICAgICAgICogZGZnL0RGR0Rl
c2lyZWRHbG9iYWxQcm9wZXJ0eS5oOgorICAgICAgICAqIGRmZy9ERkdIZWFwTG9jYXRpb24uaDoK
KyAgICAgICAgKiBkZmcvREZHTGl2ZW5lc3NBbmFseXNpc1BoYXNlLmNwcDoKKyAgICAgICAgKiBk
ZmcvREZHTWluaWZpZWRJRC5oOgorICAgICAgICAqIGRmZy9ERkdOb2RlRmxvd1Byb2plY3Rpb24u
aDoKKyAgICAgICAgKiBkZmcvREZHUHJvbW90ZWRIZWFwTG9jYXRpb24uaDoKKyAgICAgICAgKiBk
ZmcvREZHUHJvcGVydHlUeXBlS2V5Lmg6CisgICAgICAgICogZGZnL0RGR1B1cmVWYWx1ZS5oOgor
ICAgICAgICAqIGZ0bC9GVExMb2NhdGlvbi5oOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1Rv
QjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTmV3
QXJyYXlXaXRoU3ByZWFkKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6
Y29tcGlsZUNhbGxPckNvbnN0cnVjdFZhcmFyZ3NTcHJlYWQpOgorICAgICAgICAoSlNDOjpGVEw6
OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTWF0ZXJpYWxpemVOZXdPYmplY3QpOgorICAgICAg
ICAqIGZ0bC9GVExTbG93UGF0aENhbGxLZXkuaDoKKyAgICAgICAgKiBoZWFwL01hcmtlZEJsb2Nr
Lmg6CisgICAgICAgICogaGVhcC9WaXNpdFJhY2VLZXkuaDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
c2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHk6Cisg
ICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1h
c3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0
ZXJzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVj
dGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdDoK
KyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0
aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0Ogor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtcmVxdWlyaW5n
LXJ1bnRpbWUtY2FzdHMuanNvbi1yZXN1bHQ6CisgICAgICAgICogaml0L0lDU3RhdHMuaDoKKyAg
ICAgICAgKiBqaXQvSklUVGh1bmtzLmg6CisgICAgICAgICogaml0L1JlZy5oOgorICAgICAgICAq
IGppdC9SZWdpc3RlclNldC5oOgorICAgICAgICAqIHBhcnNlci9WYXJpYWJsZUVudmlyb25tZW50
Lmg6CisgICAgICAgICogcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW4uaDoKKyAgICAgICAgKiBwcm9m
aWxlci9Qcm9maWxlck9yaWdpblN0YWNrLmg6CisgICAgICAgICogcHJvZmlsZXIvUHJvZmlsZXJV
SUQuaDoKKyAgICAgICAgKiBydW50aW1lL0NhY2hlZFR5cGVzLmNwcDoKKyAgICAgICAgKiBydW50
aW1lL0NvbnRyb2xGbG93UHJvZmlsZXIuaDoKKyAgICAgICAgKiBydW50aW1lL05hdGl2ZUZ1bmN0
aW9uLmg6CisgICAgICAgICogcnVudGltZS9Qcm90b3R5cGVLZXkuaDoKKyAgICAgICAgKiBydW50
aW1lL1JlZ0V4cEtleS5oOgorICAgICAgICAqIHJ1bnRpbWUvVGVtcGxhdGVPYmplY3REZXNjcmlw
dG9yLmg6CisgICAgICAgICogcnVudGltZS9UeXBlUHJvZmlsZXIuaDoKKyAgICAgICAgKiBydW50
aW1lL1Zhck9mZnNldC5oOgorICAgICAgICAqIHJ1bnRpbWUvV2Vha0dDTWFwLmg6CisgICAgICAg
ICogd2FzbS9XYXNtQkJRUGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbUNvZGVCbG9jay5oOgor
ICAgICAgICAqIHdhc20vV2FzbUVudHJ5UGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbUxMSW50
UGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbVNpZ25hdHVyZS5oOgorCiAyMDIwLTA3LTE1ICBG
dWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtDTWFr
ZV1bV2ViRHJpdmVyXSBHZW5lcmF0aW5nIFdlYkRyaXZlckF0b21zLmNwcCBpcyByYXJlbHkgZmFp
bGluZyBhcyAiSW1wb3J0RXJyb3I6IE5vIG1vZHVsZSBuYW1lZCBqc21pbiIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggYjg5OWY2
YzJlMTAwYjkwMTYxMjUxNjFjYWUzOTJkMzhiZjA5NzBkOS4uMTA3MjMwMjQ2ZjdiYzJkYzM4NzQx
YmZjYzkzNWJjMTAyZGY4ZDgxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAyMC0wNy0xNSAgRnVq
aWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBbV1RGXSBS
ZW1vdmUgdGhlIHVubmVjZXNzYXJ5IGlubmVyIGNsYXNzIERlZmF1bHRIYXNoPFQ+OjpIYXNoCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQzODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWZhdWx0SGFz
aDxUPiBkb2Vzbid0IG5lZWQgdG8gaGF2ZSBhIGlubmVyIHN0cnVjdCBIYXNoLiBUaGlzIGNhbgor
ICAgICAgICBiZSBhIHByb2JsZW0gZm9yIGZvcndhcmQgZGVjbGFyYXRpb25zIChCdWcgMjE0MzIw
IENvbW1lbnQgNSkuCisKKyAgICAgICAgKiB3dGYvQml0VmVjdG9yLmg6CisgICAgICAgICogd3Rm
L0ZvcndhcmQuaDoKKyAgICAgICAgKiB3dGYvSGFzaEZ1bmN0aW9ucy5oOgorICAgICAgICAoV1RG
OjpQYWlySGFzaDo6aGFzaCk6CisgICAgICAgIChXVEY6OlBhaXJIYXNoOjplcXVhbCk6CisgICAg
ICAgIChXVEY6OlR1cGxlSGFzaDo6aGFzaCk6CisgICAgICAgIChXVEY6OlR1cGxlSGFzaDo6ZXF1
YWwpOgorICAgICAgICAqIHd0Zi9MaXN0SGFzaFNldC5oOgorICAgICAgICAqIHd0Zi9Mb2dnaW5n
SGFzaE1hcC5oOgorICAgICAgICAqIHd0Zi9Mb2dnaW5nSGFzaFNldC5oOgorICAgICAgICAqIHd0
Zi9NZXRhQWxsb2NhdG9yUHRyLmg6CisgICAgICAgICogd3RmL09iamVjdElkZW50aWZpZXIuaDoK
KyAgICAgICAgKiB3dGYvT3B0aW9uU2V0SGFzaC5oOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFz
aDxPcHRpb25TZXQ8VD4+OjpoYXNoKToKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8T3B0aW9u
U2V0PFQ+Pjo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxPcHRpb25TZXQ8VD4+
OjpIYXNoOjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8T3B0aW9u
U2V0PFQ+Pjo6SGFzaDo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi9QYWNrZWQuaDoK
KyAgICAgICAgKiB3dGYvUmV0YWluUHRyLmg6CisgICAgICAgICogd3RmL1N0YWNrU2hvdC5oOgor
ICAgICAgICAqIHd0Zi9VUkxIYXNoLmg6CisgICAgICAgICogd3RmL1ZlY3Rvckhhc2guaDoKKyAg
ICAgICAgKFdURjo6VmVjdG9ySGFzaDo6aGFzaCk6CisgICAgICAgICogd3RmL3RleHQvQXRvbVN0
cmluZy5oOgorICAgICAgICAqIHd0Zi90ZXh0L0F0b21TdHJpbmdIYXNoLmg6CisgICAgICAgICog
d3RmL3RleHQvQ1N0cmluZy5oOgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0hhc2guaDoKKyAg
ICAgICAgKiB3dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAgICAgICogd3RmL3RleHQvU3ltYm9s
UmVnaXN0cnkuaDoKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8U3ltYm9sUmVnaXN0cnlLZXk+
OjpoYXNoKToKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8U3ltYm9sUmVnaXN0cnlLZXk+Ojpl
cXVhbCk6CisgICAgICAgIChXVEY6OkRlZmF1bHRIYXNoPFN5bWJvbFJlZ2lzdHJ5S2V5Pjo6SGFz
aDo6aGFzaCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkRlZmF1bHRIYXNoPFN5bWJvbFJlZ2lz
dHJ5S2V5Pjo6SGFzaDo6ZXF1YWwpOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi90ZXh0L1dURlN0
cmluZy5oOgorCiAyMDIwLTA3LTE1ICBTYWFnYXIgSmhhICA8c2FhZ2FyQHNhYWdhcmpoYS5jb20+
CiAKICAgICAgICAgQWRkIHNvbWUgbWlzc2luZyBib2lsZXJwbGF0ZSB0byBoZWxwIGZpeCBidWls
ZCBvbiBtYWNPUyBCaWcgU3VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTdlNmQ4YzZkNWU4YjQzN2M3ZTU2ZjBl
MzBiNmM3NjU4MzdhOTFlOS4uNzY2YjJjZGE4MDYzMzg0MWRmOTUwYWQxNzEyOTAzZWRjODlhMjNm
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkwIEBACisyMDIwLTA3LTE1ICBGdWppaSBIaXJvbm9y
aSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtXVEZdIFJlbW92ZSB0aGUg
dW5uZWNlc3NhcnkgaW5uZXIgY2xhc3MgRGVmYXVsdEhhc2g8VD46Okhhc2gKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDM4OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
SURCRGF0YWJhc2VJZGVudGlmaWVyLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hh
cmVkL0lEQlJlc291cmNlSWRlbnRpZmllci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTFVubmFtZWRUeXBlSGFzaC5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMU2VtYW50aWNNYXRjaGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNM
OjptYXRjaFJlc291cmNlcyk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6bWF0Y2hWZXJ0ZXhB
dHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjptYXRjaENvbG9yQXR0YWNobWVu
dHMpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6Cisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgICog
Y29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbkNvbXBpbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpzZXJpYWxpemVBY3Rpb25zKToKKyAgICAgICAg
KiBjb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uUnVsZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udGVudEV4dGVuc2lvbnM6OlRyaWdnZXJIYXNoOjpoYXNoKToKKyAgICAgICAgKiBj
b250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oOgorICAgICAgICAq
IGNvbnRlbnRleHRlbnNpb25zL0RGQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0
ZW5zaW9uczo6cHJpbnRUcmFuc2l0aW9ucyk6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMv
REZBQnl0ZWNvZGVJbnRlcnByZXRlci5oOgorICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL0RG
QUNvbWJpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpERkFN
ZXJnZXI6OmdldE9yQ3JlYXRlQ29tYmluZWROb2RlKToKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5z
aW9ucy9ERkFOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpE
RkFOb2RlOjpiZXN0RmFsbGJhY2tUYXJnZXQgY29uc3QpOgorICAgICAgICAqIGNvbnRlbnRleHRl
bnNpb25zL0ltbXV0YWJsZU5GQU5vZGVCdWlsZGVyLmg6CisgICAgICAgICogY29udGVudGV4dGVu
c2lvbnMvTkZBLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpORkE6
OmRlYnVnUHJpbnREb3QgY29uc3QpOgorICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL05GQU5v
ZGUuaDoKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5zaW9ucy9ORkFUb0RGQS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6Tm9kZUlkU2V0VG9VbmlxdWVOb2RlSWRTZXRT
b3VyY2U6Ok5vZGVJZFNldFRvVW5pcXVlTm9kZUlkU2V0U291cmNlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRlbnRFeHRlbnNpb25zOjpOb2RlSWRTZXRUb1VuaXF1ZU5vZGVJZFNldFRyYW5zbGF0
b3I6OnRyYW5zbGF0ZSk6CisgICAgICAgICogY3NzL21ha2Vwcm9wLnBsOgorICAgICAgICAqIGNz
cy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5oOgorICAgICAgICAqIGRvbS9HQ1JlYWNoYWJsZVJl
Zi5oOgorICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydElkZW50aWZpZXIuaDoKKyAgICAgICAgKiBk
b20vTm9kZVJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2RlRGF0YTo6
Tm9kZUxpc3RDYWNoZU1hcEVudHJ5SGFzaDo6aGFzaCk6CisgICAgICAgIChXZWJDb3JlOjpOb2Rl
TGlzdHNOb2RlRGF0YTo6Tm9kZUxpc3RDYWNoZU1hcEVudHJ5SGFzaDo6ZXF1YWwpOgorICAgICAg
ICAqIGRvbS9RdWFsaWZpZWROYW1lLmg6CisgICAgICAgICogaGlzdG9yeS9CYWNrRm9yd2FyZEl0
ZW1JZGVudGlmaWVyLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5oOgorICAgICAgICAqIGxheW91dC9MYXlvdXRVbml0cy5oOgorICAgICAgICAqIGxv
YWRlci9BZENsaWNrQXR0cmlidXRpb24uaDoKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VDcnlw
dG9ncmFwaGljRGlnZXN0Lmg6CisgICAgICAgIChXVEY6OkRlZmF1bHRIYXNoPFdlYkNvcmU6OlJl
c291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdD46Omhhc2gpOgorICAgICAgICAoV1RGOjpEZWZhdWx0
SGFzaDxXZWJDb3JlOjpSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+OjplcXVhbCk6CisgICAg
ICAgIChXVEY6OkRlZmF1bHRIYXNoPFdlYkNvcmU6OlJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2Vz
dD46Okhhc2g6Omhhc2gpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxXZWJD
b3JlOjpSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+OjpIYXNoOjplcXVhbCk6IERlbGV0ZWQu
CisgICAgICAgICogcGFnZS9DbGllbnRPcmlnaW4uaDoKKyAgICAgICAgKiBwYWdlL0dsb2JhbFdp
bmRvd0lkZW50aWZpZXIuaDoKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5T3JpZ2luRGF0YS5oOgor
ICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW5IYXNoLmg6CisgICAgICAgICogcGxhdGZvcm0v
Q29va2llLmg6CisgICAgICAgICogcGxhdGZvcm0vUmVnaXN0cmFibGVEb21haW4uaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvckhhc2guaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9GbG9hdFNpemVIYXNoLmg6CisgICAgICAgIChXVEY6OkZsb2F0SGFzaDxXZWJDb3Jl
OjpGbG9hdFNpemU+OjpoYXNoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250R2Vu
ZXJpY0ZhbWlsaWVzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnRIYXNo
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdEhhc2guaDoKKyAgICAgICAg
KFdURjo6SW50SGFzaDxXZWJDb3JlOjpJbnRSZWN0Pjo6aGFzaCk6CisgICAgICAgIChXVEY6Oklu
dEhhc2g8V2ViQ29yZTo6SW50UmVjdD46OmVxdWFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9JbnRTaXplSGFzaC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoQ2Fj
aGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVl
VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGYWxsYmFja0ZvbnREZXNjcmlwdGlvbktleTo6
Y29tcHV0ZUhhc2ggY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNl
cnMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZUhhc2guaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS93aW4vQ09NUHRyLmg6CisgICAgICAgICogcGxhdGZvcm0vd2lu
L1dpbmRvd3NLZXlOYW1lcy5oOgorICAgICAgICAqIHJlbmRlcmluZy9DU1NWYWx1ZUtleS5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9HcmlkQmFzZWxpbmVBbGlnbm1lbnQuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cGxhY2VTcGVj
aWZpZWRNYWpvckF4aXNJdGVtc09uR3JpZCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmg6CisgICAgICAgICogc3R5bGUvUnVsZVNldC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZTo6UnVsZVNldDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeVJ1bGVzKToKKyAg
ICAgICAgKiBzdmcvU1ZHRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQXR0cmlidXRl
SGFzaFRyYW5zbGF0b3I6Omhhc2gpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ2xpZW50SWRlbnRpZmllci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5Lmg6CisKIDIwMjAtMDctMTUgIERldmluIFJvdXNzbyAg
PGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZm9sbG93dXAsIHVzZSBg
b2JqZWN0UmVwbGFjZW1lbnRDaGFyYWN0ZXJgIGluc3RlYWQgb2YgYDB4RkZGQ2AKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCmluZGV4IDY0ZDczMWNiMmRkNjY3Y2EzMjg2NDA4OWZhYWJkMzExZDViMTA1OGQuLmNh
NzlmZGRiZDMyYTRiNzg4OTQxOTIwODljMmU0MmJhZjdlZjc2MGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA3LTE1ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3Jp
LkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtXVEZdIFJlbW92ZSB0aGUgdW5uZWNlc3Nhcnkg
aW5uZXIgY2xhc3MgRGVmYXVsdEhhc2g8VD46Okhhc2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDM4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL1Nlc3Npb25JRC5oOgorCiAyMDIwLTA3LTE1
ICBTYWFnYXIgSmhhICA8c2FhZ2FyQHNhYWdhcmpoYS5jb20+CiAKICAgICAgICAgQWRkIHNvbWUg
bWlzc2luZyBib2lsZXJwbGF0ZSB0byBoZWxwIGZpeCBidWlsZCBvbiBtYWNPUyBCaWcgU3VyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDJiZmE1OWJiZTI0YTU3MDFlMmMwMWRjZDA2ZjQzZmI4NTRmNjJiMjguLmJmZjU3
ODQ4M2RkODBkZGVlMjc4YjJiMTExZjY3ZWNiYzg1MTFjNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTggQEAKKzIwMjAtMDctMTUgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5j
b20+CisKKyAgICAgICAgW1dURl0gUmVtb3ZlIHRoZSB1bm5lY2Vzc2FyeSBpbm5lciBjbGFzcyBE
ZWZhdWx0SGFzaDxUPjo6SGFzaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0Mzg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRJRC5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5oOgorICAgICAgICAqIFBsYXRmb3Jt
L0lQQy9NZXNzYWdlUmVjZWl2ZXJNYXAuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvU3RyaW5n
UmVmZXJlbmNlLmg6CisgICAgICAgICogU2hhcmVkL0NhbGxiYWNrSUQuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2NwcC9XS1JldGFpblB0ci5oOgorCiAyMDIwLTA3LTE1ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnQg
cGFydCBvZiByMjY0Mzg1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IDI2NDZmYjky
ODk3ZTU1Njk2YzljNzZiN2FmYWMzYjIxMDZhNGYyYzEuLjkwNDE3YTRjZmQ2YmQ2M2Y5MmZlNzg2
NWYzZTA1MTY4YjI0NTFiZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAyMC0wNy0xNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255
LmNvbT4KKworICAgICAgICBbV1RGXSBSZW1vdmUgdGhlIHVubmVjZXNzYXJ5IGlubmVyIGNsYXNz
IERlZmF1bHRIYXNoPFQ+OjpIYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTQzODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIENPTVByb3BlcnR5QmFnLmg6CisKIDIwMjAtMDctMDcgIFNhbSBXZWlu
aWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFBhcnQgMiBvZiBTaW1wbGVDb2xvciBh
bmQgU1JHQkE8dWludDhfdD4gYXJlIGVzc2VudGlhbGx5IHRoZSBzYW1lIC0gbGV0J3MgY29udmVy
Z2UgdGhlbQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckNvZGVSZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJDb2RlUmVmLmgKaW5kZXggY2IyNGIyZDljNWU0YzlkYWI0MjZiZmJhY2QwOWE2
OWZjYjM1MjY2OS4uOWM0YzY5NWUxYmUxMzk3N2E3YWVlYjA1NGJkZjQxYzExYzI0NWVhMiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckNv
ZGVSZWYuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyQ29kZVJlZi5oCkBAIC01MjksOSArNTI5LDcgQEAgaW5saW5lIEZ1bmN0aW9uUHRyPHRhZz46
OkZ1bmN0aW9uUHRyKE1hY3JvQXNzZW1ibGVyQ29kZVB0cjx0YWc+IHB0cikKIG5hbWVzcGFjZSBX
VEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0
ZTxKU0M6OlB0clRhZyB0YWc+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok1hY3JvQXNzZW1ibGVy
Q29kZVB0cjx0YWc+PiB7Ci0gICAgdHlwZWRlZiBKU0M6Ok1hY3JvQXNzZW1ibGVyQ29kZVB0ckhh
c2g8dGFnPiBIYXNoOwotfTsKK3RlbXBsYXRlPEpTQzo6UHRyVGFnIHRhZz4gc3RydWN0IERlZmF1
bHRIYXNoPEpTQzo6TWFjcm9Bc3NlbWJsZXJDb2RlUHRyPHRhZz4+IDogSlNDOjpNYWNyb0Fzc2Vt
YmxlckNvZGVQdHJIYXNoPHRhZz4geyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
SGFzaFRyYWl0czsKIHRlbXBsYXRlPEpTQzo6UHRyVGFnIHRhZz4gc3RydWN0IEhhc2hUcmFpdHM8
SlNDOjpNYWNyb0Fzc2VtYmxlckNvZGVQdHI8dGFnPj4gOiBwdWJsaWMgQ3VzdG9tSGFzaFRyYWl0
czxKU0M6Ok1hY3JvQXNzZW1ibGVyQ29kZVB0cjx0YWc+PiB7IH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDaGVja1NwZWNpYWwuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM0NoZWNrU3BlY2lhbC5oCmluZGV4IGM5ZGU1ZjhmZTBlMGEyMWFiNjRhMjhmYzhh
NjUwMWZlMmE2NzViMTUuLjc1OWE5YjdkYTEyNmE2OTdlMGU4NGFkODhjODc3MGFiMWIwMWQyNTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrU3BlY2lhbC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NoZWNrU3BlY2lhbC5oCkBAIC0xNDksOSAr
MTQ5LDcgQEAgc3RydWN0IENoZWNrU3BlY2lhbEtleUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPEpTQzo6QjM6OkNoZWNrU3BlY2lhbDo6S2V5PiB7Ci0gICAgdHlwZWRl
ZiBKU0M6OkIzOjpDaGVja1NwZWNpYWxLZXlIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpCMzo6Q2hlY2tTcGVjaWFsOjpLZXk+IDogSlNDOjpCMzo6Q2hl
Y2tTcGVjaWFsS2V5SGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNo
VHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkIzOjpDaGVja1NwZWNp
YWw6OktleT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpCMzo6Q2hlY2tTcGVjaWFsOjpL
ZXk+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0tpbmQuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0tpbmQuaAppbmRleCBiZDU0NmRiNDFlMjYyYjA1YmMw
NGExNWFiYTFjOTEwYmFiMjc2OWZlLi4xZDE4NzEwNDAwM2Q0ZWI0NjM0YzMwYmZmYTBjY2NlZDc4
MGI5YmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNLaW5kLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzS2luZC5oCkBAIC0yMTksOSArMjE5LDcgQEAg
c3RydWN0IEtpbmRIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6
OkIzOjpLaW5kPiB7Ci0gICAgdHlwZWRlZiBKU0M6OkIzOjpLaW5kSGFzaCBIYXNoOwotfTsKK3Rl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6QjM6OktpbmQ+IDogSlNDOjpCMzo6S2lu
ZEhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRl
bXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpCMzo6S2luZD4gOiBwdWJsaWMgU2ltcGxl
Q2xhc3NIYXNoVHJhaXRzPEpTQzo6QjM6OktpbmQ+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1ZhbHVlS2V5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNW
YWx1ZUtleS5oCmluZGV4IGI5Mzg1MTNmODE1OGI1N2NlMzZhMTk0MzBhYWJhNDk5OTllYjc0NDAu
LmIzMzQ5N2FhMmRjYjQ4NWZmNWYxMWEzMGNjZGNlMmJmMTBhMjhhNmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlS2V5LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL0IzVmFsdWVLZXkuaApAQCAtMTg2LDkgKzE4Niw3IEBAIHN0cnVjdCBWYWx1ZUtl
eUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBE
ZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6QjM6OlZhbHVl
S2V5PiB7Ci0gICAgdHlwZWRlZiBKU0M6OkIzOjpWYWx1ZUtleUhhc2ggSGFzaDsKLX07Cit0ZW1w
bGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkIzOjpWYWx1ZUtleT4gOiBKU0M6OkIzOjpW
YWx1ZUtleUhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0
czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpCMzo6VmFsdWVLZXk+IDogcHVi
bGljIFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OkIzOjpWYWx1ZUtleT4gewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3Jh
cGhDb2xvcmluZy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRl
UmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcAppbmRleCA2MjNhNDdhYzA4ZmI1MTBiYWQ0YWFm
NDJlYTM4ZDc0NGUxODhmMDdjLi5hOGZkODMzMGIwODc5MGMyNzYzMDFkMjk2OGExZTZmYWQ0ZWQ1
Y2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRl
UmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcApAQCAtNTU5LDkg
KzU1OSw5IEBAIHByb3RlY3RlZDoKICAgICBWZWN0b3I8VmVjdG9yPEluZGV4VHlwZSwgMCwgVW5z
YWZlVmVjdG9yT3ZlcmZsb3csIDQ+LCAwLCBVbnNhZmVWZWN0b3JPdmVyZmxvdz4gbV9hZGphY2Vu
Y3lMaXN0OwogICAgIFZlY3RvcjxJbmRleFR5cGUsIDAsIFVuc2FmZVZlY3Rvck92ZXJmbG93PiBt
X2RlZ3JlZXM7CiAKLSAgICB1c2luZyBJbmRleFR5cGVTZXQgPSBIYXNoU2V0PEluZGV4VHlwZSwg
dHlwZW5hbWUgRGVmYXVsdEhhc2g8SW5kZXhUeXBlPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czxJbmRleFR5cGU+PjsKKyAgICB1c2luZyBJbmRleFR5cGVTZXQgPSBI
YXNoU2V0PEluZGV4VHlwZSwgRGVmYXVsdEhhc2g8SW5kZXhUeXBlPiwgV1RGOjpVbnNpZ25lZFdp
dGhaZXJvS2V5SGFzaFRyYWl0czxJbmRleFR5cGU+PjsKIAotICAgIEhhc2hNYXA8SW5kZXhUeXBl
LCBJbmRleFR5cGVTZXQsIHR5cGVuYW1lIERlZmF1bHRIYXNoPEluZGV4VHlwZT46Okhhc2gsIFdU
Rjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8SW5kZXhUeXBlPj4gbV9iaWFzZXM7Cisg
ICAgSGFzaE1hcDxJbmRleFR5cGUsIEluZGV4VHlwZVNldCwgRGVmYXVsdEhhc2g8SW5kZXhUeXBl
PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxJbmRleFR5cGU+PiBtX2JpYXNl
czsKIAogICAgIC8vIEluc3RlYWQgb2Yga2VlcGluZyB0cmFjayBvZiB0aGUgbW92ZSBpbnN0cnVj
dGlvbnMsIHdlIGp1c3Qga2VlcCB0aGVpciBvcGVyYW5kcyBhcm91bmQgYW5kIHVzZSB0aGUgaW5k
ZXgKICAgICAvLyBpbiB0aGUgdmVjdG9yIGFzIHRoZSAiaWRlbnRpZmllciIgZm9yIHRoZSBtb3Zl
LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBcmcuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQXJnLmgKaW5kZXggYmY5YWU1ZTEyOGU3OTVj
OTIzMTY4Yzc2Yzc0NDI1ZmI4OTE0YjQ5MC4uYTBkYTcxODg3Y2QyNjg1ZGU5OTYzMWU5MWE0NDc2
MjZhM2MwYzQ4YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJB
cmcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFyZy5oCkBAIC0xNDgy
LDkgKzE0ODIsNyBAQCBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRT
dHJlYW0mLCBKU0M6OkIzOjpBaXI6OkFyZzo6Um9sZSk7CiBKU19FWFBPUlRfUFJJVkFURSB2b2lk
IHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBKU0M6OkIzOjpBaXI6OkFyZzo6U2lnbmVkbmVz
cyk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRl
PD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6QjM6OkFpcjo6QXJnPiB7Ci0gICAgdHlwZWRlZiBK
U0M6OkIzOjpBaXI6OkFyZ0hhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0
SGFzaDxKU0M6OkIzOjpBaXI6OkFyZz4gOiBKU0M6OkIzOjpBaXI6OkFyZ0hhc2ggeyB9OwogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0
IEhhc2hUcmFpdHM8SlNDOjpCMzo6QWlyOjpBcmc+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpT
Qzo6QjM6OkFpcjo6QXJnPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
YWlyL0FpclRtcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJUbXAuaAppbmRl
eCAwMGUzOWRmYTVkMjc2Njk4ZTllZWY3NDI1Y2VjMTU1ZWIxY2RkNDIwLi4xZWMwZjM2MjI0MTkw
ZmM5NjBjM2NkZGZkYjc3NmU1OTU2YjllYTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvYWlyL0FpclRtcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIv
QWlyVG1wLmgKQEAgLTMzMCw5ICszMzAsNyBAQCBzdHJ1Y3QgVG1wSGFzaCB7CiBuYW1lc3BhY2Ug
V1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxh
dGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpCMzo6QWlyOjpUbXA+IHsKLSAgICB0eXBlZGVm
IEpTQzo6QjM6OkFpcjo6VG1wSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPEpTQzo6QjM6OkFpcjo6VG1wPiA6IEpTQzo6QjM6OkFpcjo6VG1wSGFzaCB7IH07CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1
Y3QgSGFzaFRyYWl0czxKU0M6OkIzOjpBaXI6OlRtcD4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8
SlNDOjpCMzo6QWlyOjpUbXA+IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9CeXRlY29kZUluZGV4LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQnl0ZWNvZGVJbmRleC5oCmluZGV4IDliYzg0MzRlMGY5YjM4YjI4YTFiODExZTBlMDFmZWUy
MDFiOGJiODguLmQxNDc1NDE4MzI0NzI1NTQ4NzU5OWFlOWI0NjIwNWI2ZDVkN2RlMjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUluZGV4LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW5kZXguaApAQCAtMTEz
LDkgKzExMyw3IEBAIHN0cnVjdCBCeXRlY29kZUluZGV4SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsK
IAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpCeXRlY29kZUluZGV4PiB7Ci0gICAgdHlwZWRlZiBKU0M6
OkJ5dGVjb2RlSW5kZXhIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8SlNDOjpCeXRlY29kZUluZGV4PiA6IEpTQzo6Qnl0ZWNvZGVJbmRleEhhc2ggeyB9OwogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0
IEhhc2hUcmFpdHM8SlNDOjpCeXRlY29kZUluZGV4PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxK
U0M6OkJ5dGVjb2RlSW5kZXg+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9DYWxsVmFyaWFudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nh
bGxWYXJpYW50LmgKaW5kZXggNGMxMDFlZjI5N2MzNWJiMGQ2OTNiYWFmNDg4OTQzZDM3OTJmYzdl
NS4uMzkyODBlOWZhZmNjMTNhYjg4OWZjNTg2Y2UzMDAzYmU2MGRmZDVjYSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxWYXJpYW50LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxWYXJpYW50LmgKQEAgLTIxMiw5ICsyMTIsNyBA
QCBDYWxsVmFyaWFudExpc3QgZGVzcGVjaWZpZWRWYXJpYW50TGlzdChjb25zdCBDYWxsVmFyaWFu
dExpc3QmKTsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkNhbGxWYXJp
YW50PiB7Ci0gICAgdHlwZWRlZiBKU0M6OkNhbGxWYXJpYW50SGFzaCBIYXNoOwotfTsKK3RlbXBs
YXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6Q2FsbFZhcmlhbnQ+IDogSlNDOjpDYWxsVmFy
aWFudEhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsK
IHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpDYWxsVmFyaWFudD4gOiBTaW1wbGVD
bGFzc0hhc2hUcmFpdHM8SlNDOjpDYWxsVmFyaWFudD4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlT3JpZ2luLmgKaW5kZXggY2I0MjMwZTFlY2I2Njc4YWJlZmFjZjM3
MmJlNTgxMmU4YzgwY2E1OS4uYjJkODNmYWQ4ZGJkMDk4YTU1MjI4MWFiZTVjODAzMzQyYThhYWIw
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4u
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZU9yaWdpbi5oCkBAIC0y
OTcsOSArMjk3LDcgQEAgc3RydWN0IENvZGVPcmlnaW5BcHByb3hpbWF0ZUhhc2ggewogbmFtZXNw
YWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6Q29kZU9yaWdpbj4gewotICAgIHR5cGVk
ZWYgSlNDOjpDb2RlT3JpZ2luSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPEpTQzo6Q29kZU9yaWdpbj4gOiBKU0M6OkNvZGVPcmlnaW5IYXNoIHsgfTsKIAogdGVt
cGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBI
YXNoVHJhaXRzPEpTQzo6Q29kZU9yaWdpbj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpD
b2RlT3JpZ2luPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
REZHRXhpdFByb2ZpbGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0
UHJvZmlsZS5oCmluZGV4IGY4MDc3YmNjNjQwOWM5YmM4NTUxZDBlM2Q2YTYzMDAwYmZiZGIzZWEu
Ljg5ZTA4ZmI1ZDY3ZTQxMjYxMzYyODljODk1NGY2ODkxNDdhZTU4YmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0UHJvZmlsZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0UHJvZmlsZS5oCkBAIC0xNTUsOSArMTU1
LDcgQEAgc3RydWN0IEZyZXF1ZW50RXhpdFNpdGVIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6RnJlcXVlbnRFeGl0U2l0ZT4gewotICAgIHR5cGVkZWYg
SlNDOjpERkc6OkZyZXF1ZW50RXhpdFNpdGVIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OkZyZXF1ZW50RXhpdFNpdGU+IDogSlNDOjpERkc6OkZy
ZXF1ZW50RXhpdFNpdGVIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhh
c2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6REZHOjpGcmVxdWVu
dEV4aXRTaXRlPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OkRGRzo6RnJlcXVlbnRFeGl0
U2l0ZT4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xh
enlPcGVyYW5kVmFsdWVQcm9maWxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
TGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaAppbmRleCA4MWY1YTBjNDg5YzRlZjZkZGNiYTZlMWI0
NjJkNzJkOWU5ODY0NmQ3Li4xYTRjZTFhNmZjODg4MjkzY2M2NWRmMWZhNTIzYmE4MzBmNTYyNDI0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGF6eU9wZXJhbmRW
YWx1ZVByb2ZpbGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGF6eU9w
ZXJhbmRWYWx1ZVByb2ZpbGUuaApAQCAtMTA3LDkgKzEwNyw3IEBAIHN0cnVjdCBMYXp5T3BlcmFu
ZFZhbHVlUHJvZmlsZUtleUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PEpTQzo6TGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGVLZXk+IHsKLSAgICB0eXBlZGVmIEpTQzo6TGF6
eU9wZXJhbmRWYWx1ZVByb2ZpbGVLZXlIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8SlNDOjpMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZUtleT4gOiBKU0M6OkxhenlP
cGVyYW5kVmFsdWVQcm9maWxlS2V5SGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0
cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkxhenlP
cGVyYW5kVmFsdWVQcm9maWxlS2V5PiA6IHB1YmxpYyBHZW5lcmljSGFzaFRyYWl0czxKU0M6Okxh
enlPcGVyYW5kVmFsdWVQcm9maWxlS2V5PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb24uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oCmluZGV4IGQ4MTQxNWVh
NmU1ZjhjNTU5NGQzMmY0M2VhYTY0ZTg3ZTkyYmI1NWQuLmNmZWI0ZjViNTVmZTU1ZjlmMTY0NDVh
MmJlOWNiOTUxNDdjODQ4MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oCkBAIC0yOTIsOSArMjkyLDcgQEAg
c3RydWN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uSGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAog
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbj4gewotICAgIHR5cGVk
ZWYgSlNDOjpPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbkhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok9iamVjdFByb3BlcnR5Q29uZGl0aW9uPiA6IEpTQzo6
T2JqZWN0UHJvcGVydHlDb25kaXRpb25IYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6T2Jq
ZWN0UHJvcGVydHlDb25kaXRpb24+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6T2JqZWN0
UHJvcGVydHlDb25kaXRpb24+IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmgKaW5kZXggZDMyMGE0ZDVmZGNjNTgxZWRjYzcyNzEw
NWY5MjFkYjIwNzYwY2FlMy4uNmViNzY1M2Y2NjQ3MmJhYWQ4Yjg2Mzg4OGJjNmIxZGI4YWJiMmYy
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29u
ZGl0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29u
ZGl0aW9uLmgKQEAgLTM2MSw5ICszNjEsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQgcHJpbnRJ
bnRlcm5hbChQcmludFN0cmVhbSYsIEpTQzo6UHJvcGVydHlDb25kaXRpb246OktpbmQpOwogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxKU0M6OlByb3BlcnR5Q29uZGl0aW9uPiB7Ci0gICAgdHlwZWRlZiBKU0M6
OlByb3BlcnR5Q29uZGl0aW9uSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPEpTQzo6UHJvcGVydHlDb25kaXRpb24+IDogSlNDOjpQcm9wZXJ0eUNvbmRpdGlvbkhh
c2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBs
YXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpQcm9wZXJ0eUNvbmRpdGlvbj4gOiBTaW1wbGVD
bGFzc0hhc2hUcmFpdHM8SlNDOjpQcm9wZXJ0eUNvbmRpdGlvbj4geyB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEhlYXAuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RIZWFwLmgKaW5kZXggNDQ2NjUzZTAwODliMDVhMmE2
MzAzYzBkY2Y4N2Y3ZmVlMTRlZWRlMy4uZmY4NGY2YjdjMGQ5MGZjNGNiMTRjNzg3Y2QwZjFiNDNl
N2RiZGNhOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFj
dEhlYXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SGVhcC5o
CkBAIC0zNTIsOSArMzUyLDcgQEAgbmFtZXNwYWNlIFdURiB7CiB2b2lkIHByaW50SW50ZXJuYWwo
UHJpbnRTdHJlYW0mLCBKU0M6OkRGRzo6QWJzdHJhY3RIZWFwS2luZCk7CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPEpTQzo6REZHOjpBYnN0cmFjdEhlYXA+IHsKLSAgICB0eXBlZGVmIEpTQzo6REZHOjpBYnN0
cmFjdEhlYXBIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlND
OjpERkc6OkFic3RyYWN0SGVhcD4gOiBKU0M6OkRGRzo6QWJzdHJhY3RIZWFwSGFzaCB7IH07CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1
Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6QWJzdHJhY3RIZWFwPiA6IFNpbXBsZUNsYXNzSGFzaFRy
YWl0czxKU0M6OkRGRzo6QWJzdHJhY3RIZWFwPiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcAppbmRl
eCAyZTk4YTI3NTNjODYzZDVkNzc2MDUyNDdhNjgwYjVlNzQ4OWIxMjExLi42YjM2MTk5NWUyZDg1
NmNjY2M4NGM5OTUyZmQwY2QzY2NiNTNhYzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHAKQEAgLTUw
NSw3ICs1MDUsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAg
IAotICAgICAgICB1c2luZyBJbmxpbmVDYWxsRnJhbWVzID0gSGFzaFNldDxJbmxpbmVDYWxsRnJh
bWUqLCBXVEY6OkRlZmF1bHRIYXNoPElubGluZUNhbGxGcmFtZSo+OjpIYXNoLCBXVEY6Ok51bGxh
YmxlSGFzaFRyYWl0czxJbmxpbmVDYWxsRnJhbWUqPj47CisgICAgICAgIHVzaW5nIElubGluZUNh
bGxGcmFtZXMgPSBIYXNoU2V0PElubGluZUNhbGxGcmFtZSosIFdURjo6RGVmYXVsdEhhc2g8SW5s
aW5lQ2FsbEZyYW1lKj4sIFdURjo6TnVsbGFibGVIYXNoVHJhaXRzPElubGluZUNhbGxGcmFtZSo+
PjsKICAgICAgICAgdXNpbmcgSW5saW5lQ2FsbEZyYW1lc0ZvckNhbmRpdGF0ZXMgPSBIYXNoTWFw
PE5vZGUqLCBJbmxpbmVDYWxsRnJhbWVzPjsKICAgICAgICAgSW5saW5lQ2FsbEZyYW1lc0ZvckNh
bmRpdGF0ZXMgaW5saW5lQ2FsbEZyYW1lc0ZvckNhbmRpZGF0ZTsKICAgICAgICAgYXV0byBmb3JF
YWNoRGVwZW5kZW50Tm9kZSA9IHJlY3Vyc2FibGVMYW1iZGEoWyZdKGF1dG8gc2VsZiwgTm9kZSog
bm9kZSwgY29uc3QgYXV0byYgZnVuY3RvcikgLT4gdm9pZCB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IGYzZjNhZmNlY2U4MWU5MGMx
NTZjYjAwMzYxZjE0ZGVjMjE2OGE5NTkuLjNmNTJiMDU3ZTBkOTI2MTZkMGQzZGZhODM3OTk2OWJk
OWFjZTkyNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQ
YXJzZXIuY3BwCkBAIC0xMTQ0LDcgKzExNDQsNyBAQCBwcml2YXRlOgogICAgIEZyb3plblZhbHVl
KiBtX2NvbnN0YW50T25lOwogICAgIFZlY3RvcjxOb2RlKiwgMTY+IG1fY29uc3RhbnRzOwogCi0g
ICAgSGFzaE1hcDxJbmxpbmVDYWxsRnJhbWUqLCBWZWN0b3I8QXJndW1lbnRQb3NpdGlvbio+LCBX
VEY6OkRlZmF1bHRIYXNoPElubGluZUNhbGxGcmFtZSo+OjpIYXNoLCBXVEY6Ok51bGxhYmxlSGFz
aFRyYWl0czxJbmxpbmVDYWxsRnJhbWUqPj4gbV9pbmxpbmVDYWxsRnJhbWVUb0FyZ3VtZW50UG9z
aXRpb25zOworICAgIEhhc2hNYXA8SW5saW5lQ2FsbEZyYW1lKiwgVmVjdG9yPEFyZ3VtZW50UG9z
aXRpb24qPiwgV1RGOjpEZWZhdWx0SGFzaDxJbmxpbmVDYWxsRnJhbWUqPiwgV1RGOjpOdWxsYWJs
ZUhhc2hUcmFpdHM8SW5saW5lQ2FsbEZyYW1lKj4+IG1faW5saW5lQ2FsbEZyYW1lVG9Bcmd1bWVu
dFBvc2l0aW9uczsKIAogICAgIC8vIFRoZSBudW1iZXIgb2YgYXJndW1lbnRzIHBhc3NlZCB0byB0
aGUgZnVuY3Rpb24uCiAgICAgdW5zaWduZWQgbV9udW1Bcmd1bWVudHM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NTRVBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3BwCmluZGV4IDBjMDAxYzU4MTg3MzU4ZTY3NWE3YzAw
MWEwZjA1YTcwNzc5Zjk1NTcuLjY3ODI1OGRlYmUxZjVkNzZmNzE3ZTczY2QxN2FhOWM2NWFmZDBk
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3BwCkBAIC02Myw3
ICs2Myw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBoYXNoOwogfTsKIAotc3RydWN0IEltcHVy
ZURhdGFTbG90SGFzaCA6IHB1YmxpYyBEZWZhdWx0SGFzaDxzdGQ6OnVuaXF1ZV9wdHI8SW1wdXJl
RGF0YVNsb3Q+Pjo6SGFzaCB7CitzdHJ1Y3QgSW1wdXJlRGF0YVNsb3RIYXNoIDogcHVibGljIERl
ZmF1bHRIYXNoPHN0ZDo6dW5pcXVlX3B0cjxJbXB1cmVEYXRhU2xvdD4+IHsKICAgICBzdGF0aWMg
dW5zaWduZWQgaGFzaChjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8SW1wdXJlRGF0YVNsb3Q+JiBrZXkp
CiAgICAgewogICAgICAgICByZXR1cm4ga2V5LT5oYXNoOwpAQCAtMjk0LDcgKzI5NCw3IEBAIHBy
aXZhdGU6CiAgICAgLy8gYSBkdXBsaWNhdGUgaW4gdGhlIHBhc3QgYW5kIG5vdyBvbmx5IGxpdmUg
aW4gbV9mYWxsYmFja1N0YWNrTWFwLgogICAgIC8vCiAgICAgLy8gT2J2aW91c2x5LCBUT1AgYWx3
YXlzIGdvZXMgaW50byBtX2ZhbGxiYWNrU3RhY2tNYXAgc2luY2UgaXQgZG9lcyBub3QgaGF2ZSBh
IHVuaXF1ZSB2YWx1ZS4KLSAgICBIYXNoTWFwPGludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxJbXB1
cmVEYXRhU2xvdD4sIERlZmF1bHRIYXNoPGludDY0X3Q+OjpIYXNoLCBXVEY6OlNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czxpbnQ2NF90Pj4gbV9hYnN0cmFjdEhlYXBTdGFja01hcDsKKyAgICBI
YXNoTWFwPGludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxJbXB1cmVEYXRhU2xvdD4sIERlZmF1bHRI
YXNoPGludDY0X3Q+LCBXVEY6OlNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxpbnQ2NF90Pj4g
bV9hYnN0cmFjdEhlYXBTdGFja01hcDsKICAgICBNYXAgbV9mYWxsYmFja1N0YWNrTWFwOwogCiAg
ICAgTWFwIG1faGVhcE1hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQ29tcGlsYXRpb25LZXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tcGls
YXRpb25LZXkuaAppbmRleCA1ODMyZjZjNjM3NWJmODJmMWQzN2ViZWEzZWRhNDY4NWFkYzEwNjk4
Li4wZDQ2ZjVlZGEzOWEwNjc1MzdjNmM4MGU5MTJjNGNhNmQyMzgxNzI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbXBpbGF0aW9uS2V5LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21waWxhdGlvbktleS5oCkBAIC05Nyw5ICs5Nyw3IEBA
IHN0cnVjdCBDb21waWxhdGlvbktleUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPEpTQzo6REZHOjpDb21waWxhdGlvbktleT4gewotICAgIHR5cGVkZWYgSlNDOjpERkc6
OkNvbXBpbGF0aW9uS2V5SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPEpTQzo6REZHOjpDb21waWxhdGlvbktleT4gOiBKU0M6OkRGRzo6Q29tcGlsYXRpb25LZXlI
YXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1w
bGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6REZHOjpDb21waWxhdGlvbktleT4gOiBTaW1w
bGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpERkc6OkNvbXBpbGF0aW9uS2V5PiB7IH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRHbG9iYWxQcm9wZXJ0eS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkR2xvYmFsUHJvcGVydHkuaApp
bmRleCBhNjM5MzMzMmQ4MzA2ZTQ2NjgwZjExZDg3ZThkYjFhN2QxMWJkNTg5Li4xYTUyODA2OGM2
YmQwOGE4MzI3YjkyNTI3OGY1NmI3NzYxZWFiNjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRHbG9iYWxQcm9wZXJ0eS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZEdsb2JhbFByb3BlcnR5LmgKQEAgLTEwMiw5ICsxMDIs
NyBAQCBzdHJ1Y3QgRGVzaXJlZEdsb2JhbFByb3BlcnR5SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsK
IAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OkRlc2lyZWRHbG9iYWxQcm9wZXJ0eT4gewotICAg
IHR5cGVkZWYgSlNDOjpERkc6OkRlc2lyZWRHbG9iYWxQcm9wZXJ0eUhhc2ggSGFzaDsKLX07Cit0
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6RGVzaXJlZEdsb2JhbFByb3Bl
cnR5PiA6IEpTQzo6REZHOjpEZXNpcmVkR2xvYmFsUHJvcGVydHlIYXNoIHsgfTsKIAogdGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNo
VHJhaXRzPEpTQzo6REZHOjpEZXNpcmVkR2xvYmFsUHJvcGVydHk+IDogU2ltcGxlQ2xhc3NIYXNo
VHJhaXRzPEpTQzo6REZHOjpEZXNpcmVkR2xvYmFsUHJvcGVydHk+IHsgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSGVhcExvY2F0aW9uLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0hlYXBMb2NhdGlvbi5oCmluZGV4IGI1Y2VkMTM5ZjQ4YTBiYmIw
NzIzZDQwOGU0MzBiYTNiMGY3OWM2OTQuLjQ0NDI5YTY3YjZmNTIxOGRkMGFjY2M5MzRiNzc2NGFl
YjhkNWQ3ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSGVhcExv
Y2F0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdIZWFwTG9jYXRpb24u
aApAQCAtMTg2LDkgKzE4Niw3IEBAIG5hbWVzcGFjZSBXVEYgewogdm9pZCBwcmludEludGVybmFs
KFByaW50U3RyZWFtJiwgSlNDOjpERkc6OkxvY2F0aW9uS2luZCk7CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PEpTQzo6REZHOjpIZWFwTG9jYXRpb24+IHsKLSAgICB0eXBlZGVmIEpTQzo6REZHOjpIZWFwTG9j
YXRpb25IYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpE
Rkc6OkhlYXBMb2NhdGlvbj4gOiBKU0M6OkRGRzo6SGVhcExvY2F0aW9uSGFzaCB7IH07CiAKIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3Qg
SGFzaFRyYWl0czxKU0M6OkRGRzo6SGVhcExvY2F0aW9uPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0
czxKU0M6OkRGRzo6SGVhcExvY2F0aW9uPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0xpdmVuZXNzQW5hbHlzaXNQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0xpdmVuZXNzQW5hbHlzaXNQaGFzZS5jcHAKaW5kZXggNDNhNjJmYjM3MmY4
NTU0NmNjN2ZjN2RkMDgxMDdiZDIyZDM1MjNjZi4uMTAwMTE4MzNiMjQ3MWVlNWIxYjYwZjIyMDE2
ZWVmMGY0ZTZkZjZhOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdM
aXZlbmVzc0FuYWx5c2lzUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTGl2ZW5lc3NBbmFseXNpc1BoYXNlLmNwcApAQCAtNDEsMTAgKzQxLDEwIEBAIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKIG5hbWVzcGFjZSB7CiAKIC8vIFVuY29tbWVudCB0aGlz
IHRvIGxvZyBoYXNodGFibGUgb3BlcmF0aW9ucy4KLS8vIHN0YXRpYyBjb25zdCBjaGFyIHRlbXBs
YXRlU3RyaW5nW10gPSAidW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwgV1RG
OjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4iOwotLy8gdHlwZWRlZiBM
b2dnaW5nSGFzaFNldDx0ZW1wbGF0ZVN0cmluZywgdW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2ln
bmVkPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+
IExpdmVTZXQ7CisvLyBzdGF0aWMgY29uc3QgY2hhciB0ZW1wbGF0ZVN0cmluZ1tdID0gInVuc2ln
bmVkLCBEZWZhdWx0SGFzaDx1bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hU
cmFpdHM8dW5zaWduZWQ+IjsKKy8vIHR5cGVkZWYgTG9nZ2luZ0hhc2hTZXQ8dGVtcGxhdGVTdHJp
bmcsIHVuc2lnbmVkLCBEZWZhdWx0SGFzaDx1bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVy
b0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiBMaXZlU2V0OwogCi10eXBlZGVmIEhhc2hTZXQ8dW5z
aWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJv
S2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IExpdmVTZXQ7Cit0eXBlZGVmIEhhc2hTZXQ8dW5zaWdu
ZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRy
YWl0czx1bnNpZ25lZD4+IExpdmVTZXQ7CiAKIHR5cGVkZWYgSW5kZXhTcGFyc2VTZXQ8dW5zaWdu
ZWQsIERlZmF1bHRJbmRleFNwYXJzZVNldFRyYWl0czx1bnNpZ25lZD4sIFVuc2FmZVZlY3Rvck92
ZXJmbG93PiBXb3Jrc2V0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR01pbmlmaWVkSUQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTWluaWZpZWRJ
RC5oCmluZGV4IGNiNzFmMWI5ZTA4OTRiMjJlYjhiYjljNjM5YzZhZjc1YzZmNWE1MzEuLjE2NzI4
NjEwMjcwMGJjN2I2NzQ2YzY0NzE4ZGI1ZTM5NzI0NzMyNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTWluaWZpZWRJRC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTWluaWZpZWRJRC5oCkBAIC04Nyw5ICs4Nyw3IEBAIHN0cnVjdCBNaW5pZmll
ZElESGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0
IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6Ok1p
bmlmaWVkSUQ+IHsKLSAgICB0eXBlZGVmIEpTQzo6REZHOjpNaW5pZmllZElESGFzaCBIYXNoOwot
fTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpNaW5pZmllZElEPiA6
IEpTQzo6REZHOjpNaW5pZmllZElESGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0
cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6
TWluaWZpZWRJRD4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpERkc6Ok1pbmlmaWVkSUQ+
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZUZsb3dQcm9q
ZWN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVGbG93UHJvamVjdGlv
bi5oCmluZGV4IDgyOGUzMWI2ZjlmMDExZTMzZGEzZjhhNjU0OGNjNmE3Mzg4MTI3MGIuLjM0OTcx
ZWFiZTNmOTY1ZjQ3YzI2ZTU2YTliNWEzMWIwNzk0YTliZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZUZsb3dQcm9qZWN0aW9uLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlRmxvd1Byb2plY3Rpb24uaApAQCAtMTQyLDkgKzE0Miw3
IEBAIHN0cnVjdCBOb2RlRmxvd1Byb2plY3Rpb25IYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6Tm9kZUZsb3dQcm9qZWN0aW9uPiB7Ci0gICAgdHlwZWRl
ZiBKU0M6OkRGRzo6Tm9kZUZsb3dQcm9qZWN0aW9uSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpOb2RlRmxvd1Byb2plY3Rpb24+IDogSlNDOjpE
Rkc6Ok5vZGVGbG93UHJvamVjdGlvbkhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpERkc6
Ok5vZGVGbG93UHJvamVjdGlvbj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpERkc6Ok5v
ZGVGbG93UHJvamVjdGlvbj4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQcm9tb3RlZEhlYXBMb2NhdGlvbi5oCmluZGV4IGUwYzMxYzIzNmU1NGU3NWRiZDNkN2Vm
NGFkYWMwYWQ3ZWMxNmY1MjUuLjRmMTI1MjMzODQyMTUxNDk3NjEyZWExOGY3YmY1NWU0MzhiMTVi
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZWRIZWFw
TG9jYXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21vdGVkSGVh
cExvY2F0aW9uLmgKQEAgLTIxNSw5ICsyMTUsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQgcHJp
bnRJbnRlcm5hbChQcmludFN0cmVhbSYsIEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uS2luZCk7
CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQcm9tb3RlZEhlYXBMb2NhdGlvbj4gewotICAg
IHR5cGVkZWYgSlNDOjpERkc6OlByb21vdGVkSGVhcExvY2F0aW9uSGFzaCBIYXNoOwotfTsKK3Rl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQcm9tb3RlZEhlYXBMb2NhdGlv
bj4gOiBKU0M6OkRGRzo6UHJvbW90ZWRIZWFwTG9jYXRpb25IYXNoIHsgfTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPEpTQzo6REZHOjpQcm9tb3RlZEhlYXBMb2NhdGlvbj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFp
dHM8SlNDOjpERkc6OlByb21vdGVkSGVhcExvY2F0aW9uPiB7CkBAIC0yMjUsOSArMjIzLDcgQEAg
dGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OkRGRzo6UHJvbW90ZWRIZWFwTG9jYXRp
b24+IDogU2ltcGxlQ2xhc3NIYXNoVHIKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVj
dCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQ
cm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcj4gewotICAgIHR5cGVkZWYgSlNDOjpERkc6OlByb21v
dGVkTG9jYXRpb25EZXNjcmlwdG9ySGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPEpTQzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcj4gOiBKU0M6OkRG
Rzo6UHJvbW90ZWRMb2NhdGlvbkRlc2NyaXB0b3JIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5h
bWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpT
Qzo6REZHOjpQcm9tb3RlZExvY2F0aW9uRGVzY3JpcHRvcj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFp
dHM8SlNDOjpERkc6OlByb21vdGVkTG9jYXRpb25EZXNjcmlwdG9yPiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb3BlcnR5VHlwZUtleS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9wZXJ0eVR5cGVLZXkuaAppbmRleCAxYjc5NDI0ZDRjZjA4
YzcxZmJjNmRkNzUyODVhMjJlY2VlNjZlZWQyLi43ODc5M2I4ZTkyNTMwNjc5OWIwMWNkMGI4N2Q5
MTViMTg1N2FlMzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1By
b3BlcnR5VHlwZUtleS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvcGVy
dHlUeXBlS2V5LmgKQEAgLTExMSw5ICsxMTEsNyBAQCBzdHJ1Y3QgUHJvcGVydHlUeXBlS2V5SGFz
aCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1
bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpERkc6OlByb3BlcnR5
VHlwZUtleT4gewotICAgIHR5cGVkZWYgSlNDOjpERkc6OlByb3BlcnR5VHlwZUtleUhhc2ggSGFz
aDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkRGRzo6UHJvcGVydHlU
eXBlS2V5PiA6IEpTQzo6REZHOjpQcm9wZXJ0eVR5cGVLZXlIYXNoIHsgfTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPEpTQzo6REZHOjpQcm9wZXJ0eVR5cGVLZXk+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpT
Qzo6REZHOjpQcm9wZXJ0eVR5cGVLZXk+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHUHVyZVZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1B1
cmVWYWx1ZS5oCmluZGV4IGI1ZWViZDcyMjg1NjU5M2UxMDNjMWQ2YmJiYzgyYTVhNGY4NjYwMGMu
LjZmNDJkZDNkOWE1YmRkMDk2YjI1M2JmMDU5ZDUyNWIyOTFiMDg4YTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHVyZVZhbHVlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdQdXJlVmFsdWUuaApAQCAtMTUzLDkgKzE1Myw3IEBAIHN0cnVjdCBQ
dXJlVmFsdWVIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkRG
Rzo6UHVyZVZhbHVlPiB7Ci0gICAgdHlwZWRlZiBKU0M6OkRGRzo6UHVyZVZhbHVlSGFzaCBIYXNo
OwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6REZHOjpQdXJlVmFsdWU+
IDogSlNDOjpERkc6OlB1cmVWYWx1ZUhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpERkc6
OlB1cmVWYWx1ZT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpERkc6OlB1cmVWYWx1ZT4g
ewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb2NhdGlvbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb2NhdGlvbi5oCmluZGV4IDExOTU5ZGQ2Njky
NTQ3Y2FjNTk5NjM1MTExY2U2M2EwMTE3NTMyM2EuLmJkNGI0MTY1ZWM4MmJjM2FiNTcxYzgwZjQ0
ZTU1YWE5M2JlN2QwZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG9jYXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvY2F0aW9uLmgK
QEAgLTIwMSw5ICsyMDEsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQgcHJpbnRJbnRlcm5hbChQ
cmludFN0cmVhbSYsIEpTQzo6RlRMOjpMb2NhdGlvbjo6S2luZCk7CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PEpTQzo6RlRMOjpMb2NhdGlvbj4gewotICAgIHR5cGVkZWYgSlNDOjpGVEw6OkxvY2F0aW9uSGFz
aCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6RlRMOjpMb2Nh
dGlvbj4gOiBKU0M6OkZUTDo6TG9jYXRpb25IYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUg
VD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6
RlRMOjpMb2NhdGlvbj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpGVEw6OkxvY2F0aW9u
PiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9CMy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAK
aW5kZXggZWM3YTU0NmExMWU5MmVhNjQxZDk4MDc5MDE3ODQ3ZDljNGY4ZjMzZi4uZDRjODA1MWYy
ZGJlZGUyNDk4NTYwYWNmMWFkYTRkOGYzNTk2ZjFiZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcApAQCAtNjgyOCw3ICs2ODI4LDcgQEAgcHJpdmF0
ZToKICAgICAgICAgaWYgKG1fZ3JhcGguaXNXYXRjaGluZ0hhdmluZ0FCYWRUaW1lV2F0Y2hwb2lu
dChtX25vZGUpKSB7CiAgICAgICAgICAgICBDaGVja2VkSW50MzIgc3RhcnRMZW5ndGggPSAwOwog
ICAgICAgICAgICAgQml0VmVjdG9yKiBiaXRWZWN0b3IgPSBtX25vZGUtPmJpdFZlY3RvcigpOwot
ICAgICAgICAgICAgSGFzaE1hcDxJbmxpbmVDYWxsRnJhbWUqLCBMVmFsdWUsIFdURjo6RGVmYXVs
dEhhc2g8SW5saW5lQ2FsbEZyYW1lKj46Okhhc2gsIFdURjo6TnVsbGFibGVIYXNoVHJhaXRzPElu
bGluZUNhbGxGcmFtZSo+PiBjYWNoZWRTcHJlYWRMZW5ndGhzOworICAgICAgICAgICAgSGFzaE1h
cDxJbmxpbmVDYWxsRnJhbWUqLCBMVmFsdWUsIFdURjo6RGVmYXVsdEhhc2g8SW5saW5lQ2FsbEZy
YW1lKj4sIFdURjo6TnVsbGFibGVIYXNoVHJhaXRzPElubGluZUNhbGxGcmFtZSo+PiBjYWNoZWRT
cHJlYWRMZW5ndGhzOwogCiAgICAgICAgICAgICBpZiAobV9ub2RlLT5udW1DaGlsZHJlbigpID09
IDEgJiYgYml0VmVjdG9yLT5nZXQoMCkpIHsKICAgICAgICAgICAgICAgICBFZGdlIHVzZSA9IG1f
Z3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAwKTsKQEAgLTk3MDEsNyArOTcwMSw3IEBAIHByaXZh
dGU6CiAgICAgICAgIHVuc2lnbmVkIHN0YXRpY0FyZ3VtZW50Q291bnQgPSAwOwogICAgICAgICBW
ZWN0b3I8TFZhbHVlLCAyPiBzcHJlYWRMZW5ndGhzOwogICAgICAgICBWZWN0b3I8TFZhbHVlLCA4
PiBwYXRjaHBvaW50QXJndW1lbnRzOwotICAgICAgICBIYXNoTWFwPElubGluZUNhbGxGcmFtZSos
IExWYWx1ZSwgV1RGOjpEZWZhdWx0SGFzaDxJbmxpbmVDYWxsRnJhbWUqPjo6SGFzaCwgV1RGOjpO
dWxsYWJsZUhhc2hUcmFpdHM8SW5saW5lQ2FsbEZyYW1lKj4+IGNhY2hlZFNwcmVhZExlbmd0aHM7
CisgICAgICAgIEhhc2hNYXA8SW5saW5lQ2FsbEZyYW1lKiwgTFZhbHVlLCBXVEY6OkRlZmF1bHRI
YXNoPElubGluZUNhbGxGcmFtZSo+LCBXVEY6Ok51bGxhYmxlSGFzaFRyYWl0czxJbmxpbmVDYWxs
RnJhbWUqPj4gY2FjaGVkU3ByZWFkTGVuZ3RoczsKICAgICAgICAgYXV0byBwdXNoQW5kQ291bnRB
cmd1bWVudHNGcm9tUmlnaHRUb0xlZnQgPSByZWN1cnNhYmxlTGFtYmRhKFsmXShhdXRvIHNlbGYs
IE5vZGUqIHRhcmdldCkgLT4gdm9pZCB7CiAgICAgICAgICAgICBpZiAodGFyZ2V0LT5vcCgpID09
IFBoYW50b21TcHJlYWQpIHsKICAgICAgICAgICAgICAgICBzZWxmKHRhcmdldC0+Y2hpbGQxKCku
bm9kZSgpKTsKQEAgLTEyNjQ2LDcgKzEyNjQ2LDcgQEAgcHJpdmF0ZToKIAogICAgICAgICAgICAg
ICAgIGluaXRpYWxpemVBcnJheUVsZW1lbnRzKG1fb3V0LmNvbnN0SW50MzIoc3RydWN0dXJlLT5p
bmRleGluZ1R5cGUoKSksIG1fb3V0LmludDMyWmVybywgdmVjdG9yTGVuZ3RoLCBidXR0ZXJmbHkp
OwogCi0gICAgICAgICAgICAgICAgSGFzaE1hcDxpbnQzMl90LCBMVmFsdWUsIERlZmF1bHRIYXNo
PGludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPGludDMy
X3Q+PiBpbmRleE1hcDsKKyAgICAgICAgICAgICAgICBIYXNoTWFwPGludDMyX3QsIExWYWx1ZSwg
RGVmYXVsdEhhc2g8aW50MzJfdD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8
aW50MzJfdD4+IGluZGV4TWFwOwogICAgICAgICAgICAgICAgIFZlY3RvcjxpbnQzMl90PiBpbmRp
Y2VzOwogICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGRhdGEubV9wcm9wZXJ0aWVz
LnNpemUoKTsgaS0tOykgewogICAgICAgICAgICAgICAgICAgICBQcm9tb3RlZExvY2F0aW9uRGVz
Y3JpcHRvciBkZXNjcmlwdG9yID0gZGF0YS5tX3Byb3BlcnRpZXNbaV07CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbEtleS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0aENhbGxLZXkuaAppbmRleCAwNjMwMTRjNzljNzgx
ZWQ5NThiMTY2MDBkZDE0ZGQyMTNjYjJlZmZhLi4wODZhZTAwZWU1ODU1MmM3Y2U4M2Q3MDUyMGU3
NjEzODQyYmRkMzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNs
b3dQYXRoQ2FsbEtleS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1Bh
dGhDYWxsS2V5LmgKQEAgLTExOCw5ICsxMTgsNyBAQCBzdHJ1Y3QgU2xvd1BhdGhDYWxsS2V5SGFz
aCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1
bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpGVEw6OlNsb3dQYXRo
Q2FsbEtleT4gewotICAgIHR5cGVkZWYgSlNDOjpGVEw6OlNsb3dQYXRoQ2FsbEtleUhhc2ggSGFz
aDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkZUTDo6U2xvd1BhdGhD
YWxsS2V5PiA6IEpTQzo6RlRMOjpTbG93UGF0aENhbGxLZXlIYXNoIHsgfTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPEpTQzo6RlRMOjpTbG93UGF0aENhbGxLZXk+IDogcHVibGljIEN1c3RvbUhhc2hUcmFpdHM8
SlNDOjpGVEw6OlNsb3dQYXRoQ2FsbEtleT4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L01hcmtlZEJsb2NrLmgKaW5kZXggOTM3OWQ0NWY2NDIxZTc1YzI1MTFkZmRmZjU1ZTkyZWQwOTg4
ZTBjMS4uYmFmOWNlYzg1OTIxMjRjM2I5ZjM2YzQzYWI1NWEwODU5NTFiYzE4YSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2suaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRCbG9jay5oCkBAIC02OTAsOSArNjkwLDcgQEAgc3Ry
dWN0IE1hcmtlZEJsb2NrSGFzaCA6IFB0ckhhc2g8SlNDOjpNYXJrZWRCbG9jayo+IHsKICAgICB9
CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok1hcmtlZEJsb2NrKj4g
ewotICAgIHR5cGVkZWYgTWFya2VkQmxvY2tIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpNYXJrZWRCbG9jayo+IDogTWFya2VkQmxvY2tIYXNoIHsgfTsK
IAogdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIEpTQzo6TWFya2VkQmxvY2s6
OkhhbmRsZTo6U3dlZXBNb2RlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvVmlzaXRSYWNlS2V5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9WaXNpdFJh
Y2VLZXkuaAppbmRleCA3MzEwYmRjZTlmYmFmYTI5YWFjMDg1ODRmZDM2Njg3NzNkZDllOWQzLi4x
ZjU5ODdjZmUyNWY3MWMyMzQ4MzY2MjhmNjY4OWIwNzZmNjcwYzI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9WaXNpdFJhY2VLZXkuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9WaXNpdFJhY2VLZXkuaApAQCAtOTYsOSArOTYsNyBAQCBzdHJ1Y3QgVmlz
aXRSYWNlS2V5SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpW
aXNpdFJhY2VLZXk+IHsKLSAgICB0eXBlZGVmIEpTQzo6VmlzaXRSYWNlS2V5SGFzaCBIYXNoOwot
fTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6VmlzaXRSYWNlS2V5PiA6IEpT
Qzo6VmlzaXRSYWNlS2V5SGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBI
YXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OlZpc2l0UmFjZUtl
eT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpWaXNpdFJhY2VLZXk+IHsgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dl
bmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNf
aGVhZGVyLnB5CmluZGV4IDE5ZmQwY2EwNDEyYmNmYjEyZWY1OTI3MTZmYjVlMTU3Yjc0OTMzOGIu
LjAwMTkyNGRlMGViMDgyN2Y3NDVkM2Q3MzZjMGFiOTIwMjEyNGRiMzYgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2Nw
cF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hlYWRl
ci5weQpAQCAtNDg1LDkgKzQ4NSw3IEBAIGNsYXNzIENwcFByb3RvY29sVHlwZXNIZWFkZXJHZW5l
cmF0b3IoQ3BwR2VuZXJhdG9yKToKICAgICAgICAgICAgIGZvciBlbnVtX3R5cGUgaW4gZW51bV90
eXBlczoKICAgICAgICAgICAgICAgICBlbnVtX2xpbmVzID0gW10KICAgICAgICAgICAgICAgICBl
bnVtX2xpbmVzLmFwcGVuZCgndGVtcGxhdGU8PicpCi0gICAgICAgICAgICAgICAgZW51bV9saW5l
cy5hcHBlbmQoJ3N0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjolczo6JXM+
IHsnICUgKGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90eXBlLnJhd19uYW1lKCkpKQotICAgICAg
ICAgICAgICAgIGVudW1fbGluZXMuYXBwZW5kKCcgICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5z
cGVjdG9yOjpQcm90b2NvbDo6JXM6OiVzPjsnICUgKGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90
eXBlLnJhd19uYW1lKCkpKQotICAgICAgICAgICAgICAgIGVudW1fbGluZXMuYXBwZW5kKCd9Oycp
CisgICAgICAgICAgICAgICAgZW51bV9saW5lcy5hcHBlbmQoJ3N0cnVjdCBEZWZhdWx0SGFzaDxJ
bnNwZWN0b3I6OlByb3RvY29sOjolczo6JXM+IDogSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29s
Ojolczo6JXM+IHsgfTsnICUgKGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90eXBlLnJhd19uYW1l
KCksIGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90eXBlLnJhd19uYW1lKCkpKQogICAgICAgICAg
ICAgICAgIGRvbWFpbl9saW5lcy5hcHBlbmQoc2VsZi53cmFwX3dpdGhfZ3VhcmRfZm9yX2NvbmRp
dGlvbihlbnVtX3R5cGUuZGVjbGFyYXRpb24oKS5jb25kaXRpb24sICdcbicuam9pbihlbnVtX2xp
bmVzKSkpCiAKICAgICAgICAgICAgIGxpbmVzLmFwcGVuZChzZWxmLndyYXBfd2l0aF9ndWFyZF9m
b3JfY29uZGl0aW9uKGRvbWFpbi5jb25kaXRpb24sICdcbicuam9pbihkb21haW5fbGluZXMpKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21t
YW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdAppbmRleCAxNmVjMjQ3MmZkN2M3
MWJhNGI1OTVjZTIzMjI1MjY2MzQ4ZmFkNDQ2Li4zYjU4ZTBmYjI3NGQzZTI3NzllYjc2NmE5YTUx
NjVlYjQzYWVmMjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNv
bi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRlLmpzb24tcmVzdWx0CkBA
IC03MzMsOSArNzMzLDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNo
OwogCiAvLyBIYXNoIGRlY2xhcmF0aW9ucyBpbiB0aGUgJ0RhdGFiYXNlJyBEb21haW4KIHRlbXBs
YXRlPD4KLXN0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6
UHJpbWFyeUNvbG9ycz4gewotICAgIHVzaW5nIEhhc2ggPSBJbnRIYXNoPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OkRhdGFiYXNlOjpQcmltYXJ5Q29sb3JzPjsKLX07CitzdHJ1Y3QgRGVmYXVsdEhhc2g8
SW5zcGVjdG9yOjpQcm90b2NvbDo6RGF0YWJhc2U6OlByaW1hcnlDb2xvcnM+IDogSW50SGFzaDxJ
bnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJpbWFyeUNvbG9ycz4geyB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXVEYKICMjIyBFbmQgRmlsZTogVGVzdFByb3RvY29sT2JqZWN0cy5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhw
ZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24t
cmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4
cGVjdGVkL2NvbW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVycy5qc29u
LXJlc3VsdAppbmRleCBkNGFhZDBiMGVhNDQ2MzA1MjQ4MGVlMzBiYjlkMmFlZWJmMGVlOTM5Li5l
NGRiMDRhZDliMjc2YjhiMjI5ZmJmYzQxZGFjZTdiMTg4YjU2NmY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFu
ZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9j
b21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQK
QEAgLTY0NCw5ICs2NDQsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhh
c2g7CiAKIC8vIEhhc2ggZGVjbGFyYXRpb25zIGluIHRoZSAnRGF0YWJhc2UnIERvbWFpbgogdGVt
cGxhdGU8Pgotc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNl
OjpQcmltYXJ5Q29sb3JzPiB7Ci0gICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9yOjpQ
cm90b2NvbDo6RGF0YWJhc2U6OlByaW1hcnlDb2xvcnM+OwotfTsKK3N0cnVjdCBEZWZhdWx0SGFz
aDxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJpbWFyeUNvbG9ycz4gOiBJbnRIYXNo
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpQcmltYXJ5Q29sb3JzPiB7IH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdURgogIyMjIEVuZCBGaWxlOiBUZXN0UHJvdG9jb2xPYmplY3RzLmgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9l
eHBlY3RlZC9lbnVtLXZhbHVlcy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9lbnVtLXZhbHVlcy5qc29uLXJlc3VsdApp
bmRleCA0ZTkwNWYwMzdhOTZkYTIwMmQyNTdjZThkYTgxNjQ3NDdiMmRlNDdjLi4zNGRmZThkOWY0
NzM1ZmQ1YWY1YmFjM2U2ZWU3MzMxMTFjZjNlYmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZW51bS12YWx1ZXMuanNv
bi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0CkBAIC00OTIsOSArNDkyLDcgQEAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwogCiAvLyBIYXNoIGRlY2xh
cmF0aW9ucyBpbiB0aGUgJ1R5cGVEb21haW4nIERvbWFpbgogdGVtcGxhdGU8Pgotc3RydWN0IERl
ZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlR5cGVEb21haW46OlR5cGVEb21haW5FbnVt
PiB7Ci0gICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6VHlwZURv
bWFpbjo6VHlwZURvbWFpbkVudW0+OwotfTsKK3N0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6
OlByb3RvY29sOjpUeXBlRG9tYWluOjpUeXBlRG9tYWluRW51bT4gOiBJbnRIYXNoPEluc3BlY3Rv
cjo6UHJvdG9jb2w6OlR5cGVEb21haW46OlR5cGVEb21haW5FbnVtPiB7IH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdURgogIyMjIEVuZCBGaWxlOiBUZXN0UHJvdG9jb2xPYmplY3RzLmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3Rl
ZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlv
bi1hcnJheS10eXBlLmpzb24tcmVzdWx0CmluZGV4IDlmYTNkOTM0YjZmMTZlZDc0ZmZiODA3Yjkx
ZTMxNDY0NzMxN2NhODMuLmQ4ODgwYzYzZTMzNzhjNWNmZTMwOGNhZmRmODRjYzk4NzQ5MmJiZmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5
cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdApAQCAtMzc5LDkgKzM3OSw3IEBA
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKIAogLy8gSGFzaCBkZWNs
YXJhdGlvbnMgaW4gdGhlICdEZWJ1Z2dlcicgRG9tYWluCiB0ZW1wbGF0ZTw+Ci1zdHJ1Y3QgRGVm
YXVsdEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGVidWdnZXI6OlJlYXNvbj4gewotICAgIHVz
aW5nIEhhc2ggPSBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRlYnVnZ2VyOjpSZWFzb24+
OwotfTsKK3N0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEZWJ1Z2dlcjo6
UmVhc29uPiA6IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGVidWdnZXI6OlJlYXNvbj4g
eyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKICMjIyBFbmQgRmlsZTogVGVzdFByb3RvY29sT2Jq
ZWN0cy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbi1yZXN1bHQg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQv
dHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbi1yZXN1bHQKaW5kZXggODhiODY2OGYzOTIy
MGM1YmFlOGVkMTA2MjQ2OTUwZmQwNzk5ZmM1OS4uM2EyYzIwNTI4MzA0NGUwMDA2YjMzMWVlMzE1
YjA0MzdhNGZhNWJmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tZW51bS10eXBlLmpzb24t
cmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdApAQCAtMzc4
LDEzICszNzgsOSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAK
IC8vIEhhc2ggZGVjbGFyYXRpb25zIGluIHRoZSAnUnVudGltZScgRG9tYWluCiB0ZW1wbGF0ZTw+
Ci1zdHJ1Y3QgRGVmYXVsdEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6RmFybUFu
aW1hbHM+IHsKLSAgICB1c2luZyBIYXNoID0gSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpS
dW50aW1lOjpGYXJtQW5pbWFscz47Ci19Oworc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6
UHJvdG9jb2w6OlJ1bnRpbWU6OkZhcm1BbmltYWxzPiA6IEludEhhc2g8SW5zcGVjdG9yOjpQcm90
b2NvbDo6UnVudGltZTo6RmFybUFuaW1hbHM+IHsgfTsKIHRlbXBsYXRlPD4KLXN0cnVjdCBEZWZh
dWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpUd29MZWdnZWRBbmltYWxzPiB7
Ci0gICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6
VHdvTGVnZ2VkQW5pbWFscz47Ci19Oworc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OlJ1bnRpbWU6OlR3b0xlZ2dlZEFuaW1hbHM+IDogSW50SGFzaDxJbnNwZWN0b3I6OlBy
b3RvY29sOjpSdW50aW1lOjpUd29MZWdnZWRBbmltYWxzPiB7IH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdURgogIyMjIEVuZCBGaWxlOiBUZXN0UHJvdG9jb2xPYmplY3RzLmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBl
LWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tb2Jq
ZWN0LXR5cGUuanNvbi1yZXN1bHQKaW5kZXggOGM4MTQzNjMzY2FjZGEwZWIwZWEwOTBjNDYyZGY3
MzdkOGExNDhhOC4uMzI4ZmVkMjNkYzRjYTdmMTg4NTkwYjYzNDRkNWJmN2U0NzNkZGMwMyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4
cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUt
ZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKQEAgLTkwOCw5ICs5MDgsNyBAQCB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAKIC8vIEhhc2ggZGVjbGFy
YXRpb25zIGluIHRoZSAnRGF0YWJhc2UnIERvbWFpbgogdGVtcGxhdGU8Pgotc3RydWN0IERlZmF1
bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpNb3VzZUJ1dHRvbj4gewotICAg
IHVzaW5nIEhhc2ggPSBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpNb3Vz
ZUJ1dHRvbj47Ci19Oworc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRh
dGFiYXNlOjpNb3VzZUJ1dHRvbj4gOiBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFi
YXNlOjpNb3VzZUJ1dHRvbj4geyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKICMjIyBFbmQgRmls
ZTogVGVzdFByb3RvY29sT2JqZWN0cy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVudGlt
ZS1jYXN0cy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVz
dWx0CmluZGV4IDY3NmRlYjRkYjQwNjc1NDRjYTAzYzM3MzZhMzc4OWRlNTJlMzBjNmUuLjI2Yjc1
MGM2NmIyMDFiMGQ0ZWNiZjJmMzc0OGFiOWY0MDMwOWE5ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVp
cmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1l
LWNhc3RzLmpzb24tcmVzdWx0CkBAIC01OTUsMTMgKzU5NSw5IEBAIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKIAogLy8gSGFzaCBkZWNsYXJhdGlvbnMgaW4gdGhlICdU
ZXN0JyBEb21haW4KIHRlbXBsYXRlPD4KLXN0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlBy
b3RvY29sOjpUZXN0OjpVbmNhc3RlZEFuaW1hbHM+IHsKLSAgICB1c2luZyBIYXNoID0gSW50SGFz
aDxJbnNwZWN0b3I6OlByb3RvY29sOjpUZXN0OjpVbmNhc3RlZEFuaW1hbHM+OwotfTsKK3N0cnVj
dCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpUZXN0OjpVbmNhc3RlZEFuaW1hbHM+
IDogSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpUZXN0OjpVbmNhc3RlZEFuaW1hbHM+IHsg
fTsKIHRlbXBsYXRlPD4KLXN0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpU
ZXN0OjpDYXN0ZWRBbmltYWxzPiB7Ci0gICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9y
OjpQcm90b2NvbDo6VGVzdDo6Q2FzdGVkQW5pbWFscz47Ci19Oworc3RydWN0IERlZmF1bHRIYXNo
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRlc3Q6OkNhc3RlZEFuaW1hbHM+IDogSW50SGFzaDxJbnNw
ZWN0b3I6OlByb3RvY29sOjpUZXN0OjpDYXN0ZWRBbmltYWxzPiB7IH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdURgogIyMjIEVuZCBGaWxlOiBUZXN0UHJvdG9jb2xPYmplY3RzLmgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSUNTdGF0cy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9JQ1N0YXRzLmgKaW5kZXggOTZjMTlhMTdiZGMyYTdkMTBmMTVmOWJjYTM5MDIxNjIx
Yzk5ZGI4Mi4uOGZiN2QwNjk1Mjg5MmYyNDg3ZDdiNDZkNjVmZjgxNmE1NzMxNzM1MyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9JQ1N0YXRzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9JQ1N0YXRzLmgKQEAgLTE3OCw5ICsxNzgsNyBAQCBuYW1lc3BhY2Ug
V1RGIHsKIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYsIEpTQzo6SUNFdmVudDo6S2lu
ZCk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRl
PD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6SUNFdmVudD4gewotICAgIHR5cGVkZWYgSlNDOjpJ
Q0V2ZW50SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6
SUNFdmVudD4gOiBKU0M6OklDRXZlbnRIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6SUNF
dmVudD4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpJQ0V2ZW50PiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFRodW5rcy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRUaHVua3MuaAppbmRleCA3ZTg3NWMzNzNlNDdkZGMwMWRiMzQ4YWVkZjM1
MDM1YmFhZTJhMzFhLi5mYWNhYzQ5ZDAyYWQ5NjNjOGI5NGFjZWNhMzYwZjhkZmEzOTVmYzMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFRodW5rcy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUVGh1bmtzLmgKQEAgLTkxLDcgKzkxLDcgQEAgcHJp
dmF0ZToKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGhhc2hQ
b2ludGVyKFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uIHApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJl
dHVybiBEZWZhdWx0SGFzaDxUYWdnZWROYXRpdmVGdW5jdGlvbj46Okhhc2g6Omhhc2gocCk7Cisg
ICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8VGFnZ2VkTmF0aXZlRnVuY3Rpb24+OjpoYXNo
KHApOwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goVGFnZ2VkTmF0
aXZlRnVuY3Rpb24gZnVuY3Rpb24sIFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBj
b25zdCBTdHJpbmcmIG5hbWUpCkBAIC0xMDAsNyArMTAwLDcgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc4MzUKICAg
ICAgICAgICAgIHVuc2lnbmVkIGhhc2ggPSBXVEY6OnBhaXJJbnRIYXNoKGhhc2hQb2ludGVyKGZ1
bmN0aW9uKSwgaGFzaFBvaW50ZXIoY29uc3RydWN0b3IpKTsKICAgICAgICAgICAgIGlmICghbmFt
ZS5pc051bGwoKSkKLSAgICAgICAgICAgICAgICBoYXNoID0gV1RGOjpwYWlySW50SGFzaChoYXNo
LCBEZWZhdWx0SGFzaDxTdHJpbmc+OjpIYXNoOjpoYXNoKG5hbWUpKTsKKyAgICAgICAgICAgICAg
ICBoYXNoID0gV1RGOjpwYWlySW50SGFzaChoYXNoLCBEZWZhdWx0SGFzaDxTdHJpbmc+OjpoYXNo
KG5hbWUpKTsKICAgICAgICAgICAgIHJldHVybiBoYXNoOwogICAgICAgICB9CiAgICAgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L1JlZy5oCmluZGV4IDBlY2Q2NzhmNmY2ZmM2NGVmZTMxNzQ5YzNkMWVlYTdh
MWQwMjE1YTUuLjBiMjI5YWEwZmEzNDA1YjljZjNlMjVkNzQ3MjQ2ZTVkOGQwYTU0ODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9SZWcuaApAQCAtMjM0LDkgKzIzNCw3IEBAIHN0cnVjdCBSZWdIYXNoIHsK
IG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhh
c2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OlJlZz4gewotICAgIHR5cGVk
ZWYgSlNDOjpSZWdIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
SlNDOjpSZWc+IDogSlNDOjpSZWdIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3Ry
dWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6UmVnPiA6
IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OlJlZz4gewpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZWdpc3RlclNldC5oCmluZGV4IDgwYTJkZjRmZWM2YmIzMzlkMDQwYTk3ZWFlZWIxZTRlZmE3
ODE0ZGQuLmUwM2RiYTQ2ZTZhZjQyNGYwZTUwNTM2NTdlNjgwNzcwNDE5NmU4ODkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmgKQEAgLTIzOSw5ICsyMzksNyBAQCBzdHJ1
Y3QgUmVnaXN0ZXJTZXRIYXNoIHsKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxK
U0M6OlJlZ2lzdGVyU2V0PiB7Ci0gICAgdHlwZWRlZiBKU0M6OlJlZ2lzdGVyU2V0SGFzaCBIYXNo
OwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UmVnaXN0ZXJTZXQ+IDog
SlNDOjpSZWdpc3RlclNldEhhc2ggeyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
SGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpSZWdpc3RlclNl
dD4gOiBwdWJsaWMgQ3VzdG9tSGFzaFRyYWl0czxKU0M6OlJlZ2lzdGVyU2V0PiB7IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1ZhcmlhYmxlRW52aXJvbm1lbnQu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvVmFyaWFibGVFbnZpcm9ubWVudC5oCmlu
ZGV4IDliNDIyODRhYmZjNzI2ODcxNDhlOWI0OGYzY2M5ZTk0NDEwMzFmMGMuLmMxMjEzNTE5ZjE3
MWQwZmM3ZTJlZmM3ZDJkZWU4YTFhYjQ0OTkwOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvVmFyaWFibGVFbnZpcm9ubWVudC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvVmFyaWFibGVFbnZpcm9ubWVudC5oCkBAIC0zMjcsOSArMzI3LDcgQEAg
cHJpdmF0ZToKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkNvbXBhY3RW
YXJpYWJsZU1hcEtleT4gewotICAgIHVzaW5nIEhhc2ggPSBKU0M6OkNvbXBhY3RWYXJpYWJsZU1h
cEtleTsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OkNvbXBhY3RWYXJp
YWJsZU1hcEtleT4gOiBKU0M6OkNvbXBhY3RWYXJpYWJsZU1hcEtleSB7IH07CiAKIHRlbXBsYXRl
PD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpDb21wYWN0VmFyaWFibGVNYXBLZXk+IDogR2VuZXJp
Y0hhc2hUcmFpdHM8SlNDOjpDb21wYWN0VmFyaWFibGVNYXBLZXk+IHsKICAgICBzdGF0aWMgY29u
c3RleHByIGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW4uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wcm9maWxlci9Qcm9maWxlck9yaWdpbi5oCmluZGV4IDEwMTZhNDAyMGYyODAyNTU3
NTFiMjk2N2UxMGE4ZGE1NmUxNzRiNDUuLjFlZWFiZTcwZGJkMzVkNzFhNTQyN2I1ZmJmNjhkOTU2
MjU0OWU0ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9m
aWxlck9yaWdpbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxl
ck9yaWdpbi5oCkBAIC0xMDEsOSArMTAxLDcgQEAgc3RydWN0IE9yaWdpbkhhc2ggewogbmFtZXNw
YWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UHJvZmlsZXI6Ok9yaWdpbj4gewotICAg
IHR5cGVkZWYgSlNDOjpQcm9maWxlcjo6T3JpZ2luSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UHJvZmlsZXI6Ok9yaWdpbj4gOiBKU0M6OlByb2ZpbGVy
OjpPcmlnaW5IYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFp
dHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6UHJvZmlsZXI6Ok9yaWdpbj4g
OiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpQcm9maWxlcjo6T3JpZ2luPiB7IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW5TdGFj
ay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyT3JpZ2luU3RhY2su
aAppbmRleCAwZDA5ZWE2NWRkMzgzYjEwYWVhZWY5NmM4N2NiZjEyYzJmOWMwZWY2Li41MTk1YTEz
Y2JlYjUzZDJmY2QyY2U0ZWE0YzZiMjM3OWE0MzkwZjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW5TdGFjay5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlck9yaWdpblN0YWNrLmgKQEAgLTg3LDkgKzg3
LDcgQEAgc3RydWN0IE9yaWdpblN0YWNrSGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8SlNDOjpQcm9maWxlcjo6T3JpZ2luU3RhY2s+IHsKLSAgICB0eXBlZGVmIEpTQzo6
UHJvZmlsZXI6Ok9yaWdpblN0YWNrSGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPEpTQzo6UHJvZmlsZXI6Ok9yaWdpblN0YWNrPiA6IEpTQzo6UHJvZmlsZXI6Ok9y
aWdpblN0YWNrSGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJh
aXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OlByb2ZpbGVyOjpPcmlnaW5T
dGFjaz4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpQcm9maWxlcjo6T3JpZ2luU3RhY2s+
IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxl
clVJRC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyVUlELmgKaW5k
ZXggYWE1NDg4NzI3NmUxNzM5YjIyNzcxMDQ0ZmJhNmU4MzZkODc2OTE3Ny4uMGU0MjMyNGNmMmE5
YjBkMDVkOGUzNGQzZmI4ZDRjNjA2ODdhZGVhZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyVUlELmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Byb2ZpbGVyL1Byb2ZpbGVyVUlELmgKQEAgLTk5LDkgKzk5LDcgQEAgc3RydWN0IFVJREhhc2gg
ewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0
SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UHJvZmlsZXI6OlVJRD4g
ewotICAgIHR5cGVkZWYgSlNDOjpQcm9maWxlcjo6VUlESGFzaCBIYXNoOwotfTsKK3RlbXBsYXRl
PD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UHJvZmlsZXI6OlVJRD4gOiBKU0M6OlByb2ZpbGVy
OjpVSURIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7
CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6UHJvZmlsZXI6OlVJRD4gOiBTaW1w
bGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpQcm9maWxlcjo6VUlEPiB7IH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DYWNoZWRUeXBlcy5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9DYWNoZWRUeXBlcy5jcHAKaW5kZXggMjJmNzE2NGUwOWY3YjM2
NTA0ZmY4ODhiZmM5ZjFjM2Q0NDRmM2QzNC4uNTQ3NTc2NDZkNzAyMGQ1MGViZTdlNDVmMWMzMjg5
OTljNjQwZjY0YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2Fj
aGVkVHlwZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NhY2hlZFR5
cGVzLmNwcApAQCAtNjY4LDcgKzY2OCw3IEBAIHByaXZhdGU6CiAgICAgU2Vjb25kIG1fc2Vjb25k
OwogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZSwgdHlwZW5hbWUg
SGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFNvdXJjZVR5cGU8S2V5Pj46Okhhc2gsIHR5
cGVuYW1lIEtleVRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8U291cmNlVHlwZTxLZXk+PiwgdHlwZW5h
bWUgTWFwcGVkVHJhaXRzQXJnID0gSGFzaFRyYWl0czxTb3VyY2VUeXBlPFZhbHVlPj4+Cit0ZW1w
bGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoQXJnID0gRGVm
YXVsdEhhc2g8U291cmNlVHlwZTxLZXk+PiwgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRy
YWl0czxTb3VyY2VUeXBlPEtleT4+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJh
aXRzPFNvdXJjZVR5cGU8VmFsdWU+Pj4KIGNsYXNzIENhY2hlZEhhc2hNYXAgOiBwdWJsaWMgVmFy
aWFibGVMZW5ndGhPYmplY3Q8SGFzaE1hcDxTb3VyY2VUeXBlPEtleT4sIFNvdXJjZVR5cGU8VmFs
dWU+LCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4+IHsKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBLLCB0eXBlbmFtZSBWPgogICAgIHVzaW5nIE1hcCA9IEhhc2hNYXA8Sywg
ViwgSGFzaEFyZywgS2V5VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+OwpAQCAtOTI0LDcgKzky
NCw3IEBAIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fbnVtQml0czsKIH07CiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFQsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxUPjo6SGFz
aD4KK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEhhc2hBcmcgPSBEZWZhdWx0SGFzaDxU
Pj4KIGNsYXNzIENhY2hlZEhhc2hTZXQgOiBwdWJsaWMgQ2FjaGVkT2JqZWN0PEhhc2hTZXQ8U291
cmNlVHlwZTxUPiwgSGFzaEFyZz4+IHsKIHB1YmxpYzoKICAgICB2b2lkIGVuY29kZShFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBIYXNoU2V0PFNvdXJjZVR5cGU8VD4sIEhhc2hBcmc+JiBzZXQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db250cm9sRmxvd1Byb2Zp
bGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db250cm9sRmxvd1Byb2ZpbGVy
LmgKaW5kZXggNGJkZTVlZmE4NjExZTc3ZWNlOTlmM2Q3Mzg5ZDVkOGVkODUwMDBmNi4uMWM0OTU1
OWY1MjA1MDc5YTJjNmQyZGI0ZGNlMGI1MzYzZDJiOWQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29udHJvbEZsb3dQcm9maWxlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbnRyb2xGbG93UHJvZmlsZXIuaApAQCAtNjgsOSArNjgs
NyBAQCBzdHJ1Y3QgQmFzaWNCbG9ja0tleUhhc2ggewogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPEpTQzo6QmFzaWNCbG9ja0tleT4gewotICAgIHR5cGVkZWYgSlNDOjpCYXNpY0Js
b2NrS2V5SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6
QmFzaWNCbG9ja0tleT4gOiBKU0M6OkJhc2ljQmxvY2tLZXlIYXNoIHsgfTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPEpTQzo6QmFzaWNCbG9ja0tleT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpCYXNp
Y0Jsb2NrS2V5PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
YXRpdmVGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRnVu
Y3Rpb24uaAppbmRleCAxMGJhZjkwOTY3OTczMTcyYWM0Mzg2ODVmMGI3NzVhMjYyZTZmOGIzLi5i
MTY1ODQ1OGU4ZDlmYzU4MTBkNWI5MDVlYTFhOTllNTYzMGU1ZTM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUZ1bmN0aW9uLmgKQEAgLTEwOCwxNSArMTA4LDEx
IEBAIHN0YXRpY19hc3NlcnQoc2l6ZW9mKFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uKSA9PSBzaXplb2Yo
dm9pZCopLCAiIik7CiAKIG5hbWVzcGFjZSBXVEYgewogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok5h
dGl2ZUZ1bmN0aW9uPiB7Ci0gICAgdXNpbmcgSGFzaCA9IEpTQzo6TmF0aXZlRnVuY3Rpb25IYXNo
OwotfTsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Ok5hdGl2ZUZ1bmN0aW9uPiA6IEpTQzo6TmF0aXZlRnVu
Y3Rpb25IYXNoIHsgfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNo
OwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpUYWdnZWROYXRpdmVGdW5jdGlv
bj4gewotICAgIHVzaW5nIEhhc2ggPSBKU0M6OlRhZ2dlZE5hdGl2ZUZ1bmN0aW9uSGFzaDsKLX07
Cit0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IERlZmF1bHRIYXNoOwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpUYWdnZWROYXRpdmVGdW5jdGlvbj4gOiBKU0M6OlRhZ2dlZE5h
dGl2ZUZ1bmN0aW9uSGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVLZXkuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZUtleS5oCmluZGV4IGFiMTc1YjM3ODZjM2Nm
NmEwYzk3MjM3OTM3MDc5MGM5OWIyYTIzNGIuLmE3Zjk0NzBmMTk0MmE5OTVmYzQ5MWNhNDI3ZDFh
MzA5YWRmODViMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1By
b3RvdHlwZUtleS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlw
ZUtleS5oCkBAIC05NSwxMiArOTUsMTAgQEAgc3RydWN0IFByb3RvdHlwZUtleUhhc2ggewogCiBu
YW1lc3BhY2UgV1RGIHsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNo
OwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpQcm90b3R5cGVLZXk+IHsKLSAg
ICB0eXBlZGVmIEpTQzo6UHJvdG90eXBlS2V5SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPHR5cGVu
YW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxK
U0M6OlByb3RvdHlwZUtleT4gOiBKU0M6OlByb3RvdHlwZUtleUhhc2ggeyB9OwogCi10ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1
Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpQcm90b3R5
cGVLZXk+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6UHJvdG90eXBlS2V5PiB7IH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwS2V5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBL
ZXkuaAppbmRleCAwNGI2YzYzNDg2Mzg2N2RiZDM2ZjI1YmRlOTgzMThhNmM1ODBlOWEyLi5lMGY4
ODMxMDIwZDZkOTM1YzcwMTkwMWZiNDliMjhjYjZkYzkzOGZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBLZXkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHBLZXkuaApAQCAtODgsMTEgKzg4LDkgQEAgaW5saW5lIGJvb2wg
b3BlcmF0b3I9PShjb25zdCBSZWdFeHBLZXkmIGEsIGNvbnN0IFJlZ0V4cEtleSYgYikKIH0gLy8g
bmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0
cnVjdCBEZWZhdWx0SGFzaDsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7
CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6UmVnRXhwS2V5PiB7Ci0gICAg
dHlwZWRlZiBKU0M6OlJlZ0V4cEtleTo6SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPEpTQzo6UmVnRXhwS2V5PiA6IEpTQzo6UmVnRXhwS2V5OjpIYXNoIHsgfTsK
IAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OlJlZ0V4cEtleT4gOiBHZW5lcmlj
SGFzaFRyYWl0czxKU0M6OlJlZ0V4cEtleT4gewogICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBl
bXB0eVZhbHVlSXNaZXJvID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1RlbXBsYXRlT2JqZWN0RGVzY3JpcHRvci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmgKaW5kZXggZmRjMTQ1MmNiNTI1
YjFhMDA1NTkxZDc2ZmVhODQ3ZTNmMGY2ZGIwNC4uNzNlNDNmYTJjMTdhN2Y1ZTdlM2Q2NzMzZWE1
YThjY2UwZjg0ZGUxZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
VGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmgKQEAgLTExMSwxMSArMTExLDkgQEAgaW5s
aW5lIHVuc2lnbmVkIFRlbXBsYXRlT2JqZWN0RGVzY3JpcHRvcjo6Y2FsY3VsYXRlSGFzaChjb25z
dCBTdHJpbmdWZWN0b3ImIHJhd1MKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RG
IHsKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKK3RlbXBsYXRlPHR5
cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPEpTQzo6VGVtcGxhdGVPYmplY3REZXNjcmlwdG9yPiB7Ci0gICAgdHlwZWRlZiBKU0M6OlRl
bXBsYXRlT2JqZWN0RGVzY3JpcHRvcjo6SGFzaGVyIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8SlNDOjpUZW1wbGF0ZU9iamVjdERlc2NyaXB0b3I+IDogSlNDOjpUZW1w
bGF0ZU9iamVjdERlc2NyaXB0b3I6Okhhc2hlciB7IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhh
c2hUcmFpdHM8SlNDOjpUZW1wbGF0ZU9iamVjdERlc2NyaXB0b3I+IDogQ3VzdG9tSGFzaFRyYWl0
czxKU0M6OlRlbXBsYXRlT2JqZWN0RGVzY3JpcHRvcj4gewogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyLmgKaW5kZXggODYzZWNhNzUxNTBkOTRjNDk1ZGVm
Y2YyNDcxZTczNzYyMjVmMTVhMC4uNzc5Y2MwMGMxMGRhOWUxZWI2Y2ExOTc4MDU3ZmRhMjE5ZDgw
Y2JjNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2Zp
bGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyLmgK
QEAgLTk4LDkgKzk4LDcgQEAgc3RydWN0IFF1ZXJ5S2V5SGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsK
IAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpRdWVyeUtleT4gewotICAgIHR5cGVkZWYgSlNDOjpRdWVy
eUtleUhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OlF1
ZXJ5S2V5PiA6IEpTQzo6UXVlcnlLZXlIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IEhhc2hUcmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6UXVl
cnlLZXk+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6UXVlcnlLZXk+IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Zhck9mZnNldC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVmFyT2Zmc2V0LmgKaW5kZXggMjAwMmY5ZDcwMmIzYTJhY2Q3
NWQzMDM0ODQ0Yjg2MDk5NTk0ZGNlNy4uNDJjMzdjMTFhMWFjZTQyNDRkZjdkMzgxZTQ2NTVjZWVm
Yzk2MjE5ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVmFyT2Zm
c2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVmFyT2Zmc2V0LmgKQEAg
LTIzMSw5ICsyMzEsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQgcHJpbnRJbnRlcm5hbChQcmlu
dFN0cmVhbSYsIEpTQzo6VmFyS2luZCk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBE
ZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEpTQzo6VmFyT2Zmc2V0
PiB7Ci0gICAgdHlwZWRlZiBKU0M6OlZhck9mZnNldEhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6OlZhck9mZnNldD4gOiBKU0M6OlZhck9mZnNldEhhc2gg
eyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIHRlbXBsYXRl
PD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpWYXJPZmZzZXQ+IDogU2ltcGxlQ2xhc3NIYXNoVHJh
aXRzPEpTQzo6VmFyT2Zmc2V0PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9XZWFrR0NNYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtH
Q01hcC5oCmluZGV4IDg4ZWZkODY1OTRlMTdiYjJkZWYzYzc0NzU4ZWE5YWVkYjQ2Yjg1NmEuLjkx
MmNkNDE5NmI1OTAyM2M1M2VjNjViZTUxNThlMjJkMmViMDU0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCkBAIC0zOCw3ICszOCw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgcHJ1bmVTdGFsZUVudHJpZXMoKSA9IDA7CiB9OwogCi10ZW1wbGF0ZTx0
eXBlbmFtZSBLZXlBcmcsIHR5cGVuYW1lIFZhbHVlQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlw
ZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJnPjo6SGFzaCwKK3RlbXBsYXRlPHR5cGVuYW1lIEtleUFy
ZywgdHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSBEZWZhdWx0SGFzaDxLZXlB
cmc+LAogICAgIHR5cGVuYW1lIEtleVRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8S2V5QXJnPj4KIGNs
YXNzIFdlYWtHQ01hcCBmaW5hbCA6IHB1YmxpYyBXZWFrR0NNYXBCYXNlIHsKICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21CQlFQbGFuLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQkJRUGxhbi5o
CmluZGV4IGZiNGUxZTI1OTYyMGRiYjc1NDc2ZmM3NmM5MmRjZWM2MjUzODY0NDcuLjI3NTA4YmYx
Y2Q0MDY0MzA2NDcyNmU1ZWRmYjc4MzMyYjQzY2I4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dhc21CQlFQbGFuLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV2FzbUJCUVBsYW4uaApAQCAtODMsNyArODMsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6
dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9uPiBjb21waWxlRnVuY3Rpb24odWludDMyX3QgZnVu
Y3Rpb25JbmRleCwgQ29tcGlsYXRpb25Db250ZXh0JiwgVmVjdG9yPFVubGlua2VkV2FzbVRvV2Fz
bUNhbGw+JiwgVGllclVwQ291bnQqKTsKIAogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8SW50
ZXJuYWxGdW5jdGlvbj4+IG1fd2FzbUludGVybmFsRnVuY3Rpb25zOwotICAgIEhhc2hNYXA8dWlu
dDMyX3QsIHN0ZDo6dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9uPiwgdHlwZW5hbWUgRGVmYXVs
dEhhc2g8dWludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRz
PHVpbnQzMl90Pj4gbV9lbWJlZGRlclRvV2FzbUludGVybmFsRnVuY3Rpb25zOworICAgIEhhc2hN
YXA8dWludDMyX3QsIHN0ZDo6dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9uPiwgRGVmYXVsdEhh
c2g8dWludDMyX3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90
Pj4gbV9lbWJlZGRlclRvV2FzbUludGVybmFsRnVuY3Rpb25zOwogICAgIFZlY3RvcjxDb21waWxh
dGlvbkNvbnRleHQ+IG1fY29tcGlsYXRpb25Db250ZXh0czsKICAgICBWZWN0b3I8c3RkOjp1bmlx
dWVfcHRyPFRpZXJVcENvdW50Pj4gbV90aWVyVXBDb3VudHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21Db2RlQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dhc21Db2RlQmxvY2suaAppbmRleCBhOGZiMjRiOGUwNTlmOWExOTE3ODkxMDA3
ZDE4ZDM4ZTU1MzE3MWVkLi5hNzUzYTUyNGMxYjRhZDVkOWFmMjdlYmYyNTFlMmJhNTgzMmI3Mzhh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ29kZUJsb2NrLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUNvZGVCbG9jay5oCkBAIC0xMzYs
NyArMTM2LDcgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8UmVmUHRyPE9NR0NhbGxlZT4+IG1fb21n
Q2FsbGVlczsKICAgICBWZWN0b3I8UmVmUHRyPEJCUUNhbGxlZT4+IG1fYmJxQ2FsbGVlczsKICAg
ICBSZWZQdHI8TExJbnRDYWxsZWVzPiBtX2xsaW50Q2FsbGVlczsKLSAgICBIYXNoTWFwPHVpbnQz
Ml90LCBSZWZQdHI8RW1iZWRkZXJFbnRyeXBvaW50Q2FsbGVlPiwgdHlwZW5hbWUgRGVmYXVsdEhh
c2g8dWludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVp
bnQzMl90Pj4gbV9lbWJlZGRlckNhbGxlZXM7CisgICAgSGFzaE1hcDx1aW50MzJfdCwgUmVmUHRy
PEVtYmVkZGVyRW50cnlwb2ludENhbGxlZT4sIERlZmF1bHRIYXNoPHVpbnQzMl90PiwgV1RGOjpV
bnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+IG1fZW1iZWRkZXJDYWxsZWVz
OwogICAgIFZlY3RvcjxNYWNyb0Fzc2VtYmxlckNvZGVQdHI8V2FzbUVudHJ5UHRyVGFnPj4gbV93
YXNtSW5kaXJlY3RDYWxsRW50cnlQb2ludHM7CiAgICAgVmVjdG9yPFZlY3RvcjxVbmxpbmtlZFdh
c21Ub1dhc21DYWxsPj4gbV93YXNtVG9XYXNtQ2FsbHNpdGVzOwogICAgIFZlY3RvcjxNYWNyb0Fz
c2VtYmxlckNvZGVSZWY8V2FzbUVudHJ5UHRyVGFnPj4gbV93YXNtVG9XYXNtRXhpdFN0dWJzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUVudHJ5UGxhbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUVudHJ5UGxhbi5oCmluZGV4IGIwMDBmOGJh
MjI4YTcwN2U0Y2EzM2RmYzY1NjE4ZjhjOGZmMDA4MDguLjAzMzkxOTZkMDkxNTY3ZDg1Zjc0YzRk
ZWU4OGRhNzM0Mzg0YmI5NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21FbnRyeVBsYW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtRW50
cnlQbGFuLmgKQEAgLTExNSw3ICsxMTUsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBWZWN0b3I8dWlu
dDhfdD4gbV9zb3VyY2U7CiAgICAgVmVjdG9yPE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxXYXNtRW50
cnlQdHJUYWc+PiBtX3dhc21Ub1dhc21FeGl0U3R1YnM7Ci0gICAgSGFzaFNldDx1aW50MzJfdCwg
dHlwZW5hbWUgRGVmYXVsdEhhc2g8dWludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFpl
cm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj4gbV9leHBvcnRlZEZ1bmN0aW9uSW5kaWNlczsKKyAg
ICBIYXNoU2V0PHVpbnQzMl90LCBEZWZhdWx0SGFzaDx1aW50MzJfdD4sIFdURjo6VW5zaWduZWRX
aXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDMyX3Q+PiBtX2V4cG9ydGVkRnVuY3Rpb25JbmRpY2Vz
OwogCiAgICAgVmVjdG9yPFZlY3RvcjxVbmxpbmtlZFdhc21Ub1dhc21DYWxsPj4gbV91bmxpbmtl
ZFdhc21Ub1dhc21DYWxsczsKICAgICBTdHJlYW1pbmdQYXJzZXIgbV9zdHJlYW1pbmdQYXJzZXI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRQbGFuLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRQbGFuLmgKaW5kZXggZmI4NDkx
YmFiMzBkZmFiNzljMzdmMTJhZWJiYzFlZTQxZDFlODVkOS4uMmVjYzQyODczNzlhZTE4ZjNjNjEx
N2I3NmE1ZWE2NTZmNTcwODYyNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV2FzbUxMSW50UGxhbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21M
TEludFBsYW4uaApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2FzbSB7CiBjbGFzcyBMTElu
dENhbGxlZTsKIGNsYXNzIEVtYmVkZGVyRW50cnlwb2ludENhbGxlZTsKIAotdXNpbmcgRW1iZWRk
ZXJFbnRyeXBvaW50Q2FsbGVlTWFwID0gSGFzaE1hcDx1aW50MzJfdCwgUmVmUHRyPEVtYmVkZGVy
RW50cnlwb2ludENhbGxlZT4sIHR5cGVuYW1lIERlZmF1bHRIYXNoPHVpbnQzMl90Pjo6SGFzaCwg
V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+OwordXNpbmcgRW1i
ZWRkZXJFbnRyeXBvaW50Q2FsbGVlTWFwID0gSGFzaE1hcDx1aW50MzJfdCwgUmVmUHRyPEVtYmVk
ZGVyRW50cnlwb2ludENhbGxlZT4sIERlZmF1bHRIYXNoPHVpbnQzMl90PiwgV1RGOjpVbnNpZ25l
ZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+OwogCiBjbGFzcyBMTEludFBsYW4gZmlu
YWwgOiBwdWJsaWMgRW50cnlQbGFuIHsKICAgICB1c2luZyBCYXNlID0gRW50cnlQbGFuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVNpZ25hdHVyZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVNpZ25hdHVyZS5oCmluZGV4IDljNWE3OTZhMWNm
ZDEwNGViZTJkZjhkNzNmMWJiODQ3NDdhZDkxNTMuLmNhOGMzMmI1NmY2Y2FjZDYyM2MyMTY1OWE0
M2NmOTlhYTk3MDQ4NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dh
c21TaWduYXR1cmUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU2lnbmF0
dXJlLmgKQEAgLTEyMyw5ICsxMjMsNyBAQCBzdHJ1Y3QgU2lnbmF0dXJlSGFzaCB7CiBuYW1lc3Bh
Y2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpXYXNtOjpTaWduYXR1cmVIYXNoPiB7Ci0g
ICAgdHlwZWRlZiBKU0M6Oldhc206OlNpZ25hdHVyZUhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxKU0M6Oldhc206OlNpZ25hdHVyZUhhc2g+IDogSlNDOjpXYXNt
OjpTaWduYXR1cmVIYXNoIHsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hU
cmFpdHM7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6V2FzbTo6U2lnbmF0dXJl
SGFzaD4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8SlNDOjpXYXNtOjpTaWduYXR1cmVIYXNoPiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9CaXRWZWN0b3IuaCBiL1NvdXJjZS9XVEYvd3Rm
L0JpdFZlY3Rvci5oCmluZGV4IDNlNjEzNDgwY2UwMThlNjgxMDA4NWQ2OGU3NTg4MDY1Nzk1ZGY1
YzAuLmRkMzhiZDg4ODI0MjE3MTU3MTk2NjA0M2EyYTQ1ZDYwOGVhNjAyYjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL0JpdFZlY3Rvci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0JpdFZlY3Rv
ci5oCkBAIC00OTMsOSArNDkzLDcgQEAgc3RydWN0IEJpdFZlY3Rvckhhc2ggewogfTsKIAogdGVt
cGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8Qml0VmVjdG9yPiB7Ci0gICAgdHlwZWRlZiBCaXRWZWN0b3JIYXNoIEhhc2g7
Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8Qml0VmVjdG9yPiA6IEJpdFZlY3Rv
ckhhc2ggeyB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEJpdFZlY3Rvcj4gOiBw
dWJsaWMgQ3VzdG9tSGFzaFRyYWl0czxCaXRWZWN0b3I+IHsgfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvRm9yd2FyZC5oIGIvU291cmNlL1dURi93dGYvRm9yd2FyZC5oCmluZGV4IDdi
NDIwNzJjZmRjZDc1MzA5NDE0N2ZlYjU2MzA2Y2ZhNDFhZGRmMzkuLjQ3MGIyZTllOTRhZmI2MWFi
M2IyOTQ1MzM2MzUxMGFlNjlkYjFlYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Zvcndh
cmQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Gb3J3YXJkLmgKQEAgLTc4LDE1ICs3OCwxNSBAQCB0
ZW1wbGF0ZTx0eXBlbmFtZS4uLj4gY2xhc3MgVmFyaWFudDsKIHRlbXBsYXRlPHR5cGVuYW1lLCBz
aXplX3QgPSAwLCB0eXBlbmFtZSA9IENyYXNoT25PdmVyZmxvdywgc2l6ZV90ID0gMTYsIHR5cGVu
YW1lIE1hbGxvYyA9IFZlY3Rvck1hbGxvYz4gY2xhc3MgVmVjdG9yOwogdGVtcGxhdGU8dHlwZW5h
bWUsIHR5cGVuYW1lID0gRW1wdHlDb3VudGVyPiBjbGFzcyBXZWFrUHRyOwogCi10ZW1wbGF0ZTx0
eXBlbmFtZT4gc3RydWN0IERlZmF1bHRIYXNoIHsgdXNpbmcgSGFzaCA9IHZvaWQ7IH07Cit0ZW1w
bGF0ZTx0eXBlbmFtZT4gc3RydWN0IERlZmF1bHRIYXNoOwogdGVtcGxhdGU8dHlwZW5hbWU+IHN0
cnVjdCBEdW1iVmFsdWVUcmFpdHM7CiB0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IEVudW1UcmFp
dHM7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBFLCBFLi4uPiBzdHJ1Y3QgRW51bVZhbHVlczsKIHRlbXBs
YXRlPHR5cGVuYW1lPiBzdHJ1Y3QgSGFzaFRyYWl0czsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVmFs
dWUsIHR5cGVuYW1lID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWU+OjpIYXNoLCB0eXBlbmFt
ZSA9IEhhc2hUcmFpdHM8VmFsdWU+PiBjbGFzcyBIYXNoQ291bnRlZFNldDsKLXRlbXBsYXRlPHR5
cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSA9IHR5cGVuYW1lIERl
ZmF1bHRIYXNoPEtleUFyZz46Okhhc2gsIHR5cGVuYW1lID0gSGFzaFRyYWl0czxLZXlBcmc+LCB0
eXBlbmFtZSA9IEhhc2hUcmFpdHM8TWFwcGVkQXJnPj4gY2xhc3MgSGFzaE1hcDsKLXRlbXBsYXRl
PHR5cGVuYW1lIFZhbHVlQXJnLCB0eXBlbmFtZSA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVl
QXJnPjo6SGFzaCwgdHlwZW5hbWUgPSBIYXNoVHJhaXRzPFZhbHVlQXJnPj4gY2xhc3MgSGFzaFNl
dDsKK3RlbXBsYXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSA9IERlZmF1bHRIYXNoPFZhbHVl
PiwgdHlwZW5hbWUgPSBIYXNoVHJhaXRzPFZhbHVlPj4gY2xhc3MgSGFzaENvdW50ZWRTZXQ7Cit0
ZW1wbGF0ZTx0eXBlbmFtZSBLZXlBcmcsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgPSBE
ZWZhdWx0SGFzaDxLZXlBcmc+LCB0eXBlbmFtZSA9IEhhc2hUcmFpdHM8S2V5QXJnPiwgdHlwZW5h
bWUgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4+IGNsYXNzIEhhc2hNYXA7Cit0ZW1wbGF0ZTx0eXBl
bmFtZSBWYWx1ZUFyZywgdHlwZW5hbWUgPSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz4sIHR5cGVuYW1l
ID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4+IGNsYXNzIEhhc2hTZXQ7CiAKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvSGFzaEZ1bmN0aW9ucy5oIGIvU291cmNlL1dURi93dGYvSGFzaEZ1
bmN0aW9ucy5oCmluZGV4IDlkY2I4OWY3MWMzYmNjOGY2MGQzNjM1MWQyN2Y1YjgxZWUzZWY4ZTIu
LjVmOTBmNGVhNzYxMTgxYmZlNGE0NTA3N2IxMmQxODUxZTdmODljNDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL0hhc2hGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoRnVu
Y3Rpb25zLmgKQEAgLTE2MCwxMyArMTYwLDEzIEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IHN0cnVjdCBQYWlySGFzaCB7CiAgICAgICAgIHN0
YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IHN0ZDo6cGFpcjxULCBVPiYgcCkKICAgICAgICAgewot
ICAgICAgICAgICAgcmV0dXJuIHBhaXJJbnRIYXNoKERlZmF1bHRIYXNoPFQ+OjpIYXNoOjpoYXNo
KHAuZmlyc3QpLCBEZWZhdWx0SGFzaDxVPjo6SGFzaDo6aGFzaChwLnNlY29uZCkpOworICAgICAg
ICAgICAgcmV0dXJuIHBhaXJJbnRIYXNoKERlZmF1bHRIYXNoPFQ+OjpoYXNoKHAuZmlyc3QpLCBE
ZWZhdWx0SGFzaDxVPjo6aGFzaChwLnNlY29uZCkpOwogICAgICAgICB9CiAgICAgICAgIHN0YXRp
YyBib29sIGVxdWFsKGNvbnN0IHN0ZDo6cGFpcjxULCBVPiYgYSwgY29uc3Qgc3RkOjpwYWlyPFQs
IFU+JiBiKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8VD46Okhh
c2g6OmVxdWFsKGEuZmlyc3QsIGIuZmlyc3QpICYmIERlZmF1bHRIYXNoPFU+OjpIYXNoOjplcXVh
bChhLnNlY29uZCwgYi5zZWNvbmQpOworICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPFQ+
OjplcXVhbChhLmZpcnN0LCBiLmZpcnN0KSAmJiBEZWZhdWx0SGFzaDxVPjo6ZXF1YWwoYS5zZWNv
bmQsIGIuc2Vjb25kKTsKICAgICAgICAgfQotICAgICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wg
c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBEZWZhdWx0SGFzaDxUPjo6SGFzaDo6c2Fm
ZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgJiYgRGVmYXVsdEhhc2g8VT46Okhhc2g6OnNhZmVU
b0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkOworICAgICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wg
c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBEZWZhdWx0SGFzaDxUPjo6c2FmZVRvQ29t
cGFyZVRvRW1wdHlPckRlbGV0ZWQgJiYgRGVmYXVsdEhhc2g8VT46OnNhZmVUb0NvbXBhcmVUb0Vt
cHR5T3JEZWxldGVkOwogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFt
ZSBVPiBzdHJ1Y3QgSW50UGFpckhhc2ggewpAQCAtMTgxLDk0ICsxODEsOTQgQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgICAgIHN0YXRpYyB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJIDwgc2l6ZW9m
Li4uKFR5cGVzKSAtIDEsIHVuc2lnbmVkPjo6dHlwZSBoYXNoKGNvbnN0IHN0ZDo6dHVwbGU8VHlw
ZXMuLi4+JiB0KQogICAgICAgICB7CiAgICAgICAgICAgICB1c2luZyBJdGhUdXBsZUVsZW1lbnRU
eXBlID0gdHlwZW5hbWUgc3RkOjp0dXBsZV9lbGVtZW50PEksIHR5cGVuYW1lIHN0ZDo6dHVwbGU8
VHlwZXMuLi4+Pjo6dHlwZTsKLSAgICAgICAgICAgIHJldHVybiBwYWlySW50SGFzaChEZWZhdWx0
SGFzaDxJdGhUdXBsZUVsZW1lbnRUeXBlPjo6SGFzaDo6aGFzaChzdGQ6OmdldDxJPih0KSksIGhh
c2g8SSArIDE+KHQpKTsKKyAgICAgICAgICAgIHJldHVybiBwYWlySW50SGFzaChEZWZhdWx0SGFz
aDxJdGhUdXBsZUVsZW1lbnRUeXBlPjo6aGFzaChzdGQ6OmdldDxJPih0KSksIGhhc2g8SSArIDE+
KHQpKTsKICAgICAgICAgfQogCiAgICAgICAgIHRlbXBsYXRlPHNpemVfdCBJID0gMD4KICAgICAg
ICAgc3RhdGljIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPEkgPT0gc2l6ZW9mLi4uKFR5cGVzKSAt
IDEsIHVuc2lnbmVkPjo6dHlwZSBoYXNoKGNvbnN0IHN0ZDo6dHVwbGU8VHlwZXMuLi4+JiB0KQog
ICAgICAgICB7CiAgICAgICAgICAgICB1c2luZyBJdGhUdXBsZUVsZW1lbnRUeXBlID0gdHlwZW5h
bWUgc3RkOjp0dXBsZV9lbGVtZW50PEksIHR5cGVuYW1lIHN0ZDo6dHVwbGU8VHlwZXMuLi4+Pjo6
dHlwZTsKLSAgICAgICAgICAgIHJldHVybiBEZWZhdWx0SGFzaDxJdGhUdXBsZUVsZW1lbnRUeXBl
Pjo6SGFzaDo6aGFzaChzdGQ6OmdldDxJPih0KSk7CisgICAgICAgICAgICByZXR1cm4gRGVmYXVs
dEhhc2g8SXRoVHVwbGVFbGVtZW50VHlwZT46Omhhc2goc3RkOjpnZXQ8ST4odCkpOwogICAgICAg
ICB9CiAKICAgICAgICAgdGVtcGxhdGU8c2l6ZV90IEkgPSAwPgogICAgICAgICBzdGF0aWMgdHlw
ZW5hbWUgc3RkOjplbmFibGVfaWY8SSA8IHNpemVvZi4uLihUeXBlcykgLSAxLCBib29sPjo6dHlw
ZSBlcXVhbChjb25zdCBzdGQ6OnR1cGxlPFR5cGVzLi4uPiYgYSwgY29uc3Qgc3RkOjp0dXBsZTxU
eXBlcy4uLj4mIGIpCiAgICAgICAgIHsKICAgICAgICAgICAgIHVzaW5nIEl0aFR1cGxlRWxlbWVu
dFR5cGUgPSB0eXBlbmFtZSBzdGQ6OnR1cGxlX2VsZW1lbnQ8SSwgdHlwZW5hbWUgc3RkOjp0dXBs
ZTxUeXBlcy4uLj4+Ojp0eXBlOwotICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPEl0aFR1
cGxlRWxlbWVudFR5cGU+OjpIYXNoOjplcXVhbChzdGQ6OmdldDxJPihhKSwgc3RkOjpnZXQ8ST4o
YikpICYmIGVxdWFsPEkgKyAxPihhLCBiKTsKKyAgICAgICAgICAgIHJldHVybiBEZWZhdWx0SGFz
aDxJdGhUdXBsZUVsZW1lbnRUeXBlPjo6ZXF1YWwoc3RkOjpnZXQ8ST4oYSksIHN0ZDo6Z2V0PEk+
KGIpKSAmJiBlcXVhbDxJICsgMT4oYSwgYik7CiAgICAgICAgIH0KIAogICAgICAgICB0ZW1wbGF0
ZTxzaXplX3QgSSA9IDA+CiAgICAgICAgIHN0YXRpYyB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJ
ID09IHNpemVvZi4uLihUeXBlcykgLSAxLCBib29sPjo6dHlwZSBlcXVhbChjb25zdCBzdGQ6OnR1
cGxlPFR5cGVzLi4uPiYgYSwgY29uc3Qgc3RkOjp0dXBsZTxUeXBlcy4uLj4mIGIpCiAgICAgICAg
IHsKICAgICAgICAgICAgIHVzaW5nIEl0aFR1cGxlRWxlbWVudFR5cGUgPSB0eXBlbmFtZSBzdGQ6
OnR1cGxlX2VsZW1lbnQ8SSwgdHlwZW5hbWUgc3RkOjp0dXBsZTxUeXBlcy4uLj4+Ojp0eXBlOwot
ICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPEl0aFR1cGxlRWxlbWVudFR5cGU+OjpIYXNo
OjplcXVhbChzdGQ6OmdldDxJPihhKSwgc3RkOjpnZXQ8ST4oYikpOworICAgICAgICAgICAgcmV0
dXJuIERlZmF1bHRIYXNoPEl0aFR1cGxlRWxlbWVudFR5cGU+OjplcXVhbChzdGQ6OmdldDxJPihh
KSwgc3RkOjpnZXQ8ST4oYikpOwogICAgICAgICB9CiAKLSAgICAgICAgLy8gV2Ugc2hvdWxkIHVz
ZSBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IERlZmF1bHRIYXNoPFR5cGVzPjo6SGFz
aDo6c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgJiYuLi4gd2hlbmV2ZXIKKyAgICAgICAg
Ly8gV2Ugc2hvdWxkIHVzZSBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IERlZmF1bHRI
YXNoPFR5cGVzPjo6c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgJiYuLi4gd2hlbmV2ZXIK
ICAgICAgICAgLy8gd2Ugc3dpdGNoIHRvIEMrKzE3LiBXZSBjYW4ndCBkbyBhbnl0aGluZyBiZXR0
ZXIgaGVyZSByaWdodCBub3cgYmVjYXVzZSBHQ0MgY2FuJ3QgZG8gQysrLgogICAgICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBCb29sVHlwZT4KICAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGFs
bFRydWUoQm9vbFR5cGUgdmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9CiAgICAgICAgIHRlbXBsYXRl
PHR5cGVuYW1lIEJvb2xUeXBlLCB0eXBlbmFtZS4uLiBCb29sVHlwZXM+CiAgICAgICAgIHN0YXRp
YyBjb25zdGV4cHIgYm9vbCBhbGxUcnVlKEJvb2xUeXBlIHZhbHVlLCBCb29sVHlwZXMuLi4gdmFs
dWVzKSB7IHJldHVybiB2YWx1ZSAmJiBhbGxUcnVlKHZhbHVlcy4uLik7IH0KLSAgICAgICAgc3Rh
dGljIGNvbnN0ZXhwciBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gYWxsVHJ1
ZShEZWZhdWx0SGFzaDxUeXBlcz46Okhhc2g6OnNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVk
Li4uKTsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5
T3JEZWxldGVkID0gYWxsVHJ1ZShEZWZhdWx0SGFzaDxUeXBlcz46OnNhZmVUb0NvbXBhcmVUb0Vt
cHR5T3JEZWxldGVkLi4uKTsKICAgICB9OwogCiAgICAgLy8gbWFrZSBJbnRIYXNoIHRoZSBkZWZh
dWx0IGhhc2ggZnVuY3Rpb24gZm9yIG1hbnkgaW50ZWdlciB0eXBlcwogCi0gICAgdGVtcGxhdGU8
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8Ym9vbD4geyB0eXBlZGVmIEludEhhc2g8dWludDhfdD4gSGFz
aDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDx1aW50OF90PiB7IHR5cGVk
ZWYgSW50SGFzaDx1aW50OF90PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPHNob3J0PiB7IHR5cGVkZWYgSW50SGFzaDx1bnNpZ25lZD4gSGFzaDsgfTsKLSAgICB0
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDx1bnNpZ25lZCBzaG9ydD4geyB0eXBlZGVmIElu
dEhhc2g8dW5zaWduZWQ+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8aW50PiB7IHR5cGVkZWYgSW50SGFzaDx1bnNpZ25lZD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDx1bnNpZ25lZD4geyB0eXBlZGVmIEludEhhc2g8dW5zaWdu
ZWQ+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8bG9uZz4geyB0
eXBlZGVmIEludEhhc2g8dW5zaWduZWQgbG9uZz4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDx1bnNpZ25lZCBsb25nPiB7IHR5cGVkZWYgSW50SGFzaDx1bnNpZ25l
ZCBsb25nPiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGxvbmcg
bG9uZz4geyB0eXBlZGVmIEludEhhc2g8dW5zaWduZWQgbG9uZyBsb25nPiBIYXNoOyB9OwotICAg
IHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHVuc2lnbmVkIGxvbmcgbG9uZz4geyB0eXBl
ZGVmIEludEhhc2g8dW5zaWduZWQgbG9uZyBsb25nPiBIYXNoOyB9OworICAgIHRlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPGJvb2w+IDogSW50SGFzaDx1aW50OF90PiB7IH07CisgICAgdGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8dWludDhfdD4gOiBJbnRIYXNoPHVpbnQ4X3Q+IHsg
fTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzaG9ydD4gOiBJbnRIYXNoPHVu
c2lnbmVkPiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8dW5zaWduZWQg
c2hvcnQ+IDogSW50SGFzaDx1bnNpZ25lZD4geyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPGludD4gOiBJbnRIYXNoPHVuc2lnbmVkPiB7IH07CisgICAgdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8dW5zaWduZWQ+IDogSW50SGFzaDx1bnNpZ25lZD4geyB9OworICAg
IHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGxvbmc+IDogSW50SGFzaDx1bnNpZ25lZCBs
b25nPiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8dW5zaWduZWQgbG9u
Zz4gOiBJbnRIYXNoPHVuc2lnbmVkIGxvbmc+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxsb25nIGxvbmc+IDogSW50SGFzaDx1bnNpZ25lZCBsb25nIGxvbmc+IHsgfTsK
KyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDx1bnNpZ25lZCBsb25nIGxvbmc+IDog
SW50SGFzaDx1bnNpZ25lZCBsb25nIGxvbmc+IHsgfTsKIAogI2lmIGRlZmluZWQoX05BVElWRV9X
Q0hBUl9UX0RFRklORUQpCi0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8d2NoYXJf
dD4geyB0eXBlZGVmIEludEhhc2g8d2NoYXJfdD4gSGFzaDsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDx3Y2hhcl90PiA6IEludEhhc2g8d2NoYXJfdD4geyB9OwogI2VuZGlm
CiAKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxmbG9hdD4geyB0eXBlZGVmIEZs
b2F0SGFzaDxmbG9hdD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFz
aDxkb3VibGU+IHsgdHlwZWRlZiBGbG9hdEhhc2g8ZG91YmxlPiBIYXNoOyB9OworICAgIHRlbXBs
YXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGZsb2F0PiA6IEZsb2F0SGFzaDxmbG9hdD4geyB9Owor
ICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGRvdWJsZT4gOiBGbG9hdEhhc2g8ZG91
YmxlPiB7IH07CiAKICAgICAvLyBtYWtlIFB0ckhhc2ggdGhlIGRlZmF1bHQgaGFzaCBmdW5jdGlv
biBmb3IgcG9pbnRlciB0eXBlcyB0aGF0IGRvbid0IHNwZWNpYWxpemUKIAotICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxQKj4geyB0eXBlZGVmIFB0ckhhc2g8UCo+
IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgUD4gc3RydWN0IERlZmF1bHRIYXNoPFJl
ZlB0cjxQPj4geyB0eXBlZGVmIFB0ckhhc2g8UmVmUHRyPFA+PiBIYXNoOyB9OwotICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxSZWY8UD4+IHsgdHlwZWRlZiBQdHJI
YXNoPFJlZjxQPj4gSGFzaDsgfTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8UCo+IDogUHRySGFzaDxQKj4geyB9OworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFA+
IHN0cnVjdCBEZWZhdWx0SGFzaDxSZWZQdHI8UD4+IDogUHRySGFzaDxSZWZQdHI8UD4+IHsgfTsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8UmVmPFA+PiA6IFB0
ckhhc2g8UmVmPFA+PiB7IH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQLCB0eXBlbmFtZSBE
ZWxldGVyPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjp1bmlxdWVfcHRyPFAsIERlbGV0ZXI+PiB7
IHR5cGVkZWYgUHRySGFzaDxzdGQ6OnVuaXF1ZV9wdHI8UCwgRGVsZXRlcj4+IEhhc2g7IH07Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgUCwgdHlwZW5hbWUgRGVsZXRlcj4gc3RydWN0IERlZmF1bHRI
YXNoPHN0ZDo6dW5pcXVlX3B0cjxQLCBEZWxldGVyPj4gOiBQdHJIYXNoPHN0ZDo6dW5pcXVlX3B0
cjxQLCBEZWxldGVyPj4geyB9OwogCiAjaWZkZWYgX19PQkpDX18KLSAgICB0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDxfX3Vuc2FmZV91bnJldGFpbmVkIGlkPiB7IHVzaW5nIEhhc2ggPSBQ
dHJIYXNoPF9fdW5zYWZlX3VucmV0YWluZWQgaWQ+OyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPF9fdW5zYWZlX3VucmV0YWluZWQgaWQ+IDogUHRySGFzaDxfX3Vuc2FmZV91
bnJldGFpbmVkIGlkPiB7IH07CiAjZW5kaWYKIAogICAgIC8vIG1ha2UgSW50UGFpckhhc2ggdGhl
IGRlZmF1bHQgaGFzaCBmdW5jdGlvbiBmb3IgcGFpcnMgb2YgKGF0IG1vc3QpIDMyLWJpdCBpbnRl
Z2Vycy4KIAotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxzaG9y
dCwgc2hvcnQ+PiB7IHR5cGVkZWYgSW50UGFpckhhc2g8c2hvcnQsIHNob3J0PiBIYXNoOyB9Owot
ICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxzaG9ydCwgdW5zaWdu
ZWQgc2hvcnQ+PiB7IHR5cGVkZWYgSW50UGFpckhhc2g8c2hvcnQsIHVuc2lnbmVkIHNob3J0PiBI
YXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxzaG9y
dCwgaW50Pj4geyB0eXBlZGVmIEludFBhaXJIYXNoPHNob3J0LCBpbnQ+IEhhc2g7IH07Ci0gICAg
dGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHNob3J0LCB1bnNpZ25lZD4+
IHsgdHlwZWRlZiBJbnRQYWlySGFzaDxzaG9ydCwgdW5zaWduZWQ+IEhhc2g7IH07Ci0gICAgdGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHVuc2lnbmVkIHNob3J0LCBzaG9y
dD4+IHsgdHlwZWRlZiBJbnRQYWlySGFzaDx1bnNpZ25lZCBzaG9ydCwgc2hvcnQ+IEhhc2g7IH07
Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHVuc2lnbmVkIHNo
b3J0LCB1bnNpZ25lZCBzaG9ydD4+IHsgdHlwZWRlZiBJbnRQYWlySGFzaDx1bnNpZ25lZCBzaG9y
dCwgdW5zaWduZWQgc2hvcnQ+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVs
dEhhc2g8c3RkOjpwYWlyPHVuc2lnbmVkIHNob3J0LCBpbnQ+PiB7IHR5cGVkZWYgSW50UGFpckhh
c2g8dW5zaWduZWQgc2hvcnQsIGludD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQgc2hvcnQsIHVuc2lnbmVkPj4geyB0eXBlZGVm
IEludFBhaXJIYXNoPHVuc2lnbmVkIHNob3J0LCB1bnNpZ25lZD4gSGFzaDsgfTsKLSAgICB0ZW1w
bGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8aW50LCBzaG9ydD4+IHsgdHlwZWRl
ZiBJbnRQYWlySGFzaDxpbnQsIHNob3J0PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxpbnQsIHVuc2lnbmVkIHNob3J0Pj4geyB0eXBlZGVmIElu
dFBhaXJIYXNoPGludCwgdW5zaWduZWQgc2hvcnQ+IEhhc2g7IH07Ci0gICAgdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPGludCwgaW50Pj4geyB0eXBlZGVmIEludFBhaXJI
YXNoPGludCwgaW50PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PHN0ZDo6cGFpcjxpbnQsIHVuc2lnbmVkPj4geyB0eXBlZGVmIEludFBhaXJIYXNoPHVuc2lnbmVk
LCB1bnNpZ25lZD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxz
dGQ6OnBhaXI8dW5zaWduZWQsIHNob3J0Pj4geyB0eXBlZGVmIEludFBhaXJIYXNoPHVuc2lnbmVk
LCBzaG9ydD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6
OnBhaXI8dW5zaWduZWQsIHVuc2lnbmVkIHNob3J0Pj4geyB0eXBlZGVmIEludFBhaXJIYXNoPHVu
c2lnbmVkLCB1bnNpZ25lZCBzaG9ydD4gSGFzaDsgfTsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQsIGludD4+IHsgdHlwZWRlZiBJbnRQYWlySGFz
aDx1bnNpZ25lZCwgaW50PiBIYXNoOyB9OwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPHN0ZDo6cGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+PiB7IHR5cGVkZWYgSW50UGFpckhhc2g8
dW5zaWduZWQsIHVuc2lnbmVkPiBIYXNoOyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPHN0ZDo6cGFpcjxzaG9ydCwgc2hvcnQ+PiA6IEludFBhaXJIYXNoPHNob3J0LCBzaG9y
dD4geyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxzaG9y
dCwgdW5zaWduZWQgc2hvcnQ+PiA6IEludFBhaXJIYXNoPHNob3J0LCB1bnNpZ25lZCBzaG9ydD4g
eyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxzaG9ydCwg
aW50Pj4gOiBJbnRQYWlySGFzaDxzaG9ydCwgaW50PiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPHNob3J0LCB1bnNpZ25lZD4+IDogSW50UGFpckhhc2g8
c2hvcnQsIHVuc2lnbmVkPiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
c3RkOjpwYWlyPHVuc2lnbmVkIHNob3J0LCBzaG9ydD4+IDogSW50UGFpckhhc2g8dW5zaWduZWQg
c2hvcnQsIHNob3J0PiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3Rk
OjpwYWlyPHVuc2lnbmVkIHNob3J0LCB1bnNpZ25lZCBzaG9ydD4+IDogSW50UGFpckhhc2g8dW5z
aWduZWQgc2hvcnQsIHVuc2lnbmVkIHNob3J0PiB7IH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8c3RkOjpwYWlyPHVuc2lnbmVkIHNob3J0LCBpbnQ+PiA6IEludFBhaXJIYXNo
PHVuc2lnbmVkIHNob3J0LCBpbnQ+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0
SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQgc2hvcnQsIHVuc2lnbmVkPj4gOiBJbnRQYWlySGFzaDx1
bnNpZ25lZCBzaG9ydCwgdW5zaWduZWQ+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZh
dWx0SGFzaDxzdGQ6OnBhaXI8aW50LCBzaG9ydD4+IDogSW50UGFpckhhc2g8aW50LCBzaG9ydD4g
eyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxpbnQsIHVu
c2lnbmVkIHNob3J0Pj4gOiBJbnRQYWlySGFzaDxpbnQsIHVuc2lnbmVkIHNob3J0PiB7IH07Cisg
ICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPGludCwgaW50Pj4gOiBJ
bnRQYWlySGFzaDxpbnQsIGludD4geyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPHN0ZDo6cGFpcjxpbnQsIHVuc2lnbmVkPj4gOiBJbnRQYWlySGFzaDx1bnNpZ25lZCwgdW5z
aWduZWQ+IHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8
dW5zaWduZWQsIHNob3J0Pj4gOiBJbnRQYWlySGFzaDx1bnNpZ25lZCwgc2hvcnQ+IHsgfTsKKyAg
ICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQsIHVuc2ln
bmVkIHNob3J0Pj4gOiBJbnRQYWlySGFzaDx1bnNpZ25lZCwgdW5zaWduZWQgc2hvcnQ+IHsgfTsK
KyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8dW5zaWduZWQsIGlu
dD4+IDogSW50UGFpckhhc2g8dW5zaWduZWQsIGludD4geyB9OworICAgIHRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+PiA6IEludFBhaXJI
YXNoPHVuc2lnbmVkLCB1bnNpZ25lZD4geyB9OwogCiAgICAgLy8gbWFrZSBQYWlySGFzaCB0aGUg
ZGVmYXVsdCBoYXNoIGZ1bmN0aW9uIGZvciBwYWlycyBvZiBhcmJpdHJhcnkgdmFsdWVzLgogCi0g
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gc3RydWN0IERlZmF1bHRIYXNoPHN0
ZDo6cGFpcjxULCBVPj4geyB0eXBlZGVmIFBhaXJIYXNoPFQsIFU+IEhhc2g7IH07Ci0gICAgdGVt
cGxhdGU8dHlwZW5hbWUuLi4gVHlwZXM+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6OnR1cGxlPFR5
cGVzLi4uPj4geyB0eXBlZGVmIFR1cGxlSGFzaDxUeXBlcy4uLj4gSGFzaDsgfTsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWly
PFQsIFU+PiA6IFBhaXJIYXNoPFQsIFU+IHsgfTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBU
eXBlcz4gc3RydWN0IERlZmF1bHRIYXNoPHN0ZDo6dHVwbGU8VHlwZXMuLi4+PiA6IFR1cGxlSGFz
aDxUeXBlcy4uLj4geyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvTGlzdEhhc2hTZXQuaCBiL1NvdXJjZS9XVEYvd3RmL0xpc3RIYXNoU2V0LmgK
aW5kZXggNTgyOTJkMTIyMDM3MzU5NWUxYjRhYzg2ZTE5ZWRjZjJkMDhiZmI2Ny4uZDgyMGEwOTBl
ODY3YWM5NDBjYmIzMzFhYTY4YzYxYzBjNDVlZjQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvTGlzdEhhc2hTZXQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9MaXN0SGFzaFNldC5oCkBAIC00
OSw3ICs0OSw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnPiBzdHJ1Y3QgTGlzdEhhc2hT
ZXROb2RlOwogdGVtcGxhdGU8dHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9k
ZUhhc2hGdW5jdGlvbnM7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoQXJnPiBzdHJ1Y3QgTGlzdEhh
c2hTZXRUcmFuc2xhdG9yOwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgdHlwZW5hbWUg
SGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaD4gY2xhc3MgTGlz
dEhhc2hTZXQgZmluYWwKK3RlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCB0eXBlbmFtZSBIYXNo
QXJnID0gRGVmYXVsdEhhc2g8VmFsdWVBcmc+PiBjbGFzcyBMaXN0SGFzaFNldCBmaW5hbAogI2lm
IENIRUNLX0hBU0hUQUJMRV9JVEVSQVRPUlMKICAgICA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxM
aXN0SGFzaFNldDxWYWx1ZUFyZywgSGFzaEFyZz4sIFdlYWtQdHJGYWN0b3J5SW5pdGlhbGl6YXRp
b246OkVhZ2VyPgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nSGFz
aE1hcC5oIGIvU291cmNlL1dURi93dGYvTG9nZ2luZ0hhc2hNYXAuaAppbmRleCBlZTUzZDE0MzA5
NTAxZmI2YTNiODU5N2I2M2M5NGE2OWJlNGEwZGU3Li5iMTJjNjkwYjJkNGExMDMyZTU2YjU1NmJj
MjZhYmQ5OGU4MDJjOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nSGFzaE1h
cC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmdIYXNoTWFwLmgKQEAgLTM0LDcgKzM0LDcg
QEAgbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPAogICAgIGNvbnN0IGNoYXIqIHR5cGVBcmd1
bWVudHMsCi0gICAgdHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1l
IEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxLZXlBcmc+OjpIYXNoLAorICAgIHR5cGVu
YW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gRGVmYXVs
dEhhc2g8S2V5QXJnPiwKICAgICB0eXBlbmFtZSBLZXlUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPEtl
eUFyZz4sIHR5cGVuYW1lIE1hcHBlZFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8TWFwcGVkQXJnPiwK
ICAgICB0eXBlbmFtZSBMb2dnaW5nS2V5VHJhaXRzID0gTG9nZ2luZ0hhc2hLZXlUcmFpdHM8S2V5
QXJnPiwKICAgICB0eXBlbmFtZSBMb2dnaW5nVmFsdWVUcmFpdHMgPSBMb2dnaW5nSGFzaFZhbHVl
VHJhaXRzPE1hcHBlZEFyZz4+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nSGFz
aFNldC5oIGIvU291cmNlL1dURi93dGYvTG9nZ2luZ0hhc2hTZXQuaAppbmRleCBjOTAzNjY4NjE4
ZTY4ODA0YmI4Y2EwY2M2ZGVkN2E4MzViMmUzODZlLi4wNzAwZDUxNjQ0NmZhNjBiNzllYTM2NGM1
YTY5ZjM5NDg1MGJjMjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nSGFzaFNl
dC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmdIYXNoU2V0LmgKQEAgLTM0LDcgKzM0LDcg
QEAgbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPAogICAgIGNvbnN0IGNoYXIqIHR5cGVBcmd1
bWVudHMsCi0gICAgdHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFt
ZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCisgICAgdHlwZW5hbWUgVmFsdWVBcmcsIHR5
cGVuYW1lIEhhc2hBcmcgPSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz4sCiAgICAgdHlwZW5hbWUgVHJh
aXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4sCiAgICAgdHlwZW5hbWUgTG9nZ2luZ1RyYWl0
cyA9IExvZ2dpbmdIYXNoS2V5VHJhaXRzPFZhbHVlQXJnPj4KIGNsYXNzIExvZ2dpbmdIYXNoU2V0
IGZpbmFsIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01ldGFBbGxvY2F0b3JQdHIuaCBi
L1NvdXJjZS9XVEYvd3RmL01ldGFBbGxvY2F0b3JQdHIuaAppbmRleCAyNGJiM2ZkYTVmYzMxMjI2
NDlhNjNjMzAwMjE2ZWExMjhiOWM4YjViLi4yMDA1MjE4ZjJlNzg2NWRlYzVhYWFiMzNlYTE4YzE2
ZDZhYjI2MjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NZXRhQWxsb2NhdG9yUHRyLmgK
KysrIGIvU291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRvclB0ci5oCkBAIC0xMDksMTAgKzEwOSw4
IEBAIHN0cnVjdCBNZXRhQWxsb2NhdG9yUHRySGFzaCB7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBi
b29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKIH07CiAKLXRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPFB0clRhZyB0YWc+IHN0
cnVjdCBEZWZhdWx0SGFzaDxNZXRhQWxsb2NhdG9yUHRyPHRhZz4+IHsKLSAgICB0eXBlZGVmIE1l
dGFBbGxvY2F0b3JQdHJIYXNoPHRhZz4gSGFzaDsKLX07Cit0ZW1wbGF0ZTx0eXBlbmFtZT4gc3Ry
dWN0IERlZmF1bHRIYXNoOwordGVtcGxhdGU8UHRyVGFnIHRhZz4gc3RydWN0IERlZmF1bHRIYXNo
PE1ldGFBbGxvY2F0b3JQdHI8dGFnPj4gOiBNZXRhQWxsb2NhdG9yUHRySGFzaDx0YWc+IHsgfTsK
IAogdGVtcGxhdGU8UHRyVGFnIHRhZz4gc3RydWN0IEhhc2hUcmFpdHM8TWV0YUFsbG9jYXRvclB0
cjx0YWc+PiA6IHB1YmxpYyBDdXN0b21IYXNoVHJhaXRzPE1ldGFBbGxvY2F0b3JQdHI8dGFnPj4g
eyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9PYmplY3RJZGVudGlmaWVyLmggYi9T
b3VyY2UvV1RGL3d0Zi9PYmplY3RJZGVudGlmaWVyLmgKaW5kZXggY2UxNjcxYTI0YjZjYjhiNWU3
MDc1NDEwMjZkNzEzZGE1MTNiZTVjNC4uZjljNjdiNjNiNWUyNmE0MGI0YWFiNThjMDE0ZDVmNDcw
YTYwODU1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvT2JqZWN0SWRlbnRpZmllci5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL09iamVjdElkZW50aWZpZXIuaApAQCAtMTM5LDkgKzEzOSw3IEBA
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBPYmplY3RJZGVudGlmaWVySGFzaCB7CiAKIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzPE9iamVjdElkZW50aWZpZXI8VD4+
IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPE9iamVjdElkZW50aWZpZXI8VD4+IHsgfTsKIAotdGVt
cGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoPE9iamVjdElkZW50aWZpZXI8VD4+
IHsKLSAgICB0eXBlZGVmIE9iamVjdElkZW50aWZpZXJIYXNoPFQ+IEhhc2g7Ci19OwordGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoPE9iamVjdElkZW50aWZpZXI8VD4+IDog
T2JqZWN0SWRlbnRpZmllckhhc2g8VD4geyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogVGV4
dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgT2JqZWN0SWRlbnRpZmll
cjxUPiYgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL09wdGlvblNldEhh
c2guaCBiL1NvdXJjZS9XVEYvd3RmL09wdGlvblNldEhhc2guaAppbmRleCBjNTg4NTQzODlmOTIx
MjI2NGY5MGEyNjY0ZjQ4NjMzNTkwYTNmMjM5Li5jYzlhZTA4MjQxOGNkMmZlNjcyM2FkNjliNTFi
NWJhZDM1YWJhNjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9PcHRpb25TZXRIYXNoLmgK
KysrIGIvU291cmNlL1dURi93dGYvT3B0aW9uU2V0SGFzaC5oCkBAIC0zMSwxOSArMzEsMTcgQEAK
IG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8T3B0aW9uU2V0PFQ+PiB7Ci0gICAgc3RydWN0IEhhc2ggewotICAgICAgICBzdGF0aWMgdW5z
aWduZWQgaGFzaChPcHRpb25TZXQ8VD4ga2V5KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1
cm4gSW50SGFzaDx0eXBlbmFtZSBPcHRpb25TZXQ8VD46OlN0b3JhZ2VUeXBlPjo6aGFzaChrZXku
dG9SYXcoKSk7Ci0gICAgICAgIH0KKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChPcHRpb25TZXQ8
VD4ga2V5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIEludEhhc2g8dHlwZW5hbWUgT3B0aW9uU2V0
PFQ+OjpTdG9yYWdlVHlwZT46Omhhc2goa2V5LnRvUmF3KCkpOworICAgIH0KIAotICAgICAgICBz
dGF0aWMgYm9vbCBlcXVhbChPcHRpb25TZXQ8VD4gYSwgT3B0aW9uU2V0PFQ+IGIpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHJldHVybiBhID09IGI7Ci0gICAgICAgIH0KKyAgICBzdGF0aWMgYm9v
bCBlcXVhbChPcHRpb25TZXQ8VD4gYSwgT3B0aW9uU2V0PFQ+IGIpCisgICAgeworICAgICAgICBy
ZXR1cm4gYSA9PSBiOworICAgIH0KIAotICAgICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgc2Fm
ZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwotICAgIH07CisgICAgc3RhdGljIGNv
bnN0ZXhwciBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKIH07CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzPE9wdGlvblNldDxUPj4gOiBH
ZW5lcmljSGFzaFRyYWl0czxPcHRpb25TZXQ8VD4+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL1BhY2tlZC5oIGIvU291cmNlL1dURi93dGYvUGFja2VkLmgKaW5kZXggYmZkMmQxOTg1MjM5
Yzk1N2M2ZjUwYmNmOTM4Y2FmYWI3ZWY2ZWE2NC4uYjc2YWVmOGYxYjY1YWIwMjE1MWE0ZGNkZjRh
ODQ2MWM3MmM4YTg4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGFja2VkLmgKKysrIGIv
U291cmNlL1dURi93dGYvUGFja2VkLmgKQEAgLTI3Miw3ICsyNzIsNyBAQCBzdHJ1Y3QgUGFja2Vk
UHRyVHJhaXRzIHsKICAgICBzdGF0aWMgQUxXQVlTX0lOTElORSBib29sIGlzSGFzaFRhYmxlRGVs
ZXRlZFZhbHVlKGNvbnN0IFN0b3JhZ2VUeXBlJiBwdHIpIHsgcmV0dXJuIHB0ci5nZXQoKSA9PSBi
aXR3aXNlX2Nhc3Q8VCo+KHN0YXRpY19jYXN0PHVpbnRwdHJfdD4oU3RvcmFnZVR5cGU6OmFsaWdu
bWVudCkpOyB9CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
UGFja2VkUHRyPFA+PiB7IHVzaW5nIEhhc2ggPSBQdHJIYXNoPFBhY2tlZFB0cjxQPj47IH07Cit0
ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8UGFja2VkUHRyPFA+PiA6IFB0
ckhhc2g8UGFja2VkUHRyPFA+PiB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9SZXRhaW5QdHIuaCBiL1NvdXJjZS9XVEYvd3RmL1JldGFpblB0
ci5oCmluZGV4IDAxMmEwMWQ3OTQ0ZWE2YWRhNjVmYzllNTk3ZGE0ZmNiMzFiZWZmMDIuLmJhMzY4
NDZmY2U3YTZiOTUzZDNkNzdhOGNhOTVkYmMwMzU1MjdkMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1JldGFpblB0ci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JldGFpblB0ci5oCkBAIC0z
NDYsOSArMzQ2LDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBJc1NtYXJ0UHRyPFJl
dGFpblB0cjxUPj4gewogdGVtcGxhdGU8dHlwZW5hbWUgUD4gc3RydWN0IEhhc2hUcmFpdHM8UmV0
YWluUHRyPFA+PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxSZXRhaW5QdHI8UD4+IHsKIH07CiAK
LXRlbXBsYXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxSZXRhaW5QdHI8UD4+IHsK
LSAgICB0eXBlZGVmIFB0ckhhc2g8UmV0YWluUHRyPFA+PiBIYXNoOwotfTsKK3RlbXBsYXRlPHR5
cGVuYW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxSZXRhaW5QdHI8UD4+IDogUHRySGFzaDxSZXRh
aW5QdHI8UD4+IHsgfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFA+CiBzdHJ1Y3QgUmV0YWluUHRy
T2JqZWN0SGFzaFRyYWl0cyA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxSZXRhaW5QdHI8UD4+IHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1N0YWNrU2hvdC5oIGIvU291cmNlL1dURi93dGYv
U3RhY2tTaG90LmgKaW5kZXggZGIyNTQwMjcxNDQwOGY3M2M2YjIyMjkxNjNlNGQ2Nzk5MGQ4MWFl
NS4uYmNlZTcwYmUwODEzMjVkNDUxZmMwMjYwZjU3OTA0NmQzYzUyM2NhOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvU3RhY2tTaG90LmgKKysrIGIvU291cmNlL1dURi93dGYvU3RhY2tTaG90
LmgKQEAgLTEyMSw5ICsxMjEsNyBAQCBzdHJ1Y3QgU3RhY2tTaG90SGFzaCB7CiB9OwogCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxTdGFja1Nob3Q+IHsKLSAgICB0eXBlZGVmIFN0YWNrU2hvdEhhc2ggSGFzaDsK
LX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTdGFja1Nob3Q+IDogU3RhY2tTaG90
SGFzaCB7IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8U3RhY2tTaG90PiA6IFNp
bXBsZUNsYXNzSGFzaFRyYWl0czxTdGFja1Nob3Q+IHsgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvVVJMSGFzaC5oIGIvU291cmNlL1dURi93dGYvVVJMSGFzaC5oCmluZGV4IDI2N2Nk
MTUyYzIzYmJkZjE4MmUyYzVmMGVjMzgyYjZkMWFjOTVkODYuLjI2OWUyYjU5ODRjMDU5YmFmYmY0
MjkzZDBkZjQxMzgxOTcxNWFjYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1VSTEhhc2gu
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9VUkxIYXNoLmgKQEAgLTQ3LDkgKzQ3LDcgQEAgc3RydWN0
IFVSTEhhc2ggewogfTsKIAogLy8gVVJMSGFzaCBpcyB0aGUgZGVmYXVsdCBoYXNoIGZvciBTdHJp
bmcKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFVSTD4gewotICAgIHVzaW5nIEhhc2gg
PSBVUkxIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFVSTD4gOiBVUkxI
YXNoIHsgfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxVUkw+IDogU2ltcGxlQ2xh
c3NIYXNoVHJhaXRzPFVSTD4geyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0
b3JIYXNoLmggYi9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3JIYXNoLmgKaW5kZXggZmJiYzllYTQwNGMw
NzViY2VmODI5MmJkMTZmZDA1ZmRiYjk4MDhkNC4uYzM3Mzk0ODhkZTg1YzM4ZWVjZDY3MWZlNzAz
MjE3ZjM5M2U5YzIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVmVjdG9ySGFzaC5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvckhhc2guaApAQCAtMzcsNyArMzcsNyBAQCBzdHJ1Y3Qg
VmVjdG9ySGFzaCB7CiAgICAgewogICAgICAgICBJbnRlZ2VySGFzaGVyIGhhc2hlcjsKICAgICAg
ICAgZm9yIChjb25zdCBhdXRvJiB2YWx1ZSA6IHZlY3RvcikKLSAgICAgICAgICAgIGhhc2hlci5h
ZGQoRGVmYXVsdEhhc2g8VD46Okhhc2g6Omhhc2godmFsdWUpKTsKKyAgICAgICAgICAgIGhhc2hl
ci5hZGQoRGVmYXVsdEhhc2g8VD46Omhhc2godmFsdWUpKTsKICAgICAgICAgcmV0dXJuIGhhc2hl
ci5oYXNoKCk7CiAgICAgfQogICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFZlY3RvcjxULCBp
bmxpbmVDYXBhY2l0eT4mIGEsIGNvbnN0IFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eT4mIGIpCkBA
IC00OCw4ICs0OCw2IEBAIHN0cnVjdCBWZWN0b3JIYXNoIHsKIH07CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4KLXN0cnVjdCBEZWZhdWx0SGFzaDxWZWN0b3I8
VCwgaW5saW5lQ2FwYWNpdHk+PiB7Ci0gICAgdXNpbmcgSGFzaCA9IFZlY3Rvckhhc2g8VCwgaW5s
aW5lQ2FwYWNpdHk+OwotfTsKK3N0cnVjdCBEZWZhdWx0SGFzaDxWZWN0b3I8VCwgaW5saW5lQ2Fw
YWNpdHk+PiA6IFZlY3Rvckhhc2g8VCwgaW5saW5lQ2FwYWNpdHk+IHsgfTsKIAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9HUmVmUHRyLmggYi9Tb3VyY2UvV1RGL3d0Zi9nbGli
L0dSZWZQdHIuaAppbmRleCAwNjEzM2Q4MmNiMzVkYzU4ZDY3Y2NlMTNiNGRmYjFhNTRlNzUwYTYw
Li5jYzFiOTcyNDUzNjgxMjE4ZWFiMzQ2ZGI2MjkxMDdjYmZlZjkwMGU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9nbGliL0dSZWZQdHIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9nbGliL0dS
ZWZQdHIuaApAQCAtMjU1LDcgKzI1NSw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBpbmxpbmUg
dm9pZCBkZXJlZkdQdHIoVCogcHRyKQogICAgICAgICBnX29iamVjdF91bnJlZihwdHIpOwogfQog
Ci10ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8R1JlZlB0cjxQPj4geyB0
eXBlZGVmIFB0ckhhc2g8R1JlZlB0cjxQPj4gSGFzaDsgfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFA+
IHN0cnVjdCBEZWZhdWx0SGFzaDxHUmVmUHRyPFA+PiA6IFB0ckhhc2g8R1JlZlB0cjxQPj4geyB9
OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgSGFzaFRyYWl0czxHUmVmUHRyPFA+PiA6
IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxHUmVmUHRyPFA+PiB7CiAgICAgc3RhdGljIFAqIGVtcHR5
VmFsdWUoKSB7IHJldHVybiBudWxscHRyOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90
ZXh0L0F0b21TdHJpbmcuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbVN0cmluZy5oCmluZGV4
IDIyM2RmNmFmMWZjMGYwNjI2Y2ZjN2ZhN2IyYTMzZjc0YjRjMjA2NWIuLmVlNmY5MTQ5MTA0MWUw
YzZkMzk0ODE5N2QwOGIwMDAxN2Y0OGZlYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvQXRvbVN0cmluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbVN0cmluZy5oCkBA
IC0zMiw4ICszMiw2IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi1zdHJ1Y3QgQXRvbVN0cmluZ0hh
c2g7Ci0KIGNsYXNzIEF0b21TdHJpbmcgZmluYWwgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgpAQCAtMzIzLDEwICszMjEsOCBAQCBpbmxpbmUgQXRvbVN0cmluZyBBdG9t
U3RyaW5nOjpmcm9tVVRGOChjb25zdCBjaGFyKiBjaGFyYWN0ZXJzKQogfQogCiAvLyBBdG9tU3Ry
aW5nSGFzaCBpcyB0aGUgZGVmYXVsdCBoYXNoIGZvciBBdG9tU3RyaW5nCi10ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFz
aDxBdG9tU3RyaW5nPiB7Ci0gICAgdHlwZWRlZiBBdG9tU3RyaW5nSGFzaCBIYXNoOwotfTsKK3Rl
bXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxBdG9tU3RyaW5nPjsKIAogdGVtcGxhdGU8dW5zaWduZWQgbGVuZ3RoPiBpbmxp
bmUgYm9vbCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShjb25zdCBBdG9tU3RyaW5nJiBz
dHJpbmcsIGNvbnN0IGNoYXIgKCZsb3dlcmNhc2VMZXR0ZXJzKVtsZW5ndGhdKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9tU3RyaW5nSGFzaC5oIGIvU291cmNlL1dURi93
dGYvdGV4dC9BdG9tU3RyaW5nSGFzaC5oCmluZGV4IDFiYmY0OWRiYTkzNjg3YzI3MjAzYTQ5MWU5
YTUwN2Q2ODAzYWZjMzcuLjkyZDIwOGQzNWUyYWFkNWI4ODI3M2UzNDE4NmMyN2I1ZDA3Y2UxZmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbVN0cmluZ0hhc2guaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21TdHJpbmdIYXNoLmgKQEAgLTYzLDYgKzYzLDcgQEAgbmFt
ZXNwYWNlIFdURiB7CiAgICAgICAgIH0KICAgICB9OwogCisgICAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8QXRvbVN0cmluZz4gOiBBdG9tU3RyaW5nSGFzaCB7IH07CiB9CiAKIHVzaW5n
IFdURjo6QXRvbVN0cmluZ0hhc2g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0NT
dHJpbmcuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCmluZGV4IDcxNWJlYzgxY2Jk
NWU5YmZlYzEyNmM0MmUyNzk3NDhlMGRiZjc3OTAuLmUwNWRhZjc3ZjUzZTE1ZTNlMDYzYTMyNGY3
M2MyZTg2ZDc0YTM5ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCkBAIC0xMDYsOSArMTA2LDcgQEAg
c3RydWN0IENTdHJpbmdIYXNoIHsKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBE
ZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPENTdHJpbmc+IHsKLSAg
ICB0eXBlZGVmIENTdHJpbmdIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVs
dEhhc2g8Q1N0cmluZz4gOiBDU3RyaW5nSGFzaCB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0cnVjdCBIYXNoVHJhaXRzOwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxDU3RyaW5n
PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxDU3RyaW5nPiB7IH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0hhc2guaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5n
SGFzaC5oCmluZGV4IDE2ZGJhOWIxZGFhMzliYmNhM2Y5ZWQ5OTNiNTUyZDAzZTBjZTc4YzIuLjVh
ODM4NWUwNGE5NTkwNGUwNmJhMTI4ZDZlYWExM2Q5MWViOTBmYjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL3RleHQvU3RyaW5nSGFzaC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3Ry
aW5nSGFzaC5oCkBAIC0yMTcsNiArMjE3LDEwIEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICB9
CiAgICAgfTsKIAorICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFN0cmluZ0ltcGwq
PiA6IFN0cmluZ0hhc2ggeyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFJl
ZlB0cjxTdHJpbmdJbXBsPj4gOiBTdHJpbmdIYXNoIHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxQYWNrZWRQdHI8U3RyaW5nSW1wbD4+IDogU3RyaW5nSGFzaCB7IH07Cisg
ICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8U3RyaW5nPiA6IFN0cmluZ0hhc2ggeyB9
OwogfQogCiB1c2luZyBXVEY6OkFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oIGIvU291cmNlL1dURi93dGYvdGV4dC9T
dHJpbmdJbXBsLmgKaW5kZXggYTAwNDM1ZTI0MzFlMWY0ZTdkNDczNDM3MmRhZDYyYTIwODc1NGU0
NS4uMTY5ZTVhN2YxMTYwYjMxNWJlMTRhMmNiN2JmOTA3ZTE1Mjc1OTczZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4
dC9TdHJpbmdJbXBsLmgKQEAgLTU5LDcgKzU5LDYgQEAgY2xhc3MgU3ltYm9sUmVnaXN0cnk7CiBz
dHJ1Y3QgQ1N0cmluZ1RyYW5zbGF0b3I7CiBzdHJ1Y3QgSGFzaEFuZFVURjhDaGFyYWN0ZXJzVHJh
bnNsYXRvcjsKIHN0cnVjdCBMQ2hhckJ1ZmZlclRyYW5zbGF0b3I7Ci1zdHJ1Y3QgU3RyaW5nSGFz
aDsKIHN0cnVjdCBTdWJzdHJpbmdUcmFuc2xhdG9yOwogc3RydWN0IFVDaGFyQnVmZmVyVHJhbnNs
YXRvcjsKIApAQCAtNjE0LDE3ICs2MTMsMTEgQEAgYm9vbCBpc1NwYWNlT3JOZXdsaW5lKFVDaGFy
MzIpOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiB1bnNpZ25lZCBsZW5ndGhP
Zk51bGxUZXJtaW5hdGVkU3RyaW5nKGNvbnN0IENoYXJhY3RlclR5cGUqKTsKIAotLy8gU3RyaW5n
SGFzaCBpcyB0aGUgZGVmYXVsdCBoYXNoIGZvciBTdHJpbmdJbXBsKiBhbmQgUmVmUHRyPFN0cmlu
Z0ltcGw+Ci10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTdHJpbmdJbXBsKj4gewotICAgIHR5cGVkZWYgU3RyaW5n
SGFzaCBIYXNoOwotfTsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFJlZlB0cjxTdHJp
bmdJbXBsPj4gewotICAgIHR5cGVkZWYgU3RyaW5nSGFzaCBIYXNoOwotfTsKLXRlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPFBhY2tlZFB0cjxTdHJpbmdJbXBsPj4gewotICAgIHVzaW5nIEhh
c2ggPSBTdHJpbmdIYXNoOwotfTsKKy8vIFN0cmluZ0hhc2hkIGlzIHRoZSBkZWZhdWx0IGhhc2gg
Zm9yIFN0cmluZ0ltcGwqIGFuZCBSZWZQdHI8U3RyaW5nSW1wbD4KK3RlbXBsYXRlPHR5cGVuYW1l
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTdHJp
bmdJbXBsKj47Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxSZWZQdHI8U3RyaW5nSW1w
bD4+OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8UGFja2VkUHRyPFN0cmluZ0ltcGw+
PjsKIAogI2RlZmluZSBNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTChjaGFyYWN0ZXJzKSAoW10geyBc
CiAgICAgICAgIHN0YXRpYyBTdGF0aWNTdHJpbmdJbXBsIGltcGwoY2hhcmFjdGVycyk7IFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuaCBiL1NvdXJjZS9X
VEYvd3RmL3RleHQvU3ltYm9sUmVnaXN0cnkuaAppbmRleCBlYmE1ODNkZTI1MDIwOTA2MDA5OGFk
NjUzOTA0ZjdkODdkMmEzYTU5Li41NTg5NzlhZTgxNjU1OWEyMjE3NmRlOWUwYmIxMzFhMTQ0MDcw
YzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5LmgKKysr
IGIvU291cmNlL1dURi93dGYvdGV4dC9TeW1ib2xSZWdpc3RyeS5oCkBAIC01NCwxOCArNTQsMTYg
QEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2hhc2ggeyAwIH07CiB9OwogCi10ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0
SGFzaDxTeW1ib2xSZWdpc3RyeUtleT4gewotICAgIHN0cnVjdCBIYXNoIDogU3RyaW5nSGFzaCB7
Ci0gICAgICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFN5bWJvbFJlZ2lzdHJ5S2V5JiBr
ZXkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBrZXkuaGFzaCgpOwotICAgICAgICB9
Ci0gICAgICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFN5bWJvbFJlZ2lzdHJ5S2V5JiBhLCBj
b25zdCBTeW1ib2xSZWdpc3RyeUtleSYgYikKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJu
IFN0cmluZ0hhc2g6OmVxdWFsKGEuaW1wbCgpLCBiLmltcGwoKSk7Ci0gICAgICAgIH0KLSAgICB9
OwordGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBEZWZhdWx0SGFzaDsKK3RlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPFN5bWJvbFJlZ2lzdHJ5S2V5PiA6IFN0cmluZ0hhc2ggeworICAgIHN0
YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFN5bWJvbFJlZ2lzdHJ5S2V5JiBrZXkpCisgICAgewor
ICAgICAgICByZXR1cm4ga2V5Lmhhc2goKTsKKyAgICB9CisgICAgc3RhdGljIGJvb2wgZXF1YWwo
Y29uc3QgU3ltYm9sUmVnaXN0cnlLZXkmIGEsIGNvbnN0IFN5bWJvbFJlZ2lzdHJ5S2V5JiBiKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cmluZ0hhc2g6OmVxdWFsKGEuaW1wbCgpLCBiLmltcGwo
KSk7CisgICAgfQogfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxTeW1ib2xSZWdp
c3RyeUtleT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8U3ltYm9sUmVnaXN0cnlLZXk+IHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmggYi9Tb3VyY2UvV1RGL3d0
Zi90ZXh0L1dURlN0cmluZy5oCmluZGV4IGEyMzcwYzc5YjY4YjQyMzA2NDZhZTQ3ZDRhZmMzZTZl
NTU0NGE0NGQuLmY5NGVkZDkzOTA0NDY1NTdmODc2ZjYwNmJiMmM3MzFkYzY5OGY2NTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmgKKysrIGIvU291cmNlL1dURi93
dGYvdGV4dC9XVEZTdHJpbmcuaApAQCAtNDQyLDcgKzQ0Miw3IEBAIFdURl9FWFBPUlRfUFJJVkFU
RSBjb25zdCBTdHJpbmcmIGVtcHR5U3RyaW5nKCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgY29uc3Qg
U3RyaW5nJiBudWxsU3RyaW5nKCk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRGVmYXVs
dEhhc2g7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTdHJpbmc+IHsgdXNpbmcgSGFz
aCA9IFN0cmluZ0hhc2g7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxTdHJpbmc+
OwogdGVtcGxhdGU8PiBzdHJ1Y3QgVmVjdG9yVHJhaXRzPFN0cmluZz4gOiBWZWN0b3JUcmFpdHNC
YXNlPGZhbHNlLCB2b2lkPiB7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGNhbkluaXRpYWxp
emVXaXRoTWVtc2V0ID0gdHJ1ZTsKICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgY2FuTW92ZVdp
dGhNZW1jcHkgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCRGF0YWJhc2VJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJEYXRhYmFzZUlkZW50aWZpZXIuaAppbmRleCAzYThlMjE5MGI5NzI4ODU0MmVk
MTFhNzVlZjc5YWRhMjNkNjg2MTVmLi5hYzQ5YmExMjcxMmFiZGYyMDQ0NzJhN2IzMzQ2YjJmZWJh
MGMxM2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJE
YXRhYmFzZUlkZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJEYXRhYmFzZUlkZW50aWZpZXIuaApAQCAtMTQwLDkgKzE0MCw3IEBAIE9wdGlvbmFsPElE
QkRhdGFiYXNlSWRlbnRpZmllcj4gSURCRGF0YWJhc2VJZGVudGlmaWVyOjpkZWNvZGUoRGVjb2Rl
ciYgZGVjb2RlcikKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJh
aXRzPFdlYkNvcmU6OklEQkRhdGFiYXNlSWRlbnRpZmllcj4gOiBXZWJDb3JlOjpJREJEYXRhYmFz
ZUlkZW50aWZpZXJIYXNoVHJhaXRzIHsgfTsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PFdlYkNvcmU6OklEQkRhdGFiYXNlSWRlbnRpZmllcj4gewotICAgIHR5cGVkZWYgV2ViQ29yZTo6
SURCRGF0YWJhc2VJZGVudGlmaWVySGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPFdlYkNvcmU6OklEQkRhdGFiYXNlSWRlbnRpZmllcj4gOiBXZWJDb3JlOjpJREJE
YXRhYmFzZUlkZW50aWZpZXJIYXNoIHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXNvdXJj
ZUlkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
REJSZXNvdXJjZUlkZW50aWZpZXIuaAppbmRleCBjNTc5OTZkNWU2YjkyYWYzYzY3NDgzMzhiOWVm
N2Y3YjM2NTRmMGVkLi5mNjE0MjU3ZmUxMzNjOWJjYWJjYThiOTNiOTVmOThkMjViZDJmMjhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVz
b3VyY2VJZGVudGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2hhcmVkL0lEQlJlc291cmNlSWRlbnRpZmllci5oCkBAIC0xNDUsOSArMTQ1LDcgQEAgYm9vbCBJ
REJSZXNvdXJjZUlkZW50aWZpZXI6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBJREJSZXNvdXJj
ZUlkZW50aWZpZXImIGlkZW4KIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBI
YXNoVHJhaXRzPFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllcj4gOiBXZWJDb3JlOjpJREJS
ZXNvdXJjZUlkZW50aWZpZXJIYXNoVHJhaXRzIHsgfTsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1
bHRIYXNoPFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllcj4gewotICAgIHR5cGVkZWYgV2Vi
Q29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVySGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllcj4gOiBXZWJDb3Jl
OjpJREJSZXNvdXJjZUlkZW50aWZpZXJIYXNoIHsgfTsKIAogaW5saW5lIFdlYkNvcmU6OklEQkNv
bm5lY3Rpb25JZGVudGlmaWVyIGNyb3NzVGhyZWFkQ29weShXZWJDb3JlOjpJREJDb25uZWN0aW9u
SWRlbnRpZmllciBpZGVudGlmaWVyKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVW5uYW1lZFR5cGVIYXNoLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xVbm5hbWVkVHlwZUhhc2guaAppbmRl
eCAzYzI0OGIxZWI2NmRhODIwOTNkZDY4OTZjMGYwODE4YjFlNzc2MjQxLi42NzhkYWIwYjk4ODYw
N2FmYmRjZTNjNzI3Mjc2NTI3ZmY3YmY4NzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xVbm5hbWVkVHlwZUhhc2guaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xVbm5hbWVkVHlwZUhhc2gu
aApAQCAtNzcsOSArNzcsNyBAQCBwcml2YXRlOgogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRl
PD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6V0hMU0w6OlVubmFtZWRUeXBlS2V5PiA6IFdl
YkNvcmU6OldITFNMOjpVbm5hbWVkVHlwZUtleTo6VHJhaXRzIHsgfTsKLXRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OldITFNMOjpVbm5hbWVkVHlwZUtleT4gewotICAgIHR5
cGVkZWYgV2ViQ29yZTo6V0hMU0w6OlVubmFtZWRUeXBlS2V5OjpIYXNoIEhhc2g7Ci19OwordGVt
cGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6V0hMU0w6OlVubmFtZWRUeXBlS2V5
PiA6IFdlYkNvcmU6OldITFNMOjpVbm5hbWVkVHlwZUtleTo6SGFzaCB7IH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdURgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTFNlbWFudGljTWF0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFNlbWFudGljTWF0Y2hlci5jcHAKaW5kZXggNTQyZmE3ODViMjgwOGRl
YWVkMDVlMTY1ZmE1NDA4OWM4ZTRmOGMzOS4uNWU5N2JhZDcwNjg0ZmRlODY5NzI2NDZjMjdlYTQy
MjdjY2I5YjhhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvV0hMU0xTZW1hbnRpY01hdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMU2VtYW50aWNNYXRjaGVyLmNwcApAQCAtNjEsNyArNjEsNyBAQCBz
dGF0aWMgYm9vbCBtYXRjaE1vZGUoQmluZGluZzo6QmluZGluZ0RldGFpbHMgYmluZGluZ1R5cGUs
IEFTVDo6UmVzb3VyY2VTZW1hbnRpYwogc3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8QmluZGluZyos
IHNpemVfdD4+IG1hdGNoUmVzb3VyY2VzKFZlY3RvcjxFbnRyeVBvaW50SXRlbT4mIGVudHJ5UG9p
bnRJdGVtcywgTGF5b3V0JiBsYXlvdXQsIFNoYWRlclN0YWdlIHNoYWRlclN0YWdlKQogewogICAg
IEhhc2hNYXA8QmluZGluZyosIHNpemVfdD4gcmVzdWx0OwotICAgIEhhc2hTZXQ8c2l6ZV90LCBE
ZWZhdWx0SGFzaDxzaXplX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJh
aXRzPHNpemVfdD4+IGl0ZW1JbmRpY2VzOworICAgIEhhc2hTZXQ8c2l6ZV90LCBEZWZhdWx0SGFz
aDxzaXplX3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHNpemVfdD4+IGl0
ZW1JbmRpY2VzOwogICAgIGZvciAoYXV0byYgYmluZEdyb3VwIDogbGF5b3V0KSB7CiAgICAgICAg
IGF1dG8gc3BhY2UgPSBiaW5kR3JvdXAubmFtZTsKICAgICAgICAgZm9yIChhdXRvJiBiaW5kaW5n
IDogYmluZEdyb3VwLmJpbmRpbmdzKSB7CkBAIC0xNDAsNyArMTQwLDcgQEAgc3RhdGljIGJvb2wg
aXNBY2NlcHRhYmxlRm9ybWF0KFZlcnRleEZvcm1hdCB2ZXJ0ZXhGb3JtYXQsIEFTVDo6VW5uYW1l
ZFR5cGUmIHVubmEKIHN0YXRpYyBPcHRpb25hbDxIYXNoTWFwPFZlcnRleEF0dHJpYnV0ZSosIHNp
emVfdD4+IG1hdGNoVmVydGV4QXR0cmlidXRlcyhWZWN0b3I8RW50cnlQb2ludEl0ZW0+JiB2ZXJ0
ZXhJbnB1dHMsIFZlcnRleEF0dHJpYnV0ZXMmIHZlcnRleEF0dHJpYnV0ZXMsIEludHJpbnNpY3Mm
IGludHJpbnNpY3MpCiB7CiAgICAgSGFzaE1hcDxWZXJ0ZXhBdHRyaWJ1dGUqLCBzaXplX3Q+IHJl
c3VsdDsKLSAgICBIYXNoU2V0PHNpemVfdCwgRGVmYXVsdEhhc2g8c2l6ZV90Pjo6SGFzaCwgV1RG
OjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxzaXplX3Q+PiBpdGVtSW5kaWNlczsKKyAg
ICBIYXNoU2V0PHNpemVfdCwgRGVmYXVsdEhhc2g8c2l6ZV90PiwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czxzaXplX3Q+PiBpdGVtSW5kaWNlczsKICAgICBmb3IgKGF1dG8mIHZl
cnRleEF0dHJpYnV0ZSA6IHZlcnRleEF0dHJpYnV0ZXMpIHsKICAgICAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCB2ZXJ0ZXhJbnB1dHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgIGF1dG8m
IGl0ZW0gPSB2ZXJ0ZXhJbnB1dHNbaV07CkBAIC0yMjYsNyArMjI2LDcgQEAgc3RhdGljIGJvb2wg
aXNBY2NlcHRhYmxlRm9ybWF0KFRleHR1cmVGb3JtYXQgdGV4dHVyZUZvcm1hdCwgQVNUOjpVbm5h
bWVkVHlwZSYgdW4KIHN0YXRpYyBPcHRpb25hbDxIYXNoTWFwPEF0dGFjaG1lbnREZXNjcmlwdG9y
Kiwgc2l6ZV90Pj4gbWF0Y2hDb2xvckF0dGFjaG1lbnRzKFZlY3RvcjxFbnRyeVBvaW50SXRlbT4m
IGZyYWdtZW50T3V0cHV0cywgVmVjdG9yPEF0dGFjaG1lbnREZXNjcmlwdG9yPiYgYXR0YWNobWVu
dERlc2NyaXB0b3JzLCBJbnRyaW5zaWNzJiBpbnRyaW5zaWNzKQogewogICAgIEhhc2hNYXA8QXR0
YWNobWVudERlc2NyaXB0b3IqLCBzaXplX3Q+IHJlc3VsdDsKLSAgICBIYXNoU2V0PHNpemVfdCwg
RGVmYXVsdEhhc2g8c2l6ZV90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRy
YWl0czxzaXplX3Q+PiBpdGVtSW5kaWNlczsKKyAgICBIYXNoU2V0PHNpemVfdCwgRGVmYXVsdEhh
c2g8c2l6ZV90PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxzaXplX3Q+PiBp
dGVtSW5kaWNlczsKICAgICBmb3IgKGF1dG8mIGF0dGFjaG1lbnREZXNjcmlwdG9yIDogYXR0YWNo
bWVudERlc2NyaXB0b3JzKSB7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZnJhZ21l
bnRPdXRwdXRzLnNpemUoKTsgKytpKSB7CiAgICAgICAgICAgICBhdXRvJiBpdGVtID0gZnJhZ21l
bnRPdXRwdXRzW2ldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9TZXNzaW9u
SUQuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvU2Vzc2lvbklELmgKaW5kZXggM2JjZDQ5MTM1
OTMzMTk3NjI1YWM2MWM5NTBhMWUyYmRmZDMwMTgyMi4uNWQyYWJlZGE2ZTJlZWRlOThlYmMxNmVk
MmExMGNlMzJiZDE0MzM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9TZXNz
aW9uSUQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1Nlc3Npb25JRC5oCkBAIC0xMTks
OCArMTE5LDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxQQUw6OlNlc3Npb25JRD4g
OiBHZW5lcmljSGFzaFRyYWl0czxQQUw6OlNlc3Npb25JRD4KICAgICBzdGF0aWMgYm9vbCBpc0Rl
bGV0ZWRWYWx1ZShjb25zdCBQQUw6OlNlc3Npb25JRCYgc2xvdCkgeyByZXR1cm4gc2xvdC5pc0hh
c2hUYWJsZURlbGV0ZWRWYWx1ZSgpOyB9CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0
SGFzaDxQQUw6OlNlc3Npb25JRD4gewotICAgIHR5cGVkZWYgU2Vzc2lvbklESGFzaCBIYXNoOwot
fTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFBBTDo6U2Vzc2lvbklEPiA6IFNlc3Np
b25JREhhc2ggeyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCmluZGV4IGM5ZDdkOWE3
NGI2M2RlMGExYjAwMDE0MjUzYjBlYzc4MTNhNzQ2MDYuLjZjODk2N2UyYjdjMjc2ZjE3MjBmMzdi
OGRlNTczM2RmYjcxMmMyMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMjA4Nyw3ICsyMDg3LDcgQEAgQWNjZXNz
aWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eU9iamVjdDo6Zmlyc3RBbm9ueW1vdXNCbG9ja0No
aWxkKCkgY29uc3QKIH0KIAogdXNpbmcgQVJJQVJvbGVNYXAgPSBIYXNoTWFwPFN0cmluZywgQWNj
ZXNzaWJpbGl0eVJvbGUsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD47Ci11c2luZyBBUklBUmV2
ZXJzZVJvbGVNYXAgPSBIYXNoTWFwPEFjY2Vzc2liaWxpdHlSb2xlLCBTdHJpbmcsIERlZmF1bHRI
YXNoPGludD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8aW50Pj47
Cit1c2luZyBBUklBUmV2ZXJzZVJvbGVNYXAgPSBIYXNoTWFwPEFjY2Vzc2liaWxpdHlSb2xlLCBT
dHJpbmcsIERlZmF1bHRIYXNoPGludD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFp
dHM8aW50Pj47CiAKIHN0YXRpYyBBUklBUm9sZU1hcCogZ0FyaWFSb2xlTWFwID0gbnVsbHB0cjsK
IHN0YXRpYyBBUklBUmV2ZXJzZVJvbGVNYXAqIGdBcmlhUmV2ZXJzZVJvbGVNYXAgPSBudWxscHRy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuaAppbmRleCA0Mjg0MzFiMjJkOTA4NzIxY2I4YjY5NzE5MWVlYzRmYzkwZDYwMDgxLi5iMjFh
NmQwOWU0YWVkNmU3ZGM5MGU4YjMzNzg4NTgzYzU3MzVmZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtODE5LDcgKzgx
OSw3IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIGZpcnN0QWNjZXNzaWJsZU9iamVjdEZyb21Ob2Rl
KGNvbnN0IE5vZGUqLCBjb25zdCBXVEY6OkZ1bmN0CiAKIG5hbWVzcGFjZSBBY2Nlc3NpYmlsaXR5
IHsKIAotdXNpbmcgUGxhdGZvcm1Sb2xlTWFwID0gSGFzaE1hcDxBY2Nlc3NpYmlsaXR5Um9sZSwg
U3RyaW5nLCBEZWZhdWx0SGFzaDx1bnNpZ25lZD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVy
b0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PjsKK3VzaW5nIFBsYXRmb3JtUm9sZU1hcCA9IEhhc2hN
YXA8QWNjZXNzaWJpbGl0eVJvbGUsIFN0cmluZywgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6
OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj47CiAKIFBsYXRmb3JtUm9s
ZU1hcCBjcmVhdGVQbGF0Zm9ybVJvbGVNYXAoKTsKIFN0cmluZyByb2xlVG9QbGF0Zm9ybVN0cmlu
ZyhBY2Nlc3NpYmlsaXR5Um9sZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50
ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbkNvbXBpbGVyLmNwcAppbmRleCBjZWEy
MGE4YWJhNzQzNzY3MjhlNjk4YzQ5MzQ5ZTBhOTM0OWIyYTNlLi4yOGE3MjU4ZmI4NzljYmZjMTBh
Y2I4ZjhjMjBkMzcyNTNmOTVhNDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50
ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25Db21waWxlci5jcHAKQEAgLTk0
LDggKzk0LDggQEAgc3RhdGljIFZlY3Rvcjx1bnNpZ25lZD4gc2VyaWFsaXplQWN0aW9ucyhjb25z
dCBWZWN0b3I8Q29udGVudEV4dGVuc2lvblJ1bGU+JiBydWwKICAgICBWZWN0b3I8dWludDMyX3Q+
IGFjdGlvbkxvY2F0aW9uczsKIAogICAgIHVzaW5nIEFjdGlvbkxvY2F0aW9uID0gdWludDMyX3Q7
Ci0gICAgdXNpbmcgQWN0aW9uTWFwID0gSGFzaE1hcDxSZXNvdXJjZUZsYWdzLCBBY3Rpb25Mb2Nh
dGlvbiwgRGVmYXVsdEhhc2g8UmVzb3VyY2VGbGFncz46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRo
WmVyb0tleUhhc2hUcmFpdHM8UmVzb3VyY2VGbGFncz4+OwotICAgIHVzaW5nIFN0cmluZ0FjdGlv
bk1hcCA9IEhhc2hNYXA8c3RkOjpwYWlyPFN0cmluZywgUmVzb3VyY2VGbGFncz4sIEFjdGlvbkxv
Y2F0aW9uLCBEZWZhdWx0SGFzaDxzdGQ6OnBhaXI8U3RyaW5nLCBSZXNvdXJjZUZsYWdzPj46Okhh
c2gsIFBhaXJIYXNoVHJhaXRzPEhhc2hUcmFpdHM8U3RyaW5nPiwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czxSZXNvdXJjZUZsYWdzPj4+OworICAgIHVzaW5nIEFjdGlvbk1hcCA9
IEhhc2hNYXA8UmVzb3VyY2VGbGFncywgQWN0aW9uTG9jYXRpb24sIERlZmF1bHRIYXNoPFJlc291
cmNlRmxhZ3M+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPFJlc291cmNlRmxh
Z3M+PjsKKyAgICB1c2luZyBTdHJpbmdBY3Rpb25NYXAgPSBIYXNoTWFwPHN0ZDo6cGFpcjxTdHJp
bmcsIFJlc291cmNlRmxhZ3M+LCBBY3Rpb25Mb2NhdGlvbiwgRGVmYXVsdEhhc2g8c3RkOjpwYWly
PFN0cmluZywgUmVzb3VyY2VGbGFncz4+LCBQYWlySGFzaFRyYWl0czxIYXNoVHJhaXRzPFN0cmlu
Zz4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8UmVzb3VyY2VGbGFncz4+PjsK
ICAgICBBY3Rpb25NYXAgYmxvY2tMb2FkQWN0aW9uc01hcDsKICAgICBBY3Rpb25NYXAgYmxvY2tD
b29raWVzQWN0aW9uc01hcDsKICAgICBQZW5kaW5nRGlzcGxheU5vbmVBY3Rpb25zTWFwIGNzc0Rp
c3BsYXlOb25lQWN0aW9uc01hcDsKQEAgLTE5MSw3ICsxOTEsNyBAQCBzdGF0aWMgVmVjdG9yPHVu
c2lnbmVkPiBzZXJpYWxpemVBY3Rpb25zKGNvbnN0IFZlY3RvcjxDb250ZW50RXh0ZW5zaW9uUnVs
ZT4mIHJ1bAogICAgIHJldHVybiBhY3Rpb25Mb2NhdGlvbnM7CiB9CiAKLXR5cGVkZWYgSGFzaFNl
dDx1aW50NjRfdCwgRGVmYXVsdEhhc2g8dWludDY0X3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0
aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQ2NF90Pj4gVW5pdmVyc2FsQWN0aW9uU2V0OwordHlwZWRl
ZiBIYXNoU2V0PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD4sIFdURjo6VW5zaWduZWRX
aXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBVbml2ZXJzYWxBY3Rpb25TZXQ7CiAKIHN0
YXRpYyB2b2lkIGFkZFVuaXZlcnNhbEFjdGlvbnNUb0RGQShERkEmIGRmYSwgVW5pdmVyc2FsQWN0
aW9uU2V0JiYgdW5pdmVyc2FsQWN0aW9ucykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25SdWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uUnVsZS5oCmluZGV4IDM5OGU3NGMy
MzExMjc3MDViNmNhMDM3ZWRkNzUzZDE0MzRlZGY5MmMuLmM1MGJmMTdiOTZiZDczMDA4MmUzYzAx
ZDY5N2I2MmQ2NDU5Y2RjMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRl
bnNpb25zL0NvbnRlbnRFeHRlbnNpb25SdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVu
dGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvblJ1bGUuaApAQCAtOTEsNyArOTEsNyBAQCBzdHJ1
Y3QgVHJpZ2dlckhhc2ggewogICAgICAgICB1bnNpZ25lZCBoYXNoID0gdHJpZ2dlci51cmxGaWx0
ZXJJc0Nhc2VTZW5zaXRpdmUgPyAxMDYxOTg2MyA6IDQwOTYwMDAxOwogICAgICAgICBpZiAoIXRy
aWdnZXIudXJsRmlsdGVyLmlzTnVsbCgpKQogICAgICAgICAgICAgaGFzaCBePSBTdHJpbmdIYXNo
OjpoYXNoKHRyaWdnZXIudXJsRmlsdGVyKTsKLSAgICAgICAgaGFzaCA9IFdURjo6cGFpckludEhh
c2goaGFzaCwgRGVmYXVsdEhhc2g8UmVzb3VyY2VGbGFncz46Okhhc2g6Omhhc2godHJpZ2dlci5m
bGFncykpOworICAgICAgICBoYXNoID0gV1RGOjpwYWlySW50SGFzaChoYXNoLCBEZWZhdWx0SGFz
aDxSZXNvdXJjZUZsYWdzPjo6aGFzaCh0cmlnZ2VyLmZsYWdzKSk7CiAKICAgICAgICAgZm9yIChj
b25zdCBTdHJpbmcmIGNvbmRpdGlvbiA6IHRyaWdnZXIuY29uZGl0aW9ucykKICAgICAgICAgICAg
IGhhc2ggXj0gU3RyaW5nSGFzaDo6aGFzaChjb25kaXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuaCBi
L1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25TdHlsZVNo
ZWV0LmgKaW5kZXggMzA3NzM2MjM1NGIxNmUyODQwYjE2NzU3YjUyMTc5YTU4Y2EzMGZjYy4uZWE2
M2RiZTIwNjNmNWI1NjY4NDc1ZmM3NTgxMmUzNzIxYWE3ZGY5MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uU3R5
bGVTaGVldC5oCkBAIC01NSw3ICs1NSw3IEBAIHByaXZhdGU6CiAgICAgQ29udGVudEV4dGVuc2lv
blN0eWxlU2hlZXQoRG9jdW1lbnQmKTsKIAogICAgIFJlZjxDU1NTdHlsZVNoZWV0PiBtX3N0eWxl
U2hlZXQ7Ci0gICAgSGFzaFNldDx1aW50MzJfdCwgRGVmYXVsdEhhc2g8dWludDMyX3Q+OjpIYXNo
LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj4gbV9hZGRlZFNl
bGVjdG9ySURzOworICAgIEhhc2hTZXQ8dWludDMyX3QsIERlZmF1bHRIYXNoPHVpbnQzMl90Piwg
V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+IG1fYWRkZWRTZWxl
Y3RvcklEczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIENvbnRlbnRFeHRlbnNpb25zCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkEuY3BwIGIvU291cmNlL1dl
YkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBLmNwcAppbmRleCA5MjVhNjc1ODM2ZTNhOGEzY2U4
OGMxMGVkZjIzZDgzZmM5ODcyZTcyLi4wNDc1ZmFhYzJlMjRjMjA2ODUzNGMyOTM4MWRmNGE1MTYx
ZDVhYjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQS5jcHAKQEAgLTk4
LDcgKzk4LDcgQEAgc3RhdGljIHZvaWQgcHJpbnRUcmFuc2l0aW9ucyhjb25zdCBERkEmIGRmYSwg
dW5zaWduZWQgc291cmNlTm9kZUlkKQogICAgIGlmICh0cmFuc2l0aW9ucy5iZWdpbigpID09IHRy
YW5zaXRpb25zLmVuZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBIYXNoTWFwPHVuc2lnbmVk
LCBWZWN0b3I8dWludDE2X3Q+LCBEZWZhdWx0SGFzaDx1bnNpZ25lZD46Okhhc2gsIFdURjo6VW5z
aWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiB0cmFuc2l0aW9uc1BlclRhcmdl
dDsKKyAgICBIYXNoTWFwPHVuc2lnbmVkLCBWZWN0b3I8dWludDE2X3Q+LCBEZWZhdWx0SGFzaDx1
bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiB0
cmFuc2l0aW9uc1BlclRhcmdldDsKIAogICAgIC8vIEZpcnN0LCB3ZSBidWlsZCB0aGUgbGlzdCBv
ZiB0cmFuc2l0aW9ucyBjb21pbmcgdG8gZWFjaCB0YXJnZXQgbm9kZS4KICAgICBmb3IgKGNvbnN0
IGF1dG8mIHRyYW5zaXRpb24gOiB0cmFuc2l0aW9ucykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJbnRlcnByZXRlci5oIGIvU291cmNl
L1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJbnRlcnByZXRlci5oCmluZGV4
IGFkZmNhZGE3YjIxZTQ4OGM5M2E2ZmFkN2Q0YjFlZmMwOTk0NmRmNjUuLjFjZjNiOGM5YWIyMWM2
Mjg4NzFmNGMxNDZiNWViNmVhMmJmMGQ3ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nv
bnRlbnRleHRlbnNpb25zL0RGQUJ5dGVjb2RlSW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFCeXRlY29kZUludGVycHJldGVyLmgKQEAgLTQ1LDcg
KzQ1LDcgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAgICAgCi0gICAgdHlwZWRlZiBIYXNoU2V0
PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRo
WmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBBY3Rpb25zOworICAgIHR5cGVkZWYgSGFzaFNl
dDx1aW50NjRfdCwgRGVmYXVsdEhhc2g8dWludDY0X3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9L
ZXlIYXNoVHJhaXRzPHVpbnQ2NF90Pj4gQWN0aW9uczsKICAgICAKICAgICBBY3Rpb25zIGludGVy
cHJldChjb25zdCBDU3RyaW5nJiwgdWludDE2X3QgZmxhZ3MpOwogICAgIEFjdGlvbnMgaW50ZXJw
cmV0V2l0aENvbmRpdGlvbnMoY29uc3QgQ1N0cmluZyYsIHVpbnQxNl90IGZsYWdzLCBjb25zdCBE
RkFCeXRlY29kZUludGVycHJldGVyOjpBY3Rpb25zJiBjb25kaXRpb25BY3Rpb25zKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUNvbWJpbmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUNvbWJpbmVyLmNwcAppbmRleCBh
ZmJhZWFhYzYwYTM5ZTY0Y2ZjYjQ3ODE4ODJjZDM4YTM5MDM2ZTFkLi43MmU3NjE4MTVkMTNjNzk2
MjRlYTY5YzM5Y2E3NWE5ODEzODRhNjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250
ZW50ZXh0ZW5zaW9ucy9ERkFDb21iaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVu
dGV4dGVuc2lvbnMvREZBQ29tYmluZXIuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgdWludDMyX3QgaW5kZXhBID0gZXh0cmFjdEluZGV4QShuZXdOb2RlU2lnbmF0dXJl
KTsKICAgICAgICAgdWludDMyX3QgaW5kZXhCID0gZXh0cmFjdEluZGV4QihuZXdOb2RlU2lnbmF0
dXJlKTsKIAotICAgICAgICBIYXNoU2V0PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD46
Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBhY3Rp
b25zOworICAgICAgICBIYXNoU2V0PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD4sIFdU
Rjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBhY3Rpb25zOwogICAg
ICAgICBpZiAoaW5kZXhBICE9IGludmFsaWROb2RlSW5kZXgpIHsKICAgICAgICAgICAgIGNvbnN0
IERGQU5vZGUmIG5vZGUgPSBtX2RmYUEubm9kZXNbaW5kZXhBXTsKICAgICAgICAgICAgIHVpbnQz
Ml90IGFjdGlvbnNTdGFydCA9IG5vZGUuYWN0aW9uc1N0YXJ0KCk7CkBAIC0xODAsNyArMTgwLDcg
QEAgcHJpdmF0ZToKICAgICBjb25zdCBERkEmIG1fZGZhQTsKICAgICBjb25zdCBERkEmIG1fZGZh
QjsKICAgICBERkEgbV9vdXRwdXQ7Ci0gICAgSGFzaE1hcDx1aW50NjRfdCwgdWludDMyX3QsIERl
ZmF1bHRIYXNoPHVpbnQ2NF90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRy
YWl0czx1aW50NjRfdD4+IG1fbm9kZU1hcHBpbmc7CisgICAgSGFzaE1hcDx1aW50NjRfdCwgdWlu
dDMyX3QsIERlZmF1bHRIYXNoPHVpbnQ2NF90PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFz
aFRyYWl0czx1aW50NjRfdD4+IG1fbm9kZU1hcHBpbmc7CiAgICAgVmVjdG9yPHVpbnQ2NF90LCAw
LCBDb250ZW50RXh0ZW5zaW9uc092ZXJmbG93SGFuZGxlcj4gbV91bnByb2Nlc3NlZE5vZGVzOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFOb2RlLmNwcAppbmRl
eCA3NjJhMTM1NThlN2FlMDEzODcyZjE0ZWEyYjliMzg0ZDJkYTJmZmE4Li4zZmI4YzIxYTQ1NmJh
ODE2MTc4ZjdjN2NhMDdiODJmOGI5Y2FiMDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
b250ZW50ZXh0ZW5zaW9ucy9ERkFOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50
ZXh0ZW5zaW9ucy9ERkFOb2RlLmNwcApAQCAtMTEwLDcgKzExMCw3IEBAIHVpbnQzMl90IERGQU5v
ZGU6OmJlc3RGYWxsYmFja1RhcmdldChjb25zdCBERkEmIGRmYSkgY29uc3QKIHsKICAgICBBU1NF
UlQoY2FuVXNlRmFsbGJhY2tUcmFuc2l0aW9uKGRmYSkpOwogCi0gICAgSGFzaE1hcDx1aW50MzJf
dCwgdW5zaWduZWQsIERlZmF1bHRIYXNoPHVpbnQzMl90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdp
dGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+IGhpc3RvZ3JhbTsKKyAgICBIYXNoTWFwPHVp
bnQzMl90LCB1bnNpZ25lZCwgRGVmYXVsdEhhc2g8dWludDMyX3Q+LCBXVEY6OlVuc2lnbmVkV2l0
aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj4gaGlzdG9ncmFtOwogCiAgICAgSXRlcmFibGVD
b25zdFJhbmdlIGl0ZXJhYmxlVHJhbnNpdGlvbnMgPSB0cmFuc2l0aW9ucyhkZmEpOwogICAgIGF1
dG8gaXRlcmF0b3IgPSBpdGVyYWJsZVRyYW5zaXRpb25zLmJlZ2luKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9JbW11dGFibGVORkFOb2RlQnVpbGRlci5o
IGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvSW1tdXRhYmxlTkZBTm9kZUJ1aWxk
ZXIuaAppbmRleCBlN2NkMzFjZjc1NGE3MDk4Zjc1ZGExZWI1Zjk0NDg2MmVmZDliMjY4Li5lMjdl
MjRjNjBiMWU1NmE4ZTRlMDk2ZmQ2NjI1ZDcxZWQwNjAxNDFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9JbW11dGFibGVORkFOb2RlQnVpbGRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0ltbXV0YWJsZU5GQU5vZGVCdWlsZGVy
LmgKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIENvbnRlbnRFeHRlbnNpb25zIHsKIHRlbXBs
YXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlLCB0eXBlbmFtZSBBY3Rpb25UeXBlPgogY2xhc3Mg
SW1tdXRhYmxlTkZBTm9kZUJ1aWxkZXIgewogICAgIHR5cGVkZWYgSW1tdXRhYmxlTkZBPENoYXJh
Y3RlclR5cGUsIEFjdGlvblR5cGU+IFR5cGVkSW1tdXRhYmxlTkZBOwotICAgIHR5cGVkZWYgSGFz
aFNldDx1aW50MzJfdCwgRGVmYXVsdEhhc2g8dWludDMyX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVk
V2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj4gVGFyZ2V0U2V0OworICAgIHR5cGVkZWYg
SGFzaFNldDx1aW50MzJfdCwgRGVmYXVsdEhhc2g8dWludDMyX3Q+LCBXVEY6OlVuc2lnbmVkV2l0
aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj4gVGFyZ2V0U2V0OwogcHVibGljOgogICAgIElt
bXV0YWJsZU5GQU5vZGVCdWlsZGVyKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2NvbnRlbnRleHRlbnNpb25zL05GQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5z
aW9ucy9ORkEuY3BwCmluZGV4IDQzYzM3ZTkzYjdmMzlkYTZjNDIzNjk0MDRiMTg0MTE1ZDhiYjJk
OGYuLjUyNDQzMTQyYTYyNTRiMTNkNTU0NDIyZTYyMmQ5NDVhODMyM2MwNDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL05GQS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY29udGVudGV4dGVuc2lvbnMvTkZBLmNwcApAQCAtNzEsNyArNzEsNyBAQCB2b2lkIE5G
QTo6ZGVidWdQcmludERvdCgpIGNvbnN0CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG5v
ZGVzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIGNvbnN0IGF1dG8mIG5vZGUgPSBub2Rlc1tpXTsK
IAotICAgICAgICBIYXNoTWFwPHVpbnQzMl90LCBWZWN0b3I8dWludDMyX3Q+LCBEZWZhdWx0SGFz
aDx1bnNpZ25lZD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5z
aWduZWQ+PiB0cmFuc2l0aW9uc1BlclRhcmdldDsKKyAgICAgICAgSGFzaE1hcDx1aW50MzJfdCwg
VmVjdG9yPHVpbnQzMl90PiwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6OlVuc2lnbmVkV2l0
aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gdHJhbnNpdGlvbnNQZXJUYXJnZXQ7CiAKICAg
ICAgICAgZm9yICh1aW50MzJfdCB0cmFuc2l0aW9uSW5kZXggPSBub2RlLnJhbmdlc1N0YXJ0OyB0
cmFuc2l0aW9uSW5kZXggPCBub2RlLnJhbmdlc0VuZDsgKyt0cmFuc2l0aW9uSW5kZXgpIHsKICAg
ICAgICAgICAgIGNvbnN0IEltbXV0YWJsZUNoYXJSYW5nZSYgcmFuZ2UgPSB0cmFuc2l0aW9uc1t0
cmFuc2l0aW9uSW5kZXhdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVu
c2lvbnMvTkZBTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvTkZBTm9k
ZS5oCmluZGV4IGI3MDM0OWIzZmU3NzJjYzhiMTUxZmY4YjkxMjEyODFlNWQwNWQ2NTguLmFhYWVk
MzExNDAzM2I0MzMzYmIxMDUxNDU5OGQzOWU0NjBiOWMzYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL05GQU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
b250ZW50ZXh0ZW5zaW9ucy9ORkFOb2RlLmgKQEAgLTM5LDggKzM5LDggQEAgbmFtZXNwYWNlIENv
bnRlbnRFeHRlbnNpb25zIHsKIC8vIEEgTkZBTm9kZSBhYnN0cmFjdCB0aGUgdHJhbnNpdGlvbiB0
YWJsZSBvdXQgb2YgYSBORkEgc3RhdGUuCiAKIHR5cGVkZWYgVmVjdG9yPHVpbnQ2NF90LCAwLCBX
VEY6OkNyYXNoT25PdmVyZmxvdywgMT4gQWN0aW9uTGlzdDsKLXR5cGVkZWYgSGFzaFNldDx1bnNp
Z25lZCwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9L
ZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gTkZBTm9kZUluZGV4U2V0OwotdHlwZWRlZiBIYXNoTWFw
PHVpbnQxNl90LCBORkFOb2RlSW5kZXhTZXQsIERlZmF1bHRIYXNoPHVpbnQxNl90Pjo6SGFzaCwg
V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MTZfdD4+IE5GQU5vZGVUcmFu
c2l0aW9uczsKK3R5cGVkZWYgSGFzaFNldDx1bnNpZ25lZCwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+
LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gTkZBTm9kZUlu
ZGV4U2V0OwordHlwZWRlZiBIYXNoTWFwPHVpbnQxNl90LCBORkFOb2RlSW5kZXhTZXQsIERlZmF1
bHRIYXNoPHVpbnQxNl90PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50
MTZfdD4+IE5GQU5vZGVUcmFuc2l0aW9uczsKIAogY2xhc3MgTkZBTm9kZSB7CiBwdWJsaWM6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ORkFUb0RGQS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ORkFUb0RGQS5jcHAKaW5kZXggZWNk
ODI0ZWZhY2M2OTNlYTViYTMxNWQ0MTE3ZTk4ZWEwNDZmZDlkYy4uZDMzZmUyNGJmYmM3OGE5ZDRm
MjE3NDc2YzRhZTdlMTI1ZjBmNWVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY29udGVu
dGV4dGVuc2lvbnMvTkZBVG9ERkEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRl
bnNpb25zL05GQVRvREZBLmNwcApAQCAtMjI0LDcgKzIyNCw3IEBAIHN0cnVjdCBOb2RlSWRTZXRU
b1VuaXF1ZU5vZGVJZFNldFNvdXJjZSB7CiAgICAgICAgIHVuc2lnbmVkIGhhc2ggPSA0MjA3NDQ1
MTU1OwogICAgICAgICBmb3IgKHVuc2lnbmVkIG5vZGVJZCA6IG5vZGVJZFNldCkKICAgICAgICAg
ICAgIGhhc2ggKz0gbm9kZUlkOwotICAgICAgICB0aGlzLT5oYXNoID0gRGVmYXVsdEhhc2g8dW5z
aWduZWQ+OjpIYXNoOjpoYXNoKGhhc2gpOworICAgICAgICB0aGlzLT5oYXNoID0gRGVmYXVsdEhh
c2g8dW5zaWduZWQ+OjpoYXNoKGhhc2gpOwogICAgIH0KICAgICBERkEmIGRmYTsKICAgICBjb25z
dCBORkEmIG5mYTsKQEAgLTI0Nyw3ICsyNDcsNyBAQCBzdHJ1Y3QgTm9kZUlkU2V0VG9VbmlxdWVO
b2RlSWRTZXRUcmFuc2xhdG9yIHsKICAgICB7CiAgICAgICAgIERGQU5vZGUgbmV3REZBTm9kZTsK
IAotICAgICAgICBIYXNoU2V0PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD46Okhhc2gs
IFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBhY3Rpb25zOwor
ICAgICAgICBIYXNoU2V0PHVpbnQ2NF90LCBEZWZhdWx0SGFzaDx1aW50NjRfdD4sIFdURjo6VW5z
aWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDY0X3Q+PiBhY3Rpb25zOwogCiAgICAgICAg
IGZvciAodW5zaWduZWQgbmZhTm9kZUlkIDogc291cmNlLm5vZGVJZFNldCkgewogICAgICAgICAg
ICAgY29uc3QgYXV0byYgbmZhTm9kZSA9IHNvdXJjZS5uZmEubm9kZXNbbmZhTm9kZUlkXTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9tYWtlcHJvcC5wbAppbmRleCAyODAxODNjZmU5YWIwOTkzYzQ0MDk5ZDY1ZGYxMjUzNzhh
ZWNjNjQyLi5mNjEwMWY4ODQ3MTAzNzJlOTE4M2M4MDQwOGQ3ODFiYmY5NzRkYTczIDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL21ha2Vwcm9wLnBsCkBAIC02MTgsNyArNjE4LDcgQEAgaW5saW5lIENTU1Byb3BlcnR5SUQg
Y29udmVydFRvQ1NTUHJvcGVydHlJRChpbnQgdmFsdWUpCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKIG5hbWVzcGFjZSBXVEYgewotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29y
ZTo6Q1NTUHJvcGVydHlJRD4geyB1c2luZyBIYXNoID0gSW50SGFzaDx1bnNpZ25lZD47IH07Cit0
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpDU1NQcm9wZXJ0eUlEPiA6IElu
dEhhc2g8dW5zaWduZWQ+IHsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29y
ZTo6Q1NTUHJvcGVydHlJRD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpDU1NQcm9wZXJ0
eUlEPiB7CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IHRydWU7CiAg
ICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFdlYkNvcmU6OkNTU1Byb3BlcnR5
SUQmIHNsb3QpIHsgc2xvdCA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQ+KFdl
YkNvcmU6Omxhc3RDU1NQcm9wZXJ0eSArIDEpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUGFyc2VyQ29udGV4dC5oCmluZGV4IDc3M2I4NTQyMzAxY2FiMjE2YzM1ZmY4NmM3ODky
MzNkMjhjOGIzNDYuLjBlZTU1YmZjODBlYjRmZjAwODMwYjFkYTJiNDA1YzdhYmNlMzA4ODkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5oCkBAIC0xMjks
NyArMTI5LDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpDU1NQYXJz
ZXJDb250ZXh0PiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkMKICAgICBzdGF0aWMgV2ViQ29yZTo6
Q1NTUGFyc2VyQ29udGV4dCBlbXB0eVZhbHVlKCkgeyByZXR1cm4gV2ViQ29yZTo6Q1NTUGFyc2Vy
Q29udGV4dChXZWJDb3JlOjpIVE1MU3RhbmRhcmRNb2RlKTsgfQogfTsKIAotdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6Q1NTUGFyc2VyQ29udGV4dD4gewotICAgIHR5cGVk
ZWYgV2ViQ29yZTo6Q1NTUGFyc2VyQ29udGV4dEhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpDU1NQYXJzZXJDb250ZXh0PiA6IFdlYkNvcmU6OkNT
U1BhcnNlckNvbnRleHRIYXNoIHsgfTsKKwogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vR0NSZWFjaGFibGVSZWYuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9HQ1JlYWNoYWJsZVJlZi5oCmluZGV4IDg0OGFjN2JlNjJhZjNlMjA5MDNmNjFmYjRmZDcyN2Vk
MTk4ODdlOWMuLmY2MDdjN2Y2NjIxODVkZWRkOTAzNjc0ODBjZjk0NTg5ZjZmMWNkYzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HQ1JlYWNoYWJsZVJlZi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9HQ1JlYWNoYWJsZVJlZi5oCkBAIC0xNDMsOSArMTQzLDcgQEAgdGVtcGxhdGU8
dHlwZW5hbWUgUD4gc3RydWN0IFB0ckhhc2g8V2ViQ29yZTo6R0NSZWFjaGFibGVSZWY8UD4+IDog
UHRySGFzaEJhc2U8V2UKICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0
eU9yRGVsZXRlZCA9IGZhbHNlOwogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgUD4gc3RydWN0IERl
ZmF1bHRIYXNoPFdlYkNvcmU6OkdDUmVhY2hhYmxlUmVmPFA+PiB7Ci0gICAgdHlwZWRlZiBQdHJI
YXNoPFdlYkNvcmU6OkdDUmVhY2hhYmxlUmVmPFA+PiBIYXNoOwotfTsKK3RlbXBsYXRlPHR5cGVu
YW1lIFA+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpHQ1JlYWNoYWJsZVJlZjxQPj4gOiBQ
dHJIYXNoPFdlYkNvcmU6OkdDUmVhY2hhYmxlUmVmPFA+PiB7IH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdURgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRJZGVudGlm
aWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRJZGVudGlmaWVyLmgKaW5kZXgg
YzA4NzUyYzE4ZmIzM2U5YTIzYmNmZWFhYmY1MDVmNDJkZGQwNTJmMC4uOGJjYzExZDYwNzAzZmZm
ZjE0OTkxOTE0MTJhZjI5MWZiOTA5MWFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L01lc3NhZ2VQb3J0SWRlbnRpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdl
UG9ydElkZW50aWZpZXIuaApAQCAtMTA1LDggKzEwNSw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhh
c2hUcmFpdHM8V2ViQ29yZTo6TWVzc2FnZVBvcnRJZGVudGlmaWVyPiA6IEdlbmVyaWNIYXNoVHJh
aXRzCiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2ViQ29yZTo6TWVzc2Fn
ZVBvcnRJZGVudGlmaWVyJiBzbG90KSB7IHJldHVybiBzbG90LnByb2Nlc3NJZGVudGlmaWVyLnRv
VUludDY0KCkgPT0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpOyB9CiB9Owog
Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpNZXNzYWdlUG9ydElkZW50
aWZpZXI+IHsKLSAgICB0eXBlZGVmIE1lc3NhZ2VQb3J0SWRlbnRpZmllckhhc2ggSGFzaDsKLX07
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpNZXNzYWdlUG9ydElkZW50
aWZpZXI+IDogTWVzc2FnZVBvcnRJZGVudGlmaWVySGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCmluZGV4IDRiZGIxMjYyMmNmZDg2ZTkyNjQy
NTNiYWUzOGVjOWFlY2YwMWQ1YmUuLjYxZjZmMWIyMmI5NjFkNzUzMjg3YjEzOTI3YTdmNjZhOWQx
ZDBlM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKQEAgLTkwLDEwICs5MCwxMCBAQCBw
dWJsaWM6CiAgICAgc3RydWN0IE5vZGVMaXN0Q2FjaGVNYXBFbnRyeUhhc2ggewogICAgICAgICBz
dGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBzdGQ6OnBhaXI8dW5zaWduZWQgY2hhciwgQXRvbVN0
cmluZz4mIGVudHJ5KQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8
QXRvbVN0cmluZz46Okhhc2g6Omhhc2goZW50cnkuc2Vjb25kKSArIGVudHJ5LmZpcnN0OworICAg
ICAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPEF0b21TdHJpbmc+OjpoYXNoKGVudHJ5LnNlY29u
ZCkgKyBlbnRyeS5maXJzdDsKICAgICAgICAgfQotICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChj
b25zdCBzdGQ6OnBhaXI8dW5zaWduZWQgY2hhciwgQXRvbVN0cmluZz4mIGEsIGNvbnN0IHN0ZDo6
cGFpcjx1bnNpZ25lZCBjaGFyLCBBdG9tU3RyaW5nPiYgYikgeyByZXR1cm4gYS5maXJzdCA9PSBi
LmZpcnN0ICYmIERlZmF1bHRIYXNoPEF0b21TdHJpbmc+OjpIYXNoOjplcXVhbChhLnNlY29uZCwg
Yi5zZWNvbmQpOyB9Ci0gICAgICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0Vt
cHR5T3JEZWxldGVkID0gRGVmYXVsdEhhc2g8QXRvbVN0cmluZz46Okhhc2g6OnNhZmVUb0NvbXBh
cmVUb0VtcHR5T3JEZWxldGVkOworICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBzdGQ6
OnBhaXI8dW5zaWduZWQgY2hhciwgQXRvbVN0cmluZz4mIGEsIGNvbnN0IHN0ZDo6cGFpcjx1bnNp
Z25lZCBjaGFyLCBBdG9tU3RyaW5nPiYgYikgeyByZXR1cm4gYS5maXJzdCA9PSBiLmZpcnN0ICYm
IERlZmF1bHRIYXNoPEF0b21TdHJpbmc+OjplcXVhbChhLnNlY29uZCwgYi5zZWNvbmQpOyB9Cisg
ICAgICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0g
RGVmYXVsdEhhc2g8QXRvbVN0cmluZz46OnNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkOwog
ICAgIH07CiAKICAgICB1c2luZyBOb2RlTGlzdENhY2hlTWFwID0gSGFzaE1hcDxzdGQ6OnBhaXI8
dW5zaWduZWQgY2hhciwgQXRvbVN0cmluZz4sIExpdmVOb2RlTGlzdCosIE5vZGVMaXN0Q2FjaGVN
YXBFbnRyeUhhc2g+OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5h
bWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKaW5kZXggMzNmNzNjZTE2
ZWNhOWY4ZGVmOGQ5MmZmNTg0Y2UzMzBhMzgwOGExYS4uMjY0YzQ3OTE1MGNjYmY3YTA2NWRlYTU1
YWNlYmE0NGVkZDM5MmY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmll
ZE5hbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCkBAIC0xNTQs
OSArMTU0LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gc3RydWN0IERlZmF1bHRIYXNoOwogCi0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8V2ViQ29yZTo6UXVhbGlmaWVkTmFtZT4gewotICAgICAgICB0eXBlZGVmIFdlYkNvcmU6OlF1
YWxpZmllZE5hbWVIYXNoIEhhc2g7Ci0gICAgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZh
dWx0SGFzaDxXZWJDb3JlOjpRdWFsaWZpZWROYW1lPiA6IFdlYkNvcmU6OlF1YWxpZmllZE5hbWVI
YXNoIHsgfTsKICAgICAKICAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6
OlF1YWxpZmllZE5hbWU+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPFdlYkNvcmU6OlF1YWxpZmll
ZE5hbWU+IHsKICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkSXRlbUlkZW50
aWZpZXIuaAppbmRleCA1NDc0OTFjMDM1ZGQ4ZTczOTNmZTRlYjZjNDQ5ZjRlNjE1NzRlNDBkLi5l
NTM1ZTE1OTU5ZDNjYmNkNmNjM2Q1ZmFhNzQwOWE2NDZiYWVmZDYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIuaApAQCAtMTE5LDgg
KzExOSw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6QmFja0Zvcndh
cmRJdGVtSWRlbnRpZmllcj4gOiBHZW5lcmljSGFzaFRyCiAgICAgc3RhdGljIGJvb2wgaXNEZWxl
dGVkVmFsdWUoY29uc3QgV2ViQ29yZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciYgc2xvdCkg
eyByZXR1cm4gc2xvdC5wcm9jZXNzSWRlbnRpZmllci50b1VJbnQ2NCgpID09IHN0ZDo6bnVtZXJp
Y19saW1pdHM8dWludDY0X3Q+OjptYXgoKTsgfQogfTsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8V2ViQ29yZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcj4gewotICAgIHR5cGVk
ZWYgQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllckhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyPiA6IEJh
Y2tGb3J3YXJkSXRlbUlkZW50aWZpZXJIYXNoIHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmgKaW5kZXggZmE0YjE3N2Y0YzQ2NzU2ZDBmMmJlMDM3NDViODZjNzRmNDc3MWI0My4u
ZDRmYzc5NThkMTcyODFhODA0MzEyM2E3YWQzZGIxNDY1OTYwYzBkZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaApA
QCAtNTUxLDcgKzU1MSw3IEBAIHByb3RlY3RlZDoKICAgICB9OwogICAgIFZlY3RvcjxUZXh0dXJl
VW5pdFN0YXRlPiBtX3RleHR1cmVVbml0czsKICNpZiAhVVNFKEFOR0xFKQotICAgIEhhc2hTZXQ8
dW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IG1fdW5yZW5kZXJhYmxlVGV4dHVyZVVuaXRzOwor
ICAgIEhhc2hTZXQ8dW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25l
ZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IG1fdW5yZW5kZXJhYmxlVGV4dHVyZVVu
aXRzOwogI2VuZGlmCiAgICAgdW5zaWduZWQgbG9uZyBtX2FjdGl2ZVRleHR1cmVVbml0OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0VW5pdHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5oCmluZGV4IGIxZWUxZGE3MGRiYWI1NjBkYzQ2ZWFm
NzNlMzI0MjZjNjdlMzVhYmEuLjc0MjVhMWQ5NjY4MTcwZTIyYzI5OTQxZWRkMTVmMGUwMjQ0YTVh
ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5oCkBAIC0yNDcsOSArMjQ3LDcgQEAg
dGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpMYXlvdXQ6OlNsb3RQb3NpdGlv
bj4gOiBHZW5lcmljSGFzaFRyYWl0czwKICAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVk
VmFsdWUoV2ViQ29yZTo6TGF5b3V0OjpTbG90UG9zaXRpb24mIHNsb3QpIHsgc2xvdCA9IFdlYkNv
cmU6OkxheW91dDo6U2xvdFBvc2l0aW9uKHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4
KCksIDApOyB9CiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2ViQ29yZTo6
TGF5b3V0OjpTbG90UG9zaXRpb24mIHNsb3QpIHsgcmV0dXJuIHNsb3QgPT0gV2ViQ29yZTo6TGF5
b3V0OjpTbG90UG9zaXRpb24oc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKSwgMCk7
IH0KIH07Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpMYXlvdXQ6OlNs
b3RQb3NpdGlvbj4gewotICAgIHR5cGVkZWYgU2xvdFBvc2l0aW9uSGFzaCBIYXNoOwotfTsKK3Rl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkxheW91dDo6U2xvdFBvc2l0aW9u
PiA6IFNsb3RQb3NpdGlvbkhhc2ggeyB9OwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9BZENsaWNrQXR0cmlidXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9BZENsaWNrQXR0cmlidXRpb24uaAppbmRleCA2ODk4OTk1OGIwY2MyY2U2YzE4ODhhNjQx
NjgxYWE3YjAwNWU1MmQ3Li5jODNjM2U1NTI1MzliYzI3MGNhODkwZTFiN2NhNDM1NTlmZWZhZTg5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQWRDbGlja0F0dHJpYnV0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0FkQ2xpY2tBdHRyaWJ1dGlvbi5oCkBAIC0zNTIs
MTggKzM1MiwxNCBAQCBPcHRpb25hbDxBZENsaWNrQXR0cmlidXRpb246OkNvbnZlcnNpb24+IEFk
Q2xpY2tBdHRyaWJ1dGlvbjo6Q29udmVyc2lvbjo6ZGVjb2RlKAogbmFtZXNwYWNlIFdURiB7CiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAKLXRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6U291cmNlPiB7Ci0g
ICAgdHlwZWRlZiBXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OlNvdXJjZUhhc2ggSGFzaDsK
LX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpBZENsaWNrQXR0cmli
dXRpb246OlNvdXJjZT4gOiBXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OlNvdXJjZUhhc2gg
eyB9OwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpBZENsaWNrQXR0cmli
dXRpb246OlNvdXJjZT4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpBZENsaWNrQXR0cmli
dXRpb246OlNvdXJjZT4gewogICAgIHN0YXRpYyBXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246
OlNvdXJjZSBlbXB0eVZhbHVlKCkgeyByZXR1cm4geyB9OyB9CiAgICAgc3RhdGljIHZvaWQgY29u
c3RydWN0RGVsZXRlZFZhbHVlKFdlYkNvcmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6U291cmNlJiBz
bG90KSB7IFdlYkNvcmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6U291cmNlOjpjb25zdHJ1Y3REZWxl
dGVkVmFsdWUoc2xvdCk7IH0KICAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShjb25zdCBX
ZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OlNvdXJjZSYgc2xvdCkgeyByZXR1cm4gc2xvdC5p
c0RlbGV0ZWRWYWx1ZSgpOyB9CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxX
ZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OkRlc3RpbmF0aW9uPiB7Ci0gICAgdHlwZWRlZiBX
ZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OkRlc3RpbmF0aW9uSGFzaCBIYXNoOwotfTsKK3Rl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6
RGVzdGluYXRpb24+IDogV2ViQ29yZTo6QWRDbGlja0F0dHJpYnV0aW9uOjpEZXN0aW5hdGlvbkhh
c2ggeyB9OwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpBZENsaWNrQXR0
cmlidXRpb246OkRlc3RpbmF0aW9uPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OkFkQ2xp
Y2tBdHRyaWJ1dGlvbjo6RGVzdGluYXRpb24+IHsKICAgICBzdGF0aWMgV2ViQ29yZTo6QWRDbGlj
a0F0dHJpYnV0aW9uOjpEZXN0aW5hdGlvbiBlbXB0eVZhbHVlKCkgeyByZXR1cm4geyB9OyB9CiAg
ICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFdlYkNvcmU6OkFkQ2xpY2tBdHRy
aWJ1dGlvbjo6RGVzdGluYXRpb24mIHNsb3QpIHsgV2ViQ29yZTo6QWRDbGlja0F0dHJpYnV0aW9u
OjpEZXN0aW5hdGlvbjo6Y29uc3RydWN0RGVsZXRlZFZhbHVlKHNsb3QpOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0LmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0LmgKaW5kZXgg
MmE1NjZkMTdhYzk3MTEwOGMxMTk3OGE3N2U0YzNlZjdhYWMzM2Y0YS4uYTE3NjhjZTc2MjZhNGE0
YWVlNmNlMDQyMTA3NzQ4ZDA4Njg1ZmM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QuaApAQCAtODEsMTcgKzgxLDE1IEBAIFJl
c291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdCBjcnlwdG9ncmFwaGljRGlnZXN0Rm9yQnl0ZXMoUmVz
b3VyY2VDcnlwdG9ncmFwaGljRGlnCiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0PiB7Ci0g
ICAgc3RydWN0IEhhc2ggewotICAgICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QmIGRpZ2VzdCkKLSAgICAgICAgewotICAg
ICAgICAgICAgcmV0dXJuIHBhaXJJbnRIYXNoKGludEhhc2goc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KGRpZ2VzdC5hbGdvcml0aG0pKSwgU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaChkaWdlc3QudmFs
dWUuZGF0YSgpLCBkaWdlc3QudmFsdWUuc2l6ZSgpKSk7Ci0gICAgICAgIH0KLSAgICAgICAgc3Rh
dGljIGJvb2wgZXF1YWwoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0
JiBhLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QmIGIpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhID09IGI7Ci0gICAgICAgIH0KLSAgICAgICAgc3Rh
dGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwotICAg
IH07CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VDcnlw
dG9ncmFwaGljRGlnZXN0JiBkaWdlc3QpCisgICAgeworICAgICAgICByZXR1cm4gcGFpckludEhh
c2goaW50SGFzaChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGlnZXN0LmFsZ29yaXRobSkpLCBTdHJp
bmdIYXNoZXI6OmNvbXB1dGVIYXNoKGRpZ2VzdC52YWx1ZS5kYXRhKCksIGRpZ2VzdC52YWx1ZS5z
aXplKCkpKTsKKyAgICB9CisgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0JiBhLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUNyeXB0
b2dyYXBoaWNEaWdlc3QmIGIpCisgICAgeworICAgICAgICByZXR1cm4gYSA9PSBiOworICAgIH0K
KyAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRy
dWU7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OlJlc291cmNl
Q3J5cHRvZ3JhcGhpY0RpZ2VzdD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpSZXNvdXJj
ZUNyeXB0b2dyYXBoaWNEaWdlc3Q+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2xpZW50T3JpZ2luLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NsaWVudE9yaWdpbi5oCmluZGV4
IDJhZmI5OWNkYjRjMjg4YmIyNjk3MTE3MDJjOTk0ODUxZjUzZDczY2QuLmU1NGVkNzVlYTgwMGIw
M2EyN2EwZTUyYzBhODA4MjBmZTEzMWY2MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2xpZW50T3JpZ2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DbGllbnRPcmlnaW4u
aApAQCAtMTA2LDggKzEwNiw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29y
ZTo6Q2xpZW50T3JpZ2luPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6CiAgICAgc3RhdGlj
IGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBzbG90KSB7
IHJldHVybiBzbG90LnRvcE9yaWdpbi5pc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpOyB9CiB9Owog
Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpDbGllbnRPcmlnaW4+IHsK
LSAgICB0eXBlZGVmIENsaWVudE9yaWdpbktleUhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0
cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpDbGllbnRPcmlnaW4+IDogQ2xpZW50T3JpZ2luS2V5
SGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9HbG9iYWxXaW5kb3dJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ds
b2JhbFdpbmRvd0lkZW50aWZpZXIuaAppbmRleCA4YzQ2NGQ2MDRjZmZmNWU0Y2I4ZTI1YTgwMTM0
YzIzMWMxNzk0Y2Q3Li41YTFkNzIzZmRjMGM3ZTA4N2Y0OWZlNWRkNjg3MGUzYTFjNzA5MDFjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dsb2JhbFdpbmRvd0lkZW50aWZpZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dsb2JhbFdpbmRvd0lkZW50aWZpZXIuaApAQCAtOTgs
OCArOTgsNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6Okdsb2JhbFdp
bmRvd0lkZW50aWZpZXI+IDogR2VuZXJpY0hhc2hUcmFpdAogICAgIHN0YXRpYyBib29sIGlzRGVs
ZXRlZFZhbHVlKGNvbnN0IFdlYkNvcmU6Okdsb2JhbFdpbmRvd0lkZW50aWZpZXImIHNsb3QpIHsg
cmV0dXJuIHNsb3Qud2luZG93SWRlbnRpZmllci50b1VJbnQ2NCgpID09IHN0ZDo6bnVtZXJpY19s
aW1pdHM8dWludDY0X3Q+OjptYXgoKTsgfQogfTsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVs
dEhhc2g8V2ViQ29yZTo6R2xvYmFsV2luZG93SWRlbnRpZmllcj4gewotICAgIHR5cGVkZWYgR2xv
YmFsV2luZG93SWRlbnRpZmllckhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZh
dWx0SGFzaDxXZWJDb3JlOjpHbG9iYWxXaW5kb3dJZGVudGlmaWVyPiA6IEdsb2JhbFdpbmRvd0lk
ZW50aWZpZXJIYXNoIHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZWN1cml0eU9yaWdpbkRhdGEuaAppbmRleCA2ODY1YTRmOTdlNmM4NjlmYzViOWU5N2M2ODgy
ZDJlYTBhN2Y1MjQ1Li4wZjY2MjYyYTYwY2ZiNzk0NTEyZjlmNWVmZjI4YTcwY2VmNDJlNmY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luRGF0YS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW5EYXRhLmgKQEAgLTE1Miw4ICsxNTIs
NiBAQCBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhSGFzaCB7CiBuYW1lc3BhY2UgV1RGIHsKIAog
dGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+
IDogV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhSGFzaFRyYWl0cyB7IH07Ci10ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IHsKLSAgICB0
eXBlZGVmIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YUhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IDogV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhSGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbkhhc2guaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW5IYXNoLmgKaW5kZXggZjlhNTJmYTFmNDEz
YTcxMmQ4YWVlODk1ODE4ZjhmMzUxYWU5M2U3YS4uNGUzMjA5N2ZkOTFmYTczMDI2OWM5NTFjNDYw
YWEzMDBkY2E5NzI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9y
aWdpbkhhc2guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luSGFzaC5o
CkBAIC03NCwxMCArNzQsOCBAQCBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5IYXNoIHsKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogbmFtZXNwYWNlIFdURiB7Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWU+
IHN0cnVjdCBEZWZhdWx0SGFzaDsKIAotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+IHsKLSAgICAgICAgdHlwZWRlZiBXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbkhhc2ggSGFzaDsKLSAgICB9OwordGVtcGxhdGU8dHlwZW5hbWU+
IHN0cnVjdCBEZWZhdWx0SGFzaDsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFJlZlB0
cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+IDogV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5IYXNo
IHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Db29raWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tpZS5oCmluZGV4
IDYyYmE2YzdmZWVlNjRmN2Y2MmExMGQ1MGY0NjZmMWY4Y2FhNzUxY2QuLjk4NDM1OWM4OGVkOTE1
MTYxZjIyMTgyOTI3ZGU1MzIyOThkNzA5NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0Nvb2tpZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tpZS5oCkBA
IC0xNzAsOSArMTcwLDcgQEAgT3B0aW9uYWw8Q29va2llPiBDb29raWU6OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyKQogCiBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgRGVmYXVsdEhhc2g7Ci0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2Vi
Q29yZTo6Q29va2llPiB7Ci0gICAgICAgIHR5cGVkZWYgV2ViQ29yZTo6Q29va2llSGFzaCBIYXNo
OwotICAgIH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6Q29v
a2llPiA6IFdlYkNvcmU6OkNvb2tpZUhhc2ggeyB9OwogICAgIHRlbXBsYXRlPD4gc3RydWN0IEhh
c2hUcmFpdHM8V2ViQ29yZTo6Q29va2llPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OkNv
b2tpZT4gewogICAgICAgICBzdGF0aWMgV2ViQ29yZTo6Q29va2llIGVtcHR5VmFsdWUoKSB7IHJl
dHVybiB7IH07IH0KICAgICAgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFdl
YkNvcmU6OkNvb2tpZSYgc2xvdCkgeyBzbG90ID0gV2ViQ29yZTo6Q29va2llKFdURjo6SGFzaFRh
YmxlRGVsZXRlZFZhbHVlKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UmVnaXN0cmFibGVEb21haW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1JlZ2lzdHJhYmxl
RG9tYWluLmgKaW5kZXggODQyMzUxNTE3MThhZTY2NTgzN2Q0NTU5Yzc4OGUxNzhmYWQxODVjMy4u
NDAyZmJkYWYzNjE3NmJjZmI5OGQwYTQ4NmUwZDk5ZmI1ZmZkNzdjZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVnaXN0cmFibGVEb21haW4uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9SZWdpc3RyYWJsZURvbWFpbi5oCkBAIC0xNjIsOCArMTYyLDYgQEAgaW5s
aW5lIGJvb2wgYXJlUmVnaXN0cmFibGVEb21haW5zRXF1YWwoY29uc3QgVVJMJiBhLCBjb25zdCBV
UkwmIGIpCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIG5hbWVzcGFjZSBXVEYgewotdGVtcGxh
dGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+IHsKLSAg
ICB1c2luZyBIYXNoID0gV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW46OlJlZ2lzdHJhYmxlRG9t
YWluSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpSZWdp
c3RyYWJsZURvbWFpbj4gOiBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbjo6UmVnaXN0cmFibGVE
b21haW5IYXNoIHsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6UmVn
aXN0cmFibGVEb21haW4+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPFdlYkNvcmU6OlJlZ2lzdHJh
YmxlRG9tYWluPiB7IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Db2xvckhhc2guaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nv
bG9ySGFzaC5oCmluZGV4IGYwODExOTM1MWQwODRjYmJlNDBmOTI5MDg1MTk4MGIzNjhiZWM0YzQu
LjNkMmM5YzU1MzZmYmUxODM1MzNhZjg4MWUwZDFjZjBhNDNkODgyZTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9ySGFzaC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9ySGFzaC5oCkBAIC0zNiw5ICszNiw3IEBAIHN0
cnVjdCBDb2xvckhhc2ggewogICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0Vt
cHR5T3JEZWxldGVkID0gdHJ1ZTsKIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PFdlYkNvcmU6OkNvbG9yPiB7Ci0gICAgdXNpbmcgSGFzaCA9IENvbG9ySGFzaDsKLX07Cit0ZW1w
bGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpDb2xvcj4gOiBDb2xvckhhc2ggeyB9
OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkNvbG9yPiA6IEdlbmVy
aWNIYXNoVHJhaXRzPFdlYkNvcmU6OkNvbG9yPiB7CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1w
dHlWYWx1ZUlzWmVybyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRTaXplSGFzaC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRmxvYXRTaXplSGFzaC5oCmluZGV4IGY1MzJkMzEyMzZiNGNkOGQzZWQ5NmRiNTczMzVi
YmM3MGNkYTQxODMuLjIxNjEzY2IxNDczMzUzYzZkNWUyZTUwNjg1YzJkYzg0YTYwNjVkMTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZUhhc2gu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemVIYXNoLmgK
QEAgLTMyLDE0ICszMiwxMiBAQAogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPD4gc3RydWN0
IEZsb2F0SGFzaDxXZWJDb3JlOjpGbG9hdFNpemU+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGFz
aChjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIGtleSkgeyByZXR1cm4gcGFpckludEhhc2goRGVm
YXVsdEhhc2g8ZmxvYXQ+OjpIYXNoOjpoYXNoKGtleS53aWR0aCgpKSwgRGVmYXVsdEhhc2g8Zmxv
YXQ+OjpIYXNoOjpoYXNoKGtleS5oZWlnaHQoKSkpOyB9CisgICAgc3RhdGljIHVuc2lnbmVkIGhh
c2goY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBrZXkpIHsgcmV0dXJuIHBhaXJJbnRIYXNoKERl
ZmF1bHRIYXNoPGZsb2F0Pjo6aGFzaChrZXkud2lkdGgoKSksIERlZmF1bHRIYXNoPGZsb2F0Pjo6
aGFzaChrZXkuaGVpZ2h0KCkpKTsgfQogICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFdlYkNv
cmU6OkZsb2F0U2l6ZSYgYSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBiKSB7IHJldHVybiBh
ID09IGI7IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVs
ZXRlZCA9IHRydWU7CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3Jl
OjpGbG9hdFNpemU+IHsKLSAgICB0eXBlZGVmIEZsb2F0SGFzaDxXZWJDb3JlOjpGbG9hdFNpemU+
IEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6RmxvYXRT
aXplPiA6IEZsb2F0SGFzaDxXZWJDb3JlOjpGbG9hdFNpemU+IHsgfTsKIAogdGVtcGxhdGU8PiBz
dHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpGbG9hdFNpemU+IDogR2VuZXJpY0hhc2hUcmFpdHM8
V2ViQ29yZTo6RmxvYXRTaXplPiB7CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlz
WmVybyA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250R2VuZXJpY0ZhbWlsaWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250R2VuZXJpY0ZhbWlsaWVzLmgKaW5kZXggNjg1ODY4ZGRhNTI3ZmQ4YTBkMDZmMWRjZGVh
NWJmNGExYjBmZGFkMi4uZjEyNGJiODZkMzRlMjY5NTFkMjBlZTlkYjMwNjNhODY3YTkyYTRmYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdlbmVyaWNG
YW1pbGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5l
cmljRmFtaWxpZXMuaApAQCAtNDIsNyArNDIsNyBAQCBzdHJ1Y3QgVVNjcmlwdENvZGVIYXNoVHJh
aXRzIDogV1RGOjpHZW5lcmljSGFzaFRyYWl0czxpbnQ+IHsKICAgICBzdGF0aWMgYm9vbCBpc0Rl
bGV0ZWRWYWx1ZShpbnQgdmFsdWUpIHsgcmV0dXJuIHZhbHVlID09IC0zOyB9CiB9OwogCi10eXBl
ZGVmIEhhc2hNYXA8aW50LCBBdG9tU3RyaW5nLCBEZWZhdWx0SGFzaDxpbnQ+OjpIYXNoLCBVU2Ny
aXB0Q29kZUhhc2hUcmFpdHM+IFNjcmlwdEZvbnRGYW1pbHlNYXA7Cit0eXBlZGVmIEhhc2hNYXA8
aW50LCBBdG9tU3RyaW5nLCBEZWZhdWx0SGFzaDxpbnQ+LCBVU2NyaXB0Q29kZUhhc2hUcmFpdHM+
IFNjcmlwdEZvbnRGYW1pbHlNYXA7CiAKIGNsYXNzIEZvbnRHZW5lcmljRmFtaWxpZXMgewogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW50UG9pbnRIYXNoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbnRQb2ludEhhc2guaAppbmRleCBhN2FlM2FkOWJiYWViMDMyMWZjZDM0YTY4NmI5
NjI3NTU5ZGMwMGViLi45NzEyODJjNzQyNzZiZjNhYjdkNDcxMmIwNzBmMWNkMjQyZjdlNjRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludEhhc2gu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludEhhc2guaApA
QCAtMzgsOSArMzgsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6Oklu
dFBvaW50PiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OkludAogICAgIHN0YXRpYyB2b2lk
IGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShXZWJDb3JlOjpJbnRQb2ludCYgc2xvdCkgeyBzbG90ID0g
V2ViQ29yZTo6SW50UG9pbnQoc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKSwgMCk7IH0K
ICAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYg
c2xvdCkgeyByZXR1cm4gc2xvdCA9PSBXZWJDb3JlOjpJbnRQb2ludChzdGQ6Om51bWVyaWNfbGlt
aXRzPGludD46Om1pbigpLCAwKTsgfQogfTsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNo
PFdlYkNvcmU6OkludFBvaW50PiB7Ci0gICAgdHlwZWRlZiBJbnRQb2ludEhhc2ggSGFzaDsKLX07
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRQb2ludD4gOiBJbnRQ
b2ludEhhc2ggeyB9OwogCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ludFJlY3RIYXNoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbnRSZWN0SGFzaC5oCmluZGV4IDlkOTBkYTcyYTdiOTYwODViMTI2NmRjOTkxMTAwMzZkZDQ5
ZWE4NGUuLjg3Y2I2OTJhMjhlYjM5NzQ4ODI4NzYzMjlhOWNmZTgwODc4YTZkYzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3RIYXNoLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdEhhc2guaApAQCAtMzYsMTUg
KzM2LDE1IEBAIG5hbWVzcGFjZSBXVEYgewogdGVtcGxhdGU8PiBzdHJ1Y3QgSW50SGFzaDxXZWJD
b3JlOjpJbnRSZWN0PiB7CiAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYga2V5KQogICAgIHsKLSAgICAgICAgcmV0dXJuIHBhaXJJbnRIYXNoKERlZmF1bHRI
YXNoPFdlYkNvcmU6OkludFBvaW50Pjo6SGFzaDo6aGFzaChrZXkubG9jYXRpb24oKSksIERlZmF1
bHRIYXNoPFdlYkNvcmU6OkludFNpemU+OjpIYXNoOjpoYXNoKGtleS5zaXplKCkpKTsKKyAgICAg
ICAgcmV0dXJuIHBhaXJJbnRIYXNoKERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFBvaW50Pjo6aGFz
aChrZXkubG9jYXRpb24oKSksIERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFNpemU+OjpoYXNoKGtl
eS5zaXplKCkpKTsKICAgICB9CiAgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgYSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgYikKICAgICB7Ci0gICAgICAgIHJl
dHVybiBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRQb2ludD46Okhhc2g6OmVxdWFsKGEubG9jYXRp
b24oKSwgYi5sb2NhdGlvbigpKSAmJiBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRTaXplPjo6SGFz
aDo6ZXF1YWwoYS5zaXplKCksIGIuc2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNo
PFdlYkNvcmU6OkludFBvaW50Pjo6ZXF1YWwoYS5sb2NhdGlvbigpLCBiLmxvY2F0aW9uKCkpICYm
IERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFNpemU+OjplcXVhbChhLnNpemUoKSwgYi5zaXplKCkp
OwogICAgIH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVs
ZXRlZCA9IHRydWU7CiB9OwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6
SW50UmVjdD4geyB0eXBlZGVmIEludEhhc2g8V2ViQ29yZTo6SW50UmVjdD4gSGFzaDsgfTsKK3Rl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFJlY3Q+IDogSW50SGFzaDxX
ZWJDb3JlOjpJbnRSZWN0PiB7IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2Vi
Q29yZTo6SW50UmVjdD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpJbnRSZWN0PiB7CiAg
ICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IHRydWU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplSGFzaC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZUhhc2guaAppbmRleCA3OWY0ZThhYmY2
ZWExOWI0NDdhZDA5NWU0NmJiMTlhZWQ1MGY3MmU0Li5kM2VkMWFjMjQ5ZmNjZGU2MDRmZDE4M2Ri
M2FiODkzOWFmMDM0ZDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbnRTaXplSGFzaC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ludFNpemVIYXNoLmgKQEAgLTMwLDcgKzMwLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAg
IHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGEsIGNvbnN0IFdlYkNv
cmU6OkludFNpemUmIGIpIHsgcmV0dXJuIGEgPT0gYjsgfQogICAgICAgICBzdGF0aWMgY29uc3Qg
Ym9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7CiAgICAgfTsKLSAgICB0
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJbnRTaXplPiB7IHR5cGVkZWYg
SW50SGFzaDxXZWJDb3JlOjpJbnRTaXplPiBIYXNoOyB9OworICAgIHRlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPFdlYkNvcmU6OkludFNpemU+IDogSW50SGFzaDxXZWJDb3JlOjpJbnRTaXpl
PiB7IH07CiAgICAgCiAgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpJ
bnRTaXplPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OkludFNpemU+IHsKICAgICAgICAg
c3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IHRydWU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aENhY2hlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aENhY2hlLmgKaW5kZXggZThkNzJlMDk2Yjk0MmVh
NTFlYTAwNWEyZmEyYTYxZjEwNzYwZDcyZS4uNTJhN2IwODY2Y2QwNzBkMmRkZTg4NGU0NzI4ZWIz
NGQ4NTNhODczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
V2lkdGhDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRo
Q2FjaGUuaApAQCAtMjEwLDcgKzIxMCw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgdHlwZWRl
ZiBIYXNoTWFwPFNtYWxsU3RyaW5nS2V5LCBmbG9hdCwgU21hbGxTdHJpbmdLZXlIYXNoLCBTbWFs
bFN0cmluZ0tleUhhc2hUcmFpdHM+IE1hcDsKLSAgICB0eXBlZGVmIEhhc2hNYXA8dWludDMyX3Qs
IGZsb2F0LCBEZWZhdWx0SGFzaDx1aW50MzJfdD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVy
b0tleUhhc2hUcmFpdHM8dWludDMyX3Q+PiBTaW5nbGVDaGFyTWFwOworICAgIHR5cGVkZWYgSGFz
aE1hcDx1aW50MzJfdCwgZmxvYXQsIERlZmF1bHRIYXNoPHVpbnQzMl90PiwgV1RGOjpVbnNpZ25l
ZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50MzJfdD4+IFNpbmdsZUNoYXJNYXA7CiAgICAgc3Rh
dGljIGNvbnN0IGludCBzX21pbkludGVydmFsID0gLTM7IC8vIEEgY2FjaGUgaGl0IHBheXMgZm9y
IGFib3V0IDMgY2FjaGUgbWlzc2VzLgogICAgIHN0YXRpYyBjb25zdCBpbnQgc19tYXhJbnRlcnZh
bCA9IDIwOyAvLyBTYW1wbGluZyBhdCB0aGlzIGludGVydmFsIGhhcyBhbG1vc3Qgbm8gb3Zlcmhl
YWQuCiAgICAgc3RhdGljIGNvbnN0IGludCBzX21heFNpemUgPSA1MDAwMDA7IC8vIEp1c3QgZW5v
dWdoIHRvIGd1YXJkIGFnYWluc3QgcGF0aG9sb2dpY2FsIGdyb3d0aC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNoZUZyZWVUeXBl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNo
ZUZyZWVUeXBlLmNwcAppbmRleCA3M2VhZGVkMjRlZjExNDJiYmM2ZmFlN2I1NmU1ZGRmNDQ3MWE5
Zjg0Li5mMDI3ZWVkMzE3MTQ0NGJjMzZhNDM0NDc2M2I3M2UxMmRiMmEwMjY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVl
VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUv
Rm9udENhY2hlRnJlZVR5cGUuY3BwCkBAIC0yMjIsNyArMjIyLDcgQEAgc3RydWN0IEZhbGxiYWNr
Rm9udERlc2NyaXB0aW9uS2V5IHsKIAogICAgIHVuc2lnbmVkIGNvbXB1dGVIYXNoKCkgY29uc3QK
ICAgICB7Ci0gICAgICAgIHJldHVybiBXVEY6OnBhaXJJbnRIYXNoKGRlc2NyaXB0aW9uS2V5LmNv
bXB1dGVIYXNoKCksIFdURjo6RGVmYXVsdEhhc2g8Ym9vbD46Okhhc2g6Omhhc2goY29sb3JlZEZv
bnQpKTsKKyAgICAgICAgcmV0dXJuIFdURjo6cGFpckludEhhc2goZGVzY3JpcHRpb25LZXkuY29t
cHV0ZUhhc2goKSwgV1RGOjpEZWZhdWx0SGFzaDxib29sPjo6aGFzaChjb2xvcmVkRm9udCkpOwog
ICAgIH0KIAogICAgIEZvbnREZXNjcmlwdGlvbktleSBkZXNjcmlwdGlvbktleTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuaAppbmRleCBmZjBhZjgzNTUz
NGZmYjQwY2ZlOTA2ZTc3NDVjYzc4MzU0MjY3ZGM4Li5lNTViNDhiODAxZDJjNTFlMDVhNzE2MjY3
MzM0ZTNiODI4OGMwNWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0hUVFBQYXJzZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9I
VFRQUGFyc2Vycy5oCkBAIC0xNTUsNyArMTU1LDcgQEAgYm9vbCBhZGRUb0FjY2Vzc0NvbnRyb2xB
bGxvd0xpc3QoY29uc3QgU3RyaW5nJiBzdHJpbmcsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZAog
ICAgIHJldHVybiB0cnVlOwogfQogCi10ZW1wbGF0ZTxjbGFzcyBIYXNoVHlwZSA9IERlZmF1bHRI
YXNoPFN0cmluZz46Okhhc2g+Cit0ZW1wbGF0ZTxjbGFzcyBIYXNoVHlwZSA9IERlZmF1bHRIYXNo
PFN0cmluZz4+CiBPcHRpb25hbDxIYXNoU2V0PFN0cmluZywgSGFzaFR5cGU+PiBwYXJzZUFjY2Vz
c0NvbnRyb2xBbGxvd0xpc3QoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgSGFzaFNldDxT
dHJpbmcsIEhhc2hUeXBlPiBzZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZUhhc2guaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUHJvdGVjdGlvblNwYWNlSGFzaC5oCmluZGV4IGU4NDMzMzU3ZjJhZmRiNjYyNDMx
ZmU1YTZkODBkYjZhNDQzMDk1NTcuLmQ1OWMyZjE5M2ZhZDE2OWU5ODQyOGU3MjkwNDZlMTk1ZmRk
OGMxNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUHJvdGVj
dGlvblNwYWNlSGFzaC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUHJv
dGVjdGlvblNwYWNlSGFzaC5oCkBAIC01NywxMSArNTcsOCBAQCBzdHJ1Y3QgUHJvdGVjdGlvblNw
YWNlSGFzaCB7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFz
aFRyYWl0czxXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2U+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRz
PFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZT4geyB9OwotCi0gICAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
RGVmYXVsdEhhc2g8V2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlPiB7Ci0gICAgICAgIHVzaW5nIEhh
c2ggPSBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2VIYXNoOwotICAgIH07Cit0ZW1wbGF0ZTw+IHN0
cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZT4gOiBTaW1wbGVDbGFzc0hh
c2hUcmFpdHM8V2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlPiB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2U+IDogV2ViQ29yZTo6UHJvdGVj
dGlvblNwYWNlSGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ09NUHRyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vQ09NUHRyLmgKaW5kZXggMzcxMzE2ZTJjOTM4ZDI1ZDYzYjk4OTI4ZWI1N2VkMTUy
NmUzY2NjZi4uNzY1MWJmOTNkYWQ1YmMyMGUzY2EwN2IyMDJmYWYyYTg4MTI3Yzc1NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NPTVB0ci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9DT01QdHIuaApAQCAtMjU1LDkgKzI1NSw3IEBAIHRlbXBsYXRl
PHR5cGVuYW1lIFA+IHN0cnVjdCBIYXNoVHJhaXRzPENPTVB0cjxQPiA+IDogU2ltcGxlQ2xhc3NI
YXNoVHJhaXRzPENPTVB0CiAgICAgc3RhdGljIFBlZWtUeXBlIHBlZWsoUCogdmFsdWUpIHsgcmV0
dXJuIHZhbHVlOyB9CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8Q09NUHRyPFA+PiB7Ci0gICAgdHlwZWRlZiBQdHJIYXNoPENPTVB0cjxQPj4gSGFzaDsKLX07
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBQPiBzdHJ1Y3QgRGVmYXVsdEhhc2g8Q09NUHRyPFA+PiA6IFB0
ckhhc2g8Q09NUHRyPFA+PiB7IH07CiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vd2luL1dpbmRvd3NLZXlOYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luL1dpbmRvd3NLZXlOYW1lcy5oCmluZGV4IDBmZGZlYzA4N2ExYjI0ZTY2ZjJhODQzM2VhMWY5
MTk5Mjg1MWFlNzEuLjkwYzYyNDRmOGM3ZWE4MWZlOGVhNGM1OGQ1Y2MwM2VjMDc1YjY1MmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dzS2V5TmFtZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93c0tleU5hbWVzLmgKQEAgLTU0
LDcgKzU0LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faGFzQWx0R3JhcGggPSBmYWxzZTsKIAog
ICAgIHVzaW5nIFZpcnR1YWxLZXlNb2RpZmllclNldFBhaXIgPSBzdGQ6OnBhaXI8dW5zaWduZWQs
IEtleU1vZGlmaWVyU2V0PjsKLSAgICB1c2luZyBWaXJ0dWFsS2V5VG9LZXlNYXAgPSBIYXNoTWFw
PFZpcnR1YWxLZXlNb2RpZmllclNldFBhaXIsIFN0cmluZywgRGVmYXVsdEhhc2g8VmlydHVhbEtl
eU1vZGlmaWVyU2V0UGFpcj46Okhhc2gsIFBhaXJIYXNoVHJhaXRzPFdURjo6VW5zaWduZWRXaXRo
WmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+LCBIYXNoVHJhaXRzPEtleU1vZGlmaWVyU2V0Pj4+
OworICAgIHVzaW5nIFZpcnR1YWxLZXlUb0tleU1hcCA9IEhhc2hNYXA8VmlydHVhbEtleU1vZGlm
aWVyU2V0UGFpciwgU3RyaW5nLCBEZWZhdWx0SGFzaDxWaXJ0dWFsS2V5TW9kaWZpZXJTZXRQYWly
PiwgUGFpckhhc2hUcmFpdHM8V1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNp
Z25lZD4sIEhhc2hUcmFpdHM8S2V5TW9kaWZpZXJTZXQ+Pj47CiAgICAgVmlydHVhbEtleVRvS2V5
TWFwIG1fcHJpbnRhYmxlS2V5Q29kZVRvS2V5OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0NTU1ZhbHVlS2V5LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
Q1NTVmFsdWVLZXkuaAppbmRleCBhZjhjYWI3MWY3YzE4MzMyNGY1MDJkYTYyMDg5ZDA1N2U3OWI4
OTMwLi5jYjJlODNkZDI3YWY1NDhkMTU2ZGY2NTgyY2M5YzFjNDA5MTc3NmJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ1NTVmFsdWVLZXkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvQ1NTVmFsdWVLZXkuaApAQCAtOTMsOCArOTMsNiBAQCB0ZW1wbGF0ZTw+
IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkNTU1ZhbHVlS2V5PiA6IEdlbmVyaWNIYXNoVHJh
aXRzPFdlYkNvcmU6OgogICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFdlYkNv
cmU6OkNTU1ZhbHVlS2V5JiBzbG90KSB7IHJldHVybiBzbG90LmNzc1ZhbHVlSUQgPT0gV2ViQ29y
ZTo6Q1NTVmFsdWVJbnZhbGlkICYmIHNsb3QudXNlRGFya0FwcGVhcmFuY2UgJiYgc2xvdC51c2VF
bGV2YXRlZFVzZXJJbnRlcmZhY2VMZXZlbDsgfQogfTsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8V2ViQ29yZTo6Q1NTVmFsdWVLZXk+IHsKLSAgICB0eXBlZGVmIENTU1ZhbHVlS2V5
SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkNT
U1ZhbHVlS2V5PiA6IENTU1ZhbHVlS2V5SGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVudC5oCmlu
ZGV4IDM4YzA0ODhlNDgyYTM1N2U3YTVmYjgyOTk3YTM5MzQwYjFiMmMwZjYuLjU4ZTNmYzZiYzFi
ZWY4YTNhOGY3YzQzNmViYzRiY2VmY2Q0ZjQ5ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9HcmlkQmFzZWxpbmVBbGlnbm1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvR3JpZEJhc2VsaW5lQWxpZ25tZW50LmgKQEAgLTE2Myw3ICsxNjMsNyBAQCBwcml2
YXRlOgogICAgIGJvb2wgaXNPcnRob2dvbmFsQ2hpbGRGb3JCYXNlbGluZShjb25zdCBSZW5kZXJC
b3gmKSBjb25zdDsKICAgICBib29sIGlzUGFyYWxsZWxUb0Jhc2VsaW5lQXhpc0ZvckNoaWxkKGNv
bnN0IFJlbmRlckJveCYsIEdyaWRBeGlzKSBjb25zdDsKIAotICAgIHR5cGVkZWYgSGFzaE1hcDx1
bnNpZ25lZCwgc3RkOjp1bmlxdWVfcHRyPEJhc2VsaW5lQ29udGV4dD4sIERlZmF1bHRIYXNoPHVu
c2lnbmVkPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25l
ZD4+IEJhc2VsaW5lQ29udGV4dHNNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPHVuc2lnbmVkLCBz
dGQ6OnVuaXF1ZV9wdHI8QmFzZWxpbmVDb250ZXh0PiwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBX
VEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj4gQmFzZWxpbmVDb250
ZXh0c01hcDsKIAogICAgIC8vIEdyaWQgQ29udGFpbmVyJ3MgV3JpdGluZ01vZGUsIHVzZWQgdG8g
ZGV0ZXJtaW5lIGdyaWQgaXRlbSdzIG9ydGhvZ29uYWxpdHkuCiAgICAgV3JpdGluZ01vZGUgbV9i
bG9ja0Zsb3c7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNr
U2l6aW5nQWxnb3JpdGhtLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6
aW5nQWxnb3JpdGhtLmgKaW5kZXggOWY0NGY2MGZkMDExOTYyZGI2NTg2NDNjZTZlYjNmNTJiYTYy
YTA3Zi4uMWQwZDZmYzA2NjQyNDFhYmE0NDRlMzYxZWFhNWU0NWNhM2NiOTAzZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaApA
QCAtMTcxLDcgKzE3MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb21wdXRlR3JpZENvbnRhaW5l
ckludHJpbnNpY1NpemVzKCk7CiAKICAgICAvLyBIZWxwZXIgbWV0aG9kcyBmb3Igc3RlcCA0LiBT
dHJlY2ggZmxleGlibGUgdHJhY2tzLgotICAgIHR5cGVkZWYgSGFzaFNldDx1bnNpZ25lZCwgRGVm
YXVsdEhhc2g8dW5zaWduZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJh
aXRzPHVuc2lnbmVkPj4gVHJhY2tJbmRleFNldDsKKyAgICB0eXBlZGVmIEhhc2hTZXQ8dW5zaWdu
ZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRy
YWl0czx1bnNpZ25lZD4+IFRyYWNrSW5kZXhTZXQ7CiAgICAgZG91YmxlIGNvbXB1dGVGbGV4RmFj
dG9yVW5pdFNpemUoY29uc3QgVmVjdG9yPEdyaWRUcmFjaz4mIHRyYWNrcywgZG91YmxlIGZsZXhG
YWN0b3JTdW0sIExheW91dFVuaXQmIGxlZnRPdmVyU3BhY2UsIGNvbnN0IFZlY3Rvcjx1bnNpZ25l
ZCwgOD4mIGZsZXhpYmxlVHJhY2tzSW5kZXhlcywgc3RkOjp1bmlxdWVfcHRyPFRyYWNrSW5kZXhT
ZXQ+IHRyYWNrc1RvVHJlYXRBc0luZmxleGlibGUgPSBudWxscHRyKSBjb25zdDsKICAgICB2b2lk
IGNvbXB1dGVGbGV4U2l6ZWRUcmFja3NHcm93dGgoZG91YmxlIGZsZXhGcmFjdGlvbiwgVmVjdG9y
PExheW91dFVuaXQ+JiBpbmNyZW1lbnRzLCBMYXlvdXRVbml0JiB0b3RhbEdyb3d0aCkgY29uc3Q7
CiAgICAgZG91YmxlIGZpbmRGclVuaXRTaXplKGNvbnN0IEdyaWRTcGFuJiB0cmFja3NTcGFuLCBM
YXlvdXRVbml0IGxlZnRPdmVyU3BhY2UpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuY3BwCmluZGV4IGFiNGU4MGVmNTlhMTQxZWM2ZDM4NTAyMzhiMzdlMGE2NGU4M2Ji
Y2YuLjlmZDg1ZjI4ZWEzOGY1ZGU2NzA3NTI0MzZjYjc3M2UyNDg1MjNmY2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTc0Myw3ICs3NDMsNyBAQCB2b2lkIFJl
bmRlckdyaWQ6OnBsYWNlU3BlY2lmaWVkTWFqb3JBeGlzSXRlbXNPbkdyaWQoR3JpZCYgZ3JpZCwg
Y29uc3QgVmVjdG9yPFJlbgogICAgIC8vIE1hcHBpbmcgYmV0d2VlbiB0aGUgbWFqb3IgYXhpcyB0
cmFja3MgKHJvd3Mgb3IgY29sdW1ucykgYW5kIHRoZSBsYXN0IGF1dG8tcGxhY2VkIGl0ZW0ncyBw
b3NpdGlvbiBpbnNlcnRlZCBvbgogICAgIC8vIHRoYXQgdHJhY2suIFRoaXMgaXMgbmVlZGVkIHRv
IGltcGxlbWVudCAic3BhcnNlIiBwYWNraW5nIGZvciBpdGVtcyBsb2NrZWQgdG8gYSBnaXZlbiB0
cmFjay4KICAgICAvLyBTZWUgaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzLWdyaWQvI2F1dG8t
cGxhY2VtZW50LWFsZ29yaXRobQotICAgIEhhc2hNYXA8dW5zaWduZWQsIHVuc2lnbmVkLCBEZWZh
dWx0SGFzaDx1bnNpZ25lZD46Okhhc2gsIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFp
dHM8dW5zaWduZWQ+PiBtaW5vckF4aXNDdXJzb3JzOworICAgIEhhc2hNYXA8dW5zaWduZWQsIHVu
c2lnbmVkLCBEZWZhdWx0SGFzaDx1bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhh
c2hUcmFpdHM8dW5zaWduZWQ+PiBtaW5vckF4aXNDdXJzb3JzOwogCiAgICAgZm9yIChhdXRvJiBh
dXRvR3JpZEl0ZW0gOiBhdXRvR3JpZEl0ZW1zKSB7CiAgICAgICAgIEdyaWRTcGFuIG1ham9yQXhp
c1Bvc2l0aW9ucyA9IGdyaWQuZ3JpZEl0ZW1TcGFuKCphdXRvR3JpZEl0ZW0sIGF1dG9QbGFjZW1l
bnRNYWpvckF4aXNEaXJlY3Rpb24oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oCmluZGV4IGViN2I5MTMyMjdiNjVjNjI5ZmI4YzNiMmI3YzVjNzZlZTZmODdhNzUuLjVlNDhm
MDRmNjI5Yjg0MzM0ZmYwYzNlOGUyOTUwOTdiZWMwYjZjYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oCkBAIC00NTMsNyArNDUzLDcgQEAgcHJvdGVjdGVkOgogICAgIHZp
cnR1YWwgQ29sb3JDYWNoZSYgY29sb3JDYWNoZShPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9u
cz4pIGNvbnN0OwogCiBwcml2YXRlOgotICAgIG11dGFibGUgSGFzaE1hcDx1aW50OF90LCBDb2xv
ckNhY2hlLCBEZWZhdWx0SGFzaDx1aW50OF90Pjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJv
S2V5SGFzaFRyYWl0czx1aW50OF90Pj4gbV9jb2xvckNhY2hlTWFwOworICAgIG11dGFibGUgSGFz
aE1hcDx1aW50OF90LCBDb2xvckNhY2hlLCBEZWZhdWx0SGFzaDx1aW50OF90PiwgV1RGOjpVbnNp
Z25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50OF90Pj4gbV9jb2xvckNhY2hlTWFwOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvUnVsZVNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcAppbmRleCBj
OWFmNGNmY2ZmMGNiY2IyMTYwYmZhYTRhZDE1YzI4ZGI0YjEzMzQ4Li42ZmZkYTkyMzAxZjRhZTYw
NzYxYjQ0NzljNjg1YWUzMTMwNDIzNWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9SdWxlU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcApAQCAt
NDIyLDcgKzQyMiw3IEBAIFJ1bGVTZXQ6OkNvbGxlY3RlZE1lZGlhUXVlcnlDaGFuZ2VzIFJ1bGVT
ZXQ6OmV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxlcyhjb25zCiB7CiAgICAgQ29sbGVjdGVk
TWVkaWFRdWVyeUNoYW5nZXMgY29sbGVjdGVkQ2hhbmdlczsKIAotICAgIEhhc2hNYXA8c2l6ZV90
LCBib29sLCBEZWZhdWx0SGFzaDxzaXplX3Q+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9L
ZXlIYXNoVHJhaXRzPHNpemVfdD4+IGFmZmVjdGVkUnVsZVBvc2l0aW9uc0FuZFJlc3VsdHM7Cisg
ICAgSGFzaE1hcDxzaXplX3QsIGJvb2wsIERlZmF1bHRIYXNoPHNpemVfdD4sIFdURjo6VW5zaWdu
ZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8c2l6ZV90Pj4gYWZmZWN0ZWRSdWxlUG9zaXRpb25zQW5k
UmVzdWx0czsKIAogICAgIGZvciAoc2l6ZV90IGkgPSBzdGFydEluZGV4OyBpIDwgbV9keW5hbWlj
TWVkaWFRdWVyeVJ1bGVzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIGF1dG8mIGR5bmFtaWNSdWxl
cyA9IG1fZHluYW1pY01lZGlhUXVlcnlSdWxlc1tpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCmlu
ZGV4IDNiMDQ5NDIxZDdmZGQ5ZDk1NTUyNDA3NDJmODNlY2M5MzMwMmIxMGYuLjIyOTkwZWQ5M2Iw
MTNlODdmMjAwNjc1MDhiYWYzNWJiZGNkNzdkN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaApA
QCAtMjIwLDcgKzIyMCw3IEBAIHN0cnVjdCBTVkdBdHRyaWJ1dGVIYXNoVHJhbnNsYXRvciB7CiAg
ICAgICAgICAgICBRdWFsaWZpZWROYW1lQ29tcG9uZW50cyBjb21wb25lbnRzID0geyBudWxsQXRv
bSgpLmltcGwoKSwga2V5LmxvY2FsTmFtZSgpLmltcGwoKSwga2V5Lm5hbWVzcGFjZVVSSSgpLmlt
cGwoKSB9OwogICAgICAgICAgICAgcmV0dXJuIGhhc2hDb21wb25lbnRzKGNvbXBvbmVudHMpOwog
ICAgICAgICB9Ci0gICAgICAgIHJldHVybiBEZWZhdWx0SGFzaDxRdWFsaWZpZWROYW1lPjo6SGFz
aDo6aGFzaChrZXkpOworICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8UXVhbGlmaWVkTmFtZT46
Omhhc2goa2V5KTsKICAgICB9CiAgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgUXVhbGlmaWVk
TmFtZSYgYSwgY29uc3QgUXVhbGlmaWVkTmFtZSYgYikgeyByZXR1cm4gYS5tYXRjaGVzKGIpOyB9
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDbGllbnRJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIuaAppbmRleCA2MDAzYTZkZDllNGI3OTFlNDAx
ODQ4NTNkMzUxNzVjMGI1NGJlYTFjLi42NDA5YTQxYzM4MmE4ZTU3N2M5NjAzNjRmYjY3ZTc4MTQ0
OWNiMWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNsaWVudElkZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIuaApAQCAtMTE3LDkgKzExNyw3IEBA
IHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVu
dElkZW50aWZpZXI+IDogR2VuZXJpY0hhCiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUo
Y29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXImIHNsb3QpIHsgcmV0
dXJuIHNsb3Quc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIudG9VSW50NjQoKSA9PSBzdGQ6Om51
bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCk7IH0KIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyPiB7Ci0g
ICAgdHlwZWRlZiBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllckhhc2ggSGFzaDsKLX07Cit0
ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50
SWRlbnRpZmllcj4gOiBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllckhhc2ggeyB9OwogCiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uS2V5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oCmluZGV4IGQ0MjBiNmY5NWZjMWVjNmZiZTU1NzNi
YzVkZjVlYjVmNmJiMWFiZGEuLjI3OTEyMTIxODhiNjI0ZDA0ZTQ1ZGY5YmUzYTdjYjc3NTkzYjM4
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uS2V5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaApAQCAtMTEwLDkgKzExMCw3IEBAIHRlbXBs
YXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bktleT4gOiBHZW5lcmljSGFzCiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3Qg
V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYgc2xvdCkgeyByZXR1cm4gc2xv
dC5zY29wZSgpLmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCk7IH0KIH07CiAKLXRlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXk+
IHsKLSAgICB0eXBlZGVmIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXlIYXNoIEhhc2g7Ci19
OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbktleT4gOiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5SGFzaCB7IH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZElELmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZElELmgKaW5kZXggNDAyMzIwZjIyZDIzZTgwMjhiYWU1ODJj
ZmJjMmVlOTBhZWIxOGM2My4uNzQzNDEzMjgyNjc4MWYxZjQyZTU3ZGJkYjcxNjI4NzE5ZTgwYjY0
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93
bmxvYWRJRC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rv
d25sb2FkSUQuaApAQCAtOTAsOSArOTAsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRz
PFdlYktpdDo6RG93bmxvYWRJRD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJLaXQ6OkRvdwogICAg
IHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShXZWJLaXQ6OkRvd25sb2FkSUQmIHNs
b3QpIHsgc2xvdCA9IFdlYktpdDo6RG93bmxvYWRJRChzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2
NF90Pjo6bWF4KCkpOyB9CiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2Vi
S2l0OjpEb3dubG9hZElEJiBzbG90KSB7IHJldHVybiBzbG90LmRvd25sb2FkSUQoKSA9PSBzdGQ6
Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCk7IH0KIH07Ci10ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxXZWJLaXQ6OkRvd25sb2FkSUQ+IHsKLSAgICB0eXBlZGVmIERvd25sb2Fk
SURIYXNoIEhhc2g7Ci19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViS2l0OjpE
b3dubG9hZElEPiA6IERvd25sb2FkSURIYXNoIHsgfTsKIAogfQogI2VuZGlmIC8qIERvd25sb2Fk
SURfaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlLmgKaW5kZXggYjgyMzdiYTk0NmQ2ZjMzOTJjY2UzZDY2YmRjMjFhNGViYWI5ZjUyYy4u
ZTVjNjA1YzUxZjMyNzE1NjNhNmI2ZWUxOTEwYzk0ZWQwMTNmMzQ5MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCkBAIC05Miw5ICs5
Miw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViS2l0OjpOZXR3b3JrQ2FjaGU6
Okdsb2JhbEZyYW1lSUQ+IDogR2VuZXJpY0hhc2hUCiAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVk
VmFsdWUoY29uc3QgV2ViS2l0OjpOZXR3b3JrQ2FjaGU6Okdsb2JhbEZyYW1lSUQmIHNsb3QpIHsg
cmV0dXJuIHNsb3Qud2ViUGFnZUlELnRvVUludDY0KCkgPT0gc3RkOjpudW1lcmljX2xpbWl0czx1
aW50NjRfdD46Om1heCgpOyB9CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxX
ZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6R2xvYmFsRnJhbWVJRD4gewotICAgIHR5cGVkZWYgR2xvYmFs
RnJhbWVJREhhc2ggSGFzaDsKLX07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJL
aXQ6Ok5ldHdvcmtDYWNoZTo6R2xvYmFsRnJhbWVJRD4gOiBHbG9iYWxGcmFtZUlESGFzaCB7IH07
CiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVLZXkuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlS2V5LmgKaW5kZXggYTMyY2RkNGI3ODE2ZmQ4YzAzZjhiNDZlZDllZDE5NzdiZTM1
YjAyZS4uZjUxMTFiZTgzMzI1YTQxNGMyMTJhNWFiOGI0NDhmOTAzZDJmYWFjNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5o
CkBAIC0xMjIsOSArMTIyLDcgQEAgc3RydWN0IE5ldHdvcmtDYWNoZUtleUhhc2ggewogfTsKIAog
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwotdGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OktleT4gewotICAgIHR5cGVkZWYg
TmV0d29ya0NhY2hlS2V5SGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPFdlYktpdDo6TmV0d29ya0NhY2hlOjpLZXk+IDogTmV0d29ya0NhY2hlS2V5SGFzaCB7IH07
CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViS2l0OjpOZXR3b3JrQ2FjaGU6Oktl
eT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OktleT4gewog
ICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL01lc3NhZ2VSZWNlaXZlck1hcC5oIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVJlY2VpdmVyTWFwLmgKaW5kZXggYmE2NGMx
NTU1ZTJkODNmZjc1MDQxOGJhYzQyMTc3NDViYmE5Y2ZlYS4uYWMzNjYyZTk3MjYwYmQ4Y2JmODgy
YjI4YjFlODc3ZWExMzJiYzEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9J
UEMvTWVzc2FnZVJlY2VpdmVyTWFwLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMv
TWVzc2FnZVJlY2VpdmVyTWFwLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHJpdmF0ZToKICAgICAvLyBN
ZXNzYWdlIHJlY2VpdmVycyB0aGF0IGRvbid0IHJlcXVpcmUgYSBkZXN0aW5hdGlvbiBJRC4KICAg
ICBIYXNoTWFwPFJlY2VpdmVyTmFtZSwgTWVzc2FnZVJlY2VpdmVyKiwgV1RGOjpJbnRIYXNoPFJl
Y2VpdmVyTmFtZT4sIFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8UmVjZWl2ZXJOYW1lPj4gbV9n
bG9iYWxNZXNzYWdlUmVjZWl2ZXJzOwogCi0gICAgSGFzaE1hcDxzdGQ6OnBhaXI8UmVjZWl2ZXJO
YW1lLCB1aW50NjRfdD4sIE1lc3NhZ2VSZWNlaXZlciosIERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxS
ZWNlaXZlck5hbWUsIHVpbnQ2NF90Pj46Okhhc2gsIFBhaXJIYXNoVHJhaXRzPFdURjo6U3Ryb25n
RW51bUhhc2hUcmFpdHM8UmVjZWl2ZXJOYW1lPiwgSGFzaFRyYWl0czx1aW50NjRfdD4+PiBtX21l
c3NhZ2VSZWNlaXZlcnM7CisgICAgSGFzaE1hcDxzdGQ6OnBhaXI8UmVjZWl2ZXJOYW1lLCB1aW50
NjRfdD4sIE1lc3NhZ2VSZWNlaXZlciosIERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxSZWNlaXZlck5h
bWUsIHVpbnQ2NF90Pj4sIFBhaXJIYXNoVHJhaXRzPFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8
UmVjZWl2ZXJOYW1lPiwgSGFzaFRyYWl0czx1aW50NjRfdD4+PiBtX21lc3NhZ2VSZWNlaXZlcnM7
CiB9OwogCiB9OwpAQCAtNjYsOCArNjYsNiBAQCBwcml2YXRlOgogbmFtZXNwYWNlIFdURiB7CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLXRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPElQQzo6UmVjZWl2ZXJOYW1lPiB7Ci0gICAgdXNpbmcgSGFzaCA9IElu
dEhhc2g8SVBDOjpSZWNlaXZlck5hbWU+OwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPElQQzo6UmVjZWl2ZXJOYW1lPiA6IEludEhhc2g8SVBDOjpSZWNlaXZlck5hbWU+IHsgfTsK
IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJl
bmNlLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJpbmdSZWZlcmVuY2UuaAppbmRl
eCBlNzE0NDhkYjk1ZjU3MDQwYjMwMmU3M2YwYzBkM2UzMDQzMTcyNzJiLi5kZTYwNmQ3OTFhYWI3
NTBjYjlmYjkyMDZhM2RlMTJkOTdiNGM5ZWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9TdHJpbmdSZWZlcmVuY2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9TdHJpbmdSZWZlcmVuY2UuaApAQCAtOTcsOSArOTcsNyBAQCBpbmxpbmUgYm9vbCBTdHJp
bmdSZWZlcmVuY2U6Okhhc2g6OmVxdWFsKGNvbnN0IFN0cmluZ1JlZmVyZW5jZSYgYSwgY29uc3Qg
U3RyaW5nUgogbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVm
YXVsdEhhc2g7CiAKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPElQQzo6U3RyaW5nUmVm
ZXJlbmNlPiB7Ci0gICAgdHlwZWRlZiBJUEM6OlN0cmluZ1JlZmVyZW5jZTo6SGFzaCBIYXNoOwot
fTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPElQQzo6U3RyaW5nUmVmZXJlbmNlPiA6
IElQQzo6U3RyaW5nUmVmZXJlbmNlOjpIYXNoIHsgfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFz
aFRyYWl0czxJUEM6OlN0cmluZ1JlZmVyZW5jZT4gOiBHZW5lcmljSGFzaFRyYWl0czxJUEM6OlN0
cmluZ1JlZmVyZW5jZT4gewogICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8g
PSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ2FsbGJhY2tJRC5oIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQ2FsbGJhY2tJRC5oCmluZGV4IGEyNmZlYjg2NzI4NGJkMDA3ZGYy
MTIxMzdmMGU5MzQ3MWYxMjRiMGMuLjE2MzhjZWQzNGYxNTY5ZTVkYjEwMWFlOGUxZGRmOWJhZWQ3
NTExOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NhbGxiYWNrSUQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9DYWxsYmFja0lELmgKQEAgLTEyMSw4ICsxMjEsNiBAQCB0
ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYktpdDo6Q2FsbGJhY2tJRD4gOiBHZW5lcmlj
SGFzaFRyYWl0czxXZWJLaXQ6OkNhbAogICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRW
YWx1ZShXZWJLaXQ6OkNhbGxiYWNrSUQmIHNsb3QpIHsgc2xvdCA9IFdlYktpdDo6Q2FsbGJhY2tJ
RChzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCkpOyB9CiAgICAgc3RhdGljIGJv
b2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2ViS2l0OjpDYWxsYmFja0lEJiBzbG90KSB7IHJldHVy
biBzbG90Lm1faWQgPT0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpOyB9CiB9
OwotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViS2l0OjpDYWxsYmFja0lEPiB7Ci0g
ICAgdHlwZWRlZiBDYWxsYmFja0lESGFzaCBIYXNoOwotfTsKK3RlbXBsYXRlPD4gc3RydWN0IERl
ZmF1bHRIYXNoPFdlYktpdDo6Q2FsbGJhY2tJRD4gOiBDYWxsYmFja0lESGFzaCB7IH07CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9jcHAvV0tSZXRhaW5QdHIu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9jcHAvV0tSZXRhaW5QdHIuaAppbmRleCBi
Y2M3ZmRmYWE1YWNhYTcwNWZjNWM5NWM0NzA4MTcwZjU0NDMyNDMxLi5mNGViOTE0ZDc5MmEwMDhl
MzUyOWY0MmY1YTczMGJkNDdlMTdlMTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvY3BwL1dLUmV0YWluUHRyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2NwcC9XS1JldGFpblB0ci5oCkBAIC0yNjYsOSArMjY2LDcgQEAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4gc3RydWN0IElzU21hcnRQdHI8V0tSZXRhaW5QdHI8VD4+IHsKICAgICBXVEZfSU5URVJO
QUwgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSB0cnVlOwogfTsKIAotdGVtcGxhdGU8dHlwZW5h
bWUgUD4gc3RydWN0IERlZmF1bHRIYXNoPFdLUmV0YWluUHRyPFA+PiB7Ci0gICAgdHlwZWRlZiBQ
dHJIYXNoPFdLUmV0YWluUHRyPFA+PiBIYXNoOwotfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFA+IHN0
cnVjdCBEZWZhdWx0SGFzaDxXS1JldGFpblB0cjxQPj4gOiBQdHJIYXNoPFdLUmV0YWluUHRyPFA+
PiB7IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBIYXNoVHJhaXRzPFdLUmV0YWlu
UHRyPFA+PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxXS1JldGFpblB0cjxQPj4gewogICAgIHN0
YXRpYyBQIGVtcHR5VmFsdWUoKSB7IHJldHVybiBudWxscHRyOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9DT01Qcm9wZXJ0eUJhZy5oIGIvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vQ09NUHJvcGVydHlCYWcuaAppbmRleCBiNTc5NWM2ZDg2NDQxN2RmNTk1ZDcyYmI5ZWNh
NjI2OGM3MjI1YjIyLi40MTA3ZWFkNGIyZDg1MDYzNTgwYWViMGE2MTU4MjY4ZTAzYTJiYWZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NPTVByb3BlcnR5QmFnLmgKQEAgLTMxLDcgKzMxLDcg
QEAKICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogCi10ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lIEtleVR5cGUgPSB0eXBl
bmFtZSBXVEY6OlN0cmluZywgdHlwZW5hbWUgSGFzaFR5cGUgPSB0eXBlbmFtZSBXVEY6OlN0cmlu
Z0hhc2g+Cit0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lIEtleVR5cGUgPSB0
eXBlbmFtZSBXVEY6OlN0cmluZywgdHlwZW5hbWUgSGFzaFR5cGUgPSB0eXBlbmFtZSBXVEY6OkRl
ZmF1bHRIYXNoPEtleVR5cGU+PgogY2xhc3MgQ09NUHJvcGVydHlCYWcgZmluYWwgOiBwdWJsaWMg
SVByb3BlcnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7CiAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ09NUHJvcGVydHlCYWcpOwogcHVibGljOgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDA0YjdmNDg1MjIwMjMzYzYwZDUwM2MzMTk1ZTI3
ZGQ2ZjgxYjdkMzAuLjA1MWVjYTIwNGU5OWNiZWJjNWUwMzJhZmVkZmEyYzM0MWNlOTkwOGQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyOCBAQAorMjAyMC0wNy0xNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255
LmNvbT4KKworICAgICAgICBbV1RGXSBSZW1vdmUgdGhlIHVubmVjZXNzYXJ5IGlubmVyIGNsYXNz
IERlZmF1bHRIYXNoPFQ+OjpIYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTQzODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0RlbGV0ZWRBZGRyZXNzT2ZP
cGVyYXRvci5oOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxEZWxldGVkQWRkcmVzc09mT3Bl
cmF0b3I+OjpoYXNoKToKKyAgICAgICAgKFdURjo6RGVmYXVsdEhhc2g8RGVsZXRlZEFkZHJlc3NP
Zk9wZXJhdG9yPjo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxEZWxldGVkQWRk
cmVzc09mT3BlcmF0b3I+OjpIYXNoOjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6RGVm
YXVsdEhhc2g8RGVsZXRlZEFkZHJlc3NPZk9wZXJhdG9yPjo6SGFzaDo6ZXF1YWwpOiBEZWxldGVk
LgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hDb3VudGVkU2V0LmNwcDoK
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmJ1Y2tldEZvcktleSk6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvSGFzaE1hcC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpi
dWNrZXRGb3JLZXkpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaFNldC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjp0ZXN0SW5pdGlhbENhcGFjaXR5KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9Nb3ZlT25seS5oOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxNb3ZlT25seT46Omhh
c2gpOgorICAgICAgICAoV1RGOjpEZWZhdWx0SGFzaDxNb3ZlT25seT46OmVxdWFsKToKKyAgICAg
ICAgKFdURjo6RGVmYXVsdEhhc2g8TW92ZU9ubHk+OjpIYXNoOjpoYXNoKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdURjo6RGVmYXVsdEhhc2g8TW92ZU9ubHk+OjpIYXNoOjplcXVhbCk6IERlbGV0ZWQu
CisKIDIwMjAtMDctMTUgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAg
IE1pbmlCcm93c2VyIHRvb2xiYXIgaXMgdWdseSB3aXRoIGRlZmF1bHQgbWFjT1MgQmlnIFN1ciBz
dHlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvRGVsZXRlZEFk
ZHJlc3NPZk9wZXJhdG9yLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9EZWxldGVk
QWRkcmVzc09mT3BlcmF0b3IuaAppbmRleCAzMWQ1ZDgwYjkzODQzNGMwMTY2ZWUyNTFlMTM5MzIx
Y2Y4NThmYWRkLi40NWNjZmE0MDMwZTEyYWQzYzVhNmRjMzc0YzE1YmQ5ZWQzMTA5MDJhIDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9EZWxldGVkQWRkcmVzc09mT3Bl
cmF0b3IuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9EZWxldGVkQWRkcmVz
c09mT3BlcmF0b3IuaApAQCAtNjYsMTkgKzY2LDE3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hU
cmFpdHM8RGVsZXRlZEFkZHJlc3NPZk9wZXJhdG9yPiA6IHB1YmxpYyBHZW5lcmljSGFzaFRyYWl0
CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxEZWxldGVkQWRkcmVzc09mT3Bl
cmF0b3I+IHsKLSAgICBzdHJ1Y3QgSGFzaCB7Ci0gICAgICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNo
KGNvbnN0IERlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRvciYga2V5KQotICAgICAgICB7Ci0gICAgICAg
ICAgICByZXR1cm4gaW50SGFzaChrZXkudmFsdWUoKSk7Ci0gICAgICAgIH0KKyAgICBzdGF0aWMg
dW5zaWduZWQgaGFzaChjb25zdCBEZWxldGVkQWRkcmVzc09mT3BlcmF0b3ImIGtleSkKKyAgICB7
CisgICAgICAgIHJldHVybiBpbnRIYXNoKGtleS52YWx1ZSgpKTsKKyAgICB9CiAKLSAgICAgICAg
c3RhdGljIGJvb2wgZXF1YWwoY29uc3QgRGVsZXRlZEFkZHJlc3NPZk9wZXJhdG9yJiBhLCBjb25z
dCBEZWxldGVkQWRkcmVzc09mT3BlcmF0b3ImIGIpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJl
dHVybiBhID09IGI7Ci0gICAgICAgIH0KKyAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBEZWxl
dGVkQWRkcmVzc09mT3BlcmF0b3ImIGEsIGNvbnN0IERlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRvciYg
YikKKyAgICB7CisgICAgICAgIHJldHVybiBhID09IGI7CisgICAgfQogCi0gICAgICAgIHN0YXRp
YyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKLSAgICB9
OworICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0g
dHJ1ZTsKIH07CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L0hhc2hDb3VudGVkU2V0LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hD
b3VudGVkU2V0LmNwcAppbmRleCA3YjhmYWYyODhhYmMwN2NmYWY4YjUyNzEyMzhmNzZkMDEzMDEy
ZWU2Li4yY2Q3ZDEzMTdiNTg4ZDVmMDQzNDA2NTExMTgyYjBlODhkN2QxNjRiIDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9IYXNoQ291bnRlZFNldC5jcHAKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaENvdW50ZWRTZXQuY3BwCkBAIC01OSwx
MSArNTksMTEgQEAgc3RydWN0IFRlc3REb3VibGVIYXNoVHJhaXRzIDogSGFzaFRyYWl0czxkb3Vi
bGU+IHsKICAgICBzdGF0aWMgY29uc3QgaW50IG1pbmltdW1UYWJsZVNpemUgPSA4OwogfTsKIAot
dHlwZWRlZiBIYXNoQ291bnRlZFNldDxkb3VibGUsIERlZmF1bHRIYXNoPGRvdWJsZT46Okhhc2gs
IFRlc3REb3VibGVIYXNoVHJhaXRzPiBEb3VibGVIYXNoQ291bnRlZFNldDsKK3R5cGVkZWYgSGFz
aENvdW50ZWRTZXQ8ZG91YmxlLCBEZWZhdWx0SGFzaDxkb3VibGU+LCBUZXN0RG91YmxlSGFzaFRy
YWl0cz4gRG91YmxlSGFzaENvdW50ZWRTZXQ7CiAKIHN0YXRpYyBpbnQgYnVja2V0Rm9yS2V5KGRv
dWJsZSBrZXkpCiB7Ci0gICAgcmV0dXJuIERlZmF1bHRIYXNoPGRvdWJsZT46Okhhc2g6Omhhc2go
a2V5KSAmIChUZXN0RG91YmxlSGFzaFRyYWl0czo6bWluaW11bVRhYmxlU2l6ZSAtIDEpOworICAg
IHJldHVybiBEZWZhdWx0SGFzaDxkb3VibGU+OjpoYXNoKGtleSkgJiAoVGVzdERvdWJsZUhhc2hU
cmFpdHM6Om1pbmltdW1UYWJsZVNpemUgLSAxKTsKIH0KIAogVEVTVChXVEZfSGFzaENvdW50ZWRT
ZXQsIERvdWJsZUhhc2hDb2xsaXNpb25zKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvSGFzaE1hcC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9I
YXNoTWFwLmNwcAppbmRleCAyMDhkOTY1MzFkNWJlNDcwMDEzOTdkNTkwMTE5MTRmMTcyZDM1NWRi
Li5lZDc3ZGE1OWRlN2RhYmQ1MTI3ZTA3ODIyNGJkNjhmMjkyMGFlN2JlIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9IYXNoTWFwLmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9IYXNoTWFwLmNwcApAQCAtNjMsMTEgKzYzLDExIEBAIHN0cnVj
dCBUZXN0RG91YmxlSGFzaFRyYWl0cyA6IEhhc2hUcmFpdHM8ZG91YmxlPiB7CiAgICAgc3RhdGlj
IGNvbnN0IGludCBtaW5pbXVtVGFibGVTaXplID0gODsKIH07CiAKLXR5cGVkZWYgSGFzaE1hcDxk
b3VibGUsIGludDY0X3QsIERlZmF1bHRIYXNoPGRvdWJsZT46Okhhc2gsIFRlc3REb3VibGVIYXNo
VHJhaXRzPiBEb3VibGVIYXNoTWFwOwordHlwZWRlZiBIYXNoTWFwPGRvdWJsZSwgaW50NjRfdCwg
RGVmYXVsdEhhc2g8ZG91YmxlPiwgVGVzdERvdWJsZUhhc2hUcmFpdHM+IERvdWJsZUhhc2hNYXA7
CiAKIHN0YXRpYyBpbnQgYnVja2V0Rm9yS2V5KGRvdWJsZSBrZXkpCiB7Ci0gICAgcmV0dXJuIERl
ZmF1bHRIYXNoPGRvdWJsZT46Okhhc2g6Omhhc2goa2V5KSAmIChUZXN0RG91YmxlSGFzaFRyYWl0
czo6bWluaW11bVRhYmxlU2l6ZSAtIDEpOworICAgIHJldHVybiBEZWZhdWx0SGFzaDxkb3VibGU+
OjpoYXNoKGtleSkgJiAoVGVzdERvdWJsZUhhc2hUcmFpdHM6Om1pbmltdW1UYWJsZVNpemUgLSAx
KTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEJpZ1RhYmxlSGFzaFRyYWl0cyA6
IHB1YmxpYyBIYXNoVHJhaXRzPFQ+IHsKQEAgLTEwMjEsNyArMTAyMSw3IEBAIFRFU1QoV1RGX0hh
c2hNYXAsIFJhbmRvbV9XcmFwQXJvdW5kKQogCiBURVNUKFdURl9IYXNoTWFwLCBSYW5kb21fSXNF
dmVubHlEaXN0cmlidXRlZCkKIHsKLSAgICBIYXNoTWFwPHVuc2lnbmVkLCB1bnNpZ25lZCwgRGVm
YXVsdEhhc2g8dW5zaWduZWQ+OjpIYXNoLCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJh
aXRzPHVuc2lnbmVkPj4gbWFwOworICAgIEhhc2hNYXA8dW5zaWduZWQsIHVuc2lnbmVkLCBEZWZh
dWx0SGFzaDx1bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5z
aWduZWQ+PiBtYXA7CiAgICAgbWFwLmFkZCgwLCAwKTsKICAgICBtYXAuYWRkKDEsIDEpOwogCkBA
IC0xMDk0LDcgKzEwOTQsNyBAQCBURVNUKFdURl9IYXNoTWFwLCBSZXNlcnZlSW5pdGlhbENhcGFj
aXR5KQogVEVTVChXVEZfSGFzaE1hcCwgUmFuZG9tX0lzRXZlbmx5RGlzdHJpYnV0ZWRBZnRlclJl
bW92ZSkKIHsKICAgICBmb3IgKHNpemVfdCB0YWJsZVNpemUgPSAyOyB0YWJsZVNpemUgPD0gMiAq
IDY7ICsrdGFibGVTaXplKSB7IC8vIE91ciBoYXNoIHRhYmxlcyBzaHJpbmsgYXQgYSBsb2FkIGZh
Y3RvciBvZiAxIC8gNi4KLSAgICAgICAgSGFzaE1hcDx1bnNpZ25lZCwgdW5zaWduZWQsIERlZmF1
bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0
czx1bnNpZ25lZD4+IG1hcDsKKyAgICAgICAgSGFzaE1hcDx1bnNpZ25lZCwgdW5zaWduZWQsIERl
ZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1
bnNpZ25lZD4+IG1hcDsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0YWJsZVNpemU7
ICsraSkKICAgICAgICAgICAgIG1hcC5hZGQoaSwgaSk7CiAgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAyOyBpIDwgdGFibGVTaXplOyArK2kpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9IYXNoU2V0LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hh
c2hTZXQuY3BwCmluZGV4IDRjYzI0N2ZjMTI4MmFkYWZmYjA5MTNjMWZkYTU4ZGRjN2JmZTQ5ZTMu
LjY4NTE0ODJmNmExNmU1MTVlYWM1YmJhMWI5YzBkNmMyZDQ4NzExNjUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hTZXQuY3BwCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hTZXQuY3BwCkBAIC00Nyw3ICs0Nyw3IEBAIHRlbXBsYXRl
PHVuc2lnbmVkIHNpemU+CiB2b2lkIHRlc3RJbml0aWFsQ2FwYWNpdHkoKQogewogICAgIGNvbnN0
IHVuc2lnbmVkIGluaXRpYWxDYXBhY2l0eSA9IFdURjo6SGFzaFRhYmxlQ2FwYWNpdHlGb3JTaXpl
PHNpemU+Ojp2YWx1ZTsKLSAgICBIYXNoU2V0PGludCwgRGVmYXVsdEhhc2g8aW50Pjo6SGFzaCwg
SW5pdGlhbENhcGFjaXR5VGVzdEhhc2hUcmFpdHM8aW5pdGlhbENhcGFjaXR5PiA+IHRlc3RTZXQ7
CisgICAgSGFzaFNldDxpbnQsIERlZmF1bHRIYXNoPGludD4sIEluaXRpYWxDYXBhY2l0eVRlc3RI
YXNoVHJhaXRzPGluaXRpYWxDYXBhY2l0eT4gPiB0ZXN0U2V0OwogCiAgICAgLy8gSW5pdGlhbCBj
YXBhY2l0eSBpcyBudWxsLgogICAgIEFTU0VSVF9FUSgwdSwgdGVzdFNldC5jYXBhY2l0eSgpKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01vdmVPbmx5LmggYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Nb3ZlT25seS5oCmluZGV4IDNmZjFlYTAzYjkx
ZGJkNGM4YzAzNzIxYTgwMTI4ZGFjZTE1Y2ZjY2YuLmQ5YzIwNmMyOGVjNDlkY2NkMGNmOWQ0MDdh
ZDM3MmZhYzAyNDRiYWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L01vdmVPbmx5LmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTW92ZU9ubHku
aApAQCAtODQsMTkgKzg0LDE3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8TW92ZU9u
bHk+IDogcHVibGljIEdlbmVyaWNIYXNoVHJhaXRzPE1vdmVPbmx5PiB7CiB9OwogCiB0ZW1wbGF0
ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxNb3ZlT25seT4gewotICAgIHN0cnVjdCBIYXNoIHsKLSAg
ICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgTW92ZU9ubHkmIGtleSkKLSAgICAgICAg
ewotICAgICAgICAgICAgcmV0dXJuIGludEhhc2goa2V5LnZhbHVlKCkpOwotICAgICAgICB9Ci0K
LSAgICAgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgTW92ZU9ubHkmIGEsIGNvbnN0IE1vdmVP
bmx5JiBiKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYSA9PSBiOwotICAgICAgICB9
Ci0KLSAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0
ZWQgPSB0cnVlOwotICAgIH07CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgTW92ZU9u
bHkmIGtleSkgCisgICAgeworICAgICAgICByZXR1cm4gaW50SGFzaChrZXkudmFsdWUoKSk7Cisg
ICAgfQorCisgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgTW92ZU9ubHkmIGEsIGNvbnN0IE1v
dmVPbmx5JiBiKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGEgPT0gYjsKKyAgICB9CisKKyAgICBz
dGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7CiB9
OwogfSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvRXZlbnRTZW5kZXJQcm94eS5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9FdmVudFNlbmRl
clByb3h5LmgKaW5kZXggZDhhMjcyM2MyMjM3ZDcxMTZlMjlmNDNlNmFjOTkzZDhmMDkwOWZjMi4u
NjQ0NzYwMzk2OGQyMDY0MjBiZWI5NDI3NzNiMjRiNzg5NjQxYjVjOSAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9FdmVudFNlbmRlclByb3h5LmgKKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9FdmVudFNlbmRlclByb3h5LmgKQEAgLTEyNSw3ICsxMjUsNyBAQCBwcml2YXRl
OgogI2VsaWYgUExBVEZPUk0oV1BFKQogICAgIHVpbnQzMl90IG1fYnV0dG9uU3RhdGU7CiAgICAg
VmVjdG9yPHN0cnVjdCB3cGVfaW5wdXRfdG91Y2hfZXZlbnRfcmF3PiBtX3RvdWNoRXZlbnRzOwot
ICAgIEhhc2hTZXQ8dW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPjo6SGFzaCwgV1RGOjpV
bnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IG1fdXBkYXRlZFRvdWNoRXZl
bnRzOworICAgIEhhc2hTZXQ8dW5zaWduZWQsIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpV
bnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IG1fdXBkYXRlZFRvdWNoRXZl
bnRzOwogI2VuZGlmCiB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>