<?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>127543</bug_id>
          
          <creation_ts>2014-01-23 21:32:48 -0800</creation_ts>
          <short_desc>Move JavaScriptCallFrame and ScriptDebugServer into JavaScriptCore for inspector</short_desc>
          <delta_ts>2014-01-24 20:38:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bunhere</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>joepeck</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mkwst</cc>
    
    <cc>rakuco</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>971503</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-23 21:32:48 -0800</bug_when>
    <thetext>Needed for InspectorDebuggerAgent (e.g. setting breakpoints, stepping through source code, evaluating JavaScript on call frames).

This is a non-tivial move. It makes these changes:
- Move JavaScriptCallFrame from being idl generated to native JS.
- Make some minor changes to ScriptDebugServer so that it doesn&apos;t rely on WebCore knowledge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971810</commentid>
    <comment_count>1</comment_count>
      <attachid>222171</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-24 17:15:00 -0800</bug_when>
    <thetext>Created attachment 222171
[PATCH] Part 1 - JavaScriptCallFrame</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971811</commentid>
    <comment_count>2</comment_count>
      <attachid>222172</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-24 17:15:22 -0800</bug_when>
    <thetext>Created attachment 222172
[PATCH] Part 2 - ScriptDebugServer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971813</commentid>
    <comment_count>3</comment_count>
      <attachid>222173</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-24 17:15:59 -0800</bug_when>
    <thetext>Created attachment 222173
[PATCH] For Bots 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971814</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-24 17:17:22 -0800</bug_when>
    <thetext>Attachment 222171 did not pass style-queue:


ERROR: Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h:76:  GLOBAL_SCOPE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h:77:  LOCAL_SCOPE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h:78:  WITH_SCOPE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h:79:  CLOSURE_SCOPE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h:80:  CATCH_SCOPE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 5 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971815</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-24 17:18:59 -0800</bug_when>
    <thetext>Attachment 222173 did not pass style-queue:


ERROR: Source/JavaScriptCore/inspector/ScriptDebugServer.h:89:  The parameter name &quot;callback&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h:76:  GLOBAL_SCOPE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h:77:  LOCAL_SCOPE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h:78:  WITH_SCOPE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h:79:  CLOSURE_SCOPE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h:80:  CATCH_SCOPE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 6 in 32 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971817</commentid>
    <comment_count>6</comment_count>
      <attachid>222171</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-01-24 17:23:30 -0800</bug_when>
    <thetext>Comment on attachment 222171
[PATCH] Part 1 - JavaScriptCallFrame

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971818</commentid>
    <comment_count>7</comment_count>
      <attachid>222172</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-01-24 17:23:51 -0800</bug_when>
    <thetext>Comment on attachment 222172
[PATCH] Part 2 - ScriptDebugServer

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971819</commentid>
    <comment_count>8</comment_count>
      <attachid>222171</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-01-24 17:27:08 -0800</bug_when>
    <thetext>Comment on attachment 222171
[PATCH] Part 1 - JavaScriptCallFrame

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

&gt; Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp:66
&gt; +#define JSC_NATIVE_NON_INDEX_ACCESSOR(jsName, cppName, attributes) \

Any reason this can&apos;t be an inline function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971825</commentid>
    <comment_count>9</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-24 17:40:29 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 222171 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=222171&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp:66
&gt; &gt; +#define JSC_NATIVE_NON_INDEX_ACCESSOR(jsName, cppName, attributes) \
&gt; 
&gt; Any reason this can&apos;t be an inline function?

This, like the other JSC_NATIVE* macros, assumes you have &quot;exec, globalObject, and vm&quot; variables in scope with those names. So turning this into inline function would double the number of arguments to JSC_NATIVE_NON_INDEX_ACCESSOR making it a bit harder to read. However, it would get rid of the need for the anonymous scope in the macro. I like the easier to read call site matching JSC_NATIVE_FUNCTION.

Would an inline function be preferred?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971867</commentid>
    <comment_count>10</comment_count>
      <attachid>222185</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-24 19:23:42 -0800</bug_when>
    <thetext>Created attachment 222185
[PATCH] For Bots 2

Apparently includes between debug and release are different! Adding some needed for Release builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971869</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-24 19:24:47 -0800</bug_when>
    <thetext>Attachment 222185 did not pass style-queue:


ERROR: Source/JavaScriptCore/inspector/ScriptDebugServer.h:89:  The parameter name &quot;callback&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h:76:  GLOBAL_SCOPE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h:77:  LOCAL_SCOPE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h:78:  WITH_SCOPE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h:79:  CLOSURE_SCOPE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h:80:  CATCH_SCOPE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 6 in 32 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971881</commentid>
    <comment_count>12</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-24 20:38:37 -0800</bug_when>
    <thetext>Landed &lt;http://trac.webkit.org/changeset/162757&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222171</attachid>
            <date>2014-01-24 17:15:00 -0800</date>
            <delta_ts>2014-01-24 17:27:08 -0800</delta_ts>
            <desc>[PATCH] Part 1 - JavaScriptCallFrame</desc>
            <filename>part1.patch</filename>
            <type>text/plain</type>
            <size>76779</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA5YTFjNjk5Li44NmU2ZWUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMzcsNiArMjM3LDkgQEAgc2V0
KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNw
cAogICAgIGluc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAKICAgICBpbnNwZWN0b3Iv
SlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGUuY3BwCisgICAgaW5zcGVjdG9yL0pTSmF2YVNj
cmlwdENhbGxGcmFtZS5jcHAKKyAgICBpbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJv
dG90eXBlLmNwcAorICAgIGluc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcAogICAgIGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwCiAKICAgICBpbnRlcnByZXRlci9BYnN0
cmFjdFBDLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggNzMzMGVjNi4uYTlkNTcyYyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjUgQEAKKzIwMTQtMDEtMjMgIEpv
c2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIEphdmFT
Y3JpcHRDYWxsRnJhbWUgYW5kIFNjcmlwdERlYnVnU2VydmVyIGludG8gSmF2YVNjcmlwdENvcmUg
Zm9yIGluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTI3NTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoK
KyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICBBZGQgbmV3IGZpbGVzIHRvIHRoZSBidWlsZC4KKworICAgICAgICAqIGluc3BlY3Rvci9K
U0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcC4KKyAgICAgICAgKEluc3Bl
Y3Rvcjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpKU0phdmFTY3JpcHRDYWxsRnJhbWUpOgorICAg
ICAgICAoSW5zcGVjdG9yOjpKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmZpbmlzaENyZWF0aW9uKToK
KyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpjcmVhdGVQcm90b3R5
cGUpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmRlc3Ryb3kp
OgorICAgICAgICAoSW5zcGVjdG9yOjpKU0phdmFTY3JpcHRDYWxsRnJhbWU6OnJlbGVhc2VJbXBs
KToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjp+SlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1l
OjpldmFsdWF0ZSk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTSmF2YVNjcmlwdENhbGxGcmFtZTo6
c2NvcGVUeXBlKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpj
YWxsZXIpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0phdmFTY3JpcHRDYWxsRnJhbWU6OnNvdXJj
ZUlEKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpsaW5lKToK
KyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpjb2x1bW4pOgorICAg
ICAgICAoSW5zcGVjdG9yOjpKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmZ1bmN0aW9uTmFtZSk6Cisg
ICAgICAgIChJbnNwZWN0b3I6OkpTSmF2YVNjcmlwdENhbGxGcmFtZTo6c2NvcGVDaGFpbik6Cisg
ICAgICAgIChJbnNwZWN0b3I6OkpTSmF2YVNjcmlwdENhbGxGcmFtZTo6dGhpc09iamVjdCk6Cisg
ICAgICAgIChJbnNwZWN0b3I6OkpTSmF2YVNjcmlwdENhbGxGcmFtZTo6dHlwZSk6CisgICAgICAg
IChJbnNwZWN0b3I6OnRvSlMpOgorICAgICAgICAoSW5zcGVjdG9yOjp0b0pTSmF2YVNjcmlwdENh
bGxGcmFtZSk6CisgICAgICAgICogaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5oOiBB
ZGRlZC4KKyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpjcmVhdGVT
dHJ1Y3R1cmUpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmNy
ZWF0ZSk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTSmF2YVNjcmlwdENhbGxGcmFtZTo6aW1wbCk6
CisgICAgICAgICogaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHA6
IEFkZGVkLgorICAgICAgICAoSW5zcGVjdG9yOjpKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5
cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2Fs
bEZyYW1lUHJvdG90eXBlRnVuY3Rpb25FdmFsdWF0ZSk6CisgICAgICAgIChJbnNwZWN0b3I6Ompz
SmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZUZ1bmN0aW9uU2NvcGVUeXBlKToKKyAgICAgICAg
KEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlQ2FsbGVyKToKKyAgICAg
ICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlU291cmNlSUQpOgor
ICAgICAgICAoSW5zcGVjdG9yOjpqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVMaW5lKToK
KyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlQ29sdW1u
KToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlRnVu
Y3Rpb25OYW1lKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0
cmlidXRlU2NvcGVDaGFpbik6CisgICAgICAgIChJbnNwZWN0b3I6OmpzSmF2YVNjcmlwdENhbGxG
cmFtZUF0dHJpYnV0ZVRoaXNPYmplY3QpOgorICAgICAgICAoSW5zcGVjdG9yOjpqc0phdmFTY3Jp
cHRDYWxsRnJhbWVBdHRyaWJ1dGVUeXBlKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2Ny
aXB0Q2FsbEZyYW1lQ29uc3RhbnRHTE9CQUxfU0NPUEUpOgorICAgICAgICAoSW5zcGVjdG9yOjpq
c0phdmFTY3JpcHRDYWxsRnJhbWVDb25zdGFudExPQ0FMX1NDT1BFKToKKyAgICAgICAgKEluc3Bl
Y3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRXSVRIX1NDT1BFKToKKyAgICAgICAg
KEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRDTE9TVVJFX1NDT1BFKToK
KyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRDQVRDSF9T
Q09QRSk6CisgICAgICAgICogaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlw
ZS5oOiBBZGRlZC4KKyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJv
dG90eXBlOjpjcmVhdGUpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0phdmFTY3JpcHRDYWxsRnJh
bWVQcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTSmF2
YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZTo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBl
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5jcHA6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcC4K
KyAgICAgICAgKEluc3BlY3Rvcjo6SmF2YVNjcmlwdENhbGxGcmFtZTo6Y2FsbGVyKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5oOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSmF2YVNjcmlwdENhbGxGcmFtZS5oLgorICAgICAgICBQb3J0
IG9mIEphdmFTY3JpcHRDYWxsRnJhbWUuaWRsIHRvIGEgc2V0IG9mIG5hdGl2ZSBKUyBjbGFzc2Vz
LgorCiAyMDE0LTAxLTI0ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXaW5dIENvbnZlcnQgc29tZSBOTWFrZSBmaWxlcyB0byBNU0J1aWxkIHByb2plY3Qg
ZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYTYx
MjVkYS4uYTVmNjhmYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KQEAgLTY1Myw2ICs2NTMsMTIgQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5oIFwKIAlT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90
eXBlLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2Ny
aXB0SG9zdFByb3RvdHlwZS5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pT
SmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmNwcCBcCisJU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCBcCisJ
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBc
CisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmgg
XAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0QnJlYWtwb2ludC5oIFwK
IAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnTGlzdGVuZXIuaCBc
CiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQu
aCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4
cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagppbmRleCBiYWZlOGIzLi5i
MjE4ZmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
dmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKQEAgLTQ4Niw2
ICs0ODYsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
clZhbHVlcy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSlNJ
bmplY3RlZFNjcmlwdEhvc3QuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXEpTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmNwcCIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIiAvPgor
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEpTSmF2YVNjcmlwdENhbGxGcmFt
ZVByb3RvdHlwZS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
SmF2YVNjcmlwdENhbGxGcmFtZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckFnZW50LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGludGVycHJldGVyXEFic3RyYWN0UEMuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caW50ZXJwcmV0ZXJcQ2FsbEZyYW1lLmNwcCIgLz4KQEAgLTEwNTcsNiArMTA2
MCw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yVmFs
dWVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSlNJbmplY3Rl
ZFNjcmlwdEhvc3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxK
U0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXEpTSmF2YVNjcmlwdENhbGxGcmFtZS5oIiAvPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5o
IiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEphdmFTY3JpcHRDYWxs
RnJhbWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRC
cmVha3BvaW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2Ny
aXB0RGVidWdMaXN0ZW5lci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXGFnZW50c1xJbnNwZWN0b3JBZ2VudC5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBiYjFjZTk2Li4zYmIwMGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtOTAwLDYgKzkwMCwxMiBAQAogCQlBMTcxMkI0MTExQzdCMjM1MDA3QTUzMTUgLyogUmVnRXhw
S2V5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTcx
MkI0MDExQzdCMjM1MDA3QTUzMTUgLyogUmVnRXhwS2V5LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTFBMDA5QzAxODMxQTIyRDAwQ0Y4NzExIC8q
IE1hY3JvQXNzZW1ibGVyQVJNNjQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg2NDA5MjNDMTU2RUVEM0IwMDU2NkNCMiAvKiBNYWNyb0Fzc2VtYmxlckFS
TTY0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
QTFBMDA5QzExODMxQTI2RTAwQ0Y4NzExIC8qIEFSTTY0QXNzZW1ibGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjQwOTIzQjE1NkVFRDNCMDA1NjZD
QjIgLyogQVJNNjRBc3NlbWJsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlBNTAzRkExOTE4OEUwRkIwMDAxMTBGMTQgLyogSmF2YVNjcmlwdENh
bGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNTAzRkExMzE4OEUwRkFGMDAxMTBGMTQgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgKi87
IH07CisJCUE1MDNGQTFBMTg4RTBGQjAwMDExMEYxNCAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTAzRkExNDE4
OEUwRkFGMDAxMTBGMTQgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5oICovOyB9OworCQlBNTAzRkEx
QjE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MDNGQTE1MTg4RTBGQjAwMDEx
MEYxNCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwICovOyB9OworCQlBNTAzRkExQzE4OEUw
RkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTAzRkExNjE4OEUwRkIwMDAxMTBGMTQgLyog
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggKi87IH07CisJCUE1MDNGQTFEMTg4RTBGQjAwMDExMEYx
NCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUwM0ZBMTcxODhFMEZCMDAwMTEwRjE0IC8q
IEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAgKi87IH07CisJCUE1MDNGQTFFMTg4
RTBGQjAwMDExMEYxNCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MDNGQTE4MTg4RTBGQjAw
MDExMEYxNCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCAqLzsgfTsKIAkJQTUw
M0ZBMjExODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdEJyZWFrcG9pbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MDNGQTFGMTg4RUZGNjgwMDExMEYx
NCAvKiBTY3JpcHRCcmVha3BvaW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJQTUwM0ZBMjIxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdERlYnVn
TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1MDNGQTIwMTg4RUZGNjgwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z0xpc3RlbmVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTUxMDA3QzAxODdD
QzNDNjAwQjM4ODc5IC8qIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTEwMDdCRTE4N0ND
M0M2MDBCMzg4NzkgLyogSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcCAqLzsg
fTsKQEAgLTIyOTAsNiArMjI5NiwxMiBAQAogCQlBMTcxMkIzQTExQzdCMjEyMDA3QTUzMTUgLyog
UmVnRXhwQ2FjaGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVn
RXhwQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTcxMkIzRTExQzdC
MjI4MDA3QTUzMTUgLyogUmVnRXhwQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVnRXhwQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE3MTJC
NDAxMUM3QjIzNTAwN0E1MzE1IC8qIFJlZ0V4cEtleS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSZWdFeHBLZXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUw
M0ZBMTMxODhFMEZBRjAwMTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSmF2YVNjcmlwdENhbGxGcmFtZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MDNGQTE0MTg4RTBGQUYwMDExMEYxNCAvKiBK
YXZhU2NyaXB0Q2FsbEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEph
dmFTY3JpcHRDYWxsRnJhbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUwM0ZB
MTUxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTAzRkExNjE4OEUwRkIwMDAxMTBGMTQgLyog
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTSmF2YVNjcmlwdENhbGxGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NTAzRkExNzE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSmF2YVNjcmlwdENh
bGxGcmFtZVByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MDNG
QTE4MTg4RTBGQjAwMDExMEYxNCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJv
dG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1MDNGQTFGMTg4RUZGNjgw
MDExMEYxNCAvKiBTY3JpcHRCcmVha3BvaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNjcmlwdEJyZWFrcG9pbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTUwM0ZBMjAxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdERlYnVnTGlzdGVuZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0RGVidWdMaXN0ZW5lci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBNTEwMDdCRTE4N0NDM0M2MDBCMzg4NzkgLyogSlNHbG9i
YWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NDA5LDYgKzQ0MjEsMTIgQEAKIAkJCQlBNTEzRTVC
QjE4NUJGQUNDMDA3RTk1QUQgLyogSlNJbmplY3RlZFNjcmlwdEhvc3QuaCAqLywKIAkJCQlBNTEz
RTVCQzE4NUJGQUNDMDA3RTk1QUQgLyogSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGUuY3Bw
ICovLAogCQkJCUE1MTNFNUJEMTg1QkZBQ0MwMDdFOTVBRCAvKiBKU0luamVjdGVkU2NyaXB0SG9z
dFByb3RvdHlwZS5oICovLAorCQkJCUE1MDNGQTE1MTg4RTBGQjAwMDExMEYxNCAvKiBKU0phdmFT
Y3JpcHRDYWxsRnJhbWUuY3BwICovLAorCQkJCUE1MDNGQTE2MTg4RTBGQjAwMDExMEYxNCAvKiBK
U0phdmFTY3JpcHRDYWxsRnJhbWUuaCAqLywKKwkJCQlBNTAzRkExNzE4OEUwRkIwMDAxMTBGMTQg
LyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmNwcCAqLywKKwkJCQlBNTAzRkExODE4
OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmggKi8sCisJ
CQkJQTUwM0ZBMTMxODhFMEZBRjAwMTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwICov
LAorCQkJCUE1MDNGQTE0MTg4RTBGQUYwMDExMEYxNCAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmgg
Ki8sCiAJCQkJQTUwM0ZBMUYxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdEJyZWFrcG9pbnQuaCAq
LywKIAkJCQlBNTAzRkEyMDE4OEVGRjY4MDAxMTBGMTQgLyogU2NyaXB0RGVidWdMaXN0ZW5lci5o
ICovLAogCQkJKTsKQEAgLTQ1MDgsNiArNDUyNiw3IEBACiAJCQkJODZEM0IyQzUxMDE1NkJERTAw
Mjg2NUU3IC8qIEFzc2VtYmxlckJ1ZmZlcldpdGhDb25zdGFudFBvb2wuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGMjRFNTQxMTdFQTlGNTkwMEFCQjIxNyAvKiBBc3NlbWJseUhlbHBlcnMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE3ODRBMjYxMTFEMTY2MjIwMDU3NzZBQyAvKiBBU1RCdWlsZGVyLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBNTAzRkExQTE4OEUwRkIwMDAxMTBGMTQgLyogSmF2YVNjcmlw
dENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ3QjgzQUMwRTZEQjhDOTAwNDc3NUE0
IC8qIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NjY3
MzlEMjEzQkZERTcxMDAyM0Q4N0MgLyogQmlnSW50ZWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MTQ4MTZFMUMxNTRDQzU2QzAwQjgwNTRDIC8qIEJsb2NrQWxsb2NhdG9yLmggaW4gSGVhZGVycyAq
LywKQEAgLTQ2MDcsNiArNDYyNiw3IEBACiAJCQkJMEY3QjI5NEQxNEMzQ0Q0QzAwN0MzREIxIC8q
IERGR0NvbW1vbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFQTBBMzIxNzBENDBCRjAwQkI3MjJD
IC8qIERGR0NvbW1vbkRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMzhCMDE4MTdDRkU3NTUw
MEIxNDREMyAvKiBERkdDb21waWxhdGlvbktleS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTUwM0ZB
MUUxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEYzOEIwMUExN0NGRTc1NTAwQjE0NEQzIC8qIERGR0NvbXBpbGF0
aW9uTW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYzQjNBMUIxNTNFNjhGNDAwM0VEMEZGIC8q
IERGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkJFMEY3MzE2
QzFEQjA1MDA4MkM1RTggLyogREZHQ1BTUmV0aHJlYWRpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8s
CkBAIC01ODI1LDYgKzU4NDUsNyBAQAogCQkJCTBGRjBGMTlGMTZCNzJBMTcwMDVERjk1QiAvKiBG
dW5jdGlvbkV4ZWN1dGFibGVEdW1wLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUNDMTA3
RUMzNzYwMDQyN0E0OCAvKiBGdW5jdGlvblByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlDMkQ1OEMzNDE1OTEyRkVFMDAyMUE4NDQgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUE1MDNGQTFEMTg4RTBGQjAwMDExMEYxNCAvKiBKU0phdmFTY3JpcHRD
YWxsRnJhbWVQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY3NjZEMkYxNUE4RENF
MDAwOEYzNjNFIC8qIEdDQXdhcmVKSVRTdHViUm91dGluZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlDMjIzOUQxQTE2MjYyQkREMDA1QUM1RkQgLyogR0NUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQzIxMTIyRTExNUREOUFCMzAwNzkwRTNBIC8qIEdDVGhyZWFkU2hhcmVkRGF0YS5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTU4NjcsNiArNTg4OCw3IEBACiAJCQkJMEY3NjZEMjgxNUE4Q0Mx
RTAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNzY2
RDJCMTVBOENDMzgwMDhGMzYzRSAvKiBKSVRTdHViUm91dGluZVNldC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxNEEyM0Q3NTBGNEUxQUJCMDAyM0NEQUQgLyogSklUU3R1YnMuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQTUwM0ZBMTkxODhFMEZCMDAwMTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJh
bWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY1RUY5MUUxNjg3OEY3QTAwM0U1QzI1IC8qIEpJ
VFRodW5rcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkM3MTJFMjE3Q0Q4NzkxMDA4Q0M5M0Mg
LyogSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMTQwQjdEMUQwREM2OUFGNzAwOUM0MkI4IC8qIEpTQWN0aXZhdGlvbi5jcHAgaW4gU291
cmNlcyAqLywKQEAgLTU5MzMsNiArNTk1NSw3IEBACiAJCQkJQTdDQTNBRTcxN0RBNDFBRTAwNjUz
OEFGIC8qIEpTV2Vha01hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzQ4MkI5NDExNjcxMTQ3
MDAzQjA3MTIgLyogSlNXZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkxNDQyNTY2MTE1RURFOThEMDA2NkE0OUIgLyogSlNXaXRoU2NvcGUuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQTUwM0ZBMUIxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxG
cmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NkUzQzYxODE2N0JBQkVFMDA2RDc2MEEgLyog
SlNXcmFwcGVyTWFwLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQyODA4NzAxMDdFQzEzNDAwMTNF
N0IyIC8qIEpTV3JhcHBlck9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0ZEOEM5MjBF
RUIyRUU3MDAyODM4NDggLyogSnVtcFRhYmxlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5o
CmluZGV4IDE5OWRmY2EuLmRjMjM1NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmgKQEAgLTY5LDcgKzY5LDcgQEAg
cHVibGljOgogICAgIEpTQzo6SlNWYWx1ZSBnZXRJbnRlcm5hbFByb3BlcnRpZXMoSlNDOjpFeGVj
U3RhdGUqKTsKIAogcHJvdGVjdGVkOgotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1
cmVGbGFncyA9IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSlNDOjpJbnRlcmNl
cHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvIHwgQmFz
ZTo6U3RydWN0dXJlRmxhZ3M7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZs
YWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpT
Qzo6Vk0mKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNKYXZh
U2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcApzaW1pbGFyaXR5IGluZGV4IDUzJQpyZW5hbWUg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0phdmFTY3JpcHRDYWxsRnJhbWVDdXN0
b20uY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNj
cmlwdENhbGxGcmFtZS5jcHAKaW5kZXggNTU2MTRhNi4uMGZjZDZiYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFt
ZS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIElu
Yy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTI0LDY5ICsyNCw2NyBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJM
RShKQVZBU0NSSVBUX0RFQlVHR0VSKQotCiAjaW5jbHVkZSAiSlNKYXZhU2NyaXB0Q2FsbEZyYW1l
LmgiCiAKLSNpbmNsdWRlICJKYXZhU2NyaXB0Q2FsbEZyYW1lLmgiCi0jaW5jbHVkZSA8cnVudGlt
ZS9BcnJheVByb3RvdHlwZS5oPgotI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KKyNpZiBFTkFC
TEUoSU5TUEVDVE9SKQorI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQorCisjaW5jbHVk
ZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJKU0NlbGxJbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNKYXZh
U2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKLW5h
bWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworCitjb25zdCBDbGFzc0lu
Zm8gSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpzX2luZm8gPSB7ICJKYXZhU2NyaXB0Q2FsbEZyYW1l
IiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0phdmFTY3JpcHRD
YWxsRnJhbWUpIH07CisKK0pTSmF2YVNjcmlwdENhbGxGcmFtZTo6SlNKYXZhU2NyaXB0Q2FsbEZy
YW1lKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8SmF2YVNjcmlwdENh
bGxGcmFtZT4gaW1wbCkKKyAgICA6IEpTRGVzdHJ1Y3RpYmxlT2JqZWN0KHZtLCBzdHJ1Y3R1cmUp
CisgICAgLCBtX2ltcGwoaW1wbC5sZWFrUmVmKCkpCit7Cit9CisKK3ZvaWQgSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCit7CisgICAgQmFzZTo6ZmluaXNoQ3Jl
YXRpb24odm0pOworICAgIEFTU0VSVChpbmhlcml0cyhpbmZvKCkpKTsKK30KKworSlNPYmplY3Qq
IEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6Y3JlYXRlUHJvdG90eXBlKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICByZXR1cm4gSlNKYXZhU2NyaXB0Q2FsbEZyYW1l
UHJvdG90eXBlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgSlNKYXZhU2NyaXB0Q2FsbEZyYW1l
UHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0
LT5vYmplY3RQcm90b3R5cGUoKSkpOworfQorCit2b2lkIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6
ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKK3sKKyAgICBKU0phdmFTY3JpcHRDYWxsRnJhbWUq
IHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxKU0phdmFTY3JpcHRDYWxsRnJhbWUqPihjZWxsKTsK
KyAgICB0aGlzT2JqZWN0LT5KU0phdmFTY3JpcHRDYWxsRnJhbWU6On5KU0phdmFTY3JpcHRDYWxs
RnJhbWUoKTsKK30KKwordm9pZCBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OnJlbGVhc2VJbXBsKCkK
K3sKKyAgICBpZiAobV9pbXBsKSB7CisgICAgICAgIG1faW1wbC0+ZGVyZWYoKTsKKyAgICAgICAg
bV9pbXBsID0gbnVsbHB0cjsKKyAgICB9Cit9CisKK0pTSmF2YVNjcmlwdENhbGxGcmFtZTo6fkpT
SmF2YVNjcmlwdENhbGxGcmFtZSgpCit7CisgICAgcmVsZWFzZUltcGwoKTsKK30KIAogSlNWYWx1
ZSBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmV2YWx1YXRlKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAg
ICBKU1ZhbHVlIGV4Y2VwdGlvbjsKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGltcGwoKS5ldmFsdWF0
ZShleGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKS0+dmFsdWUoZXhlYyksIGV4Y2VwdGlv
bik7Ci0KICAgICBpZiAoZXhjZXB0aW9uKQogICAgICAgICBleGVjLT52bSgpLnRocm93RXhjZXB0
aW9uKGV4ZWMsIGV4Y2VwdGlvbik7CiAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1KU1ZhbHVl
IEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6dGhpc09iamVjdChFeGVjU3RhdGUqKSBjb25zdAotewot
ICAgIHJldHVybiBpbXBsKCkudGhpc1ZhbHVlKCk7Ci19Ci0KLUpTVmFsdWUgSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lOjp0eXBlKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKLXsKLSAgICBzd2l0Y2ggKGlt
cGwoKS50eXBlKCkpIHsKLSAgICBjYXNlIERlYnVnZ2VyQ2FsbEZyYW1lOjpGdW5jdGlvblR5cGU6
Ci0gICAgICAgIHJldHVybiBqc05vbnRyaXZpYWxTdHJpbmcoZXhlYywgQVNDSUlMaXRlcmFsKCJm
dW5jdGlvbiIpKTsKLSAgICBjYXNlIERlYnVnZ2VyQ2FsbEZyYW1lOjpQcm9ncmFtVHlwZToKLSAg
ICAgICAgcmV0dXJuIGpzTm9udHJpdmlhbFN0cmluZyhleGVjLCBBU0NJSUxpdGVyYWwoInByb2dy
YW0iKSk7Ci0gICAgfQotCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIGpz
TnVsbCgpOwotfQotCi1KU1ZhbHVlIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6c2NvcGVDaGFpbihF
eGVjU3RhdGUqIGV4ZWMpIGNvbnN0Ci17Ci0gICAgaWYgKCFpbXBsKCkuc2NvcGVDaGFpbigpKQot
ICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0KLSAgICBKU1Njb3BlKiBzY29wZUNoYWluID0gaW1w
bCgpLnNjb3BlQ2hhaW4oKTsKLSAgICBTY29wZUNoYWluSXRlcmF0b3IgaXRlciA9IHNjb3BlQ2hh
aW4tPmJlZ2luKCk7Ci0gICAgU2NvcGVDaGFpbkl0ZXJhdG9yIGVuZCA9IHNjb3BlQ2hhaW4tPmVu
ZCgpOwotCi0gICAgLy8gd2UgbXVzdCBhbHdheXMgaGF2ZSBzb21ldGhpbmcgaW4gdGhlIHNjb3Bl
IGNoYWluCi0gICAgQVNTRVJUKGl0ZXIgIT0gZW5kKTsKLQotICAgIE1hcmtlZEFyZ3VtZW50QnVm
ZmVyIGxpc3Q7Ci0gICAgZG8gewotICAgICAgICBsaXN0LmFwcGVuZChpdGVyLmdldCgpKTsKLSAg
ICAgICAgKytpdGVyOwotICAgIH0gd2hpbGUgKGl0ZXIgIT0gZW5kKTsKLQotICAgIHJldHVybiBj
b25zdHJ1Y3RBcnJheShleGVjLCAwLCBnbG9iYWxPYmplY3QoKSwgbGlzdCk7Ci19Ci0KIEpTVmFs
dWUgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpzY29wZVR5cGUoRXhlY1N0YXRlKiBleGVjKQogewog
ICAgIGlmICghaW1wbCgpLnNjb3BlQ2hhaW4oKSkKQEAgLTk5LDYgKzk3LDggQEAgSlNWYWx1ZSBK
U0phdmFTY3JpcHRDYWxsRnJhbWU6OnNjb3BlVHlwZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgSlNT
Y29wZSogc2NvcGVDaGFpbiA9IGltcGwoKS5zY29wZUNoYWluKCk7CiAgICAgU2NvcGVDaGFpbkl0
ZXJhdG9yIGVuZCA9IHNjb3BlQ2hhaW4tPmVuZCgpOwogCisgICAgLy8gRklYTUU6IFdlIHNob3Vs
ZCBiZSBpZGVudGlmeWluZyBhbmQgcmV0dXJuaW5nIENBVENIX1NDT1BFIGFwcHJvcHJpYXRlbHku
CisKICAgICBib29sIGZvdW5kTG9jYWxTY29wZSA9IGZhbHNlOwogICAgIGZvciAoU2NvcGVDaGFp
bkl0ZXJhdG9yIGl0ZXIgPSBzY29wZUNoYWluLT5iZWdpbigpOyBpdGVyICE9IGVuZDsgKytpdGVy
KSB7CiAgICAgICAgIEpTT2JqZWN0KiBzY29wZSA9IGl0ZXIuZ2V0KCk7CkBAIC0xMDYsMjQgKzEw
NiwxMDggQEAgSlNWYWx1ZSBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OnNjb3BlVHlwZShFeGVjU3Rh
dGUqIGV4ZWMpCiAgICAgICAgICAgICBpZiAoIWZvdW5kTG9jYWxTY29wZSkgewogICAgICAgICAg
ICAgICAgIC8vIEZpcnN0IGFjdGl2YXRpb24gb2JqZWN0IGlzIGxvY2FsIHNjb3BlLCBlYWNoIHN1
Y2Nlc3NpdmUgYWN0aXZhdGlvbiBvYmplY3QgaXMgY2xvc3VyZS4KICAgICAgICAgICAgICAgICBp
ZiAoIWluZGV4KQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKGpz
SmF2YVNjcmlwdENhbGxGcmFtZUxPQ0FMX1NDT1BFKGV4ZWMsIEVuY29kZWRKU1ZhbHVlKCksIEVu
Y29kZWRKU1ZhbHVlKCksIElkZW50aWZpZXIoKSkpOworICAgICAgICAgICAgICAgICAgICByZXR1
cm4ganNOdW1iZXIoSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpMT0NBTF9TQ09QRSk7CiAgICAgICAg
ICAgICAgICAgZm91bmRMb2NhbFNjb3BlID0gdHJ1ZTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAo
IWluZGV4KQotICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpkZWNvZGUoanNKYXZhU2Ny
aXB0Q2FsbEZyYW1lQ0xPU1VSRV9TQ09QRShleGVjLCBFbmNvZGVkSlNWYWx1ZSgpLCBFbmNvZGVk
SlNWYWx1ZSgpLCBJZGVudGlmaWVyKCkpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4ganNOdW1i
ZXIoSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpDTE9TVVJFX1NDT1BFKTsKICAgICAgICAgfQogCiAg
ICAgICAgIGlmICghaW5kZXgpIHsKICAgICAgICAgICAgIC8vIExhc3QgaW4gdGhlIGNoYWluIGlz
IGdsb2JhbCBzY29wZS4KICAgICAgICAgICAgIGlmICgrK2l0ZXIgPT0gZW5kKQotICAgICAgICAg
ICAgICAgIHJldHVybiBKU1ZhbHVlOjpkZWNvZGUoanNKYXZhU2NyaXB0Q2FsbEZyYW1lR0xPQkFM
X1NDT1BFKGV4ZWMsIEVuY29kZWRKU1ZhbHVlKCksIEVuY29kZWRKU1ZhbHVlKCksIElkZW50aWZp
ZXIoKSkpOwotICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmRlY29kZShqc0phdmFTY3JpcHRD
YWxsRnJhbWVXSVRIX1NDT1BFKGV4ZWMsIEVuY29kZWRKU1ZhbHVlKCksIEVuY29kZWRKU1ZhbHVl
KCksIElkZW50aWZpZXIoKSkpOworICAgICAgICAgICAgICAgIHJldHVybiBqc051bWJlcihKU0ph
dmFTY3JpcHRDYWxsRnJhbWU6OkdMT0JBTF9TQ09QRSk7CisgICAgICAgICAgICByZXR1cm4ganNO
dW1iZXIoSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpXSVRIX1NDT1BFKTsKICAgICAgICAgfQogCiAg
ICAgICAgIC0taW5kZXg7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
cmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK0pTVmFs
dWUgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpjYWxsZXIoRXhlY1N0YXRlKiBleGVjKSBjb25zdAor
eworICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBpbXBsKCkuY2FsbGVyKCkp
OworfQorCitKU1ZhbHVlIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6c291cmNlSUQoRXhlY1N0YXRl
KikgY29uc3QKK3sKKyAgICByZXR1cm4ganNOdW1iZXIoaW1wbCgpLnNvdXJjZUlEKCkpOworfQor
CitKU1ZhbHVlIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6bGluZShFeGVjU3RhdGUqKSBjb25zdAor
eworICAgIHJldHVybiBqc051bWJlcihpbXBsKCkubGluZSgpKTsKK30KKworSlNWYWx1ZSBKU0ph
dmFTY3JpcHRDYWxsRnJhbWU6OmNvbHVtbihFeGVjU3RhdGUqKSBjb25zdAoreworICAgIHJldHVy
biBqc051bWJlcihpbXBsKCkuY29sdW1uKCkpOworfQorCitKU1ZhbHVlIEpTSmF2YVNjcmlwdENh
bGxGcmFtZTo6ZnVuY3Rpb25OYW1lKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sKKyAgICByZXR1
cm4ganNTdHJpbmcoZXhlYywgaW1wbCgpLmZ1bmN0aW9uTmFtZSgpKTsKK30KKworSlNWYWx1ZSBK
U0phdmFTY3JpcHRDYWxsRnJhbWU6OnNjb3BlQ2hhaW4oRXhlY1N0YXRlKiBleGVjKSBjb25zdAor
eworICAgIGlmICghaW1wbCgpLnNjb3BlQ2hhaW4oKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgp
OworCisgICAgSlNTY29wZSogc2NvcGVDaGFpbiA9IGltcGwoKS5zY29wZUNoYWluKCk7CisgICAg
U2NvcGVDaGFpbkl0ZXJhdG9yIGl0ZXIgPSBzY29wZUNoYWluLT5iZWdpbigpOworICAgIFNjb3Bl
Q2hhaW5JdGVyYXRvciBlbmQgPSBzY29wZUNoYWluLT5lbmQoKTsKKworICAgIC8vIFdlIG11c3Qg
YWx3YXlzIGhhdmUgc29tZXRoaW5nIGluIHRoZSBzY29wZSBjaGFpbi4KKyAgICBBU1NFUlQoaXRl
ciAhPSBlbmQpOworCisgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgbGlzdDsKKyAgICBkbyB7Cisg
ICAgICAgIGxpc3QuYXBwZW5kKGl0ZXIuZ2V0KCkpOworICAgICAgICArK2l0ZXI7CisgICAgfSB3
aGlsZSAoaXRlciAhPSBlbmQpOworCisgICAgcmV0dXJuIGNvbnN0cnVjdEFycmF5KGV4ZWMsIG51
bGxwdHIsIGdsb2JhbE9iamVjdCgpLCBsaXN0KTsKK30KKworSlNWYWx1ZSBKU0phdmFTY3JpcHRD
YWxsRnJhbWU6OnRoaXNPYmplY3QoRXhlY1N0YXRlKikgY29uc3QKK3sKKyAgICByZXR1cm4gaW1w
bCgpLnRoaXNWYWx1ZSgpOworfQorCitKU1ZhbHVlIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6dHlw
ZShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgc3dpdGNoIChpbXBsKCkudHlwZSgpKSB7
CisgICAgY2FzZSBEZWJ1Z2dlckNhbGxGcmFtZTo6RnVuY3Rpb25UeXBlOgorICAgICAgICByZXR1
cm4ganNOb250cml2aWFsU3RyaW5nKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiZnVuY3Rpb24iKSk7Cisg
ICAgY2FzZSBEZWJ1Z2dlckNhbGxGcmFtZTo6UHJvZ3JhbVR5cGU6CisgICAgICAgIHJldHVybiBq
c05vbnRyaXZpYWxTdHJpbmcoZXhlYywgQVNDSUlMaXRlcmFsKCJwcm9ncmFtIikpOworICAgIH0K
KworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBqc051bGwoKTsKK30KKwor
SlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSmF2YVNjcmlwdENhbGxGcmFtZSogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAg
IHJldHVybiBqc051bGwoKTsKKworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBKU0phdmFTY3Jp
cHRDYWxsRnJhbWU6OmNyZWF0ZVByb3RvdHlwZShleGVjLT52bSgpLCBnbG9iYWxPYmplY3QpOwor
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpjcmVhdGVT
dHJ1Y3R1cmUoZXhlYy0+dm0oKSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUpOworICAgIEpTSmF2
YVNjcmlwdENhbGxGcmFtZSogamF2YVNjcmlwdENhbGxGcmFtZSA9IEpTSmF2YVNjcmlwdENhbGxG
cmFtZTo6Y3JlYXRlKGV4ZWMtPnZtKCksIHN0cnVjdHVyZSwgaW1wbCk7CisKKyAgICByZXR1cm4g
amF2YVNjcmlwdENhbGxGcmFtZTsKK30KKworSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKiB0b0pTSmF2
YVNjcmlwdENhbGxGcmFtZShKU1ZhbHVlIHZhbHVlKQoreworICAgIHJldHVybiB2YWx1ZS5pbmhl
cml0cyhKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmluZm8oKSkgPyBqc0Nhc3Q8SlNKYXZhU2NyaXB0
Q2FsbEZyYW1lKj4odmFsdWUpIDogbnVsbHB0cjsKK30KKworfSAvLyBuYW1lc3BhY2UgSW5zcGVj
dG9yCiAKICNlbmRpZiAvLyBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKKyNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuaApzaW1pbGFyaXR5IGluZGV4IDUzJQpjb3B5IGZy
b20gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5o
CmNvcHkgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxs
RnJhbWUuaAppbmRleCAxOTlkZmNhLi4yMjVlZGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuaApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMTggKzIzLDE4IEBA
CiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgSlNJbmplY3RlZFNjcmlwdEhvc3RfaAot
I2RlZmluZSBKU0luamVjdGVkU2NyaXB0SG9zdF9oCisjaWZuZGVmIEpTSmF2YVNjcmlwdENhbGxG
cmFtZV9oCisjZGVmaW5lIEpTSmF2YVNjcmlwdENhbGxGcmFtZV9oCiAKICNpZiBFTkFCTEUoSU5T
UEVDVE9SKQorI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogCiAjaW5jbHVkZSAiSlNE
ZXN0cnVjdGlibGVPYmplY3QuaCIKKyNpbmNsdWRlICJKYXZhU2NyaXB0Q2FsbEZyYW1lLmgiCiAK
IG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCi1jbGFzcyBJbmplY3RlZFNjcmlwdEhvc3Q7Ci0KLWNs
YXNzIEpTSW5qZWN0ZWRTY3JpcHRIb3N0IDogcHVibGljIEpTQzo6SlNEZXN0cnVjdGlibGVPYmpl
Y3QgeworY2xhc3MgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lIDogcHVibGljIEpTQzo6SlNEZXN0cnVj
dGlibGVPYmplY3QgewogcHVibGljOgogICAgIHR5cGVkZWYgSlNDOjpKU0Rlc3RydWN0aWJsZU9i
amVjdCBCYXNlOwogCkBAIC00NSw5ICs0NSw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEpT
Qzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5
cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0K
IAotICAgIHN0YXRpYyBKU0luamVjdGVkU2NyaXB0SG9zdCogY3JlYXRlKEpTQzo6Vk0mIHZtLCBK
U0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPEluamVjdGVkU2NyaXB0SG9zdD4g
aW1wbCkKKyAgICBzdGF0aWMgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKiBjcmVhdGUoSlNDOjpWTSYg
dm0sIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8SmF2YVNjcmlwdENhbGxG
cmFtZT4gaW1wbCkKICAgICB7Ci0gICAgICAgIEpTSW5qZWN0ZWRTY3JpcHRIb3N0KiBpbnN0YW5j
ZSA9IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0ZUNlbGw8SlNJbmplY3RlZFNjcmlwdEhvc3Q+
KHZtLmhlYXApKSBKU0luamVjdGVkU2NyaXB0SG9zdCh2bSwgc3RydWN0dXJlLCBpbXBsKTsKKyAg
ICAgICAgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKiBpbnN0YW5jZSA9IG5ldyAoTm90TnVsbCwgSlND
OjphbGxvY2F0ZUNlbGw8SlNKYXZhU2NyaXB0Q2FsbEZyYW1lPih2bS5oZWFwKSkgSlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lKHZtLCBzdHJ1Y3R1cmUsIGltcGwpOwogICAgICAgICBpbnN0YW5jZS0+Zmlu
aXNoQ3JlYXRpb24odm0pOwogICAgICAgICByZXR1cm4gaW5zdGFuY2U7CiAgICAgfQpAQCAtNTUs
MzYgKzU1LDQ4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSlNDOjpKU09iamVjdCogY3JlYXRlUHJv
dG90eXBlKEpTQzo6Vk0mLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiAgICAgc3RhdGljIHZvaWQg
ZGVzdHJveShKU0M6OkpTQ2VsbCopOwogCi0gICAgSW5qZWN0ZWRTY3JpcHRIb3N0JiBpbXBsKCkg
Y29uc3QgeyByZXR1cm4gKm1faW1wbDsgfQorICAgIEphdmFTY3JpcHRDYWxsRnJhbWUmIGltcGwo
KSBjb25zdCB7IHJldHVybiAqbV9pbXBsOyB9CiAgICAgdm9pZCByZWxlYXNlSW1wbCgpOwogCi0g
ICAgLy8gQXR0cmlidXRlcy4KLSAgICBKU0M6OkpTVmFsdWUgZXZhbHVhdGUoSlNDOjpFeGVjU3Rh
dGUqKSBjb25zdDsKLQogICAgIC8vIEZ1bmN0aW9ucy4KLSAgICBKU0M6OkpTVmFsdWUgaW50ZXJu
YWxDb25zdHJ1Y3Rvck5hbWUoSlNDOjpFeGVjU3RhdGUqKTsKLSAgICBKU0M6OkpTVmFsdWUgaXNI
VE1MQWxsQ29sbGVjdGlvbihKU0M6OkV4ZWNTdGF0ZSopOwotICAgIEpTQzo6SlNWYWx1ZSB0eXBl
KEpTQzo6RXhlY1N0YXRlKik7Ci0gICAgSlNDOjpKU1ZhbHVlIGZ1bmN0aW9uRGV0YWlscyhKU0M6
OkV4ZWNTdGF0ZSopOwotICAgIEpTQzo6SlNWYWx1ZSBnZXRJbnRlcm5hbFByb3BlcnRpZXMoSlND
OjpFeGVjU3RhdGUqKTsKKyAgICBKU0M6OkpTVmFsdWUgZXZhbHVhdGUoSlNDOjpFeGVjU3RhdGUq
KTsKKyAgICBKU0M6OkpTVmFsdWUgc2NvcGVUeXBlKEpTQzo6RXhlY1N0YXRlKik7CisKKyAgICAv
LyBBdHRyaWJ1dGVzLgorICAgIEpTQzo6SlNWYWx1ZSBjYWxsZXIoSlNDOjpFeGVjU3RhdGUqKSBj
b25zdDsKKyAgICBKU0M6OkpTVmFsdWUgc291cmNlSUQoSlNDOjpFeGVjU3RhdGUqKSBjb25zdDsK
KyAgICBKU0M6OkpTVmFsdWUgbGluZShKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0OworICAgIEpTQzo6
SlNWYWx1ZSBjb2x1bW4oSlNDOjpFeGVjU3RhdGUqKSBjb25zdDsKKyAgICBKU0M6OkpTVmFsdWUg
ZnVuY3Rpb25OYW1lKEpTQzo6RXhlY1N0YXRlKikgY29uc3Q7CisgICAgSlNDOjpKU1ZhbHVlIHNj
b3BlQ2hhaW4oSlNDOjpFeGVjU3RhdGUqKSBjb25zdDsKKyAgICBKU0M6OkpTVmFsdWUgdGhpc09i
amVjdChKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0OworICAgIEpTQzo6SlNWYWx1ZSB0eXBlKEpTQzo6
RXhlY1N0YXRlKikgY29uc3Q7CisKKyAgICAvLyBDb25zdGFudHMuCisgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIHNob3J0IEdMT0JBTF9TQ09QRSA9IDA7CisgICAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIHNob3J0IExPQ0FMX1NDT1BFID0gMTsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgc2hv
cnQgV0lUSF9TQ09QRSA9IDI7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IENMT1NV
UkVfU0NPUEUgPSAzOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzaG9ydCBDQVRDSF9TQ09Q
RSA9IDQ7CiAKIHByb3RlY3RlZDoKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJl
RmxhZ3MgPSBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEpTQzo6SW50ZXJjZXB0
c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybyB8IEJhc2U6
OlN0cnVjdHVyZUZsYWdzOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6
OlZNJik7CiAKIHByaXZhdGU6Ci0gICAgSlNJbmplY3RlZFNjcmlwdEhvc3QoSlNDOjpWTSYsIEpT
Qzo6U3RydWN0dXJlKiwgUGFzc1JlZlB0cjxJbmplY3RlZFNjcmlwdEhvc3Q+KTsKLSAgICB+SlNJ
bmplY3RlZFNjcmlwdEhvc3QoKTsKKyAgICBKU0phdmFTY3JpcHRDYWxsRnJhbWUoSlNDOjpWTSYs
IEpTQzo6U3RydWN0dXJlKiwgUGFzc1JlZlB0cjxKYXZhU2NyaXB0Q2FsbEZyYW1lPik7CisgICAg
fkpTSmF2YVNjcmlwdENhbGxGcmFtZSgpOwogCi0gICAgSW5qZWN0ZWRTY3JpcHRIb3N0KiBtX2lt
cGw7CisgICAgSmF2YVNjcmlwdENhbGxGcmFtZSogbV9pbXBsOwogfTsKIAotSlNDOjpKU1ZhbHVl
IHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSW5qZWN0ZWRTY3Jp
cHRIb3N0Kik7Ci1KU0luamVjdGVkU2NyaXB0SG9zdCogdG9KU0luamVjdGVkU2NyaXB0SG9zdChK
U0M6OkpTVmFsdWUpOworSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpT
R2xvYmFsT2JqZWN0KiwgSmF2YVNjcmlwdENhbGxGcmFtZSopOworSlNKYXZhU2NyaXB0Q2FsbEZy
YW1lKiB0b0pTSmF2YVNjcmlwdENhbGxGcmFtZShKU0M6OkpTVmFsdWUpOwogCiB9IC8vIG5hbWVz
cGFjZSBJbnNwZWN0b3IKIAorI2VuZGlmIC8vIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQog
I2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCiAKLSNlbmRpZiAvLyAhZGVmaW5lZChKU0luamVj
dGVkU2NyaXB0SG9zdF9oKQorI2VuZGlmIC8vICFkZWZpbmVkKEpTSmF2YVNjcmlwdENhbGxGcmFt
ZV9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFT
Y3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmFjYjJiMDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAK
QEAgLTAsMCArMSwyMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNKYXZhU2NyaXB0Q2FsbEZy
YW1lUHJvdG90eXBlLmgiCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorI2lmIEVOQUJMRShKQVZB
U0NSSVBUX0RFQlVHR0VSKQorCisjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJHZXR0ZXJT
ZXR0ZXIuaCIKKyNpbmNsdWRlICJJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiSlNDSlNWYWx1ZUlu
bGluZXMuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBJbnNwZWN0
b3IgeworCisvLyBGdW5jdGlvbnMuCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBqc0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGVGdW5jdGlvbkV2YWx1YXRlKEV4ZWNTdGF0
ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNKYXZhU2NyaXB0Q2Fs
bEZyYW1lUHJvdG90eXBlRnVuY3Rpb25TY29wZVR5cGUoRXhlY1N0YXRlKik7CisKKy8vIEF0dHJp
YnV0ZXMuCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRD
YWxsRnJhbWVBdHRyaWJ1dGVDYWxsZXIoRXhlY1N0YXRlKik7CitzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVTb3VyY2VJRChF
eGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNj
cmlwdENhbGxGcmFtZUF0dHJpYnV0ZUxpbmUoRXhlY1N0YXRlKik7CitzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVDb2x1bW4o
RXhlY1N0YXRlKik7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFT
Y3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVGdW5jdGlvbk5hbWUoRXhlY1N0YXRlKik7CitzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1
dGVTY29wZUNoYWluKEV4ZWNTdGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlVGhpc09iamVjdChFeGVjU3RhdGUq
KTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxG
cmFtZUF0dHJpYnV0ZVR5cGUoRXhlY1N0YXRlKik7CisKKy8vIENvbnN0YW50cy4KK3N0YXRpYyBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZUNvbnN0YW50
R0xPQkFMX1NDT1BFKEV4ZWNTdGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRMT0NBTF9TQ09QRShFeGVjU3RhdGUq
KTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxG
cmFtZUNvbnN0YW50V0lUSF9TQ09QRShFeGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZUNvbnN0YW50Q0xPU1VSRV9TQ09Q
RShFeGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2
YVNjcmlwdENhbGxGcmFtZUNvbnN0YW50Q0FUQ0hfU0NPUEUoRXhlY1N0YXRlKik7CisKK2NvbnN0
IENsYXNzSW5mbyBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGU6OnNfaW5mbyA9IHsgIkph
dmFTY3JpcHRDYWxsRnJhbWUiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZSkgfTsKKworI2RlZmluZSBKU0NfTkFU
SVZFX05PTl9JTkRFWF9BQ0NFU1NPUihqc05hbWUsIGNwcE5hbWUsIGF0dHJpYnV0ZXMpIFwKKyAg
ICB7IFwKKyAgICAgICAgSWRlbnRpZmllciBpZGVudGlmaWVyKCZ2bSwganNOYW1lKTsgXAorICAg
ICAgICBHZXR0ZXJTZXR0ZXIqIGFjY2Vzc29yID0gR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0pOyBc
CisgICAgICAgIEpTRnVuY3Rpb24qIGZ1bmN0aW9uID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBn
bG9iYWxPYmplY3QsIDAsIGlkZW50aWZpZXIuc3RyaW5nKCksIGNwcE5hbWUpOyBcCisgICAgICAg
IGFjY2Vzc29yLT5zZXRHZXR0ZXIodm0sIGZ1bmN0aW9uKTsgXAorICAgICAgICBwdXREaXJlY3RO
b25JbmRleEFjY2Vzc29yKHZtLCBpZGVudGlmaWVyLCBhY2Nlc3NvciwgKGF0dHJpYnV0ZXMpKTsg
XAorICAgIH0KKwordm9pZCBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGU6OmZpbmlzaENy
ZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOworICAg
IHZtLnByb3RvdHlwZU1hcC5hZGRQcm90b3R5cGUodGhpcyk7CisKKyAgICBKU0NfTkFUSVZFX0ZV
TkNUSU9OKCJldmFsdWF0ZSIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZUZ1bmN0aW9u
RXZhbHVhdGUsIERvbnRFbnVtLCAxKTsKKyAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OKCJzY29wZVR5
cGUiLCBqc0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGVGdW5jdGlvblNjb3BlVHlwZSwgRG9u
dEVudW0sIDEpOworCisgICAgSlNDX05BVElWRV9OT05fSU5ERVhfQUNDRVNTT1IoImNhbGxlciIs
IGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZUNhbGxlciwgRG9udEVudW0gfCBBY2Nlc3Nv
cik7CisgICAgSlNDX05BVElWRV9OT05fSU5ERVhfQUNDRVNTT1IoInNvdXJjZUlEIiwganNKYXZh
U2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlU291cmNlSUQsIERvbnRFbnVtIHwgQWNjZXNzb3IpOwor
ICAgIEpTQ19OQVRJVkVfTk9OX0lOREVYX0FDQ0VTU09SKCJsaW5lIiwganNKYXZhU2NyaXB0Q2Fs
bEZyYW1lQXR0cmlidXRlTGluZSwgRG9udEVudW0gfCBBY2Nlc3Nvcik7CisgICAgSlNDX05BVElW
RV9OT05fSU5ERVhfQUNDRVNTT1IoImNvbHVtbiIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJp
YnV0ZUNvbHVtbiwgRG9udEVudW0gfCBBY2Nlc3Nvcik7CisgICAgSlNDX05BVElWRV9OT05fSU5E
RVhfQUNDRVNTT1IoImZ1bmN0aW9uTmFtZSIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0
ZUZ1bmN0aW9uTmFtZSwgRG9udEVudW0gfCBBY2Nlc3Nvcik7CisgICAgSlNDX05BVElWRV9OT05f
SU5ERVhfQUNDRVNTT1IoInNjb3BlQ2hhaW4iLCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1
dGVTY29wZUNoYWluLCBEb250RW51bSB8IEFjY2Vzc29yKTsKKyAgICBKU0NfTkFUSVZFX05PTl9J
TkRFWF9BQ0NFU1NPUigidGhpc09iamVjdCIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0
ZVRoaXNPYmplY3QsIERvbnRFbnVtIHwgQWNjZXNzb3IpOworICAgIEpTQ19OQVRJVkVfTk9OX0lO
REVYX0FDQ0VTU09SKCJ0eXBlIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlVHlwZSwg
RG9udEVudW0gfCBBY2Nlc3Nvcik7CisKKyAgICBKU0NfTkFUSVZFX05PTl9JTkRFWF9BQ0NFU1NP
UigiR0xPQkFMX1NDT1BFIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRHTE9CQUxfU0NP
UEUsIERvbnRFbnVtIHwgQWNjZXNzb3IpOworICAgIEpTQ19OQVRJVkVfTk9OX0lOREVYX0FDQ0VT
U09SKCJMT0NBTF9TQ09QRSIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZUNvbnN0YW50TE9DQUxfU0NP
UEUsIERvbnRFbnVtIHwgQWNjZXNzb3IpOworICAgIEpTQ19OQVRJVkVfTk9OX0lOREVYX0FDQ0VT
U09SKCJXSVRIX1NDT1BFIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRXSVRIX1NDT1BF
LCBEb250RW51bSB8IEFjY2Vzc29yKTsKKyAgICBKU0NfTkFUSVZFX05PTl9JTkRFWF9BQ0NFU1NP
UigiQ0xPU1VSRV9TQ09QRSIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZUNvbnN0YW50Q0xPU1VSRV9T
Q09QRSwgRG9udEVudW0gfCBBY2Nlc3Nvcik7CisgICAgSlNDX05BVElWRV9OT05fSU5ERVhfQUND
RVNTT1IoIkNBVENIX1NDT1BFIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRDQVRDSF9T
Q09QRSwgRG9udEVudW0gfCBBY2Nlc3Nvcik7Cit9CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlRnVuY3Rpb25FdmFsdWF0ZShFeGVj
U3RhdGUqIGV4ZWMpCit7CisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1Zh
bHVlKCk7CisgICAgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKiBjYXN0ZWRUaGlzID0ganNEeW5hbWlj
Q2FzdDxKU0phdmFTY3JpcHRDYWxsRnJhbWUqPih0aGlzVmFsdWUpOworICAgIGlmICghY2FzdGVk
VGhpcykKKyAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisKKyAgICBBU1NF
UlRfR0NfT0JKRUNUX0lOSEVSSVRTKGNhc3RlZFRoaXMsIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6
aW5mbygpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhc3RlZFRoaXMtPmV2YWx1YXRl
KGV4ZWMpKTsKK30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRD
YWxsRnJhbWVQcm90b3R5cGVGdW5jdGlvblNjb3BlVHlwZShFeGVjU3RhdGUqIGV4ZWMpCit7Cisg
ICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7CisgICAgSlNKYXZh
U2NyaXB0Q2FsbEZyYW1lKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU0phdmFTY3JpcHRD
YWxsRnJhbWUqPih0aGlzVmFsdWUpOworICAgIGlmICghY2FzdGVkVGhpcykKKyAgICAgICAgcmV0
dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisKKyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVS
SVRTKGNhc3RlZFRoaXMsIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6aW5mbygpKTsKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhc3RlZFRoaXMtPnNjb3BlVHlwZShleGVjKSk7Cit9CisKK0Vu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRl
Q2FsbGVyKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMt
Pmhvc3RUaGlzVmFsdWUoKTsKKyAgICBKU0phdmFTY3JpcHRDYWxsRnJhbWUqIGNhc3RlZFRoaXMg
PSBqc0R5bmFtaWNDYXN0PEpTSmF2YVNjcmlwdENhbGxGcmFtZSo+KHRoaXNWYWx1ZSk7CisgICAg
aWYgKCFjYXN0ZWRUaGlzKQorICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsK
KworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lOjppbmZvKCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY2FzdGVkVGhp
cy0+Y2FsbGVyKGV4ZWMpKTsKK30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0ph
dmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVTb3VyY2VJRChFeGVjU3RhdGUqIGV4ZWMpCit7Cisg
ICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7CisgICAgSlNKYXZh
U2NyaXB0Q2FsbEZyYW1lKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU0phdmFTY3JpcHRD
YWxsRnJhbWUqPih0aGlzVmFsdWUpOworICAgIGlmICghY2FzdGVkVGhpcykKKyAgICAgICAgcmV0
dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisKKyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVS
SVRTKGNhc3RlZFRoaXMsIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6aW5mbygpKTsKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhc3RlZFRoaXMtPnNvdXJjZUlEKGV4ZWMpKTsKK30KKworRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVM
aW5lKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhv
c3RUaGlzVmFsdWUoKTsKKyAgICBKU0phdmFTY3JpcHRDYWxsRnJhbWUqIGNhc3RlZFRoaXMgPSBq
c0R5bmFtaWNDYXN0PEpTSmF2YVNjcmlwdENhbGxGcmFtZSo+KHRoaXNWYWx1ZSk7CisgICAgaWYg
KCFjYXN0ZWRUaGlzKQorICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKKwor
ICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgSlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lOjppbmZvKCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY2FzdGVkVGhpcy0+
bGluZShleGVjKSk7Cit9CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNKYXZhU2Ny
aXB0Q2FsbEZyYW1lQXR0cmlidXRlQ29sdW1uKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU1Zh
bHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKKyAgICBKU0phdmFTY3JpcHRD
YWxsRnJhbWUqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTSmF2YVNjcmlwdENhbGxGcmFt
ZSo+KHRoaXNWYWx1ZSk7CisgICAgaWYgKCFjYXN0ZWRUaGlzKQorICAgICAgICByZXR1cm4gdGhy
b3dWTVR5cGVFcnJvcihleGVjKTsKKworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2Fz
dGVkVGhpcywgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjppbmZvKCkpOworICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoY2FzdGVkVGhpcy0+Y29sdW1uKGV4ZWMpKTsKK30KKworRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVGdW5jdGlvbk5h
bWUoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9z
dFRoaXNWYWx1ZSgpOworICAgIEpTSmF2YVNjcmlwdENhbGxGcmFtZSogY2FzdGVkVGhpcyA9IGpz
RHluYW1pY0Nhc3Q8SlNKYXZhU2NyaXB0Q2FsbEZyYW1lKj4odGhpc1ZhbHVlKTsKKyAgICBpZiAo
IWNhc3RlZFRoaXMpCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworCisg
ICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyhjYXN0ZWRUaGlzLCBKU0phdmFTY3JpcHRDYWxs
RnJhbWU6OmluZm8oKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYXN0ZWRUaGlzLT5m
dW5jdGlvbk5hbWUoZXhlYykpOworfQorCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
SmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZVNjb3BlQ2hhaW4oRXhlY1N0YXRlKiBleGVjKQor
eworICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOworICAgIEpT
SmF2YVNjcmlwdENhbGxGcmFtZSogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lKj4odGhpc1ZhbHVlKTsKKyAgICBpZiAoIWNhc3RlZFRoaXMpCisgICAgICAg
IHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworCisgICAgQVNTRVJUX0dDX09CSkVDVF9J
TkhFUklUUyhjYXN0ZWRUaGlzLCBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmluZm8oKSk7CisgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYXN0ZWRUaGlzLT5zY29wZUNoYWluKGV4ZWMpKTsKK30K
KworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRy
aWJ1dGVUaGlzT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1
ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKKyAgICBKU0phdmFTY3JpcHRDYWxsRnJhbWUqIGNh
c3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTSmF2YVNjcmlwdENhbGxGcmFtZSo+KHRoaXNWYWx1
ZSk7CisgICAgaWYgKCFjYXN0ZWRUaGlzKQorICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJv
cihleGVjKTsKKworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgSlNK
YXZhU2NyaXB0Q2FsbEZyYW1lOjppbmZvKCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
Y2FzdGVkVGhpcy0+dGhpc09iamVjdChleGVjKSk7Cit9CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlVHlwZShFeGVjU3RhdGUqIGV4
ZWMpCit7CisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7Cisg
ICAgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU0ph
dmFTY3JpcHRDYWxsRnJhbWUqPih0aGlzVmFsdWUpOworICAgIGlmICghY2FzdGVkVGhpcykKKyAg
ICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisKKyAgICBBU1NFUlRfR0NfT0JK
RUNUX0lOSEVSSVRTKGNhc3RlZFRoaXMsIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6aW5mbygpKTsK
KyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhc3RlZFRoaXMtPnR5cGUoZXhlYykpOworfQor
CitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZUNvbnN0
YW50R0xPQkFMX1NDT1BFKEV4ZWNTdGF0ZSopCit7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc051bWJlcihKU0phdmFTY3JpcHRDYWxsRnJhbWU6OkdMT0JBTF9TQ09QRSkpOworfQorCitF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZUNvbnN0YW50
TE9DQUxfU0NPUEUoRXhlY1N0YXRlKikKK3sKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
TnVtYmVyKEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6TE9DQUxfU0NPUEUpKTsKK30KKworRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVDb25zdGFudFdJVEhf
U0NPUEUoRXhlY1N0YXRlKikKK3sKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVy
KEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6V0lUSF9TQ09QRSkpOworfQorCitFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZUNvbnN0YW50Q0xPU1VSRV9TQ09Q
RShFeGVjU3RhdGUqKQoreworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoSlNK
YXZhU2NyaXB0Q2FsbEZyYW1lOjpDTE9TVVJFX1NDT1BFKSk7Cit9CisKK0VuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRDQVRDSF9TQ09QRShF
eGVjU3RhdGUqKQoreworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoSlNKYXZh
U2NyaXB0Q2FsbEZyYW1lOjpDQVRDSF9TQ09QRSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBJbnNw
ZWN0b3IKKworI2VuZGlmIC8vIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQorI2VuZGlmIC8v
IEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oCnNpbWlsYXJpdHkgaW5kZXgg
NTElCmNvcHkgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRT
Y3JpcHRIb3N0LmgKY29weSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2
YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oCmluZGV4IDE5OWRmY2EuLmZhYTc0YTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhv
c3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENh
bGxGcmFtZVByb3RvdHlwZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0yMyw2OCArMjMsNDggQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBKU0luamVjdGVkU2NyaXB0SG9zdF9oCi0jZGVmaW5lIEpTSW5qZWN0ZWRTY3JpcHRIb3N0
X2gKKyNpZm5kZWYgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlX2gKKyNkZWZpbmUgSlNK
YXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlX2gKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCisj
aWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAKLSNpbmNsdWRlICJKU0Rlc3RydWN0aWJs
ZU9iamVjdC5oIgorI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBJbnNwZWN0b3Ig
ewogCi1jbGFzcyBJbmplY3RlZFNjcmlwdEhvc3Q7Ci0KLWNsYXNzIEpTSW5qZWN0ZWRTY3JpcHRI
b3N0IDogcHVibGljIEpTQzo6SlNEZXN0cnVjdGlibGVPYmplY3QgeworY2xhc3MgSlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lUHJvdG90eXBlIDogcHVibGljIEpTQzo6SlNOb25GaW5hbE9iamVjdCB7CiBw
dWJsaWM6Ci0gICAgdHlwZWRlZiBKU0M6OkpTRGVzdHJ1Y3RpYmxlT2JqZWN0IEJhc2U7CisgICAg
dHlwZWRlZiBKU0M6OkpTTm9uRmluYWxPYmplY3QgQmFzZTsKIAogICAgIERFQ0xBUkVfSU5GTzsK
IAorICAgIHN0YXRpYyBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUqIGNyZWF0ZShKU0M6
OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OlN0cnVjdHVy
ZSogc3RydWN0dXJlKQorICAgIHsKKyAgICAgICAgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90
eXBlKiBwdHIgPSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTSmF2YVNjcmlwdENh
bGxGcmFtZVByb3RvdHlwZT4odm0uaGVhcCkpIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlw
ZSh2bSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpOworICAgICAgICBwdHItPmZpbmlzaENyZWF0
aW9uKHZtLCBnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gcHRyOworICAgIH0KKwogICAg
IHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6
OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAg
ICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVG
bGFncyksIGluZm8oKSk7CiAgICAgfQogCi0gICAgc3RhdGljIEpTSW5qZWN0ZWRTY3JpcHRIb3N0
KiBjcmVhdGUoSlNDOjpWTSYgdm0sIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQ
dHI8SW5qZWN0ZWRTY3JpcHRIb3N0PiBpbXBsKQotICAgIHsKLSAgICAgICAgSlNJbmplY3RlZFNj
cmlwdEhvc3QqIGluc3RhbmNlID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxKU0lu
amVjdGVkU2NyaXB0SG9zdD4odm0uaGVhcCkpIEpTSW5qZWN0ZWRTY3JpcHRIb3N0KHZtLCBzdHJ1
Y3R1cmUsIGltcGwpOwotICAgICAgICBpbnN0YW5jZS0+ZmluaXNoQ3JlYXRpb24odm0pOwotICAg
ICAgICByZXR1cm4gaW5zdGFuY2U7Ci0gICAgfQotCi0gICAgc3RhdGljIEpTQzo6SlNPYmplY3Qq
IGNyZWF0ZVByb3RvdHlwZShKU0M6OlZNJiwgSlNDOjpKU0dsb2JhbE9iamVjdCopOwotICAgIHN0
YXRpYyB2b2lkIGRlc3Ryb3koSlNDOjpKU0NlbGwqKTsKLQotICAgIEluamVjdGVkU2NyaXB0SG9z
dCYgaW1wbCgpIGNvbnN0IHsgcmV0dXJuICptX2ltcGw7IH0KLSAgICB2b2lkIHJlbGVhc2VJbXBs
KCk7Ci0KLSAgICAvLyBBdHRyaWJ1dGVzLgotICAgIEpTQzo6SlNWYWx1ZSBldmFsdWF0ZShKU0M6
OkV4ZWNTdGF0ZSopIGNvbnN0OwotCi0gICAgLy8gRnVuY3Rpb25zLgotICAgIEpTQzo6SlNWYWx1
ZSBpbnRlcm5hbENvbnN0cnVjdG9yTmFtZShKU0M6OkV4ZWNTdGF0ZSopOwotICAgIEpTQzo6SlNW
YWx1ZSBpc0hUTUxBbGxDb2xsZWN0aW9uKEpTQzo6RXhlY1N0YXRlKik7Ci0gICAgSlNDOjpKU1Zh
bHVlIHR5cGUoSlNDOjpFeGVjU3RhdGUqKTsKLSAgICBKU0M6OkpTVmFsdWUgZnVuY3Rpb25EZXRh
aWxzKEpTQzo6RXhlY1N0YXRlKik7Ci0gICAgSlNDOjpKU1ZhbHVlIGdldEludGVybmFsUHJvcGVy
dGllcyhKU0M6OkV4ZWNTdGF0ZSopOwotCiBwcm90ZWN0ZWQ6Ci0gICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3Qg
fCBKU0M6OkludGVyY2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5MZW5ndGhJ
c05vdFplcm8gfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKLQotICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oSlNDOjpWTSYpOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9
IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7
CiAKIHByaXZhdGU6Ci0gICAgSlNJbmplY3RlZFNjcmlwdEhvc3QoSlNDOjpWTSYsIEpTQzo6U3Ry
dWN0dXJlKiwgUGFzc1JlZlB0cjxJbmplY3RlZFNjcmlwdEhvc3Q+KTsKLSAgICB+SlNJbmplY3Rl
ZFNjcmlwdEhvc3QoKTsKLQotICAgIEluamVjdGVkU2NyaXB0SG9zdCogbV9pbXBsOworICAgIEpT
SmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9i
amVjdCosIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgICAgIDogSlNDOjpKU05vbkZp
bmFsT2JqZWN0KHZtLCBzdHJ1Y3R1cmUpCisgICAgeworICAgIH0KKyAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKEpTQzo6Vk0mLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCi1KU0M6OkpTVmFs
dWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBJbmplY3RlZFNj
cmlwdEhvc3QqKTsKLUpTSW5qZWN0ZWRTY3JpcHRIb3N0KiB0b0pTSW5qZWN0ZWRTY3JpcHRIb3N0
KEpTQzo6SlNWYWx1ZSk7Ci0KIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCisjZW5kaWYgLy8g
RU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikK
IAotI2VuZGlmIC8vICFkZWZpbmVkKEpTSW5qZWN0ZWRTY3JpcHRIb3N0X2gpCisjZW5kaWYgLy8g
IWRlZmluZWQoSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlX2gpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAKc2ltaWxh
cml0eSBpbmRleCA5NCUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSmF2
YVNjcmlwdENhbGxGcmFtZS5jcHAKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAKaW5kZXggMjBhYWE5OC4uM2JjMmRhMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSmF2YVNjcmlwdENhbGxGcmFtZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZy
YW1lLmNwcApAQCAtMjQsMTYgKzI0LDE0IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgot
Ci0jaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCi0KICNpbmNsdWRlICJKYXZhU2NyaXB0
Q2FsbEZyYW1lLmgiCiAKLSNpbmNsdWRlIDxkZWJ1Z2dlci9EZWJ1Z2dlckNhbGxGcmFtZS5oPgor
I2lmIEVOQUJMRShJTlNQRUNUT1IpCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAK
IHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJ
bnNwZWN0b3IgewogCiBKYXZhU2NyaXB0Q2FsbEZyYW1lOjpKYXZhU2NyaXB0Q2FsbEZyYW1lKFBh
c3NSZWZQdHI8RGVidWdnZXJDYWxsRnJhbWU+IGRlYnVnZ2VyQ2FsbEZyYW1lKQogICAgIDogbV9k
ZWJ1Z2dlckNhbGxGcmFtZShkZWJ1Z2dlckNhbGxGcmFtZSkKQEAgLTQ3LDEyICs0NSwxMyBAQCBK
YXZhU2NyaXB0Q2FsbEZyYW1lKiBKYXZhU2NyaXB0Q2FsbEZyYW1lOjpjYWxsZXIoKQogCiAgICAg
UmVmUHRyPERlYnVnZ2VyQ2FsbEZyYW1lPiBkZWJ1Z2dlckNhbGxlckZyYW1lID0gbV9kZWJ1Z2dl
ckNhbGxGcmFtZS0+Y2FsbGVyRnJhbWUoKTsKICAgICBpZiAoIWRlYnVnZ2VyQ2FsbGVyRnJhbWUp
Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIG1fY2Fs
bGVyID0gY3JlYXRlKGRlYnVnZ2VyQ2FsbGVyRnJhbWUpOwogICAgIHJldHVybiBtX2NhbGxlci5n
ZXQoKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVj
dG9yCiAKICNlbmRpZiAvLyBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKKyNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SmF2YVNjcmlwdENhbGxGcmFtZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9K
YXZhU2NyaXB0Q2FsbEZyYW1lLmgKc2ltaWxhcml0eSBpbmRleCA5NCUKcmVuYW1lIGZyb20gU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSmF2YVNjcmlwdENhbGxGcmFtZS5oCnJlbmFtZSB0byBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaAppbmRl
eCA0Njk2ZWI1Li4zODBjNmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KYXZhU2NyaXB0Q2FsbEZyYW1lLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmgKQEAgLTI2LDE2ICsyNiwxNyBAQAogI2lmbmRlZiBK
YXZhU2NyaXB0Q2FsbEZyYW1lX2gKICNkZWZpbmUgSmF2YVNjcmlwdENhbGxGcmFtZV9oCiAKKyNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogCi0j
aW5jbHVkZSA8ZGVidWdnZXIvRGVidWdnZXJDYWxsRnJhbWUuaD4KLSNpbmNsdWRlIDxpbnRlcnBy
ZXRlci9DYWxsRnJhbWUuaD4KKyNpbmNsdWRlICJkZWJ1Z2dlci9EZWJ1Z2dlckNhbGxGcmFtZS5o
IgorI2luY2x1ZGUgImludGVycHJldGVyL0NhbGxGcmFtZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgogCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogY2xhc3MgSmF2YVNjcmlwdENhbGxG
cmFtZSA6IHB1YmxpYyBSZWZDb3VudGVkPEphdmFTY3JpcHRDYWxsRnJhbWU+IHsKIHB1YmxpYzoK
QEAgLTU3LDcgKzU4LDcgQEAgcHVibGljOgogCiAgICAgSlNDOjpKU1ZhbHVlIHRoaXNWYWx1ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fZGVidWdnZXJDYWxsRnJhbWUtPnRoaXNWYWx1ZSgpOyB9CiAgICAg
SlNDOjpKU1ZhbHVlIGV2YWx1YXRlKGNvbnN0IFN0cmluZyYgc2NyaXB0LCBKU0M6OkpTVmFsdWUm
IGV4Y2VwdGlvbikgY29uc3QgIHsgcmV0dXJuIG1fZGVidWdnZXJDYWxsRnJhbWUtPmV2YWx1YXRl
KHNjcmlwdCwgZXhjZXB0aW9uKTsgfQotICAgIAorCiBwcml2YXRlOgogICAgIEphdmFTY3JpcHRD
YWxsRnJhbWUoUGFzc1JlZlB0cjxKU0M6OkRlYnVnZ2VyQ2FsbEZyYW1lPik7CiAKQEAgLTY1LDgg
KzY2LDkgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8SmF2YVNjcmlwdENhbGxGcmFtZT4gbV9jYWxs
ZXI7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0
b3IKIAogI2VuZGlmIC8vIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQorI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCiAKICNlbmRpZiAvLyBKYXZhU2NyaXB0Q2FsbEZyYW1lX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKaW5kZXggYjk0YTlhOS4uYzkwOTY4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTUzMyw3ICs1MzMsNiBAQCBzZXQoV2ViQ29yZV9JRExfRklMRVMKIAogICAgIGluc3BlY3Rv
ci9Db21tYW5kTGluZUFQSUhvc3QuaWRsCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
SG9zdC5pZGwKLSAgICBpbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5pZGwKICAgICBpbnNw
ZWN0b3IvU2NyaXB0UHJvZmlsZS5pZGwKICAgICBpbnNwZWN0b3IvU2NyaXB0UHJvZmlsZU5vZGUu
aWRsCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBjMTM1MmVlLi4yZjhiNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjQgQEAKKzIwMTQtMDEtMjMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNv
bT4KKworICAgICAgICBNb3ZlIEphdmFTY3JpcHRDYWxsRnJhbWUgYW5kIFNjcmlwdERlYnVnU2Vy
dmVyIGludG8gSmF2YVNjcmlwdENvcmUgZm9yIGluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NTQzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4g
YmVoYXZpb3IuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFVzZUpTQy5jbWFrZToKKyAgICAgICAgKiBX
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25l
LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5pZGw6IFJlbW92
ZWQuCisgICAgICAgIFVwZGF0ZSBidWlsZCBmaWxlcy4KKwogMjAxNC0wMS0yNCAgQnJlbnQgRnVs
Z2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBDb252ZXJ0IHNvbWUg
Tk1ha2UgZmlsZXMgdG8gTVNCdWlsZCBwcm9qZWN0IGZpbGVzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAKaW5kZXggMDZmZTk3Mi4uNTczNDRjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNw
cApAQCAtMjQzLDcgKzI0Myw2IEBACiAjaW5jbHVkZSAiSlNJREJUcmFuc2FjdGlvbi5jcHAiCiAj
aW5jbHVkZSAiSlNJbWFnZURhdGEuY3BwIgogI2luY2x1ZGUgIkpTSW5zcGVjdG9yRnJvbnRlbmRI
b3N0LmNwcCIKLSNpbmNsdWRlICJKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIgogI2luY2x1ZGUg
IkpTS2V5Ym9hcmRFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNMb2NhdGlvbi5jcHAiCiAjaW5jbHVk
ZSAiSlNNZWRpYUNvbnRyb2xsZXIuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggMjcyYzcyNy4uNjJhMzE1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC03
MjcsOCArNzI3LDYgQEAgYWxsIDogXAogICAgICQoSlNfRE9NX0hFQURFUlMpIFwKICAgICAkKFdF
Ql9ET01fSEVBREVSUykgXAogICAgIFwKLSAgICBKU0phdmFTY3JpcHRDYWxsRnJhbWUuaCBcCi0g
ICAgXAogICAgIENTU0dyYW1tYXIuY3BwIFwKICAgICBDU1NQcm9wZXJ0eU5hbWVzLmggXAogICAg
IENTU1ZhbHVlS2V5d29yZHMuaCBcCkBAIC0xMDg1LDcgKzEwODMsNiBAQCBXT1JLRVJHTE9CQUxT
Q09QRV9DT05TVFJVQ1RPUlNfRklMRSA9IC4vV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnMu
aWRsCiBTSEFSRURXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSA9IC4vU2hhcmVk
V29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnMuaWRsCiBERURJQ0FURURXT1JLRVJHTE9CQUxT
Q09QRV9DT05TVFJVQ1RPUlNfRklMRSA9IC4vRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25z
dHJ1Y3RvcnMuaWRsCiBJRExfRklMRVNfVE1QID0gLi9pZGxfZmlsZXMudG1wCi1BRERJVElPTkFM
X0lETFMgPSAkKFdlYkNvcmUpL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmlkbAogSURM
X0FUVFJJQlVURVNfRklMRSA9ICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1
dGVzLnR4dAogCiAjIFRoZSBmb2xsb3dpbmcgdHdvIGxpbmVzIGdldCBhIHNwYWNlIGNoYXJhY3Rl
ciBzdG9yZWQgaW4gYSB2YXJpYWJsZS4KQEAgLTEwOTMsOCArMTA5MCw4IEBAIElETF9BVFRSSUJV
VEVTX0ZJTEUgPSAkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQK
IHNwYWNlIDo9CiBzcGFjZSArPQogCi0kKFNVUFBMRU1FTlRBTF9NQUtFRklMRV9ERVBTKSA6ICQo
UFJFUFJPQ0VTU19JRExTX1NDUklQVFMpICQoQklORElOR19JRExTKSAkKEFERElUSU9OQUxfSURM
UykgJChQTEFURk9STV9GRUFUVVJFX0RFRklORVMpCi0JcHJpbnRmICIkKHN1YnN0ICQoc3BhY2Up
LCwkKHBhdHN1YnN0ICUsJVxuLCQoQklORElOR19JRExTKSAkKEFERElUSU9OQUxfSURMUykpKSIg
PiAkKElETF9GSUxFU19UTVApCiskKFNVUFBMRU1FTlRBTF9NQUtFRklMRV9ERVBTKSA6ICQoUFJF
UFJPQ0VTU19JRExTX1NDUklQVFMpICQoQklORElOR19JRExTKSAkKFBMQVRGT1JNX0ZFQVRVUkVf
REVGSU5FUykKKwlwcmludGYgIiQoc3Vic3QgJChzcGFjZSksLCQocGF0c3Vic3QgJSwlXG4sJChC
SU5ESU5HX0lETFMpKSkiID4gJChJRExfRklMRVNfVE1QKQogCSQoY2FsbCBwcmVwcm9jZXNzX2lk
bHNfc2NyaXB0LCAkKFBSRVBST0NFU1NfSURMU19TQ1JJUFRTKSkgLS1kZWZpbmVzICIkKEZFQVRV
UkVfREVGSU5FUykgJChBRERJVElPTkFMX0lETF9ERUZJTkVTKSBMQU5HVUFHRV9KQVZBU0NSSVBU
IiAtLWlkbEZpbGVzTGlzdCAkKElETF9GSUxFU19UTVApIC0tc3VwcGxlbWVudGFsRGVwZW5kZW5j
eUZpbGUgJChTVVBQTEVNRU5UQUxfREVQRU5ERU5DWV9GSUxFKSAtLXdpbmRvd0NvbnN0cnVjdG9y
c0ZpbGUgJChXSU5ET1dfQ09OU1RSVUNUT1JTX0ZJTEUpIC0td29ya2VyR2xvYmFsU2NvcGVDb25z
dHJ1Y3RvcnNGaWxlICQoV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUpIC0tc2hh
cmVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnNGaWxlICQoU0hBUkVEV09SS0VSR0xPQkFM
U0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUpIC0tZGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25z
dHJ1Y3RvcnNGaWxlICQoREVESUNBVEVEV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJ
TEUpIC0tc3VwcGxlbWVudGFsTWFrZWZpbGVEZXBzICRACiAJcm0gLWYgJChJRExfRklMRVNfVE1Q
KQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA5Njg0OTUyLi4yMjM1NjNkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ1Nyw4ICs0NTcsNiBAQCB3ZWJjb3Jl
X2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNJbnNwZWN0b3JG
cm9udGVuZEhvc3QuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NjcmlwdFByb2Nlc3Nv
ck5vZGUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU2NyaXB0UHJvY2Vzc29yTm9k
ZS5oIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAg
XAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNLZXlib2FyZEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0xvY2F0aW9uLmNwcCBcCkBAIC0xNTQ5LDcgKzE1NDcsNiBAQCBkb21fYmluZGluZ19pZGxzICs9
IFwKIAkkKFdlYkNvcmUpL2h0bWwvdHJhY2svVmlkZW9UcmFja0xpc3QuaWRsIFwKIAkkKFdlYkNv
cmUpL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaWRsIFwKIAkkKFdlYkNvcmUpL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsIFwKLQkkKFdlYkNvcmUpL2luc3BlY3Rvci9K
YXZhU2NyaXB0Q2FsbEZyYW1lLmlkbCBcCiAJJChXZWJDb3JlKS9pbnNwZWN0b3IvU2NyaXB0UHJv
ZmlsZS5pZGwgXAogCSQoV2ViQ29yZSkvaW5zcGVjdG9yL1NjcmlwdFByb2ZpbGVOb2RlLmlkbCBc
CiAJJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwgXApA
QCAtMjM3MCw3ICsyMzY3LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0ltYWdlQ29uc3RydWN0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNJbWFnZURhdGFDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0luc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAgXAotCVNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSmF2YVNjcmlwdENhbGxGcmFtZUN1c3RvbS5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTGF6eUV2ZW50TGlzdGVuZXIuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0xhenlFdmVudExpc3RlbmVyLmggXAogCVNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTTG9jYXRpb25DdXN0b20uY3BwIFwKQEAgLTI0MzQsOCArMjQzMCw2IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxI
dHRwUmVxdWVzdEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTWFBh
dGhSZXN1bHRDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hTTFRQ
cm9jZXNzb3JDdXN0b20uY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KYXZhU2Ny
aXB0Q2FsbEZyYW1lLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSmF2YVNjcmlw
dENhbGxGcmFtZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9EaWN0aW9uYXJ5LmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvRGljdGlvbmFyeS5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5j
bWFrZQppbmRleCA2ZjU4MDFmLi44ZTFhYjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9V
c2VKU0MuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCkBAIC05Nyw3ICs5
Nyw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTSW1h
Z2VDb25zdHJ1Y3Rvci5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0ltYWdlRGF0YUN1c3RvbS5jcHAK
ICAgICBiaW5kaW5ncy9qcy9KU0luc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAKLSAgICBi
aW5kaW5ncy9qcy9KU0phdmFTY3JpcHRDYWxsRnJhbWVDdXN0b20uY3BwCiAgICAgYmluZGluZ3Mv
anMvSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0xvY2F0aW9uQ3Vz
dG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHAKQEAgLTE1
NCw3ICsxNTMsNiBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9q
cy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTWFBhdGhSZXN1
bHRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNYU0xUUHJvY2Vzc29yQ3VzdG9tLmNwcAot
ICAgIGJpbmRpbmdzL2pzL0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwCiAgICAgYmluZGluZ3MvanMv
UGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcAogICAgIGJpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlv
bi5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCAwMWUwY2Iz
Li4zNTZmYjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2oKQEAgLTMxODcsMjAgKzMxODcsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xD
b21waWxlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJj
aGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0phdmFTY3JpcHRDYWxs
RnJhbWUuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
LSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0g
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU0tleWJvYXJkRXZlbnQuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVn
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTE1ODAwLDIwICsxNTc4Niw2IEBACiAgICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwv
Q2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSmF2YVNj
cmlwdENhbGxGcmFtZS5jcHAiPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cYmluZGluZ3NcanNcSlNBdHRyQ3VzdG9tLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0xNjY1NiwyMCArMTY2MjgsNiBAQAogICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29t
cGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTSmF2YVNjcmlw
dENhbGxGcmFtZUN1c3RvbS5jcHAiPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cYmluZGluZ3NcanNcSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAiPgogICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
RGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVn
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTgyNjAsNyArMTgyMTgsNiBAQAog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxh
dGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSURCVHJh
bnNhY3Rpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU0ltYWdlRGF0YS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25m
aWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgiIC8+Ci0gICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFy
Y2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWls
ZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNLZXlib2FyZEV2ZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNMb2NhdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUp
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVkaWFDb250cm9sc0hvc3QuaCIgLz4K
QEAgLTIwNTYzLDcgKzIwNTIwLDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRp
bmdzXGpzXERPTVdyYXBwZXJXb3JsZC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
YmluZGluZ3NcanNcR0NDb250cm9sbGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxiaW5kaW5nc1xqc1xJREJCaW5kaW5nVXRpbGl0aWVzLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKYXZhU2NyaXB0Q2FsbEZyYW1lLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0NhbGxiYWNrRGF0YS5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNDU1NTdHlsZURlY2xhcmF0aW9u
Q3VzdG9tLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0N1
c3RvbVhQYXRoTlNSZXNvbHZlci5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IGM2NWQ2N2YuLjAxMjI3
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTQyMjQsOSArNDIyNCw2IEBACiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xJREJCaW5kaW5nVXRpbGl0aWVzLmNwcCI+CiAgICAgICA8
RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCI+Ci0g
ICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0F0dHJDdXN0b20uY3BwIj4KICAg
ICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQz
NjUsOSArNDM2Miw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xK
U0luc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAiPgogICAgICAgPEZpbHRlcj5iaW5kaW5n
c1xqczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cYmluZGluZ3NcanNcSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcCI+Ci0gICAgICA8
RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0xhenlFdmVudExpc3RlbmVyLmNwcCI+CiAg
ICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC01
NzE5LDkgKzU3MTMsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCI+CiAgICAgICA8RmlsdGVyPkRl
cml2ZWRTb3VyY2VzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVy
ZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNw
cCI+Ci0gICAgICA8RmlsdGVyPkRlcml2ZWRTb3VyY2VzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBp
bGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2Jq
JChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNL
ZXlib2FyZEV2ZW50LmNwcCI+CiAgICAgICA8RmlsdGVyPkRlcml2ZWRTb3VyY2VzPC9GaWx0ZXI+
CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xMTI3OSw5ICsxMTI3MCw2IEBACiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xJREJCaW5kaW5nVXRpbGl0aWVzLmgiPgogICAgICAg
PEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSmF2YVNjcmlwdENhbGxGcmFtZS5oIj4KLSAg
ICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTQ2FsbGJhY2tEYXRhLmgiPgogICAg
ICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTM0
NjIsOSArMTM0NTAsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgiPgogICAgICAgPEZpbHRlcj5EZXJp
dmVkU291cmNlczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUp
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSmF2YVNjcmlwdENhbGxGcmFtZS5oIj4K
LSAgICAgIDxGaWx0ZXI+RGVyaXZlZFNvdXJjZXM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBs
YXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0tleWJv
YXJkRXZlbnQuaCI+CiAgICAgICA8RmlsdGVyPkRlcml2ZWRTb3VyY2VzPC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggYWRjMzAyMi4uYTFhMDlmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTA0LDE0ICs5MDQsOSBA
QAogCQkxQzI2NDk3QzBEN0UyNEVDMDBCRDEwRjIgLyogUGFnZU1hYy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzI2NDk3QjBEN0UyNEVDMDBCRDEw
RjIgLyogUGFnZU1hYy5jcHAgKi87IH07CiAJCTFDNEM4RjAyMEFEODVEODcwMDk0NzVDRSAvKiBE
ZWxldGVCdXR0b25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQzRDOEYwMDBBRDg1RDg3MDA5NDc1Q0UgLyogRGVsZXRlQnV0dG9uQ29u
dHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTFDNEM4RjY2MEFEODY1NUQwMDk0NzVDRSAvKiBEZWxldGVCdXR0b24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNEM4RjY0MEFEODY1NUQwMDk0
NzVDRSAvKiBEZWxldGVCdXR0b24uaCAqLzsgfTsKLQkJMUM1RkFFRDEwRENGRDkwMTAwRDU4Rjc4
IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQzVGQUVDRjBEQ0ZEOTAxMDBENThGNzggLyogSlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lLmNwcCAqLzsgfTsKLQkJMUM1RkFFRDIwRENGRDkwMTAwRDU4Rjc4IC8qIEpT
SmF2YVNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUM1RkFFRDAwRENGRDkwMTAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxG
cmFtZS5oICovOyB9OwotCQkxQzVGQUVFNzBEQ0ZEQTY4MDBENThGNzggLyogSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFDNUZBRUU2MERDRkRBNjgwMEQ1OEY3OCAvKiBKU0phdmFTY3JpcHRDYWxsRnJh
bWVDdXN0b20uY3BwICovOyB9OwogCQkxQzgxQjk1QTBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVj
dG9yQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUM4MUI5NTYwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQzgxQjk1
QjBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzgxQjk1NzBFOTczMzA4MDAyNjZF
MDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgKi87IH07CiAJCTFDODFCOTVDMEU5NzMzMDgw
MDI2NkUwNyAvKiBJbnNwZWN0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFDODFCOTU4MEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JD
bGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQkxQzgxQkEwOTBFOTczNDgzMDAyNjZFMDcgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzgxQkEwMzBFOTcz
NDgzMDAyNjZFMDcgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgKi87IH07Ci0JCTFDODFCQTBB
MEU5NzM0ODMwMDI2NkUwNyAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzgxQkEwNDBFOTczNDgzMDAyNjZFMDcg
LyogSmF2YVNjcmlwdENhbGxGcmFtZS5oICovOyB9OwogCQkxQ0ExOUUwNTBEQzI1NTk1MDA2NUE5
OTQgLyogRXZlbnRMb29wTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUNBMTlFMDMwREMyNTU5NTAwNjVBOTk0IC8qIEV2ZW50TG9vcE1hYy5tbSAq
LzsgfTsKIAkJMUNBMTlFMTYwREMyNTVDQTAwNjVBOTk0IC8qIEV2ZW50TG9vcC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNBMTlFMTUwREMyNTVDQTAw
NjVBOTk0IC8qIEV2ZW50TG9vcC5oICovOyB9OwogCQkxQ0FGMzQ4MTBBNkM0MDUyMDBBQkUwNkUg
LyogV2ViU2NyaXB0T2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQ0FGMzQ3RTBBNkM0MDUyMDBBQkUwNkUgLyogV2ViU2NyaXB0T2JqZWN0Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTc2ODgs
MTUgKzc2ODMsOSBAQAogCQkxQzRDOEYwMDBBRDg1RDg3MDA5NDc1Q0UgLyogRGVsZXRlQnV0dG9u
Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZWxldGVCdXR0
b25Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNl
c1RhYnMgPSAwOyB9OwogCQkxQzRDOEY2MzBBRDg2NTVEMDA5NDc1Q0UgLyogRGVsZXRlQnV0dG9u
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERlbGV0ZUJ1dHRvbi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9
OwogCQkxQzRDOEY2NDBBRDg2NTVEMDA5NDc1Q0UgLyogRGVsZXRlQnV0dG9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlbGV0ZUJ1dHRvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKLQkJMUM1RkFFQ0YwRENGRDkw
MTAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQkxQzVGQUVEMDBEQ0ZEOTAxMDBENThGNzggLyogSlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSmF2YVNj
cmlwdENhbGxGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQzVGQUVFNjBE
Q0ZEQTY4MDBENThGNzggLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSmF2YVNjcmlwdENhbGxGcmFtZUN1c3Rv
bS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDODFCOTU2MEU5NzMzMDgwMDI2
NkUwNyAvKiBJbnNwZWN0b3JDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEluc3BlY3RvckNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMUM4MUI5NTcwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQ29udHJvbGxlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDODFCOTU4MEU5NzMzMDgwMDI2NkUw
NyAvKiBJbnNwZWN0b3JDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SW5zcGVjdG9yQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDODFCQTAz
MEU5NzM0ODMwMDI2NkUwNyAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQkxQzgxQkEwNDBFOTczNDgzMDAyNjZFMDcgLyogSmF2YVNj
cmlwdENhbGxGcmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZhU2Ny
aXB0Q2FsbEZyYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDODFCQTA1MEU5
NzM0ODMwMDI2NkUwNyAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBKYXZhU2NyaXB0Q2FsbEZyYW1lLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMUM5MDRERjkwQkE5RDJDODAwODFFOUQwIC8qIFZlcnNpb24ueGNjb25maWcgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gVmVyc2lvbi54Y2NvbmZpZzsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMUNBMTlFMDMwREMyNTU5NTAwNjVBOTk0IC8qIEV2ZW50TG9vcE1h
Yy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEV2ZW50TG9vcE1h
Yy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBMTlFMTUwREMyNTVDQTAwNjVB
OTk0IC8qIEV2ZW50TG9vcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFdmVu
dExvb3AuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NzcyLDggKzE0NzYxLDYg
QEAKIAkJCQlBNTg0RkUzQTE4NjRFMkQ4MDA4NDNCMTAgLyogSlNDb21tYW5kTGluZUFQSUhvc3Qu
aCAqLywKIAkJCQk3QTBFNzcxQzEwQzAwREIxMDBBMDI3NkUgLyogSlNJbnNwZWN0b3JGcm9udGVu
ZEhvc3QuY3BwICovLAogCQkJCTdBMEU3NzFEMTBDMDBEQjEwMEEwMjc2RSAvKiBKU0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5oICovLAotCQkJCTFDNUZBRUNGMERDRkQ5MDEwMEQ1OEY3OCAvKiBKU0ph
dmFTY3JpcHRDYWxsRnJhbWUuY3BwICovLAotCQkJCTFDNUZBRUQwMERDRkQ5MDEwMEQ1OEY3OCAv
KiBKU0phdmFTY3JpcHRDYWxsRnJhbWUuaCAqLywKIAkJCQk5RkEzN0VGNjExNzJGRDkzMDBDNENE
NTUgLyogSlNTY3JpcHRQcm9maWxlLmNwcCAqLywKIAkJCQk5RkEzN0VGNzExNzJGRDkzMDBDNENE
NTUgLyogSlNTY3JpcHRQcm9maWxlLmggKi8sCiAJCQkJOUZBMzdFRjgxMTcyRkQ5MzAwQzRDRDU1
IC8qIEpTU2NyaXB0UHJvZmlsZU5vZGUuY3BwICovLApAQCAtMTQ4ODQsNyArMTQ4NzEsNiBAQAog
CQkJCUYzNzVDQzA2MTE1MEQzMDAwMDhEREI4MSAvKiBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5o
ICovLAogCQkJCUYzNTBCNzM0MTNGMTM3N0QwMDg4MEM0MyAvKiBJbnN0cnVtZW50aW5nQWdlbnRz
LmNwcCAqLywKIAkJCQlGM0FCRkUwQjEzMEU5REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0Fn
ZW50cy5oICovLAotCQkJCTFDODFCQTA1MEU5NzM0ODMwMDI2NkUwNyAvKiBKYXZhU2NyaXB0Q2Fs
bEZyYW1lLmlkbCAqLywKIAkJCQk1OUMyN0YwNDEzOEQyOEMxMDA3OUI3RTIgLyogTmV0d29ya1Jl
c291cmNlc0RhdGEuY3BwICovLAogCQkJCTU5QzI3RjA2MTM4RDI4Q0YwMDc5QjdFMiAvKiBOZXR3
b3JrUmVzb3VyY2VzRGF0YS5oICovLAogCQkJCUYzODIwODhBMTQ3RDM1RjkwMDEwQkMwNiAvKiBQ
YWdlQ29uc29sZUFnZW50LmNwcCAqLywKQEAgLTIwMTQwLDggKzIwMTI2LDYgQEAKIAkJCQkxNDMy
RTg0NjBDNTE0OTM4MDBCMTUwMEYgLyogR0NDb250cm9sbGVyLmggKi8sCiAJCQkJQzU4NUE2NjAx
MUQ0RkFDNTAwNEMzRTRCIC8qIElEQkJpbmRpbmdVdGlsaXRpZXMuY3BwICovLAogCQkJCUM1ODVB
NjYxMTFENEZBQzUwMDRDM0U0QiAvKiBJREJCaW5kaW5nVXRpbGl0aWVzLmggKi8sCi0JCQkJMUM4
MUJBMDMwRTk3MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwICovLAotCQkJ
CTFDODFCQTA0MEU5NzM0ODMwMDI2NkUwNyAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmggKi8sCiAJ
CQkJRTE1N0E4RUUxODE4NTQyNTAwOUY4MjFEIC8qIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5j
cHAgKi8sCiAJCQkJRTE1N0E4RUYxODE4NTQyNTAwOUY4MjFEIC8qIEpTQ3J5cHRvQWxnb3JpdGht
QnVpbGRlci5oICovLAogCQkJCUUxMjVGODNCMTgyNDExRTcwMEQ4NENEOSAvKiBKU0NyeXB0b09w
ZXJhdGlvbkRhdGEuY3BwICovLApAQCAtMjAzMzYsNyArMjAzMjAsNiBAQAogCQkJCTUxMUVGMkNF
MTdGMEZERjEwMEU0RkExNiAvKiBKU0lEQk9iamVjdFN0b3JlQ3VzdG9tLmNwcCAqLywKIAkJCQlB
N0QwMzE4RDBFOTM1NDAzMDBFMjRBQ0QgLyogSlNJbWFnZURhdGFDdXN0b20uY3BwICovLAogCQkJ
CTdBNzRFQ0JDMTAxODM5REEwMEJGOTM5RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdEN1c3Rv
bS5jcHAgKi8sCi0JCQkJMUM1RkFFRTYwRENGREE2ODAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENh
bGxGcmFtZUN1c3RvbS5jcHAgKi8sCiAJCQkJQkNFMUM0M0YwRDk4MzBGNDAwM0IwMkYyIC8qIEpT
TG9jYXRpb25DdXN0b20uY3BwICovLAogCQkJCUFENzI2RkU3MTZEOUYyMDQwMDNBNEU2RCAvKiBK
U01lZGlhTGlzdEN1c3RvbS5oICovLAogCQkJCUUxQTVGOTlBMEU3RUFBMjUwMEFGODVFQSAvKiBK
U01lc3NhZ2VDaGFubmVsQ3VzdG9tLmNwcCAqLywKQEAgLTI0MDAwLDcgKzIzOTgzLDYgQEAKIAkJ
CQlFMTM0RjVBQjEyRUUzNDNGMDA0RUM1OEQgLyogSW50UmVjdEhhc2guaCBpbiBIZWFkZXJzICov
LAogCQkJCUIyNzUzNTc1MEIwNTM4MTQwMDJDRTY0RiAvKiBJbnRTaXplLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCMjc1MzU3NjBCMDUzODE0MDAyQ0U2NEYgLyogSW50U2l6ZUhhc2guaCBpbiBIZWFk
ZXJzICovLAotCQkJCTFDODFCQTBBMEU5NzM0ODMwMDI2NkUwNyAvKiBKYXZhU2NyaXB0Q2FsbEZy
YW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MThGODgwNTBGRjk1N0FGMDA4MEYwNDUgLyogSlNB
YnN0cmFjdFdvcmtlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkRBMTVFQ0ExMkIwM0Y1MDAwM0E1
ODNBIC8qIEpTQW5hbHlzZXJOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NURGMzFEQjA5RDFD
MTIzMDAwQkUzMjUgLyogSlNBdHRyLmggaW4gSGVhZGVycyAqLywKQEAgLTI0MjQ5LDcgKzI0MjMx
LDYgQEAKIAkJCQlCQzZDNDlGNDBEN0RCQTA1MDBGRkE1NTggLyogSlNJbWFnZUNvbnN0cnVjdG9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzc5NzkyOTBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFn
ZURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBMEU3NzFGMTBDMDBEQjEwMEEwMjc2RSAvKiBK
U0luc3BlY3RvckZyb250ZW5kSG9zdC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMUM1RkFFRDIwRENG
RDkwMTAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTg2NjI5RDMwOURBMkI0ODAwOTYzM0E1IC8qIEpTS2V5Ym9hcmRFdmVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFFMDBENTkxODJEQUM4RDAwMDg3REQ3IC8qIEtleWVkQ29kaW5nLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5MzVGNDU0MzBGN0MzQjVGMDBEN0MxRkIgLyogSlNMYXp5RXZlbnRM
aXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzMzMiw3ICsyNzMxMyw2IEBACiAJCQkJQjI3
NTM1N0QwQjA1MzgxNDAwMkNFNjRGIC8qIEludFJlY3RNYWMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlCMjc1MzU2MjBCMDUzODE0MDAyQ0U2NEYgLyogSW50U2l6ZUNHLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUIyNzUzNTdFMEIwNTM4MTQwMDJDRTY0RiAvKiBJbnRTaXplTWFjLm1tIGluIFNvdXJj
ZXMgKi8sCi0JCQkJMUM4MUJBMDkwRTk3MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJh
bWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE4Rjg4MDQwRkY5NTdBRTAwODBGMDQ1IC8qIEpT
QWJzdHJhY3RXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDczQkUzNEYxN0QxODE4MzAw
MkJENDMxIC8qIFJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTE3MkFGNkQxODBGMjRDNjAwRkJBREI5IC8qIENyeXB0b0FsZ29yaXRobS5jcHAgaW4gU291
cmNlcyAqLywKQEAgLTI3NjE0LDEwICsyNzU5NCw4IEBACiAJCQkJQTdEMDMxOEUwRTkzNTQwMzAw
RTI0QUNEIC8qIEpTSW1hZ2VEYXRhQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBMEU3
NzFFMTBDMDBEQjEwMEEwMjc2RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk3QTc0RUNCRDEwMTgzOURBMDBCRjkzOUUgLyogSlNJbnNwZWN0b3JGcm9u
dGVuZEhvc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMUM1RkFFRDEwRENGRDkwMTAw
RDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkw
NzYzMDZFMDE3RTE2MDg5MDA1QTdDNEUgLyogSlNTb3VyY2VJbmZvLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTA3OTY5REI3MTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ0ljZUNhbmRpZGF0ZUV2ZW50
LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTFDNUZBRUU3MERDRkRBNjgwMEQ1OEY3OCAvKiBKU0ph
dmFTY3JpcHRDYWxsRnJhbWVDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg2NjI5RDQw
OURBMkI0ODAwOTYzM0E1IC8qIEpTS2V5Ym9hcmRFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk5MzVGNDU0MjBGN0MzQjVGMDBEN0MxRkIgLyogSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCQ0UxQzQzQjBEOTgzMEQzMDAzQjAyRjIgLyogSlNMb2NhdGlvbi5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQmluZGluZ3NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Jp
bmRpbmdzQWxsSW5PbmUuY3BwCmluZGV4IDdiYjE5NjkuLmRkMWY2YTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcApAQCAtMjAsNyAr
MjAsNyBAQAogICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCiAvLyBUaGlzIGFsbC1pbi1vbmUgY3BwIGZp
bGUgY3V0cyBkb3duIG9uIHRlbXBsYXRlIGJsb2F0IHRvIGFsbG93IHVzIHRvIGJ1aWxkIG91ciBX
aW5kb3dzIHJlbGVhc2UgYnVpbGQuCkBAIC05NSw3ICs5NSw2IEBACiAjaW5jbHVkZSAiSlNJbWFn
ZUNvbnN0cnVjdG9yLmNwcCIKICNpbmNsdWRlICJKU0ltYWdlRGF0YUN1c3RvbS5jcHAiCiAjaW5j
bHVkZSAiSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwIgotI2luY2x1ZGUgIkpTSmF2
YVNjcmlwdENhbGxGcmFtZUN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNMYXp5RXZlbnRMaXN0ZW5l
ci5jcHAiCiAjaW5jbHVkZSAiSlNMb2NhdGlvbkN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmNwcCIKQEAgLTE0MSw3ICsxNDAsNiBAQAogI2luY2x1ZGUgIkpTWE1M
SHR0cFJlcXVlc3RDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTWFBhdGhSZXN1bHRDdXN0b20uY3Bw
IgogI2luY2x1ZGUgIkpTWFNMVFByb2Nlc3NvckN1c3RvbS5jcHAiCi0jaW5jbHVkZSAiSmF2YVNj
cmlwdENhbGxGcmFtZS5jcHAiCiAjaW5jbHVkZSAiUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcCIK
ICNpbmNsdWRlICJTY2hlZHVsZWRBY3Rpb24uY3BwIgogI2luY2x1ZGUgIlNjcmlwdENhY2hlZEZy
YW1lRGF0YS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSmF2YVNj
cmlwdENhbGxGcmFtZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSmF2YVNjcmlwdENh
bGxGcmFtZS5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiNDg5NGEuLjAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRs
CisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
OCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBOb0ludGVyZmFjZU9iamVjdCwKLSAgICBDb25k
aXRpb25hbD1KQVZBU0NSSVBUX0RFQlVHR0VSLAotICAgIERvTm90Q2hlY2tDb25zdGFudHMsCi0g
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgSmF2YVNjcmlwdENhbGxG
cmFtZSB7Ci0KLSAgICAvLyBTY29wZSB0eXBlCi0gICAgY29uc3QgdW5zaWduZWQgc2hvcnQgR0xP
QkFMX1NDT1BFID0gMDsKLSAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBMT0NBTF9TQ09QRSA9IDE7
Ci0gICAgY29uc3QgdW5zaWduZWQgc2hvcnQgV0lUSF9TQ09QRSA9IDI7Ci0gICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgQ0xPU1VSRV9TQ09QRSA9IDM7Ci0gICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
Q0FUQ0hfU0NPUEUgPSA0OwotCi0gICAgW0N1c3RvbV0gdm9pZCBldmFsdWF0ZShET01TdHJpbmcg
c2NyaXB0KTsKLSAgICAKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgSmF2YVNjcmlwdENhbGxGcmFt
ZSBjYWxsZXI7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgc291cmNlSUQ7Ci0gICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGxvbmcgbGluZTsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBj
b2x1bW47Ci0gICAgW0N1c3RvbUdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIEFycmF5IHNjb3Bl
Q2hhaW47Ci0gICAgW0N1c3RvbV0gdW5zaWduZWQgc2hvcnQgc2NvcGVUeXBlKGludCBzY29wZUlu
ZGV4KTsKLSAgICBbQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgT2JqZWN0IHRoaXNP
YmplY3Q7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBmdW5jdGlvbk5hbWU7Ci0g
ICAgW0N1c3RvbUdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwotfTsK
</data>
<flag name="review"
          id="246142"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222172</attachid>
            <date>2014-01-24 17:15:22 -0800</date>
            <delta_ts>2014-01-24 17:23:51 -0800</delta_ts>
            <desc>[PATCH] Part 2 - ScriptDebugServer</desc>
            <filename>part2.patch</filename>
            <type>text/plain</type>
            <size>47699</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA4NmU2ZWUxLi4xYTNkMzY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yNDAsNiArMjQwLDcgQEAgc2V0
KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZy
YW1lLmNwcAogICAgIGluc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3Bw
CiAgICAgaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwCisgICAgaW5zcGVjdG9yL1Nj
cmlwdERlYnVnU2VydmVyLmNwcAogICAgIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQu
Y3BwCiAKICAgICBpbnRlcnByZXRlci9BYnN0cmFjdFBDLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cKaW5kZXggYTlkNTcyYy4uMmUzODdmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC05
LDYgKzksMzQgQEAKICAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgogICAgICAgICAqIEph
dmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoKICAgICAgICAgKiBK
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgbmV3
IGZpbGVzLgorCisgICAgICAgICogaW5zcGVjdG9yL1NjcmlwdERlYnVnTGlzdGVuZXIuaDoKKyAg
ICAgICAgRXh0cmFjdCBXZWJDb3JlIGtub3dsZWRnZSBmcm9tIFNjcmlwdERlYnVnU2VydmVyLiBU
aGlzIHdpbGwKKyAgICAgICAgZXZlbnR1YWxseSBiZSBtYWRlIHRvIHdvcmsgb3V0c2lkZSBvZiBX
ZWJDb3JlLgorCisgICAgICAgICogaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmg6IFJlbmFt
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oLgor
ICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5jcHA6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5jcHAuCisgICAgICAg
IChJbnNwZWN0b3I6OlNjcmlwdERlYnVnU2VydmVyOjpldmFsdWF0ZUJyZWFrcG9pbnRBY3Rpb24p
OgorICAgICAgICAoSW5zcGVjdG9yOjpTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlzcGF0Y2hEaWRQYXVz
ZSk6CisgICAgICAgIChJbnNwZWN0b3I6OlNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaEJyZWFr
cG9pbnRBY3Rpb25Mb2cpOgorICAgICAgICAoSW5zcGVjdG9yOjpTY3JpcHREZWJ1Z1NlcnZlcjo6
ZGlzcGF0Y2hCcmVha3BvaW50QWN0aW9uU291bmQpOgorICAgICAgICAoSW5zcGVjdG9yOjpTY3Jp
cHREZWJ1Z1NlcnZlcjo6c291cmNlUGFyc2VkKToKKyAgICAgICAgKEluc3BlY3Rvcjo6U2NyaXB0
RGVidWdTZXJ2ZXI6OmRpc3BhdGNoRnVuY3Rpb25Ub0xpc3RlbmVycyk6CisgICAgICAgIChJbnNw
ZWN0b3I6OlNjcmlwdERlYnVnU2VydmVyOjpoYW5kbGVQYXVzZSk6CisgICAgICAgIE1vZGVybml6
ZSBjb2RlLCBhbmQgY2FsbCB0aGUgbmV3IFNjcmlwdERlYnVnTGlzdGVuZXIgY2FsbGJhY2tzIHdo
ZXJlIGFwcHJvcHJpYXRlLgorCisyMDE0LTAxLTIzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFy
b0BhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBKYXZhU2NyaXB0Q2FsbEZyYW1lIGFuZCBTY3Jp
cHREZWJ1Z1NlcnZlciBpbnRvIEphdmFTY3JpcHRDb3JlIGZvciBpbnNwZWN0b3IKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzU0MworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6CisgICAgICAgICogSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKICAgICAgICAgQWRkIG5ldyBmaWxlcyB0byB0
aGUgYnVpbGQuCiAKICAgICAgICAgKiBpbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNw
cDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSmF2YVNjcmlwdENh
bGxGcmFtZUN1c3RvbS5jcHAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05V
bWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCmluZGV4IGE1ZjY4ZmIuLmM0MTQzZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCkBAIC02NjEsNiArNjYxLDggQEAgamF2YXNjcmlwdGNvcmVfc291cmNl
cyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZy
YW1lLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0QnJlYWtwb2lu
dC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnTGlzdGVu
ZXIuaCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZl
ci5jcHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2
ZXIuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
QWdlbnQuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yQWdlbnQuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQWJzdHJh
Y3RQQy5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggYjIx
OGZjZS4uN2YwMmNmMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCkBA
IC00ODksNiArNDg5LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxK
U0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
aW5zcGVjdG9yXEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAiIC8+
CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0RGVidWdTZXJ2ZXIu
Y3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNw
ZWN0b3JBZ2VudC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnRlcnByZXRl
clxBYnN0cmFjdFBDLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGludGVycHJl
dGVyXENhbGxGcmFtZS5jcHAiIC8+CkBAIC0xMDY1LDYgKzEwNjYsNyBAQAogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEphdmFTY3JpcHRDYWxsRnJhbWUuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRCcmVha3BvaW50LmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0RGVidWdMaXN0ZW5lci5o
IiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdERlYnVnU2Vy
dmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcYWdlbnRzXElu
c3BlY3RvckFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnRlcnByZXRl
clxBYnN0cmFjdFBDLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnRlcnByZXRl
clxDYWNoZWRDYWxsLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDNiYjAw
ZDguLjFjN2RiZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05MDgsNiArOTA4
LDggQEAKIAkJQTUwM0ZBMUUxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFt
ZVByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTUwM0ZBMTgxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3Rv
dHlwZS5oICovOyB9OwogCQlBNTAzRkEyMTE4OEVGRjY4MDAxMTBGMTQgLyogU2NyaXB0QnJlYWtw
b2ludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUw
M0ZBMUYxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdEJyZWFrcG9pbnQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNTAzRkEyMjE4OEVGRjY4MDAx
MTBGMTQgLyogU2NyaXB0RGVidWdMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTUwM0ZBMjAxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdERl
YnVnTGlzdGVuZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQlBNTAzRkEyNTE4OEVGRkZEMDAxMTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUwM0ZBMjMx
ODhFRkZGRDAwMTEwRjE0IC8qIFNjcmlwdERlYnVnU2VydmVyLmNwcCAqLzsgfTsKKwkJQTUwM0ZB
MjYxODhFRkZGRDAwMTEwRjE0IC8qIFNjcmlwdERlYnVnU2VydmVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTAzRkEyNDE4OEVGRkZEMDAxMTBGMTQg
LyogU2NyaXB0RGVidWdTZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlBNTEwMDdDMDE4N0NDM0M2MDBCMzg4NzkgLyogSlNHbG9iYWxPYmpl
Y3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE1MTAwN0JFMTg3Q0MzQzYwMEIzODg3OSAvKiBKU0dsb2JhbE9iamVj
dEluc3BlY3RvckNvbnRyb2xsZXIuY3BwICovOyB9OwogCQlBNTEwMDdDMTE4N0NDM0M2MDBCMzg4
NzkgLyogSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTEwMDdCRjE4N0NDM0M2MDBCMzg4Nzkg
LyogSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmggKi87IH07CiAJCUE1MTNFNUI3
MTg1QjhCRDMwMDdFOTVBRCAvKiBJbmplY3RlZFNjcmlwdC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTEzRTVCNTE4NUI4QkQzMDA3RTk1QUQgLyog
SW5qZWN0ZWRTY3JpcHQuY3BwICovOyB9OwpAQCAtMjMwNCw2ICsyMzA2LDggQEAKIAkJQTUwM0ZB
MTgxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90
b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTUwM0ZBMUYxODhFRkY2ODAw
MTEwRjE0IC8qIFNjcmlwdEJyZWFrcG9pbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU2NyaXB0QnJlYWtwb2ludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
NTAzRkEyMDE4OEVGRjY4MDAxMTBGMTQgLyogU2NyaXB0RGVidWdMaXN0ZW5lci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHREZWJ1Z0xpc3RlbmVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MDNGQTIzMTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHRE
ZWJ1Z1NlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3Jp
cHREZWJ1Z1NlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MDNGQTI0
MTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z1NlcnZlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTY3JpcHREZWJ1Z1NlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBNTEwMDdCRTE4N0NDM0M2MDBCMzg4NzkgLyogSlNHbG9iYWxPYmplY3RJbnNw
ZWN0b3JDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUE1MTAwN0JGMTg3Q0MzQzYwMEIzODg3OSAvKiBKU0dsb2JhbE9iamVjdElu
c3BlY3RvckNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNH
bG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE1MTNFNUI1MTg1QjhCRDMwMDdFOTVBRCAvKiBJbmplY3RlZFNjcmlwdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmplY3RlZFNjcmlwdC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NDI5LDYgKzQ0MzMsOCBAQAogCQkJCUE1MDNG
QTE0MTg4RTBGQUYwMDExMEYxNCAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmggKi8sCiAJCQkJQTUw
M0ZBMUYxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdEJyZWFrcG9pbnQuaCAqLywKIAkJCQlBNTAz
RkEyMDE4OEVGRjY4MDAxMTBGMTQgLyogU2NyaXB0RGVidWdMaXN0ZW5lci5oICovLAorCQkJCUE1
MDNGQTIzMTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z1NlcnZlci5jcHAgKi8sCisJCQkJ
QTUwM0ZBMjQxODhFRkZGRDAwMTEwRjE0IC8qIFNjcmlwdERlYnVnU2VydmVyLmggKi8sCiAJCQkp
OwogCQkJcGF0aCA9IGluc3BlY3RvcjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC00
ODE5LDYgKzQ4MjUsNyBAQAogCQkJCTBGNjY2RUMxMTgzNTY2RjkwMEQwMTdGMSAvKiBGdWxsQnl0
ZWNvZGVMaXZlbmVzcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJFNTI2QkUxNTkwRUYwMDAwNTRF
NDhEIC8qIEhlYXBUaW1lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0NjgwRDUxNEJCRDI0QjAw
QkZFMjcyIC8qIEhvc3RDYWxsUmV0dXJuVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1MDNG
QTI2MTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z1NlcnZlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkMxOEM0MEYwRTE2RjVDRDAwQjM0NDYwIC8qIElkZW50aWZpZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUMyNUY4QkNFMTU3NTQ0QTkwMDI0NUI3MSAvKiBJbmNyZW1lbnRhbFN3ZWVwZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGQjdGMzk5MTVFRDhFNDYwMEYxNjdCMiAvKiBJbmRleGlu
Z0hlYWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC02MDcxLDYgKzYwNzgsNyBAQAogCQkJCUE3MzBC
NjEzMTI1MDA2OEYwMDlEMjVCMSAvKiBTdHJpY3RFdmFsQWN0aXZhdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxNDQ2OURFQjEwN0VDN0U3MDA2NTA0NDYgLyogU3RyaW5nQ29uc3RydWN0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ0NjlERUMxMDdFQzdFNzAwNjUwNDQ2IC8qIFN0cmlu
Z09iamVjdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTAzRkEyNTE4OEVGRkZEMDAxMTBGMTQg
LyogU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ0NjlERUQxMDdF
QzdFNzAwNjUwNDQ2IC8qIFN0cmluZ1Byb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
MzM1RjI0RDEyRTY3NjVCMDAyQjU1NTMgLyogU3RyaW5nUmVjdXJzaW9uQ2hlY2tlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCQ0RFM0I0MzBFNkM4MzJEMDAxNDUzQTcgLyogU3RydWN0dXJlLmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9TY3JpcHREZWJ1Z0xpc3RlbmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL1NjcmlwdERlYnVnTGlzdGVuZXIuaAppbmRleCA3M2Y4NTg4Li5kMWZkYTExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnTGlzdGVuZXIu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnTGlzdGVu
ZXIuaApAQCAtNzMsNiArNzMsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFBhdXNl
KEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUmIGNhbGxGcmFt
ZXMsIGNvbnN0IERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBleGNlcHRpb24pID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgZGlkU2FtcGxlUHJvYmUoSlNDOjpFeGVjU3RhdGUqLCBpbnQgcHJvYmVJZGVu
dGlmaWVyLCBpbnQgaGl0Q291bnQsIGNvbnN0IERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiByZXN1
bHQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ29udGludWUoKSA9IDA7CisKKyAgICB2aXJ0
dWFsIHZvaWQgYnJlYWtwb2ludEFjdGlvbkxvZyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmlu
ZyYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgYnJlYWtwb2ludEFjdGlvblNvdW5kKCkgPSAwOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcApzaW1pbGFyaXR5IGluZGV4IDg2JQpy
ZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5j
cHAKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdT
ZXJ2ZXIuY3BwCmluZGV4IDQ3Y2U2ZTYuLmQ3ZTg2Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcApAQCAtMjksMjIgKzI5LDE2
IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKEpBVkFTQ1JJUFRf
REVCVUdHRVIpCi0KICNpbmNsdWRlICJTY3JpcHREZWJ1Z1NlcnZlci5oIgogCi0jaW5jbHVkZSAi
RXZlbnRMb29wLmgiCi0jaW5jbHVkZSAiSlNET01XaW5kb3dDdXN0b20uaCIKKyNpZiBFTkFCTEUo
SkFWQVNDUklQVF9ERUJVR0dFUikKKworI2luY2x1ZGUgIkRlYnVnZ2VyQ2FsbEZyYW1lLmgiCiAj
aW5jbHVkZSAiSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmgiCisjaW5jbHVkZSAiSlNMb2NrLmgiCiAj
aW5jbHVkZSAiSmF2YVNjcmlwdENhbGxGcmFtZS5oIgotI2luY2x1ZGUgIlBhZ2VDb25zb2xlLmgi
Ci0jaW5jbHVkZSAiU291bmQuaCIKLSNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUgPGJpbmRp
bmdzL1NjcmlwdFZhbHVlLmg+Ci0jaW5jbHVkZSA8ZGVidWdnZXIvRGVidWdnZXJDYWxsRnJhbWUu
aD4KLSNpbmNsdWRlIDxwYXJzZXIvU291cmNlUHJvdmlkZXIuaD4KLSNpbmNsdWRlIDxydW50aW1l
L0pTTG9jay5oPgorI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCisjaW5jbHVkZSAiU291cmNlUHJv
dmlkZXIuaCIKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9UZW1wb3JhcnlDaGFuZ2UuaD4KQEAgLTUzLDcg
KzQ3LDcgQEAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9y
OwogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogU2NyaXB0
RGVidWdTZXJ2ZXI6OlNjcmlwdERlYnVnU2VydmVyKGJvb2wgaXNJbldvcmtlclRocmVhZCkKICAg
ICA6IERlYnVnZ2VyKGlzSW5Xb3JrZXJUaHJlYWQpCkBAIC05NywxMSArOTEsMTAgQEAgdm9pZCBT
Y3JpcHREZWJ1Z1NlcnZlcjo6cmVtb3ZlQnJlYWtwb2ludChKU0M6OkJyZWFrcG9pbnRJRCBpZCkK
IGJvb2wgU2NyaXB0RGVidWdTZXJ2ZXI6OmV2YWx1YXRlQnJlYWtwb2ludEFjdGlvbihjb25zdCBT
Y3JpcHRCcmVha3BvaW50QWN0aW9uJiBicmVha3BvaW50QWN0aW9uKQogewogICAgIERlYnVnZ2Vy
Q2FsbEZyYW1lKiBkZWJ1Z2dlckNhbGxGcmFtZSA9IGN1cnJlbnREZWJ1Z2dlckNhbGxGcmFtZSgp
OworCiAgICAgc3dpdGNoIChicmVha3BvaW50QWN0aW9uLnR5cGUpIHsKICAgICBjYXNlIFNjcmlw
dEJyZWFrcG9pbnRBY3Rpb25UeXBlTG9nOiB7Ci0gICAgICAgIERPTVdpbmRvdyYgd2luZG93ID0g
YXNKU0RPTVdpbmRvdyhkZWJ1Z2dlckNhbGxGcmFtZS0+dm1FbnRyeUdsb2JhbE9iamVjdCgpKS0+
aW1wbCgpOwotICAgICAgICBpZiAoUGFnZUNvbnNvbGUqIGNvbnNvbGUgPSB3aW5kb3cucGFnZUNv
bnNvbGUoKSkKLSAgICAgICAgICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNl
LCBMb2dNZXNzYWdlTGV2ZWwsIGJyZWFrcG9pbnRBY3Rpb24uZGF0YSk7CisgICAgICAgIGRpc3Bh
dGNoQnJlYWtwb2ludEFjdGlvbkxvZyhkZWJ1Z2dlckNhbGxGcmFtZS0+ZXhlYygpLCBicmVha3Bv
aW50QWN0aW9uLmRhdGEpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBTY3JpcHRC
cmVha3BvaW50QWN0aW9uVHlwZUV2YWx1YXRlOiB7CkBAIC0xMTIsMTkgKzEwNSwyMSBAQCBib29s
IFNjcmlwdERlYnVnU2VydmVyOjpldmFsdWF0ZUJyZWFrcG9pbnRBY3Rpb24oY29uc3QgU2NyaXB0
QnJlYWtwb2ludEFjdGlvbiYgYgogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBTY3Jp
cHRCcmVha3BvaW50QWN0aW9uVHlwZVNvdW5kOgotICAgICAgICBzeXN0ZW1CZWVwKCk7CisgICAg
ICAgIGRpc3BhdGNoQnJlYWtwb2ludEFjdGlvblNvdW5kKGRlYnVnZ2VyQ2FsbEZyYW1lLT5leGVj
KCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNjcmlwdEJyZWFrcG9pbnRBY3Rpb25UeXBl
UHJvYmU6IHsKICAgICAgICAgSlNWYWx1ZSBleGNlcHRpb247CiAgICAgICAgIEpTVmFsdWUgcmVz
dWx0ID0gZGVidWdnZXJDYWxsRnJhbWUtPmV2YWx1YXRlKGJyZWFrcG9pbnRBY3Rpb24uZGF0YSwg
ZXhjZXB0aW9uKTsKICAgICAgICAgaWYgKGV4Y2VwdGlvbikKICAgICAgICAgICAgIHJlcG9ydEV4
Y2VwdGlvbihkZWJ1Z2dlckNhbGxGcmFtZS0+ZXhlYygpLCBleGNlcHRpb24pOwotCisgICAgICAg
IAogICAgICAgICBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUgPSBkZWJ1Z2dlckNhbGxGcmFtZS0+c2Nv
cGUoKS0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKICAgICAgICAgRGVwcmVjYXRlZDo6
U2NyaXB0VmFsdWUgd3JhcHBlZFJlc3VsdCA9IERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlKHN0YXRl
LT52bSgpLCBleGNlcHRpb24gPyBleGNlcHRpb24gOiByZXN1bHQpOwogICAgICAgICBkaXNwYXRj
aERpZFNhbXBsZVByb2JlKHN0YXRlLCBicmVha3BvaW50QWN0aW9uLmlkZW50aWZpZXIsIHdyYXBw
ZWRSZXN1bHQpOwogICAgICAgICBicmVhazsKICAgICB9CisgICAgZGVmYXVsdDoKKyAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CkBAIC0xNDMs
MTggKzEzOCw0NiBAQCB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaERpZFBhdXNlKFNj
cmlwdERlYnVnTGlzdGVuZXIqIGxpc3RlbmVyKQogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QgPSBkZWJ1Z2dlckNhbGxGcmFtZS0+c2NvcGUoKS0+Z2xvYmFsT2JqZWN0KCk7CiAgICAg
SlNDOjpFeGVjU3RhdGUqIHN0YXRlID0gZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7CiAgICAg
UmVmUHRyPEphdmFTY3JpcHRDYWxsRnJhbWU+IGphdmFTY3JpcHRDYWxsRnJhbWUgPSBKYXZhU2Ny
aXB0Q2FsbEZyYW1lOjpjcmVhdGUoZGVidWdnZXJDYWxsRnJhbWUpOwotICAgIEpTVmFsdWUganND
YWxsRnJhbWU7Ci0gICAgewotICAgICAgICBpZiAoZ2xvYmFsT2JqZWN0LT5pbmhlcml0cyhKU0RP
TUdsb2JhbE9iamVjdDo6aW5mbygpKSkgewotICAgICAgICAgICAgSlNET01HbG9iYWxPYmplY3Qq
IGRvbUdsb2JhbE9iamVjdCA9IGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCk7Ci0gICAgICAgICAgICBKU0xvY2tIb2xkZXIgbG9jayhzdGF0ZSk7Ci0gICAgICAgICAgICBq
c0NhbGxGcmFtZSA9IHRvSlMoc3RhdGUsIGRvbUdsb2JhbE9iamVjdCwgamF2YVNjcmlwdENhbGxG
cmFtZS5nZXQoKSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAganNDYWxsRnJhbWUgPSBq
c1VuZGVmaW5lZCgpOwotICAgIH0KKyAgICBKU1ZhbHVlIGpzQ2FsbEZyYW1lID0gdG9KUyhzdGF0
ZSwgZ2xvYmFsT2JqZWN0LCBqYXZhU2NyaXB0Q2FsbEZyYW1lLmdldCgpKTsKICAgICBsaXN0ZW5l
ci0+ZGlkUGF1c2Uoc3RhdGUsIERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlKHN0YXRlLT52bSgpLCBq
c0NhbGxGcmFtZSksIERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlKCkpOwogfQogCit2b2lkIFNjcmlw
dERlYnVnU2VydmVyOjpkaXNwYXRjaEJyZWFrcG9pbnRBY3Rpb25Mb2coRXhlY1N0YXRlKiBleGVj
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCit7CisgICAgaWYgKG1fY2FsbGluZ0xpc3RlbmVycykK
KyAgICAgICAgcmV0dXJuOworCisgICAgTGlzdGVuZXJTZXQqIGxpc3RlbmVycyA9IGdldExpc3Rl
bmVyc0Zvckdsb2JhbE9iamVjdChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOworICAgIGlm
ICghbGlzdGVuZXJzKQorICAgICAgICByZXR1cm47CisgICAgQVNTRVJUKCFsaXN0ZW5lcnMtPmlz
RW1wdHkoKSk7CisKKyAgICBUZW1wb3JhcnlDaGFuZ2U8Ym9vbD4gY2hhbmdlKG1fY2FsbGluZ0xp
c3RlbmVycywgdHJ1ZSk7CisKKyAgICBWZWN0b3I8U2NyaXB0RGVidWdMaXN0ZW5lcio+IGxpc3Rl
bmVyc0NvcHk7CisgICAgY29weVRvVmVjdG9yKCpsaXN0ZW5lcnMsIGxpc3RlbmVyc0NvcHkpOwor
ICAgIGZvciAoYXV0byBsaXN0ZW5lciA6IGxpc3RlbmVyc0NvcHkpCisgICAgICAgIGxpc3RlbmVy
LT5icmVha3BvaW50QWN0aW9uTG9nKGV4ZWMsIG1lc3NhZ2UpOworfQorCit2b2lkIFNjcmlwdERl
YnVnU2VydmVyOjpkaXNwYXRjaEJyZWFrcG9pbnRBY3Rpb25Tb3VuZChFeGVjU3RhdGUqIGV4ZWMp
Cit7CisgICAgaWYgKG1fY2FsbGluZ0xpc3RlbmVycykKKyAgICAgICAgcmV0dXJuOworCisgICAg
TGlzdGVuZXJTZXQqIGxpc3RlbmVycyA9IGdldExpc3RlbmVyc0Zvckdsb2JhbE9iamVjdChleGVj
LT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOworICAgIGlmICghbGlzdGVuZXJzKQorICAgICAgICBy
ZXR1cm47CisgICAgQVNTRVJUKCFsaXN0ZW5lcnMtPmlzRW1wdHkoKSk7CisKKyAgICBUZW1wb3Jh
cnlDaGFuZ2U8Ym9vbD4gY2hhbmdlKG1fY2FsbGluZ0xpc3RlbmVycywgdHJ1ZSk7CisKKyAgICBW
ZWN0b3I8U2NyaXB0RGVidWdMaXN0ZW5lcio+IGxpc3RlbmVyc0NvcHk7CisgICAgY29weVRvVmVj
dG9yKCpsaXN0ZW5lcnMsIGxpc3RlbmVyc0NvcHkpOworICAgIGZvciAoYXV0byBsaXN0ZW5lciA6
IGxpc3RlbmVyc0NvcHkpCisgICAgICAgIGxpc3RlbmVyLT5icmVha3BvaW50QWN0aW9uU291bmQo
KTsKK30KKwogdm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlzcGF0Y2hEaWRTYW1wbGVQcm9iZShF
eGVjU3RhdGUqIGV4ZWMsIGludCBpZGVudGlmaWVyLCBjb25zdCBEZXByZWNhdGVkOjpTY3JpcHRW
YWx1ZSYgc2FtcGxlKQogewogICAgIGlmIChtX2NhbGxpbmdMaXN0ZW5lcnMpCkBAIC0yMjMsMTEg
KzI0Niw2IEBAIHZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNoRmFpbGVkVG9QYXJzZVNv
dXJjZShjb25zdCBMaXN0ZW5lclNldCYgbGlzdGVuZXJzCiAgICAgICAgIGNvcHlbaV0tPmZhaWxl
ZFRvUGFyc2VTb3VyY2UodXJsLCBkYXRhLCBmaXJzdExpbmUsIGVycm9yTGluZSwgZXJyb3JNZXNz
YWdlKTsKIH0KIAotYm9vbCBTY3JpcHREZWJ1Z1NlcnZlcjo6aXNDb250ZW50U2NyaXB0KEV4ZWNT
dGF0ZSogZXhlYykKLXsKLSAgICByZXR1cm4gJmN1cnJlbnRXb3JsZChleGVjKSAhPSAmbWFpblRo
cmVhZE5vcm1hbFdvcmxkKCk7Ci19Ci0KIHZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OnNvdXJjZVBh
cnNlZChFeGVjU3RhdGUqIGV4ZWMsIFNvdXJjZVByb3ZpZGVyKiBzb3VyY2VQcm92aWRlciwgaW50
IGVycm9yTGluZSwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpCiB7CiAgICAgaWYgKG1fY2Fs
bGluZ0xpc3RlbmVycykKQEAgLTIzOCwxNSArMjU2LDEzIEBAIHZvaWQgU2NyaXB0RGVidWdTZXJ2
ZXI6OnNvdXJjZVBhcnNlZChFeGVjU3RhdGUqIGV4ZWMsIFNvdXJjZVByb3ZpZGVyKiBzb3VyY2VQ
cm92CiAgICAgICAgIHJldHVybjsKICAgICBBU1NFUlQoIWxpc3RlbmVycy0+aXNFbXB0eSgpKTsK
IAotICAgIG1fY2FsbGluZ0xpc3RlbmVycyA9IHRydWU7CisgICAgVGVtcG9yYXJ5Q2hhbmdlPGJv
b2w+IGNoYW5nZShtX2NhbGxpbmdMaXN0ZW5lcnMsIHRydWUpOwogCiAgICAgYm9vbCBpc0Vycm9y
ID0gZXJyb3JMaW5lICE9IC0xOwogICAgIGlmIChpc0Vycm9yKQogICAgICAgICBkaXNwYXRjaEZh
aWxlZFRvUGFyc2VTb3VyY2UoKmxpc3RlbmVycywgc291cmNlUHJvdmlkZXIsIGVycm9yTGluZSwg
ZXJyb3JNZXNzYWdlKTsKICAgICBlbHNlCiAgICAgICAgIGRpc3BhdGNoRGlkUGFyc2VTb3VyY2Uo
Kmxpc3RlbmVycywgc291cmNlUHJvdmlkZXIsIGlzQ29udGVudFNjcmlwdChleGVjKSk7Ci0KLSAg
ICBtX2NhbGxpbmdMaXN0ZW5lcnMgPSBmYWxzZTsKIH0KIAogdm9pZCBTY3JpcHREZWJ1Z1NlcnZl
cjo6ZGlzcGF0Y2hGdW5jdGlvblRvTGlzdGVuZXJzKGNvbnN0IExpc3RlbmVyU2V0JiBsaXN0ZW5l
cnMsIEphdmFTY3JpcHRFeGVjdXRpb25DYWxsYmFjayBjYWxsYmFjaykKQEAgLTI2MiwxNCArMjc4
LDEyIEBAIHZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNoRnVuY3Rpb25Ub0xpc3RlbmVy
cyhKYXZhU2NyaXB0RXhlY3V0aW9uQ2FsbGJhY2sKICAgICBpZiAobV9jYWxsaW5nTGlzdGVuZXJz
KQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NhbGxpbmdMaXN0ZW5lcnMgPSB0cnVlOworICAg
IFRlbXBvcmFyeUNoYW5nZTxib29sPiBjaGFuZ2UobV9jYWxsaW5nTGlzdGVuZXJzLCB0cnVlKTsK
IAogICAgIGlmIChMaXN0ZW5lclNldCogbGlzdGVuZXJzID0gZ2V0TGlzdGVuZXJzRm9yR2xvYmFs
T2JqZWN0KGdsb2JhbE9iamVjdCkpIHsKICAgICAgICAgQVNTRVJUKCFsaXN0ZW5lcnMtPmlzRW1w
dHkoKSk7CiAgICAgICAgIGRpc3BhdGNoRnVuY3Rpb25Ub0xpc3RlbmVycygqbGlzdGVuZXJzLCBj
YWxsYmFjayk7CiAgICAgfQotCi0gICAgbV9jYWxsaW5nTGlzdGVuZXJzID0gZmFsc2U7CiB9CiAK
IHZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6Om5vdGlmeURvbmVQcm9jZXNzaW5nRGVidWdnZXJFdmVu
dHMoKQpAQCAtMzA1LDggKzMxOSw2IEBAIHZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OmhhbmRsZVBh
dXNlKERlYnVnZ2VyOjpSZWFzb25Gb3JQYXVzZSwgSlNHbG9iYWxPYmplY3QqIHZtCiAgICAgZGlz
cGF0Y2hGdW5jdGlvblRvTGlzdGVuZXJzKCZTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlzcGF0Y2hEaWRQ
YXVzZSwgdm1FbnRyeUdsb2JhbE9iamVjdCk7CiAgICAgZGlkUGF1c2Uodm1FbnRyeUdsb2JhbE9i
amVjdCk7CiAKLSAgICBUaW1lckJhc2U6OmZpcmVUaW1lcnNJbk5lc3RlZEV2ZW50TG9vcCgpOwot
CiAgICAgbV9kb25lUHJvY2Vzc2luZ0RlYnVnZ2VyRXZlbnRzID0gZmFsc2U7CiAgICAgcnVuRXZl
bnRMb29wV2hpbGVQYXVzZWQoKTsKIApAQCAtMzI1LDYgKzMzNyw2IEBAIGNvbnN0IFZlY3RvcjxT
Y3JpcHRCcmVha3BvaW50QWN0aW9uPiYgU2NyaXB0RGVidWdTZXJ2ZXI6OmdldEFjdGlvbnNGb3JC
cmVha3BvaW50CiAgICAgcmV0dXJuIGVtcHR5QWN0aW9uVmVjdG9yOwogfQogCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vIEVOQUJM
RShKQVZBU0NSSVBUX0RFQlVHR0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaApzaW1pbGFyaXR5IGluZGV4IDg3JQpyZW5hbWUgZnJvbSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCnJlbmFtZSB0byBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmgKaW5kZXgg
ZDQ4ZmQxNS4uOGM0ODliNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDA4LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAwOCwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzIsMTAgKzMyLDEwIEBACiAKICNpZiBFTkFCTEUoSkFW
QVNDUklQVF9ERUJVR0dFUikKIAotI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdE9iamVjdC5oPgot
I2luY2x1ZGUgPGRlYnVnZ2VyL0RlYnVnZ2VyLmg+Ci0jaW5jbHVkZSA8aW5zcGVjdG9yL1Njcmlw
dEJyZWFrcG9pbnQuaD4KLSNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0RGVidWdMaXN0ZW5lci5o
PgorI2luY2x1ZGUgIlNjcmlwdEJyZWFrcG9pbnQuaCIKKyNpbmNsdWRlICJTY3JpcHREZWJ1Z0xp
c3RlbmVyLmgiCisjaW5jbHVkZSAiYmluZGluZ3MvU2NyaXB0T2JqZWN0LmgiCisjaW5jbHVkZSAi
ZGVidWdnZXIvRGVidWdnZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNDQsMTUgKzQ0LDE1
IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBKU0Mgewot
Y2xhc3MgRGVidWdnZXJDYWxsRnJhbWU7Ci1jbGFzcyBKU0dsb2JhbE9iamVjdDsKIGNsYXNzIEV4
ZWNTdGF0ZTsKK2NsYXNzIEpTR2xvYmFsT2JqZWN0OwogfQogCi1uYW1lc3BhY2UgV2ViQ29yZSB7
CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAotY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBwdWJs
aWMgSlNDOjpEZWJ1Z2dlciB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdT
ZXJ2ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK2NsYXNzIEpTX0VYUE9SVF9QUklWQVRF
IFNjcmlwdERlYnVnU2VydmVyIDogcHVibGljIEpTQzo6RGVidWdnZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBKU0M6OkJyZWFrcG9pbnRJRCBzZXRCcmVha3BvaW50KEpTQzo6
U291cmNlSUQsIGNvbnN0IEluc3BlY3Rvcjo6U2NyaXB0QnJlYWtwb2ludCYsIHVuc2lnbmVkKiBh
Y3R1YWxMaW5lTnVtYmVyLCB1bnNpZ25lZCogYWN0dWFsQ29sdW1uTnVtYmVyKTsKICAgICB2b2lk
IHJlbW92ZUJyZWFrcG9pbnQoSlNDOjpCcmVha3BvaW50SUQpOwpAQCAtNzksMTAgKzc5LDkgQEAg
cHJvdGVjdGVkOgogICAgIHZpcnR1YWwgTGlzdGVuZXJTZXQqIGdldExpc3RlbmVyc0Zvckdsb2Jh
bE9iamVjdChKU0M6OkpTR2xvYmFsT2JqZWN0KikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRQ
YXVzZShKU0M6OkpTR2xvYmFsT2JqZWN0KikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDb250
aW51ZShKU0M6OkpTR2xvYmFsT2JqZWN0KikgPSAwOwotCiAgICAgdmlydHVhbCB2b2lkIHJ1bkV2
ZW50TG9vcFdoaWxlUGF1c2VkKCkgPSAwOwotCi0gICAgdmlydHVhbCBib29sIGlzQ29udGVudFNj
cmlwdChKU0M6OkV4ZWNTdGF0ZSopOworICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRlbnRTY3JpcHQo
SlNDOjpFeGVjU3RhdGUqKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlcG9ydEV4Y2Vw
dGlvbihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSkgY29uc3QgPSAwOwogCiAgICAgYm9v
bCBldmFsdWF0ZUJyZWFrcG9pbnRBY3Rpb24oY29uc3QgSW5zcGVjdG9yOjpTY3JpcHRCcmVha3Bv
aW50QWN0aW9uJik7CiAKQEAgLTkyLDYgKzkxLDggQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgZGlz
cGF0Y2hEaWRDb250aW51ZShJbnNwZWN0b3I6OlNjcmlwdERlYnVnTGlzdGVuZXIqKTsKICAgICB2
b2lkIGRpc3BhdGNoRGlkUGFyc2VTb3VyY2UoY29uc3QgTGlzdGVuZXJTZXQmIGxpc3RlbmVycywg
SlNDOjpTb3VyY2VQcm92aWRlciosIGJvb2wgaXNDb250ZW50U2NyaXB0KTsKICAgICB2b2lkIGRp
c3BhdGNoRmFpbGVkVG9QYXJzZVNvdXJjZShjb25zdCBMaXN0ZW5lclNldCYgbGlzdGVuZXJzLCBK
U0M6OlNvdXJjZVByb3ZpZGVyKiwgaW50IGVycm9yTGluZSwgY29uc3QgU3RyaW5nJiBlcnJvck1l
c3NhZ2UpOworICAgIHZvaWQgZGlzcGF0Y2hCcmVha3BvaW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0
YXRlKiwgY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBkaXNwYXRjaEJyZWFrcG9pbnRBY3Rpb25T
b3VuZChKU0M6OkV4ZWNTdGF0ZSopOwogICAgIHZvaWQgZGlzcGF0Y2hEaWRTYW1wbGVQcm9iZShK
U0M6OkV4ZWNTdGF0ZSosIGludCBwcm9iZUlkZW50aWZpZXIsIGNvbnN0IERlcHJlY2F0ZWQ6OlNj
cmlwdFZhbHVlJiBzYW1wbGUpOwogCiAgICAgYm9vbCBtX2RvbmVQcm9jZXNzaW5nRGVidWdnZXJF
dmVudHM7CkBAIC0xMTAsMTEgKzExMSw5IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9oaXRD
b3VudDsKICAgICBib29sIG1fY2FsbGluZ0xpc3RlbmVyczsKICAgICBCcmVha3BvaW50SURUb0Fj
dGlvbnNNYXAgbV9icmVha3BvaW50SURUb0FjdGlvbnM7Ci0KLSAgICBmcmllbmQgY2xhc3MgRGVi
dWdnZXJDYWxsRnJhbWVTY29wZTsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8g
bmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdH
RVIpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCAyZjhiNWMxLi5jZjcyNjMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC01LDYg
KzUsNTggQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAg
ICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRl
cnMvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmg6IEFkZGVkLgorICAgICAgICAqIEdOVW1h
a2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVXNlSlNDLmNtYWtlOgorICAgICAgICAqIFdlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dl
YkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3Bw
OgorICAgICAgICBVcGRhdGUgYnVpbGRzIG5vdyB0aGF0IFNjcmlwdERlYnVnU2VydmVyIG1vdmVk
IHRvIEphdmFTY3JpcHRDb3JlLgorCisgICAgICAgICogYmluZGluZ3MvanMvUGFnZVNjcmlwdERl
YnVnU2VydmVyLmg6CisgICAgICAgICogYmluZGluZ3MvanMvUGFnZVNjcmlwdERlYnVnU2VydmVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6cnVuRXZlbnRM
b29wV2hpbGVQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZVNjcmlwdERlYnVnU2VydmVy
Ojppc0NvbnRlbnRTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZVNjcmlwdERlYnVnU2Vy
dmVyOjpyZXBvcnRFeGNlcHRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlw
dERlYnVnU2VydmVyLmg6CisgICAgICAgICogYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RGVidWdT
ZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0RGVidWdTZXJ2ZXI6OnJ1
bkV2ZW50TG9vcFdoaWxlUGF1c2VkKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdERl
YnVnU2VydmVyOjpyZXBvcnRFeGNlcHRpb24pOgorICAgICAgICBIYW5kbGUgU2NyaXB0RGVidWdT
ZXJ2ZXIgZnVuY3Rpb25hbGl0eSBkZXBlbmRpbmcgb24gV2ViQ29yZSBrbm93bGVkZ2UuCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmJyZWFrcG9pbnRBY3Rpb25Tb3VuZCk6CisgICAgICAgIEhh
bmRsZSBTY3JpcHREZWJ1Z1NlcnZlciBmdW5jdGlvbmFsaXR5IHRoYXQgZGVwZW5kZWQgb24gV2Vi
Q29yZSBrbm93bGVkZ2UuCisgICAgICAgIFRoaXMgd2lsbCBldmVudHVhbGx5IGJlIHdyaXR0ZW4g
aW4gYSBub24tV2ViQ29yZSBzcGVjaWZpYyB3YXkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yUnVudGltZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUnVu
dGltZUFnZW50Lmg6CisgICAgICAgIFVwZGF0ZSBTY3JpcHREZWJ1Z1NlcnZlciB0eXBlIG5vdyB0
aGF0IGl0IGlzIGluIG5hbWVzcGFjZSBJbnNwZWN0b3IuCisKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgIE1ha2UgYWRkQ29uc29sZU1lc3NhZ2UgcHVibGlj
IGFnYWluIHNvIHRoZSBpbnNwZWN0b3IgY2FuIGNhbGwgaXQuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZURlYnVnZ2Vy
QWdlbnQ6OmJyZWFrcG9pbnRBY3Rpb25Mb2cpOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlRGVi
dWdnZXJBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckRlYnVnZ2VyQWdlbnQ6OmJyZWFrcG9pbnRBY3Rp
b25Mb2cpOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50Lmg6CisgICAg
ICAgIExldCBlYWNoIG9mIHRoZXNlIGhhbmRsZSBjb25zb2xlIGxvZ3MgaW4gdGhlaXIgb3duIHdh
eS4gQm90aCBvZiB0aGVzZQorICAgICAgICBldmVudHVhbGx5IGdvIHRocm91Z2ggdGhlIFBhZ2VD
b25zb2xlIGFuZCBsb2cgdGhyb3VnaCB0aGUgSW5zcGVjdG9yQ29uc29sZUFnZW50CisgICAgICAg
IGFuZCBDaHJvbWVDbGllbnQuCisKKzIwMTQtMDEtMjMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29y
YXJvQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIEphdmFTY3JpcHRDYWxsRnJhbWUgYW5kIFNj
cmlwdERlYnVnU2VydmVyIGludG8gSmF2YVNjcmlwdENvcmUgZm9yIGluc3BlY3RvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NTQzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgTm8gbmV3IHRlc3RzLCBu
byBjaGFuZ2UgaW4gYmVoYXZpb3IuCiAKICAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRE
ZWJ1Z1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9y
L1NjcmlwdERlYnVnU2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
YTk0NDJhMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFk
ZXJzL2luc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRl
ZiBXZWJDb3JlX0ZXRF9TY3JpcHREZWJ1Z1NlcnZlcl9oCisjZGVmaW5lIFdlYkNvcmVfRldEX1Nj
cmlwdERlYnVnU2VydmVyX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHREZWJ1Z1Nl
cnZlci5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAyMjM1NjNk
Li5mYTdmMWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTI0NDIsOCArMjQ0
Miw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q29udHJvbGxlci5oIFwKLQlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1Nl
cnZlci5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVy
LmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEhlYXBTbmFwc2hvdC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRHbG9iYWxPYmplY3QuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRHbG9iYWxPYmplY3QuaCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0Mu
Y21ha2UKaW5kZXggOGUxYWIyYy4uMmRiMGZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
VXNlSlNDLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQpAQCAtMTU4LDcg
KzE1OCw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL1Nj
cmlwdENhY2hlZEZyYW1lRGF0YS5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tG
YWN0b3J5LmNwcAogICAgIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCi0gICAgYmlu
ZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCiAgICAgYmluZGluZ3MvanMvU2NyaXB0R2xv
YmFsT2JqZWN0LmNwcAogICAgIGJpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGUuY3BwCiAgICAgYmlu
ZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCAzNTZmYjExLi5jNTU1Yjc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTE3MjQ0LDIw
ICsxNzI0NCw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
YmluZGluZ3NcanNcU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdEdsb2JhbE9iamVjdC5jcHAiIC8+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRQcm9maWxlLmNw
cCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdFByb2Zp
bGVyLmNwcCI+CkBAIC0yMDU1MSw3ICsyMDUzNyw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENvbnRyb2xsZXIu
aCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdERlYnVn
U2VydmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3Jp
cHRIZWFwU25hcHNob3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdz
XGpzXFNjcmlwdEdsb2JhbE9iamVjdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
YmluZGluZ3NcanNcU2NyaXB0UHJvZmlsZS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDAxMjI3YzMu
LjU3ZTM3ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTQ0OTQsOSArNDQ5NCw2IEBACiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRDb250cm9sbGVyLmNwcCI+CiAgICAg
ICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHREZWJ1Z1NlcnZlci5jcHAiPgot
ICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0R2xvYmFsT2JqZWN0LmNw
cCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+
CkBAIC0xMTM0NSw5ICsxMTM0Miw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5k
aW5nc1xqc1xTY3JpcHRDb250cm9sbGVyLmgiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwv
RmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmlu
ZGluZ3NcanNcU2NyaXB0RGVidWdTZXJ2ZXIuaCI+Ci0gICAgICA8RmlsdGVyPmJpbmRpbmdzXGpz
PC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxi
aW5kaW5nc1xqc1xTY3JpcHRIZWFwU25hcHNob3QuaCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdz
XGpzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYTFhMDlmMi4uNThmMjc5YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMzUwNyw4ICszNTA3LDYgQEAKIAkJOUYwRDZCMkUxMjFCRkVCQTAwNkMwMjg4IC8qIEluc3Bl
Y3RvclByb2ZpbGVyQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOUYwRDZCMkMxMjFCRkVCQTAwNkMwMjg4IC8qIEluc3BlY3RvclByb2ZpbGVy
QWdlbnQuY3BwICovOyB9OwogCQk5RjBENkIyRjEyMUJGRUJBMDA2QzAyODggLyogSW5zcGVjdG9y
UHJvZmlsZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOUYwRDZCMkQxMjFCRkVCQTAwNkMwMjg4IC8qIEluc3BlY3RvclByb2ZpbGVyQWdlbnQu
aCAqLzsgfTsKIAkJOUYzQjk0N0UxMjI0MTc1ODAwNTMwNEU3IC8qIFNjcmlwdEhlYXBTbmFwc2hv
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUYzQjk0
N0QxMjI0MTc1ODAwNTMwNEU3IC8qIFNjcmlwdEhlYXBTbmFwc2hvdC5oICovOyB9OwotCQk5RjZG
QzE5NjExMjJFODJBMDBFODAxOTYgLyogU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUY2RkMxOTQxMTIyRTgyQTAwRTgw
MTk2IC8qIFNjcmlwdERlYnVnU2VydmVyLmNwcCAqLzsgfTsKLQkJOUY2RkMxOTcxMTIyRTgyQTAw
RTgwMTk2IC8qIFNjcmlwdERlYnVnU2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5RjZGQzE5NTExMjJFODJBMDBFODAxOTYgLyogU2NyaXB0RGVi
dWdTZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk5RjcyMzA0RjExMTg0QjQxMDBBRDAxMjYgLyogU2NyaXB0UHJvZmlsZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUY3MjMwNEMxMTE4NEI0MTAw
QUQwMTI2IC8qIFNjcmlwdFByb2ZpbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk5RjcyMzA1MDExMTg0QjQxMDBBRDAxMjYgLyogU2NyaXB0UHJv
ZmlsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OUY3MjMwNEQxMTE4NEI0MTAwQUQwMTI2IC8qIFNjcmlwdFByb2ZpbGVyLmNwcCAqLzsgfTsKIAkJ
OUY3MjMwNTExMTE4NEI0MTAwQUQwMTI2IC8qIFNjcmlwdFByb2ZpbGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RjcyMzA0RTExMTg0QjQxMDBBRDAx
MjYgLyogU2NyaXB0UHJvZmlsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwpAQCAtMTA0NjUsOCArMTA0NjMsNiBAQAogCQk5RjBENkIyQzEyMUJGRUJB
MDA2QzAyODggLyogSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUYwRDZCMkQxMjFCRkVCQTAwNkMwMjg4IC8qIEluc3BlY3Rv
clByb2ZpbGVyQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5RjNCOTQ3
RDEyMjQxNzU4MDA1MzA0RTcgLyogU2NyaXB0SGVhcFNuYXBzaG90LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdEhlYXBTbmFwc2hvdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk5RjZGQzE5NDExMjJFODJBMDBFODAxOTYgLyogU2NyaXB0RGVidWdTZXJ2
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0RGVidWdT
ZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5RjZGQzE5NTExMjJFODJB
MDBFODAxOTYgLyogU2NyaXB0RGVidWdTZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU2NyaXB0RGVidWdTZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOUY3MjMwNEMxMTE4NEI0MTAwQUQwMTI2IC8qIFNjcmlwdFByb2ZpbGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0UHJvZmlsZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5RjcyMzA0RDExMTg0QjQxMDBBRDAxMjYgLyogU2NyaXB0UHJvZmlsZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0UHJvZmlsZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5RjcyMzA0RTExMTg0QjQxMDBBRDAx
MjYgLyogU2NyaXB0UHJvZmlsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U2NyaXB0UHJvZmlsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMTc1LDgg
KzIwMTcxLDYgQEAKIAkJCQk5M0I3MEQ1MzA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0Q29udHJv
bGxlci5jcHAgKi8sCiAJCQkJOTNCNzBENTQwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRy
b2xsZXIuaCAqLywKIAkJCQlBODNFMUM3MjBFNDkwNDJCMDAxNDBCOUMgLyogU2NyaXB0Q29udHJv
bGxlck1hYy5tbSAqLywKLQkJCQk5RjZGQzE5NDExMjJFODJBMDBFODAxOTYgLyogU2NyaXB0RGVi
dWdTZXJ2ZXIuY3BwICovLAotCQkJCTlGNkZDMTk1MTEyMkU4MkEwMEU4MDE5NiAvKiBTY3JpcHRE
ZWJ1Z1NlcnZlci5oICovLAogCQkJCTlGM0I5NDdEMTIyNDE3NTgwMDUzMDRFNyAvKiBTY3JpcHRI
ZWFwU25hcHNob3QuaCAqLywKIAkJCQk0MUYwNjZFMzBGNjRCQ0Y2MDBBMDdFQUMgLyogU2NyaXB0
R2xvYmFsT2JqZWN0LmNwcCAqLywKIAkJCQk0MUYwNjZFMjBGNjRCQ0Y2MDBBMDdFQUMgLyogU2Ny
aXB0R2xvYmFsT2JqZWN0LmggKi8sCkBAIC0yNTEyNSw3ICsyNTExOSw2IEBACiAJCQkJNDE2RTc1
QkUwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFjay5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRjM5MjI0OUQxMjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBp
biBIZWFkZXJzICovLAogCQkJCTkzQjcwRDcwMDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250
cm9sbGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQk5RjZGQzE5NzExMjJFODJBMDBFODAxOTYgLyog
U2NyaXB0RGVidWdTZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OThBRUQyMTNGQjIyNEQw
MDkwQjFBQSAvKiBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTA4QTQ4NDc4MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMTFDOUQ5QjBFQjM2ODEyMDBFNDA5REIgLyogU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODQzOSw3ICsyODQzMiw2IEBACiAJCQkJRjM5MjI0
OUMxMjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOTNCNzBENkYwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgzRTFDNzQwRTQ5MDQyQzAwMTQwQjlDIC8qIFNjcmlw
dENvbnRyb2xsZXJNYWMubW0gaW4gU291cmNlcyAqLywKLQkJCQk5RjZGQzE5NjExMjJFODJBMDBF
ODAxOTYgLyogU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk5OEFF
RDExM0ZCMjI0RDAwOTBCMUFBIC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkwOEE0ODQ3NzBFNTI3MkM1MDBDM0ZFNzYgLyogU2NyaXB0RWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTFDOURCMDBFQjM2OTk1MDBFNDA5REIgLyogU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCmluZGV4IGRkMWY2YTIuLjA0
MjhlODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NB
bGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0Fs
bEluT25lLmNwcApAQCAtMTQ1LDcgKzE0NSw2IEBACiAjaW5jbHVkZSAiU2NyaXB0Q2FjaGVkRnJh
bWVEYXRhLmNwcCIKICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCIKICNpbmNs
dWRlICJTY3JpcHRDb250cm9sbGVyLmNwcCIKLSNpbmNsdWRlICJTY3JpcHREZWJ1Z1NlcnZlci5j
cHAiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZXIuY3BwIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRl
LmNwcCIKICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAKaW5kZXgg
MDZiNjY2ZC4uYzdlZWZiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
UGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAi
UGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgogI2luY2x1ZGUgIlNjcmlwdENv
bnRyb2xsZXIuaCIKKyNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIldpZGdldC5oIgogI2lu
Y2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KQEAg
LTE5Myw2ICsxOTQsOCBAQCB2b2lkIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6cnVuRXZlbnRMb29w
V2hpbGVQYXVzZWQoKQogICAgICAgICBXZWJSdW5Mb29wRW5hYmxlTmVzdGVkKCk7CiAjZW5kaWYK
IAorICAgIFRpbWVyQmFzZTo6ZmlyZVRpbWVyc0luTmVzdGVkRXZlbnRMb29wKCk7CisKICAgICBF
dmVudExvb3AgbG9vcDsKICAgICB3aGlsZSAoIW1fZG9uZVByb2Nlc3NpbmdEZWJ1Z2dlckV2ZW50
cyAmJiAhbG9vcC5lbmRlZCgpKQogICAgICAgICBsb29wLmN5Y2xlKCk7CkBAIC0yMDQsNiArMjA3
LDE2IEBAIHZvaWQgUGFnZVNjcmlwdERlYnVnU2VydmVyOjpydW5FdmVudExvb3BXaGlsZVBhdXNl
ZCgpCiAjZW5kaWYKIH0KIAorYm9vbCBQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OmlzQ29udGVudFNj
cmlwdChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgcmV0dXJuICZjdXJyZW50V29ybGQo
ZXhlYykgIT0gJm1haW5UaHJlYWROb3JtYWxXb3JsZCgpOworfQorCit2b2lkIFBhZ2VTY3JpcHRE
ZWJ1Z1NlcnZlcjo6cmVwb3J0RXhjZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBleGNl
cHRpb24pIGNvbnN0Cit7CisgICAgV2ViQ29yZTo6cmVwb3J0RXhjZXB0aW9uKGV4ZWMsIGV4Y2Vw
dGlvbik7Cit9CisKIHZvaWQgUGFnZVNjcmlwdERlYnVnU2VydmVyOjpzZXRKYXZhU2NyaXB0UGF1
c2VkKGNvbnN0IFBhZ2VHcm91cCYgcGFnZUdyb3VwLCBib29sIHBhdXNlZCkKIHsKICAgICBzZXRN
YWluVGhyZWFkQ2FsbGJhY2tzUGF1c2VkKHBhdXNlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDQ3YTE3ZDkuLjQ2YjJk
ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1BhZ2VTY3JpcHREZWJ1
Z1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1BhZ2VTY3JpcHREZWJ1
Z1NlcnZlci5oCkBAIC0zMyw3ICszMyw3IEBACiAKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJV
R0dFUikKIAotI2luY2x1ZGUgIlNjcmlwdERlYnVnU2VydmVyLmgiCisjaW5jbHVkZSA8aW5zcGVj
dG9yL1NjcmlwdERlYnVnU2VydmVyLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMsNyArNDMsNyBAQCBjbGFzcyBGcmFtZVZpZXc7CiBjbGFz
cyBQYWdlOwogY2xhc3MgUGFnZUdyb3VwOwogCi1jbGFzcyBQYWdlU2NyaXB0RGVidWdTZXJ2ZXIg
OiBwdWJsaWMgU2NyaXB0RGVidWdTZXJ2ZXIgeworY2xhc3MgUGFnZVNjcmlwdERlYnVnU2VydmVy
IDogcHVibGljIEluc3BlY3Rvcjo6U2NyaXB0RGVidWdTZXJ2ZXIgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
Z2VTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVkKCk7CkBAIC02Miw4ICs2MiwxMCBAQCBwcml2YXRl
OgogICAgIHZpcnR1YWwgTGlzdGVuZXJTZXQqIGdldExpc3RlbmVyc0Zvckdsb2JhbE9iamVjdChK
U0M6OkpTR2xvYmFsT2JqZWN0Kik7CiAgICAgdmlydHVhbCB2b2lkIGRpZFBhdXNlKEpTQzo6SlNH
bG9iYWxPYmplY3QqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ29udGludWUoSlNDOjpKU0dsb2Jh
bE9iamVjdCopOwotCiAgICAgdmlydHVhbCB2b2lkIHJ1bkV2ZW50TG9vcFdoaWxlUGF1c2VkKCk7
CisgICAgdmlydHVhbCBib29sIGlzQ29udGVudFNjcmlwdChKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0
IG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCByZXBvcnRFeGNlcHRpb24oSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OkpTVmFsdWUpIGNvbnN0IG92ZXJyaWRlOworCiAKICAgICB2b2lkIGRpZEFkZEZp
cnN0TGlzdGVuZXIoUGFnZSopOwogICAgIHZvaWQgZGlkUmVtb3ZlTGFzdExpc3RlbmVyKFBhZ2Uq
LCBib29sIHNraXBSZWNvbXBpbGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCmluZGV4IDUzMTllNGEuLmRhMWViM2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdERlYnVn
U2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRE
ZWJ1Z1NlcnZlci5jcHAKQEAgLTM0LDYgKzM0LDggQEAKIAogI2lmIEVOQUJMRShKQVZBU0NSSVBU
X0RFQlVHR0VSKQogCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiVGltZXIu
aCIKICNpbmNsdWRlICJXb3JrZXJEZWJ1Z2dlckFnZW50LmgiCiAjaW5jbHVkZSAiV29ya2VyR2xv
YmFsU2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCkBAIC05MCw2ICs5Miw4IEBA
IHZvaWQgV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXI6OnJlY29tcGlsZUFsbEpTRnVuY3Rpb25zKCkK
IAogdm9pZCBXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlcjo6cnVuRXZlbnRMb29wV2hpbGVQYXVzZWQo
KQogeworICAgIFRpbWVyQmFzZTo6ZmlyZVRpbWVyc0luTmVzdGVkRXZlbnRMb29wKCk7CisKICAg
ICBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IHJlc3VsdDsKICAgICBkbyB7CiAgICAgICAgIHJlc3Vs
dCA9IG1fd29ya2VyR2xvYmFsU2NvcGUtPnRocmVhZCgpLT5ydW5Mb29wKCkucnVuSW5Nb2RlKG1f
d29ya2VyR2xvYmFsU2NvcGUsIG1fZGVidWdnZXJUYXNrTW9kZSk7CkBAIC05Nyw2ICsxMDEsMTEg
QEAgdm9pZCBXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlcjo6cnVuRXZlbnRMb29wV2hpbGVQYXVzZWQo
KQogICAgIH0gd2hpbGUgKHJlc3VsdCAhPSBNZXNzYWdlUXVldWVUZXJtaW5hdGVkICYmICFtX2Rv
bmVQcm9jZXNzaW5nRGVidWdnZXJFdmVudHMpOwogfQogCit2b2lkIFdvcmtlclNjcmlwdERlYnVn
U2VydmVyOjpyZXBvcnRFeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1
ZSBleGNlcHRpb24pIGNvbnN0Cit7CisgICAgV2ViQ29yZTo6cmVwb3J0RXhjZXB0aW9uKGV4ZWMs
IGV4Y2VwdGlvbik7Cit9CisKIHZvaWQgV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXI6OmludGVycnVw
dEFuZFJ1blRhc2soUGFzc093blB0cjxTY3JpcHREZWJ1Z1NlcnZlcjo6VGFzaz4pCiB7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHREZWJ1Z1Nl
cnZlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RGVidWdTZXJ2
ZXIuaAppbmRleCA2NGRkMjJlLi5iNWM2MTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmgKQEAgLTMzLDEzICszMywxMyBA
QAogCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAKLSNpbmNsdWRlICJTY3JpcHRE
ZWJ1Z1NlcnZlci5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlOwogCi1jbGFz
cyBXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlciBmaW5hbCA6IHB1YmxpYyBTY3JpcHREZWJ1Z1NlcnZl
ciB7CitjbGFzcyBXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlciBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0
b3I6OlNjcmlwdERlYnVnU2VydmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJT
Y3JpcHREZWJ1Z1NlcnZlcik7CiBwdWJsaWM6CiAgICAgV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIo
V29ya2VyR2xvYmFsU2NvcGUqLCBjb25zdCBTdHJpbmcmKTsKQEAgLTU3LDYgKzU3LDggQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGlkUGF1c2UoSlNDOjpKU0dsb2JhbE9iamVjdCopIG92
ZXJyaWRlIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRDb250aW51ZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0Kikgb3ZlcnJpZGUgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJ1bkV2ZW50TG9vcFdoaWxlUGF1
c2VkKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBib29sIGlzQ29udGVudFNjcmlwdChKU0M6OkV4
ZWNTdGF0ZSopIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCB2
b2lkIHJlcG9ydEV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSkgY29uc3Qg
b3ZlcnJpZGU7CiAKICAgICBXb3JrZXJHbG9iYWxTY29wZSogbV93b3JrZXJHbG9iYWxTY29wZTsK
ICAgICBMaXN0ZW5lclNldCBtX2xpc3RlbmVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAppbmRleCAzYjJhZTA2Li5iMzE3YmRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJB
Z2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuY3BwCkBAIC0zNSwxMyArMzUsMTUgQEAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZS5o
IgogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRp
bmdBZ2VudHMuaCIKLSNpbmNsdWRlICJTY3JpcHREZWJ1Z1NlcnZlci5oIgorI2luY2x1ZGUgIlNj
cmlwdEFyZ3VtZW50cy5oIgorI2luY2x1ZGUgIlNvdW5kLmgiCiAjaW5jbHVkZSA8YmluZGluZ3Mv
U2NyaXB0T2JqZWN0Lmg+CiAjaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFsdWUuaD4KICNpbmNs
dWRlIDxpbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGllcy5oPgogI2luY2x1ZGUgPGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlw
dE1hbmFnZXIuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CisjaW5j
bHVkZSA8aW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAjaW5jbHVkZSA8eWFyci9SZWd1bGFyRXhwcmVzc2lvbi5oPgogCkBAIC02
OTAsNiArNjkyLDEyIEBAIHZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6ZGlkU2FtcGxlUHJv
YmUoSlNDOjpFeGVjU3RhdGUqIHNjcmlwdFN0YXRlLCBpbnQgcHJvCiAgICAgbV9mcm9udGVuZERp
c3BhdGNoZXItPmRpZFNhbXBsZVByb2JlKHJlc3VsdC5yZWxlYXNlKCkpOwogfQogCit2b2lkIElu
c3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmJyZWFrcG9pbnRBY3Rpb25Tb3VuZCgpCit7CisgICAgLy8g
RklYTUU6IFdlIHNob3VsZCBzZW5kIGEgbWVzc2FnZSB0byB0aGUgZnJvbnRlbmQgdG8gbWFrZSB0
aGUgZnJvbnRlbmQgYmVlcC4KKyAgICBzeXN0ZW1CZWVwKCk7Cit9CisKIHZvaWQgSW5zcGVjdG9y
RGVidWdnZXJBZ2VudDo6ZGlkQ29udGludWUoKQogewogICAgIG1fcGF1c2VkU2NyaXB0U3RhdGUg
PSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKaW5kZXggZGJlZjU2Yy4uOGZlNjEzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCkBAIC01NCwxMiArNTQsMTIg
QEAgY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwogY2xhc3MgSW5zcGVjdG9yQXJyYXk7CiBj
bGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBJbnNwZWN0b3JWYWx1ZTsKK2NsYXNzIFNjcmlw
dERlYnVnU2VydmVyOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3RydW1l
bnRpbmdBZ2VudHM7Ci1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlcjsKIAogdHlwZWRlZiBTdHJpbmcg
RXJyb3JTdHJpbmc7CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCBwdWJsaWM6CiAgICAgfTsKICAgICB2
b2lkIHNldExpc3RlbmVyKExpc3RlbmVyKiBsaXN0ZW5lcikgeyBtX2xpc3RlbmVyID0gbGlzdGVu
ZXI7IH0KIAotICAgIHZpcnR1YWwgU2NyaXB0RGVidWdTZXJ2ZXImIHNjcmlwdERlYnVnU2VydmVy
KCkgPSAwOworICAgIHZpcnR1YWwgSW5zcGVjdG9yOjpTY3JpcHREZWJ1Z1NlcnZlciYgc2NyaXB0
RGVidWdTZXJ2ZXIoKSA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBJbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0TWFuYWdl
ciopOwpAQCAtMTQ2LDYgKzE0Niw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRpZFBh
cnNlU291cmNlKEpTQzo6U291cmNlSUQsIGNvbnN0IFNjcmlwdCYpIG92ZXJyaWRlIGZpbmFsOwog
ICAgIHZpcnR1YWwgdm9pZCBmYWlsZWRUb1BhcnNlU291cmNlKGNvbnN0IFN0cmluZyYgdXJsLCBj
b25zdCBTdHJpbmcmIGRhdGEsIGludCBmaXJzdExpbmUsIGludCBlcnJvckxpbmUsIGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlKSBvdmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
U2FtcGxlUHJvYmUoSlNDOjpFeGVjU3RhdGUqLCBpbnQgcHJvYmVJZGVudGlmaWVyLCBpbnQgaGl0
Q291bnQsIGNvbnN0IERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBzYW1wbGUpIG92ZXJyaWRlIGZp
bmFsOworICAgIHZpcnR1YWwgdm9pZCBicmVha3BvaW50QWN0aW9uU291bmQoKSBvdmVycmlkZSBm
aW5hbDsKIAogICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6RGVidWdnZXI6
OkxvY2F0aW9uPiByZXNvbHZlQnJlYWtwb2ludChjb25zdCBTdHJpbmcmIGJyZWFrcG9pbnRJZGVu
dGlmaWVyLCBKU0M6OlNvdXJjZUlELCBjb25zdCBJbnNwZWN0b3I6OlNjcmlwdEJyZWFrcG9pbnQm
KTsKICAgICBib29sIGFzc2VydFBhdXNlZChFcnJvclN0cmluZyopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcAppbmRleCBhMmEzNGZl
Li4yODY1N2U5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UnVudGltZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UnVudGltZUFnZW50LmNwcApAQCAtNDUsNyArNDUsNyBAQAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKLSNpbmNsdWRlICJTY3Jp
cHREZWJ1Z1NlcnZlci5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5o
PgogI2VuZGlmCiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmgKaW5kZXggYzg0MGUzMS4uZTE1ODY1YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2Vu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQu
aApAQCAtNDYsMTIgKzQ2LDEyIEBAIGNsYXNzIEluamVjdGVkU2NyaXB0TWFuYWdlcjsKIGNsYXNz
IEluc3BlY3RvckFycmF5OwogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgSW5zcGVjdG9y
VmFsdWU7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlcjsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOwotY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXI7
CiBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZTsKIAogdHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7
CkBAIC05MCw3ICs5MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcnVuKEVycm9yU3Ry
aW5nKikgb3ZlcnJpZGU7CiAKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKLSAgICB2
b2lkIHNldFNjcmlwdERlYnVnU2VydmVyKFNjcmlwdERlYnVnU2VydmVyKik7CisgICAgdm9pZCBz
ZXRTY3JpcHREZWJ1Z1NlcnZlcihJbnNwZWN0b3I6OlNjcmlwdERlYnVnU2VydmVyKik7CiAjZW5k
aWYKIAogcHJvdGVjdGVkOgpAQCAtMTA2LDcgKzEwNiw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6
CiAgICAgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdE1hbmFnZXIqIG1faW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOwogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQotICAgIFNjcmlwdERlYnVn
U2VydmVyKiBtX3NjcmlwdERlYnVnU2VydmVyOworICAgIEluc3BlY3Rvcjo6U2NyaXB0RGVidWdT
ZXJ2ZXIqIG1fc2NyaXB0RGVidWdTZXJ2ZXI7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IDVhNzM1ZTQuLmQwMTU4
NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2Vu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmNw
cApAQCAtOTYsNiArOTYsMTEgQEAgdm9pZCBQYWdlRGVidWdnZXJBZ2VudDo6dW5tdXRlQ29uc29s
ZSgpCiAgICAgUGFnZUNvbnNvbGU6OnVubXV0ZSgpOwogfQogCit2b2lkIFBhZ2VEZWJ1Z2dlckFn
ZW50OjpicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlKQoreworICAgIG1fcGFnZUFnZW50LT5wYWdlKCktPmNvbnNvbGUoKS5hZGRNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKK30KKwogSW5qZWN0
ZWRTY3JpcHQgUGFnZURlYnVnZ2VyQWdlbnQ6OmluamVjdGVkU2NyaXB0Rm9yRXZhbChFcnJvclN0
cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IGludCogZXhlY3V0aW9uQ29udGV4dElkKQogewogICAg
IGlmICghZXhlY3V0aW9uQ29udGV4dElkKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Q
YWdlRGVidWdnZXJBZ2VudC5oCmluZGV4IDRkZDE3MzMuLmJiYWYzZDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5oCkBAIC00Myw3ICs0Myw3IEBAIGNs
YXNzIEluc3BlY3RvclBhZ2VBZ2VudDsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBQYWdlU2NyaXB0RGVi
dWdTZXJ2ZXI7CiAKLWNsYXNzIFBhZ2VEZWJ1Z2dlckFnZW50IDogcHVibGljIEluc3BlY3RvckRl
YnVnZ2VyQWdlbnQgeworY2xhc3MgUGFnZURlYnVnZ2VyQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5z
cGVjdG9yRGVidWdnZXJBZ2VudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZURlYnVn
Z2VyQWdlbnQpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtNjMs
NiArNjMsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBtdXRlQ29uc29sZSgpIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgdm9pZCB1bm11dGVDb25zb2xlKCkgb3ZlcnJpZGU7CiAKKyAgICB2
aXJ0dWFsIHZvaWQgYnJlYWtwb2ludEFjdGlvbkxvZyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0
cmluZyYpIG92ZXJyaWRlOworCiAgICAgdmlydHVhbCBJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0
IGluamVjdGVkU2NyaXB0Rm9yRXZhbChFcnJvclN0cmluZyosIGNvbnN0IGludCogZXhlY3V0aW9u
Q29udGV4dElkKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0T3ZlcmxheU1lc3NhZ2Uo
RXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcqKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IGY5NDhkODQuLmY0
YzRjZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dl
ckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVidWdnZXJB
Z2VudC5jcHAKQEAgLTMzLDExICszMywxMSBAQAogCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVC
VUdHRVIpICYmIEVOQUJMRShJTlNQRUNUT1IpCiAKLSNpbmNsdWRlICJTY3JpcHREZWJ1Z1NlcnZl
ci5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29ya2VyVGhy
ZWFkLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmg+CiAjaW5jbHVkZSA8
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9T
Y3JpcHREZWJ1Z1NlcnZlci5oPgogI2luY2x1ZGUgPG11dGV4PgogI2luY2x1ZGUgPHd0Zi9NZXNz
YWdlUXVldWUuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KQEAgLTEyNyw2ICsx
MjcsMTEgQEAgdm9pZCBXb3JrZXJEZWJ1Z2dlckFnZW50OjpzdG9wTGlzdGVuaW5nU2NyaXB0RGVi
dWdTZXJ2ZXIoYm9vbCBpc0JlaW5nRGVzdHJveWVkKQogICAgIHNjcmlwdERlYnVnU2VydmVyKCku
cmVtb3ZlTGlzdGVuZXIodGhpcywgaXNCZWluZ0Rlc3Ryb3llZCk7CiB9CiAKK3ZvaWQgV29ya2Vy
RGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxvZyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSkKK3sKKyAgICBtX2luc3BlY3RlZFdvcmtlckdsb2JhbFNjb3BlLT5h
ZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VMZXZlbCwgbWVzc2Fn
ZSk7Cit9CisKIFdvcmtlclNjcmlwdERlYnVnU2VydmVyJiBXb3JrZXJEZWJ1Z2dlckFnZW50Ojpz
Y3JpcHREZWJ1Z1NlcnZlcigpCiB7CiAgICAgcmV0dXJuIG1fc2NyaXB0RGVidWdTZXJ2ZXI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuaAppbmRleCA4
YTAzMmIyLi4wOGIwMzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29y
a2VyRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJE
ZWJ1Z2dlckFnZW50LmgKQEAgLTQwLDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgV29ya2VyR2xvYmFsU2NvcGU7CiBjbGFzcyBXb3JrZXJUaHJlYWQ7CiAKLWNsYXNzIFdvcmtl
ckRlYnVnZ2VyQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCB7CitjbGFzcyBX
b3JrZXJEZWJ1Z2dlckFnZW50IGZpbmFsIDogcHVibGljIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlckRlYnVnZ2VyQWdlbnQpOwogICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtNTcsNiArNTcsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIG11dGVDb25zb2xlKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2
b2lkIHVubXV0ZUNvbnNvbGUoKSBvdmVycmlkZTsKIAorICAgIHZpcnR1YWwgdm9pZCBicmVha3Bv
aW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CisK
IHByaXZhdGU6CiAgICAgV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIgbV9zY3JpcHREZWJ1Z1NlcnZl
cjsKICAgICBXb3JrZXJHbG9iYWxTY29wZSogbV9pbnNwZWN0ZWRXb3JrZXJHbG9iYWxTY29wZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA1OTcxMjJj
Li41ODE5OTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5o
CkBAIC0xMzMsNiArMTMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1
YWwgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1f
dG9wT3JpZ2luLmdldCgpOyB9CiAKKyAgICAgICAgdmlydHVhbCB2b2lkIGFkZENvbnNvbGVNZXNz
YWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1
bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgb3ZlcnJpZGU7CisKICAgICBwcm90
ZWN0ZWQ6CiAgICAgICAgIFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBzdGQ6OnVuaXF1ZV9wdHI8R3JvdXBTZXR0aW5ncz4sIFdvcmtlclRocmVh
ZCosIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbik7CiAgICAgICAgIHZvaWQg
YXBwbHlDb250ZW50U2VjdXJpdHlQb2xpY3lGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgY29udGVu
dFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUpOwpAQCAt
MTQ4LDcgKzE1MCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lk
IGRlcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IGRlcmVmKCk7IH0KIAogICAgICAg
ICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxp
bmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+LCBKU0M6OkV4ZWNTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVy
ID0gMCkgb3ZlcnJpZGU7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWdu
ZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApIG92ZXJyaWRlOwogCiAgICAgICAgIHZpcnR1
YWwgRXZlbnRUYXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKSBvdmVycmlkZTsKIAo=
</data>
<flag name="review"
          id="246143"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222173</attachid>
            <date>2014-01-24 17:15:59 -0800</date>
            <delta_ts>2014-01-24 19:23:42 -0800</delta_ts>
            <desc>[PATCH] For Bots 1</desc>
            <filename>forbots1.patch</filename>
            <type>text/plain</type>
            <size>118020</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA5YTFjNjk5Li4xYTNkMzY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMzcsNiArMjM3LDEwIEBAIHNl
dChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5j
cHAKICAgICBpbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3BwCiAgICAgaW5zcGVjdG9y
L0pTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmNwcAorICAgIGluc3BlY3Rvci9KU0phdmFT
Y3JpcHRDYWxsRnJhbWUuY3BwCisgICAgaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVBy
b3RvdHlwZS5jcHAKKyAgICBpbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAKKyAgICBp
bnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCiAgICAgaW5zcGVjdG9yL2FnZW50cy9JbnNw
ZWN0b3JBZ2VudC5jcHAKIAogICAgIGludGVycHJldGVyL0Fic3RyYWN0UEMuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwppbmRleCA3MzMwZWM2Li4yZTM4N2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw5MyBAQAorMjAxNC0wMS0yMyAgSm9zZXBoIFBlY29yYXJvICA8cGVj
b3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgSmF2YVNjcmlwdENhbGxGcmFtZSBhbmQg
U2NyaXB0RGVidWdTZXJ2ZXIgaW50byBKYXZhU2NyaXB0Q29yZSBmb3IgaW5zcGVjdG9yCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc1NDMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogSmF2YVNjcmlw
dENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgorICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIEFkZCBuZXcgZmlsZXMu
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0RGVidWdMaXN0ZW5lci5oOgorICAgICAgICBF
eHRyYWN0IFdlYkNvcmUga25vd2xlZGdlIGZyb20gU2NyaXB0RGVidWdTZXJ2ZXIuIFRoaXMgd2ls
bAorICAgICAgICBldmVudHVhbGx5IGJlIG1hZGUgdG8gd29yayBvdXRzaWRlIG9mIFdlYkNvcmUu
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmguCisgICAgICAg
ICogaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmNwcC4KKyAgICAgICAgKEluc3Bl
Y3Rvcjo6U2NyaXB0RGVidWdTZXJ2ZXI6OmV2YWx1YXRlQnJlYWtwb2ludEFjdGlvbik6CisgICAg
ICAgIChJbnNwZWN0b3I6OlNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaERpZFBhdXNlKToKKyAg
ICAgICAgKEluc3BlY3Rvcjo6U2NyaXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNoQnJlYWtwb2ludEFj
dGlvbkxvZyk6CisgICAgICAgIChJbnNwZWN0b3I6OlNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRj
aEJyZWFrcG9pbnRBY3Rpb25Tb3VuZCk6CisgICAgICAgIChJbnNwZWN0b3I6OlNjcmlwdERlYnVn
U2VydmVyOjpzb3VyY2VQYXJzZWQpOgorICAgICAgICAoSW5zcGVjdG9yOjpTY3JpcHREZWJ1Z1Nl
cnZlcjo6ZGlzcGF0Y2hGdW5jdGlvblRvTGlzdGVuZXJzKToKKyAgICAgICAgKEluc3BlY3Rvcjo6
U2NyaXB0RGVidWdTZXJ2ZXI6OmhhbmRsZVBhdXNlKToKKyAgICAgICAgTW9kZXJuaXplIGNvZGUs
IGFuZCBjYWxsIHRoZSBuZXcgU2NyaXB0RGVidWdMaXN0ZW5lciBjYWxsYmFja3Mgd2hlcmUgYXBw
cm9wcmlhdGUuCisKKzIwMTQtMDEtMjMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxl
LmNvbT4KKworICAgICAgICBNb3ZlIEphdmFTY3JpcHRDYWxsRnJhbWUgYW5kIFNjcmlwdERlYnVn
U2VydmVyIGludG8gSmF2YVNjcmlwdENvcmUgZm9yIGluc3BlY3RvcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NTQzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHBy
b2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgbmV3IGZpbGVzIHRvIHRoZSBidWls
ZC4KKworICAgICAgICAqIGluc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwOiBSZW5h
bWVkIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNKYXZhU2NyaXB0Q2FsbEZyYW1l
Q3VzdG9tLmNwcC4KKyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpK
U0phdmFTY3JpcHRDYWxsRnJhbWUpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0phdmFTY3JpcHRD
YWxsRnJhbWU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lOjpjcmVhdGVQcm90b3R5cGUpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0ph
dmFTY3JpcHRDYWxsRnJhbWU6OmRlc3Ryb3kpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0phdmFT
Y3JpcHRDYWxsRnJhbWU6OnJlbGVhc2VJbXBsKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZh
U2NyaXB0Q2FsbEZyYW1lOjp+SlNKYXZhU2NyaXB0Q2FsbEZyYW1lKToKKyAgICAgICAgKEluc3Bl
Y3Rvcjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpldmFsdWF0ZSk6CisgICAgICAgIChJbnNwZWN0
b3I6OkpTSmF2YVNjcmlwdENhbGxGcmFtZTo6c2NvcGVUeXBlKToKKyAgICAgICAgKEluc3BlY3Rv
cjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpjYWxsZXIpOgorICAgICAgICAoSW5zcGVjdG9yOjpK
U0phdmFTY3JpcHRDYWxsRnJhbWU6OnNvdXJjZUlEKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNK
YXZhU2NyaXB0Q2FsbEZyYW1lOjpsaW5lKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lOjpjb2x1bW4pOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0phdmFTY3JpcHRD
YWxsRnJhbWU6OmZ1bmN0aW9uTmFtZSk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTSmF2YVNjcmlw
dENhbGxGcmFtZTo6c2NvcGVDaGFpbik6CisgICAgICAgIChJbnNwZWN0b3I6OkpTSmF2YVNjcmlw
dENhbGxGcmFtZTo6dGhpc09iamVjdCk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTSmF2YVNjcmlw
dENhbGxGcmFtZTo6dHlwZSk6CisgICAgICAgIChJbnNwZWN0b3I6OnRvSlMpOgorICAgICAgICAo
SW5zcGVjdG9yOjp0b0pTSmF2YVNjcmlwdENhbGxGcmFtZSk6CisgICAgICAgICogaW5zcGVjdG9y
L0pTSmF2YVNjcmlwdENhbGxGcmFtZS5oOiBBZGRlZC4KKyAgICAgICAgKEluc3BlY3Rvcjo6SlNK
YXZhU2NyaXB0Q2FsbEZyYW1lOjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAoSW5zcGVjdG9y
OjpKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmNyZWF0ZSk6CisgICAgICAgIChJbnNwZWN0b3I6OkpT
SmF2YVNjcmlwdENhbGxGcmFtZTo6aW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0pTSmF2YVNj
cmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHA6IEFkZGVkLgorICAgICAgICAoSW5zcGVjdG9yOjpK
U0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAg
KEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlRnVuY3Rpb25FdmFsdWF0
ZSk6CisgICAgICAgIChJbnNwZWN0b3I6OmpzSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZUZ1
bmN0aW9uU2NvcGVUeXBlKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZy
YW1lQXR0cmlidXRlQ2FsbGVyKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2Fs
bEZyYW1lQXR0cmlidXRlU291cmNlSUQpOgorICAgICAgICAoSW5zcGVjdG9yOjpqc0phdmFTY3Jp
cHRDYWxsRnJhbWVBdHRyaWJ1dGVMaW5lKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2Ny
aXB0Q2FsbEZyYW1lQXR0cmlidXRlQ29sdW1uKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZh
U2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlRnVuY3Rpb25OYW1lKToKKyAgICAgICAgKEluc3BlY3Rv
cjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlU2NvcGVDaGFpbik6CisgICAgICAgIChJ
bnNwZWN0b3I6OmpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZVRoaXNPYmplY3QpOgorICAg
ICAgICAoSW5zcGVjdG9yOjpqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVUeXBlKToKKyAg
ICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRHTE9CQUxfU0NP
UEUpOgorICAgICAgICAoSW5zcGVjdG9yOjpqc0phdmFTY3JpcHRDYWxsRnJhbWVDb25zdGFudExP
Q0FMX1NDT1BFKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29u
c3RhbnRXSVRIX1NDT1BFKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZy
YW1lQ29uc3RhbnRDTE9TVVJFX1NDT1BFKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2Ny
aXB0Q2FsbEZyYW1lQ29uc3RhbnRDQVRDSF9TQ09QRSk6CisgICAgICAgICogaW5zcGVjdG9yL0pT
SmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oOiBBZGRlZC4KKyAgICAgICAgKEluc3BlY3Rv
cjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlOjpjcmVhdGUpOgorICAgICAgICAoSW5z
cGVjdG9yOjpKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZSk6
CisgICAgICAgIChJbnNwZWN0b3I6OkpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZTo6SlNK
YXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSmF2YVNj
cmlwdENhbGxGcmFtZS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcC4KKyAgICAgICAgKEluc3BlY3Rvcjo6SmF2YVNjcmlw
dENhbGxGcmFtZTo6Y2FsbGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxG
cmFtZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSmF2YVNjcmlw
dENhbGxGcmFtZS5oLgorICAgICAgICBQb3J0IG9mIEphdmFTY3JpcHRDYWxsRnJhbWUuaWRsIHRv
IGEgc2V0IG9mIG5hdGl2ZSBKUyBjbGFzc2VzLgorCiAyMDE0LTAxLTI0ICBCcmVudCBGdWxnaGFt
ICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dIENvbnZlcnQgc29tZSBOTWFr
ZSBmaWxlcyB0byBNU0J1aWxkIHByb2plY3QgZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYTYxMjVkYS4uYzQxNDNkNiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTY1Myw4ICs2NTMsMTYgQEAgamF2YXNj
cmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9K
U0luamVjdGVkU2NyaXB0SG9zdC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5oIFwKKwlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgXAorCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggXAor
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJv
dG90eXBlLmNwcCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3Jp
cHRDYWxsRnJhbWVQcm90b3R5cGUuaCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvU2NyaXB0QnJlYWtwb2ludC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL1NjcmlwdERlYnVnTGlzdGVuZXIuaCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5jcHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvQWJzdHJhY3RQQy5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRD
b3JlLnZjeHByb2oKaW5kZXggYmFmZThiMy4uN2YwMmNmMCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJv
agorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qCkBAIC00ODYsNiArNDg2LDEwIEBACiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yVmFsdWVzLmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKU0luamVjdGVkU2NyaXB0SG9zdC5jcHAiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSlNJbmplY3RlZFNjcmlwdEhvc3RQ
cm90b3R5cGUuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEpT
SmF2YVNjcmlwdENhbGxGcmFtZS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmNwcCIgLz4KKyAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCIgLz4K
KyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHREZWJ1Z1NlcnZlci5j
cHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcYWdlbnRzXEluc3Bl
Y3RvckFnZW50LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGludGVycHJldGVy
XEFic3RyYWN0UEMuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW50ZXJwcmV0
ZXJcQ2FsbEZyYW1lLmNwcCIgLz4KQEAgLTEwNTcsOCArMTA2MSwxMiBAQAogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvclZhbHVlcy5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEpTSW5qZWN0ZWRTY3JpcHRIb3N0LmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSlNJbmplY3RlZFNjcmlwdEhvc3RQ
cm90b3R5cGUuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKU0ph
dmFTY3JpcHRDYWxsRnJhbWUuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCIgLz4KKyAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKYXZhU2NyaXB0Q2FsbEZyYW1lLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QnJlYWtwb2ludC5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdERlYnVnTGlzdGVuZXIuaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHREZWJ1Z1NlcnZl
ci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNw
ZWN0b3JBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW50ZXJwcmV0ZXJc
QWJzdHJhY3RQQy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW50ZXJwcmV0ZXJc
Q2FjaGVkQ2FsbC5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiYjFjZTk2
Li4xYzdkYmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTAwLDggKzkwMCwx
NiBAQAogCQlBMTcxMkI0MTExQzdCMjM1MDA3QTUzMTUgLyogUmVnRXhwS2V5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTcxMkI0MDExQzdCMjM1MDA3
QTUzMTUgLyogUmVnRXhwS2V5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQTFBMDA5QzAxODMxQTIyRDAwQ0Y4NzExIC8qIE1hY3JvQXNzZW1ibGVy
QVJNNjQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
NDA5MjNDMTU2RUVEM0IwMDU2NkNCMiAvKiBNYWNyb0Fzc2VtYmxlckFSTTY0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTFBMDA5QzExODMxQTI2
RTAwQ0Y4NzExIC8qIEFSTTY0QXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NjQwOTIzQjE1NkVFRDNCMDA1NjZDQjIgLyogQVJNNjRBc3Nl
bWJsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlBNTAzRkExOTE4OEUwRkIwMDAxMTBGMTQgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTAzRkExMzE4OEUw
RkFGMDAxMTBGMTQgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgKi87IH07CisJCUE1MDNGQTFB
MTg4RTBGQjAwMDExMEYxNCAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTAzRkExNDE4OEUwRkFGMDAxMTBGMTQg
LyogSmF2YVNjcmlwdENhbGxGcmFtZS5oICovOyB9OworCQlBNTAzRkExQjE4OEUwRkIwMDAxMTBG
MTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MDNGQTE1MTg4RTBGQjAwMDExMEYxNCAvKiBKU0phdmFT
Y3JpcHRDYWxsRnJhbWUuY3BwICovOyB9OworCQlBNTAzRkExQzE4OEUwRkIwMDAxMTBGMTQgLyog
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNTAzRkExNjE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lLmggKi87IH07CisJCUE1MDNGQTFEMTg4RTBGQjAwMDExMEYxNCAvKiBKU0phdmFTY3Jp
cHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTUwM0ZBMTcxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENh
bGxGcmFtZVByb3RvdHlwZS5jcHAgKi87IH07CisJCUE1MDNGQTFFMTg4RTBGQjAwMDExMEYxNCAv
KiBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MDNGQTE4MTg4RTBGQjAwMDExMEYxNCAvKiBKU0ph
dmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCAqLzsgfTsKIAkJQTUwM0ZBMjExODhFRkY2ODAw
MTEwRjE0IC8qIFNjcmlwdEJyZWFrcG9pbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1MDNGQTFGMTg4RUZGNjgwMDExMEYxNCAvKiBTY3JpcHRCcmVh
a3BvaW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQTUwM0ZBMjIxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdERlYnVnTGlzdGVuZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MDNGQTIwMTg4RUZG
NjgwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z0xpc3RlbmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTUwM0ZBMjUxODhFRkZGRDAwMTEwRjE0IC8q
IFNjcmlwdERlYnVnU2VydmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1MDNGQTIzMTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z1NlcnZl
ci5jcHAgKi87IH07CisJCUE1MDNGQTI2MTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z1Nl
cnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUw
M0ZBMjQxODhFRkZGRDAwMTEwRjE0IC8qIFNjcmlwdERlYnVnU2VydmVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTUxMDA3QzAxODdDQzNDNjAw
QjM4ODc5IC8qIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTEwMDdCRTE4N0NDM0M2MDBC
Mzg4NzkgLyogSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcCAqLzsgfTsKIAkJ
QTUxMDA3QzExODdDQzNDNjAwQjM4ODc5IC8qIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJv
bGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUx
MDA3QkYxODdDQzNDNjAwQjM4ODc5IC8qIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxl
ci5oICovOyB9OwogCQlBNTEzRTVCNzE4NUI4QkQzMDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUxM0U1
QjUxODVCOEJEMzAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0LmNwcCAqLzsgfTsKQEAgLTIyOTAs
OCArMjI5OCwxNiBAQAogCQlBMTcxMkIzQTExQzdCMjEyMDA3QTUzMTUgLyogUmVnRXhwQ2FjaGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVnRXhwQ2FjaGUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTcxMkIzRTExQzdCMjI4MDA3QTUzMTUg
LyogUmVnRXhwQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVnRXhw
Q2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE3MTJCNDAxMUM3QjIzNTAw
N0E1MzE1IC8qIFJlZ0V4cEtleS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZWdFeHBLZXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUwM0ZBMTMxODhFMEZB
RjAwMTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSmF2YVNjcmlwdENhbGxGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUE1MDNGQTE0MTg4RTBGQUYwMDExMEYxNCAvKiBKYXZhU2NyaXB0Q2Fs
bEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEphdmFTY3JpcHRDYWxs
RnJhbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUwM0ZBMTUxODhFMEZCMDAw
MTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBNTAzRkExNjE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSmF2YVNjcmlw
dENhbGxGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTAzRkExNzE4OEUw
RkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3Rv
dHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MDNGQTE4MTg4RTBGQjAw
MDExMEYxNCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1MDNGQTFGMTg4RUZGNjgwMDExMEYxNCAvKiBT
Y3JpcHRCcmVha3BvaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlw
dEJyZWFrcG9pbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTUwM0ZBMjAxODhF
RkY2ODAwMTEwRjE0IC8qIFNjcmlwdERlYnVnTGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU2NyaXB0RGVidWdMaXN0ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBNTAzRkEyMzE4OEVGRkZEMDAxMTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0RGVidWdTZXJ2
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTAzRkEyNDE4OEVGRkZEMDAx
MTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU2NyaXB0RGVidWdTZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTUxMDA3QkUxODdDQzNDNjAwQjM4ODc5IC8qIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJv
bGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dsb2JhbE9i
amVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBNTEwMDdCRjE4N0NDM0M2MDBCMzg4NzkgLyogSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250
cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0
SW5zcGVjdG9yQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNTEz
RTVCNTE4NUI4QkQzMDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5qZWN0ZWRTY3JpcHQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNDQwOSw4ICs0NDI1LDE2IEBACiAJCQkJQTUxM0U1QkIxODVCRkFD
QzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0LmggKi8sCiAJCQkJQTUxM0U1QkMxODVC
RkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmNwcCAqLywKIAkJ
CQlBNTEzRTVCRDE4NUJGQUNDMDA3RTk1QUQgLyogSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5
cGUuaCAqLywKKwkJCQlBNTAzRkExNTE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lLmNwcCAqLywKKwkJCQlBNTAzRkExNjE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lLmggKi8sCisJCQkJQTUwM0ZBMTcxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2
YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAgKi8sCisJCQkJQTUwM0ZBMTgxODhFMEZCMDAw
MTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oICovLAorCQkJCUE1MDNG
QTEzMTg4RTBGQUYwMDExMEYxNCAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCAqLywKKwkJCQlB
NTAzRkExNDE4OEUwRkFGMDAxMTBGMTQgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5oICovLAogCQkJ
CUE1MDNGQTFGMTg4RUZGNjgwMDExMEYxNCAvKiBTY3JpcHRCcmVha3BvaW50LmggKi8sCiAJCQkJ
QTUwM0ZBMjAxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdERlYnVnTGlzdGVuZXIuaCAqLywKKwkJ
CQlBNTAzRkEyMzE4OEVGRkZEMDAxMTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIuY3BwICovLAor
CQkJCUE1MDNGQTI0MTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z1NlcnZlci5oICovLAog
CQkJKTsKIAkJCXBhdGggPSBpbnNwZWN0b3I7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpA
QCAtNDUwOCw2ICs0NTMyLDcgQEAKIAkJCQk4NkQzQjJDNTEwMTU2QkRFMDAyODY1RTcgLyogQXNz
ZW1ibGVyQnVmZmVyV2l0aENvbnN0YW50UG9vbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyNEU1
NDExN0VBOUY1OTAwQUJCMjE3IC8qIEFzc2VtYmx5SGVscGVycy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTc4NEEyNjExMUQxNjYyMjAwNTc3NkFDIC8qIEFTVEJ1aWxkZXIuaCBpbiBIZWFkZXJzICov
LAorCQkJCUE1MDNGQTFBMTg4RTBGQjAwMDExMEYxNCAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxNDdCODNBQzBFNkRCOEM5MDA0Nzc1QTQgLyogQmF0Y2hlZFRy
YW5zaXRpb25PcHRpbWl6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2NjczOUQyMTNCRkRFNzEw
MDIzRDg3QyAvKiBCaWdJbnRlZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDgxNkUxQzE1NEND
NTZDMDBCODA1NEMgLyogQmxvY2tBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtNDYwNyw2
ICs0NjMyLDcgQEAKIAkJCQkwRjdCMjk0RDE0QzNDRDRDMDA3QzNEQjEgLyogREZHQ29tbW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRkVBMEEzMjE3MEQ0MEJGMDBCQjcyMkMgLyogREZHQ29tbW9u
RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYzOEIwMTgxN0NGRTc1NTAwQjE0NEQzIC8qIERG
R0NvbXBpbGF0aW9uS2V5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTAzRkExRTE4OEUwRkIwMDAx
MTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwRjM4QjAxQTE3Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25Nb2RlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwRjNCM0ExQjE1M0U2OEY0MDAzRUQwRkYgLyogREZHQ29uc3RhbnRG
b2xkaW5nUGhhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQkUwRjczMTZDMURCMDUwMDgyQzVF
OCAvKiBERkdDUFNSZXRocmVhZGluZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKQEAgLTQ3OTksNiAr
NDgyNSw3IEBACiAJCQkJMEY2NjZFQzExODM1NjZGOTAwRDAxN0YxIC8qIEZ1bGxCeXRlY29kZUxp
dmVuZXNzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMkU1MjZCRTE1OTBFRjAwMDA1NEU0OEQgLyog
SGVhcFRpbWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ2ODBENTE0QkJEMjRCMDBCRkUyNzIg
LyogSG9zdENhbGxSZXR1cm5WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTUwM0ZBMjYxODhF
RkZGRDAwMTEwRjE0IC8qIFNjcmlwdERlYnVnU2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzE4QzQwRjBFMTZGNUNEMDBCMzQ0NjAgLyogSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQzI1RjhCQ0UxNTc1NDRBOTAwMjQ1QjcxIC8qIEluY3JlbWVudGFsU3dlZXBlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZCN0YzOTkxNUVEOEU0NjAwRjE2N0IyIC8qIEluZGV4aW5nSGVhZGVy
LmggaW4gSGVhZGVycyAqLywKQEAgLTU4MjUsNiArNTg1Miw3IEBACiAJCQkJMEZGMEYxOUYxNkI3
MkExNzAwNURGOTVCIC8qIEZ1bmN0aW9uRXhlY3V0YWJsZUR1bXAuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMTQ3RjM5Q0MxMDdFQzM3NjAwNDI3QTQ4IC8qIEZ1bmN0aW9uUHJvdG90eXBlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUMyRDU4QzM0MTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5
Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTUwM0ZBMUQxODhFMEZCMDAwMTEwRjE0
IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjc2NkQyRjE1QThEQ0UwMDA4RjM2M0UgLyogR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUMyMjM5RDFBMTYyNjJCREQwMDVBQzVGRCAvKiBHQ1RocmVhZC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlDMjExMjJFMTE1REQ5QUIzMDA3OTBFM0EgLyogR0NUaHJl
YWRTaGFyZWREYXRhLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTg2Nyw2ICs1ODk1LDcgQEAKIAkJ
CQkwRjc2NkQyODE1QThDQzFFMDA4RjM2M0UgLyogSklUU3R1YlJvdXRpbmUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMEY3NjZEMkIxNUE4Q0MzODAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lU2V0
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0QTIzRDc1MEY0RTFBQkIwMDIzQ0RBRCAvKiBKSVRT
dHVicy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTAzRkExOTE4OEUwRkIwMDAxMTBGMTQgLyog
SmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjVFRjkxRTE2ODc4
RjdBMDAzRTVDMjUgLyogSklUVGh1bmtzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQzcxMkUy
MTdDRDg3OTEwMDhDQzkzQyAvKiBKSVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDBCN0QxRDBEQzY5QUY3MDA5QzQyQjggLyogSlNBY3Rp
dmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTkzMyw2ICs1OTYyLDcgQEAKIAkJCQlBN0NB
M0FFNzE3REE0MUFFMDA2NTM4QUYgLyogSlNXZWFrTWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUE3NDgyQjk0MTE2NzExNDcwMDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTE0NDI1NjYxMTVFREU5OEQwMDY2QTQ5QiAvKiBKU1dpdGhT
Y29wZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTAzRkExQjE4OEUwRkIwMDAxMTBGMTQgLyog
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2RTNDNjE4MTY3
QkFCRUUwMDZENzYwQSAvKiBKU1dyYXBwZXJNYXAubW0gaW4gU291cmNlcyAqLywKIAkJCQkxNDI4
MDg3MDEwN0VDMTM0MDAxM0U3QjIgLyogSlNXcmFwcGVyT2JqZWN0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDRkQ4QzkyMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFibGUuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC02MDQ4LDYgKzYwNzgsNyBAQAogCQkJCUE3MzBCNjEzMTI1MDA2OEYwMDlEMjVC
MSAvKiBTdHJpY3RFdmFsQWN0aXZhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDQ2OURF
QjEwN0VDN0U3MDA2NTA0NDYgLyogU3RyaW5nQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMTQ0NjlERUMxMDdFQzdFNzAwNjUwNDQ2IC8qIFN0cmluZ09iamVjdC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlBNTAzRkEyNTE4OEVGRkZEMDAxMTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ0NjlERUQxMDdFQzdFNzAwNjUwNDQ2IC8qIFN0
cmluZ1Byb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzM1RjI0RDEyRTY3NjVCMDAy
QjU1NTMgLyogU3RyaW5nUmVjdXJzaW9uQ2hlY2tlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
Q0RFM0I0MzBFNkM4MzJEMDAxNDUzQTcgLyogU3RydWN0dXJlLmNwcCBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2Ny
aXB0SG9zdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2Ny
aXB0SG9zdC5oCmluZGV4IDE5OWRmY2EuLmRjMjM1NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmgKQEAgLTY5LDcg
KzY5LDcgQEAgcHVibGljOgogICAgIEpTQzo6SlNWYWx1ZSBnZXRJbnRlcm5hbFByb3BlcnRpZXMo
SlNDOjpFeGVjU3RhdGUqKTsKIAogcHJvdGVjdGVkOgotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBTdHJ1Y3R1cmVGbGFncyA9IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSlND
OjpJbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3Ra
ZXJvIHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0
cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7CiAKICAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKEpTQzo6Vk0mKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcApzaW1pbGFyaXR5IGluZGV4IDUz
JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0phdmFTY3JpcHRDYWxs
RnJhbWVDdXN0b20uY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAKaW5kZXggNTU2MTRhNi4uMGZjZDZiYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3Vz
dG9tLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlw
dENhbGxGcmFtZS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4
IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTI0LDY5ICsyNCw2NyBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQot
I2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQotCiAjaW5jbHVkZSAiSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lLmgiCiAKLSNpbmNsdWRlICJKYXZhU2NyaXB0Q2FsbEZyYW1lLmgiCi0jaW5jbHVk
ZSA8cnVudGltZS9BcnJheVByb3RvdHlwZS5oPgotI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4K
KyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQor
CisjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJKU0NlbGxJbmxpbmVzLmgiCisjaW5jbHVk
ZSAiSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBK
U0M7CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworCitjb25z
dCBDbGFzc0luZm8gSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpzX2luZm8gPSB7ICJKYXZhU2NyaXB0
Q2FsbEZyYW1lIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0ph
dmFTY3JpcHRDYWxsRnJhbWUpIH07CisKK0pTSmF2YVNjcmlwdENhbGxGcmFtZTo6SlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8SmF2
YVNjcmlwdENhbGxGcmFtZT4gaW1wbCkKKyAgICA6IEpTRGVzdHJ1Y3RpYmxlT2JqZWN0KHZtLCBz
dHJ1Y3R1cmUpCisgICAgLCBtX2ltcGwoaW1wbC5sZWFrUmVmKCkpCit7Cit9CisKK3ZvaWQgSlNK
YXZhU2NyaXB0Q2FsbEZyYW1lOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCit7CisgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0pOworICAgIEFTU0VSVChpbmhlcml0cyhpbmZvKCkpKTsKK30KKwor
SlNPYmplY3QqIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6Y3JlYXRlUHJvdG90eXBlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICByZXR1cm4gSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lUHJvdG90eXBlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lUHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIGdsb2JhbE9iamVjdCwgZ2xv
YmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKSkpOworfQorCit2b2lkIEpTSmF2YVNjcmlwdENh
bGxGcmFtZTo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKK3sKKyAgICBKU0phdmFTY3JpcHRD
YWxsRnJhbWUqIHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxKU0phdmFTY3JpcHRDYWxsRnJhbWUq
PihjZWxsKTsKKyAgICB0aGlzT2JqZWN0LT5KU0phdmFTY3JpcHRDYWxsRnJhbWU6On5KU0phdmFT
Y3JpcHRDYWxsRnJhbWUoKTsKK30KKwordm9pZCBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OnJlbGVh
c2VJbXBsKCkKK3sKKyAgICBpZiAobV9pbXBsKSB7CisgICAgICAgIG1faW1wbC0+ZGVyZWYoKTsK
KyAgICAgICAgbV9pbXBsID0gbnVsbHB0cjsKKyAgICB9Cit9CisKK0pTSmF2YVNjcmlwdENhbGxG
cmFtZTo6fkpTSmF2YVNjcmlwdENhbGxGcmFtZSgpCit7CisgICAgcmVsZWFzZUltcGwoKTsKK30K
IAogSlNWYWx1ZSBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmV2YWx1YXRlKEV4ZWNTdGF0ZSogZXhl
YykKIHsKICAgICBKU1ZhbHVlIGV4Y2VwdGlvbjsKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGltcGwo
KS5ldmFsdWF0ZShleGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKS0+dmFsdWUoZXhlYyks
IGV4Y2VwdGlvbik7Ci0KICAgICBpZiAoZXhjZXB0aW9uKQogICAgICAgICBleGVjLT52bSgpLnRo
cm93RXhjZXB0aW9uKGV4ZWMsIGV4Y2VwdGlvbik7CiAKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ci1KU1ZhbHVlIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6dGhpc09iamVjdChFeGVjU3RhdGUqKSBj
b25zdAotewotICAgIHJldHVybiBpbXBsKCkudGhpc1ZhbHVlKCk7Ci19Ci0KLUpTVmFsdWUgSlNK
YXZhU2NyaXB0Q2FsbEZyYW1lOjp0eXBlKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKLXsKLSAgICBz
d2l0Y2ggKGltcGwoKS50eXBlKCkpIHsKLSAgICBjYXNlIERlYnVnZ2VyQ2FsbEZyYW1lOjpGdW5j
dGlvblR5cGU6Ci0gICAgICAgIHJldHVybiBqc05vbnRyaXZpYWxTdHJpbmcoZXhlYywgQVNDSUlM
aXRlcmFsKCJmdW5jdGlvbiIpKTsKLSAgICBjYXNlIERlYnVnZ2VyQ2FsbEZyYW1lOjpQcm9ncmFt
VHlwZToKLSAgICAgICAgcmV0dXJuIGpzTm9udHJpdmlhbFN0cmluZyhleGVjLCBBU0NJSUxpdGVy
YWwoInByb2dyYW0iKSk7Ci0gICAgfQotCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAg
cmV0dXJuIGpzTnVsbCgpOwotfQotCi1KU1ZhbHVlIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6c2Nv
cGVDaGFpbihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Ci17Ci0gICAgaWYgKCFpbXBsKCkuc2NvcGVD
aGFpbigpKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0KLSAgICBKU1Njb3BlKiBzY29wZUNo
YWluID0gaW1wbCgpLnNjb3BlQ2hhaW4oKTsKLSAgICBTY29wZUNoYWluSXRlcmF0b3IgaXRlciA9
IHNjb3BlQ2hhaW4tPmJlZ2luKCk7Ci0gICAgU2NvcGVDaGFpbkl0ZXJhdG9yIGVuZCA9IHNjb3Bl
Q2hhaW4tPmVuZCgpOwotCi0gICAgLy8gd2UgbXVzdCBhbHdheXMgaGF2ZSBzb21ldGhpbmcgaW4g
dGhlIHNjb3BlIGNoYWluCi0gICAgQVNTRVJUKGl0ZXIgIT0gZW5kKTsKLQotICAgIE1hcmtlZEFy
Z3VtZW50QnVmZmVyIGxpc3Q7Ci0gICAgZG8gewotICAgICAgICBsaXN0LmFwcGVuZChpdGVyLmdl
dCgpKTsKLSAgICAgICAgKytpdGVyOwotICAgIH0gd2hpbGUgKGl0ZXIgIT0gZW5kKTsKLQotICAg
IHJldHVybiBjb25zdHJ1Y3RBcnJheShleGVjLCAwLCBnbG9iYWxPYmplY3QoKSwgbGlzdCk7Ci19
Ci0KIEpTVmFsdWUgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpzY29wZVR5cGUoRXhlY1N0YXRlKiBl
eGVjKQogewogICAgIGlmICghaW1wbCgpLnNjb3BlQ2hhaW4oKSkKQEAgLTk5LDYgKzk3LDggQEAg
SlNWYWx1ZSBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OnNjb3BlVHlwZShFeGVjU3RhdGUqIGV4ZWMp
CiAgICAgSlNTY29wZSogc2NvcGVDaGFpbiA9IGltcGwoKS5zY29wZUNoYWluKCk7CiAgICAgU2Nv
cGVDaGFpbkl0ZXJhdG9yIGVuZCA9IHNjb3BlQ2hhaW4tPmVuZCgpOwogCisgICAgLy8gRklYTUU6
IFdlIHNob3VsZCBiZSBpZGVudGlmeWluZyBhbmQgcmV0dXJuaW5nIENBVENIX1NDT1BFIGFwcHJv
cHJpYXRlbHkuCisKICAgICBib29sIGZvdW5kTG9jYWxTY29wZSA9IGZhbHNlOwogICAgIGZvciAo
U2NvcGVDaGFpbkl0ZXJhdG9yIGl0ZXIgPSBzY29wZUNoYWluLT5iZWdpbigpOyBpdGVyICE9IGVu
ZDsgKytpdGVyKSB7CiAgICAgICAgIEpTT2JqZWN0KiBzY29wZSA9IGl0ZXIuZ2V0KCk7CkBAIC0x
MDYsMjQgKzEwNiwxMDggQEAgSlNWYWx1ZSBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OnNjb3BlVHlw
ZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgICAgICBpZiAoIWZvdW5kTG9jYWxTY29wZSkgewog
ICAgICAgICAgICAgICAgIC8vIEZpcnN0IGFjdGl2YXRpb24gb2JqZWN0IGlzIGxvY2FsIHNjb3Bl
LCBlYWNoIHN1Y2Nlc3NpdmUgYWN0aXZhdGlvbiBvYmplY3QgaXMgY2xvc3VyZS4KICAgICAgICAg
ICAgICAgICBpZiAoIWluZGV4KQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6
ZGVjb2RlKGpzSmF2YVNjcmlwdENhbGxGcmFtZUxPQ0FMX1NDT1BFKGV4ZWMsIEVuY29kZWRKU1Zh
bHVlKCksIEVuY29kZWRKU1ZhbHVlKCksIElkZW50aWZpZXIoKSkpOworICAgICAgICAgICAgICAg
ICAgICByZXR1cm4ganNOdW1iZXIoSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpMT0NBTF9TQ09QRSk7
CiAgICAgICAgICAgICAgICAgZm91bmRMb2NhbFNjb3BlID0gdHJ1ZTsKICAgICAgICAgICAgIH0g
ZWxzZSBpZiAoIWluZGV4KQotICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpkZWNvZGUo
anNKYXZhU2NyaXB0Q2FsbEZyYW1lQ0xPU1VSRV9TQ09QRShleGVjLCBFbmNvZGVkSlNWYWx1ZSgp
LCBFbmNvZGVkSlNWYWx1ZSgpLCBJZGVudGlmaWVyKCkpKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4ganNOdW1iZXIoSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpDTE9TVVJFX1NDT1BFKTsKICAgICAg
ICAgfQogCiAgICAgICAgIGlmICghaW5kZXgpIHsKICAgICAgICAgICAgIC8vIExhc3QgaW4gdGhl
IGNoYWluIGlzIGdsb2JhbCBzY29wZS4KICAgICAgICAgICAgIGlmICgrK2l0ZXIgPT0gZW5kKQot
ICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpkZWNvZGUoanNKYXZhU2NyaXB0Q2FsbEZy
YW1lR0xPQkFMX1NDT1BFKGV4ZWMsIEVuY29kZWRKU1ZhbHVlKCksIEVuY29kZWRKU1ZhbHVlKCks
IElkZW50aWZpZXIoKSkpOwotICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmRlY29kZShqc0ph
dmFTY3JpcHRDYWxsRnJhbWVXSVRIX1NDT1BFKGV4ZWMsIEVuY29kZWRKU1ZhbHVlKCksIEVuY29k
ZWRKU1ZhbHVlKCksIElkZW50aWZpZXIoKSkpOworICAgICAgICAgICAgICAgIHJldHVybiBqc051
bWJlcihKU0phdmFTY3JpcHRDYWxsRnJhbWU6OkdMT0JBTF9TQ09QRSk7CisgICAgICAgICAgICBy
ZXR1cm4ganNOdW1iZXIoSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpXSVRIX1NDT1BFKTsKICAgICAg
ICAgfQogCiAgICAgICAgIC0taW5kZXg7CiAgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKK0pTVmFsdWUgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpjYWxsZXIoRXhlY1N0YXRlKiBleGVj
KSBjb25zdAoreworICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBpbXBsKCku
Y2FsbGVyKCkpOworfQorCitKU1ZhbHVlIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6c291cmNlSUQo
RXhlY1N0YXRlKikgY29uc3QKK3sKKyAgICByZXR1cm4ganNOdW1iZXIoaW1wbCgpLnNvdXJjZUlE
KCkpOworfQorCitKU1ZhbHVlIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6bGluZShFeGVjU3RhdGUq
KSBjb25zdAoreworICAgIHJldHVybiBqc051bWJlcihpbXBsKCkubGluZSgpKTsKK30KKworSlNW
YWx1ZSBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmNvbHVtbihFeGVjU3RhdGUqKSBjb25zdAorewor
ICAgIHJldHVybiBqc051bWJlcihpbXBsKCkuY29sdW1uKCkpOworfQorCitKU1ZhbHVlIEpTSmF2
YVNjcmlwdENhbGxGcmFtZTo6ZnVuY3Rpb25OYW1lKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sK
KyAgICByZXR1cm4ganNTdHJpbmcoZXhlYywgaW1wbCgpLmZ1bmN0aW9uTmFtZSgpKTsKK30KKwor
SlNWYWx1ZSBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OnNjb3BlQ2hhaW4oRXhlY1N0YXRlKiBleGVj
KSBjb25zdAoreworICAgIGlmICghaW1wbCgpLnNjb3BlQ2hhaW4oKSkKKyAgICAgICAgcmV0dXJu
IGpzTnVsbCgpOworCisgICAgSlNTY29wZSogc2NvcGVDaGFpbiA9IGltcGwoKS5zY29wZUNoYWlu
KCk7CisgICAgU2NvcGVDaGFpbkl0ZXJhdG9yIGl0ZXIgPSBzY29wZUNoYWluLT5iZWdpbigpOwor
ICAgIFNjb3BlQ2hhaW5JdGVyYXRvciBlbmQgPSBzY29wZUNoYWluLT5lbmQoKTsKKworICAgIC8v
IFdlIG11c3QgYWx3YXlzIGhhdmUgc29tZXRoaW5nIGluIHRoZSBzY29wZSBjaGFpbi4KKyAgICBB
U1NFUlQoaXRlciAhPSBlbmQpOworCisgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgbGlzdDsKKyAg
ICBkbyB7CisgICAgICAgIGxpc3QuYXBwZW5kKGl0ZXIuZ2V0KCkpOworICAgICAgICArK2l0ZXI7
CisgICAgfSB3aGlsZSAoaXRlciAhPSBlbmQpOworCisgICAgcmV0dXJuIGNvbnN0cnVjdEFycmF5
KGV4ZWMsIG51bGxwdHIsIGdsb2JhbE9iamVjdCgpLCBsaXN0KTsKK30KKworSlNWYWx1ZSBKU0ph
dmFTY3JpcHRDYWxsRnJhbWU6OnRoaXNPYmplY3QoRXhlY1N0YXRlKikgY29uc3QKK3sKKyAgICBy
ZXR1cm4gaW1wbCgpLnRoaXNWYWx1ZSgpOworfQorCitKU1ZhbHVlIEpTSmF2YVNjcmlwdENhbGxG
cmFtZTo6dHlwZShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgc3dpdGNoIChpbXBsKCku
dHlwZSgpKSB7CisgICAgY2FzZSBEZWJ1Z2dlckNhbGxGcmFtZTo6RnVuY3Rpb25UeXBlOgorICAg
ICAgICByZXR1cm4ganNOb250cml2aWFsU3RyaW5nKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiZnVuY3Rp
b24iKSk7CisgICAgY2FzZSBEZWJ1Z2dlckNhbGxGcmFtZTo6UHJvZ3JhbVR5cGU6CisgICAgICAg
IHJldHVybiBqc05vbnRyaXZpYWxTdHJpbmcoZXhlYywgQVNDSUlMaXRlcmFsKCJwcm9ncmFtIikp
OworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBqc051bGwo
KTsKK30KKworSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSmF2YVNjcmlwdENhbGxGcmFtZSogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwp
CisgICAgICAgIHJldHVybiBqc051bGwoKTsKKworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBK
U0phdmFTY3JpcHRDYWxsRnJhbWU6OmNyZWF0ZVByb3RvdHlwZShleGVjLT52bSgpLCBnbG9iYWxP
YmplY3QpOworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gSlNKYXZhU2NyaXB0Q2FsbEZyYW1l
OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUpOwor
ICAgIEpTSmF2YVNjcmlwdENhbGxGcmFtZSogamF2YVNjcmlwdENhbGxGcmFtZSA9IEpTSmF2YVNj
cmlwdENhbGxGcmFtZTo6Y3JlYXRlKGV4ZWMtPnZtKCksIHN0cnVjdHVyZSwgaW1wbCk7CisKKyAg
ICByZXR1cm4gamF2YVNjcmlwdENhbGxGcmFtZTsKK30KKworSlNKYXZhU2NyaXB0Q2FsbEZyYW1l
KiB0b0pTSmF2YVNjcmlwdENhbGxGcmFtZShKU1ZhbHVlIHZhbHVlKQoreworICAgIHJldHVybiB2
YWx1ZS5pbmhlcml0cyhKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmluZm8oKSkgPyBqc0Nhc3Q8SlNK
YXZhU2NyaXB0Q2FsbEZyYW1lKj4odmFsdWUpIDogbnVsbHB0cjsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKKyNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuaApzaW1pbGFyaXR5IGluZGV4IDUz
JQpjb3B5IGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2Ny
aXB0SG9zdC5oCmNvcHkgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFT
Y3JpcHRDYWxsRnJhbWUuaAppbmRleCAxOTlkZmNhLi4yMjVlZGJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuaApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMTgg
KzIzLDE4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgSlNJbmplY3RlZFNjcmlw
dEhvc3RfaAotI2RlZmluZSBKU0luamVjdGVkU2NyaXB0SG9zdF9oCisjaWZuZGVmIEpTSmF2YVNj
cmlwdENhbGxGcmFtZV9oCisjZGVmaW5lIEpTSmF2YVNjcmlwdENhbGxGcmFtZV9oCiAKICNpZiBF
TkFCTEUoSU5TUEVDVE9SKQorI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogCiAjaW5j
bHVkZSAiSlNEZXN0cnVjdGlibGVPYmplY3QuaCIKKyNpbmNsdWRlICJKYXZhU2NyaXB0Q2FsbEZy
YW1lLmgiCiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCi1jbGFzcyBJbmplY3RlZFNjcmlwdEhv
c3Q7Ci0KLWNsYXNzIEpTSW5qZWN0ZWRTY3JpcHRIb3N0IDogcHVibGljIEpTQzo6SlNEZXN0cnVj
dGlibGVPYmplY3QgeworY2xhc3MgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lIDogcHVibGljIEpTQzo6
SlNEZXN0cnVjdGlibGVPYmplY3QgewogcHVibGljOgogICAgIHR5cGVkZWYgSlNDOjpKU0Rlc3Ry
dWN0aWJsZU9iamVjdCBCYXNlOwogCkBAIC00NSw5ICs0NSw5IEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkp
OwogICAgIH0KIAotICAgIHN0YXRpYyBKU0luamVjdGVkU2NyaXB0SG9zdCogY3JlYXRlKEpTQzo6
Vk0mIHZtLCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPEluamVjdGVkU2Ny
aXB0SG9zdD4gaW1wbCkKKyAgICBzdGF0aWMgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKiBjcmVhdGUo
SlNDOjpWTSYgdm0sIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8SmF2YVNj
cmlwdENhbGxGcmFtZT4gaW1wbCkKICAgICB7Ci0gICAgICAgIEpTSW5qZWN0ZWRTY3JpcHRIb3N0
KiBpbnN0YW5jZSA9IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0ZUNlbGw8SlNJbmplY3RlZFNj
cmlwdEhvc3Q+KHZtLmhlYXApKSBKU0luamVjdGVkU2NyaXB0SG9zdCh2bSwgc3RydWN0dXJlLCBp
bXBsKTsKKyAgICAgICAgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKiBpbnN0YW5jZSA9IG5ldyAoTm90
TnVsbCwgSlNDOjphbGxvY2F0ZUNlbGw8SlNKYXZhU2NyaXB0Q2FsbEZyYW1lPih2bS5oZWFwKSkg
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lKHZtLCBzdHJ1Y3R1cmUsIGltcGwpOwogICAgICAgICBpbnN0
YW5jZS0+ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICByZXR1cm4gaW5zdGFuY2U7CiAgICAg
fQpAQCAtNTUsMzYgKzU1LDQ4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSlNDOjpKU09iamVjdCog
Y3JlYXRlUHJvdG90eXBlKEpTQzo6Vk0mLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiAgICAgc3Rh
dGljIHZvaWQgZGVzdHJveShKU0M6OkpTQ2VsbCopOwogCi0gICAgSW5qZWN0ZWRTY3JpcHRIb3N0
JiBpbXBsKCkgY29uc3QgeyByZXR1cm4gKm1faW1wbDsgfQorICAgIEphdmFTY3JpcHRDYWxsRnJh
bWUmIGltcGwoKSBjb25zdCB7IHJldHVybiAqbV9pbXBsOyB9CiAgICAgdm9pZCByZWxlYXNlSW1w
bCgpOwogCi0gICAgLy8gQXR0cmlidXRlcy4KLSAgICBKU0M6OkpTVmFsdWUgZXZhbHVhdGUoSlND
OjpFeGVjU3RhdGUqKSBjb25zdDsKLQogICAgIC8vIEZ1bmN0aW9ucy4KLSAgICBKU0M6OkpTVmFs
dWUgaW50ZXJuYWxDb25zdHJ1Y3Rvck5hbWUoSlNDOjpFeGVjU3RhdGUqKTsKLSAgICBKU0M6OkpT
VmFsdWUgaXNIVE1MQWxsQ29sbGVjdGlvbihKU0M6OkV4ZWNTdGF0ZSopOwotICAgIEpTQzo6SlNW
YWx1ZSB0eXBlKEpTQzo6RXhlY1N0YXRlKik7Ci0gICAgSlNDOjpKU1ZhbHVlIGZ1bmN0aW9uRGV0
YWlscyhKU0M6OkV4ZWNTdGF0ZSopOwotICAgIEpTQzo6SlNWYWx1ZSBnZXRJbnRlcm5hbFByb3Bl
cnRpZXMoSlNDOjpFeGVjU3RhdGUqKTsKKyAgICBKU0M6OkpTVmFsdWUgZXZhbHVhdGUoSlNDOjpF
eGVjU3RhdGUqKTsKKyAgICBKU0M6OkpTVmFsdWUgc2NvcGVUeXBlKEpTQzo6RXhlY1N0YXRlKik7
CisKKyAgICAvLyBBdHRyaWJ1dGVzLgorICAgIEpTQzo6SlNWYWx1ZSBjYWxsZXIoSlNDOjpFeGVj
U3RhdGUqKSBjb25zdDsKKyAgICBKU0M6OkpTVmFsdWUgc291cmNlSUQoSlNDOjpFeGVjU3RhdGUq
KSBjb25zdDsKKyAgICBKU0M6OkpTVmFsdWUgbGluZShKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0Owor
ICAgIEpTQzo6SlNWYWx1ZSBjb2x1bW4oSlNDOjpFeGVjU3RhdGUqKSBjb25zdDsKKyAgICBKU0M6
OkpTVmFsdWUgZnVuY3Rpb25OYW1lKEpTQzo6RXhlY1N0YXRlKikgY29uc3Q7CisgICAgSlNDOjpK
U1ZhbHVlIHNjb3BlQ2hhaW4oSlNDOjpFeGVjU3RhdGUqKSBjb25zdDsKKyAgICBKU0M6OkpTVmFs
dWUgdGhpc09iamVjdChKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0OworICAgIEpTQzo6SlNWYWx1ZSB0
eXBlKEpTQzo6RXhlY1N0YXRlKikgY29uc3Q7CisKKyAgICAvLyBDb25zdGFudHMuCisgICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IEdMT0JBTF9TQ09QRSA9IDA7CisgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIHNob3J0IExPQ0FMX1NDT1BFID0gMTsKKyAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgc2hvcnQgV0lUSF9TQ09QRSA9IDI7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IENMT1NVUkVfU0NPUEUgPSAzOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzaG9ydCBD
QVRDSF9TQ09QRSA9IDQ7CiAKIHByb3RlY3RlZDoKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
U3RydWN0dXJlRmxhZ3MgPSBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEpTQzo6
SW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVy
byB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzOwogCiAgICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihKU0M6OlZNJik7CiAKIHByaXZhdGU6Ci0gICAgSlNJbmplY3RlZFNjcmlwdEhvc3QoSlND
OjpWTSYsIEpTQzo6U3RydWN0dXJlKiwgUGFzc1JlZlB0cjxJbmplY3RlZFNjcmlwdEhvc3Q+KTsK
LSAgICB+SlNJbmplY3RlZFNjcmlwdEhvc3QoKTsKKyAgICBKU0phdmFTY3JpcHRDYWxsRnJhbWUo
SlNDOjpWTSYsIEpTQzo6U3RydWN0dXJlKiwgUGFzc1JlZlB0cjxKYXZhU2NyaXB0Q2FsbEZyYW1l
Pik7CisgICAgfkpTSmF2YVNjcmlwdENhbGxGcmFtZSgpOwogCi0gICAgSW5qZWN0ZWRTY3JpcHRI
b3N0KiBtX2ltcGw7CisgICAgSmF2YVNjcmlwdENhbGxGcmFtZSogbV9pbXBsOwogfTsKIAotSlND
OjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSW5q
ZWN0ZWRTY3JpcHRIb3N0Kik7Ci1KU0luamVjdGVkU2NyaXB0SG9zdCogdG9KU0luamVjdGVkU2Ny
aXB0SG9zdChKU0M6OkpTVmFsdWUpOworSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUq
LCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSmF2YVNjcmlwdENhbGxGcmFtZSopOworSlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lKiB0b0pTSmF2YVNjcmlwdENhbGxGcmFtZShKU0M6OkpTVmFsdWUpOwogCiB9
IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAorI2VuZGlmIC8vIEVOQUJMRShKQVZBU0NSSVBUX0RF
QlVHR0VSKQogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCiAKLSNlbmRpZiAvLyAhZGVmaW5l
ZChKU0luamVjdGVkU2NyaXB0SG9zdF9oKQorI2VuZGlmIC8vICFkZWZpbmVkKEpTSmF2YVNjcmlw
dENhbGxGcmFtZV9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjYjJiMDYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3Rv
dHlwZS5jcHAKQEAgLTAsMCArMSwyMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lUHJvdG90eXBlLmgiCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorI2lmIEVO
QUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQorCisjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRl
ICJHZXR0ZXJTZXR0ZXIuaCIKKyNpbmNsdWRlICJJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiSlND
SlNWYWx1ZUlubGluZXMuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNK
YXZhU2NyaXB0Q2FsbEZyYW1lLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFj
ZSBJbnNwZWN0b3IgeworCisvLyBGdW5jdGlvbnMuCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGVGdW5jdGlvbkV2YWx1YXRl
KEV4ZWNTdGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNKYXZh
U2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlRnVuY3Rpb25TY29wZVR5cGUoRXhlY1N0YXRlKik7CisK
Ky8vIEF0dHJpYnV0ZXMuCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0ph
dmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVDYWxsZXIoRXhlY1N0YXRlKik7CitzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVT
b3VyY2VJRChFeGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZUxpbmUoRXhlY1N0YXRlKik7CitzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1
dGVDb2x1bW4oRXhlY1N0YXRlKik7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVGdW5jdGlvbk5hbWUoRXhlY1N0YXRlKik7
CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJh
bWVBdHRyaWJ1dGVTY29wZUNoYWluKEV4ZWNTdGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlVGhpc09iamVjdChF
eGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNj
cmlwdENhbGxGcmFtZUF0dHJpYnV0ZVR5cGUoRXhlY1N0YXRlKik7CisKKy8vIENvbnN0YW50cy4K
K3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFt
ZUNvbnN0YW50R0xPQkFMX1NDT1BFKEV4ZWNTdGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRMT0NBTF9TQ09QRShF
eGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNj
cmlwdENhbGxGcmFtZUNvbnN0YW50V0lUSF9TQ09QRShFeGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZUNvbnN0YW50Q0xP
U1VSRV9TQ09QRShFeGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZUNvbnN0YW50Q0FUQ0hfU0NPUEUoRXhlY1N0YXRlKik7
CisKK2NvbnN0IENsYXNzSW5mbyBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGU6OnNfaW5m
byA9IHsgIkphdmFTY3JpcHRDYWxsRnJhbWUiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZSkgfTsKKworI2RlZmlu
ZSBKU0NfTkFUSVZFX05PTl9JTkRFWF9BQ0NFU1NPUihqc05hbWUsIGNwcE5hbWUsIGF0dHJpYnV0
ZXMpIFwKKyAgICB7IFwKKyAgICAgICAgSWRlbnRpZmllciBpZGVudGlmaWVyKCZ2bSwganNOYW1l
KTsgXAorICAgICAgICBHZXR0ZXJTZXR0ZXIqIGFjY2Vzc29yID0gR2V0dGVyU2V0dGVyOjpjcmVh
dGUodm0pOyBcCisgICAgICAgIEpTRnVuY3Rpb24qIGZ1bmN0aW9uID0gSlNGdW5jdGlvbjo6Y3Jl
YXRlKHZtLCBnbG9iYWxPYmplY3QsIDAsIGlkZW50aWZpZXIuc3RyaW5nKCksIGNwcE5hbWUpOyBc
CisgICAgICAgIGFjY2Vzc29yLT5zZXRHZXR0ZXIodm0sIGZ1bmN0aW9uKTsgXAorICAgICAgICBw
dXREaXJlY3ROb25JbmRleEFjY2Vzc29yKHZtLCBpZGVudGlmaWVyLCBhY2Nlc3NvciwgKGF0dHJp
YnV0ZXMpKTsgXAorICAgIH0KKwordm9pZCBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGU6
OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sK
KyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgQVNTRVJUKGluaGVyaXRzKGluZm8o
KSkpOworICAgIHZtLnByb3RvdHlwZU1hcC5hZGRQcm90b3R5cGUodGhpcyk7CisKKyAgICBKU0Nf
TkFUSVZFX0ZVTkNUSU9OKCJldmFsdWF0ZSIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlw
ZUZ1bmN0aW9uRXZhbHVhdGUsIERvbnRFbnVtLCAxKTsKKyAgICBKU0NfTkFUSVZFX0ZVTkNUSU9O
KCJzY29wZVR5cGUiLCBqc0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGVGdW5jdGlvblNjb3Bl
VHlwZSwgRG9udEVudW0sIDEpOworCisgICAgSlNDX05BVElWRV9OT05fSU5ERVhfQUNDRVNTT1Io
ImNhbGxlciIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZUNhbGxlciwgRG9udEVudW0g
fCBBY2Nlc3Nvcik7CisgICAgSlNDX05BVElWRV9OT05fSU5ERVhfQUNDRVNTT1IoInNvdXJjZUlE
IiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlU291cmNlSUQsIERvbnRFbnVtIHwgQWNj
ZXNzb3IpOworICAgIEpTQ19OQVRJVkVfTk9OX0lOREVYX0FDQ0VTU09SKCJsaW5lIiwganNKYXZh
U2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlTGluZSwgRG9udEVudW0gfCBBY2Nlc3Nvcik7CisgICAg
SlNDX05BVElWRV9OT05fSU5ERVhfQUNDRVNTT1IoImNvbHVtbiIsIGpzSmF2YVNjcmlwdENhbGxG
cmFtZUF0dHJpYnV0ZUNvbHVtbiwgRG9udEVudW0gfCBBY2Nlc3Nvcik7CisgICAgSlNDX05BVElW
RV9OT05fSU5ERVhfQUNDRVNTT1IoImZ1bmN0aW9uTmFtZSIsIGpzSmF2YVNjcmlwdENhbGxGcmFt
ZUF0dHJpYnV0ZUZ1bmN0aW9uTmFtZSwgRG9udEVudW0gfCBBY2Nlc3Nvcik7CisgICAgSlNDX05B
VElWRV9OT05fSU5ERVhfQUNDRVNTT1IoInNjb3BlQ2hhaW4iLCBqc0phdmFTY3JpcHRDYWxsRnJh
bWVBdHRyaWJ1dGVTY29wZUNoYWluLCBEb250RW51bSB8IEFjY2Vzc29yKTsKKyAgICBKU0NfTkFU
SVZFX05PTl9JTkRFWF9BQ0NFU1NPUigidGhpc09iamVjdCIsIGpzSmF2YVNjcmlwdENhbGxGcmFt
ZUF0dHJpYnV0ZVRoaXNPYmplY3QsIERvbnRFbnVtIHwgQWNjZXNzb3IpOworICAgIEpTQ19OQVRJ
VkVfTk9OX0lOREVYX0FDQ0VTU09SKCJ0eXBlIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmli
dXRlVHlwZSwgRG9udEVudW0gfCBBY2Nlc3Nvcik7CisKKyAgICBKU0NfTkFUSVZFX05PTl9JTkRF
WF9BQ0NFU1NPUigiR0xPQkFMX1NDT1BFIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRH
TE9CQUxfU0NPUEUsIERvbnRFbnVtIHwgQWNjZXNzb3IpOworICAgIEpTQ19OQVRJVkVfTk9OX0lO
REVYX0FDQ0VTU09SKCJMT0NBTF9TQ09QRSIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZUNvbnN0YW50
TE9DQUxfU0NPUEUsIERvbnRFbnVtIHwgQWNjZXNzb3IpOworICAgIEpTQ19OQVRJVkVfTk9OX0lO
REVYX0FDQ0VTU09SKCJXSVRIX1NDT1BFIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRX
SVRIX1NDT1BFLCBEb250RW51bSB8IEFjY2Vzc29yKTsKKyAgICBKU0NfTkFUSVZFX05PTl9JTkRF
WF9BQ0NFU1NPUigiQ0xPU1VSRV9TQ09QRSIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZUNvbnN0YW50
Q0xPU1VSRV9TQ09QRSwgRG9udEVudW0gfCBBY2Nlc3Nvcik7CisgICAgSlNDX05BVElWRV9OT05f
SU5ERVhfQUNDRVNTT1IoIkNBVENIX1NDT1BFIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3Rh
bnRDQVRDSF9TQ09QRSwgRG9udEVudW0gfCBBY2Nlc3Nvcik7Cit9CisKK0VuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlRnVuY3Rpb25FdmFs
dWF0ZShFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5o
b3N0VGhpc1ZhbHVlKCk7CisgICAgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKiBjYXN0ZWRUaGlzID0g
anNEeW5hbWljQ2FzdDxKU0phdmFTY3JpcHRDYWxsRnJhbWUqPih0aGlzVmFsdWUpOworICAgIGlm
ICghY2FzdGVkVGhpcykKKyAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisK
KyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKGNhc3RlZFRoaXMsIEpTSmF2YVNjcmlwdENh
bGxGcmFtZTo6aW5mbygpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhc3RlZFRoaXMt
PmV2YWx1YXRlKGV4ZWMpKTsKK30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0ph
dmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGVGdW5jdGlvblNjb3BlVHlwZShFeGVjU3RhdGUqIGV4
ZWMpCit7CisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7Cisg
ICAgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU0ph
dmFTY3JpcHRDYWxsRnJhbWUqPih0aGlzVmFsdWUpOworICAgIGlmICghY2FzdGVkVGhpcykKKyAg
ICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisKKyAgICBBU1NFUlRfR0NfT0JK
RUNUX0lOSEVSSVRTKGNhc3RlZFRoaXMsIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6aW5mbygpKTsK
KyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhc3RlZFRoaXMtPnNjb3BlVHlwZShleGVjKSk7
Cit9CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1l
QXR0cmlidXRlQ2FsbGVyKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1
ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKKyAgICBKU0phdmFTY3JpcHRDYWxsRnJhbWUqIGNh
c3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTSmF2YVNjcmlwdENhbGxGcmFtZSo+KHRoaXNWYWx1
ZSk7CisgICAgaWYgKCFjYXN0ZWRUaGlzKQorICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJv
cihleGVjKTsKKworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgSlNK
YXZhU2NyaXB0Q2FsbEZyYW1lOjppbmZvKCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
Y2FzdGVkVGhpcy0+Y2FsbGVyKGV4ZWMpKTsKK30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVTb3VyY2VJRChFeGVjU3RhdGUqIGV4
ZWMpCit7CisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7Cisg
ICAgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU0ph
dmFTY3JpcHRDYWxsRnJhbWUqPih0aGlzVmFsdWUpOworICAgIGlmICghY2FzdGVkVGhpcykKKyAg
ICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisKKyAgICBBU1NFUlRfR0NfT0JK
RUNUX0lOSEVSSVRTKGNhc3RlZFRoaXMsIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6aW5mbygpKTsK
KyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhc3RlZFRoaXMtPnNvdXJjZUlEKGV4ZWMpKTsK
K30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVB
dHRyaWJ1dGVMaW5lKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9
IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKKyAgICBKU0phdmFTY3JpcHRDYWxsRnJhbWUqIGNhc3Rl
ZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTSmF2YVNjcmlwdENhbGxGcmFtZSo+KHRoaXNWYWx1ZSk7
CisgICAgaWYgKCFjYXN0ZWRUaGlzKQorICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihl
eGVjKTsKKworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgSlNKYXZh
U2NyaXB0Q2FsbEZyYW1lOjppbmZvKCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY2Fz
dGVkVGhpcy0+bGluZShleGVjKSk7Cit9CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
anNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlQ29sdW1uKEV4ZWNTdGF0ZSogZXhlYykKK3sK
KyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKKyAgICBKU0ph
dmFTY3JpcHRDYWxsRnJhbWUqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTSmF2YVNjcmlw
dENhbGxGcmFtZSo+KHRoaXNWYWx1ZSk7CisgICAgaWYgKCFjYXN0ZWRUaGlzKQorICAgICAgICBy
ZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKKworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5I
RVJJVFMoY2FzdGVkVGhpcywgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjppbmZvKCkpOworICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoY2FzdGVkVGhpcy0+Y29sdW1uKGV4ZWMpKTsKK30KKworRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVG
dW5jdGlvbk5hbWUoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0g
ZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOworICAgIEpTSmF2YVNjcmlwdENhbGxGcmFtZSogY2FzdGVk
VGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNKYXZhU2NyaXB0Q2FsbEZyYW1lKj4odGhpc1ZhbHVlKTsK
KyAgICBpZiAoIWNhc3RlZFRoaXMpCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4
ZWMpOworCisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyhjYXN0ZWRUaGlzLCBKU0phdmFT
Y3JpcHRDYWxsRnJhbWU6OmluZm8oKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYXN0
ZWRUaGlzLT5mdW5jdGlvbk5hbWUoZXhlYykpOworfQorCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZVNjb3BlQ2hhaW4oRXhlY1N0YXRl
KiBleGVjKQoreworICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgp
OworICAgIEpTSmF2YVNjcmlwdENhbGxGcmFtZSogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lKj4odGhpc1ZhbHVlKTsKKyAgICBpZiAoIWNhc3RlZFRoaXMp
CisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworCisgICAgQVNTRVJUX0dD
X09CSkVDVF9JTkhFUklUUyhjYXN0ZWRUaGlzLCBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmluZm8o
KSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYXN0ZWRUaGlzLT5zY29wZUNoYWluKGV4
ZWMpKTsKK30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxs
RnJhbWVBdHRyaWJ1dGVUaGlzT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU1ZhbHVl
IHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKKyAgICBKU0phdmFTY3JpcHRDYWxs
RnJhbWUqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTSmF2YVNjcmlwdENhbGxGcmFtZSo+
KHRoaXNWYWx1ZSk7CisgICAgaWYgKCFjYXN0ZWRUaGlzKQorICAgICAgICByZXR1cm4gdGhyb3dW
TVR5cGVFcnJvcihleGVjKTsKKworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVk
VGhpcywgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjppbmZvKCkpOworICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoY2FzdGVkVGhpcy0+dGhpc09iamVjdChleGVjKSk7Cit9CisKK0VuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlVHlwZShFeGVj
U3RhdGUqIGV4ZWMpCit7CisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1Zh
bHVlKCk7CisgICAgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKiBjYXN0ZWRUaGlzID0ganNEeW5hbWlj
Q2FzdDxKU0phdmFTY3JpcHRDYWxsRnJhbWUqPih0aGlzVmFsdWUpOworICAgIGlmICghY2FzdGVk
VGhpcykKKyAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisKKyAgICBBU1NF
UlRfR0NfT0JKRUNUX0lOSEVSSVRTKGNhc3RlZFRoaXMsIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6
aW5mbygpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhc3RlZFRoaXMtPnR5cGUoZXhl
YykpOworfQorCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxG
cmFtZUNvbnN0YW50R0xPQkFMX1NDT1BFKEV4ZWNTdGF0ZSopCit7CisgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc051bWJlcihKU0phdmFTY3JpcHRDYWxsRnJhbWU6OkdMT0JBTF9TQ09QRSkp
OworfQorCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFt
ZUNvbnN0YW50TE9DQUxfU0NPUEUoRXhlY1N0YXRlKikKK3sKKyAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGpzTnVtYmVyKEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6TE9DQUxfU0NPUEUpKTsKK30K
KworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVDb25z
dGFudFdJVEhfU0NPUEUoRXhlY1N0YXRlKikKK3sKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzTnVtYmVyKEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6V0lUSF9TQ09QRSkpOworfQorCitFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZUNvbnN0YW50Q0xP
U1VSRV9TQ09QRShFeGVjU3RhdGUqKQoreworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNO
dW1iZXIoSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpDTE9TVVJFX1NDT1BFKSk7Cit9CisKK0VuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRDQVRD
SF9TQ09QRShFeGVjU3RhdGUqKQoreworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1i
ZXIoSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpDQVRDSF9TQ09QRSkpOworfQorCit9IC8vIG5hbWVz
cGFjZSBJbnNwZWN0b3IKKworI2VuZGlmIC8vIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQor
I2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oCnNpbWlsYXJp
dHkgaW5kZXggNTElCmNvcHkgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pT
SW5qZWN0ZWRTY3JpcHRIb3N0LmgKY29weSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oCmluZGV4IDE5OWRmY2EuLmZhYTc0
YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3Rl
ZFNjcmlwdEhvc3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2
YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0yMyw2OCArMjMsNDggQEAKICAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KIAotI2lmbmRlZiBKU0luamVjdGVkU2NyaXB0SG9zdF9oCi0jZGVmaW5lIEpTSW5qZWN0ZWRT
Y3JpcHRIb3N0X2gKKyNpZm5kZWYgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlX2gKKyNk
ZWZpbmUgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlX2gKIAogI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAKLSNpbmNsdWRlICJKU0Rl
c3RydWN0aWJsZU9iamVjdC5oIgorI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBJ
bnNwZWN0b3IgewogCi1jbGFzcyBJbmplY3RlZFNjcmlwdEhvc3Q7Ci0KLWNsYXNzIEpTSW5qZWN0
ZWRTY3JpcHRIb3N0IDogcHVibGljIEpTQzo6SlNEZXN0cnVjdGlibGVPYmplY3QgeworY2xhc3Mg
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlIDogcHVibGljIEpTQzo6SlNOb25GaW5hbE9i
amVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU0M6OkpTRGVzdHJ1Y3RpYmxlT2JqZWN0IEJh
c2U7CisgICAgdHlwZWRlZiBKU0M6OkpTTm9uRmluYWxPYmplY3QgQmFzZTsKIAogICAgIERFQ0xB
UkVfSU5GTzsKIAorICAgIHN0YXRpYyBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUqIGNy
ZWF0ZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6
OlN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIHsKKyAgICAgICAgSlNKYXZhU2NyaXB0Q2FsbEZy
YW1lUHJvdG90eXBlKiBwdHIgPSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTSmF2
YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZT4odm0uaGVhcCkpIEpTSmF2YVNjcmlwdENhbGxGcmFt
ZVByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpOworICAgICAgICBwdHItPmZp
bmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gcHRyOworICAg
IH0KKwogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0m
IHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90
b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwg
Z2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBT
dHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi0gICAgc3RhdGljIEpTSW5qZWN0ZWRT
Y3JpcHRIb3N0KiBjcmVhdGUoSlNDOjpWTSYgdm0sIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IFBhc3NSZWZQdHI8SW5qZWN0ZWRTY3JpcHRIb3N0PiBpbXBsKQotICAgIHsKLSAgICAgICAgSlNJ
bmplY3RlZFNjcmlwdEhvc3QqIGluc3RhbmNlID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRl
Q2VsbDxKU0luamVjdGVkU2NyaXB0SG9zdD4odm0uaGVhcCkpIEpTSW5qZWN0ZWRTY3JpcHRIb3N0
KHZtLCBzdHJ1Y3R1cmUsIGltcGwpOwotICAgICAgICBpbnN0YW5jZS0+ZmluaXNoQ3JlYXRpb24o
dm0pOwotICAgICAgICByZXR1cm4gaW5zdGFuY2U7Ci0gICAgfQotCi0gICAgc3RhdGljIEpTQzo6
SlNPYmplY3QqIGNyZWF0ZVByb3RvdHlwZShKU0M6OlZNJiwgSlNDOjpKU0dsb2JhbE9iamVjdCop
OwotICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDOjpKU0NlbGwqKTsKLQotICAgIEluamVjdGVk
U2NyaXB0SG9zdCYgaW1wbCgpIGNvbnN0IHsgcmV0dXJuICptX2ltcGw7IH0KLSAgICB2b2lkIHJl
bGVhc2VJbXBsKCk7Ci0KLSAgICAvLyBBdHRyaWJ1dGVzLgotICAgIEpTQzo6SlNWYWx1ZSBldmFs
dWF0ZShKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0OwotCi0gICAgLy8gRnVuY3Rpb25zLgotICAgIEpT
Qzo6SlNWYWx1ZSBpbnRlcm5hbENvbnN0cnVjdG9yTmFtZShKU0M6OkV4ZWNTdGF0ZSopOwotICAg
IEpTQzo6SlNWYWx1ZSBpc0hUTUxBbGxDb2xsZWN0aW9uKEpTQzo6RXhlY1N0YXRlKik7Ci0gICAg
SlNDOjpKU1ZhbHVlIHR5cGUoSlNDOjpFeGVjU3RhdGUqKTsKLSAgICBKU0M6OkpTVmFsdWUgZnVu
Y3Rpb25EZXRhaWxzKEpTQzo6RXhlY1N0YXRlKik7Ci0gICAgSlNDOjpKU1ZhbHVlIGdldEludGVy
bmFsUHJvcGVydGllcyhKU0M6OkV4ZWNTdGF0ZSopOwotCiBwcm90ZWN0ZWQ6Ci0gICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9w
ZXJ0eVNsb3QgfCBKU0M6OkludGVyY2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZlbldo
ZW5MZW5ndGhJc05vdFplcm8gfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKLQotICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oSlNDOjpWTSYpOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1
cmVGbGFncyA9IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgQmFzZTo6U3RydWN0
dXJlRmxhZ3M7CiAKIHByaXZhdGU6Ci0gICAgSlNJbmplY3RlZFNjcmlwdEhvc3QoSlNDOjpWTSYs
IEpTQzo6U3RydWN0dXJlKiwgUGFzc1JlZlB0cjxJbmplY3RlZFNjcmlwdEhvc3Q+KTsKLSAgICB+
SlNJbmplY3RlZFNjcmlwdEhvc3QoKTsKLQotICAgIEluamVjdGVkU2NyaXB0SG9zdCogbV9pbXBs
OworICAgIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZShKU0M6OlZNJiB2bSwgSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgICAgIDogSlND
OjpKU05vbkZpbmFsT2JqZWN0KHZtLCBzdHJ1Y3R1cmUpCisgICAgeworICAgIH0KKyAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCi1K
U0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBJ
bmplY3RlZFNjcmlwdEhvc3QqKTsKLUpTSW5qZWN0ZWRTY3JpcHRIb3N0KiB0b0pTSW5qZWN0ZWRT
Y3JpcHRIb3N0KEpTQzo6SlNWYWx1ZSk7Ci0KIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCisj
ZW5kaWYgLy8gRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAjZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKIAotI2VuZGlmIC8vICFkZWZpbmVkKEpTSW5qZWN0ZWRTY3JpcHRIb3N0X2gpCisj
ZW5kaWYgLy8gIWRlZmluZWQoSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlX2gpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5j
cHAKc2ltaWxhcml0eSBpbmRleCA5NCUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAKaW5kZXggMjBhYWE5OC4uM2Jj
MmRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSmF2YVNjcmlwdENh
bGxGcmFtZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2Ny
aXB0Q2FsbEZyYW1lLmNwcApAQCAtMjQsMTYgKzI0LDE0IEBACiAgKi8KIAogI2luY2x1ZGUgImNv
bmZpZy5oIgotCi0jaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCi0KICNpbmNsdWRlICJK
YXZhU2NyaXB0Q2FsbEZyYW1lLmgiCiAKLSNpbmNsdWRlIDxkZWJ1Z2dlci9EZWJ1Z2dlckNhbGxG
cmFtZS5oPgorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVC
VUdHRVIpCiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25h
bWVzcGFjZSBJbnNwZWN0b3IgewogCiBKYXZhU2NyaXB0Q2FsbEZyYW1lOjpKYXZhU2NyaXB0Q2Fs
bEZyYW1lKFBhc3NSZWZQdHI8RGVidWdnZXJDYWxsRnJhbWU+IGRlYnVnZ2VyQ2FsbEZyYW1lKQog
ICAgIDogbV9kZWJ1Z2dlckNhbGxGcmFtZShkZWJ1Z2dlckNhbGxGcmFtZSkKQEAgLTQ3LDEyICs0
NSwxMyBAQCBKYXZhU2NyaXB0Q2FsbEZyYW1lKiBKYXZhU2NyaXB0Q2FsbEZyYW1lOjpjYWxsZXIo
KQogCiAgICAgUmVmUHRyPERlYnVnZ2VyQ2FsbEZyYW1lPiBkZWJ1Z2dlckNhbGxlckZyYW1lID0g
bV9kZWJ1Z2dlckNhbGxGcmFtZS0+Y2FsbGVyRnJhbWUoKTsKICAgICBpZiAoIWRlYnVnZ2VyQ2Fs
bGVyRnJhbWUpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAog
ICAgIG1fY2FsbGVyID0gY3JlYXRlKGRlYnVnZ2VyQ2FsbGVyRnJhbWUpOwogICAgIHJldHVybiBt
X2NhbGxlci5nZXQoKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKKyNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSmF2YVNjcmlwdENhbGxGcmFtZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmgKc2ltaWxhcml0eSBpbmRleCA5NCUKcmVuYW1l
IGZyb20gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSmF2YVNjcmlwdENhbGxGcmFtZS5oCnJl
bmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJh
bWUuaAppbmRleCA0Njk2ZWI1Li4zODBjNmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KYXZhU2NyaXB0Q2FsbEZyYW1lLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmgKQEAgLTI2LDE2ICsyNiwxNyBAQAog
I2lmbmRlZiBKYXZhU2NyaXB0Q2FsbEZyYW1lX2gKICNkZWZpbmUgSmF2YVNjcmlwdENhbGxGcmFt
ZV9oCiAKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVH
R0VSKQogCi0jaW5jbHVkZSA8ZGVidWdnZXIvRGVidWdnZXJDYWxsRnJhbWUuaD4KLSNpbmNsdWRl
IDxpbnRlcnByZXRlci9DYWxsRnJhbWUuaD4KKyNpbmNsdWRlICJkZWJ1Z2dlci9EZWJ1Z2dlckNh
bGxGcmFtZS5oIgorI2luY2x1ZGUgImludGVycHJldGVyL0NhbGxGcmFtZS5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgogCi1u
YW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogY2xhc3MgSmF2YVNj
cmlwdENhbGxGcmFtZSA6IHB1YmxpYyBSZWZDb3VudGVkPEphdmFTY3JpcHRDYWxsRnJhbWU+IHsK
IHB1YmxpYzoKQEAgLTU3LDcgKzU4LDcgQEAgcHVibGljOgogCiAgICAgSlNDOjpKU1ZhbHVlIHRo
aXNWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVidWdnZXJDYWxsRnJhbWUtPnRoaXNWYWx1ZSgp
OyB9CiAgICAgSlNDOjpKU1ZhbHVlIGV2YWx1YXRlKGNvbnN0IFN0cmluZyYgc2NyaXB0LCBKU0M6
OkpTVmFsdWUmIGV4Y2VwdGlvbikgY29uc3QgIHsgcmV0dXJuIG1fZGVidWdnZXJDYWxsRnJhbWUt
PmV2YWx1YXRlKHNjcmlwdCwgZXhjZXB0aW9uKTsgfQotICAgIAorCiBwcml2YXRlOgogICAgIEph
dmFTY3JpcHRDYWxsRnJhbWUoUGFzc1JlZlB0cjxKU0M6OkRlYnVnZ2VyQ2FsbEZyYW1lPik7CiAK
QEAgLTY1LDggKzY2LDkgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8SmF2YVNjcmlwdENhbGxGcmFt
ZT4gbV9jYWxsZXI7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFj
ZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQorI2Vu
ZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCiAKICNlbmRpZiAvLyBKYXZhU2NyaXB0Q2FsbEZyYW1l
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVi
dWdMaXN0ZW5lci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1
Z0xpc3RlbmVyLmgKaW5kZXggNzNmODU4OC4uZDFmZGExMSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z0xpc3RlbmVyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z0xpc3RlbmVyLmgKQEAgLTczLDYg
KzczLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRQYXVzZShKU0M6OkV4ZWNTdGF0
ZSosIGNvbnN0IERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBjYWxsRnJhbWVzLCBjb25zdCBEZXBy
ZWNhdGVkOjpTY3JpcHRWYWx1ZSYgZXhjZXB0aW9uKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRp
ZFNhbXBsZVByb2JlKEpTQzo6RXhlY1N0YXRlKiwgaW50IHByb2JlSWRlbnRpZmllciwgaW50IGhp
dENvdW50LCBjb25zdCBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSYgcmVzdWx0KSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGRpZENvbnRpbnVlKCkgPSAwOworCisgICAgdmlydHVhbCB2b2lkIGJyZWFr
cG9pbnRBY3Rpb25Mb2coSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIGJyZWFrcG9pbnRBY3Rpb25Tb3VuZCgpID0gMDsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0RGVidWdTZXJ2ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9T
Y3JpcHREZWJ1Z1NlcnZlci5jcHAKc2ltaWxhcml0eSBpbmRleCA4NiUKcmVuYW1lIGZyb20gU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCnJlbmFtZSB0byBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcAppbmRl
eCA0N2NlNmU2Li5kN2U4NmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHREZWJ1Z1NlcnZlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5jcHAKQEAgLTI5LDIyICsyOSwxNiBAQAogICovCiAKICNp
bmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQotCiAj
aW5jbHVkZSAiU2NyaXB0RGVidWdTZXJ2ZXIuaCIKIAotI2luY2x1ZGUgIkV2ZW50TG9vcC5oIgot
I2luY2x1ZGUgIkpTRE9NV2luZG93Q3VzdG9tLmgiCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVC
VUdHRVIpCisKKyNpbmNsdWRlICJEZWJ1Z2dlckNhbGxGcmFtZS5oIgogI2luY2x1ZGUgIkpTSmF2
YVNjcmlwdENhbGxGcmFtZS5oIgorI2luY2x1ZGUgIkpTTG9jay5oIgogI2luY2x1ZGUgIkphdmFT
Y3JpcHRDYWxsRnJhbWUuaCIKLSNpbmNsdWRlICJQYWdlQ29uc29sZS5oIgotI2luY2x1ZGUgIlNv
dW5kLmgiCi0jaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1
ZS5oPgotI2luY2x1ZGUgPGRlYnVnZ2VyL0RlYnVnZ2VyQ2FsbEZyYW1lLmg+Ci0jaW5jbHVkZSA8
cGFyc2VyL1NvdXJjZVByb3ZpZGVyLmg+Ci0jaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KKyNp
bmNsdWRlICJTY3JpcHRWYWx1ZS5oIgorI2luY2x1ZGUgIlNvdXJjZVByb3ZpZGVyLmgiCiAjaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvVGVtcG9yYXJ5Q2hhbmdlLmg+CkBAIC01Myw3ICs0Nyw3IEBACiB1c2lu
ZyBuYW1lc3BhY2UgSlNDOwogdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAotbmFtZXNwYWNl
IFdlYkNvcmUgeworbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIFNjcmlwdERlYnVnU2VydmVyOjpT
Y3JpcHREZWJ1Z1NlcnZlcihib29sIGlzSW5Xb3JrZXJUaHJlYWQpCiAgICAgOiBEZWJ1Z2dlcihp
c0luV29ya2VyVGhyZWFkKQpAQCAtOTcsMTEgKzkxLDEwIEBAIHZvaWQgU2NyaXB0RGVidWdTZXJ2
ZXI6OnJlbW92ZUJyZWFrcG9pbnQoSlNDOjpCcmVha3BvaW50SUQgaWQpCiBib29sIFNjcmlwdERl
YnVnU2VydmVyOjpldmFsdWF0ZUJyZWFrcG9pbnRBY3Rpb24oY29uc3QgU2NyaXB0QnJlYWtwb2lu
dEFjdGlvbiYgYnJlYWtwb2ludEFjdGlvbikKIHsKICAgICBEZWJ1Z2dlckNhbGxGcmFtZSogZGVi
dWdnZXJDYWxsRnJhbWUgPSBjdXJyZW50RGVidWdnZXJDYWxsRnJhbWUoKTsKKwogICAgIHN3aXRj
aCAoYnJlYWtwb2ludEFjdGlvbi50eXBlKSB7CiAgICAgY2FzZSBTY3JpcHRCcmVha3BvaW50QWN0
aW9uVHlwZUxvZzogewotICAgICAgICBET01XaW5kb3cmIHdpbmRvdyA9IGFzSlNET01XaW5kb3co
ZGVidWdnZXJDYWxsRnJhbWUtPnZtRW50cnlHbG9iYWxPYmplY3QoKSktPmltcGwoKTsKLSAgICAg
ICAgaWYgKFBhZ2VDb25zb2xlKiBjb25zb2xlID0gd2luZG93LnBhZ2VDb25zb2xlKCkpCi0gICAg
ICAgICAgICBjb25zb2xlLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZUxl
dmVsLCBicmVha3BvaW50QWN0aW9uLmRhdGEpOworICAgICAgICBkaXNwYXRjaEJyZWFrcG9pbnRB
Y3Rpb25Mb2coZGVidWdnZXJDYWxsRnJhbWUtPmV4ZWMoKSwgYnJlYWtwb2ludEFjdGlvbi5kYXRh
KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgU2NyaXB0QnJlYWtwb2ludEFjdGlv
blR5cGVFdmFsdWF0ZTogewpAQCAtMTEyLDE5ICsxMDUsMjEgQEAgYm9vbCBTY3JpcHREZWJ1Z1Nl
cnZlcjo6ZXZhbHVhdGVCcmVha3BvaW50QWN0aW9uKGNvbnN0IFNjcmlwdEJyZWFrcG9pbnRBY3Rp
b24mIGIKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgU2NyaXB0QnJlYWtwb2ludEFj
dGlvblR5cGVTb3VuZDoKLSAgICAgICAgc3lzdGVtQmVlcCgpOworICAgICAgICBkaXNwYXRjaEJy
ZWFrcG9pbnRBY3Rpb25Tb3VuZChkZWJ1Z2dlckNhbGxGcmFtZS0+ZXhlYygpKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBTY3JpcHRCcmVha3BvaW50QWN0aW9uVHlwZVByb2JlOiB7CiAgICAg
ICAgIEpTVmFsdWUgZXhjZXB0aW9uOwogICAgICAgICBKU1ZhbHVlIHJlc3VsdCA9IGRlYnVnZ2Vy
Q2FsbEZyYW1lLT5ldmFsdWF0ZShicmVha3BvaW50QWN0aW9uLmRhdGEsIGV4Y2VwdGlvbik7CiAg
ICAgICAgIGlmIChleGNlcHRpb24pCiAgICAgICAgICAgICByZXBvcnRFeGNlcHRpb24oZGVidWdn
ZXJDYWxsRnJhbWUtPmV4ZWMoKSwgZXhjZXB0aW9uKTsKLQorICAgICAgICAKICAgICAgICAgSlND
OjpFeGVjU3RhdGUqIHN0YXRlID0gZGVidWdnZXJDYWxsRnJhbWUtPnNjb3BlKCktPmdsb2JhbE9i
amVjdCgpLT5nbG9iYWxFeGVjKCk7CiAgICAgICAgIERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlIHdy
YXBwZWRSZXN1bHQgPSBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZShzdGF0ZS0+dm0oKSwgZXhjZXB0
aW9uID8gZXhjZXB0aW9uIDogcmVzdWx0KTsKICAgICAgICAgZGlzcGF0Y2hEaWRTYW1wbGVQcm9i
ZShzdGF0ZSwgYnJlYWtwb2ludEFjdGlvbi5pZGVudGlmaWVyLCB3cmFwcGVkUmVzdWx0KTsKICAg
ICAgICAgYnJlYWs7CiAgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgIH0KIAogICAgIHJldHVybiB0cnVlOwpAQCAtMTQzLDE4ICsxMzgsNDYgQEAg
dm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlzcGF0Y2hEaWRQYXVzZShTY3JpcHREZWJ1Z0xpc3Rl
bmVyKiBsaXN0ZW5lcikKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZGVidWdn
ZXJDYWxsRnJhbWUtPnNjb3BlKCktPmdsb2JhbE9iamVjdCgpOwogICAgIEpTQzo6RXhlY1N0YXRl
KiBzdGF0ZSA9IGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpOwogICAgIFJlZlB0cjxKYXZhU2Ny
aXB0Q2FsbEZyYW1lPiBqYXZhU2NyaXB0Q2FsbEZyYW1lID0gSmF2YVNjcmlwdENhbGxGcmFtZTo6
Y3JlYXRlKGRlYnVnZ2VyQ2FsbEZyYW1lKTsKLSAgICBKU1ZhbHVlIGpzQ2FsbEZyYW1lOwotICAg
IHsKLSAgICAgICAgaWYgKGdsb2JhbE9iamVjdC0+aW5oZXJpdHMoSlNET01HbG9iYWxPYmplY3Q6
OmluZm8oKSkpIHsKLSAgICAgICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBkb21HbG9iYWxPYmpl
Y3QgPSBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpOwotICAgICAgICAg
ICAgSlNMb2NrSG9sZGVyIGxvY2soc3RhdGUpOwotICAgICAgICAgICAganNDYWxsRnJhbWUgPSB0
b0pTKHN0YXRlLCBkb21HbG9iYWxPYmplY3QsIGphdmFTY3JpcHRDYWxsRnJhbWUuZ2V0KCkpOwot
ICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGpzQ2FsbEZyYW1lID0ganNVbmRlZmluZWQoKTsK
LSAgICB9CisgICAgSlNWYWx1ZSBqc0NhbGxGcmFtZSA9IHRvSlMoc3RhdGUsIGdsb2JhbE9iamVj
dCwgamF2YVNjcmlwdENhbGxGcmFtZS5nZXQoKSk7CiAgICAgbGlzdGVuZXItPmRpZFBhdXNlKHN0
YXRlLCBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZShzdGF0ZS0+dm0oKSwganNDYWxsRnJhbWUpLCBE
ZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSgpKTsKIH0KIAordm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6
ZGlzcGF0Y2hCcmVha3BvaW50QWN0aW9uTG9nKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU3RyaW5n
JiBtZXNzYWdlKQoreworICAgIGlmIChtX2NhbGxpbmdMaXN0ZW5lcnMpCisgICAgICAgIHJldHVy
bjsKKworICAgIExpc3RlbmVyU2V0KiBsaXN0ZW5lcnMgPSBnZXRMaXN0ZW5lcnNGb3JHbG9iYWxP
YmplY3QoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKKyAgICBpZiAoIWxpc3RlbmVycykK
KyAgICAgICAgcmV0dXJuOworICAgIEFTU0VSVCghbGlzdGVuZXJzLT5pc0VtcHR5KCkpOworCisg
ICAgVGVtcG9yYXJ5Q2hhbmdlPGJvb2w+IGNoYW5nZShtX2NhbGxpbmdMaXN0ZW5lcnMsIHRydWUp
OworCisgICAgVmVjdG9yPFNjcmlwdERlYnVnTGlzdGVuZXIqPiBsaXN0ZW5lcnNDb3B5OworICAg
IGNvcHlUb1ZlY3RvcigqbGlzdGVuZXJzLCBsaXN0ZW5lcnNDb3B5KTsKKyAgICBmb3IgKGF1dG8g
bGlzdGVuZXIgOiBsaXN0ZW5lcnNDb3B5KQorICAgICAgICBsaXN0ZW5lci0+YnJlYWtwb2ludEFj
dGlvbkxvZyhleGVjLCBtZXNzYWdlKTsKK30KKwordm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlz
cGF0Y2hCcmVha3BvaW50QWN0aW9uU291bmQoRXhlY1N0YXRlKiBleGVjKQoreworICAgIGlmICht
X2NhbGxpbmdMaXN0ZW5lcnMpCisgICAgICAgIHJldHVybjsKKworICAgIExpc3RlbmVyU2V0KiBs
aXN0ZW5lcnMgPSBnZXRMaXN0ZW5lcnNGb3JHbG9iYWxPYmplY3QoZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpKTsKKyAgICBpZiAoIWxpc3RlbmVycykKKyAgICAgICAgcmV0dXJuOworICAgIEFT
U0VSVCghbGlzdGVuZXJzLT5pc0VtcHR5KCkpOworCisgICAgVGVtcG9yYXJ5Q2hhbmdlPGJvb2w+
IGNoYW5nZShtX2NhbGxpbmdMaXN0ZW5lcnMsIHRydWUpOworCisgICAgVmVjdG9yPFNjcmlwdERl
YnVnTGlzdGVuZXIqPiBsaXN0ZW5lcnNDb3B5OworICAgIGNvcHlUb1ZlY3RvcigqbGlzdGVuZXJz
LCBsaXN0ZW5lcnNDb3B5KTsKKyAgICBmb3IgKGF1dG8gbGlzdGVuZXIgOiBsaXN0ZW5lcnNDb3B5
KQorICAgICAgICBsaXN0ZW5lci0+YnJlYWtwb2ludEFjdGlvblNvdW5kKCk7Cit9CisKIHZvaWQg
U2NyaXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNoRGlkU2FtcGxlUHJvYmUoRXhlY1N0YXRlKiBleGVj
LCBpbnQgaWRlbnRpZmllciwgY29uc3QgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUmIHNhbXBsZSkK
IHsKICAgICBpZiAobV9jYWxsaW5nTGlzdGVuZXJzKQpAQCAtMjIzLDExICsyNDYsNiBAQCB2b2lk
IFNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaEZhaWxlZFRvUGFyc2VTb3VyY2UoY29uc3QgTGlz
dGVuZXJTZXQmIGxpc3RlbmVycwogICAgICAgICBjb3B5W2ldLT5mYWlsZWRUb1BhcnNlU291cmNl
KHVybCwgZGF0YSwgZmlyc3RMaW5lLCBlcnJvckxpbmUsIGVycm9yTWVzc2FnZSk7CiB9CiAKLWJv
b2wgU2NyaXB0RGVidWdTZXJ2ZXI6OmlzQ29udGVudFNjcmlwdChFeGVjU3RhdGUqIGV4ZWMpCi17
Ci0gICAgcmV0dXJuICZjdXJyZW50V29ybGQoZXhlYykgIT0gJm1haW5UaHJlYWROb3JtYWxXb3Js
ZCgpOwotfQotCiB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpzb3VyY2VQYXJzZWQoRXhlY1N0YXRl
KiBleGVjLCBTb3VyY2VQcm92aWRlciogc291cmNlUHJvdmlkZXIsIGludCBlcnJvckxpbmUsIGNv
bnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQogewogICAgIGlmIChtX2NhbGxpbmdMaXN0ZW5lcnMp
CkBAIC0yMzgsMTUgKzI1NiwxMyBAQCB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpzb3VyY2VQYXJz
ZWQoRXhlY1N0YXRlKiBleGVjLCBTb3VyY2VQcm92aWRlciogc291cmNlUHJvdgogICAgICAgICBy
ZXR1cm47CiAgICAgQVNTRVJUKCFsaXN0ZW5lcnMtPmlzRW1wdHkoKSk7CiAKLSAgICBtX2NhbGxp
bmdMaXN0ZW5lcnMgPSB0cnVlOworICAgIFRlbXBvcmFyeUNoYW5nZTxib29sPiBjaGFuZ2UobV9j
YWxsaW5nTGlzdGVuZXJzLCB0cnVlKTsKIAogICAgIGJvb2wgaXNFcnJvciA9IGVycm9yTGluZSAh
PSAtMTsKICAgICBpZiAoaXNFcnJvcikKICAgICAgICAgZGlzcGF0Y2hGYWlsZWRUb1BhcnNlU291
cmNlKCpsaXN0ZW5lcnMsIHNvdXJjZVByb3ZpZGVyLCBlcnJvckxpbmUsIGVycm9yTWVzc2FnZSk7
CiAgICAgZWxzZQogICAgICAgICBkaXNwYXRjaERpZFBhcnNlU291cmNlKCpsaXN0ZW5lcnMsIHNv
dXJjZVByb3ZpZGVyLCBpc0NvbnRlbnRTY3JpcHQoZXhlYykpOwotCi0gICAgbV9jYWxsaW5nTGlz
dGVuZXJzID0gZmFsc2U7CiB9CiAKIHZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNoRnVu
Y3Rpb25Ub0xpc3RlbmVycyhjb25zdCBMaXN0ZW5lclNldCYgbGlzdGVuZXJzLCBKYXZhU2NyaXB0
RXhlY3V0aW9uQ2FsbGJhY2sgY2FsbGJhY2spCkBAIC0yNjIsMTQgKzI3OCwxMiBAQCB2b2lkIFNj
cmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaEZ1bmN0aW9uVG9MaXN0ZW5lcnMoSmF2YVNjcmlwdEV4
ZWN1dGlvbkNhbGxiYWNrCiAgICAgaWYgKG1fY2FsbGluZ0xpc3RlbmVycykKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV9jYWxsaW5nTGlzdGVuZXJzID0gdHJ1ZTsKKyAgICBUZW1wb3JhcnlDaGFu
Z2U8Ym9vbD4gY2hhbmdlKG1fY2FsbGluZ0xpc3RlbmVycywgdHJ1ZSk7CiAKICAgICBpZiAoTGlz
dGVuZXJTZXQqIGxpc3RlbmVycyA9IGdldExpc3RlbmVyc0Zvckdsb2JhbE9iamVjdChnbG9iYWxP
YmplY3QpKSB7CiAgICAgICAgIEFTU0VSVCghbGlzdGVuZXJzLT5pc0VtcHR5KCkpOwogICAgICAg
ICBkaXNwYXRjaEZ1bmN0aW9uVG9MaXN0ZW5lcnMoKmxpc3RlbmVycywgY2FsbGJhY2spOwogICAg
IH0KLQotICAgIG1fY2FsbGluZ0xpc3RlbmVycyA9IGZhbHNlOwogfQogCiB2b2lkIFNjcmlwdERl
YnVnU2VydmVyOjpub3RpZnlEb25lUHJvY2Vzc2luZ0RlYnVnZ2VyRXZlbnRzKCkKQEAgLTMwNSw4
ICszMTksNiBAQCB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpoYW5kbGVQYXVzZShEZWJ1Z2dlcjo6
UmVhc29uRm9yUGF1c2UsIEpTR2xvYmFsT2JqZWN0KiB2bQogICAgIGRpc3BhdGNoRnVuY3Rpb25U
b0xpc3RlbmVycygmU2NyaXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNoRGlkUGF1c2UsIHZtRW50cnlH
bG9iYWxPYmplY3QpOwogICAgIGRpZFBhdXNlKHZtRW50cnlHbG9iYWxPYmplY3QpOwogCi0gICAg
VGltZXJCYXNlOjpmaXJlVGltZXJzSW5OZXN0ZWRFdmVudExvb3AoKTsKLQogICAgIG1fZG9uZVBy
b2Nlc3NpbmdEZWJ1Z2dlckV2ZW50cyA9IGZhbHNlOwogICAgIHJ1bkV2ZW50TG9vcFdoaWxlUGF1
c2VkKCk7CiAKQEAgLTMyNSw2ICszMzcsNiBAQCBjb25zdCBWZWN0b3I8U2NyaXB0QnJlYWtwb2lu
dEFjdGlvbj4mIFNjcmlwdERlYnVnU2VydmVyOjpnZXRBY3Rpb25zRm9yQnJlYWtwb2ludAogICAg
IHJldHVybiBlbXB0eUFjdGlvblZlY3RvcjsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
fSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBFTkFCTEUoSkFWQVNDUklQVF9E
RUJVR0dFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERl
YnVnU2VydmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVn
U2VydmVyLmgKc2ltaWxhcml0eSBpbmRleCA4NyUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaApyZW5hbWUgdG8gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IGQ0OGZkMTUuLjhjNDg5
YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2Vy
dmVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z1Nl
cnZlci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAxMyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIw
MTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDEwLTIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKQEAgLTMyLDEwICszMiwxMCBAQAogCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdH
RVIpCiAKLSNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRPYmplY3QuaD4KLSNpbmNsdWRlIDxkZWJ1
Z2dlci9EZWJ1Z2dlci5oPgotI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRCcmVha3BvaW50Lmg+
Ci0jaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdERlYnVnTGlzdGVuZXIuaD4KKyNpbmNsdWRlICJT
Y3JpcHRCcmVha3BvaW50LmgiCisjaW5jbHVkZSAiU2NyaXB0RGVidWdMaXN0ZW5lci5oIgorI2lu
Y2x1ZGUgImJpbmRpbmdzL1NjcmlwdE9iamVjdC5oIgorI2luY2x1ZGUgImRlYnVnZ2VyL0RlYnVn
Z2VyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQ0LDE1ICs0NCwxNSBAQAogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKLWNsYXNzIERlYnVnZ2Vy
Q2FsbEZyYW1lOwotY2xhc3MgSlNHbG9iYWxPYmplY3Q7CiBjbGFzcyBFeGVjU3RhdGU7CitjbGFz
cyBKU0dsb2JhbE9iamVjdDsKIH0KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIElu
c3BlY3RvciB7CiAKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogcHVibGljIEpTQzo6RGVidWdn
ZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CitjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBTY3JpcHREZWJ1Z1Nl
cnZlciA6IHB1YmxpYyBKU0M6OkRlYnVnZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
Y3JpcHREZWJ1Z1NlcnZlcik7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgSlNDOjpCcmVha3BvaW50SUQgc2V0QnJlYWtwb2ludChKU0M6OlNvdXJjZUlELCBjb25z
dCBJbnNwZWN0b3I6OlNjcmlwdEJyZWFrcG9pbnQmLCB1bnNpZ25lZCogYWN0dWFsTGluZU51bWJl
ciwgdW5zaWduZWQqIGFjdHVhbENvbHVtbk51bWJlcik7CiAgICAgdm9pZCByZW1vdmVCcmVha3Bv
aW50KEpTQzo6QnJlYWtwb2ludElEKTsKQEAgLTc5LDEwICs3OSw5IEBAIHByb3RlY3RlZDoKICAg
ICB2aXJ0dWFsIExpc3RlbmVyU2V0KiBnZXRMaXN0ZW5lcnNGb3JHbG9iYWxPYmplY3QoSlNDOjpK
U0dsb2JhbE9iamVjdCopID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUGF1c2UoSlNDOjpKU0ds
b2JhbE9iamVjdCopID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ29udGludWUoSlNDOjpKU0ds
b2JhbE9iamVjdCopID0gMDsKLQogICAgIHZpcnR1YWwgdm9pZCBydW5FdmVudExvb3BXaGlsZVBh
dXNlZCgpID0gMDsKLQotICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRlbnRTY3JpcHQoSlNDOjpFeGVj
U3RhdGUqKTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNDb250ZW50U2NyaXB0KEpTQzo6RXhlY1N0YXRl
KikgY29uc3QgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXBvcnRFeGNlcHRpb24oSlNDOjpFeGVj
U3RhdGUqLCBKU0M6OkpTVmFsdWUpIGNvbnN0ID0gMDsKIAogICAgIGJvb2wgZXZhbHVhdGVCcmVh
a3BvaW50QWN0aW9uKGNvbnN0IEluc3BlY3Rvcjo6U2NyaXB0QnJlYWtwb2ludEFjdGlvbiYpOwog
CkBAIC05Miw2ICs5MSw4IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGRpc3BhdGNoRGlkQ29udGlu
dWUoSW5zcGVjdG9yOjpTY3JpcHREZWJ1Z0xpc3RlbmVyKik7CiAgICAgdm9pZCBkaXNwYXRjaERp
ZFBhcnNlU291cmNlKGNvbnN0IExpc3RlbmVyU2V0JiBsaXN0ZW5lcnMsIEpTQzo6U291cmNlUHJv
dmlkZXIqLCBib29sIGlzQ29udGVudFNjcmlwdCk7CiAgICAgdm9pZCBkaXNwYXRjaEZhaWxlZFRv
UGFyc2VTb3VyY2UoY29uc3QgTGlzdGVuZXJTZXQmIGxpc3RlbmVycywgSlNDOjpTb3VyY2VQcm92
aWRlciosIGludCBlcnJvckxpbmUsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKTsKKyAgICB2
b2lkIGRpc3BhdGNoQnJlYWtwb2ludEFjdGlvbkxvZyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0
cmluZyYpOworICAgIHZvaWQgZGlzcGF0Y2hCcmVha3BvaW50QWN0aW9uU291bmQoSlNDOjpFeGVj
U3RhdGUqKTsKICAgICB2b2lkIGRpc3BhdGNoRGlkU2FtcGxlUHJvYmUoSlNDOjpFeGVjU3RhdGUq
LCBpbnQgcHJvYmVJZGVudGlmaWVyLCBjb25zdCBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSYgc2Ft
cGxlKTsKIAogICAgIGJvb2wgbV9kb25lUHJvY2Vzc2luZ0RlYnVnZ2VyRXZlbnRzOwpAQCAtMTEw
LDExICsxMTEsOSBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faGl0Q291bnQ7CiAgICAgYm9v
bCBtX2NhbGxpbmdMaXN0ZW5lcnM7CiAgICAgQnJlYWtwb2ludElEVG9BY3Rpb25zTWFwIG1fYnJl
YWtwb2ludElEVG9BY3Rpb25zOwotCi0gICAgZnJpZW5kIGNsYXNzIERlYnVnZ2VyQ2FsbEZyYW1l
U2NvcGU7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNw
ZWN0b3IKIAogI2VuZGlmIC8vIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IGI5NGE5YTkuLmM5MDk2ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC01MzMsNyArNTMzLDYgQEAgc2V0KFdlYkNvcmVfSURMX0ZJTEVTCiAKICAgICBpbnNwZWN0b3Iv
Q29tbWFuZExpbmVBUElIb3N0LmlkbAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhv
c3QuaWRsCi0gICAgaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsCiAgICAgaW5zcGVj
dG9yL1NjcmlwdFByb2ZpbGUuaWRsCiAgICAgaW5zcGVjdG9yL1NjcmlwdFByb2ZpbGVOb2RlLmlk
bAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggYzEzNTJlZS4uY2Y3MjYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDc2IEBACisyMDE0LTAxLTIzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+
CisKKyAgICAgICAgTW92ZSBKYXZhU2NyaXB0Q2FsbEZyYW1lIGFuZCBTY3JpcHREZWJ1Z1NlcnZl
ciBpbnRvIEphdmFTY3JpcHRDb3JlIGZvciBpbnNwZWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzU0MworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisK
KyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIu
aDogQWRkZWQuCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBVc2VK
U0MuY21ha2U6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHA6CisgICAgICAgIFVwZGF0ZSBidWlsZHMgbm93IHRo
YXQgU2NyaXB0RGVidWdTZXJ2ZXIgbW92ZWQgdG8gSmF2YVNjcmlwdENvcmUuCisKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuaDoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZVNj
cmlwdERlYnVnU2VydmVyOjpydW5FdmVudExvb3BXaGlsZVBhdXNlZCk6CisgICAgICAgIChXZWJD
b3JlOjpQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OmlzQ29udGVudFNjcmlwdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OnJlcG9ydEV4Y2VwdGlvbik6CisgICAgICAg
ICogYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuaDoKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9Xb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJTY3JpcHREZWJ1Z1NlcnZlcjo6cnVuRXZlbnRMb29wV2hpbGVQYXVzZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0RGVidWdTZXJ2ZXI6OnJlcG9ydEV4Y2VwdGlvbik6Cisg
ICAgICAgIEhhbmRsZSBTY3JpcHREZWJ1Z1NlcnZlciBmdW5jdGlvbmFsaXR5IGRlcGVuZGluZyBv
biBXZWJDb3JlIGtub3dsZWRnZS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6YnJlYWtwb2lu
dEFjdGlvblNvdW5kKToKKyAgICAgICAgSGFuZGxlIFNjcmlwdERlYnVnU2VydmVyIGZ1bmN0aW9u
YWxpdHkgdGhhdCBkZXBlbmRlZCBvbiBXZWJDb3JlIGtub3dsZWRnZS4KKyAgICAgICAgVGhpcyB3
aWxsIGV2ZW50dWFsbHkgYmUgd3JpdHRlbiBpbiBhIG5vbi1XZWJDb3JlIHNwZWNpZmljIHdheS4K
KworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaDoKKyAgICAgICAgVXBkYXRlIFNj
cmlwdERlYnVnU2VydmVyIHR5cGUgbm93IHRoYXQgaXQgaXMgaW4gbmFtZXNwYWNlIEluc3BlY3Rv
ci4KKworICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgTWFr
ZSBhZGRDb25zb2xlTWVzc2FnZSBwdWJsaWMgYWdhaW4gc28gdGhlIGluc3BlY3RvciBjYW4gY2Fs
bCBpdC4KKworICAgICAgICAqIGluc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlRGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxvZyk6Cisg
ICAgICAgICogaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVj
dG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyRGVi
dWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxvZyk6CisgICAgICAgICogaW5zcGVjdG9yL1dv
cmtlckRlYnVnZ2VyQWdlbnQuaDoKKyAgICAgICAgTGV0IGVhY2ggb2YgdGhlc2UgaGFuZGxlIGNv
bnNvbGUgbG9ncyBpbiB0aGVpciBvd24gd2F5LiBCb3RoIG9mIHRoZXNlCisgICAgICAgIGV2ZW50
dWFsbHkgZ28gdGhyb3VnaCB0aGUgUGFnZUNvbnNvbGUgYW5kIGxvZyB0aHJvdWdoIHRoZSBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQKKyAgICAgICAgYW5kIENocm9tZUNsaWVudC4KKworMjAxNC0wMS0y
MyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUg
SmF2YVNjcmlwdENhbGxGcmFtZSBhbmQgU2NyaXB0RGVidWdTZXJ2ZXIgaW50byBKYXZhU2NyaXB0
Q29yZSBmb3IgaW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjc1NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
CisgICAgICAgICogVXNlSlNDLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGlu
c3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgVXBkYXRl
IGJ1aWxkIGZpbGVzLgorCiAyMDE0LTAxLTI0ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBw
bGUuY29tPgogCiAgICAgICAgIFtXaW5dIENvbnZlcnQgc29tZSBOTWFrZSBmaWxlcyB0byBNU0J1
aWxkIHByb2plY3QgZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCAwNmZlOTcy
Li41NzM0NGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0yNDMsNyArMjQzLDYg
QEAKICNpbmNsdWRlICJKU0lEQlRyYW5zYWN0aW9uLmNwcCIKICNpbmNsdWRlICJKU0ltYWdlRGF0
YS5jcHAiCiAjaW5jbHVkZSAiSlNJbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIgotI2luY2x1ZGUg
IkpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAiCiAjaW5jbHVkZSAiSlNLZXlib2FyZEV2ZW50LmNw
cCIKICNpbmNsdWRlICJKU0xvY2F0aW9uLmNwcCIKICNpbmNsdWRlICJKU01lZGlhQ29udHJvbGxl
ci5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyNzJjNzI3Li42MmEzMTU2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTcyNyw4ICs3MjcsNiBAQCBhbGwg
OiBcCiAgICAgJChKU19ET01fSEVBREVSUykgXAogICAgICQoV0VCX0RPTV9IRUFERVJTKSBcCiAg
ICAgXAotICAgIEpTSmF2YVNjcmlwdENhbGxGcmFtZS5oIFwKLSAgICBcCiAgICAgQ1NTR3JhbW1h
ci5jcHAgXAogICAgIENTU1Byb3BlcnR5TmFtZXMuaCBcCiAgICAgQ1NTVmFsdWVLZXl3b3Jkcy5o
IFwKQEAgLTEwODUsNyArMTA4Myw2IEBAIFdPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9SU19G
SUxFID0gLi9Xb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9ycy5pZGwKIFNIQVJFRFdPUktFUkdM
T0JBTFNDT1BFX0NPTlNUUlVDVE9SU19GSUxFID0gLi9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZUNv
bnN0cnVjdG9ycy5pZGwKIERFRElDQVRFRFdPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9SU19G
SUxFID0gLi9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9ycy5pZGwKIElETF9G
SUxFU19UTVAgPSAuL2lkbF9maWxlcy50bXAKLUFERElUSU9OQUxfSURMUyA9ICQoV2ViQ29yZSkv
aW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsCiBJRExfQVRUUklCVVRFU19GSUxFID0g
JChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CiAKICMgVGhlIGZv
bGxvd2luZyB0d28gbGluZXMgZ2V0IGEgc3BhY2UgY2hhcmFjdGVyIHN0b3JlZCBpbiBhIHZhcmlh
YmxlLgpAQCAtMTA5Myw4ICsxMDkwLDggQEAgSURMX0FUVFJJQlVURVNfRklMRSA9ICQoV2ViQ29y
ZSkvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAogc3BhY2UgOj0KIHNwYWNlICs9
CiAKLSQoU1VQUExFTUVOVEFMX01BS0VGSUxFX0RFUFMpIDogJChQUkVQUk9DRVNTX0lETFNfU0NS
SVBUUykgJChCSU5ESU5HX0lETFMpICQoQURESVRJT05BTF9JRExTKSAkKFBMQVRGT1JNX0ZFQVRV
UkVfREVGSU5FUykKLQlwcmludGYgIiQoc3Vic3QgJChzcGFjZSksLCQocGF0c3Vic3QgJSwlXG4s
JChCSU5ESU5HX0lETFMpICQoQURESVRJT05BTF9JRExTKSkpIiA+ICQoSURMX0ZJTEVTX1RNUCkK
KyQoU1VQUExFTUVOVEFMX01BS0VGSUxFX0RFUFMpIDogJChQUkVQUk9DRVNTX0lETFNfU0NSSVBU
UykgJChCSU5ESU5HX0lETFMpICQoUExBVEZPUk1fRkVBVFVSRV9ERUZJTkVTKQorCXByaW50ZiAi
JChzdWJzdCAkKHNwYWNlKSwsJChwYXRzdWJzdCAlLCVcbiwkKEJJTkRJTkdfSURMUykpKSIgPiAk
KElETF9GSUxFU19UTVApCiAJJChjYWxsIHByZXByb2Nlc3NfaWRsc19zY3JpcHQsICQoUFJFUFJP
Q0VTU19JRExTX1NDUklQVFMpKSAtLWRlZmluZXMgIiQoRkVBVFVSRV9ERUZJTkVTKSAkKEFERElU
SU9OQUxfSURMX0RFRklORVMpIExBTkdVQUdFX0pBVkFTQ1JJUFQiIC0taWRsRmlsZXNMaXN0ICQo
SURMX0ZJTEVTX1RNUCkgLS1zdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZSAkKFNVUFBMRU1FTlRB
TF9ERVBFTkRFTkNZX0ZJTEUpIC0td2luZG93Q29uc3RydWN0b3JzRmlsZSAkKFdJTkRPV19DT05T
VFJVQ1RPUlNfRklMRSkgLS13b3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChXT1JL
RVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgLS1zaGFyZWRXb3JrZXJHbG9iYWxTY29w
ZUNvbnN0cnVjdG9yc0ZpbGUgJChTSEFSRURXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNf
RklMRSkgLS1kZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChERURJ
Q0FURURXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgLS1zdXBwbGVtZW50YWxN
YWtlZmlsZURlcHMgJEAKIAlybSAtZiAkKElETF9GSUxFU19UTVApCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZl
ci5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdERl
YnVnU2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk0NDJhMgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3Bl
Y3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3Jl
X0ZXRF9TY3JpcHREZWJ1Z1NlcnZlcl9oCisjZGVmaW5lIFdlYkNvcmVfRldEX1NjcmlwdERlYnVn
U2VydmVyX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHREZWJ1Z1NlcnZlci5oPgor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA5Njg0OTUyLi5mYTdmMWEw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ1Nyw4ICs0NTcsNiBAQCB3ZWJj
b3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNJbnNwZWN0
b3JGcm9udGVuZEhvc3QuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NjcmlwdFByb2Nl
c3Nvck5vZGUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU2NyaXB0UHJvY2Vzc29y
Tm9kZS5oIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5j
cHAgXAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNLZXlib2FyZEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0xvY2F0aW9uLmNwcCBcCkBAIC0xNTQ5LDcgKzE1NDcsNiBAQCBkb21fYmluZGluZ19pZGxz
ICs9IFwKIAkkKFdlYkNvcmUpL2h0bWwvdHJhY2svVmlkZW9UcmFja0xpc3QuaWRsIFwKIAkkKFdl
YkNvcmUpL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaWRsIFwKIAkkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsIFwKLQkkKFdlYkNvcmUpL2luc3BlY3Rv
ci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmlkbCBcCiAJJChXZWJDb3JlKS9pbnNwZWN0b3IvU2NyaXB0
UHJvZmlsZS5pZGwgXAogCSQoV2ViQ29yZSkvaW5zcGVjdG9yL1NjcmlwdFByb2ZpbGVOb2RlLmlk
bCBcCiAJJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwg
XApAQCAtMjM3MCw3ICsyMzY3LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0ltYWdlQ29uc3RydWN0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNJbWFnZURhdGFDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0luc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAgXAotCVNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSmF2YVNjcmlwdENhbGxGcmFtZUN1c3RvbS5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTGF6eUV2ZW50TGlzdGVuZXIuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0xhenlFdmVudExpc3RlbmVyLmggXAogCVNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTTG9jYXRpb25DdXN0b20uY3BwIFwKQEAgLTI0MzQsOCArMjQzMCw2
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNY
TUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
WFBhdGhSZXN1bHRDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hT
TFRQcm9jZXNzb3JDdXN0b20uY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KYXZh
U2NyaXB0Q2FsbEZyYW1lLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSmF2YVNj
cmlwdENhbGxGcmFtZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9EaWN0aW9uYXJ5
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvRGljdGlvbmFyeS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIFwKQEAgLTI0
NDgsOCArMjQ0Miw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0Q29udHJvbGxlci5oIFwKLQlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHREZWJ1Z1NlcnZlci5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERl
YnVnU2VydmVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEhlYXBTbmFw
c2hvdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRHbG9iYWxPYmplY3Qu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRHbG9iYWxPYmplY3QuaCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9Vc2VKU0MuY21ha2UKaW5kZXggNmY1ODAxZi4uMmRiMGZiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvVXNlSlNDLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQpA
QCAtOTcsNyArOTcsNiBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5n
cy9qcy9KU0ltYWdlQ29uc3RydWN0b3IuY3BwCiAgICAgYmluZGluZ3MvanMvSlNJbWFnZURhdGFD
dXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20u
Y3BwCi0gICAgYmluZGluZ3MvanMvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTTGF6eUV2ZW50TGlzdGVuZXIuY3BwCiAgICAgYmluZGluZ3MvanMvSlNM
b2NhdGlvbkN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUu
Y3BwCkBAIC0xNTQsMTMgKzE1MywxMSBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAg
ICBiaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pz
L0pTWFBhdGhSZXN1bHRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNYU0xUUHJvY2Vzc29y
Q3VzdG9tLmNwcAotICAgIGJpbmRpbmdzL2pzL0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwCiAgICAg
YmluZGluZ3MvanMvUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcAogICAgIGJpbmRpbmdzL2pzL1Nj
aGVkdWxlZEFjdGlvbi5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEu
Y3BwCiAgICAgYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAKICAgICBiaW5k
aW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAotICAgIGJpbmRpbmdzL2pzL1NjcmlwdERlYnVn
U2VydmVyLmNwcAogICAgIGJpbmRpbmdzL2pzL1NjcmlwdEdsb2JhbE9iamVjdC5jcHAKICAgICBi
aW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlLmNwcAogICAgIGJpbmRpbmdzL2pzL1NjcmlwdFByb2Zp
bGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKaW5kZXggMDFlMGNiMy4uYzU1NWI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0zMTg3LDIwICszMTg3LDYgQEAKICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENv
bXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVy
ZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNLZXlib2FyZEV2ZW50LmNwcCI+CiAg
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0xNTgwMCwyMCAr
MTU3ODYsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJp
bmRpbmdzXGpzXEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTQXR0ckN1c3RvbS5jcHAiPgogICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTY2NTYsMjAgKzE2NjI4
LDYgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5n
c1xqc1xKU0phdmFTY3JpcHRDYWxsRnJhbWVDdXN0b20uY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVn
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWly
b3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZp
eHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNh
aXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlv
bnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlv
bnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTTGF6eUV2ZW50TGlzdGVuZXIuY3Bw
Ij4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAg
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTE3Mjg2
LDIwICsxNzI0NCw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cYmluZGluZ3NcanNcU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVn
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWly
b3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZp
eHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNh
aXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlv
bnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlv
bnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdEdsb2JhbE9iamVjdC5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRQcm9maWxl
LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdFBy
b2ZpbGVyLmNwcCI+CkBAIC0xODI2MCw3ICsxODIwNCw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJUcmFuc2FjdGlvbi5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZv
cm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSW1hZ2VEYXRh
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNJbnNwZWN0b3JGcm9udGVuZEhvc3QuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQo
Q29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0phdmFTY3JpcHRDYWxsRnJhbWUuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3Jt
QXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0tleWJvYXJkRXZl
bnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU0xvY2F0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNNZWRpYUNvbnRyb2xzSG9zdC5oIiAvPgpAQCAtMjA1NjMsNyArMjA1MDYs
NiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcRE9NV3JhcHBlcldv
cmxkLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xHQ0NvbnRy
b2xsZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXElEQkJp
bmRpbmdVdGlsaXRpZXMuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdz
XGpzXEphdmFTY3JpcHRDYWxsRnJhbWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGJpbmRpbmdzXGpzXEpTQ2FsbGJhY2tEYXRhLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxiaW5kaW5nc1xqc1xKU0NTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVy
LmgiIC8+CkBAIC0yMDU5NSw3ICsyMDUzNyw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxiaW5kaW5nc1xqc1xTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENvbnRyb2xsZXIuaCIg
Lz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdERlYnVnU2Vy
dmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRI
ZWFwU25hcHNob3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpz
XFNjcmlwdEdsb2JhbE9iamVjdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmlu
ZGluZ3NcanNcU2NyaXB0UHJvZmlsZS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IGM2NWQ2N2YuLjU3
ZTM3ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTQyMjQsOSArNDIyNCw2IEBACiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xJREJCaW5kaW5nVXRpbGl0aWVzLmNwcCI+CiAgICAg
ICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCI+
Ci0gICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0F0dHJDdXN0b20uY3BwIj4K
ICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAg
LTQzNjUsOSArNDM2Miw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xq
c1xKU0luc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAiPgogICAgICAgPEZpbHRlcj5iaW5k
aW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cYmluZGluZ3NcanNcSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcCI+Ci0gICAg
ICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0xhenlFdmVudExpc3RlbmVyLmNwcCI+
CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBA
IC00NTAwLDkgKzQ0OTQsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3Nc
anNcU2NyaXB0Q29udHJvbGxlci5jcHAiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmls
dGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGlu
Z3NcanNcU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIj4KLSAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8
L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJp
bmRpbmdzXGpzXFNjcmlwdEdsb2JhbE9iamVjdC5jcHAiPgogICAgICAgPEZpbHRlcj5iaW5kaW5n
c1xqczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtNTcxOSw5ICs1NzEwLDYgQEAKICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRm
b3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5jcHAiPgogICAgICAgPEZpbHRlcj5EZXJpdmVkU291cmNlczwvRmlsdGVy
PgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0
aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAiPgotICAgICAgPEZpbHRlcj5E
ZXJpdmVkU291cmNlczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1
cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTS2V5Ym9hcmRFdmVudC5jcHAiPgog
ICAgICAgPEZpbHRlcj5EZXJpdmVkU291cmNlczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpA
QCAtMTEyNzksOSArMTEyNjcsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGlu
Z3NcanNcSURCQmluZGluZ1V0aWxpdGllcy5oIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8
L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJp
bmRpbmdzXGpzXEphdmFTY3JpcHRDYWxsRnJhbWUuaCI+Ci0gICAgICA8RmlsdGVyPmJpbmRpbmdz
XGpzPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxiaW5kaW5nc1xqc1xKU0NhbGxiYWNrRGF0YS5oIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3Nc
anM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTExMzU3LDkgKzExMzQyLDYgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENvbnRyb2xsZXIuaCI+
CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0g
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHREZWJ1Z1NlcnZlci5o
Ij4KLSAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdEhlYXBTbmFwc2hv
dC5oIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVk
ZT4KQEAgLTEzNDYyLDkgKzEzNDQ0LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU0luc3BlY3RvckZyb250ZW5kSG9zdC5oIj4KICAgICAgIDxG
aWx0ZXI+RGVyaXZlZFNvdXJjZXM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJj
aGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0phdmFTY3JpcHRDYWxs
RnJhbWUuaCI+Ci0gICAgICA8RmlsdGVyPkRlcml2ZWRTb3VyY2VzPC9GaWx0ZXI+Ci0gICAgPC9D
bEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNLZXlib2FyZEV2ZW50LmgiPgogICAgICAgPEZpbHRlcj5EZXJpdmVkU291cmNlczwvRmls
dGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFkYzMwMjIuLjU4ZjI3OWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTkwNCwx
NCArOTA0LDkgQEAKIAkJMUMyNjQ5N0MwRDdFMjRFQzAwQkQxMEYyIC8qIFBhZ2VNYWMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMyNjQ5N0IwRDdF
MjRFQzAwQkQxMEYyIC8qIFBhZ2VNYWMuY3BwICovOyB9OwogCQkxQzRDOEYwMjBBRDg1RDg3MDA5
NDc1Q0UgLyogRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM0QzhGMDAwQUQ4NUQ4NzAwOTQ3NUNFIC8qIERlbGV0
ZUJ1dHRvbkNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkxQzRDOEY2NjBBRDg2NTVEMDA5NDc1Q0UgLyogRGVsZXRlQnV0dG9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzRDOEY2NDBB
RDg2NTVEMDA5NDc1Q0UgLyogRGVsZXRlQnV0dG9uLmggKi87IH07Ci0JCTFDNUZBRUQxMERDRkQ5
MDEwMEQ1OEY3OCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM1RkFFQ0YwRENGRDkwMTAwRDU4Rjc4IC8q
IEpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgKi87IH07Ci0JCTFDNUZBRUQyMERDRkQ5MDEwMEQ1
OEY3OCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNUZBRUQwMERDRkQ5MDEwMEQ1OEY3OCAvKiBKU0phdmFT
Y3JpcHRDYWxsRnJhbWUuaCAqLzsgfTsKLQkJMUM1RkFFRTcwRENGREE2ODAwRDU4Rjc4IC8qIEpT
SmF2YVNjcmlwdENhbGxGcmFtZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQzVGQUVFNjBEQ0ZEQTY4MDBENThGNzggLyogSlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcCAqLzsgfTsKIAkJMUM4MUI5NUEwRTk3MzMwODAwMjY2RTA3
IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDODFCOTU2MEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDb250
cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMUM4MUI5NUIwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4MUI5NTcwRTk3
MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuY3BwICovOyB9OwogCQkxQzgxQjk1
QzBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzgxQjk1ODBFOTczMzA4MDAyNjZFMDcgLyog
SW5zcGVjdG9yQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKLQkJMUM4MUJBMDkwRTk3MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJh
bWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4
MUJBMDMwRTk3MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwICovOyB9Owot
CQkxQzgxQkEwQTBFOTczNDgzMDAyNjZFMDcgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4MUJBMDQwRTk3MzQ4
MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuaCAqLzsgfTsKIAkJMUNBMTlFMDUwREMy
NTU5NTAwNjVBOTk0IC8qIEV2ZW50TG9vcE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQTE5RTAzMERDMjU1OTUwMDY1QTk5NCAvKiBFdmVudExv
b3BNYWMubW0gKi87IH07CiAJCTFDQTE5RTE2MERDMjU1Q0EwMDY1QTk5NCAvKiBFdmVudExvb3Au
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQTE5RTE1
MERDMjU1Q0EwMDY1QTk5NCAvKiBFdmVudExvb3AuaCAqLzsgfTsKIAkJMUNBRjM0ODEwQTZDNDA1
MjAwQUJFMDZFIC8qIFdlYlNjcmlwdE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUNBRjM0N0UwQTZDNDA1MjAwQUJFMDZFIC8qIFdlYlNjcmlw
dE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CkBAIC0zNTEyLDggKzM1MDcsNiBAQAogCQk5RjBENkIyRTEyMUJGRUJBMDA2QzAyODggLyogSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5RjBENkIyQzEyMUJGRUJBMDA2QzAyODggLyogSW5zcGVjdG9yUHJvZmls
ZXJBZ2VudC5jcHAgKi87IH07CiAJCTlGMEQ2QjJGMTIxQkZFQkEwMDZDMDI4OCAvKiBJbnNwZWN0
b3JQcm9maWxlckFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5RjBENkIyRDEyMUJGRUJBMDA2QzAyODggLyogSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dC5oICovOyB9OwogCQk5RjNCOTQ3RTEyMjQxNzU4MDA1MzA0RTcgLyogU2NyaXB0SGVhcFNuYXBz
aG90LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RjNC
OTQ3RDEyMjQxNzU4MDA1MzA0RTcgLyogU2NyaXB0SGVhcFNuYXBzaG90LmggKi87IH07Ci0JCTlG
NkZDMTk2MTEyMkU4MkEwMEU4MDE5NiAvKiBTY3JpcHREZWJ1Z1NlcnZlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RjZGQzE5NDExMjJFODJBMDBF
ODAxOTYgLyogU2NyaXB0RGVidWdTZXJ2ZXIuY3BwICovOyB9OwotCQk5RjZGQzE5NzExMjJFODJB
MDBFODAxOTYgLyogU2NyaXB0RGVidWdTZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlGNkZDMTk1MTEyMkU4MkEwMEU4MDE5NiAvKiBTY3JpcHRE
ZWJ1Z1NlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTlGNzIzMDRGMTExODRCNDEwMEFEMDEyNiAvKiBTY3JpcHRQcm9maWxlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RjcyMzA0QzExMTg0QjQx
MDBBRDAxMjYgLyogU2NyaXB0UHJvZmlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTlGNzIzMDUwMTExODRCNDEwMEFEMDEyNiAvKiBTY3JpcHRQ
cm9maWxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5RjcyMzA0RDExMTg0QjQxMDBBRDAxMjYgLyogU2NyaXB0UHJvZmlsZXIuY3BwICovOyB9Owog
CQk5RjcyMzA1MTExMTg0QjQxMDBBRDAxMjYgLyogU2NyaXB0UHJvZmlsZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlGNzIzMDRFMTExODRCNDEwMEFE
MDEyNiAvKiBTY3JpcHRQcm9maWxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC03Njg4LDE1ICs3NjgxLDkgQEAKIAkJMUM0QzhGMDAwQUQ4NUQ4
NzAwOTQ3NUNFIC8qIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJMUM0QzhGNjMwQUQ4NjU1
RDAwOTQ3NUNFIC8qIERlbGV0ZUJ1dHRvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBEZWxldGVCdXR0b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJX
aWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJMUM0QzhGNjQwQUQ4NjU1RDAwOTQ3NUNFIC8q
IERlbGV0ZUJ1dHRvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZWxldGVC
dXR0b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9
IDA7IH07Ci0JCTFDNUZBRUNGMERDRkQ5MDEwMEQ1OEY3OCAvKiBKU0phdmFTY3JpcHRDYWxsRnJh
bWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUM1RkFFRDAwRENG
RDkwMTAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0phdmFTY3JpcHRDYWxsRnJhbWUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJMUM1RkFFRTYwRENGREE2ODAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENh
bGxGcmFtZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0phdmFTY3JpcHRDYWxsRnJhbWVDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQzgxQjk1NjBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JDb250cm9sbGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDODFCOTU3MEU5NzMzMDgwMDI2NkUwNyAvKiBJ
bnNwZWN0b3JDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEluc3BlY3RvckNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQzgxQjk1ODBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ2xpZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckNsaWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQkxQzgxQkEwMzBFOTczNDgzMDAyNjZFMDcgLyogSmF2YVNjcmlwdENh
bGxGcmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKYXZhU2Ny
aXB0Q2FsbEZyYW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUM4MUJBMDQw
RTk3MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSmF2YVNjcmlwdENhbGxGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQkxQzgxQkEwNTBFOTczNDgzMDAyNjZFMDcgLyogSmF2YVNjcmlwdENhbGxG
cmFtZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSmF2YVNjcmlwdENhbGxGcmFtZS5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA0REY5MEJBOUQyQzgwMDgxRTlEMCAv
KiBWZXJzaW9uLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFZlcnNp
b24ueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTE5RTAzMERDMjU1
OTUwMDY1QTk5NCAvKiBFdmVudExvb3BNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBFdmVudExvb3BNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDQTE5RTE1MERDMjU1Q0EwMDY1QTk5NCAvKiBFdmVudExvb3AuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRMb29wLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xMDQ3Niw4ICsxMDQ2Myw2IEBACiAJCTlGMEQ2QjJDMTIxQkZFQkEwMDZDMDI4OCAv
KiBJbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEluc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5RjBENkIyRDEyMUJGRUJBMDA2QzAyODggLyogSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JQcm9maWxl
ckFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlGM0I5NDdEMTIyNDE3NTgw
MDUzMDRFNyAvKiBTY3JpcHRIZWFwU25hcHNob3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU2NyaXB0SGVhcFNuYXBzaG90Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTlGNkZDMTk0MTEyMkU4MkEwMEU4MDE5NiAvKiBTY3JpcHREZWJ1Z1NlcnZlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHREZWJ1Z1NlcnZlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTlGNkZDMTk1MTEyMkU4MkEwMEU4MDE5NiAv
KiBTY3JpcHREZWJ1Z1NlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
Y3JpcHREZWJ1Z1NlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5RjcyMzA0
QzExMTg0QjQxMDBBRDAxMjYgLyogU2NyaXB0UHJvZmlsZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTY3JpcHRQcm9maWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTlGNzIzMDREMTExODRCNDEwMEFEMDEyNiAvKiBTY3JpcHRQcm9maWxlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRQcm9maWxlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlGNzIzMDRFMTExODRCNDEwMEFEMDEyNiAvKiBTY3Jp
cHRQcm9maWxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRQcm9m
aWxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ3NzIsOCArMTQ3NTcsNiBA
QAogCQkJCUE1ODRGRTNBMTg2NEUyRDgwMDg0M0IxMCAvKiBKU0NvbW1hbmRMaW5lQVBJSG9zdC5o
ICovLAogCQkJCTdBMEU3NzFDMTBDMDBEQjEwMEEwMjc2RSAvKiBKU0luc3BlY3RvckZyb250ZW5k
SG9zdC5jcHAgKi8sCiAJCQkJN0EwRTc3MUQxMEMwMERCMTAwQTAyNzZFIC8qIEpTSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmggKi8sCi0JCQkJMUM1RkFFQ0YwRENGRDkwMTAwRDU4Rjc4IC8qIEpTSmF2
YVNjcmlwdENhbGxGcmFtZS5jcHAgKi8sCi0JCQkJMUM1RkFFRDAwRENGRDkwMTAwRDU4Rjc4IC8q
IEpTSmF2YVNjcmlwdENhbGxGcmFtZS5oICovLAogCQkJCTlGQTM3RUY2MTE3MkZEOTMwMEM0Q0Q1
NSAvKiBKU1NjcmlwdFByb2ZpbGUuY3BwICovLAogCQkJCTlGQTM3RUY3MTE3MkZEOTMwMEM0Q0Q1
NSAvKiBKU1NjcmlwdFByb2ZpbGUuaCAqLywKIAkJCQk5RkEzN0VGODExNzJGRDkzMDBDNENENTUg
LyogSlNTY3JpcHRQcm9maWxlTm9kZS5jcHAgKi8sCkBAIC0xNDg4NCw3ICsxNDg2Nyw2IEBACiAJ
CQkJRjM3NUNDMDYxMTUwRDMwMDAwOEREQjgxIC8qIEluc3BlY3RvcldvcmtlclJlc291cmNlLmgg
Ki8sCiAJCQkJRjM1MEI3MzQxM0YxMzc3RDAwODgwQzQzIC8qIEluc3RydW1lbnRpbmdBZ2VudHMu
Y3BwICovLAogCQkJCUYzQUJGRTBCMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdl
bnRzLmggKi8sCi0JCQkJMUM4MUJBMDUwRTk3MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxs
RnJhbWUuaWRsICovLAogCQkJCTU5QzI3RjA0MTM4RDI4QzEwMDc5QjdFMiAvKiBOZXR3b3JrUmVz
b3VyY2VzRGF0YS5jcHAgKi8sCiAJCQkJNTlDMjdGMDYxMzhEMjhDRjAwNzlCN0UyIC8qIE5ldHdv
cmtSZXNvdXJjZXNEYXRhLmggKi8sCiAJCQkJRjM4MjA4OEExNDdEMzVGOTAwMTBCQzA2IC8qIFBh
Z2VDb25zb2xlQWdlbnQuY3BwICovLApAQCAtMjAxNDAsOCArMjAxMjIsNiBAQAogCQkJCTE0MzJF
ODQ2MEM1MTQ5MzgwMEIxNTAwRiAvKiBHQ0NvbnRyb2xsZXIuaCAqLywKIAkJCQlDNTg1QTY2MDEx
RDRGQUM1MDA0QzNFNEIgLyogSURCQmluZGluZ1V0aWxpdGllcy5jcHAgKi8sCiAJCQkJQzU4NUE2
NjExMUQ0RkFDNTAwNEMzRTRCIC8qIElEQkJpbmRpbmdVdGlsaXRpZXMuaCAqLywKLQkJCQkxQzgx
QkEwMzBFOTczNDgzMDAyNjZFMDcgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgKi8sCi0JCQkJ
MUM4MUJBMDQwRTk3MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuaCAqLywKIAkJ
CQlFMTU3QThFRTE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmNw
cCAqLywKIAkJCQlFMTU3QThFRjE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9BbGdvcml0aG1C
dWlsZGVyLmggKi8sCiAJCQkJRTEyNUY4M0IxODI0MTFFNzAwRDg0Q0Q5IC8qIEpTQ3J5cHRvT3Bl
cmF0aW9uRGF0YS5jcHAgKi8sCkBAIC0yMDE5MSw4ICsyMDE3MSw2IEBACiAJCQkJOTNCNzBENTMw
OUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuY3BwICovLAogCQkJCTkzQjcwRDU0
MDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmggKi8sCiAJCQkJQTgzRTFDNzIw
RTQ5MDQyQjAwMTQwQjlDIC8qIFNjcmlwdENvbnRyb2xsZXJNYWMubW0gKi8sCi0JCQkJOUY2RkMx
OTQxMTIyRTgyQTAwRTgwMTk2IC8qIFNjcmlwdERlYnVnU2VydmVyLmNwcCAqLywKLQkJCQk5RjZG
QzE5NTExMjJFODJBMDBFODAxOTYgLyogU2NyaXB0RGVidWdTZXJ2ZXIuaCAqLywKIAkJCQk5RjNC
OTQ3RDEyMjQxNzU4MDA1MzA0RTcgLyogU2NyaXB0SGVhcFNuYXBzaG90LmggKi8sCiAJCQkJNDFG
MDY2RTMwRjY0QkNGNjAwQTA3RUFDIC8qIFNjcmlwdEdsb2JhbE9iamVjdC5jcHAgKi8sCiAJCQkJ
NDFGMDY2RTIwRjY0QkNGNjAwQTA3RUFDIC8qIFNjcmlwdEdsb2JhbE9iamVjdC5oICovLApAQCAt
MjAzMzYsNyArMjAzMTQsNiBAQAogCQkJCTUxMUVGMkNFMTdGMEZERjEwMEU0RkExNiAvKiBKU0lE
Qk9iamVjdFN0b3JlQ3VzdG9tLmNwcCAqLywKIAkJCQlBN0QwMzE4RDBFOTM1NDAzMDBFMjRBQ0Qg
LyogSlNJbWFnZURhdGFDdXN0b20uY3BwICovLAogCQkJCTdBNzRFQ0JDMTAxODM5REEwMEJGOTM5
RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAgKi8sCi0JCQkJMUM1RkFFRTYw
RENGREE2ODAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZUN1c3RvbS5jcHAgKi8sCiAJ
CQkJQkNFMUM0M0YwRDk4MzBGNDAwM0IwMkYyIC8qIEpTTG9jYXRpb25DdXN0b20uY3BwICovLAog
CQkJCUFENzI2RkU3MTZEOUYyMDQwMDNBNEU2RCAvKiBKU01lZGlhTGlzdEN1c3RvbS5oICovLAog
CQkJCUUxQTVGOTlBMEU3RUFBMjUwMEFGODVFQSAvKiBKU01lc3NhZ2VDaGFubmVsQ3VzdG9tLmNw
cCAqLywKQEAgLTI0MDAwLDcgKzIzOTc3LDYgQEAKIAkJCQlFMTM0RjVBQjEyRUUzNDNGMDA0RUM1
OEQgLyogSW50UmVjdEhhc2guaCBpbiBIZWFkZXJzICovLAogCQkJCUIyNzUzNTc1MEIwNTM4MTQw
MDJDRTY0RiAvKiBJbnRTaXplLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjc1MzU3NjBCMDUzODE0
MDAyQ0U2NEYgLyogSW50U2l6ZUhhc2guaCBpbiBIZWFkZXJzICovLAotCQkJCTFDODFCQTBBMEU5
NzM0ODMwMDI2NkUwNyAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0MThGODgwNTBGRjk1N0FGMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRkRBMTVFQ0ExMkIwM0Y1MDAwM0E1ODNBIC8qIEpTQW5hbHlzZXJOb2RlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk2NURGMzFEQjA5RDFDMTIzMDAwQkUzMjUgLyogSlNBdHRyLmgg
aW4gSGVhZGVycyAqLywKQEAgLTI0MjQ5LDcgKzI0MjI1LDYgQEAKIAkJCQlCQzZDNDlGNDBEN0RC
QTA1MDBGRkE1NTggLyogSlNJbWFnZUNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
Nzc5NzkyOTBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuaCBpbiBIZWFkZXJzICovLAog
CQkJCTdBMEU3NzFGMTBDMDBEQjEwMEEwMjc2RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdC5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJMUM1RkFFRDIwRENGRDkwMTAwRDU4Rjc4IC8qIEpTSmF2YVNj
cmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg2NjI5RDMwOURBMkI0ODAwOTYz
M0E1IC8qIEpTS2V5Ym9hcmRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMDBENTkxODJE
QUM4RDAwMDg3REQ3IC8qIEtleWVkQ29kaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVGNDU0
MzBGN0MzQjVGMDBEN0MxRkIgLyogSlNMYXp5RXZlbnRMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNTE0NCw3ICsyNTExOSw2IEBACiAJCQkJNDE2RTc1QkUwRURGOEZENzAwMzYwRTFEIC8q
IFNjcmlwdENhbGxTdGFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjM5MjI0OUQxMjZGMTFBRTAw
QTkyNkQ5IC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTkz
QjcwRDcwMDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LywKLQkJCQk5RjZGQzE5NzExMjJFODJBMDBFODAxOTYgLyogU2NyaXB0RGVidWdTZXJ2ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTQ5OThBRUQyMTNGQjIyNEQwMDkwQjFBQSAvKiBTY3JpcHRlZEFu
aW1hdGlvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4QTQ4NDc4MEU1MjcyQzUw
MEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTFDOUQ5QjBF
QjM2ODEyMDBFNDA5REIgLyogU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNzMzMiw3ICsyNzMwNiw2IEBACiAJCQkJQjI3NTM1N0QwQjA1MzgxNDAwMkNFNjRGIC8q
IEludFJlY3RNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlCMjc1MzU2MjBCMDUzODE0MDAyQ0U2
NEYgLyogSW50U2l6ZUNHLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyNzUzNTdFMEIwNTM4MTQw
MDJDRTY0RiAvKiBJbnRTaXplTWFjLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUM4MUJBMDkwRTk3
MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDE4Rjg4MDQwRkY5NTdBRTAwODBGMDQ1IC8qIEpTQWJzdHJhY3RXb3JrZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMDczQkUzNEYxN0QxODE4MzAwMkJENDMxIC8qIFJUQ0ljZUNhbmRpZGF0
ZURlc2NyaXB0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE3MkFGNkQxODBGMjRDNjAwRkJB
REI5IC8qIENyeXB0b0FsZ29yaXRobS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI3NjE0LDEwICsy
NzU4Nyw4IEBACiAJCQkJQTdEMDMxOEUwRTkzNTQwMzAwRTI0QUNEIC8qIEpTSW1hZ2VEYXRhQ3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBMEU3NzFFMTBDMDBEQjEwMEEwMjc2RSAvKiBK
U0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTc0RUNCRDEw
MTgzOURBMDBCRjkzOUUgLyogSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJMUM1RkFFRDEwRENGRDkwMTAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENh
bGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzYzMDZFMDE3RTE2MDg5MDA1QTdDNEUg
LyogSlNTb3VyY2VJbmZvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REI3MTdEMTQxNTEw
MDdGRjg0MiAvKiBKU1JUQ0ljZUNhbmRpZGF0ZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CTFDNUZBRUU3MERDRkRBNjgwMEQ1OEY3OCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWVDdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg2NjI5RDQwOURBMkI0ODAwOTYzM0E1IC8qIEpTS2V5
Ym9hcmRFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzVGNDU0MjBGN0MzQjVGMDBEN0Mx
RkIgLyogSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0UxQzQz
QjBEOTgzMEQzMDAzQjAyRjIgLyogSlNMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4
NDYxLDcgKzI4NDMyLDYgQEAKIAkJCQlGMzkyMjQ5QzEyNkYxMUFFMDBBOTI2RDkgLyogU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0I3MEQ2RjA5RUIwQzdD
MDA5RDg0NjggLyogU2NyaXB0Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODNF
MUM3NDBFNDkwNDJDMDAxNDBCOUMgLyogU2NyaXB0Q29udHJvbGxlck1hYy5tbSBpbiBTb3VyY2Vz
ICovLAotCQkJCTlGNkZDMTk2MTEyMkU4MkEwMEU4MDE5NiAvKiBTY3JpcHREZWJ1Z1NlcnZlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTk4QUVEMTEzRkIyMjREMDA5MEIxQUEgLyogU2NyaXB0
ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA4QTQ4NDc3MEU1
MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUx
MUM5REIwMEVCMzY5OTUwMEU0MDlEQiAvKiBTY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcCBpbiBT
b3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5k
aW5nc0FsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NB
bGxJbk9uZS5jcHAKaW5kZXggN2JiMTk2OS4uMDQyOGU4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCkBAIC0yMCw3ICsyMCw3IEBA
CiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogICovCiAKIC8vIFRoaXMgYWxsLWluLW9uZSBjcHAgZmlsZSBjdXRz
IGRvd24gb24gdGVtcGxhdGUgYmxvYXQgdG8gYWxsb3cgdXMgdG8gYnVpbGQgb3VyIFdpbmRvd3Mg
cmVsZWFzZSBidWlsZC4KQEAgLTk1LDcgKzk1LDYgQEAKICNpbmNsdWRlICJKU0ltYWdlQ29uc3Ry
dWN0b3IuY3BwIgogI2luY2x1ZGUgIkpTSW1hZ2VEYXRhQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJK
U0luc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAiCi0jaW5jbHVkZSAiSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0xhenlFdmVudExpc3RlbmVyLmNwcCIK
ICNpbmNsdWRlICJKU0xvY2F0aW9uQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU01haW5UaHJlYWRF
eGVjU3RhdGUuY3BwIgpAQCAtMTQxLDEzICsxNDAsMTEgQEAKICNpbmNsdWRlICJKU1hNTEh0dHBS
ZXF1ZXN0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1hQYXRoUmVzdWx0Q3VzdG9tLmNwcCIKICNp
bmNsdWRlICJKU1hTTFRQcm9jZXNzb3JDdXN0b20uY3BwIgotI2luY2x1ZGUgIkphdmFTY3JpcHRD
YWxsRnJhbWUuY3BwIgogI2luY2x1ZGUgIlBhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAiCiAjaW5j
bHVkZSAiU2NoZWR1bGVkQWN0aW9uLmNwcCIKICNpbmNsdWRlICJTY3JpcHRDYWNoZWRGcmFtZURh
dGEuY3BwIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIgogI2luY2x1ZGUg
IlNjcmlwdENvbnRyb2xsZXIuY3BwIgotI2luY2x1ZGUgIlNjcmlwdERlYnVnU2VydmVyLmNwcCIK
ICNpbmNsdWRlICJTY3JpcHRQcm9maWxlci5jcHAiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuY3Bw
IgogI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcAppbmRleCAwNmI2
NjZkLi5jN2VlZmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9QYWdl
U2NyaXB0RGVidWdTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Bh
Z2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJQYWdl
R3JvdXAuaCIKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJv
bGxlci5oIgorI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAjaW5jbHVk
ZSA8cnVudGltZS9KU0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgpAQCAtMTkz
LDYgKzE5NCw4IEBAIHZvaWQgUGFnZVNjcmlwdERlYnVnU2VydmVyOjpydW5FdmVudExvb3BXaGls
ZVBhdXNlZCgpCiAgICAgICAgIFdlYlJ1bkxvb3BFbmFibGVOZXN0ZWQoKTsKICNlbmRpZgogCisg
ICAgVGltZXJCYXNlOjpmaXJlVGltZXJzSW5OZXN0ZWRFdmVudExvb3AoKTsKKwogICAgIEV2ZW50
TG9vcCBsb29wOwogICAgIHdoaWxlICghbV9kb25lUHJvY2Vzc2luZ0RlYnVnZ2VyRXZlbnRzICYm
ICFsb29wLmVuZGVkKCkpCiAgICAgICAgIGxvb3AuY3ljbGUoKTsKQEAgLTIwNCw2ICsyMDcsMTYg
QEAgdm9pZCBQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OnJ1bkV2ZW50TG9vcFdoaWxlUGF1c2VkKCkK
ICNlbmRpZgogfQogCitib29sIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6aXNDb250ZW50U2NyaXB0
KEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sKKyAgICByZXR1cm4gJmN1cnJlbnRXb3JsZChleGVj
KSAhPSAmbWFpblRocmVhZE5vcm1hbFdvcmxkKCk7Cit9CisKK3ZvaWQgUGFnZVNjcmlwdERlYnVn
U2VydmVyOjpyZXBvcnRFeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGV4Y2VwdGlv
bikgY29uc3QKK3sKKyAgICBXZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24oZXhlYywgZXhjZXB0aW9u
KTsKK30KKwogdm9pZCBQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OnNldEphdmFTY3JpcHRQYXVzZWQo
Y29uc3QgUGFnZUdyb3VwJiBwYWdlR3JvdXAsIGJvb2wgcGF1c2VkKQogewogICAgIHNldE1haW5U
aHJlYWRDYWxsYmFja3NQYXVzZWQocGF1c2VkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvUGFnZVNjcmlwdERlYnVnU2VydmVyLmgKaW5kZXggNDdhMTdkOS4uNDZiMmRkMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUGFnZVNjcmlwdERlYnVnU2Vy
dmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUGFnZVNjcmlwdERlYnVnU2Vy
dmVyLmgKQEAgLTMzLDcgKzMzLDcgQEAKIAogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VS
KQogCi0jaW5jbHVkZSAiU2NyaXB0RGVidWdTZXJ2ZXIuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
U2NyaXB0RGVidWdTZXJ2ZXIuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00Myw3ICs0Myw3IEBAIGNsYXNzIEZyYW1lVmlldzsKIGNsYXNzIFBh
Z2U7CiBjbGFzcyBQYWdlR3JvdXA7CiAKLWNsYXNzIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlciA6IHB1
YmxpYyBTY3JpcHREZWJ1Z1NlcnZlciB7CitjbGFzcyBQYWdlU2NyaXB0RGVidWdTZXJ2ZXIgOiBw
dWJsaWMgSW5zcGVjdG9yOjpTY3JpcHREZWJ1Z1NlcnZlciB7CiAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGFnZVNjcmlwdERlYnVnU2VydmVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFnZVNj
cmlwdERlYnVnU2VydmVyJiBzaGFyZWQoKTsKQEAgLTYyLDggKzYyLDEwIEBAIHByaXZhdGU6CiAg
ICAgdmlydHVhbCBMaXN0ZW5lclNldCogZ2V0TGlzdGVuZXJzRm9yR2xvYmFsT2JqZWN0KEpTQzo6
SlNHbG9iYWxPYmplY3QqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUGF1c2UoSlNDOjpKU0dsb2Jh
bE9iamVjdCopOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDb250aW51ZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0Kik7Ci0KICAgICB2aXJ0dWFsIHZvaWQgcnVuRXZlbnRMb29wV2hpbGVQYXVzZWQoKTsKKyAg
ICB2aXJ0dWFsIGJvb2wgaXNDb250ZW50U2NyaXB0KEpTQzo6RXhlY1N0YXRlKikgY29uc3Qgb3Zl
cnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHJlcG9ydEV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSos
IEpTQzo6SlNWYWx1ZSkgY29uc3Qgb3ZlcnJpZGU7CisKIAogICAgIHZvaWQgZGlkQWRkRmlyc3RM
aXN0ZW5lcihQYWdlKik7CiAgICAgdm9pZCBkaWRSZW1vdmVMYXN0TGlzdGVuZXIoUGFnZSosIGJv
b2wgc2tpcFJlY29tcGlsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9Xb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9Xb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5jcHAKaW5kZXggNTMxOWU0YS4uZGExZWIzYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RGVidWdTZXJ2
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdERlYnVn
U2VydmVyLmNwcApAQCAtMzQsNiArMzQsOCBAQAogCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVC
VUdHRVIpCiAKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJUaW1lci5oIgog
I2luY2x1ZGUgIldvcmtlckRlYnVnZ2VyQWdlbnQuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxT
Y29wZS5oIgogI2luY2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKQEAgLTkwLDYgKzkyLDggQEAgdm9p
ZCBXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlcjo6cmVjb21waWxlQWxsSlNGdW5jdGlvbnMoKQogCiB2
b2lkIFdvcmtlclNjcmlwdERlYnVnU2VydmVyOjpydW5FdmVudExvb3BXaGlsZVBhdXNlZCgpCiB7
CisgICAgVGltZXJCYXNlOjpmaXJlVGltZXJzSW5OZXN0ZWRFdmVudExvb3AoKTsKKwogICAgIE1l
c3NhZ2VRdWV1ZVdhaXRSZXN1bHQgcmVzdWx0OwogICAgIGRvIHsKICAgICAgICAgcmVzdWx0ID0g
bV93b3JrZXJHbG9iYWxTY29wZS0+dGhyZWFkKCktPnJ1bkxvb3AoKS5ydW5Jbk1vZGUobV93b3Jr
ZXJHbG9iYWxTY29wZSwgbV9kZWJ1Z2dlclRhc2tNb2RlKTsKQEAgLTk3LDYgKzEwMSwxMSBAQCB2
b2lkIFdvcmtlclNjcmlwdERlYnVnU2VydmVyOjpydW5FdmVudExvb3BXaGlsZVBhdXNlZCgpCiAg
ICAgfSB3aGlsZSAocmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQgJiYgIW1fZG9uZVBy
b2Nlc3NpbmdEZWJ1Z2dlckV2ZW50cyk7CiB9CiAKK3ZvaWQgV29ya2VyU2NyaXB0RGVidWdTZXJ2
ZXI6OnJlcG9ydEV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNDOjpKU1ZhbHVlIGV4
Y2VwdGlvbikgY29uc3QKK3sKKyAgICBXZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24oZXhlYywgZXhj
ZXB0aW9uKTsKK30KKwogdm9pZCBXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlcjo6aW50ZXJydXB0QW5k
UnVuVGFzayhQYXNzT3duUHRyPFNjcmlwdERlYnVnU2VydmVyOjpUYXNrPikKIHsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdERlYnVnU2VydmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5o
CmluZGV4IDY0ZGQyMmUuLmI1YzYxNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMzMsMTMgKzMzLDEzIEBACiAK
ICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKIAotI2luY2x1ZGUgIlNjcmlwdERlYnVn
U2VydmVyLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiAKLWNsYXNzIFdv
cmtlclNjcmlwdERlYnVnU2VydmVyIGZpbmFsIDogcHVibGljIFNjcmlwdERlYnVnU2VydmVyIHsK
K2NsYXNzIFdvcmtlclNjcmlwdERlYnVnU2VydmVyIGZpbmFsIDogcHVibGljIEluc3BlY3Rvcjo6
U2NyaXB0RGVidWdTZXJ2ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlclNjcmlw
dERlYnVnU2VydmVyKTsKIHB1YmxpYzoKICAgICBXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlcihXb3Jr
ZXJHbG9iYWxTY29wZSosIGNvbnN0IFN0cmluZyYpOwpAQCAtNTcsNiArNTcsOCBAQCBwcml2YXRl
OgogICAgIHZpcnR1YWwgdm9pZCBkaWRQYXVzZShKU0M6OkpTR2xvYmFsT2JqZWN0Kikgb3ZlcnJp
ZGUgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZENvbnRpbnVlKEpTQzo6SlNHbG9iYWxPYmplY3Qq
KSBvdmVycmlkZSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcnVuRXZlbnRMb29wV2hpbGVQYXVzZWQo
KSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNDb250ZW50U2NyaXB0KEpTQzo6RXhlY1N0
YXRlKikgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
cmVwb3J0RXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKSBjb25zdCBvdmVy
cmlkZTsKIAogICAgIFdvcmtlckdsb2JhbFNjb3BlKiBtX3dvcmtlckdsb2JhbFNjb3BlOwogICAg
IExpc3RlbmVyU2V0IG1fbGlzdGVuZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IDNiMmFlMDYuLmIzMTdiZGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5jcHAKQEAgLTM1LDEzICszNSwxNSBAQAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0Fn
ZW50cy5oIgotI2luY2x1ZGUgIlNjcmlwdERlYnVnU2VydmVyLmgiCisjaW5jbHVkZSAiU2NyaXB0
QXJndW1lbnRzLmgiCisjaW5jbHVkZSAiU291bmQuaCIKICNpbmNsdWRlIDxiaW5kaW5ncy9TY3Jp
cHRPYmplY3QuaD4KICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5oPgogI2luY2x1ZGUg
PGluc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KKyNpbmNsdWRl
IDxpbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KICNpbmNsdWRlIDx5YXJyL1JlZ3VsYXJFeHByZXNzaW9uLmg+CiAKQEAgLTY5MCw2
ICs2OTIsMTIgQEAgdm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpkaWRTYW1wbGVQcm9iZShK
U0M6OkV4ZWNTdGF0ZSogc2NyaXB0U3RhdGUsIGludCBwcm8KICAgICBtX2Zyb250ZW5kRGlzcGF0
Y2hlci0+ZGlkU2FtcGxlUHJvYmUocmVzdWx0LnJlbGVhc2UoKSk7CiB9CiAKK3ZvaWQgSW5zcGVj
dG9yRGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvblNvdW5kKCkKK3sKKyAgICAvLyBGSVhN
RTogV2Ugc2hvdWxkIHNlbmQgYSBtZXNzYWdlIHRvIHRoZSBmcm9udGVuZCB0byBtYWtlIHRoZSBm
cm9udGVuZCBiZWVwLgorICAgIHN5c3RlbUJlZXAoKTsKK30KKwogdm9pZCBJbnNwZWN0b3JEZWJ1
Z2dlckFnZW50OjpkaWRDb250aW51ZSgpCiB7CiAgICAgbV9wYXVzZWRTY3JpcHRTdGF0ZSA9IG51
bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuaAppbmRleCBkYmVmNTZjLi44ZmU2MTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTU0LDEyICs1NCwxMiBAQCBj
bGFzcyBJbmplY3RlZFNjcmlwdE1hbmFnZXI7CiBjbGFzcyBJbnNwZWN0b3JBcnJheTsKIGNsYXNz
IEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3BlY3RvclZhbHVlOworY2xhc3MgU2NyaXB0RGVi
dWdTZXJ2ZXI7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSW5zdHJ1bWVudGlu
Z0FnZW50czsKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyOwogCiB0eXBlZGVmIFN0cmluZyBFcnJv
clN0cmluZzsKIApAQCAtMTIyLDcgKzEyMiw3IEBAIHB1YmxpYzoKICAgICB9OwogICAgIHZvaWQg
c2V0TGlzdGVuZXIoTGlzdGVuZXIqIGxpc3RlbmVyKSB7IG1fbGlzdGVuZXIgPSBsaXN0ZW5lcjsg
fQogCi0gICAgdmlydHVhbCBTY3JpcHREZWJ1Z1NlcnZlciYgc2NyaXB0RGVidWdTZXJ2ZXIoKSA9
IDA7CisgICAgdmlydHVhbCBJbnNwZWN0b3I6OlNjcmlwdERlYnVnU2VydmVyJiBzY3JpcHREZWJ1
Z1NlcnZlcigpID0gMDsKIAogcHJvdGVjdGVkOgogICAgIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQo
SW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7
CkBAIC0xNDYsNiArMTQ2LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGlkUGFyc2VT
b3VyY2UoSlNDOjpTb3VyY2VJRCwgY29uc3QgU2NyaXB0Jikgb3ZlcnJpZGUgZmluYWw7CiAgICAg
dmlydHVhbCB2b2lkIGZhaWxlZFRvUGFyc2VTb3VyY2UoY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0
IFN0cmluZyYgZGF0YSwgaW50IGZpcnN0TGluZSwgaW50IGVycm9yTGluZSwgY29uc3QgU3RyaW5n
JiBlcnJvck1lc3NhZ2UpIG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwgdm9pZCBkaWRTYW1w
bGVQcm9iZShKU0M6OkV4ZWNTdGF0ZSosIGludCBwcm9iZUlkZW50aWZpZXIsIGludCBoaXRDb3Vu
dCwgY29uc3QgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUmIHNhbXBsZSkgb3ZlcnJpZGUgZmluYWw7
CisgICAgdmlydHVhbCB2b2lkIGJyZWFrcG9pbnRBY3Rpb25Tb3VuZCgpIG92ZXJyaWRlIGZpbmFs
OwogCiAgICAgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpEZWJ1Z2dlcjo6TG9j
YXRpb24+IHJlc29sdmVCcmVha3BvaW50KGNvbnN0IFN0cmluZyYgYnJlYWtwb2ludElkZW50aWZp
ZXIsIEpTQzo6U291cmNlSUQsIGNvbnN0IEluc3BlY3Rvcjo6U2NyaXB0QnJlYWtwb2ludCYpOwog
ICAgIGJvb2wgYXNzZXJ0UGF1c2VkKEVycm9yU3RyaW5nKik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCmluZGV4IGEyYTM0ZmUuLjI4
NjU3ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50
aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50
aW1lQWdlbnQuY3BwCkBAIC00NSw3ICs0NSw3IEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KIAogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQotI2luY2x1ZGUgIlNjcmlwdERl
YnVnU2VydmVyLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmg+CiAj
ZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaAppbmRleCBjODQwZTMxLi5lMTU4NjViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oCkBA
IC00NiwxMiArNDYsMTIgQEAgY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwogY2xhc3MgSW5z
cGVjdG9yQXJyYXk7CiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBJbnNwZWN0b3JWYWx1
ZTsKK2NsYXNzIFNjcmlwdERlYnVnU2VydmVyOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7Ci1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlcjsKIGNs
YXNzIFdvcmtlckdsb2JhbFNjb3BlOwogCiB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKQEAg
LTkwLDcgKzkwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBydW4oRXJyb3JTdHJpbmcq
KSBvdmVycmlkZTsKIAogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQotICAgIHZvaWQg
c2V0U2NyaXB0RGVidWdTZXJ2ZXIoU2NyaXB0RGVidWdTZXJ2ZXIqKTsKKyAgICB2b2lkIHNldFNj
cmlwdERlYnVnU2VydmVyKEluc3BlY3Rvcjo6U2NyaXB0RGVidWdTZXJ2ZXIqKTsKICNlbmRpZgog
CiBwcm90ZWN0ZWQ6CkBAIC0xMDYsNyArMTA2LDcgQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAg
ICBJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlwdE1hbmFn
ZXI7CiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCi0gICAgU2NyaXB0RGVidWdTZXJ2
ZXIqIG1fc2NyaXB0RGVidWdTZXJ2ZXI7CisgICAgSW5zcGVjdG9yOjpTY3JpcHREZWJ1Z1NlcnZl
ciogbV9zY3JpcHREZWJ1Z1NlcnZlcjsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3YjQ4OTRhLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgTm9J
bnRlcmZhY2VPYmplY3QsCi0gICAgQ29uZGl0aW9uYWw9SkFWQVNDUklQVF9ERUJVR0dFUiwKLSAg
ICBEb05vdENoZWNrQ29uc3RhbnRzLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0g
aW50ZXJmYWNlIEphdmFTY3JpcHRDYWxsRnJhbWUgewotCi0gICAgLy8gU2NvcGUgdHlwZQotICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IEdMT0JBTF9TQ09QRSA9IDA7Ci0gICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgTE9DQUxfU0NPUEUgPSAxOwotICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFdJVEhf
U0NPUEUgPSAyOwotICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENMT1NVUkVfU0NPUEUgPSAzOwot
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENBVENIX1NDT1BFID0gNDsKLQotICAgIFtDdXN0b21d
IHZvaWQgZXZhbHVhdGUoRE9NU3RyaW5nIHNjcmlwdCk7Ci0gICAgCi0gICAgcmVhZG9ubHkgYXR0
cmlidXRlIEphdmFTY3JpcHRDYWxsRnJhbWUgY2FsbGVyOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBsb25nIHNvdXJjZUlEOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGxpbmU7Ci0gICAg
cmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgY29sdW1uOwotICAgIFtDdXN0b21HZXR0ZXJdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBBcnJheSBzY29wZUNoYWluOwotICAgIFtDdXN0b21dIHVuc2lnbmVkIHNo
b3J0IHNjb3BlVHlwZShpbnQgc2NvcGVJbmRleCk7Ci0gICAgW0N1c3RvbUdldHRlcl0gcmVhZG9u
bHkgYXR0cmlidXRlIE9iamVjdCB0aGlzT2JqZWN0OwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgZnVuY3Rpb25OYW1lOwotICAgIFtDdXN0b21HZXR0ZXJdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01TdHJpbmcgdHlwZTsKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Bh
Z2VEZWJ1Z2dlckFnZW50LmNwcAppbmRleCA1YTczNWU0Li5kMDE1ODVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHAKQEAgLTk2LDYgKzk2LDEx
IEBAIHZvaWQgUGFnZURlYnVnZ2VyQWdlbnQ6OnVubXV0ZUNvbnNvbGUoKQogICAgIFBhZ2VDb25z
b2xlOjp1bm11dGUoKTsKIH0KIAordm9pZCBQYWdlRGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFj
dGlvbkxvZyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKK3sKKyAgICBt
X3BhZ2VBZ2VudC0+cGFnZSgpLT5jb25zb2xlKCkuYWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IExvZ01lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7Cit9CisKIEluamVjdGVkU2NyaXB0IFBhZ2VEZWJ1
Z2dlckFnZW50OjppbmplY3RlZFNjcmlwdEZvckV2YWwoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5n
LCBjb25zdCBpbnQqIGV4ZWN1dGlvbkNvbnRleHRJZCkKIHsKICAgICBpZiAoIWV4ZWN1dGlvbkNv
bnRleHRJZCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1
Z2dlckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQu
aAppbmRleCA0ZGQxNzMzLi5iYmFmM2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
UGFnZURlYnVnZ2VyQWdlbnQuaApAQCAtNDMsNyArNDMsNyBAQCBjbGFzcyBJbnNwZWN0b3JQYWdl
QWdlbnQ7CiBjbGFzcyBQYWdlOwogY2xhc3MgUGFnZVNjcmlwdERlYnVnU2VydmVyOwogCi1jbGFz
cyBQYWdlRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IHsKK2Ns
YXNzIFBhZ2VEZWJ1Z2dlckFnZW50IGZpbmFsIDogcHVibGljIEluc3BlY3RvckRlYnVnZ2VyQWdl
bnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VEZWJ1Z2dlckFnZW50KTsKICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAgLTYzLDYgKzYzLDggQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIHZvaWQgbXV0ZUNvbnNvbGUoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFs
IHZvaWQgdW5tdXRlQ29uc29sZSgpIG92ZXJyaWRlOwogCisgICAgdmlydHVhbCB2b2lkIGJyZWFr
cG9pbnRBY3Rpb25Mb2coSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsK
KwogICAgIHZpcnR1YWwgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdCBpbmplY3RlZFNjcmlwdEZv
ckV2YWwoRXJyb3JTdHJpbmcqLCBjb25zdCBpbnQqIGV4ZWN1dGlvbkNvbnRleHRJZCkgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCB2b2lkIHNldE92ZXJsYXlNZXNzYWdlKEVycm9yU3RyaW5nKiwgY29u
c3QgU3RyaW5nKikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9X
b3JrZXJEZWJ1Z2dlckFnZW50LmNwcAppbmRleCBmOTQ4ZDg0Li5mNGM0Y2YwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwCkBAIC0zMywx
MSArMzMsMTEgQEAKIAogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKSAmJiBFTkFCTEUo
SU5TUEVDVE9SKQogCi0jaW5jbHVkZSAiU2NyaXB0RGVidWdTZXJ2ZXIuaCIKICNpbmNsdWRlICJX
b3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUg
PGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIu
aD4KICNpbmNsdWRlIDxtdXRleD4KICNpbmNsdWRlIDx3dGYvTWVzc2FnZVF1ZXVlLmg+CiAjaW5j
bHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CkBAIC0xMjcsNiArMTI3LDExIEBAIHZvaWQgV29y
a2VyRGVidWdnZXJBZ2VudDo6c3RvcExpc3RlbmluZ1NjcmlwdERlYnVnU2VydmVyKGJvb2wgaXNC
ZWluZ0Rlc3Ryb3llZCkKICAgICBzY3JpcHREZWJ1Z1NlcnZlcigpLnJlbW92ZUxpc3RlbmVyKHRo
aXMsIGlzQmVpbmdEZXN0cm95ZWQpOwogfQogCit2b2lkIFdvcmtlckRlYnVnZ2VyQWdlbnQ6OmJy
ZWFrcG9pbnRBY3Rpb25Mb2coSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Up
Cit7CisgICAgbV9pbnNwZWN0ZWRXb3JrZXJHbG9iYWxTY29wZS0+YWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworfQorCiBXb3JrZXJT
Y3JpcHREZWJ1Z1NlcnZlciYgV29ya2VyRGVidWdnZXJBZ2VudDo6c2NyaXB0RGVidWdTZXJ2ZXIo
KQogewogICAgIHJldHVybiBtX3NjcmlwdERlYnVnU2VydmVyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmgKaW5kZXggOGEwMzJiMi4uMDhiMDMyYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5oCkBA
IC00MCw3ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFdvcmtlckdsb2JhbFNj
b3BlOwogY2xhc3MgV29ya2VyVGhyZWFkOwogCi1jbGFzcyBXb3JrZXJEZWJ1Z2dlckFnZW50IDog
cHVibGljIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgeworY2xhc3MgV29ya2VyRGVidWdnZXJBZ2Vu
dCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShXb3JrZXJEZWJ1Z2dlckFnZW50KTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKQEAgLTU3LDYgKzU3LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBtdXRlQ29uc29sZSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB1bm11dGVDb25zb2xl
KCkgb3ZlcnJpZGU7CiAKKyAgICB2aXJ0dWFsIHZvaWQgYnJlYWtwb2ludEFjdGlvbkxvZyhKU0M6
OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOworCiBwcml2YXRlOgogICAgIFdv
cmtlclNjcmlwdERlYnVnU2VydmVyIG1fc2NyaXB0RGVidWdTZXJ2ZXI7CiAgICAgV29ya2VyR2xv
YmFsU2NvcGUqIG1faW5zcGVjdGVkV29ya2VyR2xvYmFsU2NvcGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggNTk3MTIyYy4uNTgxOTk2NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMTMzLDYgKzEzMyw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFsIFNlY3VyaXR5T3JpZ2lu
KiB0b3BPcmlnaW4oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3RvcE9yaWdpbi5nZXQoKTsg
fQogCisgICAgICAgIHZpcnR1YWwgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
LCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1
ZXN0SWRlbnRpZmllciA9IDApIG92ZXJyaWRlOworCiAgICAgcHJvdGVjdGVkOgogICAgICAgICBX
b3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgc3Rk
Ojp1bmlxdWVfcHRyPEdyb3VwU2V0dGluZ3M+LCBXb3JrZXJUaHJlYWQqLCBQYXNzUmVmUHRyPFNl
Y3VyaXR5T3JpZ2luPiB0b3BPcmlnaW4pOwogICAgICAgICB2b2lkIGFwcGx5Q29udGVudFNlY3Vy
aXR5UG9saWN5RnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwg
Q29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlKTsKQEAgLTE0OCw3ICsxNTAsNiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0
KCkgb3ZlcnJpZGUgZmluYWwgeyBkZXJlZigpOyB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGFk
ZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25l
ZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgSlNDOjpFeGVjU3Rh
dGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApIG92ZXJyaWRlOwot
ICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElk
ZW50aWZpZXIgPSAwKSBvdmVycmlkZTsKIAogICAgICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0KiBl
cnJvckV2ZW50VGFyZ2V0KCkgb3ZlcnJpZGU7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222185</attachid>
            <date>2014-01-24 19:23:42 -0800</date>
            <delta_ts>2014-01-24 19:23:42 -0800</delta_ts>
            <desc>[PATCH] For Bots 2</desc>
            <filename>forbots2.patch</filename>
            <type>text/plain</type>
            <size>119775</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA5YTFjNjk5Li4xYTNkMzY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMzcsNiArMjM3LDEwIEBAIHNl
dChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5j
cHAKICAgICBpbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3BwCiAgICAgaW5zcGVjdG9y
L0pTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmNwcAorICAgIGluc3BlY3Rvci9KU0phdmFT
Y3JpcHRDYWxsRnJhbWUuY3BwCisgICAgaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVBy
b3RvdHlwZS5jcHAKKyAgICBpbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAKKyAgICBp
bnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCiAgICAgaW5zcGVjdG9yL2FnZW50cy9JbnNw
ZWN0b3JBZ2VudC5jcHAKIAogICAgIGludGVycHJldGVyL0Fic3RyYWN0UEMuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwppbmRleCA3MzMwZWM2Li4yZTM4N2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw5MyBAQAorMjAxNC0wMS0yMyAgSm9zZXBoIFBlY29yYXJvICA8cGVj
b3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgSmF2YVNjcmlwdENhbGxGcmFtZSBhbmQg
U2NyaXB0RGVidWdTZXJ2ZXIgaW50byBKYXZhU2NyaXB0Q29yZSBmb3IgaW5zcGVjdG9yCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc1NDMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogSmF2YVNjcmlw
dENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgorICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIEFkZCBuZXcgZmlsZXMu
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0RGVidWdMaXN0ZW5lci5oOgorICAgICAgICBF
eHRyYWN0IFdlYkNvcmUga25vd2xlZGdlIGZyb20gU2NyaXB0RGVidWdTZXJ2ZXIuIFRoaXMgd2ls
bAorICAgICAgICBldmVudHVhbGx5IGJlIG1hZGUgdG8gd29yayBvdXRzaWRlIG9mIFdlYkNvcmUu
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmguCisgICAgICAg
ICogaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmNwcC4KKyAgICAgICAgKEluc3Bl
Y3Rvcjo6U2NyaXB0RGVidWdTZXJ2ZXI6OmV2YWx1YXRlQnJlYWtwb2ludEFjdGlvbik6CisgICAg
ICAgIChJbnNwZWN0b3I6OlNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaERpZFBhdXNlKToKKyAg
ICAgICAgKEluc3BlY3Rvcjo6U2NyaXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNoQnJlYWtwb2ludEFj
dGlvbkxvZyk6CisgICAgICAgIChJbnNwZWN0b3I6OlNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRj
aEJyZWFrcG9pbnRBY3Rpb25Tb3VuZCk6CisgICAgICAgIChJbnNwZWN0b3I6OlNjcmlwdERlYnVn
U2VydmVyOjpzb3VyY2VQYXJzZWQpOgorICAgICAgICAoSW5zcGVjdG9yOjpTY3JpcHREZWJ1Z1Nl
cnZlcjo6ZGlzcGF0Y2hGdW5jdGlvblRvTGlzdGVuZXJzKToKKyAgICAgICAgKEluc3BlY3Rvcjo6
U2NyaXB0RGVidWdTZXJ2ZXI6OmhhbmRsZVBhdXNlKToKKyAgICAgICAgTW9kZXJuaXplIGNvZGUs
IGFuZCBjYWxsIHRoZSBuZXcgU2NyaXB0RGVidWdMaXN0ZW5lciBjYWxsYmFja3Mgd2hlcmUgYXBw
cm9wcmlhdGUuCisKKzIwMTQtMDEtMjMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxl
LmNvbT4KKworICAgICAgICBNb3ZlIEphdmFTY3JpcHRDYWxsRnJhbWUgYW5kIFNjcmlwdERlYnVn
U2VydmVyIGludG8gSmF2YVNjcmlwdENvcmUgZm9yIGluc3BlY3RvcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NTQzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHBy
b2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgbmV3IGZpbGVzIHRvIHRoZSBidWls
ZC4KKworICAgICAgICAqIGluc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwOiBSZW5h
bWVkIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNKYXZhU2NyaXB0Q2FsbEZyYW1l
Q3VzdG9tLmNwcC4KKyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpK
U0phdmFTY3JpcHRDYWxsRnJhbWUpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0phdmFTY3JpcHRD
YWxsRnJhbWU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lOjpjcmVhdGVQcm90b3R5cGUpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0ph
dmFTY3JpcHRDYWxsRnJhbWU6OmRlc3Ryb3kpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0phdmFT
Y3JpcHRDYWxsRnJhbWU6OnJlbGVhc2VJbXBsKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZh
U2NyaXB0Q2FsbEZyYW1lOjp+SlNKYXZhU2NyaXB0Q2FsbEZyYW1lKToKKyAgICAgICAgKEluc3Bl
Y3Rvcjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpldmFsdWF0ZSk6CisgICAgICAgIChJbnNwZWN0
b3I6OkpTSmF2YVNjcmlwdENhbGxGcmFtZTo6c2NvcGVUeXBlKToKKyAgICAgICAgKEluc3BlY3Rv
cjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpjYWxsZXIpOgorICAgICAgICAoSW5zcGVjdG9yOjpK
U0phdmFTY3JpcHRDYWxsRnJhbWU6OnNvdXJjZUlEKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNK
YXZhU2NyaXB0Q2FsbEZyYW1lOjpsaW5lKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lOjpjb2x1bW4pOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0phdmFTY3JpcHRD
YWxsRnJhbWU6OmZ1bmN0aW9uTmFtZSk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTSmF2YVNjcmlw
dENhbGxGcmFtZTo6c2NvcGVDaGFpbik6CisgICAgICAgIChJbnNwZWN0b3I6OkpTSmF2YVNjcmlw
dENhbGxGcmFtZTo6dGhpc09iamVjdCk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTSmF2YVNjcmlw
dENhbGxGcmFtZTo6dHlwZSk6CisgICAgICAgIChJbnNwZWN0b3I6OnRvSlMpOgorICAgICAgICAo
SW5zcGVjdG9yOjp0b0pTSmF2YVNjcmlwdENhbGxGcmFtZSk6CisgICAgICAgICogaW5zcGVjdG9y
L0pTSmF2YVNjcmlwdENhbGxGcmFtZS5oOiBBZGRlZC4KKyAgICAgICAgKEluc3BlY3Rvcjo6SlNK
YXZhU2NyaXB0Q2FsbEZyYW1lOjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAoSW5zcGVjdG9y
OjpKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmNyZWF0ZSk6CisgICAgICAgIChJbnNwZWN0b3I6OkpT
SmF2YVNjcmlwdENhbGxGcmFtZTo6aW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0pTSmF2YVNj
cmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHA6IEFkZGVkLgorICAgICAgICAoSW5zcGVjdG9yOjpK
U0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAg
KEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlRnVuY3Rpb25FdmFsdWF0
ZSk6CisgICAgICAgIChJbnNwZWN0b3I6OmpzSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZUZ1
bmN0aW9uU2NvcGVUeXBlKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZy
YW1lQXR0cmlidXRlQ2FsbGVyKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2Fs
bEZyYW1lQXR0cmlidXRlU291cmNlSUQpOgorICAgICAgICAoSW5zcGVjdG9yOjpqc0phdmFTY3Jp
cHRDYWxsRnJhbWVBdHRyaWJ1dGVMaW5lKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2Ny
aXB0Q2FsbEZyYW1lQXR0cmlidXRlQ29sdW1uKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZh
U2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlRnVuY3Rpb25OYW1lKToKKyAgICAgICAgKEluc3BlY3Rv
cjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlU2NvcGVDaGFpbik6CisgICAgICAgIChJ
bnNwZWN0b3I6OmpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZVRoaXNPYmplY3QpOgorICAg
ICAgICAoSW5zcGVjdG9yOjpqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVUeXBlKToKKyAg
ICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRHTE9CQUxfU0NP
UEUpOgorICAgICAgICAoSW5zcGVjdG9yOjpqc0phdmFTY3JpcHRDYWxsRnJhbWVDb25zdGFudExP
Q0FMX1NDT1BFKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29u
c3RhbnRXSVRIX1NDT1BFKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2NyaXB0Q2FsbEZy
YW1lQ29uc3RhbnRDTE9TVVJFX1NDT1BFKToKKyAgICAgICAgKEluc3BlY3Rvcjo6anNKYXZhU2Ny
aXB0Q2FsbEZyYW1lQ29uc3RhbnRDQVRDSF9TQ09QRSk6CisgICAgICAgICogaW5zcGVjdG9yL0pT
SmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oOiBBZGRlZC4KKyAgICAgICAgKEluc3BlY3Rv
cjo6SlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlOjpjcmVhdGUpOgorICAgICAgICAoSW5z
cGVjdG9yOjpKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZSk6
CisgICAgICAgIChJbnNwZWN0b3I6OkpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZTo6SlNK
YXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSmF2YVNj
cmlwdENhbGxGcmFtZS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcC4KKyAgICAgICAgKEluc3BlY3Rvcjo6SmF2YVNjcmlw
dENhbGxGcmFtZTo6Y2FsbGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxG
cmFtZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSmF2YVNjcmlw
dENhbGxGcmFtZS5oLgorICAgICAgICBQb3J0IG9mIEphdmFTY3JpcHRDYWxsRnJhbWUuaWRsIHRv
IGEgc2V0IG9mIG5hdGl2ZSBKUyBjbGFzc2VzLgorCiAyMDE0LTAxLTI0ICBCcmVudCBGdWxnaGFt
ICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dIENvbnZlcnQgc29tZSBOTWFr
ZSBmaWxlcyB0byBNU0J1aWxkIHByb2plY3QgZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYTYxMjVkYS4uYzQxNDNkNiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTY1Myw4ICs2NTMsMTYgQEAgamF2YXNj
cmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9K
U0luamVjdGVkU2NyaXB0SG9zdC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5oIFwKKwlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgXAorCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggXAor
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJv
dG90eXBlLmNwcCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3Jp
cHRDYWxsRnJhbWVQcm90b3R5cGUuaCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvU2NyaXB0QnJlYWtwb2ludC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL1NjcmlwdERlYnVnTGlzdGVuZXIuaCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5jcHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvQWJzdHJhY3RQQy5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRD
b3JlLnZjeHByb2oKaW5kZXggYmFmZThiMy4uN2YwMmNmMCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJv
agorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qCkBAIC00ODYsNiArNDg2LDEwIEBACiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yVmFsdWVzLmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKU0luamVjdGVkU2NyaXB0SG9zdC5jcHAiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSlNJbmplY3RlZFNjcmlwdEhvc3RQ
cm90b3R5cGUuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEpT
SmF2YVNjcmlwdENhbGxGcmFtZS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmNwcCIgLz4KKyAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCIgLz4K
KyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHREZWJ1Z1NlcnZlci5j
cHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcYWdlbnRzXEluc3Bl
Y3RvckFnZW50LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGludGVycHJldGVy
XEFic3RyYWN0UEMuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW50ZXJwcmV0
ZXJcQ2FsbEZyYW1lLmNwcCIgLz4KQEAgLTEwNTcsOCArMTA2MSwxMiBAQAogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvclZhbHVlcy5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEpTSW5qZWN0ZWRTY3JpcHRIb3N0LmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSlNJbmplY3RlZFNjcmlwdEhvc3RQ
cm90b3R5cGUuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKU0ph
dmFTY3JpcHRDYWxsRnJhbWUuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCIgLz4KKyAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKYXZhU2NyaXB0Q2FsbEZyYW1lLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QnJlYWtwb2ludC5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdERlYnVnTGlzdGVuZXIuaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHREZWJ1Z1NlcnZl
ci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNw
ZWN0b3JBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW50ZXJwcmV0ZXJc
QWJzdHJhY3RQQy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW50ZXJwcmV0ZXJc
Q2FjaGVkQ2FsbC5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiYjFjZTk2
Li4xYzdkYmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTAwLDggKzkwMCwx
NiBAQAogCQlBMTcxMkI0MTExQzdCMjM1MDA3QTUzMTUgLyogUmVnRXhwS2V5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTcxMkI0MDExQzdCMjM1MDA3
QTUzMTUgLyogUmVnRXhwS2V5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQTFBMDA5QzAxODMxQTIyRDAwQ0Y4NzExIC8qIE1hY3JvQXNzZW1ibGVy
QVJNNjQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
NDA5MjNDMTU2RUVEM0IwMDU2NkNCMiAvKiBNYWNyb0Fzc2VtYmxlckFSTTY0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTFBMDA5QzExODMxQTI2
RTAwQ0Y4NzExIC8qIEFSTTY0QXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NjQwOTIzQjE1NkVFRDNCMDA1NjZDQjIgLyogQVJNNjRBc3Nl
bWJsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlBNTAzRkExOTE4OEUwRkIwMDAxMTBGMTQgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTAzRkExMzE4OEUw
RkFGMDAxMTBGMTQgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgKi87IH07CisJCUE1MDNGQTFB
MTg4RTBGQjAwMDExMEYxNCAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTAzRkExNDE4OEUwRkFGMDAxMTBGMTQg
LyogSmF2YVNjcmlwdENhbGxGcmFtZS5oICovOyB9OworCQlBNTAzRkExQjE4OEUwRkIwMDAxMTBG
MTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MDNGQTE1MTg4RTBGQjAwMDExMEYxNCAvKiBKU0phdmFT
Y3JpcHRDYWxsRnJhbWUuY3BwICovOyB9OworCQlBNTAzRkExQzE4OEUwRkIwMDAxMTBGMTQgLyog
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNTAzRkExNjE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lLmggKi87IH07CisJCUE1MDNGQTFEMTg4RTBGQjAwMDExMEYxNCAvKiBKU0phdmFTY3Jp
cHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTUwM0ZBMTcxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENh
bGxGcmFtZVByb3RvdHlwZS5jcHAgKi87IH07CisJCUE1MDNGQTFFMTg4RTBGQjAwMDExMEYxNCAv
KiBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MDNGQTE4MTg4RTBGQjAwMDExMEYxNCAvKiBKU0ph
dmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCAqLzsgfTsKIAkJQTUwM0ZBMjExODhFRkY2ODAw
MTEwRjE0IC8qIFNjcmlwdEJyZWFrcG9pbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1MDNGQTFGMTg4RUZGNjgwMDExMEYxNCAvKiBTY3JpcHRCcmVh
a3BvaW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQTUwM0ZBMjIxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdERlYnVnTGlzdGVuZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MDNGQTIwMTg4RUZG
NjgwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z0xpc3RlbmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTUwM0ZBMjUxODhFRkZGRDAwMTEwRjE0IC8q
IFNjcmlwdERlYnVnU2VydmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1MDNGQTIzMTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z1NlcnZl
ci5jcHAgKi87IH07CisJCUE1MDNGQTI2MTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z1Nl
cnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUw
M0ZBMjQxODhFRkZGRDAwMTEwRjE0IC8qIFNjcmlwdERlYnVnU2VydmVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTUxMDA3QzAxODdDQzNDNjAw
QjM4ODc5IC8qIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTEwMDdCRTE4N0NDM0M2MDBC
Mzg4NzkgLyogSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcCAqLzsgfTsKIAkJ
QTUxMDA3QzExODdDQzNDNjAwQjM4ODc5IC8qIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJv
bGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUx
MDA3QkYxODdDQzNDNjAwQjM4ODc5IC8qIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxl
ci5oICovOyB9OwogCQlBNTEzRTVCNzE4NUI4QkQzMDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUxM0U1
QjUxODVCOEJEMzAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0LmNwcCAqLzsgfTsKQEAgLTIyOTAs
OCArMjI5OCwxNiBAQAogCQlBMTcxMkIzQTExQzdCMjEyMDA3QTUzMTUgLyogUmVnRXhwQ2FjaGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVnRXhwQ2FjaGUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTcxMkIzRTExQzdCMjI4MDA3QTUzMTUg
LyogUmVnRXhwQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVnRXhw
Q2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE3MTJCNDAxMUM3QjIzNTAw
N0E1MzE1IC8qIFJlZ0V4cEtleS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZWdFeHBLZXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUwM0ZBMTMxODhFMEZB
RjAwMTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSmF2YVNjcmlwdENhbGxGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUE1MDNGQTE0MTg4RTBGQUYwMDExMEYxNCAvKiBKYXZhU2NyaXB0Q2Fs
bEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEphdmFTY3JpcHRDYWxs
RnJhbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTUwM0ZBMTUxODhFMEZCMDAw
MTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBNTAzRkExNjE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSmF2YVNjcmlw
dENhbGxGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTAzRkExNzE4OEUw
RkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3Rv
dHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1MDNGQTE4MTg4RTBGQjAw
MDExMEYxNCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1MDNGQTFGMTg4RUZGNjgwMDExMEYxNCAvKiBT
Y3JpcHRCcmVha3BvaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlw
dEJyZWFrcG9pbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTUwM0ZBMjAxODhF
RkY2ODAwMTEwRjE0IC8qIFNjcmlwdERlYnVnTGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU2NyaXB0RGVidWdMaXN0ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBNTAzRkEyMzE4OEVGRkZEMDAxMTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0RGVidWdTZXJ2
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTAzRkEyNDE4OEVGRkZEMDAx
MTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU2NyaXB0RGVidWdTZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTUxMDA3QkUxODdDQzNDNjAwQjM4ODc5IC8qIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJv
bGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dsb2JhbE9i
amVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBNTEwMDdCRjE4N0NDM0M2MDBCMzg4NzkgLyogSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250
cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0
SW5zcGVjdG9yQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNTEz
RTVCNTE4NUI4QkQzMDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5qZWN0ZWRTY3JpcHQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNDQwOSw4ICs0NDI1LDE2IEBACiAJCQkJQTUxM0U1QkIxODVCRkFD
QzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0LmggKi8sCiAJCQkJQTUxM0U1QkMxODVC
RkFDQzAwN0U5NUFEIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmNwcCAqLywKIAkJ
CQlBNTEzRTVCRDE4NUJGQUNDMDA3RTk1QUQgLyogSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5
cGUuaCAqLywKKwkJCQlBNTAzRkExNTE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lLmNwcCAqLywKKwkJCQlBNTAzRkExNjE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lLmggKi8sCisJCQkJQTUwM0ZBMTcxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2
YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAgKi8sCisJCQkJQTUwM0ZBMTgxODhFMEZCMDAw
MTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oICovLAorCQkJCUE1MDNG
QTEzMTg4RTBGQUYwMDExMEYxNCAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCAqLywKKwkJCQlB
NTAzRkExNDE4OEUwRkFGMDAxMTBGMTQgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5oICovLAogCQkJ
CUE1MDNGQTFGMTg4RUZGNjgwMDExMEYxNCAvKiBTY3JpcHRCcmVha3BvaW50LmggKi8sCiAJCQkJ
QTUwM0ZBMjAxODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdERlYnVnTGlzdGVuZXIuaCAqLywKKwkJ
CQlBNTAzRkEyMzE4OEVGRkZEMDAxMTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIuY3BwICovLAor
CQkJCUE1MDNGQTI0MTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z1NlcnZlci5oICovLAog
CQkJKTsKIAkJCXBhdGggPSBpbnNwZWN0b3I7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpA
QCAtNDUwOCw2ICs0NTMyLDcgQEAKIAkJCQk4NkQzQjJDNTEwMTU2QkRFMDAyODY1RTcgLyogQXNz
ZW1ibGVyQnVmZmVyV2l0aENvbnN0YW50UG9vbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyNEU1
NDExN0VBOUY1OTAwQUJCMjE3IC8qIEFzc2VtYmx5SGVscGVycy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTc4NEEyNjExMUQxNjYyMjAwNTc3NkFDIC8qIEFTVEJ1aWxkZXIuaCBpbiBIZWFkZXJzICov
LAorCQkJCUE1MDNGQTFBMTg4RTBGQjAwMDExMEYxNCAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxNDdCODNBQzBFNkRCOEM5MDA0Nzc1QTQgLyogQmF0Y2hlZFRy
YW5zaXRpb25PcHRpbWl6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2NjczOUQyMTNCRkRFNzEw
MDIzRDg3QyAvKiBCaWdJbnRlZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDgxNkUxQzE1NEND
NTZDMDBCODA1NEMgLyogQmxvY2tBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtNDYwNyw2
ICs0NjMyLDcgQEAKIAkJCQkwRjdCMjk0RDE0QzNDRDRDMDA3QzNEQjEgLyogREZHQ29tbW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRkVBMEEzMjE3MEQ0MEJGMDBCQjcyMkMgLyogREZHQ29tbW9u
RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYzOEIwMTgxN0NGRTc1NTAwQjE0NEQzIC8qIERG
R0NvbXBpbGF0aW9uS2V5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTAzRkExRTE4OEUwRkIwMDAx
MTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwRjM4QjAxQTE3Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25Nb2RlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwRjNCM0ExQjE1M0U2OEY0MDAzRUQwRkYgLyogREZHQ29uc3RhbnRG
b2xkaW5nUGhhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQkUwRjczMTZDMURCMDUwMDgyQzVF
OCAvKiBERkdDUFNSZXRocmVhZGluZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKQEAgLTQ3OTksNiAr
NDgyNSw3IEBACiAJCQkJMEY2NjZFQzExODM1NjZGOTAwRDAxN0YxIC8qIEZ1bGxCeXRlY29kZUxp
dmVuZXNzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMkU1MjZCRTE1OTBFRjAwMDA1NEU0OEQgLyog
SGVhcFRpbWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ2ODBENTE0QkJEMjRCMDBCRkUyNzIg
LyogSG9zdENhbGxSZXR1cm5WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTUwM0ZBMjYxODhF
RkZGRDAwMTEwRjE0IC8qIFNjcmlwdERlYnVnU2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzE4QzQwRjBFMTZGNUNEMDBCMzQ0NjAgLyogSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQzI1RjhCQ0UxNTc1NDRBOTAwMjQ1QjcxIC8qIEluY3JlbWVudGFsU3dlZXBlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZCN0YzOTkxNUVEOEU0NjAwRjE2N0IyIC8qIEluZGV4aW5nSGVhZGVy
LmggaW4gSGVhZGVycyAqLywKQEAgLTU4MjUsNiArNTg1Miw3IEBACiAJCQkJMEZGMEYxOUYxNkI3
MkExNzAwNURGOTVCIC8qIEZ1bmN0aW9uRXhlY3V0YWJsZUR1bXAuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMTQ3RjM5Q0MxMDdFQzM3NjAwNDI3QTQ4IC8qIEZ1bmN0aW9uUHJvdG90eXBlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUMyRDU4QzM0MTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5
Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTUwM0ZBMUQxODhFMEZCMDAwMTEwRjE0
IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjc2NkQyRjE1QThEQ0UwMDA4RjM2M0UgLyogR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUMyMjM5RDFBMTYyNjJCREQwMDVBQzVGRCAvKiBHQ1RocmVhZC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlDMjExMjJFMTE1REQ5QUIzMDA3OTBFM0EgLyogR0NUaHJl
YWRTaGFyZWREYXRhLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTg2Nyw2ICs1ODk1LDcgQEAKIAkJ
CQkwRjc2NkQyODE1QThDQzFFMDA4RjM2M0UgLyogSklUU3R1YlJvdXRpbmUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMEY3NjZEMkIxNUE4Q0MzODAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lU2V0
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0QTIzRDc1MEY0RTFBQkIwMDIzQ0RBRCAvKiBKSVRT
dHVicy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTAzRkExOTE4OEUwRkIwMDAxMTBGMTQgLyog
SmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjVFRjkxRTE2ODc4
RjdBMDAzRTVDMjUgLyogSklUVGh1bmtzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQzcxMkUy
MTdDRDg3OTEwMDhDQzkzQyAvKiBKSVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDBCN0QxRDBEQzY5QUY3MDA5QzQyQjggLyogSlNBY3Rp
dmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTkzMyw2ICs1OTYyLDcgQEAKIAkJCQlBN0NB
M0FFNzE3REE0MUFFMDA2NTM4QUYgLyogSlNXZWFrTWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUE3NDgyQjk0MTE2NzExNDcwMDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTE0NDI1NjYxMTVFREU5OEQwMDY2QTQ5QiAvKiBKU1dpdGhT
Y29wZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTAzRkExQjE4OEUwRkIwMDAxMTBGMTQgLyog
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2RTNDNjE4MTY3
QkFCRUUwMDZENzYwQSAvKiBKU1dyYXBwZXJNYXAubW0gaW4gU291cmNlcyAqLywKIAkJCQkxNDI4
MDg3MDEwN0VDMTM0MDAxM0U3QjIgLyogSlNXcmFwcGVyT2JqZWN0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDRkQ4QzkyMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFibGUuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC02MDQ4LDYgKzYwNzgsNyBAQAogCQkJCUE3MzBCNjEzMTI1MDA2OEYwMDlEMjVC
MSAvKiBTdHJpY3RFdmFsQWN0aXZhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDQ2OURF
QjEwN0VDN0U3MDA2NTA0NDYgLyogU3RyaW5nQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMTQ0NjlERUMxMDdFQzdFNzAwNjUwNDQ2IC8qIFN0cmluZ09iamVjdC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlBNTAzRkEyNTE4OEVGRkZEMDAxMTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ0NjlERUQxMDdFQzdFNzAwNjUwNDQ2IC8qIFN0
cmluZ1Byb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzM1RjI0RDEyRTY3NjVCMDAy
QjU1NTMgLyogU3RyaW5nUmVjdXJzaW9uQ2hlY2tlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
Q0RFM0I0MzBFNkM4MzJEMDAxNDUzQTcgLyogU3RydWN0dXJlLmNwcCBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2Ny
aXB0SG9zdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2Ny
aXB0SG9zdC5oCmluZGV4IDE5OWRmY2EuLmRjMjM1NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmgKQEAgLTY5LDcg
KzY5LDcgQEAgcHVibGljOgogICAgIEpTQzo6SlNWYWx1ZSBnZXRJbnRlcm5hbFByb3BlcnRpZXMo
SlNDOjpFeGVjU3RhdGUqKTsKIAogcHJvdGVjdGVkOgotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBTdHJ1Y3R1cmVGbGFncyA9IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSlND
OjpJbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3Ra
ZXJvIHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0
cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7CiAKICAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKEpTQzo6Vk0mKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcApzaW1pbGFyaXR5IGluZGV4IDUz
JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0phdmFTY3JpcHRDYWxs
RnJhbWVDdXN0b20uY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAKaW5kZXggNTU2MTRhNi4uOWY4YTVmNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3Vz
dG9tLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlw
dENhbGxGcmFtZS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4
IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTI0LDY5ICsyNCw2OSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQot
I2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQotCiAjaW5jbHVkZSAiSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lLmgiCiAKLSNpbmNsdWRlICJKYXZhU2NyaXB0Q2FsbEZyYW1lLmgiCi0jaW5jbHVk
ZSA8cnVudGltZS9BcnJheVByb3RvdHlwZS5oPgotI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4K
KyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQor
CisjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisjaW5jbHVkZSAi
SlNDZWxsSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlw
ZS5oIgorI2luY2x1ZGUgIlN0cnVjdHVyZUlubGluZXMuaCIKIAogdXNpbmcgbmFtZXNwYWNlIEpT
QzsKIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEluc3BlY3RvciB7CisKK2NvbnN0
IENsYXNzSW5mbyBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OnNfaW5mbyA9IHsgIkphdmFTY3JpcHRD
YWxsRnJhbWUiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTSmF2
YVNjcmlwdENhbGxGcmFtZSkgfTsKKworSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpKU0phdmFTY3Jp
cHRDYWxsRnJhbWUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxKYXZh
U2NyaXB0Q2FsbEZyYW1lPiBpbXBsKQorICAgIDogSlNEZXN0cnVjdGlibGVPYmplY3Qodm0sIHN0
cnVjdHVyZSkKKyAgICAsIG1faW1wbChpbXBsLmxlYWtSZWYoKSkKK3sKK30KKwordm9pZCBKU0ph
dmFTY3JpcHRDYWxsRnJhbWU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKK3sKKyAgICBCYXNlOjpm
aW5pc2hDcmVhdGlvbih2bSk7CisgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOworfQorCitK
U09iamVjdCogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpjcmVhdGVQcm90b3R5cGUoVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIHJldHVybiBKU0phdmFTY3JpcHRD
YWxsRnJhbWVQcm90b3R5cGU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBKU0phdmFTY3JpcHRD
YWxsRnJhbWVQcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgZ2xvYmFsT2JqZWN0LCBnbG9i
YWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpKSk7Cit9CisKK3ZvaWQgSlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQoreworICAgIEpTSmF2YVNjcmlwdENh
bGxGcmFtZSogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PEpTSmF2YVNjcmlwdENhbGxGcmFtZSo+
KGNlbGwpOworICAgIHRoaXNPYmplY3QtPkpTSmF2YVNjcmlwdENhbGxGcmFtZTo6fkpTSmF2YVNj
cmlwdENhbGxGcmFtZSgpOworfQorCit2b2lkIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6cmVsZWFz
ZUltcGwoKQoreworICAgIGlmIChtX2ltcGwpIHsKKyAgICAgICAgbV9pbXBsLT5kZXJlZigpOwor
ICAgICAgICBtX2ltcGwgPSBudWxscHRyOworICAgIH0KK30KKworSlNKYXZhU2NyaXB0Q2FsbEZy
YW1lOjp+SlNKYXZhU2NyaXB0Q2FsbEZyYW1lKCkKK3sKKyAgICByZWxlYXNlSW1wbCgpOworfQog
CiBKU1ZhbHVlIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6ZXZhbHVhdGUoRXhlY1N0YXRlKiBleGVj
KQogewogICAgIEpTVmFsdWUgZXhjZXB0aW9uOwogICAgIEpTVmFsdWUgcmVzdWx0ID0gaW1wbCgp
LmV2YWx1YXRlKGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpLT52YWx1ZShleGVjKSwg
ZXhjZXB0aW9uKTsKLQogICAgIGlmIChleGNlcHRpb24pCiAgICAgICAgIGV4ZWMtPnZtKCkudGhy
b3dFeGNlcHRpb24oZXhlYywgZXhjZXB0aW9uKTsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
LUpTVmFsdWUgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjp0aGlzT2JqZWN0KEV4ZWNTdGF0ZSopIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIGltcGwoKS50aGlzVmFsdWUoKTsKLX0KLQotSlNWYWx1ZSBKU0ph
dmFTY3JpcHRDYWxsRnJhbWU6OnR5cGUoRXhlY1N0YXRlKiBleGVjKSBjb25zdAotewotICAgIHN3
aXRjaCAoaW1wbCgpLnR5cGUoKSkgewotICAgIGNhc2UgRGVidWdnZXJDYWxsRnJhbWU6OkZ1bmN0
aW9uVHlwZToKLSAgICAgICAgcmV0dXJuIGpzTm9udHJpdmlhbFN0cmluZyhleGVjLCBBU0NJSUxp
dGVyYWwoImZ1bmN0aW9uIikpOwotICAgIGNhc2UgRGVidWdnZXJDYWxsRnJhbWU6OlByb2dyYW1U
eXBlOgotICAgICAgICByZXR1cm4ganNOb250cml2aWFsU3RyaW5nKGV4ZWMsIEFTQ0lJTGl0ZXJh
bCgicHJvZ3JhbSIpKTsKLSAgICB9Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICBy
ZXR1cm4ganNOdWxsKCk7Ci19Ci0KLUpTVmFsdWUgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpzY29w
ZUNoYWluKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKLXsKLSAgICBpZiAoIWltcGwoKS5zY29wZUNo
YWluKCkpCi0gICAgICAgIHJldHVybiBqc051bGwoKTsKLQotICAgIEpTU2NvcGUqIHNjb3BlQ2hh
aW4gPSBpbXBsKCkuc2NvcGVDaGFpbigpOwotICAgIFNjb3BlQ2hhaW5JdGVyYXRvciBpdGVyID0g
c2NvcGVDaGFpbi0+YmVnaW4oKTsKLSAgICBTY29wZUNoYWluSXRlcmF0b3IgZW5kID0gc2NvcGVD
aGFpbi0+ZW5kKCk7Ci0KLSAgICAvLyB3ZSBtdXN0IGFsd2F5cyBoYXZlIHNvbWV0aGluZyBpbiB0
aGUgc2NvcGUgY2hhaW4KLSAgICBBU1NFUlQoaXRlciAhPSBlbmQpOwotCi0gICAgTWFya2VkQXJn
dW1lbnRCdWZmZXIgbGlzdDsKLSAgICBkbyB7Ci0gICAgICAgIGxpc3QuYXBwZW5kKGl0ZXIuZ2V0
KCkpOwotICAgICAgICArK2l0ZXI7Ci0gICAgfSB3aGlsZSAoaXRlciAhPSBlbmQpOwotCi0gICAg
cmV0dXJuIGNvbnN0cnVjdEFycmF5KGV4ZWMsIDAsIGdsb2JhbE9iamVjdCgpLCBsaXN0KTsKLX0K
LQogSlNWYWx1ZSBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OnNjb3BlVHlwZShFeGVjU3RhdGUqIGV4
ZWMpCiB7CiAgICAgaWYgKCFpbXBsKCkuc2NvcGVDaGFpbigpKQpAQCAtOTksNiArOTksOCBAQCBK
U1ZhbHVlIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6c2NvcGVUeXBlKEV4ZWNTdGF0ZSogZXhlYykK
ICAgICBKU1Njb3BlKiBzY29wZUNoYWluID0gaW1wbCgpLnNjb3BlQ2hhaW4oKTsKICAgICBTY29w
ZUNoYWluSXRlcmF0b3IgZW5kID0gc2NvcGVDaGFpbi0+ZW5kKCk7CiAKKyAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIGJlIGlkZW50aWZ5aW5nIGFuZCByZXR1cm5pbmcgQ0FUQ0hfU0NPUEUgYXBwcm9w
cmlhdGVseS4KKwogICAgIGJvb2wgZm91bmRMb2NhbFNjb3BlID0gZmFsc2U7CiAgICAgZm9yIChT
Y29wZUNoYWluSXRlcmF0b3IgaXRlciA9IHNjb3BlQ2hhaW4tPmJlZ2luKCk7IGl0ZXIgIT0gZW5k
OyArK2l0ZXIpIHsKICAgICAgICAgSlNPYmplY3QqIHNjb3BlID0gaXRlci5nZXQoKTsKQEAgLTEw
NiwyNCArMTA4LDEwOCBAQCBKU1ZhbHVlIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6c2NvcGVUeXBl
KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgIGlmICghZm91bmRMb2NhbFNjb3BlKSB7CiAg
ICAgICAgICAgICAgICAgLy8gRmlyc3QgYWN0aXZhdGlvbiBvYmplY3QgaXMgbG9jYWwgc2NvcGUs
IGVhY2ggc3VjY2Vzc2l2ZSBhY3RpdmF0aW9uIG9iamVjdCBpcyBjbG9zdXJlLgogICAgICAgICAg
ICAgICAgIGlmICghaW5kZXgpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpk
ZWNvZGUoanNKYXZhU2NyaXB0Q2FsbEZyYW1lTE9DQUxfU0NPUEUoZXhlYywgRW5jb2RlZEpTVmFs
dWUoKSwgRW5jb2RlZEpTVmFsdWUoKSwgSWRlbnRpZmllcigpKSk7CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBqc051bWJlcihKU0phdmFTY3JpcHRDYWxsRnJhbWU6OkxPQ0FMX1NDT1BFKTsK
ICAgICAgICAgICAgICAgICBmb3VuZExvY2FsU2NvcGUgPSB0cnVlOwogICAgICAgICAgICAgfSBl
bHNlIGlmICghaW5kZXgpCi0gICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmRlY29kZShq
c0phdmFTY3JpcHRDYWxsRnJhbWVDTE9TVVJFX1NDT1BFKGV4ZWMsIEVuY29kZWRKU1ZhbHVlKCks
IEVuY29kZWRKU1ZhbHVlKCksIElkZW50aWZpZXIoKSkpOworICAgICAgICAgICAgICAgIHJldHVy
biBqc051bWJlcihKU0phdmFTY3JpcHRDYWxsRnJhbWU6OkNMT1NVUkVfU0NPUEUpOwogICAgICAg
ICB9CiAKICAgICAgICAgaWYgKCFpbmRleCkgewogICAgICAgICAgICAgLy8gTGFzdCBpbiB0aGUg
Y2hhaW4gaXMgZ2xvYmFsIHNjb3BlLgogICAgICAgICAgICAgaWYgKCsraXRlciA9PSBlbmQpCi0g
ICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmRlY29kZShqc0phdmFTY3JpcHRDYWxsRnJh
bWVHTE9CQUxfU0NPUEUoZXhlYywgRW5jb2RlZEpTVmFsdWUoKSwgRW5jb2RlZEpTVmFsdWUoKSwg
SWRlbnRpZmllcigpKSk7Ci0gICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKGpzSmF2
YVNjcmlwdENhbGxGcmFtZVdJVEhfU0NPUEUoZXhlYywgRW5jb2RlZEpTVmFsdWUoKSwgRW5jb2Rl
ZEpTVmFsdWUoKSwgSWRlbnRpZmllcigpKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGpzTnVt
YmVyKEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6R0xPQkFMX1NDT1BFKTsKKyAgICAgICAgICAgIHJl
dHVybiBqc051bWJlcihKU0phdmFTY3JpcHRDYWxsRnJhbWU6OldJVEhfU0NPUEUpOwogICAgICAg
ICB9CiAKICAgICAgICAgLS1pbmRleDsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorSlNWYWx1ZSBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmNhbGxlcihFeGVjU3RhdGUqIGV4ZWMp
IGNvbnN0Cit7CisgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0KCksIGltcGwoKS5j
YWxsZXIoKSk7Cit9CisKK0pTVmFsdWUgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpzb3VyY2VJRChF
eGVjU3RhdGUqKSBjb25zdAoreworICAgIHJldHVybiBqc051bWJlcihpbXBsKCkuc291cmNlSUQo
KSk7Cit9CisKK0pTVmFsdWUgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpsaW5lKEV4ZWNTdGF0ZSop
IGNvbnN0Cit7CisgICAgcmV0dXJuIGpzTnVtYmVyKGltcGwoKS5saW5lKCkpOworfQorCitKU1Zh
bHVlIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6Y29sdW1uKEV4ZWNTdGF0ZSopIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIGpzTnVtYmVyKGltcGwoKS5jb2x1bW4oKSk7Cit9CisKK0pTVmFsdWUgSlNKYXZh
U2NyaXB0Q2FsbEZyYW1lOjpmdW5jdGlvbk5hbWUoRXhlY1N0YXRlKiBleGVjKSBjb25zdAorewor
ICAgIHJldHVybiBqc1N0cmluZyhleGVjLCBpbXBsKCkuZnVuY3Rpb25OYW1lKCkpOworfQorCitK
U1ZhbHVlIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6c2NvcGVDaGFpbihFeGVjU3RhdGUqIGV4ZWMp
IGNvbnN0Cit7CisgICAgaWYgKCFpbXBsKCkuc2NvcGVDaGFpbigpKQorICAgICAgICByZXR1cm4g
anNOdWxsKCk7CisKKyAgICBKU1Njb3BlKiBzY29wZUNoYWluID0gaW1wbCgpLnNjb3BlQ2hhaW4o
KTsKKyAgICBTY29wZUNoYWluSXRlcmF0b3IgaXRlciA9IHNjb3BlQ2hhaW4tPmJlZ2luKCk7Cisg
ICAgU2NvcGVDaGFpbkl0ZXJhdG9yIGVuZCA9IHNjb3BlQ2hhaW4tPmVuZCgpOworCisgICAgLy8g
V2UgbXVzdCBhbHdheXMgaGF2ZSBzb21ldGhpbmcgaW4gdGhlIHNjb3BlIGNoYWluLgorICAgIEFT
U0VSVChpdGVyICE9IGVuZCk7CisKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBsaXN0OworICAg
IGRvIHsKKyAgICAgICAgbGlzdC5hcHBlbmQoaXRlci5nZXQoKSk7CisgICAgICAgICsraXRlcjsK
KyAgICB9IHdoaWxlIChpdGVyICE9IGVuZCk7CisKKyAgICByZXR1cm4gY29uc3RydWN0QXJyYXko
ZXhlYywgbnVsbHB0ciwgZ2xvYmFsT2JqZWN0KCksIGxpc3QpOworfQorCitKU1ZhbHVlIEpTSmF2
YVNjcmlwdENhbGxGcmFtZTo6dGhpc09iamVjdChFeGVjU3RhdGUqKSBjb25zdAoreworICAgIHJl
dHVybiBpbXBsKCkudGhpc1ZhbHVlKCk7Cit9CisKK0pTVmFsdWUgSlNKYXZhU2NyaXB0Q2FsbEZy
YW1lOjp0eXBlKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sKKyAgICBzd2l0Y2ggKGltcGwoKS50
eXBlKCkpIHsKKyAgICBjYXNlIERlYnVnZ2VyQ2FsbEZyYW1lOjpGdW5jdGlvblR5cGU6CisgICAg
ICAgIHJldHVybiBqc05vbnRyaXZpYWxTdHJpbmcoZXhlYywgQVNDSUlMaXRlcmFsKCJmdW5jdGlv
biIpKTsKKyAgICBjYXNlIERlYnVnZ2VyQ2FsbEZyYW1lOjpQcm9ncmFtVHlwZToKKyAgICAgICAg
cmV0dXJuIGpzTm9udHJpdmlhbFN0cmluZyhleGVjLCBBU0NJSUxpdGVyYWwoInByb2dyYW0iKSk7
CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGpzTnVsbCgp
OworfQorCitKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKYXZhU2NyaXB0Q2FsbEZyYW1lKiBpbXBsKQoreworICAgIGlmICghaW1wbCkK
KyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworCisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IEpT
SmF2YVNjcmlwdENhbGxGcmFtZTo6Y3JlYXRlUHJvdG90eXBlKGV4ZWMtPnZtKCksIGdsb2JhbE9i
amVjdCk7CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBKU0phdmFTY3JpcHRDYWxsRnJhbWU6
OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSk7Cisg
ICAgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKiBqYXZhU2NyaXB0Q2FsbEZyYW1lID0gSlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lOjpjcmVhdGUoZXhlYy0+dm0oKSwgc3RydWN0dXJlLCBpbXBsKTsKKworICAg
IHJldHVybiBqYXZhU2NyaXB0Q2FsbEZyYW1lOworfQorCitKU0phdmFTY3JpcHRDYWxsRnJhbWUq
IHRvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKEpTVmFsdWUgdmFsdWUpCit7CisgICAgcmV0dXJuIHZh
bHVlLmluaGVyaXRzKEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6aW5mbygpKSA/IGpzQ2FzdDxKU0ph
dmFTY3JpcHRDYWxsRnJhbWUqPih2YWx1ZSkgOiBudWxscHRyOworfQorCit9IC8vIG5hbWVzcGFj
ZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQorI2Vu
ZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5oCnNpbWlsYXJpdHkgaW5kZXggNTMl
CmNvcHkgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3Jp
cHRIb3N0LmgKY29weSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNj
cmlwdENhbGxGcmFtZS5oCmluZGV4IDE5OWRmY2EuLjIyNWVkYmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5oCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMywxOCAr
MjMsMTggQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBKU0luamVjdGVkU2NyaXB0
SG9zdF9oCi0jZGVmaW5lIEpTSW5qZWN0ZWRTY3JpcHRIb3N0X2gKKyNpZm5kZWYgSlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lX2gKKyNkZWZpbmUgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lX2gKIAogI2lmIEVO
QUJMRShJTlNQRUNUT1IpCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAKICNpbmNs
dWRlICJKU0Rlc3RydWN0aWJsZU9iamVjdC5oIgorI2luY2x1ZGUgIkphdmFTY3JpcHRDYWxsRnJh
bWUuaCIKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKLWNsYXNzIEluamVjdGVkU2NyaXB0SG9z
dDsKLQotY2xhc3MgSlNJbmplY3RlZFNjcmlwdEhvc3QgOiBwdWJsaWMgSlNDOjpKU0Rlc3RydWN0
aWJsZU9iamVjdCB7CitjbGFzcyBKU0phdmFTY3JpcHRDYWxsRnJhbWUgOiBwdWJsaWMgSlNDOjpK
U0Rlc3RydWN0aWJsZU9iamVjdCB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0M6OkpTRGVzdHJ1
Y3RpYmxlT2JqZWN0IEJhc2U7CiAKQEAgLTQ1LDkgKzQ1LDkgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7
CiAgICAgfQogCi0gICAgc3RhdGljIEpTSW5qZWN0ZWRTY3JpcHRIb3N0KiBjcmVhdGUoSlNDOjpW
TSYgdm0sIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8SW5qZWN0ZWRTY3Jp
cHRIb3N0PiBpbXBsKQorICAgIHN0YXRpYyBKU0phdmFTY3JpcHRDYWxsRnJhbWUqIGNyZWF0ZShK
U0M6OlZNJiB2bSwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxKYXZhU2Ny
aXB0Q2FsbEZyYW1lPiBpbXBsKQogICAgIHsKLSAgICAgICAgSlNJbmplY3RlZFNjcmlwdEhvc3Qq
IGluc3RhbmNlID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxKU0luamVjdGVkU2Ny
aXB0SG9zdD4odm0uaGVhcCkpIEpTSW5qZWN0ZWRTY3JpcHRIb3N0KHZtLCBzdHJ1Y3R1cmUsIGlt
cGwpOworICAgICAgICBKU0phdmFTY3JpcHRDYWxsRnJhbWUqIGluc3RhbmNlID0gbmV3IChOb3RO
dWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxKU0phdmFTY3JpcHRDYWxsRnJhbWU+KHZtLmhlYXApKSBK
U0phdmFTY3JpcHRDYWxsRnJhbWUodm0sIHN0cnVjdHVyZSwgaW1wbCk7CiAgICAgICAgIGluc3Rh
bmNlLT5maW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgICB9
CkBAIC01NSwzNiArNTUsNDggQEAgcHVibGljOgogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBj
cmVhdGVQcm90b3R5cGUoSlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKICAgICBzdGF0
aWMgdm9pZCBkZXN0cm95KEpTQzo6SlNDZWxsKik7CiAKLSAgICBJbmplY3RlZFNjcmlwdEhvc3Qm
IGltcGwoKSBjb25zdCB7IHJldHVybiAqbV9pbXBsOyB9CisgICAgSmF2YVNjcmlwdENhbGxGcmFt
ZSYgaW1wbCgpIGNvbnN0IHsgcmV0dXJuICptX2ltcGw7IH0KICAgICB2b2lkIHJlbGVhc2VJbXBs
KCk7CiAKLSAgICAvLyBBdHRyaWJ1dGVzLgotICAgIEpTQzo6SlNWYWx1ZSBldmFsdWF0ZShKU0M6
OkV4ZWNTdGF0ZSopIGNvbnN0OwotCiAgICAgLy8gRnVuY3Rpb25zLgotICAgIEpTQzo6SlNWYWx1
ZSBpbnRlcm5hbENvbnN0cnVjdG9yTmFtZShKU0M6OkV4ZWNTdGF0ZSopOwotICAgIEpTQzo6SlNW
YWx1ZSBpc0hUTUxBbGxDb2xsZWN0aW9uKEpTQzo6RXhlY1N0YXRlKik7Ci0gICAgSlNDOjpKU1Zh
bHVlIHR5cGUoSlNDOjpFeGVjU3RhdGUqKTsKLSAgICBKU0M6OkpTVmFsdWUgZnVuY3Rpb25EZXRh
aWxzKEpTQzo6RXhlY1N0YXRlKik7Ci0gICAgSlNDOjpKU1ZhbHVlIGdldEludGVybmFsUHJvcGVy
dGllcyhKU0M6OkV4ZWNTdGF0ZSopOworICAgIEpTQzo6SlNWYWx1ZSBldmFsdWF0ZShKU0M6OkV4
ZWNTdGF0ZSopOworICAgIEpTQzo6SlNWYWx1ZSBzY29wZVR5cGUoSlNDOjpFeGVjU3RhdGUqKTsK
KworICAgIC8vIEF0dHJpYnV0ZXMuCisgICAgSlNDOjpKU1ZhbHVlIGNhbGxlcihKU0M6OkV4ZWNT
dGF0ZSopIGNvbnN0OworICAgIEpTQzo6SlNWYWx1ZSBzb3VyY2VJRChKU0M6OkV4ZWNTdGF0ZSop
IGNvbnN0OworICAgIEpTQzo6SlNWYWx1ZSBsaW5lKEpTQzo6RXhlY1N0YXRlKikgY29uc3Q7Cisg
ICAgSlNDOjpKU1ZhbHVlIGNvbHVtbihKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0OworICAgIEpTQzo6
SlNWYWx1ZSBmdW5jdGlvbk5hbWUoSlNDOjpFeGVjU3RhdGUqKSBjb25zdDsKKyAgICBKU0M6OkpT
VmFsdWUgc2NvcGVDaGFpbihKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0OworICAgIEpTQzo6SlNWYWx1
ZSB0aGlzT2JqZWN0KEpTQzo6RXhlY1N0YXRlKikgY29uc3Q7CisgICAgSlNDOjpKU1ZhbHVlIHR5
cGUoSlNDOjpFeGVjU3RhdGUqKSBjb25zdDsKKworICAgIC8vIENvbnN0YW50cy4KKyAgICBzdGF0
aWMgY29uc3QgdW5zaWduZWQgc2hvcnQgR0xPQkFMX1NDT1BFID0gMDsKKyAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgc2hvcnQgTE9DQUxfU0NPUEUgPSAxOworICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBzaG9ydCBXSVRIX1NDT1BFID0gMjsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgc2hv
cnQgQ0xPU1VSRV9TQ09QRSA9IDM7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IENB
VENIX1NDT1BFID0gNDsKIAogcHJvdGVjdGVkOgotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBT
dHJ1Y3R1cmVGbGFncyA9IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSlNDOjpJ
bnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJv
IHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVj
dHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKEpTQzo6Vk0mKTsKIAogcHJpdmF0ZToKLSAgICBKU0luamVjdGVkU2NyaXB0SG9zdChKU0M6
OlZNJiwgSlNDOjpTdHJ1Y3R1cmUqLCBQYXNzUmVmUHRyPEluamVjdGVkU2NyaXB0SG9zdD4pOwot
ICAgIH5KU0luamVjdGVkU2NyaXB0SG9zdCgpOworICAgIEpTSmF2YVNjcmlwdENhbGxGcmFtZShK
U0M6OlZNJiwgSlNDOjpTdHJ1Y3R1cmUqLCBQYXNzUmVmUHRyPEphdmFTY3JpcHRDYWxsRnJhbWU+
KTsKKyAgICB+SlNKYXZhU2NyaXB0Q2FsbEZyYW1lKCk7CiAKLSAgICBJbmplY3RlZFNjcmlwdEhv
c3QqIG1faW1wbDsKKyAgICBKYXZhU2NyaXB0Q2FsbEZyYW1lKiBtX2ltcGw7CiB9OwogCi1KU0M6
OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBJbmpl
Y3RlZFNjcmlwdEhvc3QqKTsKLUpTSW5qZWN0ZWRTY3JpcHRIb3N0KiB0b0pTSW5qZWN0ZWRTY3Jp
cHRIb3N0KEpTQzo6SlNWYWx1ZSk7CitKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSos
IEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKYXZhU2NyaXB0Q2FsbEZyYW1lKik7CitKU0phdmFTY3Jp
cHRDYWxsRnJhbWUqIHRvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKEpTQzo6SlNWYWx1ZSk7CiAKIH0g
Ly8gbmFtZXNwYWNlIEluc3BlY3RvcgogCisjZW5kaWYgLy8gRU5BQkxFKEpBVkFTQ1JJUFRfREVC
VUdHRVIpCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKIAotI2VuZGlmIC8vICFkZWZpbmVk
KEpTSW5qZWN0ZWRTY3JpcHRIb3N0X2gpCisjZW5kaWYgLy8gIWRlZmluZWQoSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lX2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNiMmIwNgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90
eXBlLmNwcApAQCAtMCwwICsxLDIzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU0phdmFTY3Jp
cHRDYWxsRnJhbWVQcm90b3R5cGUuaCIKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisjaWYgRU5B
QkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCisKKyNpbmNsdWRlICJFcnJvci5oIgorI2luY2x1ZGUg
IkdldHRlclNldHRlci5oIgorI2luY2x1ZGUgIklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJKU0NK
U1ZhbHVlSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0ph
dmFTY3JpcHRDYWxsRnJhbWUuaCIKKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNl
IEluc3BlY3RvciB7CisKKy8vIEZ1bmN0aW9ucy4KK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZUZ1bmN0aW9uRXZhbHVhdGUo
RXhlY1N0YXRlKik7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFT
Y3JpcHRDYWxsRnJhbWVQcm90b3R5cGVGdW5jdGlvblNjb3BlVHlwZShFeGVjU3RhdGUqKTsKKwor
Ly8gQXR0cmlidXRlcy4KK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2
YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZUNhbGxlcihFeGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZVNv
dXJjZUlEKEV4ZWNTdGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
anNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlTGluZShFeGVjU3RhdGUqKTsKK3N0YXRpYyBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0
ZUNvbHVtbihFeGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZUZ1bmN0aW9uTmFtZShFeGVjU3RhdGUqKTsK
K3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFt
ZUF0dHJpYnV0ZVNjb3BlQ2hhaW4oRXhlY1N0YXRlKik7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVUaGlzT2JqZWN0KEV4
ZWNTdGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNKYXZhU2Ny
aXB0Q2FsbEZyYW1lQXR0cmlidXRlVHlwZShFeGVjU3RhdGUqKTsKKworLy8gQ29uc3RhbnRzLgor
c3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1l
Q29uc3RhbnRHTE9CQUxfU0NPUEUoRXhlY1N0YXRlKik7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVDb25zdGFudExPQ0FMX1NDT1BFKEV4
ZWNTdGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNKYXZhU2Ny
aXB0Q2FsbEZyYW1lQ29uc3RhbnRXSVRIX1NDT1BFKEV4ZWNTdGF0ZSopOworc3RhdGljIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRDTE9T
VVJFX1NDT1BFKEV4ZWNTdGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRDQVRDSF9TQ09QRShFeGVjU3RhdGUqKTsK
KworY29uc3QgQ2xhc3NJbmZvIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZTo6c19pbmZv
ID0geyAiSmF2YVNjcmlwdENhbGxGcmFtZSIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9N
RVRIT0RfVEFCTEUoSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlKSB9OworCisjZGVmaW5l
IEpTQ19OQVRJVkVfTk9OX0lOREVYX0FDQ0VTU09SKGpzTmFtZSwgY3BwTmFtZSwgYXR0cmlidXRl
cykgXAorICAgIHsgXAorICAgICAgICBJZGVudGlmaWVyIGlkZW50aWZpZXIoJnZtLCBqc05hbWUp
OyBcCisgICAgICAgIEdldHRlclNldHRlciogYWNjZXNzb3IgPSBHZXR0ZXJTZXR0ZXI6OmNyZWF0
ZSh2bSk7IFwKKyAgICAgICAgSlNGdW5jdGlvbiogZnVuY3Rpb24gPSBKU0Z1bmN0aW9uOjpjcmVh
dGUodm0sIGdsb2JhbE9iamVjdCwgMCwgaWRlbnRpZmllci5zdHJpbmcoKSwgY3BwTmFtZSk7IFwK
KyAgICAgICAgYWNjZXNzb3ItPnNldEdldHRlcih2bSwgZnVuY3Rpb24pOyBcCisgICAgICAgIHB1
dERpcmVjdE5vbkluZGV4QWNjZXNzb3Iodm0sIGlkZW50aWZpZXIsIGFjY2Vzc29yLCAoYXR0cmli
dXRlcykpOyBcCisgICAgfQorCit2b2lkIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZTo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorewor
ICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygp
KSk7CisgICAgdm0ucHJvdG90eXBlTWFwLmFkZFByb3RvdHlwZSh0aGlzKTsKKworICAgIEpTQ19O
QVRJVkVfRlVOQ1RJT04oImV2YWx1YXRlIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBl
RnVuY3Rpb25FdmFsdWF0ZSwgRG9udEVudW0sIDEpOworICAgIEpTQ19OQVRJVkVfRlVOQ1RJT04o
InNjb3BlVHlwZSIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZUZ1bmN0aW9uU2NvcGVU
eXBlLCBEb250RW51bSwgMSk7CisKKyAgICBKU0NfTkFUSVZFX05PTl9JTkRFWF9BQ0NFU1NPUigi
Y2FsbGVyIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlQ2FsbGVyLCBEb250RW51bSB8
IEFjY2Vzc29yKTsKKyAgICBKU0NfTkFUSVZFX05PTl9JTkRFWF9BQ0NFU1NPUigic291cmNlSUQi
LCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVTb3VyY2VJRCwgRG9udEVudW0gfCBBY2Nl
c3Nvcik7CisgICAgSlNDX05BVElWRV9OT05fSU5ERVhfQUNDRVNTT1IoImxpbmUiLCBqc0phdmFT
Y3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVMaW5lLCBEb250RW51bSB8IEFjY2Vzc29yKTsKKyAgICBK
U0NfTkFUSVZFX05PTl9JTkRFWF9BQ0NFU1NPUigiY29sdW1uIiwganNKYXZhU2NyaXB0Q2FsbEZy
YW1lQXR0cmlidXRlQ29sdW1uLCBEb250RW51bSB8IEFjY2Vzc29yKTsKKyAgICBKU0NfTkFUSVZF
X05PTl9JTkRFWF9BQ0NFU1NPUigiZnVuY3Rpb25OYW1lIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1l
QXR0cmlidXRlRnVuY3Rpb25OYW1lLCBEb250RW51bSB8IEFjY2Vzc29yKTsKKyAgICBKU0NfTkFU
SVZFX05PTl9JTkRFWF9BQ0NFU1NPUigic2NvcGVDaGFpbiIsIGpzSmF2YVNjcmlwdENhbGxGcmFt
ZUF0dHJpYnV0ZVNjb3BlQ2hhaW4sIERvbnRFbnVtIHwgQWNjZXNzb3IpOworICAgIEpTQ19OQVRJ
VkVfTk9OX0lOREVYX0FDQ0VTU09SKCJ0aGlzT2JqZWN0IiwganNKYXZhU2NyaXB0Q2FsbEZyYW1l
QXR0cmlidXRlVGhpc09iamVjdCwgRG9udEVudW0gfCBBY2Nlc3Nvcik7CisgICAgSlNDX05BVElW
RV9OT05fSU5ERVhfQUNDRVNTT1IoInR5cGUiLCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1
dGVUeXBlLCBEb250RW51bSB8IEFjY2Vzc29yKTsKKworICAgIEpTQ19OQVRJVkVfTk9OX0lOREVY
X0FDQ0VTU09SKCJHTE9CQUxfU0NPUEUiLCBqc0phdmFTY3JpcHRDYWxsRnJhbWVDb25zdGFudEdM
T0JBTF9TQ09QRSwgRG9udEVudW0gfCBBY2Nlc3Nvcik7CisgICAgSlNDX05BVElWRV9OT05fSU5E
RVhfQUNDRVNTT1IoIkxPQ0FMX1NDT1BFIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRM
T0NBTF9TQ09QRSwgRG9udEVudW0gfCBBY2Nlc3Nvcik7CisgICAgSlNDX05BVElWRV9OT05fSU5E
RVhfQUNDRVNTT1IoIldJVEhfU0NPUEUiLCBqc0phdmFTY3JpcHRDYWxsRnJhbWVDb25zdGFudFdJ
VEhfU0NPUEUsIERvbnRFbnVtIHwgQWNjZXNzb3IpOworICAgIEpTQ19OQVRJVkVfTk9OX0lOREVY
X0FDQ0VTU09SKCJDTE9TVVJFX1NDT1BFIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRD
TE9TVVJFX1NDT1BFLCBEb250RW51bSB8IEFjY2Vzc29yKTsKKyAgICBKU0NfTkFUSVZFX05PTl9J
TkRFWF9BQ0NFU1NPUigiQ0FUQ0hfU0NPUEUiLCBqc0phdmFTY3JpcHRDYWxsRnJhbWVDb25zdGFu
dENBVENIX1NDT1BFLCBEb250RW51bSB8IEFjY2Vzc29yKTsKK30KKworRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGVGdW5jdGlvbkV2YWx1
YXRlKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhv
c3RUaGlzVmFsdWUoKTsKKyAgICBKU0phdmFTY3JpcHRDYWxsRnJhbWUqIGNhc3RlZFRoaXMgPSBq
c0R5bmFtaWNDYXN0PEpTSmF2YVNjcmlwdENhbGxGcmFtZSo+KHRoaXNWYWx1ZSk7CisgICAgaWYg
KCFjYXN0ZWRUaGlzKQorICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKKwor
ICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgSlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lOjppbmZvKCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY2FzdGVkVGhpcy0+
ZXZhbHVhdGUoZXhlYykpOworfQorCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2
YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZUZ1bmN0aW9uU2NvcGVUeXBlKEV4ZWNTdGF0ZSogZXhl
YykKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKKyAg
ICBKU0phdmFTY3JpcHRDYWxsRnJhbWUqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTSmF2
YVNjcmlwdENhbGxGcmFtZSo+KHRoaXNWYWx1ZSk7CisgICAgaWYgKCFjYXN0ZWRUaGlzKQorICAg
ICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKKworICAgIEFTU0VSVF9HQ19PQkpF
Q1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjppbmZvKCkpOwor
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY2FzdGVkVGhpcy0+c2NvcGVUeXBlKGV4ZWMpKTsK
K30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVB
dHRyaWJ1dGVDYWxsZXIoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTVmFsdWUgdGhpc1ZhbHVl
ID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOworICAgIEpTSmF2YVNjcmlwdENhbGxGcmFtZSogY2Fz
dGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNKYXZhU2NyaXB0Q2FsbEZyYW1lKj4odGhpc1ZhbHVl
KTsKKyAgICBpZiAoIWNhc3RlZFRoaXMpCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9y
KGV4ZWMpOworCisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyhjYXN0ZWRUaGlzLCBKU0ph
dmFTY3JpcHRDYWxsRnJhbWU6OmluZm8oKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShj
YXN0ZWRUaGlzLT5jYWxsZXIoZXhlYykpOworfQorCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZVNvdXJjZUlEKEV4ZWNTdGF0ZSogZXhl
YykKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKKyAg
ICBKU0phdmFTY3JpcHRDYWxsRnJhbWUqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTSmF2
YVNjcmlwdENhbGxGcmFtZSo+KHRoaXNWYWx1ZSk7CisgICAgaWYgKCFjYXN0ZWRUaGlzKQorICAg
ICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKKworICAgIEFTU0VSVF9HQ19PQkpF
Q1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjppbmZvKCkpOwor
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY2FzdGVkVGhpcy0+c291cmNlSUQoZXhlYykpOwor
fQorCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0
dHJpYnV0ZUxpbmUoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0g
ZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOworICAgIEpTSmF2YVNjcmlwdENhbGxGcmFtZSogY2FzdGVk
VGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNKYXZhU2NyaXB0Q2FsbEZyYW1lKj4odGhpc1ZhbHVlKTsK
KyAgICBpZiAoIWNhc3RlZFRoaXMpCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4
ZWMpOworCisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyhjYXN0ZWRUaGlzLCBKU0phdmFT
Y3JpcHRDYWxsRnJhbWU6OmluZm8oKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYXN0
ZWRUaGlzLT5saW5lKGV4ZWMpKTsKK30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVDb2x1bW4oRXhlY1N0YXRlKiBleGVjKQorewor
ICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOworICAgIEpTSmF2
YVNjcmlwdENhbGxGcmFtZSogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNKYXZhU2NyaXB0
Q2FsbEZyYW1lKj4odGhpc1ZhbHVlKTsKKyAgICBpZiAoIWNhc3RlZFRoaXMpCisgICAgICAgIHJl
dHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworCisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhF
UklUUyhjYXN0ZWRUaGlzLCBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmluZm8oKSk7CisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShjYXN0ZWRUaGlzLT5jb2x1bW4oZXhlYykpOworfQorCitFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZUZ1
bmN0aW9uTmFtZShFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBl
eGVjLT5ob3N0VGhpc1ZhbHVlKCk7CisgICAgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKiBjYXN0ZWRU
aGlzID0ganNEeW5hbWljQ2FzdDxKU0phdmFTY3JpcHRDYWxsRnJhbWUqPih0aGlzVmFsdWUpOwor
ICAgIGlmICghY2FzdGVkVGhpcykKKyAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhl
Yyk7CisKKyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKGNhc3RlZFRoaXMsIEpTSmF2YVNj
cmlwdENhbGxGcmFtZTo6aW5mbygpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhc3Rl
ZFRoaXMtPmZ1bmN0aW9uTmFtZShleGVjKSk7Cit9CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlU2NvcGVDaGFpbihFeGVjU3RhdGUq
IGV4ZWMpCit7CisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7
CisgICAgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxK
U0phdmFTY3JpcHRDYWxsRnJhbWUqPih0aGlzVmFsdWUpOworICAgIGlmICghY2FzdGVkVGhpcykK
KyAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisKKyAgICBBU1NFUlRfR0Nf
T0JKRUNUX0lOSEVSSVRTKGNhc3RlZFRoaXMsIEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6aW5mbygp
KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhc3RlZFRoaXMtPnNjb3BlQ2hhaW4oZXhl
YykpOworfQorCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxG
cmFtZUF0dHJpYnV0ZVRoaXNPYmplY3QoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTVmFsdWUg
dGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOworICAgIEpTSmF2YVNjcmlwdENhbGxG
cmFtZSogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNKYXZhU2NyaXB0Q2FsbEZyYW1lKj4o
dGhpc1ZhbHVlKTsKKyAgICBpZiAoIWNhc3RlZFRoaXMpCisgICAgICAgIHJldHVybiB0aHJvd1ZN
VHlwZUVycm9yKGV4ZWMpOworCisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyhjYXN0ZWRU
aGlzLCBKU0phdmFTY3JpcHRDYWxsRnJhbWU6OmluZm8oKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShjYXN0ZWRUaGlzLT50aGlzT2JqZWN0KGV4ZWMpKTsKK30KKworRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVUeXBlKEV4ZWNT
dGF0ZSogZXhlYykKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFs
dWUoKTsKKyAgICBKU0phdmFTY3JpcHRDYWxsRnJhbWUqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWND
YXN0PEpTSmF2YVNjcmlwdENhbGxGcmFtZSo+KHRoaXNWYWx1ZSk7CisgICAgaWYgKCFjYXN0ZWRU
aGlzKQorICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKKworICAgIEFTU0VS
VF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpp
bmZvKCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY2FzdGVkVGhpcy0+dHlwZShleGVj
KSk7Cit9CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNKYXZhU2NyaXB0Q2FsbEZy
YW1lQ29uc3RhbnRHTE9CQUxfU0NPUEUoRXhlY1N0YXRlKikKK3sKKyAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzTnVtYmVyKEpTSmF2YVNjcmlwdENhbGxGcmFtZTo6R0xPQkFMX1NDT1BFKSk7
Cit9CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1l
Q29uc3RhbnRMT0NBTF9TQ09QRShFeGVjU3RhdGUqKQoreworICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNOdW1iZXIoSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpMT0NBTF9TQ09QRSkpOworfQor
CitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSmF2YVNjcmlwdENhbGxGcmFtZUNvbnN0
YW50V0lUSF9TQ09QRShFeGVjU3RhdGUqKQoreworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNOdW1iZXIoSlNKYXZhU2NyaXB0Q2FsbEZyYW1lOjpXSVRIX1NDT1BFKSk7Cit9CisKK0VuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQ29uc3RhbnRDTE9T
VVJFX1NDT1BFKEV4ZWNTdGF0ZSopCit7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051
bWJlcihKU0phdmFTY3JpcHRDYWxsRnJhbWU6OkNMT1NVUkVfU0NPUEUpKTsKK30KKworRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVDb25zdGFudENBVENI
X1NDT1BFKEV4ZWNTdGF0ZSopCit7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJl
cihKU0phdmFTY3JpcHRDYWxsRnJhbWU6OkNBVENIX1NDT1BFKSk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIEluc3BlY3RvcgorCisjZW5kaWYgLy8gRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCisj
ZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmgKc2ltaWxhcml0
eSBpbmRleCA1MSUKY29weSBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJ
bmplY3RlZFNjcmlwdEhvc3QuaApjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmgKaW5kZXggMTk5ZGZjYS4uZmFhNzRh
OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVk
U2NyaXB0SG9zdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZh
U2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDY4ICsyMyw0OCBAQAogICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAq
LwogCi0jaWZuZGVmIEpTSW5qZWN0ZWRTY3JpcHRIb3N0X2gKLSNkZWZpbmUgSlNJbmplY3RlZFNj
cmlwdEhvc3RfaAorI2lmbmRlZiBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGVfaAorI2Rl
ZmluZSBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGVfaAogCiAjaWYgRU5BQkxFKElOU1BF
Q1RPUikKKyNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKIAotI2luY2x1ZGUgIkpTRGVz
dHJ1Y3RpYmxlT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKIAogbmFtZXNwYWNlIElu
c3BlY3RvciB7CiAKLWNsYXNzIEluamVjdGVkU2NyaXB0SG9zdDsKLQotY2xhc3MgSlNJbmplY3Rl
ZFNjcmlwdEhvc3QgOiBwdWJsaWMgSlNDOjpKU0Rlc3RydWN0aWJsZU9iamVjdCB7CitjbGFzcyBK
U0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsT2Jq
ZWN0IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTQzo6SlNEZXN0cnVjdGlibGVPYmplY3QgQmFz
ZTsKKyAgICB0eXBlZGVmIEpTQzo6SlNOb25GaW5hbE9iamVjdCBCYXNlOwogCiAgICAgREVDTEFS
RV9JTkZPOwogCisgICAgc3RhdGljIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZSogY3Jl
YXRlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6
U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgeworICAgICAgICBKU0phdmFTY3JpcHRDYWxsRnJh
bWVQcm90b3R5cGUqIHB0ciA9IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0ZUNlbGw8SlNKYXZh
U2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlPih2bS5oZWFwKSkgSlNKYXZhU2NyaXB0Q2FsbEZyYW1l
UHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7CisgICAgICAgIHB0ci0+Zmlu
aXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBwdHI7CisgICAg
fQorCiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYg
dm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3Rv
dHlwZSkKICAgICB7CiAgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBn
bG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0
cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgSlNJbmplY3RlZFNj
cmlwdEhvc3QqIGNyZWF0ZShKU0M6OlZNJiB2bSwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
UGFzc1JlZlB0cjxJbmplY3RlZFNjcmlwdEhvc3Q+IGltcGwpCi0gICAgewotICAgICAgICBKU0lu
amVjdGVkU2NyaXB0SG9zdCogaW5zdGFuY2UgPSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVD
ZWxsPEpTSW5qZWN0ZWRTY3JpcHRIb3N0Pih2bS5oZWFwKSkgSlNJbmplY3RlZFNjcmlwdEhvc3Qo
dm0sIHN0cnVjdHVyZSwgaW1wbCk7Ci0gICAgICAgIGluc3RhbmNlLT5maW5pc2hDcmVhdGlvbih2
bSk7Ci0gICAgICAgIHJldHVybiBpbnN0YW5jZTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgSlNDOjpK
U09iamVjdCogY3JlYXRlUHJvdG90eXBlKEpTQzo6Vk0mLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7
Ci0gICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0M6OkpTQ2VsbCopOwotCi0gICAgSW5qZWN0ZWRT
Y3JpcHRIb3N0JiBpbXBsKCkgY29uc3QgeyByZXR1cm4gKm1faW1wbDsgfQotICAgIHZvaWQgcmVs
ZWFzZUltcGwoKTsKLQotICAgIC8vIEF0dHJpYnV0ZXMuCi0gICAgSlNDOjpKU1ZhbHVlIGV2YWx1
YXRlKEpTQzo6RXhlY1N0YXRlKikgY29uc3Q7Ci0KLSAgICAvLyBGdW5jdGlvbnMuCi0gICAgSlND
OjpKU1ZhbHVlIGludGVybmFsQ29uc3RydWN0b3JOYW1lKEpTQzo6RXhlY1N0YXRlKik7Ci0gICAg
SlNDOjpKU1ZhbHVlIGlzSFRNTEFsbENvbGxlY3Rpb24oSlNDOjpFeGVjU3RhdGUqKTsKLSAgICBK
U0M6OkpTVmFsdWUgdHlwZShKU0M6OkV4ZWNTdGF0ZSopOwotICAgIEpTQzo6SlNWYWx1ZSBmdW5j
dGlvbkRldGFpbHMoSlNDOjpFeGVjU3RhdGUqKTsKLSAgICBKU0M6OkpTVmFsdWUgZ2V0SW50ZXJu
YWxQcm9wZXJ0aWVzKEpTQzo6RXhlY1N0YXRlKik7Ci0KIHByb3RlY3RlZDoKLSAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBKU0M6Ok92ZXJyaWRlc0dldE93blByb3Bl
cnR5U2xvdCB8IEpTQzo6SW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hl
bkxlbmd0aElzTm90WmVybyB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOwotCi0gICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihKU0M6OlZNJik7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBCYXNlOjpTdHJ1Y3R1
cmVGbGFnczsKIAogcHJpdmF0ZToKLSAgICBKU0luamVjdGVkU2NyaXB0SG9zdChKU0M6OlZNJiwg
SlNDOjpTdHJ1Y3R1cmUqLCBQYXNzUmVmUHRyPEluamVjdGVkU2NyaXB0SG9zdD4pOwotICAgIH5K
U0luamVjdGVkU2NyaXB0SG9zdCgpOwotCi0gICAgSW5qZWN0ZWRTY3JpcHRIb3N0KiBtX2ltcGw7
CisgICAgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlKEpTQzo6Vk0mIHZtLCBKU0M6OkpT
R2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBKU0M6
OkpTTm9uRmluYWxPYmplY3Qodm0sIHN0cnVjdHVyZSkKKyAgICB7CisgICAgfQorICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKIH07CiAKLUpT
Qzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIElu
amVjdGVkU2NyaXB0SG9zdCopOwotSlNJbmplY3RlZFNjcmlwdEhvc3QqIHRvSlNJbmplY3RlZFNj
cmlwdEhvc3QoSlNDOjpKU1ZhbHVlKTsKLQogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKKyNl
bmRpZiAvLyBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKQogCi0jZW5kaWYgLy8gIWRlZmluZWQoSlNJbmplY3RlZFNjcmlwdEhvc3RfaCkKKyNl
bmRpZiAvLyAhZGVmaW5lZChKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGVfaCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0phdmFTY3JpcHRDYWxsRnJhbWUuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNw
cApzaW1pbGFyaXR5IGluZGV4IDk0JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcAppbmRleCAyMGFhYTk4Li4zYmMy
ZGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KYXZhU2NyaXB0Q2Fs
bEZyYW1lLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0phdmFTY3Jp
cHRDYWxsRnJhbWUuY3BwCkBAIC0yNCwxNiArMjQsMTQgQEAKICAqLwogCiAjaW5jbHVkZSAiY29u
ZmlnLmgiCi0KLSNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKLQogI2luY2x1ZGUgIkph
dmFTY3JpcHRDYWxsRnJhbWUuaCIKIAotI2luY2x1ZGUgPGRlYnVnZ2VyL0RlYnVnZ2VyQ2FsbEZy
YW1lLmg+CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJV
R0dFUikKIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFt
ZXNwYWNlIEluc3BlY3RvciB7CiAKIEphdmFTY3JpcHRDYWxsRnJhbWU6OkphdmFTY3JpcHRDYWxs
RnJhbWUoUGFzc1JlZlB0cjxEZWJ1Z2dlckNhbGxGcmFtZT4gZGVidWdnZXJDYWxsRnJhbWUpCiAg
ICAgOiBtX2RlYnVnZ2VyQ2FsbEZyYW1lKGRlYnVnZ2VyQ2FsbEZyYW1lKQpAQCAtNDcsMTIgKzQ1
LDEzIEBAIEphdmFTY3JpcHRDYWxsRnJhbWUqIEphdmFTY3JpcHRDYWxsRnJhbWU6OmNhbGxlcigp
CiAKICAgICBSZWZQdHI8RGVidWdnZXJDYWxsRnJhbWU+IGRlYnVnZ2VyQ2FsbGVyRnJhbWUgPSBt
X2RlYnVnZ2VyQ2FsbEZyYW1lLT5jYWxsZXJGcmFtZSgpOwogICAgIGlmICghZGVidWdnZXJDYWxs
ZXJGcmFtZSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAg
ICAgbV9jYWxsZXIgPSBjcmVhdGUoZGVidWdnZXJDYWxsZXJGcmFtZSk7CiAgICAgcmV0dXJuIG1f
Y2FsbGVyLmdldCgpOwogfQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFj
ZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQorI2Vu
ZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KYXZhU2NyaXB0Q2FsbEZyYW1lLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaApzaW1pbGFyaXR5IGluZGV4IDkzJQpyZW5hbWUg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KYXZhU2NyaXB0Q2FsbEZyYW1lLmgKcmVu
YW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFt
ZS5oCmluZGV4IDQ2OTZlYjUuLjFlMTE2OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0phdmFTY3JpcHRDYWxsRnJhbWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaApAQCAtMjYsMTYgKzI2LDE4IEBACiAj
aWZuZGVmIEphdmFTY3JpcHRDYWxsRnJhbWVfaAogI2RlZmluZSBKYXZhU2NyaXB0Q2FsbEZyYW1l
X2gKIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdH
RVIpCiAKLSNpbmNsdWRlIDxkZWJ1Z2dlci9EZWJ1Z2dlckNhbGxGcmFtZS5oPgotI2luY2x1ZGUg
PGludGVycHJldGVyL0NhbGxGcmFtZS5oPgorI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxpbmVzLmgi
CisjaW5jbHVkZSAiZGVidWdnZXIvRGVidWdnZXJDYWxsRnJhbWUuaCIKKyNpbmNsdWRlICJpbnRl
cnByZXRlci9DYWxsRnJhbWUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9UZXh0UG9zaXRpb24uaD4KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNw
YWNlIEluc3BlY3RvciB7CiAKIGNsYXNzIEphdmFTY3JpcHRDYWxsRnJhbWUgOiBwdWJsaWMgUmVm
Q291bnRlZDxKYXZhU2NyaXB0Q2FsbEZyYW1lPiB7CiBwdWJsaWM6CkBAIC01Nyw3ICs1OSw3IEBA
IHB1YmxpYzoKIAogICAgIEpTQzo6SlNWYWx1ZSB0aGlzVmFsdWUoKSBjb25zdCB7IHJldHVybiBt
X2RlYnVnZ2VyQ2FsbEZyYW1lLT50aGlzVmFsdWUoKTsgfQogICAgIEpTQzo6SlNWYWx1ZSBldmFs
dWF0ZShjb25zdCBTdHJpbmcmIHNjcmlwdCwgSlNDOjpKU1ZhbHVlJiBleGNlcHRpb24pIGNvbnN0
ICB7IHJldHVybiBtX2RlYnVnZ2VyQ2FsbEZyYW1lLT5ldmFsdWF0ZShzY3JpcHQsIGV4Y2VwdGlv
bik7IH0KLSAgICAKKwogcHJpdmF0ZToKICAgICBKYXZhU2NyaXB0Q2FsbEZyYW1lKFBhc3NSZWZQ
dHI8SlNDOjpEZWJ1Z2dlckNhbGxGcmFtZT4pOwogCkBAIC02NSw4ICs2Nyw5IEBAIHByaXZhdGU6
CiAgICAgUmVmUHRyPEphdmFTY3JpcHRDYWxsRnJhbWU+IG1fY2FsbGVyOwogfTsKIAotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBF
TkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQog
CiAjZW5kaWYgLy8gSmF2YVNjcmlwdENhbGxGcmFtZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnTGlzdGVuZXIuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdMaXN0ZW5lci5oCmluZGV4IDczZjg1ODgu
LmQxZmRhMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2Ny
aXB0RGVidWdMaXN0ZW5lci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
U2NyaXB0RGVidWdMaXN0ZW5lci5oCkBAIC03Myw2ICs3Myw5IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgZGlkUGF1c2UoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBEZXByZWNhdGVkOjpTY3Jp
cHRWYWx1ZSYgY2FsbEZyYW1lcywgY29uc3QgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUmIGV4Y2Vw
dGlvbikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRTYW1wbGVQcm9iZShKU0M6OkV4ZWNTdGF0
ZSosIGludCBwcm9iZUlkZW50aWZpZXIsIGludCBoaXRDb3VudCwgY29uc3QgRGVwcmVjYXRlZDo6
U2NyaXB0VmFsdWUmIHJlc3VsdCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDb250aW51ZSgp
ID0gMDsKKworICAgIHZpcnR1YWwgdm9pZCBicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0
YXRlKiwgY29uc3QgU3RyaW5nJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBicmVha3BvaW50QWN0
aW9uU291bmQoKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCnNpbWls
YXJpdHkgaW5kZXggODYlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdERlYnVnU2VydmVyLmNwcApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5jcHAKaW5kZXggNDdjZTZlNi4uZDdlODZjYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuY3Bw
CkBAIC0yOSwyMiArMjksMTYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBF
TkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKLQogI2luY2x1ZGUgIlNjcmlwdERlYnVnU2VydmVy
LmgiCiAKLSNpbmNsdWRlICJFdmVudExvb3AuaCIKLSNpbmNsdWRlICJKU0RPTVdpbmRvd0N1c3Rv
bS5oIgorI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQorCisjaW5jbHVkZSAiRGVidWdn
ZXJDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJKU0phdmFTY3JpcHRDYWxsRnJhbWUuaCIKKyNpbmNs
dWRlICJKU0xvY2suaCIKICNpbmNsdWRlICJKYXZhU2NyaXB0Q2FsbEZyYW1lLmgiCi0jaW5jbHVk
ZSAiUGFnZUNvbnNvbGUuaCIKLSNpbmNsdWRlICJTb3VuZC5oIgotI2luY2x1ZGUgIlRpbWVyLmgi
Ci0jaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFsdWUuaD4KLSNpbmNsdWRlIDxkZWJ1Z2dlci9E
ZWJ1Z2dlckNhbGxGcmFtZS5oPgotI2luY2x1ZGUgPHBhcnNlci9Tb3VyY2VQcm92aWRlci5oPgot
I2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CisjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKKyNp
bmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAj
aW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1RlbXBvcmFyeUNo
YW5nZS5oPgpAQCAtNTMsNyArNDcsNyBAQAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIHVzaW5nIG5h
bWVzcGFjZSBJbnNwZWN0b3I7CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNw
ZWN0b3IgewogCiBTY3JpcHREZWJ1Z1NlcnZlcjo6U2NyaXB0RGVidWdTZXJ2ZXIoYm9vbCBpc0lu
V29ya2VyVGhyZWFkKQogICAgIDogRGVidWdnZXIoaXNJbldvcmtlclRocmVhZCkKQEAgLTk3LDEx
ICs5MSwxMCBAQCB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpyZW1vdmVCcmVha3BvaW50KEpTQzo6
QnJlYWtwb2ludElEIGlkKQogYm9vbCBTY3JpcHREZWJ1Z1NlcnZlcjo6ZXZhbHVhdGVCcmVha3Bv
aW50QWN0aW9uKGNvbnN0IFNjcmlwdEJyZWFrcG9pbnRBY3Rpb24mIGJyZWFrcG9pbnRBY3Rpb24p
CiB7CiAgICAgRGVidWdnZXJDYWxsRnJhbWUqIGRlYnVnZ2VyQ2FsbEZyYW1lID0gY3VycmVudERl
YnVnZ2VyQ2FsbEZyYW1lKCk7CisKICAgICBzd2l0Y2ggKGJyZWFrcG9pbnRBY3Rpb24udHlwZSkg
ewogICAgIGNhc2UgU2NyaXB0QnJlYWtwb2ludEFjdGlvblR5cGVMb2c6IHsKLSAgICAgICAgRE9N
V2luZG93JiB3aW5kb3cgPSBhc0pTRE9NV2luZG93KGRlYnVnZ2VyQ2FsbEZyYW1lLT52bUVudHJ5
R2xvYmFsT2JqZWN0KCkpLT5pbXBsKCk7Ci0gICAgICAgIGlmIChQYWdlQ29uc29sZSogY29uc29s
ZSA9IHdpbmRvdy5wYWdlQ29uc29sZSgpKQotICAgICAgICAgICAgY29uc29sZS0+YWRkTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VMZXZlbCwgYnJlYWtwb2ludEFjdGlvbi5kYXRh
KTsKKyAgICAgICAgZGlzcGF0Y2hCcmVha3BvaW50QWN0aW9uTG9nKGRlYnVnZ2VyQ2FsbEZyYW1l
LT5leGVjKCksIGJyZWFrcG9pbnRBY3Rpb24uZGF0YSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0K
ICAgICBjYXNlIFNjcmlwdEJyZWFrcG9pbnRBY3Rpb25UeXBlRXZhbHVhdGU6IHsKQEAgLTExMiwx
OSArMTA1LDIxIEBAIGJvb2wgU2NyaXB0RGVidWdTZXJ2ZXI6OmV2YWx1YXRlQnJlYWtwb2ludEFj
dGlvbihjb25zdCBTY3JpcHRCcmVha3BvaW50QWN0aW9uJiBiCiAgICAgICAgIGJyZWFrOwogICAg
IH0KICAgICBjYXNlIFNjcmlwdEJyZWFrcG9pbnRBY3Rpb25UeXBlU291bmQ6Ci0gICAgICAgIHN5
c3RlbUJlZXAoKTsKKyAgICAgICAgZGlzcGF0Y2hCcmVha3BvaW50QWN0aW9uU291bmQoZGVidWdn
ZXJDYWxsRnJhbWUtPmV4ZWMoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2NyaXB0QnJl
YWtwb2ludEFjdGlvblR5cGVQcm9iZTogewogICAgICAgICBKU1ZhbHVlIGV4Y2VwdGlvbjsKICAg
ICAgICAgSlNWYWx1ZSByZXN1bHQgPSBkZWJ1Z2dlckNhbGxGcmFtZS0+ZXZhbHVhdGUoYnJlYWtw
b2ludEFjdGlvbi5kYXRhLCBleGNlcHRpb24pOwogICAgICAgICBpZiAoZXhjZXB0aW9uKQogICAg
ICAgICAgICAgcmVwb3J0RXhjZXB0aW9uKGRlYnVnZ2VyQ2FsbEZyYW1lLT5leGVjKCksIGV4Y2Vw
dGlvbik7Ci0KKyAgICAgICAgCiAgICAgICAgIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSA9IGRlYnVn
Z2VyQ2FsbEZyYW1lLT5zY29wZSgpLT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpOwogICAg
ICAgICBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSB3cmFwcGVkUmVzdWx0ID0gRGVwcmVjYXRlZDo6
U2NyaXB0VmFsdWUoc3RhdGUtPnZtKCksIGV4Y2VwdGlvbiA/IGV4Y2VwdGlvbiA6IHJlc3VsdCk7
CiAgICAgICAgIGRpc3BhdGNoRGlkU2FtcGxlUHJvYmUoc3RhdGUsIGJyZWFrcG9pbnRBY3Rpb24u
aWRlbnRpZmllciwgd3JhcHBlZFJlc3VsdCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICBk
ZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAKICAgICByZXR1
cm4gdHJ1ZTsKQEAgLTE0MywxOCArMTM4LDQ2IEBAIHZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OmRp
c3BhdGNoRGlkUGF1c2UoU2NyaXB0RGVidWdMaXN0ZW5lciogbGlzdGVuZXIpCiAgICAgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGRlYnVnZ2VyQ2FsbEZyYW1lLT5zY29wZSgpLT5nbG9i
YWxPYmplY3QoKTsKICAgICBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUgPSBnbG9iYWxPYmplY3QtPmds
b2JhbEV4ZWMoKTsKICAgICBSZWZQdHI8SmF2YVNjcmlwdENhbGxGcmFtZT4gamF2YVNjcmlwdENh
bGxGcmFtZSA9IEphdmFTY3JpcHRDYWxsRnJhbWU6OmNyZWF0ZShkZWJ1Z2dlckNhbGxGcmFtZSk7
Ci0gICAgSlNWYWx1ZSBqc0NhbGxGcmFtZTsKLSAgICB7Ci0gICAgICAgIGlmIChnbG9iYWxPYmpl
Y3QtPmluaGVyaXRzKEpTRE9NR2xvYmFsT2JqZWN0OjppbmZvKCkpKSB7Ci0gICAgICAgICAgICBK
U0RPTUdsb2JhbE9iamVjdCogZG9tR2xvYmFsT2JqZWN0ID0ganNDYXN0PEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgICAgIEpTTG9ja0hvbGRlciBsb2NrKHN0YXRl
KTsKLSAgICAgICAgICAgIGpzQ2FsbEZyYW1lID0gdG9KUyhzdGF0ZSwgZG9tR2xvYmFsT2JqZWN0
LCBqYXZhU2NyaXB0Q2FsbEZyYW1lLmdldCgpKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICBqc0NhbGxGcmFtZSA9IGpzVW5kZWZpbmVkKCk7Ci0gICAgfQorICAgIEpTVmFsdWUganNDYWxs
RnJhbWUgPSB0b0pTKHN0YXRlLCBnbG9iYWxPYmplY3QsIGphdmFTY3JpcHRDYWxsRnJhbWUuZ2V0
KCkpOwogICAgIGxpc3RlbmVyLT5kaWRQYXVzZShzdGF0ZSwgRGVwcmVjYXRlZDo6U2NyaXB0VmFs
dWUoc3RhdGUtPnZtKCksIGpzQ2FsbEZyYW1lKSwgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUoKSk7
CiB9CiAKK3ZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNoQnJlYWtwb2ludEFjdGlvbkxv
ZyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKK3sKKyAgICBpZiAobV9j
YWxsaW5nTGlzdGVuZXJzKQorICAgICAgICByZXR1cm47CisKKyAgICBMaXN0ZW5lclNldCogbGlz
dGVuZXJzID0gZ2V0TGlzdGVuZXJzRm9yR2xvYmFsT2JqZWN0KGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKSk7CisgICAgaWYgKCFsaXN0ZW5lcnMpCisgICAgICAgIHJldHVybjsKKyAgICBBU1NF
UlQoIWxpc3RlbmVycy0+aXNFbXB0eSgpKTsKKworICAgIFRlbXBvcmFyeUNoYW5nZTxib29sPiBj
aGFuZ2UobV9jYWxsaW5nTGlzdGVuZXJzLCB0cnVlKTsKKworICAgIFZlY3RvcjxTY3JpcHREZWJ1
Z0xpc3RlbmVyKj4gbGlzdGVuZXJzQ29weTsKKyAgICBjb3B5VG9WZWN0b3IoKmxpc3RlbmVycywg
bGlzdGVuZXJzQ29weSk7CisgICAgZm9yIChhdXRvIGxpc3RlbmVyIDogbGlzdGVuZXJzQ29weSkK
KyAgICAgICAgbGlzdGVuZXItPmJyZWFrcG9pbnRBY3Rpb25Mb2coZXhlYywgbWVzc2FnZSk7Cit9
CisKK3ZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNoQnJlYWtwb2ludEFjdGlvblNvdW5k
KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBpZiAobV9jYWxsaW5nTGlzdGVuZXJzKQorICAgICAg
ICByZXR1cm47CisKKyAgICBMaXN0ZW5lclNldCogbGlzdGVuZXJzID0gZ2V0TGlzdGVuZXJzRm9y
R2xvYmFsT2JqZWN0KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CisgICAgaWYgKCFsaXN0
ZW5lcnMpCisgICAgICAgIHJldHVybjsKKyAgICBBU1NFUlQoIWxpc3RlbmVycy0+aXNFbXB0eSgp
KTsKKworICAgIFRlbXBvcmFyeUNoYW5nZTxib29sPiBjaGFuZ2UobV9jYWxsaW5nTGlzdGVuZXJz
LCB0cnVlKTsKKworICAgIFZlY3RvcjxTY3JpcHREZWJ1Z0xpc3RlbmVyKj4gbGlzdGVuZXJzQ29w
eTsKKyAgICBjb3B5VG9WZWN0b3IoKmxpc3RlbmVycywgbGlzdGVuZXJzQ29weSk7CisgICAgZm9y
IChhdXRvIGxpc3RlbmVyIDogbGlzdGVuZXJzQ29weSkKKyAgICAgICAgbGlzdGVuZXItPmJyZWFr
cG9pbnRBY3Rpb25Tb3VuZCgpOworfQorCiB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRj
aERpZFNhbXBsZVByb2JlKEV4ZWNTdGF0ZSogZXhlYywgaW50IGlkZW50aWZpZXIsIGNvbnN0IERl
cHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBzYW1wbGUpCiB7CiAgICAgaWYgKG1fY2FsbGluZ0xpc3Rl
bmVycykKQEAgLTIyMywxMSArMjQ2LDYgQEAgdm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlzcGF0
Y2hGYWlsZWRUb1BhcnNlU291cmNlKGNvbnN0IExpc3RlbmVyU2V0JiBsaXN0ZW5lcnMKICAgICAg
ICAgY29weVtpXS0+ZmFpbGVkVG9QYXJzZVNvdXJjZSh1cmwsIGRhdGEsIGZpcnN0TGluZSwgZXJy
b3JMaW5lLCBlcnJvck1lc3NhZ2UpOwogfQogCi1ib29sIFNjcmlwdERlYnVnU2VydmVyOjppc0Nv
bnRlbnRTY3JpcHQoRXhlY1N0YXRlKiBleGVjKQotewotICAgIHJldHVybiAmY3VycmVudFdvcmxk
KGV4ZWMpICE9ICZtYWluVGhyZWFkTm9ybWFsV29ybGQoKTsKLX0KLQogdm9pZCBTY3JpcHREZWJ1
Z1NlcnZlcjo6c291cmNlUGFyc2VkKEV4ZWNTdGF0ZSogZXhlYywgU291cmNlUHJvdmlkZXIqIHNv
dXJjZVByb3ZpZGVyLCBpbnQgZXJyb3JMaW5lLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkK
IHsKICAgICBpZiAobV9jYWxsaW5nTGlzdGVuZXJzKQpAQCAtMjM4LDE1ICsyNTYsMTMgQEAgdm9p
ZCBTY3JpcHREZWJ1Z1NlcnZlcjo6c291cmNlUGFyc2VkKEV4ZWNTdGF0ZSogZXhlYywgU291cmNl
UHJvdmlkZXIqIHNvdXJjZVByb3YKICAgICAgICAgcmV0dXJuOwogICAgIEFTU0VSVCghbGlzdGVu
ZXJzLT5pc0VtcHR5KCkpOwogCi0gICAgbV9jYWxsaW5nTGlzdGVuZXJzID0gdHJ1ZTsKKyAgICBU
ZW1wb3JhcnlDaGFuZ2U8Ym9vbD4gY2hhbmdlKG1fY2FsbGluZ0xpc3RlbmVycywgdHJ1ZSk7CiAK
ICAgICBib29sIGlzRXJyb3IgPSBlcnJvckxpbmUgIT0gLTE7CiAgICAgaWYgKGlzRXJyb3IpCiAg
ICAgICAgIGRpc3BhdGNoRmFpbGVkVG9QYXJzZVNvdXJjZSgqbGlzdGVuZXJzLCBzb3VyY2VQcm92
aWRlciwgZXJyb3JMaW5lLCBlcnJvck1lc3NhZ2UpOwogICAgIGVsc2UKICAgICAgICAgZGlzcGF0
Y2hEaWRQYXJzZVNvdXJjZSgqbGlzdGVuZXJzLCBzb3VyY2VQcm92aWRlciwgaXNDb250ZW50U2Ny
aXB0KGV4ZWMpKTsKLQotICAgIG1fY2FsbGluZ0xpc3RlbmVycyA9IGZhbHNlOwogfQogCiB2b2lk
IFNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaEZ1bmN0aW9uVG9MaXN0ZW5lcnMoY29uc3QgTGlz
dGVuZXJTZXQmIGxpc3RlbmVycywgSmF2YVNjcmlwdEV4ZWN1dGlvbkNhbGxiYWNrIGNhbGxiYWNr
KQpAQCAtMjYyLDE0ICsyNzgsMTIgQEAgdm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlzcGF0Y2hG
dW5jdGlvblRvTGlzdGVuZXJzKEphdmFTY3JpcHRFeGVjdXRpb25DYWxsYmFjawogICAgIGlmICht
X2NhbGxpbmdMaXN0ZW5lcnMpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY2FsbGluZ0xpc3Rl
bmVycyA9IHRydWU7CisgICAgVGVtcG9yYXJ5Q2hhbmdlPGJvb2w+IGNoYW5nZShtX2NhbGxpbmdM
aXN0ZW5lcnMsIHRydWUpOwogCiAgICAgaWYgKExpc3RlbmVyU2V0KiBsaXN0ZW5lcnMgPSBnZXRM
aXN0ZW5lcnNGb3JHbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KSkgewogICAgICAgICBBU1NFUlQo
IWxpc3RlbmVycy0+aXNFbXB0eSgpKTsKICAgICAgICAgZGlzcGF0Y2hGdW5jdGlvblRvTGlzdGVu
ZXJzKCpsaXN0ZW5lcnMsIGNhbGxiYWNrKTsKICAgICB9Ci0KLSAgICBtX2NhbGxpbmdMaXN0ZW5l
cnMgPSBmYWxzZTsKIH0KIAogdm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6bm90aWZ5RG9uZVByb2Nl
c3NpbmdEZWJ1Z2dlckV2ZW50cygpCkBAIC0zMDUsOCArMzE5LDYgQEAgdm9pZCBTY3JpcHREZWJ1
Z1NlcnZlcjo6aGFuZGxlUGF1c2UoRGVidWdnZXI6OlJlYXNvbkZvclBhdXNlLCBKU0dsb2JhbE9i
amVjdCogdm0KICAgICBkaXNwYXRjaEZ1bmN0aW9uVG9MaXN0ZW5lcnMoJlNjcmlwdERlYnVnU2Vy
dmVyOjpkaXNwYXRjaERpZFBhdXNlLCB2bUVudHJ5R2xvYmFsT2JqZWN0KTsKICAgICBkaWRQYXVz
ZSh2bUVudHJ5R2xvYmFsT2JqZWN0KTsKIAotICAgIFRpbWVyQmFzZTo6ZmlyZVRpbWVyc0luTmVz
dGVkRXZlbnRMb29wKCk7Ci0KICAgICBtX2RvbmVQcm9jZXNzaW5nRGVidWdnZXJFdmVudHMgPSBm
YWxzZTsKICAgICBydW5FdmVudExvb3BXaGlsZVBhdXNlZCgpOwogCkBAIC0zMjUsNiArMzM3LDYg
QEAgY29uc3QgVmVjdG9yPFNjcmlwdEJyZWFrcG9pbnRBY3Rpb24+JiBTY3JpcHREZWJ1Z1NlcnZl
cjo6Z2V0QWN0aW9uc0ZvckJyZWFrcG9pbnQKICAgICByZXR1cm4gZW1wdHlBY3Rpb25WZWN0b3I7
CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3Rvcgog
CiAjZW5kaWYgLy8gRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5oCnNpbWlsYXJpdHkgaW5kZXgg
NzclCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2Vy
dmVyLmgKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVi
dWdTZXJ2ZXIuaAppbmRleCBkNDhmZDE1Li44ZjQyNTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMC0yMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0zMiwxMCArMzIsMTAgQEAK
IAogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogCi0jaW5jbHVkZSA8YmluZGluZ3Mv
U2NyaXB0T2JqZWN0Lmg+Ci0jaW5jbHVkZSA8ZGVidWdnZXIvRGVidWdnZXIuaD4KLSNpbmNsdWRl
IDxpbnNwZWN0b3IvU2NyaXB0QnJlYWtwb2ludC5oPgotI2luY2x1ZGUgPGluc3BlY3Rvci9TY3Jp
cHREZWJ1Z0xpc3RlbmVyLmg+CisjaW5jbHVkZSAiU2NyaXB0QnJlYWtwb2ludC5oIgorI2luY2x1
ZGUgIlNjcmlwdERlYnVnTGlzdGVuZXIuaCIKKyNpbmNsdWRlICJiaW5kaW5ncy9TY3JpcHRPYmpl
Y3QuaCIKKyNpbmNsdWRlICJkZWJ1Z2dlci9EZWJ1Z2dlci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CkBAIC00NCwyMyArNDQsMjMgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAog
bmFtZXNwYWNlIEpTQyB7Ci1jbGFzcyBEZWJ1Z2dlckNhbGxGcmFtZTsKLWNsYXNzIEpTR2xvYmFs
T2JqZWN0OwogY2xhc3MgRXhlY1N0YXRlOworY2xhc3MgSlNHbG9iYWxPYmplY3Q7CiB9CiAKLW5h
bWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCi1jbGFzcyBTY3JpcHRE
ZWJ1Z1NlcnZlciA6IHB1YmxpYyBKU0M6OkRlYnVnZ2VyIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTY3JpcHREZWJ1Z1NlcnZlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworY2xhc3Mg
SlNfRVhQT1JUX1BSSVZBVEUgU2NyaXB0RGVidWdTZXJ2ZXIgOiBwdWJsaWMgSlNDOjpEZWJ1Z2dl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2ZXIpOworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIEpTQzo6QnJlYWtwb2ludElEIHNl
dEJyZWFrcG9pbnQoSlNDOjpTb3VyY2VJRCwgY29uc3QgSW5zcGVjdG9yOjpTY3JpcHRCcmVha3Bv
aW50JiwgdW5zaWduZWQqIGFjdHVhbExpbmVOdW1iZXIsIHVuc2lnbmVkKiBhY3R1YWxDb2x1bW5O
dW1iZXIpOworICAgIEpTQzo6QnJlYWtwb2ludElEIHNldEJyZWFrcG9pbnQoSlNDOjpTb3VyY2VJ
RCwgY29uc3QgU2NyaXB0QnJlYWtwb2ludCYsIHVuc2lnbmVkKiBhY3R1YWxMaW5lTnVtYmVyLCB1
bnNpZ25lZCogYWN0dWFsQ29sdW1uTnVtYmVyKTsKICAgICB2b2lkIHJlbW92ZUJyZWFrcG9pbnQo
SlNDOjpCcmVha3BvaW50SUQpOwogICAgIHZvaWQgY2xlYXJCcmVha3BvaW50cygpOwogCiAgICAg
dmlydHVhbCB2b2lkIHJlY29tcGlsZUFsbEpTRnVuY3Rpb25zKCkgPSAwOwogCi0gICAgY29uc3Qg
VmVjdG9yPEluc3BlY3Rvcjo6U2NyaXB0QnJlYWtwb2ludEFjdGlvbj4mIGdldEFjdGlvbnNGb3JC
cmVha3BvaW50KEpTQzo6QnJlYWtwb2ludElEKTsKKyAgICBjb25zdCBWZWN0b3I8U2NyaXB0QnJl
YWtwb2ludEFjdGlvbj4mIGdldEFjdGlvbnNGb3JCcmVha3BvaW50KEpTQzo6QnJlYWtwb2ludElE
KTsKIAogICAgIGNsYXNzIFRhc2sgewogICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
QEAgLTcwLDggKzcwLDggQEAgcHVibGljOgogICAgIH07CiAKIHByb3RlY3RlZDoKLSAgICB0eXBl
ZGVmIEhhc2hTZXQ8SW5zcGVjdG9yOjpTY3JpcHREZWJ1Z0xpc3RlbmVyKj4gTGlzdGVuZXJTZXQ7
Ci0gICAgdHlwZWRlZiB2b2lkIChTY3JpcHREZWJ1Z1NlcnZlcjo6KkphdmFTY3JpcHRFeGVjdXRp
b25DYWxsYmFjaykoSW5zcGVjdG9yOjpTY3JpcHREZWJ1Z0xpc3RlbmVyKik7CisgICAgdHlwZWRl
ZiBIYXNoU2V0PFNjcmlwdERlYnVnTGlzdGVuZXIqPiBMaXN0ZW5lclNldDsKKyAgICB0eXBlZGVm
IHZvaWQgKFNjcmlwdERlYnVnU2VydmVyOjoqSmF2YVNjcmlwdEV4ZWN1dGlvbkNhbGxiYWNrKShT
Y3JpcHREZWJ1Z0xpc3RlbmVyKik7CiAKICAgICBTY3JpcHREZWJ1Z1NlcnZlcihib29sIGlzSW5X
b3JrZXJUaHJlYWQgPSBmYWxzZSk7CiAgICAgflNjcmlwdERlYnVnU2VydmVyKCk7CkBAIC03OSwy
NSArNzksMjYgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgTGlzdGVuZXJTZXQqIGdldExpc3Rl
bmVyc0Zvckdsb2JhbE9iamVjdChKU0M6OkpTR2xvYmFsT2JqZWN0KikgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRQYXVzZShKU0M6OkpTR2xvYmFsT2JqZWN0KikgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBkaWRDb250aW51ZShKU0M6OkpTR2xvYmFsT2JqZWN0KikgPSAwOwotCiAgICAgdmlydHVh
bCB2b2lkIHJ1bkV2ZW50TG9vcFdoaWxlUGF1c2VkKCkgPSAwOworICAgIHZpcnR1YWwgYm9vbCBp
c0NvbnRlbnRTY3JpcHQoSlNDOjpFeGVjU3RhdGUqKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2
b2lkIHJlcG9ydEV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSkgY29uc3Qg
PSAwOwogCi0gICAgdmlydHVhbCBib29sIGlzQ29udGVudFNjcmlwdChKU0M6OkV4ZWNTdGF0ZSop
OwotCi0gICAgYm9vbCBldmFsdWF0ZUJyZWFrcG9pbnRBY3Rpb24oY29uc3QgSW5zcGVjdG9yOjpT
Y3JpcHRCcmVha3BvaW50QWN0aW9uJik7CisgICAgYm9vbCBldmFsdWF0ZUJyZWFrcG9pbnRBY3Rp
b24oY29uc3QgU2NyaXB0QnJlYWtwb2ludEFjdGlvbiYpOwogCiAgICAgdm9pZCBkaXNwYXRjaEZ1
bmN0aW9uVG9MaXN0ZW5lcnMoSmF2YVNjcmlwdEV4ZWN1dGlvbkNhbGxiYWNrLCBKU0M6OkpTR2xv
YmFsT2JqZWN0Kik7CiAgICAgdm9pZCBkaXNwYXRjaEZ1bmN0aW9uVG9MaXN0ZW5lcnMoY29uc3Qg
TGlzdGVuZXJTZXQmIGxpc3RlbmVycywgSmF2YVNjcmlwdEV4ZWN1dGlvbkNhbGxiYWNrIGNhbGxi
YWNrKTsKLSAgICB2b2lkIGRpc3BhdGNoRGlkUGF1c2UoSW5zcGVjdG9yOjpTY3JpcHREZWJ1Z0xp
c3RlbmVyKik7Ci0gICAgdm9pZCBkaXNwYXRjaERpZENvbnRpbnVlKEluc3BlY3Rvcjo6U2NyaXB0
RGVidWdMaXN0ZW5lciopOworICAgIHZvaWQgZGlzcGF0Y2hEaWRQYXVzZShTY3JpcHREZWJ1Z0xp
c3RlbmVyKik7CisgICAgdm9pZCBkaXNwYXRjaERpZENvbnRpbnVlKFNjcmlwdERlYnVnTGlzdGVu
ZXIqKTsKICAgICB2b2lkIGRpc3BhdGNoRGlkUGFyc2VTb3VyY2UoY29uc3QgTGlzdGVuZXJTZXQm
IGxpc3RlbmVycywgSlNDOjpTb3VyY2VQcm92aWRlciosIGJvb2wgaXNDb250ZW50U2NyaXB0KTsK
ICAgICB2b2lkIGRpc3BhdGNoRmFpbGVkVG9QYXJzZVNvdXJjZShjb25zdCBMaXN0ZW5lclNldCYg
bGlzdGVuZXJzLCBKU0M6OlNvdXJjZVByb3ZpZGVyKiwgaW50IGVycm9yTGluZSwgY29uc3QgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UpOworICAgIHZvaWQgZGlzcGF0Y2hCcmVha3BvaW50QWN0aW9uTG9n
KEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBkaXNwYXRjaEJyZWFr
cG9pbnRBY3Rpb25Tb3VuZChKU0M6OkV4ZWNTdGF0ZSopOwogICAgIHZvaWQgZGlzcGF0Y2hEaWRT
YW1wbGVQcm9iZShKU0M6OkV4ZWNTdGF0ZSosIGludCBwcm9iZUlkZW50aWZpZXIsIGNvbnN0IERl
cHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBzYW1wbGUpOwogCiAgICAgYm9vbCBtX2RvbmVQcm9jZXNz
aW5nRGVidWdnZXJFdmVudHM7CiAKIHByaXZhdGU6Ci0gICAgdHlwZWRlZiBWZWN0b3I8SW5zcGVj
dG9yOjpTY3JpcHRCcmVha3BvaW50QWN0aW9uPiBCcmVha3BvaW50QWN0aW9uczsKKyAgICB0eXBl
ZGVmIFZlY3RvcjxTY3JpcHRCcmVha3BvaW50QWN0aW9uPiBCcmVha3BvaW50QWN0aW9uczsKICAg
ICB0eXBlZGVmIEhhc2hNYXA8SlNDOjpCcmVha3BvaW50SUQsIEJyZWFrcG9pbnRBY3Rpb25zPiBC
cmVha3BvaW50SURUb0FjdGlvbnNNYXA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlUGFyc2Vk
KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpTb3VyY2VQcm92aWRlciosIGludCBlcnJvckxpbmUsIGNv
bnN0IFN0cmluZyYgZXJyb3JNc2cpIG92ZXJyaWRlIGZpbmFsOwpAQCAtMTEwLDExICsxMTEsOSBA
QCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faGl0Q291bnQ7CiAgICAgYm9vbCBtX2NhbGxpbmdM
aXN0ZW5lcnM7CiAgICAgQnJlYWtwb2ludElEVG9BY3Rpb25zTWFwIG1fYnJlYWtwb2ludElEVG9B
Y3Rpb25zOwotCi0gICAgZnJpZW5kIGNsYXNzIERlYnVnZ2VyQ2FsbEZyYW1lU2NvcGU7CiB9Owog
Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2Vu
ZGlmIC8vIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IGI5NGE5YTkuLmM5MDk2ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC01MzMsNyArNTMz
LDYgQEAgc2V0KFdlYkNvcmVfSURMX0ZJTEVTCiAKICAgICBpbnNwZWN0b3IvQ29tbWFuZExpbmVB
UElIb3N0LmlkbAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCi0gICAg
aW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsCiAgICAgaW5zcGVjdG9yL1NjcmlwdFBy
b2ZpbGUuaWRsCiAgICAgaW5zcGVjdG9yL1NjcmlwdFByb2ZpbGVOb2RlLmlkbAogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggYzEzNTJlZS4uY2Y3MjYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc2IEBACisyMDE0
LTAxLTIzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAg
TW92ZSBKYXZhU2NyaXB0Q2FsbEZyYW1lIGFuZCBTY3JpcHREZWJ1Z1NlcnZlciBpbnRvIEphdmFT
Y3JpcHRDb3JlIGZvciBpbnNwZWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNzU0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBG
b3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaDogQWRkZWQuCisg
ICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBVc2VKU0MuY21ha2U6Cisg
ICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQmluZGlu
Z3NBbGxJbk9uZS5jcHA6CisgICAgICAgIFVwZGF0ZSBidWlsZHMgbm93IHRoYXQgU2NyaXB0RGVi
dWdTZXJ2ZXIgbW92ZWQgdG8gSmF2YVNjcmlwdENvcmUuCisKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9QYWdlU2Ny
aXB0RGVidWdTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZVNjcmlwdERlYnVnU2Vy
dmVyOjpydW5FdmVudExvb3BXaGlsZVBhdXNlZCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlU2Ny
aXB0RGVidWdTZXJ2ZXI6OmlzQ29udGVudFNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
U2NyaXB0RGVidWdTZXJ2ZXI6OnJlcG9ydEV4Y2VwdGlvbik6CisgICAgICAgICogYmluZGluZ3Mv
anMvV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Xb3Jr
ZXJTY3JpcHREZWJ1Z1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRE
ZWJ1Z1NlcnZlcjo6cnVuRXZlbnRMb29wV2hpbGVQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6
V29ya2VyU2NyaXB0RGVidWdTZXJ2ZXI6OnJlcG9ydEV4Y2VwdGlvbik6CisgICAgICAgIEhhbmRs
ZSBTY3JpcHREZWJ1Z1NlcnZlciBmdW5jdGlvbmFsaXR5IGRlcGVuZGluZyBvbiBXZWJDb3JlIGtu
b3dsZWRnZS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvblNvdW5k
KToKKyAgICAgICAgSGFuZGxlIFNjcmlwdERlYnVnU2VydmVyIGZ1bmN0aW9uYWxpdHkgdGhhdCBk
ZXBlbmRlZCBvbiBXZWJDb3JlIGtub3dsZWRnZS4KKyAgICAgICAgVGhpcyB3aWxsIGV2ZW50dWFs
bHkgYmUgd3JpdHRlbiBpbiBhIG5vbi1XZWJDb3JlIHNwZWNpZmljIHdheS4KKworICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaDoKKyAgICAgICAgVXBkYXRlIFNjcmlwdERlYnVnU2Vy
dmVyIHR5cGUgbm93IHRoYXQgaXQgaXMgaW4gbmFtZXNwYWNlIEluc3BlY3Rvci4KKworICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgTWFrZSBhZGRDb25zb2xl
TWVzc2FnZSBwdWJsaWMgYWdhaW4gc28gdGhlIGluc3BlY3RvciBjYW4gY2FsbCBpdC4KKworICAg
ICAgICAqIGluc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlRGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxvZyk6CisgICAgICAgICogaW5z
cGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckRl
YnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyRGVidWdnZXJBZ2VudDo6
YnJlYWtwb2ludEFjdGlvbkxvZyk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2Vy
QWdlbnQuaDoKKyAgICAgICAgTGV0IGVhY2ggb2YgdGhlc2UgaGFuZGxlIGNvbnNvbGUgbG9ncyBp
biB0aGVpciBvd24gd2F5LiBCb3RoIG9mIHRoZXNlCisgICAgICAgIGV2ZW50dWFsbHkgZ28gdGhy
b3VnaCB0aGUgUGFnZUNvbnNvbGUgYW5kIGxvZyB0aHJvdWdoIHRoZSBJbnNwZWN0b3JDb25zb2xl
QWdlbnQKKyAgICAgICAgYW5kIENocm9tZUNsaWVudC4KKworMjAxNC0wMS0yMyAgSm9zZXBoIFBl
Y29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgSmF2YVNjcmlwdENh
bGxGcmFtZSBhbmQgU2NyaXB0RGVidWdTZXJ2ZXIgaW50byBKYXZhU2NyaXB0Q29yZSBmb3IgaW5z
cGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Mjc1NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBuZXcgdGVzdHMsIG5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIENNYWtlTGlz
dHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICog
VXNlSlNDLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6
CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9KYXZh
U2NyaXB0Q2FsbEZyYW1lLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgVXBkYXRlIGJ1aWxkIGZpbGVz
LgorCiAyMDE0LTAxLTI0ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXaW5dIENvbnZlcnQgc29tZSBOTWFrZSBmaWxlcyB0byBNU0J1aWxkIHByb2plY3Qg
ZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCAwNmZlOTcyLi41NzM0NGMxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0yNDMsNyArMjQzLDYgQEAKICNpbmNsdWRl
ICJKU0lEQlRyYW5zYWN0aW9uLmNwcCIKICNpbmNsdWRlICJKU0ltYWdlRGF0YS5jcHAiCiAjaW5j
bHVkZSAiSlNJbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIgotI2luY2x1ZGUgIkpTSmF2YVNjcmlw
dENhbGxGcmFtZS5jcHAiCiAjaW5jbHVkZSAiSlNLZXlib2FyZEV2ZW50LmNwcCIKICNpbmNsdWRl
ICJKU0xvY2F0aW9uLmNwcCIKICNpbmNsdWRlICJKU01lZGlhQ29udHJvbGxlci5jcHAiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyNzJjNzI3Li42MmEzMTU2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTcyNyw4ICs3MjcsNiBAQCBhbGwgOiBcCiAgICAgJChK
U19ET01fSEVBREVSUykgXAogICAgICQoV0VCX0RPTV9IRUFERVJTKSBcCiAgICAgXAotICAgIEpT
SmF2YVNjcmlwdENhbGxGcmFtZS5oIFwKLSAgICBcCiAgICAgQ1NTR3JhbW1hci5jcHAgXAogICAg
IENTU1Byb3BlcnR5TmFtZXMuaCBcCiAgICAgQ1NTVmFsdWVLZXl3b3Jkcy5oIFwKQEAgLTEwODUs
NyArMTA4Myw2IEBAIFdPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9SU19GSUxFID0gLi9Xb3Jr
ZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9ycy5pZGwKIFNIQVJFRFdPUktFUkdMT0JBTFNDT1BFX0NP
TlNUUlVDVE9SU19GSUxFID0gLi9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9ycy5p
ZGwKIERFRElDQVRFRFdPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9SU19GSUxFID0gLi9EZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9ycy5pZGwKIElETF9GSUxFU19UTVAgPSAu
L2lkbF9maWxlcy50bXAKLUFERElUSU9OQUxfSURMUyA9ICQoV2ViQ29yZSkvaW5zcGVjdG9yL0ph
dmFTY3JpcHRDYWxsRnJhbWUuaWRsCiBJRExfQVRUUklCVVRFU19GSUxFID0gJChXZWJDb3JlKS9i
aW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CiAKICMgVGhlIGZvbGxvd2luZyB0d28g
bGluZXMgZ2V0IGEgc3BhY2UgY2hhcmFjdGVyIHN0b3JlZCBpbiBhIHZhcmlhYmxlLgpAQCAtMTA5
Myw4ICsxMDkwLDggQEAgSURMX0FUVFJJQlVURVNfRklMRSA9ICQoV2ViQ29yZSkvYmluZGluZ3Mv
c2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAogc3BhY2UgOj0KIHNwYWNlICs9CiAKLSQoU1VQUExF
TUVOVEFMX01BS0VGSUxFX0RFUFMpIDogJChQUkVQUk9DRVNTX0lETFNfU0NSSVBUUykgJChCSU5E
SU5HX0lETFMpICQoQURESVRJT05BTF9JRExTKSAkKFBMQVRGT1JNX0ZFQVRVUkVfREVGSU5FUykK
LQlwcmludGYgIiQoc3Vic3QgJChzcGFjZSksLCQocGF0c3Vic3QgJSwlXG4sJChCSU5ESU5HX0lE
TFMpICQoQURESVRJT05BTF9JRExTKSkpIiA+ICQoSURMX0ZJTEVTX1RNUCkKKyQoU1VQUExFTUVO
VEFMX01BS0VGSUxFX0RFUFMpIDogJChQUkVQUk9DRVNTX0lETFNfU0NSSVBUUykgJChCSU5ESU5H
X0lETFMpICQoUExBVEZPUk1fRkVBVFVSRV9ERUZJTkVTKQorCXByaW50ZiAiJChzdWJzdCAkKHNw
YWNlKSwsJChwYXRzdWJzdCAlLCVcbiwkKEJJTkRJTkdfSURMUykpKSIgPiAkKElETF9GSUxFU19U
TVApCiAJJChjYWxsIHByZXByb2Nlc3NfaWRsc19zY3JpcHQsICQoUFJFUFJPQ0VTU19JRExTX1ND
UklQVFMpKSAtLWRlZmluZXMgIiQoRkVBVFVSRV9ERUZJTkVTKSAkKEFERElUSU9OQUxfSURMX0RF
RklORVMpIExBTkdVQUdFX0pBVkFTQ1JJUFQiIC0taWRsRmlsZXNMaXN0ICQoSURMX0ZJTEVTX1RN
UCkgLS1zdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZSAkKFNVUFBMRU1FTlRBTF9ERVBFTkRFTkNZ
X0ZJTEUpIC0td2luZG93Q29uc3RydWN0b3JzRmlsZSAkKFdJTkRPV19DT05TVFJVQ1RPUlNfRklM
RSkgLS13b3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChXT1JLRVJHTE9CQUxTQ09Q
RV9DT05TVFJVQ1RPUlNfRklMRSkgLS1zaGFyZWRXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9y
c0ZpbGUgJChTSEFSRURXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgLS1kZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChERURJQ0FURURXT1JLRVJH
TE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgLS1zdXBwbGVtZW50YWxNYWtlZmlsZURlcHMg
JEAKIAlybSAtZiAkKElETF9GSUxFU19UTVApCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvU291cmNl
L1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk0NDJhMgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRE
ZWJ1Z1NlcnZlci5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9TY3JpcHRE
ZWJ1Z1NlcnZlcl9oCisjZGVmaW5lIFdlYkNvcmVfRldEX1NjcmlwdERlYnVnU2VydmVyX2gKKyNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHREZWJ1Z1NlcnZlci5oPgorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA5Njg0OTUyLi5mYTdmMWEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ1Nyw4ICs0NTcsNiBAQCB3ZWJjb3JlX2J1aWx0X3Nv
dXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNJbnNwZWN0b3JGcm9udGVuZEhv
c3QuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NjcmlwdFByb2Nlc3Nvck5vZGUuY3Bw
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU2NyaXB0UHJvY2Vzc29yTm9kZS5oIFwKLQlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgXAotCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNLZXlib2FyZEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0tleWJvYXJkRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0xvY2F0aW9u
LmNwcCBcCkBAIC0xNTQ5LDcgKzE1NDcsNiBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdl
YkNvcmUpL2h0bWwvdHJhY2svVmlkZW9UcmFja0xpc3QuaWRsIFwKIAkkKFdlYkNvcmUpL2luc3Bl
Y3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaWRsIFwKIAkkKFdlYkNvcmUpL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuaWRsIFwKLQkkKFdlYkNvcmUpL2luc3BlY3Rvci9KYXZhU2NyaXB0
Q2FsbEZyYW1lLmlkbCBcCiAJJChXZWJDb3JlKS9pbnNwZWN0b3IvU2NyaXB0UHJvZmlsZS5pZGwg
XAogCSQoV2ViQ29yZSkvaW5zcGVjdG9yL1NjcmlwdFByb2ZpbGVOb2RlLmlkbCBcCiAJJChXZWJD
b3JlKS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwgXApAQCAtMjM3MCw3
ICsyMzY3LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0ltYWdlQ29uc3RydWN0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNJbWFnZURhdGFDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lu
c3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTSmF2YVNjcmlwdENhbGxGcmFtZUN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTTGF6eUV2ZW50TGlzdGVuZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0xhenlFdmVudExpc3RlbmVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTTG9jYXRpb25DdXN0b20uY3BwIFwKQEAgLTI0MzQsOCArMjQzMCw2IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVz
dEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTWFBhdGhSZXN1bHRD
dXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hTTFRQcm9jZXNzb3JD
dXN0b20uY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KYXZhU2NyaXB0Q2FsbEZy
YW1lLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSmF2YVNjcmlwdENhbGxGcmFt
ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9EaWN0aW9uYXJ5LmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvRGljdGlvbmFyeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIFwKQEAgLTI0NDgsOCArMjQ0Miw2
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRDb250cm9sbGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5oIFwKLQlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZl
ci5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgg
XAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEhlYXBTbmFwc2hvdC5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRHbG9iYWxPYmplY3QuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRHbG9iYWxPYmplY3QuaCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21h
a2UKaW5kZXggNmY1ODAxZi4uMmRiMGZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVXNl
SlNDLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQpAQCAtOTcsNyArOTcs
NiBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU0ltYWdl
Q29uc3RydWN0b3IuY3BwCiAgICAgYmluZGluZ3MvanMvSlNJbWFnZURhdGFDdXN0b20uY3BwCiAg
ICAgYmluZGluZ3MvanMvSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwCi0gICAgYmlu
ZGluZ3MvanMvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pz
L0pTTGF6eUV2ZW50TGlzdGVuZXIuY3BwCiAgICAgYmluZGluZ3MvanMvSlNMb2NhdGlvbkN1c3Rv
bS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuY3BwCkBAIC0xNTQs
MTMgKzE1MywxMSBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9q
cy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTWFBhdGhSZXN1
bHRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNYU0xUUHJvY2Vzc29yQ3VzdG9tLmNwcAot
ICAgIGJpbmRpbmdzL2pzL0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwCiAgICAgYmluZGluZ3MvanMv
UGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcAogICAgIGJpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlv
bi5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwCiAgICAgYmlu
ZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3Jp
cHRDb250cm9sbGVyLmNwcAotICAgIGJpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmNwcAog
ICAgIGJpbmRpbmdzL2pzL1NjcmlwdEdsb2JhbE9iamVjdC5jcHAKICAgICBiaW5kaW5ncy9qcy9T
Y3JpcHRQcm9maWxlLmNwcAogICAgIGJpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggMDFl
MGNiMy4uYzU1NWI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qCkBAIC0zMTg3LDIwICszMTg3LDYgQEAKICAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rp
b258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rp
b258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9y
bUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNLZXlib2FyZEV2ZW50LmNwcCI+CiAgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8
eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0xNTgwMCwyMCArMTU3ODYsNiBAQAog
ICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgog
ICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAg
ICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEph
dmFTY3JpcHRDYWxsRnJhbWUuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTQXR0ckN1c3RvbS5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTY2NTYsMjAgKzE2NjI4LDYgQEAKICAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9D
bENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0phdmFT
Y3JpcHRDYWxsRnJhbWVDdXN0b20uY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTTGF6eUV2ZW50TGlzdGVuZXIuY3BwIj4KICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTE3Mjg2LDIwICsxNzI0NCw2
IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3Nc
anNcU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdEdsb2JhbE9iamVjdC5jcHAiIC8+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRQcm9maWxlLmNwcCIgLz4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdFByb2ZpbGVyLmNwcCI+
CkBAIC0xODI2MCw3ICsxODIwNCw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJUcmFuc2FjdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1
cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSW1hZ2VEYXRhLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9y
bUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJbnNwZWN0b3JG
cm9udGVuZEhvc3QuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xKU0phdmFTY3JpcHRDYWxsRnJhbWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJl
KVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0tleWJvYXJkRXZlbnQuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRm
b3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0xvY2F0aW9u
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNNZWRpYUNvbnRyb2xzSG9zdC5oIiAvPgpAQCAtMjA1NjMsNyArMjA1MDYsNiBAQAogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcRE9NV3JhcHBlcldvcmxkLmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xHQ0NvbnRyb2xsZXIuaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXElEQkJpbmRpbmdVdGlsaXRp
ZXMuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEphdmFTY3Jp
cHRDYWxsRnJhbWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpz
XEpTQ2FsbGJhY2tEYXRhLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5n
c1xqc1xKU0NTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmgiIC8+CkBAIC0y
MDU5NSw3ICsyMDUzNyw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xq
c1xTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGJpbmRpbmdzXGpzXFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENvbnRyb2xsZXIuaCIgLz4KLSAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdERlYnVnU2VydmVyLmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRIZWFwU25hcHNob3Qu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdEdsb2Jh
bE9iamVjdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2Ny
aXB0UHJvZmlsZS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IGM2NWQ2N2YuLjU3ZTM3ZWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
LmZpbHRlcnMKQEAgLTQyMjQsOSArNDIyNCw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxiaW5kaW5nc1xqc1xJREJCaW5kaW5nVXRpbGl0aWVzLmNwcCI+CiAgICAgICA8RmlsdGVyPmJp
bmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxiaW5kaW5nc1xqc1xKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCI+Ci0gICAgICA8Rmls
dGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0F0dHJDdXN0b20uY3BwIj4KICAgICAgIDxGaWx0
ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQzNjUsOSArNDM2
Miw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0luc3BlY3Rv
ckZyb250ZW5kSG9zdEN1c3RvbS5jcHAiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmls
dGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGlu
Z3NcanNcSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcCI+Ci0gICAgICA8RmlsdGVyPmJp
bmRpbmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxiaW5kaW5nc1xqc1xKU0xhenlFdmVudExpc3RlbmVyLmNwcCI+CiAgICAgICA8Rmls
dGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC00NTAwLDkgKzQ0
OTQsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q29u
dHJvbGxlci5jcHAiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwv
Q2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0
RGVidWdTZXJ2ZXIuY3BwIj4KLSAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KLSAg
ICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNj
cmlwdEdsb2JhbE9iamVjdC5jcHAiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVy
PgogICAgIDwvQ2xDb21waWxlPgpAQCAtNTcxOSw5ICs1NzEwLDYgQEAKICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0
dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0luc3BlY3RvckZyb250ZW5kSG9z
dC5jcHAiPgogICAgICAgPEZpbHRlcj5EZXJpdmVkU291cmNlczwvRmlsdGVyPgogICAgIDwvQ2xD
b21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIp
XG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAiPgotICAgICAgPEZpbHRlcj5EZXJpdmVkU291cmNl
czwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTS2V5Ym9hcmRFdmVudC5jcHAiPgogICAgICAgPEZpbHRl
cj5EZXJpdmVkU291cmNlczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMTEyNzksOSAr
MTEyNjcsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSURCQmlu
ZGluZ1V0aWxpdGllcy5oIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEph
dmFTY3JpcHRDYWxsRnJhbWUuaCI+Ci0gICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+
Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xq
c1xKU0NhbGxiYWNrRGF0YS5oIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4K
ICAgICA8L0NsSW5jbHVkZT4KQEAgLTExMzU3LDkgKzExMzQyLDYgQEAKICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENvbnRyb2xsZXIuaCI+CiAgICAgICA8Rmls
dGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHREZWJ1Z1NlcnZlci5oIj4KLSAgICAgIDxG
aWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdEhlYXBTbmFwc2hvdC5oIj4KICAgICAg
IDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTEzNDYy
LDkgKzEzNDQ0LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU0luc3BlY3RvckZyb250ZW5kSG9zdC5oIj4KICAgICAgIDxGaWx0ZXI+RGVyaXZl
ZFNvdXJjZXM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0phdmFTY3JpcHRDYWxsRnJhbWUuaCI+Ci0g
ICAgICA8RmlsdGVyPkRlcml2ZWRTb3VyY2VzPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0
Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNLZXlib2Fy
ZEV2ZW50LmgiPgogICAgICAgPEZpbHRlcj5EZXJpdmVkU291cmNlczwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGFkYzMwMjIuLjU4ZjI3OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTkwNCwxNCArOTA0LDkgQEAK
IAkJMUMyNjQ5N0MwRDdFMjRFQzAwQkQxMEYyIC8qIFBhZ2VNYWMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMyNjQ5N0IwRDdFMjRFQzAwQkQxMEYy
IC8qIFBhZ2VNYWMuY3BwICovOyB9OwogCQkxQzRDOEYwMjBBRDg1RDg3MDA5NDc1Q0UgLyogRGVs
ZXRlQnV0dG9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUM0QzhGMDAwQUQ4NUQ4NzAwOTQ3NUNFIC8qIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkxQzRDOEY2NjBBRDg2NTVEMDA5NDc1Q0UgLyogRGVsZXRlQnV0dG9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzRDOEY2NDBBRDg2NTVEMDA5NDc1
Q0UgLyogRGVsZXRlQnV0dG9uLmggKi87IH07Ci0JCTFDNUZBRUQxMERDRkQ5MDEwMEQ1OEY3OCAv
KiBKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUM1RkFFQ0YwRENGRDkwMTAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlw
dENhbGxGcmFtZS5jcHAgKi87IH07Ci0JCTFDNUZBRUQyMERDRkQ5MDEwMEQ1OEY3OCAvKiBKU0ph
dmFTY3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFDNUZBRUQwMERDRkQ5MDEwMEQ1OEY3OCAvKiBKU0phdmFTY3JpcHRDYWxsRnJh
bWUuaCAqLzsgfTsKLQkJMUM1RkFFRTcwRENGREE2ODAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENh
bGxGcmFtZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQzVGQUVFNjBEQ0ZEQTY4MDBENThGNzggLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1l
Q3VzdG9tLmNwcCAqLzsgfTsKIAkJMUM4MUI5NUEwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3Rv
ckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFDODFCOTU2MEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDb250cm9sbGVyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUM4MUI5NUIw
RTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4MUI5NTcwRTk3MzMwODAwMjY2RTA3
IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuY3BwICovOyB9OwogCQkxQzgxQjk1QzBFOTczMzA4MDAy
NjZFMDcgLyogSW5zcGVjdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQzgxQjk1ODBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ2xp
ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
MUM4MUJBMDkwRTk3MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4MUJBMDMwRTk3MzQ4
MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwICovOyB9OwotCQkxQzgxQkEwQTBF
OTczNDgzMDAyNjZFMDcgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4MUJBMDQwRTk3MzQ4MzAwMjY2RTA3IC8q
IEphdmFTY3JpcHRDYWxsRnJhbWUuaCAqLzsgfTsKIAkJMUNBMTlFMDUwREMyNTU5NTAwNjVBOTk0
IC8qIEV2ZW50TG9vcE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFDQTE5RTAzMERDMjU1OTUwMDY1QTk5NCAvKiBFdmVudExvb3BNYWMubW0gKi87
IH07CiAJCTFDQTE5RTE2MERDMjU1Q0EwMDY1QTk5NCAvKiBFdmVudExvb3AuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQTE5RTE1MERDMjU1Q0EwMDY1
QTk5NCAvKiBFdmVudExvb3AuaCAqLzsgfTsKIAkJMUNBRjM0ODEwQTZDNDA1MjAwQUJFMDZFIC8q
IFdlYlNjcmlwdE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUNBRjM0N0UwQTZDNDA1MjAwQUJFMDZFIC8qIFdlYlNjcmlwdE9iamVjdC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zNTEyLDgg
KzM1MDcsNiBAQAogCQk5RjBENkIyRTEyMUJGRUJBMDA2QzAyODggLyogSW5zcGVjdG9yUHJvZmls
ZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5RjBENkIyQzEyMUJGRUJBMDA2QzAyODggLyogSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAg
Ki87IH07CiAJCTlGMEQ2QjJGMTIxQkZFQkEwMDZDMDI4OCAvKiBJbnNwZWN0b3JQcm9maWxlckFn
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RjBE
NkIyRDEyMUJGRUJBMDA2QzAyODggLyogSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oICovOyB9Owog
CQk5RjNCOTQ3RTEyMjQxNzU4MDA1MzA0RTcgLyogU2NyaXB0SGVhcFNuYXBzaG90LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RjNCOTQ3RDEyMjQxNzU4
MDA1MzA0RTcgLyogU2NyaXB0SGVhcFNuYXBzaG90LmggKi87IH07Ci0JCTlGNkZDMTk2MTEyMkU4
MkEwMEU4MDE5NiAvKiBTY3JpcHREZWJ1Z1NlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RjZGQzE5NDExMjJFODJBMDBFODAxOTYgLyogU2Ny
aXB0RGVidWdTZXJ2ZXIuY3BwICovOyB9OwotCQk5RjZGQzE5NzExMjJFODJBMDBFODAxOTYgLyog
U2NyaXB0RGVidWdTZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDlGNkZDMTk1MTEyMkU4MkEwMEU4MDE5NiAvKiBTY3JpcHREZWJ1Z1NlcnZlci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTlGNzIz
MDRGMTExODRCNDEwMEFEMDEyNiAvKiBTY3JpcHRQcm9maWxlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RjcyMzA0QzExMTg0QjQxMDBBRDAxMjYgLyog
U2NyaXB0UHJvZmlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTlGNzIzMDUwMTExODRCNDEwMEFEMDEyNiAvKiBTY3JpcHRQcm9maWxlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RjcyMzA0RDEx
MTg0QjQxMDBBRDAxMjYgLyogU2NyaXB0UHJvZmlsZXIuY3BwICovOyB9OwogCQk5RjcyMzA1MTEx
MTg0QjQxMDBBRDAxMjYgLyogU2NyaXB0UHJvZmlsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlGNzIzMDRFMTExODRCNDEwMEFEMDEyNiAvKiBTY3Jp
cHRQcm9maWxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC03Njg4LDE1ICs3NjgxLDkgQEAKIAkJMUM0QzhGMDAwQUQ4NUQ4NzAwOTQ3NUNFIC8q
IERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJX
aWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJMUM0QzhGNjMwQUQ4NjU1RDAwOTQ3NUNFIC8q
IERlbGV0ZUJ1dHRvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBE
ZWxldGVCdXR0b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVz
ZXNUYWJzID0gMDsgfTsKIAkJMUM0QzhGNjQwQUQ4NjU1RDAwOTQ3NUNFIC8qIERlbGV0ZUJ1dHRv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZWxldGVCdXR0b24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07Ci0JCTFD
NUZBRUNGMERDRkQ5MDEwMEQ1OEY3OCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUM1RkFFRDAwRENGRDkwMTAwRDU4Rjc4
IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0phdmFTY3JpcHRDYWxsRnJhbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJMUM1RkFFRTYwRENGREE2ODAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZUN1c3Rv
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0phdmFTY3JpcHRD
YWxsRnJhbWVDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzgxQjk1
NjBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFDODFCOTU3MEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDb250
cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzgxQjk1ODBF
OTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEluc3BlY3RvckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQkxQzgxQkEwMzBFOTczNDgzMDAyNjZFMDcgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKYXZhU2NyaXB0Q2FsbEZyYW1l
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUM4MUJBMDQwRTk3MzQ4MzAwMjY2
RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSmF2YVNjcmlwdENhbGxGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkxQzgxQkEwNTBFOTczNDgzMDAyNjZFMDcgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gSmF2YVNjcmlwdENhbGxGcmFtZS5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDOTA0REY5MEJBOUQyQzgwMDgxRTlEMCAvKiBWZXJzaW9uLnhj
Y29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFZlcnNpb24ueGNjb25maWc7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTE5RTAzMERDMjU1OTUwMDY1QTk5NCAv
KiBFdmVudExvb3BNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBFdmVudExvb3BNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTE5RTE1
MERDMjU1Q0EwMDY1QTk5NCAvKiBFdmVudExvb3AuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRXZlbnRMb29wLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDQ3
Niw4ICsxMDQ2Myw2IEBACiAJCTlGMEQ2QjJDMTIxQkZFQkEwMDZDMDI4OCAvKiBJbnNwZWN0b3JQ
cm9maWxlckFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElu
c3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
RjBENkIyRDEyMUJGRUJBMDA2QzAyODggLyogSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JQcm9maWxlckFnZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlGM0I5NDdEMTIyNDE3NTgwMDUzMDRFNyAvKiBT
Y3JpcHRIZWFwU25hcHNob3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Ny
aXB0SGVhcFNuYXBzaG90Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTlGNkZDMTk0
MTEyMkU4MkEwMEU4MDE5NiAvKiBTY3JpcHREZWJ1Z1NlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHREZWJ1Z1NlcnZlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTlGNkZDMTk1MTEyMkU4MkEwMEU4MDE5NiAvKiBTY3JpcHREZWJ1
Z1NlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHREZWJ1Z1Nl
cnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5RjcyMzA0QzExMTg0QjQxMDBB
RDAxMjYgLyogU2NyaXB0UHJvZmlsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTY3JpcHRQcm9maWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlGNzIzMDRE
MTExODRCNDEwMEFEMDEyNiAvKiBTY3JpcHRQcm9maWxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRQcm9maWxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTlGNzIzMDRFMTExODRCNDEwMEFEMDEyNiAvKiBTY3JpcHRQcm9maWxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRQcm9maWxlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ3NzIsOCArMTQ3NTcsNiBAQAogCQkJCUE1ODRG
RTNBMTg2NEUyRDgwMDg0M0IxMCAvKiBKU0NvbW1hbmRMaW5lQVBJSG9zdC5oICovLAogCQkJCTdB
MEU3NzFDMTBDMDBEQjEwMEEwMjc2RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAgKi8s
CiAJCQkJN0EwRTc3MUQxMEMwMERCMTAwQTAyNzZFIC8qIEpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LmggKi8sCi0JCQkJMUM1RkFFQ0YwRENGRDkwMTAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxG
cmFtZS5jcHAgKi8sCi0JCQkJMUM1RkFFRDAwRENGRDkwMTAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlw
dENhbGxGcmFtZS5oICovLAogCQkJCTlGQTM3RUY2MTE3MkZEOTMwMEM0Q0Q1NSAvKiBKU1Njcmlw
dFByb2ZpbGUuY3BwICovLAogCQkJCTlGQTM3RUY3MTE3MkZEOTMwMEM0Q0Q1NSAvKiBKU1Njcmlw
dFByb2ZpbGUuaCAqLywKIAkJCQk5RkEzN0VGODExNzJGRDkzMDBDNENENTUgLyogSlNTY3JpcHRQ
cm9maWxlTm9kZS5jcHAgKi8sCkBAIC0xNDg4NCw3ICsxNDg2Nyw2IEBACiAJCQkJRjM3NUNDMDYx
MTUwRDMwMDAwOEREQjgxIC8qIEluc3BlY3RvcldvcmtlclJlc291cmNlLmggKi8sCiAJCQkJRjM1
MEI3MzQxM0YxMzc3RDAwODgwQzQzIC8qIEluc3RydW1lbnRpbmdBZ2VudHMuY3BwICovLAogCQkJ
CUYzQUJGRTBCMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmggKi8sCi0J
CQkJMUM4MUJBMDUwRTk3MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuaWRsICov
LAogCQkJCTU5QzI3RjA0MTM4RDI4QzEwMDc5QjdFMiAvKiBOZXR3b3JrUmVzb3VyY2VzRGF0YS5j
cHAgKi8sCiAJCQkJNTlDMjdGMDYxMzhEMjhDRjAwNzlCN0UyIC8qIE5ldHdvcmtSZXNvdXJjZXNE
YXRhLmggKi8sCiAJCQkJRjM4MjA4OEExNDdEMzVGOTAwMTBCQzA2IC8qIFBhZ2VDb25zb2xlQWdl
bnQuY3BwICovLApAQCAtMjAxNDAsOCArMjAxMjIsNiBAQAogCQkJCTE0MzJFODQ2MEM1MTQ5Mzgw
MEIxNTAwRiAvKiBHQ0NvbnRyb2xsZXIuaCAqLywKIAkJCQlDNTg1QTY2MDExRDRGQUM1MDA0QzNF
NEIgLyogSURCQmluZGluZ1V0aWxpdGllcy5jcHAgKi8sCiAJCQkJQzU4NUE2NjExMUQ0RkFDNTAw
NEMzRTRCIC8qIElEQkJpbmRpbmdVdGlsaXRpZXMuaCAqLywKLQkJCQkxQzgxQkEwMzBFOTczNDgz
MDAyNjZFMDcgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgKi8sCi0JCQkJMUM4MUJBMDQwRTk3
MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuaCAqLywKIAkJCQlFMTU3QThFRTE4
MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmNwcCAqLywKIAkJCQlF
MTU3QThFRjE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmggKi8s
CiAJCQkJRTEyNUY4M0IxODI0MTFFNzAwRDg0Q0Q5IC8qIEpTQ3J5cHRvT3BlcmF0aW9uRGF0YS5j
cHAgKi8sCkBAIC0yMDE5MSw4ICsyMDE3MSw2IEBACiAJCQkJOTNCNzBENTMwOUVCMEM3QzAwOUQ4
NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuY3BwICovLAogCQkJCTkzQjcwRDU0MDlFQjBDN0MwMDlE
ODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmggKi8sCiAJCQkJQTgzRTFDNzIwRTQ5MDQyQjAwMTQw
QjlDIC8qIFNjcmlwdENvbnRyb2xsZXJNYWMubW0gKi8sCi0JCQkJOUY2RkMxOTQxMTIyRTgyQTAw
RTgwMTk2IC8qIFNjcmlwdERlYnVnU2VydmVyLmNwcCAqLywKLQkJCQk5RjZGQzE5NTExMjJFODJB
MDBFODAxOTYgLyogU2NyaXB0RGVidWdTZXJ2ZXIuaCAqLywKIAkJCQk5RjNCOTQ3RDEyMjQxNzU4
MDA1MzA0RTcgLyogU2NyaXB0SGVhcFNuYXBzaG90LmggKi8sCiAJCQkJNDFGMDY2RTMwRjY0QkNG
NjAwQTA3RUFDIC8qIFNjcmlwdEdsb2JhbE9iamVjdC5jcHAgKi8sCiAJCQkJNDFGMDY2RTIwRjY0
QkNGNjAwQTA3RUFDIC8qIFNjcmlwdEdsb2JhbE9iamVjdC5oICovLApAQCAtMjAzMzYsNyArMjAz
MTQsNiBAQAogCQkJCTUxMUVGMkNFMTdGMEZERjEwMEU0RkExNiAvKiBKU0lEQk9iamVjdFN0b3Jl
Q3VzdG9tLmNwcCAqLywKIAkJCQlBN0QwMzE4RDBFOTM1NDAzMDBFMjRBQ0QgLyogSlNJbWFnZURh
dGFDdXN0b20uY3BwICovLAogCQkJCTdBNzRFQ0JDMTAxODM5REEwMEJGOTM5RSAvKiBKU0luc3Bl
Y3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAgKi8sCi0JCQkJMUM1RkFFRTYwRENGREE2ODAwRDU4
Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZUN1c3RvbS5jcHAgKi8sCiAJCQkJQkNFMUM0M0Yw
RDk4MzBGNDAwM0IwMkYyIC8qIEpTTG9jYXRpb25DdXN0b20uY3BwICovLAogCQkJCUFENzI2RkU3
MTZEOUYyMDQwMDNBNEU2RCAvKiBKU01lZGlhTGlzdEN1c3RvbS5oICovLAogCQkJCUUxQTVGOTlB
MEU3RUFBMjUwMEFGODVFQSAvKiBKU01lc3NhZ2VDaGFubmVsQ3VzdG9tLmNwcCAqLywKQEAgLTI0
MDAwLDcgKzIzOTc3LDYgQEAKIAkJCQlFMTM0RjVBQjEyRUUzNDNGMDA0RUM1OEQgLyogSW50UmVj
dEhhc2guaCBpbiBIZWFkZXJzICovLAogCQkJCUIyNzUzNTc1MEIwNTM4MTQwMDJDRTY0RiAvKiBJ
bnRTaXplLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjc1MzU3NjBCMDUzODE0MDAyQ0U2NEYgLyog
SW50U2l6ZUhhc2guaCBpbiBIZWFkZXJzICovLAotCQkJCTFDODFCQTBBMEU5NzM0ODMwMDI2NkUw
NyAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MThGODgwNTBG
Rjk1N0FGMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkRBMTVFQ0ExMkIwM0Y1MDAwM0E1ODNBIC8qIEpTQW5hbHlzZXJOb2RlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk2NURGMzFEQjA5RDFDMTIzMDAwQkUzMjUgLyogSlNBdHRyLmggaW4gSGVhZGVycyAq
LywKQEAgLTI0MjQ5LDcgKzI0MjI1LDYgQEAKIAkJCQlCQzZDNDlGNDBEN0RCQTA1MDBGRkE1NTgg
LyogSlNJbWFnZUNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzc5NzkyOTBENkI5
RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBMEU3NzFG
MTBDMDBEQjEwMEEwMjc2RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdC5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJMUM1RkFFRDIwRENGRDkwMTAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFt
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg2NjI5RDMwOURBMkI0ODAwOTYzM0E1IC8qIEpTS2V5
Ym9hcmRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMDBENTkxODJEQUM4RDAwMDg3REQ3
IC8qIEtleWVkQ29kaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVGNDU0MzBGN0MzQjVGMDBE
N0MxRkIgLyogSlNMYXp5RXZlbnRMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTE0NCw3
ICsyNTExOSw2IEBACiAJCQkJNDE2RTc1QkUwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxT
dGFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjM5MjI0OUQxMjZGMTFBRTAwQTkyNkQ5IC8qIFNj
cmlwdENhbGxTdGFja0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzQjcwRDcwMDlFQjBD
N0MwMDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQk5RjZG
QzE5NzExMjJFODJBMDBFODAxOTYgLyogU2NyaXB0RGVidWdTZXJ2ZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQ5OThBRUQyMTNGQjIyNEQwMDkwQjFBQSAvKiBTY3JpcHRlZEFuaW1hdGlvbkNvbnRy
b2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4QTQ4NDc4MEU1MjcyQzUwMEMzRkU3NiAvKiBT
Y3JpcHRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTFDOUQ5QjBFQjM2ODEyMDBFNDA5
REIgLyogU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzMzMiw3
ICsyNzMwNiw2IEBACiAJCQkJQjI3NTM1N0QwQjA1MzgxNDAwMkNFNjRGIC8qIEludFJlY3RNYWMu
bW0gaW4gU291cmNlcyAqLywKIAkJCQlCMjc1MzU2MjBCMDUzODE0MDAyQ0U2NEYgLyogSW50U2l6
ZUNHLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyNzUzNTdFMEIwNTM4MTQwMDJDRTY0RiAvKiBJ
bnRTaXplTWFjLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUM4MUJBMDkwRTk3MzQ4MzAwMjY2RTA3
IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE4Rjg4MDQw
RkY5NTdBRTAwODBGMDQ1IC8qIEpTQWJzdHJhY3RXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMDczQkUzNEYxN0QxODE4MzAwMkJENDMxIC8qIFJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE3MkFGNkQxODBGMjRDNjAwRkJBREI5IC8qIENyeXB0
b0FsZ29yaXRobS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI3NjE0LDEwICsyNzU4Nyw4IEBACiAJ
CQkJQTdEMDMxOEUwRTkzNTQwMzAwRTI0QUNEIC8qIEpTSW1hZ2VEYXRhQ3VzdG9tLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTdBMEU3NzFFMTBDMDBEQjEwMEEwMjc2RSAvKiBKU0luc3BlY3RvckZy
b250ZW5kSG9zdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTc0RUNCRDEwMTgzOURBMDBCRjkz
OUUgLyogSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCi0J
CQkJMUM1RkFFRDEwRENGRDkwMTAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwNzYzMDZFMDE3RTE2MDg5MDA1QTdDNEUgLyogSlNTb3VyY2VJ
bmZvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REI3MTdEMTQxNTEwMDdGRjg0MiAvKiBK
U1JUQ0ljZUNhbmRpZGF0ZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTFDNUZBRUU3MERD
RkRBNjgwMEQ1OEY3OCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWVDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQTg2NjI5RDQwOURBMkI0ODAwOTYzM0E1IC8qIEpTS2V5Ym9hcmRFdmVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzVGNDU0MjBGN0MzQjVGMDBEN0MxRkIgLyogSlNMYXp5
RXZlbnRMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0UxQzQzQjBEOTgzMEQzMDAz
QjAyRjIgLyogSlNMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4NDYxLDcgKzI4NDMy
LDYgQEAKIAkJCQlGMzkyMjQ5QzEyNkYxMUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFj
dG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0I3MEQ2RjA5RUIwQzdDMDA5RDg0NjggLyog
U2NyaXB0Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODNFMUM3NDBFNDkwNDJD
MDAxNDBCOUMgLyogU2NyaXB0Q29udHJvbGxlck1hYy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTlG
NkZDMTk2MTEyMkU4MkEwMEU4MDE5NiAvKiBTY3JpcHREZWJ1Z1NlcnZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk0OTk4QUVEMTEzRkIyMjREMDA5MEIxQUEgLyogU2NyaXB0ZWRBbmltYXRpb25D
b250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA4QTQ4NDc3MEU1MjcyQzUwMEMzRkU3
NiAvKiBTY3JpcHRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxMUM5REIwMEVCMzY5
OTUwMEU0MDlEQiAvKiBTY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcCBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25l
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAK
aW5kZXggN2JiMTk2OS4uMDQyOGU4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICovCiAKIC8vIFRoaXMgYWxsLWluLW9uZSBjcHAgZmlsZSBjdXRzIGRvd24gb24gdGVt
cGxhdGUgYmxvYXQgdG8gYWxsb3cgdXMgdG8gYnVpbGQgb3VyIFdpbmRvd3MgcmVsZWFzZSBidWls
ZC4KQEAgLTk1LDcgKzk1LDYgQEAKICNpbmNsdWRlICJKU0ltYWdlQ29uc3RydWN0b3IuY3BwIgog
I2luY2x1ZGUgIkpTSW1hZ2VEYXRhQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0luc3BlY3RvckZy
b250ZW5kSG9zdEN1c3RvbS5jcHAiCi0jaW5jbHVkZSAiSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3Vz
dG9tLmNwcCIKICNpbmNsdWRlICJKU0xhenlFdmVudExpc3RlbmVyLmNwcCIKICNpbmNsdWRlICJK
U0xvY2F0aW9uQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU01haW5UaHJlYWRFeGVjU3RhdGUuY3Bw
IgpAQCAtMTQxLDEzICsxNDAsMTEgQEAKICNpbmNsdWRlICJKU1hNTEh0dHBSZXF1ZXN0Q3VzdG9t
LmNwcCIKICNpbmNsdWRlICJKU1hQYXRoUmVzdWx0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1hT
TFRQcm9jZXNzb3JDdXN0b20uY3BwIgotI2luY2x1ZGUgIkphdmFTY3JpcHRDYWxsRnJhbWUuY3Bw
IgogI2luY2x1ZGUgIlBhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAiCiAjaW5jbHVkZSAiU2NoZWR1
bGVkQWN0aW9uLmNwcCIKICNpbmNsdWRlICJTY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwIgogI2lu
Y2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIgogI2luY2x1ZGUgIlNjcmlwdENvbnRy
b2xsZXIuY3BwIgotI2luY2x1ZGUgIlNjcmlwdERlYnVnU2VydmVyLmNwcCIKICNpbmNsdWRlICJT
Y3JpcHRQcm9maWxlci5jcHAiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuY3BwIgogI2luY2x1ZGUg
IlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcAppbmRleCAwNmI2NjZkLi5jN2VlZmJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9QYWdlU2NyaXB0RGVidWdT
ZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1BhZ2VTY3JpcHREZWJ1
Z1NlcnZlci5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNp
bmNsdWRlICJQbHVnaW5WaWV3LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgorI2lu
Y2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAjaW5jbHVkZSA8cnVudGltZS9K
U0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgpAQCAtMTkzLDYgKzE5NCw4IEBA
IHZvaWQgUGFnZVNjcmlwdERlYnVnU2VydmVyOjpydW5FdmVudExvb3BXaGlsZVBhdXNlZCgpCiAg
ICAgICAgIFdlYlJ1bkxvb3BFbmFibGVOZXN0ZWQoKTsKICNlbmRpZgogCisgICAgVGltZXJCYXNl
OjpmaXJlVGltZXJzSW5OZXN0ZWRFdmVudExvb3AoKTsKKwogICAgIEV2ZW50TG9vcCBsb29wOwog
ICAgIHdoaWxlICghbV9kb25lUHJvY2Vzc2luZ0RlYnVnZ2VyRXZlbnRzICYmICFsb29wLmVuZGVk
KCkpCiAgICAgICAgIGxvb3AuY3ljbGUoKTsKQEAgLTIwNCw2ICsyMDcsMTYgQEAgdm9pZCBQYWdl
U2NyaXB0RGVidWdTZXJ2ZXI6OnJ1bkV2ZW50TG9vcFdoaWxlUGF1c2VkKCkKICNlbmRpZgogfQog
Citib29sIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6aXNDb250ZW50U2NyaXB0KEV4ZWNTdGF0ZSog
ZXhlYykgY29uc3QKK3sKKyAgICByZXR1cm4gJmN1cnJlbnRXb3JsZChleGVjKSAhPSAmbWFpblRo
cmVhZE5vcm1hbFdvcmxkKCk7Cit9CisKK3ZvaWQgUGFnZVNjcmlwdERlYnVnU2VydmVyOjpyZXBv
cnRFeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGV4Y2VwdGlvbikgY29uc3QKK3sK
KyAgICBXZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24oZXhlYywgZXhjZXB0aW9uKTsKK30KKwogdm9p
ZCBQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OnNldEphdmFTY3JpcHRQYXVzZWQoY29uc3QgUGFnZUdy
b3VwJiBwYWdlR3JvdXAsIGJvb2wgcGF1c2VkKQogewogICAgIHNldE1haW5UaHJlYWRDYWxsYmFj
a3NQYXVzZWQocGF1c2VkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUGFn
ZVNjcmlwdERlYnVnU2VydmVyLmgKaW5kZXggNDdhMTdkOS4uNDZiMmRkMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUGFnZVNjcmlwdERlYnVnU2VydmVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUGFnZVNjcmlwdERlYnVnU2VydmVyLmgKQEAgLTMz
LDcgKzMzLDcgQEAKIAogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogCi0jaW5jbHVk
ZSAiU2NyaXB0RGVidWdTZXJ2ZXIuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0RGVidWdT
ZXJ2ZXIuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC00Myw3ICs0Myw3IEBAIGNsYXNzIEZyYW1lVmlldzsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBQ
YWdlR3JvdXA7CiAKLWNsYXNzIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBTY3JpcHRE
ZWJ1Z1NlcnZlciB7CitjbGFzcyBQYWdlU2NyaXB0RGVidWdTZXJ2ZXIgOiBwdWJsaWMgSW5zcGVj
dG9yOjpTY3JpcHREZWJ1Z1NlcnZlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZVNj
cmlwdERlYnVnU2VydmVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFnZVNjcmlwdERlYnVnU2Vy
dmVyJiBzaGFyZWQoKTsKQEAgLTYyLDggKzYyLDEwIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBM
aXN0ZW5lclNldCogZ2V0TGlzdGVuZXJzRm9yR2xvYmFsT2JqZWN0KEpTQzo6SlNHbG9iYWxPYmpl
Y3QqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUGF1c2UoSlNDOjpKU0dsb2JhbE9iamVjdCopOwog
ICAgIHZpcnR1YWwgdm9pZCBkaWRDb250aW51ZShKU0M6OkpTR2xvYmFsT2JqZWN0Kik7Ci0KICAg
ICB2aXJ0dWFsIHZvaWQgcnVuRXZlbnRMb29wV2hpbGVQYXVzZWQoKTsKKyAgICB2aXJ0dWFsIGJv
b2wgaXNDb250ZW50U2NyaXB0KEpTQzo6RXhlY1N0YXRlKikgY29uc3Qgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCB2b2lkIHJlcG9ydEV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1
ZSkgY29uc3Qgb3ZlcnJpZGU7CisKIAogICAgIHZvaWQgZGlkQWRkRmlyc3RMaXN0ZW5lcihQYWdl
Kik7CiAgICAgdm9pZCBkaWRSZW1vdmVMYXN0TGlzdGVuZXIoUGFnZSosIGJvb2wgc2tpcFJlY29t
cGlsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3Jp
cHREZWJ1Z1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3Jp
cHREZWJ1Z1NlcnZlci5jcHAKaW5kZXggNTMxOWU0YS4uZGExZWIzYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmNwcApA
QCAtMzQsNiArMzQsOCBAQAogCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAKKyNp
bmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIldv
cmtlckRlYnVnZ2VyQWdlbnQuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgogI2lu
Y2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKQEAgLTkwLDYgKzkyLDggQEAgdm9pZCBXb3JrZXJTY3Jp
cHREZWJ1Z1NlcnZlcjo6cmVjb21waWxlQWxsSlNGdW5jdGlvbnMoKQogCiB2b2lkIFdvcmtlclNj
cmlwdERlYnVnU2VydmVyOjpydW5FdmVudExvb3BXaGlsZVBhdXNlZCgpCiB7CisgICAgVGltZXJC
YXNlOjpmaXJlVGltZXJzSW5OZXN0ZWRFdmVudExvb3AoKTsKKwogICAgIE1lc3NhZ2VRdWV1ZVdh
aXRSZXN1bHQgcmVzdWx0OwogICAgIGRvIHsKICAgICAgICAgcmVzdWx0ID0gbV93b3JrZXJHbG9i
YWxTY29wZS0+dGhyZWFkKCktPnJ1bkxvb3AoKS5ydW5Jbk1vZGUobV93b3JrZXJHbG9iYWxTY29w
ZSwgbV9kZWJ1Z2dlclRhc2tNb2RlKTsKQEAgLTk3LDYgKzEwMSwxMSBAQCB2b2lkIFdvcmtlclNj
cmlwdERlYnVnU2VydmVyOjpydW5FdmVudExvb3BXaGlsZVBhdXNlZCgpCiAgICAgfSB3aGlsZSAo
cmVzdWx0ICE9IE1lc3NhZ2VRdWV1ZVRlcm1pbmF0ZWQgJiYgIW1fZG9uZVByb2Nlc3NpbmdEZWJ1
Z2dlckV2ZW50cyk7CiB9CiAKK3ZvaWQgV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXI6OnJlcG9ydEV4
Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNDOjpKU1ZhbHVlIGV4Y2VwdGlvbikgY29u
c3QKK3sKKyAgICBXZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24oZXhlYywgZXhjZXB0aW9uKTsKK30K
Kwogdm9pZCBXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlcjo6aW50ZXJydXB0QW5kUnVuVGFzayhQYXNz
T3duUHRyPFNjcmlwdERlYnVnU2VydmVyOjpUYXNrPikKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDY0ZGQy
MmUuLmI1YzYxNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtl
clNjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMzMsMTMgKzMzLDEzIEBACiAKICNpZiBFTkFCTEUo
SkFWQVNDUklQVF9ERUJVR0dFUikKIAotI2luY2x1ZGUgIlNjcmlwdERlYnVnU2VydmVyLmgiCisj
aW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiAKLWNsYXNzIFdvcmtlclNjcmlwdERl
YnVnU2VydmVyIGZpbmFsIDogcHVibGljIFNjcmlwdERlYnVnU2VydmVyIHsKK2NsYXNzIFdvcmtl
clNjcmlwdERlYnVnU2VydmVyIGZpbmFsIDogcHVibGljIEluc3BlY3Rvcjo6U2NyaXB0RGVidWdT
ZXJ2ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlclNjcmlwdERlYnVnU2VydmVy
KTsKIHB1YmxpYzoKICAgICBXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlcihXb3JrZXJHbG9iYWxTY29w
ZSosIGNvbnN0IFN0cmluZyYpOwpAQCAtNTcsNiArNTcsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgdm9pZCBkaWRQYXVzZShKU0M6OkpTR2xvYmFsT2JqZWN0Kikgb3ZlcnJpZGUgeyB9CiAgICAg
dmlydHVhbCB2b2lkIGRpZENvbnRpbnVlKEpTQzo6SlNHbG9iYWxPYmplY3QqKSBvdmVycmlkZSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgcnVuRXZlbnRMb29wV2hpbGVQYXVzZWQoKSBvdmVycmlkZTsK
KyAgICB2aXJ0dWFsIGJvb2wgaXNDb250ZW50U2NyaXB0KEpTQzo6RXhlY1N0YXRlKikgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0RXhjZXB0
aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKSBjb25zdCBvdmVycmlkZTsKIAogICAg
IFdvcmtlckdsb2JhbFNjb3BlKiBtX3dvcmtlckdsb2JhbFNjb3BlOwogICAgIExpc3RlbmVyU2V0
IG1fbGlzdGVuZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IDNiMmFlMDYuLmIzMTdiZGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKQEAgLTM1
LDEzICszNSwxNSBAQAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlLmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yUGFnZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgotI2lu
Y2x1ZGUgIlNjcmlwdERlYnVnU2VydmVyLmgiCisjaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRzLmgi
CisjaW5jbHVkZSAiU291bmQuaCIKICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRPYmplY3QuaD4K
ICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9D
b250ZW50U2VhcmNoVXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oPgogI2lu
Y2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
U2NyaXB0RGVidWdTZXJ2ZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KICNp
bmNsdWRlIDx5YXJyL1JlZ3VsYXJFeHByZXNzaW9uLmg+CiAKQEAgLTY5MCw2ICs2OTIsMTIgQEAg
dm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpkaWRTYW1wbGVQcm9iZShKU0M6OkV4ZWNTdGF0
ZSogc2NyaXB0U3RhdGUsIGludCBwcm8KICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+ZGlkU2Ft
cGxlUHJvYmUocmVzdWx0LnJlbGVhc2UoKSk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yRGVidWdnZXJB
Z2VudDo6YnJlYWtwb2ludEFjdGlvblNvdW5kKCkKK3sKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxk
IHNlbmQgYSBtZXNzYWdlIHRvIHRoZSBmcm9udGVuZCB0byBtYWtlIHRoZSBmcm9udGVuZCBiZWVw
LgorICAgIHN5c3RlbUJlZXAoKTsKK30KKwogdm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50Ojpk
aWRDb250aW51ZSgpCiB7CiAgICAgbV9wYXVzZWRTY3JpcHRTdGF0ZSA9IG51bGxwdHI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRl
eCBkYmVmNTZjLi44ZmU2MTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTU0LDEyICs1NCwxMiBAQCBjbGFzcyBJbmplY3Rl
ZFNjcmlwdE1hbmFnZXI7CiBjbGFzcyBJbnNwZWN0b3JBcnJheTsKIGNsYXNzIEluc3BlY3Rvck9i
amVjdDsKIGNsYXNzIEluc3BlY3RvclZhbHVlOworY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXI7CiB9
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKLWNs
YXNzIFNjcmlwdERlYnVnU2VydmVyOwogCiB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIApA
QCAtMTIyLDcgKzEyMiw3IEBAIHB1YmxpYzoKICAgICB9OwogICAgIHZvaWQgc2V0TGlzdGVuZXIo
TGlzdGVuZXIqIGxpc3RlbmVyKSB7IG1fbGlzdGVuZXIgPSBsaXN0ZW5lcjsgfQogCi0gICAgdmly
dHVhbCBTY3JpcHREZWJ1Z1NlcnZlciYgc2NyaXB0RGVidWdTZXJ2ZXIoKSA9IDA7CisgICAgdmly
dHVhbCBJbnNwZWN0b3I6OlNjcmlwdERlYnVnU2VydmVyJiBzY3JpcHREZWJ1Z1NlcnZlcigpID0g
MDsKIAogcHJvdGVjdGVkOgogICAgIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQoSW5zdHJ1bWVudGlu
Z0FnZW50cyosIEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CkBAIC0xNDYsNiAr
MTQ2LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGlkUGFyc2VTb3VyY2UoSlNDOjpT
b3VyY2VJRCwgY29uc3QgU2NyaXB0Jikgb3ZlcnJpZGUgZmluYWw7CiAgICAgdmlydHVhbCB2b2lk
IGZhaWxlZFRvUGFyc2VTb3VyY2UoY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgZGF0
YSwgaW50IGZpcnN0TGluZSwgaW50IGVycm9yTGluZSwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3Nh
Z2UpIG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwgdm9pZCBkaWRTYW1wbGVQcm9iZShKU0M6
OkV4ZWNTdGF0ZSosIGludCBwcm9iZUlkZW50aWZpZXIsIGludCBoaXRDb3VudCwgY29uc3QgRGVw
cmVjYXRlZDo6U2NyaXB0VmFsdWUmIHNhbXBsZSkgb3ZlcnJpZGUgZmluYWw7CisgICAgdmlydHVh
bCB2b2lkIGJyZWFrcG9pbnRBY3Rpb25Tb3VuZCgpIG92ZXJyaWRlIGZpbmFsOwogCiAgICAgUGFz
c1JlZlB0cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpEZWJ1Z2dlcjo6TG9jYXRpb24+IHJlc29s
dmVCcmVha3BvaW50KGNvbnN0IFN0cmluZyYgYnJlYWtwb2ludElkZW50aWZpZXIsIEpTQzo6U291
cmNlSUQsIGNvbnN0IEluc3BlY3Rvcjo6U2NyaXB0QnJlYWtwb2ludCYpOwogICAgIGJvb2wgYXNz
ZXJ0UGF1c2VkKEVycm9yU3RyaW5nKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCmluZGV4IGEyYTM0ZmUuLjI4NjU3ZTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3Bw
CkBAIC00NSw3ICs0NSw3IEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogI2lmIEVO
QUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQotI2luY2x1ZGUgIlNjcmlwdERlYnVnU2VydmVyLmgi
CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmg+CiAjZW5kaWYKIAogdXNp
bmcgbmFtZXNwYWNlIEpTQzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JSdW50aW1lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JSdW50aW1lQWdlbnQuaAppbmRleCBjODQwZTMxLi5lMTU4NjViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oCkBAIC00NiwxMiArNDYs
MTIgQEAgY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwogY2xhc3MgSW5zcGVjdG9yQXJyYXk7
CiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBJbnNwZWN0b3JWYWx1ZTsKK2NsYXNzIFNj
cmlwdERlYnVnU2VydmVyOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3Ry
dW1lbnRpbmdBZ2VudHM7Ci1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlcjsKIGNsYXNzIFdvcmtlckds
b2JhbFNjb3BlOwogCiB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKQEAgLTkwLDcgKzkwLDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBydW4oRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsK
IAogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQotICAgIHZvaWQgc2V0U2NyaXB0RGVi
dWdTZXJ2ZXIoU2NyaXB0RGVidWdTZXJ2ZXIqKTsKKyAgICB2b2lkIHNldFNjcmlwdERlYnVnU2Vy
dmVyKEluc3BlY3Rvcjo6U2NyaXB0RGVidWdTZXJ2ZXIqKTsKICNlbmRpZgogCiBwcm90ZWN0ZWQ6
CkBAIC0xMDYsNyArMTA2LDcgQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICBJbnNwZWN0b3I6
OkluamVjdGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlwdE1hbmFnZXI7CiAjaWYgRU5B
QkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCi0gICAgU2NyaXB0RGVidWdTZXJ2ZXIqIG1fc2NyaXB0
RGVidWdTZXJ2ZXI7CisgICAgSW5zcGVjdG9yOjpTY3JpcHREZWJ1Z1NlcnZlciogbV9zY3JpcHRE
ZWJ1Z1NlcnZlcjsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3
YjQ4OTRhLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0
Q2FsbEZyYW1lLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgTm9JbnRlcmZhY2VPYmpl
Y3QsCi0gICAgQ29uZGl0aW9uYWw9SkFWQVNDUklQVF9ERUJVR0dFUiwKLSAgICBEb05vdENoZWNr
Q29uc3RhbnRzLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJmYWNlIEph
dmFTY3JpcHRDYWxsRnJhbWUgewotCi0gICAgLy8gU2NvcGUgdHlwZQotICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IEdMT0JBTF9TQ09QRSA9IDA7Ci0gICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTE9D
QUxfU0NPUEUgPSAxOwotICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFdJVEhfU0NPUEUgPSAyOwot
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENMT1NVUkVfU0NPUEUgPSAzOwotICAgIGNvbnN0IHVu
c2lnbmVkIHNob3J0IENBVENIX1NDT1BFID0gNDsKLQotICAgIFtDdXN0b21dIHZvaWQgZXZhbHVh
dGUoRE9NU3RyaW5nIHNjcmlwdCk7Ci0gICAgCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIEphdmFT
Y3JpcHRDYWxsRnJhbWUgY2FsbGVyOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHNvdXJj
ZUlEOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGxpbmU7Ci0gICAgcmVhZG9ubHkgYXR0
cmlidXRlIGxvbmcgY29sdW1uOwotICAgIFtDdXN0b21HZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBBcnJheSBzY29wZUNoYWluOwotICAgIFtDdXN0b21dIHVuc2lnbmVkIHNob3J0IHNjb3BlVHlw
ZShpbnQgc2NvcGVJbmRleCk7Ci0gICAgW0N1c3RvbUdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRl
IE9iamVjdCB0aGlzT2JqZWN0OwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZnVu
Y3Rpb25OYW1lOwotICAgIFtDdXN0b21HZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgdHlwZTsKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURl
YnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFn
ZW50LmNwcAppbmRleCA1YTczNWU0Li5kMDE1ODVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHAKQEAgLTk2LDYgKzk2LDExIEBAIHZvaWQgUGFn
ZURlYnVnZ2VyQWdlbnQ6OnVubXV0ZUNvbnNvbGUoKQogICAgIFBhZ2VDb25zb2xlOjp1bm11dGUo
KTsKIH0KIAordm9pZCBQYWdlRGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxvZyhKU0M6
OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKK3sKKyAgICBtX3BhZ2VBZ2VudC0+
cGFnZSgpLT5jb25zb2xlKCkuYWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VM
ZXZlbCwgbWVzc2FnZSk7Cit9CisKIEluamVjdGVkU2NyaXB0IFBhZ2VEZWJ1Z2dlckFnZW50Ojpp
bmplY3RlZFNjcmlwdEZvckV2YWwoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBpbnQq
IGV4ZWN1dGlvbkNvbnRleHRJZCkKIHsKICAgICBpZiAoIWV4ZWN1dGlvbkNvbnRleHRJZCkgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuaAppbmRleCA0ZGQx
NzMzLi5iYmFmM2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURl
YnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2Vy
QWdlbnQuaApAQCAtNDMsNyArNDMsNyBAQCBjbGFzcyBJbnNwZWN0b3JQYWdlQWdlbnQ7CiBjbGFz
cyBQYWdlOwogY2xhc3MgUGFnZVNjcmlwdERlYnVnU2VydmVyOwogCi1jbGFzcyBQYWdlRGVidWdn
ZXJBZ2VudCA6IHB1YmxpYyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IHsKK2NsYXNzIFBhZ2VEZWJ1
Z2dlckFnZW50IGZpbmFsIDogcHVibGljIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgewogICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VEZWJ1Z2dlckFnZW50KTsKICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAgLTYzLDYgKzYzLDggQEAgcHJpdmF0ZToKICAgICB2aXJ0
dWFsIHZvaWQgbXV0ZUNvbnNvbGUoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgdW5tdXRl
Q29uc29sZSgpIG92ZXJyaWRlOwogCisgICAgdmlydHVhbCB2b2lkIGJyZWFrcG9pbnRBY3Rpb25M
b2coSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKKwogICAgIHZpcnR1
YWwgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdCBpbmplY3RlZFNjcmlwdEZvckV2YWwoRXJyb3JT
dHJpbmcqLCBjb25zdCBpbnQqIGV4ZWN1dGlvbkNvbnRleHRJZCkgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCB2b2lkIHNldE92ZXJsYXlNZXNzYWdlKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nKikg
b3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJE
ZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dl
ckFnZW50LmNwcAppbmRleCBmOTQ4ZDg0Li5mNGM0Y2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwCkBAIC0zMywxMSArMzMsMTEgQEAK
IAogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKSAmJiBFTkFCTEUoSU5TUEVDVE9SKQog
Ci0jaW5jbHVkZSAiU2NyaXB0RGVidWdTZXJ2ZXIuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxT
Y29wZS5oIgogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9J
bmplY3RlZFNjcmlwdC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaD4KICNpbmNsdWRl
IDxtdXRleD4KICNpbmNsdWRlIDx3dGYvTWVzc2FnZVF1ZXVlLmg+CiAjaW5jbHVkZSA8d3RmL05l
dmVyRGVzdHJveWVkLmg+CkBAIC0xMjcsNiArMTI3LDExIEBAIHZvaWQgV29ya2VyRGVidWdnZXJB
Z2VudDo6c3RvcExpc3RlbmluZ1NjcmlwdERlYnVnU2VydmVyKGJvb2wgaXNCZWluZ0Rlc3Ryb3ll
ZCkKICAgICBzY3JpcHREZWJ1Z1NlcnZlcigpLnJlbW92ZUxpc3RlbmVyKHRoaXMsIGlzQmVpbmdE
ZXN0cm95ZWQpOwogfQogCit2b2lkIFdvcmtlckRlYnVnZ2VyQWdlbnQ6OmJyZWFrcG9pbnRBY3Rp
b25Mb2coSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCit7CisgICAgbV9p
bnNwZWN0ZWRXb3JrZXJHbG9iYWxTY29wZS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBMb2dNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworfQorCiBXb3JrZXJTY3JpcHREZWJ1Z1Nl
cnZlciYgV29ya2VyRGVidWdnZXJBZ2VudDo6c2NyaXB0RGVidWdTZXJ2ZXIoKQogewogICAgIHJl
dHVybiBtX3NjcmlwdERlYnVnU2VydmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9X
b3JrZXJEZWJ1Z2dlckFnZW50LmgKaW5kZXggOGEwMzJiMi4uMDhiMDMyYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5oCkBAIC00MCw3ICs0MCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlOwogY2xhc3Mg
V29ya2VyVGhyZWFkOwogCi1jbGFzcyBXb3JrZXJEZWJ1Z2dlckFnZW50IDogcHVibGljIEluc3Bl
Y3RvckRlYnVnZ2VyQWdlbnQgeworY2xhc3MgV29ya2VyRGVidWdnZXJBZ2VudCBmaW5hbCA6IHB1
YmxpYyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
b3JrZXJEZWJ1Z2dlckFnZW50KTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKQEAgLTU3LDYgKzU3LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBtdXRlQ29uc29s
ZSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB1bm11dGVDb25zb2xlKCkgb3ZlcnJpZGU7
CiAKKyAgICB2aXJ0dWFsIHZvaWQgYnJlYWtwb2ludEFjdGlvbkxvZyhKU0M6OkV4ZWNTdGF0ZSos
IGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOworCiBwcml2YXRlOgogICAgIFdvcmtlclNjcmlwdERl
YnVnU2VydmVyIG1fc2NyaXB0RGVidWdTZXJ2ZXI7CiAgICAgV29ya2VyR2xvYmFsU2NvcGUqIG1f
aW5zcGVjdGVkV29ya2VyR2xvYmFsU2NvcGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmgKaW5kZXggNTk3MTIyYy4uNTgxOTk2NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMTMzLDYgKzEzMyw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFsIFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4o
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3RvcE9yaWdpbi5nZXQoKTsgfQogCisgICAgICAg
IHZpcnR1YWwgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2
ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
ciA9IDApIG92ZXJyaWRlOworCiAgICAgcHJvdGVjdGVkOgogICAgICAgICBXb3JrZXJHbG9iYWxT
Y29wZShjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgc3RkOjp1bmlxdWVfcHRy
PEdyb3VwU2V0dGluZ3M+LCBXb3JrZXJUaHJlYWQqLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2lu
PiB0b3BPcmlnaW4pOwogICAgICAgICB2b2lkIGFwcGx5Q29udGVudFNlY3VyaXR5UG9saWN5RnJv
bVN0cmluZyhjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpIZWFkZXJUeXBlKTsKQEAgLTE0OCw3ICsxNTAsNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgb3ZlcnJpZGUg
ZmluYWwgeyBkZXJlZigpOyB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVz
c2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1i
ZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgSlNDOjpFeGVjU3RhdGUqID0gMCwgdW5z
aWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApIG92ZXJyaWRlOwotICAgICAgICB2aXJ0
dWFsIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAw
KSBvdmVycmlkZTsKIAogICAgICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFy
Z2V0KCkgb3ZlcnJpZGU7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>