<?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>164624</bug_id>
          
          <creation_ts>2016-11-10 16:34:23 -0800</creation_ts>
          <short_desc>Rename CryptoKeyUsage to CryptoKeyUsageBitmap and CryptoKey::Usage to CryptoKeyUsage</short_desc>
          <delta_ts>2016-11-11 12:15:13 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>160883</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1250053</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-10 16:34:23 -0800</bug_when>
    <thetext>Rename CryptoKeyUsage to CryptoKeyUsageBitmap and CryptoKey::Usage to CryptoKeyUsage, such that CryptoKeyUsage can be shared among different IDLs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250055</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-11-10 16:39:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/29210140&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250056</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-11-10 16:41:08 -0800</bug_when>
    <thetext>&lt;rdar://problem/29210211&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250090</commentid>
    <comment_count>3</comment_count>
      <attachid>294452</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-10 18:01:38 -0800</bug_when>
    <thetext>Created attachment 294452
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250092</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-10 18:04:28 -0800</bug_when>
    <thetext>Attachment 294452 did not pass style-queue:


ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:75:  CryptoAlgorithmRSA_OAEP::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:95:  CryptoAlgorithmRSA_OAEP::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:188:  CryptoAlgorithmRSA_OAEP::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:199:  CryptoAlgorithmRSA_OAEP::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/JsonWebKey.h:40:  key_ops is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:42:  usagesAreInvalidForCryptoAlgorithmAES_CBC is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:74:  CryptoAlgorithmAES_CBC::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:92:  CryptoAlgorithmAES_CBC::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:155:  CryptoAlgorithmAES_CBC::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:168:  CryptoAlgorithmAES_CBC::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:41:  usagesAreInvalidForCryptoAlgorithmAES_KW is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:73:  CryptoAlgorithmAES_KW::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:91:  CryptoAlgorithmAES_KW::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:150:  CryptoAlgorithmAES_KW::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:163:  CryptoAlgorithmAES_KW::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:75:  CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:95:  CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:177:  CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:188:  CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:70:  CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:91:  CryptoAlgorithmRSAES_PKCS1_v1_5::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:144:  CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:155:  CryptoAlgorithmRSAES_PKCS1_v1_5::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 23 in 44 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>1250097</commentid>
    <comment_count>5</comment_count>
      <attachid>294454</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-10 18:11:53 -0800</bug_when>
    <thetext>Created attachment 294454
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250098</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-10 18:13:20 -0800</bug_when>
    <thetext>Attachment 294454 did not pass style-queue:


ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:75:  CryptoAlgorithmRSA_OAEP::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:95:  CryptoAlgorithmRSA_OAEP::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:188:  CryptoAlgorithmRSA_OAEP::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:199:  CryptoAlgorithmRSA_OAEP::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/JsonWebKey.h:40:  key_ops is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:42:  usagesAreInvalidForCryptoAlgorithmAES_CBC is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:74:  CryptoAlgorithmAES_CBC::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:92:  CryptoAlgorithmAES_CBC::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:155:  CryptoAlgorithmAES_CBC::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:168:  CryptoAlgorithmAES_CBC::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:41:  usagesAreInvalidForCryptoAlgorithmAES_KW is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:73:  CryptoAlgorithmAES_KW::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:91:  CryptoAlgorithmAES_KW::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:150:  CryptoAlgorithmAES_KW::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:163:  CryptoAlgorithmAES_KW::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:75:  CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:95:  CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:177:  CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:188:  CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:70:  CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:91:  CryptoAlgorithmRSAES_PKCS1_v1_5::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:144:  CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:155:  CryptoAlgorithmRSAES_PKCS1_v1_5::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 23 in 45 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>1250100</commentid>
    <comment_count>7</comment_count>
      <attachid>294456</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-10 18:15:50 -0800</bug_when>
    <thetext>Created attachment 294456
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250102</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-10 18:18:14 -0800</bug_when>
    <thetext>Attachment 294456 did not pass style-queue:


ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:75:  CryptoAlgorithmRSA_OAEP::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:95:  CryptoAlgorithmRSA_OAEP::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:188:  CryptoAlgorithmRSA_OAEP::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:199:  CryptoAlgorithmRSA_OAEP::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/JsonWebKey.h:40:  key_ops is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:42:  usagesAreInvalidForCryptoAlgorithmAES_CBC is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:74:  CryptoAlgorithmAES_CBC::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:92:  CryptoAlgorithmAES_CBC::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:155:  CryptoAlgorithmAES_CBC::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:168:  CryptoAlgorithmAES_CBC::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:41:  usagesAreInvalidForCryptoAlgorithmAES_KW is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:73:  CryptoAlgorithmAES_KW::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:91:  CryptoAlgorithmAES_KW::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:150:  CryptoAlgorithmAES_KW::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:163:  CryptoAlgorithmAES_KW::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:75:  CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:95:  CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:177:  CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:188:  CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:70:  CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:91:  CryptoAlgorithmRSAES_PKCS1_v1_5::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:144:  CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:155:  CryptoAlgorithmRSAES_PKCS1_v1_5::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 23 in 45 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>1250285</commentid>
    <comment_count>9</comment_count>
      <attachid>294456</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-11-11 10:39:25 -0800</bug_when>
    <thetext>Comment on attachment 294456
Patch

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

r=me

&gt; LayoutTests/crypto/subtle/import-key-malformed-parameters-expected.txt:39
&gt; +PASS crypto.subtle.importKey(&quot;jwk&quot;, {kty: &quot;oct&quot;, key_ops: [&quot;foo&quot;]}, &quot;aes-cbc&quot;, extractable, [&quot;encrypt&quot;, &quot;decrypt&quot;, &quot;wrapKey&quot;, &quot;unwrapKey&quot;]) rejected promise  with TypeError: Type error.

The older error message seemed clearer here. Is there any way for the &apos;Type error&apos; message to be more helpful in seeing what is wrong in the command?

Is &apos;Type error&apos; what we expect per spec? Or is &quot;Invalid key_ops&quot; what we should be seeing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250303</commentid>
    <comment_count>10</comment_count>
      <attachid>294456</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-11 11:09:14 -0800</bug_when>
    <thetext>Comment on attachment 294456
Patch

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

Brent, thank you for reviewing my patch.

&gt;&gt; LayoutTests/crypto/subtle/import-key-malformed-parameters-expected.txt:39
&gt;&gt; +PASS crypto.subtle.importKey(&quot;jwk&quot;, {kty: &quot;oct&quot;, key_ops: [&quot;foo&quot;]}, &quot;aes-cbc&quot;, extractable, [&quot;encrypt&quot;, &quot;decrypt&quot;, &quot;wrapKey&quot;, &quot;unwrapKey&quot;]) rejected promise  with TypeError: Type error.
&gt; 
&gt; The older error message seemed clearer here. Is there any way for the &apos;Type error&apos; message to be more helpful in seeing what is wrong in the command?
&gt; 
&gt; Is &apos;Type error&apos; what we expect per spec? Or is &quot;Invalid key_ops&quot; what we should be seeing?

This type error is now thrown by the generated binding code. I don&apos;t know if there is a way to do that. Let me ask Chris.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250333</commentid>
    <comment_count>11</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-11 12:15:13 -0800</bug_when>
    <thetext>Committed r208602: &lt;http://trac.webkit.org/changeset/208602&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294452</attachid>
            <date>2016-11-10 18:01:38 -0800</date>
            <delta_ts>2016-11-10 18:11:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164624-20161110175725.patch</filename>
            <type>text/plain</type>
            <size>141779</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWE1YTRiODI1ZTJhNmU2
NzY2M2E3YjllNzUyY2U3YTAxMTY0OTAwMi4uYjAwMmY0M2Y2OTkwNjYyZDQxYjM0MGFmY2YzOWE3
ZGNjNmEyZGNjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDE2LTExLTEwICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIENyeXB0b0tl
eVVzYWdlIHRvIENyeXB0b0tleVVzYWdlQml0bWFwIGFuZCBDcnlwdG9LZXk6OlVzYWdlIHRvIENy
eXB0b0tleVVzYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjQ2MjQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MjEwMTQwPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxsb3dz
IElETFR5cGUgQ3J5cHRvS2V5VXNhZ2UgdG8gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVudCBJRExz
LCBpLmUuIENyeXB0b0tleS5pZGwsCisgICAgICAgIFN1YnRsZUNyeXB0by5pZGwgYW5kIEpzb25X
ZWJLZXkuaWRsIHN1Y2ggdGhhdCBpdCBjYW4gc2ltcGxpZnkgdGhlIGN1c3RvbWl6ZWQgYmluZGlu
ZyBjb2Rlcy4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNDcnlwdG9LZXlTZXJpYWxpemF0aW9uSldLLmNwcDoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0suaDoKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0NyeXB0b0tl
eVVzYWdlQml0bWFwKToKKyAgICAgICAgKFdlYkNvcmU6OmNyeXB0b0tleVVzYWdlQml0bWFwRnJv
bUpTVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6dG9LZXlEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OmpzU3VidGxlQ3J5cHRvRnVuY3Rpb25HZW5lcmF0ZUtleVByb21pc2UpOgorICAgICAgICAo
V2ViQ29yZTo6anNTdWJ0bGVDcnlwdG9GdW5jdGlvbkltcG9ydEtleVByb21pc2UpOgorICAgICAg
ICAoV2ViQ29yZTo6Y3J5cHRvS2V5VXNhZ2VGcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OmNyeXB0b0tleVVzYWdlc0Zyb21KU1ZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU1dlYktpdFN1YnRsZUNyeXB0b0N1c3RvbS5jcHA6CisgICAgICAgICog
YmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKKyAgICAgICAgKiBjcnlwdG8v
Q3J5cHRvQWxnb3JpdGhtLmNwcDoKKyAgICAgICAgKiBjcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmg6
CisgICAgICAgICogY3J5cHRvL0NyeXB0b0tleS5jcHA6CisgICAgICAgICogY3J5cHRvL0NyeXB0
b0tleS5oOgorICAgICAgICAqIGNyeXB0by9DcnlwdG9LZXkuaWRsOgorICAgICAgICAqIGNyeXB0
by9DcnlwdG9LZXlTZXJpYWxpemF0aW9uLmg6CisgICAgICAgICogY3J5cHRvL0NyeXB0b0tleVVz
YWdlLmg6CisgICAgICAgICogY3J5cHRvL0NyeXB0b0tleVVzYWdlLmlkbDogQWRkZWQuCisgICAg
ICAgICogY3J5cHRvL0pzb25XZWJLZXkuaDoKKyAgICAgICAgKiBjcnlwdG8vSnNvbldlYktleS5p
ZGw6CisgICAgICAgICogY3J5cHRvL1N1YnRsZUNyeXB0by5pZGw6CisgICAgICAgICogY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHA6CisgICAgICAgICogY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5oOgorICAgICAgICAqIGNyeXB0by9h
bGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHA6CisgICAgICAgICogY3J5cHRvL2Fs
Z29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmg6CisgICAgICAgICogY3J5cHRvL2FsZ29y
aXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5jcHA6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRo
bXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5oOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuY3BwOgorICAgICAgICAqIGNyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuaDoKKyAgICAgICAgKiBjcnlw
dG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5jcHA6CisgICAg
ICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUu
aDoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FfT0FFUC5j
cHA6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAu
aDoKKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlBRVMuY3BwOgorICAgICAgICAqIGNy
eXB0by9rZXlzL0NyeXB0b0tleUFFUy5oOgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tl
eUhNQUMuY3BwOgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tleUhNQUMuaDoKKyAgICAg
ICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuY3BwOgorICAgICAgICAqIGNyeXB0by9rZXlz
L0NyeXB0b0tleVJTQS5oOgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tleVNlcmlhbGl6
YXRpb25SYXcuY3BwOgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tleVNlcmlhbGl6YXRp
b25SYXcuaDoKKyAgICAgICAgKiBjcnlwdG8vbWFjL0NyeXB0b0tleVJTQU1hYy5jcHA6CisKIDIw
MTYtMTEtMDQgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBV
cGRhdGUgU3VidGxlQ3J5cHRvOjppbXBvcnRLZXkgdG8gbWF0Y2ggdGhlIGxhdGVzdCBzcGVjCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IGFkZDU4OWRjMTg3OTcxZDdmMWNmMTRhM2Q3YjdjZTdjYjM1
MmMyOWQuLjk4MDVhOTUyYjMwMTY4ZWJlMDk5YzhjZDFhODgyNTRiYjY3MDdmODUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC0zMjcsNiArMzI3LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExf
RklMRVMKICAgICBjcnlwdG8vQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5pZGwKICAgICBjcnlw
dG8vQ3J5cHRvS2V5LmlkbAogICAgIGNyeXB0by9DcnlwdG9LZXlQYWlyLmlkbAorICAgIGNyeXB0
by9DcnlwdG9LZXlVc2FnZS5pZGwKICAgICBjcnlwdG8vSnNvbldlYktleS5pZGwKICAgICBjcnlw
dG8vUnNhT3RoZXJQcmltZXNJbmZvLmlkbAogICAgIGNyeXB0by9TdWJ0bGVDcnlwdG8uaWRsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAxOGQ1ZjMwOWFhMjAwNjg0NmI4YjBlNWMz
ZGI1YjFjMjQyOWNmNTQ0Li5jMjhhZDFkMTdmMzgyMWQ5OTlmNGUyOTY1MjY2MDVmMDA1MDVkNmM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI1Miw2ICsyNTIsNyBAQCBKU19C
SU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVycy5pZGwgXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL0NyeXB0b0tleS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvY3J5cHRvL0NyeXB0b0tleVBhaXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2Ny
eXB0by9DcnlwdG9LZXlVc2FnZS5pZGwgXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL0pzb25XZWJL
ZXkuaWRsIFwKICAgICAkKFdlYkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0tleUdlblBhcmFt
cy5pZGwgXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL3BhcmFtZXRlcnMvSG1hY0tleVBhcmFtcy5p
ZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDZmMWE3MzUzMTE1OGJhZjEzNWQzNDQ0YWRjNGNlNjM3MWU5OGI4OGMuLjYzODZh
ZDU4NWY3NzVlNmU5ZDNjNjE1N2Y3NTAyOGE0ODVhNGFhNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzNzksNiArMjM3OSw4
IEBACiAJCTU3NzhCRDg0MURBNDgxN0IwMDlFMzAwOSAvKiBTdWJ0bGVDcnlwdG8uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc3OEJEODMxREE0ODE3
QjAwOUUzMDA5IC8qIFN1YnRsZUNyeXB0by5jcHAgKi87IH07CiAJCTU3OUY2RTA1MURDRDdFRTQw
MDU0NkQ4MCAvKiBDcnlwdG9BbGdvcml0aG1Sc2FIYXNoZWRLZXlHZW5QYXJhbXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RTIzMzc0MURDRDZEM0Iw
MEYyOEQwMSAvKiBDcnlwdG9BbGdvcml0aG1Sc2FIYXNoZWRLZXlHZW5QYXJhbXMuaCAqLzsgfTsK
IAkJNTdBOUM4OEUxREE3MEJGODAwQkM3MzA1IC8qIEpTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3QTlDODhEMURB
NzBCRjgwMEJDNzMwNSAvKiBKU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAgKi87IH07CisJCTU3RDAw
MThEMURENTQxMzIwMEVEMTlEOSAvKiBKU0NyeXB0b0tleVVzYWdlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0QwMDE4QzFERDU0MTMyMDBFRDE5RDkg
LyogSlNDcnlwdG9LZXlVc2FnZS5oICovOyB9OworCQk1N0QwMDE4RjFERDU0MTUzMDBFRDE5RDkg
LyogSlNDcnlwdG9LZXlVc2FnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1N0QwMDE4RTFERDU0MTUzMDBFRDE5RDkgLyogSlNDcnlwdG9LZXlVc2Fn
ZS5jcHAgKi87IH07CiAJCTU3RTIzMzVCMURDN0Q1RTUwMEYyOEQwMSAvKiBKU0pzb25XZWJLZXku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RTIzMzVB
MURDN0Q1RTUwMEYyOEQwMSAvKiBKU0pzb25XZWJLZXkuaCAqLzsgfTsKIAkJNTdFMjMzNUQxREM3
RDYwODAwRjI4RDAxIC8qIEpTUnNhT3RoZXJQcmltZXNJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0UyMzM1QzFEQzdENjA4MDBGMjhEMDEgLyog
SlNSc2FPdGhlclByaW1lc0luZm8uaCAqLzsgfTsKIAkJNTdFMjMzNUYxREM3RDY3QjAwRjI4RDAx
IC8qIEpTSnNvbldlYktleS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1N0UyMzM1RTFEQzdENjdCMDBGMjhEMDEgLyogSlNKc29uV2ViS2V5LmNwcCAq
LzsgfTsKQEAgLTY5NzQsNyArNjk3Niw3IEBACiAJCTA2MDI3Q0FDMEIxQ0JGQzAwMDg4NEIyRCAv
KiBDb250ZXh0TWVudUl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENv
bnRleHRNZW51SXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNjIyODc4MzBC
NERCMzIyMDAwQzM0REYgLyogRm9jdXNEaXJlY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEZvY3VzRGlyZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTA2NUFENEYyMEIwQzJFREEwMDVBMkIxRCAvKiBDb250ZXh0TWVudUNsaWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGV4dE1lbnVDbGllbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDY1QUQ0RjMwQjBDMkVEQTAwNUEyQjFEIC8qIENvbnRl
eHRNZW51Q29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5l
RW5kaW5nID0gMDsgcGF0aCA9IENvbnRleHRNZW51Q29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxh
bmcuY3BwOyB9OworCQkwNjVBRDRGMzBCMEMyRURBMDA1QTJCMUQgLyogQ29udGV4dE1lbnVDb250
cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250ZXh0
TWVudUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyAgfTsKIAkJMDY1QUQ0
RjQwQjBDMkVEQTAwNUEyQjFEIC8qIENvbnRleHRNZW51Q29udHJvbGxlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGV4dE1lbnVDb250cm9sbGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA2NjhFMTg5MEFERDk2MjQwMDQxMjhFMCAvKiBQb3B1cE1l
bnUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBvcHVwTWVudS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNjZDNzcyQTBBQjYwM0I3MDAyMzhDQzQgLyogRmls
ZUNob29zZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZpbGVDaG9vc2Vy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NjY1LDcgKzc2NjcsNyBAQAogCQkx
NEQ2NEI1QTEzNEE1QjZCMDBFNThGREEgLyogVHJlZVNjb3BlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyZWVTY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTE0RDY0QjVCMTM0QTVCNkIwMEU1OEZEQSAvKiBUcmVlU2NvcGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHJlZVNjb3BlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTE0RDgyMzUwMEFGOTJBNzkwMDA0RjA1NyAvKiBDaHJvbWUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2hyb21lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTE0RDgyMzhBMEFGOTJERjYwMDA0RjA1NyAvKiBDaHJvbWUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBDaHJvbWUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZp
ZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJMTREODIzOEEwQUY5MkRGNjAwMDRGMDU3IC8qIENo
cm9tZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2hyb21lLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgIH07CiAJCTE0RDgyNDA2MEFGOTNBRUIwMDA0RjA1
NyAvKiBDaHJvbWVDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2hy
b21lQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0REMwRDBCMDlGRUNG
QTQwMDdCMDIzNSAvKiBOb2RlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOb2RlLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTREQzBEMzUwOUZFRDA3MzAwN0IwMjM1IC8q
IEpTTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb2Rl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc4NzEsNyArNzg3Myw3IEBACiAJ
CTFBOEY2QjAxMERCNTMwMDYwMDFEQjc5NCAvKiBTdWJzdGl0dXRlUmVzb3VyY2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3Vic3RpdHV0ZVJlc291cmNlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBOEY2QkIxMERCNTVDREMwMDFEQjc5NCAvKiBBcHBsaWNh
dGlvbkNhY2hlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGxp
Y2F0aW9uQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQThGNkJCMjBE
QjU1Q0RDMDAxREI3OTQgLyogQXBwbGljYXRpb25DYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBcHBsaWNhdGlvbkNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTFBOEY2QkIzMERCNTVDREMwMDFEQjc5NCAvKiBBcHBsaWNhdGlvbkNhY2hlR3JvdXAu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9
IEFwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFu
Z3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQkxQThG
NkJCMzBEQjU1Q0RDMDAxREI3OTQgLyogQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7ICB9OwogCQkxQThGNkJCNDBEQjU1Q0RDMDAxREI3OTQg
LyogQXBwbGljYXRpb25DYWNoZUdyb3VwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFwcGxpY2F0aW9uQ2FjaGVHcm91cC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQThGNkJCNTBEQjU1Q0RDMDAxREI3OTQgLyogQXBwbGljYXRpb25DYWNoZVJlc291cmNlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGxpY2F0aW9uQ2FjaGVS
ZXNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBOEY2QkI2MERCNTVD
REMwMDFEQjc5NCAvKiBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQXBwbGljYXRpb25DYWNoZVJlc291cmNlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC04MjI2LDcgKzgyMjgsNyBAQAogCQkyOTgxQ0FBMjEzMTgyMkVD
MDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3guY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
QWNjZXNzaWJpbGl0eUxpc3RCb3guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
OTgxQ0FBMzEzMTgyMkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3hPcHRpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eUxpc3RCb3hPcHRpb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTgxQ0FBNDEzMTgyMkVDMDBEMTJGMkEgLyogQWNj
ZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJp
bGl0eU1lZGlhQ29udHJvbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkyOTgx
Q0FBNTEzMTgyMkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhj
b2RlLmxhbmcuY3BwOyB9OworCQkyOTgxQ0FBNTEzMTgyMkVDMDBEMTJGMkEgLyogQWNjZXNzaWJp
bGl0eU9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5T2JqZWN0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgIH07CiAJCTI5ODFDQUE2MTMxODIyRUMwMEQxMkYy
QSAvKiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkyOTgxQ0FBNzEzMTgyMkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eVNjcm9sbGJhci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U2Nyb2xsYmFyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjk4MUNBQTgxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2li
aWxpdHlTY3JvbGxWaWV3LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTY3Jv
bGxWaWV3LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg1MDMsOCArODUwNSw4
IEBACiAJCTMxNDZGRTY3MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE9FU1RleHR1cmVGbG9hdExpbmVhci5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxNDZGRTcwMTg0NDIzNjcwMDFBOTM3QyAvKiBK
U09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU09FU1RleHR1cmVGbG9hdExpbmVhci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTMxNDZGRTcxMTg0NDIzNjcwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExp
bmVhci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU09FU1RleHR1cmVGbG9h
dExpbmVhci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkzMTRCRTNBMDFCMzBGNkI3
MDAxNDE5ODIgLyogQ1NTTmFtZWRJbWFnZVZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBDU1NOYW1lZEltYWdlVmFsdWUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMzE0QkUzQTIxQjMwRjZEMTAwMTQxOTgyIC8qIENTU05hbWVk
SW1hZ2VWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcg
PSAwOyBwYXRoID0gQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMzE0QkUzQTAxQjMwRjZCNzAwMTQxOTgyIC8qIENTU05hbWVkSW1hZ2VWYWx1ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NOYW1lZEltYWdlVmFsdWUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE0QkUzQTIxQjMwRjZEMTAwMTQxOTgyIC8q
IENTU05hbWVkSW1hZ2VWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBDU1NOYW1lZEltYWdlVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkzMTRCRTNBNDFCMzEwM0ZCMDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5hbWVkSW1hZ2VHZW5lcmF0
ZWRJbWFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxNEJFM0E1MUIzMTAz
RkIwMDE0MTk4MiAvKiBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTMxNjAyM0VGMTUzMkM0MEMwMEQ1MEZGNCAvKiBEaWN0aW9uYXJ5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpY3Rpb25hcnkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk0NDYsNyArOTQ0OCw3IEBACiAJCTUxQkE0QUM5MUJC
QzVCOUUwMERGM0Q2RCAvKiBNZW1vcnlJREJCYWNraW5nU3RvcmUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5SURCQmFja2luZ1N0b3JlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxQkUzN0RFMERBRUUwMEUwMDEwODVGQyAvKiBTdG9yYWdlQXJlYS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdG9yYWdlQXJlYS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1MUMwQUEzODBGMkFBMTBBMDAxNjQ4QzIgLyogQ2FjaGVk
RnJhbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkRnJhbWUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTFDMEFBNDAwRjJBQTE1RTAwMTY0OEMyIC8q
IENhY2hlZEZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGlu
ZyA9IDA7IHBhdGggPSBDYWNoZWRGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhj
TGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQk1
MUMwQUE0MDBGMkFBMTVFMDAxNjQ4QzIgLyogQ2FjaGVkRnJhbWUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVkRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyAgfTsKIAkJNTFDODFCODcwQzQ0MjJGNzAwMTlFQ0UzIC8qIEZUUERpcmVjdG9yeVBh
cnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRlRQRGlyZWN0
b3J5UGFyc2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFDODFCODgwQzQ0
MjJGNzAwMTlFQ0UzIC8qIEZUUERpcmVjdG9yeVBhcnNlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRlRQRGlyZWN0b3J5UGFyc2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUxQ0JGQzk4MEQxMEU0ODMwMDJEQkY1MSAvKiBDYWNoZWRGcmFtZVBsYXRmb3Jt
RGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRGcmFtZVBsYXRm
b3JtRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTYwMyw2ICs5NjA1LDkg
QEAKIAkJNTc3OEJEODExREE0ODAyQzAwOUUzMDA5IC8qIFN1YnRsZUNyeXB0by5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdWJ0bGVDcnlwdG8uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTc3OEJEODMxREE0ODE3QjAwOUUzMDA5IC8qIFN1YnRsZUNyeXB0by5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdWJ0bGVDcnlwdG8uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0E5Qzg4RDFEQTcwQkY4MDBCQzczMDUg
LyogSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1N0QwMDE4QjFERDNEQkE0MDBFRDE5RDkgLyogQ3J5cHRvS2V5VXNhZ2UuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IENyeXB0b0tleVVzYWdlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTdE
MDAxOEMxREQ1NDEzMjAwRUQxOUQ5IC8qIEpTQ3J5cHRvS2V5VXNhZ2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gSlNDcnlwdG9LZXlVc2FnZS5oOyBwYXRoID0gSlNDcnlwdG9L
ZXlVc2FnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1N0QwMDE4RTFERDU0MTUz
MDBFRDE5RDkgLyogSlNDcnlwdG9LZXlVc2FnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBKU0NyeXB0b0tleVVzYWdlLmNwcDsgcGF0aCA9IEpTQ3J5cHRvS2V5VXNh
Z2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0UyMzM1NzFEQzdEMjQ4MDBG
MjhEMDEgLyogSnNvbldlYktleS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSnNvbldlYktl
eS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3RTIzMzU5MURDN0QzNzIwMEYy
OEQwMSAvKiBSc2FPdGhlclByaW1lc0luZm8uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJz
YU90aGVyUHJpbWVzSW5mby5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3RTIz
MzVBMURDN0Q1RTUwMEYyOEQwMSAvKiBKU0pzb25XZWJLZXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNKc29uV2ViS2V5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC05ODIwLDcgKzk4MjUsNyBAQAogCQk2NTY1M0YyQzBEOTcyN0QyMDBDQTk3MjMgLyogU1ZH
QWx0R2x5cGhFbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTVkdBbHRHbHlwaEVs
ZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTY1ODBFRTA5RDEyQjIw
MDAwRTYxRDcgLyogQ1NTUHJvcGVydHlOYW1lcy5ncGVyZiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gQ1NTUHJvcGVydHlOYW1lcy5ncGVyZjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjU2NTgwRUYwOUQxMkIyMDAwMEU2MUQ3IC8qIENTU1Byb3BlcnR5TmFtZXMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1Byb3BlcnR5TmFtZXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNjU2NTgxNDQwOUQxMzA0MzAwMEU2MUQ3IC8qIENTU0dyYW1tYXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGgg
PSBDU1NHcmFtbWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNp
ZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJCTY1NjU4MTQ0MDlEMTMw
NDMwMDBFNjFENyAvKiBDU1NHcmFtbWFyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDU1NHcmFtbWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgIH07CiAJ
CTY1NjU4MTQ3MDlEMTMwNDMwMDBFNjFENyAvKiBDU1NWYWx1ZUtleXdvcmRzLmdwZXJmICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBDU1NWYWx1ZUtleXdvcmRzLmdwZXJmOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk2NTY1ODE0ODA5RDEzMDQzMDAwRTYxRDcgLyogQ1NTVmFsdWVLZXl3
b3Jkcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTVmFsdWVLZXl3b3Jk
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTY1ODFBQzA5RDE0RUU2MDAwRTYx
RDcgLyogQ2hhcnNldERhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IENoYXJzZXREYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk4NDgs
NyArOTg1Myw3IEBACiAJCTY1ODQzNjg1MEFFMDFCNzQwMEU1Mzc1MyAvKiBGcmFtZUxvYWRSZXF1
ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGcmFtZUxvYWRSZXF1ZXN0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1OTM5MjM1MDlBRTQzNDYwMDJDNTMx
RiAvKiBVUkwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVSTC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1OTM5MjM2MDlBRTQzNDYwMDJDNTMx
RiAvKiBVUkwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVSTC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2NTkzOTIzOTA5QUU0MzVDMDAyQzUzMUYgLyogVVJM
TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbGluZUVuZGluZyA9IDA7
IHBhdGggPSBVUkxNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVj
aWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcub2JqY3BwOyB9OworCQk2NTkzOTIzOTA5
QUU0MzVDMDAyQzUzMUYgLyogVVJMTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFVSTE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFn
ZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5vYmpjcHA7IH07CiAJCTY1OUE3
RDEyMEI2REI0RDkwMDExNTVCMyAvKiBTdWJzdGl0dXRlRGF0YS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU3Vic3RpdHV0ZURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNjU5RERDODAwOUUxOThCQTAwMUJGM0M2IC8qIEpTRG9jdW1lbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRG9jdW1lbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk2NTlEREM4MTA5RTE5OEJBMDAxQkYzQzYgLyogSlNEb2N1
bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEb2N1bWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTA3NDcsNyArMTA3NTIsNyBAQAogCQk5MzA3
MDVEOTA5RTBDOUJGMDBCMTdGRTQgLyogSlNDb3VudGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTQ291bnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
MzA3MDVFODA5RTBDOUYwMDBCMTdGRTQgLyogSlNDU1NQcmltaXRpdmVWYWx1ZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNzA1RUEwOUUwQzlGNjAwQjE3RkU0IC8q
IEpTQ1NTUHJpbWl0aXZlVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNDU1NQcmltaXRpdmVWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5MzA3
MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJjZXMubWFrZSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29kZS5tYWtlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzLm1ha2U7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHVzZXNUYWJzID0gMTsgeGNMYW5ndWFnZVNwZWNpZmlj
YXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5zaW1wbGVDb2xvcmluZzsgfTsKKwkJOTMwNzA2
MTMwOUUwQ0E4MjAwQjE3RkU0IC8qIERlcml2ZWRTb3VyY2VzLm1ha2UgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUubWFrZTsgZmlsZUVu
Y29kaW5nID0gNDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzLm1ha2U7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHVzZXNUYWJzID0gMTsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0g
eGNvZGUubGFuZy5zaW1wbGVDb2xvcmluZzsgfTsKIAkJOTMwN0YxRDUwQUYyRDU5MDAwREJBMzFB
IC8qIEhpdFRlc3RSZXN1bHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEhpdFRlc3RSZXN1bHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA3
RjFENjBBRjJENTkwMDBEQkEzMUEgLyogSGl0VGVzdFJlc3VsdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSGl0VGVzdFJlc3VsdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5MzA4NDEzMzFDRERCMTU1MDBCMDk1OEMgLyogSlNET01Db252ZXJ0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NQ29udmVydC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTA3NzEsNyArMTA3NzYsNyBAQAogCQk5MzJFMTYwODBBRjU3ODM0
MDAyNUY0MDggLyogRnJhbWVMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRnJhbWVMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
MzMwOUQ4NzA5OUU2NDkxMDA1NkU1ODEgLyogQXBwZW5kTm9kZUNvbW1hbmQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXBwZW5kTm9kZUNvbW1hbmQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzMwOUQ4ODA5OUU2NDkxMDA1NkU1ODEgLyogQXBw
ZW5kTm9kZUNvbW1hbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwZW5k
Tm9kZUNvbW1hbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTMzMDlEODkwOTlF
NjQ5MTAwNTZFNTgxIC8qIEFwcGx5U3R5bGVDb21tYW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBBcHBseVN0eWxlQ29tbWFuZC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzMzA5RDg5MDk5RTY0OTEwMDU2RTU4MSAv
KiBBcHBseVN0eWxlQ29tbWFuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBBcHBseVN0eWxlQ29tbWFuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTkzMzA5RDhBMDk5RTY0OTEwMDU2RTU4MSAvKiBBcHBseVN0eWxlQ29tbWFuZC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBseVN0eWxlQ29tbWFuZC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5MzMwOUQ4QjA5OUU2NDkxMDA1NkU1ODEgLyogQnJlYWtCbG9j
a3F1b3RlQ29tbWFuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBC
cmVha0Jsb2NrcXVvdGVDb21tYW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTMzMDlEOEMwOTlFNjQ5MTAwNTZFNTgxIC8qIEJyZWFrQmxvY2txdW90ZUNvbW1hbmQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQnJlYWtCbG9ja3F1b3RlQ29tbWFuZC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTIwOTUsNyArMTIxMDAsNyBAQAogCQlBQTQ3
MzlDRjE3NTdBRkVDMDBFNzY3NjcgLyogVUlSZXF1ZXN0RXZlbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVUlSZXF1ZXN0RXZlbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBQTQ3MzlEMDE3NTdBRkVDMDBFNzY3NjcgLyogVUlSZXF1ZXN0RXZl
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlSZXF1ZXN0RXZlbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUE0NzhBN0QxNkNENzBDMzAwN0QxQkI0IC8q
IFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUFBNDc4QTdFMTZDRDcwQzMwMDdEMUJCNCAvKiBXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklk
ZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKKwkJQUE0NzhBN0UxNkNENzBDMzAwN0Qx
QkI0IC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IGZpbGVFbmNvZGluZyA9IDQ7IHBhdGggPSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1h
Yy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVu
dGlmaWVyID0geGNvZGUubGFuZy5vYmpjcHA7IH07CiAJCUFBNEMzQTc0MEIyQjE2NzkwMDIzMzRB
MiAvKiBJbmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IElubGluZVN0eWxlU2hlZXRPd25lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUFBNEMzQTc1MEIyQjE2NzkwMDIzMzRBMiAvKiBJbmxpbmVTdHlsZVNoZWV0
T3duZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZVN0eWxlU2hl
ZXRPd25lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTVGM0I5MDE2Q0M1QkVC
MDA0NTVFQjAgLyogQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBD
b3JlRm91bmRhdGlvbi5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07
CkBAIC0xMzAzNCw3ICsxMzAzOSw3IEBACiAJCUJDM0MzOUI0MEMwRDNEOEQwMDVGNEQ3QSAvKiBK
U01lZGlhTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNN
ZWRpYUxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzNDMzlCNTBDMEQz
RDhEMDA1RjREN0EgLyogSlNNZWRpYUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTTWVkaWFMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNDM2
OEU3MEMyMjZFMzIwMDVFRkI1RiAvKiBSZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDNDZDMUVEMEMw
RERCREYwMDIwQ0ZDMyAvKiBKU0NTU1J1bGVDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBKU0NTU1J1bGVDdXN0b20uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIg
PSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJQkM0NkMxRUQwQzBEREJERjAwMjBDRkMzIC8qIEpTQ1NT
UnVsZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlND
U1NSdWxlQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgIH07CiAJCUJDNDZDMUYy
MEMwRERDOEYwMDIwQ0ZDMyAvKiBKU0NTU0ZvbnRGYWNlUnVsZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDU1NGb250RmFjZVJ1bGUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCQzQ2QzFGMzBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NGb250
RmFjZVJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ1NTRm9udEZh
Y2VSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNDZDMUY0MEMwRERDOEYw
MDIwQ0ZDMyAvKiBKU0NTU0ltcG9ydFJ1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTQ1NTSW1wb3J0UnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xMzI1NCw3ICsxMzI1OSw3IEBACiAJCUJDQjE2QzBCMDk3OUMzQkQwMDQ2Nzc0MSAv
KiBDYWNoZWRTY3JpcHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hl
ZFNjcmlwdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0IxNkMwRTA5NzlDM0JE
MDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUJDQjE2QzBGMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRYU0xTdHls
ZVNoZWV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRYU0xTdHls
ZVNoZWV0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDQjE2QzEwMDk3OUMzQkQw
MDQ2Nzc0MSAvKiBDYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IENhY2hlZFJlc291cmNlTG9hZGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlm
aWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJCUJDQjE2QzEwMDk3OUMzQkQwMDQ2Nzc0MSAvKiBD
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyAg
fTsKIAkJQkNCMTZDMTEwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFJlc291cmNlTG9hZGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRSZXNvdXJjZUxvYWRlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0I5MkQ0RTEyOTM1NTBCMDBDODM4N0Yg
LyogRm9udEJhc2VsaW5lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRC
YXNlbGluZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0JCOEFCNTEzRjFBRkIw
MDA3MzRERjAgLyogUE9ESW50ZXJ2YWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUE9ESW50ZXJ2YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MTMyLDEz
ICsxNDEzNywxMyBAQAogCQlFMUJBNjcxNjE3NDJCREUwMDBDMjAyNTEgLyogbGliV2ViQ29yZVRl
c3RTaGltLmR5bGliICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5
cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0g
bGliV2ViQ29yZVRlc3RTaGltLmR5bGliOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElS
OyB9OwogCQlFMUJBNjcxOTE3NDJCRUY0MDBDMjAyNTEgLyogV2ViQ29yZVRlc3RTaGltTGlicmFy
eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3JlVGVzdFNo
aW1MaWJyYXJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFCQjg0QUMxODIy
Q0E3NDAwNTI1MDQzIC8qIENyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5TWFjLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5TWFjLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTFCRDMzMTcxODJEOERERDAwQzA1RDlG
IC8qIENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1SU0FT
U0FfUEtDUzFfdjFfNS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVj
aWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OwotCQlFMUJEMzMxODE4MkQ4
REREMDBDMDVEOUYgLyogQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IENyeXB0b0FsZ29yaXRo
bVJTQVNTQV9QS0NTMV92MV81Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VT
cGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcub2JqY3BwOyB9OwotCQlFMUJEMzMx
QjE4MkQ4RUU5MDBDMDVEOUYgLyogQ3J5cHRvQWxnb3JpdGhtUnNhU3NhUGFyYW1zRGVwcmVjYXRl
ZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ3J5
cHRvQWxnb3JpdGhtUnNhU3NhUGFyYW1zRGVwcmVjYXRlZC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNw
cDsgfTsKKwkJRTFCRDMzMTcxODJEOERERDAwQzA1RDlGIC8qIENyeXB0b0FsZ29yaXRobVJTQVNT
QV9QS0NTMV92MV81LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENy
eXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRTFCRDMzMTgxODJEOERERDAwQzA1RDlGIC8qIENyeXB0b0FsZ29yaXRobVJTQVNT
QV9QS0NTMV92MV81LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b0Fs
Z29yaXRobVJTQVNTQV9QS0NTMV92MV81Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUUxQkQzMzFCMTgyRDhFRTkwMEMwNUQ5RiAvKiBDcnlwdG9BbGdvcml0aG1Sc2FTc2FQYXJhbXNE
ZXByZWNhdGVkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b0FsZ29y
aXRobVJzYVNzYVBhcmFtc0RlcHJlY2F0ZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTFCRDMzMUQxODJEOEY0MjAwQzA1RDlGIC8qIENyeXB0b0FsZ29yaXRobVJzYUtleUdlblBh
cmFtc0RlcHJlY2F0ZWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3J5cHRv
QWxnb3JpdGhtUnNhS2V5R2VuUGFyYW1zRGVwcmVjYXRlZC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFMUJFNTEyQjBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFhTTFRVbmljb2RlU29ydC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQkU1MTJDMENGNkM1MTIwMDJFQTk1
OSAvKiBYU0xUVW5pY29kZVNvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
WFNMVFVuaWNvZGVTb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUxQzI2NkQ2
MTgzMTdBQjQwMDNGOEIzMyAvKiBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNU1hYy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0g
Q3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzVNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNw
cDsgfTsKKwkJRTFDMjY2RDYxODMxN0FCNDAwM0Y4QjMzIC8qIENyeXB0b0FsZ29yaXRobVJTQVNT
QV9QS0NTMV92MV81TWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81TWFjLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTFDMjY2REExODMxOTkzNTAwM0Y4QjMzIC8qIENyeXB0b0FsZ29yaXRo
bVJzYUtleVBhcmFtc1dpdGhIYXNoRGVwcmVjYXRlZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1Sc2FLZXlQYXJhbXNXaXRoSGFzaERlcHJlY2F0ZWQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFDMjY2REMxODMxOUYzMTAwM0Y4QjMz
IC8qIENyeXB0b0tleURhdGFSU0FDb21wb25lbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENyeXB0b0tleURhdGFSU0FDb21wb25lbnRzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFDMjY2REQxODMxOUYzMTAwM0Y4QjMzIC8qIENyeXB0b0tl
eURhdGFSU0FDb21wb25lbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENy
eXB0b0tleURhdGFSU0FDb21wb25lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNDE1NCwxMiArMTQxNTksMTIgQEAKIAkJRTFDNDE2MTYwRjY1NjMxODAwOTJEMkZCIC8qIENy
b3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFMUM0REU2ODBFQTc1QzFFMDAyM0NDRDYgLyogQWN0aXZlRE9NT2JqZWN0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjdGl2ZURPTU9iamVjdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUM0REU2RDBFQTc1QzY1MDAyM0NDRDYgLyogQWN0
aXZlRE9NT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFj
dGl2ZURPTU9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUxQzY1NzEw
MTgxNUY5REQwMDI1NkNERCAvKiBKU0NyeXB0b0FsZ29yaXRobURpY3Rpb25hcnkuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IEpTQ3J5cHRv
QWxnb3JpdGhtRGljdGlvbmFyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3Vh
Z2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQlFMUM2NTcx
MDE4MTVGOUREMDAyNTZDREQgLyogSlNDcnlwdG9BbGdvcml0aG1EaWN0aW9uYXJ5LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlv
bmFyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQzY1NzExMTgxNUY5REQw
MDI1NkNERCAvKiBKU0NyeXB0b0FsZ29yaXRobURpY3Rpb25hcnkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNDcnlwdG9BbGdvcml0aG1EaWN0aW9uYXJ5Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQzY1NzFFMTgxNkU1MDMwMDI1NkNERCAvKiBDcnlwdG9B
bGdvcml0aG1IbWFjUGFyYW1zRGVwcmVjYXRlZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDcnlwdG9BbGdvcml0aG1IbWFjUGFyYW1zRGVwcmVjYXRlZC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMUM2NTcyNDE4MTZFNjlEMDAyNTZDREQgLyogQ3J5cHRvQWxn
b3JpdGhtSWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlw
dG9BbGdvcml0aG1JZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUx
QzY1NzI2MTgxNkY5RkUwMDI1NkNERCAvKiBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVj
YXRlZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzRGVwcmVjYXRlZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMUM2
Q0ZDMjE3NDZEMjkzMDA3Qjg3QTEgLyogRE9NV2luZG93Q29uc3RydWN0b3JzLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IGxpbmVFbmRp
bmcgPSAwOyBwYXRoID0gRE9NV2luZG93Q29uc3RydWN0b3JzLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0gIjxub25lPiI7IH07
CisJCUUxQzZDRkMyMTc0NkQyOTMwMDdCODdBMSAvKiBET01XaW5kb3dDb25zdHJ1Y3RvcnMuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IERPTVdpbmRvd0NvbnN0cnVjdG9ycy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9ICI8bm9uZT4iOyB9OwogCQlFMUM4
QkU1QzBFOEJEMTVBMDA2NENCN0QgLyogSlNXb3JrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNXb3JrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFMUM5NEFGNzE5MTMwM0YwMDBENUE4OTMgLyogQmxvYlBhcnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQmxvYlBhcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTFDQTVDQkIwRThDRENBRjAwRThFRjkwIC8qIEpTV29ya2VyQ3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV29ya2VyQ3VzdG9tLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NTY0LDcgKzE0NTY5LDcgQEAKIAkJRkM5QTBG
NzMxNjQwOTRDRjAwM0Q2QjhEIC8qIERPTUNTU05hbWVzcGFjZS5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gRE9NQ1NTTmFtZXNwYWNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRkM5RTBFNEIxNjQxOUMxRTAwMzkyQkUzIC8qIEpTRE9NQ1NTTmFtZXNwYWNlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NQ1NTTmFtZXNwYWNlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZDRUJDRDcxMTYyM0E3OTEwMDI5OTY1RSAvKiBDU1NHcmFt
bWFyLnkuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLnlhY2M7IHBhdGggPSBDU1NHcmFtbWFyLnku
aW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUZDRUJDRDcyMTYyM0E3OTEwMDI5OTY1
RSAvKiBDU1NHcmFtbWFyLnkuaW5jbHVkZXMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLnlhY2M7IGxp
bmVFbmRpbmcgPSAwOyBwYXRoID0gQ1NTR3JhbW1hci55LmluY2x1ZGVzOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSAiPG5vbmU+Ijsg
fTsKKwkJRkNFQkNENzIxNjIzQTc5MTAwMjk5NjVFIC8qIENTU0dyYW1tYXIueS5pbmNsdWRlcyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUueWFjYzsgcGF0aCA9IENTU0dyYW1tYXIueS5pbmNsdWRlczsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVy
ID0gIjxub25lPiI7IH07CiAJCUZEMDBEN0EyMTRBM0Y2MTkwMDczNDAxMSAvKiBTaW5jUmVzYW1w
bGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNpbmNSZXNhbXBs
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRDAwRDdBMzE0QTNGNjE5MDA3
MzQwMTEgLyogU2luY1Jlc2FtcGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTaW5jUmVzYW1wbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZEMDZERkEz
MTM0QTRERUYwMDZGNUQ3RCAvKiBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25O
b2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIzMDU0LDYgKzIzMDU5LDcg
QEAKIAkJCQlFMTI1Rjg1NTE4MkMwRjgzMDBEODRDRDkgLyogQ3J5cHRvS2V5U2VyaWFsaXphdGlv
bi5oICovLAogCQkJCUUxOTcyNzE1MTgyMDU0OUUwMDU5MkQ1MSAvKiBDcnlwdG9LZXlUeXBlLmgg
Ki8sCiAJCQkJRTE3MkFGNkYxODBGMjg5NTAwRkJBREI5IC8qIENyeXB0b0tleVVzYWdlLmggKi8s
CisJCQkJNTdEMDAxOEIxREQzREJBNDAwRUQxOUQ5IC8qIENyeXB0b0tleVVzYWdlLmlkbCAqLywK
IAkJCQk1N0UyMzM2NDFEQzdEQjFGMDBGMjhEMDEgLyogSnNvbldlYktleS5oICovLAogCQkJCTU3
RTIzMzU3MURDN0QyNDgwMEYyOEQwMSAvKiBKc29uV2ViS2V5LmlkbCAqLywKIAkJCQk1N0UyMzM2
MjFEQzdEQTI0MDBGMjhEMDEgLyogUnNhT3RoZXJQcmltZXNJbmZvLmggKi8sCkBAIC0yMzA4MCw2
ICsyMzA4Niw4IEBACiAJCQkJRTE1N0E4REYxODE3MzMxQzAwOUY4MjFEIC8qIEpTQ3J5cHRvS2V5
LmggKi8sCiAJCQkJRTFGODBCOEIxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5j
cHAgKi8sCiAJCQkJRTFGODBCOEMxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5o
ICovLAorCQkJCTU3RDAwMThFMURENTQxNTMwMEVEMTlEOSAvKiBKU0NyeXB0b0tleVVzYWdlLmNw
cCAqLywKKwkJCQk1N0QwMDE4QzFERDU0MTMyMDBFRDE5RDkgLyogSlNDcnlwdG9LZXlVc2FnZS5o
ICovLAogCQkJCTU3RTIzMzY4MURDQUIyNDMwMEYyOEQwMSAvKiBKU0htYWNLZXlQYXJhbXMuY3Bw
ICovLAogCQkJCTU3RTIzMzY2MURDQUIyMUMwMEYyOEQwMSAvKiBKU0htYWNLZXlQYXJhbXMuaCAq
LywKIAkJCQk1N0UyMzM1RTFEQzdENjdCMDBGMjhEMDEgLyogSlNKc29uV2ViS2V5LmNwcCAqLywK
QEAgLTI1MjI4LDcgKzI1MjM2LDYgQEAKIAkJCQlDRDE5QTI2ODFBMTNFNzAwMDA4RDY1MEUgLyog
RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2RkNCNjE4MUE3
MDgyMEUwMEM1QTIxRSAvKiBEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTgzNzJEQjMxMUE2NzgwQTgwMEM2OTdDNSAvKiBEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5
cGUuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxRTI2OTM3MUREM0JEOUIwMDZCNkE1OCAvKiBJREJJ
dGVyYXRlQ3Vyc29yRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0VDQURGQzcxNTM3NzhGRjAw
RTM3MDY4IC8qIERpY3RhdGlvbkFsdGVybmF0aXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRUNB
REZDOTE1Mzc3OEZGMDBFMzcwNjggLyogRGljdGF0aW9uQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRDBCRDRGNUQxNDA4ODUwRjAwNjgzOUI2IC8qIERpY3RhdGlvbkNvbW1hbmRJT1MuaCBp
biBIZWFkZXJzICovLApAQCAtMjUyNzYsOCArMjUyODMsOCBAQAogCQkJCUJDMUJERjI1MTU2QzE4
QzcwMDFDMTI0MyAvKiBET01FcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkVENjA5QkQxMTQ1
QjA3MTAwQzg2ODRFIC8qIERPTUZvcm1EYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODE4NUYz
QjA5NzY1NzY2MDA1ODI2RDkgLyogRE9NSW1wbGVtZW50YXRpb24uaCBpbiBIZWFkZXJzICovLAot
CQkJCUUzMTUwRUE3MURBNzIxOTMwMDE5NDAxMiAvKiBET01KSVRIZWxwZXJzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFM0M5OUEwOTFEQzNENDFDMDA3OTRBRDMgLyogRE9NSklUQ2hlY2tET00uaCBp
biBIZWFkZXJzICovLAorCQkJCUUzMTUwRUE3MURBNzIxOTMwMDE5NDAxMiAvKiBET01KSVRIZWxw
ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFM0E3NzY2NzFEQzg1RDI4MDBCNjkwRDggLyogRE9N
SklUSURMQ29udmVydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTNBNzc2NjgxREM4NUQyODAwQjY5
MEQ4IC8qIERPTUpJVElETFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzNTgwMkI2MURDODQz
NUQwMEE5NzczQyAvKiBET01KSVRJRExUeXBlRmlsdGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTI1
NDA1LDcgKzI1NDEyLDYgQEAKIAkJCQk4NDczMEQ4OTEyNDhGMEIzMDBEM0E5QzkgLyogRkVTcGVj
dWxhckxpZ2h0aW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYw
MjMgLyogRmV0Y2hJbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFBRDc1
M0ExQ0VGNkJEMTAwQTMxNDg2IC8qIEZldGNoT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
NDEzRTAwNzkxREIwRTRGMjAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTg0NzMwRDhCMTI0OEYwQjMwMEQzQTlDOSAvKiBGRVRpbGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTg0NzMwRDhEMTI0OEYwQjMwMEQzQTlDOSAvKiBGRVR1cmJ1bGVuY2UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUZEMzE2MDk1MTJCMDI2RjcwMEMxQTM1OSAvKiBGRlRDb252b2x2ZXIuaCBp
biBIZWFkZXJzICovLApAQCAtMjU3MjAsNiArMjU3MjYsNyBAQAogCQkJCTUxODVGQzhGMUJCNEM0
RTgwMDEyODk4RiAvKiBJREJHZXRSZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVGQzkx
MUJCNEM0RTgwMDEyODk4RiAvKiBJREJJbmRleC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGNzk4
RjAxQkU4ODBFNzAwOEFFNDkxIC8qIElEQkluZGV4SW5mby5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NTFFMjY5MzcxREQzQkQ5QjAwNkI2QTU4IC8qIElEQkl0ZXJhdGVDdXJzb3JEYXRhLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MTg1RkM5NTFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MTg1RkM5NzFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5RGF0YS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTE4NUZDOTkxQkI0QzRFODAwMTI4OThGIC8qIElEQktleVBhdGgu
aCBpbiBIZWFkZXJzICovLApAQCAtMjYwNzgsNiArMjYwODUsNyBAQAogCQkJCUE4MEU3RTk5MEEx
QTgzRTMwMDdGQjhDNSAvKiBKU0hUTUxPcHRpb25FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0NDhBMjlCRjBBNDZEOUNCMDAzMDc1OUYgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCTRBRDAxNzNEMTI3RTgyODYwMDE1MDM1RiAvKiBKU0hUTUxPdXRw
dXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1N0QwMDE4RDFERDU0MTMyMDBFRDE5RDkg
LyogSlNDcnlwdG9LZXlVc2FnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFCQTcwQTFDRTkw
NTAwQjQyQjI1IC8qIEpTSFRNTFBhcmFncmFwaEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBRTJBQkE5MEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxQYXJhbUVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDM0Q4NUJDMUMwRTJFN0EwMEQzQjYxMCAvKiBKU0hUTUxQaWN0dXJlRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjY5Nyw2ICsyNjcwNSw3IEBACiAJCQkJNTE3NzFE
RkYxQkRCNDg1MDAwQ0FFOEU0IC8qIE1lbW9yeU9iamVjdFN0b3JlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MTcxMzkwNjFCRjY0REVDMDAwRDVGMDEgLyogTWVtb3J5T2JqZWN0U3RvcmVDdXJzb3Iu
aCBpbiBIZWFkZXJzICovLAogCQkJCTY1NzFEQ0M4MTM4NUU2QTQwMDcwMkREMCAvKiBNZW1vcnlQ
cmVzc3VyZUhhbmRsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxM0UwMDc5MURCMEU0RjIwMDIz
NDFEMiAvKiBNZW1vcnlSZWxlYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGQTA5OUU2
NDkyMDA1NkU1ODEgLyogTWVyZ2VJZGVudGljYWxFbGVtZW50c0NvbW1hbmQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUxQURFQ0NFMEU3NkFEOEIwMDRBMUE1RSAvKiBNZXNzYWdlQ2hhbm5lbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNzU3OTNFODQwRDBDRTBCMzAwN0ZDMEFDIC8qIE1lc3NhZ2VFdmVu
dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjgxMCw2ICsyNjgxOSw3IEBACiAJCQkJOTMzQzdBNzUx
QzBGQkM0NDAwMzRGQjk3IC8qIE5TU3BlbGxDaGVja2VyU1BJLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDRTEyNTI1MzFBMUJFQzA2MDA4NjQ0ODAgLyogTlNTdHJpbmdTUEkuaCBpbiBIZWFkZXJzICov
LAogCQkJCTJENzdBQzJCMUJGMkI5ODcwMDcyNDcwQSAvKiBOU1RleHRGaW5kZXJTUEkuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTkzMzVCNDlEMURDQkVGN0MwMEVENDY4RSAvKiBOU1RvdWNoQmFyU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUIzMTNEQjFCNjk4NzE2MDBGMkFBQkMgLyogTlNVUkxD
b25uZWN0aW9uU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTEyNTI1NTFBMUJFQzBFMDA4NjQ0
ODAgLyogTlNVUkxEb3dubG9hZFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjU4RjU0MDMxOUEx
QzkyNDAwODhGQzkyIC8qIE5TVVJMRmlsZVR5cGVNYXBwaW5nc1NQSS5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNzAwOCw5ICsyNzAxOCw5IEBACiAJCQkJRjU1QjNEQ0UxMjUxRjEyRDAwM0VGMjY5IC8q
IFJhbmdlSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTg0RTlFMTE3NjY4QkYxMDA4
MTVCNjggLyogUmFzdGVyU2hhcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NEQ4MjdDMTFEMzMz
RUQwMDk3Mjk5MCAvKiBSYXdEYXRhRG9jdW1lbnRQYXJzZXIuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTQxNkU2RkU4MUJCRDEyREYwMDBBM0Y2NCAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0
aW5zLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTZFNkZFOTFCQkQxMkU1MDAwQTYwNDMgLyogUmVh
ZGFibGVTdHJlYW1CdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZGRTgxQkJEMTJE
RjAwMEE2MDQzIC8qIFJlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk0MTZFNkZFOTFCQkQxMkU1MDAwQTYwNDMgLyogUmVhZGFibGVTdHJlYW1C
dWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE2RTZGRTgxQkJEMTJERjAwMEEzRjY0IC8q
IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUZE
MzE2MDNDMTJCMDI2NzYwMEMxQTM1OSAvKiBSZWFsdGltZUFuYWx5c2VyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0QTRGNjU3MTFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNEE0RjY1NzIxQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1l
TWVkaWFTb3VyY2VDYXBhYmlsaXRpZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMjgwOTAsNyArMjgx
MDAsNiBAQAogCQkJCTFDQUYzNDgxMEE2QzQwNTIwMEFCRTA2RSAvKiBXZWJTY3JpcHRPYmplY3Qu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFDQUYzNDgzMEE2QzQwNTIwMEFCRTA2RSAvKiBXZWJTY3Jp
cHRPYmplY3RQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTU2OUQxQjBEN0UyQjgyMDA3
QzM5ODMgLyogV2ViU2NyaXB0T2JqZWN0UHJvdG9jb2wuaCBpbiBIZWFkZXJzICovLAotCQkJCTkz
MzVCNDlEMURDQkVGN0MwMEVENDY4RSAvKiBOU1RvdWNoQmFyU1BJLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5N0FBQkQxQjE0RkEwOUQ1MDA3NDU3QUUgLyogV2ViU29ja2V0LmggaW4gSGVhZGVycyAq
LywKIAkJCQk5N0FBQkQxRTE0RkEwOUQ1MDA3NDU3QUUgLyogV2ViU29ja2V0Q2hhbm5lbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTdBQUJEMUYxNEZBMDlENTAwNzQ1N0FFIC8qIFdlYlNvY2tldENo
YW5uZWxDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjg1MjAsNiArMjg1MjksNyBAQAogCQkJ
aXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgz
NjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNTdEMDAxOEYxREQ1NDE1MzAwRUQxOUQ5IC8qIEpTQ3J5
cHRvS2V5VXNhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFFMUIxRDAwRkY1OTg2OTAwNTc2
QjNCIC8qIEFic3RyYWN0V29ya2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3RjU3QUI5MUE1
MDcyNjkwMDg3NkY5OCAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMzdGNTdBQkExQTUwNzI2RjAwODc2Rjk4IC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZENl
bGwuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yODcyNiw3ICsyODczNiw2IEBACiAJCQkJQ0RFOEI1
RUMxQTY5Nzc3MzAwQjRCNjZBIC8qIENETVByaXZhdGVDbGVhcktleS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlDRENBOThFQjE4QjJDOEVCMDBDMTJGRjkgLyogQ0RNUHJpdmF0ZU1lZGlhUGxheWVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNEMzE4NjIyMTk5RjFFMkEwMDMwQTBGNyAvKiBDRE1Q
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNDEzRTAwN0Mx
REIwRTcwQTAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2VDb2NvYS5tbSBpbiBTb3VyY2VzICovLAog
CQkJCUNERTU5NTk1MUJGMTZERjMwMEExQ0JFOCAvKiBDRE1TZXNzaW9uQVZDb250ZW50S2V5U2Vz
c2lvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEREUwMkVEMThCM0VENkQwMENGN0ZGMSAvKiBD
RE1TZXNzaW9uQVZGb3VuZGF0aW9uT2JqQy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEREUwMkYw
MThCNTY1MTMwMENGN0ZGMSAvKiBDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uLm1tIGluIFNvdXJj
ZXMgKi8sCkBAIC0yOTA4NSw3ICsyOTA5NCw2IEBACiAJCQkJRkQ2RUQyQzMxMzZCOEU0MjAwM0NG
MDcyIC8qIER5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMz
MDlERTMwOTlFNjQ5MjAwNTZFNTgxIC8qIEVkaXRDb21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTlCQUI2QzZEMTI1NTA2MzEwMDE2MjZENCAvKiBFZGl0aW5nU3R5bGUuY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJNTFFMjY5MzMxREQzQkM0RTAwNkI2QTU4IC8qIEpTSURCVHJhbnNhY3Rpb25D
dXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEIzMDQzQ0MwQUUwMzczQjAwQTgyNjQ3IC8q
IEVkaXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5QjU1RUVFOTFCM0U4ODk4MDA1MzQyQkMg
LyogRWRpdG9yQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQk5M0EzOEI0QjBEMEU1ODA4MDA2
ODcyQzIgLyogRWRpdG9yQ29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5NDM3LDYgKzI5
NDQ1LDcgQEAKIAkJCQk1MTJGMUE3ODFDMDdFQjY2MDA5MDgyMzkgLyogSURCR2V0UmVzdWx0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTUxODVGQzkwMUJCNEM0RTgwMDEyODk4RiAvKiBJREJJbmRl
eC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUY3OThFRjFCRTg4MEU3MDA4QUU0OTEgLyogSURC
SW5kZXhJbmZvLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRTI2OTM2MUREM0JEOTcwMDZCNkE1
OCAvKiBJREJJdGVyYXRlQ3Vyc29yRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTg1RkM5
NDFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxODVG
Qzk2MUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUxODVGQzk4MUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlQYXRoLmNwcCBpbiBTb3VyY2VzICov
LApAQCAtMjk4NzUsNiArMjk4ODQsNyBAQAogCQkJCTUxMUVGMkM5MTdGMEZEMzUwMEU0RkExNiAv
KiBKU0lEQlJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM0RjMxQjUxQ0MwNzM3MjAw
REI0M0RDIC8qIEpTSURCUmVxdWVzdEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTFF
RjJDQTE3RjBGRDM1MDBFNEZBMTYgLyogSlNJREJUcmFuc2FjdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk1MUUyNjkzMzFERDNCQzRFMDA2QjZBNTggLyogSlNJREJUcmFuc2FjdGlvbkN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzhFRjUzQjFEQzE0QTdDMDA4RjBDMzkgLyogSlNJ
REJUcmFuc2FjdGlvbk1vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTExRUYyQ0IxN0YwRkQz
NTAwRTRGQTE2IC8qIEpTSURCVmVyc2lvbkNoYW5nZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDNkM0OUYzMEQ3REJBMDUwMEZGQTU1OCAvKiBKU0ltYWdlQ29uc3RydWN0b3IuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0zMDI3MCw3ICszMDI4MCw2IEBACiAJCQkJNkY5OTVBMzcxQTcwODMz
NzAwQTczNUY0IC8qIEpTV2ViR0xUcmFuc2Zvcm1GZWVkYmFjay5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwQzQ1MzQyNzEwQ0RCQkZBMDA4NjkxNTcgLyogSlNXZWJHTFVuaWZvcm1Mb2NhdGlvbi5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk2Rjk5NUEzOTFBNzA4MzM3MDBBNzM1RjQgLyogSlNXZWJH
TFZlcnRleEFycmF5T2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRTI2OTM2MUREM0JE
OTcwMDZCNkE1OCAvKiBJREJJdGVyYXRlQ3Vyc29yRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk3N0VGNjJGMzEyRjlEQjc0MDBDNzdCRDIgLyogSlNXZWJHTFZlcnRleEFycmF5T2JqZWN0T0VT
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxQzBGRjNEMEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dl
YktpdEFuaW1hdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5ODM5MTNGMEYxRTc2
NzUwMEMyMzc4MiAvKiBKU1dlYktpdENTU01hdHJpeC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMw
NDc5LDcgKzMwNDg4LDYgQEAKIAkJCQkwNzhFMDkwMzE3RDE0Q0VFMDA0MjBBQTEgLyogTWVkaWFT
dHJlYW1UcmFja0V2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3RkZERTY4MTgxQUVENDIw
MDcyRDQwOSAvKiBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlDRDY0MUVCRjE4MTlCMzYwMDBFRTRDNDEgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcCBp
biBTb3VyY2VzICovLAotCQkJCTQxM0UwMDdBMURCMEU0RjkwMDIzNDFEMiAvKiBNZW1vcnlSZWxl
YXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNENjBDMEM2MTkzRTg3QzcwMDNDNjU2QiAvKiBN
ZWRpYVRpbWVRVEtpdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTA3MDU4NTNBMTdGRTA3NzAwMDVG
MkJDQiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzA1
ODUyMzE3RkRDMTQwMDA1RjJCQ0IgLyogTWVkaWFUcmFja0NvbnN0cmFpbnRzLmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMzA0OTUsNiArMzA1MDMsOCBAQAogCQkJCTUxNzEzOTA1MUJGNjRERUMwMDBE
NUYwMSAvKiBNZW1vcnlPYmplY3RTdG9yZUN1cnNvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2
NTdFREEwODEzODVDQjk3MDA0RTA2NDUgLyogTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUFEQjZCMjk4MThGQjkwMjQwMDgxOTYzRSAvKiBNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXJDb2NvYS5tbSBpbiBTb3VyY2VzICovLAorCQkJCTQxM0UwMDdBMURCMEU0RjkwMDIz
NDFEMiAvKiBNZW1vcnlSZWxlYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxM0UwMDdDMURC
MEU3MEEwMDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk5MzMwOURGOTA5OUU2NDkyMDA1NkU1ODEgLyogTWVyZ2VJZGVudGljYWxFbGVtZW50c0NvbW1h
bmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFBREVDQ0YwRTc2QUQ4QjAwNEExQTVFIC8qIE1l
c3NhZ2VDaGFubmVsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTc1NzkzRTgzMEQwQ0UwQjMwMDdG
QzBBQyAvKiBNZXNzYWdlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMTE0OSw2ICszMTE1
OSw3IEBACiAJCQkJMjREOTEyQjAxM0NBOUExRjAwRDIxOTE1IC8qIFNWR0FsdEdseXBoRGVmRWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NTY1M0YyRDBEOTcyN0QyMDBDQTk3MjMgLyog
U1ZHQWx0R2x5cGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI0RDkxMkI3MTNDQTlB
NjkwMEQyMTkxNSAvKiBTVkdBbHRHbHlwaEl0ZW1FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTdDOEYyMjQ0MUREM0MyRjYwMEU5MkRBMyAvKiBTVkdBbmdsZVZhbHVlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUIyMjI3OTc5MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdBbmltYXRlQ29sb3JF
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQzNjJDN0I5MTNBQzZGMUEwMDM0NEJFQiAv
KiBTVkdBbmltYXRlZEFuZ2xlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQzMUEzMDg4MTNCOEY5
NzgwMDc3OTFFNCAvKiBTVkdBbmltYXRlZEJvb2xlYW4uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0z
MTM1Myw3ICszMTM2NCw2IEBACiAJCQkJQ0VDQURGQ0QxNTM3NzkxRDAwRTM3MDY4IC8qIFRleHRJ
bnNlcnRpb25CYXNlQ29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwOUUxQjA5OUU2
NDkyMDA1NkU1ODEgLyogVGV4dEl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0RDk4
OEI2MTdCRkVCMjEwMDg0RkI4OCAvKiBUZXh0Tm9kZVRyYXZlcnNhbC5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQk3QzhGMjI0NDFERDNDMkY2MDBFOTJEQTMgLyogU1ZHQW5nbGVWYWx1ZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkxQzE4REE1ODE4MUFGNkE1MDBDNEVGMjIgLyogVGV4dFBhaW50ZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTRDOTFBMTAxODAyMzQzOTAwQTE3RjZEIC8qIFRleHRQ
YWludFN0eWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjE5QTlEMDgyNDVFNTkwMDFFOUFC
QyAvKiBUZXh0UmVzb3VyY2VEZWNvZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDcnlwdG9LZXlTZXJpYWxpemF0aW9uSldLLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpX
Sy5jcHAKaW5kZXggM2UxYjFlZDBhZmIyNzdkZWFiOGQ1Y2EwOGQyNDdmOWM3NDhhYTg0NC4uNmUw
MGM5ZjUxMDExNDdmNDc4ZTc0MzU3OTZjYWMyMTY1MDFkZmUzNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNDcnlwdG9LZXlTZXJpYWxpemF0aW9uSldLLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0su
Y3BwCkBAIC0yNjksNyArMjY5LDcgQEAgT3B0aW9uYWw8Q3J5cHRvQWxnb3JpdGhtUGFpcj4gSlND
cnlwdG9LZXlTZXJpYWxpemF0aW9uSldLOjpyZWNvbmNpbGVBbGdvcml0aG0oQ3IKICAgICByZXR1
cm4gQ3J5cHRvQWxnb3JpdGhtUGFpciB7IHN1Z2dlc3RlZEFsZ29yaXRobSwgc3VnZ2VzdGVkUGFy
YW1ldGVycyB9OwogfQogCi1zdGF0aWMgYm9vbCB0cnlKV0tLZXlPcHNWYWx1ZShFeGVjU3RhdGUq
IGV4ZWMsIENyeXB0b0tleVVzYWdlJiB1c2FnZXMsIGNvbnN0IFN0cmluZyYgb3BlcmF0aW9uLCBj
b25zdCBTdHJpbmcmIHRyeU9wZXJhdGlvbiwgQ3J5cHRvS2V5VXNhZ2UgdHJ5VXNhZ2UpCitzdGF0
aWMgYm9vbCB0cnlKV0tLZXlPcHNWYWx1ZShFeGVjU3RhdGUqIGV4ZWMsIENyeXB0b0tleVVzYWdl
Qml0bWFwJiB1c2FnZXMsIGNvbnN0IFN0cmluZyYgb3BlcmF0aW9uLCBjb25zdCBTdHJpbmcmIHRy
eU9wZXJhdGlvbiwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdHJ5VXNhZ2UpCiB7CiAgICAgVk0mIHZt
ID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
CkBAIC0yODQsMTIgKzI4NCwxMiBAQCBzdGF0aWMgYm9vbCB0cnlKV0tLZXlPcHNWYWx1ZShFeGVj
U3RhdGUqIGV4ZWMsIENyeXB0b0tleVVzYWdlJiB1c2FnZXMsIGNvbnN0IFN0cgogICAgIHJldHVy
biB0cnVlOwogfQogCi12b2lkIEpTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSzo6cmVjb25jaWxl
VXNhZ2VzKENyeXB0b0tleVVzYWdlJiBzdWdnZXN0ZWRVc2FnZXMpIGNvbnN0Cit2b2lkIEpTQ3J5
cHRvS2V5U2VyaWFsaXphdGlvbkpXSzo6cmVjb25jaWxlVXNhZ2VzKENyeXB0b0tleVVzYWdlQml0
bWFwJiBzdWdnZXN0ZWRVc2FnZXMpIGNvbnN0CiB7CiAgICAgVk0mIHZtID0gbV9leGVjLT52bSgp
OwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIENyeXB0
b0tleVVzYWdlIGp3a1VzYWdlcyA9IDA7CisgICAgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgandrVXNh
Z2VzID0gMDsKIAogICAgIEpTQXJyYXkqIGtleU9wczsKICAgICBpZiAoZ2V0SlNBcnJheUZyb21K
U09OKG1fZXhlYywgbV9qc29uLmdldCgpLCAia2V5X29wcyIsIGtleU9wcykpIHsKQEAgLTY4Niw3
ICs2ODYsNyBAQCBzdGF0aWMgdm9pZCBhZGRKV0tBbGdvcml0aG1Ub0pTT04oRXhlY1N0YXRlKiBl
eGVjLCBKU09iamVjdCoganNvbiwgY29uc3QgQ3J5cHRvSwogICAgIGFkZFRvSlNPTihleGVjLCBq
c29uLCAiYWxnIiwgandrQWxnb3JpdGhtKTsKIH0KIAotc3RhdGljIHZvaWQgYWRkVXNhZ2VzVG9K
U09OKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGpzb24sIENyeXB0b0tleVVzYWdlIHVzYWdl
cykKK3N0YXRpYyB2b2lkIGFkZFVzYWdlc1RvSlNPTihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0
KiBqc29uLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMpCiB7CiAgICAgVk0mIHZtID0gZXhl
Yy0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRp
b25KV0suaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXph
dGlvbkpXSy5oCmluZGV4IGZlZTJkOTg5OTAyOTAxZTgyOGRmMTAwYmNhOGNlMjE3MmNkODBmMTcu
LjFhNzhhMzE0ZWExNDVjNzNhNjkwM2Y1Y2MzNzE1MDEyZmI2NjViOGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpX
Sy5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgT3B0aW9uYWw8Q3J5
cHRvQWxnb3JpdGhtUGFpcj4gcmVjb25jaWxlQWxnb3JpdGhtKENyeXB0b0FsZ29yaXRobSosIENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkKikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAg
ICB2b2lkIHJlY29uY2lsZVVzYWdlcyhDcnlwdG9LZXlVc2FnZSYpIGNvbnN0IG92ZXJyaWRlOwor
ICAgIHZvaWQgcmVjb25jaWxlVXNhZ2VzKENyeXB0b0tleVVzYWdlQml0bWFwJikgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgdm9pZCByZWNvbmNpbGVFeHRyYWN0YWJsZShib29sJikgY29uc3Qgb3ZlcnJp
ZGU7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvS2V5RGF0YT4ga2V5RGF0YSgpIGNvbnN0
IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdWJ0
bGVDcnlwdG9DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdWJ0bGVD
cnlwdG9DdXN0b20uY3BwCmluZGV4IGMwZmE0NDdmMDQzZWEzYzJhMTdmYTg3ZTBhYjFkYWMzZjdj
ZWIzMzkuLjg2ZjNmN2E0M2FhNWU3YmE3MzBkNGMzMzZhNGJlOGViNWNhMjdhYTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAK
QEAgLTE5NCw0OCArMTk0LDQzIEBAIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycz4gbm9ybWFsaXplQ3J5cHRvQWxnb3JpdGhtUGFyYW1lCiAgICAgcmV0dXJu
IG51bGxwdHI7CiB9CiAKLXN0YXRpYyBDcnlwdG9LZXlVc2FnZSBjcnlwdG9LZXlVc2FnZUZyb21T
dHJpbmcoY29uc3QgU3RyaW5nJiB1c2FnZVN0cmluZykKK3N0YXRpYyBDcnlwdG9LZXlVc2FnZUJp
dG1hcCB0b0NyeXB0b0tleVVzYWdlQml0bWFwKGNvbnN0IENyeXB0b0tleVVzYWdlIHVzYWdlKQog
ewotICAgIENyeXB0b0tleVVzYWdlIHJlc3VsdCA9IDA7Ci0gICAgaWYgKHVzYWdlU3RyaW5nID09
ICJlbmNyeXB0IikKLSAgICAgICAgcmVzdWx0ID0gQ3J5cHRvS2V5VXNhZ2VFbmNyeXB0OwotICAg
IGVsc2UgaWYgKHVzYWdlU3RyaW5nID09ICJkZWNyeXB0IikKLSAgICAgICAgcmVzdWx0ID0gQ3J5
cHRvS2V5VXNhZ2VEZWNyeXB0OwotICAgIGVsc2UgaWYgKHVzYWdlU3RyaW5nID09ICJzaWduIikK
LSAgICAgICAgcmVzdWx0ID0gQ3J5cHRvS2V5VXNhZ2VTaWduOwotICAgIGVsc2UgaWYgKHVzYWdl
U3RyaW5nID09ICJ2ZXJpZnkiKQotICAgICAgICByZXN1bHQgPSBDcnlwdG9LZXlVc2FnZVZlcmlm
eTsKLSAgICBlbHNlIGlmICh1c2FnZVN0cmluZyA9PSAiZGVyaXZlS2V5IikKLSAgICAgICAgcmVz
dWx0ID0gQ3J5cHRvS2V5VXNhZ2VEZXJpdmVLZXk7Ci0gICAgZWxzZSBpZiAodXNhZ2VTdHJpbmcg
PT0gImRlcml2ZUJpdHMiKQotICAgICAgICByZXN1bHQgPSBDcnlwdG9LZXlVc2FnZURlcml2ZUJp
dHM7Ci0gICAgZWxzZSBpZiAodXNhZ2VTdHJpbmcgPT0gIndyYXBLZXkiKQotICAgICAgICByZXN1
bHQgPSBDcnlwdG9LZXlVc2FnZVdyYXBLZXk7Ci0gICAgZWxzZSBpZiAodXNhZ2VTdHJpbmcgPT0g
InVud3JhcEtleSIpCi0gICAgICAgIHJlc3VsdCA9IENyeXB0b0tleVVzYWdlVW53cmFwS2V5Owor
ICAgIHN3aXRjaCAodXNhZ2UpIHsKKyAgICBjYXNlIENyeXB0b0tleVVzYWdlOjpFbmNyeXB0Ogor
ICAgICAgICByZXR1cm4gQ3J5cHRvS2V5VXNhZ2VFbmNyeXB0OworICAgIGNhc2UgQ3J5cHRvS2V5
VXNhZ2U6OkRlY3J5cHQ6CisgICAgICAgIHJldHVybiBDcnlwdG9LZXlVc2FnZURlY3J5cHQ7Cisg
ICAgY2FzZSBDcnlwdG9LZXlVc2FnZTo6U2lnbjoKKyAgICAgICAgcmV0dXJuIENyeXB0b0tleVVz
YWdlU2lnbjsKKyAgICBjYXNlIENyeXB0b0tleVVzYWdlOjpWZXJpZnk6CisgICAgICAgIHJldHVy
biBDcnlwdG9LZXlVc2FnZVZlcmlmeTsKKyAgICBjYXNlIENyeXB0b0tleVVzYWdlOjpEZXJpdmVL
ZXk6CisgICAgICAgIHJldHVybiBDcnlwdG9LZXlVc2FnZURlcml2ZUtleTsKKyAgICBjYXNlIENy
eXB0b0tleVVzYWdlOjpEZXJpdmVCaXRzOgorICAgICAgICByZXR1cm4gQ3J5cHRvS2V5VXNhZ2VE
ZXJpdmVCaXRzOworICAgIGNhc2UgQ3J5cHRvS2V5VXNhZ2U6OldyYXBLZXk6CisgICAgICAgIHJl
dHVybiBDcnlwdG9LZXlVc2FnZVdyYXBLZXk7CisgICAgY2FzZSBDcnlwdG9LZXlVc2FnZTo6VW53
cmFwS2V5OgorICAgICAgICByZXR1cm4gQ3J5cHRvS2V5VXNhZ2VVbndyYXBLZXk7CisgICAgfQog
Ci0gICAgcmV0dXJuIHJlc3VsdDsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1
cm4gMDsKIH0KIAotc3RhdGljIENyeXB0b0tleVVzYWdlIGNyeXB0b0tleVVzYWdlc0Zyb21KU1Zh
bHVlKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVmFsdWUgaXRlcmFibGUpCitzdGF0aWMgQ3J5cHRvS2V5
VXNhZ2VCaXRtYXAgY3J5cHRvS2V5VXNhZ2VCaXRtYXBGcm9tSlNWYWx1ZShFeGVjU3RhdGUmIHN0
YXRlLCBKU1ZhbHVlIHZhbHVlKQogewogICAgIFZNJiB2bSA9IHN0YXRlLnZtKCk7CiAgICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgQ3J5cHRvS2V5VXNhZ2Ug
cmVzdWx0ID0gMDsKLSAgICBmb3JFYWNoSW5JdGVyYWJsZSgmc3RhdGUsIGl0ZXJhYmxlLCBbJnJl
c3VsdF0oVk0mIHZtLCBFeGVjU3RhdGUqIHN0YXRlLCBKU1ZhbHVlIG5leHRJdGVtKSB7Ci0gICAg
ICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLQotICAgICAgICBTdHJp
bmcgdXNhZ2VTdHJpbmcgPSBuZXh0SXRlbS50b1dURlN0cmluZyhzdGF0ZSk7Ci0gICAgICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAgICAgIENyeXB0b0tleVVzYWdl
IHVzYWdlID0gY3J5cHRvS2V5VXNhZ2VGcm9tU3RyaW5nKHVzYWdlU3RyaW5nKTsKLSAgICAgICAg
aWYgKCF1c2FnZSkKLSAgICAgICAgICAgIHRocm93VHlwZUVycm9yKHN0YXRlLCBzY29wZSwgQVND
SUlMaXRlcmFsKCJJbnZhbGlkIEtleVVzYWdlcyIpKTsKLQotICAgICAgICAvLyBNYXliZSB3ZSBz
aG91bGRuJ3Qgc2lsZW50bHkgYnlwYXNzIGR1cGxpY2F0ZWQgdXNhZ2VzPwotICAgICAgICByZXN1
bHQgfD0gdXNhZ2U7Ci0gICAgfSk7CisgICAgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgcmVzdWx0ID0g
MDsKKyAgICBhdXRvIHVzYWdlcyA9IGNvbnZlcnQ8SURMU2VxdWVuY2U8SURMRW51bWVyYXRpb248
Q3J5cHRvS2V5VXNhZ2U+Pj4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCAwKTsKKyAgICAvLyBNYXliZSB3ZSBzaG91bGRuJ3Qgc2lsZW50bHkgYnlwYXNzIGR1
cGxpY2F0ZWQgdXNhZ2VzPworICAgIGZvciAoYXV0byB1c2FnZSA6IHVzYWdlcykKKyAgICAgICAg
cmVzdWx0IHw9IHRvQ3J5cHRvS2V5VXNhZ2VCaXRtYXAodXNhZ2UpOworCiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIApAQCAtMjk4LDE1ICsyOTMsMTEgQEAgc3RhdGljIEtleURhdGEgdG9LZXlEYXRh
KEV4ZWNTdGF0ZSYgc3RhdGUsIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwgSlNWYWwK
ICAgICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0OjpKd2s6IHsKICAgICAgICAgcmVzdWx0
ID0gY29udmVydERpY3Rpb25hcnk8SnNvbldlYktleT4oc3RhdGUsIHZhbHVlKTsKICAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgcmVzdWx0KTsKLSAgICAgICAgQ3J5cHRvS2V5VXNh
Z2UgdXNhZ2VzID0gMDsKKyAgICAgICAgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzID0gMDsK
ICAgICAgICAgaWYgKFdURjo6Z2V0PEpzb25XZWJLZXk+KHJlc3VsdCkua2V5X29wcykgewotICAg
ICAgICAgICAgZm9yIChhdXRvIHVzYWdlU3RyaW5nIDogV1RGOjpnZXQ8SnNvbldlYktleT4ocmVz
dWx0KS5rZXlfb3BzLnZhbHVlKCkpIHsKLSAgICAgICAgICAgICAgICBDcnlwdG9LZXlVc2FnZSB1
c2FnZSA9IGNyeXB0b0tleVVzYWdlRnJvbVN0cmluZyh1c2FnZVN0cmluZyk7Ci0gICAgICAgICAg
ICAgICAgaWYgKCF1c2FnZSkKLSAgICAgICAgICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoJnN0
YXRlLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJJbnZhbGlkIGtleV9vcHMiKSk7Ci0gICAgICAgICAg
ICAgICAgLy8gTWF5YmUgd2Ugc2hvdWxkbid0IHNpbGVudGx5IGJ5cGFzcyBkdXBsaWNhdGVkIHVz
YWdlcz8KLSAgICAgICAgICAgICAgICB1c2FnZXMgfD0gY3J5cHRvS2V5VXNhZ2VGcm9tU3RyaW5n
KHVzYWdlU3RyaW5nKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8vIE1heWJlIHdlIHNo
b3VsZG4ndCBzaWxlbnRseSBieXBhc3MgZHVwbGljYXRlZCB1c2FnZXM/CisgICAgICAgICAgICBm
b3IgKGF1dG8gdXNhZ2UgOiBXVEY6OmdldDxKc29uV2ViS2V5PihyZXN1bHQpLmtleV9vcHMudmFs
dWUoKSkKKyAgICAgICAgICAgICAgICB1c2FnZXMgfD0gdG9DcnlwdG9LZXlVc2FnZUJpdG1hcCh1
c2FnZSk7CiAgICAgICAgIH0KICAgICAgICAgV1RGOjpnZXQ8SnNvbldlYktleT4ocmVzdWx0KS51
c2FnZXMgPSB1c2FnZXM7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CkBAIC0zMzIsNyArMzIzLDcg
QEAgc3RhdGljIHZvaWQganNTdWJ0bGVDcnlwdG9GdW5jdGlvbkdlbmVyYXRlS2V5UHJvbWlzZShF
eGVjU3RhdGUmIHN0YXRlLCBSZWY8RGVmZXIKICAgICBhdXRvIGV4dHJhY3RhYmxlID0gc3RhdGUu
dW5jaGVja2VkQXJndW1lbnQoMSkudG9Cb29sZWFuKCZzdGF0ZSk7CiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgdm9pZCgpKTsKIAotICAgIGF1dG8ga2V5VXNhZ2VzID0gY3J5cHRvS2V5
VXNhZ2VzRnJvbUpTVmFsdWUoc3RhdGUsIHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDIpKTsKKyAg
ICBhdXRvIGtleVVzYWdlcyA9IGNyeXB0b0tleVVzYWdlQml0bWFwRnJvbUpTVmFsdWUoc3RhdGUs
IHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDIpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCB2b2lkKCkpOwogCiAgICAgYXV0byBhbGdvcml0aG0gPSBjcmVhdGVBbGdvcml0aG0oc3Rh
dGUsIHBhcmFtcy0+aWRlbnRpZmllcik7CkBAIC0zODcsNyArMzc4LDcgQEAgc3RhdGljIHZvaWQg
anNTdWJ0bGVDcnlwdG9GdW5jdGlvbkltcG9ydEtleVByb21pc2UoRXhlY1N0YXRlJiBzdGF0ZSwg
UmVmPERlZmVycmUKICAgICBhdXRvIGV4dHJhY3RhYmxlID0gc3RhdGUudW5jaGVja2VkQXJndW1l
bnQoMykudG9Cb29sZWFuKCZzdGF0ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
dm9pZCgpKTsKIAotICAgIGF1dG8ga2V5VXNhZ2VzID0gY3J5cHRvS2V5VXNhZ2VzRnJvbUpTVmFs
dWUoc3RhdGUsIHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDQpKTsKKyAgICBhdXRvIGtleVVzYWdl
cyA9IGNyeXB0b0tleVVzYWdlQml0bWFwRnJvbUpTVmFsdWUoc3RhdGUsIHN0YXRlLnVuY2hlY2tl
ZEFyZ3VtZW50KDQpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwog
CiAgICAgYXV0byBhbGdvcml0aG0gPSBjcmVhdGVBbGdvcml0aG0oc3RhdGUsIHBhcmFtcy0+aWRl
bnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktp
dFN1YnRsZUNyeXB0b0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dl
YktpdFN1YnRsZUNyeXB0b0N1c3RvbS5jcHAKaW5kZXggN2FiMDY5YTU5ZTE3NGJiMDcwMGY2ZTA1
MjRhNmI5MzNmNmYyYmVlNC4uYjQyZGUyMTA4ZWI0ZmI5NzUwM2Y4ODNjNGU1YWRmOTQ2MjljNTk1
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRTdWJ0bGVD
cnlwdG9DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0
U3VidGxlQ3J5cHRvQ3VzdG9tLmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHN0YXRpYyBib29sIGNy
eXB0b0tleUZvcm1hdEZyb21KU1ZhbHVlKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVmFsdWUgdmFsdWUs
IENyeXB0b0tlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBib29sIGNyeXB0b0tleVVz
YWdlc0Zyb21KU1ZhbHVlKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVmFsdWUgdmFsdWUsIENyeXB0b0tl
eVVzYWdlJiByZXN1bHQpCitzdGF0aWMgYm9vbCBjcnlwdG9LZXlVc2FnZXNGcm9tSlNWYWx1ZShF
eGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIHZhbHVlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCYgcmVz
dWx0KQogewogICAgIFZNJiB2bSA9IHN0YXRlLnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xB
UkVfVEhST1dfU0NPUEUodm0pOwpAQCAtNDIzLDcgKzQyMyw3IEBAIEpTVmFsdWUgSlNXZWJLaXRT
dWJ0bGVDcnlwdG86OmdlbmVyYXRlS2V5KEV4ZWNTdGF0ZSYgc3RhdGUpCiAgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7CiAgICAgfQogCi0gICAgQ3J5cHRvS2V5
VXNhZ2Uga2V5VXNhZ2VzID0gMDsKKyAgICBDcnlwdG9LZXlVc2FnZUJpdG1hcCBrZXlVc2FnZXMg
PSAwOwogICAgIGlmIChzdGF0ZS5hcmd1bWVudENvdW50KCkgPj0gMykgewogICAgICAgICBhdXRv
IHN1Y2Nlc3MgPSBjcnlwdG9LZXlVc2FnZXNGcm9tSlNWYWx1ZShzdGF0ZSwgc3RhdGUuYXJndW1l
bnQoMiksIGtleVVzYWdlcyk7CiAgICAgICAgIEFTU0VSVChzY29wZS5leGNlcHRpb24oKSB8fCBz
dWNjZXNzKTsKQEAgLTQ1NSw3ICs0NTUsNyBAQCBKU1ZhbHVlIEpTV2ViS2l0U3VidGxlQ3J5cHRv
OjpnZW5lcmF0ZUtleShFeGVjU3RhdGUmIHN0YXRlKQogICAgIHJldHVybiBwcm9taXNlOwogfQog
Ci1zdGF0aWMgdm9pZCBpbXBvcnRLZXkoRXhlY1N0YXRlJiBzdGF0ZSwgQ3J5cHRvS2V5Rm9ybWF0
IGtleUZvcm1hdCwgQ3J5cHRvT3BlcmF0aW9uRGF0YSBkYXRhLCBSZWZQdHI8Q3J5cHRvQWxnb3Jp
dGhtPiBhbGdvcml0aG0sIFJlZlB0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRl
ZD4gcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2Uga2V5VXNhZ2Vz
LCBDcnlwdG9BbGdvcml0aG06OktleUNhbGxiYWNrIGNhbGxiYWNrLCBDcnlwdG9BbGdvcml0aG06
OlZvaWRDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2spCitzdGF0aWMgdm9pZCBpbXBvcnRLZXkoRXhl
Y1N0YXRlJiBzdGF0ZSwgQ3J5cHRvS2V5Rm9ybWF0IGtleUZvcm1hdCwgQ3J5cHRvT3BlcmF0aW9u
RGF0YSBkYXRhLCBSZWZQdHI8Q3J5cHRvQWxnb3JpdGhtPiBhbGdvcml0aG0sIFJlZlB0cjxDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZD4gcGFyYW1ldGVycywgYm9vbCBleHRyYWN0
YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAga2V5VXNhZ2VzLCBDcnlwdG9BbGdvcml0aG06Oktl
eUNhbGxiYWNrIGNhbGxiYWNrLCBDcnlwdG9BbGdvcml0aG06OlZvaWRDYWxsYmFjayBmYWlsdXJl
Q2FsbGJhY2spCiB7CiAgICAgVk0mIHZtID0gc3RhdGUudm0oKTsKICAgICBhdXRvIHNjb3BlID0g
REVDTEFSRV9USFJPV19TQ09QRSh2bSk7CkBAIC01NTMsNyArNTUzLDcgQEAgSlNWYWx1ZSBKU1dl
YktpdFN1YnRsZUNyeXB0bzo6aW1wb3J0S2V5KEV4ZWNTdGF0ZSYgc3RhdGUpCiAgICAgICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7CiAgICAgfQogCi0gICAgQ3J5cHRv
S2V5VXNhZ2Uga2V5VXNhZ2VzID0gMDsKKyAgICBDcnlwdG9LZXlVc2FnZUJpdG1hcCBrZXlVc2Fn
ZXMgPSAwOwogICAgIGlmIChzdGF0ZS5hcmd1bWVudENvdW50KCkgPj0gNSkgewogICAgICAgICBh
dXRvIHN1Y2Nlc3MgPSBjcnlwdG9LZXlVc2FnZXNGcm9tSlNWYWx1ZShzdGF0ZSwgc3RhdGUuYXJn
dW1lbnQoNCksIGtleVVzYWdlcyk7CiAgICAgICAgIEFTU0VSVChzY29wZS5leGNlcHRpb24oKSB8
fCBzdWNjZXNzKTsKQEAgLTc3Miw3ICs3NzIsNyBAQCBKU1ZhbHVlIEpTV2ViS2l0U3VidGxlQ3J5
cHRvOjp1bndyYXBLZXkoRXhlY1N0YXRlJiBzdGF0ZSkKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgSlNWYWx1ZSgpKTsKICAgICB9CiAKLSAgICBDcnlwdG9LZXlVc2FnZSBrZXlV
c2FnZXMgPSAwOworICAgIENyeXB0b0tleVVzYWdlQml0bWFwIGtleVVzYWdlcyA9IDA7CiAgICAg
aWYgKHN0YXRlLmFyZ3VtZW50Q291bnQoKSA+PSA3KSB7CiAgICAgICAgIGF1dG8gc3VjY2VzcyA9
IGNyeXB0b0tleVVzYWdlc0Zyb21KU1ZhbHVlKHN0YXRlLCBzdGF0ZS5hcmd1bWVudCg2KSwga2V5
VXNhZ2VzKTsKICAgICAgICAgQVNTRVJUKHNjb3BlLmV4Y2VwdGlvbigpIHx8IHN1Y2Nlc3MpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZh
bHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5jcHAKaW5kZXggNTk3M2NhMWQxZTQwMzE4OWMyNmQxNGQ2MzNhMDJhOWMyNDBhMGRhZS4uZjBj
NDA5NTE0YWIxYzY3ZTI5ODg2MTg3MmMxZGM5YWY2Yjc0MGNmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0yMjks
NyArMjI5LDcgQEAgZW51bSBjbGFzcyBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyVGFnIHsKIH07
CiBjb25zdCB1aW50OF90IGNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXJUYWdNYXhpbXVtVmFsdWUg
PSAyMTsKIAotc3RhdGljIHVuc2lnbmVkIGNvdW50VXNhZ2VzKENyeXB0b0tleVVzYWdlIHVzYWdl
cykKK3N0YXRpYyB1bnNpZ25lZCBjb3VudFVzYWdlcyhDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2Fn
ZXMpCiB7CiAgICAgLy8gRmFzdCBiaXQgY291bnQgYWxnb3JpdGhtIGZvciBzcGFyc2UgYml0IG1h
cHMuCiAgICAgdW5zaWduZWQgY291bnQgPSAwOwpAQCAtMTE1OCw3ICsxMTU4LDcgQEAgcHJpdmF0
ZToKIAogICAgICAgICB3cml0ZShrZXktPmV4dHJhY3RhYmxlKCkpOwogCi0gICAgICAgIENyeXB0
b0tleVVzYWdlIHVzYWdlcyA9IGtleS0+dXNhZ2VzQml0bWFwKCk7CisgICAgICAgIENyeXB0b0tl
eVVzYWdlQml0bWFwIHVzYWdlcyA9IGtleS0+dXNhZ2VzQml0bWFwKCk7CiAgICAgICAgIHdyaXRl
KGNvdW50VXNhZ2VzKHVzYWdlcykpOwogICAgICAgICBpZiAodXNhZ2VzICYgQ3J5cHRvS2V5VXNh
Z2VFbmNyeXB0KQogICAgICAgICAgICAgd3JpdGUoQ3J5cHRvS2V5VXNhZ2VUYWc6OkVuY3J5cHQp
OwpAQCAtMjAwMCw3ICsyMDAwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQogCi0gICAgYm9vbCByZWFkSE1BQ0tleShib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlV
c2FnZSB1c2FnZXMsIFJlZlB0cjxDcnlwdG9LZXk+JiByZXN1bHQpCisgICAgYm9vbCByZWFkSE1B
Q0tleShib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIFJlZlB0
cjxDcnlwdG9LZXk+JiByZXN1bHQpCiAgICAgewogICAgICAgICBWZWN0b3I8dWludDhfdD4ga2V5
RGF0YTsKICAgICAgICAgaWYgKCFyZWFkKGtleURhdGEpKQpAQCAtMjAxMiw3ICsyMDEyLDcgQEAg
cHJpdmF0ZToKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgYm9vbCByZWFkQUVT
S2V5KGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcywgUmVmUHRyPENyeXB0
b0tleT4mIHJlc3VsdCkKKyAgICBib29sIHJlYWRBRVNLZXkoYm9vbCBleHRyYWN0YWJsZSwgQ3J5
cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBSZWZQdHI8Q3J5cHRvS2V5PiYgcmVzdWx0KQogICAg
IHsKICAgICAgICAgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG07CiAgICAgICAg
IGlmICghcmVhZChhbGdvcml0aG0pKQpAQCAtMjAyNiw3ICsyMDI2LDcgQEAgcHJpdmF0ZToKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgYm9vbCByZWFkUlNBS2V5KGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcywgUmVmUHRyPENyeXB0b0tleT4mIHJlc3Vs
dCkKKyAgICBib29sIHJlYWRSU0FLZXkoYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VC
aXRtYXAgdXNhZ2VzLCBSZWZQdHI8Q3J5cHRvS2V5PiYgcmVzdWx0KQogICAgIHsKICAgICAgICAg
Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG07CiAgICAgICAgIGlmICghcmVhZChh
bGdvcml0aG0pKQpAQCAtMjExOCw3ICsyMTE4LDcgQEAgcHJpdmF0ZToKICAgICAgICAgaWYgKCFy
ZWFkKHVzYWdlc0NvdW50KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBD
cnlwdG9LZXlVc2FnZSB1c2FnZXMgPSAwOworICAgICAgICBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1
c2FnZXMgPSAwOwogICAgICAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgdXNhZ2VzQ291bnQ7
ICsraSkgewogICAgICAgICAgICAgQ3J5cHRvS2V5VXNhZ2VUYWcgdXNhZ2U7CiAgICAgICAgICAg
ICBpZiAoIXJlYWQodXNhZ2UpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0Ny
eXB0b0FsZ29yaXRobS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGht
LmNwcAppbmRleCAwMTZlNWZmMzk0ZWM0NmQzNzg5ZTYyY2ZmYjhkN2QzYTllYTU4N2NlLi4xZDMx
Yjc0ZDA2MTU5MTUyNjY5MzVjOTk1NmE1ZjQyMjdjMGFmMmI2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmNwcApAQCAtNDAsMTIgKzQwLDEyIEBAIENyeXB0b0FsZ29y
aXRobTo6fkNyeXB0b0FsZ29yaXRobSgpCiB7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtOjpn
ZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
cz4mJiwgYm9vbCwgQ3J5cHRvS2V5VXNhZ2UsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
KQordm9pZCBDcnlwdG9BbGdvcml0aG06OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0
cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sLCBDcnlwdG9LZXlVc2FnZUJpdG1h
cCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25D
YWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopCiB7CiAgICAgZXhjZXB0aW9uQ2FsbGJh
Y2soTk9UX1NVUFBPUlRFRF9FUlIpOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobTo6aW1wb3J0
S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVl
X3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sLCBDcnlwdG9LZXlVc2FnZSwg
S2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykKK3Zv
aWQgQ3J5cHRvQWxnb3JpdGhtOjppbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtl
eURhdGEmJiwgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+
JiYsIGJvb2wsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25D
YWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQogewogICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE5P
VF9TVVBQT1JURURfRVJSKTsKIH0KQEAgLTc1LDEyICs3NSwxMiBAQCB2b2lkIENyeXB0b0FsZ29y
aXRobTo6ZGlnZXN0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwg
Y29uc3QgQwogICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CiB9CiAKLXZvaWQgQ3J5cHRvQWxn
b3JpdGhtOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVj
YXRlZCYsIGJvb2wsIENyeXB0b0tleVVzYWdlLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBWb2lk
Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ29kZSYgZWMsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQor
dm9pZCBDcnlwdG9BbGdvcml0aG06OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnNEZXByZWNhdGVkJiwgYm9vbCwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5
UGFpckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmLCBFeGNlcHRpb25Db2RlJiBlYywgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopCiB7CiAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKIH0KIAot
dm9pZCBDcnlwdG9BbGdvcml0aG06OmRlcml2ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIENyeXB0b0FsZ29yaXRobSosIGJv
b2wsIENyeXB0b0tleVVzYWdlLCBLZXlDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiwgRXhjZXB0
aW9uQ29kZSYgZWMpCit2b2lkIENyeXB0b0FsZ29yaXRobTo6ZGVyaXZlS2V5KGNvbnN0IENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgQ3J5cHRv
QWxnb3JpdGhtKiwgYm9vbCwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIFZv
aWRDYWxsYmFjayYmLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBlYyA9IE5PVF9TVVBQT1JU
RURfRVJSOwogfQpAQCAtOTAsNyArOTAsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobTo6ZGVyaXZl
Qml0cyhjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbgogICAg
IGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtOjppbXBv
cnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBD
cnlwdG9LZXlEYXRhJiwgYm9vbCwgQ3J5cHRvS2V5VXNhZ2UsIEtleUNhbGxiYWNrJiYsIFZvaWRD
YWxsYmFjayYmLCBFeGNlcHRpb25Db2RlJiBlYykKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtOjppbXBv
cnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBD
cnlwdG9LZXlEYXRhJiwgYm9vbCwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYs
IFZvaWRDYWxsYmFjayYmLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBlYyA9IE5PVF9TVVBQ
T1JURURfRVJSOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0Fs
Z29yaXRobS5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5oCmluZGV4
IDA1NTgzZmY1NTM1OWM2Nzk3NmQ3YjAwYmFjYjcwOGIxYjU4NmFhYTguLjM0YmFjMzdhMzk5OTdl
OTY0ZjkzOTFlZjUxNDBlYWI2ZDk4OGFmODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9DcnlwdG9BbGdvcml0aG0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRv
QWxnb3JpdGhtLmgKQEAgLTY3LDggKzY3LDggQEAgcHVibGljOgogICAgIHVzaW5nIFZvaWRDYWxs
YmFjayA9IFdURjo6RnVuY3Rpb248dm9pZCgpPjsKICAgICB1c2luZyBFeGNlcHRpb25DYWxsYmFj
ayA9IFdURjo6RnVuY3Rpb248dm9pZChFeGNlcHRpb25Db2RlKT47CiAKLSAgICB2aXJ0dWFsIHZv
aWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlPcktleVBhaXJD
YWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7
Ci0gICAgdmlydHVhbCB2b2lkIGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5
RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4m
JiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleUNhbGxiYWNrJiYsIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYpOworICAgIHZpcnR1YWwgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBzdGQ6
OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJs
ZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4Y2VwdGlv
bkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKyAgICB2aXJ0dWFsIHZvaWQg
aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6
dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxl
LCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2sm
Jik7CiAKICAgICAvLyBUaGUgZm9sbG93aW5nIHdpbGwgYmUgZGVwcmVjYXRlZC4KICAgICB2aXJ0
dWFsIHZvaWQgZW5jcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRl
ZCYsIGNvbnN0IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JD
YWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUm
KTsKQEAgLTc2LDEwICs3NiwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNpZ24oY29u
c3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkm
LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxi
YWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdmlydHVhbCB2b2lk
IHZlcmlmeShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0
IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIHNpZ25hdHVyZSwgY29uc3Qg
Q3J5cHRvT3BlcmF0aW9uRGF0YSYsIEJvb2xDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWls
dXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlnZXN0KGNv
bnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvT3Bl
cmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxs
YmFjaywgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZpcnR1YWwgdm9pZCBnZW5lcmF0ZUtleShjb25z
dCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGJvb2wgZXh0cmFjdGFibGUs
IENyeXB0b0tleVVzYWdlLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBm
YWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7
Ci0gICAgdmlydHVhbCB2b2lkIGRlcml2ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYgYmFzZUtleSwgQ3J5cHRvQWxnb3JpdGht
KiBkZXJpdmVkS2V5VHlwZSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleUNh
bGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYp
OworICAgIHZpcnR1YWwgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzRGVwcmVjYXRlZCYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFw
LCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ss
IEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisgICAgdmlydHVhbCB2
b2lkIGRlcml2ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYs
IGNvbnN0IENyeXB0b0tleSYgYmFzZUtleSwgQ3J5cHRvQWxnb3JpdGhtKiBkZXJpdmVkS2V5VHlw
ZSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYs
IFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZp
cnR1YWwgdm9pZCBkZXJpdmVCaXRzKGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXBy
ZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiBiYXNlS2V5LCB1bnNpZ25lZCBsb25nIGxlbmd0aCwg
VmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRp
b25Db2RlJik7Ci0gICAgdmlydHVhbCB2b2lkIGltcG9ydEtleShjb25zdCBDcnlwdG9BbGdvcml0
aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleURhdGEmLCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5Q2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFp
bHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJik7CisgICAgdmlydHVhbCB2b2lkIGltcG9ydEtl
eShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0
b0tleURhdGEmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2Fs
bGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJik7
CiAKICAgICAvLyBUaGVzZSBhcmUgb25seSBkaWZmZXJlbnQgZnJvbSBlbmNyeXB0L2RlY3J5cHQg
YmVjYXVzZSBzb21lIGFsZ29yaXRobXMgbWF5IG5vdCBleHBvc2UgZW5jcnlwdC9kZWNyeXB0Lgog
ICAgIHZpcnR1YWwgdm9pZCBlbmNyeXB0Rm9yV3JhcEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJh
dGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJh
Y2ssIEV4Y2VwdGlvbkNvZGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9D
cnlwdG9LZXkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleS5jcHAKaW5kZXgg
NjAwNzUwNjY3MWQ1OGYyMTI0NmFmZDI1ZTZiOWI3ZTQxODUxODViZC4uZmM5NDMwZTU0YjI1OGQy
YjZmYmZlOGFmM2JlNjkyZDE5NzhmZTljZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5
cHRvL0NyeXB0b0tleS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleS5j
cHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1DcnlwdG9LZXk6
OkNyeXB0b0tleShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobUlkZW50aWZpZXIs
IFR5cGUgdHlwZSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzKQorQ3J5
cHRvS2V5OjpDcnlwdG9LZXkoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG1JZGVu
dGlmaWVyLCBUeXBlIHR5cGUsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFw
IHVzYWdlcykKICAgICA6IG1fYWxnb3JpdGhtSWRlbnRpZmllcihhbGdvcml0aG1JZGVudGlmaWVy
KQogICAgICwgbV90eXBlKHR5cGUpCiAgICAgLCBtX2V4dHJhY3RhYmxlKGV4dHJhY3RhYmxlKQpA
QCAtNDUsMjYgKzQ1LDI2IEBAIENyeXB0b0tleTo6fkNyeXB0b0tleSgpCiB7CiB9CiAKLWF1dG8g
Q3J5cHRvS2V5Ojp1c2FnZXMoKSBjb25zdCAtPiBWZWN0b3I8VXNhZ2U+CithdXRvIENyeXB0b0tl
eTo6dXNhZ2VzKCkgY29uc3QgLT4gVmVjdG9yPENyeXB0b0tleVVzYWdlPgogewogICAgIC8vIFRo
ZSByZXN1bHQgaXMgb3JkZXJlZCBhbHBoYWJldGljYWxseS4KLSAgICBWZWN0b3I8VXNhZ2U+IHJl
c3VsdDsKKyAgICBWZWN0b3I8Q3J5cHRvS2V5VXNhZ2U+IHJlc3VsdDsKICAgICBpZiAobV91c2Fn
ZXMgJiBDcnlwdG9LZXlVc2FnZURlY3J5cHQpCi0gICAgICAgIHJlc3VsdC5hcHBlbmQoVXNhZ2U6
OkRlY3J5cHQpOworICAgICAgICByZXN1bHQuYXBwZW5kKENyeXB0b0tleVVzYWdlOjpEZWNyeXB0
KTsKICAgICBpZiAobV91c2FnZXMgJiBDcnlwdG9LZXlVc2FnZURlcml2ZUJpdHMpCi0gICAgICAg
IHJlc3VsdC5hcHBlbmQoVXNhZ2U6OkRlcml2ZUJpdHMpOworICAgICAgICByZXN1bHQuYXBwZW5k
KENyeXB0b0tleVVzYWdlOjpEZXJpdmVCaXRzKTsKICAgICBpZiAobV91c2FnZXMgJiBDcnlwdG9L
ZXlVc2FnZURlcml2ZUtleSkKLSAgICAgICAgcmVzdWx0LmFwcGVuZChVc2FnZTo6RGVyaXZlS2V5
KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChDcnlwdG9LZXlVc2FnZTo6RGVyaXZlS2V5KTsKICAg
ICBpZiAobV91c2FnZXMgJiBDcnlwdG9LZXlVc2FnZUVuY3J5cHQpCi0gICAgICAgIHJlc3VsdC5h
cHBlbmQoVXNhZ2U6OkVuY3J5cHQpOworICAgICAgICByZXN1bHQuYXBwZW5kKENyeXB0b0tleVVz
YWdlOjpFbmNyeXB0KTsKICAgICBpZiAobV91c2FnZXMgJiBDcnlwdG9LZXlVc2FnZVNpZ24pCi0g
ICAgICAgIHJlc3VsdC5hcHBlbmQoVXNhZ2U6OlNpZ24pOworICAgICAgICByZXN1bHQuYXBwZW5k
KENyeXB0b0tleVVzYWdlOjpTaWduKTsKICAgICBpZiAobV91c2FnZXMgJiBDcnlwdG9LZXlVc2Fn
ZVVud3JhcEtleSkKLSAgICAgICAgcmVzdWx0LmFwcGVuZChVc2FnZTo6VW53cmFwS2V5KTsKKyAg
ICAgICAgcmVzdWx0LmFwcGVuZChDcnlwdG9LZXlVc2FnZTo6VW53cmFwS2V5KTsKICAgICBpZiAo
bV91c2FnZXMgJiBDcnlwdG9LZXlVc2FnZVZlcmlmeSkKLSAgICAgICAgcmVzdWx0LmFwcGVuZChV
c2FnZTo6VmVyaWZ5KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChDcnlwdG9LZXlVc2FnZTo6VmVy
aWZ5KTsKICAgICBpZiAobV91c2FnZXMgJiBDcnlwdG9LZXlVc2FnZVdyYXBLZXkpCi0gICAgICAg
IHJlc3VsdC5hcHBlbmQoVXNhZ2U6OldyYXBLZXkpOworICAgICAgICByZXN1bHQuYXBwZW5kKENy
eXB0b0tleVVzYWdlOjpXcmFwS2V5KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmggYi9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vQ3J5cHRvS2V5LmgKaW5kZXggMmVlOTAxMGI5ZGMyNzFiYWRmNTY2ODUyMWQyYjkyN2Y5
ZGQ4NTVjZC4uMDAwMmM0ZWE5M2E4ZmFlMWI2YjU2NTI2ZGQ5MDljMTAyMTU5YWIwNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9DcnlwdG9LZXkuaApAQCAtNzgsNyArNzgsNyBAQCBwcml2YXRlOgogY2xhc3Mg
Q3J5cHRvS2V5IDogcHVibGljIFJlZkNvdW50ZWQ8Q3J5cHRvS2V5PiB7CiBwdWJsaWM6CiAgICAg
dXNpbmcgVHlwZSA9IENyeXB0b0tleVR5cGU7Ci0gICAgQ3J5cHRvS2V5KENyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXIsIFR5cGUsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlKTsKKyAg
ICBDcnlwdG9LZXkoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgVHlwZSwgYm9vbCBleHRyYWN0
YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXApOwogICAgIHZpcnR1YWwgfkNyeXB0b0tleSgpOwog
CiAgICAgdmlydHVhbCBDcnlwdG9LZXlDbGFzcyBrZXlDbGFzcygpIGNvbnN0ID0gMDsKQEAgLTg3
LDE2ICs4NywxMyBAQCBwdWJsaWM6CiAgICAgYm9vbCBleHRyYWN0YWJsZSgpIGNvbnN0IHsgcmV0
dXJuIG1fZXh0cmFjdGFibGU7IH0KICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxLZXlBbGdv
cml0aG0+IGJ1aWxkQWxnb3JpdGhtKCkgY29uc3QgPSAwOwogCi0gICAgLy8gRklYTUU6IENvbmZ1
c2luZyB0byBoYXZlIENyeXB0b0tleVVzYWdlIGFuZCBDcnlwdG9LZXk6OlVzYWdlIG5hbWVkIGFs
bW9zdCB0aGUgc2FtZSwgYnV0IGJlIHNsaWdodGx5IGRpZmZlcmVudC4KLSAgICAvLyBDcnlwdG9L
ZXlVc2FnZSB2YWx1ZXMgYXJlIGJpdCBtYXNrcyBzbyB0aGV5IGNhbiBiZSBjb21iaW5lZCB3aXRo
ICJvciIsIHdoaWxlIHRoaXMgaXMgYSBub3JtYWwgZW51bSB0aGF0IG11c3QKLSAgICAvLyBtYXRj
aCB3aGF0IGlzIGRlZmluZWQgaW4gdGhlIElETC4gTWF5YmUgd2UgY2FuIHJlbmFtZSBDcnlwdG9L
ZXlVc2FnZSB0byBDcnlwdG9LZXk6OlVzYWdlc0JpdG1hcD8KLSAgICBlbnVtIGNsYXNzIFVzYWdl
IHsgRW5jcnlwdCwgRGVjcnlwdCwgU2lnbiwgVmVyaWZ5LCBEZXJpdmVLZXksIERlcml2ZUJpdHMs
IFdyYXBLZXksIFVud3JhcEtleSB9OwotICAgIFZlY3RvcjxVc2FnZT4gdXNhZ2VzKCkgY29uc3Q7
CisgICAgLy8gT25seSBmb3IgYmluZGluZyBwdXJwb3NlLgorICAgIFZlY3RvcjxDcnlwdG9LZXlV
c2FnZT4gdXNhZ2VzKCkgY29uc3Q7CiAKICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFs
Z29yaXRobUlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2FsZ29yaXRobUlkZW50aWZpZXI7
IH0KLSAgICBDcnlwdG9LZXlVc2FnZSB1c2FnZXNCaXRtYXAoKSBjb25zdCB7IHJldHVybiBtX3Vz
YWdlczsgfQotICAgIHZvaWQgc2V0VXNhZ2VzQml0bWFwKENyeXB0b0tleVVzYWdlIHVzYWdlKSB7
IG1fdXNhZ2VzID0gdXNhZ2U7IH07Ci0gICAgYm9vbCBhbGxvd3MoQ3J5cHRvS2V5VXNhZ2UgdXNh
Z2UpIGNvbnN0IHsgcmV0dXJuIHVzYWdlID09IChtX3VzYWdlcyAmIHVzYWdlKTsgfQorICAgIENy
eXB0b0tleVVzYWdlQml0bWFwIHVzYWdlc0JpdG1hcCgpIGNvbnN0IHsgcmV0dXJuIG1fdXNhZ2Vz
OyB9CisgICAgdm9pZCBzZXRVc2FnZXNCaXRtYXAoQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2Up
IHsgbV91c2FnZXMgPSB1c2FnZTsgfTsKKyAgICBib29sIGFsbG93cyhDcnlwdG9LZXlVc2FnZUJp
dG1hcCB1c2FnZSkgY29uc3QgeyByZXR1cm4gdXNhZ2UgPT0gKG1fdXNhZ2VzICYgdXNhZ2UpOyB9
CiAKICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9LZXlEYXRhPiBleHBvcnREYXRh
KCkgY29uc3QgPSAwOwogCkBAIC0xMDYsNyArMTAzLDcgQEAgcHJpdmF0ZToKICAgICBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyIG1fYWxnb3JpdGhtSWRlbnRpZmllcjsKICAgICBUeXBlIG1fdHlw
ZTsKICAgICBib29sIG1fZXh0cmFjdGFibGU7Ci0gICAgQ3J5cHRvS2V5VXNhZ2UgbV91c2FnZXM7
CisgICAgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgbV91c2FnZXM7CiB9OwogCiBpbmxpbmUgYXV0byBD
cnlwdG9LZXk6OnR5cGUoKSBjb25zdCAtPiBUeXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vQ3J5cHRvS2V5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXku
aWRsCmluZGV4IDNkMDExOTlmOWMwZDRlNTM5MjcxMTljOGY0NGMzMDY4ZTk1NWFlZTcuLjcwOGE4
ZDExZDM0MmU3ODJjNmExMWQyN2RhMDQzZjdhOGQ0YjUzYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9D
cnlwdG9LZXkuaWRsCkBAIC0yOSwxNyArMjksNiBAQCBlbnVtIEtleVR5cGUgewogICAgICJzZWNy
ZXQiCiB9OwogCi1lbnVtIEtleVVzYWdlIHsKLSAgICAiZW5jcnlwdCIsCi0gICAgImRlY3J5cHQi
LAotICAgICJzaWduIiwKLSAgICAidmVyaWZ5IiwKLSAgICAiZGVyaXZlS2V5IiwKLSAgICAiZGVy
aXZlQml0cyIsCi0gICAgIndyYXBLZXkiLAotICAgICJ1bndyYXBLZXkiCi19OwotCiBbCiAgICAg
Q29uZGl0aW9uYWw9U1VCVExFX0NSWVBUTywKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwK
QEAgLTQ5LDUgKzM4LDUgQEAgZW51bSBLZXlVc2FnZSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IEtleVR5cGUgdHlwZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBleHRyYWN0YWJs
ZTsKICAgICBbQ2FjaGVkQXR0cmlidXRlLCBDdXN0b21HZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBvYmplY3QgYWxnb3JpdGhtOwotICAgIFtDYWNoZWRBdHRyaWJ1dGVdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBzZXF1ZW5jZTxLZXlVc2FnZT4gdXNhZ2VzOworICAgIFtDYWNoZWRBdHRyaWJ1dGVdIHJl
YWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxDcnlwdG9LZXlVc2FnZT4gdXNhZ2VzOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXlTZXJpYWxpemF0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5U2VyaWFsaXphdGlvbi5oCmluZGV4IGI1
MTJkNDk0Y2Y2ZGY5ZGNlZDA4MzMxNmE2Yjk2ZGIzZDJiMWI2NzIuLmQwNjMxNGVhOTU3MmUyOWQ1
ZWI1Mzc3MzJkZmQwOGUxYWI5ZTc4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9DcnlwdG9LZXlTZXJpYWxpemF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0Ny
eXB0b0tleVNlcmlhbGl6YXRpb24uaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgLy8g
UmV0dXJucyBmYWxzZSBpZiBzdWdnZXN0ZWQgYWxnb3JpdGhtIHdhcyBub3QgY29tcGF0aWJsZSB3
aXRoIG9uZSBzdG9yZWQgaW4gdGhlIHNlcmlhbGl6YXRpb24uCiAgICAgdmlydHVhbCBPcHRpb25h
bDxDcnlwdG9BbGdvcml0aG1QYWlyPiByZWNvbmNpbGVBbGdvcml0aG0oQ3J5cHRvQWxnb3JpdGht
KiwgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQqKSBjb25zdCA9IDA7CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgcmVjb25jaWxlVXNhZ2VzKENyeXB0b0tleVVzYWdlJikgY29uc3QgPSAw
OworICAgIHZpcnR1YWwgdm9pZCByZWNvbmNpbGVVc2FnZXMoQ3J5cHRvS2V5VXNhZ2VCaXRtYXAm
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJlY29uY2lsZUV4dHJhY3RhYmxlKGJvb2wm
KSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9LZXlEYXRh
PiBrZXlEYXRhKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRv
L0NyeXB0b0tleVVzYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5VXNhZ2Uu
aAppbmRleCA2YmJlYmY4ZDBjZmUwM2RiNzhjMjIyODI0MjRmOWY1ZDNlNGFjNWJjLi43NzU3M2Jm
MDQwMGQ0ZmFmYzk0MGU2ZTg3ZjM1N2ZjNmNmNTBmMzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8vQ3J5cHRvS2V5VXNhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
Q3J5cHRvS2V5VXNhZ2UuaApAQCAtNDEsNyArNDEsMTkgQEAgZW51bSB7CiAgICAgQ3J5cHRvS2V5
VXNhZ2VVbndyYXBLZXkgPSAxIDw8IDcKIH07CiAKLXR5cGVkZWYgaW50IENyeXB0b0tleVVzYWdl
OwordHlwZWRlZiBpbnQgQ3J5cHRvS2V5VXNhZ2VCaXRtYXA7CisKKy8vIE9ubHkgZm9yIGJpbmRp
bmcgcHVycG9zZS4KK2VudW0gY2xhc3MgQ3J5cHRvS2V5VXNhZ2UgeworICAgIEVuY3J5cHQsCisg
ICAgRGVjcnlwdCwKKyAgICBTaWduLAorICAgIFZlcmlmeSwKKyAgICBEZXJpdmVLZXksCisgICAg
RGVyaXZlQml0cywKKyAgICBXcmFwS2V5LAorICAgIFVud3JhcEtleQorfTsKIAogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5VXNhZ2UuaWRsIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleVVzYWdlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNTE5NDgwOGIw
N2EzNTU2ODNjZWZiZmNmYjAyN2E0YmMzOTAyMzYxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleVVzYWdlLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworZW51bSBDcnlwdG9LZXlVc2FnZSB7CisgICAgImVuY3J5cHQiLAorICAgICJkZWNy
eXB0IiwKKyAgICAic2lnbiIsCisgICAgInZlcmlmeSIsCisgICAgImRlcml2ZUtleSIsCisgICAg
ImRlcml2ZUJpdHMiLAorICAgICJ3cmFwS2V5IiwKKyAgICAidW53cmFwS2V5IgorfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9Kc29uV2ViS2V5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vSnNvbldlYktleS5oCmluZGV4IGI4MDk5OGJmNjFhZWM1NTBjNjI5Y2E3NjVkNWYw
Mjc5YWJkMmE1MWYuLjIyM2VlNDhkOTczODliOWEwZTMwMzYzODhiZGYxOTkyOTUyODQyYjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9Kc29uV2ViS2V5LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL0pzb25XZWJLZXkuaApAQCAtMzcsOCArMzcsOCBAQCBzdHJ1Y3QgSnNv
bldlYktleSB7CiAgICAgU3RyaW5nIGt0eTsKICAgICBPcHRpb25hbDxTdHJpbmc+IHVzZTsKICAg
ICAvLyBGSVhNRTogQ29uc2lkZXIgbWVyZ2luZyBrZXlfb3BzIGFuZCB1c2FnZXMuCi0gICAgT3B0
aW9uYWw8VmVjdG9yPFN0cmluZz4+IGtleV9vcHM7Ci0gICAgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2Vz
OworICAgIE9wdGlvbmFsPFZlY3RvcjxDcnlwdG9LZXlVc2FnZT4+IGtleV9vcHM7CisgICAgQ3J5
cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzOwogICAgIE9wdGlvbmFsPFN0cmluZz4gYWxnOwogCiAg
ICAgT3B0aW9uYWw8Ym9vbD4gZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRv
L0pzb25XZWJLZXkuaWRsIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0pzb25XZWJLZXkuaWRsCmlu
ZGV4IDc2ZTRjNGIwMTAxMmE0ZWM4MTE4NDIwZGI3NTVhMjhiMWQ3ZTEwOGMuLjQ3NzIwOGI5ZWZj
NWQ3Mzg1ZGU5OTEyMmVlYzc1N2ZiMjJjNjhhYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9Kc29uV2ViS2V5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vSnNvbldl
YktleS5pZGwKQEAgLTI5LDcgKzI5LDcgQEAKICAgICAvLyBUaGUgZm9sbG93aW5nIGZpZWxkcyBh
cmUgZGVmaW5lZCBpbiBTZWN0aW9uIDMuMSBvZiBKU09OIFdlYiBLZXkKICAgICByZXF1aXJlZCBE
T01TdHJpbmcga3R5OwogICAgIERPTVN0cmluZyB1c2U7Ci0gICAgc2VxdWVuY2U8RE9NU3RyaW5n
PiBrZXlfb3BzOworICAgIHNlcXVlbmNlPENyeXB0b0tleVVzYWdlPiBrZXlfb3BzOwogICAgIERP
TVN0cmluZyBhbGc7CiAKICAgICAvLyBUaGUgZm9sbG93aW5nIGZpZWxkcyBhcmUgZGVmaW5lZCBp
biBKU09OIFdlYiBLZXkgUGFyYW1ldGVycyBSZWdpc3RyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlwdG8uaWRsIGIvU291cmNlL1dlYkNvcmUvY3J5cHRv
L1N1YnRsZUNyeXB0by5pZGwKaW5kZXggYzMzOGUwMzEwYTk2NzZkMzM1ZjYyYzNjZjFkYTEyZjI1
N2UzYTBmZi4uZmRmMjFmNjc5OGUwN2I4NzJmMTdjMGQ1YTA5ZWZhOTk2OTljM2Q4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwKQEAgLTMyLDYgKzMyLDYgQEAgZW51bSBL
ZXlGb3JtYXQgeyAicmF3IiwgInNwa2kiLCAicGtjczgiLCAiandrIiB9OwogICAgIE5vSW50ZXJm
YWNlT2JqZWN0LAogXSBpbnRlcmZhY2UgU3VidGxlQ3J5cHRvIHsKICAgICAvLyBGSVhNRTogU2hv
dWxkIHRoaXMgcmV0dXJuIGEgUHJvbWlzZTwoQ3J5cHRvS2V5IG9yIENyeXB0b0tleVBhaXIpPj8K
LSAgICBbQ3VzdG9tXSBQcm9taXNlPGFueT4gZ2VuZXJhdGVLZXkoQWxnb3JpdGhtSWRlbnRpZmll
ciBhbGdvcml0aG0sIGJvb2xlYW4gZXh0cmFjdGFibGUsIHNlcXVlbmNlPEtleVVzYWdlPiBrZXlV
c2FnZXMpOwotICAgIFtDdXN0b21dIFByb21pc2U8Q3J5cHRvS2V5PiBpbXBvcnRLZXkoS2V5Rm9y
bWF0IGZvcm1hdCwgKEJ1ZmZlclNvdXJjZSBvciBKc29uV2ViS2V5KSBrZXlEYXRhLCBBbGdvcml0
aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgYm9vbGVuIGV4dHJhY3RhYmxlLCBzZXF1ZW5jZTxLZXlV
c2FnZT4ga2V5VXNhZ2VzKTsKKyAgICBbQ3VzdG9tXSBQcm9taXNlPGFueT4gZ2VuZXJhdGVLZXko
QWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIGJvb2xlYW4gZXh0cmFjdGFibGUsIHNlcXVl
bmNlPENyeXB0b0tleVVzYWdlPiBrZXlVc2FnZXMpOworICAgIFtDdXN0b21dIFByb21pc2U8Q3J5
cHRvS2V5PiBpbXBvcnRLZXkoS2V5Rm9ybWF0IGZvcm1hdCwgKEJ1ZmZlclNvdXJjZSBvciBKc29u
V2ViS2V5KSBrZXlEYXRhLCBBbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgYm9vbGVuIGV4
dHJhY3RhYmxlLCBzZXF1ZW5jZTxDcnlwdG9LZXlVc2FnZT4ga2V5VXNhZ2VzKTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1B
RVNfQ0JDLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29y
aXRobUFFU19DQkMuY3BwCmluZGV4IDU4ZTM0NWJiYjA1N2MwNTAzN2IxMmVhMGRjNjViNjBmMjBl
ZGEyYmUuLjFjZmMyOTBkZDQ4YjVlMTNiYmI4OThmOTU3MzIyMTA2ZGRmMDYxY2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19D
QkMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29y
aXRobUFFU19DQkMuY3BwCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y29uc3QgY2hhciogY29uc3QgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6c19uYW1lID0gIkFFUy1D
QkMiOwogCi1zdGF0aWMgaW5saW5lIGJvb2wgdXNhZ2VzQXJlSW52YWxpZEZvckNyeXB0b0FsZ29y
aXRobUFFU19DQkMoQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzKQorc3RhdGljIGlubGluZSBib29sIHVz
YWdlc0FyZUludmFsaWRGb3JDcnlwdG9BbGdvcml0aG1BRVNfQ0JDKENyeXB0b0tleVVzYWdlQml0
bWFwIHVzYWdlcykKIHsKICAgICByZXR1cm4gdXNhZ2VzICYgKENyeXB0b0tleVVzYWdlU2lnbiB8
IENyeXB0b0tleVVzYWdlVmVyaWZ5IHwgQ3J5cHRvS2V5VXNhZ2VEZXJpdmVLZXkgfCBDcnlwdG9L
ZXlVc2FnZURlcml2ZUJpdHMpOwogfQpAQCAtNzEsNyArNzEsNyBAQCBib29sIENyeXB0b0FsZ29y
aXRobUFFU19DQkM6OmtleUFsZ29yaXRobU1hdGNoZXMoY29uc3QgQ3J5cHRvQWxnb3JpdGhtQWVz
Q2JjUGFyYQogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobUFFU19D
QkM6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVz
YWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2sm
JiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopCit2b2lkIENyeXB0
b0FsZ29yaXRobUFFU19DQkM6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFj
aywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCopCiB7CiAgICAgY29uc3QgYXV0byYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENy
eXB0b0FsZ29yaXRobUFlc0tleUdlblBhcmFtcz4oKnBhcmFtZXRlcnMpOwogCkBAIC04OSw3ICs4
OSw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6Z2VuZXJhdGVLZXkoY29uc3Qgc3Rk
Ojp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhCiAgICAgY2FsbGJhY2socmVzdWx0LmdldCgp
LCBudWxscHRyKTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjppbXBvcnRLZXko
U3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29uc3Qgc3Rk
Ojp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlDYWxsYmFjayYmIGNhbGxi
YWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQordm9pZCBDcnlwdG9B
bGdvcml0aG1BRVNfQ0JDOjppbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0
LCBLZXlEYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnM+JiYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VC
aXRtYXAgdXNhZ2VzLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYm
IGV4Y2VwdGlvbkNhbGxiYWNrKQogewogICAgIGlmICh1c2FnZXNBcmVJbnZhbGlkRm9yQ3J5cHRv
QWxnb3JpdGhtQUVTX0NCQyh1c2FnZXMpKSB7CiAgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKFNZ
TlRBWF9FUlIpOwpAQCAtMTUyLDcgKzE1Miw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NC
Qzo6ZGVjcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYKICAg
ICBwbGF0Zm9ybURlY3J5cHQoYWVzQ0JDUGFyYW1ldGVycywgZG93bmNhc3Q8Q3J5cHRvS2V5QUVT
PihrZXkpLCBkYXRhLCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShmYWlsdXJlQ2FsbGJhY2sp
LCBlYyk7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6Z2VuZXJhdGVLZXkoY29u
c3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGJvb2wg
ZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2sm
JiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2Rl
JiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6
OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiBw
YXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMs
IEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVD
YWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQogewogICAg
IGNvbnN0IENyeXB0b0FsZ29yaXRobUFlc0tleUdlblBhcmFtc0RlcHJlY2F0ZWQmIGFlc1BhcmFt
ZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1BZXNLZXlHZW5QYXJhbXNEZXByZWNhdGVk
PihwYXJhbWV0ZXJzKTsKIApAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGht
QUVTX0NCQzo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJl
Y2F0CiAgICAgY2FsbGJhY2socmVzdWx0LmdldCgpLCBudWxscHRyKTsKIH0KIAotdm9pZCBDcnlw
dG9BbGdvcml0aG1BRVNfQ0JDOjppbXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlEYXRhJiBrZXlEYXRhLCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZSwgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgVm9p
ZENhbGxiYWNrJiYsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNf
Q0JDOjppbXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQm
LCBjb25zdCBDcnlwdG9LZXlEYXRhJiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9L
ZXlVc2FnZUJpdG1hcCB1c2FnZSwgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNr
JiYsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghaXM8Q3J5cHRvS2V5RGF0YU9jdGV0
U2VxdWVuY2U+KGtleURhdGEpKSB7CiAgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0
aG1BRVNfQ0JDLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdv
cml0aG1BRVNfQ0JDLmgKaW5kZXggYmE0YWYwZjI3MjM3MTBlZGI1MDMyODA5NTczZjM1NzBiYjY3
YTFmNS4uYzEzN2FlM2UwOTI4MzYzN2VkZWExZTI0ODhkZjViNzkwYTVmN2NkNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NC
Qy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRo
bUFFU19DQkMuaApAQCAtNDQsMTQgKzQ0LDE0IEBAIHB1YmxpYzoKIAogICAgIENyeXB0b0FsZ29y
aXRobUlkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBn
ZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
cz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleU9yS2V5UGFpckNhbGxi
YWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBmaW5h
bDsKLSAgICB2b2lkIGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYm
LCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNh
bGxiYWNrJiYpIGZpbmFsOworICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVf
cHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0
b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFj
ayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgZmluYWw7CisgICAgdm9pZCBpbXBvcnRLZXko
U3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qgc3RkOjp1bmlxdWVfcHRy
PENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tl
eVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsK
IAogICAgIC8vIFRoZSBmb2xsb3dpbmcgd2lsbCBiZSBkZXByZWNhdGVkLgogICAgIHZvaWQgZW5j
cnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENy
eXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBW
b2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsK
ICAgICB2b2lkIGRlY3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0
ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9y
Q2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2Rl
Jikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBL
ZXlPcktleVBhaXJDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4
Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCBpbXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBj
b25zdCBDcnlwdG9LZXlEYXRhJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtl
eUNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29k
ZSYpIG92ZXJyaWRlOworICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJp
dG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxi
YWNrLCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOwor
ICAgIHZvaWQgaW1wb3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNh
dGVkJiwgY29uc3QgQ3J5cHRvS2V5RGF0YSYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVz
YWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ss
IEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKICAgICBDcnlwdG9BbGdvcml0
aG1BRVNfQ0JDKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29y
aXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmNwcAppbmRleCBkZTMwZTNhMDI5ZDA4MDFlN2Rk
OTVjYWY4ZDdmMDJkNzNiMmI2M2QxLi5jOGIyM2M2ZmZjZmM2NmI0ZjA3MDczMzIxYWVkNmQ1ZDE1
ZTY5OGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9Dcnlw
dG9BbGdvcml0aG1BRVNfS1cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHAKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjb25zdCBjaGFyKiBjb25zdCBDcnlwdG9BbGdvcml0aG1BRVNfS1c6OnNf
bmFtZSA9ICJBRVMtS1ciOwogCi1zdGF0aWMgaW5saW5lIGJvb2wgdXNhZ2VzQXJlSW52YWxpZEZv
ckNyeXB0b0FsZ29yaXRobUFFU19LVyhDcnlwdG9LZXlVc2FnZSB1c2FnZXMpCitzdGF0aWMgaW5s
aW5lIGJvb2wgdXNhZ2VzQXJlSW52YWxpZEZvckNyeXB0b0FsZ29yaXRobUFFU19LVyhDcnlwdG9L
ZXlVc2FnZUJpdG1hcCB1c2FnZXMpCiB7CiAgICAgcmV0dXJuIHVzYWdlcyAmIChDcnlwdG9LZXlV
c2FnZVNpZ24gfCBDcnlwdG9LZXlVc2FnZVZlcmlmeSB8IENyeXB0b0tleVVzYWdlRGVyaXZlS2V5
IHwgQ3J5cHRvS2V5VXNhZ2VEZXJpdmVCaXRzIHwgQ3J5cHRvS2V5VXNhZ2VFbmNyeXB0IHwgQ3J5
cHRvS2V5VXNhZ2VEZWNyeXB0KTsKIH0KQEAgLTcwLDcgKzcwLDcgQEAgYm9vbCBDcnlwdG9BbGdv
cml0aG1BRVNfS1c6OmtleUFsZ29yaXRobU1hdGNoZXMoY29uc3QgQ3J5cHRvS2V5JiBrZXkpIGNv
bnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpn
ZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
cz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMs
IEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhj
ZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQordm9pZCBDcnlwdG9BbGdv
cml0aG1BRVNfS1c6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tl
eVVzYWdlQml0bWFwIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhj
ZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCopCiB7CiAgICAgY29uc3QgYXV0byYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0Fs
Z29yaXRobUFlc0tleUdlblBhcmFtcz4oKnBhcmFtZXRlcnMpOwogCkBAIC04OCw3ICs4OCw3IEBA
IHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1
ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyCiAgICAgY2FsbGJhY2socmVzdWx0LmdldCgpLCBudWxs
cHRyKTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfS1c6OmltcG9ydEtleShTdWJ0bGVD
cnlwdG86OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBkYXRhLCBjb25zdCBzdGQ6OnVuaXF1
ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4
Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCit2b2lkIENyeXB0b0FsZ29yaXRo
bUFFU19LVzo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwgS2V5RGF0
YSYmIGRhdGEsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
PiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVz
YWdlcywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRp
b25DYWxsYmFjaykKIHsKICAgICBpZiAodXNhZ2VzQXJlSW52YWxpZEZvckNyeXB0b0FsZ29yaXRo
bUFFU19LVyh1c2FnZXMpKSB7CiAgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKFNZTlRBWF9FUlIp
OwpAQCAtMTQ3LDcgKzE0Nyw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpkZWNyeXB0
Rm9yVW53cmFwS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNECiAgICAgcGxhdGZv
cm1EZWNyeXB0KGRvd25jYXN0PENyeXB0b0tleUFFUz4oa2V5KSwgZGF0YSwgV1RGTW92ZShjYWxs
YmFjayksIFdURk1vdmUoZmFpbHVyZUNhbGxiYWNrKSwgZWMpOwogfQogCi12b2lkIENyeXB0b0Fs
Z29yaXRobUFFU19LVzo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
c0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdl
IHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYg
ZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
Cit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19LVzo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUs
IENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxs
YmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCopCiB7CiAgICAgY29uc3QgQ3J5cHRvQWxnb3JpdGhtQWVzS2V5
R2VuUGFyYW1zRGVwcmVjYXRlZCYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29y
aXRobUFlc0tleUdlblBhcmFtc0RlcHJlY2F0ZWQ+KHBhcmFtZXRlcnMpOwogCkBAIC0xNjAsNyAr
MTYwLDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfS1c6OmdlbmVyYXRlS2V5KGNvbnN0IENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGUKICAgICBjYWxsYmFjayhyZXN1bHQuZ2V0
KCksIG51bGxwdHIpOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobUFFU19LVzo6aW1wb3J0S2V5
KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRv
S2V5RGF0YSYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2Us
IEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmLCBFeGNlcHRpb25Db2RlJiBl
YykKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjppbXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlEYXRhJiBrZXlEYXRh
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZSwgS2V5Q2FsbGJh
Y2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAg
IGlmICghaXM8Q3J5cHRvS2V5RGF0YU9jdGV0U2VxdWVuY2U+KGtleURhdGEpKSB7CiAgICAgICAg
IGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuaCBiL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5oCmluZGV4IGIzYmI4MDc3Zjli
ZDRiYTQxN2QxMzU4ODg0YjUyOGVmMzEwYzM4M2EuLmYyMzI0MjE5YmYzZWU4YjAwZWZkZWRiNDM1
NzdkNzBkMWY5NGY0MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9h
bGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5oCkBAIC00MywxNCArNDMsMTQgQEAgcHVi
bGljOgogCiAgICAgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3Qg
b3ZlcnJpZGU7CiAKLSAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlV
c2FnZSwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopIGZpbmFsOwotICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0
bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5
Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CisgICAgdm9pZCBnZW5lcmF0
ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwg
Ym9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxi
YWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBmaW5h
bDsKKyAgICB2b2lkIGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYm
LCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogCiAgICAgLy8gVGhlIGZvbGxvd2luZyB3aWxsIGJlIGRl
cHJlY2F0ZWQuCiAgICAgdm9pZCBlbmNyeXB0Rm9yV3JhcEtleShjb25zdCBDcnlwdG9BbGdvcml0
aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09w
ZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2Fs
bGJhY2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKICAgICB2b2lkIGRlY3J5cHRGb3JVbndy
YXBLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBD
cnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwg
Vm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7
Ci0gICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVw
cmVjYXRlZCYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlPcktleVBhaXJD
YWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUm
LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBpbXBvcnRLZXko
Y29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9L
ZXlEYXRhJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleUNhbGxiYWNrJiYs
IFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRl
OworICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0Rl
cHJlY2F0ZWQmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JL
ZXlQYWlyQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRp
b25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOworICAgIHZvaWQgaW1w
b3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3Qg
Q3J5cHRvS2V5RGF0YSYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBL
ZXlDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNv
ZGUmKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKICAgICBDcnlwdG9BbGdvcml0aG1BRVNfS1coKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29y
aXRobUhNQUMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtSE1BQy5jcHAKaW5kZXggMjI1ZGI4OTdmNzBlYTM3N2QyYTM0NGUyNDc1MDJkZGY1OTNm
YzcwMS4uNGQ5Njk5YzliN2ZlY2RkMDU1NTkyNTFkZmE2OGFjNWE0OTI5NzgwYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGht
SE1BQy5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBj
aGFyKiBjb25zdCBDcnlwdG9BbGdvcml0aG1ITUFDOjpzX25hbWUgPSAiSE1BQyI7CiAKLXN0YXRp
YyBpbmxpbmUgYm9vbCB1c2FnZXNBcmVJbnZhbGlkRm9yQ3J5cHRvQWxnb3JpdGhtSE1BQyhDcnlw
dG9LZXlVc2FnZSB1c2FnZXMpCitzdGF0aWMgaW5saW5lIGJvb2wgdXNhZ2VzQXJlSW52YWxpZEZv
ckNyeXB0b0FsZ29yaXRobUhNQUMoQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzKQogewogICAg
IHJldHVybiB1c2FnZXMgJiAoQ3J5cHRvS2V5VXNhZ2VFbmNyeXB0IHwgQ3J5cHRvS2V5VXNhZ2VE
ZWNyeXB0IHwgQ3J5cHRvS2V5VXNhZ2VEZXJpdmVLZXkgfCBDcnlwdG9LZXlVc2FnZURlcml2ZUJp
dHMgfCBDcnlwdG9LZXlVc2FnZVdyYXBLZXkgfCBDcnlwdG9LZXlVc2FnZVVud3JhcEtleSk7CiB9
CkBAIC03Myw3ICs3Myw3IEBAIGJvb2wgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6a2V5QWxnb3JpdGht
TWF0Y2hlcyhjb25zdCBDcnlwdG9BbGdvcml0aG1IbWFjUGFyYW1zRGVwCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6Z2VuZXJhdGVLZXkoY29uc3Qgc3Rk
Ojp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFj
ayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KikKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6Z2VuZXJhdGVL
ZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFy
YW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBL
ZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2Vw
dGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKIHsKICAgICBjb25zdCBhdXRv
JiBobWFjUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUhtYWNLZXlQYXJhbXM+
KCpwYXJhbWV0ZXJzKTsKIApAQCAtOTYsNyArOTYsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUhN
QUM6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJh
bQogICAgIGNhbGxiYWNrKHJlc3VsdC5nZXQoKSwgbnVsbHB0cik7CiB9CiAKLXZvaWQgQ3J5cHRv
QWxnb3JpdGhtSE1BQzo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwg
S2V5RGF0YSYmIGRhdGEsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVz
YWdlcywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRp
b25DYWxsYmFjaykKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6aW1wb3J0S2V5KFN1YnRsZUNy
eXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwgS2V5RGF0YSYmIGRhdGEsIGNvbnN0IHN0ZDo6dW5pcXVl
X3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFj
dGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5Q2FsbGJhY2smJiBjYWxsYmFj
aywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykKIHsKICAgICBjb25zdCBh
dXRvJiBobWFjUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUhtYWNLZXlQYXJh
bXM+KCpwYXJhbWV0ZXJzKTsKIApAQCAtMTY3LDcgKzE2Nyw3IEBAIHZvaWQgQ3J5cHRvQWxnb3Jp
dGhtSE1BQzo6dmVyaWZ5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVk
JiBwYXJhCiAgICAgcGxhdGZvcm1WZXJpZnkoaG1hY1BhcmFtZXRlcnMsIGRvd25jYXN0PENyeXB0
b0tleUhNQUM+KGtleSksIGV4cGVjdGVkU2lnbmF0dXJlLCBkYXRhLCBXVEZNb3ZlKGNhbGxiYWNr
KSwgV1RGTW92ZShmYWlsdXJlQ2FsbGJhY2spLCBlYyk7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3Jp
dGhtSE1BQzo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJl
Y2F0ZWQmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdl
cywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVy
ZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopCit2b2lk
IENyeXB0b0FsZ29yaXRobUhNQUM6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9L
ZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZv
aWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKQogewogICAgIGNvbnN0IENyeXB0b0FsZ29yaXRobUhtYWNLZXlQYXJhbXNE
ZXByZWNhdGVkJiBobWFjUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUhtYWNL
ZXlQYXJhbXNEZXByZWNhdGVkPihwYXJhbWV0ZXJzKTsKIApAQCAtMTgwLDcgKzE4MCw3IEBAIHZv
aWQgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVyc0RlcHJlY2F0ZWQmCiAgICAgY2FsbGJhY2socmVzdWx0LmdldCgpLCBudWxscHRy
KTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1ITUFDOjppbXBvcnRLZXkoY29uc3QgQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGNvbnN0IENyeXB0b0tl
eURhdGEmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlLCBL
ZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ29kZSYgZWMp
Cit2b2lkIENyeXB0b0FsZ29yaXRobUhNQUM6OmltcG9ydEtleShjb25zdCBDcnlwdG9BbGdvcml0
aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5RGF0YSYg
a2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2UsIEtl
eUNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmLCBFeGNlcHRpb25Db2RlJiBlYykK
IHsKICAgICBpZiAoIWlzPENyeXB0b0tleURhdGFPY3RldFNlcXVlbmNlPihrZXlEYXRhKSkgewog
ICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5oIGIvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5oCmluZGV4IGQ1NGRjYWNm
NzcyMDAzOWIzNWRiZGJlY2I0ZjJlYjVkOGEwNTQ0MjYuLjk1Y2IzZDZmYTIzNzllYTk1NDkyNTI0
ZTdkYzhlYTJjYTBlZWJjYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
YWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmgKQEAgLTQ0LDE0ICs0NCwxNCBAQCBwdWJs
aWM6CiAKICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCBv
dmVycmlkZTsKIAotICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVz
YWdlLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KikgZmluYWw7Ci0gICAgdm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRv
OjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlD
YWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKKyAgICB2b2lkIGdlbmVyYXRl
S2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBi
b29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJh
Y2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIGZpbmFs
OworICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYs
IGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29s
IGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0
aW9uQ2FsbGJhY2smJikgZmluYWw7CiAKICAgICAvLyBUaGUgZm9sbG93aW5nIHdpbGwgYmUgZGVw
cmVjYXRlZC4KICAgICB2b2lkIHNpZ24oY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0Rl
cHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwg
VmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRp
b25Db2RlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2ZXJpZnkoY29uc3QgQ3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVy
YXRpb25EYXRhJiBzaWduYXR1cmUsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBCb29sQ2Fs
bGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikg
b3ZlcnJpZGU7Ci0gICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzRGVwcmVjYXRlZCYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlP
cktleVBhaXJDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2Vw
dGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBp
bXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25z
dCBDcnlwdG9LZXlEYXRhJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleUNh
bGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYp
IG92ZXJyaWRlOworICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVyc0RlcHJlY2F0ZWQmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1h
cCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNr
LCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOworICAg
IHZvaWQgaW1wb3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVk
JiwgY29uc3QgQ3J5cHRvS2V5RGF0YSYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdl
Qml0bWFwLCBLZXlDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4
Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKICAgICBDcnlwdG9BbGdvcml0aG1I
TUFDKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9Dcnlw
dG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9h
bGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuY3BwCmluZGV4IDZhYmIz
NWYxMDExOGIzZmJmYWNmZDRiZTdiZjZlOWE4NzZhNjMxM2YuLjFkMjBjODBmNjQ0MjcwZGU2OWYz
MTBlMmMxYzU4ZGY5ZjhhY2Q2Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9h
bGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3Yx
XzUuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIGJvb2wgQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFf
djFfNTo6a2V5QWxnb3JpdGhtTWF0Y2hlcyhjb25zdCBDcnlwdG9LZXkmIGtleSkKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81OjpnZW5l
cmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4m
JiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIEtl
eU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0
aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCit2b2lkIENyeXB0
b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVl
X3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFj
dGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2sm
JiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKICAgICBjb25zdCBhdXRvJiByc2FQYXJhbWV0
ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtUnNhS2V5R2VuUGFyYW1zPigqcGFyYW1ldGVy
cyk7CiAKQEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92
MV81OjpnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWwKICAgICBDcnlw
dG9LZXlSU0E6OmdlbmVyYXRlUGFpcihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpSU0FFU19Q
S0NTMV92MV81LCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMSwgZmFsc2UsIHJzYVBh
cmFtZXRlcnMubW9kdWx1c0xlbmd0aCwgcnNhUGFyYW1ldGVycy5wdWJsaWNFeHBvbmVudFZlY3Rv
cigpLCBleHRyYWN0YWJsZSwgdXNhZ2VzLCBXVEZNb3ZlKGtleVBhaXJDYWxsYmFjayksIFdURk1v
dmUoZmFpbHVyZUNhbGxiYWNrKSwgY29udGV4dCk7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGht
UlNBRVNfUEtDUzFfdjFfNTo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1h
dCwgS2V5RGF0YSYmIGRhdGEsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdl
IHVzYWdlcywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNl
cHRpb25DYWxsYmFjaykKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6aW1w
b3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwgS2V5RGF0YSYmIGRhdGEsIGNv
bnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRl
cnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5Q2Fs
bGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykK
IHsKICAgICBSZWZQdHI8Q3J5cHRvS2V5UlNBPiByZXN1bHQ7CiAgICAgc3dpdGNoIChmb3JtYXQp
IHsKQEAgLTE0MSw3ICsxNDEsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3Yx
XzU6OmRlY3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcAogICAgIHBsYXRm
b3JtRGVjcnlwdChkb3duY2FzdDxDcnlwdG9LZXlSU0E+KGtleSksIGRhdGEsIFdURk1vdmUoY2Fs
bGJhY2spLCBXVEZNb3ZlKGZhaWx1cmVDYWxsYmFjayksIGVjKTsKIH0KIAotdm9pZCBDcnlwdG9B
bGdvcml0aG1SU0FFU19QS0NTMV92MV81OjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0
aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5
cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lk
Q2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0KQordm9pZCBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81
OjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYg
cGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2Vz
LCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJl
Q2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
KQogewogICAgIGNvbnN0IENyeXB0b0FsZ29yaXRobVJzYUtleUdlblBhcmFtc0RlcHJlY2F0ZWQm
IHJzYVBhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1Sc2FLZXlHZW5QYXJhbXNE
ZXByZWNhdGVkPihwYXJhbWV0ZXJzKTsKIApAQCAtMTUyLDcgKzE1Miw3IEBAIHZvaWQgQ3J5cHRv
QWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVyCiAgICAgQ3J5cHRvS2V5UlNBOjpnZW5lcmF0ZVBhaXIoQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllcjo6UlNBRVNfUEtDUzFfdjFfNSwgcnNhUGFyYW1ldGVycy5oYXNoLCByc2FQ
YXJhbWV0ZXJzLmhhc0hhc2gsIHJzYVBhcmFtZXRlcnMubW9kdWx1c0xlbmd0aCwgcnNhUGFyYW1l
dGVycy5wdWJsaWNFeHBvbmVudCwgZXh0cmFjdGFibGUsIHVzYWdlcywgV1RGTW92ZShrZXlQYWly
Q2FsbGJhY2spLCBXVEZNb3ZlKGZhaWx1cmVDYWxsYmFjayksIGNvbnRleHQpOwogfQogCi12b2lk
IENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmltcG9ydEtleShjb25zdCBDcnlwdG9B
bGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5
RGF0YSYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2UsIEtl
eUNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhj
ZXB0aW9uQ29kZSYpCit2b2lkIENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmltcG9y
dEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYgcGFyYW1ldGVy
cywgY29uc3QgQ3J5cHRvS2V5RGF0YSYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2VCaXRtYXAgdXNhZ2UsIEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFj
ayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpCiB7CiAgICAgY29uc3QgQ3J5cHRv
QWxnb3JpdGhtUnNhS2V5UGFyYW1zV2l0aEhhc2hEZXByZWNhdGVkJiByc2FQYXJhbWV0ZXJzID0g
ZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtUnNhS2V5UGFyYW1zV2l0aEhhc2hEZXByZWNhdGVkPihw
YXJhbWV0ZXJzKTsKICAgICBjb25zdCBDcnlwdG9LZXlEYXRhUlNBQ29tcG9uZW50cyYgcnNhQ29t
cG9uZW50cyA9IGRvd25jYXN0PENyeXB0b0tleURhdGFSU0FDb21wb25lbnRzPihrZXlEYXRhKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29y
aXRobVJTQUVTX1BLQ1MxX3YxXzUuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1z
L0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuaAppbmRleCAyNGIyYzZjYjU4M2ZhZmNj
ZmZhNGZlOTVkOTBlOWM3MTJmZDRhYzc2Li4wNGRhNzY4MzM5NjE0MDg4Yzk3MTYxODRlM2RiM2Vm
NTNkMWRkNTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5
cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5oCkBAIC00NCwx
NCArNDQsMTQgQEAgcHVibGljOgogCiAgICAgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVu
dGlmaWVyKCkgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0
ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3Rh
YmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2Fs
bGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIGZpbmFsOwotICAgIHZvaWQgaW1wb3J0
S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVl
X3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlw
dG9LZXlVc2FnZSwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7Cisg
ICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtl
eU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqKSBmaW5hbDsKKyAgICB2b2lkIGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZv
cm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNh
bGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogCiAgICAgLy8gVGhlIGZvbGxv
d2luZyB3aWxsIGJlIGRlcHJlY2F0ZWQuCiAgICAgdm9pZCBlbmNyeXB0KGNvbnN0IENyeXB0b0Fs
Z29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5
cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1
cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGVjcnlwdChj
b25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tl
eSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2Fs
bGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKLSAgICB2
b2lkIGdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVk
JiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleU9yS2V5UGFpckNhbGxiYWNr
JiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqKSBvdmVycmlkZTsKLSAgICB2b2lkIGltcG9ydEtleShjb25zdCBD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleURhdGEm
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5Q2FsbGJhY2smJiwgVm9pZENh
bGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7CisgICAg
dm9pZCBnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRl
ZCYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJD
YWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUm
LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBpbXBvcnRLZXko
Y29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9L
ZXlEYXRhJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxi
YWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92
ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0Fs
Z29yaXRobVJTQVNTQV9QS0NTMV92MV81LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmNwcAppbmRleCBmODQ0OWUx
ZjMxNWNjNDg2MjAwYWNmYjkwYzg3OTk3MTk4MmVjODFjLi40OTQzZDI1Nzc5ZTI4ZTlkNTZkMTBk
NzFiOGZkODRiMTU5ZDYyNTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3Yx
XzUuY3BwCkBAIC03Miw3ICs3Miw3IEBAIGJvb2wgQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1Mx
X3YxXzU6OmtleUFsZ29yaXRobU1hdGNoZXMoY29uc3QgQ3J5cHRvQWxnb3JpdGhtCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzU6Omdl
bmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
PiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcywg
S2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNl
cHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKK3ZvaWQgQ3J5
cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzU6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5p
cXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJh
Y2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKICAgICBjb25zdCBhdXRvJiByc2FQYXJh
bWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtUnNhSGFzaGVkS2V5R2VuUGFyYW1zPigq
cGFyYW1ldGVycyk7CiAKQEAgLTkyLDcgKzkyLDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FT
U0FfUEtDUzFfdjFfNTo6Z2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0EK
ICAgICBDcnlwdG9LZXlSU0E6OmdlbmVyYXRlUGFpcihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVy
OjpSU0FTU0FfUEtDUzFfdjFfNSwgcnNhUGFyYW1ldGVycy5oYXNoSWRlbnRpZmllciwgdHJ1ZSwg
cnNhUGFyYW1ldGVycy5tb2R1bHVzTGVuZ3RoLCByc2FQYXJhbWV0ZXJzLnB1YmxpY0V4cG9uZW50
VmVjdG9yKCksIGV4dHJhY3RhYmxlLCB1c2FnZXMsIFdURk1vdmUoa2V5UGFpckNhbGxiYWNrKSwg
V1RGTW92ZShmYWlsdXJlQ2FsbGJhY2spLCBjb250ZXh0KTsKIH0KIAotdm9pZCBDcnlwdG9BbGdv
cml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0
IGZvcm1hdCwgS2V5RGF0YSYmIGRhdGEsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tl
eVVzYWdlIHVzYWdlcywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2sm
JiBleGNlcHRpb25DYWxsYmFjaykKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3Yx
XzU6OmltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBk
YXRhLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBw
YXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMs
IEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2Fs
bGJhY2spCiB7CiAgICAgY29uc3QgYXV0byYgcnNhUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0
b0FsZ29yaXRobVJzYUhhc2hlZEltcG9ydFBhcmFtcz4oKnBhcmFtZXRlcnMpOwogCkBAIC0xNzQs
NyArMTc0LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6dmVyaWZ5
KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXAKICAgICBwbGF0Zm9ybVZlcmlmeShy
c2FTU0FQYXJhbWV0ZXJzLCAgZG93bmNhc3Q8Q3J5cHRvS2V5UlNBPihrZXkpLCBzaWduYXR1cmUs
IGRhdGEsIFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKGZhaWx1cmVDYWxsYmFjayksIGVjKTsK
IH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6Z2VuZXJhdGVLZXko
Y29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGJv
b2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJh
Y2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25D
b2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKK3ZvaWQgQ3J5cHRvQWxnb3Jp
dGhtUlNBU1NBX1BLQ1MxX3YxXzU6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9L
ZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZv
aWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgY29uc3QgQ3J5cHRvQWxnb3JpdGhtUnNhS2V5
R2VuUGFyYW1zRGVwcmVjYXRlZCYgcnNhUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29y
aXRobVJzYUtleUdlblBhcmFtc0RlcHJlY2F0ZWQ+KHBhcmFtZXRlcnMpOwogCkBAIC0xODUsNyAr
MTg1LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6Z2VuZXJhdGVL
ZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGUKICAgICBDcnlwdG9LZXlSU0E6OmdlbmVy
YXRlUGFpcihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpSU0FTU0FfUEtDUzFfdjFfNSwgcnNh
UGFyYW1ldGVycy5oYXNoLCByc2FQYXJhbWV0ZXJzLmhhc0hhc2gsIHJzYVBhcmFtZXRlcnMubW9k
dWx1c0xlbmd0aCwgcnNhUGFyYW1ldGVycy5wdWJsaWNFeHBvbmVudCwgZXh0cmFjdGFibGUsIHVz
YWdlcywgV1RGTW92ZShrZXlQYWlyQ2FsbGJhY2spLCBXVEZNb3ZlKGZhaWx1cmVDYWxsYmFjayks
IGNvbnRleHQpOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81Ojpp
bXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFt
ZXRlcnMsIGNvbnN0IENyeXB0b0tleURhdGEmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlIHVzYWdlLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sm
JiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKQordm9pZCBDcnlwdG9BbGdvcml0aG1S
U0FTU0FfUEtDUzFfdjFfNTo6aW1wb3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRl
cnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9LZXlEYXRhJiBrZXlEYXRhLCBi
b29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZSwgS2V5Q2FsbGJhY2sm
JiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2Rl
JikKIHsKICAgICBjb25zdCBDcnlwdG9BbGdvcml0aG1Sc2FLZXlQYXJhbXNXaXRoSGFzaERlcHJl
Y2F0ZWQmIHJzYUtleVBhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1Sc2FLZXlQ
YXJhbXNXaXRoSGFzaERlcHJlY2F0ZWQ+KHBhcmFtZXRlcnMpOwogICAgIGNvbnN0IENyeXB0b0tl
eURhdGFSU0FDb21wb25lbnRzJiByc2FDb21wb25lbnRzID0gZG93bmNhc3Q8Q3J5cHRvS2V5RGF0
YVJTQUNvbXBvbmVudHM+KGtleURhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5
cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92
MV81LmgKaW5kZXggNjIzOWRhNGVmYmM3YTI3ZGJiZjViNTZjZWYyMTNjNmFhNzA3ZTZkNi4uOGQ4
ZmEzNTQzMmUwMmUzNGZkZjdjMmFhZGRhZTU3ZmE2ZmQ5NjdhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3Yx
XzUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0
aG1SU0FTU0FfUEtDUzFfdjFfNS5oCkBAIC00NCwxNCArNDQsMTQgQEAgcHVibGljOgogCiAgICAg
Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3Qgb3ZlcnJpZGU7CiAK
LSAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0
aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5T3JL
ZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCopIGZpbmFsOwotICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0
LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5Q2FsbGJhY2smJiwg
RXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CisgICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBz
dGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0
YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBmaW5hbDsKKyAgICB2b2lk
IGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6
OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJs
ZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNr
JiYpIGZpbmFsOwogCiAgICAgLy8gVGhlIGZvbGxvd2luZyB3aWxsIGJlIGRlcHJlY2F0ZWQuCiAg
ICAgdm9pZCBzaWduKGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwg
Y29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxi
YWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92
ZXJyaWRlOwogICAgIHZvaWQgdmVyaWZ5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNE
ZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYg
c2lnbmF0dXJlLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgQm9vbENhbGxiYWNrJiYsIFZv
aWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwot
ICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJl
Y2F0ZWQmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5T3JLZXlQYWlyQ2Fs
bGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOwotICAgIHZvaWQgaW1wb3J0S2V5KGNv
bnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5
RGF0YSYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlDYWxsYmFjayYmLCBW
b2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsK
KyAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXBy
ZWNhdGVkJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5
UGFpckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9u
Q29kZSYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGltcG9y
dEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENy
eXB0b0tleURhdGEmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5
Q2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2Rl
Jikgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1Mx
X3YxXzUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobVJTQV9PQUVQLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQLmNwcAppbmRleCBkY2Y2MGVlNGI0YTA5Mzg1ZTlh
NWRmOWI3MzUxNWUxYzRjYjFmODZjLi43MjZhYzA3ZGU1Mjg3NzQ0OGRkNTlhMDViNzE0ZDEzMTRl
NDFkY2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9Dcnlw
dG9BbGdvcml0aG1SU0FfT0FFUC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29y
aXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuY3BwCkBAIC03Miw3ICs3Miw3IEBAIGJvb2wg
Q3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OmtleUFsZ29yaXRobU1hdGNoZXMoY29uc3QgQ3J5cHRv
QWxnb3JpdGhtUnNhT2FlcFBhCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQ3J5cHRvQWxn
b3JpdGhtUlNBX09BRVA6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9B
bGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0
b0tleVVzYWdlIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0
aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCkKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OmdlbmVyYXRlS2V5KGNvbnN0
IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMs
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5T3JLZXlQ
YWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxs
YmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKICAgICBjb25zdCBhdXRv
JiByc2FQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtUnNhSGFzaGVkS2V5R2Vu
UGFyYW1zPigqcGFyYW1ldGVycyk7CiAKQEAgLTkyLDcgKzkyLDcgQEAgdm9pZCBDcnlwdG9BbGdv
cml0aG1SU0FfT0FFUDo6Z2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0Fs
Z29yaXRobVAKICAgICBDcnlwdG9LZXlSU0E6OmdlbmVyYXRlUGFpcihDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyOjpSU0FfT0FFUCwgcnNhUGFyYW1ldGVycy5oYXNoSWRlbnRpZmllciwgdHJ1ZSwg
cnNhUGFyYW1ldGVycy5tb2R1bHVzTGVuZ3RoLCByc2FQYXJhbWV0ZXJzLnB1YmxpY0V4cG9uZW50
VmVjdG9yKCksIGV4dHJhY3RhYmxlLCB1c2FnZXMsIFdURk1vdmUoa2V5UGFpckNhbGxiYWNrKSwg
V1RGTW92ZShmYWlsdXJlQ2FsbGJhY2spLCBjb250ZXh0KTsKIH0KIAotdm9pZCBDcnlwdG9BbGdv
cml0aG1SU0FfT0FFUDo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwg
S2V5RGF0YSYmIGRhdGEsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVz
YWdlcywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRp
b25DYWxsYmFjaykKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OmltcG9ydEtleShTdWJ0
bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBkYXRhLCBjb25zdCBzdGQ6OnVu
aXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4
dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleUNhbGxiYWNrJiYgY2Fs
bGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCiB7CiAgICAgY29u
c3QgYXV0byYgcnNhUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobVJzYUhhc2hl
ZEltcG9ydFBhcmFtcz4oKnBhcmFtZXRlcnMpOwogCkBAIC0xODUsNyArMTg1LDcgQEAgdm9pZCBD
cnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6ZGVjcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzRGVwcmVjYXRlZCYKICAgICBwbGF0Zm9ybURlY3J5cHQocnNhT0FFUFBhcmFtZXRlcnMs
IGRvd25jYXN0PENyeXB0b0tleVJTQT4oa2V5KSwgZGF0YSwgV1RGTW92ZShjYWxsYmFjayksIFdU
Rk1vdmUoZmFpbHVyZUNhbGxiYWNrKSwgZWMpOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobVJT
QV9PQUVQOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVj
YXRlZCYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2Vz
LCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJl
Q2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
KQordm9pZCBDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFi
bGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBj
YWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKICAgICBjb25zdCBDcnlwdG9BbGdv
cml0aG1Sc2FLZXlHZW5QYXJhbXNEZXByZWNhdGVkJiByc2FQYXJhbWV0ZXJzID0gZG93bmNhc3Q8
Q3J5cHRvQWxnb3JpdGhtUnNhS2V5R2VuUGFyYW1zRGVwcmVjYXRlZD4ocGFyYW1ldGVycyk7CiAK
QEAgLTE5Niw3ICsxOTYsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjpnZW5lcmF0
ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYQogICAgIENyeXB0b0tl
eVJTQTo6Z2VuZXJhdGVQYWlyKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlJTQV9PQUVQLCBy
c2FQYXJhbWV0ZXJzLmhhc2gsIHJzYVBhcmFtZXRlcnMuaGFzSGFzaCwgcnNhUGFyYW1ldGVycy5t
b2R1bHVzTGVuZ3RoLCByc2FQYXJhbWV0ZXJzLnB1YmxpY0V4cG9uZW50LCBleHRyYWN0YWJsZSwg
dXNhZ2VzLCBXVEZNb3ZlKGtleVBhaXJDYWxsYmFjayksIFdURk1vdmUoZmFpbHVyZUNhbGxiYWNr
KSwgY29udGV4dCk7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OmltcG9ydEtl
eShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYgcGFyYW1ldGVycywg
Y29uc3QgQ3J5cHRvS2V5RGF0YSYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5
VXNhZ2UgdXNhZ2UsIEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1
cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpCit2b2lkIENyeXB0b0FsZ29yaXRobVJTQV9PQUVQ
OjppbXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBh
cmFtZXRlcnMsIGNvbnN0IENyeXB0b0tleURhdGEmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUs
IENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lk
Q2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKQogewogICAgIGNvbnN0
IENyeXB0b0FsZ29yaXRobVJzYUtleVBhcmFtc1dpdGhIYXNoRGVwcmVjYXRlZCYgcnNhS2V5UGFy
YW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobVJzYUtleVBhcmFtc1dpdGhIYXNoRGVw
cmVjYXRlZD4ocGFyYW1ldGVycyk7CiAgICAgY29uc3QgQ3J5cHRvS2V5RGF0YVJTQUNvbXBvbmVu
dHMmIHJzYUNvbXBvbmVudHMgPSBkb3duY2FzdDxDcnlwdG9LZXlEYXRhUlNBQ29tcG9uZW50cz4o
a2V5RGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1SU0FfT0FFUC5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRo
bXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuaAppbmRleCAwMTNkZTcyZjVkMDIzNDJhNjhiMThh
ZjU5OWNkN2MxOGI1YmQ3MTljLi45ZjRlM2U5ZjczZWZlMGI1ZjVlZDBiYjQ2NGUyNDkzMGZmMTRj
NjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1SU0FfT0FFUC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1z
L0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQLmgKQEAgLTQ0LDE0ICs0NCwxNCBAQCBwdWJsaWM6CiAK
ICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCBvdmVycmlk
ZTsKIAotICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0Fs
Z29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBL
ZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KikgZmluYWw7Ci0gICAgdm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlG
b3JtYXQsIEtleURhdGEmJiwgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlDYWxsYmFj
ayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKKyAgICB2b2lkIGdlbmVyYXRlS2V5KGNv
bnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4
dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwg
RXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIGZpbmFsOworICAg
IHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0
IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2Fs
bGJhY2smJikgZmluYWw7CiAKICAgICAvLyBUaGUgZm9sbG93aW5nIHdpbGwgYmUgZGVwcmVjYXRl
ZC4KICAgICB2b2lkIGVuY3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJl
Y2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVj
dG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25D
b2RlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkZWNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0
aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFj
aywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwotICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qg
Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZSwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFp
bHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92
ZXJyaWRlOwotICAgIHZvaWQgaW1wb3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRl
cnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5RGF0YSYsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlLCBLZXlDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJh
Y2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKKyAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0
IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgYm9vbCBleHRyYWN0YWJsZSwg
Q3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFj
ayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGltcG9ydEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleURhdGEmLCBib29sIGV4dHJhY3Rh
YmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYg
ZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAg
ICAgQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5
cy9DcnlwdG9LZXlBRVMuY3BwCmluZGV4IDVhODQwMmNhOGFhNzIzMTk4MDczMThkZmU4MGNkNTUy
OTk0NGJmYzIuLjIzNGZlMjliNDkxYzAwNWMxYjc0NDBlODFiYmFiOTVjNWJkYmRlODkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmNwcApAQCAtNDEsMTQgKzQx
LDE0IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBsZW5ndGhJc1ZhbGlkKHNpemVfdCBsZW5ndGgpCiAg
ICAgcmV0dXJuIChsZW5ndGggPT0gQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDEyOCkgfHwgKGxlbmd0
aCA9PSBDcnlwdG9LZXlBRVM6OnNfbGVuZ3RoMTkyKSB8fCAobGVuZ3RoID09IENyeXB0b0tleUFF
Uzo6c19sZW5ndGgyNTYpOwogfQogCi1DcnlwdG9LZXlBRVM6OkNyeXB0b0tleUFFUyhDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXks
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlKQorQ3J5cHRvS2V5QUVTOjpD
cnlwdG9LZXlBRVMoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIGNvbnN0IFZl
Y3Rvcjx1aW50OF90PiYga2V5LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1h
cCB1c2FnZSkKICAgICA6IENyeXB0b0tleShhbGdvcml0aG0sIENyeXB0b0tleVR5cGU6OlNlY3Jl
dCwgZXh0cmFjdGFibGUsIHVzYWdlKQogICAgICwgbV9rZXkoa2V5KQogewogICAgIEFTU0VSVChp
c1ZhbGlkQUVTQWxnb3JpdGhtKGFsZ29yaXRobSkpOwogfQogCi1DcnlwdG9LZXlBRVM6OkNyeXB0
b0tleUFFUyhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgVmVjdG9yPHVpbnQ4
X3Q+JiYga2V5LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZSkKK0NyeXB0
b0tleUFFUzo6Q3J5cHRvS2V5QUVTKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGht
LCBWZWN0b3I8dWludDhfdD4mJiBrZXksIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdl
Qml0bWFwIHVzYWdlKQogICAgIDogQ3J5cHRvS2V5KGFsZ29yaXRobSwgQ3J5cHRvS2V5VHlwZTo6
U2VjcmV0LCBleHRyYWN0YWJsZSwgdXNhZ2UpCiAgICAgLCBtX2tleShXVEZNb3ZlKGtleSkpCiB7
CkBAIC02OSwyMSArNjksMjEgQEAgYm9vbCBDcnlwdG9LZXlBRVM6OmlzVmFsaWRBRVNBbGdvcml0
aG0oQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0pCiAgICAgICAgIHx8IGFsZ29y
aXRobSA9PSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpBRVNfS1c7CiB9CiAKLVJlZlB0cjxD
cnlwdG9LZXlBRVM+IENyeXB0b0tleUFFUzo6Z2VuZXJhdGUoQ3J5cHRvQWxnb3JpdGhtSWRlbnRp
ZmllciBhbGdvcml0aG0sIHNpemVfdCBsZW5ndGhCaXRzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlw
dG9LZXlVc2FnZSB1c2FnZXMpCitSZWZQdHI8Q3J5cHRvS2V5QUVTPiBDcnlwdG9LZXlBRVM6Omdl
bmVyYXRlKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtLCBzaXplX3QgbGVuZ3Ro
Qml0cywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzKQogewog
ICAgIGlmICghbGVuZ3RoSXNWYWxpZChsZW5ndGhCaXRzKSkKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDcnlwdG9LZXlBRVMoYWxnb3JpdGhtLCByYW5k
b21EYXRhKGxlbmd0aEJpdHMgLyA4KSwgZXh0cmFjdGFibGUsIHVzYWdlcykpOwogfQogCi1SZWZQ
dHI8Q3J5cHRvS2V5QUVTPiBDcnlwdG9LZXlBRVM6OmltcG9ydFJhdyhDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyIGFsZ29yaXRobSwgVmVjdG9yPHVpbnQ4X3Q+JiYga2V5RGF0YSwgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzKQorUmVmUHRyPENyeXB0b0tleUFFUz4gQ3J5
cHRvS2V5QUVTOjppbXBvcnRSYXcoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0s
IFZlY3Rvcjx1aW50OF90PiYmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVz
YWdlQml0bWFwIHVzYWdlcykKIHsKICAgICBpZiAoIWxlbmd0aElzVmFsaWQoa2V5RGF0YS5zaXpl
KCkgKiA4KSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBDcnlwdG9LZXlBRVMoYWxnb3JpdGhtLCBXVEZNb3ZlKGtleURhdGEpLCBleHRyYWN0YWJsZSwg
dXNhZ2VzKSk7CiB9CiAKLVJlZlB0cjxDcnlwdG9LZXlBRVM+IENyeXB0b0tleUFFUzo6aW1wb3J0
SndrKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtLCBKc29uV2ViS2V5JiYga2V5
RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBDaGVja0FsZ0Nh
bGxiYWNrJiYgY2FsbGJhY2spCitSZWZQdHI8Q3J5cHRvS2V5QUVTPiBDcnlwdG9LZXlBRVM6Omlt
cG9ydEp3ayhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgSnNvbldlYktleSYm
IGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywg
Q2hlY2tBbGdDYWxsYmFjayYmIGNhbGxiYWNrKQogewogICAgIGlmIChrZXlEYXRhLmt0eSAhPSAi
b2N0IikKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlBRVMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlz
L0NyeXB0b0tleUFFUy5oCmluZGV4IDgyODhmNmQ1YjllYWU0YjJhNmFmMGQ3NTZmYTY3MmFlMTY3
OWQ5Y2IuLmM3MThiZWI3Njg0Njk0OGRmNmIyZDVmYTg1ZWNjY2E5NjhkOGVhMjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5oCkBAIC01OSw3ICs1OSw3IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgY29uc3QgaW50IHNfbGVuZ3RoMTkyID0gMTkyOwogICAgIHN0YXRp
YyBjb25zdCBpbnQgc19sZW5ndGgyNTYgPSAyNTY7CiAKLSAgICBzdGF0aWMgUmVmPENyeXB0b0tl
eUFFUz4gY3JlYXRlKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtLCBjb25zdCBW
ZWN0b3I8dWludDhfdD4mIGtleSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNh
Z2UpCisgICAgc3RhdGljIFJlZjxDcnlwdG9LZXlBRVM+IGNyZWF0ZShDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyIGFsZ29yaXRobSwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlKQogICAgIHsKICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgQ3J5cHRvS2V5QUVTKGFsZ29yaXRobSwga2V5LCBleHRyYWN0YWJs
ZSwgdXNhZ2UpKTsKICAgICB9CkBAIC02NywxOCArNjcsMTggQEAgcHVibGljOgogCiAgICAgc3Rh
dGljIGJvb2wgaXNWYWxpZEFFU0FsZ29yaXRobShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyKTsK
IAotICAgIHN0YXRpYyBSZWZQdHI8Q3J5cHRvS2V5QUVTPiBnZW5lcmF0ZShDcnlwdG9BbGdvcml0
aG1JZGVudGlmaWVyLCBzaXplX3QgbGVuZ3RoQml0cywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2UpOwotICAgIHN0YXRpYyBSZWZQdHI8Q3J5cHRvS2V5QUVTPiBpbXBvcnRSYXcoQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgVmVjdG9yPHVpbnQ4X3Q+JiYga2V5RGF0YSwgYm9vbCBl
eHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UpOworICAgIHN0YXRpYyBSZWZQdHI8Q3J5cHRvS2V5
QUVTPiBnZW5lcmF0ZShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBzaXplX3QgbGVuZ3RoQml0
cywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXApOworICAgIHN0YXRpYyBS
ZWZQdHI8Q3J5cHRvS2V5QUVTPiBpbXBvcnRSYXcoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwg
VmVjdG9yPHVpbnQ4X3Q+JiYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNh
Z2VCaXRtYXApOwogICAgIHVzaW5nIENoZWNrQWxnQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPGJv
b2woc2l6ZV90LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+Jik+OwotICAgIHN0YXRpYyBSZWZQdHI8
Q3J5cHRvS2V5QUVTPiBpbXBvcnRKd2soQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgSnNvbldl
YktleSYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgQ2hlY2tBbGdDYWxsYmFj
ayYmKTsKKyAgICBzdGF0aWMgUmVmUHRyPENyeXB0b0tleUFFUz4gaW1wb3J0SndrKENyeXB0b0Fs
Z29yaXRobUlkZW50aWZpZXIsIEpzb25XZWJLZXkmJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2VCaXRtYXAsIENoZWNrQWxnQ2FsbGJhY2smJik7CiAKICAgICBDcnlwdG9LZXlDbGFz
cyBrZXlDbGFzcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENyeXB0b0tleUNsYXNzOjpBRVM7IH0K
IAogICAgIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5KCkgY29uc3QgeyByZXR1cm4gbV9rZXk7
IH0KIAogcHJpdmF0ZToKLSAgICBDcnlwdG9LZXlBRVMoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmll
ciwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tl
eVVzYWdlKTsKLSAgICBDcnlwdG9LZXlBRVMoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgVmVj
dG9yPHVpbnQ4X3Q+JiYga2V5LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSk7Cisg
ICAgQ3J5cHRvS2V5QUVTKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIsIGNvbnN0IFZlY3Rvcjx1
aW50OF90PiYga2V5LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCk7Cisg
ICAgQ3J5cHRvS2V5QUVTKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIsIFZlY3Rvcjx1aW50OF90
PiYmIGtleSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXApOwogCiAgICAg
c3RkOjp1bmlxdWVfcHRyPEtleUFsZ29yaXRobT4gYnVpbGRBbGdvcml0aG0oKSBjb25zdCBmaW5h
bDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvS2V5RGF0YT4gZXhwb3J0RGF0YSgpIGNvbnN0
IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5
SE1BQy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmNwcApp
bmRleCAzYjFkNDFiOTUzMDQ2ZjU1NjZiMWViNTBhZjA2M2E3YTRiZmYyYjdmLi4xNzNjZTVjYTdi
ZTk5NGE0MDdhOWE3MDk3ODE1YjEwMTVmMzQyZjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8va2V5cy9DcnlwdG9LZXlITUFDLmNwcApAQCAtMzcsMTQgKzM3LDE0IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotQ3J5cHRvS2V5SE1BQzo6Q3J5cHRvS2V5SE1BQyhjb25zdCBWZWN0b3I8
dWludDhfdD4mIGtleSwgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZSkKK0NyeXB0b0tleUhNQUM6OkNyeXB0b0tleUhN
QUMoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIg
aGFzaCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2UpCiAgICAg
OiBDcnlwdG9LZXkoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6SE1BQywgQ3J5cHRvS2V5VHlw
ZTo6U2VjcmV0LCBleHRyYWN0YWJsZSwgdXNhZ2UpCiAgICAgLCBtX2hhc2goaGFzaCkKICAgICAs
IG1fa2V5KGtleSkKIHsKIH0KIAotQ3J5cHRvS2V5SE1BQzo6Q3J5cHRvS2V5SE1BQyhWZWN0b3I8
dWludDhfdD4mJiBrZXksIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2UpCitDcnlwdG9LZXlITUFDOjpDcnlwdG9LZXlI
TUFDKFZlY3Rvcjx1aW50OF90PiYmIGtleSwgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNo
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZSkKICAgICA6IENy
eXB0b0tleShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpITUFDLCBDcnlwdG9LZXlUeXBlOjpT
ZWNyZXQsIGV4dHJhY3RhYmxlLCB1c2FnZSkKICAgICAsIG1faGFzaChoYXNoKQogICAgICwgbV9r
ZXkoV1RGTW92ZShrZXkpKQpAQCAtNTUsNyArNTUsNyBAQCBDcnlwdG9LZXlITUFDOjp+Q3J5cHRv
S2V5SE1BQygpCiB7CiB9CiAKLVJlZlB0cjxDcnlwdG9LZXlITUFDPiBDcnlwdG9LZXlITUFDOjpn
ZW5lcmF0ZShzaXplX3QgbGVuZ3RoQml0cywgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNo
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMpCitSZWZQdHI8Q3J5cHRv
S2V5SE1BQz4gQ3J5cHRvS2V5SE1BQzo6Z2VuZXJhdGUoc2l6ZV90IGxlbmd0aEJpdHMsIENyeXB0
b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNh
Z2VCaXRtYXAgdXNhZ2VzKQogewogICAgIGlmICghbGVuZ3RoQml0cykgewogICAgICAgICBzd2l0
Y2ggKGhhc2gpIHsKQEAgLTgwLDcgKzgwLDcgQEAgUmVmUHRyPENyeXB0b0tleUhNQUM+IENyeXB0
b0tleUhNQUM6OmdlbmVyYXRlKHNpemVfdCBsZW5ndGhCaXRzLCBDcnlwdG9BbGdvcml0aG0KICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IENyeXB0b0tleUhNQUMocmFuZG9tRGF0YShsZW5ndGhCaXRz
IC8gOCksIGhhc2gsIGV4dHJhY3RhYmxlLCB1c2FnZXMpKTsKIH0KIAotUmVmUHRyPENyeXB0b0tl
eUhNQUM+IENyeXB0b0tleUhNQUM6OmltcG9ydFJhdyhzaXplX3QgbGVuZ3RoQml0cywgQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBWZWN0b3I8dWludDhfdD4mJiBrZXlEYXRhLCBib29s
IGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMpCitSZWZQdHI8Q3J5cHRvS2V5SE1B
Qz4gQ3J5cHRvS2V5SE1BQzo6aW1wb3J0UmF3KHNpemVfdCBsZW5ndGhCaXRzLCBDcnlwdG9BbGdv
cml0aG1JZGVudGlmaWVyIGhhc2gsIFZlY3Rvcjx1aW50OF90PiYmIGtleURhdGEsIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcykKIHsKICAgICBzaXplX3QgbGVu
Z3RoID0ga2V5RGF0YS5zaXplKCkgKiA4OwogICAgIGlmICghbGVuZ3RoKQpAQCAtOTMsNyArOTMs
NyBAQCBSZWZQdHI8Q3J5cHRvS2V5SE1BQz4gQ3J5cHRvS2V5SE1BQzo6aW1wb3J0UmF3KHNpemVf
dCBsZW5ndGhCaXRzLCBDcnlwdG9BbGdvcml0aAogICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ3J5
cHRvS2V5SE1BQyhXVEZNb3ZlKGtleURhdGEpLCBoYXNoLCBleHRyYWN0YWJsZSwgdXNhZ2VzKSk7
CiB9CiAKLVJlZlB0cjxDcnlwdG9LZXlITUFDPiBDcnlwdG9LZXlITUFDOjppbXBvcnRKd2soc2l6
ZV90IGxlbmd0aEJpdHMsIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgSnNvbldlYktl
eSYmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcywgQ2hl
Y2tBbGdDYWxsYmFjayYmIGNhbGxiYWNrKQorUmVmUHRyPENyeXB0b0tleUhNQUM+IENyeXB0b0tl
eUhNQUM6OmltcG9ydEp3ayhzaXplX3QgbGVuZ3RoQml0cywgQ3J5cHRvQWxnb3JpdGhtSWRlbnRp
ZmllciBoYXNoLCBKc29uV2ViS2V5JiYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBDaGVja0FsZ0NhbGxiYWNrJiYgY2FsbGJhY2spCiB7CiAg
ICAgaWYgKGtleURhdGEua3R5ICE9ICJvY3QiKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUhNQUMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUhNQUMuaAppbmRleCBmMzVhYjUzYTA1
MTkwNDAwOTg2ZDI0Mzk1ZTNhZDViZDRmMWZlODFiLi4xMDdjNjU5ODEzZGM5MTg2ZmYwMThmMGFl
ZWU0MzRhZmRhYTAxYzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9D
cnlwdG9LZXlITUFDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5
SE1BQy5oCkBAIC01NywxNiArNTcsMTYgQEAgcHJpdmF0ZToKIAogY2xhc3MgQ3J5cHRvS2V5SE1B
QyBmaW5hbCA6IHB1YmxpYyBDcnlwdG9LZXkgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8Q3J5
cHRvS2V5SE1BQz4gY3JlYXRlKGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LCBDcnlwdG9BbGdv
cml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVz
YWdlKQorICAgIHN0YXRpYyBSZWY8Q3J5cHRvS2V5SE1BQz4gY3JlYXRlKGNvbnN0IFZlY3Rvcjx1
aW50OF90PiYga2V5LCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgZXh0cmFj
dGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlKQogICAgIHsKICAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ3J5cHRvS2V5SE1BQyhrZXksIGhhc2gsIGV4dHJhY3RhYmxlLCB1c2Fn
ZSkpOwogICAgIH0KICAgICB2aXJ0dWFsIH5DcnlwdG9LZXlITUFDKCk7CiAKLSAgICBzdGF0aWMg
UmVmUHRyPENyeXB0b0tleUhNQUM+IGdlbmVyYXRlKHNpemVfdCBsZW5ndGhCaXRzLCBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdl
KTsKLSAgICBzdGF0aWMgUmVmUHRyPENyeXB0b0tleUhNQUM+IGltcG9ydFJhdyhzaXplX3QgbGVu
Z3RoQml0cywgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBWZWN0b3I8dWludDhfdD4m
JiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSk7CisgICAgc3RhdGlj
IFJlZlB0cjxDcnlwdG9LZXlITUFDPiBnZW5lcmF0ZShzaXplX3QgbGVuZ3RoQml0cywgQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2Fn
ZUJpdG1hcCk7CisgICAgc3RhdGljIFJlZlB0cjxDcnlwdG9LZXlITUFDPiBpbXBvcnRSYXcoc2l6
ZV90IGxlbmd0aEJpdHMsIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgVmVjdG9yPHVp
bnQ4X3Q+JiYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAp
OwogICAgIHVzaW5nIENoZWNrQWxnQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPGJvb2woQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllciwgY29uc3QgT3B0aW9uYWw8U3RyaW5nPiYpPjsKLSAgICBzdGF0
aWMgUmVmUHRyPENyeXB0b0tleUhNQUM+IGltcG9ydEp3ayhzaXplX3QgbGVuZ3RoQml0cywgQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBKc29uV2ViS2V5JiYsIGJvb2wgZXh0cmFjdGFi
bGUsIENyeXB0b0tleVVzYWdlLCBDaGVja0FsZ0NhbGxiYWNrJiYpOworICAgIHN0YXRpYyBSZWZQ
dHI8Q3J5cHRvS2V5SE1BQz4gaW1wb3J0SndrKHNpemVfdCBsZW5ndGhCaXRzLCBDcnlwdG9BbGdv
cml0aG1JZGVudGlmaWVyIGhhc2gsIEpzb25XZWJLZXkmJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5
cHRvS2V5VXNhZ2VCaXRtYXAsIENoZWNrQWxnQ2FsbGJhY2smJik7CiAKICAgICBDcnlwdG9LZXlD
bGFzcyBrZXlDbGFzcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENyeXB0b0tleUNsYXNzOjpITUFD
OyB9CiAKQEAgLTc1LDggKzc1LDggQEAgcHVibGljOgogICAgIENyeXB0b0FsZ29yaXRobUlkZW50
aWZpZXIgaGFzaEFsZ29yaXRobUlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2hhc2g7IH0K
IAogcHJpdmF0ZToKLSAgICBDcnlwdG9LZXlITUFDKGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5
LCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0
b0tleVVzYWdlKTsKLSAgICBDcnlwdG9LZXlITUFDKFZlY3Rvcjx1aW50OF90PiYmIGtleSwgQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlV
c2FnZSk7CisgICAgQ3J5cHRvS2V5SE1BQyhjb25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwgQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlV
c2FnZUJpdG1hcCk7CisgICAgQ3J5cHRvS2V5SE1BQyhWZWN0b3I8dWludDhfdD4mJiBrZXksIENy
eXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5
VXNhZ2VCaXRtYXApOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEtleUFsZ29yaXRobT4gYnVpbGRB
bGdvcml0aG0oKSBjb25zdCBmaW5hbDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvS2V5RGF0
YT4gZXhwb3J0RGF0YSgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlz
L0NyeXB0b0tleVJTQS5jcHAKaW5kZXggZWZhMDU1N2NmYWQ0YTM0MWM5YWRmMWVlZGZhMTg4YmVl
YjkyMGU1YS4uMGQxNDM4MWY1YjIxOTY1ZTQ5NmU2ODhjZTgxNGYwNzcwMTU4YjQ4NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuY3BwCkBAIC0zNCw3ICszNCw3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmUHRyPENyeXB0b0tleVJTQT4gQ3J5cHRv
S2V5UlNBOjppbXBvcnRKd2soQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIE9w
dGlvbmFsPENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI+IGhhc2gsIEpzb25XZWJLZXkmJiBrZXlE
YXRhLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMpCitSZWZQdHI8Q3J5
cHRvS2V5UlNBPiBDcnlwdG9LZXlSU0E6OmltcG9ydEp3ayhDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyIGFsZ29yaXRobSwgT3B0aW9uYWw8Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcj4gaGFzaCwg
SnNvbldlYktleSYmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0
bWFwIHVzYWdlcykKIHsKICAgICBpZiAoa2V5RGF0YS5rdHkgIT0gIlJTQSIpCiAgICAgICAgIHJl
dHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5
cHRvS2V5UlNBLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuaApp
bmRleCBjN2Y0ZDVhZjllYTkwMGFlYmM3ZmZjZTE1NjcwNjBjMjdlNjBiZTdhLi5mYjEwYTY0MDQx
OWUzM2EzY2M3NTFhZGM1NTFkYTI1YTM3MjczMWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
a2V5cy9DcnlwdG9LZXlSU0EuaApAQCAtODcsMTEgKzg3LDExIEBAIHByaXZhdGU6CiAKIGNsYXNz
IENyeXB0b0tleVJTQSBmaW5hbCA6IHB1YmxpYyBDcnlwdG9LZXkgewogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8Q3J5cHRvS2V5UlNBPiBjcmVhdGUoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgaGFzSGFzaCwg
Q3J5cHRvS2V5VHlwZSB0eXBlLCBQbGF0Zm9ybVJTQUtleSBwbGF0Zm9ybUtleSwgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2UpCisgICAgc3RhdGljIFJlZjxDcnlwdG9LZXlS
U0E+IGNyZWF0ZShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlkZW50aWZpZXIsIENyeXB0b0Fs
Z29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBoYXNIYXNoLCBDcnlwdG9LZXlUeXBlIHR5cGUs
IFBsYXRmb3JtUlNBS2V5IHBsYXRmb3JtS2V5LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlV
c2FnZUJpdG1hcCB1c2FnZSkKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENy
eXB0b0tleVJTQShpZGVudGlmaWVyLCBoYXNoLCBoYXNIYXNoLCB0eXBlLCBwbGF0Zm9ybUtleSwg
ZXh0cmFjdGFibGUsIHVzYWdlKSk7CiAgICAgfQotICAgIHN0YXRpYyBSZWZQdHI8Q3J5cHRvS2V5
UlNBPiBjcmVhdGUoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgQ3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIGNvbnN0IENyeXB0b0tleURhdGFSU0FDb21wb25l
bnRzJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UpOworICAgIHN0YXRpYyBSZWZQ
dHI8Q3J5cHRvS2V5UlNBPiBjcmVhdGUoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIGNvbnN0IENyeXB0b0tleURh
dGFSU0FDb21wb25lbnRzJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAp
OwogICAgIHZpcnR1YWwgfkNyeXB0b0tleVJTQSgpOwogCiAgICAgYm9vbCBpc1Jlc3RyaWN0ZWRU
b0hhc2goQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciYpIGNvbnN0OwpAQCAtMTAwLDEzICsxMDAs
MTMgQEAgcHVibGljOgogCiAgICAgdXNpbmcgS2V5UGFpckNhbGxiYWNrID0gV1RGOjpGdW5jdGlv
bjx2b2lkKENyeXB0b0tleVBhaXImKT47CiAgICAgdXNpbmcgVm9pZENhbGxiYWNrID0gV1RGOjpG
dW5jdGlvbjx2b2lkKCk+OwotICAgIHN0YXRpYyB2b2lkIGdlbmVyYXRlUGFpcihDcnlwdG9BbGdv
cml0aG1JZGVudGlmaWVyLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgaGFz
SGFzaCwgdW5zaWduZWQgbW9kdWx1c0xlbmd0aCwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBwdWJs
aWNFeHBvbmVudCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleVBhaXJDYWxs
YmFjaywgVm9pZENhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCopOwotICAgIHN0YXRpYyBSZWZQdHI8Q3J5cHRvS2V5UlNBPiBpbXBvcnRKd2soQ3J5cHRvQWxn
b3JpdGhtSWRlbnRpZmllciwgT3B0aW9uYWw8Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcj4gaGFz
aCwgSnNvbldlYktleSYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSk7CisgICAg
c3RhdGljIHZvaWQgZ2VuZXJhdGVQYWlyKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIsIENyeXB0
b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBoYXNIYXNoLCB1bnNpZ25lZCBtb2R1bHVz
TGVuZ3RoLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIHB1YmxpY0V4cG9uZW50LCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5UGFpckNhbGxiYWNrLCBWb2lkQ2FsbGJh
Y2sgZmFpbHVyZUNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisgICAgc3RhdGlj
IFJlZlB0cjxDcnlwdG9LZXlSU0E+IGltcG9ydEp3ayhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVy
LCBPcHRpb25hbDxDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyPiBoYXNoLCBKc29uV2ViS2V5JiYs
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwKTsKIAogICAgIFBsYXRmb3Jt
UlNBS2V5IHBsYXRmb3JtS2V5KCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUtleTsgfQogCiBw
cml2YXRlOgotICAgIENyeXB0b0tleVJTQShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBDcnlw
dG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgaGFzSGFzaCwgQ3J5cHRvS2V5VHlwZSwg
UGxhdGZvcm1SU0FLZXksIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlKTsKKyAgICBD
cnlwdG9LZXlSU0EoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgQ3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIENyeXB0b0tleVR5cGUsIFBsYXRmb3JtUlNBS2V5
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCk7CiAKICAgICBDcnlwdG9L
ZXlDbGFzcyBrZXlDbGFzcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENyeXB0b0tleUNsYXNzOjpS
U0E7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5
U2VyaWFsaXphdGlvblJhdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9L
ZXlTZXJpYWxpemF0aW9uUmF3LmNwcAppbmRleCA2ZDNiOGM4NDU4OTliNWViZmYxMzAxOGU5YWYy
YTdiMGU4NmVlMWI3Li5kYjI3NGYzZjQyMzcxOGEzYmExYzU0YzFmMDllNDMyZDQ5NjdhZDMxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlTZXJpYWxpemF0
aW9uUmF3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlTZXJp
YWxpemF0aW9uUmF3LmNwcApAQCAtNDksNyArNDksNyBAQCBPcHRpb25hbDxDcnlwdG9BbGdvcml0
aG1QYWlyPiBDcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3OjpyZWNvbmNpbGVBbGdvcml0aG0oQ3J5
cAogICAgIHJldHVybiBDcnlwdG9BbGdvcml0aG1QYWlyIHsgYWxnb3JpdGhtLCBwYXJhbWV0ZXJz
IH07CiB9CiAKLXZvaWQgQ3J5cHRvS2V5U2VyaWFsaXphdGlvblJhdzo6cmVjb25jaWxlVXNhZ2Vz
KENyeXB0b0tleVVzYWdlJikgY29uc3QKK3ZvaWQgQ3J5cHRvS2V5U2VyaWFsaXphdGlvblJhdzo6
cmVjb25jaWxlVXNhZ2VzKENyeXB0b0tleVVzYWdlQml0bWFwJikgY29uc3QKIHsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5U2VyaWFsaXphdGlv
blJhdy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5U2VyaWFsaXphdGlv
blJhdy5oCmluZGV4IGVmYTNjZDJjMDFkOWYzNWEwZTkwYzJhOTk3YzQxNDgyZDc4ZWE1MzYuLmE2
MTVkMGYwMzhjOTI5OTcwMmFjNjUzZGM0M2YxZDNlY2Q0Nzk4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVNlcmlhbGl6YXRpb25SYXcuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3LmgKQEAg
LTUzLDcgKzUzLDcgQEAgcHJpdmF0ZToKIAogICAgIE9wdGlvbmFsPENyeXB0b0FsZ29yaXRobVBh
aXI+IHJlY29uY2lsZUFsZ29yaXRobShDcnlwdG9BbGdvcml0aG0qLCBDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzRGVwcmVjYXRlZCopIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCByZWNvbmNp
bGVVc2FnZXMoQ3J5cHRvS2V5VXNhZ2UmKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIHJlY29u
Y2lsZVVzYWdlcyhDcnlwdG9LZXlVc2FnZUJpdG1hcCYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZv
aWQgcmVjb25jaWxlRXh0cmFjdGFibGUoYm9vbCYpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPENyeXB0b0tleURhdGE+IGtleURhdGEoKSBjb25zdCBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvS2V5UlNBTWFjLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvS2V5UlNBTWFjLmNwcAppbmRleCA5ZmFm
MDBiZDdlYzY0Mjg1MGZjMjU0NTE3MGZmYmE0NzlmMDYzYTA1Li5jNzM0NWVjNzU3YjhiYTA5Zjk4
Yzc2NGUxNGIxMTc3OGE4ZWUyODljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
bWFjL0NyeXB0b0tleVJTQU1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9D
cnlwdG9LZXlSU0FNYWMuY3BwCkBAIC05Niw3ICs5Niw3IEBAIHN0YXRpYyBDQ0NyeXB0b3JTdGF0
dXMgZ2V0UHJpdmF0ZUtleUNvbXBvbmVudHMoQ0NSU0FDcnlwdG9yUmVmIHJzYUtleSwgVmVjdG9y
PHVpCiAgICAgcmV0dXJuIHN0YXR1czsKIH0KIAotQ3J5cHRvS2V5UlNBOjpDcnlwdG9LZXlSU0Eo
Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVudGlmaWVyLCBDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyIGhhc2gsIGJvb2wgaGFzSGFzaCwgQ3J5cHRvS2V5VHlwZSB0eXBlLCBQbGF0Zm9ybVJT
QUtleSBwbGF0Zm9ybUtleSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2Up
CitDcnlwdG9LZXlSU0E6OkNyeXB0b0tleVJTQShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlk
ZW50aWZpZXIsIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBoYXNIYXNoLCBD
cnlwdG9LZXlUeXBlIHR5cGUsIFBsYXRmb3JtUlNBS2V5IHBsYXRmb3JtS2V5LCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZSkKICAgICA6IENyeXB0b0tleShpZGVu
dGlmaWVyLCB0eXBlLCBleHRyYWN0YWJsZSwgdXNhZ2UpCiAgICAgLCBtX3BsYXRmb3JtS2V5KHBs
YXRmb3JtS2V5KQogICAgICwgbV9yZXN0cmljdGVkVG9TcGVjaWZpY0hhc2goaGFzSGFzaCkKQEAg
LTEwNCw3ICsxMDQsNyBAQCBDcnlwdG9LZXlSU0E6OkNyeXB0b0tleVJTQShDcnlwdG9BbGdvcml0
aG1JZGVudGlmaWVyIGlkZW50aWZpZXIsIENyeXB0b0FsZ29yaXRobQogewogfQogCi1SZWZQdHI8
Q3J5cHRvS2V5UlNBPiBDcnlwdG9LZXlSU0E6OmNyZWF0ZShDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyIGlkZW50aWZpZXIsIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBoYXNI
YXNoLCBjb25zdCBDcnlwdG9LZXlEYXRhUlNBQ29tcG9uZW50cyYga2V5RGF0YSwgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2UpCitSZWZQdHI8Q3J5cHRvS2V5UlNBPiBDcnlw
dG9LZXlSU0E6OmNyZWF0ZShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlkZW50aWZpZXIsIENy
eXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBoYXNIYXNoLCBjb25zdCBDcnlwdG9L
ZXlEYXRhUlNBQ29tcG9uZW50cyYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5
VXNhZ2VCaXRtYXAgdXNhZ2UpCiB7CiAgICAgaWYgKGtleURhdGEudHlwZSgpID09IENyeXB0b0tl
eURhdGFSU0FDb21wb25lbnRzOjpUeXBlOjpQcml2YXRlICYmICFrZXlEYXRhLmhhc0FkZGl0aW9u
YWxQcml2YXRlS2V5UGFyYW1ldGVycygpKSB7CiAgICAgICAgIC8vIDxyZGFyOi8vcHJvYmxlbS8x
NTQ1MjMyND4gdHJhY2tzIGFkZGluZyBzdXBwb3J0LgpAQCAtMjMwLDcgKzIzMCw3IEBAIHN0YXRp
YyBib29sIGJpZ0ludGVnZXJUb1VJbnQzMihjb25zdCBWZWN0b3I8dWludDhfdD4mIGJpZ0ludGVn
ZXIsIHVpbnQzMl90JiByZXN1CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQ3J5cHRvS2V5
UlNBOjpnZW5lcmF0ZVBhaXIoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIENy
eXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBoYXNIYXNoLCB1bnNpZ25lZCBtb2R1
bHVzTGVuZ3RoLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIHB1YmxpY0V4cG9uZW50LCBib29sIGV4
dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZSwgS2V5UGFpckNhbGxiYWNrIGNhbGxiYWNr
LCBWb2lkQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0KQordm9pZCBDcnlwdG9LZXlSU0E6OmdlbmVyYXRlUGFpcihDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyIGFsZ29yaXRobSwgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29s
IGhhc0hhc2gsIHVuc2lnbmVkIG1vZHVsdXNMZW5ndGgsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYg
cHVibGljRXhwb25lbnQsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVz
YWdlLCBLZXlQYWlyQ2FsbGJhY2sgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayBmYWlsdXJlQ2FsbGJh
Y2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgdWludDMyX3QgZTsK
ICAgICBpZiAoIWJpZ0ludGVnZXJUb1VJbnQzMihwdWJsaWNFeHBvbmVudCwgZSkpIHsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA1ZDY1ODVjMjVhY2ExNTg2YTZlZWFjN2IyNDNmMTY1NzQ0MTAwYzUwLi42ZTlmZjE1ODE1YjNi
NmRhMDJkM2QxM2Y5NTJkODc0ZDk5MGY1YzQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYt
MTEtMTAgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5h
bWUgQ3J5cHRvS2V5VXNhZ2UgdG8gQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgYW5kIENyeXB0b0tleTo6
VXNhZ2UgdG8gQ3J5cHRvS2V5VXNhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2NDYyNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjkyMTAxNDA+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjcnlw
dG8vc3VidGxlL2dlbmVyYXRlLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogY3J5cHRvL3N1YnRsZS9pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJz
LWV4cGVjdGVkLnR4dDoKKwogMjAxNi0xMS0wNCAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBTdWJ0bGVDcnlwdG86OmltcG9ydEtleSB0byBtYXRj
aCB0aGUgbGF0ZXN0IHNwZWMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
Z2VuZXJhdGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvZ2VuZXJhdGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVj
dGVkLnR4dAppbmRleCA2NDZjMjk2OThjOGQ1MDBmMjNlMWFjODI0OGQxYzk5Njc5YmM0MDI0Li42
MmFmY2I3YmM2NGI1YjM2YmM3OWY1YjgxMDA5YjEzZmE3MmRjMmQxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2dlbmVyYXRlLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9nZW5lcmF0ZS1rZXkt
bWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0zMiwxNCArMzIsMTQgQEAgUEFT
UyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiU0hBLTEifSwgMiwgMykgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBOb3QKIFBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFt
ZTogIlNIQS0yNTYifSwgMiwgMykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBwb3J0ZWRF
cnJvciAoRE9NIEV4Y2VwdGlvbiA5KTogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLi4K
IFBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIlNIQS0zODQifSwgMiwgMykg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBwb3J0ZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiA5
KTogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLi4KIFBBU1MgY3J5cHRvLnN1YnRsZS5n
ZW5lcmF0ZUtleSh7bmFtZTogIlNIQS01MTIifSwgMiwgMykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBOb3RTdXBwb3J0ZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiA5KTogVGhlIG9wZXJhdGlvbiBpcyBu
b3Qgc3VwcG9ydGVkLi4KLVBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIkFF
Uy1DQkMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCAzKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtl
eSh7bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCB0cnVlKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgY3J5cHRvLnN1
YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3Rh
YmxlLCBudWxsKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogbnVsbCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICdjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAi
QUVTLUNCQyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIG51bGwpJykuCi1QQVNTIGNyeXB0
by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJBRVMtQ0JDIiwgbGVuZ3RoOiAxMjh9LCBleHRy
YWN0YWJsZSwgdW5kZWZpbmVkKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2NyeXB0by5zdWJ0bGUuZ2VuZXJh
dGVLZXkoe25hbWU6ICJBRVMtQ0JDIiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgdW5kZWZp
bmVkKScpLgotUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiQUVTLUNCQyIs
IGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFN5bWJvbCgpKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtl
eSh7bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCAzKSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2VxdWVuY2UuCitQQVNT
IGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJBRVMtQ0JDIiwgbGVuZ3RoOiAxMjh9
LCBleHRyYWN0YWJsZSwgdHJ1ZSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFZh
bHVlIGlzIG5vdCBhIHNlcXVlbmNlLgorUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtu
YW1lOiAiQUVTLUNCQyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIG51bGwpIHJlamVjdGVk
IHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBWYWx1ZSBpcyBub3QgYSBzZXF1ZW5jZS4KK1BBU1Mg
Y3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEyOH0s
IGV4dHJhY3RhYmxlLCB1bmRlZmluZWQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9y
OiBWYWx1ZSBpcyBub3QgYSBzZXF1ZW5jZS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtl
eSh7bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBTeW1ib2woKSkg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFZhbHVlIGlzIG5vdCBhIHNlcXVlbmNl
LgogUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiQUVTLUNCQyIsIGxlbmd0
aDogMTI4fSwgZXh0cmFjdGFibGUsIHsgfSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJy
b3I6IFR5cGUgZXJyb3IuCi1QQVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJB
RVMtQ0JDIiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgImZvbyIpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggVHlwZUVycm9yOiBJbnZhbGlkIEtleVVzYWdlcy4KLVBBU1MgY3J5cHRvLnN1YnRs
ZS5nZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxl
LCBbImZvbyJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogSW52YWxpZCBLZXlV
c2FnZXMuCitQQVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJBRVMtQ0JDIiwg
bGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgImZvbyIpIHJlamVjdGVkIHByb21pc2UgIHdpdGgg
VHlwZUVycm9yOiBWYWx1ZSBpcyBub3QgYSBzZXF1ZW5jZS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5n
ZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBb
ImZvbyJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KIFBB
U1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEy
OH0sIGV4dHJhY3RhYmxlLCBbIF0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggU3ludGF4RXJyb3Ig
KERPTSBFeGNlcHRpb24gMTIpOiBBIHJlcXVpcmVkIHBhcmFtZXRlciB3YXMgbWlzc2luZyBvciBv
dXQtb2YtcmFuZ2UuCiBQQVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJSU0FF
Uy1QS0NTMS12MV81IiwgbW9kdWx1c0xlbmd0aDogMjA0OCwgcHVibGljRXhwb25lbnQ6IG5ldyBV
aW50OEFycmF5KFsweDAxLCAweDAwLCAweDAxXSl9LCBleHRyYWN0YWJsZSwgWyBdKSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIFN5bnRheEVycm9yIChET00gRXhjZXB0aW9uIDEyKTogQSByZXF1aXJl
ZCBwYXJhbWV0ZXIgd2FzIG1pc3Npbmcgb3Igb3V0LW9mLXJhbmdlLgogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9p
bXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50
eHQKaW5kZXggNjljNGI4NzVmMzg5MjJiMzRiMGNiOWNlMWFmY2RiZTgxY2VlOWY1NC4uMmNhN2Y5
NzNmZDdmZTJhZjYyYjM2OGUwZGUwMTlmY2QwNTMxOTY5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2ltcG9ydC1rZXktbWFsZm9ybWVk
LXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0zNiw3ICszNiw3IEBAIFBBU1MgY3J5cHRvLnN1
YnRsZS5pbXBvcnRLZXkoImp3ayIsIG51bGwsICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsiZW5j
cnlwdCIsICJkCiBQQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJh
ZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsgXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBTeW50YXhF
cnJvciAoRE9NIEV4Y2VwdGlvbiAxMik6IEEgcmVxdWlyZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5n
IG9yIG91dC1vZi1yYW5nZS4KIFBBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIGp3
a1ByaXZhdGVLZXksICJyc2Flcy1wa2NzMS12MV81IiwgZXh0cmFjdGFibGUsIFsgXSkgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBTeW50YXhFcnJvciAoRE9NIEV4Y2VwdGlvbiAxMik6IEEgcmVxdWly
ZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIG91dC1vZi1yYW5nZS4KIFBBU1MgY3J5cHRvLnN1
YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6IHVuZGVmaW5lZH0sICJhZXMtY2JjIiwgZXh0cmFj
dGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndyYXBLZXkiLCAidW53cmFwS2V5Il0pIHJl
amVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgSnNvbldlYktleS5rdHkgaXMg
cmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NU3RyaW5nLgotUEFTUyBjcnlw
dG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGtleV9vcHM6IFsiZm9vIl19
LCAiYWVzLWNiYyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5
IiwgInVud3JhcEtleSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogSW52YWxp
ZCBrZXlfb3BzLgorUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9j
dCIsIGtleV9vcHM6IFsiZm9vIl19LCAiYWVzLWNiYyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQi
LCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIAogVEVTVCBDT01QTEVURQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294454</attachid>
            <date>2016-11-10 18:11:53 -0800</date>
            <delta_ts>2016-11-10 18:15:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164624-20161110180741.patch</filename>
            <type>text/plain</type>
            <size>144163</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWE1YTRiODI1ZTJhNmU2
NzY2M2E3YjllNzUyY2U3YTAxMTY0OTAwMi4uMmRmMjk2MTMxMDA0NWZmNTJlMTFjODU3NTE1N2Vj
ODJjMzkwMmZjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE2LTExLTEwICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIENyeXB0b0tl
eVVzYWdlIHRvIENyeXB0b0tleVVzYWdlQml0bWFwIGFuZCBDcnlwdG9LZXk6OlVzYWdlIHRvIENy
eXB0b0tleVVzYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjQ2MjQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MjEwMTQwPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxsb3dz
IElETFR5cGUgQ3J5cHRvS2V5VXNhZ2UgdG8gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVudCBJRExz
LCBpLmUuIENyeXB0b0tleS5pZGwsCisgICAgICAgIFN1YnRsZUNyeXB0by5pZGwgYW5kIEpzb25X
ZWJLZXkuaWRsIHN1Y2ggdGhhdCBpdCBjYW4gc2ltcGxpZnkgdGhlIGN1c3RvbWl6ZWQgYmluZGlu
ZyBjb2Rlcy4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNDcnlwdG9LZXlTZXJpYWxpemF0aW9uSldLLmNwcDoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0suaDoKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0NyeXB0b0tl
eVVzYWdlQml0bWFwKToKKyAgICAgICAgKFdlYkNvcmU6OmNyeXB0b0tleVVzYWdlQml0bWFwRnJv
bUpTVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6dG9LZXlEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OmpzU3VidGxlQ3J5cHRvRnVuY3Rpb25HZW5lcmF0ZUtleVByb21pc2UpOgorICAgICAgICAo
V2ViQ29yZTo6anNTdWJ0bGVDcnlwdG9GdW5jdGlvbkltcG9ydEtleVByb21pc2UpOgorICAgICAg
ICAoV2ViQ29yZTo6Y3J5cHRvS2V5VXNhZ2VGcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OmNyeXB0b0tleVVzYWdlc0Zyb21KU1ZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU1dlYktpdFN1YnRsZUNyeXB0b0N1c3RvbS5jcHA6CisgICAgICAgICog
YmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKKyAgICAgICAgKiBjcnlwdG8v
Q3J5cHRvQWxnb3JpdGhtLmNwcDoKKyAgICAgICAgKiBjcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmg6
CisgICAgICAgICogY3J5cHRvL0NyeXB0b0tleS5jcHA6CisgICAgICAgICogY3J5cHRvL0NyeXB0
b0tleS5oOgorICAgICAgICAqIGNyeXB0by9DcnlwdG9LZXkuaWRsOgorICAgICAgICAqIGNyeXB0
by9DcnlwdG9LZXlTZXJpYWxpemF0aW9uLmg6CisgICAgICAgICogY3J5cHRvL0NyeXB0b0tleVVz
YWdlLmg6CisgICAgICAgICogY3J5cHRvL0NyeXB0b0tleVVzYWdlLmlkbDogQWRkZWQuCisgICAg
ICAgICogY3J5cHRvL2dudXRscy9DcnlwdG9LZXlSU0FHbnVUTFMuY3BwOgorICAgICAgICAqIGNy
eXB0by9Kc29uV2ViS2V5Lmg6CisgICAgICAgICogY3J5cHRvL0pzb25XZWJLZXkuaWRsOgorICAg
ICAgICAqIGNyeXB0by9TdWJ0bGVDcnlwdG8uaWRsOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuaDoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuY3BwOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1z
L0NyeXB0b0FsZ29yaXRobUFFU19LVy5oOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUhNQUMuY3BwOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0
b0FsZ29yaXRobUhNQUMuaDoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdv
cml0aG1SU0FFU19QS0NTMV92MV81LmNwcDoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81Lmg6CisgICAgICAgICogY3J5cHRvL2FsZ29y
aXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUuY3BwOgorICAgICAgICAqIGNy
eXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81Lmg6CisgICAg
ICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuY3BwOgorICAg
ICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQLmg6CisgICAg
ICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmNwcDoKKyAgICAgICAgKiBjcnlwdG8va2V5
cy9DcnlwdG9LZXlBRVMuaDoKKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmNw
cDoKKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmg6CisgICAgICAgICogY3J5
cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmNwcDoKKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9L
ZXlSU0EuaDoKKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3
LmNwcDoKKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3Lmg6
CisgICAgICAgICogY3J5cHRvL21hYy9DcnlwdG9LZXlSU0FNYWMuY3BwOgorCiAyMDE2LTExLTA0
ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFN1
YnRsZUNyeXB0bzo6aW1wb3J0S2V5IHRvIG1hdGNoIHRoZSBsYXRlc3Qgc3BlYwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCBhZGQ1ODlkYzE4Nzk3MWQ3ZjFjZjE0YTNkN2I3Y2U3Y2IzNTJjMjlkLi45
ODA1YTk1MmIzMDE2OGViZTA5OWM4Y2QxYTg4MjU0YmI2NzA3Zjg1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMzI3LDYgKzMyNyw3IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAg
ICAgY3J5cHRvL0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaWRsCiAgICAgY3J5cHRvL0NyeXB0
b0tleS5pZGwKICAgICBjcnlwdG8vQ3J5cHRvS2V5UGFpci5pZGwKKyAgICBjcnlwdG8vQ3J5cHRv
S2V5VXNhZ2UuaWRsCiAgICAgY3J5cHRvL0pzb25XZWJLZXkuaWRsCiAgICAgY3J5cHRvL1JzYU90
aGVyUHJpbWVzSW5mby5pZGwKICAgICBjcnlwdG8vU3VidGxlQ3J5cHRvLmlkbApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMThkNWYzMDlhYTIwMDY4NDZiOGIwZTVjM2RiNWIxYzI0
MjljZjU0NC4uYzI4YWQxZDE3ZjM4MjFkOTk5ZjRlMjk2NTI2NjA1ZjAwNTA1ZDZjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yNTIsNiArMjUyLDcgQEAgSlNfQklORElOR19J
RExTID0gXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMu
aWRsIFwKICAgICAkKFdlYkNvcmUpL2NyeXB0by9DcnlwdG9LZXkuaWRsIFwKICAgICAkKFdlYkNv
cmUpL2NyeXB0by9DcnlwdG9LZXlQYWlyLmlkbCBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8vQ3J5
cHRvS2V5VXNhZ2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL2NyeXB0by9Kc29uV2ViS2V5LmlkbCBc
CiAgICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1ldGVycy9BZXNLZXlHZW5QYXJhbXMuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJzL0htYWNLZXlQYXJhbXMuaWRsIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA2ZjFhNzM1MzExNThiYWYxMzVkMzQ0NGFkYzRjZTYzNzFlOThiODhjLi42Mzg2YWQ1ODVmNzc1
ZTZlOWQzYzYxNTdmNzUwMjhhNDg1YTRhYTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzc5LDYgKzIzNzksOCBAQAogCQk1
Nzc4QkQ4NDFEQTQ4MTdCMDA5RTMwMDkgLyogU3VidGxlQ3J5cHRvLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NzhCRDgzMURBNDgxN0IwMDlFMzAw
OSAvKiBTdWJ0bGVDcnlwdG8uY3BwICovOyB9OwogCQk1NzlGNkUwNTFEQ0Q3RUU0MDA1NDZEODAg
LyogQ3J5cHRvQWxnb3JpdGhtUnNhSGFzaGVkS2V5R2VuUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0UyMzM3NDFEQ0Q2RDNCMDBGMjhEMDEg
LyogQ3J5cHRvQWxnb3JpdGhtUnNhSGFzaGVkS2V5R2VuUGFyYW1zLmggKi87IH07CiAJCTU3QTlD
ODhFMURBNzBCRjgwMEJDNzMwNSAvKiBKU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0E5Qzg4RDFEQTcwQkY4MDBC
QzczMDUgLyogSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwICovOyB9OworCQk1N0QwMDE4RDFERDU0
MTMyMDBFRDE5RDkgLyogSlNDcnlwdG9LZXlVc2FnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEMDAxOEMxREQ1NDEzMjAwRUQxOUQ5IC8qIEpTQ3J5
cHRvS2V5VXNhZ2UuaCAqLzsgfTsKKwkJNTdEMDAxOEYxREQ1NDE1MzAwRUQxOUQ5IC8qIEpTQ3J5
cHRvS2V5VXNhZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTdEMDAxOEUxREQ1NDE1MzAwRUQxOUQ5IC8qIEpTQ3J5cHRvS2V5VXNhZ2UuY3BwICov
OyB9OwogCQk1N0UyMzM1QjFEQzdENUU1MDBGMjhEMDEgLyogSlNKc29uV2ViS2V5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0UyMzM1QTFEQzdENUU1
MDBGMjhEMDEgLyogSlNKc29uV2ViS2V5LmggKi87IH07CiAJCTU3RTIzMzVEMURDN0Q2MDgwMEYy
OEQwMSAvKiBKU1JzYU90aGVyUHJpbWVzSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTdFMjMzNUMxREM3RDYwODAwRjI4RDAxIC8qIEpTUnNhT3Ro
ZXJQcmltZXNJbmZvLmggKi87IH07CiAJCTU3RTIzMzVGMURDN0Q2N0IwMEYyOEQwMSAvKiBKU0pz
b25XZWJLZXkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTdFMjMzNUUxREM3RDY3QjAwRjI4RDAxIC8qIEpTSnNvbldlYktleS5jcHAgKi87IH07CkBA
IC02OTc0LDcgKzY5NzYsNyBAQAogCQkwNjAyN0NBQzBCMUNCRkMwMDA4ODRCMkQgLyogQ29udGV4
dE1lbnVJdGVtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZXh0TWVu
dUl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDYyMjg3ODMwQjREQjMyMjAw
MEMzNERGIC8qIEZvY3VzRGlyZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBGb2N1c0RpcmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNjVB
RDRGMjBCMEMyRURBMDA1QTJCMUQgLyogQ29udGV4dE1lbnVDbGllbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRleHRNZW51Q2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTA2NUFENEYzMEIwQzJFREEwMDVBMkIxRCAvKiBDb250ZXh0TWVudUNv
bnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9
IDA7IHBhdGggPSBDb250ZXh0TWVudUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsg
fTsKKwkJMDY1QUQ0RjMwQjBDMkVEQTAwNUEyQjFEIC8qIENvbnRleHRNZW51Q29udHJvbGxlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGV4dE1lbnVDb250
cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgIH07CiAJCTA2NUFENEY0MEIwQzJF
REEwMDVBMkIxRCAvKiBDb250ZXh0TWVudUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENvbnRleHRNZW51Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwNjY4RTE4OTBBREQ5NjI0MDA0MTI4RTAgLyogUG9wdXBNZW51LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQb3B1cE1lbnUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMDY2Qzc3MkEwQUI2MDNCNzAwMjM4Q0M0IC8qIEZpbGVDaG9vc2Vy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWxlQ2hvb3Nlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzY2NSw3ICs3NjY3LDcgQEAKIAkJMTRENjRCNUEx
MzRBNUI2QjAwRTU4RkRBIC8qIFRyZWVTY29wZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBUcmVlU2NvcGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxNEQ2NEI1QjEzNEE1QjZCMDBFNThGREEgLyogVHJlZVNjb3BlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFRyZWVTY29wZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxNEQ4MjM1MDBBRjkyQTc5MDAwNEYwNTcgLyogQ2hyb21lLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENocm9tZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkxNEQ4MjM4QTBBRjkyREY2MDAwNEYwNTcgLyogQ2hyb21lLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ2hyb21lLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNv
ZGUubGFuZy5jcHA7IH07CisJCTE0RDgyMzhBMEFGOTJERjYwMDA0RjA1NyAvKiBDaHJvbWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENocm9tZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7ICB9OwogCQkxNEQ4MjQwNjBBRjkzQUVCMDAwNEYwNTcgLyogQ2hy
b21lQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENocm9tZUNsaWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNERDMEQwQjA5RkVDRkE0MDA3QjAy
MzUgLyogTm9kZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTm9kZS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0REMwRDM1MDlGRUQwNzMwMDdCMDIzNSAvKiBKU05vZGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTm9kZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03ODcxLDcgKzc4NzMsNyBAQAogCQkxQThGNkIw
MTBEQjUzMDA2MDAxREI3OTQgLyogU3Vic3RpdHV0ZVJlc291cmNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFN1YnN0aXR1dGVSZXNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQThGNkJCMTBEQjU1Q0RDMDAxREI3OTQgLyogQXBwbGljYXRpb25DYWNo
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcHBsaWNhdGlvbkNh
Y2hlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE4RjZCQjIwREI1NUNEQzAw
MURCNzk0IC8qIEFwcGxpY2F0aW9uQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQXBwbGljYXRpb25DYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkx
QThGNkJCMzBEQjU1Q0RDMDAxREI3OTQgLyogQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBBcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3Bl
Y2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJMUE4RjZCQjMwREI1
NUNEQzAwMURCNzk0IC8qIEFwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyAgfTsKIAkJMUE4RjZCQjQwREI1NUNEQzAwMURCNzk0IC8qIEFwcGxp
Y2F0aW9uQ2FjaGVHcm91cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBs
aWNhdGlvbkNhY2hlR3JvdXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE4RjZC
QjUwREI1NUNEQzAwMURCNzk0IC8qIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQThGNkJCNjBEQjU1Q0RDMDAxREI3
OTQgLyogQXBwbGljYXRpb25DYWNoZVJlc291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtODIyNiw3ICs4MjI4LDcgQEAKIAkJMjk4MUNBQTIxMzE4MjJFQzAwRDEyRjJB
IC8qIEFjY2Vzc2liaWxpdHlMaXN0Qm94LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2li
aWxpdHlMaXN0Qm94LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjk4MUNBQTMx
MzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMjk4MUNBQTQxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxp
dHlNZWRpYUNvbnRyb2xzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZWRp
YUNvbnRyb2xzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMjk4MUNBQTUxMzE4
MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5l
RW5kaW5nID0gMDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5n
LmNwcDsgfTsKKwkJMjk4MUNBQTUxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7ICB9OwogCQkyOTgxQ0FBNjEzMTgyMkVDMDBEMTJGMkEgLyogQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjk4MUNB
QTcxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxiYXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eVNjcm9sbGJhci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTI5ODFDQUE4MTMxODIyRUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5U2Ny
b2xsVmlldy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NTAzLDggKzg1MDUsOCBAQAogCQkz
MTQ2RkU2NzE4NDQyMDg3MDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFyLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkzMTQ2RkU3MDE4NDQyMzY3MDAxQTkzN0MgLyogSlNPRVNUZXh0
dXJlRmxvYXRMaW5lYXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkzMTQ2RkU3MTE4NDQyMzY3MDAxQTkzN0MgLyogSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMzE0QkUzQTAxQjMwRjZCNzAwMTQxOTgy
IC8qIENTU05hbWVkSW1hZ2VWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IGxpbmVF
bmRpbmcgPSAwOyBwYXRoID0gQ1NTTmFtZWRJbWFnZVZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTMxNEJFM0EyMUIzMEY2RDEwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFs
dWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0
aCA9IENTU05hbWVkSW1hZ2VWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTMxNEJFM0EwMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTTmFtZWRJbWFnZVZhbHVlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNEJFM0EyMUIzMEY2RDEwMDE0MTk4MiAvKiBDU1NOYW1l
ZEltYWdlVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NT
TmFtZWRJbWFnZVZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0QkUz
QTQxQjMxMDNGQjAwMTQxOTgyIC8qIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTRCRTNBNTFCMzEwM0ZCMDAxNDE5
ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyogRGljdGlvbmFyeS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaWN0aW9uYXJ5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC05NDQ2LDcgKzk0NDgsNyBAQAogCQk1MUJBNEFDOTFCQkM1QjlFMDBE
RjNENkQgLyogTWVtb3J5SURCQmFja2luZ1N0b3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE1lbW9yeUlEQkJhY2tpbmdTdG9yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MUJFMzdERTBEQUVFMDBFMDAxMDg1RkMgLyogU3RvcmFnZUFyZWEuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RvcmFnZUFyZWEuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTFDMEFBMzgwRjJBQTEwQTAwMTY0OEMyIC8qIENhY2hlZEZyYW1lLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZEZyYW1lLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxQzBBQTQwMEYyQUExNUUwMDE2NDhDMiAvKiBDYWNoZWRG
cmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBw
YXRoID0gQ2FjaGVkRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdl
U3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJNTFDMEFBNDAw
RjJBQTE1RTAwMTY0OEMyIC8qIENhY2hlZEZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENhY2hlZEZyYW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
IH07CiAJCTUxQzgxQjg3MEM0NDIyRjcwMDE5RUNFMyAvKiBGVFBEaXJlY3RvcnlQYXJzZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZUUERpcmVjdG9yeVBhcnNl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxQzgxQjg4MEM0NDIyRjcwMDE5
RUNFMyAvKiBGVFBEaXJlY3RvcnlQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEZUUERpcmVjdG9yeVBhcnNlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1MUNCRkM5ODBEMTBFNDgzMDAyREJGNTEgLyogQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk2MDMsNiArOTYwNSw5IEBACiAJCTU3
NzhCRDgxMURBNDgwMkMwMDlFMzAwOSAvKiBTdWJ0bGVDcnlwdG8uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU3VidGxlQ3J5cHRvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTU3NzhCRDgzMURBNDgxN0IwMDlFMzAwOSAvKiBTdWJ0bGVDcnlwdG8uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3VidGxlQ3J5cHRvLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdBOUM4OEQxREE3MEJGODAwQkM3MzA1IC8qIEpTU3Vi
dGxlQ3J5cHRvQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NTdEMDAxOEIxREQzREJBNDAwRUQxOUQ5IC8qIENyeXB0b0tleVVzYWdlLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDcnlw
dG9LZXlVc2FnZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3RDAwMThDMURE
NTQxMzIwMEVEMTlEOSAvKiBKU0NyeXB0b0tleVVzYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IEpTQ3J5cHRvS2V5VXNhZ2UuaDsgcGF0aCA9IEpTQ3J5cHRvS2V5VXNhZ2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTdEMDAxOEUxREQ1NDE1MzAwRUQxOUQ5
IC8qIEpTQ3J5cHRvS2V5VXNhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gSlNDcnlwdG9LZXlVc2FnZS5jcHA7IHBhdGggPSBKU0NyeXB0b0tleVVzYWdlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdFMjMzNTcxREM3RDI0ODAwRjI4RDAxIC8q
IEpzb25XZWJLZXkuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEpzb25XZWJLZXkuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0UyMzM1OTFEQzdEMzcyMDBGMjhEMDEgLyog
UnNhT3RoZXJQcmltZXNJbmZvLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSc2FPdGhlclBy
aW1lc0luZm8uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0UyMzM1QTFEQzdE
NUU1MDBGMjhEMDEgLyogSlNKc29uV2ViS2V5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTSnNvbldlYktleS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTgy
MCw3ICs5ODI1LDcgQEAKIAkJNjU2NTNGMkMwRDk3MjdEMjAwQ0E5NzIzIC8qIFNWR0FsdEdseXBo
RWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHQWx0R2x5cGhFbGVtZW50Lmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU2NTgwRUUwOUQxMkIyMDAwMEU2MUQ3
IC8qIENTU1Byb3BlcnR5TmFtZXMuZ3BlcmYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU1By
b3BlcnR5TmFtZXMuZ3BlcmY7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1NjU4MEVG
MDlEMTJCMjAwMDBFNjFENyAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDU1NQcm9wZXJ0eU5hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTY1NjU4MTQ0MDlEMTMwNDMwMDBFNjFENyAvKiBDU1NHcmFtbWFyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ1NTR3Jh
bW1hci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9u
SWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQk2NTY1ODE0NDA5RDEzMDQzMDAwRTYx
RDcgLyogQ1NTR3JhbW1hci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ1NTR3JhbW1hci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7ICB9OwogCQk2NTY1ODE0
NzA5RDEzMDQzMDAwRTYxRDcgLyogQ1NTVmFsdWVLZXl3b3Jkcy5ncGVyZiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gQ1NTVmFsdWVLZXl3b3Jkcy5ncGVyZjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNjU2NTgxNDgwOUQxMzA0MzAwMEU2MUQ3IC8qIENTU1ZhbHVlS2V5d29yZHMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1ZhbHVlS2V5d29yZHMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU2NTgxQUMwOUQxNEVFNjAwMEU2MUQ3IC8qIENo
YXJzZXREYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDaGFy
c2V0RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05ODQ4LDcgKzk4NTMs
NyBAQAogCQk2NTg0MzY4NTBBRTAxQjc0MDBFNTM3NTMgLyogRnJhbWVMb2FkUmVxdWVzdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRnJhbWVMb2FkUmVxdWVzdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTkzOTIzNTA5QUU0MzQ2MDAyQzUzMUYgLyogVVJM
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVUkwuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTkzOTIzNjA5QUU0MzQ2MDAyQzUzMUYgLyogVVJM
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVUkwuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNjU5MzkyMzkwOUFFNDM1QzAwMkM1MzFGIC8qIFVSTE1hYy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0g
VVJMTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlv
bklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKKwkJNjU5MzkyMzkwOUFFNDM1QzAw
MkM1MzFGIC8qIFVSTE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBVUkxNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZp
Y2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcub2JqY3BwOyB9OwogCQk2NTlBN0QxMjBCNkRC
NEQ5MDAxMTU1QjMgLyogU3Vic3RpdHV0ZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFN1YnN0aXR1dGVEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTY1OUREQzgwMDlFMTk4QkEwMDFCRjNDNiAvKiBKU0RvY3VtZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RvY3VtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNjU5RERDODEwOUUxOThCQTAwMUJGM0M2IC8qIEpTRG9jdW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRG9jdW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwNzQ3LDcgKzEwNzUyLDcgQEAKIAkJOTMwNzA1RDkwOUUw
QzlCRjAwQjE3RkU0IC8qIEpTQ291bnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0NvdW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNzA1RTgw
OUUwQzlGMDAwQjE3RkU0IC8qIEpTQ1NTUHJpbWl0aXZlVmFsdWUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDU1NQcmltaXRpdmVWYWx1ZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDcwNUVBMDlFMEM5RjYwMEIxN0ZFNCAvKiBKU0NTU1By
aW1pdGl2ZVZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ1NTUHJp
bWl0aXZlVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTMwNzA2MTMwOUUw
Q0E4MjAwQjE3RkU0IC8qIERlcml2ZWRTb3VyY2VzLm1ha2UgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUubWFrZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBEZXJpdmVkU291cmNlcy5tYWtlOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB1c2VzVGFicyA9IDE7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRl
bnRpZmllciA9IHhjb2RlLmxhbmcuc2ltcGxlQ29sb3Jpbmc7IH07CisJCTkzMDcwNjEzMDlFMENB
ODIwMEIxN0ZFNCAvKiBEZXJpdmVkU291cmNlcy5tYWtlICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLm1ha2U7IGZpbGVFbmNvZGluZyA9
IDQ7IHBhdGggPSBEZXJpdmVkU291cmNlcy5tYWtlOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB1
c2VzVGFicyA9IDE7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxh
bmcuc2ltcGxlQ29sb3Jpbmc7IH07CiAJCTkzMDdGMUQ1MEFGMkQ1OTAwMERCQTMxQSAvKiBIaXRU
ZXN0UmVzdWx0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIaXRU
ZXN0UmVzdWx0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwN0YxRDYwQUYy
RDU5MDAwREJBMzFBIC8qIEhpdFRlc3RSZXN1bHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEhpdFRlc3RSZXN1bHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTMwODQxMzMxQ0REQjE1NTAwQjA5NThDIC8qIEpTRE9NQ29udmVydC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTUNvbnZlcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTEwNzcxLDcgKzEwNzc2LDcgQEAKIAkJOTMyRTE2MDgwQUY1NzgzNDAwMjVGNDA4
IC8qIEZyYW1lTG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEZyYW1lTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMzMDlEODcw
OTlFNjQ5MTAwNTZFNTgxIC8qIEFwcGVuZE5vZGVDb21tYW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGVuZE5vZGVDb21tYW5kLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTMzMDlEODgwOTlFNjQ5MTAwNTZFNTgxIC8qIEFwcGVuZE5vZGVD
b21tYW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGVuZE5vZGVDb21t
YW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMzA5RDg5MDk5RTY0OTEwMDU2
RTU4MSAvKiBBcHBseVN0eWxlQ29tbWFuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQXBwbHlTdHlsZUNvbW1hbmQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5MzMwOUQ4OTA5OUU2NDkxMDA1NkU1ODEgLyogQXBwbHlT
dHlsZUNvbW1hbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXBw
bHlTdHlsZUNvbW1hbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzMwOUQ4
QTA5OUU2NDkxMDA1NkU1ODEgLyogQXBwbHlTdHlsZUNvbW1hbmQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQXBwbHlTdHlsZUNvbW1hbmQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTMzMDlEOEIwOTlFNjQ5MTAwNTZFNTgxIC8qIEJyZWFrQmxvY2txdW90ZUNv
bW1hbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQnJlYWtCbG9j
a3F1b3RlQ29tbWFuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMzA5RDhD
MDk5RTY0OTEwMDU2RTU4MSAvKiBCcmVha0Jsb2NrcXVvdGVDb21tYW5kLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJyZWFrQmxvY2txdW90ZUNvbW1hbmQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyMDk1LDcgKzEyMTAwLDcgQEAKIAkJQUE0NzM5Q0YxNzU3
QUZFQzAwRTc2NzY3IC8qIFVJUmVxdWVzdEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFVJUmVxdWVzdEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQUE0NzM5RDAxNzU3QUZFQzAwRTc2NzY3IC8qIFVJUmVxdWVzdEV2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVJUmVxdWVzdEV2ZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBNDc4QTdEMTZDRDcwQzMwMDdEMUJCNCAvKiBXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQlBQTQ3OEE3RTE2Q0Q3MEMzMDA3RDFCQjQgLyogV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGlj
aXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgZmlsZUVuY29kaW5nID0gNDsgbGlu
ZUVuZGluZyA9IDA7IHBhdGggPSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVy
ID0geGNvZGUubGFuZy5vYmpjcHA7IH07CisJCUFBNDc4QTdFMTZDRDcwQzMwMDdEMUJCNCAvKiBX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBmaWxlRW5j
b2RpbmcgPSA0OyBwYXRoID0gV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9
IHhjb2RlLmxhbmcub2JqY3BwOyB9OwogCQlBQTRDM0E3NDBCMkIxNjc5MDAyMzM0QTIgLyogSW5s
aW5lU3R5bGVTaGVldE93bmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBJbmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBQTRDM0E3NTBCMkIxNjc5MDAyMzM0QTIgLyogSW5saW5lU3R5bGVTaGVldE93bmVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmxpbmVTdHlsZVNoZWV0T3duZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUE1RjNCOTAxNkNDNUJFQjAwNDU1RUIw
IC8qIENvcmVGb3VuZGF0aW9uLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29yZUZvdW5k
YXRpb24uZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZv
dW5kYXRpb24uZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwpAQCAtMTMw
MzQsNyArMTMwMzksNyBAQAogCQlCQzNDMzlCNDBDMEQzRDhEMDA1RjREN0EgLyogSlNNZWRpYUxp
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFMaXN0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMzQzM5QjUwQzBEM0Q4RDAwNUY0
RDdBIC8qIEpTTWVkaWFMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U01lZGlhTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzQzNjhFNzBDMjI2
RTMyMDA1RUZCNUYgLyogUmVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQzQ2QzFFRDBDMEREQkRGMDAy
MENGQzMgLyogSlNDU1NSdWxlQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gSlNDU1NSdWxlQ3VzdG9tLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUu
bGFuZy5jcHA7IH07CisJCUJDNDZDMUVEMEMwRERCREYwMDIwQ0ZDMyAvKiBKU0NTU1J1bGVDdXN0
b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ1NTUnVsZUN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7ICB9OwogCQlCQzQ2QzFGMjBDMEREQzhG
MDAyMENGQzMgLyogSlNDU1NGb250RmFjZVJ1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQ1NTRm9udEZhY2VSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQkM0NkMxRjMwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTRm9udEZhY2VSdWxl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NTU0ZvbnRGYWNlUnVsZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzQ2QzFGNDBDMEREQzhGMDAyMENGQzMg
LyogSlNDU1NJbXBvcnRSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0NTU0ltcG9ydFJ1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTMyNTQsNyArMTMyNTksNyBAQAogCQlCQ0IxNkMwQjA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVk
U2NyaXB0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRTY3JpcHQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCMTZDMEUwOTc5QzNCRDAwNDY3NzQx
IC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCQ0IxNkMwRjA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkWFNMU3R5bGVTaGVldC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0IxNkMxMDA5NzlDM0JEMDA0Njc3NDEg
LyogQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBDYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhj
b2RlLmxhbmcuY3BwOyB9OworCQlCQ0IxNkMxMDA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgIH07CiAJCUJD
QjE2QzExMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRSZXNvdXJjZUxvYWRlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCOTJENEUxMjkzNTUwQjAwQzgzODdGIC8qIEZvbnRC
YXNlbGluZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250QmFzZWxpbmUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCQjhBQjUxM0YxQUZCMDAwNzM0REYw
IC8qIFBPREludGVydmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBPRElu
dGVydmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDEzMiwxMyArMTQxMzcs
MTMgQEAKIAkJRTFCQTY3MTYxNzQyQkRFMDAwQzIwMjUxIC8qIGxpYldlYkNvcmVUZXN0U2hpbS5k
eWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNv
bXBpbGVkLm1hY2gtby5keWxpYiI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IGxpYldlYkNv
cmVUZXN0U2hpbS5keWxpYjsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJ
RTFCQTY3MTkxNzQyQkVGNDAwQzIwMjUxIC8qIFdlYkNvcmVUZXN0U2hpbUxpYnJhcnkuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29yZVRlc3RTaGltTGlicmFy
eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQkI4NEFDMTgyMkNBNzQwMDUy
NTA0MyAvKiBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeU1hYy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeU1hYy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUxQkQzMzE3MTgyRDhEREQwMEMwNUQ5RiAvKiBDcnlw
dG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1Mx
X3YxXzUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlv
bklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKLQkJRTFCRDMzMTgxODJEOERERDAwQzA1
RDlGIC8qIENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1SU0FTU0Ff
UEtDUzFfdjFfNS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNh
dGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKLQkJRTFCRDMzMUIxODJEOEVF
OTAwQzA1RDlGIC8qIENyeXB0b0FsZ29yaXRobVJzYVNzYVBhcmFtc0RlcHJlY2F0ZWQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IENyeXB0b0FsZ29y
aXRobVJzYVNzYVBhcmFtc0RlcHJlY2F0ZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNM
YW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5vYmpjcHA7IH07CisJ
CUUxQkQzMzE3MTgyRDhEREQwMEMwNUQ5RiAvKiBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFf
djFfNS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDcnlwdG9BbGdv
cml0aG1SU0FTU0FfUEtDUzFfdjFfNS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUUxQkQzMzE4MTgyRDhEREQwMEMwNUQ5RiAvKiBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFf
djFfNS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1S
U0FTU0FfUEtDUzFfdjFfNS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMUJEMzMx
QjE4MkQ4RUU5MDBDMDVEOUYgLyogQ3J5cHRvQWxnb3JpdGhtUnNhU3NhUGFyYW1zRGVwcmVjYXRl
ZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1Sc2FT
c2FQYXJhbXNEZXByZWNhdGVkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQkQz
MzFEMTgyRDhGNDIwMEMwNUQ5RiAvKiBDcnlwdG9BbGdvcml0aG1Sc2FLZXlHZW5QYXJhbXNEZXBy
ZWNhdGVkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b0FsZ29yaXRo
bVJzYUtleUdlblBhcmFtc0RlcHJlY2F0ZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTFCRTUxMkIwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBYU0xUVW5pY29kZVNvcnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUJFNTEyQzBDRjZDNTEyMDAyRUE5NTkgLyogWFNM
VFVuaWNvZGVTb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhTTFRVbmlj
b2RlU29ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMUMyNjZENjE4MzE3QUI0
MDAzRjhCMzMgLyogQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzVNYWMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IENyeXB0b0Fs
Z29yaXRobVJTQVNTQV9QS0NTMV92MV81TWFjLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
eGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJ
CUUxQzI2NkQ2MTgzMTdBQjQwMDNGOEIzMyAvKiBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFf
djFfNU1hYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDcnlwdG9B
bGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNU1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUUxQzI2NkRBMTgzMTk5MzUwMDNGOEIzMyAvKiBDcnlwdG9BbGdvcml0aG1Sc2FLZXlQ
YXJhbXNXaXRoSGFzaERlcHJlY2F0ZWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ3J5cHRvQWxnb3JpdGhtUnNhS2V5UGFyYW1zV2l0aEhhc2hEZXByZWNhdGVkLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQzI2NkRDMTgzMTlGMzEwMDNGOEIzMyAvKiBDcnlw
dG9LZXlEYXRhUlNBQ29tcG9uZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBDcnlwdG9LZXlEYXRhUlNBQ29tcG9uZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUUxQzI2NkREMTgzMTlGMzEwMDNGOEIzMyAvKiBDcnlwdG9LZXlEYXRhUlNB
Q29tcG9uZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9LZXlE
YXRhUlNBQ29tcG9uZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQxNTQs
MTIgKzE0MTU5LDEyIEBACiAJCUUxQzQxNjE2MEY2NTYzMTgwMDkyRDJGQiAvKiBDcm9zc09yaWdp
bkFjY2Vzc0NvbnRyb2wuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTFDNERFNjgwRUE3NUMxRTAwMjNDQ0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY3RpdmVET01PYmplY3QuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTFDNERFNkQwRUE3NUM2NTAwMjNDQ0Q2IC8qIEFjdGl2ZURPTU9i
amVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY3RpdmVET01P
YmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMUM2NTcxMDE4MTVGOURE
MDAyNTZDREQgLyogSlNDcnlwdG9BbGdvcml0aG1EaWN0aW9uYXJ5LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBKU0NyeXB0b0FsZ29yaXRo
bURpY3Rpb25hcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lm
aWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJRTFDNjU3MTAxODE1RjlE
RDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NyeXB0b0FsZ29yaXRobURpY3Rpb25hcnkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUM2NTcxMTE4MTVGOUREMDAyNTZDREQg
LyogSlNDcnlwdG9BbGdvcml0aG1EaWN0aW9uYXJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFMUM2NTcxRTE4MTZFNTAzMDAyNTZDREQgLyogQ3J5cHRvQWxnb3JpdGht
SG1hY1BhcmFtc0RlcHJlY2F0ZWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q3J5cHRvQWxnb3JpdGhtSG1hY1BhcmFtc0RlcHJlY2F0ZWQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTFDNjU3MjQxODE2RTY5RDAwMjU2Q0REIC8qIENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUM2NTcyNjE4
MTZGOUZFMDAyNTZDREQgLyogQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
c0RlcHJlY2F0ZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTFDNkNGQzIxNzQ2
RDI5MzAwN0I4N0ExIC8qIERPTVdpbmRvd0NvbnN0cnVjdG9ycy5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBsaW5lRW5kaW5nID0gMDsg
cGF0aCA9IERPTVdpbmRvd0NvbnN0cnVjdG9ycy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9ICI8bm9uZT4iOyB9OworCQlFMUM2
Q0ZDMjE3NDZEMjkzMDA3Qjg3QTEgLyogRE9NV2luZG93Q29uc3RydWN0b3JzLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBE
T01XaW5kb3dDb25zdHJ1Y3RvcnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1
YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSAiPG5vbmU+IjsgfTsKIAkJRTFDOEJFNUMwRThC
RDE1QTAwNjRDQjdEIC8qIEpTV29ya2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTV29ya2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFD
OTRBRjcxOTEzMDNGMDAwRDVBODkzIC8qIEJsb2JQYXJ0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEJsb2JQYXJ0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUx
Q0E1Q0JCMEU4Q0RDQUYwMEU4RUY5MCAvKiBKU1dvcmtlckN1c3RvbS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dvcmtlckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xNDU2NCw3ICsxNDU2OSw3IEBACiAJCUZDOUEwRjczMTY0MDk0
Q0YwMDNENkI4RCAvKiBET01DU1NOYW1lc3BhY2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IERPTUNTU05hbWVzcGFjZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZDOUUw
RTRCMTY0MTlDMUUwMDM5MkJFMyAvKiBKU0RPTUNTU05hbWVzcGFjZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTUNTU05hbWVzcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGQ0VCQ0Q3MTE2MjNBNzkxMDAyOTk2NUUgLyogQ1NTR3JhbW1hci55Lmlu
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS55YWNjOyBwYXRoID0gQ1NTR3JhbW1hci55LmluOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGQ0VCQ0Q3MjE2MjNBNzkxMDAyOTk2NUUgLyogQ1NT
R3JhbW1hci55LmluY2x1ZGVzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS55YWNjOyBsaW5lRW5kaW5n
ID0gMDsgcGF0aCA9IENTU0dyYW1tYXIueS5pbmNsdWRlczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0gIjxub25lPiI7IH07CisJCUZD
RUJDRDcyMTYyM0E3OTEwMDI5OTY1RSAvKiBDU1NHcmFtbWFyLnkuaW5jbHVkZXMgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLnlhY2M7IHBhdGggPSBDU1NHcmFtbWFyLnkuaW5jbHVkZXM7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9ICI8bm9u
ZT4iOyB9OwogCQlGRDAwRDdBMjE0QTNGNjE5MDA3MzQwMTEgLyogU2luY1Jlc2FtcGxlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaW5jUmVzYW1wbGVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkQwMEQ3QTMxNEEzRjYxOTAwNzM0MDExIC8q
IFNpbmNSZXNhbXBsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2luY1Jl
c2FtcGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRDA2REZBMzEzNEE0REVG
MDA2RjVEN0QgLyogRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzA1NCw2ICsyMzA1OSw3IEBACiAJCQkJ
RTEyNUY4NTUxODJDMEY4MzAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRpb24uaCAqLywK
IAkJCQlFMTk3MjcxNTE4MjA1NDlFMDA1OTJENTEgLyogQ3J5cHRvS2V5VHlwZS5oICovLAogCQkJ
CUUxNzJBRjZGMTgwRjI4OTUwMEZCQURCOSAvKiBDcnlwdG9LZXlVc2FnZS5oICovLAorCQkJCTU3
RDAwMThCMUREM0RCQTQwMEVEMTlEOSAvKiBDcnlwdG9LZXlVc2FnZS5pZGwgKi8sCiAJCQkJNTdF
MjMzNjQxREM3REIxRjAwRjI4RDAxIC8qIEpzb25XZWJLZXkuaCAqLywKIAkJCQk1N0UyMzM1NzFE
QzdEMjQ4MDBGMjhEMDEgLyogSnNvbldlYktleS5pZGwgKi8sCiAJCQkJNTdFMjMzNjIxREM3REEy
NDAwRjI4RDAxIC8qIFJzYU90aGVyUHJpbWVzSW5mby5oICovLApAQCAtMjMwODAsNiArMjMwODYs
OCBAQAogCQkJCUUxNTdBOERGMTgxNzMzMUMwMDlGODIxRCAvKiBKU0NyeXB0b0tleS5oICovLAog
CQkJCUUxRjgwQjhCMTgzMTcyQjUwMDc4ODVDMyAvKiBKU0NyeXB0b0tleVBhaXIuY3BwICovLAog
CQkJCUUxRjgwQjhDMTgzMTcyQjUwMDc4ODVDMyAvKiBKU0NyeXB0b0tleVBhaXIuaCAqLywKKwkJ
CQk1N0QwMDE4RTFERDU0MTUzMDBFRDE5RDkgLyogSlNDcnlwdG9LZXlVc2FnZS5jcHAgKi8sCisJ
CQkJNTdEMDAxOEMxREQ1NDEzMjAwRUQxOUQ5IC8qIEpTQ3J5cHRvS2V5VXNhZ2UuaCAqLywKIAkJ
CQk1N0UyMzM2ODFEQ0FCMjQzMDBGMjhEMDEgLyogSlNIbWFjS2V5UGFyYW1zLmNwcCAqLywKIAkJ
CQk1N0UyMzM2NjFEQ0FCMjFDMDBGMjhEMDEgLyogSlNIbWFjS2V5UGFyYW1zLmggKi8sCiAJCQkJ
NTdFMjMzNUUxREM3RDY3QjAwRjI4RDAxIC8qIEpTSnNvbldlYktleS5jcHAgKi8sCkBAIC0yNTIy
OCw3ICsyNTIzNiw2IEBACiAJCQkJQ0QxOUEyNjgxQTEzRTcwMDAwOEQ2NTBFIC8qIERpYWdub3N0
aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NkZDQjYxODFBNzA4MjBFMDBD
NUEyMUUgLyogRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmggaW4gSGVhZGVycyAqLywKIAkJCQk4Mzcy
REIzMTFBNjc4MEE4MDBDNjk3QzUgLyogRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmggaW4g
SGVhZGVycyAqLywKLQkJCQk1MUUyNjkzNzFERDNCRDlCMDA2QjZBNTggLyogSURCSXRlcmF0ZUN1
cnNvckRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFQ0FERkM3MTUzNzc4RkYwMEUzNzA2OCAv
KiBEaWN0YXRpb25BbHRlcm5hdGl2ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0VDQURGQzkxNTM3
NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUQw
QkQ0RjVEMTQwODg1MEYwMDY4MzlCNiAvKiBEaWN0YXRpb25Db21tYW5kSU9TLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI1Mjc2LDggKzI1MjgzLDggQEAKIAkJCQlCQzFCREYyNTE1NkMxOEM3MDAxQzEy
NDMgLyogRE9NRXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFRDYwOUJEMTE0NUIwNzEwMEM4
Njg0RSAvKiBET01Gb3JtRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgxODVGM0IwOTc2NTc2
NjAwNTgyNkQ5IC8qIERPTUltcGxlbWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQlFMzE1
MEVBNzFEQTcyMTkzMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTNDOTlBMDkxREMzRDQxQzAwNzk0QUQzIC8qIERPTUpJVENoZWNrRE9NLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlFMzE1MEVBNzFEQTcyMTkzMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTNBNzc2NjcxREM4NUQyODAwQjY5MEQ4IC8qIERPTUpJVElETENv
bnZlcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzQTc3NjY4MURDODVEMjgwMEI2OTBEOCAvKiBE
T01KSVRJRExUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzU4MDJCNjFEQzg0MzVEMDBBOTc3
M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTQwNSw3ICsy
NTQxMiw2IEBACiAJCQkJODQ3MzBEODkxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFU3BlY3VsYXJMaWdo
dGluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDIzIC8qIEZl
dGNoSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxQUQ3NTNBMUNFRjZC
RDEwMEEzMTQ4NiAvKiBGZXRjaE9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxM0UwMDc5
MURCMEU0RjIwMDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NDczMEQ4QjEyNDhGMEIzMDBEM0E5QzkgLyogRkVUaWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NDczMEQ4RDEyNDhGMEIzMDBEM0E5QzkgLyogRkVUdXJidWxlbmNlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlGRDMxNjA5NTEyQjAyNkY3MDBDMUEzNTkgLyogRkZUQ29udm9sdmVyLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI1NzIwLDYgKzI1NzI2LDcgQEAKIAkJCQk1MTg1RkM4RjFCQjRDNEU4MDAxMjg5
OEYgLyogSURCR2V0UmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkM5MTFCQjRDNEU4
MDAxMjg5OEYgLyogSURCSW5kZXguaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRjc5OEYwMUJFODgw
RTcwMDhBRTQ5MSAvKiBJREJJbmRleEluZm8uaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRTI2OTM3
MUREM0JEOUIwMDZCNkE1OCAvKiBJREJJdGVyYXRlQ3Vyc29yRGF0YS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTE4NUZDOTUxQkI0QzRFODAwMTI4OThGIC8qIElEQktleS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTE4NUZDOTcxQkI0QzRFODAwMTI4OThGIC8qIElEQktleURhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTUxODVGQzk5MUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlQYXRoLmggaW4gSGVh
ZGVycyAqLywKQEAgLTI2MDc4LDYgKzI2MDg1LDcgQEAKIAkJCQlBODBFN0U5OTBBMUE4M0UzMDA3
RkI4QzUgLyogSlNIVE1MT3B0aW9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQ4QTI5
QkYwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0QUQwMTczRDEyN0U4Mjg2MDAxNTAzNUYgLyogSlNIVE1MT3V0cHV0RWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTdEMDAxOEQxREQ1NDEzMjAwRUQxOUQ5IC8qIEpTQ3J5
cHRvS2V5VXNhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTJBQkE3MEExQ0U5MDUwMEI0MkIy
NSAvKiBKU0hUTUxQYXJhZ3JhcGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUJB
OTBBMUNFOTA1MDBCNDJCMjUgLyogSlNIVE1MUGFyYW1FbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzNEODVCQzFDMEUyRTdBMDBEM0I2MTAgLyogSlNIVE1MUGljdHVyZUVsZW1lbnQuaCBp
biBIZWFkZXJzICovLApAQCAtMjY2OTcsNiArMjY3MDUsNyBAQAogCQkJCTUxNzcxREZGMUJEQjQ4
NTAwMENBRThFNCAvKiBNZW1vcnlPYmplY3RTdG9yZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE3
MTM5MDYxQkY2NERFQzAwMEQ1RjAxIC8qIE1lbW9yeU9iamVjdFN0b3JlQ3Vyc29yLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2NTcxRENDODEzODVFNkE0MDA3MDJERDAgLyogTWVtb3J5UHJlc3N1cmVI
YW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTNFMDA3OTFEQjBFNEYyMDAyMzQxRDIgLyog
TWVtb3J5UmVsZWFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERkEwOTlFNjQ5MjAwNTZF
NTgxIC8qIE1lcmdlSWRlbnRpY2FsRWxlbWVudHNDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMUFERUNDRTBFNzZBRDhCMDA0QTFBNUUgLyogTWVzc2FnZUNoYW5uZWwuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTc1NzkzRTg0MEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZlbnQuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjY4MTAsNiArMjY4MTksNyBAQAogCQkJCTkzM0M3QTc1MUMwRkJDNDQw
MDM0RkI5NyAvKiBOU1NwZWxsQ2hlY2tlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxMjUy
NTMxQTFCRUMwNjAwODY0NDgwIC8qIE5TU3RyaW5nU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQky
RDc3QUMyQjFCRjJCOTg3MDA3MjQ3MEEgLyogTlNUZXh0RmluZGVyU1BJLmggaW4gSGVhZGVycyAq
LywKKwkJCQk5MzM1QjQ5RDFEQ0JFRjdDMDBFRDQ2OEUgLyogTlNUb3VjaEJhclNQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzFCMzEzREIxQjY5ODcxNjAwRjJBQUJDIC8qIE5TVVJMQ29ubmVjdGlv
blNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxMjUyNTUxQTFCRUMwRTAwODY0NDgwIC8qIE5T
VVJMRG93bmxvYWRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1OEY1NDAzMTlBMUM5MjQwMDg4
RkM5MiAvKiBOU1VSTEZpbGVUeXBlTWFwcGluZ3NTUEkuaCBpbiBIZWFkZXJzICovLApAQCAtMjcw
MDgsOSArMjcwMTgsOSBAQAogCQkJCUY1NUIzRENFMTI1MUYxMkQwMDNFRjI2OSAvKiBSYW5nZUlu
cHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkU4NEU5RTExNzY2OEJGMTAwODE1QjY4IC8q
IFJhc3RlclNoYXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODREODI3QzExRDMzM0VEMDA5NzI5
OTAgLyogUmF3RGF0YURvY3VtZW50UGFyc2VyLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTZFNkZF
ODFCQkQxMkRGMDAwQTNGNjQgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJNDE2RTZGRTkxQkJEMTJFNTAwMEE2MDQzIC8qIFJlYWRhYmxlU3Ry
ZWFtQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjA0
MyAvKiBSZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNDE2RTZGRTkxQkJEMTJFNTAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBM0Y2NCAvKiBSZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjAzQzEy
QjAyNjc2MDBDMUEzNTkgLyogUmVhbHRpbWVBbmFseXNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NEE0RjY1NzExQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTRBNEY2NTcyMUFBOTk3RjEwMEUzOENERCAvKiBSZWFsdGltZU1lZGlhU291
cmNlQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKQEAgLTI4MDkwLDcgKzI4MTAwLDYgQEAK
IAkJCQkxQ0FGMzQ4MTBBNkM0MDUyMDBBQkUwNkUgLyogV2ViU2NyaXB0T2JqZWN0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQ0FGMzQ4MzBBNkM0MDUyMDBBQkUwNkUgLyogV2ViU2NyaXB0T2JqZWN0
UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1NjlEMUIwRDdFMkI4MjAwN0MzOTgzIC8q
IFdlYlNjcmlwdE9iamVjdFByb3RvY29sLmggaW4gSGVhZGVycyAqLywKLQkJCQk5MzM1QjQ5RDFE
Q0JFRjdDMDBFRDQ2OEUgLyogTlNUb3VjaEJhclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdB
QUJEMUIxNEZBMDlENTAwNzQ1N0FFIC8qIFdlYlNvY2tldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTdBQUJEMUUxNEZBMDlENTAwNzQ1N0FFIC8qIFdlYlNvY2tldENoYW5uZWwuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTk3QUFCRDFGMTRGQTA5RDUwMDc0NTdBRSAvKiBXZWJTb2NrZXRDaGFubmVsQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI4NTIwLDYgKzI4NTI5LDcgQEAKIAkJCWlzYSA9IFBC
WFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJ
CWZpbGVzID0gKAorCQkJCTU3RDAwMThGMURENTQxNTMwMEVEMTlEOSAvKiBKU0NyeXB0b0tleVVz
YWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxRTFCMUQwMEZGNTk4NjkwMDU3NkIzQiAvKiBB
YnN0cmFjdFdvcmtlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzN0Y1N0FCOTFBNTA3MjY5MDA4
NzZGOTggLyogQWNjZXNzaWJpbGl0eUFSSUFHcmlkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3
RjU3QUJBMUE1MDcyNkYwMDg3NkY5OCAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmNwcCBp
biBTb3VyY2VzICovLApAQCAtMjg3MjYsNyArMjg3MzYsNiBAQAogCQkJCUNERThCNUVDMUE2OTc3
NzMwMEI0QjY2QSAvKiBDRE1Qcml2YXRlQ2xlYXJLZXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Q0RDQTk4RUIxOEIyQzhFQjAwQzEyRkY5IC8qIENETVByaXZhdGVNZWRpYVBsYXllci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlDRDMxODYyMjE5OUYxRTJBMDAzMEEwRjcgLyogQ0RNUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTQxM0UwMDdDMURCMEU3MEEw
MDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREU1
OTU5NTFCRjE2REYzMDBBMUNCRTggLyogQ0RNU2Vzc2lvbkFWQ29udGVudEtleVNlc3Npb24ubW0g
aW4gU291cmNlcyAqLywKIAkJCQlDRERFMDJFRDE4QjNFRDZEMDBDRjdGRjEgLyogQ0RNU2Vzc2lv
bkFWRm91bmRhdGlvbk9iakMubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRERFMDJGMDE4QjU2NTEz
MDBDRjdGRjEgLyogQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5tbSBpbiBTb3VyY2VzICovLApA
QCAtMjkwODUsNyArMjkwOTQsNiBAQAogCQkJCUZENkVEMkMzMTM2QjhFNDIwMDNDRjA3MiAvKiBE
eW5hbWljc0NvbXByZXNzb3JOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5REUzMDk5
RTY0OTIwMDU2RTU4MSAvKiBFZGl0Q29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5QkFC
NkM2RDEyNTUwNjMxMDAxNjI2RDQgLyogRWRpdGluZ1N0eWxlLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTUxRTI2OTMzMUREM0JDNEUwMDZCNkE1OCAvKiBKU0lEQlRyYW5zYWN0aW9uQ3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTRCMzA0M0NDMEFFMDM3M0IwMEE4MjY0NyAvKiBFZGl0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOUI1NUVFRTkxQjNFODg5ODAwNTM0MkJDIC8qIEVkaXRv
ckNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNBMzhCNEIwRDBFNTgwODAwNjg3MkMyIC8q
IEVkaXRvckNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTQzNyw2ICsyOTQ0NSw3IEBA
CiAJCQkJNTEyRjFBNzgxQzA3RUI2NjAwOTA4MjM5IC8qIElEQkdldFJlc3VsdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1MTg1RkM5MDFCQjRDNEU4MDAxMjg5OEYgLyogSURCSW5kZXguY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTFGNzk4RUYxQkU4ODBFNzAwOEFFNDkxIC8qIElEQkluZGV4SW5m
by5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUUyNjkzNjFERDNCRDk3MDA2QjZBNTggLyogSURC
SXRlcmF0ZUN1cnNvckRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4NUZDOTQxQkI0QzRF
ODAwMTI4OThGIC8qIElEQktleS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTg1RkM5NjFCQjRD
NEU4MDAxMjg5OEYgLyogSURCS2V5RGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTg1RkM5
ODFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5UGF0aC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5
ODc1LDYgKzI5ODg0LDcgQEAKIAkJCQk1MTFFRjJDOTE3RjBGRDM1MDBFNEZBMTYgLyogSlNJREJS
ZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNEYzMUI1MUNDMDczNzIwMERCNDNEQyAv
KiBKU0lEQlJlcXVlc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTExRUYyQ0ExN0Yw
RkQzNTAwRTRGQTE2IC8qIEpTSURCVHJhbnNhY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
NTFFMjY5MzMxREQzQkM0RTAwNkI2QTU4IC8qIEpTSURCVHJhbnNhY3Rpb25DdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJODM4RUY1M0IxREMxNEE3QzAwOEYwQzM5IC8qIEpTSURCVHJhbnNh
Y3Rpb25Nb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMUVGMkNCMTdGMEZEMzUwMEU0RkEx
NiAvKiBKU0lEQlZlcnNpb25DaGFuZ2VFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzZD
NDlGMzBEN0RCQTA1MDBGRkE1NTggLyogSlNJbWFnZUNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtMzAyNzAsNyArMzAyODAsNiBAQAogCQkJCTZGOTk1QTM3MUE3MDgzMzcwMEE3MzVG
NCAvKiBKU1dlYkdMVHJhbnNmb3JtRmVlZGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEM0
NTM0MjcxMENEQkJGQTAwODY5MTU3IC8qIEpTV2ViR0xVbmlmb3JtTG9jYXRpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNkY5OTVBMzkxQTcwODMzNzAwQTczNUY0IC8qIEpTV2ViR0xWZXJ0ZXhB
cnJheU9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MUUyNjkzNjFERDNCRDk3MDA2QjZB
NTggLyogSURCSXRlcmF0ZUN1cnNvckRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNzdFRjYy
RjMxMkY5REI3NDAwQzc3QkQyIC8qIEpTV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkzMUMwRkYzRDBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRBbmlt
YXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTgzOTEzRjBGMUU3Njc1MDBDMjM3
ODIgLyogSlNXZWJLaXRDU1NNYXRyaXguY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDQ3OSw3ICsz
MDQ4OCw2IEBACiAJCQkJMDc4RTA5MDMxN0QxNENFRTAwNDIwQUExIC8qIE1lZGlhU3RyZWFtVHJh
Y2tFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwN0ZGREU2ODE4MUFFRDQyMDA3MkQ0MDkg
LyogTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q2NDFF
QkYxODE5QjM2MDAwRUU0QzQxIC8qIE1lZGlhVGltZUFWRm91bmRhdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKLQkJCQk0MTNFMDA3QTFEQjBFNEY5MDAyMzQxRDIgLyogTWVtb3J5UmVsZWFzZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlDRDYwQzBDNjE5M0U4N0M3MDAzQzY1NkIgLyogTWVkaWFUaW1l
UVRLaXQubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNzA1ODUzQTE3RkUwNzcwMDA1RjJCQ0IgLyog
TWVkaWFUcmFja0NvbnN0cmFpbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcwNTg1MjMxN0ZE
QzE0MDAwNUYyQkNCIC8qIE1lZGlhVHJhY2tDb25zdHJhaW50cy5jcHAgaW4gU291cmNlcyAqLywK
QEAgLTMwNDk1LDYgKzMwNTAzLDggQEAKIAkJCQk1MTcxMzkwNTFCRjY0REVDMDAwRDVGMDEgLyog
TWVtb3J5T2JqZWN0U3RvcmVDdXJzb3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjU3RURBMDgx
Mzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBREI2QjI5ODE4RkI5MDI0MDA4MTk2M0UgLyogTWVtb3J5UHJlc3N1cmVIYW5kbGVy
Q29jb2EubW0gaW4gU291cmNlcyAqLywKKwkJCQk0MTNFMDA3QTFEQjBFNEY5MDAyMzQxRDIgLyog
TWVtb3J5UmVsZWFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTNFMDA3QzFEQjBFNzBBMDAy
MzQxRDIgLyogTWVtb3J5UmVsZWFzZUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzMDlE
RjkwOTlFNjQ5MjAwNTZFNTgxIC8qIE1lcmdlSWRlbnRpY2FsRWxlbWVudHNDb21tYW5kLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUUxQURFQ0NGMEU3NkFEOEIwMDRBMUE1RSAvKiBNZXNzYWdlQ2hh
bm5lbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3NTc5M0U4MzBEMENFMEIzMDA3RkMwQUMgLyog
TWVzc2FnZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzExNDksNiArMzExNTksNyBAQAog
CQkJCTI0RDkxMkIwMTNDQTlBMUYwMEQyMTkxNSAvKiBTVkdBbHRHbHlwaERlZkVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNjU2NTNGMkQwRDk3MjdEMjAwQ0E5NzIzIC8qIFNWR0FsdEds
eXBoRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyNEQ5MTJCNzEzQ0E5QTY5MDBEMjE5
MTUgLyogU1ZHQWx0R2x5cGhJdGVtRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3QzhG
MjI0NDFERDNDMkY2MDBFOTJEQTMgLyogU1ZHQW5nbGVWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCMjIyNzk3OTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk0MzYyQzdCOTEzQUM2RjFBMDAzNDRCRUIgLyogU1ZHQW5p
bWF0ZWRBbmdsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MzFBMzA4ODEzQjhGOTc4MDA3Nzkx
RTQgLyogU1ZHQW5pbWF0ZWRCb29sZWFuLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzEzNTMsNyAr
MzEzNjQsNiBAQAogCQkJCUNFQ0FERkNEMTUzNzc5MUQwMEUzNzA2OCAvKiBUZXh0SW5zZXJ0aW9u
QmFzZUNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzMDlFMUIwOTlFNjQ5MjAwNTZF
NTgxIC8qIFRleHRJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNEQ5ODhCNjE3QkZF
QjIxMDA4NEZCODggLyogVGV4dE5vZGVUcmF2ZXJzYWwuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJ
N0M4RjIyNDQxREQzQzJGNjAwRTkyREEzIC8qIFNWR0FuZ2xlVmFsdWUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUMxOERBNTgxODFBRjZBNTAwQzRFRjIyIC8qIFRleHRQYWludGVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUU0QzkxQTEwMTgwMjM0MzkwMEExN0Y2RCAvKiBUZXh0UGFpbnRTdHls
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0YxOUE5RDA4MjQ1RTU5MDAxRTlBQkMgLyogVGV4
dFJlc291cmNlRGVjb2Rlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0suY3BwCmlu
ZGV4IDNlMWIxZWQwYWZiMjc3ZGVhYjhkNWNhMDhkMjQ3ZjljNzQ4YWE4NDQuLjZlMDBjOWY1MTAx
MTQ3ZjQ3OGU3NDM1Nzk2Y2FjMjE2NTAxZGZlMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNDcnlwdG9LZXlTZXJpYWxpemF0aW9uSldLLmNwcApAQCAt
MjY5LDcgKzI2OSw3IEBAIE9wdGlvbmFsPENyeXB0b0FsZ29yaXRobVBhaXI+IEpTQ3J5cHRvS2V5
U2VyaWFsaXphdGlvbkpXSzo6cmVjb25jaWxlQWxnb3JpdGhtKENyCiAgICAgcmV0dXJuIENyeXB0
b0FsZ29yaXRobVBhaXIgeyBzdWdnZXN0ZWRBbGdvcml0aG0sIHN1Z2dlc3RlZFBhcmFtZXRlcnMg
fTsKIH0KIAotc3RhdGljIGJvb2wgdHJ5SldLS2V5T3BzVmFsdWUoRXhlY1N0YXRlKiBleGVjLCBD
cnlwdG9LZXlVc2FnZSYgdXNhZ2VzLCBjb25zdCBTdHJpbmcmIG9wZXJhdGlvbiwgY29uc3QgU3Ry
aW5nJiB0cnlPcGVyYXRpb24sIENyeXB0b0tleVVzYWdlIHRyeVVzYWdlKQorc3RhdGljIGJvb2wg
dHJ5SldLS2V5T3BzVmFsdWUoRXhlY1N0YXRlKiBleGVjLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCYg
dXNhZ2VzLCBjb25zdCBTdHJpbmcmIG9wZXJhdGlvbiwgY29uc3QgU3RyaW5nJiB0cnlPcGVyYXRp
b24sIENyeXB0b0tleVVzYWdlQml0bWFwIHRyeVVzYWdlKQogewogICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpAQCAtMjg0
LDEyICsyODQsMTIgQEAgc3RhdGljIGJvb2wgdHJ5SldLS2V5T3BzVmFsdWUoRXhlY1N0YXRlKiBl
eGVjLCBDcnlwdG9LZXlVc2FnZSYgdXNhZ2VzLCBjb25zdCBTdHIKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotdm9pZCBKU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0s6OnJlY29uY2lsZVVzYWdlcyhD
cnlwdG9LZXlVc2FnZSYgc3VnZ2VzdGVkVXNhZ2VzKSBjb25zdAordm9pZCBKU0NyeXB0b0tleVNl
cmlhbGl6YXRpb25KV0s6OnJlY29uY2lsZVVzYWdlcyhDcnlwdG9LZXlVc2FnZUJpdG1hcCYgc3Vn
Z2VzdGVkVXNhZ2VzKSBjb25zdAogewogICAgIFZNJiB2bSA9IG1fZXhlYy0+dm0oKTsKICAgICBh
dXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICBDcnlwdG9LZXlVc2Fn
ZSBqd2tVc2FnZXMgPSAwOworICAgIENyeXB0b0tleVVzYWdlQml0bWFwIGp3a1VzYWdlcyA9IDA7
CiAKICAgICBKU0FycmF5KiBrZXlPcHM7CiAgICAgaWYgKGdldEpTQXJyYXlGcm9tSlNPTihtX2V4
ZWMsIG1fanNvbi5nZXQoKSwgImtleV9vcHMiLCBrZXlPcHMpKSB7CkBAIC02ODYsNyArNjg2LDcg
QEAgc3RhdGljIHZvaWQgYWRkSldLQWxnb3JpdGhtVG9KU09OKEV4ZWNTdGF0ZSogZXhlYywgSlNP
YmplY3QqIGpzb24sIGNvbnN0IENyeXB0b0sKICAgICBhZGRUb0pTT04oZXhlYywganNvbiwgImFs
ZyIsIGp3a0FsZ29yaXRobSk7CiB9CiAKLXN0YXRpYyB2b2lkIGFkZFVzYWdlc1RvSlNPTihFeGVj
U3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBqc29uLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMpCitzdGF0
aWMgdm9pZCBhZGRVc2FnZXNUb0pTT04oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCoganNvbiwg
Q3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7
CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDcnlwdG9LZXlTZXJpYWxpemF0aW9uSldLLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0su
aAppbmRleCBmZWUyZDk4OTkwMjkwMWU4MjhkZjEwMGJjYThjZTIxNzJjZDgwZjE3Li4xYTc4YTMx
NGVhMTQ1YzczYTY5MDNmNWNjMzcxNTAxMmZiNjY1YjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0suaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0suaApAQCAt
NTMsNyArNTMsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIE9wdGlvbmFsPENyeXB0b0FsZ29y
aXRobVBhaXI+IHJlY29uY2lsZUFsZ29yaXRobShDcnlwdG9BbGdvcml0aG0qLCBDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCopIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBy
ZWNvbmNpbGVVc2FnZXMoQ3J5cHRvS2V5VXNhZ2UmKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lk
IHJlY29uY2lsZVVzYWdlcyhDcnlwdG9LZXlVc2FnZUJpdG1hcCYpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHZvaWQgcmVjb25jaWxlRXh0cmFjdGFibGUoYm9vbCYpIGNvbnN0IG92ZXJyaWRlOwogCiAg
ICAgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0tleURhdGE+IGtleURhdGEoKSBjb25zdCBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRv
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3Vz
dG9tLmNwcAppbmRleCBjMGZhNDQ3ZjA0M2VhM2MyYTE3ZmE4N2UwYWIxZGFjM2Y3Y2ViMzM5Li44
NmYzZjdhNDNhYTVlN2JhNzMwZDRjMzM2YTRiZThlYjVjYTI3YWE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwCkBAIC0xOTQs
NDggKzE5NCw0MyBAQCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnM+IG5vcm1hbGl6ZUNyeXB0b0FsZ29yaXRobVBhcmFtZQogICAgIHJldHVybiBudWxscHRy
OwogfQogCi1zdGF0aWMgQ3J5cHRvS2V5VXNhZ2UgY3J5cHRvS2V5VXNhZ2VGcm9tU3RyaW5nKGNv
bnN0IFN0cmluZyYgdXNhZ2VTdHJpbmcpCitzdGF0aWMgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdG9D
cnlwdG9LZXlVc2FnZUJpdG1hcChjb25zdCBDcnlwdG9LZXlVc2FnZSB1c2FnZSkKIHsKLSAgICBD
cnlwdG9LZXlVc2FnZSByZXN1bHQgPSAwOwotICAgIGlmICh1c2FnZVN0cmluZyA9PSAiZW5jcnlw
dCIpCi0gICAgICAgIHJlc3VsdCA9IENyeXB0b0tleVVzYWdlRW5jcnlwdDsKLSAgICBlbHNlIGlm
ICh1c2FnZVN0cmluZyA9PSAiZGVjcnlwdCIpCi0gICAgICAgIHJlc3VsdCA9IENyeXB0b0tleVVz
YWdlRGVjcnlwdDsKLSAgICBlbHNlIGlmICh1c2FnZVN0cmluZyA9PSAic2lnbiIpCi0gICAgICAg
IHJlc3VsdCA9IENyeXB0b0tleVVzYWdlU2lnbjsKLSAgICBlbHNlIGlmICh1c2FnZVN0cmluZyA9
PSAidmVyaWZ5IikKLSAgICAgICAgcmVzdWx0ID0gQ3J5cHRvS2V5VXNhZ2VWZXJpZnk7Ci0gICAg
ZWxzZSBpZiAodXNhZ2VTdHJpbmcgPT0gImRlcml2ZUtleSIpCi0gICAgICAgIHJlc3VsdCA9IENy
eXB0b0tleVVzYWdlRGVyaXZlS2V5OwotICAgIGVsc2UgaWYgKHVzYWdlU3RyaW5nID09ICJkZXJp
dmVCaXRzIikKLSAgICAgICAgcmVzdWx0ID0gQ3J5cHRvS2V5VXNhZ2VEZXJpdmVCaXRzOwotICAg
IGVsc2UgaWYgKHVzYWdlU3RyaW5nID09ICJ3cmFwS2V5IikKLSAgICAgICAgcmVzdWx0ID0gQ3J5
cHRvS2V5VXNhZ2VXcmFwS2V5OwotICAgIGVsc2UgaWYgKHVzYWdlU3RyaW5nID09ICJ1bndyYXBL
ZXkiKQotICAgICAgICByZXN1bHQgPSBDcnlwdG9LZXlVc2FnZVVud3JhcEtleTsKKyAgICBzd2l0
Y2ggKHVzYWdlKSB7CisgICAgY2FzZSBDcnlwdG9LZXlVc2FnZTo6RW5jcnlwdDoKKyAgICAgICAg
cmV0dXJuIENyeXB0b0tleVVzYWdlRW5jcnlwdDsKKyAgICBjYXNlIENyeXB0b0tleVVzYWdlOjpE
ZWNyeXB0OgorICAgICAgICByZXR1cm4gQ3J5cHRvS2V5VXNhZ2VEZWNyeXB0OworICAgIGNhc2Ug
Q3J5cHRvS2V5VXNhZ2U6OlNpZ246CisgICAgICAgIHJldHVybiBDcnlwdG9LZXlVc2FnZVNpZ247
CisgICAgY2FzZSBDcnlwdG9LZXlVc2FnZTo6VmVyaWZ5OgorICAgICAgICByZXR1cm4gQ3J5cHRv
S2V5VXNhZ2VWZXJpZnk7CisgICAgY2FzZSBDcnlwdG9LZXlVc2FnZTo6RGVyaXZlS2V5OgorICAg
ICAgICByZXR1cm4gQ3J5cHRvS2V5VXNhZ2VEZXJpdmVLZXk7CisgICAgY2FzZSBDcnlwdG9LZXlV
c2FnZTo6RGVyaXZlQml0czoKKyAgICAgICAgcmV0dXJuIENyeXB0b0tleVVzYWdlRGVyaXZlQml0
czsKKyAgICBjYXNlIENyeXB0b0tleVVzYWdlOjpXcmFwS2V5OgorICAgICAgICByZXR1cm4gQ3J5
cHRvS2V5VXNhZ2VXcmFwS2V5OworICAgIGNhc2UgQ3J5cHRvS2V5VXNhZ2U6OlVud3JhcEtleToK
KyAgICAgICAgcmV0dXJuIENyeXB0b0tleVVzYWdlVW53cmFwS2V5OworICAgIH0KIAotICAgIHJl
dHVybiByZXN1bHQ7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIDA7CiB9
CiAKLXN0YXRpYyBDcnlwdG9LZXlVc2FnZSBjcnlwdG9LZXlVc2FnZXNGcm9tSlNWYWx1ZShFeGVj
U3RhdGUmIHN0YXRlLCBKU1ZhbHVlIGl0ZXJhYmxlKQorc3RhdGljIENyeXB0b0tleVVzYWdlQml0
bWFwIGNyeXB0b0tleVVzYWdlQml0bWFwRnJvbUpTVmFsdWUoRXhlY1N0YXRlJiBzdGF0ZSwgSlNW
YWx1ZSB2YWx1ZSkKIHsKICAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOwogICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIENyeXB0b0tleVVzYWdlIHJlc3VsdCA9
IDA7Ci0gICAgZm9yRWFjaEluSXRlcmFibGUoJnN0YXRlLCBpdGVyYWJsZSwgWyZyZXN1bHRdKFZN
JiB2bSwgRXhlY1N0YXRlKiBzdGF0ZSwgSlNWYWx1ZSBuZXh0SXRlbSkgewotICAgICAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0KLSAgICAgICAgU3RyaW5nIHVzYWdl
U3RyaW5nID0gbmV4dEl0ZW0udG9XVEZTdHJpbmcoc3RhdGUpOwotICAgICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgICAgICBDcnlwdG9LZXlVc2FnZSB1c2FnZSA9
IGNyeXB0b0tleVVzYWdlRnJvbVN0cmluZyh1c2FnZVN0cmluZyk7Ci0gICAgICAgIGlmICghdXNh
Z2UpCi0gICAgICAgICAgICB0aHJvd1R5cGVFcnJvcihzdGF0ZSwgc2NvcGUsIEFTQ0lJTGl0ZXJh
bCgiSW52YWxpZCBLZXlVc2FnZXMiKSk7Ci0KLSAgICAgICAgLy8gTWF5YmUgd2Ugc2hvdWxkbid0
IHNpbGVudGx5IGJ5cGFzcyBkdXBsaWNhdGVkIHVzYWdlcz8KLSAgICAgICAgcmVzdWx0IHw9IHVz
YWdlOwotICAgIH0pOworICAgIENyeXB0b0tleVVzYWdlQml0bWFwIHJlc3VsdCA9IDA7CisgICAg
YXV0byB1c2FnZXMgPSBjb252ZXJ0PElETFNlcXVlbmNlPElETEVudW1lcmF0aW9uPENyeXB0b0tl
eVVzYWdlPj4+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
MCk7CisgICAgLy8gTWF5YmUgd2Ugc2hvdWxkbid0IHNpbGVudGx5IGJ5cGFzcyBkdXBsaWNhdGVk
IHVzYWdlcz8KKyAgICBmb3IgKGF1dG8gdXNhZ2UgOiB1c2FnZXMpCisgICAgICAgIHJlc3VsdCB8
PSB0b0NyeXB0b0tleVVzYWdlQml0bWFwKHVzYWdlKTsKKwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKQEAgLTI5OCwxNSArMjkzLDExIEBAIHN0YXRpYyBLZXlEYXRhIHRvS2V5RGF0YShFeGVjU3Rh
dGUmIHN0YXRlLCBTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIEpTVmFsCiAgICAgY2Fz
ZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6SndrOiB7CiAgICAgICAgIHJlc3VsdCA9IGNvbnZl
cnREaWN0aW9uYXJ5PEpzb25XZWJLZXk+KHN0YXRlLCB2YWx1ZSk7CiAgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIHJlc3VsdCk7Ci0gICAgICAgIENyeXB0b0tleVVzYWdlIHVzYWdl
cyA9IDA7CisgICAgICAgIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcyA9IDA7CiAgICAgICAg
IGlmIChXVEY6OmdldDxKc29uV2ViS2V5PihyZXN1bHQpLmtleV9vcHMpIHsKLSAgICAgICAgICAg
IGZvciAoYXV0byB1c2FnZVN0cmluZyA6IFdURjo6Z2V0PEpzb25XZWJLZXk+KHJlc3VsdCkua2V5
X29wcy52YWx1ZSgpKSB7Ci0gICAgICAgICAgICAgICAgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2UgPSBj
cnlwdG9LZXlVc2FnZUZyb21TdHJpbmcodXNhZ2VTdHJpbmcpOwotICAgICAgICAgICAgICAgIGlm
ICghdXNhZ2UpCi0gICAgICAgICAgICAgICAgICAgIHRocm93VHlwZUVycm9yKCZzdGF0ZSwgc2Nv
cGUsIEFTQ0lJTGl0ZXJhbCgiSW52YWxpZCBrZXlfb3BzIikpOwotICAgICAgICAgICAgICAgIC8v
IE1heWJlIHdlIHNob3VsZG4ndCBzaWxlbnRseSBieXBhc3MgZHVwbGljYXRlZCB1c2FnZXM/Ci0g
ICAgICAgICAgICAgICAgdXNhZ2VzIHw9IGNyeXB0b0tleVVzYWdlRnJvbVN0cmluZyh1c2FnZVN0
cmluZyk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICAvLyBNYXliZSB3ZSBzaG91bGRuJ3Qg
c2lsZW50bHkgYnlwYXNzIGR1cGxpY2F0ZWQgdXNhZ2VzPworICAgICAgICAgICAgZm9yIChhdXRv
IHVzYWdlIDogV1RGOjpnZXQ8SnNvbldlYktleT4ocmVzdWx0KS5rZXlfb3BzLnZhbHVlKCkpCisg
ICAgICAgICAgICAgICAgdXNhZ2VzIHw9IHRvQ3J5cHRvS2V5VXNhZ2VCaXRtYXAodXNhZ2UpOwog
ICAgICAgICB9CiAgICAgICAgIFdURjo6Z2V0PEpzb25XZWJLZXk+KHJlc3VsdCkudXNhZ2VzID0g
dXNhZ2VzOwogICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMzMyLDcgKzMyMyw3IEBAIHN0YXRp
YyB2b2lkIGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25HZW5lcmF0ZUtleVByb21pc2UoRXhlY1N0YXRl
JiBzdGF0ZSwgUmVmPERlZmVyCiAgICAgYXV0byBleHRyYWN0YWJsZSA9IHN0YXRlLnVuY2hlY2tl
ZEFyZ3VtZW50KDEpLnRvQm9vbGVhbigmc3RhdGUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIHZvaWQoKSk7CiAKLSAgICBhdXRvIGtleVVzYWdlcyA9IGNyeXB0b0tleVVzYWdlc0Zy
b21KU1ZhbHVlKHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgyKSk7CisgICAgYXV0byBr
ZXlVc2FnZXMgPSBjcnlwdG9LZXlVc2FnZUJpdG1hcEZyb21KU1ZhbHVlKHN0YXRlLCBzdGF0ZS51
bmNoZWNrZWRBcmd1bWVudCgyKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9p
ZCgpKTsKIAogICAgIGF1dG8gYWxnb3JpdGhtID0gY3JlYXRlQWxnb3JpdGhtKHN0YXRlLCBwYXJh
bXMtPmlkZW50aWZpZXIpOwpAQCAtMzg3LDcgKzM3OCw3IEBAIHN0YXRpYyB2b2lkIGpzU3VidGxl
Q3J5cHRvRnVuY3Rpb25JbXBvcnRLZXlQcm9taXNlKEV4ZWNTdGF0ZSYgc3RhdGUsIFJlZjxEZWZl
cnJlCiAgICAgYXV0byBleHRyYWN0YWJsZSA9IHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDMpLnRv
Qm9vbGVhbigmc3RhdGUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7
CiAKLSAgICBhdXRvIGtleVVzYWdlcyA9IGNyeXB0b0tleVVzYWdlc0Zyb21KU1ZhbHVlKHN0YXRl
LCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCg0KSk7CisgICAgYXV0byBrZXlVc2FnZXMgPSBjcnlw
dG9LZXlVc2FnZUJpdG1hcEZyb21KU1ZhbHVlKHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVu
dCg0KSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKIAogICAgIGF1
dG8gYWxnb3JpdGhtID0gY3JlYXRlQWxnb3JpdGhtKHN0YXRlLCBwYXJhbXMtPmlkZW50aWZpZXIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRTdWJ0bGVD
cnlwdG9DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRTdWJ0
bGVDcnlwdG9DdXN0b20uY3BwCmluZGV4IDdhYjA2OWE1OWUxNzRiYjA3MDBmNmUwNTI0YTZiOTMz
ZjZmMmJlZTQuLmI0MmRlMjEwOGViNGZiOTc1MDNmODgzYzRlNWFkZjk0NjI5YzU5NWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0U3VidGxlQ3J5cHRvQ3Vz
dG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdFN1YnRsZUNy
eXB0b0N1c3RvbS5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQCBzdGF0aWMgYm9vbCBjcnlwdG9LZXlG
b3JtYXRGcm9tSlNWYWx1ZShFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIHZhbHVlLCBDcnlwdG9L
ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMgYm9vbCBjcnlwdG9LZXlVc2FnZXNGcm9t
SlNWYWx1ZShFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIHZhbHVlLCBDcnlwdG9LZXlVc2FnZSYg
cmVzdWx0KQorc3RhdGljIGJvb2wgY3J5cHRvS2V5VXNhZ2VzRnJvbUpTVmFsdWUoRXhlY1N0YXRl
JiBzdGF0ZSwgSlNWYWx1ZSB2YWx1ZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAmIHJlc3VsdCkKIHsK
ICAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKQEAgLTQyMyw3ICs0MjMsNyBAQCBKU1ZhbHVlIEpTV2ViS2l0U3VidGxlQ3J5
cHRvOjpnZW5lcmF0ZUtleShFeGVjU3RhdGUmIHN0YXRlKQogICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOwogICAgIH0KIAotICAgIENyeXB0b0tleVVzYWdlIGtl
eVVzYWdlcyA9IDA7CisgICAgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAga2V5VXNhZ2VzID0gMDsKICAg
ICBpZiAoc3RhdGUuYXJndW1lbnRDb3VudCgpID49IDMpIHsKICAgICAgICAgYXV0byBzdWNjZXNz
ID0gY3J5cHRvS2V5VXNhZ2VzRnJvbUpTVmFsdWUoc3RhdGUsIHN0YXRlLmFyZ3VtZW50KDIpLCBr
ZXlVc2FnZXMpOwogICAgICAgICBBU1NFUlQoc2NvcGUuZXhjZXB0aW9uKCkgfHwgc3VjY2Vzcyk7
CkBAIC00NTUsNyArNDU1LDcgQEAgSlNWYWx1ZSBKU1dlYktpdFN1YnRsZUNyeXB0bzo6Z2VuZXJh
dGVLZXkoRXhlY1N0YXRlJiBzdGF0ZSkKICAgICByZXR1cm4gcHJvbWlzZTsKIH0KIAotc3RhdGlj
IHZvaWQgaW1wb3J0S2V5KEV4ZWNTdGF0ZSYgc3RhdGUsIENyeXB0b0tleUZvcm1hdCBrZXlGb3Jt
YXQsIENyeXB0b09wZXJhdGlvbkRhdGEgZGF0YSwgUmVmUHRyPENyeXB0b0FsZ29yaXRobT4gYWxn
b3JpdGhtLCBSZWZQdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQ+IHBhcmFt
ZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIGtleVVzYWdlcywgQ3J5cHRv
QWxnb3JpdGhtOjpLZXlDYWxsYmFjayBjYWxsYmFjaywgQ3J5cHRvQWxnb3JpdGhtOjpWb2lkQ2Fs
bGJhY2sgZmFpbHVyZUNhbGxiYWNrKQorc3RhdGljIHZvaWQgaW1wb3J0S2V5KEV4ZWNTdGF0ZSYg
c3RhdGUsIENyeXB0b0tleUZvcm1hdCBrZXlGb3JtYXQsIENyeXB0b09wZXJhdGlvbkRhdGEgZGF0
YSwgUmVmUHRyPENyeXB0b0FsZ29yaXRobT4gYWxnb3JpdGhtLCBSZWZQdHI8Q3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQ+IHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlQml0bWFwIGtleVVzYWdlcywgQ3J5cHRvQWxnb3JpdGhtOjpLZXlDYWxsYmFj
ayBjYWxsYmFjaywgQ3J5cHRvQWxnb3JpdGhtOjpWb2lkQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNr
KQogewogICAgIFZNJiB2bSA9IHN0YXRlLnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVf
VEhST1dfU0NPUEUodm0pOwpAQCAtNTUzLDcgKzU1Myw3IEBAIEpTVmFsdWUgSlNXZWJLaXRTdWJ0
bGVDcnlwdG86OmltcG9ydEtleShFeGVjU3RhdGUmIHN0YXRlKQogICAgICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOwogICAgIH0KIAotICAgIENyeXB0b0tleVVzYWdl
IGtleVVzYWdlcyA9IDA7CisgICAgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAga2V5VXNhZ2VzID0gMDsK
ICAgICBpZiAoc3RhdGUuYXJndW1lbnRDb3VudCgpID49IDUpIHsKICAgICAgICAgYXV0byBzdWNj
ZXNzID0gY3J5cHRvS2V5VXNhZ2VzRnJvbUpTVmFsdWUoc3RhdGUsIHN0YXRlLmFyZ3VtZW50KDQp
LCBrZXlVc2FnZXMpOwogICAgICAgICBBU1NFUlQoc2NvcGUuZXhjZXB0aW9uKCkgfHwgc3VjY2Vz
cyk7CkBAIC03NzIsNyArNzcyLDcgQEAgSlNWYWx1ZSBKU1dlYktpdFN1YnRsZUNyeXB0bzo6dW53
cmFwS2V5KEV4ZWNTdGF0ZSYgc3RhdGUpCiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIEpTVmFsdWUoKSk7CiAgICAgfQogCi0gICAgQ3J5cHRvS2V5VXNhZ2Uga2V5VXNhZ2VzID0g
MDsKKyAgICBDcnlwdG9LZXlVc2FnZUJpdG1hcCBrZXlVc2FnZXMgPSAwOwogICAgIGlmIChzdGF0
ZS5hcmd1bWVudENvdW50KCkgPj0gNykgewogICAgICAgICBhdXRvIHN1Y2Nlc3MgPSBjcnlwdG9L
ZXlVc2FnZXNGcm9tSlNWYWx1ZShzdGF0ZSwgc3RhdGUuYXJndW1lbnQoNiksIGtleVVzYWdlcyk7
CiAgICAgICAgIEFTU0VSVChzY29wZS5leGNlcHRpb24oKSB8fCBzdWNjZXNzKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmlu
ZGV4IDU5NzNjYTFkMWU0MDMxODljMjZkMTRkNjMzYTAyYTljMjQwYTBkYWUuLmYwYzQwOTUxNGFi
MWM2N2UyOTg4NjE4NzJjMWRjOWFmNmI3NDBjZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMjI5LDcgKzIyOSw3
IEBAIGVudW0gY2xhc3MgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllclRhZyB7CiB9OwogY29uc3Qg
dWludDhfdCBjcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyVGFnTWF4aW11bVZhbHVlID0gMjE7CiAK
LXN0YXRpYyB1bnNpZ25lZCBjb3VudFVzYWdlcyhDcnlwdG9LZXlVc2FnZSB1c2FnZXMpCitzdGF0
aWMgdW5zaWduZWQgY291bnRVc2FnZXMoQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzKQogewog
ICAgIC8vIEZhc3QgYml0IGNvdW50IGFsZ29yaXRobSBmb3Igc3BhcnNlIGJpdCBtYXBzLgogICAg
IHVuc2lnbmVkIGNvdW50ID0gMDsKQEAgLTExNTgsNyArMTE1OCw3IEBAIHByaXZhdGU6CiAKICAg
ICAgICAgd3JpdGUoa2V5LT5leHRyYWN0YWJsZSgpKTsKIAotICAgICAgICBDcnlwdG9LZXlVc2Fn
ZSB1c2FnZXMgPSBrZXktPnVzYWdlc0JpdG1hcCgpOworICAgICAgICBDcnlwdG9LZXlVc2FnZUJp
dG1hcCB1c2FnZXMgPSBrZXktPnVzYWdlc0JpdG1hcCgpOwogICAgICAgICB3cml0ZShjb3VudFVz
YWdlcyh1c2FnZXMpKTsKICAgICAgICAgaWYgKHVzYWdlcyAmIENyeXB0b0tleVVzYWdlRW5jcnlw
dCkKICAgICAgICAgICAgIHdyaXRlKENyeXB0b0tleVVzYWdlVGFnOjpFbmNyeXB0KTsKQEAgLTIw
MDAsNyArMjAwMCw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAot
ICAgIGJvb2wgcmVhZEhNQUNLZXkoYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNh
Z2VzLCBSZWZQdHI8Q3J5cHRvS2V5PiYgcmVzdWx0KQorICAgIGJvb2wgcmVhZEhNQUNLZXkoYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBSZWZQdHI8Q3J5cHRv
S2V5PiYgcmVzdWx0KQogICAgIHsKICAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IGtleURhdGE7CiAg
ICAgICAgIGlmICghcmVhZChrZXlEYXRhKSkKQEAgLTIwMTIsNyArMjAxMiw3IEBAIHByaXZhdGU6
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIGJvb2wgcmVhZEFFU0tleShib29s
IGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIFJlZlB0cjxDcnlwdG9LZXk+JiBy
ZXN1bHQpCisgICAgYm9vbCByZWFkQUVTS2V5KGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVz
YWdlQml0bWFwIHVzYWdlcywgUmVmUHRyPENyeXB0b0tleT4mIHJlc3VsdCkKICAgICB7CiAgICAg
ICAgIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtOwogICAgICAgICBpZiAoIXJl
YWQoYWxnb3JpdGhtKSkKQEAgLTIwMjYsNyArMjAyNiw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgIH0KIAotICAgIGJvb2wgcmVhZFJTQUtleShib29sIGV4dHJhY3RhYmxl
LCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIFJlZlB0cjxDcnlwdG9LZXk+JiByZXN1bHQpCisgICAg
Ym9vbCByZWFkUlNBS2V5KGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVz
YWdlcywgUmVmUHRyPENyeXB0b0tleT4mIHJlc3VsdCkKICAgICB7CiAgICAgICAgIENyeXB0b0Fs
Z29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtOwogICAgICAgICBpZiAoIXJlYWQoYWxnb3JpdGht
KSkKQEAgLTIxMTgsNyArMjExOCw3IEBAIHByaXZhdGU6CiAgICAgICAgIGlmICghcmVhZCh1c2Fn
ZXNDb3VudCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgQ3J5cHRvS2V5
VXNhZ2UgdXNhZ2VzID0gMDsKKyAgICAgICAgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzID0g
MDsKICAgICAgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IHVzYWdlc0NvdW50OyArK2kpIHsK
ICAgICAgICAgICAgIENyeXB0b0tleVVzYWdlVGFnIHVzYWdlOwogICAgICAgICAgICAgaWYgKCFy
ZWFkKHVzYWdlKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdv
cml0aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5jcHAKaW5k
ZXggMDE2ZTVmZjM5NGVjNDZkMzc4OWU2MmNmZmI4ZDdkM2E5ZWE1ODdjZS4uMWQzMWI3NGQwNjE1
OTE1MjY2OTM1Yzk5NTZhNWY0MjI3YzBhZjJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL0NyeXB0b0FsZ29yaXRobS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0Ny
eXB0b0FsZ29yaXRobS5jcHAKQEAgLTQwLDEyICs0MCwxMiBAQCBDcnlwdG9BbGdvcml0aG06On5D
cnlwdG9BbGdvcml0aG0oKQogewogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobTo6Z2VuZXJhdGVL
ZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJv
b2wsIENyeXB0b0tleVVzYWdlLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxs
YmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKK3ZvaWQg
Q3J5cHRvQWxnb3JpdGhtOjpnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9y
S2V5UGFpckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ss
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQogewogICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE5PVF9T
VVBQT1JURURfRVJSKTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG06OmltcG9ydEtleShTdWJ0
bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5
cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCwgQ3J5cHRvS2V5VXNhZ2UsIEtleUNhbGxi
YWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCit2b2lkIENyeXB0
b0FsZ29yaXRobTo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYs
IGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29s
LCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2sm
JiBleGNlcHRpb25DYWxsYmFjaykKIHsKICAgICBleGNlcHRpb25DYWxsYmFjayhOT1RfU1VQUE9S
VEVEX0VSUik7CiB9CkBAIC03NSwxMiArNzUsMTIgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG06OmRp
Z2VzdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IEMK
ICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobTo6
Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBi
b29sLCBDcnlwdG9LZXlVc2FnZSwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNr
JiYsIEV4Y2VwdGlvbkNvZGUmIGVjLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKK3ZvaWQgQ3J5
cHRvQWxnb3JpdGhtOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
RGVwcmVjYXRlZCYsIGJvb2wsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxs
YmFjayYmLCBWb2lkQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ29kZSYgZWMsIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqKQogewogICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CiB9CiAKLXZvaWQgQ3J5
cHRvQWxnb3JpdGhtOjpkZXJpdmVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0Rl
cHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBDcnlwdG9BbGdvcml0aG0qLCBib29sLCBDcnlw
dG9LZXlVc2FnZSwgS2V5Q2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYsIEV4Y2VwdGlvbkNvZGUm
IGVjKQordm9pZCBDcnlwdG9BbGdvcml0aG06OmRlcml2ZUtleShjb25zdCBDcnlwdG9BbGdvcml0
aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIENyeXB0b0FsZ29yaXRo
bSosIGJvb2wsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBWb2lkQ2FsbGJh
Y2smJiwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsK
IH0KQEAgLTkwLDcgKzkwLDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG06OmRlcml2ZUJpdHMoY29u
c3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb24KICAgICBlYyA9IE5P
VF9TVVBQT1JURURfRVJSOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobTo6aW1wb3J0S2V5KGNv
bnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5
RGF0YSYsIGJvb2wsIENyeXB0b0tleVVzYWdlLCBLZXlDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2sm
JiwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIENyeXB0b0FsZ29yaXRobTo6aW1wb3J0S2V5KGNv
bnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5
RGF0YSYsIGJvb2wsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBWb2lkQ2Fs
bGJhY2smJiwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VS
UjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0u
aCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uaAppbmRleCAwNTU4M2Zm
NTUzNTljNjc5NzZkN2IwMGJhY2I3MDhiMWI1ODZhYWE4Li4zNGJhYzM3YTM5OTk3ZTk2NGY5Mzkx
ZWY1MTQwZWFiNmQ5ODhhZjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5
cHRvQWxnb3JpdGhtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRo
bS5oCkBAIC02Nyw4ICs2Nyw4IEBAIHB1YmxpYzoKICAgICB1c2luZyBWb2lkQ2FsbGJhY2sgPSBX
VEY6OkZ1bmN0aW9uPHZvaWQoKT47CiAgICAgdXNpbmcgRXhjZXB0aW9uQ2FsbGJhY2sgPSBXVEY6
OkZ1bmN0aW9uPHZvaWQoRXhjZXB0aW9uQ29kZSk+OwogCi0gICAgdmlydHVhbCB2b2lkIGdlbmVy
YXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYm
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5T3JLZXlQYWlyQ2FsbGJhY2sm
JiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwotICAgIHZp
cnR1YWwgdm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwg
Y29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wg
ZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxs
YmFjayYmKTsKKyAgICB2aXJ0dWFsIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVf
cHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0
b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFj
ayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisgICAgdmlydHVhbCB2b2lkIGltcG9ydEtl
eShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9w
dHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpOwogCiAg
ICAgLy8gVGhlIGZvbGxvd2luZyB3aWxsIGJlIGRlcHJlY2F0ZWQuCiAgICAgdmlydHVhbCB2b2lk
IGVuY3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25z
dCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2sm
JiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJik7CkBAIC03
NiwxMCArNzYsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzaWduKGNvbnN0IENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3Qg
Q3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZh
aWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCB2ZXJpZnko
Y29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9L
ZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBzaWduYXR1cmUsIGNvbnN0IENyeXB0b09w
ZXJhdGlvbkRhdGEmLCBCb29sQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxi
YWNrLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdmlydHVhbCB2b2lkIGRpZ2VzdChjb25zdCBDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRh
dGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4
Y2VwdGlvbkNvZGUmKTsKLSAgICB2aXJ0dWFsIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9L
ZXlVc2FnZSwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNh
bGxiYWNrLCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwotICAgIHZp
cnR1YWwgdm9pZCBkZXJpdmVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJl
Y2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmIGJhc2VLZXksIENyeXB0b0FsZ29yaXRobSogZGVyaXZl
ZEtleVR5cGUsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlDYWxsYmFjayYm
LCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2
aXJ0dWFsIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0Rl
cHJlY2F0ZWQmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JL
ZXlQYWlyQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRp
b25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworICAgIHZpcnR1YWwgdm9pZCBkZXJp
dmVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBD
cnlwdG9LZXkmIGJhc2VLZXksIENyeXB0b0FsZ29yaXRobSogZGVyaXZlZEtleVR5cGUsIGJvb2wg
ZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBWb2lkQ2Fs
bGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGVyaXZlQml0cyhjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYs
IGNvbnN0IENyeXB0b0tleSYgYmFzZUtleSwgdW5zaWduZWQgbG9uZyBsZW5ndGgsIFZlY3RvckNh
bGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYp
OwotICAgIHZpcnR1YWwgdm9pZCBpbXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlEYXRhJiwgYm9vbCBleHRyYWN0YWJsZSwg
Q3J5cHRvS2V5VXNhZ2UsIEtleUNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxs
YmFjaywgRXhjZXB0aW9uQ29kZSYpOworICAgIHZpcnR1YWwgdm9pZCBpbXBvcnRLZXkoY29uc3Qg
Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlEYXRh
JiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYs
IFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAg
Ly8gVGhlc2UgYXJlIG9ubHkgZGlmZmVyZW50IGZyb20gZW5jcnlwdC9kZWNyeXB0IGJlY2F1c2Ug
c29tZSBhbGdvcml0aG1zIG1heSBub3QgZXhwb3NlIGVuY3J5cHQvZGVjcnlwdC4KICAgICB2aXJ0
dWFsIHZvaWQgZW5jcnlwdEZvcldyYXBLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
c0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRh
JiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNl
cHRpb25Db2RlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuY3BwCmluZGV4IDYwMDc1MDY2
NzFkNThmMjEyNDZhZmQyNWU2YjliN2U0MTg1MTg1YmQuLmZjOTQzMGU1NGIyNThkMmI2ZmJmZThh
ZjNiZTY5MmQxOTc4ZmU5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9Dcnlw
dG9LZXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuY3BwCkBAIC0z
Myw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ3J5cHRvS2V5OjpDcnlwdG9L
ZXkoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG1JZGVudGlmaWVyLCBUeXBlIHR5
cGUsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcykKK0NyeXB0b0tleTo6
Q3J5cHRvS2V5KENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtSWRlbnRpZmllciwg
VHlwZSB0eXBlLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMp
CiAgICAgOiBtX2FsZ29yaXRobUlkZW50aWZpZXIoYWxnb3JpdGhtSWRlbnRpZmllcikKICAgICAs
IG1fdHlwZSh0eXBlKQogICAgICwgbV9leHRyYWN0YWJsZShleHRyYWN0YWJsZSkKQEAgLTQ1LDI2
ICs0NSwyNiBAQCBDcnlwdG9LZXk6On5DcnlwdG9LZXkoKQogewogfQogCi1hdXRvIENyeXB0b0tl
eTo6dXNhZ2VzKCkgY29uc3QgLT4gVmVjdG9yPFVzYWdlPgorYXV0byBDcnlwdG9LZXk6OnVzYWdl
cygpIGNvbnN0IC0+IFZlY3RvcjxDcnlwdG9LZXlVc2FnZT4KIHsKICAgICAvLyBUaGUgcmVzdWx0
IGlzIG9yZGVyZWQgYWxwaGFiZXRpY2FsbHkuCi0gICAgVmVjdG9yPFVzYWdlPiByZXN1bHQ7Cisg
ICAgVmVjdG9yPENyeXB0b0tleVVzYWdlPiByZXN1bHQ7CiAgICAgaWYgKG1fdXNhZ2VzICYgQ3J5
cHRvS2V5VXNhZ2VEZWNyeXB0KQotICAgICAgICByZXN1bHQuYXBwZW5kKFVzYWdlOjpEZWNyeXB0
KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChDcnlwdG9LZXlVc2FnZTo6RGVjcnlwdCk7CiAgICAg
aWYgKG1fdXNhZ2VzICYgQ3J5cHRvS2V5VXNhZ2VEZXJpdmVCaXRzKQotICAgICAgICByZXN1bHQu
YXBwZW5kKFVzYWdlOjpEZXJpdmVCaXRzKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChDcnlwdG9L
ZXlVc2FnZTo6RGVyaXZlQml0cyk7CiAgICAgaWYgKG1fdXNhZ2VzICYgQ3J5cHRvS2V5VXNhZ2VE
ZXJpdmVLZXkpCi0gICAgICAgIHJlc3VsdC5hcHBlbmQoVXNhZ2U6OkRlcml2ZUtleSk7CisgICAg
ICAgIHJlc3VsdC5hcHBlbmQoQ3J5cHRvS2V5VXNhZ2U6OkRlcml2ZUtleSk7CiAgICAgaWYgKG1f
dXNhZ2VzICYgQ3J5cHRvS2V5VXNhZ2VFbmNyeXB0KQotICAgICAgICByZXN1bHQuYXBwZW5kKFVz
YWdlOjpFbmNyeXB0KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChDcnlwdG9LZXlVc2FnZTo6RW5j
cnlwdCk7CiAgICAgaWYgKG1fdXNhZ2VzICYgQ3J5cHRvS2V5VXNhZ2VTaWduKQotICAgICAgICBy
ZXN1bHQuYXBwZW5kKFVzYWdlOjpTaWduKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChDcnlwdG9L
ZXlVc2FnZTo6U2lnbik7CiAgICAgaWYgKG1fdXNhZ2VzICYgQ3J5cHRvS2V5VXNhZ2VVbndyYXBL
ZXkpCi0gICAgICAgIHJlc3VsdC5hcHBlbmQoVXNhZ2U6OlVud3JhcEtleSk7CisgICAgICAgIHJl
c3VsdC5hcHBlbmQoQ3J5cHRvS2V5VXNhZ2U6OlVud3JhcEtleSk7CiAgICAgaWYgKG1fdXNhZ2Vz
ICYgQ3J5cHRvS2V5VXNhZ2VWZXJpZnkpCi0gICAgICAgIHJlc3VsdC5hcHBlbmQoVXNhZ2U6OlZl
cmlmeSk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoQ3J5cHRvS2V5VXNhZ2U6OlZlcmlmeSk7CiAg
ICAgaWYgKG1fdXNhZ2VzICYgQ3J5cHRvS2V5VXNhZ2VXcmFwS2V5KQotICAgICAgICByZXN1bHQu
YXBwZW5kKFVzYWdlOjpXcmFwS2V5KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChDcnlwdG9LZXlV
c2FnZTo6V3JhcEtleSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleS5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0Ny
eXB0b0tleS5oCmluZGV4IDJlZTkwMTBiOWRjMjcxYmFkZjU2Njg1MjFkMmI5MjdmOWRkODU1Y2Qu
LjAwMDJjNGVhOTNhOGZhZTFiNmI1NjUyNmRkOTA5YzEwMjE1OWFiMDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vQ3J5cHRvS2V5LmgKQEAgLTc4LDcgKzc4LDcgQEAgcHJpdmF0ZToKIGNsYXNzIENyeXB0b0tl
eSA6IHB1YmxpYyBSZWZDb3VudGVkPENyeXB0b0tleT4gewogcHVibGljOgogICAgIHVzaW5nIFR5
cGUgPSBDcnlwdG9LZXlUeXBlOwotICAgIENyeXB0b0tleShDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyLCBUeXBlLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSk7CisgICAgQ3J5cHRv
S2V5KENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIsIFR5cGUsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlQml0bWFwKTsKICAgICB2aXJ0dWFsIH5DcnlwdG9LZXkoKTsKIAogICAgIHZp
cnR1YWwgQ3J5cHRvS2V5Q2xhc3Mga2V5Q2xhc3MoKSBjb25zdCA9IDA7CkBAIC04NywxNiArODcs
MTMgQEAgcHVibGljOgogICAgIGJvb2wgZXh0cmFjdGFibGUoKSBjb25zdCB7IHJldHVybiBtX2V4
dHJhY3RhYmxlOyB9CiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8S2V5QWxnb3JpdGhtPiBi
dWlsZEFsZ29yaXRobSgpIGNvbnN0ID0gMDsKIAotICAgIC8vIEZJWE1FOiBDb25mdXNpbmcgdG8g
aGF2ZSBDcnlwdG9LZXlVc2FnZSBhbmQgQ3J5cHRvS2V5OjpVc2FnZSBuYW1lZCBhbG1vc3QgdGhl
IHNhbWUsIGJ1dCBiZSBzbGlnaHRseSBkaWZmZXJlbnQuCi0gICAgLy8gQ3J5cHRvS2V5VXNhZ2Ug
dmFsdWVzIGFyZSBiaXQgbWFza3Mgc28gdGhleSBjYW4gYmUgY29tYmluZWQgd2l0aCAib3IiLCB3
aGlsZSB0aGlzIGlzIGEgbm9ybWFsIGVudW0gdGhhdCBtdXN0Ci0gICAgLy8gbWF0Y2ggd2hhdCBp
cyBkZWZpbmVkIGluIHRoZSBJREwuIE1heWJlIHdlIGNhbiByZW5hbWUgQ3J5cHRvS2V5VXNhZ2Ug
dG8gQ3J5cHRvS2V5OjpVc2FnZXNCaXRtYXA/Ci0gICAgZW51bSBjbGFzcyBVc2FnZSB7IEVuY3J5
cHQsIERlY3J5cHQsIFNpZ24sIFZlcmlmeSwgRGVyaXZlS2V5LCBEZXJpdmVCaXRzLCBXcmFwS2V5
LCBVbndyYXBLZXkgfTsKLSAgICBWZWN0b3I8VXNhZ2U+IHVzYWdlcygpIGNvbnN0OworICAgIC8v
IE9ubHkgZm9yIGJpbmRpbmcgcHVycG9zZS4KKyAgICBWZWN0b3I8Q3J5cHRvS2V5VXNhZ2U+IHVz
YWdlcygpIGNvbnN0OwogCiAgICAgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG1J
ZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9hbGdvcml0aG1JZGVudGlmaWVyOyB9Ci0gICAg
Q3J5cHRvS2V5VXNhZ2UgdXNhZ2VzQml0bWFwKCkgY29uc3QgeyByZXR1cm4gbV91c2FnZXM7IH0K
LSAgICB2b2lkIHNldFVzYWdlc0JpdG1hcChDcnlwdG9LZXlVc2FnZSB1c2FnZSkgeyBtX3VzYWdl
cyA9IHVzYWdlOyB9OwotICAgIGJvb2wgYWxsb3dzKENyeXB0b0tleVVzYWdlIHVzYWdlKSBjb25z
dCB7IHJldHVybiB1c2FnZSA9PSAobV91c2FnZXMgJiB1c2FnZSk7IH0KKyAgICBDcnlwdG9LZXlV
c2FnZUJpdG1hcCB1c2FnZXNCaXRtYXAoKSBjb25zdCB7IHJldHVybiBtX3VzYWdlczsgfQorICAg
IHZvaWQgc2V0VXNhZ2VzQml0bWFwKENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlKSB7IG1fdXNh
Z2VzID0gdXNhZ2U7IH07CisgICAgYm9vbCBhbGxvd3MoQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNh
Z2UpIGNvbnN0IHsgcmV0dXJuIHVzYWdlID09IChtX3VzYWdlcyAmIHVzYWdlKTsgfQogCiAgICAg
dmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvS2V5RGF0YT4gZXhwb3J0RGF0YSgpIGNvbnN0
ID0gMDsKIApAQCAtMTA2LDcgKzEwMyw3IEBAIHByaXZhdGU6CiAgICAgQ3J5cHRvQWxnb3JpdGht
SWRlbnRpZmllciBtX2FsZ29yaXRobUlkZW50aWZpZXI7CiAgICAgVHlwZSBtX3R5cGU7CiAgICAg
Ym9vbCBtX2V4dHJhY3RhYmxlOwotICAgIENyeXB0b0tleVVzYWdlIG1fdXNhZ2VzOworICAgIENy
eXB0b0tleVVzYWdlQml0bWFwIG1fdXNhZ2VzOwogfTsKIAogaW5saW5lIGF1dG8gQ3J5cHRvS2V5
Ojp0eXBlKCkgY29uc3QgLT4gVHlwZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRv
L0NyeXB0b0tleS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmlkbAppbmRl
eCAzZDAxMTk5ZjljMGQ0ZTUzOTI3MTE5YzhmNDRjMzA2OGU5NTVhZWU3Li43MDhhOGQxMWQzNDJl
NzgyYzZhMTFkMjdkYTA0M2Y3YThkNGI1M2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vQ3J5cHRvS2V5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5
LmlkbApAQCAtMjksMTcgKzI5LDYgQEAgZW51bSBLZXlUeXBlIHsKICAgICAic2VjcmV0IgogfTsK
IAotZW51bSBLZXlVc2FnZSB7Ci0gICAgImVuY3J5cHQiLAotICAgICJkZWNyeXB0IiwKLSAgICAi
c2lnbiIsCi0gICAgInZlcmlmeSIsCi0gICAgImRlcml2ZUtleSIsCi0gICAgImRlcml2ZUJpdHMi
LAotICAgICJ3cmFwS2V5IiwKLSAgICAidW53cmFwS2V5IgotfTsKLQogWwogICAgIENvbmRpdGlv
bmFsPVNVQlRMRV9DUllQVE8sCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCkBAIC00OSw1
ICszOCw1IEBAIGVudW0gS2V5VXNhZ2UgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBLZXlUeXBl
IHR5cGU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZXh0cmFjdGFibGU7CiAgICAg
W0NhY2hlZEF0dHJpYnV0ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgb2JqZWN0
IGFsZ29yaXRobTsKLSAgICBbQ2FjaGVkQXR0cmlidXRlXSByZWFkb25seSBhdHRyaWJ1dGUgc2Vx
dWVuY2U8S2V5VXNhZ2U+IHVzYWdlczsKKyAgICBbQ2FjaGVkQXR0cmlidXRlXSByZWFkb25seSBh
dHRyaWJ1dGUgc2VxdWVuY2U8Q3J5cHRvS2V5VXNhZ2U+IHVzYWdlczsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5U2VyaWFsaXphdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleVNlcmlhbGl6YXRpb24uaAppbmRleCBiNTEyZDQ5NGNm
NmRmOWRjZWQwODMzMTZhNmI5NmRiM2QyYjFiNjcyLi5kMDYzMTRlYTk1NzJlMjlkNWViNTM3NzMy
ZGZkMDhlMWFiOWU3ODExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRv
S2V5U2VyaWFsaXphdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXlT
ZXJpYWxpemF0aW9uLmgKQEAgLTU1LDcgKzU1LDcgQEAgcHVibGljOgogICAgIC8vIFJldHVybnMg
ZmFsc2UgaWYgc3VnZ2VzdGVkIGFsZ29yaXRobSB3YXMgbm90IGNvbXBhdGlibGUgd2l0aCBvbmUg
c3RvcmVkIGluIHRoZSBzZXJpYWxpemF0aW9uLgogICAgIHZpcnR1YWwgT3B0aW9uYWw8Q3J5cHRv
QWxnb3JpdGhtUGFpcj4gcmVjb25jaWxlQWxnb3JpdGhtKENyeXB0b0FsZ29yaXRobSosIENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkKikgY29uc3QgPSAwOwogCi0gICAgdmlydHVh
bCB2b2lkIHJlY29uY2lsZVVzYWdlcyhDcnlwdG9LZXlVc2FnZSYpIGNvbnN0ID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgcmVjb25jaWxlVXNhZ2VzKENyeXB0b0tleVVzYWdlQml0bWFwJikgY29uc3Qg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCByZWNvbmNpbGVFeHRyYWN0YWJsZShib29sJikgY29uc3Qg
PSAwOwogCiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvS2V5RGF0YT4ga2V5RGF0
YSgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9L
ZXlVc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleVVzYWdlLmgKaW5kZXgg
NmJiZWJmOGQwY2ZlMDNkYjc4YzIyMjgyNDI0ZjlmNWQzZTRhYzViYy4uNzc1NzNiZjA0MDBkNGZh
ZmM5NDBlNmU4N2YzNTdmYzZjZjUwZjM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5
cHRvL0NyeXB0b0tleVVzYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tl
eVVzYWdlLmgKQEAgLTQxLDcgKzQxLDE5IEBAIGVudW0gewogICAgIENyeXB0b0tleVVzYWdlVW53
cmFwS2V5ID0gMSA8PCA3CiB9OwogCi10eXBlZGVmIGludCBDcnlwdG9LZXlVc2FnZTsKK3R5cGVk
ZWYgaW50IENyeXB0b0tleVVzYWdlQml0bWFwOworCisvLyBPbmx5IGZvciBiaW5kaW5nIHB1cnBv
c2UuCitlbnVtIGNsYXNzIENyeXB0b0tleVVzYWdlIHsKKyAgICBFbmNyeXB0LAorICAgIERlY3J5
cHQsCisgICAgU2lnbiwKKyAgICBWZXJpZnksCisgICAgRGVyaXZlS2V5LAorICAgIERlcml2ZUJp
dHMsCisgICAgV3JhcEtleSwKKyAgICBVbndyYXBLZXkKK307CiAKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleVVzYWdlLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9DcnlwdG9LZXlVc2FnZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTUxOTQ4MDhiMDdhMzU1Njgz
Y2VmYmZjZmIwMjdhNGJjMzkwMjM2MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9DcnlwdG9LZXlVc2FnZS5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K2VudW0gQ3J5cHRvS2V5VXNhZ2UgeworICAgICJlbmNyeXB0IiwKKyAgICAiZGVjcnlwdCIsCisg
ICAgInNpZ24iLAorICAgICJ2ZXJpZnkiLAorICAgICJkZXJpdmVLZXkiLAorICAgICJkZXJpdmVC
aXRzIiwKKyAgICAid3JhcEtleSIsCisgICAgInVud3JhcEtleSIKK307CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vSnNvbldlYktleS5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRv
L0pzb25XZWJLZXkuaAppbmRleCBiODA5OThiZjYxYWVjNTUwYzYyOWNhNzY1ZDVmMDI3OWFiZDJh
NTFmLi4yMjNlZTQ4ZDk3Mzg5YjlhMGUzMDM2Mzg4YmRmMTk5Mjk1Mjg0MmIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vSnNvbldlYktleS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9Kc29uV2ViS2V5LmgKQEAgLTM3LDggKzM3LDggQEAgc3RydWN0IEpzb25XZWJLZXkg
ewogICAgIFN0cmluZyBrdHk7CiAgICAgT3B0aW9uYWw8U3RyaW5nPiB1c2U7CiAgICAgLy8gRklY
TUU6IENvbnNpZGVyIG1lcmdpbmcga2V5X29wcyBhbmQgdXNhZ2VzLgotICAgIE9wdGlvbmFsPFZl
Y3RvcjxTdHJpbmc+PiBrZXlfb3BzOwotICAgIENyeXB0b0tleVVzYWdlIHVzYWdlczsKKyAgICBP
cHRpb25hbDxWZWN0b3I8Q3J5cHRvS2V5VXNhZ2U+PiBrZXlfb3BzOworICAgIENyeXB0b0tleVVz
YWdlQml0bWFwIHVzYWdlczsKICAgICBPcHRpb25hbDxTdHJpbmc+IGFsZzsKIAogICAgIE9wdGlv
bmFsPGJvb2w+IGV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9Kc29uV2Vi
S2V5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9Kc29uV2ViS2V5LmlkbAppbmRleCA3NmU0
YzRiMDEwMTJhNGVjODExODQyMGRiNzU1YTI4YjFkN2UxMDhjLi40NzcyMDhiOWVmYzVkNzM4NWRl
OTkxMjJlZWM3NTdmYjIyYzY4YWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
SnNvbldlYktleS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0pzb25XZWJLZXkuaWRs
CkBAIC0yOSw3ICsyOSw3IEBACiAgICAgLy8gVGhlIGZvbGxvd2luZyBmaWVsZHMgYXJlIGRlZmlu
ZWQgaW4gU2VjdGlvbiAzLjEgb2YgSlNPTiBXZWIgS2V5CiAgICAgcmVxdWlyZWQgRE9NU3RyaW5n
IGt0eTsKICAgICBET01TdHJpbmcgdXNlOwotICAgIHNlcXVlbmNlPERPTVN0cmluZz4ga2V5X29w
czsKKyAgICBzZXF1ZW5jZTxDcnlwdG9LZXlVc2FnZT4ga2V5X29wczsKICAgICBET01TdHJpbmcg
YWxnOwogCiAgICAgLy8gVGhlIGZvbGxvd2luZyBmaWVsZHMgYXJlIGRlZmluZWQgaW4gSlNPTiBX
ZWIgS2V5IFBhcmFtZXRlcnMgUmVnaXN0cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVD
cnlwdG8uaWRsCmluZGV4IGMzMzhlMDMxMGE5Njc2ZDMzNWY2MmMzY2YxZGExMmYyNTdlM2EwZmYu
LmZkZjIxZjY3OThlMDdiODcyZjE3YzBkNWEwOWVmYTk5Njk5YzNkODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlwdG8uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9TdWJ0bGVDcnlwdG8uaWRsCkBAIC0zMiw2ICszMiw2IEBAIGVudW0gS2V5Rm9ybWF0
IHsgInJhdyIsICJzcGtpIiwgInBrY3M4IiwgImp3ayIgfTsKICAgICBOb0ludGVyZmFjZU9iamVj
dCwKIF0gaW50ZXJmYWNlIFN1YnRsZUNyeXB0byB7CiAgICAgLy8gRklYTUU6IFNob3VsZCB0aGlz
IHJldHVybiBhIFByb21pc2U8KENyeXB0b0tleSBvciBDcnlwdG9LZXlQYWlyKT4/Ci0gICAgW0N1
c3RvbV0gUHJvbWlzZTxhbnk+IGdlbmVyYXRlS2V5KEFsZ29yaXRobUlkZW50aWZpZXIgYWxnb3Jp
dGhtLCBib29sZWFuIGV4dHJhY3RhYmxlLCBzZXF1ZW5jZTxLZXlVc2FnZT4ga2V5VXNhZ2VzKTsK
LSAgICBbQ3VzdG9tXSBQcm9taXNlPENyeXB0b0tleT4gaW1wb3J0S2V5KEtleUZvcm1hdCBmb3Jt
YXQsIChCdWZmZXJTb3VyY2Ugb3IgSnNvbldlYktleSkga2V5RGF0YSwgQWxnb3JpdGhtSWRlbnRp
ZmllciBhbGdvcml0aG0sIGJvb2xlbiBleHRyYWN0YWJsZSwgc2VxdWVuY2U8S2V5VXNhZ2U+IGtl
eVVzYWdlcyk7CisgICAgW0N1c3RvbV0gUHJvbWlzZTxhbnk+IGdlbmVyYXRlS2V5KEFsZ29yaXRo
bUlkZW50aWZpZXIgYWxnb3JpdGhtLCBib29sZWFuIGV4dHJhY3RhYmxlLCBzZXF1ZW5jZTxDcnlw
dG9LZXlVc2FnZT4ga2V5VXNhZ2VzKTsKKyAgICBbQ3VzdG9tXSBQcm9taXNlPENyeXB0b0tleT4g
aW1wb3J0S2V5KEtleUZvcm1hdCBmb3JtYXQsIChCdWZmZXJTb3VyY2Ugb3IgSnNvbldlYktleSkg
a2V5RGF0YSwgQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIGJvb2xlbiBleHRyYWN0YWJs
ZSwgc2VxdWVuY2U8Q3J5cHRvS2V5VXNhZ2U+IGtleVVzYWdlcyk7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNf
Q0JDLmNwcAppbmRleCA1OGUzNDViYmIwNTdjMDUwMzdiMTJlYTBkYzY1YjYwZjIwZWRhMmJlLi4x
Y2ZjMjkwZGQ0OGI1ZTEzYmJiODk4Zjk1NzMyMjEwNmRkZjA2MWNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNf
Q0JDLmNwcApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0IGNo
YXIqIGNvbnN0IENyeXB0b0FsZ29yaXRobUFFU19DQkM6OnNfbmFtZSA9ICJBRVMtQ0JDIjsKIAot
c3RhdGljIGlubGluZSBib29sIHVzYWdlc0FyZUludmFsaWRGb3JDcnlwdG9BbGdvcml0aG1BRVNf
Q0JDKENyeXB0b0tleVVzYWdlIHVzYWdlcykKK3N0YXRpYyBpbmxpbmUgYm9vbCB1c2FnZXNBcmVJ
bnZhbGlkRm9yQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQyhDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2Fn
ZXMpCiB7CiAgICAgcmV0dXJuIHVzYWdlcyAmIChDcnlwdG9LZXlVc2FnZVNpZ24gfCBDcnlwdG9L
ZXlVc2FnZVZlcmlmeSB8IENyeXB0b0tleVVzYWdlRGVyaXZlS2V5IHwgQ3J5cHRvS2V5VXNhZ2VE
ZXJpdmVCaXRzKTsKIH0KQEAgLTcxLDcgKzcxLDcgQEAgYm9vbCBDcnlwdG9BbGdvcml0aG1BRVNf
Q0JDOjprZXlBbGdvcml0aG1NYXRjaGVzKGNvbnN0IENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmEK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpnZW5l
cmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4m
JiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIEtl
eU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0
aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQordm9pZCBDcnlwdG9BbGdvcml0
aG1BRVNfQ0JDOjpnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlV
c2FnZUJpdG1hcCB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
KQogewogICAgIGNvbnN0IGF1dG8mIGFlc1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdv
cml0aG1BZXNLZXlHZW5QYXJhbXM+KCpwYXJhbWV0ZXJzKTsKIApAQCAtODksNyArODksNyBAQCB2
b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVl
X3B0cjxDcnlwdG9BbGdvcml0aG1QYQogICAgIGNhbGxiYWNrKHJlc3VsdC5nZXQoKSwgbnVsbHB0
cik7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6aW1wb3J0S2V5KFN1YnRsZUNy
eXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwgS2V5RGF0YSYmIGRhdGEsIGNvbnN0IHN0ZDo6dW5pcXVl
X3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFj
dGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhj
ZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykKK3ZvaWQgQ3J5cHRvQWxnb3JpdGht
QUVTX0NCQzo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwgS2V5RGF0
YSYmIGRhdGEsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
PiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVz
YWdlcywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRp
b25DYWxsYmFjaykKIHsKICAgICBpZiAodXNhZ2VzQXJlSW52YWxpZEZvckNyeXB0b0FsZ29yaXRo
bUFFU19DQkModXNhZ2VzKSkgewogICAgICAgICBleGNlcHRpb25DYWxsYmFjayhTWU5UQVhfRVJS
KTsKQEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmRlY3J5
cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmCiAgICAgcGxhdGZv
cm1EZWNyeXB0KGFlc0NCQ1BhcmFtZXRlcnMsIGRvd25jYXN0PENyeXB0b0tleUFFUz4oa2V5KSwg
ZGF0YSwgV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUoZmFpbHVyZUNhbGxiYWNrKSwgZWMpOwog
fQogCi12b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3Rh
YmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJh
Y2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqKQordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpnZW5lcmF0
ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYgcGFyYW1ldGVy
cywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlPcktl
eVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ss
IEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKIHsKICAgICBjb25zdCBD
cnlwdG9BbGdvcml0aG1BZXNLZXlHZW5QYXJhbXNEZXByZWNhdGVkJiBhZXNQYXJhbWV0ZXJzID0g
ZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zRGVwcmVjYXRlZD4ocGFyYW1l
dGVycyk7CiAKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6
OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdAogICAg
IGNhbGxiYWNrKHJlc3VsdC5nZXQoKSwgbnVsbHB0cik7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3Jp
dGhtQUVTX0NCQzo6aW1wb3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXBy
ZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5RGF0YSYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwg
Q3J5cHRvS2V5VXNhZ2UgdXNhZ2UsIEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFj
ayYmLCBFeGNlcHRpb25Db2RlJiBlYykKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6aW1w
b3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3Qg
Q3J5cHRvS2V5RGF0YSYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VC
aXRtYXAgdXNhZ2UsIEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmLCBFeGNl
cHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoIWlzPENyeXB0b0tleURhdGFPY3RldFNlcXVlbmNl
PihrZXlEYXRhKSkgewogICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NC
Qy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVT
X0NCQy5oCmluZGV4IGJhNGFmMGYyNzIzNzEwZWRiNTAzMjgwOTU3M2YzNTcwYmI2N2ExZjUuLmMx
MzdhZTNlMDkyODM2MzdlZGVhMWUyNDg4ZGY1Yjc5MGE1ZjdjZDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JD
LmgKQEAgLTQ0LDE0ICs0NCwxNCBAQCBwdWJsaWM6CiAKICAgICBDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCBvdmVycmlkZTsKIAotICAgIHZvaWQgZ2VuZXJhdGVL
ZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJv
b2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBF
eGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgZmluYWw7Ci0gICAg
dm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qg
c3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFj
dGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYm
KSBmaW5hbDsKKyAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2Fn
ZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCopIGZpbmFsOworICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNy
eXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9B
bGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJp
dG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CiAKICAgICAv
LyBUaGUgZm9sbG93aW5nIHdpbGwgYmUgZGVwcmVjYXRlZC4KICAgICB2b2lkIGVuY3J5cHQoY29u
c3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkm
LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxi
YWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBkZWNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29u
c3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNr
JiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJy
aWRlOwotICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
c0RlcHJlY2F0ZWQmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5T3JLZXlQ
YWlyQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25D
b2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOwotICAgIHZvaWQgaW1wb3J0
S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5
cHRvS2V5RGF0YSYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlDYWxsYmFj
ayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVy
cmlkZTsKKyAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRl
cnNEZXByZWNhdGVkJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtl
eU9yS2V5UGFpckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhj
ZXB0aW9uQ29kZSYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBvdmVycmlkZTsKKyAgICB2b2lk
IGltcG9ydEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNv
bnN0IENyeXB0b0tleURhdGEmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1h
cCwgS2V5Q2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRp
b25Db2RlJikgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgQ3J5cHRvQWxnb3JpdGhtQUVTX0NC
QygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRv
QWxnb3JpdGhtQUVTX0tXLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUFFU19LVy5jcHAKaW5kZXggZGUzMGUzYTAyOWQwODAxZTdkZDk1Y2FmOGQ3
ZjAyZDczYjJiNjNkMS4uYzhiMjNjNmZmY2ZjNjZiNGYwNzA3MzMyMWFlZDZkNWQxNWU2OThmOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtQUVTX0tXLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9Dcnlw
dG9BbGdvcml0aG1BRVNfS1cuY3BwCkBAIC0zOCw3ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY29uc3QgY2hhciogY29uc3QgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpzX25hbWUgPSAi
QUVTLUtXIjsKIAotc3RhdGljIGlubGluZSBib29sIHVzYWdlc0FyZUludmFsaWRGb3JDcnlwdG9B
bGdvcml0aG1BRVNfS1coQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzKQorc3RhdGljIGlubGluZSBib29s
IHVzYWdlc0FyZUludmFsaWRGb3JDcnlwdG9BbGdvcml0aG1BRVNfS1coQ3J5cHRvS2V5VXNhZ2VC
aXRtYXAgdXNhZ2VzKQogewogICAgIHJldHVybiB1c2FnZXMgJiAoQ3J5cHRvS2V5VXNhZ2VTaWdu
IHwgQ3J5cHRvS2V5VXNhZ2VWZXJpZnkgfCBDcnlwdG9LZXlVc2FnZURlcml2ZUtleSB8IENyeXB0
b0tleVVzYWdlRGVyaXZlQml0cyB8IENyeXB0b0tleVVzYWdlRW5jcnlwdCB8IENyeXB0b0tleVVz
YWdlRGVjcnlwdCk7CiB9CkBAIC03MCw3ICs3MCw3IEBAIGJvb2wgQ3J5cHRvQWxnb3JpdGhtQUVT
X0tXOjprZXlBbGdvcml0aG1NYXRjaGVzKGNvbnN0IENyeXB0b0tleSYga2V5KSBjb25zdAogICAg
IHJldHVybiB0cnVlOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobUFFU19LVzo6Z2VuZXJhdGVL
ZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFy
YW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlPcktl
eVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNh
bGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVT
X0tXOjpnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJp
dG1hcCB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNh
bGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQogewog
ICAgIGNvbnN0IGF1dG8mIGFlc1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1B
ZXNLZXlHZW5QYXJhbXM+KCpwYXJhbWV0ZXJzKTsKIApAQCAtODgsNyArODgsNyBAQCB2b2lkIENy
eXB0b0FsZ29yaXRobUFFU19LVzo6Z2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENy
eXB0b0FsZ29yaXRobVBhcgogICAgIGNhbGxiYWNrKHJlc3VsdC5nZXQoKSwgbnVsbHB0cik7CiB9
CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjppbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpL
ZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwg
Q3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25D
YWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfS1c6
OmltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBkYXRh
LCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJh
bWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtl
eUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJh
Y2spCiB7CiAgICAgaWYgKHVzYWdlc0FyZUludmFsaWRGb3JDcnlwdG9BbGdvcml0aG1BRVNfS1co
dXNhZ2VzKSkgewogICAgICAgICBleGNlcHRpb25DYWxsYmFjayhTWU5UQVhfRVJSKTsKQEAgLTE0
Nyw3ICsxNDcsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19LVzo6ZGVjcnlwdEZvclVud3Jh
cEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRAogICAgIHBsYXRmb3JtRGVjcnlw
dChkb3duY2FzdDxDcnlwdG9LZXlBRVM+KGtleSksIGRhdGEsIFdURk1vdmUoY2FsbGJhY2spLCBX
VEZNb3ZlKGZhaWx1cmVDYWxsYmFjayksIGVjKTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1B
RVNfS1c6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNh
dGVkJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMs
IEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVD
YWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQordm9pZCBD
cnlwdG9BbGdvcml0aG1BRVNfS1c6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9L
ZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZv
aWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKQogewogICAgIGNvbnN0IENyeXB0b0FsZ29yaXRobUFlc0tleUdlblBhcmFt
c0RlcHJlY2F0ZWQmIGFlc1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1BZXNL
ZXlHZW5QYXJhbXNEZXByZWNhdGVkPihwYXJhbWV0ZXJzKTsKIApAQCAtMTYwLDcgKzE2MCw3IEBA
IHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlCiAgICAgY2FsbGJhY2socmVzdWx0LmdldCgpLCBudWxs
cHRyKTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfS1c6OmltcG9ydEtleShjb25zdCBD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleURhdGEm
IGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlLCBLZXlDYWxs
YmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lk
IENyeXB0b0FsZ29yaXRobUFFU19LVzo6aW1wb3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5RGF0YSYga2V5RGF0YSwgYm9vbCBl
eHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2UsIEtleUNhbGxiYWNrJiYgY2Fs
bGJhY2ssIFZvaWRDYWxsYmFjayYmLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoIWlz
PENyeXB0b0tleURhdGFPY3RldFNlcXVlbmNlPihrZXlEYXRhKSkgewogICAgICAgICBlYyA9IE5P
VF9TVVBQT1JURURfRVJSOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29y
aXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuaAppbmRleCBiM2JiODA3N2Y5YmQ0YmE0MTdk
MTM1ODg4NGI1MjhlZjMxMGMzODNhLi5mMjMyNDIxOWJmM2VlOGIwMGVmZGVkYjQzNTc3ZDcwZDFm
OTRmNDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9Dcnlw
dG9BbGdvcml0aG1BRVNfS1cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuaApAQCAtNDMsMTQgKzQzLDE0IEBAIHB1YmxpYzoKIAog
ICAgIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IG92ZXJyaWRl
OwogCi0gICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtl
eU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqKSBmaW5hbDsKLSAgICB2b2lkIGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZv
cm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleUNhbGxiYWNr
JiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpIGZpbmFsOworICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29u
c3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBF
eGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgZmluYWw7CisgICAg
dm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qg
c3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFj
dGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxs
YmFjayYmKSBmaW5hbDsKIAogICAgIC8vIFRoZSBmb2xsb3dpbmcgd2lsbCBiZSBkZXByZWNhdGVk
LgogICAgIHZvaWQgZW5jcnlwdEZvcldyYXBLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25E
YXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBF
eGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkZWNyeXB0Rm9yVW53cmFwS2V5KGNv
bnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5
JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxs
YmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwotICAgIHZv
aWQgZ2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQm
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5T3JLZXlQYWlyQ2FsbGJhY2sm
JiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOwotICAgIHZvaWQgaW1wb3J0S2V5KGNvbnN0IENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5RGF0YSYs
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlDYWxsYmFjayYmLCBWb2lkQ2Fs
bGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKKyAgICB2
b2lkIGdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVk
JiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNh
bGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYs
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGltcG9ydEtleShj
b25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tl
eURhdGEmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJh
Y2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikgb3Zl
cnJpZGU7CiAKIHByaXZhdGU6CiAgICAgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFD
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhN
QUMuY3BwCmluZGV4IDIyNWRiODk3ZjcwZWEzNzdkMmEzNDRlMjQ3NTAyZGRmNTkzZmM3MDEuLjRk
OTY5OWM5YjdmZWNkZDA1NTU5MjUxZGZhNjhhYzVhNDkyOTc4MGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuY3Bw
CkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgY2hhciogY29u
c3QgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6c19uYW1lID0gIkhNQUMiOwogCi1zdGF0aWMgaW5saW5l
IGJvb2wgdXNhZ2VzQXJlSW52YWxpZEZvckNyeXB0b0FsZ29yaXRobUhNQUMoQ3J5cHRvS2V5VXNh
Z2UgdXNhZ2VzKQorc3RhdGljIGlubGluZSBib29sIHVzYWdlc0FyZUludmFsaWRGb3JDcnlwdG9B
bGdvcml0aG1ITUFDKENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcykKIHsKICAgICByZXR1cm4g
dXNhZ2VzICYgKENyeXB0b0tleVVzYWdlRW5jcnlwdCB8IENyeXB0b0tleVVzYWdlRGVjcnlwdCB8
IENyeXB0b0tleVVzYWdlRGVyaXZlS2V5IHwgQ3J5cHRvS2V5VXNhZ2VEZXJpdmVCaXRzIHwgQ3J5
cHRvS2V5VXNhZ2VXcmFwS2V5IHwgQ3J5cHRvS2V5VXNhZ2VVbndyYXBLZXkpOwogfQpAQCAtNzMs
NyArNzMsNyBAQCBib29sIENyeXB0b0FsZ29yaXRobUhNQUM6OmtleUFsZ29yaXRobU1hdGNoZXMo
Y29uc3QgQ3J5cHRvQWxnb3JpdGhtSG1hY1BhcmFtc0RlcAogICAgIHJldHVybiB0cnVlOwogfQog
Ci12b2lkIENyeXB0b0FsZ29yaXRobUhNQUM6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVl
X3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFj
dGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxs
YmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCopCit2b2lkIENyeXB0b0FsZ29yaXRobUhNQUM6OmdlbmVyYXRlS2V5KGNvbnN0
IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMs
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5T3JLZXlQ
YWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxs
YmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopCiB7CiAgICAgY29uc3QgYXV0byYgaG1hY1Bh
cmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1IbWFjS2V5UGFyYW1zPigqcGFyYW1l
dGVycyk7CiAKQEAgLTk2LDcgKzk2LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1ITUFDOjpnZW5l
cmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW0KICAgICBj
YWxsYmFjayhyZXN1bHQuZ2V0KCksIG51bGxwdHIpOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRo
bUhNQUM6OmltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEm
JiBkYXRhLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4m
JiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIEtl
eUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJh
Y2spCit2b2lkIENyeXB0b0FsZ29yaXRobUhNQUM6OmltcG9ydEtleShTdWJ0bGVDcnlwdG86Oktl
eUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBkYXRhLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5
cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCiB7CiAgICAgY29uc3QgYXV0byYgaG1h
Y1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1IbWFjS2V5UGFyYW1zPigqcGFy
YW1ldGVycyk7CiAKQEAgLTE2Nyw3ICsxNjcsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUhNQUM6
OnZlcmlmeShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYgcGFyYQog
ICAgIHBsYXRmb3JtVmVyaWZ5KGhtYWNQYXJhbWV0ZXJzLCBkb3duY2FzdDxDcnlwdG9LZXlITUFD
PihrZXkpLCBleHBlY3RlZFNpZ25hdHVyZSwgZGF0YSwgV1RGTW92ZShjYWxsYmFjayksIFdURk1v
dmUoZmFpbHVyZUNhbGxiYWNrKSwgZWMpOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobUhNQUM6
OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiBw
YXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIEtleU9y
S2V5UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFj
aywgRXhjZXB0aW9uQ29kZSYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQordm9pZCBDcnlwdG9B
bGdvcml0aG1ITUFDOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
RGVwcmVjYXRlZCYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VC
aXRtYXAgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJh
Y2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KikKIHsKICAgICBjb25zdCBDcnlwdG9BbGdvcml0aG1IbWFjS2V5UGFyYW1zRGVwcmVjYXRl
ZCYgaG1hY1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1IbWFjS2V5UGFyYW1z
RGVwcmVjYXRlZD4ocGFyYW1ldGVycyk7CiAKQEAgLTE4MCw3ICsxODAsNyBAQCB2b2lkIENyeXB0
b0FsZ29yaXRobUhNQUM6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRl
cnNEZXByZWNhdGVkJgogICAgIGNhbGxiYWNrKHJlc3VsdC5nZXQoKSwgbnVsbHB0cik7CiB9CiAK
LXZvaWQgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6aW1wb3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9LZXlEYXRhJiBr
ZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZSwgS2V5Q2FsbGJh
Y2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBD
cnlwdG9BbGdvcml0aG1ITUFDOjppbXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGNvbnN0IENyeXB0b0tleURhdGEmIGtleURhdGEs
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlLCBLZXlDYWxsYmFj
ayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAg
aWYgKCFpczxDcnlwdG9LZXlEYXRhT2N0ZXRTZXF1ZW5jZT4oa2V5RGF0YSkpIHsKICAgICAgICAg
ZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuaAppbmRleCBkNTRkY2FjZjc3MjAwMzli
MzVkYmRiZWNiNGYyZWI1ZDhhMDU0NDI2Li45NWNiM2Q2ZmEyMzc5ZWE5NTQ5MjUyNGU3ZGM4ZWEy
Y2EwZWViY2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1ITUFDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRo
bXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5oCkBAIC00NCwxNCArNDQsMTQgQEAgcHVibGljOgogCiAg
ICAgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKLSAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5
T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCopIGZpbmFsOwotICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9y
bWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5Q2FsbGJhY2sm
JiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CisgICAgdm9pZCBnZW5lcmF0ZUtleShjb25z
dCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4
Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBmaW5hbDsKKyAgICB2
b2lkIGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBz
dGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0
YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxi
YWNrJiYpIGZpbmFsOwogCiAgICAgLy8gVGhlIGZvbGxvd2luZyB3aWxsIGJlIGRlcHJlY2F0ZWQu
CiAgICAgdm9pZCBzaWduKGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVk
JiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNh
bGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYp
IG92ZXJyaWRlOwogICAgIHZvaWQgdmVyaWZ5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRl
cnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0
YSYgc2lnbmF0dXJlLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgQm9vbENhbGxiYWNrJiYs
IFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRl
OwotICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0Rl
cHJlY2F0ZWQmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5T3JLZXlQYWly
Q2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2Rl
JiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOwotICAgIHZvaWQgaW1wb3J0S2V5
KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRv
S2V5RGF0YSYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlDYWxsYmFjayYm
LCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlk
ZTsKKyAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNE
ZXByZWNhdGVkJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9y
S2V5UGFpckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0
aW9uQ29kZSYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGlt
cG9ydEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0
IENyeXB0b0tleURhdGEmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwg
S2V5Q2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25D
b2RlJikgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgQ3J5cHRvQWxnb3JpdGhtSE1BQygpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtUlNBRVNfUEtDUzFfdjFfNS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmNwcAppbmRleCA2YWJiMzVmMTAxMThi
M2ZiZmFjZmQ0YmU3YmY2ZTlhODc2YTYzMTNmLi4xZDIwYzgwZjY0NDI3MGRlNjlmMzEwZTJjMWM1
OGRmOWY4YWNkNmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmNwcApA
QCAtNjcsNyArNjcsNyBAQCBib29sIENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6Omtl
eUFsZ29yaXRobU1hdGNoZXMoY29uc3QgQ3J5cHRvS2V5JiBrZXkpCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6Z2VuZXJhdGVLZXko
Y29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1l
dGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlPcktleVBh
aXJDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxi
YWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQordm9pZCBDcnlwdG9BbGdvcml0
aG1SU0FFU19QS0NTMV92MV81OjpnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5
cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJh
Y2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgY29uc3QgYXV0byYgcnNhUGFyYW1ldGVycyA9IGRv
d25jYXN0PENyeXB0b0FsZ29yaXRobVJzYUtleUdlblBhcmFtcz4oKnBhcmFtZXRlcnMpOwogCkBA
IC04OCw3ICs4OCw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6Z2Vu
ZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsCiAgICAgQ3J5cHRvS2V5UlNB
OjpnZW5lcmF0ZVBhaXIoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6UlNBRVNfUEtDUzFfdjFf
NSwgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzEsIGZhbHNlLCByc2FQYXJhbWV0ZXJz
Lm1vZHVsdXNMZW5ndGgsIHJzYVBhcmFtZXRlcnMucHVibGljRXhwb25lbnRWZWN0b3IoKSwgZXh0
cmFjdGFibGUsIHVzYWdlcywgV1RGTW92ZShrZXlQYWlyQ2FsbGJhY2spLCBXVEZNb3ZlKGZhaWx1
cmVDYWxsYmFjayksIGNvbnRleHQpOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobVJTQUVTX1BL
Q1MxX3YxXzU6OmltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIEtleURh
dGEmJiBkYXRhLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
cz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMs
IEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2Fs
bGJhY2spCit2b2lkIENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmltcG9ydEtleShT
dWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBkYXRhLCBjb25zdCBzdGQ6
OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29s
IGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleUNhbGxiYWNrJiYg
Y2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCiB7CiAgICAg
UmVmUHRyPENyeXB0b0tleVJTQT4gcmVzdWx0OwogICAgIHN3aXRjaCAoZm9ybWF0KSB7CkBAIC0x
NDEsNyArMTQxLDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81OjpkZWNy
eXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXAKICAgICBwbGF0Zm9ybURlY3J5
cHQoZG93bmNhc3Q8Q3J5cHRvS2V5UlNBPihrZXkpLCBkYXRhLCBXVEZNb3ZlKGNhbGxiYWNrKSwg
V1RGTW92ZShmYWlsdXJlQ2FsbGJhY2spLCBlYyk7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGht
UlNBRVNfUEtDUzFfdjFfNTo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVz
YWdlIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNr
JiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCkKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6Z2VuZXJh
dGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRl
cnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5T3JL
ZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNr
LCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKICAg
ICBjb25zdCBDcnlwdG9BbGdvcml0aG1Sc2FLZXlHZW5QYXJhbXNEZXByZWNhdGVkJiByc2FQYXJh
bWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtUnNhS2V5R2VuUGFyYW1zRGVwcmVjYXRl
ZD4ocGFyYW1ldGVycyk7CiAKQEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRo
bVJTQUVTX1BLQ1MxX3YxXzU6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcgogICAgIENyeXB0b0tleVJTQTo6Z2VuZXJhdGVQYWlyKENyeXB0b0FsZ29yaXRobUlkZW50
aWZpZXI6OlJTQUVTX1BLQ1MxX3YxXzUsIHJzYVBhcmFtZXRlcnMuaGFzaCwgcnNhUGFyYW1ldGVy
cy5oYXNIYXNoLCByc2FQYXJhbWV0ZXJzLm1vZHVsdXNMZW5ndGgsIHJzYVBhcmFtZXRlcnMucHVi
bGljRXhwb25lbnQsIGV4dHJhY3RhYmxlLCB1c2FnZXMsIFdURk1vdmUoa2V5UGFpckNhbGxiYWNr
KSwgV1RGTW92ZShmYWlsdXJlQ2FsbGJhY2spLCBjb250ZXh0KTsKIH0KIAotdm9pZCBDcnlwdG9B
bGdvcml0aG1SU0FFU19QS0NTMV92MV81OjppbXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGNvbnN0IENyeXB0b0tleURhdGEmIGtl
eURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlLCBLZXlDYWxsYmFj
ayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNv
ZGUmKQordm9pZCBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81OjppbXBvcnRLZXkoY29u
c3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGNvbnN0
IENyeXB0b0tleURhdGEmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdl
Qml0bWFwIHVzYWdlLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWls
dXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKQogewogICAgIGNvbnN0IENyeXB0b0FsZ29yaXRo
bVJzYUtleVBhcmFtc1dpdGhIYXNoRGVwcmVjYXRlZCYgcnNhUGFyYW1ldGVycyA9IGRvd25jYXN0
PENyeXB0b0FsZ29yaXRobVJzYUtleVBhcmFtc1dpdGhIYXNoRGVwcmVjYXRlZD4ocGFyYW1ldGVy
cyk7CiAgICAgY29uc3QgQ3J5cHRvS2V5RGF0YVJTQUNvbXBvbmVudHMmIHJzYUNvbXBvbmVudHMg
PSBkb3duY2FzdDxDcnlwdG9LZXlEYXRhUlNBQ29tcG9uZW50cz4oa2V5RGF0YSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FF
U19QS0NTMV92MV81LmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1SU0FFU19QS0NTMV92MV81LmgKaW5kZXggMjRiMmM2Y2I1ODNmYWZjY2ZmYTRmZTk1
ZDkwZTljNzEyZmQ0YWM3Ni4uMDRkYTc2ODMzOTYxNDA4OGM5NzE2MTg0ZTNkYjNlZjUzZDFkZDUw
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuaApAQCAtNDQsMTQgKzQ0LDE0
IEBAIHB1YmxpYzoKIAogICAgIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllcigp
IGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1
ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5
cHRvS2V5VXNhZ2UsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYs
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBmaW5hbDsKLSAgICB2b2lkIGltcG9ydEtleShTdWJ0
bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5
cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNh
Z2UsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpIGZpbmFsOworICAgIHZvaWQg
Z2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRl
cnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBh
aXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0
KikgZmluYWw7CisgICAgdm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtl
eURhdGEmJiwgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+
JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYm
LCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKIAogICAgIC8vIFRoZSBmb2xsb3dpbmcgd2ls
bCBiZSBkZXByZWNhdGVkLgogICAgIHZvaWQgZW5jcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJh
dGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJh
Y2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKICAgICB2b2lkIGRlY3J5cHQoY29uc3QgQ3J5
cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25z
dCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYg
ZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBnZW5l
cmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGJvb2wg
ZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBWb2lk
Q2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0Kikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBpbXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlEYXRhJiwgYm9vbCBl
eHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleUNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYm
IGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOworICAgIHZvaWQgZ2Vu
ZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBib29s
IGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2sm
JiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOworICAgIHZvaWQgaW1wb3J0S2V5KGNvbnN0IENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5RGF0YSYs
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBW
b2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsK
IAogcHJpdmF0ZToKICAgICBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1S
U0FTU0FfUEtDUzFfdjFfNS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5jcHAKaW5kZXggZjg0NDllMWYzMTVjYzQ4
NjIwMGFjZmI5MGM4Nzk5NzE5ODJlYzgxYy4uNDk0M2QyNTc3OWUyOGU5ZDU2ZDEwZDcxYjhmZDg0
YjE1OWQ2MjUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMv
Q3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmNwcApA
QCAtNzIsNyArNzIsNyBAQCBib29sIENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81Ojpr
ZXlBbGdvcml0aG1NYXRjaGVzKGNvbnN0IENyeXB0b0FsZ29yaXRobQogICAgIHJldHVybiB0cnVl
OwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjpnZW5lcmF0ZUtl
eShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJh
bWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIEtleU9yS2V5
UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2Fs
bGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCit2b2lkIENyeXB0b0FsZ29y
aXRobVJTQVNTQV9QS0NTMV92MV81OjpnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8
Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxl
LCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2Fs
bGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgY29uc3QgYXV0byYgcnNhUGFyYW1ldGVycyA9
IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobVJzYUhhc2hlZEtleUdlblBhcmFtcz4oKnBhcmFtZXRl
cnMpOwogCkBAIC05Miw3ICs5Miw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1Mx
X3YxXzU6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BCiAgICAgQ3J5
cHRvS2V5UlNBOjpnZW5lcmF0ZVBhaXIoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6UlNBU1NB
X1BLQ1MxX3YxXzUsIHJzYVBhcmFtZXRlcnMuaGFzaElkZW50aWZpZXIsIHRydWUsIHJzYVBhcmFt
ZXRlcnMubW9kdWx1c0xlbmd0aCwgcnNhUGFyYW1ldGVycy5wdWJsaWNFeHBvbmVudFZlY3Rvcigp
LCBleHRyYWN0YWJsZSwgdXNhZ2VzLCBXVEZNb3ZlKGtleVBhaXJDYWxsYmFjayksIFdURk1vdmUo
ZmFpbHVyZUNhbGxiYWNrKSwgY29udGV4dCk7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNB
U1NBX1BLQ1MxX3YxXzU6OmltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQs
IEtleURhdGEmJiBkYXRhLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1
c2FnZXMsIEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0
aW9uQ2FsbGJhY2spCit2b2lkIENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjppbXBv
cnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29u
c3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVy
cywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlDYWxs
YmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQog
ewogICAgIGNvbnN0IGF1dG8mIHJzYVBhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0
aG1Sc2FIYXNoZWRJbXBvcnRQYXJhbXM+KCpwYXJhbWV0ZXJzKTsKIApAQCAtMTc0LDcgKzE3NCw3
IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzU6OnZlcmlmeShjb25zdCBD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwCiAgICAgcGxhdGZvcm1WZXJpZnkocnNhU1NBUGFy
YW1ldGVycywgIGRvd25jYXN0PENyeXB0b0tleVJTQT4oa2V5KSwgc2lnbmF0dXJlLCBkYXRhLCBX
VEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShmYWlsdXJlQ2FsbGJhY2spLCBlYyk7CiB9CiAKLXZv
aWQgQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzU6OmdlbmVyYXRlS2V5KGNvbnN0IENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2Fs
bGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCit2b2lkIENyeXB0b0FsZ29yaXRobVJTQVNT
QV9QS0NTMV92MV81OjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
RGVwcmVjYXRlZCYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VC
aXRtYXAgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJh
Y2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0KQogewogICAgIGNvbnN0IENyeXB0b0FsZ29yaXRobVJzYUtleUdlblBhcmFt
c0RlcHJlY2F0ZWQmIHJzYVBhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1Sc2FL
ZXlHZW5QYXJhbXNEZXByZWNhdGVkPihwYXJhbWV0ZXJzKTsKIApAQCAtMTg1LDcgKzE4NSw3IEBA
IHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzU6OmdlbmVyYXRlS2V5KGNvbnN0
IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlCiAgICAgQ3J5cHRvS2V5UlNBOjpnZW5lcmF0ZVBhaXIo
Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6UlNBU1NBX1BLQ1MxX3YxXzUsIHJzYVBhcmFtZXRl
cnMuaGFzaCwgcnNhUGFyYW1ldGVycy5oYXNIYXNoLCByc2FQYXJhbWV0ZXJzLm1vZHVsdXNMZW5n
dGgsIHJzYVBhcmFtZXRlcnMucHVibGljRXhwb25lbnQsIGV4dHJhY3RhYmxlLCB1c2FnZXMsIFdU
Rk1vdmUoa2V5UGFpckNhbGxiYWNrKSwgV1RGTW92ZShmYWlsdXJlQ2FsbGJhY2spLCBjb250ZXh0
KTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6aW1wb3J0S2V5
KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBj
b25zdCBDcnlwdG9LZXlEYXRhJiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlV
c2FnZSB1c2FnZSwgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVy
ZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BL
Q1MxX3YxXzU6OmltcG9ydEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVj
YXRlZCYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5RGF0YSYga2V5RGF0YSwgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2UsIEtleUNhbGxiYWNrJiYgY2FsbGJh
Y2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpCiB7CiAg
ICAgY29uc3QgQ3J5cHRvQWxnb3JpdGhtUnNhS2V5UGFyYW1zV2l0aEhhc2hEZXByZWNhdGVkJiBy
c2FLZXlQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtUnNhS2V5UGFyYW1zV2l0
aEhhc2hEZXByZWNhdGVkPihwYXJhbWV0ZXJzKTsKICAgICBjb25zdCBDcnlwdG9LZXlEYXRhUlNB
Q29tcG9uZW50cyYgcnNhQ29tcG9uZW50cyA9IGRvd25jYXN0PENyeXB0b0tleURhdGFSU0FDb21w
b25lbnRzPihrZXlEYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmggYi9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5oCmlu
ZGV4IDYyMzlkYTRlZmJjN2EyN2RiYmY1YjU2Y2VmMjEzYzZhYTcwN2U2ZDYuLjhkOGZhMzU0MzJl
MDJlMzRmZGY3YzJhYWRkYWU1N2ZhNmZkOTY3YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NB
X1BLQ1MxX3YxXzUuaApAQCAtNDQsMTQgKzQ0LDE0IEBAIHB1YmxpYzoKIAogICAgIENyeXB0b0Fs
Z29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdm9p
ZCBnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleU9yS2V5UGFpckNh
bGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBm
aW5hbDsKLSAgICB2b2lkIGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0
YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwg
Ym9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlv
bkNhbGxiYWNrJiYpIGZpbmFsOworICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlx
dWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxs
YmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgZmluYWw7CisgICAgdm9pZCBpbXBvcnRL
ZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qgc3RkOjp1bmlxdWVf
cHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0
b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5h
bDsKIAogICAgIC8vIFRoZSBmb2xsb3dpbmcgd2lsbCBiZSBkZXByZWNhdGVkLgogICAgIHZvaWQg
c2lnbihjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENy
eXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBW
b2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsK
ICAgICB2b2lkIHZlcmlmeShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRl
ZCYsIGNvbnN0IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIHNpZ25hdHVy
ZSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIEJvb2xDYWxsYmFjayYmLCBWb2lkQ2FsbGJh
Y2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKLSAgICB2b2lk
IGdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwg
Ym9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYs
IFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqKSBvdmVycmlkZTsKLSAgICB2b2lkIGltcG9ydEtleShjb25zdCBDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleURhdGEmLCBi
b29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5Q2FsbGJhY2smJiwgVm9pZENhbGxi
YWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7CisgICAgdm9p
ZCBnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYs
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxs
YmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBpbXBvcnRLZXkoY29u
c3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlE
YXRhJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNr
JiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJy
aWRlOwogCiBwcml2YXRlOgogICAgIENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdv
cml0aG1SU0FfT0FFUC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9Dcnlw
dG9BbGdvcml0aG1SU0FfT0FFUC5jcHAKaW5kZXggZGNmNjBlZTRiNGEwOTM4NWU5YTVkZjliNzM1
MTVlMWM0Y2IxZjg2Yy4uNzI2YWMwN2RlNTI4Nzc0NDhkZDU5YTA1YjcxNGQxMzE0ZTQxZGNkZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtUlNBX09BRVAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobVJTQV9PQUVQLmNwcApAQCAtNzIsNyArNzIsNyBAQCBib29sIENyeXB0b0Fs
Z29yaXRobVJTQV9PQUVQOjprZXlBbGdvcml0aG1NYXRjaGVzKGNvbnN0IENyeXB0b0FsZ29yaXRo
bVJzYU9hZXBQYQogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobVJT
QV9PQUVQOjpnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2Fn
ZSB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxi
YWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQp
Cit2b2lkIENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjpnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVu
aXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4
dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxi
YWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgY29uc3QgYXV0byYgcnNhUGFy
YW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobVJzYUhhc2hlZEtleUdlblBhcmFtcz4o
KnBhcmFtZXRlcnMpOwogCkBAIC05Miw3ICs5Miw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNB
X09BRVA6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1Q
CiAgICAgQ3J5cHRvS2V5UlNBOjpnZW5lcmF0ZVBhaXIoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmll
cjo6UlNBX09BRVAsIHJzYVBhcmFtZXRlcnMuaGFzaElkZW50aWZpZXIsIHRydWUsIHJzYVBhcmFt
ZXRlcnMubW9kdWx1c0xlbmd0aCwgcnNhUGFyYW1ldGVycy5wdWJsaWNFeHBvbmVudFZlY3Rvcigp
LCBleHRyYWN0YWJsZSwgdXNhZ2VzLCBXVEZNb3ZlKGtleVBhaXJDYWxsYmFjayksIFdURk1vdmUo
ZmFpbHVyZUNhbGxiYWNrKSwgY29udGV4dCk7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNB
X09BRVA6OmltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEm
JiBkYXRhLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4m
JiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIEtl
eUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJh
Y2spCit2b2lkIENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjppbXBvcnRLZXkoU3VidGxlQ3J5cHRv
OjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjp1bmlxdWVfcHRy
PENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJs
ZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBF
eGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQogewogICAgIGNvbnN0IGF1dG8m
IHJzYVBhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1Sc2FIYXNoZWRJbXBvcnRQ
YXJhbXM+KCpwYXJhbWV0ZXJzKTsKIApAQCAtMTg1LDcgKzE4NSw3IEBAIHZvaWQgQ3J5cHRvQWxn
b3JpdGhtUlNBX09BRVA6OmRlY3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0Rl
cHJlY2F0ZWQmCiAgICAgcGxhdGZvcm1EZWNyeXB0KHJzYU9BRVBQYXJhbWV0ZXJzLCBkb3duY2Fz
dDxDcnlwdG9LZXlSU0E+KGtleSksIGRhdGEsIFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKGZh
aWx1cmVDYWxsYmFjayksIGVjKTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6
Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBh
cmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcywgS2V5T3JL
ZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNr
LCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKK3ZvaWQg
Q3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlw
dG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ss
IFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgY29uc3QgQ3J5cHRvQWxnb3JpdGhtUnNh
S2V5R2VuUGFyYW1zRGVwcmVjYXRlZCYgcnNhUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0Fs
Z29yaXRobVJzYUtleUdlblBhcmFtc0RlcHJlY2F0ZWQ+KHBhcmFtZXRlcnMpOwogCkBAIC0xOTYs
NyArMTk2LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6Z2VuZXJhdGVLZXkoY29u
c3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2EKICAgICBDcnlwdG9LZXlSU0E6Omdl
bmVyYXRlUGFpcihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpSU0FfT0FFUCwgcnNhUGFyYW1l
dGVycy5oYXNoLCByc2FQYXJhbWV0ZXJzLmhhc0hhc2gsIHJzYVBhcmFtZXRlcnMubW9kdWx1c0xl
bmd0aCwgcnNhUGFyYW1ldGVycy5wdWJsaWNFeHBvbmVudCwgZXh0cmFjdGFibGUsIHVzYWdlcywg
V1RGTW92ZShrZXlQYWlyQ2FsbGJhY2spLCBXVEZNb3ZlKGZhaWx1cmVDYWxsYmFjayksIGNvbnRl
eHQpOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjppbXBvcnRLZXkoY29uc3Qg
Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGNvbnN0IENy
eXB0b0tleURhdGEmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVz
YWdlLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJh
Y2ssIEV4Y2VwdGlvbkNvZGUmKQordm9pZCBDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6aW1wb3J0
S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJz
LCBjb25zdCBDcnlwdG9LZXlEYXRhJiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9L
ZXlVc2FnZUJpdG1hcCB1c2FnZSwgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNr
JiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikKIHsKICAgICBjb25zdCBDcnlwdG9B
bGdvcml0aG1Sc2FLZXlQYXJhbXNXaXRoSGFzaERlcHJlY2F0ZWQmIHJzYUtleVBhcmFtZXRlcnMg
PSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1Sc2FLZXlQYXJhbXNXaXRoSGFzaERlcHJlY2F0ZWQ+
KHBhcmFtZXRlcnMpOwogICAgIGNvbnN0IENyeXB0b0tleURhdGFSU0FDb21wb25lbnRzJiByc2FD
b21wb25lbnRzID0gZG93bmNhc3Q8Q3J5cHRvS2V5RGF0YVJTQUNvbXBvbmVudHM+KGtleURhdGEp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtUlNBX09BRVAuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0
b0FsZ29yaXRobVJTQV9PQUVQLmgKaW5kZXggMDEzZGU3MmY1ZDAyMzQyYTY4YjE4YWY1OTljZDdj
MThiNWJkNzE5Yy4uOWY0ZTNlOWY3M2VmZTBiNWY1ZWQwYmI0NjRlMjQ5MzBmZjE0YzY1YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGht
UlNBX09BRVAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1SU0FfT0FFUC5oCkBAIC00NCwxNCArNDQsMTQgQEAgcHVibGljOgogCiAgICAgQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3Qgb3ZlcnJpZGU7CiAKLSAg
ICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5T3JLZXlQ
YWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCopIGZpbmFsOwotICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBL
ZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
PiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5Q2FsbGJhY2smJiwgRXhj
ZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CisgICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBzdGQ6
OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJs
ZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4Y2VwdGlv
bkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBmaW5hbDsKKyAgICB2b2lkIGlt
cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVu
aXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwg
Q3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYp
IGZpbmFsOwogCiAgICAgLy8gVGhlIGZvbGxvd2luZyB3aWxsIGJlIGRlcHJlY2F0ZWQuCiAgICAg
dm9pZCBlbmNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwg
Y29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxi
YWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92
ZXJyaWRlOwogICAgIHZvaWQgZGVjcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
RGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEm
LCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2Vw
dGlvbkNvZGUmKSBvdmVycmlkZTsKLSAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0Fs
Z29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5
VXNhZ2UsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxs
YmFjaywgRXhjZXB0aW9uQ29kZSYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBvdmVycmlkZTsK
LSAgICB2b2lkIGltcG9ydEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVj
YXRlZCYsIGNvbnN0IENyeXB0b0tleURhdGEmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlV
c2FnZSwgS2V5Q2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNl
cHRpb25Db2RlJikgb3ZlcnJpZGU7CisgICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9B
bGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tl
eVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWls
dXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikgb3Zl
cnJpZGU7CisgICAgdm9pZCBpbXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
c0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlEYXRhJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5
cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVD
YWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIENyeXB0
b0FsZ29yaXRobVJTQV9PQUVQKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
Z251dGxzL0NyeXB0b0tleVJTQUdudVRMUy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ251
dGxzL0NyeXB0b0tleVJTQUdudVRMUy5jcHAKaW5kZXggMDg3ZGQ2MWU4YWUxODk2MDUyNDk1YzVl
YTg4YWZhZGY2YWFhNTMwMC4uMGVhMjU2MDdiYTE2ZDhkN2E1YmQxNTk0MWI3MmZkY2VlNjg0M2Jk
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9LZXlSU0FH
bnVUTFMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nbnV0bHMvQ3J5cHRvS2V5UlNB
R251VExTLmNwcApAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3Qg
X1BsYXRmb3JtUlNBS2V5R251VExTIHsKIH07CiAKLUNyeXB0b0tleVJTQTo6Q3J5cHRvS2V5UlNB
KENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllciwgQ3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIENyeXB0b0tleVR5cGUgdHlwZSwgUGxhdGZvcm1S
U0FLZXkgcGxhdGZvcm1LZXksIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdl
KQorQ3J5cHRvS2V5UlNBOjpDcnlwdG9LZXlSU0EoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgaGFzSGFzaCwg
Q3J5cHRvS2V5VHlwZSB0eXBlLCBQbGF0Zm9ybVJTQUtleSBwbGF0Zm9ybUtleSwgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2UpCiAgICAgOiBDcnlwdG9LZXkoaWRl
bnRpZmllciwgdHlwZSwgZXh0cmFjdGFibGUsIHVzYWdlKQogICAgICwgbV9wbGF0Zm9ybUtleShw
bGF0Zm9ybUtleSkKICAgICAsIG1fcmVzdHJpY3RlZFRvU3BlY2lmaWNIYXNoKGhhc0hhc2gpCkBA
IC00Nyw3ICs0Nyw3IEBAIENyeXB0b0tleVJTQTo6Q3J5cHRvS2V5UlNBKENyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXIgaWRlbnRpZmllciwgQ3J5cHRvQWxnb3JpdGhtCiAgICAgbm90SW1wbGVtZW50
ZWQoKTsKIH0KIAotUmVmUHRyPENyeXB0b0tleVJTQT4gQ3J5cHRvS2V5UlNBOjpjcmVhdGUoQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVudGlmaWVyLCBDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyIGhhc2gsIGJvb2wgaGFzSGFzaCwgY29uc3QgQ3J5cHRvS2V5RGF0YVJTQUNvbXBvbmVudHMm
IGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlKQorUmVmUHRy
PENyeXB0b0tleVJTQT4gQ3J5cHRvS2V5UlNBOjpjcmVhdGUoQ3J5cHRvQWxnb3JpdGhtSWRlbnRp
ZmllciBpZGVudGlmaWVyLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgaGFz
SGFzaCwgY29uc3QgQ3J5cHRvS2V5RGF0YVJTQUNvbXBvbmVudHMmIGtleURhdGEsIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlKQogewogICAgIG5vdEltcGxlbWVu
dGVkKCk7CiAgICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwpAQCAtOTUsNyArOTUsNyBAQCBz
dGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvS2V5RGF0YT4gQ3J5cHRvS2V5UlNBOjpleHBvcnREYXRhKCkg
Y29uc3QKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotdm9pZCBDcnlwdG9LZXlSU0E6OmdlbmVy
YXRlUGFpcihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIHVuc2lnbmVkIG1vZHVsdXNMZW5ndGgs
IGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgcHVibGljRXhwb25lbnQsIGJvb2wgZXh0cmFjdGFibGUs
IENyeXB0b0tleVVzYWdlIHVzYWdlLCBLZXlQYWlyQ2FsbGJhY2sgY2FsbGJhY2ssIFZvaWRDYWxs
YmFjayBmYWlsdXJlQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCit2
b2lkIENyeXB0b0tleVJTQTo6Z2VuZXJhdGVQYWlyKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIg
YWxnb3JpdGhtLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgaGFzSGFzaCwg
dW5zaWduZWQgbW9kdWx1c0xlbmd0aCwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBwdWJsaWNFeHBv
bmVudCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2UsIEtleVBh
aXJDYWxsYmFjayBjYWxsYmFjaywgVm9pZENhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaywgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogICAg
IGZhaWx1cmVDYWxsYmFjaygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tl
eXMvQ3J5cHRvS2V5QUVTLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tl
eUFFUy5jcHAKaW5kZXggNWE4NDAyY2E4YWE3MjMxOTgwNzMxOGRmZTgwY2Q1NTI5OTQ0YmZjMi4u
MjM0ZmUyOWI0OTFjMDA1YzFiNzQ0MGU4MWJiYWI5NWM1YmRiZGU4OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlBRVMuY3BwCkBAIC00MSwxNCArNDEsMTQgQEAgc3Rh
dGljIGlubGluZSBib29sIGxlbmd0aElzVmFsaWQoc2l6ZV90IGxlbmd0aCkKICAgICByZXR1cm4g
KGxlbmd0aCA9PSBDcnlwdG9LZXlBRVM6OnNfbGVuZ3RoMTI4KSB8fCAobGVuZ3RoID09IENyeXB0
b0tleUFFUzo6c19sZW5ndGgxOTIpIHx8IChsZW5ndGggPT0gQ3J5cHRvS2V5QUVTOjpzX2xlbmd0
aDI1Nik7CiB9CiAKLUNyeXB0b0tleUFFUzo6Q3J5cHRvS2V5QUVTKENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXIgYWxnb3JpdGhtLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2UpCitDcnlwdG9LZXlBRVM6OkNyeXB0b0tleUFF
UyhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgY29uc3QgVmVjdG9yPHVpbnQ4
X3Q+JiBrZXksIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlKQog
ICAgIDogQ3J5cHRvS2V5KGFsZ29yaXRobSwgQ3J5cHRvS2V5VHlwZTo6U2VjcmV0LCBleHRyYWN0
YWJsZSwgdXNhZ2UpCiAgICAgLCBtX2tleShrZXkpCiB7CiAgICAgQVNTRVJUKGlzVmFsaWRBRVNB
bGdvcml0aG0oYWxnb3JpdGhtKSk7CiB9CiAKLUNyeXB0b0tleUFFUzo6Q3J5cHRvS2V5QUVTKENy
eXB0b0FsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtLCBWZWN0b3I8dWludDhfdD4mJiBrZXks
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlKQorQ3J5cHRvS2V5QUVTOjpD
cnlwdG9LZXlBRVMoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIFZlY3Rvcjx1
aW50OF90PiYmIGtleSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNh
Z2UpCiAgICAgOiBDcnlwdG9LZXkoYWxnb3JpdGhtLCBDcnlwdG9LZXlUeXBlOjpTZWNyZXQsIGV4
dHJhY3RhYmxlLCB1c2FnZSkKICAgICAsIG1fa2V5KFdURk1vdmUoa2V5KSkKIHsKQEAgLTY5LDIx
ICs2OSwyMSBAQCBib29sIENyeXB0b0tleUFFUzo6aXNWYWxpZEFFU0FsZ29yaXRobShDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSkKICAgICAgICAgfHwgYWxnb3JpdGhtID09IENy
eXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OkFFU19LVzsKIH0KIAotUmVmUHRyPENyeXB0b0tleUFF
Uz4gQ3J5cHRvS2V5QUVTOjpnZW5lcmF0ZShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29y
aXRobSwgc2l6ZV90IGxlbmd0aEJpdHMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdl
IHVzYWdlcykKK1JlZlB0cjxDcnlwdG9LZXlBRVM+IENyeXB0b0tleUFFUzo6Z2VuZXJhdGUoQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIHNpemVfdCBsZW5ndGhCaXRzLCBib29s
IGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMpCiB7CiAgICAgaWYgKCFs
ZW5ndGhJc1ZhbGlkKGxlbmd0aEJpdHMpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IENyeXB0b0tleUFFUyhhbGdvcml0aG0sIHJhbmRvbURhdGEobGVu
Z3RoQml0cyAvIDgpLCBleHRyYWN0YWJsZSwgdXNhZ2VzKSk7CiB9CiAKLVJlZlB0cjxDcnlwdG9L
ZXlBRVM+IENyeXB0b0tleUFFUzo6aW1wb3J0UmF3KENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIg
YWxnb3JpdGhtLCBWZWN0b3I8dWludDhfdD4mJiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZSB1c2FnZXMpCitSZWZQdHI8Q3J5cHRvS2V5QUVTPiBDcnlwdG9LZXlBRVM6
OmltcG9ydFJhdyhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgVmVjdG9yPHVp
bnQ4X3Q+JiYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAg
dXNhZ2VzKQogewogICAgIGlmICghbGVuZ3RoSXNWYWxpZChrZXlEYXRhLnNpemUoKSAqIDgpKQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENyeXB0b0tl
eUFFUyhhbGdvcml0aG0sIFdURk1vdmUoa2V5RGF0YSksIGV4dHJhY3RhYmxlLCB1c2FnZXMpKTsK
IH0KIAotUmVmUHRyPENyeXB0b0tleUFFUz4gQ3J5cHRvS2V5QUVTOjppbXBvcnRKd2soQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIEpzb25XZWJLZXkmJiBrZXlEYXRhLCBib29s
IGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIENoZWNrQWxnQ2FsbGJhY2smJiBj
YWxsYmFjaykKK1JlZlB0cjxDcnlwdG9LZXlBRVM+IENyeXB0b0tleUFFUzo6aW1wb3J0SndrKENy
eXB0b0FsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtLCBKc29uV2ViS2V5JiYga2V5RGF0YSwg
Ym9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBDaGVja0FsZ0Nh
bGxiYWNrJiYgY2FsbGJhY2spCiB7CiAgICAgaWYgKGtleURhdGEua3R5ICE9ICJvY3QiKQogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9r
ZXlzL0NyeXB0b0tleUFFUy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5
QUVTLmgKaW5kZXggODI4OGY2ZDViOWVhZTRiMmE2YWYwZDc1NmZhNjcyYWUxNjc5ZDljYi4uYzcx
OGJlYjc2ODQ2OTQ4ZGY2YjJkNWZhODVlY2NjYTk2OGQ4ZWEyNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmgKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyBjb25zdCBpbnQgc19sZW5ndGgxOTIgPSAxOTI7CiAgICAgc3RhdGljIGNvbnN0IGlu
dCBzX2xlbmd0aDI1NiA9IDI1NjsKIAotICAgIHN0YXRpYyBSZWY8Q3J5cHRvS2V5QUVTPiBjcmVh
dGUoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIGNvbnN0IFZlY3Rvcjx1aW50
OF90PiYga2V5LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZSkKKyAgICBz
dGF0aWMgUmVmPENyeXB0b0tleUFFUz4gY3JlYXRlKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIg
YWxnb3JpdGhtLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwgYm9vbCBleHRyYWN0YWJsZSwg
Q3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2UpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBDcnlwdG9LZXlBRVMoYWxnb3JpdGhtLCBrZXksIGV4dHJhY3RhYmxlLCB1c2FnZSkp
OwogICAgIH0KQEAgLTY3LDE4ICs2NywxOCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgYm9vbCBp
c1ZhbGlkQUVTQWxnb3JpdGhtKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIpOwogCi0gICAgc3Rh
dGljIFJlZlB0cjxDcnlwdG9LZXlBRVM+IGdlbmVyYXRlKENyeXB0b0FsZ29yaXRobUlkZW50aWZp
ZXIsIHNpemVfdCBsZW5ndGhCaXRzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSk7
Ci0gICAgc3RhdGljIFJlZlB0cjxDcnlwdG9LZXlBRVM+IGltcG9ydFJhdyhDcnlwdG9BbGdvcml0
aG1JZGVudGlmaWVyLCBWZWN0b3I8dWludDhfdD4mJiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxl
LCBDcnlwdG9LZXlVc2FnZSk7CisgICAgc3RhdGljIFJlZlB0cjxDcnlwdG9LZXlBRVM+IGdlbmVy
YXRlKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIsIHNpemVfdCBsZW5ndGhCaXRzLCBib29sIGV4
dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCk7CisgICAgc3RhdGljIFJlZlB0cjxDcnlw
dG9LZXlBRVM+IGltcG9ydFJhdyhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBWZWN0b3I8dWlu
dDhfdD4mJiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCk7
CiAgICAgdXNpbmcgQ2hlY2tBbGdDYWxsYmFjayA9IFdURjo6RnVuY3Rpb248Ym9vbChzaXplX3Qs
IGNvbnN0IE9wdGlvbmFsPFN0cmluZz4mKT47Ci0gICAgc3RhdGljIFJlZlB0cjxDcnlwdG9LZXlB
RVM+IGltcG9ydEp3ayhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBKc29uV2ViS2V5JiYsIGJv
b2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBDaGVja0FsZ0NhbGxiYWNrJiYpOworICAg
IHN0YXRpYyBSZWZQdHI8Q3J5cHRvS2V5QUVTPiBpbXBvcnRKd2soQ3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllciwgSnNvbldlYktleSYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJp
dG1hcCwgQ2hlY2tBbGdDYWxsYmFjayYmKTsKIAogICAgIENyeXB0b0tleUNsYXNzIGtleUNsYXNz
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ3J5cHRvS2V5Q2xhc3M6OkFFUzsgfQogCiAgICAgY29u
c3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXkoKSBjb25zdCB7IHJldHVybiBtX2tleTsgfQogCiBwcml2
YXRlOgotICAgIENyeXB0b0tleUFFUyhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBjb25zdCBW
ZWN0b3I8dWludDhfdD4mIGtleSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UpOwot
ICAgIENyeXB0b0tleUFFUyhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBWZWN0b3I8dWludDhf
dD4mJiBrZXksIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlKTsKKyAgICBDcnlwdG9L
ZXlBRVMoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBr
ZXksIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwKTsKKyAgICBDcnlwdG9L
ZXlBRVMoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgVmVjdG9yPHVpbnQ4X3Q+JiYga2V5LCBi
b29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCk7CiAKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8S2V5QWxnb3JpdGhtPiBidWlsZEFsZ29yaXRobSgpIGNvbnN0IGZpbmFsOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxDcnlwdG9LZXlEYXRhPiBleHBvcnREYXRhKCkgY29uc3QgZmluYWw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUhNQUMuY3BwCmluZGV4IDNiMWQ0
MWI5NTMwNDZmNTU2NmIxZWI1MGFmMDYzYTdhNGJmZjJiN2YuLjE3M2NlNWNhN2JlOTk0YTQwN2E5
YTcwOTc4MTViMTAxNWYzNDJmNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9r
ZXlzL0NyeXB0b0tleUhNQUMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0Ny
eXB0b0tleUhNQUMuY3BwCkBAIC0zNywxNCArMzcsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1DcnlwdG9LZXlITUFDOjpDcnlwdG9LZXlITUFDKGNvbnN0IFZlY3Rvcjx1aW50OF90PiYg
a2V5LCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlIHVzYWdlKQorQ3J5cHRvS2V5SE1BQzo6Q3J5cHRvS2V5SE1BQyhjb25zdCBW
ZWN0b3I8dWludDhfdD4mIGtleSwgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29s
IGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZSkKICAgICA6IENyeXB0b0tl
eShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpITUFDLCBDcnlwdG9LZXlUeXBlOjpTZWNyZXQs
IGV4dHJhY3RhYmxlLCB1c2FnZSkKICAgICAsIG1faGFzaChoYXNoKQogICAgICwgbV9rZXkoa2V5
KQogewogfQogCi1DcnlwdG9LZXlITUFDOjpDcnlwdG9LZXlITUFDKFZlY3Rvcjx1aW50OF90PiYm
IGtleSwgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZSB1c2FnZSkKK0NyeXB0b0tleUhNQUM6OkNyeXB0b0tleUhNQUMoVmVjdG9y
PHVpbnQ4X3Q+JiYga2V5LCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlKQogICAgIDogQ3J5cHRvS2V5KENy
eXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OkhNQUMsIENyeXB0b0tleVR5cGU6OlNlY3JldCwgZXh0
cmFjdGFibGUsIHVzYWdlKQogICAgICwgbV9oYXNoKGhhc2gpCiAgICAgLCBtX2tleShXVEZNb3Zl
KGtleSkpCkBAIC01NSw3ICs1NSw3IEBAIENyeXB0b0tleUhNQUM6On5DcnlwdG9LZXlITUFDKCkK
IHsKIH0KIAotUmVmUHRyPENyeXB0b0tleUhNQUM+IENyeXB0b0tleUhNQUM6OmdlbmVyYXRlKHNp
emVfdCBsZW5ndGhCaXRzLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcykKK1JlZlB0cjxDcnlwdG9LZXlITUFDPiBD
cnlwdG9LZXlITUFDOjpnZW5lcmF0ZShzaXplX3QgbGVuZ3RoQml0cywgQ3J5cHRvQWxnb3JpdGht
SWRlbnRpZmllciBoYXNoLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1
c2FnZXMpCiB7CiAgICAgaWYgKCFsZW5ndGhCaXRzKSB7CiAgICAgICAgIHN3aXRjaCAoaGFzaCkg
ewpAQCAtODAsNyArODAsNyBAQCBSZWZQdHI8Q3J5cHRvS2V5SE1BQz4gQ3J5cHRvS2V5SE1BQzo6
Z2VuZXJhdGUoc2l6ZV90IGxlbmd0aEJpdHMsIENyeXB0b0FsZ29yaXRobQogICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgQ3J5cHRvS2V5SE1BQyhyYW5kb21EYXRhKGxlbmd0aEJpdHMgLyA4KSwgaGFz
aCwgZXh0cmFjdGFibGUsIHVzYWdlcykpOwogfQogCi1SZWZQdHI8Q3J5cHRvS2V5SE1BQz4gQ3J5
cHRvS2V5SE1BQzo6aW1wb3J0UmF3KHNpemVfdCBsZW5ndGhCaXRzLCBDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyIGhhc2gsIFZlY3Rvcjx1aW50OF90PiYmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFi
bGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcykKK1JlZlB0cjxDcnlwdG9LZXlITUFDPiBDcnlwdG9L
ZXlITUFDOjppbXBvcnRSYXcoc2l6ZV90IGxlbmd0aEJpdHMsIENyeXB0b0FsZ29yaXRobUlkZW50
aWZpZXIgaGFzaCwgVmVjdG9yPHVpbnQ4X3Q+JiYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwg
Q3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzKQogewogICAgIHNpemVfdCBsZW5ndGggPSBrZXlE
YXRhLnNpemUoKSAqIDg7CiAgICAgaWYgKCFsZW5ndGgpCkBAIC05Myw3ICs5Myw3IEBAIFJlZlB0
cjxDcnlwdG9LZXlITUFDPiBDcnlwdG9LZXlITUFDOjppbXBvcnRSYXcoc2l6ZV90IGxlbmd0aEJp
dHMsIENyeXB0b0FsZ29yaXRoCiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDcnlwdG9LZXlITUFD
KFdURk1vdmUoa2V5RGF0YSksIGhhc2gsIGV4dHJhY3RhYmxlLCB1c2FnZXMpKTsKIH0KIAotUmVm
UHRyPENyeXB0b0tleUhNQUM+IENyeXB0b0tleUhNQUM6OmltcG9ydEp3ayhzaXplX3QgbGVuZ3Ro
Qml0cywgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBKc29uV2ViS2V5JiYga2V5RGF0
YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBDaGVja0FsZ0NhbGxi
YWNrJiYgY2FsbGJhY2spCitSZWZQdHI8Q3J5cHRvS2V5SE1BQz4gQ3J5cHRvS2V5SE1BQzo6aW1w
b3J0SndrKHNpemVfdCBsZW5ndGhCaXRzLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gs
IEpzb25XZWJLZXkmJiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJp
dG1hcCB1c2FnZXMsIENoZWNrQWxnQ2FsbGJhY2smJiBjYWxsYmFjaykKIHsKICAgICBpZiAoa2V5
RGF0YS5rdHkgIT0gIm9jdCIpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5oIGIvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5oCmluZGV4IGYzNWFiNTNhMDUxOTA0MDA5ODZk
MjQzOTVlM2FkNWJkNGYxZmU4MWIuLjEwN2M2NTk4MTNkYzkxODZmZjAxOGYwYWVlZTQzNGFmZGFh
MDFjNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUhN
QUMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmgKQEAg
LTU3LDE2ICs1NywxNiBAQCBwcml2YXRlOgogCiBjbGFzcyBDcnlwdG9LZXlITUFDIGZpbmFsIDog
cHVibGljIENyeXB0b0tleSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDcnlwdG9LZXlITUFD
PiBjcmVhdGUoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksIENyeXB0b0FsZ29yaXRobUlkZW50
aWZpZXIgaGFzaCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2UpCisgICAg
c3RhdGljIFJlZjxDcnlwdG9LZXlITUFDPiBjcmVhdGUoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBr
ZXksIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5
cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2UpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBDcnlwdG9LZXlITUFDKGtleSwgaGFzaCwgZXh0cmFjdGFibGUsIHVzYWdlKSk7CiAgICAg
fQogICAgIHZpcnR1YWwgfkNyeXB0b0tleUhNQUMoKTsKIAotICAgIHN0YXRpYyBSZWZQdHI8Q3J5
cHRvS2V5SE1BQz4gZ2VuZXJhdGUoc2l6ZV90IGxlbmd0aEJpdHMsIENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXIgaGFzaCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UpOwotICAgIHN0
YXRpYyBSZWZQdHI8Q3J5cHRvS2V5SE1BQz4gaW1wb3J0UmF3KHNpemVfdCBsZW5ndGhCaXRzLCBD
cnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIFZlY3Rvcjx1aW50OF90PiYmIGtleURhdGEs
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlKTsKKyAgICBzdGF0aWMgUmVmUHRyPENy
eXB0b0tleUhNQUM+IGdlbmVyYXRlKHNpemVfdCBsZW5ndGhCaXRzLCBDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyIGhhc2gsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwKTsK
KyAgICBzdGF0aWMgUmVmUHRyPENyeXB0b0tleUhNQUM+IGltcG9ydFJhdyhzaXplX3QgbGVuZ3Ro
Qml0cywgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBWZWN0b3I8dWludDhfdD4mJiBr
ZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCk7CiAgICAgdXNp
bmcgQ2hlY2tBbGdDYWxsYmFjayA9IFdURjo6RnVuY3Rpb248Ym9vbChDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyLCBjb25zdCBPcHRpb25hbDxTdHJpbmc+Jik+OwotICAgIHN0YXRpYyBSZWZQdHI8
Q3J5cHRvS2V5SE1BQz4gaW1wb3J0SndrKHNpemVfdCBsZW5ndGhCaXRzLCBDcnlwdG9BbGdvcml0
aG1JZGVudGlmaWVyIGhhc2gsIEpzb25XZWJLZXkmJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2UsIENoZWNrQWxnQ2FsbGJhY2smJik7CisgICAgc3RhdGljIFJlZlB0cjxDcnlwdG9L
ZXlITUFDPiBpbXBvcnRKd2soc2l6ZV90IGxlbmd0aEJpdHMsIENyeXB0b0FsZ29yaXRobUlkZW50
aWZpZXIgaGFzaCwgSnNvbldlYktleSYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2Fn
ZUJpdG1hcCwgQ2hlY2tBbGdDYWxsYmFjayYmKTsKIAogICAgIENyeXB0b0tleUNsYXNzIGtleUNs
YXNzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ3J5cHRvS2V5Q2xhc3M6OkhNQUM7IH0KIApAQCAt
NzUsOCArNzUsOCBAQCBwdWJsaWM6CiAgICAgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNo
QWxnb3JpdGhtSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faGFzaDsgfQogCiBwcml2YXRl
OgotICAgIENyeXB0b0tleUhNQUMoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksIENyeXB0b0Fs
Z29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2Up
OwotICAgIENyeXB0b0tleUhNQUMoVmVjdG9yPHVpbnQ4X3Q+JiYga2V5LCBDcnlwdG9BbGdvcml0
aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlKTsKKyAg
ICBDcnlwdG9LZXlITUFDKGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LCBDcnlwdG9BbGdvcml0
aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFw
KTsKKyAgICBDcnlwdG9LZXlITUFDKFZlY3Rvcjx1aW50OF90PiYmIGtleSwgQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllciBoYXNoLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1h
cCk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8S2V5QWxnb3JpdGhtPiBidWlsZEFsZ29yaXRobSgp
IGNvbnN0IGZpbmFsOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9LZXlEYXRhPiBleHBvcnRE
YXRhKCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5
cy9DcnlwdG9LZXlSU0EuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5
UlNBLmNwcAppbmRleCBlZmEwNTU3Y2ZhZDRhMzQxYzlhZGYxZWVkZmExODhiZWViOTIwZTVhLi4w
ZDE0MzgxZjViMjE5NjVlNDk2ZTY4OGNlODE0ZjA3NzAxNThiNDg2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1SZWZQdHI8Q3J5cHRvS2V5UlNBPiBDcnlwdG9LZXlSU0E6Omlt
cG9ydEp3ayhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgT3B0aW9uYWw8Q3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllcj4gaGFzaCwgSnNvbldlYktleSYmIGtleURhdGEsIGJvb2wg
ZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcykKK1JlZlB0cjxDcnlwdG9LZXlSU0E+
IENyeXB0b0tleVJTQTo6aW1wb3J0SndrKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgYWxnb3Jp
dGhtLCBPcHRpb25hbDxDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyPiBoYXNoLCBKc29uV2ViS2V5
JiYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2Vz
KQogewogICAgIGlmIChrZXlEYXRhLmt0eSAhPSAiUlNBIikKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0Eu
aCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5oCmluZGV4IGM3ZjRk
NWFmOWVhOTAwYWViYzdmZmNlMTU2NzA2MGMyN2U2MGJlN2EuLmZiMTBhNjQwNDE5ZTMzYTNjYzc1
MWFkYzU1MWRhMjVhMzcyNzMxZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9r
ZXlzL0NyeXB0b0tleVJTQS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleVJTQS5oCkBAIC04NywxMSArODcsMTEgQEAgcHJpdmF0ZToKIAogY2xhc3MgQ3J5cHRvS2V5
UlNBIGZpbmFsIDogcHVibGljIENyeXB0b0tleSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxD
cnlwdG9LZXlSU0E+IGNyZWF0ZShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlkZW50aWZpZXIs
IENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBoYXNIYXNoLCBDcnlwdG9LZXlU
eXBlIHR5cGUsIFBsYXRmb3JtUlNBS2V5IHBsYXRmb3JtS2V5LCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZSB1c2FnZSkKKyAgICBzdGF0aWMgUmVmPENyeXB0b0tleVJTQT4gY3JlYXRl
KENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllciwgQ3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIENyeXB0b0tleVR5cGUgdHlwZSwgUGxhdGZvcm1S
U0FLZXkgcGxhdGZvcm1LZXksIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFw
IHVzYWdlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ3J5cHRvS2V5UlNB
KGlkZW50aWZpZXIsIGhhc2gsIGhhc0hhc2gsIHR5cGUsIHBsYXRmb3JtS2V5LCBleHRyYWN0YWJs
ZSwgdXNhZ2UpKTsKICAgICB9Ci0gICAgc3RhdGljIFJlZlB0cjxDcnlwdG9LZXlSU0E+IGNyZWF0
ZShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhh
c2gsIGJvb2wgaGFzSGFzaCwgY29uc3QgQ3J5cHRvS2V5RGF0YVJTQUNvbXBvbmVudHMmLCBib29s
IGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSk7CisgICAgc3RhdGljIFJlZlB0cjxDcnlwdG9L
ZXlSU0E+IGNyZWF0ZShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyIGhhc2gsIGJvb2wgaGFzSGFzaCwgY29uc3QgQ3J5cHRvS2V5RGF0YVJTQUNvbXBv
bmVudHMmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCk7CiAgICAgdmly
dHVhbCB+Q3J5cHRvS2V5UlNBKCk7CiAKICAgICBib29sIGlzUmVzdHJpY3RlZFRvSGFzaChDcnlw
dG9BbGdvcml0aG1JZGVudGlmaWVyJikgY29uc3Q7CkBAIC0xMDAsMTMgKzEwMCwxMyBAQCBwdWJs
aWM6CiAKICAgICB1c2luZyBLZXlQYWlyQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoQ3J5
cHRvS2V5UGFpciYpPjsKICAgICB1c2luZyBWb2lkQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZv
aWQoKT47Ci0gICAgc3RhdGljIHZvaWQgZ2VuZXJhdGVQYWlyKENyeXB0b0FsZ29yaXRobUlkZW50
aWZpZXIsIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBoYXNIYXNoLCB1bnNp
Z25lZCBtb2R1bHVzTGVuZ3RoLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIHB1YmxpY0V4cG9uZW50
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5UGFpckNhbGxiYWNrLCBWb2lk
Q2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7Ci0gICAg
c3RhdGljIFJlZlB0cjxDcnlwdG9LZXlSU0E+IGltcG9ydEp3ayhDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyLCBPcHRpb25hbDxDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyPiBoYXNoLCBKc29uV2Vi
S2V5JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlKTsKKyAgICBzdGF0aWMgdm9p
ZCBnZW5lcmF0ZVBhaXIoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgQ3J5cHRvQWxnb3JpdGht
SWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIHVuc2lnbmVkIG1vZHVsdXNMZW5ndGgsIGNv
bnN0IFZlY3Rvcjx1aW50OF90PiYgcHVibGljRXhwb25lbnQsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlQml0bWFwLCBLZXlQYWlyQ2FsbGJhY2ssIFZvaWRDYWxsYmFjayBmYWlsdXJl
Q2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKyAgICBzdGF0aWMgUmVmUHRyPENy
eXB0b0tleVJTQT4gaW1wb3J0SndrKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIsIE9wdGlvbmFs
PENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI+IGhhc2gsIEpzb25XZWJLZXkmJiwgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXApOwogCiAgICAgUGxhdGZvcm1SU0FLZXkgcGxh
dGZvcm1LZXkoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtS2V5OyB9CiAKIHByaXZhdGU6Ci0g
ICAgQ3J5cHRvS2V5UlNBKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIsIENyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXIgaGFzaCwgYm9vbCBoYXNIYXNoLCBDcnlwdG9LZXlUeXBlLCBQbGF0Zm9ybVJT
QUtleSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UpOworICAgIENyeXB0b0tleVJT
QShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhh
c2gsIGJvb2wgaGFzSGFzaCwgQ3J5cHRvS2V5VHlwZSwgUGxhdGZvcm1SU0FLZXksIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwKTsKIAogICAgIENyeXB0b0tleUNsYXNzIGtl
eUNsYXNzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ3J5cHRvS2V5Q2xhc3M6OlJTQTsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlTZXJpYWxpemF0
aW9uUmF3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVNlcmlhbGl6
YXRpb25SYXcuY3BwCmluZGV4IDZkM2I4Yzg0NTg5OWI1ZWJmZjEzMDE4ZTlhZjJhN2IwZTg2ZWUx
YjcuLmRiMjc0ZjNmNDIzNzE4YTNiYTFjNTRjMWYwOWU0MzJkNDk2N2FkMzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVNlcmlhbGl6YXRpb25SYXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVNlcmlhbGl6YXRpb25S
YXcuY3BwCkBAIC00OSw3ICs0OSw3IEBAIE9wdGlvbmFsPENyeXB0b0FsZ29yaXRobVBhaXI+IENy
eXB0b0tleVNlcmlhbGl6YXRpb25SYXc6OnJlY29uY2lsZUFsZ29yaXRobShDcnlwCiAgICAgcmV0
dXJuIENyeXB0b0FsZ29yaXRobVBhaXIgeyBhbGdvcml0aG0sIHBhcmFtZXRlcnMgfTsKIH0KIAot
dm9pZCBDcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3OjpyZWNvbmNpbGVVc2FnZXMoQ3J5cHRvS2V5
VXNhZ2UmKSBjb25zdAordm9pZCBDcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3OjpyZWNvbmNpbGVV
c2FnZXMoQ3J5cHRvS2V5VXNhZ2VCaXRtYXAmKSBjb25zdAogewogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3LmggYi9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3LmgKaW5k
ZXggZWZhM2NkMmMwMWQ5ZjM1YTBlOTBjMmE5OTdjNDE0ODJkNzhlYTUzNi4uYTYxNWQwZjAzOGM5
Mjk5NzAyYWM2NTNkYzQzZjFkM2VjZDQ3OTgxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2tleXMvQ3J5cHRvS2V5U2VyaWFsaXphdGlvblJhdy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVNlcmlhbGl6YXRpb25SYXcuaApAQCAtNTMsNyArNTMs
NyBAQCBwcml2YXRlOgogCiAgICAgT3B0aW9uYWw8Q3J5cHRvQWxnb3JpdGhtUGFpcj4gcmVjb25j
aWxlQWxnb3JpdGhtKENyeXB0b0FsZ29yaXRobSosIENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNE
ZXByZWNhdGVkKikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIHJlY29uY2lsZVVzYWdlcyhD
cnlwdG9LZXlVc2FnZSYpIGNvbnN0IG92ZXJyaWRlOworICAgIHZvaWQgcmVjb25jaWxlVXNhZ2Vz
KENyeXB0b0tleVVzYWdlQml0bWFwJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCByZWNvbmNp
bGVFeHRyYWN0YWJsZShib29sJikgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8Q3J5cHRvS2V5RGF0YT4ga2V5RGF0YSgpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9LZXlSU0FNYWMuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3J5cHRvL21hYy9DcnlwdG9LZXlSU0FNYWMuY3BwCmluZGV4IDlmYWYwMGJkN2VjNjQy
ODUwZmMyNTQ1MTcwZmZiYTQ3OWYwNjNhMDUuLmM3MzQ1ZWM3NTdiOGJhMDlmOThjNzY0ZTE0YjEx
Nzc4YThlZTI4OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRv
S2V5UlNBTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0tleVJT
QU1hYy5jcHAKQEAgLTk2LDcgKzk2LDcgQEAgc3RhdGljIENDQ3J5cHRvclN0YXR1cyBnZXRQcml2
YXRlS2V5Q29tcG9uZW50cyhDQ1JTQUNyeXB0b3JSZWYgcnNhS2V5LCBWZWN0b3I8dWkKICAgICBy
ZXR1cm4gc3RhdHVzOwogfQogCi1DcnlwdG9LZXlSU0E6OkNyeXB0b0tleVJTQShDcnlwdG9BbGdv
cml0aG1JZGVudGlmaWVyIGlkZW50aWZpZXIsIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFz
aCwgYm9vbCBoYXNIYXNoLCBDcnlwdG9LZXlUeXBlIHR5cGUsIFBsYXRmb3JtUlNBS2V5IHBsYXRm
b3JtS2V5LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZSkKK0NyeXB0b0tl
eVJTQTo6Q3J5cHRvS2V5UlNBKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllciwg
Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIENyeXB0b0tleVR5
cGUgdHlwZSwgUGxhdGZvcm1SU0FLZXkgcGxhdGZvcm1LZXksIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlQml0bWFwIHVzYWdlKQogICAgIDogQ3J5cHRvS2V5KGlkZW50aWZpZXIsIHR5
cGUsIGV4dHJhY3RhYmxlLCB1c2FnZSkKICAgICAsIG1fcGxhdGZvcm1LZXkocGxhdGZvcm1LZXkp
CiAgICAgLCBtX3Jlc3RyaWN0ZWRUb1NwZWNpZmljSGFzaChoYXNIYXNoKQpAQCAtMTA0LDcgKzEw
NCw3IEBAIENyeXB0b0tleVJTQTo6Q3J5cHRvS2V5UlNBKENyeXB0b0FsZ29yaXRobUlkZW50aWZp
ZXIgaWRlbnRpZmllciwgQ3J5cHRvQWxnb3JpdGhtCiB7CiB9CiAKLVJlZlB0cjxDcnlwdG9LZXlS
U0E+IENyeXB0b0tleVJTQTo6Y3JlYXRlKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRp
ZmllciwgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIGNvbnN0
IENyeXB0b0tleURhdGFSU0FDb21wb25lbnRzJiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZSB1c2FnZSkKK1JlZlB0cjxDcnlwdG9LZXlSU0E+IENyeXB0b0tleVJTQTo6
Y3JlYXRlKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllciwgQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIGNvbnN0IENyeXB0b0tleURhdGFSU0FD
b21wb25lbnRzJiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1h
cCB1c2FnZSkKIHsKICAgICBpZiAoa2V5RGF0YS50eXBlKCkgPT0gQ3J5cHRvS2V5RGF0YVJTQUNv
bXBvbmVudHM6OlR5cGU6OlByaXZhdGUgJiYgIWtleURhdGEuaGFzQWRkaXRpb25hbFByaXZhdGVL
ZXlQYXJhbWV0ZXJzKCkpIHsKICAgICAgICAgLy8gPHJkYXI6Ly9wcm9ibGVtLzE1NDUyMzI0PiB0
cmFja3MgYWRkaW5nIHN1cHBvcnQuCkBAIC0yMzAsNyArMjMwLDcgQEAgc3RhdGljIGJvb2wgYmln
SW50ZWdlclRvVUludDMyKGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgYmlnSW50ZWdlciwgdWludDMy
X3QmIHJlc3UKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBDcnlwdG9LZXlSU0E6OmdlbmVy
YXRlUGFpcihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIHVuc2lnbmVkIG1vZHVsdXNMZW5ndGgs
IGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgcHVibGljRXhwb25lbnQsIGJvb2wgZXh0cmFjdGFibGUs
IENyeXB0b0tleVVzYWdlIHVzYWdlLCBLZXlQYWlyQ2FsbGJhY2sgY2FsbGJhY2ssIFZvaWRDYWxs
YmFjayBmYWlsdXJlQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCit2
b2lkIENyeXB0b0tleVJTQTo6Z2VuZXJhdGVQYWlyKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIg
YWxnb3JpdGhtLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgaGFzSGFzaCwg
dW5zaWduZWQgbW9kdWx1c0xlbmd0aCwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBwdWJsaWNFeHBv
bmVudCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2UsIEtleVBh
aXJDYWxsYmFjayBjYWxsYmFjaywgVm9pZENhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaywgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKICAgICB1aW50MzJfdCBlOwogICAgIGlmICgh
YmlnSW50ZWdlclRvVUludDMyKHB1YmxpY0V4cG9uZW50LCBlKSkgewpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDVkNjU4NWMy
NWFjYTE1ODZhNmVlYWM3YjI0M2YxNjU3NDQxMDBjNTAuLjZlOWZmMTU4MTViM2I2ZGEwMmQzZDEz
Zjk1MmQ4NzRkOTkwZjVjNDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0xMS0xMCAgSmll
d2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSBDcnlwdG9L
ZXlVc2FnZSB0byBDcnlwdG9LZXlVc2FnZUJpdG1hcCBhbmQgQ3J5cHRvS2V5OjpVc2FnZSB0byBD
cnlwdG9LZXlVc2FnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY0NjI0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTIxMDE0MD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNyeXB0by9zdWJ0bGUv
Z2VuZXJhdGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBjcnlwdG8vc3VidGxlL2ltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQu
dHh0OgorCiAyMDE2LTExLTA0ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgVXBkYXRlIFN1YnRsZUNyeXB0bzo6aW1wb3J0S2V5IHRvIG1hdGNoIHRoZSBsYXRl
c3Qgc3BlYwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9nZW5lcmF0ZS1r
ZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDY0NmMyOTY5OGM4ZDUwMGYyM2UxYWM4MjQ4ZDFjOTk2NzliYzQwMjQuLjYyYWZjYjdiYzY0
YjViMzZiYzc5ZjViODEwMDliMTNmYTcyZGMyZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvZ2VuZXJhdGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2dlbmVyYXRlLWtleS1tYWxmb3JtZWQt
cGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAgLTMyLDE0ICszMiwxNCBAQCBQQVNTIGNyeXB0by5z
dWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJTSEEtMSJ9LCAyLCAzKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIE5vdAogUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiU0hBLTI1
NiJ9LCAyLCAzKSByZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00g
RXhjZXB0aW9uIDkpOiBUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuLgogUEFTUyBjcnlw
dG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiU0hBLTM4NCJ9LCAyLCAzKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkpOiBUaGUgb3Bl
cmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuLgogUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5
KHtuYW1lOiAiU0hBLTUxMiJ9LCAyLCAzKSByZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBv
cnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkpOiBUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0
ZWQuLgotUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiQUVTLUNCQyIsIGxl
bmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIDMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBUeXBlIGVycm9yLgotUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAi
QUVTLUNCQyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIHRydWUpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVy
YXRlS2V5KHtuYW1lOiAiQUVTLUNCQyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIG51bGwp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBudWxsIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJBRVMtQ0JDIiwg
bGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgbnVsbCknKS4KLVBBU1MgY3J5cHRvLnN1YnRsZS5n
ZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCB1
bmRlZmluZWQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiB1bmRlZmluZWQgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFt
ZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCB1bmRlZmluZWQpJykuCi1Q
QVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJBRVMtQ0JDIiwgbGVuZ3RoOiAx
Mjh9LCBleHRyYWN0YWJsZSwgU3ltYm9sKCkpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBUeXBlIGVycm9yLgorUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAi
QUVTLUNCQyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIDMpIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggVHlwZUVycm9yOiBWYWx1ZSBpcyBub3QgYSBzZXF1ZW5jZS4KK1BBU1MgY3J5cHRvLnN1
YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3Rh
YmxlLCB0cnVlKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90
IGEgc2VxdWVuY2UuCitQQVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJBRVMt
Q0JDIiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgbnVsbCkgcmVqZWN0ZWQgcHJvbWlzZSAg
d2l0aCBUeXBlRXJyb3I6IFZhbHVlIGlzIG5vdCBhIHNlcXVlbmNlLgorUEFTUyBjcnlwdG8uc3Vi
dGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiQUVTLUNCQyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFi
bGUsIHVuZGVmaW5lZCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFZhbHVlIGlz
IG5vdCBhIHNlcXVlbmNlLgorUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAi
QUVTLUNCQyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFN5bWJvbCgpKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2VxdWVuY2UuCiBQQVNTIGNy
eXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJBRVMtQ0JDIiwgbGVuZ3RoOiAxMjh9LCBl
eHRyYWN0YWJsZSwgeyB9KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBl
cnJvci4KLVBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1DQkMiLCBs
ZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCAiZm9vIikgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBU
eXBlRXJyb3I6IEludmFsaWQgS2V5VXNhZ2VzLgotUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRl
S2V5KHtuYW1lOiAiQUVTLUNCQyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsiZm9vIl0p
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBJbnZhbGlkIEtleVVzYWdlcy4KK1BB
U1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEy
OH0sIGV4dHJhY3RhYmxlLCAiZm9vIikgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IFZhbHVlIGlzIG5vdCBhIHNlcXVlbmNlLgorUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5
KHtuYW1lOiAiQUVTLUNCQyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsiZm9vIl0pIHJl
amVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgogUEFTUyBjcnlwdG8u
c3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiQUVTLUNCQyIsIGxlbmd0aDogMTI4fSwgZXh0cmFj
dGFibGUsIFsgXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBTeW50YXhFcnJvciAoRE9NIEV4Y2Vw
dGlvbiAxMik6IEEgcmVxdWlyZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIG91dC1vZi1yYW5n
ZS4KIFBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIlJTQUVTLVBLQ1MxLXYx
XzUiLCBtb2R1bHVzTGVuZ3RoOiAyMDQ4LCBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXko
WzB4MDEsIDB4MDAsIDB4MDFdKX0sIGV4dHJhY3RhYmxlLCBbIF0pIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggU3ludGF4RXJyb3IgKERPTSBFeGNlcHRpb24gMTIpOiBBIHJlcXVpcmVkIHBhcmFtZXRl
ciB3YXMgbWlzc2luZyBvciBvdXQtb2YtcmFuZ2UuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2ltcG9ydC1rZXkt
bWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAppbmRleCA2
OWM0Yjg3NWYzODkyMmIzNGIwY2I5Y2UxYWZjZGJlODFjZWU5ZjU0Li4yY2E3Zjk3M2ZkN2ZlMmFm
NjJiMzY4ZTBkZTAxOWZjZDA1MzE5NjkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2ltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVy
cy1leHBlY3RlZC50eHQKQEAgLTM2LDcgKzM2LDcgQEAgUEFTUyBjcnlwdG8uc3VidGxlLmltcG9y
dEtleSgiandrIiwgbnVsbCwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImQK
IFBBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBl
eHRyYWN0YWJsZSwgWyBdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFN5bnRheEVycm9yIChET00g
RXhjZXB0aW9uIDEyKTogQSByZXF1aXJlZCBwYXJhbWV0ZXIgd2FzIG1pc3Npbmcgb3Igb3V0LW9m
LXJhbmdlLgogUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwgandrUHJpdmF0ZUtl
eSwgInJzYWVzLXBrY3MxLXYxXzUiLCBleHRyYWN0YWJsZSwgWyBdKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIFN5bnRheEVycm9yIChET00gRXhjZXB0aW9uIDEyKTogQSByZXF1aXJlZCBwYXJhbWV0
ZXIgd2FzIG1pc3Npbmcgb3Igb3V0LW9mLXJhbmdlLgogUEFTUyBjcnlwdG8uc3VidGxlLmltcG9y
dEtleSgiandrIiwge2t0eTogdW5kZWZpbmVkfSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJl
bmNyeXB0IiwgImRlY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBKc29uV2ViS2V5Lmt0eSBpcyByZXF1aXJlZCBh
bmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01TdHJpbmcuCi1QQVNTIGNyeXB0by5zdWJ0bGUu
aW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0Iiwga2V5X29wczogWyJmb28iXX0sICJhZXMtY2Jj
IiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndyYXBLZXkiLCAidW53cmFw
S2V5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBJbnZhbGlkIGtleV9vcHMu
CitQQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0Iiwga2V5X29w
czogWyJmb28iXX0sICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0
IiwgIndyYXBLZXkiLCAidW53cmFwS2V5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBUeXBlIGVycm9yLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNU
IENPTVBMRVRFCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294456</attachid>
            <date>2016-11-10 18:15:50 -0800</date>
            <delta_ts>2016-11-11 10:39:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164624-20161110181137.patch</filename>
            <type>text/plain</type>
            <size>144200</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWE1YTRiODI1ZTJhNmU2
NzY2M2E3YjllNzUyY2U3YTAxMTY0OTAwMi4uMmRmMjk2MTMxMDA0NWZmNTJlMTFjODU3NTE1N2Vj
ODJjMzkwMmZjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE2LTExLTEwICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIENyeXB0b0tl
eVVzYWdlIHRvIENyeXB0b0tleVVzYWdlQml0bWFwIGFuZCBDcnlwdG9LZXk6OlVzYWdlIHRvIENy
eXB0b0tleVVzYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjQ2MjQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MjEwMTQwPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxsb3dz
IElETFR5cGUgQ3J5cHRvS2V5VXNhZ2UgdG8gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVudCBJRExz
LCBpLmUuIENyeXB0b0tleS5pZGwsCisgICAgICAgIFN1YnRsZUNyeXB0by5pZGwgYW5kIEpzb25X
ZWJLZXkuaWRsIHN1Y2ggdGhhdCBpdCBjYW4gc2ltcGxpZnkgdGhlIGN1c3RvbWl6ZWQgYmluZGlu
ZyBjb2Rlcy4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNDcnlwdG9LZXlTZXJpYWxpemF0aW9uSldLLmNwcDoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0suaDoKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0NyeXB0b0tl
eVVzYWdlQml0bWFwKToKKyAgICAgICAgKFdlYkNvcmU6OmNyeXB0b0tleVVzYWdlQml0bWFwRnJv
bUpTVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6dG9LZXlEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OmpzU3VidGxlQ3J5cHRvRnVuY3Rpb25HZW5lcmF0ZUtleVByb21pc2UpOgorICAgICAgICAo
V2ViQ29yZTo6anNTdWJ0bGVDcnlwdG9GdW5jdGlvbkltcG9ydEtleVByb21pc2UpOgorICAgICAg
ICAoV2ViQ29yZTo6Y3J5cHRvS2V5VXNhZ2VGcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OmNyeXB0b0tleVVzYWdlc0Zyb21KU1ZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU1dlYktpdFN1YnRsZUNyeXB0b0N1c3RvbS5jcHA6CisgICAgICAgICog
YmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKKyAgICAgICAgKiBjcnlwdG8v
Q3J5cHRvQWxnb3JpdGhtLmNwcDoKKyAgICAgICAgKiBjcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmg6
CisgICAgICAgICogY3J5cHRvL0NyeXB0b0tleS5jcHA6CisgICAgICAgICogY3J5cHRvL0NyeXB0
b0tleS5oOgorICAgICAgICAqIGNyeXB0by9DcnlwdG9LZXkuaWRsOgorICAgICAgICAqIGNyeXB0
by9DcnlwdG9LZXlTZXJpYWxpemF0aW9uLmg6CisgICAgICAgICogY3J5cHRvL0NyeXB0b0tleVVz
YWdlLmg6CisgICAgICAgICogY3J5cHRvL0NyeXB0b0tleVVzYWdlLmlkbDogQWRkZWQuCisgICAg
ICAgICogY3J5cHRvL2dudXRscy9DcnlwdG9LZXlSU0FHbnVUTFMuY3BwOgorICAgICAgICAqIGNy
eXB0by9Kc29uV2ViS2V5Lmg6CisgICAgICAgICogY3J5cHRvL0pzb25XZWJLZXkuaWRsOgorICAg
ICAgICAqIGNyeXB0by9TdWJ0bGVDcnlwdG8uaWRsOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuaDoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuY3BwOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1z
L0NyeXB0b0FsZ29yaXRobUFFU19LVy5oOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUhNQUMuY3BwOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0
b0FsZ29yaXRobUhNQUMuaDoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdv
cml0aG1SU0FFU19QS0NTMV92MV81LmNwcDoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81Lmg6CisgICAgICAgICogY3J5cHRvL2FsZ29y
aXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUuY3BwOgorICAgICAgICAqIGNy
eXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81Lmg6CisgICAg
ICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuY3BwOgorICAg
ICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQLmg6CisgICAg
ICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmNwcDoKKyAgICAgICAgKiBjcnlwdG8va2V5
cy9DcnlwdG9LZXlBRVMuaDoKKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmNw
cDoKKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmg6CisgICAgICAgICogY3J5
cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmNwcDoKKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9L
ZXlSU0EuaDoKKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3
LmNwcDoKKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3Lmg6
CisgICAgICAgICogY3J5cHRvL21hYy9DcnlwdG9LZXlSU0FNYWMuY3BwOgorCiAyMDE2LTExLTA0
ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFN1
YnRsZUNyeXB0bzo6aW1wb3J0S2V5IHRvIG1hdGNoIHRoZSBsYXRlc3Qgc3BlYwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCBhZGQ1ODlkYzE4Nzk3MWQ3ZjFjZjE0YTNkN2I3Y2U3Y2IzNTJjMjlkLi45
ODA1YTk1MmIzMDE2OGViZTA5OWM4Y2QxYTg4MjU0YmI2NzA3Zjg1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMzI3LDYgKzMyNyw3IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAg
ICAgY3J5cHRvL0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaWRsCiAgICAgY3J5cHRvL0NyeXB0
b0tleS5pZGwKICAgICBjcnlwdG8vQ3J5cHRvS2V5UGFpci5pZGwKKyAgICBjcnlwdG8vQ3J5cHRv
S2V5VXNhZ2UuaWRsCiAgICAgY3J5cHRvL0pzb25XZWJLZXkuaWRsCiAgICAgY3J5cHRvL1JzYU90
aGVyUHJpbWVzSW5mby5pZGwKICAgICBjcnlwdG8vU3VidGxlQ3J5cHRvLmlkbApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMThkNWYzMDlhYTIwMDY4NDZiOGIwZTVjM2RiNWIxYzI0
MjljZjU0NC4uYzI4YWQxZDE3ZjM4MjFkOTk5ZjRlMjk2NTI2NjA1ZjAwNTA1ZDZjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yNTIsNiArMjUyLDcgQEAgSlNfQklORElOR19J
RExTID0gXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMu
aWRsIFwKICAgICAkKFdlYkNvcmUpL2NyeXB0by9DcnlwdG9LZXkuaWRsIFwKICAgICAkKFdlYkNv
cmUpL2NyeXB0by9DcnlwdG9LZXlQYWlyLmlkbCBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8vQ3J5
cHRvS2V5VXNhZ2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL2NyeXB0by9Kc29uV2ViS2V5LmlkbCBc
CiAgICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1ldGVycy9BZXNLZXlHZW5QYXJhbXMuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJzL0htYWNLZXlQYXJhbXMuaWRsIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA2ZjFhNzM1MzExNThiYWYxMzVkMzQ0NGFkYzRjZTYzNzFlOThiODhjLi42Mzg2YWQ1ODVmNzc1
ZTZlOWQzYzYxNTdmNzUwMjhhNDg1YTRhYTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzc5LDYgKzIzNzksOCBAQAogCQk1
Nzc4QkQ4NDFEQTQ4MTdCMDA5RTMwMDkgLyogU3VidGxlQ3J5cHRvLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NzhCRDgzMURBNDgxN0IwMDlFMzAw
OSAvKiBTdWJ0bGVDcnlwdG8uY3BwICovOyB9OwogCQk1NzlGNkUwNTFEQ0Q3RUU0MDA1NDZEODAg
LyogQ3J5cHRvQWxnb3JpdGhtUnNhSGFzaGVkS2V5R2VuUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0UyMzM3NDFEQ0Q2RDNCMDBGMjhEMDEg
LyogQ3J5cHRvQWxnb3JpdGhtUnNhSGFzaGVkS2V5R2VuUGFyYW1zLmggKi87IH07CiAJCTU3QTlD
ODhFMURBNzBCRjgwMEJDNzMwNSAvKiBKU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0E5Qzg4RDFEQTcwQkY4MDBC
QzczMDUgLyogSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwICovOyB9OworCQk1N0QwMDE4RDFERDU0
MTMyMDBFRDE5RDkgLyogSlNDcnlwdG9LZXlVc2FnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEMDAxOEMxREQ1NDEzMjAwRUQxOUQ5IC8qIEpTQ3J5
cHRvS2V5VXNhZ2UuaCAqLzsgfTsKKwkJNTdEMDAxOEYxREQ1NDE1MzAwRUQxOUQ5IC8qIEpTQ3J5
cHRvS2V5VXNhZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTdEMDAxOEUxREQ1NDE1MzAwRUQxOUQ5IC8qIEpTQ3J5cHRvS2V5VXNhZ2UuY3BwICov
OyB9OwogCQk1N0UyMzM1QjFEQzdENUU1MDBGMjhEMDEgLyogSlNKc29uV2ViS2V5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0UyMzM1QTFEQzdENUU1
MDBGMjhEMDEgLyogSlNKc29uV2ViS2V5LmggKi87IH07CiAJCTU3RTIzMzVEMURDN0Q2MDgwMEYy
OEQwMSAvKiBKU1JzYU90aGVyUHJpbWVzSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTdFMjMzNUMxREM3RDYwODAwRjI4RDAxIC8qIEpTUnNhT3Ro
ZXJQcmltZXNJbmZvLmggKi87IH07CiAJCTU3RTIzMzVGMURDN0Q2N0IwMEYyOEQwMSAvKiBKU0pz
b25XZWJLZXkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTdFMjMzNUUxREM3RDY3QjAwRjI4RDAxIC8qIEpTSnNvbldlYktleS5jcHAgKi87IH07CkBA
IC02OTc0LDcgKzY5NzYsNyBAQAogCQkwNjAyN0NBQzBCMUNCRkMwMDA4ODRCMkQgLyogQ29udGV4
dE1lbnVJdGVtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZXh0TWVu
dUl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDYyMjg3ODMwQjREQjMyMjAw
MEMzNERGIC8qIEZvY3VzRGlyZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBGb2N1c0RpcmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNjVB
RDRGMjBCMEMyRURBMDA1QTJCMUQgLyogQ29udGV4dE1lbnVDbGllbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRleHRNZW51Q2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTA2NUFENEYzMEIwQzJFREEwMDVBMkIxRCAvKiBDb250ZXh0TWVudUNv
bnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9
IDA7IHBhdGggPSBDb250ZXh0TWVudUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsg
fTsKKwkJMDY1QUQ0RjMwQjBDMkVEQTAwNUEyQjFEIC8qIENvbnRleHRNZW51Q29udHJvbGxlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGV4dE1lbnVDb250
cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgIH07CiAJCTA2NUFENEY0MEIwQzJF
REEwMDVBMkIxRCAvKiBDb250ZXh0TWVudUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENvbnRleHRNZW51Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwNjY4RTE4OTBBREQ5NjI0MDA0MTI4RTAgLyogUG9wdXBNZW51LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQb3B1cE1lbnUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMDY2Qzc3MkEwQUI2MDNCNzAwMjM4Q0M0IC8qIEZpbGVDaG9vc2Vy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWxlQ2hvb3Nlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzY2NSw3ICs3NjY3LDcgQEAKIAkJMTRENjRCNUEx
MzRBNUI2QjAwRTU4RkRBIC8qIFRyZWVTY29wZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBUcmVlU2NvcGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxNEQ2NEI1QjEzNEE1QjZCMDBFNThGREEgLyogVHJlZVNjb3BlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFRyZWVTY29wZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxNEQ4MjM1MDBBRjkyQTc5MDAwNEYwNTcgLyogQ2hyb21lLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENocm9tZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkxNEQ4MjM4QTBBRjkyREY2MDAwNEYwNTcgLyogQ2hyb21lLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ2hyb21lLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNv
ZGUubGFuZy5jcHA7IH07CisJCTE0RDgyMzhBMEFGOTJERjYwMDA0RjA1NyAvKiBDaHJvbWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENocm9tZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7ICB9OwogCQkxNEQ4MjQwNjBBRjkzQUVCMDAwNEYwNTcgLyogQ2hy
b21lQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENocm9tZUNsaWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNERDMEQwQjA5RkVDRkE0MDA3QjAy
MzUgLyogTm9kZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTm9kZS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0REMwRDM1MDlGRUQwNzMwMDdCMDIzNSAvKiBKU05vZGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTm9kZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03ODcxLDcgKzc4NzMsNyBAQAogCQkxQThGNkIw
MTBEQjUzMDA2MDAxREI3OTQgLyogU3Vic3RpdHV0ZVJlc291cmNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFN1YnN0aXR1dGVSZXNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQThGNkJCMTBEQjU1Q0RDMDAxREI3OTQgLyogQXBwbGljYXRpb25DYWNo
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcHBsaWNhdGlvbkNh
Y2hlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE4RjZCQjIwREI1NUNEQzAw
MURCNzk0IC8qIEFwcGxpY2F0aW9uQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQXBwbGljYXRpb25DYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkx
QThGNkJCMzBEQjU1Q0RDMDAxREI3OTQgLyogQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBBcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3Bl
Y2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJMUE4RjZCQjMwREI1
NUNEQzAwMURCNzk0IC8qIEFwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyAgfTsKIAkJMUE4RjZCQjQwREI1NUNEQzAwMURCNzk0IC8qIEFwcGxp
Y2F0aW9uQ2FjaGVHcm91cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBs
aWNhdGlvbkNhY2hlR3JvdXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE4RjZC
QjUwREI1NUNEQzAwMURCNzk0IC8qIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQThGNkJCNjBEQjU1Q0RDMDAxREI3
OTQgLyogQXBwbGljYXRpb25DYWNoZVJlc291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtODIyNiw3ICs4MjI4LDcgQEAKIAkJMjk4MUNBQTIxMzE4MjJFQzAwRDEyRjJB
IC8qIEFjY2Vzc2liaWxpdHlMaXN0Qm94LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2li
aWxpdHlMaXN0Qm94LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjk4MUNBQTMx
MzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMjk4MUNBQTQxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxp
dHlNZWRpYUNvbnRyb2xzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZWRp
YUNvbnRyb2xzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMjk4MUNBQTUxMzE4
MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5l
RW5kaW5nID0gMDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5n
LmNwcDsgfTsKKwkJMjk4MUNBQTUxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7ICB9OwogCQkyOTgxQ0FBNjEzMTgyMkVDMDBEMTJGMkEgLyogQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjk4MUNB
QTcxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxiYXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eVNjcm9sbGJhci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTI5ODFDQUE4MTMxODIyRUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5U2Ny
b2xsVmlldy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NTAzLDggKzg1MDUsOCBAQAogCQkz
MTQ2RkU2NzE4NDQyMDg3MDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFyLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkzMTQ2RkU3MDE4NDQyMzY3MDAxQTkzN0MgLyogSlNPRVNUZXh0
dXJlRmxvYXRMaW5lYXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkzMTQ2RkU3MTE4NDQyMzY3MDAxQTkzN0MgLyogSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMzE0QkUzQTAxQjMwRjZCNzAwMTQxOTgy
IC8qIENTU05hbWVkSW1hZ2VWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IGxpbmVF
bmRpbmcgPSAwOyBwYXRoID0gQ1NTTmFtZWRJbWFnZVZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTMxNEJFM0EyMUIzMEY2RDEwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFs
dWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0
aCA9IENTU05hbWVkSW1hZ2VWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTMxNEJFM0EwMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTTmFtZWRJbWFnZVZhbHVlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNEJFM0EyMUIzMEY2RDEwMDE0MTk4MiAvKiBDU1NOYW1l
ZEltYWdlVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NT
TmFtZWRJbWFnZVZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0QkUz
QTQxQjMxMDNGQjAwMTQxOTgyIC8qIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTRCRTNBNTFCMzEwM0ZCMDAxNDE5
ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyogRGljdGlvbmFyeS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaWN0aW9uYXJ5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC05NDQ2LDcgKzk0NDgsNyBAQAogCQk1MUJBNEFDOTFCQkM1QjlFMDBE
RjNENkQgLyogTWVtb3J5SURCQmFja2luZ1N0b3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE1lbW9yeUlEQkJhY2tpbmdTdG9yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MUJFMzdERTBEQUVFMDBFMDAxMDg1RkMgLyogU3RvcmFnZUFyZWEuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RvcmFnZUFyZWEuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTFDMEFBMzgwRjJBQTEwQTAwMTY0OEMyIC8qIENhY2hlZEZyYW1lLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZEZyYW1lLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxQzBBQTQwMEYyQUExNUUwMDE2NDhDMiAvKiBDYWNoZWRG
cmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBw
YXRoID0gQ2FjaGVkRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdl
U3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJNTFDMEFBNDAw
RjJBQTE1RTAwMTY0OEMyIC8qIENhY2hlZEZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENhY2hlZEZyYW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
IH07CiAJCTUxQzgxQjg3MEM0NDIyRjcwMDE5RUNFMyAvKiBGVFBEaXJlY3RvcnlQYXJzZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZUUERpcmVjdG9yeVBhcnNl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxQzgxQjg4MEM0NDIyRjcwMDE5
RUNFMyAvKiBGVFBEaXJlY3RvcnlQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEZUUERpcmVjdG9yeVBhcnNlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1MUNCRkM5ODBEMTBFNDgzMDAyREJGNTEgLyogQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk2MDMsNiArOTYwNSw5IEBACiAJCTU3
NzhCRDgxMURBNDgwMkMwMDlFMzAwOSAvKiBTdWJ0bGVDcnlwdG8uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU3VidGxlQ3J5cHRvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTU3NzhCRDgzMURBNDgxN0IwMDlFMzAwOSAvKiBTdWJ0bGVDcnlwdG8uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3VidGxlQ3J5cHRvLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdBOUM4OEQxREE3MEJGODAwQkM3MzA1IC8qIEpTU3Vi
dGxlQ3J5cHRvQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NTdEMDAxOEIxREQzREJBNDAwRUQxOUQ5IC8qIENyeXB0b0tleVVzYWdlLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDcnlw
dG9LZXlVc2FnZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3RDAwMThDMURE
NTQxMzIwMEVEMTlEOSAvKiBKU0NyeXB0b0tleVVzYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IEpTQ3J5cHRvS2V5VXNhZ2UuaDsgcGF0aCA9IEpTQ3J5cHRvS2V5VXNhZ2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTdEMDAxOEUxREQ1NDE1MzAwRUQxOUQ5
IC8qIEpTQ3J5cHRvS2V5VXNhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gSlNDcnlwdG9LZXlVc2FnZS5jcHA7IHBhdGggPSBKU0NyeXB0b0tleVVzYWdlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdFMjMzNTcxREM3RDI0ODAwRjI4RDAxIC8q
IEpzb25XZWJLZXkuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEpzb25XZWJLZXkuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0UyMzM1OTFEQzdEMzcyMDBGMjhEMDEgLyog
UnNhT3RoZXJQcmltZXNJbmZvLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSc2FPdGhlclBy
aW1lc0luZm8uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0UyMzM1QTFEQzdE
NUU1MDBGMjhEMDEgLyogSlNKc29uV2ViS2V5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTSnNvbldlYktleS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTgy
MCw3ICs5ODI1LDcgQEAKIAkJNjU2NTNGMkMwRDk3MjdEMjAwQ0E5NzIzIC8qIFNWR0FsdEdseXBo
RWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHQWx0R2x5cGhFbGVtZW50Lmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU2NTgwRUUwOUQxMkIyMDAwMEU2MUQ3
IC8qIENTU1Byb3BlcnR5TmFtZXMuZ3BlcmYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU1By
b3BlcnR5TmFtZXMuZ3BlcmY7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1NjU4MEVG
MDlEMTJCMjAwMDBFNjFENyAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDU1NQcm9wZXJ0eU5hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTY1NjU4MTQ0MDlEMTMwNDMwMDBFNjFENyAvKiBDU1NHcmFtbWFyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ1NTR3Jh
bW1hci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9u
SWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQk2NTY1ODE0NDA5RDEzMDQzMDAwRTYx
RDcgLyogQ1NTR3JhbW1hci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ1NTR3JhbW1hci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7ICB9OwogCQk2NTY1ODE0
NzA5RDEzMDQzMDAwRTYxRDcgLyogQ1NTVmFsdWVLZXl3b3Jkcy5ncGVyZiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gQ1NTVmFsdWVLZXl3b3Jkcy5ncGVyZjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNjU2NTgxNDgwOUQxMzA0MzAwMEU2MUQ3IC8qIENTU1ZhbHVlS2V5d29yZHMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1ZhbHVlS2V5d29yZHMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU2NTgxQUMwOUQxNEVFNjAwMEU2MUQ3IC8qIENo
YXJzZXREYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDaGFy
c2V0RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05ODQ4LDcgKzk4NTMs
NyBAQAogCQk2NTg0MzY4NTBBRTAxQjc0MDBFNTM3NTMgLyogRnJhbWVMb2FkUmVxdWVzdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRnJhbWVMb2FkUmVxdWVzdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTkzOTIzNTA5QUU0MzQ2MDAyQzUzMUYgLyogVVJM
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVUkwuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTkzOTIzNjA5QUU0MzQ2MDAyQzUzMUYgLyogVVJM
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVUkwuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNjU5MzkyMzkwOUFFNDM1QzAwMkM1MzFGIC8qIFVSTE1hYy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0g
VVJMTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlv
bklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKKwkJNjU5MzkyMzkwOUFFNDM1QzAw
MkM1MzFGIC8qIFVSTE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBVUkxNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZp
Y2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcub2JqY3BwOyB9OwogCQk2NTlBN0QxMjBCNkRC
NEQ5MDAxMTU1QjMgLyogU3Vic3RpdHV0ZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFN1YnN0aXR1dGVEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTY1OUREQzgwMDlFMTk4QkEwMDFCRjNDNiAvKiBKU0RvY3VtZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RvY3VtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNjU5RERDODEwOUUxOThCQTAwMUJGM0M2IC8qIEpTRG9jdW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRG9jdW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwNzQ3LDcgKzEwNzUyLDcgQEAKIAkJOTMwNzA1RDkwOUUw
QzlCRjAwQjE3RkU0IC8qIEpTQ291bnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0NvdW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNzA1RTgw
OUUwQzlGMDAwQjE3RkU0IC8qIEpTQ1NTUHJpbWl0aXZlVmFsdWUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDU1NQcmltaXRpdmVWYWx1ZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDcwNUVBMDlFMEM5RjYwMEIxN0ZFNCAvKiBKU0NTU1By
aW1pdGl2ZVZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ1NTUHJp
bWl0aXZlVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTMwNzA2MTMwOUUw
Q0E4MjAwQjE3RkU0IC8qIERlcml2ZWRTb3VyY2VzLm1ha2UgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUubWFrZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBEZXJpdmVkU291cmNlcy5tYWtlOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB1c2VzVGFicyA9IDE7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRl
bnRpZmllciA9IHhjb2RlLmxhbmcuc2ltcGxlQ29sb3Jpbmc7IH07CisJCTkzMDcwNjEzMDlFMENB
ODIwMEIxN0ZFNCAvKiBEZXJpdmVkU291cmNlcy5tYWtlICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLm1ha2U7IGZpbGVFbmNvZGluZyA9
IDQ7IHBhdGggPSBEZXJpdmVkU291cmNlcy5tYWtlOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB1
c2VzVGFicyA9IDE7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxh
bmcuc2ltcGxlQ29sb3Jpbmc7IH07CiAJCTkzMDdGMUQ1MEFGMkQ1OTAwMERCQTMxQSAvKiBIaXRU
ZXN0UmVzdWx0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIaXRU
ZXN0UmVzdWx0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwN0YxRDYwQUYy
RDU5MDAwREJBMzFBIC8qIEhpdFRlc3RSZXN1bHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEhpdFRlc3RSZXN1bHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTMwODQxMzMxQ0REQjE1NTAwQjA5NThDIC8qIEpTRE9NQ29udmVydC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTUNvbnZlcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTEwNzcxLDcgKzEwNzc2LDcgQEAKIAkJOTMyRTE2MDgwQUY1NzgzNDAwMjVGNDA4
IC8qIEZyYW1lTG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEZyYW1lTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMzMDlEODcw
OTlFNjQ5MTAwNTZFNTgxIC8qIEFwcGVuZE5vZGVDb21tYW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGVuZE5vZGVDb21tYW5kLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTMzMDlEODgwOTlFNjQ5MTAwNTZFNTgxIC8qIEFwcGVuZE5vZGVD
b21tYW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGVuZE5vZGVDb21t
YW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMzA5RDg5MDk5RTY0OTEwMDU2
RTU4MSAvKiBBcHBseVN0eWxlQ29tbWFuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQXBwbHlTdHlsZUNvbW1hbmQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5MzMwOUQ4OTA5OUU2NDkxMDA1NkU1ODEgLyogQXBwbHlT
dHlsZUNvbW1hbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXBw
bHlTdHlsZUNvbW1hbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzMwOUQ4
QTA5OUU2NDkxMDA1NkU1ODEgLyogQXBwbHlTdHlsZUNvbW1hbmQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQXBwbHlTdHlsZUNvbW1hbmQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTMzMDlEOEIwOTlFNjQ5MTAwNTZFNTgxIC8qIEJyZWFrQmxvY2txdW90ZUNv
bW1hbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQnJlYWtCbG9j
a3F1b3RlQ29tbWFuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMzA5RDhD
MDk5RTY0OTEwMDU2RTU4MSAvKiBCcmVha0Jsb2NrcXVvdGVDb21tYW5kLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJyZWFrQmxvY2txdW90ZUNvbW1hbmQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyMDk1LDcgKzEyMTAwLDcgQEAKIAkJQUE0NzM5Q0YxNzU3
QUZFQzAwRTc2NzY3IC8qIFVJUmVxdWVzdEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFVJUmVxdWVzdEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQUE0NzM5RDAxNzU3QUZFQzAwRTc2NzY3IC8qIFVJUmVxdWVzdEV2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVJUmVxdWVzdEV2ZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBNDc4QTdEMTZDRDcwQzMwMDdEMUJCNCAvKiBXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQlBQTQ3OEE3RTE2Q0Q3MEMzMDA3RDFCQjQgLyogV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGlj
aXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgZmlsZUVuY29kaW5nID0gNDsgbGlu
ZUVuZGluZyA9IDA7IHBhdGggPSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVy
ID0geGNvZGUubGFuZy5vYmpjcHA7IH07CisJCUFBNDc4QTdFMTZDRDcwQzMwMDdEMUJCNCAvKiBX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBmaWxlRW5j
b2RpbmcgPSA0OyBwYXRoID0gV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9
IHhjb2RlLmxhbmcub2JqY3BwOyB9OwogCQlBQTRDM0E3NDBCMkIxNjc5MDAyMzM0QTIgLyogSW5s
aW5lU3R5bGVTaGVldE93bmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBJbmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBQTRDM0E3NTBCMkIxNjc5MDAyMzM0QTIgLyogSW5saW5lU3R5bGVTaGVldE93bmVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmxpbmVTdHlsZVNoZWV0T3duZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUE1RjNCOTAxNkNDNUJFQjAwNDU1RUIw
IC8qIENvcmVGb3VuZGF0aW9uLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29yZUZvdW5k
YXRpb24uZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZv
dW5kYXRpb24uZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwpAQCAtMTMw
MzQsNyArMTMwMzksNyBAQAogCQlCQzNDMzlCNDBDMEQzRDhEMDA1RjREN0EgLyogSlNNZWRpYUxp
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFMaXN0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMzQzM5QjUwQzBEM0Q4RDAwNUY0
RDdBIC8qIEpTTWVkaWFMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U01lZGlhTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzQzNjhFNzBDMjI2
RTMyMDA1RUZCNUYgLyogUmVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQzQ2QzFFRDBDMEREQkRGMDAy
MENGQzMgLyogSlNDU1NSdWxlQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gSlNDU1NSdWxlQ3VzdG9tLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUu
bGFuZy5jcHA7IH07CisJCUJDNDZDMUVEMEMwRERCREYwMDIwQ0ZDMyAvKiBKU0NTU1J1bGVDdXN0
b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ1NTUnVsZUN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7ICB9OwogCQlCQzQ2QzFGMjBDMEREQzhG
MDAyMENGQzMgLyogSlNDU1NGb250RmFjZVJ1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQ1NTRm9udEZhY2VSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQkM0NkMxRjMwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTRm9udEZhY2VSdWxl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NTU0ZvbnRGYWNlUnVsZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzQ2QzFGNDBDMEREQzhGMDAyMENGQzMg
LyogSlNDU1NJbXBvcnRSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0NTU0ltcG9ydFJ1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTMyNTQsNyArMTMyNTksNyBAQAogCQlCQ0IxNkMwQjA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVk
U2NyaXB0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRTY3JpcHQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCMTZDMEUwOTc5QzNCRDAwNDY3NzQx
IC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCQ0IxNkMwRjA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkWFNMU3R5bGVTaGVldC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0IxNkMxMDA5NzlDM0JEMDA0Njc3NDEg
LyogQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBDYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhj
b2RlLmxhbmcuY3BwOyB9OworCQlCQ0IxNkMxMDA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgIH07CiAJCUJD
QjE2QzExMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRSZXNvdXJjZUxvYWRlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCOTJENEUxMjkzNTUwQjAwQzgzODdGIC8qIEZvbnRC
YXNlbGluZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250QmFzZWxpbmUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCQjhBQjUxM0YxQUZCMDAwNzM0REYw
IC8qIFBPREludGVydmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBPRElu
dGVydmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDEzMiwxMyArMTQxMzcs
MTMgQEAKIAkJRTFCQTY3MTYxNzQyQkRFMDAwQzIwMjUxIC8qIGxpYldlYkNvcmVUZXN0U2hpbS5k
eWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNv
bXBpbGVkLm1hY2gtby5keWxpYiI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IGxpYldlYkNv
cmVUZXN0U2hpbS5keWxpYjsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJ
RTFCQTY3MTkxNzQyQkVGNDAwQzIwMjUxIC8qIFdlYkNvcmVUZXN0U2hpbUxpYnJhcnkuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29yZVRlc3RTaGltTGlicmFy
eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQkI4NEFDMTgyMkNBNzQwMDUy
NTA0MyAvKiBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeU1hYy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeU1hYy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUxQkQzMzE3MTgyRDhEREQwMEMwNUQ5RiAvKiBDcnlw
dG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1Mx
X3YxXzUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlv
bklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKLQkJRTFCRDMzMTgxODJEOERERDAwQzA1
RDlGIC8qIENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1SU0FTU0Ff
UEtDUzFfdjFfNS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNh
dGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKLQkJRTFCRDMzMUIxODJEOEVF
OTAwQzA1RDlGIC8qIENyeXB0b0FsZ29yaXRobVJzYVNzYVBhcmFtc0RlcHJlY2F0ZWQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IENyeXB0b0FsZ29y
aXRobVJzYVNzYVBhcmFtc0RlcHJlY2F0ZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNM
YW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5vYmpjcHA7IH07CisJ
CUUxQkQzMzE3MTgyRDhEREQwMEMwNUQ5RiAvKiBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFf
djFfNS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDcnlwdG9BbGdv
cml0aG1SU0FTU0FfUEtDUzFfdjFfNS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUUxQkQzMzE4MTgyRDhEREQwMEMwNUQ5RiAvKiBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFf
djFfNS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1S
U0FTU0FfUEtDUzFfdjFfNS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMUJEMzMx
QjE4MkQ4RUU5MDBDMDVEOUYgLyogQ3J5cHRvQWxnb3JpdGhtUnNhU3NhUGFyYW1zRGVwcmVjYXRl
ZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1Sc2FT
c2FQYXJhbXNEZXByZWNhdGVkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQkQz
MzFEMTgyRDhGNDIwMEMwNUQ5RiAvKiBDcnlwdG9BbGdvcml0aG1Sc2FLZXlHZW5QYXJhbXNEZXBy
ZWNhdGVkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b0FsZ29yaXRo
bVJzYUtleUdlblBhcmFtc0RlcHJlY2F0ZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTFCRTUxMkIwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBYU0xUVW5pY29kZVNvcnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUJFNTEyQzBDRjZDNTEyMDAyRUE5NTkgLyogWFNM
VFVuaWNvZGVTb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhTTFRVbmlj
b2RlU29ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMUMyNjZENjE4MzE3QUI0
MDAzRjhCMzMgLyogQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzVNYWMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IENyeXB0b0Fs
Z29yaXRobVJTQVNTQV9QS0NTMV92MV81TWFjLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
eGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJ
CUUxQzI2NkQ2MTgzMTdBQjQwMDNGOEIzMyAvKiBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFf
djFfNU1hYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDcnlwdG9B
bGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNU1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUUxQzI2NkRBMTgzMTk5MzUwMDNGOEIzMyAvKiBDcnlwdG9BbGdvcml0aG1Sc2FLZXlQ
YXJhbXNXaXRoSGFzaERlcHJlY2F0ZWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ3J5cHRvQWxnb3JpdGhtUnNhS2V5UGFyYW1zV2l0aEhhc2hEZXByZWNhdGVkLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQzI2NkRDMTgzMTlGMzEwMDNGOEIzMyAvKiBDcnlw
dG9LZXlEYXRhUlNBQ29tcG9uZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBDcnlwdG9LZXlEYXRhUlNBQ29tcG9uZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUUxQzI2NkREMTgzMTlGMzEwMDNGOEIzMyAvKiBDcnlwdG9LZXlEYXRhUlNB
Q29tcG9uZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9LZXlE
YXRhUlNBQ29tcG9uZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQxNTQs
MTIgKzE0MTU5LDEyIEBACiAJCUUxQzQxNjE2MEY2NTYzMTgwMDkyRDJGQiAvKiBDcm9zc09yaWdp
bkFjY2Vzc0NvbnRyb2wuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTFDNERFNjgwRUE3NUMxRTAwMjNDQ0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY3RpdmVET01PYmplY3QuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTFDNERFNkQwRUE3NUM2NTAwMjNDQ0Q2IC8qIEFjdGl2ZURPTU9i
amVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY3RpdmVET01P
YmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMUM2NTcxMDE4MTVGOURE
MDAyNTZDREQgLyogSlNDcnlwdG9BbGdvcml0aG1EaWN0aW9uYXJ5LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBKU0NyeXB0b0FsZ29yaXRo
bURpY3Rpb25hcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lm
aWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJRTFDNjU3MTAxODE1RjlE
RDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NyeXB0b0FsZ29yaXRobURpY3Rpb25hcnkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUM2NTcxMTE4MTVGOUREMDAyNTZDREQg
LyogSlNDcnlwdG9BbGdvcml0aG1EaWN0aW9uYXJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFMUM2NTcxRTE4MTZFNTAzMDAyNTZDREQgLyogQ3J5cHRvQWxnb3JpdGht
SG1hY1BhcmFtc0RlcHJlY2F0ZWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q3J5cHRvQWxnb3JpdGhtSG1hY1BhcmFtc0RlcHJlY2F0ZWQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTFDNjU3MjQxODE2RTY5RDAwMjU2Q0REIC8qIENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUM2NTcyNjE4
MTZGOUZFMDAyNTZDREQgLyogQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
c0RlcHJlY2F0ZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTFDNkNGQzIxNzQ2
RDI5MzAwN0I4N0ExIC8qIERPTVdpbmRvd0NvbnN0cnVjdG9ycy5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBsaW5lRW5kaW5nID0gMDsg
cGF0aCA9IERPTVdpbmRvd0NvbnN0cnVjdG9ycy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9ICI8bm9uZT4iOyB9OworCQlFMUM2
Q0ZDMjE3NDZEMjkzMDA3Qjg3QTEgLyogRE9NV2luZG93Q29uc3RydWN0b3JzLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBE
T01XaW5kb3dDb25zdHJ1Y3RvcnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1
YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSAiPG5vbmU+IjsgfTsKIAkJRTFDOEJFNUMwRThC
RDE1QTAwNjRDQjdEIC8qIEpTV29ya2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTV29ya2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFD
OTRBRjcxOTEzMDNGMDAwRDVBODkzIC8qIEJsb2JQYXJ0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEJsb2JQYXJ0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUx
Q0E1Q0JCMEU4Q0RDQUYwMEU4RUY5MCAvKiBKU1dvcmtlckN1c3RvbS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dvcmtlckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xNDU2NCw3ICsxNDU2OSw3IEBACiAJCUZDOUEwRjczMTY0MDk0
Q0YwMDNENkI4RCAvKiBET01DU1NOYW1lc3BhY2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IERPTUNTU05hbWVzcGFjZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZDOUUw
RTRCMTY0MTlDMUUwMDM5MkJFMyAvKiBKU0RPTUNTU05hbWVzcGFjZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTUNTU05hbWVzcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGQ0VCQ0Q3MTE2MjNBNzkxMDAyOTk2NUUgLyogQ1NTR3JhbW1hci55Lmlu
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS55YWNjOyBwYXRoID0gQ1NTR3JhbW1hci55LmluOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGQ0VCQ0Q3MjE2MjNBNzkxMDAyOTk2NUUgLyogQ1NT
R3JhbW1hci55LmluY2x1ZGVzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS55YWNjOyBsaW5lRW5kaW5n
ID0gMDsgcGF0aCA9IENTU0dyYW1tYXIueS5pbmNsdWRlczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0gIjxub25lPiI7IH07CisJCUZD
RUJDRDcyMTYyM0E3OTEwMDI5OTY1RSAvKiBDU1NHcmFtbWFyLnkuaW5jbHVkZXMgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLnlhY2M7IHBhdGggPSBDU1NHcmFtbWFyLnkuaW5jbHVkZXM7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9ICI8bm9u
ZT4iOyB9OwogCQlGRDAwRDdBMjE0QTNGNjE5MDA3MzQwMTEgLyogU2luY1Jlc2FtcGxlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaW5jUmVzYW1wbGVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkQwMEQ3QTMxNEEzRjYxOTAwNzM0MDExIC8q
IFNpbmNSZXNhbXBsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2luY1Jl
c2FtcGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRDA2REZBMzEzNEE0REVG
MDA2RjVEN0QgLyogRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzA1NCw2ICsyMzA1OSw3IEBACiAJCQkJ
RTEyNUY4NTUxODJDMEY4MzAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRpb24uaCAqLywK
IAkJCQlFMTk3MjcxNTE4MjA1NDlFMDA1OTJENTEgLyogQ3J5cHRvS2V5VHlwZS5oICovLAogCQkJ
CUUxNzJBRjZGMTgwRjI4OTUwMEZCQURCOSAvKiBDcnlwdG9LZXlVc2FnZS5oICovLAorCQkJCTU3
RDAwMThCMUREM0RCQTQwMEVEMTlEOSAvKiBDcnlwdG9LZXlVc2FnZS5pZGwgKi8sCiAJCQkJNTdF
MjMzNjQxREM3REIxRjAwRjI4RDAxIC8qIEpzb25XZWJLZXkuaCAqLywKIAkJCQk1N0UyMzM1NzFE
QzdEMjQ4MDBGMjhEMDEgLyogSnNvbldlYktleS5pZGwgKi8sCiAJCQkJNTdFMjMzNjIxREM3REEy
NDAwRjI4RDAxIC8qIFJzYU90aGVyUHJpbWVzSW5mby5oICovLApAQCAtMjMwODAsNiArMjMwODYs
OCBAQAogCQkJCUUxNTdBOERGMTgxNzMzMUMwMDlGODIxRCAvKiBKU0NyeXB0b0tleS5oICovLAog
CQkJCUUxRjgwQjhCMTgzMTcyQjUwMDc4ODVDMyAvKiBKU0NyeXB0b0tleVBhaXIuY3BwICovLAog
CQkJCUUxRjgwQjhDMTgzMTcyQjUwMDc4ODVDMyAvKiBKU0NyeXB0b0tleVBhaXIuaCAqLywKKwkJ
CQk1N0QwMDE4RTFERDU0MTUzMDBFRDE5RDkgLyogSlNDcnlwdG9LZXlVc2FnZS5jcHAgKi8sCisJ
CQkJNTdEMDAxOEMxREQ1NDEzMjAwRUQxOUQ5IC8qIEpTQ3J5cHRvS2V5VXNhZ2UuaCAqLywKIAkJ
CQk1N0UyMzM2ODFEQ0FCMjQzMDBGMjhEMDEgLyogSlNIbWFjS2V5UGFyYW1zLmNwcCAqLywKIAkJ
CQk1N0UyMzM2NjFEQ0FCMjFDMDBGMjhEMDEgLyogSlNIbWFjS2V5UGFyYW1zLmggKi8sCiAJCQkJ
NTdFMjMzNUUxREM3RDY3QjAwRjI4RDAxIC8qIEpTSnNvbldlYktleS5jcHAgKi8sCkBAIC0yNTIy
OCw3ICsyNTIzNiw2IEBACiAJCQkJQ0QxOUEyNjgxQTEzRTcwMDAwOEQ2NTBFIC8qIERpYWdub3N0
aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NkZDQjYxODFBNzA4MjBFMDBD
NUEyMUUgLyogRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmggaW4gSGVhZGVycyAqLywKIAkJCQk4Mzcy
REIzMTFBNjc4MEE4MDBDNjk3QzUgLyogRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmggaW4g
SGVhZGVycyAqLywKLQkJCQk1MUUyNjkzNzFERDNCRDlCMDA2QjZBNTggLyogSURCSXRlcmF0ZUN1
cnNvckRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFQ0FERkM3MTUzNzc4RkYwMEUzNzA2OCAv
KiBEaWN0YXRpb25BbHRlcm5hdGl2ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0VDQURGQzkxNTM3
NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUQw
QkQ0RjVEMTQwODg1MEYwMDY4MzlCNiAvKiBEaWN0YXRpb25Db21tYW5kSU9TLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI1Mjc2LDggKzI1MjgzLDggQEAKIAkJCQlCQzFCREYyNTE1NkMxOEM3MDAxQzEy
NDMgLyogRE9NRXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFRDYwOUJEMTE0NUIwNzEwMEM4
Njg0RSAvKiBET01Gb3JtRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgxODVGM0IwOTc2NTc2
NjAwNTgyNkQ5IC8qIERPTUltcGxlbWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQlFMzE1
MEVBNzFEQTcyMTkzMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTNDOTlBMDkxREMzRDQxQzAwNzk0QUQzIC8qIERPTUpJVENoZWNrRE9NLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlFMzE1MEVBNzFEQTcyMTkzMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTNBNzc2NjcxREM4NUQyODAwQjY5MEQ4IC8qIERPTUpJVElETENv
bnZlcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzQTc3NjY4MURDODVEMjgwMEI2OTBEOCAvKiBE
T01KSVRJRExUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzU4MDJCNjFEQzg0MzVEMDBBOTc3
M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTQwNSw3ICsy
NTQxMiw2IEBACiAJCQkJODQ3MzBEODkxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFU3BlY3VsYXJMaWdo
dGluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDIzIC8qIEZl
dGNoSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxQUQ3NTNBMUNFRjZC
RDEwMEEzMTQ4NiAvKiBGZXRjaE9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxM0UwMDc5
MURCMEU0RjIwMDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NDczMEQ4QjEyNDhGMEIzMDBEM0E5QzkgLyogRkVUaWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NDczMEQ4RDEyNDhGMEIzMDBEM0E5QzkgLyogRkVUdXJidWxlbmNlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlGRDMxNjA5NTEyQjAyNkY3MDBDMUEzNTkgLyogRkZUQ29udm9sdmVyLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI1NzIwLDYgKzI1NzI2LDcgQEAKIAkJCQk1MTg1RkM4RjFCQjRDNEU4MDAxMjg5
OEYgLyogSURCR2V0UmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkM5MTFCQjRDNEU4
MDAxMjg5OEYgLyogSURCSW5kZXguaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRjc5OEYwMUJFODgw
RTcwMDhBRTQ5MSAvKiBJREJJbmRleEluZm8uaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRTI2OTM3
MUREM0JEOUIwMDZCNkE1OCAvKiBJREJJdGVyYXRlQ3Vyc29yRGF0YS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTE4NUZDOTUxQkI0QzRFODAwMTI4OThGIC8qIElEQktleS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTE4NUZDOTcxQkI0QzRFODAwMTI4OThGIC8qIElEQktleURhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTUxODVGQzk5MUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlQYXRoLmggaW4gSGVh
ZGVycyAqLywKQEAgLTI2MDc4LDYgKzI2MDg1LDcgQEAKIAkJCQlBODBFN0U5OTBBMUE4M0UzMDA3
RkI4QzUgLyogSlNIVE1MT3B0aW9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQ4QTI5
QkYwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0QUQwMTczRDEyN0U4Mjg2MDAxNTAzNUYgLyogSlNIVE1MT3V0cHV0RWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTdEMDAxOEQxREQ1NDEzMjAwRUQxOUQ5IC8qIEpTQ3J5
cHRvS2V5VXNhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTJBQkE3MEExQ0U5MDUwMEI0MkIy
NSAvKiBKU0hUTUxQYXJhZ3JhcGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUJB
OTBBMUNFOTA1MDBCNDJCMjUgLyogSlNIVE1MUGFyYW1FbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzNEODVCQzFDMEUyRTdBMDBEM0I2MTAgLyogSlNIVE1MUGljdHVyZUVsZW1lbnQuaCBp
biBIZWFkZXJzICovLApAQCAtMjY2OTcsNiArMjY3MDUsNyBAQAogCQkJCTUxNzcxREZGMUJEQjQ4
NTAwMENBRThFNCAvKiBNZW1vcnlPYmplY3RTdG9yZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE3
MTM5MDYxQkY2NERFQzAwMEQ1RjAxIC8qIE1lbW9yeU9iamVjdFN0b3JlQ3Vyc29yLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2NTcxRENDODEzODVFNkE0MDA3MDJERDAgLyogTWVtb3J5UHJlc3N1cmVI
YW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTNFMDA3OTFEQjBFNEYyMDAyMzQxRDIgLyog
TWVtb3J5UmVsZWFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERkEwOTlFNjQ5MjAwNTZF
NTgxIC8qIE1lcmdlSWRlbnRpY2FsRWxlbWVudHNDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMUFERUNDRTBFNzZBRDhCMDA0QTFBNUUgLyogTWVzc2FnZUNoYW5uZWwuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTc1NzkzRTg0MEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZlbnQuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjY4MTAsNiArMjY4MTksNyBAQAogCQkJCTkzM0M3QTc1MUMwRkJDNDQw
MDM0RkI5NyAvKiBOU1NwZWxsQ2hlY2tlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxMjUy
NTMxQTFCRUMwNjAwODY0NDgwIC8qIE5TU3RyaW5nU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQky
RDc3QUMyQjFCRjJCOTg3MDA3MjQ3MEEgLyogTlNUZXh0RmluZGVyU1BJLmggaW4gSGVhZGVycyAq
LywKKwkJCQk5MzM1QjQ5RDFEQ0JFRjdDMDBFRDQ2OEUgLyogTlNUb3VjaEJhclNQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzFCMzEzREIxQjY5ODcxNjAwRjJBQUJDIC8qIE5TVVJMQ29ubmVjdGlv
blNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxMjUyNTUxQTFCRUMwRTAwODY0NDgwIC8qIE5T
VVJMRG93bmxvYWRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1OEY1NDAzMTlBMUM5MjQwMDg4
RkM5MiAvKiBOU1VSTEZpbGVUeXBlTWFwcGluZ3NTUEkuaCBpbiBIZWFkZXJzICovLApAQCAtMjcw
MDgsOSArMjcwMTgsOSBAQAogCQkJCUY1NUIzRENFMTI1MUYxMkQwMDNFRjI2OSAvKiBSYW5nZUlu
cHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkU4NEU5RTExNzY2OEJGMTAwODE1QjY4IC8q
IFJhc3RlclNoYXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODREODI3QzExRDMzM0VEMDA5NzI5
OTAgLyogUmF3RGF0YURvY3VtZW50UGFyc2VyLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTZFNkZF
ODFCQkQxMkRGMDAwQTNGNjQgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJNDE2RTZGRTkxQkJEMTJFNTAwMEE2MDQzIC8qIFJlYWRhYmxlU3Ry
ZWFtQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjA0
MyAvKiBSZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNDE2RTZGRTkxQkJEMTJFNTAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBM0Y2NCAvKiBSZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjAzQzEy
QjAyNjc2MDBDMUEzNTkgLyogUmVhbHRpbWVBbmFseXNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NEE0RjY1NzExQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTRBNEY2NTcyMUFBOTk3RjEwMEUzOENERCAvKiBSZWFsdGltZU1lZGlhU291
cmNlQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKQEAgLTI4MDkwLDcgKzI4MTAwLDYgQEAK
IAkJCQkxQ0FGMzQ4MTBBNkM0MDUyMDBBQkUwNkUgLyogV2ViU2NyaXB0T2JqZWN0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQ0FGMzQ4MzBBNkM0MDUyMDBBQkUwNkUgLyogV2ViU2NyaXB0T2JqZWN0
UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1NjlEMUIwRDdFMkI4MjAwN0MzOTgzIC8q
IFdlYlNjcmlwdE9iamVjdFByb3RvY29sLmggaW4gSGVhZGVycyAqLywKLQkJCQk5MzM1QjQ5RDFE
Q0JFRjdDMDBFRDQ2OEUgLyogTlNUb3VjaEJhclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdB
QUJEMUIxNEZBMDlENTAwNzQ1N0FFIC8qIFdlYlNvY2tldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTdBQUJEMUUxNEZBMDlENTAwNzQ1N0FFIC8qIFdlYlNvY2tldENoYW5uZWwuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTk3QUFCRDFGMTRGQTA5RDUwMDc0NTdBRSAvKiBXZWJTb2NrZXRDaGFubmVsQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI4NTIwLDYgKzI4NTI5LDcgQEAKIAkJCWlzYSA9IFBC
WFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJ
CWZpbGVzID0gKAorCQkJCTU3RDAwMThGMURENTQxNTMwMEVEMTlEOSAvKiBKU0NyeXB0b0tleVVz
YWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxRTFCMUQwMEZGNTk4NjkwMDU3NkIzQiAvKiBB
YnN0cmFjdFdvcmtlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzN0Y1N0FCOTFBNTA3MjY5MDA4
NzZGOTggLyogQWNjZXNzaWJpbGl0eUFSSUFHcmlkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3
RjU3QUJBMUE1MDcyNkYwMDg3NkY5OCAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmNwcCBp
biBTb3VyY2VzICovLApAQCAtMjg3MjYsNyArMjg3MzYsNiBAQAogCQkJCUNERThCNUVDMUE2OTc3
NzMwMEI0QjY2QSAvKiBDRE1Qcml2YXRlQ2xlYXJLZXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Q0RDQTk4RUIxOEIyQzhFQjAwQzEyRkY5IC8qIENETVByaXZhdGVNZWRpYVBsYXllci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlDRDMxODYyMjE5OUYxRTJBMDAzMEEwRjcgLyogQ0RNUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTQxM0UwMDdDMURCMEU3MEEw
MDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREU1
OTU5NTFCRjE2REYzMDBBMUNCRTggLyogQ0RNU2Vzc2lvbkFWQ29udGVudEtleVNlc3Npb24ubW0g
aW4gU291cmNlcyAqLywKIAkJCQlDRERFMDJFRDE4QjNFRDZEMDBDRjdGRjEgLyogQ0RNU2Vzc2lv
bkFWRm91bmRhdGlvbk9iakMubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRERFMDJGMDE4QjU2NTEz
MDBDRjdGRjEgLyogQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5tbSBpbiBTb3VyY2VzICovLApA
QCAtMjkwODUsNyArMjkwOTQsNiBAQAogCQkJCUZENkVEMkMzMTM2QjhFNDIwMDNDRjA3MiAvKiBE
eW5hbWljc0NvbXByZXNzb3JOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5REUzMDk5
RTY0OTIwMDU2RTU4MSAvKiBFZGl0Q29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5QkFC
NkM2RDEyNTUwNjMxMDAxNjI2RDQgLyogRWRpdGluZ1N0eWxlLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTUxRTI2OTMzMUREM0JDNEUwMDZCNkE1OCAvKiBKU0lEQlRyYW5zYWN0aW9uQ3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTRCMzA0M0NDMEFFMDM3M0IwMEE4MjY0NyAvKiBFZGl0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOUI1NUVFRTkxQjNFODg5ODAwNTM0MkJDIC8qIEVkaXRv
ckNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNBMzhCNEIwRDBFNTgwODAwNjg3MkMyIC8q
IEVkaXRvckNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTQzNyw2ICsyOTQ0NSw3IEBA
CiAJCQkJNTEyRjFBNzgxQzA3RUI2NjAwOTA4MjM5IC8qIElEQkdldFJlc3VsdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1MTg1RkM5MDFCQjRDNEU4MDAxMjg5OEYgLyogSURCSW5kZXguY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTFGNzk4RUYxQkU4ODBFNzAwOEFFNDkxIC8qIElEQkluZGV4SW5m
by5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUUyNjkzNjFERDNCRDk3MDA2QjZBNTggLyogSURC
SXRlcmF0ZUN1cnNvckRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4NUZDOTQxQkI0QzRF
ODAwMTI4OThGIC8qIElEQktleS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTg1RkM5NjFCQjRD
NEU4MDAxMjg5OEYgLyogSURCS2V5RGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTg1RkM5
ODFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5UGF0aC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5
ODc1LDYgKzI5ODg0LDcgQEAKIAkJCQk1MTFFRjJDOTE3RjBGRDM1MDBFNEZBMTYgLyogSlNJREJS
ZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNEYzMUI1MUNDMDczNzIwMERCNDNEQyAv
KiBKU0lEQlJlcXVlc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTExRUYyQ0ExN0Yw
RkQzNTAwRTRGQTE2IC8qIEpTSURCVHJhbnNhY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
NTFFMjY5MzMxREQzQkM0RTAwNkI2QTU4IC8qIEpTSURCVHJhbnNhY3Rpb25DdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJODM4RUY1M0IxREMxNEE3QzAwOEYwQzM5IC8qIEpTSURCVHJhbnNh
Y3Rpb25Nb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMUVGMkNCMTdGMEZEMzUwMEU0RkEx
NiAvKiBKU0lEQlZlcnNpb25DaGFuZ2VFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzZD
NDlGMzBEN0RCQTA1MDBGRkE1NTggLyogSlNJbWFnZUNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtMzAyNzAsNyArMzAyODAsNiBAQAogCQkJCTZGOTk1QTM3MUE3MDgzMzcwMEE3MzVG
NCAvKiBKU1dlYkdMVHJhbnNmb3JtRmVlZGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEM0
NTM0MjcxMENEQkJGQTAwODY5MTU3IC8qIEpTV2ViR0xVbmlmb3JtTG9jYXRpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNkY5OTVBMzkxQTcwODMzNzAwQTczNUY0IC8qIEpTV2ViR0xWZXJ0ZXhB
cnJheU9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MUUyNjkzNjFERDNCRDk3MDA2QjZB
NTggLyogSURCSXRlcmF0ZUN1cnNvckRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNzdFRjYy
RjMxMkY5REI3NDAwQzc3QkQyIC8qIEpTV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkzMUMwRkYzRDBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRBbmlt
YXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTgzOTEzRjBGMUU3Njc1MDBDMjM3
ODIgLyogSlNXZWJLaXRDU1NNYXRyaXguY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDQ3OSw3ICsz
MDQ4OCw2IEBACiAJCQkJMDc4RTA5MDMxN0QxNENFRTAwNDIwQUExIC8qIE1lZGlhU3RyZWFtVHJh
Y2tFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwN0ZGREU2ODE4MUFFRDQyMDA3MkQ0MDkg
LyogTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q2NDFF
QkYxODE5QjM2MDAwRUU0QzQxIC8qIE1lZGlhVGltZUFWRm91bmRhdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKLQkJCQk0MTNFMDA3QTFEQjBFNEY5MDAyMzQxRDIgLyogTWVtb3J5UmVsZWFzZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlDRDYwQzBDNjE5M0U4N0M3MDAzQzY1NkIgLyogTWVkaWFUaW1l
UVRLaXQubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNzA1ODUzQTE3RkUwNzcwMDA1RjJCQ0IgLyog
TWVkaWFUcmFja0NvbnN0cmFpbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcwNTg1MjMxN0ZE
QzE0MDAwNUYyQkNCIC8qIE1lZGlhVHJhY2tDb25zdHJhaW50cy5jcHAgaW4gU291cmNlcyAqLywK
QEAgLTMwNDk1LDYgKzMwNTAzLDggQEAKIAkJCQk1MTcxMzkwNTFCRjY0REVDMDAwRDVGMDEgLyog
TWVtb3J5T2JqZWN0U3RvcmVDdXJzb3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjU3RURBMDgx
Mzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBREI2QjI5ODE4RkI5MDI0MDA4MTk2M0UgLyogTWVtb3J5UHJlc3N1cmVIYW5kbGVy
Q29jb2EubW0gaW4gU291cmNlcyAqLywKKwkJCQk0MTNFMDA3QTFEQjBFNEY5MDAyMzQxRDIgLyog
TWVtb3J5UmVsZWFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTNFMDA3QzFEQjBFNzBBMDAy
MzQxRDIgLyogTWVtb3J5UmVsZWFzZUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzMDlE
RjkwOTlFNjQ5MjAwNTZFNTgxIC8qIE1lcmdlSWRlbnRpY2FsRWxlbWVudHNDb21tYW5kLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUUxQURFQ0NGMEU3NkFEOEIwMDRBMUE1RSAvKiBNZXNzYWdlQ2hh
bm5lbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3NTc5M0U4MzBEMENFMEIzMDA3RkMwQUMgLyog
TWVzc2FnZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzExNDksNiArMzExNTksNyBAQAog
CQkJCTI0RDkxMkIwMTNDQTlBMUYwMEQyMTkxNSAvKiBTVkdBbHRHbHlwaERlZkVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNjU2NTNGMkQwRDk3MjdEMjAwQ0E5NzIzIC8qIFNWR0FsdEds
eXBoRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyNEQ5MTJCNzEzQ0E5QTY5MDBEMjE5
MTUgLyogU1ZHQWx0R2x5cGhJdGVtRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3QzhG
MjI0NDFERDNDMkY2MDBFOTJEQTMgLyogU1ZHQW5nbGVWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCMjIyNzk3OTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk0MzYyQzdCOTEzQUM2RjFBMDAzNDRCRUIgLyogU1ZHQW5p
bWF0ZWRBbmdsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MzFBMzA4ODEzQjhGOTc4MDA3Nzkx
RTQgLyogU1ZHQW5pbWF0ZWRCb29sZWFuLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzEzNTMsNyAr
MzEzNjQsNiBAQAogCQkJCUNFQ0FERkNEMTUzNzc5MUQwMEUzNzA2OCAvKiBUZXh0SW5zZXJ0aW9u
QmFzZUNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzMDlFMUIwOTlFNjQ5MjAwNTZF
NTgxIC8qIFRleHRJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNEQ5ODhCNjE3QkZF
QjIxMDA4NEZCODggLyogVGV4dE5vZGVUcmF2ZXJzYWwuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJ
N0M4RjIyNDQxREQzQzJGNjAwRTkyREEzIC8qIFNWR0FuZ2xlVmFsdWUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUMxOERBNTgxODFBRjZBNTAwQzRFRjIyIC8qIFRleHRQYWludGVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUU0QzkxQTEwMTgwMjM0MzkwMEExN0Y2RCAvKiBUZXh0UGFpbnRTdHls
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0YxOUE5RDA4MjQ1RTU5MDAxRTlBQkMgLyogVGV4
dFJlc291cmNlRGVjb2Rlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0suY3BwCmlu
ZGV4IDNlMWIxZWQwYWZiMjc3ZGVhYjhkNWNhMDhkMjQ3ZjljNzQ4YWE4NDQuLjZlMDBjOWY1MTAx
MTQ3ZjQ3OGU3NDM1Nzk2Y2FjMjE2NTAxZGZlMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNDcnlwdG9LZXlTZXJpYWxpemF0aW9uSldLLmNwcApAQCAt
MjY5LDcgKzI2OSw3IEBAIE9wdGlvbmFsPENyeXB0b0FsZ29yaXRobVBhaXI+IEpTQ3J5cHRvS2V5
U2VyaWFsaXphdGlvbkpXSzo6cmVjb25jaWxlQWxnb3JpdGhtKENyCiAgICAgcmV0dXJuIENyeXB0
b0FsZ29yaXRobVBhaXIgeyBzdWdnZXN0ZWRBbGdvcml0aG0sIHN1Z2dlc3RlZFBhcmFtZXRlcnMg
fTsKIH0KIAotc3RhdGljIGJvb2wgdHJ5SldLS2V5T3BzVmFsdWUoRXhlY1N0YXRlKiBleGVjLCBD
cnlwdG9LZXlVc2FnZSYgdXNhZ2VzLCBjb25zdCBTdHJpbmcmIG9wZXJhdGlvbiwgY29uc3QgU3Ry
aW5nJiB0cnlPcGVyYXRpb24sIENyeXB0b0tleVVzYWdlIHRyeVVzYWdlKQorc3RhdGljIGJvb2wg
dHJ5SldLS2V5T3BzVmFsdWUoRXhlY1N0YXRlKiBleGVjLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCYg
dXNhZ2VzLCBjb25zdCBTdHJpbmcmIG9wZXJhdGlvbiwgY29uc3QgU3RyaW5nJiB0cnlPcGVyYXRp
b24sIENyeXB0b0tleVVzYWdlQml0bWFwIHRyeVVzYWdlKQogewogICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpAQCAtMjg0
LDEyICsyODQsMTIgQEAgc3RhdGljIGJvb2wgdHJ5SldLS2V5T3BzVmFsdWUoRXhlY1N0YXRlKiBl
eGVjLCBDcnlwdG9LZXlVc2FnZSYgdXNhZ2VzLCBjb25zdCBTdHIKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotdm9pZCBKU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0s6OnJlY29uY2lsZVVzYWdlcyhD
cnlwdG9LZXlVc2FnZSYgc3VnZ2VzdGVkVXNhZ2VzKSBjb25zdAordm9pZCBKU0NyeXB0b0tleVNl
cmlhbGl6YXRpb25KV0s6OnJlY29uY2lsZVVzYWdlcyhDcnlwdG9LZXlVc2FnZUJpdG1hcCYgc3Vn
Z2VzdGVkVXNhZ2VzKSBjb25zdAogewogICAgIFZNJiB2bSA9IG1fZXhlYy0+dm0oKTsKICAgICBh
dXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICBDcnlwdG9LZXlVc2Fn
ZSBqd2tVc2FnZXMgPSAwOworICAgIENyeXB0b0tleVVzYWdlQml0bWFwIGp3a1VzYWdlcyA9IDA7
CiAKICAgICBKU0FycmF5KiBrZXlPcHM7CiAgICAgaWYgKGdldEpTQXJyYXlGcm9tSlNPTihtX2V4
ZWMsIG1fanNvbi5nZXQoKSwgImtleV9vcHMiLCBrZXlPcHMpKSB7CkBAIC02ODYsNyArNjg2LDcg
QEAgc3RhdGljIHZvaWQgYWRkSldLQWxnb3JpdGhtVG9KU09OKEV4ZWNTdGF0ZSogZXhlYywgSlNP
YmplY3QqIGpzb24sIGNvbnN0IENyeXB0b0sKICAgICBhZGRUb0pTT04oZXhlYywganNvbiwgImFs
ZyIsIGp3a0FsZ29yaXRobSk7CiB9CiAKLXN0YXRpYyB2b2lkIGFkZFVzYWdlc1RvSlNPTihFeGVj
U3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBqc29uLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMpCitzdGF0
aWMgdm9pZCBhZGRVc2FnZXNUb0pTT04oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCoganNvbiwg
Q3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7
CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDcnlwdG9LZXlTZXJpYWxpemF0aW9uSldLLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0su
aAppbmRleCBmZWUyZDk4OTkwMjkwMWU4MjhkZjEwMGJjYThjZTIxNzJjZDgwZjE3Li4xYTc4YTMx
NGVhMTQ1YzczYTY5MDNmNWNjMzcxNTAxMmZiNjY1YjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0suaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0suaApAQCAt
NTMsNyArNTMsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIE9wdGlvbmFsPENyeXB0b0FsZ29y
aXRobVBhaXI+IHJlY29uY2lsZUFsZ29yaXRobShDcnlwdG9BbGdvcml0aG0qLCBDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCopIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBy
ZWNvbmNpbGVVc2FnZXMoQ3J5cHRvS2V5VXNhZ2UmKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lk
IHJlY29uY2lsZVVzYWdlcyhDcnlwdG9LZXlVc2FnZUJpdG1hcCYpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHZvaWQgcmVjb25jaWxlRXh0cmFjdGFibGUoYm9vbCYpIGNvbnN0IG92ZXJyaWRlOwogCiAg
ICAgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0tleURhdGE+IGtleURhdGEoKSBjb25zdCBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRv
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3Vz
dG9tLmNwcAppbmRleCBjMGZhNDQ3ZjA0M2VhM2MyYTE3ZmE4N2UwYWIxZGFjM2Y3Y2ViMzM5Li44
NmYzZjdhNDNhYTVlN2JhNzMwZDRjMzM2YTRiZThlYjVjYTI3YWE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwCkBAIC0xOTQs
NDggKzE5NCw0MyBAQCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnM+IG5vcm1hbGl6ZUNyeXB0b0FsZ29yaXRobVBhcmFtZQogICAgIHJldHVybiBudWxscHRy
OwogfQogCi1zdGF0aWMgQ3J5cHRvS2V5VXNhZ2UgY3J5cHRvS2V5VXNhZ2VGcm9tU3RyaW5nKGNv
bnN0IFN0cmluZyYgdXNhZ2VTdHJpbmcpCitzdGF0aWMgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdG9D
cnlwdG9LZXlVc2FnZUJpdG1hcChjb25zdCBDcnlwdG9LZXlVc2FnZSB1c2FnZSkKIHsKLSAgICBD
cnlwdG9LZXlVc2FnZSByZXN1bHQgPSAwOwotICAgIGlmICh1c2FnZVN0cmluZyA9PSAiZW5jcnlw
dCIpCi0gICAgICAgIHJlc3VsdCA9IENyeXB0b0tleVVzYWdlRW5jcnlwdDsKLSAgICBlbHNlIGlm
ICh1c2FnZVN0cmluZyA9PSAiZGVjcnlwdCIpCi0gICAgICAgIHJlc3VsdCA9IENyeXB0b0tleVVz
YWdlRGVjcnlwdDsKLSAgICBlbHNlIGlmICh1c2FnZVN0cmluZyA9PSAic2lnbiIpCi0gICAgICAg
IHJlc3VsdCA9IENyeXB0b0tleVVzYWdlU2lnbjsKLSAgICBlbHNlIGlmICh1c2FnZVN0cmluZyA9
PSAidmVyaWZ5IikKLSAgICAgICAgcmVzdWx0ID0gQ3J5cHRvS2V5VXNhZ2VWZXJpZnk7Ci0gICAg
ZWxzZSBpZiAodXNhZ2VTdHJpbmcgPT0gImRlcml2ZUtleSIpCi0gICAgICAgIHJlc3VsdCA9IENy
eXB0b0tleVVzYWdlRGVyaXZlS2V5OwotICAgIGVsc2UgaWYgKHVzYWdlU3RyaW5nID09ICJkZXJp
dmVCaXRzIikKLSAgICAgICAgcmVzdWx0ID0gQ3J5cHRvS2V5VXNhZ2VEZXJpdmVCaXRzOwotICAg
IGVsc2UgaWYgKHVzYWdlU3RyaW5nID09ICJ3cmFwS2V5IikKLSAgICAgICAgcmVzdWx0ID0gQ3J5
cHRvS2V5VXNhZ2VXcmFwS2V5OwotICAgIGVsc2UgaWYgKHVzYWdlU3RyaW5nID09ICJ1bndyYXBL
ZXkiKQotICAgICAgICByZXN1bHQgPSBDcnlwdG9LZXlVc2FnZVVud3JhcEtleTsKKyAgICBzd2l0
Y2ggKHVzYWdlKSB7CisgICAgY2FzZSBDcnlwdG9LZXlVc2FnZTo6RW5jcnlwdDoKKyAgICAgICAg
cmV0dXJuIENyeXB0b0tleVVzYWdlRW5jcnlwdDsKKyAgICBjYXNlIENyeXB0b0tleVVzYWdlOjpE
ZWNyeXB0OgorICAgICAgICByZXR1cm4gQ3J5cHRvS2V5VXNhZ2VEZWNyeXB0OworICAgIGNhc2Ug
Q3J5cHRvS2V5VXNhZ2U6OlNpZ246CisgICAgICAgIHJldHVybiBDcnlwdG9LZXlVc2FnZVNpZ247
CisgICAgY2FzZSBDcnlwdG9LZXlVc2FnZTo6VmVyaWZ5OgorICAgICAgICByZXR1cm4gQ3J5cHRv
S2V5VXNhZ2VWZXJpZnk7CisgICAgY2FzZSBDcnlwdG9LZXlVc2FnZTo6RGVyaXZlS2V5OgorICAg
ICAgICByZXR1cm4gQ3J5cHRvS2V5VXNhZ2VEZXJpdmVLZXk7CisgICAgY2FzZSBDcnlwdG9LZXlV
c2FnZTo6RGVyaXZlQml0czoKKyAgICAgICAgcmV0dXJuIENyeXB0b0tleVVzYWdlRGVyaXZlQml0
czsKKyAgICBjYXNlIENyeXB0b0tleVVzYWdlOjpXcmFwS2V5OgorICAgICAgICByZXR1cm4gQ3J5
cHRvS2V5VXNhZ2VXcmFwS2V5OworICAgIGNhc2UgQ3J5cHRvS2V5VXNhZ2U6OlVud3JhcEtleToK
KyAgICAgICAgcmV0dXJuIENyeXB0b0tleVVzYWdlVW53cmFwS2V5OworICAgIH0KIAotICAgIHJl
dHVybiByZXN1bHQ7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIDA7CiB9
CiAKLXN0YXRpYyBDcnlwdG9LZXlVc2FnZSBjcnlwdG9LZXlVc2FnZXNGcm9tSlNWYWx1ZShFeGVj
U3RhdGUmIHN0YXRlLCBKU1ZhbHVlIGl0ZXJhYmxlKQorc3RhdGljIENyeXB0b0tleVVzYWdlQml0
bWFwIGNyeXB0b0tleVVzYWdlQml0bWFwRnJvbUpTVmFsdWUoRXhlY1N0YXRlJiBzdGF0ZSwgSlNW
YWx1ZSB2YWx1ZSkKIHsKICAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOwogICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIENyeXB0b0tleVVzYWdlIHJlc3VsdCA9
IDA7Ci0gICAgZm9yRWFjaEluSXRlcmFibGUoJnN0YXRlLCBpdGVyYWJsZSwgWyZyZXN1bHRdKFZN
JiB2bSwgRXhlY1N0YXRlKiBzdGF0ZSwgSlNWYWx1ZSBuZXh0SXRlbSkgewotICAgICAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0KLSAgICAgICAgU3RyaW5nIHVzYWdl
U3RyaW5nID0gbmV4dEl0ZW0udG9XVEZTdHJpbmcoc3RhdGUpOwotICAgICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgICAgICBDcnlwdG9LZXlVc2FnZSB1c2FnZSA9
IGNyeXB0b0tleVVzYWdlRnJvbVN0cmluZyh1c2FnZVN0cmluZyk7Ci0gICAgICAgIGlmICghdXNh
Z2UpCi0gICAgICAgICAgICB0aHJvd1R5cGVFcnJvcihzdGF0ZSwgc2NvcGUsIEFTQ0lJTGl0ZXJh
bCgiSW52YWxpZCBLZXlVc2FnZXMiKSk7Ci0KLSAgICAgICAgLy8gTWF5YmUgd2Ugc2hvdWxkbid0
IHNpbGVudGx5IGJ5cGFzcyBkdXBsaWNhdGVkIHVzYWdlcz8KLSAgICAgICAgcmVzdWx0IHw9IHVz
YWdlOwotICAgIH0pOworICAgIENyeXB0b0tleVVzYWdlQml0bWFwIHJlc3VsdCA9IDA7CisgICAg
YXV0byB1c2FnZXMgPSBjb252ZXJ0PElETFNlcXVlbmNlPElETEVudW1lcmF0aW9uPENyeXB0b0tl
eVVzYWdlPj4+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
MCk7CisgICAgLy8gTWF5YmUgd2Ugc2hvdWxkbid0IHNpbGVudGx5IGJ5cGFzcyBkdXBsaWNhdGVk
IHVzYWdlcz8KKyAgICBmb3IgKGF1dG8gdXNhZ2UgOiB1c2FnZXMpCisgICAgICAgIHJlc3VsdCB8
PSB0b0NyeXB0b0tleVVzYWdlQml0bWFwKHVzYWdlKTsKKwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKQEAgLTI5OCwxNSArMjkzLDExIEBAIHN0YXRpYyBLZXlEYXRhIHRvS2V5RGF0YShFeGVjU3Rh
dGUmIHN0YXRlLCBTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIEpTVmFsCiAgICAgY2Fz
ZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6SndrOiB7CiAgICAgICAgIHJlc3VsdCA9IGNvbnZl
cnREaWN0aW9uYXJ5PEpzb25XZWJLZXk+KHN0YXRlLCB2YWx1ZSk7CiAgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIHJlc3VsdCk7Ci0gICAgICAgIENyeXB0b0tleVVzYWdlIHVzYWdl
cyA9IDA7CisgICAgICAgIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcyA9IDA7CiAgICAgICAg
IGlmIChXVEY6OmdldDxKc29uV2ViS2V5PihyZXN1bHQpLmtleV9vcHMpIHsKLSAgICAgICAgICAg
IGZvciAoYXV0byB1c2FnZVN0cmluZyA6IFdURjo6Z2V0PEpzb25XZWJLZXk+KHJlc3VsdCkua2V5
X29wcy52YWx1ZSgpKSB7Ci0gICAgICAgICAgICAgICAgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2UgPSBj
cnlwdG9LZXlVc2FnZUZyb21TdHJpbmcodXNhZ2VTdHJpbmcpOwotICAgICAgICAgICAgICAgIGlm
ICghdXNhZ2UpCi0gICAgICAgICAgICAgICAgICAgIHRocm93VHlwZUVycm9yKCZzdGF0ZSwgc2Nv
cGUsIEFTQ0lJTGl0ZXJhbCgiSW52YWxpZCBrZXlfb3BzIikpOwotICAgICAgICAgICAgICAgIC8v
IE1heWJlIHdlIHNob3VsZG4ndCBzaWxlbnRseSBieXBhc3MgZHVwbGljYXRlZCB1c2FnZXM/Ci0g
ICAgICAgICAgICAgICAgdXNhZ2VzIHw9IGNyeXB0b0tleVVzYWdlRnJvbVN0cmluZyh1c2FnZVN0
cmluZyk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICAvLyBNYXliZSB3ZSBzaG91bGRuJ3Qg
c2lsZW50bHkgYnlwYXNzIGR1cGxpY2F0ZWQgdXNhZ2VzPworICAgICAgICAgICAgZm9yIChhdXRv
IHVzYWdlIDogV1RGOjpnZXQ8SnNvbldlYktleT4ocmVzdWx0KS5rZXlfb3BzLnZhbHVlKCkpCisg
ICAgICAgICAgICAgICAgdXNhZ2VzIHw9IHRvQ3J5cHRvS2V5VXNhZ2VCaXRtYXAodXNhZ2UpOwog
ICAgICAgICB9CiAgICAgICAgIFdURjo6Z2V0PEpzb25XZWJLZXk+KHJlc3VsdCkudXNhZ2VzID0g
dXNhZ2VzOwogICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMzMyLDcgKzMyMyw3IEBAIHN0YXRp
YyB2b2lkIGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25HZW5lcmF0ZUtleVByb21pc2UoRXhlY1N0YXRl
JiBzdGF0ZSwgUmVmPERlZmVyCiAgICAgYXV0byBleHRyYWN0YWJsZSA9IHN0YXRlLnVuY2hlY2tl
ZEFyZ3VtZW50KDEpLnRvQm9vbGVhbigmc3RhdGUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIHZvaWQoKSk7CiAKLSAgICBhdXRvIGtleVVzYWdlcyA9IGNyeXB0b0tleVVzYWdlc0Zy
b21KU1ZhbHVlKHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgyKSk7CisgICAgYXV0byBr
ZXlVc2FnZXMgPSBjcnlwdG9LZXlVc2FnZUJpdG1hcEZyb21KU1ZhbHVlKHN0YXRlLCBzdGF0ZS51
bmNoZWNrZWRBcmd1bWVudCgyKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9p
ZCgpKTsKIAogICAgIGF1dG8gYWxnb3JpdGhtID0gY3JlYXRlQWxnb3JpdGhtKHN0YXRlLCBwYXJh
bXMtPmlkZW50aWZpZXIpOwpAQCAtMzg3LDcgKzM3OCw3IEBAIHN0YXRpYyB2b2lkIGpzU3VidGxl
Q3J5cHRvRnVuY3Rpb25JbXBvcnRLZXlQcm9taXNlKEV4ZWNTdGF0ZSYgc3RhdGUsIFJlZjxEZWZl
cnJlCiAgICAgYXV0byBleHRyYWN0YWJsZSA9IHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDMpLnRv
Qm9vbGVhbigmc3RhdGUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7
CiAKLSAgICBhdXRvIGtleVVzYWdlcyA9IGNyeXB0b0tleVVzYWdlc0Zyb21KU1ZhbHVlKHN0YXRl
LCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCg0KSk7CisgICAgYXV0byBrZXlVc2FnZXMgPSBjcnlw
dG9LZXlVc2FnZUJpdG1hcEZyb21KU1ZhbHVlKHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVu
dCg0KSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKIAogICAgIGF1
dG8gYWxnb3JpdGhtID0gY3JlYXRlQWxnb3JpdGhtKHN0YXRlLCBwYXJhbXMtPmlkZW50aWZpZXIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRTdWJ0bGVD
cnlwdG9DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRTdWJ0
bGVDcnlwdG9DdXN0b20uY3BwCmluZGV4IDdhYjA2OWE1OWUxNzRiYjA3MDBmNmUwNTI0YTZiOTMz
ZjZmMmJlZTQuLmI0MmRlMjEwOGViNGZiOTc1MDNmODgzYzRlNWFkZjk0NjI5YzU5NWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0U3VidGxlQ3J5cHRvQ3Vz
dG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdFN1YnRsZUNy
eXB0b0N1c3RvbS5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQCBzdGF0aWMgYm9vbCBjcnlwdG9LZXlG
b3JtYXRGcm9tSlNWYWx1ZShFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIHZhbHVlLCBDcnlwdG9L
ZQogICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMgYm9vbCBjcnlwdG9LZXlVc2FnZXNGcm9t
SlNWYWx1ZShFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIHZhbHVlLCBDcnlwdG9LZXlVc2FnZSYg
cmVzdWx0KQorc3RhdGljIGJvb2wgY3J5cHRvS2V5VXNhZ2VzRnJvbUpTVmFsdWUoRXhlY1N0YXRl
JiBzdGF0ZSwgSlNWYWx1ZSB2YWx1ZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAmIHJlc3VsdCkKIHsK
ICAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKQEAgLTQyMyw3ICs0MjMsNyBAQCBKU1ZhbHVlIEpTV2ViS2l0U3VidGxlQ3J5
cHRvOjpnZW5lcmF0ZUtleShFeGVjU3RhdGUmIHN0YXRlKQogICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOwogICAgIH0KIAotICAgIENyeXB0b0tleVVzYWdlIGtl
eVVzYWdlcyA9IDA7CisgICAgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAga2V5VXNhZ2VzID0gMDsKICAg
ICBpZiAoc3RhdGUuYXJndW1lbnRDb3VudCgpID49IDMpIHsKICAgICAgICAgYXV0byBzdWNjZXNz
ID0gY3J5cHRvS2V5VXNhZ2VzRnJvbUpTVmFsdWUoc3RhdGUsIHN0YXRlLmFyZ3VtZW50KDIpLCBr
ZXlVc2FnZXMpOwogICAgICAgICBBU1NFUlQoc2NvcGUuZXhjZXB0aW9uKCkgfHwgc3VjY2Vzcyk7
CkBAIC00NTUsNyArNDU1LDcgQEAgSlNWYWx1ZSBKU1dlYktpdFN1YnRsZUNyeXB0bzo6Z2VuZXJh
dGVLZXkoRXhlY1N0YXRlJiBzdGF0ZSkKICAgICByZXR1cm4gcHJvbWlzZTsKIH0KIAotc3RhdGlj
IHZvaWQgaW1wb3J0S2V5KEV4ZWNTdGF0ZSYgc3RhdGUsIENyeXB0b0tleUZvcm1hdCBrZXlGb3Jt
YXQsIENyeXB0b09wZXJhdGlvbkRhdGEgZGF0YSwgUmVmUHRyPENyeXB0b0FsZ29yaXRobT4gYWxn
b3JpdGhtLCBSZWZQdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQ+IHBhcmFt
ZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIGtleVVzYWdlcywgQ3J5cHRv
QWxnb3JpdGhtOjpLZXlDYWxsYmFjayBjYWxsYmFjaywgQ3J5cHRvQWxnb3JpdGhtOjpWb2lkQ2Fs
bGJhY2sgZmFpbHVyZUNhbGxiYWNrKQorc3RhdGljIHZvaWQgaW1wb3J0S2V5KEV4ZWNTdGF0ZSYg
c3RhdGUsIENyeXB0b0tleUZvcm1hdCBrZXlGb3JtYXQsIENyeXB0b09wZXJhdGlvbkRhdGEgZGF0
YSwgUmVmUHRyPENyeXB0b0FsZ29yaXRobT4gYWxnb3JpdGhtLCBSZWZQdHI8Q3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQ+IHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlQml0bWFwIGtleVVzYWdlcywgQ3J5cHRvQWxnb3JpdGhtOjpLZXlDYWxsYmFj
ayBjYWxsYmFjaywgQ3J5cHRvQWxnb3JpdGhtOjpWb2lkQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNr
KQogewogICAgIFZNJiB2bSA9IHN0YXRlLnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVf
VEhST1dfU0NPUEUodm0pOwpAQCAtNTUzLDcgKzU1Myw3IEBAIEpTVmFsdWUgSlNXZWJLaXRTdWJ0
bGVDcnlwdG86OmltcG9ydEtleShFeGVjU3RhdGUmIHN0YXRlKQogICAgICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOwogICAgIH0KIAotICAgIENyeXB0b0tleVVzYWdl
IGtleVVzYWdlcyA9IDA7CisgICAgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAga2V5VXNhZ2VzID0gMDsK
ICAgICBpZiAoc3RhdGUuYXJndW1lbnRDb3VudCgpID49IDUpIHsKICAgICAgICAgYXV0byBzdWNj
ZXNzID0gY3J5cHRvS2V5VXNhZ2VzRnJvbUpTVmFsdWUoc3RhdGUsIHN0YXRlLmFyZ3VtZW50KDQp
LCBrZXlVc2FnZXMpOwogICAgICAgICBBU1NFUlQoc2NvcGUuZXhjZXB0aW9uKCkgfHwgc3VjY2Vz
cyk7CkBAIC03NzIsNyArNzcyLDcgQEAgSlNWYWx1ZSBKU1dlYktpdFN1YnRsZUNyeXB0bzo6dW53
cmFwS2V5KEV4ZWNTdGF0ZSYgc3RhdGUpCiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIEpTVmFsdWUoKSk7CiAgICAgfQogCi0gICAgQ3J5cHRvS2V5VXNhZ2Uga2V5VXNhZ2VzID0g
MDsKKyAgICBDcnlwdG9LZXlVc2FnZUJpdG1hcCBrZXlVc2FnZXMgPSAwOwogICAgIGlmIChzdGF0
ZS5hcmd1bWVudENvdW50KCkgPj0gNykgewogICAgICAgICBhdXRvIHN1Y2Nlc3MgPSBjcnlwdG9L
ZXlVc2FnZXNGcm9tSlNWYWx1ZShzdGF0ZSwgc3RhdGUuYXJndW1lbnQoNiksIGtleVVzYWdlcyk7
CiAgICAgICAgIEFTU0VSVChzY29wZS5leGNlcHRpb24oKSB8fCBzdWNjZXNzKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmlu
ZGV4IDU5NzNjYTFkMWU0MDMxODljMjZkMTRkNjMzYTAyYTljMjQwYTBkYWUuLmYwYzQwOTUxNGFi
MWM2N2UyOTg4NjE4NzJjMWRjOWFmNmI3NDBjZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMjI5LDcgKzIyOSw3
IEBAIGVudW0gY2xhc3MgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllclRhZyB7CiB9OwogY29uc3Qg
dWludDhfdCBjcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyVGFnTWF4aW11bVZhbHVlID0gMjE7CiAK
LXN0YXRpYyB1bnNpZ25lZCBjb3VudFVzYWdlcyhDcnlwdG9LZXlVc2FnZSB1c2FnZXMpCitzdGF0
aWMgdW5zaWduZWQgY291bnRVc2FnZXMoQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzKQogewog
ICAgIC8vIEZhc3QgYml0IGNvdW50IGFsZ29yaXRobSBmb3Igc3BhcnNlIGJpdCBtYXBzLgogICAg
IHVuc2lnbmVkIGNvdW50ID0gMDsKQEAgLTExNTgsNyArMTE1OCw3IEBAIHByaXZhdGU6CiAKICAg
ICAgICAgd3JpdGUoa2V5LT5leHRyYWN0YWJsZSgpKTsKIAotICAgICAgICBDcnlwdG9LZXlVc2Fn
ZSB1c2FnZXMgPSBrZXktPnVzYWdlc0JpdG1hcCgpOworICAgICAgICBDcnlwdG9LZXlVc2FnZUJp
dG1hcCB1c2FnZXMgPSBrZXktPnVzYWdlc0JpdG1hcCgpOwogICAgICAgICB3cml0ZShjb3VudFVz
YWdlcyh1c2FnZXMpKTsKICAgICAgICAgaWYgKHVzYWdlcyAmIENyeXB0b0tleVVzYWdlRW5jcnlw
dCkKICAgICAgICAgICAgIHdyaXRlKENyeXB0b0tleVVzYWdlVGFnOjpFbmNyeXB0KTsKQEAgLTIw
MDAsNyArMjAwMCw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAot
ICAgIGJvb2wgcmVhZEhNQUNLZXkoYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNh
Z2VzLCBSZWZQdHI8Q3J5cHRvS2V5PiYgcmVzdWx0KQorICAgIGJvb2wgcmVhZEhNQUNLZXkoYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBSZWZQdHI8Q3J5cHRv
S2V5PiYgcmVzdWx0KQogICAgIHsKICAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IGtleURhdGE7CiAg
ICAgICAgIGlmICghcmVhZChrZXlEYXRhKSkKQEAgLTIwMTIsNyArMjAxMiw3IEBAIHByaXZhdGU6
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIGJvb2wgcmVhZEFFU0tleShib29s
IGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIFJlZlB0cjxDcnlwdG9LZXk+JiBy
ZXN1bHQpCisgICAgYm9vbCByZWFkQUVTS2V5KGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVz
YWdlQml0bWFwIHVzYWdlcywgUmVmUHRyPENyeXB0b0tleT4mIHJlc3VsdCkKICAgICB7CiAgICAg
ICAgIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtOwogICAgICAgICBpZiAoIXJl
YWQoYWxnb3JpdGhtKSkKQEAgLTIwMjYsNyArMjAyNiw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgIH0KIAotICAgIGJvb2wgcmVhZFJTQUtleShib29sIGV4dHJhY3RhYmxl
LCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIFJlZlB0cjxDcnlwdG9LZXk+JiByZXN1bHQpCisgICAg
Ym9vbCByZWFkUlNBS2V5KGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVz
YWdlcywgUmVmUHRyPENyeXB0b0tleT4mIHJlc3VsdCkKICAgICB7CiAgICAgICAgIENyeXB0b0Fs
Z29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtOwogICAgICAgICBpZiAoIXJlYWQoYWxnb3JpdGht
KSkKQEAgLTIxMTgsNyArMjExOCw3IEBAIHByaXZhdGU6CiAgICAgICAgIGlmICghcmVhZCh1c2Fn
ZXNDb3VudCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgQ3J5cHRvS2V5
VXNhZ2UgdXNhZ2VzID0gMDsKKyAgICAgICAgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzID0g
MDsKICAgICAgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IHVzYWdlc0NvdW50OyArK2kpIHsK
ICAgICAgICAgICAgIENyeXB0b0tleVVzYWdlVGFnIHVzYWdlOwogICAgICAgICAgICAgaWYgKCFy
ZWFkKHVzYWdlKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdv
cml0aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5jcHAKaW5k
ZXggMDE2ZTVmZjM5NGVjNDZkMzc4OWU2MmNmZmI4ZDdkM2E5ZWE1ODdjZS4uMWQzMWI3NGQwNjE1
OTE1MjY2OTM1Yzk5NTZhNWY0MjI3YzBhZjJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL0NyeXB0b0FsZ29yaXRobS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0Ny
eXB0b0FsZ29yaXRobS5jcHAKQEAgLTQwLDEyICs0MCwxMiBAQCBDcnlwdG9BbGdvcml0aG06On5D
cnlwdG9BbGdvcml0aG0oKQogewogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobTo6Z2VuZXJhdGVL
ZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJv
b2wsIENyeXB0b0tleVVzYWdlLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxs
YmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKK3ZvaWQg
Q3J5cHRvQWxnb3JpdGhtOjpnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9y
S2V5UGFpckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ss
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQogewogICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE5PVF9T
VVBQT1JURURfRVJSKTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG06OmltcG9ydEtleShTdWJ0
bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5
cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCwgQ3J5cHRvS2V5VXNhZ2UsIEtleUNhbGxi
YWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCit2b2lkIENyeXB0
b0FsZ29yaXRobTo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYs
IGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29s
LCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2sm
JiBleGNlcHRpb25DYWxsYmFjaykKIHsKICAgICBleGNlcHRpb25DYWxsYmFjayhOT1RfU1VQUE9S
VEVEX0VSUik7CiB9CkBAIC03NSwxMiArNzUsMTIgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG06OmRp
Z2VzdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IEMK
ICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobTo6
Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBi
b29sLCBDcnlwdG9LZXlVc2FnZSwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNr
JiYsIEV4Y2VwdGlvbkNvZGUmIGVjLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKK3ZvaWQgQ3J5
cHRvQWxnb3JpdGhtOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
RGVwcmVjYXRlZCYsIGJvb2wsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxs
YmFjayYmLCBWb2lkQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ29kZSYgZWMsIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqKQogewogICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CiB9CiAKLXZvaWQgQ3J5
cHRvQWxnb3JpdGhtOjpkZXJpdmVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0Rl
cHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBDcnlwdG9BbGdvcml0aG0qLCBib29sLCBDcnlw
dG9LZXlVc2FnZSwgS2V5Q2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYsIEV4Y2VwdGlvbkNvZGUm
IGVjKQordm9pZCBDcnlwdG9BbGdvcml0aG06OmRlcml2ZUtleShjb25zdCBDcnlwdG9BbGdvcml0
aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIENyeXB0b0FsZ29yaXRo
bSosIGJvb2wsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBWb2lkQ2FsbGJh
Y2smJiwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsK
IH0KQEAgLTkwLDcgKzkwLDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG06OmRlcml2ZUJpdHMoY29u
c3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb24KICAgICBlYyA9IE5P
VF9TVVBQT1JURURfRVJSOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobTo6aW1wb3J0S2V5KGNv
bnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5
RGF0YSYsIGJvb2wsIENyeXB0b0tleVVzYWdlLCBLZXlDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2sm
JiwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIENyeXB0b0FsZ29yaXRobTo6aW1wb3J0S2V5KGNv
bnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5
RGF0YSYsIGJvb2wsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBWb2lkQ2Fs
bGJhY2smJiwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VS
UjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0u
aCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uaAppbmRleCAwNTU4M2Zm
NTUzNTljNjc5NzZkN2IwMGJhY2I3MDhiMWI1ODZhYWE4Li4zNGJhYzM3YTM5OTk3ZTk2NGY5Mzkx
ZWY1MTQwZWFiNmQ5ODhhZjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5
cHRvQWxnb3JpdGhtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRo
bS5oCkBAIC02Nyw4ICs2Nyw4IEBAIHB1YmxpYzoKICAgICB1c2luZyBWb2lkQ2FsbGJhY2sgPSBX
VEY6OkZ1bmN0aW9uPHZvaWQoKT47CiAgICAgdXNpbmcgRXhjZXB0aW9uQ2FsbGJhY2sgPSBXVEY6
OkZ1bmN0aW9uPHZvaWQoRXhjZXB0aW9uQ29kZSk+OwogCi0gICAgdmlydHVhbCB2b2lkIGdlbmVy
YXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYm
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5T3JLZXlQYWlyQ2FsbGJhY2sm
JiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwotICAgIHZp
cnR1YWwgdm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwg
Y29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wg
ZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxs
YmFjayYmKTsKKyAgICB2aXJ0dWFsIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVf
cHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0
b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFj
ayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisgICAgdmlydHVhbCB2b2lkIGltcG9ydEtl
eShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9w
dHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpOwogCiAg
ICAgLy8gVGhlIGZvbGxvd2luZyB3aWxsIGJlIGRlcHJlY2F0ZWQuCiAgICAgdmlydHVhbCB2b2lk
IGVuY3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25z
dCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2sm
JiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJik7CkBAIC03
NiwxMCArNzYsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzaWduKGNvbnN0IENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3Qg
Q3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZh
aWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCB2ZXJpZnko
Y29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9L
ZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBzaWduYXR1cmUsIGNvbnN0IENyeXB0b09w
ZXJhdGlvbkRhdGEmLCBCb29sQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxi
YWNrLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdmlydHVhbCB2b2lkIGRpZ2VzdChjb25zdCBDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRh
dGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4
Y2VwdGlvbkNvZGUmKTsKLSAgICB2aXJ0dWFsIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9L
ZXlVc2FnZSwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNh
bGxiYWNrLCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwotICAgIHZp
cnR1YWwgdm9pZCBkZXJpdmVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJl
Y2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmIGJhc2VLZXksIENyeXB0b0FsZ29yaXRobSogZGVyaXZl
ZEtleVR5cGUsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlDYWxsYmFjayYm
LCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2
aXJ0dWFsIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0Rl
cHJlY2F0ZWQmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JL
ZXlQYWlyQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRp
b25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworICAgIHZpcnR1YWwgdm9pZCBkZXJp
dmVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBD
cnlwdG9LZXkmIGJhc2VLZXksIENyeXB0b0FsZ29yaXRobSogZGVyaXZlZEtleVR5cGUsIGJvb2wg
ZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBWb2lkQ2Fs
bGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGVyaXZlQml0cyhjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYs
IGNvbnN0IENyeXB0b0tleSYgYmFzZUtleSwgdW5zaWduZWQgbG9uZyBsZW5ndGgsIFZlY3RvckNh
bGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYp
OwotICAgIHZpcnR1YWwgdm9pZCBpbXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlEYXRhJiwgYm9vbCBleHRyYWN0YWJsZSwg
Q3J5cHRvS2V5VXNhZ2UsIEtleUNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxs
YmFjaywgRXhjZXB0aW9uQ29kZSYpOworICAgIHZpcnR1YWwgdm9pZCBpbXBvcnRLZXkoY29uc3Qg
Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlEYXRh
JiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYs
IFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAg
Ly8gVGhlc2UgYXJlIG9ubHkgZGlmZmVyZW50IGZyb20gZW5jcnlwdC9kZWNyeXB0IGJlY2F1c2Ug
c29tZSBhbGdvcml0aG1zIG1heSBub3QgZXhwb3NlIGVuY3J5cHQvZGVjcnlwdC4KICAgICB2aXJ0
dWFsIHZvaWQgZW5jcnlwdEZvcldyYXBLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
c0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRh
JiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNl
cHRpb25Db2RlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuY3BwCmluZGV4IDYwMDc1MDY2
NzFkNThmMjEyNDZhZmQyNWU2YjliN2U0MTg1MTg1YmQuLmZjOTQzMGU1NGIyNThkMmI2ZmJmZThh
ZjNiZTY5MmQxOTc4ZmU5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9Dcnlw
dG9LZXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuY3BwCkBAIC0z
Myw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ3J5cHRvS2V5OjpDcnlwdG9L
ZXkoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG1JZGVudGlmaWVyLCBUeXBlIHR5
cGUsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcykKK0NyeXB0b0tleTo6
Q3J5cHRvS2V5KENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtSWRlbnRpZmllciwg
VHlwZSB0eXBlLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMp
CiAgICAgOiBtX2FsZ29yaXRobUlkZW50aWZpZXIoYWxnb3JpdGhtSWRlbnRpZmllcikKICAgICAs
IG1fdHlwZSh0eXBlKQogICAgICwgbV9leHRyYWN0YWJsZShleHRyYWN0YWJsZSkKQEAgLTQ1LDI2
ICs0NSwyNiBAQCBDcnlwdG9LZXk6On5DcnlwdG9LZXkoKQogewogfQogCi1hdXRvIENyeXB0b0tl
eTo6dXNhZ2VzKCkgY29uc3QgLT4gVmVjdG9yPFVzYWdlPgorYXV0byBDcnlwdG9LZXk6OnVzYWdl
cygpIGNvbnN0IC0+IFZlY3RvcjxDcnlwdG9LZXlVc2FnZT4KIHsKICAgICAvLyBUaGUgcmVzdWx0
IGlzIG9yZGVyZWQgYWxwaGFiZXRpY2FsbHkuCi0gICAgVmVjdG9yPFVzYWdlPiByZXN1bHQ7Cisg
ICAgVmVjdG9yPENyeXB0b0tleVVzYWdlPiByZXN1bHQ7CiAgICAgaWYgKG1fdXNhZ2VzICYgQ3J5
cHRvS2V5VXNhZ2VEZWNyeXB0KQotICAgICAgICByZXN1bHQuYXBwZW5kKFVzYWdlOjpEZWNyeXB0
KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChDcnlwdG9LZXlVc2FnZTo6RGVjcnlwdCk7CiAgICAg
aWYgKG1fdXNhZ2VzICYgQ3J5cHRvS2V5VXNhZ2VEZXJpdmVCaXRzKQotICAgICAgICByZXN1bHQu
YXBwZW5kKFVzYWdlOjpEZXJpdmVCaXRzKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChDcnlwdG9L
ZXlVc2FnZTo6RGVyaXZlQml0cyk7CiAgICAgaWYgKG1fdXNhZ2VzICYgQ3J5cHRvS2V5VXNhZ2VE
ZXJpdmVLZXkpCi0gICAgICAgIHJlc3VsdC5hcHBlbmQoVXNhZ2U6OkRlcml2ZUtleSk7CisgICAg
ICAgIHJlc3VsdC5hcHBlbmQoQ3J5cHRvS2V5VXNhZ2U6OkRlcml2ZUtleSk7CiAgICAgaWYgKG1f
dXNhZ2VzICYgQ3J5cHRvS2V5VXNhZ2VFbmNyeXB0KQotICAgICAgICByZXN1bHQuYXBwZW5kKFVz
YWdlOjpFbmNyeXB0KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChDcnlwdG9LZXlVc2FnZTo6RW5j
cnlwdCk7CiAgICAgaWYgKG1fdXNhZ2VzICYgQ3J5cHRvS2V5VXNhZ2VTaWduKQotICAgICAgICBy
ZXN1bHQuYXBwZW5kKFVzYWdlOjpTaWduKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChDcnlwdG9L
ZXlVc2FnZTo6U2lnbik7CiAgICAgaWYgKG1fdXNhZ2VzICYgQ3J5cHRvS2V5VXNhZ2VVbndyYXBL
ZXkpCi0gICAgICAgIHJlc3VsdC5hcHBlbmQoVXNhZ2U6OlVud3JhcEtleSk7CisgICAgICAgIHJl
c3VsdC5hcHBlbmQoQ3J5cHRvS2V5VXNhZ2U6OlVud3JhcEtleSk7CiAgICAgaWYgKG1fdXNhZ2Vz
ICYgQ3J5cHRvS2V5VXNhZ2VWZXJpZnkpCi0gICAgICAgIHJlc3VsdC5hcHBlbmQoVXNhZ2U6OlZl
cmlmeSk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoQ3J5cHRvS2V5VXNhZ2U6OlZlcmlmeSk7CiAg
ICAgaWYgKG1fdXNhZ2VzICYgQ3J5cHRvS2V5VXNhZ2VXcmFwS2V5KQotICAgICAgICByZXN1bHQu
YXBwZW5kKFVzYWdlOjpXcmFwS2V5KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChDcnlwdG9LZXlV
c2FnZTo6V3JhcEtleSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleS5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0Ny
eXB0b0tleS5oCmluZGV4IDJlZTkwMTBiOWRjMjcxYmFkZjU2Njg1MjFkMmI5MjdmOWRkODU1Y2Qu
LjAwMDJjNGVhOTNhOGZhZTFiNmI1NjUyNmRkOTA5YzEwMjE1OWFiMDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vQ3J5cHRvS2V5LmgKQEAgLTc4LDcgKzc4LDcgQEAgcHJpdmF0ZToKIGNsYXNzIENyeXB0b0tl
eSA6IHB1YmxpYyBSZWZDb3VudGVkPENyeXB0b0tleT4gewogcHVibGljOgogICAgIHVzaW5nIFR5
cGUgPSBDcnlwdG9LZXlUeXBlOwotICAgIENyeXB0b0tleShDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyLCBUeXBlLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSk7CisgICAgQ3J5cHRv
S2V5KENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIsIFR5cGUsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlQml0bWFwKTsKICAgICB2aXJ0dWFsIH5DcnlwdG9LZXkoKTsKIAogICAgIHZp
cnR1YWwgQ3J5cHRvS2V5Q2xhc3Mga2V5Q2xhc3MoKSBjb25zdCA9IDA7CkBAIC04NywxNiArODcs
MTMgQEAgcHVibGljOgogICAgIGJvb2wgZXh0cmFjdGFibGUoKSBjb25zdCB7IHJldHVybiBtX2V4
dHJhY3RhYmxlOyB9CiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8S2V5QWxnb3JpdGhtPiBi
dWlsZEFsZ29yaXRobSgpIGNvbnN0ID0gMDsKIAotICAgIC8vIEZJWE1FOiBDb25mdXNpbmcgdG8g
aGF2ZSBDcnlwdG9LZXlVc2FnZSBhbmQgQ3J5cHRvS2V5OjpVc2FnZSBuYW1lZCBhbG1vc3QgdGhl
IHNhbWUsIGJ1dCBiZSBzbGlnaHRseSBkaWZmZXJlbnQuCi0gICAgLy8gQ3J5cHRvS2V5VXNhZ2Ug
dmFsdWVzIGFyZSBiaXQgbWFza3Mgc28gdGhleSBjYW4gYmUgY29tYmluZWQgd2l0aCAib3IiLCB3
aGlsZSB0aGlzIGlzIGEgbm9ybWFsIGVudW0gdGhhdCBtdXN0Ci0gICAgLy8gbWF0Y2ggd2hhdCBp
cyBkZWZpbmVkIGluIHRoZSBJREwuIE1heWJlIHdlIGNhbiByZW5hbWUgQ3J5cHRvS2V5VXNhZ2Ug
dG8gQ3J5cHRvS2V5OjpVc2FnZXNCaXRtYXA/Ci0gICAgZW51bSBjbGFzcyBVc2FnZSB7IEVuY3J5
cHQsIERlY3J5cHQsIFNpZ24sIFZlcmlmeSwgRGVyaXZlS2V5LCBEZXJpdmVCaXRzLCBXcmFwS2V5
LCBVbndyYXBLZXkgfTsKLSAgICBWZWN0b3I8VXNhZ2U+IHVzYWdlcygpIGNvbnN0OworICAgIC8v
IE9ubHkgZm9yIGJpbmRpbmcgcHVycG9zZS4KKyAgICBWZWN0b3I8Q3J5cHRvS2V5VXNhZ2U+IHVz
YWdlcygpIGNvbnN0OwogCiAgICAgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG1J
ZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9hbGdvcml0aG1JZGVudGlmaWVyOyB9Ci0gICAg
Q3J5cHRvS2V5VXNhZ2UgdXNhZ2VzQml0bWFwKCkgY29uc3QgeyByZXR1cm4gbV91c2FnZXM7IH0K
LSAgICB2b2lkIHNldFVzYWdlc0JpdG1hcChDcnlwdG9LZXlVc2FnZSB1c2FnZSkgeyBtX3VzYWdl
cyA9IHVzYWdlOyB9OwotICAgIGJvb2wgYWxsb3dzKENyeXB0b0tleVVzYWdlIHVzYWdlKSBjb25z
dCB7IHJldHVybiB1c2FnZSA9PSAobV91c2FnZXMgJiB1c2FnZSk7IH0KKyAgICBDcnlwdG9LZXlV
c2FnZUJpdG1hcCB1c2FnZXNCaXRtYXAoKSBjb25zdCB7IHJldHVybiBtX3VzYWdlczsgfQorICAg
IHZvaWQgc2V0VXNhZ2VzQml0bWFwKENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlKSB7IG1fdXNh
Z2VzID0gdXNhZ2U7IH07CisgICAgYm9vbCBhbGxvd3MoQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNh
Z2UpIGNvbnN0IHsgcmV0dXJuIHVzYWdlID09IChtX3VzYWdlcyAmIHVzYWdlKTsgfQogCiAgICAg
dmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvS2V5RGF0YT4gZXhwb3J0RGF0YSgpIGNvbnN0
ID0gMDsKIApAQCAtMTA2LDcgKzEwMyw3IEBAIHByaXZhdGU6CiAgICAgQ3J5cHRvQWxnb3JpdGht
SWRlbnRpZmllciBtX2FsZ29yaXRobUlkZW50aWZpZXI7CiAgICAgVHlwZSBtX3R5cGU7CiAgICAg
Ym9vbCBtX2V4dHJhY3RhYmxlOwotICAgIENyeXB0b0tleVVzYWdlIG1fdXNhZ2VzOworICAgIENy
eXB0b0tleVVzYWdlQml0bWFwIG1fdXNhZ2VzOwogfTsKIAogaW5saW5lIGF1dG8gQ3J5cHRvS2V5
Ojp0eXBlKCkgY29uc3QgLT4gVHlwZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRv
L0NyeXB0b0tleS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmlkbAppbmRl
eCAzZDAxMTk5ZjljMGQ0ZTUzOTI3MTE5YzhmNDRjMzA2OGU5NTVhZWU3Li43MDhhOGQxMWQzNDJl
NzgyYzZhMTFkMjdkYTA0M2Y3YThkNGI1M2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vQ3J5cHRvS2V5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5
LmlkbApAQCAtMjksMTcgKzI5LDYgQEAgZW51bSBLZXlUeXBlIHsKICAgICAic2VjcmV0IgogfTsK
IAotZW51bSBLZXlVc2FnZSB7Ci0gICAgImVuY3J5cHQiLAotICAgICJkZWNyeXB0IiwKLSAgICAi
c2lnbiIsCi0gICAgInZlcmlmeSIsCi0gICAgImRlcml2ZUtleSIsCi0gICAgImRlcml2ZUJpdHMi
LAotICAgICJ3cmFwS2V5IiwKLSAgICAidW53cmFwS2V5IgotfTsKLQogWwogICAgIENvbmRpdGlv
bmFsPVNVQlRMRV9DUllQVE8sCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCkBAIC00OSw1
ICszOCw1IEBAIGVudW0gS2V5VXNhZ2UgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBLZXlUeXBl
IHR5cGU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZXh0cmFjdGFibGU7CiAgICAg
W0NhY2hlZEF0dHJpYnV0ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgb2JqZWN0
IGFsZ29yaXRobTsKLSAgICBbQ2FjaGVkQXR0cmlidXRlXSByZWFkb25seSBhdHRyaWJ1dGUgc2Vx
dWVuY2U8S2V5VXNhZ2U+IHVzYWdlczsKKyAgICBbQ2FjaGVkQXR0cmlidXRlXSByZWFkb25seSBh
dHRyaWJ1dGUgc2VxdWVuY2U8Q3J5cHRvS2V5VXNhZ2U+IHVzYWdlczsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5U2VyaWFsaXphdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleVNlcmlhbGl6YXRpb24uaAppbmRleCBiNTEyZDQ5NGNm
NmRmOWRjZWQwODMzMTZhNmI5NmRiM2QyYjFiNjcyLi5kMDYzMTRlYTk1NzJlMjlkNWViNTM3NzMy
ZGZkMDhlMWFiOWU3ODExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRv
S2V5U2VyaWFsaXphdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXlT
ZXJpYWxpemF0aW9uLmgKQEAgLTU1LDcgKzU1LDcgQEAgcHVibGljOgogICAgIC8vIFJldHVybnMg
ZmFsc2UgaWYgc3VnZ2VzdGVkIGFsZ29yaXRobSB3YXMgbm90IGNvbXBhdGlibGUgd2l0aCBvbmUg
c3RvcmVkIGluIHRoZSBzZXJpYWxpemF0aW9uLgogICAgIHZpcnR1YWwgT3B0aW9uYWw8Q3J5cHRv
QWxnb3JpdGhtUGFpcj4gcmVjb25jaWxlQWxnb3JpdGhtKENyeXB0b0FsZ29yaXRobSosIENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkKikgY29uc3QgPSAwOwogCi0gICAgdmlydHVh
bCB2b2lkIHJlY29uY2lsZVVzYWdlcyhDcnlwdG9LZXlVc2FnZSYpIGNvbnN0ID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgcmVjb25jaWxlVXNhZ2VzKENyeXB0b0tleVVzYWdlQml0bWFwJikgY29uc3Qg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCByZWNvbmNpbGVFeHRyYWN0YWJsZShib29sJikgY29uc3Qg
PSAwOwogCiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvS2V5RGF0YT4ga2V5RGF0
YSgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9L
ZXlVc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleVVzYWdlLmgKaW5kZXgg
NmJiZWJmOGQwY2ZlMDNkYjc4YzIyMjgyNDI0ZjlmNWQzZTRhYzViYy4uNzc1NzNiZjA0MDBkNGZh
ZmM5NDBlNmU4N2YzNTdmYzZjZjUwZjM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5
cHRvL0NyeXB0b0tleVVzYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tl
eVVzYWdlLmgKQEAgLTQxLDcgKzQxLDE5IEBAIGVudW0gewogICAgIENyeXB0b0tleVVzYWdlVW53
cmFwS2V5ID0gMSA8PCA3CiB9OwogCi10eXBlZGVmIGludCBDcnlwdG9LZXlVc2FnZTsKK3R5cGVk
ZWYgaW50IENyeXB0b0tleVVzYWdlQml0bWFwOworCisvLyBPbmx5IGZvciBiaW5kaW5nIHB1cnBv
c2UuCitlbnVtIGNsYXNzIENyeXB0b0tleVVzYWdlIHsKKyAgICBFbmNyeXB0LAorICAgIERlY3J5
cHQsCisgICAgU2lnbiwKKyAgICBWZXJpZnksCisgICAgRGVyaXZlS2V5LAorICAgIERlcml2ZUJp
dHMsCisgICAgV3JhcEtleSwKKyAgICBVbndyYXBLZXkKK307CiAKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleVVzYWdlLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9DcnlwdG9LZXlVc2FnZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Q0OTgzNDgyYzg0YmQ0MDkx
MDUwN2VkNzk1MTU5Y2Y3ZDNiYzdjZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9DcnlwdG9LZXlVc2FnZS5pZGwKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K1sKKyAgICBDb25kaXRpb25hbD1TVUJUTEVfQ1JZUFRPLAorXSBlbnVtIENyeXB0b0tleVVzYWdl
IHsKKyAgICAiZW5jcnlwdCIsCisgICAgImRlY3J5cHQiLAorICAgICJzaWduIiwKKyAgICAidmVy
aWZ5IiwKKyAgICAiZGVyaXZlS2V5IiwKKyAgICAiZGVyaXZlQml0cyIsCisgICAgIndyYXBLZXki
LAorICAgICJ1bndyYXBLZXkiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRv
L0pzb25XZWJLZXkuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9Kc29uV2ViS2V5LmgKaW5kZXgg
YjgwOTk4YmY2MWFlYzU1MGM2MjljYTc2NWQ1ZjAyNzlhYmQyYTUxZi4uMjIzZWU0OGQ5NzM4OWI5
YTBlMzAzNjM4OGJkZjE5OTI5NTI4NDJiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5
cHRvL0pzb25XZWJLZXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vSnNvbldlYktleS5o
CkBAIC0zNyw4ICszNyw4IEBAIHN0cnVjdCBKc29uV2ViS2V5IHsKICAgICBTdHJpbmcga3R5Owog
ICAgIE9wdGlvbmFsPFN0cmluZz4gdXNlOwogICAgIC8vIEZJWE1FOiBDb25zaWRlciBtZXJnaW5n
IGtleV9vcHMgYW5kIHVzYWdlcy4KLSAgICBPcHRpb25hbDxWZWN0b3I8U3RyaW5nPj4ga2V5X29w
czsKLSAgICBDcnlwdG9LZXlVc2FnZSB1c2FnZXM7CisgICAgT3B0aW9uYWw8VmVjdG9yPENyeXB0
b0tleVVzYWdlPj4ga2V5X29wczsKKyAgICBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXM7CiAg
ICAgT3B0aW9uYWw8U3RyaW5nPiBhbGc7CiAKICAgICBPcHRpb25hbDxib29sPiBleHQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vSnNvbldlYktleS5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8vSnNvbldlYktleS5pZGwKaW5kZXggNzZlNGM0YjAxMDEyYTRlYzgxMTg0MjBk
Yjc1NWEyOGIxZDdlMTA4Yy4uNDc3MjA4YjllZmM1ZDczODVkZTk5MTIyZWVjNzU3ZmIyMmM2OGFh
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0pzb25XZWJLZXkuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9Kc29uV2ViS2V5LmlkbApAQCAtMjksNyArMjksNyBAQAog
ICAgIC8vIFRoZSBmb2xsb3dpbmcgZmllbGRzIGFyZSBkZWZpbmVkIGluIFNlY3Rpb24gMy4xIG9m
IEpTT04gV2ViIEtleQogICAgIHJlcXVpcmVkIERPTVN0cmluZyBrdHk7CiAgICAgRE9NU3RyaW5n
IHVzZTsKLSAgICBzZXF1ZW5jZTxET01TdHJpbmc+IGtleV9vcHM7CisgICAgc2VxdWVuY2U8Q3J5
cHRvS2V5VXNhZ2U+IGtleV9vcHM7CiAgICAgRE9NU3RyaW5nIGFsZzsKIAogICAgIC8vIFRoZSBm
b2xsb3dpbmcgZmllbGRzIGFyZSBkZWZpbmVkIGluIEpTT04gV2ViIEtleSBQYXJhbWV0ZXJzIFJl
Z2lzdHJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNyeXB0
by5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmlkbAppbmRleCBjMzM4
ZTAzMTBhOTY3NmQzMzVmNjJjM2NmMWRhMTJmMjU3ZTNhMGZmLi5mZGYyMWY2Nzk4ZTA3Yjg3MmYx
N2MwZDVhMDllZmE5OTY5OWMzZDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
U3VidGxlQ3J5cHRvLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRv
LmlkbApAQCAtMzIsNiArMzIsNiBAQCBlbnVtIEtleUZvcm1hdCB7ICJyYXciLCAic3BraSIsICJw
a2NzOCIsICJqd2siIH07CiAgICAgTm9JbnRlcmZhY2VPYmplY3QsCiBdIGludGVyZmFjZSBTdWJ0
bGVDcnlwdG8gewogICAgIC8vIEZJWE1FOiBTaG91bGQgdGhpcyByZXR1cm4gYSBQcm9taXNlPChD
cnlwdG9LZXkgb3IgQ3J5cHRvS2V5UGFpcik+PwotICAgIFtDdXN0b21dIFByb21pc2U8YW55PiBn
ZW5lcmF0ZUtleShBbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgYm9vbGVhbiBleHRyYWN0
YWJsZSwgc2VxdWVuY2U8S2V5VXNhZ2U+IGtleVVzYWdlcyk7Ci0gICAgW0N1c3RvbV0gUHJvbWlz
ZTxDcnlwdG9LZXk+IGltcG9ydEtleShLZXlGb3JtYXQgZm9ybWF0LCAoQnVmZmVyU291cmNlIG9y
IEpzb25XZWJLZXkpIGtleURhdGEsIEFsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtLCBib29s
ZW4gZXh0cmFjdGFibGUsIHNlcXVlbmNlPEtleVVzYWdlPiBrZXlVc2FnZXMpOworICAgIFtDdXN0
b21dIFByb21pc2U8YW55PiBnZW5lcmF0ZUtleShBbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRo
bSwgYm9vbGVhbiBleHRyYWN0YWJsZSwgc2VxdWVuY2U8Q3J5cHRvS2V5VXNhZ2U+IGtleVVzYWdl
cyk7CisgICAgW0N1c3RvbV0gUHJvbWlzZTxDcnlwdG9LZXk+IGltcG9ydEtleShLZXlGb3JtYXQg
Zm9ybWF0LCAoQnVmZmVyU291cmNlIG9yIEpzb25XZWJLZXkpIGtleURhdGEsIEFsZ29yaXRobUlk
ZW50aWZpZXIgYWxnb3JpdGhtLCBib29sZW4gZXh0cmFjdGFibGUsIHNlcXVlbmNlPENyeXB0b0tl
eVVzYWdlPiBrZXlVc2FnZXMpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAKaW5kZXggNThlMzQ1
YmJiMDU3YzA1MDM3YjEyZWEwZGM2NWI2MGYyMGVkYTJiZS4uMWNmYzI5MGRkNDhiNWUxM2JiYjg5
OGY5NTczMjIxMDZkZGYwNjFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2Fs
Z29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAKQEAgLTM5LDcgKzM5
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBjaGFyKiBjb25zdCBDcnlwdG9BbGdv
cml0aG1BRVNfQ0JDOjpzX25hbWUgPSAiQUVTLUNCQyI7CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCB1
c2FnZXNBcmVJbnZhbGlkRm9yQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQyhDcnlwdG9LZXlVc2FnZSB1
c2FnZXMpCitzdGF0aWMgaW5saW5lIGJvb2wgdXNhZ2VzQXJlSW52YWxpZEZvckNyeXB0b0FsZ29y
aXRobUFFU19DQkMoQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzKQogewogICAgIHJldHVybiB1
c2FnZXMgJiAoQ3J5cHRvS2V5VXNhZ2VTaWduIHwgQ3J5cHRvS2V5VXNhZ2VWZXJpZnkgfCBDcnlw
dG9LZXlVc2FnZURlcml2ZUtleSB8IENyeXB0b0tleVVzYWdlRGVyaXZlQml0cyk7CiB9CkBAIC03
MSw3ICs3MSw3IEBAIGJvb2wgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6a2V5QWxnb3JpdGhtTWF0
Y2hlcyhjb25zdCBDcnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6Z2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1
bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgYm9vbCBl
eHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYm
IGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KikKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6Z2VuZXJhdGVL
ZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFy
YW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBL
ZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2Vw
dGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKIHsKICAgICBjb25zdCBhdXRv
JiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1z
PigqcGFyYW1ldGVycyk7CiAKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1B
RVNfQ0JDOjpnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGht
UGEKICAgICBjYWxsYmFjayhyZXN1bHQuZ2V0KCksIG51bGxwdHIpOwogfQogCi12b2lkIENyeXB0
b0FsZ29yaXRobUFFU19DQkM6OmltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3Jt
YXQsIEtleURhdGEmJiBkYXRhLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2Fn
ZSB1c2FnZXMsIEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhj
ZXB0aW9uQ2FsbGJhY2spCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmltcG9ydEtleShT
dWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBkYXRhLCBjb25zdCBzdGQ6
OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29s
IGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleUNhbGxiYWNrJiYg
Y2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCiB7CiAgICAg
aWYgKHVzYWdlc0FyZUludmFsaWRGb3JDcnlwdG9BbGdvcml0aG1BRVNfQ0JDKHVzYWdlcykpIHsK
ICAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soU1lOVEFYX0VSUik7CkBAIC0xNTIsNyArMTUyLDcg
QEAgdm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpkZWNyeXB0KGNvbnN0IENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJgogICAgIHBsYXRmb3JtRGVjcnlwdChhZXNDQkNQYXJh
bWV0ZXJzLCBkb3duY2FzdDxDcnlwdG9LZXlBRVM+KGtleSksIGRhdGEsIFdURk1vdmUoY2FsbGJh
Y2spLCBXVEZNb3ZlKGZhaWx1cmVDYWxsYmFjayksIGVjKTsKIH0KIAotdm9pZCBDcnlwdG9BbGdv
cml0aG1BRVNfQ0JDOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
RGVwcmVjYXRlZCYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2Ug
dXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBm
YWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikK
K3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUs
IENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxs
YmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCopCiB7CiAgICAgY29uc3QgQ3J5cHRvQWxnb3JpdGhtQWVzS2V5
R2VuUGFyYW1zRGVwcmVjYXRlZCYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29y
aXRobUFlc0tleUdlblBhcmFtc0RlcHJlY2F0ZWQ+KHBhcmFtZXRlcnMpOwogCkBAIC0xNjUsNyAr
MTY1LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpnZW5lcmF0ZUtleShjb25zdCBD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXQKICAgICBjYWxsYmFjayhyZXN1bHQuZ2V0
KCksIG51bGxwdHIpOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmltcG9ydEtl
eShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0
b0tleURhdGEmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdl
LCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ29kZSYg
ZWMpCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmltcG9ydEtleShjb25zdCBDcnlwdG9B
bGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleURhdGEmIGtleURh
dGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlLCBLZXlDYWxs
YmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAg
ICAgaWYgKCFpczxDcnlwdG9LZXlEYXRhT2N0ZXRTZXF1ZW5jZT4oa2V5RGF0YSkpIHsKICAgICAg
ICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuaCBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuaAppbmRleCBiYTRhZjBm
MjcyMzcxMGVkYjUwMzI4MDk1NzNmMzU3MGJiNjdhMWY1Li5jMTM3YWUzZTA5MjgzNjM3ZWRlYTFl
MjQ4OGRmNWI3OTBhNWY3Y2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5
cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5oCkBAIC00NCwxNCArNDQsMTQg
QEAgcHVibGljOgogCiAgICAgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVudGlmaWVyKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVl
X3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlw
dG9LZXlVc2FnZSwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIGZpbmFsOwotICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRs
ZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2Fn
ZSwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CisgICAgdm9pZCBn
ZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
cz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFp
ckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
KSBmaW5hbDsKKyAgICB2b2lkIGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5
RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4m
JiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYs
IEV4Y2VwdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogCiAgICAgLy8gVGhlIGZvbGxvd2luZyB3aWxs
IGJlIGRlcHJlY2F0ZWQuCiAgICAgdm9pZCBlbmNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0
aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFj
aywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGVjcnlwdChjb25zdCBDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIGNvbnN0
IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBm
YWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKLSAgICB2b2lkIGdlbmVy
YXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgYm9vbCBl
eHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIFZvaWRD
YWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqKSBvdmVycmlkZTsKLSAgICB2b2lkIGltcG9ydEtleShjb25zdCBDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleURhdGEmLCBib29sIGV4
dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5Q2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYg
ZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7CisgICAgdm9pZCBnZW5l
cmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGJvb2wg
ZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYm
LCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBpbXBvcnRLZXkoY29uc3QgQ3J5
cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlEYXRhJiwg
Ym9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIFZv
aWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwog
CiBwcml2YXRlOgogICAgIENyeXB0b0FsZ29yaXRobUFFU19DQkMoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cu
Y3BwCmluZGV4IGRlMzBlM2EwMjlkMDgwMWU3ZGQ5NWNhZjhkN2YwMmQ3M2IyYjYzZDEuLmM4YjIz
YzZmZmNmYzY2YjRmMDcwNzMzMjFhZWQ2ZDVkMTVlNjk4ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmNw
cApAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0IGNoYXIqIGNv
bnN0IENyeXB0b0FsZ29yaXRobUFFU19LVzo6c19uYW1lID0gIkFFUy1LVyI7CiAKLXN0YXRpYyBp
bmxpbmUgYm9vbCB1c2FnZXNBcmVJbnZhbGlkRm9yQ3J5cHRvQWxnb3JpdGhtQUVTX0tXKENyeXB0
b0tleVVzYWdlIHVzYWdlcykKK3N0YXRpYyBpbmxpbmUgYm9vbCB1c2FnZXNBcmVJbnZhbGlkRm9y
Q3J5cHRvQWxnb3JpdGhtQUVTX0tXKENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcykKIHsKICAg
ICByZXR1cm4gdXNhZ2VzICYgKENyeXB0b0tleVVzYWdlU2lnbiB8IENyeXB0b0tleVVzYWdlVmVy
aWZ5IHwgQ3J5cHRvS2V5VXNhZ2VEZXJpdmVLZXkgfCBDcnlwdG9LZXlVc2FnZURlcml2ZUJpdHMg
fCBDcnlwdG9LZXlVc2FnZUVuY3J5cHQgfCBDcnlwdG9LZXlVc2FnZURlY3J5cHQpOwogfQpAQCAt
NzAsNyArNzAsNyBAQCBib29sIENyeXB0b0FsZ29yaXRobUFFU19LVzo6a2V5QWxnb3JpdGhtTWF0
Y2hlcyhjb25zdCBDcnlwdG9LZXkmIGtleSkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
dm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfS1c6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVl
X3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFj
dGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxs
YmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCopCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19LVzo6Z2VuZXJhdGVLZXkoY29u
c3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVy
cywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlPcktl
eVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNh
bGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKIHsKICAgICBjb25zdCBhdXRvJiBhZXNQ
YXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zPigqcGFy
YW1ldGVycyk7CiAKQEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfS1c6
OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXIKICAg
ICBjYWxsYmFjayhyZXN1bHQuZ2V0KCksIG51bGxwdHIpOwogfQogCi12b2lkIENyeXB0b0FsZ29y
aXRobUFFU19LVzo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwgS2V5
RGF0YSYmIGRhdGEsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdl
cywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25D
YWxsYmFjaykKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjppbXBvcnRLZXkoU3VidGxlQ3J5
cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjp1bmlxdWVf
cHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0
YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNr
LCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQogewogICAgIGlmICh1c2Fn
ZXNBcmVJbnZhbGlkRm9yQ3J5cHRvQWxnb3JpdGhtQUVTX0tXKHVzYWdlcykpIHsKICAgICAgICAg
ZXhjZXB0aW9uQ2FsbGJhY2soU1lOVEFYX0VSUik7CkBAIC0xNDcsNyArMTQ3LDcgQEAgdm9pZCBD
cnlwdG9BbGdvcml0aG1BRVNfS1c6OmRlY3J5cHRGb3JVbndyYXBLZXkoY29uc3QgQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVyc0QKICAgICBwbGF0Zm9ybURlY3J5cHQoZG93bmNhc3Q8Q3J5cHRvS2V5
QUVTPihrZXkpLCBkYXRhLCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShmYWlsdXJlQ2FsbGJh
Y2spLCBlYyk7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpnZW5lcmF0ZUtleShj
b25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYgcGFyYW1ldGVycywgYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFj
ayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNv
ZGUmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tX
OjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYg
cGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2Vz
LCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJl
Q2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKIHsKICAg
ICBjb25zdCBDcnlwdG9BbGdvcml0aG1BZXNLZXlHZW5QYXJhbXNEZXByZWNhdGVkJiBhZXNQYXJh
bWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zRGVwcmVjYXRl
ZD4ocGFyYW1ldGVycyk7CiAKQEAgLTE2MCw3ICsxNjAsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRo
bUFFU19LVzo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJl
Y2F0ZQogICAgIGNhbGxiYWNrKHJlc3VsdC5nZXQoKSwgbnVsbHB0cik7CiB9CiAKLXZvaWQgQ3J5
cHRvQWxnb3JpdGhtQUVTX0tXOjppbXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlEYXRhJiBrZXlEYXRhLCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZSwgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgVm9p
ZENhbGxiYWNrJiYsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNf
S1c6OmltcG9ydEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYs
IGNvbnN0IENyeXB0b0tleURhdGEmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tl
eVVzYWdlQml0bWFwIHVzYWdlLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sm
JiwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKCFpczxDcnlwdG9LZXlEYXRhT2N0ZXRT
ZXF1ZW5jZT4oa2V5RGF0YSkpIHsKICAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRo
bUFFU19LVy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtQUVTX0tXLmgKaW5kZXggYjNiYjgwNzdmOWJkNGJhNDE3ZDEzNTg4ODRiNTI4ZWYzMTBjMzgz
YS4uZjIzMjQyMTliZjNlZThiMDBlZmRlZGI0MzU3N2Q3MGQxZjk0ZjQxYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVT
X0tXLmgKQEAgLTQzLDE0ICs0MywxNCBAQCBwdWJsaWM6CiAKICAgICBDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCBvdmVycmlkZTsKIAotICAgIHZvaWQgZ2VuZXJh
dGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYs
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlPcktleVBhaXJDYWxsYmFjayYm
LCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgZmluYWw7Ci0g
ICAgdm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29u
c3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFj
ayYmKSBmaW5hbDsKKyAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlV
c2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIGZpbmFsOworICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRs
ZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2Fn
ZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CiAKICAg
ICAvLyBUaGUgZm9sbG93aW5nIHdpbGwgYmUgZGVwcmVjYXRlZC4KICAgICB2b2lkIGVuY3J5cHRG
b3JXcmFwS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29u
c3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNr
JiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJy
aWRlOwogICAgIHZvaWQgZGVjcnlwdEZvclVud3JhcEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJh
dGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJh
Y2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKLSAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0
IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgYm9vbCBleHRyYWN0YWJsZSwg
Q3J5cHRvS2V5VXNhZ2UsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZh
aWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBv
dmVycmlkZTsKLSAgICB2b2lkIGltcG9ydEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleURhdGEmLCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZSwgS2V5Q2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxi
YWNrLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7CisgICAgdm9pZCBnZW5lcmF0ZUtleShjb25z
dCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGJvb2wgZXh0cmFjdGFibGUs
IENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBWb2lkQ2FsbGJh
Y2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBpbXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlEYXRhJiwgYm9vbCBleHRyYWN0
YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYm
IGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwogCiBwcml2YXRlOgog
ICAgIENyeXB0b0FsZ29yaXRobUFFU19LVygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmNwcAppbmRleCAyMjVkYjg5
N2Y3MGVhMzc3ZDJhMzQ0ZTI0NzUwMmRkZjU5M2ZjNzAxLi40ZDk2OTljOWI3ZmVjZGQwNTU1OTI1
MWRmYTY4YWM1YTQ5Mjk3ODBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmNwcApAQCAtMzksNyArMzksNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0IGNoYXIqIGNvbnN0IENyeXB0b0FsZ29yaXRobUhN
QUM6OnNfbmFtZSA9ICJITUFDIjsKIAotc3RhdGljIGlubGluZSBib29sIHVzYWdlc0FyZUludmFs
aWRGb3JDcnlwdG9BbGdvcml0aG1ITUFDKENyeXB0b0tleVVzYWdlIHVzYWdlcykKK3N0YXRpYyBp
bmxpbmUgYm9vbCB1c2FnZXNBcmVJbnZhbGlkRm9yQ3J5cHRvQWxnb3JpdGhtSE1BQyhDcnlwdG9L
ZXlVc2FnZUJpdG1hcCB1c2FnZXMpCiB7CiAgICAgcmV0dXJuIHVzYWdlcyAmIChDcnlwdG9LZXlV
c2FnZUVuY3J5cHQgfCBDcnlwdG9LZXlVc2FnZURlY3J5cHQgfCBDcnlwdG9LZXlVc2FnZURlcml2
ZUtleSB8IENyeXB0b0tleVVzYWdlRGVyaXZlQml0cyB8IENyeXB0b0tleVVzYWdlV3JhcEtleSB8
IENyeXB0b0tleVVzYWdlVW53cmFwS2V5KTsKIH0KQEAgLTczLDcgKzczLDcgQEAgYm9vbCBDcnlw
dG9BbGdvcml0aG1ITUFDOjprZXlBbGdvcml0aG1NYXRjaGVzKGNvbnN0IENyeXB0b0FsZ29yaXRo
bUhtYWNQYXJhbXNEZXAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0
aG1ITUFDOjpnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2Fn
ZSB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxi
YWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQordm9pZCBD
cnlwdG9BbGdvcml0aG1ITUFDOjpnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5
cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJh
Y2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqKQogewogICAgIGNvbnN0IGF1dG8mIGhtYWNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8
Q3J5cHRvQWxnb3JpdGhtSG1hY0tleVBhcmFtcz4oKnBhcmFtZXRlcnMpOwogCkBAIC05Niw3ICs5
Niw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6Z2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1
bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtCiAgICAgY2FsbGJhY2socmVzdWx0LmdldCgp
LCBudWxscHRyKTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1ITUFDOjppbXBvcnRLZXkoU3Vi
dGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjp1
bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgYm9vbCBl
eHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNr
LCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQordm9pZCBDcnlwdG9BbGdv
cml0aG1ITUFDOjppbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlE
YXRhJiYgZGF0YSwgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRl
cnM+JiYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAg
dXNhZ2VzLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2Vw
dGlvbkNhbGxiYWNrKQogewogICAgIGNvbnN0IGF1dG8mIGhtYWNQYXJhbWV0ZXJzID0gZG93bmNh
c3Q8Q3J5cHRvQWxnb3JpdGhtSG1hY0tleVBhcmFtcz4oKnBhcmFtZXRlcnMpOwogCkBAIC0xNjcs
NyArMTY3LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1ITUFDOjp2ZXJpZnkoY29uc3QgQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmEKICAgICBwbGF0Zm9ybVZlcmlmeSho
bWFjUGFyYW1ldGVycywgZG93bmNhc3Q8Q3J5cHRvS2V5SE1BQz4oa2V5KSwgZXhwZWN0ZWRTaWdu
YXR1cmUsIGRhdGEsIFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKGZhaWx1cmVDYWxsYmFjayks
IGVjKTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1ITUFDOjpnZW5lcmF0ZUtleShjb25zdCBD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYgcGFyYW1ldGVycywgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNh
bGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KikKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6Z2VuZXJh
dGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRl
cnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5T3JL
ZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNr
LCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopCiB7CiAgICAgY29uc3Qg
Q3J5cHRvQWxnb3JpdGhtSG1hY0tleVBhcmFtc0RlcHJlY2F0ZWQmIGhtYWNQYXJhbWV0ZXJzID0g
ZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtSG1hY0tleVBhcmFtc0RlcHJlY2F0ZWQ+KHBhcmFtZXRl
cnMpOwogCkBAIC0xODAsNyArMTgwLDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1ITUFDOjpnZW5l
cmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYKICAgICBj
YWxsYmFjayhyZXN1bHQuZ2V0KCksIG51bGxwdHIpOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRo
bUhNQUM6OmltcG9ydEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRl
ZCYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5RGF0YSYga2V5RGF0YSwgYm9vbCBleHRyYWN0
YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2UsIEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRD
YWxsYmFjayYmLCBFeGNlcHRpb25Db2RlJiBlYykKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6
aW1wb3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiBwYXJh
bWV0ZXJzLCBjb25zdCBDcnlwdG9LZXlEYXRhJiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZSwgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENh
bGxiYWNrJiYsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghaXM8Q3J5cHRvS2V5RGF0
YU9jdGV0U2VxdWVuY2U+KGtleURhdGEpKSB7CiAgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9F
UlI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1ITUFDLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1ITUFDLmgKaW5kZXggZDU0ZGNhY2Y3NzIwMDM5YjM1ZGJkYmVjYjRmMmViNWQ4YTA1
NDQyNi4uOTVjYjNkNmZhMjM3OWVhOTU0OTI1MjRlN2RjOGVhMmNhMGVlYmNhZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhN
QUMuaApAQCAtNDQsMTQgKzQ0LDE0IEBAIHB1YmxpYzoKIAogICAgIENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBnZW5lcmF0
ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwg
Ym9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYs
IEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBmaW5hbDsKLSAg
ICB2b2lkIGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25z
dCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNr
JiYpIGZpbmFsOworICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVz
YWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KikgZmluYWw7CisgICAgdm9pZCBpbXBvcnRLZXkoU3VidGxl
Q3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdl
Qml0bWFwLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKIAogICAg
IC8vIFRoZSBmb2xsb3dpbmcgd2lsbCBiZSBkZXByZWNhdGVkLgogICAgIHZvaWQgc2lnbihjb25z
dCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYs
IGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJh
Y2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKICAgICB2b2lk
IHZlcmlmeShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0
IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIHNpZ25hdHVyZSwgY29uc3Qg
Q3J5cHRvT3BlcmF0aW9uRGF0YSYsIEJvb2xDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWls
dXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKLSAgICB2b2lkIGdlbmVyYXRl
S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIFZvaWRDYWxs
YmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqKSBvdmVycmlkZTsKLSAgICB2b2lkIGltcG9ydEtleShjb25zdCBDcnlwdG9BbGdvcml0
aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleURhdGEmLCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZSwgS2V5Q2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFp
bHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7CisgICAgdm9pZCBnZW5lcmF0
ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBW
b2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBpbXBvcnRLZXkoY29uc3QgQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlEYXRhJiwgYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIFZvaWRD
YWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwogCiBw
cml2YXRlOgogICAgIENyeXB0b0FsZ29yaXRobUhNQUMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNB
RVNfUEtDUzFfdjFfNS5jcHAKaW5kZXggNmFiYjM1ZjEwMTE4YjNmYmZhY2ZkNGJlN2JmNmU5YTg3
NmE2MzEzZi4uMWQyMGM4MGY2NDQyNzBkZTY5ZjMxMGUyYzFjNThkZjlmOGFjZDZjYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNB
RVNfUEtDUzFfdjFfNS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMv
Q3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgYm9v
bCBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81OjprZXlBbGdvcml0aG1NYXRjaGVzKGNv
bnN0IENyeXB0b0tleSYga2V5KQogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIENyeXB0b0Fs
Z29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0
cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFi
bGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFj
aywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCkKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6
Z2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRl
cnM+JiYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAg
dXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFj
ayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQog
ewogICAgIGNvbnN0IGF1dG8mIHJzYVBhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0
aG1Sc2FLZXlHZW5QYXJhbXM+KCpwYXJhbWV0ZXJzKTsKIApAQCAtODgsNyArODgsNyBAQCB2b2lk
IENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6
dW5pcXVlX3B0cjxDcnlwdG9BbAogICAgIENyeXB0b0tleVJTQTo6Z2VuZXJhdGVQYWlyKENyeXB0
b0FsZ29yaXRobUlkZW50aWZpZXI6OlJTQUVTX1BLQ1MxX3YxXzUsIENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXI6OlNIQV8xLCBmYWxzZSwgcnNhUGFyYW1ldGVycy5tb2R1bHVzTGVuZ3RoLCByc2FQ
YXJhbWV0ZXJzLnB1YmxpY0V4cG9uZW50VmVjdG9yKCksIGV4dHJhY3RhYmxlLCB1c2FnZXMsIFdU
Rk1vdmUoa2V5UGFpckNhbGxiYWNrKSwgV1RGTW92ZShmYWlsdXJlQ2FsbGJhY2spLCBjb250ZXh0
KTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81OjppbXBvcnRLZXko
U3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29uc3Qgc3Rk
Ojp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlDYWxsYmFjayYmIGNhbGxi
YWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQordm9pZCBDcnlwdG9B
bGdvcml0aG1SU0FFU19QS0NTMV92MV81OjppbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3Jt
YXQgZm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0Fs
Z29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25D
YWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQogewogICAgIFJlZlB0cjxDcnlwdG9LZXlSU0E+
IHJlc3VsdDsKICAgICBzd2l0Y2ggKGZvcm1hdCkgewpAQCAtMTQxLDcgKzE0MSw3IEBAIHZvaWQg
Q3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6ZGVjcnlwdChjb25zdCBDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzRGVwCiAgICAgcGxhdGZvcm1EZWNyeXB0KGRvd25jYXN0PENyeXB0b0tl
eVJTQT4oa2V5KSwgZGF0YSwgV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUoZmFpbHVyZUNhbGxi
YWNrKSwgZWMpOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6Omdl
bmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiBwYXJh
bWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIEtleU9yS2V5
UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywg
RXhjZXB0aW9uQ29kZSYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCit2b2lkIENy
eXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0Fs
Z29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxl
LCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2Fs
bGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgY29uc3QgQ3J5cHRvQWxnb3Jp
dGhtUnNhS2V5R2VuUGFyYW1zRGVwcmVjYXRlZCYgcnNhUGFyYW1ldGVycyA9IGRvd25jYXN0PENy
eXB0b0FsZ29yaXRobVJzYUtleUdlblBhcmFtc0RlcHJlY2F0ZWQ+KHBhcmFtZXRlcnMpOwogCkBA
IC0xNTIsNyArMTUyLDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81Ojpn
ZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXIKICAgICBDcnlwdG9LZXlS
U0E6OmdlbmVyYXRlUGFpcihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpSU0FFU19QS0NTMV92
MV81LCByc2FQYXJhbWV0ZXJzLmhhc2gsIHJzYVBhcmFtZXRlcnMuaGFzSGFzaCwgcnNhUGFyYW1l
dGVycy5tb2R1bHVzTGVuZ3RoLCByc2FQYXJhbWV0ZXJzLnB1YmxpY0V4cG9uZW50LCBleHRyYWN0
YWJsZSwgdXNhZ2VzLCBXVEZNb3ZlKGtleVBhaXJDYWxsYmFjayksIFdURk1vdmUoZmFpbHVyZUNh
bGxiYWNrKSwgY29udGV4dCk7CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFf
djFfNTo6aW1wb3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVk
JiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9LZXlEYXRhJiBrZXlEYXRhLCBib29sIGV4dHJhY3Rh
YmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZSwgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENh
bGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikKK3ZvaWQgQ3J5cHRvQWxn
b3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6aW1wb3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9LZXlEYXRhJiBrZXlE
YXRhLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZSwgS2V5Q2Fs
bGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRp
b25Db2RlJikKIHsKICAgICBjb25zdCBDcnlwdG9BbGdvcml0aG1Sc2FLZXlQYXJhbXNXaXRoSGFz
aERlcHJlY2F0ZWQmIHJzYVBhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1Sc2FL
ZXlQYXJhbXNXaXRoSGFzaERlcHJlY2F0ZWQ+KHBhcmFtZXRlcnMpOwogICAgIGNvbnN0IENyeXB0
b0tleURhdGFSU0FDb21wb25lbnRzJiByc2FDb21wb25lbnRzID0gZG93bmNhc3Q8Q3J5cHRvS2V5
RGF0YVJTQUNvbXBvbmVudHM+KGtleURhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5oIGIvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFf
djFfNS5oCmluZGV4IDI0YjJjNmNiNTgzZmFmY2NmZmE0ZmU5NWQ5MGU5YzcxMmZkNGFjNzYuLjA0
ZGE3NjgzMzk2MTQwODhjOTcxNjE4NGUzZGIzZWY1M2QxZGQ1MDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3Yx
XzUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0
aG1SU0FFU19QS0NTMV92MV81LmgKQEAgLTQ0LDE0ICs0NCwxNCBAQCBwdWJsaWM6CiAKICAgICBD
cnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCBvdmVycmlkZTsKIAot
ICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlPcktl
eVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KikgZmluYWw7Ci0gICAgdm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQs
IEtleURhdGEmJiwgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRl
cnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlDYWxsYmFjayYmLCBF
eGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKKyAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0
ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3Rh
YmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0
aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIGZpbmFsOworICAgIHZvaWQg
aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6
dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxl
LCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2sm
JikgZmluYWw7CiAKICAgICAvLyBUaGUgZm9sbG93aW5nIHdpbGwgYmUgZGVwcmVjYXRlZC4KICAg
ICB2b2lkIGVuY3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQm
LCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2Fs
bGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikg
b3ZlcnJpZGU7CiAgICAgdm9pZCBkZWNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRl
cnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0
YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhj
ZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwotICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9L
ZXlVc2FnZSwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNh
bGxiYWNrLCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRl
OwotICAgIHZvaWQgaW1wb3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXBy
ZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5RGF0YSYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tl
eVVzYWdlLCBLZXlDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4
Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKKyAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZh
aWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBv
dmVycmlkZTsKKyAgICB2b2lkIGltcG9ydEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleURhdGEmLCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVy
ZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgQ3J5
cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NB
X1BLQ1MxX3YxXzUuY3BwCmluZGV4IGY4NDQ5ZTFmMzE1Y2M0ODYyMDBhY2ZiOTBjODc5OTcxOTgy
ZWM4MWMuLjQ5NDNkMjU3NzllMjhlOWQ1NmQxMGQ3MWI4ZmQ4NGIxNTlkNjI1MjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNT
QV9QS0NTMV92MV81LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5jcHAKQEAgLTcyLDcgKzcyLDcgQEAgYm9v
bCBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6a2V5QWxnb3JpdGhtTWF0Y2hlcyhj
b25zdCBDcnlwdG9BbGdvcml0aG0KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBDcnlwdG9B
bGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6Z2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVf
cHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0
YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxi
YWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0KQordm9pZCBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFf
NTo6Z2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnM+JiYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRt
YXAgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxs
YmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
KQogewogICAgIGNvbnN0IGF1dG8mIHJzYVBhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdv
cml0aG1Sc2FIYXNoZWRLZXlHZW5QYXJhbXM+KCpwYXJhbWV0ZXJzKTsKIApAQCAtOTIsNyArOTIs
NyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjpnZW5lcmF0ZUtleShj
b25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQQogICAgIENyeXB0b0tleVJTQTo6Z2VuZXJhdGVQ
YWlyKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlJTQVNTQV9QS0NTMV92MV81LCByc2FQYXJh
bWV0ZXJzLmhhc2hJZGVudGlmaWVyLCB0cnVlLCByc2FQYXJhbWV0ZXJzLm1vZHVsdXNMZW5ndGgs
IHJzYVBhcmFtZXRlcnMucHVibGljRXhwb25lbnRWZWN0b3IoKSwgZXh0cmFjdGFibGUsIHVzYWdl
cywgV1RGTW92ZShrZXlQYWlyQ2FsbGJhY2spLCBXVEZNb3ZlKGZhaWx1cmVDYWxsYmFjayksIGNv
bnRleHQpOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjppbXBv
cnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29u
c3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVy
cywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlDYWxsYmFjayYm
IGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQordm9pZCBD
cnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6
S2V5Rm9ybWF0IGZvcm1hdCwgS2V5RGF0YSYmIGRhdGEsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUs
IENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhj
ZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykKIHsKICAgICBjb25zdCBhdXRvJiBy
c2FQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtUnNhSGFzaGVkSW1wb3J0UGFy
YW1zPigqcGFyYW1ldGVycyk7CiAKQEAgLTE3NCw3ICsxNzQsNyBAQCB2b2lkIENyeXB0b0FsZ29y
aXRobVJTQVNTQV9QS0NTMV92MV81Ojp2ZXJpZnkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVyc0RlcAogICAgIHBsYXRmb3JtVmVyaWZ5KHJzYVNTQVBhcmFtZXRlcnMsICBkb3duY2FzdDxD
cnlwdG9LZXlSU0E+KGtleSksIHNpZ25hdHVyZSwgZGF0YSwgV1RGTW92ZShjYWxsYmFjayksIFdU
Rk1vdmUoZmFpbHVyZUNhbGxiYWNrKSwgZWMpOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobVJT
QVNTQV9QS0NTMV92MV81OjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzRGVwcmVjYXRlZCYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNh
Z2UgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sm
JiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0KQordm9pZCBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6Z2VuZXJh
dGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRl
cnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5T3JL
ZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNr
LCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKICAg
ICBjb25zdCBDcnlwdG9BbGdvcml0aG1Sc2FLZXlHZW5QYXJhbXNEZXByZWNhdGVkJiByc2FQYXJh
bWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtUnNhS2V5R2VuUGFyYW1zRGVwcmVjYXRl
ZD4ocGFyYW1ldGVycyk7CiAKQEAgLTE4NSw3ICsxODUsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRo
bVJTQVNTQV9QS0NTMV92MV81OjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZQogICAgIENyeXB0b0tleVJTQTo6Z2VuZXJhdGVQYWlyKENyeXB0b0FsZ29yaXRobUlkZW50
aWZpZXI6OlJTQVNTQV9QS0NTMV92MV81LCByc2FQYXJhbWV0ZXJzLmhhc2gsIHJzYVBhcmFtZXRl
cnMuaGFzSGFzaCwgcnNhUGFyYW1ldGVycy5tb2R1bHVzTGVuZ3RoLCByc2FQYXJhbWV0ZXJzLnB1
YmxpY0V4cG9uZW50LCBleHRyYWN0YWJsZSwgdXNhZ2VzLCBXVEZNb3ZlKGtleVBhaXJDYWxsYmFj
ayksIFdURk1vdmUoZmFpbHVyZUNhbGxiYWNrKSwgY29udGV4dCk7CiB9CiAKLXZvaWQgQ3J5cHRv
QWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzU6OmltcG9ydEtleShjb25zdCBDcnlwdG9BbGdvcml0
aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5RGF0YSYg
a2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2UsIEtleUNhbGxi
YWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9u
Q29kZSYpCit2b2lkIENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjppbXBvcnRLZXko
Y29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGNv
bnN0IENyeXB0b0tleURhdGEmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVz
YWdlQml0bWFwIHVzYWdlLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBm
YWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKQogewogICAgIGNvbnN0IENyeXB0b0FsZ29y
aXRobVJzYUtleVBhcmFtc1dpdGhIYXNoRGVwcmVjYXRlZCYgcnNhS2V5UGFyYW1ldGVycyA9IGRv
d25jYXN0PENyeXB0b0FsZ29yaXRobVJzYUtleVBhcmFtc1dpdGhIYXNoRGVwcmVjYXRlZD4ocGFy
YW1ldGVycyk7CiAgICAgY29uc3QgQ3J5cHRvS2V5RGF0YVJTQUNvbXBvbmVudHMmIHJzYUNvbXBv
bmVudHMgPSBkb3duY2FzdDxDcnlwdG9LZXlEYXRhUlNBQ29tcG9uZW50cz4oa2V5RGF0YSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0
aG1SU0FTU0FfUEtDUzFfdjFfNS5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMv
Q3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUuaAppbmRleCA2MjM5ZGE0ZWZiYzdhMjdk
YmJmNWI1NmNlZjIxM2M2YWE3MDdlNmQ2Li44ZDhmYTM1NDMyZTAyZTM0ZmRmN2MyYWFkZGFlNTdm
YTZmZDk2N2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmgKQEAgLTQ0
LDE0ICs0NCwxNCBAQCBwdWJsaWM6CiAKICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlk
ZW50aWZpZXIoKSBjb25zdCBvdmVycmlkZTsKIAotICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qg
c3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFj
dGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25D
YWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgZmluYWw7Ci0gICAgdm9pZCBpbXBv
cnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qgc3RkOjp1bmlx
dWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsK
KyAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0
aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwg
S2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCopIGZpbmFsOworICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5
Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5
Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CiAKICAgICAvLyBUaGUgZm9s
bG93aW5nIHdpbGwgYmUgZGVwcmVjYXRlZC4KICAgICB2b2lkIHNpZ24oY29uc3QgQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlw
dG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVy
ZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2ZXJpZnkoY29u
c3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkm
LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBzaWduYXR1cmUsIGNvbnN0IENyeXB0b09wZXJh
dGlvbkRhdGEmLCBCb29sQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNr
LCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWls
dXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikgb3Zl
cnJpZGU7Ci0gICAgdm9pZCBpbXBvcnRLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
c0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlEYXRhJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5
cHRvS2V5VXNhZ2UsIEtleUNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFj
aywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOworICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qg
Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNr
JiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCopIG92ZXJyaWRlOworICAgIHZvaWQgaW1wb3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5RGF0YSYsIGJvb2wgZXh0cmFjdGFi
bGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBm
YWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKICAg
ICBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAu
Y3BwCmluZGV4IGRjZjYwZWU0YjRhMDkzODVlOWE1ZGY5YjczNTE1ZTFjNGNiMWY4NmMuLjcyNmFj
MDdkZTUyODc3NDQ4ZGQ1OWEwNWI3MTRkMTMxNGU0MWRjZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FfT0FF
UC5jcHAKQEAgLTcyLDcgKzcyLDcgQEAgYm9vbCBDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6a2V5
QWxnb3JpdGhtTWF0Y2hlcyhjb25zdCBDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGEKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6Z2VuZXJhdGVLZXko
Y29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1l
dGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlPcktleVBh
aXJDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxi
YWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQordm9pZCBDcnlwdG9BbGdvcml0
aG1SU0FfT0FFUDo6Z2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5
VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNl
cHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0KQogewogICAgIGNvbnN0IGF1dG8mIHJzYVBhcmFtZXRlcnMgPSBkb3duY2FzdDxD
cnlwdG9BbGdvcml0aG1Sc2FIYXNoZWRLZXlHZW5QYXJhbXM+KCpwYXJhbWV0ZXJzKTsKIApAQCAt
OTIsNyArOTIsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjpnZW5lcmF0ZUtleShj
b25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUAogICAgIENyeXB0b0tleVJTQTo6
Z2VuZXJhdGVQYWlyKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlJTQV9PQUVQLCByc2FQYXJh
bWV0ZXJzLmhhc2hJZGVudGlmaWVyLCB0cnVlLCByc2FQYXJhbWV0ZXJzLm1vZHVsdXNMZW5ndGgs
IHJzYVBhcmFtZXRlcnMucHVibGljRXhwb25lbnRWZWN0b3IoKSwgZXh0cmFjdGFibGUsIHVzYWdl
cywgV1RGTW92ZShrZXlQYWlyQ2FsbGJhY2spLCBXVEZNb3ZlKGZhaWx1cmVDYWxsYmFjayksIGNv
bnRleHQpOwogfQogCi12b2lkIENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjppbXBvcnRLZXkoU3Vi
dGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjp1
bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgYm9vbCBl
eHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlDYWxsYmFjayYmIGNhbGxiYWNr
LCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQordm9pZCBDcnlwdG9BbGdv
cml0aG1SU0FfT0FFUDo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwg
S2V5RGF0YSYmIGRhdGEsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0
bWFwIHVzYWdlcywgS2V5Q2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBl
eGNlcHRpb25DYWxsYmFjaykKIHsKICAgICBjb25zdCBhdXRvJiByc2FQYXJhbWV0ZXJzID0gZG93
bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtUnNhSGFzaGVkSW1wb3J0UGFyYW1zPigqcGFyYW1ldGVycyk7
CiAKQEAgLTE4NSw3ICsxODUsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjpkZWNy
eXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJgogICAgIHBsYXRm
b3JtRGVjcnlwdChyc2FPQUVQUGFyYW1ldGVycywgZG93bmNhc3Q8Q3J5cHRvS2V5UlNBPihrZXkp
LCBkYXRhLCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShmYWlsdXJlQ2FsbGJhY2spLCBlYyk7
CiB9CiAKLXZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OmdlbmVyYXRlS2V5KGNvbnN0IENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2Fs
bGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYsIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCit2b2lkIENyeXB0b0FsZ29yaXRobVJTQV9P
QUVQOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRl
ZCYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNh
Z2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWls
dXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0KQogewogICAgIGNvbnN0IENyeXB0b0FsZ29yaXRobVJzYUtleUdlblBhcmFtc0RlcHJlY2F0
ZWQmIHJzYVBhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1Sc2FLZXlHZW5QYXJh
bXNEZXByZWNhdGVkPihwYXJhbWV0ZXJzKTsKIApAQCAtMTk2LDcgKzE5Niw3IEBAIHZvaWQgQ3J5
cHRvQWxnb3JpdGhtUlNBX09BRVA6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnNEZXByZWNhCiAgICAgQ3J5cHRvS2V5UlNBOjpnZW5lcmF0ZVBhaXIoQ3J5cHRvQWxn
b3JpdGhtSWRlbnRpZmllcjo6UlNBX09BRVAsIHJzYVBhcmFtZXRlcnMuaGFzaCwgcnNhUGFyYW1l
dGVycy5oYXNIYXNoLCByc2FQYXJhbWV0ZXJzLm1vZHVsdXNMZW5ndGgsIHJzYVBhcmFtZXRlcnMu
cHVibGljRXhwb25lbnQsIGV4dHJhY3RhYmxlLCB1c2FnZXMsIFdURk1vdmUoa2V5UGFpckNhbGxi
YWNrKSwgV1RGTW92ZShmYWlsdXJlQ2FsbGJhY2spLCBjb250ZXh0KTsKIH0KIAotdm9pZCBDcnlw
dG9BbGdvcml0aG1SU0FfT0FFUDo6aW1wb3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9LZXlEYXRhJiBrZXlEYXRh
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZSwgS2V5Q2FsbGJhY2smJiBj
YWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikK
K3ZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OmltcG9ydEtleShjb25zdCBDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5RGF0
YSYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2Us
IEtleUNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywg
RXhjZXB0aW9uQ29kZSYpCiB7CiAgICAgY29uc3QgQ3J5cHRvQWxnb3JpdGhtUnNhS2V5UGFyYW1z
V2l0aEhhc2hEZXByZWNhdGVkJiByc2FLZXlQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxn
b3JpdGhtUnNhS2V5UGFyYW1zV2l0aEhhc2hEZXByZWNhdGVkPihwYXJhbWV0ZXJzKTsKICAgICBj
b25zdCBDcnlwdG9LZXlEYXRhUlNBQ29tcG9uZW50cyYgcnNhQ29tcG9uZW50cyA9IGRvd25jYXN0
PENyeXB0b0tleURhdGFSU0FDb21wb25lbnRzPihrZXlEYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQLmggYi9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FfT0FFUC5o
CmluZGV4IDAxM2RlNzJmNWQwMjM0MmE2OGIxOGFmNTk5Y2Q3YzE4YjViZDcxOWMuLjlmNGUzZTlm
NzNlZmUwYjVmNWVkMGJiNDY0ZTI0OTMwZmYxNGM2NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuaApA
QCAtNDQsMTQgKzQ0LDE0IEBAIHB1YmxpYzoKIAogICAgIENyeXB0b0FsZ29yaXRobUlkZW50aWZp
ZXIgaWRlbnRpZmllcigpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBnZW5lcmF0ZUtleShj
b25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBl
eHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBmaW5hbDsKLSAgICB2b2lk
IGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6
OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJs
ZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpIGZp
bmFsOworICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0Fs
Z29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0
bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KikgZmluYWw7CisgICAgdm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRv
OjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFw
LCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKIAogICAgIC8vIFRo
ZSBmb2xsb3dpbmcgd2lsbCBiZSBkZXByZWNhdGVkLgogICAgIHZvaWQgZW5jcnlwdChjb25zdCBD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIGNv
bnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2sm
JiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKICAgICB2b2lkIGRl
Y3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBD
cnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwg
Vm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7
Ci0gICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVw
cmVjYXRlZCYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBLZXlPcktleVBhaXJD
YWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUm
LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBpbXBvcnRLZXko
Y29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9L
ZXlEYXRhJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UsIEtleUNhbGxiYWNrJiYs
IFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRl
OworICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0Rl
cHJlY2F0ZWQmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JL
ZXlQYWlyQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRp
b25Db2RlJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOworICAgIHZvaWQgaW1w
b3J0S2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3Qg
Q3J5cHRvS2V5RGF0YSYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBL
ZXlDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNv
ZGUmKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKICAgICBDcnlwdG9BbGdvcml0aG1SU0FfT0FFUCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9LZXlSU0FH
bnVUTFMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9LZXlSU0FHbnVU
TFMuY3BwCmluZGV4IDA4N2RkNjFlOGFlMTg5NjA1MjQ5NWM1ZWE4OGFmYWRmNmFhYTUzMDAuLjBl
YTI1NjA3YmExNmQ4ZDdhNWJkMTU5NDFiNzJmZGNlZTY4NDNiZDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9nbnV0bHMvQ3J5cHRvS2V5UlNBR251VExTLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vZ251dGxzL0NyeXB0b0tleVJTQUdudVRMUy5jcHAKQEAgLTM4LDcg
KzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RydWN0IF9QbGF0Zm9ybVJTQUtleUdudVRM
UyB7CiB9OwogCi1DcnlwdG9LZXlSU0E6OkNyeXB0b0tleVJTQShDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyIGlkZW50aWZpZXIsIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBo
YXNIYXNoLCBDcnlwdG9LZXlUeXBlIHR5cGUsIFBsYXRmb3JtUlNBS2V5IHBsYXRmb3JtS2V5LCBi
b29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZSkKK0NyeXB0b0tleVJTQTo6Q3J5
cHRvS2V5UlNBKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllciwgQ3J5cHRvQWxn
b3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIENyeXB0b0tleVR5cGUgdHlwZSwg
UGxhdGZvcm1SU0FLZXkgcGxhdGZvcm1LZXksIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVz
YWdlQml0bWFwIHVzYWdlKQogICAgIDogQ3J5cHRvS2V5KGlkZW50aWZpZXIsIHR5cGUsIGV4dHJh
Y3RhYmxlLCB1c2FnZSkKICAgICAsIG1fcGxhdGZvcm1LZXkocGxhdGZvcm1LZXkpCiAgICAgLCBt
X3Jlc3RyaWN0ZWRUb1NwZWNpZmljSGFzaChoYXNIYXNoKQpAQCAtNDcsNyArNDcsNyBAQCBDcnlw
dG9LZXlSU0E6OkNyeXB0b0tleVJTQShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlkZW50aWZp
ZXIsIENyeXB0b0FsZ29yaXRobQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLVJlZlB0cjxD
cnlwdG9LZXlSU0E+IENyeXB0b0tleVJTQTo6Y3JlYXRlKENyeXB0b0FsZ29yaXRobUlkZW50aWZp
ZXIgaWRlbnRpZmllciwgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hh
c2gsIGNvbnN0IENyeXB0b0tleURhdGFSU0FDb21wb25lbnRzJiBrZXlEYXRhLCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZSkKK1JlZlB0cjxDcnlwdG9LZXlSU0E+IENyeXB0
b0tleVJTQTo6Y3JlYXRlKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllciwgQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIGNvbnN0IENyeXB0b0tl
eURhdGFSU0FDb21wb25lbnRzJiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlV
c2FnZUJpdG1hcCB1c2FnZSkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogICAgIFVOVVNFRF9Q
QVJBTShpZGVudGlmaWVyKTsKQEAgLTk1LDcgKzk1LDcgQEAgc3RkOjp1bmlxdWVfcHRyPENyeXB0
b0tleURhdGE+IENyeXB0b0tleVJTQTo6ZXhwb3J0RGF0YSgpIGNvbnN0CiAgICAgcmV0dXJuIG51
bGxwdHI7CiB9CiAKLXZvaWQgQ3J5cHRvS2V5UlNBOjpnZW5lcmF0ZVBhaXIoQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllciBhbGdvcml0aG0sIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwg
Ym9vbCBoYXNIYXNoLCB1bnNpZ25lZCBtb2R1bHVzTGVuZ3RoLCBjb25zdCBWZWN0b3I8dWludDhf
dD4mIHB1YmxpY0V4cG9uZW50LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2Fn
ZSwgS2V5UGFpckNhbGxiYWNrIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNr
LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQordm9pZCBDcnlwdG9LZXlSU0E6Omdl
bmVyYXRlUGFpcihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgQ3J5cHRvQWxn
b3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIHVuc2lnbmVkIG1vZHVsdXNMZW5n
dGgsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgcHVibGljRXhwb25lbnQsIGJvb2wgZXh0cmFjdGFi
bGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlLCBLZXlQYWlyQ2FsbGJhY2sgY2FsbGJhY2ss
IFZvaWRDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICBmYWlsdXJlQ2FsbGJhY2soKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlBRVMuY3BwCmluZGV4IDVhODQw
MmNhOGFhNzIzMTk4MDczMThkZmU4MGNkNTUyOTk0NGJmYzIuLjIzNGZlMjliNDkxYzAwNWMxYjc0
NDBlODFiYmFiOTVjNWJkYmRlODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9r
ZXlzL0NyeXB0b0tleUFFUy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5
cHRvS2V5QUVTLmNwcApAQCAtNDEsMTQgKzQxLDE0IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBsZW5n
dGhJc1ZhbGlkKHNpemVfdCBsZW5ndGgpCiAgICAgcmV0dXJuIChsZW5ndGggPT0gQ3J5cHRvS2V5
QUVTOjpzX2xlbmd0aDEyOCkgfHwgKGxlbmd0aCA9PSBDcnlwdG9LZXlBRVM6OnNfbGVuZ3RoMTky
KSB8fCAobGVuZ3RoID09IENyeXB0b0tleUFFUzo6c19sZW5ndGgyNTYpOwogfQogCi1DcnlwdG9L
ZXlBRVM6OkNyeXB0b0tleUFFUyhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwg
Y29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVz
YWdlIHVzYWdlKQorQ3J5cHRvS2V5QUVTOjpDcnlwdG9LZXlBRVMoQ3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllciBhbGdvcml0aG0sIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZSkKICAgICA6IENyeXB0b0tleShhbGdv
cml0aG0sIENyeXB0b0tleVR5cGU6OlNlY3JldCwgZXh0cmFjdGFibGUsIHVzYWdlKQogICAgICwg
bV9rZXkoa2V5KQogewogICAgIEFTU0VSVChpc1ZhbGlkQUVTQWxnb3JpdGhtKGFsZ29yaXRobSkp
OwogfQogCi1DcnlwdG9LZXlBRVM6OkNyeXB0b0tleUFFUyhDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyIGFsZ29yaXRobSwgVmVjdG9yPHVpbnQ4X3Q+JiYga2V5LCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZSB1c2FnZSkKK0NyeXB0b0tleUFFUzo6Q3J5cHRvS2V5QUVTKENyeXB0b0Fs
Z29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtLCBWZWN0b3I8dWludDhfdD4mJiBrZXksIGJvb2wg
ZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlKQogICAgIDogQ3J5cHRvS2V5
KGFsZ29yaXRobSwgQ3J5cHRvS2V5VHlwZTo6U2VjcmV0LCBleHRyYWN0YWJsZSwgdXNhZ2UpCiAg
ICAgLCBtX2tleShXVEZNb3ZlKGtleSkpCiB7CkBAIC02OSwyMSArNjksMjEgQEAgYm9vbCBDcnlw
dG9LZXlBRVM6OmlzVmFsaWRBRVNBbGdvcml0aG0oQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBh
bGdvcml0aG0pCiAgICAgICAgIHx8IGFsZ29yaXRobSA9PSBDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyOjpBRVNfS1c7CiB9CiAKLVJlZlB0cjxDcnlwdG9LZXlBRVM+IENyeXB0b0tleUFFUzo6Z2Vu
ZXJhdGUoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIHNpemVfdCBsZW5ndGhC
aXRzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMpCitSZWZQdHI8Q3J5
cHRvS2V5QUVTPiBDcnlwdG9LZXlBRVM6OmdlbmVyYXRlKENyeXB0b0FsZ29yaXRobUlkZW50aWZp
ZXIgYWxnb3JpdGhtLCBzaXplX3QgbGVuZ3RoQml0cywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2VCaXRtYXAgdXNhZ2VzKQogewogICAgIGlmICghbGVuZ3RoSXNWYWxpZChsZW5ndGhC
aXRzKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBD
cnlwdG9LZXlBRVMoYWxnb3JpdGhtLCByYW5kb21EYXRhKGxlbmd0aEJpdHMgLyA4KSwgZXh0cmFj
dGFibGUsIHVzYWdlcykpOwogfQogCi1SZWZQdHI8Q3J5cHRvS2V5QUVTPiBDcnlwdG9LZXlBRVM6
OmltcG9ydFJhdyhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgVmVjdG9yPHVp
bnQ4X3Q+JiYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2Vz
KQorUmVmUHRyPENyeXB0b0tleUFFUz4gQ3J5cHRvS2V5QUVTOjppbXBvcnRSYXcoQ3J5cHRvQWxn
b3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIFZlY3Rvcjx1aW50OF90PiYmIGtleURhdGEsIGJv
b2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcykKIHsKICAgICBpZiAo
IWxlbmd0aElzVmFsaWQoa2V5RGF0YS5zaXplKCkgKiA4KSkKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDcnlwdG9LZXlBRVMoYWxnb3JpdGhtLCBXVEZN
b3ZlKGtleURhdGEpLCBleHRyYWN0YWJsZSwgdXNhZ2VzKSk7CiB9CiAKLVJlZlB0cjxDcnlwdG9L
ZXlBRVM+IENyeXB0b0tleUFFUzo6aW1wb3J0SndrKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIg
YWxnb3JpdGhtLCBKc29uV2ViS2V5JiYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2UgdXNhZ2VzLCBDaGVja0FsZ0NhbGxiYWNrJiYgY2FsbGJhY2spCitSZWZQdHI8Q3J5
cHRvS2V5QUVTPiBDcnlwdG9LZXlBRVM6OmltcG9ydEp3ayhDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyIGFsZ29yaXRobSwgSnNvbldlYktleSYmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgQ2hlY2tBbGdDYWxsYmFjayYmIGNhbGxiYWNrKQog
ewogICAgIGlmIChrZXlEYXRhLmt0eSAhPSAib2N0IikKICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlBRVMuaCBi
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5oCmluZGV4IDgyODhmNmQ1
YjllYWU0YjJhNmFmMGQ3NTZmYTY3MmFlMTY3OWQ5Y2IuLmM3MThiZWI3Njg0Njk0OGRmNmIyZDVm
YTg1ZWNjY2E5NjhkOGVhMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlz
L0NyeXB0b0tleUFFUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tl
eUFFUy5oCkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgaW50IHNf
bGVuZ3RoMTkyID0gMTkyOwogICAgIHN0YXRpYyBjb25zdCBpbnQgc19sZW5ndGgyNTYgPSAyNTY7
CiAKLSAgICBzdGF0aWMgUmVmPENyeXB0b0tleUFFUz4gY3JlYXRlKENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXIgYWxnb3JpdGhtLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2UpCisgICAgc3RhdGljIFJlZjxDcnlwdG9LZXlB
RVM+IGNyZWF0ZShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgY29uc3QgVmVj
dG9yPHVpbnQ4X3Q+JiBrZXksIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFw
IHVzYWdlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ3J5cHRvS2V5QUVT
KGFsZ29yaXRobSwga2V5LCBleHRyYWN0YWJsZSwgdXNhZ2UpKTsKICAgICB9CkBAIC02NywxOCAr
NjcsMTggQEAgcHVibGljOgogCiAgICAgc3RhdGljIGJvb2wgaXNWYWxpZEFFU0FsZ29yaXRobShD
cnlwdG9BbGdvcml0aG1JZGVudGlmaWVyKTsKIAotICAgIHN0YXRpYyBSZWZQdHI8Q3J5cHRvS2V5
QUVTPiBnZW5lcmF0ZShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBzaXplX3QgbGVuZ3RoQml0
cywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UpOwotICAgIHN0YXRpYyBSZWZQdHI8
Q3J5cHRvS2V5QUVTPiBpbXBvcnRSYXcoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgVmVjdG9y
PHVpbnQ4X3Q+JiYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UpOwor
ICAgIHN0YXRpYyBSZWZQdHI8Q3J5cHRvS2V5QUVTPiBnZW5lcmF0ZShDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyLCBzaXplX3QgbGVuZ3RoQml0cywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5
VXNhZ2VCaXRtYXApOworICAgIHN0YXRpYyBSZWZQdHI8Q3J5cHRvS2V5QUVTPiBpbXBvcnRSYXco
Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgVmVjdG9yPHVpbnQ4X3Q+JiYga2V5RGF0YSwgYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXApOwogICAgIHVzaW5nIENoZWNrQWxn
Q2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPGJvb2woc2l6ZV90LCBjb25zdCBPcHRpb25hbDxTdHJp
bmc+Jik+OwotICAgIHN0YXRpYyBSZWZQdHI8Q3J5cHRvS2V5QUVTPiBpbXBvcnRKd2soQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllciwgSnNvbldlYktleSYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlw
dG9LZXlVc2FnZSwgQ2hlY2tBbGdDYWxsYmFjayYmKTsKKyAgICBzdGF0aWMgUmVmUHRyPENyeXB0
b0tleUFFUz4gaW1wb3J0SndrKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIsIEpzb25XZWJLZXkm
JiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIENoZWNrQWxnQ2FsbGJh
Y2smJik7CiAKICAgICBDcnlwdG9LZXlDbGFzcyBrZXlDbGFzcygpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIENyeXB0b0tleUNsYXNzOjpBRVM7IH0KIAogICAgIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYg
a2V5KCkgY29uc3QgeyByZXR1cm4gbV9rZXk7IH0KIAogcHJpdmF0ZToKLSAgICBDcnlwdG9LZXlB
RVMoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXks
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlKTsKLSAgICBDcnlwdG9LZXlBRVMoQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgVmVjdG9yPHVpbnQ4X3Q+JiYga2V5LCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZSk7CisgICAgQ3J5cHRvS2V5QUVTKENyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXIsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LCBib29sIGV4dHJhY3RhYmxl
LCBDcnlwdG9LZXlVc2FnZUJpdG1hcCk7CisgICAgQ3J5cHRvS2V5QUVTKENyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXIsIFZlY3Rvcjx1aW50OF90PiYmIGtleSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5
cHRvS2V5VXNhZ2VCaXRtYXApOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEtleUFsZ29yaXRobT4g
YnVpbGRBbGdvcml0aG0oKSBjb25zdCBmaW5hbDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRv
S2V5RGF0YT4gZXhwb3J0RGF0YSgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8va2V5cy9DcnlwdG9LZXlITUFDLmNwcAppbmRleCAzYjFkNDFiOTUzMDQ2ZjU1NjZiMWViNTBh
ZjA2M2E3YTRiZmYyYjdmLi4xNzNjZTVjYTdiZTk5NGE0MDdhOWE3MDk3ODE1YjEwMTVmMzQyZjcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmNwcApAQCAt
MzcsMTQgKzM3LDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ3J5cHRvS2V5SE1BQzo6
Q3J5cHRvS2V5SE1BQyhjb25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwgQ3J5cHRvQWxnb3JpdGht
SWRlbnRpZmllciBoYXNoLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZSkK
K0NyeXB0b0tleUhNQUM6OkNyeXB0b0tleUhNQUMoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXks
IENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2VCaXRtYXAgdXNhZ2UpCiAgICAgOiBDcnlwdG9LZXkoQ3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllcjo6SE1BQywgQ3J5cHRvS2V5VHlwZTo6U2VjcmV0LCBleHRyYWN0YWJsZSwgdXNhZ2Up
CiAgICAgLCBtX2hhc2goaGFzaCkKICAgICAsIG1fa2V5KGtleSkKIHsKIH0KIAotQ3J5cHRvS2V5
SE1BQzo6Q3J5cHRvS2V5SE1BQyhWZWN0b3I8dWludDhfdD4mJiBrZXksIENyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXIgaGFzaCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2Up
CitDcnlwdG9LZXlITUFDOjpDcnlwdG9LZXlITUFDKFZlY3Rvcjx1aW50OF90PiYmIGtleSwgQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlV
c2FnZUJpdG1hcCB1c2FnZSkKICAgICA6IENyeXB0b0tleShDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyOjpITUFDLCBDcnlwdG9LZXlUeXBlOjpTZWNyZXQsIGV4dHJhY3RhYmxlLCB1c2FnZSkKICAg
ICAsIG1faGFzaChoYXNoKQogICAgICwgbV9rZXkoV1RGTW92ZShrZXkpKQpAQCAtNTUsNyArNTUs
NyBAQCBDcnlwdG9LZXlITUFDOjp+Q3J5cHRvS2V5SE1BQygpCiB7CiB9CiAKLVJlZlB0cjxDcnlw
dG9LZXlITUFDPiBDcnlwdG9LZXlITUFDOjpnZW5lcmF0ZShzaXplX3QgbGVuZ3RoQml0cywgQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlV
c2FnZSB1c2FnZXMpCitSZWZQdHI8Q3J5cHRvS2V5SE1BQz4gQ3J5cHRvS2V5SE1BQzo6Z2VuZXJh
dGUoc2l6ZV90IGxlbmd0aEJpdHMsIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzKQogewogICAgIGlmICgh
bGVuZ3RoQml0cykgewogICAgICAgICBzd2l0Y2ggKGhhc2gpIHsKQEAgLTgwLDcgKzgwLDcgQEAg
UmVmUHRyPENyeXB0b0tleUhNQUM+IENyeXB0b0tleUhNQUM6OmdlbmVyYXRlKHNpemVfdCBsZW5n
dGhCaXRzLCBDcnlwdG9BbGdvcml0aG0KICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENyeXB0b0tl
eUhNQUMocmFuZG9tRGF0YShsZW5ndGhCaXRzIC8gOCksIGhhc2gsIGV4dHJhY3RhYmxlLCB1c2Fn
ZXMpKTsKIH0KIAotUmVmUHRyPENyeXB0b0tleUhNQUM+IENyeXB0b0tleUhNQUM6OmltcG9ydFJh
dyhzaXplX3QgbGVuZ3RoQml0cywgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBWZWN0
b3I8dWludDhfdD4mJiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1
c2FnZXMpCitSZWZQdHI8Q3J5cHRvS2V5SE1BQz4gQ3J5cHRvS2V5SE1BQzo6aW1wb3J0UmF3KHNp
emVfdCBsZW5ndGhCaXRzLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIFZlY3Rvcjx1
aW50OF90PiYmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFw
IHVzYWdlcykKIHsKICAgICBzaXplX3QgbGVuZ3RoID0ga2V5RGF0YS5zaXplKCkgKiA4OwogICAg
IGlmICghbGVuZ3RoKQpAQCAtOTMsNyArOTMsNyBAQCBSZWZQdHI8Q3J5cHRvS2V5SE1BQz4gQ3J5
cHRvS2V5SE1BQzo6aW1wb3J0UmF3KHNpemVfdCBsZW5ndGhCaXRzLCBDcnlwdG9BbGdvcml0aAog
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ3J5cHRvS2V5SE1BQyhXVEZNb3ZlKGtleURhdGEpLCBo
YXNoLCBleHRyYWN0YWJsZSwgdXNhZ2VzKSk7CiB9CiAKLVJlZlB0cjxDcnlwdG9LZXlITUFDPiBD
cnlwdG9LZXlITUFDOjppbXBvcnRKd2soc2l6ZV90IGxlbmd0aEJpdHMsIENyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXIgaGFzaCwgSnNvbldlYktleSYmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUs
IENyeXB0b0tleVVzYWdlIHVzYWdlcywgQ2hlY2tBbGdDYWxsYmFjayYmIGNhbGxiYWNrKQorUmVm
UHRyPENyeXB0b0tleUhNQUM+IENyeXB0b0tleUhNQUM6OmltcG9ydEp3ayhzaXplX3QgbGVuZ3Ro
Qml0cywgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBKc29uV2ViS2V5JiYga2V5RGF0
YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBDaGVja0Fs
Z0NhbGxiYWNrJiYgY2FsbGJhY2spCiB7CiAgICAgaWYgKGtleURhdGEua3R5ICE9ICJvY3QiKQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9rZXlzL0NyeXB0b0tleUhNQUMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleUhNQUMuaAppbmRleCBmMzVhYjUzYTA1MTkwNDAwOTg2ZDI0Mzk1ZTNhZDViZDRmMWZlODFi
Li4xMDdjNjU5ODEzZGM5MTg2ZmYwMThmMGFlZWU0MzRhZmRhYTAxYzYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5oCkBAIC01NywxNiArNTcsMTYgQEAgcHJp
dmF0ZToKIAogY2xhc3MgQ3J5cHRvS2V5SE1BQyBmaW5hbCA6IHB1YmxpYyBDcnlwdG9LZXkgewog
cHVibGljOgotICAgIHN0YXRpYyBSZWY8Q3J5cHRvS2V5SE1BQz4gY3JlYXRlKGNvbnN0IFZlY3Rv
cjx1aW50OF90PiYga2V5LCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlIHVzYWdlKQorICAgIHN0YXRpYyBSZWY8Q3J5cHRvS2V5
SE1BQz4gY3JlYXRlKGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LCBDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyIGhhc2gsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVz
YWdlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ3J5cHRvS2V5SE1BQyhr
ZXksIGhhc2gsIGV4dHJhY3RhYmxlLCB1c2FnZSkpOwogICAgIH0KICAgICB2aXJ0dWFsIH5Dcnlw
dG9LZXlITUFDKCk7CiAKLSAgICBzdGF0aWMgUmVmUHRyPENyeXB0b0tleUhNQUM+IGdlbmVyYXRl
KHNpemVfdCBsZW5ndGhCaXRzLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wg
ZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlKTsKLSAgICBzdGF0aWMgUmVmUHRyPENyeXB0b0tl
eUhNQUM+IGltcG9ydFJhdyhzaXplX3QgbGVuZ3RoQml0cywgQ3J5cHRvQWxnb3JpdGhtSWRlbnRp
ZmllciBoYXNoLCBWZWN0b3I8dWludDhfdD4mJiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZSk7CisgICAgc3RhdGljIFJlZlB0cjxDcnlwdG9LZXlITUFDPiBnZW5lcmF0
ZShzaXplX3QgbGVuZ3RoQml0cywgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29s
IGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCk7CisgICAgc3RhdGljIFJlZlB0cjxD
cnlwdG9LZXlITUFDPiBpbXBvcnRSYXcoc2l6ZV90IGxlbmd0aEJpdHMsIENyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXIgaGFzaCwgVmVjdG9yPHVpbnQ4X3Q+JiYga2V5RGF0YSwgYm9vbCBleHRyYWN0
YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXApOwogICAgIHVzaW5nIENoZWNrQWxnQ2FsbGJhY2sg
PSBXVEY6OkZ1bmN0aW9uPGJvb2woQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgY29uc3QgT3B0
aW9uYWw8U3RyaW5nPiYpPjsKLSAgICBzdGF0aWMgUmVmUHRyPENyeXB0b0tleUhNQUM+IGltcG9y
dEp3ayhzaXplX3QgbGVuZ3RoQml0cywgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBK
c29uV2ViS2V5JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlLCBDaGVja0FsZ0Nh
bGxiYWNrJiYpOworICAgIHN0YXRpYyBSZWZQdHI8Q3J5cHRvS2V5SE1BQz4gaW1wb3J0SndrKHNp
emVfdCBsZW5ndGhCaXRzLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIEpzb25XZWJL
ZXkmJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIENoZWNrQWxnQ2Fs
bGJhY2smJik7CiAKICAgICBDcnlwdG9LZXlDbGFzcyBrZXlDbGFzcygpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIENyeXB0b0tleUNsYXNzOjpITUFDOyB9CiAKQEAgLTc1LDggKzc1LDggQEAgcHVibGlj
OgogICAgIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaEFsZ29yaXRobUlkZW50aWZpZXIo
KSBjb25zdCB7IHJldHVybiBtX2hhc2g7IH0KIAogcHJpdmF0ZToKLSAgICBDcnlwdG9LZXlITUFD
KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhh
c2gsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlKTsKLSAgICBDcnlwdG9LZXlITUFD
KFZlY3Rvcjx1aW50OF90PiYmIGtleSwgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBi
b29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSk7CisgICAgQ3J5cHRvS2V5SE1BQyhjb25z
dCBWZWN0b3I8dWludDhfdD4mIGtleSwgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBi
b29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCk7CisgICAgQ3J5cHRvS2V5SE1B
QyhWZWN0b3I8dWludDhfdD4mJiBrZXksIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwg
Ym9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXApOwogCiAgICAgc3RkOjp1bmlx
dWVfcHRyPEtleUFsZ29yaXRobT4gYnVpbGRBbGdvcml0aG0oKSBjb25zdCBmaW5hbDsKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvS2V5RGF0YT4gZXhwb3J0RGF0YSgpIGNvbnN0IGZpbmFsOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAKaW5kZXggZWZhMDU1
N2NmYWQ0YTM0MWM5YWRmMWVlZGZhMTg4YmVlYjkyMGU1YS4uMGQxNDM4MWY1YjIxOTY1ZTQ5NmU2
ODhjZTgxNGYwNzcwMTU4YjQ4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tl
eXMvQ3J5cHRvS2V5UlNBLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9Dcnlw
dG9LZXlSU0EuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
UmVmUHRyPENyeXB0b0tleVJTQT4gQ3J5cHRvS2V5UlNBOjppbXBvcnRKd2soQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllciBhbGdvcml0aG0sIE9wdGlvbmFsPENyeXB0b0FsZ29yaXRobUlkZW50aWZp
ZXI+IGhhc2gsIEpzb25XZWJLZXkmJiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9L
ZXlVc2FnZSB1c2FnZXMpCitSZWZQdHI8Q3J5cHRvS2V5UlNBPiBDcnlwdG9LZXlSU0E6OmltcG9y
dEp3ayhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgT3B0aW9uYWw8Q3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllcj4gaGFzaCwgSnNvbldlYktleSYmIGtleURhdGEsIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcykKIHsKICAgICBpZiAoa2V5RGF0
YS5rdHkgIT0gIlJTQSIpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmggYi9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuaAppbmRleCBjN2Y0ZDVhZjllYTkwMGFlYmM3ZmZjZTE1
NjcwNjBjMjdlNjBiZTdhLi5mYjEwYTY0MDQxOWUzM2EzY2M3NTFhZGM1NTFkYTI1YTM3MjczMWY0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuaApAQCAtODcsMTEg
Kzg3LDExIEBAIHByaXZhdGU6CiAKIGNsYXNzIENyeXB0b0tleVJTQSBmaW5hbCA6IHB1YmxpYyBD
cnlwdG9LZXkgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8Q3J5cHRvS2V5UlNBPiBjcmVhdGUo
Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVudGlmaWVyLCBDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyIGhhc2gsIGJvb2wgaGFzSGFzaCwgQ3J5cHRvS2V5VHlwZSB0eXBlLCBQbGF0Zm9ybVJT
QUtleSBwbGF0Zm9ybUtleSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2Up
CisgICAgc3RhdGljIFJlZjxDcnlwdG9LZXlSU0E+IGNyZWF0ZShDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyIGlkZW50aWZpZXIsIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBo
YXNIYXNoLCBDcnlwdG9LZXlUeXBlIHR5cGUsIFBsYXRmb3JtUlNBS2V5IHBsYXRmb3JtS2V5LCBi
b29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZSkKICAgICB7CiAgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENyeXB0b0tleVJTQShpZGVudGlmaWVyLCBoYXNoLCBo
YXNIYXNoLCB0eXBlLCBwbGF0Zm9ybUtleSwgZXh0cmFjdGFibGUsIHVzYWdlKSk7CiAgICAgfQot
ICAgIHN0YXRpYyBSZWZQdHI8Q3J5cHRvS2V5UlNBPiBjcmVhdGUoQ3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllciwgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIGNv
bnN0IENyeXB0b0tleURhdGFSU0FDb21wb25lbnRzJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2UpOworICAgIHN0YXRpYyBSZWZQdHI8Q3J5cHRvS2V5UlNBPiBjcmVhdGUoQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllciwgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29s
IGhhc0hhc2gsIGNvbnN0IENyeXB0b0tleURhdGFSU0FDb21wb25lbnRzJiwgYm9vbCBleHRyYWN0
YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXApOwogICAgIHZpcnR1YWwgfkNyeXB0b0tleVJTQSgp
OwogCiAgICAgYm9vbCBpc1Jlc3RyaWN0ZWRUb0hhc2goQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmll
ciYpIGNvbnN0OwpAQCAtMTAwLDEzICsxMDAsMTMgQEAgcHVibGljOgogCiAgICAgdXNpbmcgS2V5
UGFpckNhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKENyeXB0b0tleVBhaXImKT47CiAgICAg
dXNpbmcgVm9pZENhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKCk+OwotICAgIHN0YXRpYyB2
b2lkIGdlbmVyYXRlUGFpcihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBDcnlwdG9BbGdvcml0
aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgaGFzSGFzaCwgdW5zaWduZWQgbW9kdWx1c0xlbmd0aCwg
Y29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBwdWJsaWNFeHBvbmVudCwgYm9vbCBleHRyYWN0YWJsZSwg
Q3J5cHRvS2V5VXNhZ2UsIEtleVBhaXJDYWxsYmFjaywgVm9pZENhbGxiYWNrIGZhaWx1cmVDYWxs
YmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwotICAgIHN0YXRpYyBSZWZQdHI8Q3J5cHRv
S2V5UlNBPiBpbXBvcnRKd2soQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgT3B0aW9uYWw8Q3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllcj4gaGFzaCwgSnNvbldlYktleSYmLCBib29sIGV4dHJhY3Rh
YmxlLCBDcnlwdG9LZXlVc2FnZSk7CisgICAgc3RhdGljIHZvaWQgZ2VuZXJhdGVQYWlyKENyeXB0
b0FsZ29yaXRobUlkZW50aWZpZXIsIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9v
bCBoYXNIYXNoLCB1bnNpZ25lZCBtb2R1bHVzTGVuZ3RoLCBjb25zdCBWZWN0b3I8dWludDhfdD4m
IHB1YmxpY0V4cG9uZW50LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwg
S2V5UGFpckNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0Kik7CisgICAgc3RhdGljIFJlZlB0cjxDcnlwdG9LZXlSU0E+IGltcG9ydEp3
ayhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBPcHRpb25hbDxDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyPiBoYXNoLCBKc29uV2ViS2V5JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVz
YWdlQml0bWFwKTsKIAogICAgIFBsYXRmb3JtUlNBS2V5IHBsYXRmb3JtS2V5KCkgY29uc3QgeyBy
ZXR1cm4gbV9wbGF0Zm9ybUtleTsgfQogCiBwcml2YXRlOgotICAgIENyeXB0b0tleVJTQShDcnlw
dG9BbGdvcml0aG1JZGVudGlmaWVyLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJv
b2wgaGFzSGFzaCwgQ3J5cHRvS2V5VHlwZSwgUGxhdGZvcm1SU0FLZXksIGJvb2wgZXh0cmFjdGFi
bGUsIENyeXB0b0tleVVzYWdlKTsKKyAgICBDcnlwdG9LZXlSU0EoQ3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllciwgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIENy
eXB0b0tleVR5cGUsIFBsYXRmb3JtUlNBS2V5LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlV
c2FnZUJpdG1hcCk7CiAKICAgICBDcnlwdG9LZXlDbGFzcyBrZXlDbGFzcygpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIENyeXB0b0tleUNsYXNzOjpSU0E7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5U2VyaWFsaXphdGlvblJhdy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3LmNwcAppbmRleCA2
ZDNiOGM4NDU4OTliNWViZmYxMzAxOGU5YWYyYTdiMGU4NmVlMWI3Li5kYjI3NGYzZjQyMzcxOGEz
YmExYzU0YzFmMDllNDMyZDQ5NjdhZDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8va2V5cy9DcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3LmNwcApAQCAtNDksNyArNDks
NyBAQCBPcHRpb25hbDxDcnlwdG9BbGdvcml0aG1QYWlyPiBDcnlwdG9LZXlTZXJpYWxpemF0aW9u
UmF3OjpyZWNvbmNpbGVBbGdvcml0aG0oQ3J5cAogICAgIHJldHVybiBDcnlwdG9BbGdvcml0aG1Q
YWlyIHsgYWxnb3JpdGhtLCBwYXJhbWV0ZXJzIH07CiB9CiAKLXZvaWQgQ3J5cHRvS2V5U2VyaWFs
aXphdGlvblJhdzo6cmVjb25jaWxlVXNhZ2VzKENyeXB0b0tleVVzYWdlJikgY29uc3QKK3ZvaWQg
Q3J5cHRvS2V5U2VyaWFsaXphdGlvblJhdzo6cmVjb25jaWxlVXNhZ2VzKENyeXB0b0tleVVzYWdl
Qml0bWFwJikgY29uc3QKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRv
L2tleXMvQ3J5cHRvS2V5U2VyaWFsaXphdGlvblJhdy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRv
L2tleXMvQ3J5cHRvS2V5U2VyaWFsaXphdGlvblJhdy5oCmluZGV4IGVmYTNjZDJjMDFkOWYzNWEw
ZTkwYzJhOTk3YzQxNDgyZDc4ZWE1MzYuLmE2MTVkMGYwMzhjOTI5OTcwMmFjNjUzZGM0M2YxZDNl
Y2Q0Nzk4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tl
eVNlcmlhbGl6YXRpb25SYXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9Dcnlw
dG9LZXlTZXJpYWxpemF0aW9uUmF3LmgKQEAgLTUzLDcgKzUzLDcgQEAgcHJpdmF0ZToKIAogICAg
IE9wdGlvbmFsPENyeXB0b0FsZ29yaXRobVBhaXI+IHJlY29uY2lsZUFsZ29yaXRobShDcnlwdG9B
bGdvcml0aG0qLCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCopIGNvbnN0IG92
ZXJyaWRlOwogCi0gICAgdm9pZCByZWNvbmNpbGVVc2FnZXMoQ3J5cHRvS2V5VXNhZ2UmKSBjb25z
dCBvdmVycmlkZTsKKyAgICB2b2lkIHJlY29uY2lsZVVzYWdlcyhDcnlwdG9LZXlVc2FnZUJpdG1h
cCYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgcmVjb25jaWxlRXh0cmFjdGFibGUoYm9vbCYp
IGNvbnN0IG92ZXJyaWRlOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0tleURhdGE+IGtl
eURhdGEoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9tYWMvQ3J5cHRvS2V5UlNBTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5
cHRvS2V5UlNBTWFjLmNwcAppbmRleCA5ZmFmMDBiZDdlYzY0Mjg1MGZjMjU0NTE3MGZmYmE0Nzlm
MDYzYTA1Li5jNzM0NWVjNzU3YjhiYTA5Zjk4Yzc2NGUxNGIxMTc3OGE4ZWUyODljIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0tleVJTQU1hYy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9LZXlSU0FNYWMuY3BwCkBAIC05Niw3ICs5
Niw3IEBAIHN0YXRpYyBDQ0NyeXB0b3JTdGF0dXMgZ2V0UHJpdmF0ZUtleUNvbXBvbmVudHMoQ0NS
U0FDcnlwdG9yUmVmIHJzYUtleSwgVmVjdG9yPHVpCiAgICAgcmV0dXJuIHN0YXR1czsKIH0KIAot
Q3J5cHRvS2V5UlNBOjpDcnlwdG9LZXlSU0EoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVu
dGlmaWVyLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGJvb2wgaGFzSGFzaCwgQ3J5
cHRvS2V5VHlwZSB0eXBlLCBQbGF0Zm9ybVJTQUtleSBwbGF0Zm9ybUtleSwgYm9vbCBleHRyYWN0
YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2UpCitDcnlwdG9LZXlSU0E6OkNyeXB0b0tleVJTQShD
cnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlkZW50aWZpZXIsIENyeXB0b0FsZ29yaXRobUlkZW50
aWZpZXIgaGFzaCwgYm9vbCBoYXNIYXNoLCBDcnlwdG9LZXlUeXBlIHR5cGUsIFBsYXRmb3JtUlNB
S2V5IHBsYXRmb3JtS2V5LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1
c2FnZSkKICAgICA6IENyeXB0b0tleShpZGVudGlmaWVyLCB0eXBlLCBleHRyYWN0YWJsZSwgdXNh
Z2UpCiAgICAgLCBtX3BsYXRmb3JtS2V5KHBsYXRmb3JtS2V5KQogICAgICwgbV9yZXN0cmljdGVk
VG9TcGVjaWZpY0hhc2goaGFzSGFzaCkKQEAgLTEwNCw3ICsxMDQsNyBAQCBDcnlwdG9LZXlSU0E6
OkNyeXB0b0tleVJTQShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlkZW50aWZpZXIsIENyeXB0
b0FsZ29yaXRobQogewogfQogCi1SZWZQdHI8Q3J5cHRvS2V5UlNBPiBDcnlwdG9LZXlSU0E6OmNy
ZWF0ZShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlkZW50aWZpZXIsIENyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXIgaGFzaCwgYm9vbCBoYXNIYXNoLCBjb25zdCBDcnlwdG9LZXlEYXRhUlNBQ29t
cG9uZW50cyYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2Up
CitSZWZQdHI8Q3J5cHRvS2V5UlNBPiBDcnlwdG9LZXlSU0E6OmNyZWF0ZShDcnlwdG9BbGdvcml0
aG1JZGVudGlmaWVyIGlkZW50aWZpZXIsIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwg
Ym9vbCBoYXNIYXNoLCBjb25zdCBDcnlwdG9LZXlEYXRhUlNBQ29tcG9uZW50cyYga2V5RGF0YSwg
Ym9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2UpCiB7CiAgICAgaWYg
KGtleURhdGEudHlwZSgpID09IENyeXB0b0tleURhdGFSU0FDb21wb25lbnRzOjpUeXBlOjpQcml2
YXRlICYmICFrZXlEYXRhLmhhc0FkZGl0aW9uYWxQcml2YXRlS2V5UGFyYW1ldGVycygpKSB7CiAg
ICAgICAgIC8vIDxyZGFyOi8vcHJvYmxlbS8xNTQ1MjMyND4gdHJhY2tzIGFkZGluZyBzdXBwb3J0
LgpAQCAtMjMwLDcgKzIzMCw3IEBAIHN0YXRpYyBib29sIGJpZ0ludGVnZXJUb1VJbnQzMihjb25z
dCBWZWN0b3I8dWludDhfdD4mIGJpZ0ludGVnZXIsIHVpbnQzMl90JiByZXN1CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLXZvaWQgQ3J5cHRvS2V5UlNBOjpnZW5lcmF0ZVBhaXIoQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllciBhbGdvcml0aG0sIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwg
Ym9vbCBoYXNIYXNoLCB1bnNpZ25lZCBtb2R1bHVzTGVuZ3RoLCBjb25zdCBWZWN0b3I8dWludDhf
dD4mIHB1YmxpY0V4cG9uZW50LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2Fn
ZSwgS2V5UGFpckNhbGxiYWNrIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNr
LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQordm9pZCBDcnlwdG9LZXlSU0E6Omdl
bmVyYXRlUGFpcihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgQ3J5cHRvQWxn
b3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIHVuc2lnbmVkIG1vZHVsdXNMZW5n
dGgsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgcHVibGljRXhwb25lbnQsIGJvb2wgZXh0cmFjdGFi
bGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlLCBLZXlQYWlyQ2FsbGJhY2sgY2FsbGJhY2ss
IFZvaWRDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQpCiB7CiAgICAgdWludDMyX3QgZTsKICAgICBpZiAoIWJpZ0ludGVnZXJUb1VJbnQzMihw
dWJsaWNFeHBvbmVudCwgZSkpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ZDY1ODVjMjVhY2ExNTg2YTZlZWFjN2IyNDNm
MTY1NzQ0MTAwYzUwLi42ZTlmZjE1ODE1YjNiNmRhMDJkM2QxM2Y5NTJkODc0ZDk5MGY1YzQ1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMTEtMTAgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFu
QGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgQ3J5cHRvS2V5VXNhZ2UgdG8gQ3J5cHRvS2V5
VXNhZ2VCaXRtYXAgYW5kIENyeXB0b0tleTo6VXNhZ2UgdG8gQ3J5cHRvS2V5VXNhZ2UKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDYyNAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMjkyMTAxNDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2dlbmVyYXRlLWtleS1tYWxmb3Jt
ZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3J5cHRvL3N1YnRsZS9pbXBv
cnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dDoKKwogMjAxNi0xMS0wNCAg
Smlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBTdWJ0
bGVDcnlwdG86OmltcG9ydEtleSB0byBtYXRjaCB0aGUgbGF0ZXN0IHNwZWMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvZ2VuZXJhdGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0
ZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvZ2VuZXJhdGUta2V5
LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAppbmRleCA2NDZjMjk2OThjOGQ1MDBm
MjNlMWFjODI0OGQxYzk5Njc5YmM0MDI0Li42MmFmY2I3YmM2NGI1YjM2YmM3OWY1YjgxMDA5YjEz
ZmE3MmRjMmQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2dlbmVyYXRl
LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQu
dHh0CkBAIC0zMiwxNCArMzIsMTQgQEAgUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtu
YW1lOiAiU0hBLTEifSwgMiwgMykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBOb3QKIFBBU1MgY3J5
cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIlNIQS0yNTYifSwgMiwgMykgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBOb3RTdXBwb3J0ZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiA5KTogVGhlIG9w
ZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLi4KIFBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtl
eSh7bmFtZTogIlNIQS0zODQifSwgMiwgMykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBw
b3J0ZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiA5KTogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9y
dGVkLi4KIFBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIlNIQS01MTIifSwg
MiwgMykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBwb3J0ZWRFcnJvciAoRE9NIEV4Y2Vw
dGlvbiA5KTogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLi4KLVBBU1MgY3J5cHRvLnN1
YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3Rh
YmxlLCAzKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBB
U1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEy
OH0sIGV4dHJhY3RhYmxlLCB0cnVlKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjog
VHlwZSBlcnJvci4KLVBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1D
QkMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBudWxsKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFR5cGVFcnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdjcnlwdG8u
c3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiQUVTLUNCQyIsIGxlbmd0aDogMTI4fSwgZXh0cmFj
dGFibGUsIG51bGwpJykuCi1QQVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJB
RVMtQ0JDIiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgdW5kZWZpbmVkKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJBRVMtQ0JDIiwgbGVuZ3Ro
OiAxMjh9LCBleHRyYWN0YWJsZSwgdW5kZWZpbmVkKScpLgotUEFTUyBjcnlwdG8uc3VidGxlLmdl
bmVyYXRlS2V5KHtuYW1lOiAiQUVTLUNCQyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFN5
bWJvbCgpKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BB
U1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEy
OH0sIGV4dHJhY3RhYmxlLCAzKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVmFs
dWUgaXMgbm90IGEgc2VxdWVuY2UuCitQQVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25h
bWU6ICJBRVMtQ0JDIiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgdHJ1ZSkgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFZhbHVlIGlzIG5vdCBhIHNlcXVlbmNlLgorUEFTUyBj
cnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiQUVTLUNCQyIsIGxlbmd0aDogMTI4fSwg
ZXh0cmFjdGFibGUsIG51bGwpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBWYWx1
ZSBpcyBub3QgYSBzZXF1ZW5jZS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFt
ZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCB1bmRlZmluZWQpIHJlamVj
dGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBWYWx1ZSBpcyBub3QgYSBzZXF1ZW5jZS4KK1BB
U1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEy
OH0sIGV4dHJhY3RhYmxlLCBTeW1ib2woKSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJy
b3I6IFZhbHVlIGlzIG5vdCBhIHNlcXVlbmNlLgogUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRl
S2V5KHtuYW1lOiAiQUVTLUNCQyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIHsgfSkgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIGNyeXB0by5z
dWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJBRVMtQ0JDIiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0
YWJsZSwgImZvbyIpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBJbnZhbGlkIEtl
eVVzYWdlcy4KLVBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1DQkMi
LCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbImZvbyJdKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFR5cGVFcnJvcjogSW52YWxpZCBLZXlVc2FnZXMuCitQQVNTIGNyeXB0by5zdWJ0bGUuZ2Vu
ZXJhdGVLZXkoe25hbWU6ICJBRVMtQ0JDIiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgImZv
byIpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBWYWx1ZSBpcyBub3QgYSBzZXF1
ZW5jZS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogIkFFUy1DQkMiLCBs
ZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbImZvbyJdKSByZWplY3RlZCBwcm9taXNlICB3aXRo
IFR5cGVFcnJvcjogVHlwZSBlcnJvci4KIFBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7
bmFtZTogIkFFUy1DQkMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbIF0pIHJlamVjdGVk
IHByb21pc2UgIHdpdGggU3ludGF4RXJyb3IgKERPTSBFeGNlcHRpb24gMTIpOiBBIHJlcXVpcmVk
IHBhcmFtZXRlciB3YXMgbWlzc2luZyBvciBvdXQtb2YtcmFuZ2UuCiBQQVNTIGNyeXB0by5zdWJ0
bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJSU0FFUy1QS0NTMS12MV81IiwgbW9kdWx1c0xlbmd0aDog
MjA0OCwgcHVibGljRXhwb25lbnQ6IG5ldyBVaW50OEFycmF5KFsweDAxLCAweDAwLCAweDAxXSl9
LCBleHRyYWN0YWJsZSwgWyBdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFN5bnRheEVycm9yIChE
T00gRXhjZXB0aW9uIDEyKTogQSByZXF1aXJlZCBwYXJhbWV0ZXIgd2FzIG1pc3Npbmcgb3Igb3V0
LW9mLXJhbmdlLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaW1wb3J0LWtleS1tYWxm
b3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKaW5kZXggNjljNGI4NzVmMzg5MjJiMzRiMGNi
OWNlMWFmY2RiZTgxY2VlOWY1NC4uMmNhN2Y5NzNmZDdmZTJhZjYyYjM2OGUwZGUwMTlmY2QwNTMx
OTY5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9pbXBvcnQta2V5LW1h
bGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2ltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0z
Niw3ICszNiw3IEBAIFBBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIG51bGwsICJh
ZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkCiBQQVNTIGNyeXB0by5zdWJ0bGUu
aW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsgXSkgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBTeW50YXhFcnJvciAoRE9NIEV4Y2VwdGlvbiAxMik6IEEgcmVx
dWlyZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIG91dC1vZi1yYW5nZS4KIFBBU1MgY3J5cHRv
LnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIGp3a1ByaXZhdGVLZXksICJyc2Flcy1wa2NzMS12MV81
IiwgZXh0cmFjdGFibGUsIFsgXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBTeW50YXhFcnJvciAo
RE9NIEV4Y2VwdGlvbiAxMik6IEEgcmVxdWlyZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIG91
dC1vZi1yYW5nZS4KIFBBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6IHVu
ZGVmaW5lZH0sICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0Iiwg
IndyYXBLZXkiLCAidW53cmFwS2V5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9y
OiBNZW1iZXIgSnNvbldlYktleS5rdHkgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgRE9NU3RyaW5nLgotUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0
eTogIm9jdCIsIGtleV9vcHM6IFsiZm9vIl19LCAiYWVzLWNiYyIsIGV4dHJhY3RhYmxlLCBbImVu
Y3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogSW52YWxpZCBrZXlfb3BzLgorUEFTUyBjcnlwdG8uc3VidGxl
LmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGtleV9vcHM6IFsiZm9vIl19LCAiYWVzLWNi
YyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3Jh
cEtleSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQo=
</data>
<flag name="review"
          id="317138"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>