<?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>234281</bug_id>
          
          <creation_ts>2021-12-13 17:36:36 -0800</creation_ts>
          <short_desc>PCM: Remove old DB update and migration code, and add a unit test for destination token DB columns</short_desc>
          <delta_ts>2021-12-15 13:13:39 -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>WebKit 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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=234335</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Wilander">wilander</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>achristensen</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1823852</commentid>
    <comment_count>0</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-12-13 17:36:36 -0800</bug_when>
    <thetext>WebKit::Database::needsUpdatedSchema() has a comment saying it should be removed late 2021. WebKit::DatabaseUtilities::migrateDataToNewTablesIfNecessary() returns directly if WebKit::Database::needsUpdatedSchema() returns false so WebKit::DatabaseUtilities::migrateDataToNewTablesIfNecessary() should be removed at the same time. Likewise the static WebKit::insertDistinctValuesInTableStatement() in DatabaseUtilities.cpp will no longer be needed.

We should also add a unit test for the new columns for attributed measurements with destination tokens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823853</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-13 17:37:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/86443135&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823857</commentid>
    <comment_count>2</comment_count>
      <attachid>447089</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-12-13 17:47:11 -0800</bug_when>
    <thetext>Created attachment 447089
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823863</commentid>
    <comment_count>3</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-12-13 18:08:29 -0800</bug_when>
    <thetext>Thanks, Alex! I&apos;ll wait for Kate to comment before landing since this patch removes a bunch of code she wrote.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823865</commentid>
    <comment_count>4</comment_count>
      <attachid>447089</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-12-13 18:11:13 -0800</bug_when>
    <thetext>Comment on attachment 447089
Patch

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

I&apos;m still a bit fuzzy on what was causing the crash and how this will fix it.

&gt; Source/WebKit/NetworkProcess/DatabaseUtilities.cpp:-274
&gt; -void DatabaseUtilities::migrateDataToNewTablesIfNecessary()

Please keep this for ITP. It has shipped with schema changes and therefore needs migration code. PCM schema changes did not ship which is why it is OK to remove them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823867</commentid>
    <comment_count>5</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-12-13 18:22:24 -0800</bug_when>
    <thetext>(In reply to Kate Cheney from comment #4)
&gt; Comment on attachment 447089 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=447089&amp;action=review
&gt; 
&gt; I&apos;m still a bit fuzzy on what was causing the crash and how this will fix it.

Agreed. Error message at the failed assertion was &quot;DatabaseUtilities::migrateDataToNewTablesIfNecessary failed to rename table, error message: There is already another table or index with this name: _UnattributedPrivateClickMeasurement.&quot;

&gt; &gt; Source/WebKit/NetworkProcess/DatabaseUtilities.cpp:-274
&gt; &gt; -void DatabaseUtilities::migrateDataToNewTablesIfNecessary()
&gt; 
&gt; Please keep this for ITP. It has shipped with schema changes and therefore
&gt; needs migration code. PCM schema changes did not ship which is why it is OK
&gt; to remove them.

Aha! Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823884</commentid>
    <comment_count>6</comment_count>
      <attachid>447099</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-12-13 20:13:17 -0800</bug_when>
    <thetext>Created attachment 447099
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823885</commentid>
    <comment_count>7</comment_count>
      <attachid>447099</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-12-13 20:13:44 -0800</bug_when>
    <thetext>Comment on attachment 447099
Patch

Waiting for green EWS before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823918</commentid>
    <comment_count>8</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-12-13 23:50:19 -0800</bug_when>
    <thetext>mac-AS-debug-wk2 layout test failure is unrelated. ios-wk2 far behind and hasn&apos;t even started. api-ios is &gt;50 minutes into running tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823919</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-13 23:57:53 -0800</bug_when>
    <thetext>Committed r287013 (245218@main): &lt;https://commits.webkit.org/245218@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447099.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823974</commentid>
    <comment_count>10</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-12-14 05:59:19 -0800</bug_when>
    <thetext>(In reply to John Wilander from comment #5)
&gt; (In reply to Kate Cheney from comment #4)
&gt; &gt; Comment on attachment 447089 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=447089&amp;action=review
&gt; &gt; 
&gt; &gt; I&apos;m still a bit fuzzy on what was causing the crash and how this will fix it.
&gt; 
&gt; Agreed. Error message at the failed assertion was
&gt; &quot;DatabaseUtilities::migrateDataToNewTablesIfNecessary failed to rename
&gt; table, error message: There is already another table or index with this
&gt; name: _UnattributedPrivateClickMeasurement.&quot;
&gt; 

This doesn&apos;t really address the root cause of the problem, which is that data migration failed to delete the altered tables at some point and then when trying again it crashes when it finds the existing tables. Instead this just leaves those altered tables around and stops migration. But I guess since existing tests are passing it&apos;s probably not a bug with ITP and this will be sufficient. 

One thing we could do to make this more robust in the future is check if any tables exist that we don&apos;t expect and delete them.

&gt; &gt; &gt; Source/WebKit/NetworkProcess/DatabaseUtilities.cpp:-274
&gt; &gt; &gt; -void DatabaseUtilities::migrateDataToNewTablesIfNecessary()
&gt; &gt; 
&gt; &gt; Please keep this for ITP. It has shipped with schema changes and therefore
&gt; &gt; needs migration code. PCM schema changes did not ship which is why it is OK
&gt; &gt; to remove them.
&gt; 
&gt; Aha! Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824516</commentid>
    <comment_count>11</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2021-12-15 13:13:39 -0800</bug_when>
    <thetext>Rebaselined tests for iOS in https://trac.webkit.org/changeset/287102/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447089</attachid>
            <date>2021-12-13 17:47:11 -0800</date>
            <delta_ts>2021-12-13 20:13:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234281-20211213174710.patch</filename>
            <type>text/plain</type>
            <size>28807</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2OTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDExMTc3NTA3MWUyNDg5NDU4
NmQ3MmM0MzQ4YWVhYjhhNzE1NDdlNzQuLjc2MDM2Nzc0NGQ4ZmE1MWI5OTJlYWRmYTA0NjlhMWYy
Yjg5NWY3NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjEtMTItMTMgIEpvaG4gV2ls
YW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUENNOiBSZW1vdmUgb2xkIERC
IHVwZGF0ZSBhbmQgbWlncmF0aW9uIGNvZGUsIGFuZCBhZGQgYSB1bml0IHRlc3QgZm9yIGRlc3Rp
bmF0aW9uIHRva2VuIERCIGNvbHVtbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNDI4MQorICAgICAgICA8cmRhcjovLzg2MzQ3NDM5PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5ldyB1bml0L0FQSSB0
ZXN0IFByaXZhdGVDbGlja01lYXN1cmVtZW50Lk1pZ3JhdGVXaXRoRGVzdGluYXRpb25Ub2tlbiBh
ZGRlZC4KKworICAgICAgICBXZWJLaXQ6OkRhdGFiYXNlOjpuZWVkc1VwZGF0ZWRTY2hlbWEoKSBo
YXMgYSBjb21tZW50IHNheWluZyBpdCBzaG91bGQgYmUgcmVtb3ZlZCBsYXRlIDIwMjEuCisgICAg
ICAgIFdlYktpdDo6RGF0YWJhc2VVdGlsaXRpZXM6Om1pZ3JhdGVEYXRhVG9OZXdUYWJsZXNJZk5l
Y2Vzc2FyeSgpIHJldHVybnMgZGlyZWN0bHkgaWYKKyAgICAgICAgV2ViS2l0OjpEYXRhYmFzZTo6
bmVlZHNVcGRhdGVkU2NoZW1hKCkgcmV0dXJucyBmYWxzZSBzbworICAgICAgICBXZWJLaXQ6OkRh
dGFiYXNlVXRpbGl0aWVzOjptaWdyYXRlRGF0YVRvTmV3VGFibGVzSWZOZWNlc3NhcnkoKSBjYW4g
YmUgcmVtb3ZlZCBhdCB0aGUgc2FtZQorICAgICAgICB0aW1lLiBMaWtld2lzZSB0aGUgc3RhdGlj
IFdlYktpdDo6aW5zZXJ0RGlzdGluY3RWYWx1ZXNJblRhYmxlU3RhdGVtZW50KCkgaW4KKyAgICAg
ICAgRGF0YWJhc2VVdGlsaXRpZXMuY3BwIGlzIG5vIGxvbmdlciBuZWVkZWQuCisKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFz
ZVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFi
YXNlU3RvcmU6Om9wZW5BbmRVcGRhdGVTY2hlbWFJZk5lY2Vzc2FyeSk6CisgICAgICAgICAgICBO
byBsb25nZXIgY2FsbHMgdGhlIGRlbGV0ZWQgRGF0YWJhc2VVdGlsaXRpZXM6Om1pZ3JhdGVEYXRh
VG9OZXdUYWJsZXNJZk5lY2Vzc2FyeSgpLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0RhdGFi
YXNlVXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6aW5zZXJ0RGlzdGluY3RWYWx1ZXNJ
blRhYmxlU3RhdGVtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6RGF0YWJhc2VVdGls
aXRpZXM6Om1pZ3JhdGVEYXRhVG9OZXdUYWJsZXNJZk5lY2Vzc2FyeSk6IERlbGV0ZWQuCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvRGF0YWJhc2VVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dERhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UENNOjpEYXRhYmFzZTo6RGF0YWJhc2Up
OgorICAgICAgICAgICAgTm8gbG9uZ2VyIGNhbGxzIHRoZSBkZWxldGVkIERhdGFiYXNlVXRpbGl0
aWVzOjptaWdyYXRlRGF0YVRvTmV3VGFibGVzSWZOZWNlc3NhcnkoKS4KKyAgICAgICAgKFdlYktp
dDo6UENNOjpEYXRhYmFzZTo6YXR0cmlidXRpb25Ub1N0cmluZ0ZvclRlc3RpbmcgY29uc3QpOgor
ICAgICAgICAgICAgTm93IG91dHB1dHMgZGVzdGluYXRpb24gdG9rZW4gaW5mby4KKyAgICAgICAg
KFdlYktpdDo6UENNOjpEYXRhYmFzZTo6bmVlZHNVcGRhdGVkU2NoZW1hKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudERhdGFiYXNlLmg6CisKIDIwMjEtMTItMTMgIEpvb25naHVuIFBhcmsgIDxq
aDcxOC5wYXJrQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZpeCBidWlsZCBl
cnJvciBzaW5jZSByMjg2OTQ2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGF0YWJhc2VTdG9yZS5jcHAKaW5kZXggMzU1YmI4NGZjYmE3ZDZlYWJhYTk3NTIwMjI3
NmJlOWFiM2U2ZmZiNy4uZWE2Y2M3NDI4YmY0MDE1NDAwOTI0ZmNiY2ZhZTQ2MjEyN2NjOGVhOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3Rv
cmUuY3BwCkBAIC01MzUsNyArNTM1LDYgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0
YWJhc2VTdG9yZTo6b3BlbkFuZFVwZGF0ZVNjaGVtYUlmTmVjZXNzYXJ5KCkKICAgICB9CiAKICAg
ICBtaWdyYXRlRGF0YVRvUENNRGF0YWJhc2VJZk5lY2Vzc2FyeSgpOwotICAgIG1pZ3JhdGVEYXRh
VG9OZXdUYWJsZXNJZk5lY2Vzc2FyeSgpOwogfQogCiB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NEYXRhYmFzZVN0b3JlOjppbnRlcnJ1cHRBbGxEYXRhYmFzZXMoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9EYXRhYmFzZVV0aWxpdGllcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL0RhdGFiYXNlVXRpbGl0aWVzLmNwcAppbmRleCA2ZTMwMjU3
MTc4MDU1ZjcxMDBkYTUyZGI5MGNiNGJhMTBlMWJlY2M4Li5hODNkYmQzYmYyNzM2NzlkMjE5YzEz
ODlmMDFmZGE2YjMwNmNhMTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0RhdGFiYXNlVXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0RhdGFiYXNlVXRpbGl0aWVzLmNwcApAQCAtMjU0LDY4ICsyNTQsNCBAQCBUYWJsZUFuZElu
ZGV4UGFpciBEYXRhYmFzZVV0aWxpdGllczo6Y3VycmVudFRhYmxlQW5kSW5kZXhRdWVyaWVzKGNv
bnN0IFN0cmluZyYgdAogICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcjxTdHJpbmcsIHN0ZDo6b3B0
aW9uYWw8U3RyaW5nPj4oV1RGTW92ZShjcmVhdGVUYWJsZVF1ZXJ5KSwgV1RGTW92ZShpbmRleCkp
OwogfQogCi1zdGF0aWMgRXhwZWN0ZWQ8V2ViQ29yZTo6U1FMaXRlU3RhdGVtZW50LCBpbnQ+IGlu
c2VydERpc3RpbmN0VmFsdWVzSW5UYWJsZVN0YXRlbWVudChXZWJDb3JlOjpTUUxpdGVEYXRhYmFz
ZSYgZGF0YWJhc2UsIGNvbnN0IFN0cmluZyYgdGFibGUpCi17Ci0gICAgaWYgKHRhYmxlID09ICJT
dWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zIikKLSAgICAgICAgcmV0dXJuIGRhdGFiYXNlLnBy
ZXBhcmVTdGF0ZW1lbnQoIklOU0VSVCBJTlRPIFN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnMg
U0VMRUNUIHN1YkZyYW1lRG9tYWluSUQsIE1BWChsYXN0VXBkYXRlZCksIHRvcEZyYW1lRG9tYWlu
SUQgRlJPTSBfU3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyBHUk9VUCBCWSBzdWJGcmFtZURv
bWFpbklELCB0b3BGcmFtZURvbWFpbklEIl9zKTsKLQotICAgIGlmICh0YWJsZSA9PSAiU3VicmVz
b3VyY2VVbmRlclRvcEZyYW1lRG9tYWlucyIpCi0gICAgICAgIHJldHVybiBkYXRhYmFzZS5wcmVw
YXJlU3RhdGVtZW50KCJJTlNFUlQgSU5UTyBTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5z
IFNFTEVDVCBzdWJyZXNvdXJjZURvbWFpbklELCBNQVgobGFzdFVwZGF0ZWQpLCB0b3BGcmFtZURv
bWFpbklEIEZST00gX1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnMgR1JPVVAgQlkgc3Vi
cmVzb3VyY2VEb21haW5JRCwgdG9wRnJhbWVEb21haW5JRCJfcyk7Ci0KLSAgICBpZiAodGFibGUg
PT0gIlN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG8iKQotICAgICAgICByZXR1cm4gZGF0YWJh
c2UucHJlcGFyZVN0YXRlbWVudCgiSU5TRVJUIElOVE8gU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dHNUbyBTRUxFQ1Qgc3VicmVzb3VyY2VEb21haW5JRCwgTUFYKGxhc3RVcGRhdGVkKSwgdG9Eb21h
aW5JRCBGUk9NIF9TdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvIEdST1VQIEJZIHN1YnJlc291
cmNlRG9tYWluSUQsIHRvRG9tYWluSUQiX3MpOwotCi0gICAgaWYgKHRhYmxlID09ICJUb3BGcmFt
ZUxpbmtEZWNvcmF0aW9uc0Zyb20iKQotICAgICAgICByZXR1cm4gZGF0YWJhc2UucHJlcGFyZVN0
YXRlbWVudCgiSU5TRVJUIElOVE8gVG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tIFNFTEVDVCB0
b0RvbWFpbklELCBNQVgobGFzdFVwZGF0ZWQpLCBmcm9tRG9tYWluSUQgRlJPTSBfVG9wRnJhbWVM
aW5rRGVjb3JhdGlvbnNGcm9tIEdST1VQIEJZIHRvRG9tYWluSUQsIGZyb21Eb21haW5JRCJfcyk7
Ci0KLSAgICByZXR1cm4gZGF0YWJhc2UucHJlcGFyZVN0YXRlbWVudFNsb3cobWFrZVN0cmluZygi
SU5TRVJUIElOVE8gIiwgdGFibGUsICIgU0VMRUNUIERJU1RJTkNUICogRlJPTSBfIiwgdGFibGUp
KTsKLX0KLQotdm9pZCBEYXRhYmFzZVV0aWxpdGllczo6bWlncmF0ZURhdGFUb05ld1RhYmxlc0lm
TmVjZXNzYXJ5KCkKLXsKLSAgICBpZiAoIW5lZWRzVXBkYXRlZFNjaGVtYSgpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBhdXRvIHRyYW5zYWN0aW9uU2NvcGUgPSBiZWdpblRyYW5zYWN0aW9uSWZO
ZWNlc3NhcnkoKTsKLQotICAgIGZvciAoYXV0byYgdGFibGUgOiBleHBlY3RlZFRhYmxlQW5kSW5k
ZXhRdWVyaWVzKCkua2V5cygpKSB7Ci0gICAgICAgIGF1dG8gYWx0ZXJUYWJsZSA9IG1fZGF0YWJh
c2UucHJlcGFyZVN0YXRlbWVudFNsb3cobWFrZVN0cmluZygiQUxURVIgVEFCTEUgIiwgdGFibGUs
ICIgUkVOQU1FIFRPIF8iLCB0YWJsZSkpOwotICAgICAgICBpZiAoIWFsdGVyVGFibGUgfHwgYWx0
ZXJUYWJsZS0+c3RlcCgpICE9IFNRTElURV9ET05FKSB7Ci0gICAgICAgICAgICBSRUxFQVNFX0xP
R19FUlJPUihQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgIiVwIC0gRGF0YWJhc2VVdGlsaXRpZXM6
Om1pZ3JhdGVEYXRhVG9OZXdUYWJsZXNJZk5lY2Vzc2FyeSBmYWlsZWQgdG8gcmVuYW1lIHRhYmxl
LCBlcnJvciBtZXNzYWdlOiAlcyIsIHRoaXMsIG1fZGF0YWJhc2UubGFzdEVycm9yTXNnKCkpOwot
ICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoIWNyZWF0ZVNjaGVtYSgpKSB7Ci0gICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gTWFp
bnRhaW4gdGhlIG9yZGVyIG9mIHRhYmxlcyB0byBtYWtlIHN1cmUgdGhlIE9ic2VydmVkRG9tYWlu
cyB0YWJsZSBpcyBjcmVhdGVkIGZpcnN0LiBPdGhlciB0YWJsZXMgaGF2ZSBmb3JlaWduIGtleSBj
b25zdHJhaW50cyByZWZlcmVuY2luZyBpdC4KLSAgICBmb3IgKGF1dG8mIHRhYmxlIDogc29ydGVk
VGFibGVzKCkpIHsKLSAgICAgICAgYXV0byBtaWdyYXRlVGFibGVEYXRhID0gaW5zZXJ0RGlzdGlu
Y3RWYWx1ZXNJblRhYmxlU3RhdGVtZW50KG1fZGF0YWJhc2UsIHRhYmxlKTsKLSAgICAgICAgaWYg
KCFtaWdyYXRlVGFibGVEYXRhIHx8IG1pZ3JhdGVUYWJsZURhdGEtPnN0ZXAoKSAhPSBTUUxJVEVf
RE9ORSkgewotICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQsICIlcCAtIERhdGFiYXNlVXRpbGl0aWVzOjptaWdyYXRlRGF0YVRvTmV3VGFibGVzSWZO
ZWNlc3NhcnkgKHRhYmxlICVzKSBmYWlsZWQgdG8gbWlncmF0ZSBzY2hlbWEsIGVycm9yIG1lc3Nh
Z2U6ICVzIiwgdGhpcywgdGFibGUuY2hhcmFjdGVycygpLCBtX2RhdGFiYXNlLmxhc3RFcnJvck1z
ZygpKTsKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgLy8gRHJvcCBhbGwgdGFibGVzIGF0IHRoZSBl
bmQgdG8gYXZvaWQgdHJhc2hpbmcgZGF0YSB0aGF0IHJlZmVyZW5jZXMgZGF0YSBpbiBvdGhlciB0
YWJsZXMuCi0gICAgZm9yIChhdXRvJiB0YWJsZSA6IHNvcnRlZFRhYmxlcygpKSB7Ci0gICAgICAg
IGF1dG8gZHJvcFRhYmxlUXVlcnkgPSBtX2RhdGFiYXNlLnByZXBhcmVTdGF0ZW1lbnRTbG93KG1h
a2VTdHJpbmcoIkRST1AgVEFCTEUgXyIsIHRhYmxlKSk7Ci0gICAgICAgIGlmICghZHJvcFRhYmxl
UXVlcnkgfHwgZHJvcFRhYmxlUXVlcnktPnN0ZXAoKSAhPSBTUUxJVEVfRE9ORSkgewotICAgICAg
ICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsICIlcCAtIERh
dGFiYXNlVXRpbGl0aWVzOjptaWdyYXRlRGF0YVRvTmV3VGFibGVzSWZOZWNlc3NhcnkgZmFpbGVk
IHRvIGRyb3AgdGVtcG9yYXJ5IHRhYmxlcywgZXJyb3IgbWVzc2FnZTogJXMiLCB0aGlzLCBtX2Rh
dGFiYXNlLmxhc3RFcnJvck1zZygpKTsKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKCFjcmVh
dGVVbmlxdWVJbmRpY2VzKCkpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQsICIlcCAtIERhdGFiYXNlVXRpbGl0aWVzOjptaWdyYXRlRGF0YVRvTmV3
VGFibGVzSWZOZWNlc3NhcnkgZmFpbGVkIHRvIGNyZWF0ZSB1bmlxdWUgaW5kaWNlcywgZXJyb3Ig
bWVzc2FnZTogJXMiLCB0aGlzLCBtX2RhdGFiYXNlLmxhc3RFcnJvck1zZygpKTsKLSAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgfQotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRGF0YWJhc2VVdGlsaXRp
ZXMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRGF0YWJhc2VVdGlsaXRpZXMuaApp
bmRleCA0YzU5NTUwYjhkMTFiOTZlZDc3YjJiYjFkYTYzMjNjZjcxMTJmZjY2Li5kOTQyYmFlZDQ0
MmQ1MTRmYWM3M2QzNjY3NGY0ZTY2ZjA1NzI2YTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL0RhdGFiYXNlVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9EYXRhYmFzZVV0aWxpdGllcy5oCkBAIC02Myw3ICs2Myw2IEBAIHByb3Rl
Y3RlZDoKICAgICB2aXJ0dWFsIFNwYW48Y29uc3QgQVNDSUlMaXRlcmFsPiBzb3J0ZWRUYWJsZXMo
KSA9IDA7CiAgICAgVGFibGVBbmRJbmRleFBhaXIgY3VycmVudFRhYmxlQW5kSW5kZXhRdWVyaWVz
KGNvbnN0IFN0cmluZyYpOwogICAgIFN0cmluZyBzdHJpcEluZGV4UXVlcnlUb01hdGNoU3RvcmVk
VmFsdWUoY29uc3QgY2hhciogb3JpZ2luYWxRdWVyeSk7Ci0gICAgdm9pZCBtaWdyYXRlRGF0YVRv
TmV3VGFibGVzSWZOZWNlc3NhcnkoKTsKIAogICAgIFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1
cmVtZW50IGJ1aWxkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRGcm9tRGF0YWJhc2UoV2ViQ29yZTo6
U1FMaXRlU3RhdGVtZW50JiwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblR5cGUp
IGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZh
dGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50RGF0YWJhc2UuY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudERhdGFiYXNlLmNwcAppbmRleCAwY2FhODcxMjlkNDg4OWNmZTU1
OWQ0ODZlN2NmYjRkYmJlOTcxMTEyLi43YTJjODUwZDE5NmIzZjZlNzUyOWYyMWMyZjBhYzEzZWQz
OGZhNjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVD
bGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50RGF0YWJhc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnREYXRhYmFzZS5jcHAKQEAgLTg4LDcgKzg4LDYgQEAgRGF0YWJh
c2U6OkRhdGFiYXNlKGNvbnN0IFN0cmluZyYgc3RvcmFnZURpcmVjdG9yeSkKICAgICBvcGVuRGF0
YWJhc2VBbmRDcmVhdGVTY2hlbWFJZk5lY2Vzc2FyeSgpOwogICAgIGVuYWJsZUZvcmVpZ25LZXlz
KCk7CiAgICAgYWRkRGVzdGluYXRpb25Ub2tlbkNvbHVtbnNJZk5lY2Vzc2FyeSgpOwotICAgIG1p
Z3JhdGVEYXRhVG9OZXdUYWJsZXNJZk5lY2Vzc2FyeSgpOwogICAgIGFsbERhdGFiYXNlcygpLmFk
ZCh0aGlzKTsKIH0KIApAQCAtNDQ5LDYgKzQ0OCwxMiBAQCBTdHJpbmcgRGF0YWJhc2U6OmF0dHJp
YnV0aW9uVG9TdHJpbmdGb3JUZXN0aW5nKGNvbnN0IFdlYkNvcmU6OlByaXZhdGVDbGlja01lYXN1
cgogICAgICAgICAgICAgYXV0byBzZWNvbmRzVW50aWxTZW5kID0gKmVhcmxpZXN0VGltZVRvU2Vu
ZCAtIFdhbGxUaW1lOjpub3coKTsKICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKChzZWNvbmRz
VW50aWxTZW5kID49IDI0X2ggJiYgc2Vjb25kc1VudGlsU2VuZCA8PSA0OF9oKSA/ICJXaXRoaW4g
MjQtNDggaG91cnMiIDogIk91dHNpZGUgMjQtNDggaG91cnMiKTsKICAgICAgICAgfQorCisgICAg
ICAgIGJ1aWxkZXIuYXBwZW5kKCJcbkRlc3RpbmF0aW9uIHRva2VuOiAiKTsKKyAgICAgICAgaWYg
KCF0cmlnZ2VyRGF0YS0+ZGVzdGluYXRpb25TZWNyZXRUb2tlbikKKyAgICAgICAgICAgIGJ1aWxk
ZXIuYXBwZW5kKCJOb3Qgc2V0Iik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGJ1aWxkZXIu
YXBwZW5kKCJcbnRva2VuOiAiLCB0cmlnZ2VyRGF0YS0+ZGVzdGluYXRpb25TZWNyZXRUb2tlbi0+
dG9rZW5CYXNlNjRVUkwsICJcbnNpZ25hdHVyZTogIiwgdHJpZ2dlckRhdGEtPmRlc3RpbmF0aW9u
U2VjcmV0VG9rZW4tPnNpZ25hdHVyZUJhc2U2NFVSTCwgIlxua2V5OiAiLCB0cmlnZ2VyRGF0YS0+
ZGVzdGluYXRpb25TZWNyZXRUb2tlbi0+a2V5SURCYXNlNjRVUkwpOwogICAgIH0gZWxzZQogICAg
ICAgICBidWlsZGVyLmFwcGVuZCgiXG5ObyBhdHRyaWJ1dGlvbiB0cmlnZ2VyIGRhdGEuIik7CiAg
ICAgYnVpbGRlci5hcHBlbmQoIlxuQXBwbGljYXRpb24gYnVuZGxlIGlkZW50aWZpZXI6ICIsIHBj
bS5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlEKCksICdcbicpOwpAQCAtNzE2LDE3ICs3MjEsNiBA
QCB2b2lkIERhdGFiYXNlOjphZGREZXN0aW5hdGlvblRva2VuQ29sdW1uc0lmTmVjZXNzYXJ5KCkK
ICAgICB9CiB9CiAKLWJvb2wgRGF0YWJhc2U6Om5lZWRzVXBkYXRlZFNjaGVtYSgpCi17Ci0gICAg
Ly8gRklYTUU6IFJlbW92ZSB0aGlzIGF0IHRoZSBlbmQgb2YgMjAyMS4gTm8gcHVibGljIHJlbGVh
c2Ugd2FzIG1hZGUgd2l0aCB0aGUgc2NoZW1hIG1pc3Npbmcgc291cmNlQXBwbGljYXRpb25CdW5k
bGVJRCwgc28gdGhpcyBpcyBvbmx5IG5lZWRlZCB0byBtaWdyYXRlIGludGVybmFsIHVzZXJzIHdo
byB1cGRhdGVkIGluIFNlcHRlbWJlciAyMDIxLgotICAgIGZvciAoYXV0byYgdGFibGUgOiBleHBl
Y3RlZFRhYmxlQW5kSW5kZXhRdWVyaWVzKCkua2V5cygpKSB7Ci0gICAgICAgIGlmIChjdXJyZW50
VGFibGVBbmRJbmRleFF1ZXJpZXModGFibGUpICE9IGV4cGVjdGVkVGFibGVBbmRJbmRleFF1ZXJp
ZXMoKS5nZXQodGFibGUpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAg
cmV0dXJuIGZhbHNlOwotfQotCiBWZWN0b3I8U3RyaW5nPiBEYXRhYmFzZTo6Y29sdW1uc0ZvclRh
YmxlKGNvbnN0IFN0cmluZyYgdGFibGVOYW1lKQogewogICAgIGF1dG8gc3RhdGVtZW50ID0gbV9k
YXRhYmFzZS5wcmVwYXJlU3RhdGVtZW50U2xvdyhtYWtlU3RyaW5nKCJQUkFHTUEgdGFibGVfaW5m
bygiLCB0YWJsZU5hbWUsICIpIikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudERh
dGFiYXNlLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1
cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50RGF0YWJhc2UuaAppbmRleCAxZmNlNjVhZGFj
Zjc1ZWE1ZWM1YWViYTdlMjFlYzVkOTM5OGRhZTk3Li4yZmI3ZDI1NjllZDM4YTU4MjM4YTI4MDBl
ZTI0OGI1N2Y0ZTZkN2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50RGF0YWJhc2Uu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50RGF0YWJhc2UuaApAQCAtNzcsNyArNzcsNyBAQCBw
cml2YXRlOgogICAgIFN0cmluZyBnZXREb21haW5TdHJpbmdGcm9tRG9tYWluSUQoRG9tYWluSUQp
IGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCBhZGREZXN0aW5hdGlvblRva2VuQ29sdW1uc0lmTmVj
ZXNzYXJ5KCk7Ci0gICAgYm9vbCBuZWVkc1VwZGF0ZWRTY2hlbWEoKSBmaW5hbDsKKyAgICBib29s
IG5lZWRzVXBkYXRlZFNjaGVtYSgpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9OwogICAgIGJvb2wg
Y3JlYXRlVW5pcXVlSW5kaWNlcygpIGZpbmFsOwogICAgIGNvbnN0IE1lbW9yeUNvbXBhY3RMb29r
dXBPbmx5Um9iaW5Ib29kSGFzaE1hcDxTdHJpbmcsIFRhYmxlQW5kSW5kZXhQYWlyPiYgZXhwZWN0
ZWRUYWJsZUFuZEluZGV4UXVlcmllcygpIGZpbmFsOwogICAgIFNwYW48Y29uc3QgQVNDSUlMaXRl
cmFsPiBzb3J0ZWRUYWJsZXMoKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3NGM1NjQzY2Q4OTljYTBhYTZiNWUyMWE3ZWY1NmVlZDYz
MTk2MjFlLi4yYjRmYjA1OTlkMWIyMmJmN2NhOWQyNzVjZGFhOWNjYzM1NzA0NzM5IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMjEtMTItMTMgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAg
ICAgICAgUENNOiBSZW1vdmUgb2xkIERCIHVwZGF0ZSBhbmQgbWlncmF0aW9uIGNvZGUsIGFuZCBh
ZGQgYSB1bml0IHRlc3QgZm9yIGRlc3RpbmF0aW9uIHRva2VuIERCIGNvbHVtbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDI4MQorICAgICAgICA8
cmRhcjovLzg2MzQ3NDM5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC5tbToKKyAgICAgICAgKGFkZEF0dHJpYnV0ZWRQQ012NSk6CisgICAgICAgIChw
b2xsVW50aWxQQ01Jc01pZ3JhdGVkKToKKyAgICAgICAgICAgIE5vdyB0YWtlcyBhIHBhcmFtZXRl
ciBVc2luZ0Rlc3RpbmF0aW9uVG9rZW4gYW5kIGhhbmRsZXMgaXRzIGV4cGVjdGF0aW9uCisgICAg
ICAgICAgICBhY2NvcmRpbmdseS4KKyAgICAgICAgKFRFU1QpOgorICAgICAgICAgICAgTmV3IHRl
c3QgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuTWlncmF0ZVdpdGhEZXN0aW5hdGlvblRva2VuLgor
CiAyMDIxLTEyLTEzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBTdGFydCB3ZWJzb2NrZXQgc2VydmVyIGZvciB0ZXN0cyBpbiBodHRwL3Rlc3RzIHRoYXQgaGF2
ZSB3ZWJzb2NrZXQgaW4gdGhlaXIgbmFtZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5tbSBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQubW0K
aW5kZXggYzFkNGUxMGVlOGJhYTcxOTM3MTAxNzQ2NGRkYjdjYjRjYTgxNjFkNS4uMzk1YWNmNGU0
OWU4Y2EzYmJmOTcyOGQ2YTIxOWYwZmZkMTQzZTU3OCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5tbQorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByaXZhdGVDbGlja01lYXN1
cmVtZW50Lm1tCkBAIC0yMDksNiArMjA5LDI3IEBAIHN0YXRpYyB2b2lkIGFkZEF0dHJpYnV0ZWRQ
Q012NChXZWJDb3JlOjpTUUxpdGVEYXRhYmFzZSYgZGF0YWJhc2UpCiAgICAgYWRkVmFsdWVzVG9U
YWJsZTwxMj4oZGF0YWJhc2UsIGluc2VydEF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dFF1ZXJ5VjQsIHsgMSwgMiwgNDIsIDE0LCA3LCAxLjAsIGVhcmxpZXN0VGltZVRvU2VuZCgpLCAi
dGVzdCB0b2tlbiIsICJ0ZXN0IHNpZ25hdHVyZSIsICJ0ZXN0IGtleSBpZCIsIGVhcmxpZXN0VGlt
ZVRvU2VuZCgpLCBidW5kbGVJRCB9KTsKIH0KIAorc3RhdGljIHZvaWQgYWRkQXR0cmlidXRlZFBD
TXY1KFdlYkNvcmU6OlNRTGl0ZURhdGFiYXNlJiBkYXRhYmFzZSkKK3sKKyAgICBjb25zdGV4cHIg
YXV0byBjcmVhdGVBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRWNSA9ICJDUkVBVEUg
VEFCTEUgQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50ICgiCisgICAgICAgICJzb3Vy
Y2VTaXRlRG9tYWluSUQgSU5URUdFUiBOT1QgTlVMTCwgZGVzdGluYXRpb25TaXRlRG9tYWluSUQg
SU5URUdFUiBOT1QgTlVMTCwgc291cmNlSUQgSU5URUdFUiBOT1QgTlVMTCwgIgorICAgICAgICAi
YXR0cmlidXRpb25UcmlnZ2VyRGF0YSBJTlRFR0VSIE5PVCBOVUxMLCBwcmlvcml0eSBJTlRFR0VS
IE5PVCBOVUxMLCB0aW1lT2ZBZENsaWNrIFJFQUwgTk9UIE5VTEwsICIKKyAgICAgICAgImVhcmxp
ZXN0VGltZVRvU2VuZFRvU291cmNlIFJFQUwsIHRva2VuIFRFWFQsIHNpZ25hdHVyZSBURVhULCBr
ZXlJRCBURVhULCBlYXJsaWVzdFRpbWVUb1NlbmRUb0Rlc3RpbmF0aW9uIFJFQUwsIHNvdXJjZUFw
cGxpY2F0aW9uQnVuZGxlSUQgVEVYVCwgZGVzdGluYXRpb25Ub2tlbiwgZGVzdGluYXRpb25TaWdu
YXR1cmUsIGRlc3RpbmF0aW9uS2V5SUQsIgorICAgICAgICAiRk9SRUlHTiBLRVkoc291cmNlU2l0
ZURvbWFpbklEKSBSRUZFUkVOQ0VTIFBDTU9ic2VydmVkRG9tYWlucyhkb21haW5JRCkgT04gREVM
RVRFIENBU0NBREUsIEZPUkVJR04gS0VZKGRlc3RpbmF0aW9uU2l0ZURvbWFpbklEKSBSRUZFUkVO
Q0VTICIKKyAgICAgICAgIlBDTU9ic2VydmVkRG9tYWlucyhkb21haW5JRCkgT04gREVMRVRFIENB
U0NBREUpIl9zOworCisgICAgRVhQRUNUX1RSVUUoZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoY3Jl
YXRlQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50VjUpKTsKKyAgICBjb25zdGV4cHIg
YXV0byBpbnNlcnRBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRRdWVyeVY1ID0gIklO
U0VSVCBPUiBSRVBMQUNFIElOVE8gQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50IChz
b3VyY2VTaXRlRG9tYWluSUQsIGRlc3RpbmF0aW9uU2l0ZURvbWFpbklELCAiCisgICAgICAgICJz
b3VyY2VJRCwgYXR0cmlidXRpb25UcmlnZ2VyRGF0YSwgcHJpb3JpdHksIHRpbWVPZkFkQ2xpY2ss
IGVhcmxpZXN0VGltZVRvU2VuZFRvU291cmNlLCB0b2tlbiwgc2lnbmF0dXJlLCBrZXlJRCwgZWFy
bGllc3RUaW1lVG9TZW5kVG9EZXN0aW5hdGlvbiwgc291cmNlQXBwbGljYXRpb25CdW5kbGVJRCwg
ZGVzdGluYXRpb25Ub2tlbiwgZGVzdGluYXRpb25TaWduYXR1cmUsIGRlc3RpbmF0aW9uS2V5SUQp
IFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPykiX3M7
CisKKyNpZiBQTEFURk9STShNQUMpCisgICAgYXV0byBidW5kbGVJRCA9ICJjb20uYXBwbGUuU2Fm
YXJpIjsKKyNlbHNlCisgICAgYXV0byBidW5kbGVJRCA9ICJjb20uYXBwbGUubW9iaWxlc2FmYXJp
IjsKKyNlbmRpZgorICAgIGFkZFZhbHVlc1RvVGFibGU8MTU+KGRhdGFiYXNlLCBpbnNlcnRBdHRy
aWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRRdWVyeVY1LCB7IDEsIDIsIDQyLCAxNCwgNywg
MS4wLCBlYXJsaWVzdFRpbWVUb1NlbmQoKSwgInRlc3QgdG9rZW4iLCAidGVzdCBzaWduYXR1cmUi
LCAidGVzdCBrZXkgaWQiLCBlYXJsaWVzdFRpbWVUb1NlbmQoKSwgYnVuZGxlSUQsICJ0ZXN0IGRl
c3RpbmF0aW9uIHRva2VuIiwgInRlc3QgZGVzdGluYXRpb24gc2lnbmF0dXJlIiwgInRlc3QgZGVz
dGluYXRpb24ga2V5IGlkIiB9KTsKK30KKwogc3RhdGljIFJldGFpblB0cjxOU1N0cmluZz4gZHVt
cGVkUENNKFdLV2ViVmlldyAqd2ViVmlldykKIHsKICAgICBfX2Jsb2NrIFJldGFpblB0cjxOU1N0
cmluZz4gcGNtOwpAQCAtMjIyLDcgKzI0Myw4IEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNTdHJpbmc+
IGR1bXBlZFBDTShXS1dlYlZpZXcgKndlYlZpZXcpCiB9CiAKIGVudW0gY2xhc3MgTWlncmF0aW5n
RnJvbVJlc291cmNlTG9hZFN0YXRpc3RpY3MgOiBib29sIHsgTm8sIFllcyB9Owotc3RhdGljIHZv
aWQgcG9sbFVudGlsUENNSXNNaWdyYXRlZChXS1dlYlZpZXcgKndlYlZpZXcsIE1pZ3JhdGluZ0Zy
b21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzIG1pZ3JhdGluZ0Zyb21SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzKQorZW51bSBjbGFzcyBVc2luZ0Rlc3RpbmF0aW9uVG9rZW4gOiBib29sIHsgTm8sIFllcyB9
Oworc3RhdGljIHZvaWQgcG9sbFVudGlsUENNSXNNaWdyYXRlZChXS1dlYlZpZXcgKndlYlZpZXcs
IE1pZ3JhdGluZ0Zyb21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzIG1pZ3JhdGluZ0Zyb21SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzLCBVc2luZ0Rlc3RpbmF0aW9uVG9rZW4gdXNpbmdEZXN0aW5hdGlvblRv
a2VuKQogewogICAgIGlmIChtaWdyYXRpbmdGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljcyA9PSBN
aWdyYXRpbmdGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljczo6WWVzKSB7CiAgICAgICAgIC8vIFRo
aXMgcXVlcnkgaXMgdGhlIGZpcnN0IHRoaW5nIHRvIG9wZW4gdGhlIG9sZCBkYXRhYmFzZSwgc28g
bWlncmF0aW9uIGhhcyBub3QgaGFwcGVuZWQgeWV0LgpAQCAtMjUxLDE1ICsyNzMsMjAgQEAgc3Rh
dGljIHZvaWQgcG9sbFVudGlsUENNSXNNaWdyYXRlZChXS1dlYlZpZXcgKndlYlZpZXcsIE1pZ3Jh
dGluZ0Zyb21SZXNvdXJjZUxvYWQKICAgICAgICAgIkF0dHJpYnV0aW9uIHRyaWdnZXIgZGF0YTog
MTRcbiIKICAgICAgICAgIkF0dHJpYnV0aW9uIHByaW9yaXR5OiA3XG4iCiAgICAgICAgICJBdHRy
aWJ1dGlvbiBlYXJsaWVzdCB0aW1lIHRvIHNlbmQ6IE91dHNpZGUgMjQtNDggaG91cnNcbiIKKyAg
ICAgICAgIiI7CisKKyAgICBOU1N0cmluZyAqc3VmZml4ID0gQCJEZXN0aW5hdGlvbiB0b2tlbjog
IjsKKyAgICBzdWZmaXggPSBbc3VmZml4IHN0cmluZ0J5QXBwZW5kaW5nU3RyaW5nOih1c2luZ0Rl
c3RpbmF0aW9uVG9rZW4gPT0gVXNpbmdEZXN0aW5hdGlvblRva2VuOjpObyA/IEAiTm90IHNldFxu
IiA6IEAiXG50b2tlbjogdGVzdCBkZXN0aW5hdGlvbiB0b2tlblxuc2lnbmF0dXJlOiB0ZXN0IGRl
c3RpbmF0aW9uIHNpZ25hdHVyZVxua2V5OiB0ZXN0IGRlc3RpbmF0aW9uIGtleSBpZFxuIildOwog
I2lmIFBMQVRGT1JNKE1BQykKLSAgICAgICAgIkFwcGxpY2F0aW9uIGJ1bmRsZSBpZGVudGlmaWVy
OiBjb20uYXBwbGUuU2FmYXJpXG4iCisgICAgc3VmZml4ID0gW3N1ZmZpeCBzdHJpbmdCeUFwcGVu
ZGluZ1N0cmluZzpAIkFwcGxpY2F0aW9uIGJ1bmRsZSBpZGVudGlmaWVyOiBjb20uYXBwbGUuU2Fm
YXJpXG4iXTsKICNlbHNlCi0gICAgICAgICJBcHBsaWNhdGlvbiBidW5kbGUgaWRlbnRpZmllcjog
Y29tLmFwcGxlLm1vYmlsZXNhZmFyaVxuIgorICAgIHN1ZmZpeCA9IFtzdWZmaXggc3RyaW5nQnlB
cHBlbmRpbmdTdHJpbmc6QCJBcHBsaWNhdGlvbiBidW5kbGUgaWRlbnRpZmllcjogY29tLmFwcGxl
Lm1vYmlsZXNhZmFyaVxuIl07CiAjZW5kaWYKLSAgICAgICAgIiI7CisgICAgZXhwZWN0ZWRNaWdy
YXRlZFBDTURhdGFiYXNlID0gW2V4cGVjdGVkTWlncmF0ZWRQQ01EYXRhYmFzZSBzdHJpbmdCeUFw
cGVuZGluZ1N0cmluZzpzdWZmaXhdOwogCiAgICAgd2hpbGUgKCFbZHVtcGVkUENNKHdlYlZpZXcp
IGlzRXF1YWxUb1N0cmluZzpleHBlY3RlZE1pZ3JhdGVkUENNRGF0YWJhc2VdKQogICAgICAgICB1
c2xlZXAoMTAwMDApOworICAgIEVYUEVDVF9XS19TVFJFUShkdW1wZWRQQ00od2ViVmlldykuZ2V0
KCksIGV4cGVjdGVkTWlncmF0ZWRQQ01EYXRhYmFzZSk7CiB9CiAKIHN0YXRpYyBOU1N0cmluZyAq
ZW1wdHlPYnNlcnZhdGlvbnNEQlBhdGgoKQpAQCAtMzU0LDcgKzM4MSw3IEBAIFRFU1QoUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQsIE1pZ3JhdGVGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljczEpCiB7
CiAgICAgc2V0VXBGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlKGFkZFVuYXR0cmli
dXRlZFBDTXYxLCBhZGRBdHRyaWJ1dGVkUENNdjEpOwogICAgIGF1dG8gd2ViVmlldyA9IHdlYlZp
ZXdXaXRoUmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWRJbk5ldHdvcmtQcm9jZXNzKCk7Ci0g
ICAgcG9sbFVudGlsUENNSXNNaWdyYXRlZCh3ZWJWaWV3LmdldCgpLCBNaWdyYXRpbmdGcm9tUmVz
b3VyY2VMb2FkU3RhdGlzdGljczo6WWVzKTsKKyAgICBwb2xsVW50aWxQQ01Jc01pZ3JhdGVkKHdl
YlZpZXcuZ2V0KCksIE1pZ3JhdGluZ0Zyb21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOjpZZXMsIFVz
aW5nRGVzdGluYXRpb25Ub2tlbjo6Tm8pOwogICAgIGNsZWFuVXAoKTsKIH0KIApAQCAtMzYyLDcg
KzM4OSw3IEBAIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1pZ3JhdGVGcm9tUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljczIpCiB7CiAgICAgc2V0VXBGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0RhdGFiYXNlKGFkZFVuYXR0cmlidXRlZFBDTXYyLCBhZGRBdHRyaWJ1dGVkUENNdjIpOwogICAg
IGF1dG8gd2ViVmlldyA9IHdlYlZpZXdXaXRoUmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWRJ
bk5ldHdvcmtQcm9jZXNzKCk7Ci0gICAgcG9sbFVudGlsUENNSXNNaWdyYXRlZCh3ZWJWaWV3Lmdl
dCgpLCBNaWdyYXRpbmdGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljczo6WWVzKTsKKyAgICBwb2xs
VW50aWxQQ01Jc01pZ3JhdGVkKHdlYlZpZXcuZ2V0KCksIE1pZ3JhdGluZ0Zyb21SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzOjpZZXMsIFVzaW5nRGVzdGluYXRpb25Ub2tlbjo6Tm8pOwogICAgIGNsZWFu
VXAoKTsKIH0KIApAQCAtMzcwLDcgKzM5Nyw3IEBAIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQsIE1pZ3JhdGVGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljczMpCiB7CiAgICAgc2V0VXBGcm9t
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlKGFkZFVuYXR0cmlidXRlZFBDTXYzLCBhZGRB
dHRyaWJ1dGVkUENNdjMpOwogICAgIGF1dG8gd2ViVmlldyA9IHdlYlZpZXdXaXRoUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0VuYWJsZWRJbk5ldHdvcmtQcm9jZXNzKCk7Ci0gICAgcG9sbFVudGlsUENN
SXNNaWdyYXRlZCh3ZWJWaWV3LmdldCgpLCBNaWdyYXRpbmdGcm9tUmVzb3VyY2VMb2FkU3RhdGlz
dGljczo6WWVzKTsKKyAgICBwb2xsVW50aWxQQ01Jc01pZ3JhdGVkKHdlYlZpZXcuZ2V0KCksIE1p
Z3JhdGluZ0Zyb21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOjpZZXMsIFVzaW5nRGVzdGluYXRpb25U
b2tlbjo6Tm8pOwogICAgIGNsZWFuVXAoKTsKIH0KIApAQCAtMzc4LDYgKzQwNSwxNCBAQCBURVNU
KFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNaWdyYXRlRnJvbVBDTTEpCiB7CiAgICAgc2V0VXBG
cm9tUENNRGF0YWJhc2UoYWRkVW5hdHRyaWJ1dGVkUENNdjQsIGFkZEF0dHJpYnV0ZWRQQ012NCk7
CiAgICAgYXV0byB3ZWJWaWV3ID0gd2ViVmlld1dpdGhSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5h
YmxlZEluTmV0d29ya1Byb2Nlc3MoKTsKLSAgICBwb2xsVW50aWxQQ01Jc01pZ3JhdGVkKHdlYlZp
ZXcuZ2V0KCksIE1pZ3JhdGluZ0Zyb21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOjpObyk7CisgICAg
cG9sbFVudGlsUENNSXNNaWdyYXRlZCh3ZWJWaWV3LmdldCgpLCBNaWdyYXRpbmdGcm9tUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljczo6Tm8sIFVzaW5nRGVzdGluYXRpb25Ub2tlbjo6Tm8pOworICAgIGNs
ZWFuVXAoKTsKK30KKworVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWlncmF0ZVdpdGhE
ZXN0aW5hdGlvblRva2VuKQoreworICAgIHNldFVwRnJvbVBDTURhdGFiYXNlKGFkZFVuYXR0cmli
dXRlZFBDTXY0LCBhZGRBdHRyaWJ1dGVkUENNdjUpOworICAgIGF1dG8gd2ViVmlldyA9IHdlYlZp
ZXdXaXRoUmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWRJbk5ldHdvcmtQcm9jZXNzKCk7Cisg
ICAgcG9sbFVudGlsUENNSXNNaWdyYXRlZCh3ZWJWaWV3LmdldCgpLCBNaWdyYXRpbmdGcm9tUmVz
b3VyY2VMb2FkU3RhdGlzdGljczo6Tm8sIFVzaW5nRGVzdGluYXRpb25Ub2tlbjo6WWVzKTsKICAg
ICBjbGVhblVwKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjI2OGE0MTFjMDg2YTU0NmE2ZWRjZWNhMjk1YWI2Mzgy
YzBmNDc0Mi4uNTUwNWM2ZjA4Y2MxMjU1ZTU0ZTA1MmMyMTZjNzk5OTA5OTJiMjkzZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI0IEBACisyMDIxLTEyLTEzICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBw
bGUuY29tPgorCisgICAgICAgIFBDTTogUmVtb3ZlIG9sZCBEQiB1cGRhdGUgYW5kIG1pZ3JhdGlv
biBjb2RlLCBhbmQgYWRkIGEgdW5pdCB0ZXN0IGZvciBkZXN0aW5hdGlvbiB0b2tlbiBEQiBjb2x1
bW5zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQy
ODEKKyAgICAgICAgPHJkYXI6Ly84NjM0NzQzOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSBleHBlY3QgZmlsZXMgYXJlIGp1c3QgdXBkYXRl
ZCB3aXRoIGRlc3RpbmF0aW9uIHRva2VuIGR1bXAgb3V0cHV0LgorCisgICAgICAgICogaHR0cC90
ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91
Z2gtZmV0Y2gta2VlcGFsaXZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3By
aXZhdGVDbGlja01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1pbWFn
ZS1yZWRpcmVjdC1lcGhlbWVyYWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMv
cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdoLWlt
YWdlLXJlZGlyZWN0LWluLW5ldy13aW5kb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAv
dGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJv
dWdoLWltYWdlLXJlZGlyZWN0LXdpdGgtcHJpb3JpdHktZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lv
bi10aHJvdWdoLWltYWdlLXJlZGlyZWN0LXdpdGhvdXQtcHJpb3JpdHktZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2Vjb25kLWF0dHJp
YnV0aW9uLWNvbnZlcnRlZC13aXRoLWhpZ2hlci1wcmlvcml0eS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zZWNvbmQtYXR0cmlidXRp
b24tY29udmVydGVkLXdpdGgtbG93ZXItcHJpb3JpdHktZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2Vjb25kLWNvbnZlcnNpb24td2l0
aC1oaWdoZXItcHJpb3JpdHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2Vjb25kLWNvbnZlcnNpb24td2l0aC1sb3dlci1wcmlvcml0
eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJl
bWVudC90cmlnZ2VyaW5nLWV2ZW50LXdpdGgtYXR0cmlidXRpb24tc291cmNlLXRocm91Z2gtZmV0
Y2gta2VlcGFsaXZlLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0xMi0xMyAgVGltIE5ndXllbiAgPG50
aW1AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBwYWludCBvcmRlciBvZiBDU1MgdGV4dCBkZWNv
cmF0aW9ucwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91Z2gtZmV0Y2gta2VlcGFsaXZl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdoLWZldGNoLWtlZXBhbGl2ZS1leHBl
Y3RlZC50eHQKaW5kZXggN2E5ODhkNGI4MzE1ZjIyMDZhM2RjNGMzODdiMGY2ZWQxOGI5NjlhMi4u
YWVkNDg3NGY0ZDhiMmM2ZWU5Yjc1NmZkMzVkZTgwZmRhMjJkOWI2NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1j
b252ZXJzaW9uLXRocm91Z2gtZmV0Y2gta2VlcGFsaXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNv
bnZlcnNpb24tdGhyb3VnaC1mZXRjaC1rZWVwYWxpdmUtZXhwZWN0ZWQudHh0CkBAIC0xMiw0ICsx
Miw1IEBAIFNvdXJjZSBJRDogMwogQXR0cmlidXRpb24gdHJpZ2dlciBkYXRhOiAxMgogQXR0cmli
dXRpb24gcHJpb3JpdHk6IDAKIEF0dHJpYnV0aW9uIGVhcmxpZXN0IHRpbWUgdG8gc2VuZDogV2l0
aGluIDI0LTQ4IGhvdXJzCitEZXN0aW5hdGlvbiB0b2tlbjogTm90IHNldAogQXBwbGljYXRpb24g
YnVuZGxlIGlkZW50aWZpZXI6IGNvbS5hcHBsZS5XZWJLaXQuV2ViS2l0VGVzdFJ1bm5lcgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9h
dHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91Z2gtaW1hZ2UtcmVkaXJlY3QtZXBoZW1lcmFsLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdoLWltYWdlLXJlZGlyZWN0LWVwaGVtZXJh
bC1leHBlY3RlZC50eHQKaW5kZXggZGU4ZTU0OTAxNWY4MTlhYjY3NTVkNGQ5MTYyYTAwYWU3YjY4
YWM3My4uZmIyZDFlMTAwNmZkZTYyNzBhYjkzNmZhMDczNjFhM2E5YTg3NGE1NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1
dGlvbi1jb252ZXJzaW9uLXRocm91Z2gtaW1hZ2UtcmVkaXJlY3QtZXBoZW1lcmFsLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50
L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1pbWFnZS1yZWRpcmVjdC1lcGhlbWVyYWwt
ZXhwZWN0ZWQudHh0CkBAIC05LDQgKzksNSBAQCBTb3VyY2UgSUQ6IDMKIEF0dHJpYnV0aW9uIHRy
aWdnZXIgZGF0YTogMTIKIEF0dHJpYnV0aW9uIHByaW9yaXR5OiAwCiBBdHRyaWJ1dGlvbiBlYXJs
aWVzdCB0aW1lIHRvIHNlbmQ6IFdpdGhpbiAyNC00OCBob3VycworRGVzdGluYXRpb24gdG9rZW46
IE5vdCBzZXQKIEFwcGxpY2F0aW9uIGJ1bmRsZSBpZGVudGlmaWVyOiBjb20uYXBwbGUuV2ViS2l0
LldlYktpdFRlc3RSdW5uZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdoLWltYWdl
LXJlZGlyZWN0LWluLW5ldy13aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91
Z2gtaW1hZ2UtcmVkaXJlY3QtaW4tbmV3LXdpbmRvdy1leHBlY3RlZC50eHQKaW5kZXggZmFiMWQ1
ZDMyY2UxODQwMmYyOGE5MmE5MDliMmU3YmQ4OGE5YTk1Zi4uYjg0YmRkZjQ0MTE5YzBmMTA3NmZj
ZDUwYjNlY2E0MmJiZjgxYWI4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91Z2gtaW1h
Z2UtcmVkaXJlY3QtaW4tbmV3LXdpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9u
LXRocm91Z2gtaW1hZ2UtcmVkaXJlY3QtaW4tbmV3LXdpbmRvdy1leHBlY3RlZC50eHQKQEAgLTks
NCArOSw1IEBAIFNvdXJjZSBJRDogMwogQXR0cmlidXRpb24gdHJpZ2dlciBkYXRhOiAxMgogQXR0
cmlidXRpb24gcHJpb3JpdHk6IDMKIEF0dHJpYnV0aW9uIGVhcmxpZXN0IHRpbWUgdG8gc2VuZDog
V2l0aGluIDI0LTQ4IGhvdXJzCitEZXN0aW5hdGlvbiB0b2tlbjogTm90IHNldAogQXBwbGljYXRp
b24gYnVuZGxlIGlkZW50aWZpZXI6IGNvbS5hcHBsZS5XZWJLaXQuV2ViS2l0VGVzdFJ1bm5lcgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91Z2gtaW1hZ2UtcmVkaXJlY3Qtd2l0aC1wcmlv
cml0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01l
YXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1pbWFnZS1yZWRpcmVjdC13
aXRoLXByaW9yaXR5LWV4cGVjdGVkLnR4dAppbmRleCAzN2M5YmE2YTQyMzBlZTU1MmQ4ZTYzMmMy
YTAxODc4NDE1YzJjNGE2Li5jNzJiM2QxZjE4MWE4MWQ4YWE1MTJlYmQ3ZDY1OGE0M2QzMGY0N2U3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1pbWFnZS1yZWRpcmVjdC13aXRoLXBy
aW9yaXR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVD
bGlja01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1pbWFnZS1yZWRp
cmVjdC13aXRoLXByaW9yaXR5LWV4cGVjdGVkLnR4dApAQCAtOSw0ICs5LDUgQEAgU291cmNlIElE
OiAzCiBBdHRyaWJ1dGlvbiB0cmlnZ2VyIGRhdGE6IDEyCiBBdHRyaWJ1dGlvbiBwcmlvcml0eTog
MwogQXR0cmlidXRpb24gZWFybGllc3QgdGltZSB0byBzZW5kOiBXaXRoaW4gMjQtNDggaG91cnMK
K0Rlc3RpbmF0aW9uIHRva2VuOiBOb3Qgc2V0CiBBcHBsaWNhdGlvbiBidW5kbGUgaWRlbnRpZmll
cjogY29tLmFwcGxlLldlYktpdC5XZWJLaXRUZXN0UnVubmVyCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZl
cnNpb24tdGhyb3VnaC1pbWFnZS1yZWRpcmVjdC13aXRob3V0LXByaW9yaXR5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmli
dXRpb24tY29udmVyc2lvbi10aHJvdWdoLWltYWdlLXJlZGlyZWN0LXdpdGhvdXQtcHJpb3JpdHkt
ZXhwZWN0ZWQudHh0CmluZGV4IGU3YTU2ODYxMzdjYzc5ZGVhMGM0YTUzYTdlNDJlYjMwOGRlZDZj
M2YuLmJmZmE4OGNmZDhiMTRmNThjYTE2MTQ3YzQ5ODc4ODY1ZmIxOWY1ODggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRp
b24tY29udmVyc2lvbi10aHJvdWdoLWltYWdlLXJlZGlyZWN0LXdpdGhvdXQtcHJpb3JpdHktZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdoLWltYWdlLXJlZGlyZWN0LXdpdGhv
dXQtcHJpb3JpdHktZXhwZWN0ZWQudHh0CkBAIC05LDQgKzksNSBAQCBTb3VyY2UgSUQ6IDMKIEF0
dHJpYnV0aW9uIHRyaWdnZXIgZGF0YTogMTIKIEF0dHJpYnV0aW9uIHByaW9yaXR5OiAwCiBBdHRy
aWJ1dGlvbiBlYXJsaWVzdCB0aW1lIHRvIHNlbmQ6IFdpdGhpbiAyNC00OCBob3VycworRGVzdGlu
YXRpb24gdG9rZW46IE5vdCBzZXQKIEFwcGxpY2F0aW9uIGJ1bmRsZSBpZGVudGlmaWVyOiBjb20u
YXBwbGUuV2ViS2l0LldlYktpdFRlc3RSdW5uZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2Vjb25kLWF0dHJpYnV0aW9uLWNvbnZl
cnRlZC13aXRoLWhpZ2hlci1wcmlvcml0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29uZC1hdHRyaWJ1dGlvbi1jb252ZXJ0
ZWQtd2l0aC1oaWdoZXItcHJpb3JpdHktZXhwZWN0ZWQudHh0CmluZGV4IDBmNjg4M2RkM2E5OWU3
MGVlOWZmNzc0OGIwZGVjZTIyYzZjYTZlMTcuLjUxYjJiOTM4MTYyOTZiM2JjYTliZWQ3OTU2YzJi
NDFiZGY1NjBkZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvc2Vjb25kLWF0dHJpYnV0aW9uLWNvbnZlcnRlZC13aXRoLWhpZ2hlci1w
cmlvcml0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC9zZWNvbmQtYXR0cmlidXRpb24tY29udmVydGVkLXdpdGgtaGlnaGVy
LXByaW9yaXR5LWV4cGVjdGVkLnR4dApAQCAtOSw0ICs5LDUgQEAgU291cmNlIElEOiA0CiBBdHRy
aWJ1dGlvbiB0cmlnZ2VyIGRhdGE6IDEyCiBBdHRyaWJ1dGlvbiBwcmlvcml0eTogNAogQXR0cmli
dXRpb24gZWFybGllc3QgdGltZSB0byBzZW5kOiBXaXRoaW4gMjQtNDggaG91cnMKK0Rlc3RpbmF0
aW9uIHRva2VuOiBOb3Qgc2V0CiBBcHBsaWNhdGlvbiBidW5kbGUgaWRlbnRpZmllcjogY29tLmFw
cGxlLldlYktpdC5XZWJLaXRUZXN0UnVubmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29uZC1hdHRyaWJ1dGlvbi1jb252ZXJ0
ZWQtd2l0aC1sb3dlci1wcmlvcml0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29uZC1hdHRyaWJ1dGlvbi1jb252ZXJ0ZWQt
d2l0aC1sb3dlci1wcmlvcml0eS1leHBlY3RlZC50eHQKaW5kZXggNjU4MmEzZDdjMDFjNGUxMmVl
YzQ1OTVhYjc4MTljMzEyNGZmMDI4Ni4uYjExYWQzZDliY2E1ZjFhMzc3YWNjYWIwOTkxNzJkMjQz
NWU2NjcwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC9zZWNvbmQtYXR0cmlidXRpb24tY29udmVydGVkLXdpdGgtbG93ZXItcHJpb3Jp
dHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvc2Vjb25kLWF0dHJpYnV0aW9uLWNvbnZlcnRlZC13aXRoLWxvd2VyLXByaW9y
aXR5LWV4cGVjdGVkLnR4dApAQCAtOSw0ICs5LDUgQEAgU291cmNlIElEOiAzCiBBdHRyaWJ1dGlv
biB0cmlnZ2VyIGRhdGE6IDEyCiBBdHRyaWJ1dGlvbiBwcmlvcml0eTogNAogQXR0cmlidXRpb24g
ZWFybGllc3QgdGltZSB0byBzZW5kOiBXaXRoaW4gMjQtNDggaG91cnMKK0Rlc3RpbmF0aW9uIHRv
a2VuOiBOb3Qgc2V0CiBBcHBsaWNhdGlvbiBidW5kbGUgaWRlbnRpZmllcjogY29tLmFwcGxlLldl
YktpdC5XZWJLaXRUZXN0UnVubmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29uZC1jb252ZXJzaW9uLXdpdGgtaGlnaGVyLXBy
aW9yaXR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvc2Vjb25kLWNvbnZlcnNpb24td2l0aC1oaWdoZXItcHJpb3JpdHktZXhwZWN0
ZWQudHh0CmluZGV4IDI5NTlmMjdkNjc1NDA1YzM4ZWNiZmJlYjliYmRmNWI4ODhjOTIyNjQuLmY4
ODEwMjQ0NTdlMTNiMzBiMWU2NGRjNWU2ZTdkMzJiMDA3NTRjYzUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2Vjb25kLWNvbnZlcnNp
b24td2l0aC1oaWdoZXItcHJpb3JpdHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2Vjb25kLWNvbnZlcnNpb24td2l0aC1o
aWdoZXItcHJpb3JpdHktZXhwZWN0ZWQudHh0CkBAIC05LDQgKzksNSBAQCBTb3VyY2UgSUQ6IDMK
IEF0dHJpYnV0aW9uIHRyaWdnZXIgZGF0YTogMTIKIEF0dHJpYnV0aW9uIHByaW9yaXR5OiA0CiBB
dHRyaWJ1dGlvbiBlYXJsaWVzdCB0aW1lIHRvIHNlbmQ6IFdpdGhpbiAyNC00OCBob3VycworRGVz
dGluYXRpb24gdG9rZW46IE5vdCBzZXQKIEFwcGxpY2F0aW9uIGJ1bmRsZSBpZGVudGlmaWVyOiBj
b20uYXBwbGUuV2ViS2l0LldlYktpdFRlc3RSdW5uZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2Vjb25kLWNvbnZlcnNpb24td2l0
aC1sb3dlci1wcmlvcml0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3By
aXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29uZC1jb252ZXJzaW9uLXdpdGgtbG93ZXItcHJpb3Jp
dHktZXhwZWN0ZWQudHh0CmluZGV4IGY2YWZmNDhmZTM5YTJlNzNlYjY2Mzc5MDBhOTQ0NGVmNzcw
NzQ5NzUuLjlmNzA2ZWZiNmQzZDY5YzBiNjRhMjU4ZTVkZGYyM2FjZmI0YmM0ZjIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2Vjb25k
LWNvbnZlcnNpb24td2l0aC1sb3dlci1wcmlvcml0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zZWNvbmQtY29udmVyc2lv
bi13aXRoLWxvd2VyLXByaW9yaXR5LWV4cGVjdGVkLnR4dApAQCAtOSw0ICs5LDUgQEAgU291cmNl
IElEOiAzCiBBdHRyaWJ1dGlvbiB0cmlnZ2VyIGRhdGE6IDEyCiBBdHRyaWJ1dGlvbiBwcmlvcml0
eTogNAogQXR0cmlidXRpb24gZWFybGllc3QgdGltZSB0byBzZW5kOiBXaXRoaW4gMjQtNDggaG91
cnMKK0Rlc3RpbmF0aW9uIHRva2VuOiBOb3Qgc2V0CiBBcHBsaWNhdGlvbiBidW5kbGUgaWRlbnRp
ZmllcjogY29tLmFwcGxlLldlYktpdC5XZWJLaXRUZXN0UnVubmVyCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3RyaWdnZXJpbmctZXZl
bnQtd2l0aC1hdHRyaWJ1dGlvbi1zb3VyY2UtdGhyb3VnaC1mZXRjaC1rZWVwYWxpdmUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC90
cmlnZ2VyaW5nLWV2ZW50LXdpdGgtYXR0cmlidXRpb24tc291cmNlLXRocm91Z2gtZmV0Y2gta2Vl
cGFsaXZlLWV4cGVjdGVkLnR4dAppbmRleCAwMjgyNDc5ODliOTlmY2ZiMWE2NWVkZmFiNDgwYTQ3
YTgyMzA1MTRhLi5jMzRkZTE5MjIzZDA2YTM4YjRjMDM4YzkyZjU2NzJhNTNmZDMzN2MyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3Ry
aWdnZXJpbmctZXZlbnQtd2l0aC1hdHRyaWJ1dGlvbi1zb3VyY2UtdGhyb3VnaC1mZXRjaC1rZWVw
YWxpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvdHJpZ2dlcmluZy1ldmVudC13aXRoLWF0dHJpYnV0aW9uLXNvdXJjZS10
aHJvdWdoLWZldGNoLWtlZXBhbGl2ZS1leHBlY3RlZC50eHQKQEAgLTEyLDQgKzEyLDUgQEAgU291
cmNlIElEOiAzCiBBdHRyaWJ1dGlvbiB0cmlnZ2VyIGRhdGE6IDEyCiBBdHRyaWJ1dGlvbiBwcmlv
cml0eTogMAogQXR0cmlidXRpb24gZWFybGllc3QgdGltZSB0byBzZW5kOiBXaXRoaW4gMjQtNDgg
aG91cnMKK0Rlc3RpbmF0aW9uIHRva2VuOiBOb3Qgc2V0CiBBcHBsaWNhdGlvbiBidW5kbGUgaWRl
bnRpZmllcjogdGVzdEJ1bmRsZUlECg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447099</attachid>
            <date>2021-12-13 20:13:17 -0800</date>
            <delta_ts>2021-12-13 23:57:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234281-20211213201317.patch</filename>
            <type>text/plain</type>
            <size>22727</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2OTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDExMTc3NTA3MWUyNDg5NDU4
NmQ3MmM0MzQ4YWVhYjhhNzE1NDdlNzQuLjM3MjFhZjgxMTc0ZGY2MjY4YmVhY2NhOWMyNGFiMGZm
NDVhMTg1NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTItMTMgIEpvaG4gV2ls
YW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUENNOiBSZW1vdmUgb2xkIERC
IHVwZGF0ZSBhbmQgbWlncmF0aW9uIGNvZGUsIGFuZCBhZGQgYSB1bml0IHRlc3QgZm9yIGRlc3Rp
bmF0aW9uIHRva2VuIERCIGNvbHVtbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNDI4MQorICAgICAgICA8cmRhcjovLzg2MzQ3NDM5PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4gYW5kIEthdGUgQ2hlbmV5LgorCisgICAg
ICAgIFdlYktpdDo6RGF0YWJhc2U6Om5lZWRzVXBkYXRlZFNjaGVtYSgpIGluIFByaXZhdGVDbGlj
a01lYXN1cmVtZW50LmNwcCBoYXMgYSBjb21tZW50IHNheWluZyBpdAorICAgICAgICBzaG91bGQg
YmUgcmVtb3ZlZCBsYXRlIDIwMjEuIFdlYktpdDo6RGF0YWJhc2VVdGlsaXRpZXM6Om1pZ3JhdGVE
YXRhVG9OZXdUYWJsZXNJZk5lY2Vzc2FyeSgpCisgICAgICAgIHJldHVybnMgZGlyZWN0bHkgaWYg
V2ViS2l0OjpEYXRhYmFzZTo6bmVlZHNVcGRhdGVkU2NoZW1hKCkgcmV0dXJucyBmYWxzZSBzbyBh
bHdheXMgcmV0dXJuaW5nCisgICAgICAgIGZhbHNlIGZvciBXZWJLaXQ6OkRhdGFiYXNlOjpuZWVk
c1VwZGF0ZWRTY2hlbWEoKSBpbiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5jcHAgZWZmZWN0aXZl
bHkKKyAgICAgICAgZGlzYWJsZXMgV2ViS2l0OjpEYXRhYmFzZVV0aWxpdGllczo6bWlncmF0ZURh
dGFUb05ld1RhYmxlc0lmTmVjZXNzYXJ5KCkgZm9yIFBDTS4KKworICAgICAgICBOZXcgdW5pdC9B
UEkgdGVzdCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5NaWdyYXRlV2l0aERlc3RpbmF0aW9uVG9r
ZW4gYWRkZWQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJl
bWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudERhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6UENNOjpEYXRhYmFzZTo6RGF0YWJhc2UpOgorICAgICAgICAgICAgTm8gbG9uZ2VyIGNhbGxz
IHRoZSBkZWxldGVkIERhdGFiYXNlVXRpbGl0aWVzOjptaWdyYXRlRGF0YVRvTmV3VGFibGVzSWZO
ZWNlc3NhcnkoKS4KKyAgICAgICAgKFdlYktpdDo6UENNOjpEYXRhYmFzZTo6YXR0cmlidXRpb25U
b1N0cmluZ0ZvclRlc3RpbmcgY29uc3QpOgorICAgICAgICAgICAgTm93IG91dHB1dHMgZGVzdGlu
YXRpb24gdG9rZW4gaW5mby4KKyAgICAgICAgKFdlYktpdDo6UENNOjpEYXRhYmFzZTo6bmVlZHNV
cGRhdGVkU2NoZW1hKTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudERhdGFiYXNlLmg6CisgICAg
ICAgICAgICBuZWVkc1VwZGF0ZWRTY2hlbWEoKSBub3cgYWx3YXlzIHJldHVybnMgZmFsc2UuCisK
IDIwMjEtMTItMTMgIEpvb25naHVuIFBhcmsgIDxqaDcxOC5wYXJrQHNhbXN1bmcuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQuIEZpeCBidWlsZCBlcnJvciBzaW5jZSByMjg2OTQ2LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudERhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnREYXRhYmFzZS5jcHAKaW5kZXggMGNhYTg3MTI5ZDQ4ODljZmU1NTlkNDg2ZTdjZmI0ZGJiZTk3
MTExMi4uN2EyYzg1MGQxOTZiM2Y2ZTc1MjlmMjFjMmYwYWMxM2VkMzhmYTY0ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudERhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50RGF0YWJhc2UuY3BwCkBAIC04OCw3ICs4OCw2IEBAIERhdGFiYXNlOjpEYXRhYmFzZShjb25z
dCBTdHJpbmcmIHN0b3JhZ2VEaXJlY3RvcnkpCiAgICAgb3BlbkRhdGFiYXNlQW5kQ3JlYXRlU2No
ZW1hSWZOZWNlc3NhcnkoKTsKICAgICBlbmFibGVGb3JlaWduS2V5cygpOwogICAgIGFkZERlc3Rp
bmF0aW9uVG9rZW5Db2x1bW5zSWZOZWNlc3NhcnkoKTsKLSAgICBtaWdyYXRlRGF0YVRvTmV3VGFi
bGVzSWZOZWNlc3NhcnkoKTsKICAgICBhbGxEYXRhYmFzZXMoKS5hZGQodGhpcyk7CiB9CiAKQEAg
LTQ0OSw2ICs0NDgsMTIgQEAgU3RyaW5nIERhdGFiYXNlOjphdHRyaWJ1dGlvblRvU3RyaW5nRm9y
VGVzdGluZyhjb25zdCBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXIKICAgICAgICAgICAgIGF1
dG8gc2Vjb25kc1VudGlsU2VuZCA9ICplYXJsaWVzdFRpbWVUb1NlbmQgLSBXYWxsVGltZTo6bm93
KCk7CiAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgoc2Vjb25kc1VudGlsU2VuZCA+PSAyNF9o
ICYmIHNlY29uZHNVbnRpbFNlbmQgPD0gNDhfaCkgPyAiV2l0aGluIDI0LTQ4IGhvdXJzIiA6ICJP
dXRzaWRlIDI0LTQ4IGhvdXJzIik7CiAgICAgICAgIH0KKworICAgICAgICBidWlsZGVyLmFwcGVu
ZCgiXG5EZXN0aW5hdGlvbiB0b2tlbjogIik7CisgICAgICAgIGlmICghdHJpZ2dlckRhdGEtPmRl
c3RpbmF0aW9uU2VjcmV0VG9rZW4pCisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiTm90IHNl
dCIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiXG50b2tlbjog
IiwgdHJpZ2dlckRhdGEtPmRlc3RpbmF0aW9uU2VjcmV0VG9rZW4tPnRva2VuQmFzZTY0VVJMLCAi
XG5zaWduYXR1cmU6ICIsIHRyaWdnZXJEYXRhLT5kZXN0aW5hdGlvblNlY3JldFRva2VuLT5zaWdu
YXR1cmVCYXNlNjRVUkwsICJcbmtleTogIiwgdHJpZ2dlckRhdGEtPmRlc3RpbmF0aW9uU2VjcmV0
VG9rZW4tPmtleUlEQmFzZTY0VVJMKTsKICAgICB9IGVsc2UKICAgICAgICAgYnVpbGRlci5hcHBl
bmQoIlxuTm8gYXR0cmlidXRpb24gdHJpZ2dlciBkYXRhLiIpOwogICAgIGJ1aWxkZXIuYXBwZW5k
KCJcbkFwcGxpY2F0aW9uIGJ1bmRsZSBpZGVudGlmaWVyOiAiLCBwY20uc291cmNlQXBwbGljYXRp
b25CdW5kbGVJRCgpLCAnXG4nKTsKQEAgLTcxNiwxNyArNzIxLDYgQEAgdm9pZCBEYXRhYmFzZTo6
YWRkRGVzdGluYXRpb25Ub2tlbkNvbHVtbnNJZk5lY2Vzc2FyeSgpCiAgICAgfQogfQogCi1ib29s
IERhdGFiYXNlOjpuZWVkc1VwZGF0ZWRTY2hlbWEoKQotewotICAgIC8vIEZJWE1FOiBSZW1vdmUg
dGhpcyBhdCB0aGUgZW5kIG9mIDIwMjEuIE5vIHB1YmxpYyByZWxlYXNlIHdhcyBtYWRlIHdpdGgg
dGhlIHNjaGVtYSBtaXNzaW5nIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSUQsIHNvIHRoaXMgaXMg
b25seSBuZWVkZWQgdG8gbWlncmF0ZSBpbnRlcm5hbCB1c2VycyB3aG8gdXBkYXRlZCBpbiBTZXB0
ZW1iZXIgMjAyMS4KLSAgICBmb3IgKGF1dG8mIHRhYmxlIDogZXhwZWN0ZWRUYWJsZUFuZEluZGV4
UXVlcmllcygpLmtleXMoKSkgewotICAgICAgICBpZiAoY3VycmVudFRhYmxlQW5kSW5kZXhRdWVy
aWVzKHRhYmxlKSAhPSBleHBlY3RlZFRhYmxlQW5kSW5kZXhRdWVyaWVzKCkuZ2V0KHRhYmxlKSkK
LSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAgIHJldHVybiBmYWxzZTsKLX0K
LQogVmVjdG9yPFN0cmluZz4gRGF0YWJhc2U6OmNvbHVtbnNGb3JUYWJsZShjb25zdCBTdHJpbmcm
IHRhYmxlTmFtZSkKIHsKICAgICBhdXRvIHN0YXRlbWVudCA9IG1fZGF0YWJhc2UucHJlcGFyZVN0
YXRlbWVudFNsb3cobWFrZVN0cmluZygiUFJBR01BIHRhYmxlX2luZm8oIiwgdGFibGVOYW1lLCAi
KSIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREYXRhYmFzZS5oIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudERhdGFiYXNlLmgKaW5kZXggMWZjZTY1YWRhY2Y3NWVhNWVjNWFlYmE3ZTIx
ZWM1ZDkzOThkYWU5Ny4uMmZiN2QyNTY5ZWQzOGE1ODIzOGEyODAwZWUyNDhiNTdmNGU2ZDdmZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFz
dXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudERhdGFiYXNlLmgKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudERhdGFiYXNlLmgKQEAgLTc3LDcgKzc3LDcgQEAgcHJpdmF0ZToKICAgICBTdHJp
bmcgZ2V0RG9tYWluU3RyaW5nRnJvbURvbWFpbklEKERvbWFpbklEKSBjb25zdCBmaW5hbDsKIAog
ICAgIHZvaWQgYWRkRGVzdGluYXRpb25Ub2tlbkNvbHVtbnNJZk5lY2Vzc2FyeSgpOwotICAgIGJv
b2wgbmVlZHNVcGRhdGVkU2NoZW1hKCkgZmluYWw7CisgICAgYm9vbCBuZWVkc1VwZGF0ZWRTY2hl
bWEoKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfTsKICAgICBib29sIGNyZWF0ZVVuaXF1ZUluZGlj
ZXMoKSBmaW5hbDsKICAgICBjb25zdCBNZW1vcnlDb21wYWN0TG9va3VwT25seVJvYmluSG9vZEhh
c2hNYXA8U3RyaW5nLCBUYWJsZUFuZEluZGV4UGFpcj4mIGV4cGVjdGVkVGFibGVBbmRJbmRleFF1
ZXJpZXMoKSBmaW5hbDsKICAgICBTcGFuPGNvbnN0IEFTQ0lJTGl0ZXJhbD4gc29ydGVkVGFibGVz
KCkgZmluYWw7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggNzRjNTY0M2NkODk5Y2EwYWE2YjVlMjFhN2VmNTZlZWQ2MzE5NjIxZS4uZGRkZDZiNjc1
ZjU2ZTRhMmU3NWIyMDJlNzJiYmRjYmMwNzVmYzM1MyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTEyLTEzICBK
b2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBDTTogUmVtb3Zl
IG9sZCBEQiB1cGRhdGUgYW5kIG1pZ3JhdGlvbiBjb2RlLCBhbmQgYWRkIGEgdW5pdCB0ZXN0IGZv
ciBkZXN0aW5hdGlvbiB0b2tlbiBEQiBjb2x1bW5zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQyODEKKyAgICAgICAgPHJkYXI6Ly84NjM0NzQzOT4K
KworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuIGFuZCBLYXRlIENoZW5leS4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQubW06CisgICAgICAgIChhZGRBdHRyaWJ1dGVkUENNdjUpOgorICAgICAgICAo
cG9sbFVudGlsUENNSXNNaWdyYXRlZCk6CisgICAgICAgICAgICBOb3cgdGFrZXMgYSBwYXJhbWV0
ZXIgVXNpbmdEZXN0aW5hdGlvblRva2VuIGFuZCBoYW5kbGVzIGl0cyBleHBlY3RhdGlvbgorICAg
ICAgICAgICAgYWNjb3JkaW5nbHkuCisgICAgICAgIChURVNUKToKKyAgICAgICAgICAgIE5ldyB0
ZXN0IFByaXZhdGVDbGlja01lYXN1cmVtZW50Lk1pZ3JhdGVXaXRoRGVzdGluYXRpb25Ub2tlbi4K
KwogMjAyMS0xMi0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgU3RhcnQgd2Vic29ja2V0IHNlcnZlciBmb3IgdGVzdHMgaW4gaHR0cC90ZXN0cyB0aGF0IGhh
dmUgd2Vic29ja2V0IGluIHRoZWlyIG5hbWUKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQubW0gYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Lm1t
CmluZGV4IGMxZDRlMTBlZThiYWE3MTkzNzEwMTc0NjRkZGI3Y2I0Y2E4MTYxZDUuLjM5NWFjZjRl
NDllOGNhM2JiZjk3MjhkNmEyMTlmMGZmZDE0M2U1NzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQubW0KKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcml2YXRlQ2xpY2tNZWFz
dXJlbWVudC5tbQpAQCAtMjA5LDYgKzIwOSwyNyBAQCBzdGF0aWMgdm9pZCBhZGRBdHRyaWJ1dGVk
UENNdjQoV2ViQ29yZTo6U1FMaXRlRGF0YWJhc2UmIGRhdGFiYXNlKQogICAgIGFkZFZhbHVlc1Rv
VGFibGU8MTI+KGRhdGFiYXNlLCBpbnNlcnRBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRRdWVyeVY0LCB7IDEsIDIsIDQyLCAxNCwgNywgMS4wLCBlYXJsaWVzdFRpbWVUb1NlbmQoKSwg
InRlc3QgdG9rZW4iLCAidGVzdCBzaWduYXR1cmUiLCAidGVzdCBrZXkgaWQiLCBlYXJsaWVzdFRp
bWVUb1NlbmQoKSwgYnVuZGxlSUQgfSk7CiB9CiAKK3N0YXRpYyB2b2lkIGFkZEF0dHJpYnV0ZWRQ
Q012NShXZWJDb3JlOjpTUUxpdGVEYXRhYmFzZSYgZGF0YWJhc2UpCit7CisgICAgY29uc3RleHBy
IGF1dG8gY3JlYXRlQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50VjUgPSAiQ1JFQVRF
IFRBQkxFIEF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCAoIgorICAgICAgICAic291
cmNlU2l0ZURvbWFpbklEIElOVEVHRVIgTk9UIE5VTEwsIGRlc3RpbmF0aW9uU2l0ZURvbWFpbklE
IElOVEVHRVIgTk9UIE5VTEwsIHNvdXJjZUlEIElOVEVHRVIgTk9UIE5VTEwsICIKKyAgICAgICAg
ImF0dHJpYnV0aW9uVHJpZ2dlckRhdGEgSU5URUdFUiBOT1QgTlVMTCwgcHJpb3JpdHkgSU5URUdF
UiBOT1QgTlVMTCwgdGltZU9mQWRDbGljayBSRUFMIE5PVCBOVUxMLCAiCisgICAgICAgICJlYXJs
aWVzdFRpbWVUb1NlbmRUb1NvdXJjZSBSRUFMLCB0b2tlbiBURVhULCBzaWduYXR1cmUgVEVYVCwg
a2V5SUQgVEVYVCwgZWFybGllc3RUaW1lVG9TZW5kVG9EZXN0aW5hdGlvbiBSRUFMLCBzb3VyY2VB
cHBsaWNhdGlvbkJ1bmRsZUlEIFRFWFQsIGRlc3RpbmF0aW9uVG9rZW4sIGRlc3RpbmF0aW9uU2ln
bmF0dXJlLCBkZXN0aW5hdGlvbktleUlELCIKKyAgICAgICAgIkZPUkVJR04gS0VZKHNvdXJjZVNp
dGVEb21haW5JRCkgUkVGRVJFTkNFUyBQQ01PYnNlcnZlZERvbWFpbnMoZG9tYWluSUQpIE9OIERF
TEVURSBDQVNDQURFLCBGT1JFSUdOIEtFWShkZXN0aW5hdGlvblNpdGVEb21haW5JRCkgUkVGRVJF
TkNFUyAiCisgICAgICAgICJQQ01PYnNlcnZlZERvbWFpbnMoZG9tYWluSUQpIE9OIERFTEVURSBD
QVNDQURFKSJfczsKKworICAgIEVYUEVDVF9UUlVFKGRhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKGNy
ZWF0ZUF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFY1KSk7CisgICAgY29uc3RleHBy
IGF1dG8gaW5zZXJ0QXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50UXVlcnlWNSA9ICJJ
TlNFUlQgT1IgUkVQTEFDRSBJTlRPIEF0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCAo
c291cmNlU2l0ZURvbWFpbklELCBkZXN0aW5hdGlvblNpdGVEb21haW5JRCwgIgorICAgICAgICAi
c291cmNlSUQsIGF0dHJpYnV0aW9uVHJpZ2dlckRhdGEsIHByaW9yaXR5LCB0aW1lT2ZBZENsaWNr
LCBlYXJsaWVzdFRpbWVUb1NlbmRUb1NvdXJjZSwgdG9rZW4sIHNpZ25hdHVyZSwga2V5SUQsIGVh
cmxpZXN0VGltZVRvU2VuZFRvRGVzdGluYXRpb24sIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSUQs
IGRlc3RpbmF0aW9uVG9rZW4sIGRlc3RpbmF0aW9uU2lnbmF0dXJlLCBkZXN0aW5hdGlvbktleUlE
KSBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8pIl9z
OworCisjaWYgUExBVEZPUk0oTUFDKQorICAgIGF1dG8gYnVuZGxlSUQgPSAiY29tLmFwcGxlLlNh
ZmFyaSI7CisjZWxzZQorICAgIGF1dG8gYnVuZGxlSUQgPSAiY29tLmFwcGxlLm1vYmlsZXNhZmFy
aSI7CisjZW5kaWYKKyAgICBhZGRWYWx1ZXNUb1RhYmxlPDE1PihkYXRhYmFzZSwgaW5zZXJ0QXR0
cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50UXVlcnlWNSwgeyAxLCAyLCA0MiwgMTQsIDcs
IDEuMCwgZWFybGllc3RUaW1lVG9TZW5kKCksICJ0ZXN0IHRva2VuIiwgInRlc3Qgc2lnbmF0dXJl
IiwgInRlc3Qga2V5IGlkIiwgZWFybGllc3RUaW1lVG9TZW5kKCksIGJ1bmRsZUlELCAidGVzdCBk
ZXN0aW5hdGlvbiB0b2tlbiIsICJ0ZXN0IGRlc3RpbmF0aW9uIHNpZ25hdHVyZSIsICJ0ZXN0IGRl
c3RpbmF0aW9uIGtleSBpZCIgfSk7Cit9CisKIHN0YXRpYyBSZXRhaW5QdHI8TlNTdHJpbmc+IGR1
bXBlZFBDTShXS1dlYlZpZXcgKndlYlZpZXcpCiB7CiAgICAgX19ibG9jayBSZXRhaW5QdHI8TlNT
dHJpbmc+IHBjbTsKQEAgLTIyMiw3ICsyNDMsOCBAQCBzdGF0aWMgUmV0YWluUHRyPE5TU3RyaW5n
PiBkdW1wZWRQQ00oV0tXZWJWaWV3ICp3ZWJWaWV3KQogfQogCiBlbnVtIGNsYXNzIE1pZ3JhdGlu
Z0Zyb21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzIDogYm9vbCB7IE5vLCBZZXMgfTsKLXN0YXRpYyB2
b2lkIHBvbGxVbnRpbFBDTUlzTWlncmF0ZWQoV0tXZWJWaWV3ICp3ZWJWaWV3LCBNaWdyYXRpbmdG
cm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljcyBtaWdyYXRpbmdGcm9tUmVzb3VyY2VMb2FkU3RhdGlz
dGljcykKK2VudW0gY2xhc3MgVXNpbmdEZXN0aW5hdGlvblRva2VuIDogYm9vbCB7IE5vLCBZZXMg
fTsKK3N0YXRpYyB2b2lkIHBvbGxVbnRpbFBDTUlzTWlncmF0ZWQoV0tXZWJWaWV3ICp3ZWJWaWV3
LCBNaWdyYXRpbmdGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljcyBtaWdyYXRpbmdGcm9tUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcywgVXNpbmdEZXN0aW5hdGlvblRva2VuIHVzaW5nRGVzdGluYXRpb25U
b2tlbikKIHsKICAgICBpZiAobWlncmF0aW5nRnJvbVJlc291cmNlTG9hZFN0YXRpc3RpY3MgPT0g
TWlncmF0aW5nRnJvbVJlc291cmNlTG9hZFN0YXRpc3RpY3M6OlllcykgewogICAgICAgICAvLyBU
aGlzIHF1ZXJ5IGlzIHRoZSBmaXJzdCB0aGluZyB0byBvcGVuIHRoZSBvbGQgZGF0YWJhc2UsIHNv
IG1pZ3JhdGlvbiBoYXMgbm90IGhhcHBlbmVkIHlldC4KQEAgLTI1MSwxNSArMjczLDIwIEBAIHN0
YXRpYyB2b2lkIHBvbGxVbnRpbFBDTUlzTWlncmF0ZWQoV0tXZWJWaWV3ICp3ZWJWaWV3LCBNaWdy
YXRpbmdGcm9tUmVzb3VyY2VMb2FkCiAgICAgICAgICJBdHRyaWJ1dGlvbiB0cmlnZ2VyIGRhdGE6
IDE0XG4iCiAgICAgICAgICJBdHRyaWJ1dGlvbiBwcmlvcml0eTogN1xuIgogICAgICAgICAiQXR0
cmlidXRpb24gZWFybGllc3QgdGltZSB0byBzZW5kOiBPdXRzaWRlIDI0LTQ4IGhvdXJzXG4iCisg
ICAgICAgICIiOworCisgICAgTlNTdHJpbmcgKnN1ZmZpeCA9IEAiRGVzdGluYXRpb24gdG9rZW46
ICI7CisgICAgc3VmZml4ID0gW3N1ZmZpeCBzdHJpbmdCeUFwcGVuZGluZ1N0cmluZzoodXNpbmdE
ZXN0aW5hdGlvblRva2VuID09IFVzaW5nRGVzdGluYXRpb25Ub2tlbjo6Tm8gPyBAIk5vdCBzZXRc
biIgOiBAIlxudG9rZW46IHRlc3QgZGVzdGluYXRpb24gdG9rZW5cbnNpZ25hdHVyZTogdGVzdCBk
ZXN0aW5hdGlvbiBzaWduYXR1cmVcbmtleTogdGVzdCBkZXN0aW5hdGlvbiBrZXkgaWRcbiIpXTsK
ICNpZiBQTEFURk9STShNQUMpCi0gICAgICAgICJBcHBsaWNhdGlvbiBidW5kbGUgaWRlbnRpZmll
cjogY29tLmFwcGxlLlNhZmFyaVxuIgorICAgIHN1ZmZpeCA9IFtzdWZmaXggc3RyaW5nQnlBcHBl
bmRpbmdTdHJpbmc6QCJBcHBsaWNhdGlvbiBidW5kbGUgaWRlbnRpZmllcjogY29tLmFwcGxlLlNh
ZmFyaVxuIl07CiAjZWxzZQotICAgICAgICAiQXBwbGljYXRpb24gYnVuZGxlIGlkZW50aWZpZXI6
IGNvbS5hcHBsZS5tb2JpbGVzYWZhcmlcbiIKKyAgICBzdWZmaXggPSBbc3VmZml4IHN0cmluZ0J5
QXBwZW5kaW5nU3RyaW5nOkAiQXBwbGljYXRpb24gYnVuZGxlIGlkZW50aWZpZXI6IGNvbS5hcHBs
ZS5tb2JpbGVzYWZhcmlcbiJdOwogI2VuZGlmCi0gICAgICAgICIiOworICAgIGV4cGVjdGVkTWln
cmF0ZWRQQ01EYXRhYmFzZSA9IFtleHBlY3RlZE1pZ3JhdGVkUENNRGF0YWJhc2Ugc3RyaW5nQnlB
cHBlbmRpbmdTdHJpbmc6c3VmZml4XTsKIAogICAgIHdoaWxlICghW2R1bXBlZFBDTSh3ZWJWaWV3
KSBpc0VxdWFsVG9TdHJpbmc6ZXhwZWN0ZWRNaWdyYXRlZFBDTURhdGFiYXNlXSkKICAgICAgICAg
dXNsZWVwKDEwMDAwKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoZHVtcGVkUENNKHdlYlZpZXcpLmdl
dCgpLCBleHBlY3RlZE1pZ3JhdGVkUENNRGF0YWJhc2UpOwogfQogCiBzdGF0aWMgTlNTdHJpbmcg
KmVtcHR5T2JzZXJ2YXRpb25zREJQYXRoKCkKQEAgLTM1NCw3ICszODEsNyBAQCBURVNUKFByaXZh
dGVDbGlja01lYXN1cmVtZW50LCBNaWdyYXRlRnJvbVJlc291cmNlTG9hZFN0YXRpc3RpY3MxKQog
ewogICAgIHNldFVwRnJvbVJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZShhZGRVbmF0dHJp
YnV0ZWRQQ012MSwgYWRkQXR0cmlidXRlZFBDTXYxKTsKICAgICBhdXRvIHdlYlZpZXcgPSB3ZWJW
aWV3V2l0aFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkSW5OZXR3b3JrUHJvY2VzcygpOwot
ICAgIHBvbGxVbnRpbFBDTUlzTWlncmF0ZWQod2ViVmlldy5nZXQoKSwgTWlncmF0aW5nRnJvbVJl
c291cmNlTG9hZFN0YXRpc3RpY3M6Olllcyk7CisgICAgcG9sbFVudGlsUENNSXNNaWdyYXRlZCh3
ZWJWaWV3LmdldCgpLCBNaWdyYXRpbmdGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljczo6WWVzLCBV
c2luZ0Rlc3RpbmF0aW9uVG9rZW46Ok5vKTsKICAgICBjbGVhblVwKCk7CiB9CiAKQEAgLTM2Miw3
ICszODksNyBAQCBURVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNaWdyYXRlRnJvbVJlc291
cmNlTG9hZFN0YXRpc3RpY3MyKQogewogICAgIHNldFVwRnJvbVJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NEYXRhYmFzZShhZGRVbmF0dHJpYnV0ZWRQQ012MiwgYWRkQXR0cmlidXRlZFBDTXYyKTsKICAg
ICBhdXRvIHdlYlZpZXcgPSB3ZWJWaWV3V2l0aFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
SW5OZXR3b3JrUHJvY2VzcygpOwotICAgIHBvbGxVbnRpbFBDTUlzTWlncmF0ZWQod2ViVmlldy5n
ZXQoKSwgTWlncmF0aW5nRnJvbVJlc291cmNlTG9hZFN0YXRpc3RpY3M6Olllcyk7CisgICAgcG9s
bFVudGlsUENNSXNNaWdyYXRlZCh3ZWJWaWV3LmdldCgpLCBNaWdyYXRpbmdGcm9tUmVzb3VyY2VM
b2FkU3RhdGlzdGljczo6WWVzLCBVc2luZ0Rlc3RpbmF0aW9uVG9rZW46Ok5vKTsKICAgICBjbGVh
blVwKCk7CiB9CiAKQEAgLTM3MCw3ICszOTcsNyBAQCBURVNUKFByaXZhdGVDbGlja01lYXN1cmVt
ZW50LCBNaWdyYXRlRnJvbVJlc291cmNlTG9hZFN0YXRpc3RpY3MzKQogewogICAgIHNldFVwRnJv
bVJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZShhZGRVbmF0dHJpYnV0ZWRQQ012MywgYWRk
QXR0cmlidXRlZFBDTXYzKTsKICAgICBhdXRvIHdlYlZpZXcgPSB3ZWJWaWV3V2l0aFJlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkSW5OZXR3b3JrUHJvY2VzcygpOwotICAgIHBvbGxVbnRpbFBD
TUlzTWlncmF0ZWQod2ViVmlldy5nZXQoKSwgTWlncmF0aW5nRnJvbVJlc291cmNlTG9hZFN0YXRp
c3RpY3M6Olllcyk7CisgICAgcG9sbFVudGlsUENNSXNNaWdyYXRlZCh3ZWJWaWV3LmdldCgpLCBN
aWdyYXRpbmdGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljczo6WWVzLCBVc2luZ0Rlc3RpbmF0aW9u
VG9rZW46Ok5vKTsKICAgICBjbGVhblVwKCk7CiB9CiAKQEAgLTM3OCw2ICs0MDUsMTQgQEAgVEVT
VChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWlncmF0ZUZyb21QQ00xKQogewogICAgIHNldFVw
RnJvbVBDTURhdGFiYXNlKGFkZFVuYXR0cmlidXRlZFBDTXY0LCBhZGRBdHRyaWJ1dGVkUENNdjQp
OwogICAgIGF1dG8gd2ViVmlldyA9IHdlYlZpZXdXaXRoUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Vu
YWJsZWRJbk5ldHdvcmtQcm9jZXNzKCk7Ci0gICAgcG9sbFVudGlsUENNSXNNaWdyYXRlZCh3ZWJW
aWV3LmdldCgpLCBNaWdyYXRpbmdGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljczo6Tm8pOworICAg
IHBvbGxVbnRpbFBDTUlzTWlncmF0ZWQod2ViVmlldy5nZXQoKSwgTWlncmF0aW5nRnJvbVJlc291
cmNlTG9hZFN0YXRpc3RpY3M6Ok5vLCBVc2luZ0Rlc3RpbmF0aW9uVG9rZW46Ok5vKTsKKyAgICBj
bGVhblVwKCk7Cit9CisKK1RFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1pZ3JhdGVXaXRo
RGVzdGluYXRpb25Ub2tlbikKK3sKKyAgICBzZXRVcEZyb21QQ01EYXRhYmFzZShhZGRVbmF0dHJp
YnV0ZWRQQ012NCwgYWRkQXR0cmlidXRlZFBDTXY1KTsKKyAgICBhdXRvIHdlYlZpZXcgPSB3ZWJW
aWV3V2l0aFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkSW5OZXR3b3JrUHJvY2VzcygpOwor
ICAgIHBvbGxVbnRpbFBDTUlzTWlncmF0ZWQod2ViVmlldy5nZXQoKSwgTWlncmF0aW5nRnJvbVJl
c291cmNlTG9hZFN0YXRpc3RpY3M6Ok5vLCBVc2luZ0Rlc3RpbmF0aW9uVG9rZW46Olllcyk7CiAg
ICAgY2xlYW5VcCgpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGIyNjhhNDExYzA4NmE1NDZhNmVkY2VjYTI5NWFiNjM4
MmMwZjQ3NDIuLmYyNTM5YjY3MGQ0MjgxMjI1MzkxOTE3ZmVjNTljZTUyNTQ0YzNiZTQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyNCBAQAorMjAyMS0xMi0xMyAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFw
cGxlLmNvbT4KKworICAgICAgICBQQ006IFJlbW92ZSBvbGQgREIgdXBkYXRlIGFuZCBtaWdyYXRp
b24gY29kZSwgYW5kIGFkZCBhIHVuaXQgdGVzdCBmb3IgZGVzdGluYXRpb24gdG9rZW4gREIgY29s
dW1ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0
MjgxCisgICAgICAgIDxyZGFyOi8vODYzNDc0Mzk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxl
eCBDaHJpc3RlbnNlbiBhbmQgS2F0ZSBDaGVuZXkuCisKKyAgICAgICAgVGhlc2UgZXhwZWN0IGZp
bGVzIGFyZSBqdXN0IHVwZGF0ZWQgd2l0aCBkZXN0aW5hdGlvbiB0b2tlbiBkdW1wIG91dHB1dC4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRp
b24tY29udmVyc2lvbi10aHJvdWdoLWZldGNoLWtlZXBhbGl2ZS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252
ZXJzaW9uLXRocm91Z2gtaW1hZ2UtcmVkaXJlY3QtZXBoZW1lcmFsLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNv
bnZlcnNpb24tdGhyb3VnaC1pbWFnZS1yZWRpcmVjdC1pbi1uZXctd2luZG93LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2F0dHJpYnV0
aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1pbWFnZS1yZWRpcmVjdC13aXRoLXByaW9yaXR5LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2F0
dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1pbWFnZS1yZWRpcmVjdC13aXRob3V0LXByaW9y
aXR5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1
cmVtZW50L3NlY29uZC1hdHRyaWJ1dGlvbi1jb252ZXJ0ZWQtd2l0aC1oaWdoZXItcHJpb3JpdHkt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQvc2Vjb25kLWF0dHJpYnV0aW9uLWNvbnZlcnRlZC13aXRoLWxvd2VyLXByaW9yaXR5LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3Nl
Y29uZC1jb252ZXJzaW9uLXdpdGgtaGlnaGVyLXByaW9yaXR5LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29uZC1jb252ZXJzaW9u
LXdpdGgtbG93ZXItcHJpb3JpdHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMv
cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvdHJpZ2dlcmluZy1ldmVudC13aXRoLWF0dHJpYnV0aW9u
LXNvdXJjZS10aHJvdWdoLWZldGNoLWtlZXBhbGl2ZS1leHBlY3RlZC50eHQ6CisKIDIwMjEtMTIt
MTMgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggcGFpbnQgb3Jk
ZXIgb2YgQ1NTIHRleHQgZGVjb3JhdGlvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJv
dWdoLWZldGNoLWtlZXBhbGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1m
ZXRjaC1rZWVwYWxpdmUtZXhwZWN0ZWQudHh0CmluZGV4IDdhOTg4ZDRiODMxNWYyMjA2YTNkYzRj
Mzg3YjBmNmVkMThiOTY5YTIuLmFlZDQ4NzRmNGQ4YjJjNmVlOWI3NTZmZDM1ZGU4MGZkYTIyZDli
NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdoLWZldGNoLWtlZXBhbGl2ZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJl
bWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91Z2gtZmV0Y2gta2VlcGFsaXZlLWV4cGVj
dGVkLnR4dApAQCAtMTIsNCArMTIsNSBAQCBTb3VyY2UgSUQ6IDMKIEF0dHJpYnV0aW9uIHRyaWdn
ZXIgZGF0YTogMTIKIEF0dHJpYnV0aW9uIHByaW9yaXR5OiAwCiBBdHRyaWJ1dGlvbiBlYXJsaWVz
dCB0aW1lIHRvIHNlbmQ6IFdpdGhpbiAyNC00OCBob3VycworRGVzdGluYXRpb24gdG9rZW46IE5v
dCBzZXQKIEFwcGxpY2F0aW9uIGJ1bmRsZSBpZGVudGlmaWVyOiBjb20uYXBwbGUuV2ViS2l0Lldl
YktpdFRlc3RSdW5uZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdoLWltYWdlLXJl
ZGlyZWN0LWVwaGVtZXJhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3By
aXZhdGVDbGlja01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1pbWFn
ZS1yZWRpcmVjdC1lcGhlbWVyYWwtZXhwZWN0ZWQudHh0CmluZGV4IGRlOGU1NDkwMTVmODE5YWI2
NzU1ZDRkOTE2MmEwMGFlN2I2OGFjNzMuLmZiMmQxZTEwMDZmZGU2MjcwYWI5MzZmYTA3MzYxYTNh
OWE4NzRhNTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdoLWltYWdlLXJlZGlyZWN0
LWVwaGVtZXJhbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91Z2gtaW1hZ2Ut
cmVkaXJlY3QtZXBoZW1lcmFsLWV4cGVjdGVkLnR4dApAQCAtOSw0ICs5LDUgQEAgU291cmNlIElE
OiAzCiBBdHRyaWJ1dGlvbiB0cmlnZ2VyIGRhdGE6IDEyCiBBdHRyaWJ1dGlvbiBwcmlvcml0eTog
MAogQXR0cmlidXRpb24gZWFybGllc3QgdGltZSB0byBzZW5kOiBXaXRoaW4gMjQtNDggaG91cnMK
K0Rlc3RpbmF0aW9uIHRva2VuOiBOb3Qgc2V0CiBBcHBsaWNhdGlvbiBidW5kbGUgaWRlbnRpZmll
cjogY29tLmFwcGxlLldlYktpdC5XZWJLaXRUZXN0UnVubmVyCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZl
cnNpb24tdGhyb3VnaC1pbWFnZS1yZWRpcmVjdC1pbi1uZXctd2luZG93LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRp
b24tY29udmVyc2lvbi10aHJvdWdoLWltYWdlLXJlZGlyZWN0LWluLW5ldy13aW5kb3ctZXhwZWN0
ZWQudHh0CmluZGV4IGZhYjFkNWQzMmNlMTg0MDJmMjhhOTJhOTA5YjJlN2JkODhhOWE5NWYuLmI4
NGJkZGY0NDExOWMwZjEwNzZmY2Q1MGIzZWNhNDJiYmY4MWFiODggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29u
dmVyc2lvbi10aHJvdWdoLWltYWdlLXJlZGlyZWN0LWluLW5ldy13aW5kb3ctZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0
cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdoLWltYWdlLXJlZGlyZWN0LWluLW5ldy13aW5kb3ct
ZXhwZWN0ZWQudHh0CkBAIC05LDQgKzksNSBAQCBTb3VyY2UgSUQ6IDMKIEF0dHJpYnV0aW9uIHRy
aWdnZXIgZGF0YTogMTIKIEF0dHJpYnV0aW9uIHByaW9yaXR5OiAzCiBBdHRyaWJ1dGlvbiBlYXJs
aWVzdCB0aW1lIHRvIHNlbmQ6IFdpdGhpbiAyNC00OCBob3VycworRGVzdGluYXRpb24gdG9rZW46
IE5vdCBzZXQKIEFwcGxpY2F0aW9uIGJ1bmRsZSBpZGVudGlmaWVyOiBjb20uYXBwbGUuV2ViS2l0
LldlYktpdFRlc3RSdW5uZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQvYXR0cmlidXRpb24tY29udmVyc2lvbi10aHJvdWdoLWltYWdl
LXJlZGlyZWN0LXdpdGgtcHJpb3JpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91
Z2gtaW1hZ2UtcmVkaXJlY3Qtd2l0aC1wcmlvcml0eS1leHBlY3RlZC50eHQKaW5kZXggMzdjOWJh
NmE0MjMwZWU1NTJkOGU2MzJjMmEwMTg3ODQxNWMyYzRhNi4uYzcyYjNkMWYxODFhODFkOGFhNTEy
ZWJkN2Q2NThhNDNkMzBmNDdlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91Z2gtaW1h
Z2UtcmVkaXJlY3Qtd2l0aC1wcmlvcml0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9u
LXRocm91Z2gtaW1hZ2UtcmVkaXJlY3Qtd2l0aC1wcmlvcml0eS1leHBlY3RlZC50eHQKQEAgLTks
NCArOSw1IEBAIFNvdXJjZSBJRDogMwogQXR0cmlidXRpb24gdHJpZ2dlciBkYXRhOiAxMgogQXR0
cmlidXRpb24gcHJpb3JpdHk6IDMKIEF0dHJpYnV0aW9uIGVhcmxpZXN0IHRpbWUgdG8gc2VuZDog
V2l0aGluIDI0LTQ4IGhvdXJzCitEZXN0aW5hdGlvbiB0b2tlbjogTm90IHNldAogQXBwbGljYXRp
b24gYnVuZGxlIGlkZW50aWZpZXI6IGNvbS5hcHBsZS5XZWJLaXQuV2ViS2l0VGVzdFJ1bm5lcgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dC9hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXRocm91Z2gtaW1hZ2UtcmVkaXJlY3Qtd2l0aG91dC1w
cmlvcml0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlj
a01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1pbWFnZS1yZWRpcmVj
dC13aXRob3V0LXByaW9yaXR5LWV4cGVjdGVkLnR4dAppbmRleCBlN2E1Njg2MTM3Y2M3OWRlYTBj
NGE1M2E3ZTQyZWIzMDhkZWQ2YzNmLi5iZmZhODhjZmQ4YjE0ZjU4Y2ExNjE0N2M0OTg3ODg2NWZi
MTlmNTg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01l
YXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1pbWFnZS1yZWRpcmVjdC13
aXRob3V0LXByaW9yaXR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2F0dHJpYnV0aW9uLWNvbnZlcnNpb24tdGhyb3VnaC1p
bWFnZS1yZWRpcmVjdC13aXRob3V0LXByaW9yaXR5LWV4cGVjdGVkLnR4dApAQCAtOSw0ICs5LDUg
QEAgU291cmNlIElEOiAzCiBBdHRyaWJ1dGlvbiB0cmlnZ2VyIGRhdGE6IDEyCiBBdHRyaWJ1dGlv
biBwcmlvcml0eTogMAogQXR0cmlidXRpb24gZWFybGllc3QgdGltZSB0byBzZW5kOiBXaXRoaW4g
MjQtNDggaG91cnMKK0Rlc3RpbmF0aW9uIHRva2VuOiBOb3Qgc2V0CiBBcHBsaWNhdGlvbiBidW5k
bGUgaWRlbnRpZmllcjogY29tLmFwcGxlLldlYktpdC5XZWJLaXRUZXN0UnVubmVyCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29u
ZC1hdHRyaWJ1dGlvbi1jb252ZXJ0ZWQtd2l0aC1oaWdoZXItcHJpb3JpdHktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zZWNvbmQt
YXR0cmlidXRpb24tY29udmVydGVkLXdpdGgtaGlnaGVyLXByaW9yaXR5LWV4cGVjdGVkLnR4dApp
bmRleCAwZjY4ODNkZDNhOTllNzBlZTlmZjc3NDhiMGRlY2UyMmM2Y2E2ZTE3Li41MWIyYjkzODE2
Mjk2YjNiY2E5YmVkNzk1NmMyYjQxYmRmNTYwZGRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29uZC1hdHRyaWJ1dGlvbi1jb252
ZXJ0ZWQtd2l0aC1oaWdoZXItcHJpb3JpdHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2Vjb25kLWF0dHJpYnV0aW9uLWNv
bnZlcnRlZC13aXRoLWhpZ2hlci1wcmlvcml0eS1leHBlY3RlZC50eHQKQEAgLTksNCArOSw1IEBA
IFNvdXJjZSBJRDogNAogQXR0cmlidXRpb24gdHJpZ2dlciBkYXRhOiAxMgogQXR0cmlidXRpb24g
cHJpb3JpdHk6IDQKIEF0dHJpYnV0aW9uIGVhcmxpZXN0IHRpbWUgdG8gc2VuZDogV2l0aGluIDI0
LTQ4IGhvdXJzCitEZXN0aW5hdGlvbiB0b2tlbjogTm90IHNldAogQXBwbGljYXRpb24gYnVuZGxl
IGlkZW50aWZpZXI6IGNvbS5hcHBsZS5XZWJLaXQuV2ViS2l0VGVzdFJ1bm5lcgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zZWNvbmQt
YXR0cmlidXRpb24tY29udmVydGVkLXdpdGgtbG93ZXItcHJpb3JpdHktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zZWNvbmQtYXR0
cmlidXRpb24tY29udmVydGVkLXdpdGgtbG93ZXItcHJpb3JpdHktZXhwZWN0ZWQudHh0CmluZGV4
IDY1ODJhM2Q3YzAxYzRlMTJlZWM0NTk1YWI3ODE5YzMxMjRmZjAyODYuLmIxMWFkM2Q5YmNhNWYx
YTM3N2FjY2FiMDk5MTcyZDI0MzVlNjY3MDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2Vjb25kLWF0dHJpYnV0aW9uLWNvbnZlcnRl
ZC13aXRoLWxvd2VyLXByaW9yaXR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29uZC1hdHRyaWJ1dGlvbi1jb252ZXJ0
ZWQtd2l0aC1sb3dlci1wcmlvcml0eS1leHBlY3RlZC50eHQKQEAgLTksNCArOSw1IEBAIFNvdXJj
ZSBJRDogMwogQXR0cmlidXRpb24gdHJpZ2dlciBkYXRhOiAxMgogQXR0cmlidXRpb24gcHJpb3Jp
dHk6IDQKIEF0dHJpYnV0aW9uIGVhcmxpZXN0IHRpbWUgdG8gc2VuZDogV2l0aGluIDI0LTQ4IGhv
dXJzCitEZXN0aW5hdGlvbiB0b2tlbjogTm90IHNldAogQXBwbGljYXRpb24gYnVuZGxlIGlkZW50
aWZpZXI6IGNvbS5hcHBsZS5XZWJLaXQuV2ViS2l0VGVzdFJ1bm5lcgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zZWNvbmQtY29udmVy
c2lvbi13aXRoLWhpZ2hlci1wcmlvcml0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29uZC1jb252ZXJzaW9uLXdpdGgtaGln
aGVyLXByaW9yaXR5LWV4cGVjdGVkLnR4dAppbmRleCAyOTU5ZjI3ZDY3NTQwNWMzOGVjYmZiZWI5
YmJkZjViODg4YzkyMjY0Li5mODgxMDI0NDU3ZTEzYjMwYjFlNjRkYzVlNmU3ZDMyYjAwNzU0Y2M1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L3NlY29uZC1jb252ZXJzaW9uLXdpdGgtaGlnaGVyLXByaW9yaXR5LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlY29u
ZC1jb252ZXJzaW9uLXdpdGgtaGlnaGVyLXByaW9yaXR5LWV4cGVjdGVkLnR4dApAQCAtOSw0ICs5
LDUgQEAgU291cmNlIElEOiAzCiBBdHRyaWJ1dGlvbiB0cmlnZ2VyIGRhdGE6IDEyCiBBdHRyaWJ1
dGlvbiBwcmlvcml0eTogNAogQXR0cmlidXRpb24gZWFybGllc3QgdGltZSB0byBzZW5kOiBXaXRo
aW4gMjQtNDggaG91cnMKK0Rlc3RpbmF0aW9uIHRva2VuOiBOb3Qgc2V0CiBBcHBsaWNhdGlvbiBi
dW5kbGUgaWRlbnRpZmllcjogY29tLmFwcGxlLldlYktpdC5XZWJLaXRUZXN0UnVubmVyCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3Nl
Y29uZC1jb252ZXJzaW9uLXdpdGgtbG93ZXItcHJpb3JpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zZWNvbmQtY29udmVyc2lv
bi13aXRoLWxvd2VyLXByaW9yaXR5LWV4cGVjdGVkLnR4dAppbmRleCBmNmFmZjQ4ZmUzOWEyZTcz
ZWI2NjM3OTAwYTk0NDRlZjc3MDc0OTc1Li45ZjcwNmVmYjZkM2Q2OWMwYjY0YTI1OGU1ZGRmMjNh
Y2ZiNGJjNGYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlj
a01lYXN1cmVtZW50L3NlY29uZC1jb252ZXJzaW9uLXdpdGgtbG93ZXItcHJpb3JpdHktZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQvc2Vjb25kLWNvbnZlcnNpb24td2l0aC1sb3dlci1wcmlvcml0eS1leHBlY3RlZC50eHQKQEAg
LTksNCArOSw1IEBAIFNvdXJjZSBJRDogMwogQXR0cmlidXRpb24gdHJpZ2dlciBkYXRhOiAxMgog
QXR0cmlidXRpb24gcHJpb3JpdHk6IDQKIEF0dHJpYnV0aW9uIGVhcmxpZXN0IHRpbWUgdG8gc2Vu
ZDogV2l0aGluIDI0LTQ4IGhvdXJzCitEZXN0aW5hdGlvbiB0b2tlbjogTm90IHNldAogQXBwbGlj
YXRpb24gYnVuZGxlIGlkZW50aWZpZXI6IGNvbS5hcHBsZS5XZWJLaXQuV2ViS2l0VGVzdFJ1bm5l
cgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJl
bWVudC90cmlnZ2VyaW5nLWV2ZW50LXdpdGgtYXR0cmlidXRpb24tc291cmNlLXRocm91Z2gtZmV0
Y2gta2VlcGFsaXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQvdHJpZ2dlcmluZy1ldmVudC13aXRoLWF0dHJpYnV0aW9uLXNvdXJj
ZS10aHJvdWdoLWZldGNoLWtlZXBhbGl2ZS1leHBlY3RlZC50eHQKaW5kZXggMDI4MjQ3OTg5Yjk5
ZmNmYjFhNjVlZGZhYjQ4MGE0N2E4MjMwNTE0YS4uYzM0ZGUxOTIyM2QwNmEzOGI0YzAzOGM5MmY1
NjcyYTUzZmQzMzdjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC90cmlnZ2VyaW5nLWV2ZW50LXdpdGgtYXR0cmlidXRpb24tc291cmNl
LXRocm91Z2gtZmV0Y2gta2VlcGFsaXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3RyaWdnZXJpbmctZXZlbnQtd2l0aC1h
dHRyaWJ1dGlvbi1zb3VyY2UtdGhyb3VnaC1mZXRjaC1rZWVwYWxpdmUtZXhwZWN0ZWQudHh0CkBA
IC0xMiw0ICsxMiw1IEBAIFNvdXJjZSBJRDogMwogQXR0cmlidXRpb24gdHJpZ2dlciBkYXRhOiAx
MgogQXR0cmlidXRpb24gcHJpb3JpdHk6IDAKIEF0dHJpYnV0aW9uIGVhcmxpZXN0IHRpbWUgdG8g
c2VuZDogV2l0aGluIDI0LTQ4IGhvdXJzCitEZXN0aW5hdGlvbiB0b2tlbjogTm90IHNldAogQXBw
bGljYXRpb24gYnVuZGxlIGlkZW50aWZpZXI6IHRlc3RCdW5kbGVJRAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>