<?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>222200</bug_id>
          
          <creation_ts>2021-02-19 14:16:28 -0800</creation_ts>
          <short_desc>Make format of release logging more consistent to facilitate grepping</short_desc>
          <delta_ts>2021-02-19 16:47: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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1731584</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-19 14:16:28 -0800</bug_when>
    <thetext>Improve ProvisionalPageProxy release logging and align format with WebPageProxy logging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731586</commentid>
    <comment_count>1</comment_count>
      <attachid>421031</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-19 14:17:13 -0800</bug_when>
    <thetext>Created attachment 421031
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731608</commentid>
    <comment_count>2</comment_count>
      <attachid>421038</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-19 14:56:03 -0800</bug_when>
    <thetext>Created attachment 421038
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731677</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-19 16:46:49 -0800</bug_when>
    <thetext>Committed r273183: &lt;https://commits.webkit.org/r273183&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421038.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731678</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-19 16:47:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/74543117&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421031</attachid>
            <date>2021-02-19 14:17:13 -0800</date>
            <delta_ts>2021-02-19 14:56:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222200-20210219141712.patch</filename>
            <type>text/plain</type>
            <size>10405</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI0MzFhNTgwZjMxMjRmNTlm
NzVhODA3OWJjMzA5MjJmM2I5YjhlZTEuLmYzYzU2N2FjZTc5YTJjYzc4OWJhNzczZGMxNTQ4MjYw
YjI0ZTljNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMDItMTkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBJbXByb3ZlIFByb3Zpc2lvbmFsUGFn
ZVByb3h5IHJlbGVhc2UgbG9nZ2luZyBhbmQgYWxpZ24gZm9ybWF0IHdpdGggV2ViUGFnZVByb3h5
IGxvZ2dpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyMjIwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
UHJvdmlzaW9uYWxQYWdlUHJveHk6OlByb3Zpc2lvbmFsUGFnZVByb3h5KToKKyAgICAgICAgKFdl
YktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6OnByb2Nlc3NEaWRUZXJtaW5hdGUpOgorICAgICAg
ICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6Y2FuY2VsKToKKyAgICAgICAgKFdlYktp
dDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6OmxvYWREYXRhKToKKyAgICAgICAgKFdlYktpdDo6UHJv
dmlzaW9uYWxQYWdlUHJveHk6OmxvYWRSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6UHJvdmlz
aW9uYWxQYWdlUHJveHk6OmdvVG9CYWNrRm9yd2FyZEl0ZW0pOgorICAgICAgICAoV2ViS2l0OjpQ
cm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkQ3JlYXRlTWFpbkZyYW1lKToKKyAgICAgICAgKFdlYktp
dDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUp
OgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkRmFpbFByb3Zpc2lv
bmFsTG9hZEZvckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6
OmRpZENvbW1pdExvYWRGb3JGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OlByb3Zpc2lvbmFsUGFn
ZVByb3h5OjpkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKwogMjAy
MS0wMi0xOSAgUGVyIEFybmUgIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgbm90
aWZ5ZCBtZXNzYWdlIGZpbHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlz
aW9uYWxQYWdlUHJveHkuY3BwCmluZGV4IDMwMWQwZWQ4MzBkYmVkOTA4Y2JiMjc4ODZmMDRhOGZl
ZWE5ZmQ4OWUuLjI5NDdmZjU5OTU5OTIzZjk5NDZiYzE3YzRmZDQ1NmNlOWE0ZmY2YTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAKQEAg
LTUyLDggKzUyLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCi0jZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoY2hhbm5lbCwgZm10LCAuLi4p
IFJFTEVBU0VfTE9HX0lGKG1fcGFnZS5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgY2hhbm5l
bCwgIiVwIC0gUHJvdmlzaW9uYWxQYWdlUHJveHk6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19f
KQotI2RlZmluZSBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4u
KSBSRUxFQVNFX0xPR19FUlJPUl9JRihtX3BhZ2UuaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCks
IGNoYW5uZWwsICIlcCAtIFByb3Zpc2lvbmFsUGFnZVByb3h5OjoiIGZtdCwgdGhpcywgIyNfX1ZB
X0FSR1NfXykKKyNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChjaGFubmVsLCBmbXQsIC4u
LikgUkVMRUFTRV9MT0dfSUYobV9wYWdlLmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBjaGFu
bmVsLCAiJXAgLSBbcGFnZVByb3h5SUQ9JSIgUFJJdTY0ICIsIHdlYlBhZ2VJRD0lIiBQUkl1NjQg
IiwgUElEPSVpLCBuYXZpZ2F0aW9uSUQ9JSIgUFJJdTY0ICJdIFByb3Zpc2lvbmFsUGFnZVByb3h5
OjoiIGZtdCwgdGhpcywgbV9wYWdlLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCBtX3dlYlBhZ2VJ
RC50b1VJbnQ2NCgpLCBtX3Byb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCksIG1fbmF2aWdhdGlv
bklELCAjI19fVkFfQVJHU19fKQorI2RlZmluZSBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VE
KGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19FUlJPUl9JRihtX3BhZ2UuaXNBbHdheXNP
bkxvZ2dpbmdBbGxvd2VkKCksIGNoYW5uZWwsICIlcCAtIFtwYWdlUHJveHlJRD0lIiBQUkl1NjQg
Iiwgd2ViUGFnZUlEPSUiIFBSSXU2NCAiLCBQSUQ9JWksIG5hdmlnYXRpb25JRD0lIiBQUkl1NjQg
Il0gUHJvdmlzaW9uYWxQYWdlUHJveHk6OiIgZm10LCB0aGlzLCBtX3BhZ2UuaWRlbnRpZmllcigp
LnRvVUludDY0KCksIG1fd2ViUGFnZUlELnRvVUludDY0KCksIG1fcHJvY2Vzcy0+cHJvY2Vzc0lk
ZW50aWZpZXIoKSwgbV9uYXZpZ2F0aW9uSUQsICMjX19WQV9BUkdTX18pCiAKIFByb3Zpc2lvbmFs
UGFnZVByb3h5OjpQcm92aXNpb25hbFBhZ2VQcm94eShXZWJQYWdlUHJveHkmIHBhZ2UsIFJlZjxX
ZWJQcm9jZXNzUHJveHk+JiYgcHJvY2Vzcywgc3RkOjp1bmlxdWVfcHRyPFN1c3BlbmRlZFBhZ2VQ
cm94eT4gc3VzcGVuZGVkUGFnZSwgdWludDY0X3QgbmF2aWdhdGlvbklELCBib29sIGlzU2VydmVy
UmVkaXJlY3QsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUHJvY2Vz
c1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCBwcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50LCBBUEk6
OldlYnNpdGVQb2xpY2llcyogd2Vic2l0ZVBvbGljaWVzKQogICAgIDogbV9wYWdlKHBhZ2UpCkBA
IC03MCw3ICs3MCw3IEBAIFByb3Zpc2lvbmFsUGFnZVByb3h5OjpQcm92aXNpb25hbFBhZ2VQcm94
eShXZWJQYWdlUHJveHkmIHBhZ2UsIFJlZjxXZWJQcm9jZXNzUHJvCiAgICAgLCBtX2NvbnRleHRJ
REZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihzdXNwZW5kZWRQYWdlID8gc3VzcGVuZGVkUGFnZS0+
Y29udGV4dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKCkgOiAwKQogI2VuZGlmCiB7Ci0gICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3dhcHBpbmcsICJQcm92aXNpb25hbFBhZ2VQ
cm94eTogcGFnZVByb3h5SUQ9JSIgUFJJdTY0ICIgd2ViUGFnZUlEPSUiIFBSSXU2NCAiIG5hdmln
YXRpb25JRD0lIiBQUkl1NjQgIiBzdXNwZW5kZWRQYWdlOiAlcCIsIG1fcGFnZS5pZGVudGlmaWVy
KCkudG9VSW50NjQoKSwgbV93ZWJQYWdlSUQudG9VSW50NjQoKSwgbmF2aWdhdGlvbklELCBzdXNw
ZW5kZWRQYWdlLmdldCgpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NTd2Fw
cGluZywgIlByb3Zpc2lvbmFsUGFnZVByb3h5OiBzdXNwZW5kZWRQYWdlOiAlcCIsIHN1c3BlbmRl
ZFBhZ2UuZ2V0KCkpOwogCiAgICAgbV9wcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3dlYlBhZ2VJRCwgKnRo
aXMpOwogICAgIG1fcHJvY2Vzcy0+YWRkUHJvdmlzaW9uYWxQYWdlUHJveHkoKnRoaXMpOwpAQCAt
MTEyLDcgKzExMiw3IEBAIFByb3Zpc2lvbmFsUGFnZVByb3h5Ojp+UHJvdmlzaW9uYWxQYWdlUHJv
eHkoKQogCiB2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5Ojpwcm9jZXNzRGlkVGVybWluYXRlKCkK
IHsKLSAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKFByb2Nlc3NTd2FwcGluZywgInBy
b2Nlc3NEaWRUZXJtaW5hdGU6IHBhZ2VQcm94eUlEPSUiIFBSSXU2NCAiIHdlYlBhZ2VJRD0lIiBQ
Ukl1NjQsIG1fcGFnZS5pZGVudGlmaWVyKCkudG9VSW50NjQoKSwgbV93ZWJQYWdlSUQudG9VSW50
NjQoKSk7CisgICAgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChQcm9jZXNzU3dhcHBpbmcs
ICJwcm9jZXNzRGlkVGVybWluYXRlOiIpOwogICAgIG1fcGFnZS5wcm92aXNpb25hbFByb2Nlc3NE
aWRUZXJtaW5hdGUoKTsKIH0KIApAQCAtMTI5LDcgKzEyOSw3IEBAIHZvaWQgUHJvdmlzaW9uYWxQ
YWdlUHJveHk6OmNhbmNlbCgpCiAgICAgICAgIAogICAgIEFTU0VSVChtX3Byb2Nlc3MtPnN0YXRl
KCkgPT0gV2ViUHJvY2Vzc1Byb3h5OjpTdGF0ZTo6UnVubmluZyk7CiAKLSAgICBSRUxFQVNFX0xP
R19JRl9BTExPV0VEKFByb2Nlc3NTd2FwcGluZywgImNhbmNlbDogU2ltdWxhdGluZyBhIGRpZEZh
aWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSBmb3IgcGFnZVByb3h5SUQ9JSIgUFJJdTY0ICIgd2Vi
UGFnZUlEPSUiIFBSSXU2NCwgbV9wYWdlLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCBtX3dlYlBh
Z2VJRC50b1VJbnQ2NCgpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NTd2Fw
cGluZywgImNhbmNlbDogU2ltdWxhdGluZyBhIGRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFt
ZSIpOwogICAgIEFTU0VSVChtX21haW5GcmFtZSk7CiAgICAgYXV0byBlcnJvciA9IFdlYktpdDo6
Y2FuY2VsbGVkRXJyb3IobV9yZXF1ZXN0KTsKICAgICBlcnJvci5zZXRUeXBlKFdlYkNvcmU6OlJl
c291cmNlRXJyb3I6OlR5cGU6OkNhbmNlbGxhdGlvbik7CkBAIC0xNTgsMTQgKzE1OCwxNCBAQCB2
b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5Ojppbml0aWFsaXplV2ViUGFnZShSZWZQdHI8QVBJOjpX
ZWJzaXRlUG9saWNpZXM+JiYgd2VicwogCiB2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5Ojpsb2Fk
RGF0YShBUEk6Ok5hdmlnYXRpb24mIG5hdmlnYXRpb24sIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5j
ZSYgZGF0YSwgY29uc3QgU3RyaW5nJiBNSU1FVHlwZSwgY29uc3QgU3RyaW5nJiBlbmNvZGluZywg
Y29uc3QgU3RyaW5nJiBiYXNlVVJMLCBBUEk6Ok9iamVjdCogdXNlckRhdGEsIE9wdGlvbmFsPE5h
dmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBP
cHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmIHdlYnNpdGVQb2xpY2llcykKIHsKLSAgICBS
RUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NTd2FwcGluZywgImxvYWREYXRhOiBwYWdlUHJv
eHlJRD0lIiBQUkl1NjQgIiB3ZWJQYWdlSUQ9JSIgUFJJdTY0LCBtX3BhZ2UuaWRlbnRpZmllcigp
LnRvVUludDY0KCksIG1fd2ViUGFnZUlELnRvVUludDY0KCkpOworICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoUHJvY2Vzc1N3YXBwaW5nLCAibG9hZERhdGE6Iik7CiAKICAgICBtX3BhZ2UubG9h
ZERhdGFXaXRoTmF2aWdhdGlvblNoYXJlZChtX3Byb2Nlc3MuY29weVJlZigpLCBtX3dlYlBhZ2VJ
RCwgbmF2aWdhdGlvbiwgZGF0YSwgTUlNRVR5cGUsIGVuY29kaW5nLCBiYXNlVVJMLCB1c2VyRGF0
YSwgV2ViQ29yZTo6U2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkOjpZZXMsIGlzTmF2aWdhdGlu
Z1RvQXBwQm91bmREb21haW4sIFdURk1vdmUod2Vic2l0ZVBvbGljaWVzKSwgbmF2aWdhdGlvbi5s
YXN0TmF2aWdhdGlvbkFjdGlvbigpLnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kpOwogfQog
CiB2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5Ojpsb2FkUmVxdWVzdChBUEk6Ok5hdmlnYXRpb24m
IG5hdmlnYXRpb24sIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIEFQSTo6T2Jq
ZWN0KiB1c2VyRGF0YSwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+IGlzTmF2
aWdhdGluZ1RvQXBwQm91bmREb21haW4sIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYg
d2Vic2l0ZVBvbGljaWVzKQogewotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N3
YXBwaW5nLCAibG9hZFJlcXVlc3Q6IHBhZ2VQcm94eUlEPSUiIFBSSXU2NCAiIHdlYlBhZ2VJRD0l
IiBQUkl1NjQsIG1fcGFnZS5pZGVudGlmaWVyKCkudG9VSW50NjQoKSwgbV93ZWJQYWdlSUQudG9V
SW50NjQoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3dhcHBpbmcsICJs
b2FkUmVxdWVzdDoiKTsKIAogICAgIC8vIElmIHRoaXMgaXMgYSBjbGllbnQtc2lkZSByZWRpcmVj
dCBjb250aW51aW5nIGluIGEgbmV3IHByb2Nlc3MsIHRoZW4gdGhlIG5ldyBwcm9jZXNzIHdpbGwg
b3ZlcndyaXRlIHRoZSBmcm9tSXRlbSdzIFVSTC4gSW4gdGhpcyBjYXNlLAogICAgIC8vIHdlIG5l
ZWQgdG8gbWFrZSBzdXJlIHdlIHVwZGF0ZSBmcm9tSXRlbSdzIHByb2Nlc3NJZGVudGlmaWVyIGFz
IHdlIHdhbnQgZnV0dXJlIG5hdmlnYXRpb25zIHRvIHRoaXMgQmFja0ZvcndhcmQgaXRlbSB0byBo
YXBwZW4gaW4gdGhlCkBAIC0xNzgsNyArMTc4LDcgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94
eTo6bG9hZFJlcXVlc3QoQVBJOjpOYXZpZ2F0aW9uJiBuYXZpZ2F0aW9uLCBXZWJDb3JlOjpSZXMK
IAogdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6Z29Ub0JhY2tGb3J3YXJkSXRlbShBUEk6Ok5h
dmlnYXRpb24mIG5hdmlnYXRpb24sIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mIGl0ZW0sIFJlZlB0
cjxBUEk6OldlYnNpdGVQb2xpY2llcz4mJiB3ZWJzaXRlUG9saWNpZXMpCiB7Ci0gICAgUkVMRUFT
RV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3dhcHBpbmcsICJnb1RvQmFja0ZvcndhcmRJdGVtOiBw
YWdlUHJveHlJRD0lIiBQUkl1NjQgIiB3ZWJQYWdlSUQ9JSIgUFJJdTY0LCBtX3BhZ2UuaWRlbnRp
ZmllcigpLnRvVUludDY0KCksIG1fd2ViUGFnZUlELnRvVUludDY0KCkpOworICAgIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N3YXBwaW5nLCAiZ29Ub0JhY2tGb3J3YXJkSXRlbToiKTsK
IAogICAgIGF1dG8gaXRlbVN0YXRlcyA9IG1fcGFnZS5iYWNrRm9yd2FyZExpc3QoKS5maWx0ZXJl
ZEl0ZW1TdGF0ZXMoW3RoaXMsIHRhcmdldEl0ZW0gPSAmaXRlbV0oYXV0byYgaXRlbSkgewogICAg
ICAgICBpZiAoYXV0byogYmFja0ZvcndhcmRDYWNoZUVudHJ5ID0gaXRlbS5iYWNrRm9yd2FyZENh
Y2hlRW50cnkoKSkgewpAQCAtMjA4LDcgKzIwOCw3IEBAIGlubGluZSBib29sIFByb3Zpc2lvbmFs
UGFnZVByb3h5Ojp2YWxpZGF0ZUlucHV0KEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBP
CiAKIHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZENyZWF0ZU1haW5GcmFtZShGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCkKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NT
d2FwcGluZywgImRpZENyZWF0ZU1haW5GcmFtZTogcGFnZVByb3h5SUQ9JSIgUFJJdTY0ICIgd2Vi
UGFnZUlEPSUiIFBSSXU2NCAiLCBmcmFtZUlEPSUiIFBSSXU2NCwgbV9wYWdlLmlkZW50aWZpZXIo
KS50b1VJbnQ2NCgpLCBtX3dlYlBhZ2VJRC50b1VJbnQ2NCgpLCBmcmFtZUlELnRvVUludDY0KCkp
OworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N3YXBwaW5nLCAiZGlkQ3JlYXRl
TWFpbkZyYW1lOiBmcmFtZUlEPSUiIFBSSXU2NCwgZnJhbWVJRC50b1VJbnQ2NCgpKTsKICAgICBB
U1NFUlQoIW1fbWFpbkZyYW1lKTsKIAogICAgIG1fbWFpbkZyYW1lID0gV2ViRnJhbWVQcm94eTo6
Y3JlYXRlKG1fcGFnZSwgZnJhbWVJRCk7CkBAIC0yNDYsNyArMjQ2LDcgQEAgdm9pZCBQcm92aXNp
b25hbFBhZ2VQcm94eTo6ZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZShGcmFtZUlkZW50
aWZpZXIgZnJhbWUKICAgICBpZiAoIXZhbGlkYXRlSW5wdXQoZnJhbWVJRCwgbmF2aWdhdGlvbklE
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNz
U3dhcHBpbmcsICJkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOiBwYWdlUHJveHlJRD0l
IiBQUkl1NjQgIiB3ZWJQYWdlSUQ9JSIgUFJJdTY0ICIsIGZyYW1lSUQ9JSIgUFJJdTY0ICIsIG5h
dmlnYXRpb25JRD0lIiBQUkl1NjQsIG1fcGFnZS5pZGVudGlmaWVyKCkudG9VSW50NjQoKSwgbV93
ZWJQYWdlSUQudG9VSW50NjQoKSwgZnJhbWVJRC50b1VJbnQ2NCgpLCBuYXZpZ2F0aW9uSUQpOwor
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N3YXBwaW5nLCAiZGlkU3RhcnRQcm92
aXNpb25hbExvYWRGb3JGcmFtZTogZnJhbWVJRD0lIiBQUkl1NjQsIGZyYW1lSUQudG9VSW50NjQo
KSk7CiAgICAgQVNTRVJUKG1fcHJvdmlzaW9uYWxMb2FkVVJMLmlzTnVsbCgpKTsKICAgICBtX3By
b3Zpc2lvbmFsTG9hZFVSTCA9IHVybDsKIApAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgUHJvdmlz
aW9uYWxQYWdlUHJveHk6OmRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZShGcmFtZUlkZW50
aWZpZXIgZnJhbWVJCiAgICAgaWYgKCF2YWxpZGF0ZUlucHV0KGZyYW1lSUQsIG5hdmlnYXRpb25J
RCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQo
UHJvY2Vzc1N3YXBwaW5nLCAiZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOiBwYWdlUHJv
eHlJRD0lIiBQUkl1NjQgIiB3ZWJQYWdlSUQ9JSIgUFJJdTY0ICIsIGZyYW1lSUQ9JSIgUFJJdTY0
ICIsIG5hdmlnYXRpb25JRD0lIiBQUkl1NjQsIG1fcGFnZS5pZGVudGlmaWVyKCkudG9VSW50NjQo
KSwgbV93ZWJQYWdlSUQudG9VSW50NjQoKSwgZnJhbWVJRC50b1VJbnQ2NCgpLCBuYXZpZ2F0aW9u
SUQpOworICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoUHJvY2Vzc1N3YXBwaW5nLCAi
ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOiBmcmFtZUlEPSUiIFBSSXU2NCwgZnJhbWVJ
RC50b1VJbnQ2NCgpKTsKICAgICBBU1NFUlQoIW1fcHJvdmlzaW9uYWxMb2FkVVJMLmlzTnVsbCgp
KTsKICAgICBtX3Byb3Zpc2lvbmFsTG9hZFVSTCA9IHsgfTsKIApAQCAtMjgyLDcgKzI4Miw3IEBA
IHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZShGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgRnJhbWVJCiAgICAgaWYgKCF2YWxpZGF0ZUlucHV0KGZyYW1lSUQs
IG5hdmlnYXRpb25JRCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoUHJvY2Vzc1N3YXBwaW5nLCAiZGlkQ29tbWl0TG9hZEZvckZyYW1lOiBwYWdlUHJveHlJ
RD0lIiBQUkl1NjQgIiB3ZWJQYWdlSUQ9JSIgUFJJdTY0ICIsIGZyYW1lSUQ9JSIgUFJJdTY0ICIs
IG5hdmlnYXRpb25JRCA9ICUiIFBSSXU2NCwgbV9wYWdlLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgp
LCBtX3dlYlBhZ2VJRC50b1VJbnQ2NCgpLCBmcmFtZUlELnRvVUludDY0KCksIG5hdmlnYXRpb25J
RCk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3dhcHBpbmcsICJkaWRDb21t
aXRMb2FkRm9yRnJhbWU6IGZyYW1lSUQ9JSIgUFJJdTY0LCBmcmFtZUlELnRvVUludDY0KCkpOwog
ICAgIG1fcHJvdmlzaW9uYWxMb2FkVVJMID0geyB9OwogICAgIG1fcHJvY2Vzcy0+cmVtb3ZlTWVz
c2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUo
KSwgbV93ZWJQYWdlSUQpOwogCkBAIC0zOTQsNyArMzk0LDcgQEAgdm9pZCBQcm92aXNpb25hbFBh
Z2VQcm94eTo6Y29udGVudEZpbHRlckRpZEJsb2NrTG9hZEZvckZyYW1lKGNvbnN0IFdlYkNvcmU6
OkNvbnQKICNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKIHZvaWQgUHJvdmlz
aW9uYWxQYWdlUHJveHk6OmRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24o
TGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJRCkKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9B
TExPV0VEKFByb2Nlc3NTd2FwcGluZywgImRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJv
cGFnYXRpb246IGNvbnRleHRJRD0ldSBwYWdlUHJveHlJRD0lIiBQUkl1NjQgIiB3ZWJQYWdlSUQ9
JSIgUFJJdTY0LCBjb250ZXh0SUQsIG1fcGFnZS5pZGVudGlmaWVyKCkudG9VSW50NjQoKSwgbV93
ZWJQYWdlSUQudG9VSW50NjQoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNz
U3dhcHBpbmcsICJkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uOiBjb250
ZXh0SUQ9JXUiLCBjb250ZXh0SUQpOwogICAgIG1fY29udGV4dElERm9yVmlzaWJpbGl0eVByb3Bh
Z2F0aW9uID0gY29udGV4dElEOwogfQogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421038</attachid>
            <date>2021-02-19 14:56:03 -0800</date>
            <delta_ts>2021-02-19 16:46:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222200-20210219145603.patch</filename>
            <type>text/plain</type>
            <size>85513</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODY0ZTkwYTdkNWJkNDMx
MzlmZmU1NTIxNzc1YzE2YTEyMWJiMTE1My4uMzJiOTA5YmRkODA1NzEyZjFiN2M4NWVjOGRjNDU3
M2YwMzkzMmVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTAyLTE5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBmb3JtYXQgb2YgcmVs
ZWFzZSBsb2dnaW5nIG1vcmUgY29uc2lzdGVudCB0byBmYWNpbGl0YXRlIGdyZXBwaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjIyMDAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGxvYWRlci9Eb2N1
bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c2V0TWFp
bkRvY3VtZW50RXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6Om1haW5S
ZWNlaXZlZEVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpub3RpZnlG
aW5pc2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6Y29udGludWVBZnRl
ckNvbnRlbnRQb2xpY3kpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0
TG9hZGluZ01haW5SZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
Y2FuY2VsTWFpblJlc291cmNlTG9hZCk6CisgICAgICAgICogbG9hZGVyL1N1YnJlc291cmNlTG9h
ZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjpkaWRGYWlsKToK
KyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjp3aWxsQ2FuY2VsKToKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyOjpTZXJ2aWNlV29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXI6OnVwZGF0ZVN0YXRlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29u
dGFpbmVyOjphZGRSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
ckNvbnRhaW5lcjo6dXBkYXRlUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJDb250YWluZXI6OmpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbik6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbik6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1
ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVySm9iUXVldWU6OnNjcmlwdEZldGNo
RmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJKb2JRdWV1ZTo6ZGlkUmVzb2x2
ZVJlZ2lzdHJhdGlvblByb21pc2UpOgorCiAyMDIxLTAyLTE5ICBEZXZpbiBSb3Vzc28gIDxkcm91
c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBhZGQgc3VwcG9ydCBm
b3IgQXBwbGUgUGF5IHBheW1lbnQgbWV0aG9kIG1vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNGI2ZmRjNjlmZTBi
M2M3MjliYTEyMjI5NTM5MGJjZWNmNWIxMDRiZS4uODEzY2Y0MTZhZTNlODU3NWYwNThkOTY2YTIx
MjU0YzMzMmE4ZjkwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMDQgQEAKKzIwMjEtMDItMTkgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIGZvcm1hdCBvZiBy
ZWxlYXNlIGxvZ2dpbmcgbW9yZSBjb25zaXN0ZW50IHRvIGZhY2lsaXRhdGUgZ3JlcHBpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjIwMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyOjpkaWRDb21wbGV0ZVdpdGhFcnJvcik6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0xvYWRDaGVja2VyOjpjaGVja0NPUlNSZXF1ZXN0V2l0aFByZWZsaWdodCk6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrUHJvY2Vzczo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Byb2Nlc3M6OmluaXRpYWxpemVOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKToKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBpbmdMb2FkOjpk
aWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViS2l0OjpQaW5nTG9hZDo6ZGlkQ29tcGxl
dGVXaXRoRXJyb3IpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1ByZWNvbm5lY3RUYXNrLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6UHJlY29ubmVjdFRhc2s6OmRpZEZhaWxMb2FkaW5nKToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6c3RhcnRGZXRj
aCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpOZXR3b3JrRGF0YVRh
c2tDb2NvYSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjp3aWxsUGVy
Zm9ybUhUVFBSZWRpcmVjdGlvbik6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24u
Y3BwOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp3YWl0Rm9yU3luY1JlcGx5KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQXBwbGljYXRpb25TdGF0ZVRyYWNrZXIubW06CisgICAgICAgIChXZWJL
aXQ6OkFwcGxpY2F0aW9uU3RhdGVUcmFja2VyOjpBcHBsaWNhdGlvblN0YXRlVHJhY2tlcik6Cisg
ICAgICAgICogVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3NQcm94eTo6dGVybWluYXRlKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NUaHJv
dHRsZXI6OnNldEFzc2VydGlvblR5cGUpOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzVGhyb3R0
bGVyOjp1cGRhdGVBc3NlcnRpb25JZk5lZWRlZCk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NU
aHJvdHRsZXI6OnNlbmRQcmVwYXJlVG9TdXNwZW5kSVBDKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
UHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBh
Z2VQcm94eTo6UHJvdmlzaW9uYWxQYWdlUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNp
b25hbFBhZ2VQcm94eTo6cHJvY2Vzc0RpZFRlcm1pbmF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlBy
b3Zpc2lvbmFsUGFnZVByb3h5OjpjYW5jZWwpOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25h
bFBhZ2VQcm94eTo6bG9hZERhdGEpOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQ
cm94eTo6bG9hZFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94
eTo6Z29Ub0JhY2tGb3J3YXJkSXRlbSk6CisgICAgICAgIChXZWJLaXQ6OlByb3Zpc2lvbmFsUGFn
ZVByb3h5OjpkaWRDcmVhdGVNYWluRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25h
bFBhZ2VQcm94eTo6ZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSk6CisgICAgICAgIChX
ZWJLaXQ6OlByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJh
bWUpOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkQ29tbWl0TG9h
ZEZvckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZENy
ZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJCYWNrRm9yd2FyZENhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0Zvcndh
cmRDYWNoZTo6YWRkRW50cnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZENhY2hl
OjpyZW1vdmVFbnRyeSk6CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkQ2FjaGU6OnRh
a2VTdXNwZW5kZWRQYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNo
ZUVudHJ5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5Ojpl
eHBpcmF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVjZWl2ZWROYXZpZ2F0aW9uUG9s
aWN5RGVjaXNpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNvbW1pdFByb3Zp
c2lvbmFsUGFnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29udGludWVOYXZp
Z2F0aW9uSW5OZXdQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRT
dGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lU2hhcmVkKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JG
cmFtZVNoYXJlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6d2lsbFBlcmZvcm1D
bGllbnRSZWRpcmVjdEZvckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpk
aWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5OjpkaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWVTaGFyZWQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZEZpbmlzaExvYWRGb3JGcmFtZSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkRmFpbExvYWRGb3JGcmFtZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1l
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0
aW9uQWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRQZXJmb3JtQ2xp
ZW50UmVkaXJlY3RTaGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpc3Bh
dGNoUHJvY2Vzc0RpZFRlcm1pbmF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmdwdVByb2Nlc3NDcmFz
aGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojp1cGRhdGVTZXJ2aWNlV29ya2VyUHJvY2Vzc0Fzc2Vy
dGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tOgor
ICAgICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgX3VwZGF0
ZUJhY2tncm91bmRUYXNrXSk6CisgICAgICAgICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91
bmRUYXNrTWFuYWdlciBfaGFuZGxlQmFja2dyb3VuZFRhc2tFeHBpcmF0aW9uXSk6CisgICAgICAg
ICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlciBfaGFuZGxlQmFja2dy
b3VuZFRhc2tFeHBpcmF0aW9uT25NYWluVGhyZWFkXSk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nl
c3NBc3NlcnRpb246OlByb2Nlc3NBc3NlcnRpb24pOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNz
QXNzZXJ0aW9uOjp+UHJvY2Vzc0Fzc2VydGlvbik6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NB
c3NlcnRpb246OnByb2Nlc3NBc3NlcnRpb25XYXNJbnZhbGlkYXRlZCk6CisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9XS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcubW06CisgICAgICAgICgt
W1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldyB3aWxsTW92ZVRvV2luZG93Ol0pOgorICAg
ICAgICAoLVtXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcgZGlkTW92ZVRvV2luZG93XSk6
CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tOgorICAgICAgICAoLVtX
S0NvbnRlbnRWaWV3IF9zZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXddKToKKyAgICAgICAg
KC1bV0tDb250ZW50VmlldyBfc2V0dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJv
Y2Vzc10pOgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkT2JzZXJ2ZXIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRPYnNlcnZlcjo6bG9nVXNlcklu
dGVyYWN0aW9uV2l0aFJlZHVjZWRUaW1lUmVzb2x1dGlvbik6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRSZWNl
aXZlUG9saWN5RGVjaXNpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cHJlcGFyZVRvU3VzcGVuZCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OnVwZGF0ZVByb2Nlc3NOYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
czo6dXBkYXRlRnJlZXplclN0YXR1cyk6CisKIDIwMjEtMDItMTkgIEplYW4tWXZlcyBBdmVuYXJk
ICA8anlhQGFwcGxlLmNvbT4KIAogICAgICAgICBMZWdhY3kgQ0RNIGRvZXNuJ3Qgd29yayB3aGVu
IEdQVSBtZWRpYSBwcm9jZXNzIGlzIGVuYWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwCmluZGV4IGFkNTNmNzE5ODY0Y2EzY2IyNjAzYjk4OWZkNTg4YmQ1NTQ2NzJi
NzcuLmRjY2Y1NTM4NjQ0OTBkN2U4NzU4YTQ5MDczMDE0NzQ1ZWU3ZTVlOGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMjU0LDcgKzI1NCw3IEBAIHZvaWQg
RG9jdW1lbnRMb2FkZXI6OnNldFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXEpCiB2
b2lkIERvY3VtZW50TG9hZGVyOjpzZXRNYWluRG9jdW1lbnRFcnJvcihjb25zdCBSZXNvdXJjZUVy
cm9yJiBlcnJvcikKIHsKICAgICBpZiAoIWVycm9yLmlzTnVsbCgpKQotICAgICAgICBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKCJzZXRNYWluRG9jdW1lbnRFcnJvcjogKHR5cGUgPSAlZCwgY29kZSA9
ICVkKSIsIHN0YXRpY19jYXN0PGludD4oZXJyb3IudHlwZSgpKSwgZXJyb3IuZXJyb3JDb2RlKCkp
OworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJzZXRNYWluRG9jdW1lbnRFcnJvcjog
KHR5cGU9JWQsIGNvZGU9JWQpIiwgc3RhdGljX2Nhc3Q8aW50PihlcnJvci50eXBlKCkpLCBlcnJv
ci5lcnJvckNvZGUoKSk7CiAKICAgICBtX21haW5Eb2N1bWVudEVycm9yID0gZXJyb3I7ICAgIAog
ICAgIGZyYW1lTG9hZGVyKCktPmNsaWVudCgpLnNldE1haW5Eb2N1bWVudEVycm9yKHRoaXMsIGVy
cm9yKTsKQEAgLTI2OCw3ICsyNjgsNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjptYWluUmVjZWl2
ZWRFcnJvcihjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgaWYgKCFlcnJvci5pc051bGwoKSkKLSAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgi
bWFpblJlY2VpdmVkRXJyb3I6ICh0eXBlID0gJWQsIGNvZGUgPSAlZCkiLCBzdGF0aWNfY2FzdDxp
bnQ+KGVycm9yLnR5cGUoKSksIGVycm9yLmVycm9yQ29kZSgpKTsKKyAgICAgICAgUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRCgibWFpblJlY2VpdmVkRXJyb3I6ICh0eXBlPSVkLCBjb2RlPSVkKSIsIHN0
YXRpY19jYXN0PGludD4oZXJyb3IudHlwZSgpKSwgZXJyb3IuZXJyb3JDb2RlKCkpOwogCiAgICAg
aWYgKG1faWRlbnRpZmllckZvckxvYWRXaXRob3V0UmVzb3VyY2VMb2FkZXIpIHsKICAgICAgICAg
QVNTRVJUKCFtYWluUmVzb3VyY2VMb2FkZXIoKSk7CkBAIC00MzEsNyArNDMxLDcgQEAgdm9pZCBE
b2N1bWVudExvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBj
b25zdCBOZXR3b3JrTG9hZE0KICAgICB9CiAKICAgICBpZiAoIW1fbWFpblJlc291cmNlLT5yZXNv
dXJjZUVycm9yKCkuaXNOdWxsKCkpCi0gICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIm5v
dGlmeUZpbmlzaGVkOiBjYW5jZWxpbmcgbG9hZCAodHlwZSA9ICVkLCBjb2RlID0gJWQpIiwgc3Rh
dGljX2Nhc3Q8aW50PihtX21haW5SZXNvdXJjZS0+cmVzb3VyY2VFcnJvcigpLnR5cGUoKSksIG1f
bWFpblJlc291cmNlLT5yZXNvdXJjZUVycm9yKCkuZXJyb3JDb2RlKCkpOworICAgICAgICBSRUxF
QVNFX0xPR19JRl9BTExPV0VEKCJub3RpZnlGaW5pc2hlZDogY2FuY2VsaW5nIGxvYWQgKHR5cGU9
JWQsIGNvZGU9JWQpIiwgc3RhdGljX2Nhc3Q8aW50PihtX21haW5SZXNvdXJjZS0+cmVzb3VyY2VF
cnJvcigpLnR5cGUoKSksIG1fbWFpblJlc291cmNlLT5yZXNvdXJjZUVycm9yKCkuZXJyb3JDb2Rl
KCkpOwogCiAgICAgbWFpblJlY2VpdmVkRXJyb3IobV9tYWluUmVzb3VyY2UtPnJlc291cmNlRXJy
b3IoKSk7CiB9CkBAIC0xMDA1LDcgKzEwMDUsNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpjb250
aW51ZUFmdGVyQ29udGVudFBvbGljeShQb2xpY3lBY3Rpb24gcG9saWN5KQogICAgICAgICByZXR1
cm47CiAKICAgICBpZiAoIW1fZnJhbWUpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RCgiY29udGludWVBZnRlckNvbnRlbnRQb2xpY3k6IFBvbGljeSBhY3Rpb24gJWkgcmVjZWl2ZWQg
YnkgRG9jdW1lbnRMb2FkZXIgd2l0aCBudWxsIGZyYW1lIiwgKGludClwb2xpY3kpOworICAgICAg
ICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjb250aW51ZUFmdGVyQ29udGVudFBvbGljeTogcG9s
aWN5QWN0aW9uPSVpIHJlY2VpdmVkIGJ5IERvY3VtZW50TG9hZGVyIHdpdGggbnVsbCBmcmFtZSIs
IChpbnQpcG9saWN5KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTkzMyw3ICsxOTMz
LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6c3RhcnRMb2FkaW5nTWFpblJlc291cmNlKCkKICAg
ICAgICAgICAgIGF1dG8gdXJsID0gcmVxdWVzdC51cmwoKTsKICAgICAgICAgICAgIG1hdGNoUmVn
aXN0cmF0aW9uKHVybCwgW3JlcXVlc3QgPSBXVEZNb3ZlKHJlcXVlc3QpLCBwcm90ZWN0ZWRUaGlz
ID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKSwgdGhpc10gKGF1dG8mJiByZWdpc3RyYXRpb25EYXRh
KSBtdXRhYmxlIHsKICAgICAgICAgICAgICAgICBpZiAoIW1fbWFpbkRvY3VtZW50RXJyb3IuaXNO
dWxsKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic3Rh
cnRMb2FkaW5nTWFpblJlc291cmNlIGNhbGxiYWNrOiBMb2FkIGNhbmNlbGVkIGJlY2F1c2Ugb2Yg
bWFpbiBkb2N1bWVudCBlcnJvciAodHlwZSA9ICVkLCBjb2RlID0gJWQpIiwgc3RhdGljX2Nhc3Q8
aW50PihtX21haW5Eb2N1bWVudEVycm9yLnR5cGUoKSksIG1fbWFpbkRvY3VtZW50RXJyb3IuZXJy
b3JDb2RlKCkpOworICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJz
dGFydExvYWRpbmdNYWluUmVzb3VyY2UgY2FsbGJhY2s6IExvYWQgY2FuY2VsZWQgYmVjYXVzZSBv
ZiBtYWluIGRvY3VtZW50IGVycm9yICh0eXBlPSVkLCBjb2RlPSVkKSIsIHN0YXRpY19jYXN0PGlu
dD4obV9tYWluRG9jdW1lbnRFcnJvci50eXBlKCkpLCBtX21haW5Eb2N1bWVudEVycm9yLmVycm9y
Q29kZSgpKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICBpZiAoIW1fZnJhbWUpIHsKQEAgLTIwODAsNyArMjA4MCw3IEBAIHZv
aWQgRG9jdW1lbnRMb2FkZXI6OmNhbmNlbE1haW5SZXNvdXJjZUxvYWQoY29uc3QgUmVzb3VyY2VF
cnJvciYgcmVzb3VyY2VFcnJvcikKICAgICBSZWY8RG9jdW1lbnRMb2FkZXI+IHByb3RlY3RlZFRo
aXMoKnRoaXMpOwogICAgIFJlc291cmNlRXJyb3IgZXJyb3IgPSByZXNvdXJjZUVycm9yLmlzTnVs
bCgpID8gZnJhbWVMb2FkZXIoKS0+Y2FuY2VsbGVkRXJyb3IobV9yZXF1ZXN0KSA6IHJlc291cmNl
RXJyb3I7CiAKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjYW5jZWxNYWluUmVzb3VyY2VM
b2FkOiAodHlwZSA9ICVkLCBjb2RlID0gJWQpIiwgc3RhdGljX2Nhc3Q8aW50PihlcnJvci50eXBl
KCkpLCBlcnJvci5lcnJvckNvZGUoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY2Fu
Y2VsTWFpblJlc291cmNlTG9hZDogKHR5cGU9JWQsIGNvZGU9JWQpIiwgc3RhdGljX2Nhc3Q8aW50
PihlcnJvci50eXBlKCkpLCBlcnJvci5lcnJvckNvZGUoKSk7CiAKICAgICBtX2RhdGFMb2FkVG9r
ZW4uY2xlYXIoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291
cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5j
cHAKaW5kZXggN2RjNGRkMTc4Y2UzMzRkYzQwZWYxMTY1MjY3M2IwZWI0NTFiNjMzYi4uMzQ5MWFj
NzBjNzE3OTVhNWQ0MGEyNmJkM2U4YjI1YWIyNzEyYWZhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCkBAIC03NTQsNyArNzU0LDcgQEAgdm9pZCBTdWJy
ZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3Mm
IG5ldHdvcmtMb2FkTWUKIAogdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6ZGlkRmFpbChjb25zdCBS
ZXNvdXJjZUVycm9yJiBlcnJvcikKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRG
YWlsOiAodHlwZSA9ICVkLCBjb2RlID0gJWQpIiwgc3RhdGljX2Nhc3Q8aW50PihlcnJvci50eXBl
KCkpLCBlcnJvci5lcnJvckNvZGUoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlk
RmFpbDogKHR5cGU9JWQsIGNvZGU9JWQpIiwgc3RhdGljX2Nhc3Q8aW50PihlcnJvci50eXBlKCkp
LCBlcnJvci5lcnJvckNvZGUoKSk7CiAKICNpZiBVU0UoUVVJQ0tfTE9PSykKICAgICBpZiAoYXV0
byBwcmV2aWV3TG9hZGVyID0gbV9wcmV2aWV3TG9hZGVyLmdldCgpKQpAQCAtNzkyLDcgKzc5Miw3
IEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYg
ZXJyb3IpCiAKIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OndpbGxDYW5jZWwoY29uc3QgUmVzb3Vy
Y2VFcnJvciYgZXJyb3IpCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgid2lsbENhbmNl
bDogKHR5cGUgPSAlZCwgY29kZSA9ICVkKSIsIHN0YXRpY19jYXN0PGludD4oZXJyb3IudHlwZSgp
KSwgZXJyb3IuZXJyb3JDb2RlKCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIndpbGxD
YW5jZWw6ICh0eXBlPSVkLCBjb2RlPSVkKSIsIHN0YXRpY19jYXN0PGludD4oZXJyb3IudHlwZSgp
KSwgZXJyb3IuZXJyb3JDb2RlKCkpOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAv
LyBTaW5jZSB3ZSBkZWZlciBpbml0aWFsaXphdGlvbiB0byBzY2hlZHVsaW5nIHRpbWUgb24gaU9T
IGJ1dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIu
Y3BwCmluZGV4IGVmYjY5OWQ0MmE1MTM2N2UwYjYyNzU5MjA0NjJiN2I5YjdlZmM0MzcuLjc5ZGNl
NjdjNjM4MTE0ZDg4ZjVjZjVhYWMwYWIzYTYxYmFjZjI3ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5jcHAKQEAgLTcwLDcgKzcwLDcgQEAg
U2VydmljZVdvcmtlcjo6U2VydmljZVdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0LCBTZXJ2aWNlV29ya2VyRGF0YSYKICAgICByZWxheEFkb3B0aW9uUmVxdWlyZW1lbnQoKTsK
ICAgICB1cGRhdGVQZW5kaW5nQWN0aXZpdHlGb3JFdmVudERpc3BhdGNoKCk7CiAKLSAgICBXT1JL
RVJfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiU2VydmljZVdvcmtlcjogSUQ6ICVsbHUsIHN0YXRl
OiAlaGh1IiwgaWRlbnRpZmllcigpLnRvVUludDY0KCksIG1fZGF0YS5zdGF0ZSk7CisgICAgV09S
S0VSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInNlcnZpY2VXb3JrZXJJRD0lbGx1LCBzdGF0ZT0l
aGh1IiwgaWRlbnRpZmllcigpLnRvVUludDY0KCksIG1fZGF0YS5zdGF0ZSk7CiB9CiAKIFNlcnZp
Y2VXb3JrZXI6On5TZXJ2aWNlV29ya2VyKCkKQEAgLTgxLDcgKzgxLDcgQEAgU2VydmljZVdvcmtl
cjo6flNlcnZpY2VXb3JrZXIoKQogCiB2b2lkIFNlcnZpY2VXb3JrZXI6OnVwZGF0ZVN0YXRlKFN0
YXRlIHN0YXRlKQogewotICAgIFdPUktFUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKCJ1cGRhdGVT
dGF0ZTogVXBkYXRpbmcgc2VydmljZSB3b3JrZXIgJWxsdSBzdGF0ZSBmcm9tICVoaHUgdG8gJWho
dS4gUmVnaXN0cmF0aW9uIElEOiAlbGx1IiwgaWRlbnRpZmllcigpLnRvVUludDY0KCksIG1fZGF0
YS5zdGF0ZSwgc3RhdGUsIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKKyAg
ICBXT1JLRVJfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgidXBkYXRlU3RhdGU6IFVwZGF0aW5nIHNl
cnZpY2Ugd29ya2VyICVsbHUgc3RhdGUgZnJvbSAlaGh1IHRvICVoaHUuIHJlZ2lzdHJhdGlvbklE
PSVsbHUiLCBpZGVudGlmaWVyKCkudG9VSW50NjQoKSwgbV9kYXRhLnN0YXRlLCBzdGF0ZSwgcmVn
aXN0cmF0aW9uSWRlbnRpZmllcigpLnRvVUludDY0KCkpOwogICAgIG1fZGF0YS5zdGF0ZSA9IHN0
YXRlOwogICAgIGlmIChzdGF0ZSAhPSBTdGF0ZTo6SW5zdGFsbGluZyAmJiAhbV9pc1N0b3BwZWQp
IHsKICAgICAgICAgQVNTRVJUKG1fcGVuZGluZ0FjdGl2aXR5Rm9yRXZlbnREaXNwYXRjaCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5jcHAKaW5kZXggYzQyN2Q3Nzg1NTk5YzdjMmU1OWMyOTIzZDczZTQzOGM2Zjc5
OGFkYy4uZjFjNGY0MDU5ZTU4OGI5NzBlOTU4MDczZGU2ZjEzZDUwZTVmOGI0OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmNwcApAQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5l
cjo6YWRkUmVnaXN0cmF0aW9uKGNvbnN0IFN0cmluZyYgcmVsYXRpdmVTY3JpcHRVUkwsIGNvCiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBDT05UQUlORVJfUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRCgiYWRkUmVnaXN0cmF0aW9uOiBSZWdpc3RlcmluZyBzZXJ2aWNlIHdvcmtlci4gSm9iIElE
OiAlIiBQUkl1NjQsIGpvYkRhdGEuaWRlbnRpZmllcigpLmpvYklkZW50aWZpZXIudG9VSW50NjQo
KSk7CisgICAgQ09OVEFJTkVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImFkZFJlZ2lzdHJhdGlv
bjogUmVnaXN0ZXJpbmcgc2VydmljZSB3b3JrZXIuIGpvYklEPSUiIFBSSXU2NCwgam9iRGF0YS5p
ZGVudGlmaWVyKCkuam9iSWRlbnRpZmllci50b1VJbnQ2NCgpKTsKIAogICAgIGpvYkRhdGEuY2xp
ZW50Q3JlYXRpb25VUkwgPSBjb250ZXh0LT51cmwoKTsKICAgICBqb2JEYXRhLnRvcE9yaWdpbiA9
IGNvbnRleHQtPnRvcE9yaWdpbigpLmRhdGEoKTsKQEAgLTIyNSw3ICsyMjUsNyBAQCB2b2lkIFNl
cnZpY2VXb3JrZXJDb250YWluZXI6OnVwZGF0ZVJlZ2lzdHJhdGlvbihjb25zdCBVUkwmIHNjb3Bl
VVJMLCBjb25zdCBVUkwmCiAgICAgam9iRGF0YS5zY29wZVVSTCA9IHNjb3BlVVJMOwogICAgIGpv
YkRhdGEuc2NyaXB0VVJMID0gc2NyaXB0VVJMOwogCi0gICAgQ09OVEFJTkVSX1JFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoInJlbW92ZVJlZ2lzdHJhdGlvbjogVXBkYXRpbmcgc2VydmljZSB3b3JrZXIu
IEpvYiBJRDogJSIgUFJJdTY0LCBqb2JEYXRhLmlkZW50aWZpZXIoKS5qb2JJZGVudGlmaWVyLnRv
VUludDY0KCkpOworICAgIENPTlRBSU5FUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKCJyZW1vdmVS
ZWdpc3RyYXRpb246IFVwZGF0aW5nIHNlcnZpY2Ugd29ya2VyLiBqb2JJRD0lIiBQUkl1NjQsIGpv
YkRhdGEuaWRlbnRpZmllcigpLmpvYklkZW50aWZpZXIudG9VSW50NjQoKSk7CiAKICAgICBzY2hl
ZHVsZUpvYihtYWtlVW5pcXVlPFNlcnZpY2VXb3JrZXJKb2I+KCp0aGlzLCBXVEZNb3ZlKHByb21p
c2UpLCBXVEZNb3ZlKGpvYkRhdGEpKSk7CiB9CkBAIC0zOTIsNyArMzkyLDcgQEAgdm9pZCBTZXJ2
aWNlV29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdv
cmtlckpvYiYgam9iLAogCiAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uID0gU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbjo6Z2V0T3JDcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgKnRo
aXMsIFdURk1vdmUoZGF0YSkpOwogCi0gICAgICAgIENPTlRBSU5FUl9SRUxFQVNFX0xPR19JRl9B
TExPV0VEKCJqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb246IFJlc29sdmluZyBwcm9taXNlIGZv
ciBqb2IgJSIgUFJJdTY0ICIuIFJlZ2lzdHJhdGlvbiBJRDogJSIgUFJJdTY0LCBqb2JJZGVudGlm
aWVyLnRvVUludDY0KCksIHJlZ2lzdHJhdGlvbi0+aWRlbnRpZmllcigpLnRvVUludDY0KCkpOwor
ICAgICAgICBDT05UQUlORVJfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiam9iUmVzb2x2ZWRXaXRo
UmVnaXN0cmF0aW9uOiBSZXNvbHZpbmcgcHJvbWlzZSBmb3Igam9iICUiIFBSSXU2NCAiLiByZWdp
c3RyYXRpb25JRD0lIiBQUkl1NjQsIGpvYklkZW50aWZpZXIudG9VSW50NjQoKSwgcmVnaXN0cmF0
aW9uLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CiAKICAgICAgICAgaWYgKHNob3VsZE5vdGlm
eVdoZW5SZXNvbHZlZCA9PSBTaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQ6OlllcykgewogICAgICAg
ICAgICAgbV9vbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbnMuYWRkKCsrbV9sYXN0T25nb2luZ1Nl
dHRsZWRSZWdpc3RyYXRpb25JZGVudGlmaWVyLCByZWdpc3RyYXRpb24tPmRhdGEoKS5rZXkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24uY3BwCmluZGV4IDk0YTAyNzA5OTFiYWFjMjgzMGY3NzY0ZTVkZmM0
NzJlYzBiNDgwNDkuLmU3YzFmODM0ZDkzNWE0ZDk0MjZkOWRkY2JlOGFiYzg3MTkwZjYwNGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKQEAgLTcxLDcgKzcxLDcgQEAgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbjo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb24KICAgICBpZiAobV9yZWdpc3RyYXRpb25EYXRhLmFjdGl2ZVdvcmtlcikKICAgICAg
ICAgbV9hY3RpdmVXb3JrZXIgPSBTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZShjb250ZXh0LCBX
VEZNb3ZlKCptX3JlZ2lzdHJhdGlvbkRhdGEuYWN0aXZlV29ya2VyKSk7CiAKLSAgICBSRUdJU1RS
QVRJT05fUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjog
SUQgJWxsdSwgaW5zdGFsbGluZzogJWxsdSwgd2FpdGluZzogJWxsdSwgYWN0aXZlOiAlbGx1Iiwg
aWRlbnRpZmllcigpLnRvVUludDY0KCksIG1faW5zdGFsbGluZ1dvcmtlciA/IG1faW5zdGFsbGlu
Z1dvcmtlci0+aWRlbnRpZmllcigpLnRvVUludDY0KCkgOiAwLCBtX3dhaXRpbmdXb3JrZXIgPyBt
X3dhaXRpbmdXb3JrZXItPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpIDogMCwgbV9hY3RpdmVXb3Jr
ZXIgPyBtX2FjdGl2ZVdvcmtlci0+aWRlbnRpZmllcigpLnRvVUludDY0KCkgOiAwKTsKKyAgICBS
RUdJU1RSQVRJT05fUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbjogSUQgJWxsdSwgaW5zdGFsbGluZz0lbGx1LCB3YWl0aW5nPSVsbHUsIGFjdGl2ZT0lbGx1
IiwgaWRlbnRpZmllcigpLnRvVUludDY0KCksIG1faW5zdGFsbGluZ1dvcmtlciA/IG1faW5zdGFs
bGluZ1dvcmtlci0+aWRlbnRpZmllcigpLnRvVUludDY0KCkgOiAwLCBtX3dhaXRpbmdXb3JrZXIg
PyBtX3dhaXRpbmdXb3JrZXItPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpIDogMCwgbV9hY3RpdmVX
b3JrZXIgPyBtX2FjdGl2ZVdvcmtlci0+aWRlbnRpZmllcigpLnRvVUludDY0KCkgOiAwKTsKIAog
ICAgIG1fY29udGFpbmVyLT5hZGRSZWdpc3RyYXRpb24oKnRoaXMpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVl
LmNwcAppbmRleCAyMTA5MmU5MThhNWVlNjdhYWQzYzQxZDRlMWE4MDQ4ZDY4ZWM1ZTcyLi5lYTBk
NjBhNzQwZGZjMzMxZGVhODExNjc4YWI3MzE4NWI3ZjQzZTI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5j
cHAKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIFNXU2VydmVySm9iUXVldWU6OnNjcmlwdEZldGNo
RmluaXNoZWQoY29uc3QgU2VydmljZVdvcmtlckZldGNoUmVzdWx0JiByZXN1bAogICAgIC8vIGZs
YWcgc2V0LCBhbmQgc2NyaXB0J3Mgc291cmNlIHRleHQgaXMgYSBieXRlLWZvci1ieXRlIG1hdGNo
IHdpdGggbmV3ZXN0V29ya2VyJ3Mgc2NyaXB0IHJlc291cmNlJ3Mgc291cmNlCiAgICAgLy8gdGV4
dCwgdGhlbjoKICAgICBpZiAobmV3ZXN0V29ya2VyICYmIGVxdWFsSWdub3JpbmdGcmFnbWVudElk
ZW50aWZpZXIobmV3ZXN0V29ya2VyLT5zY3JpcHRVUkwoKSwgam9iLnNjcmlwdFVSTCkgJiYgcmVz
dWx0LnNjcmlwdCA9PSBuZXdlc3RXb3JrZXItPnNjcmlwdCgpICYmIGRvQ2VydGlmaWNhdGVzTWF0
Y2gocmVzdWx0LmNlcnRpZmljYXRlSW5mbywgbmV3ZXN0V29ya2VyLT5jZXJ0aWZpY2F0ZUluZm8o
KSkpIHsKLSAgICAgICAgUkVMRUFTRV9MT0coU2VydmljZVdvcmtlciwgIiVwIC0gU1dTZXJ2ZXJK
b2JRdWV1ZTo6c2NyaXB0RmV0Y2hGaW5pc2hlZCwgc2NyaXB0IGFuZCBjZXJ0aWZpY2F0ZSBhcmUg
bWF0Y2hpbmcgZm9yIHJlZ2lzdHJhdGlvbiBJRDogJWxsdSIsIHRoaXMsIHJlZ2lzdHJhdGlvbi0+
aWRlbnRpZmllcigpLnRvVUludDY0KCkpOworICAgICAgICBSRUxFQVNFX0xPRyhTZXJ2aWNlV29y
a2VyLCAiJXAgLSBTV1NlcnZlckpvYlF1ZXVlOjpzY3JpcHRGZXRjaEZpbmlzaGVkLCBzY3JpcHQg
YW5kIGNlcnRpZmljYXRlIGFyZSBtYXRjaGluZyBmb3IgcmVnaXN0cmF0aW9uSUQ9JWxsdSIsIHRo
aXMsIHJlZ2lzdHJhdGlvbi0+aWRlbnRpZmllcigpLnRvVUludDY0KCkpOwogICAgICAgICAvLyBG
SVhNRTogZm9yIG5vbiBjbGFzc2ljIHNjcmlwdHMsIGNoZWNrIHRoZSBzY3JpcHTigJlzIG1vZHVs
ZSByZWNvcmQncyBbW0VDTUFTY3JpcHRDb2RlXV0uCiAKICAgICAgICAgLy8gSW52b2tlIFJlc29s
dmUgSm9iIFByb21pc2Ugd2l0aCBqb2IgYW5kIHJlZ2lzdHJhdGlvbi4KQEAgLTE4NSw3ICsxODUs
NyBAQCB2b2lkIFNXU2VydmVySm9iUXVldWU6OmRpZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNl
KCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9HKFNlcnZpY2VXb3Jr
ZXIsICIlcCAtIFNXU2VydmVySm9iUXVldWU6OmRpZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNl
OiBSZWdpc3RyYXRpb24gSUQ6ICVsbHUuIE5vdyBwcm9jZWVkaW5nIHdpdGggaW5zdGFsbCIsIHRo
aXMsIHJlZ2lzdHJhdGlvbi0+aWRlbnRpZmllcigpLnRvVUludDY0KCkpOworICAgIFJFTEVBU0Vf
TE9HKFNlcnZpY2VXb3JrZXIsICIlcCAtIFNXU2VydmVySm9iUXVldWU6OmRpZFJlc29sdmVSZWdp
c3RyYXRpb25Qcm9taXNlOiBSZWdpc3RyYXRpb25JRD0lbGx1LiBOb3cgcHJvY2VlZGluZyB3aXRo
IGluc3RhbGwiLCB0aGlzLCByZWdpc3RyYXRpb24tPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsK
IAogICAgIC8vIFF1ZXVlIGEgdGFzayB0byBmaXJlIGFuIGV2ZW50IG5hbWVkIHVwZGF0ZWZvdW5k
IGF0IGFsbCB0aGUgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBvYmplY3RzCiAgICAgLy8gZm9y
IGFsbCB0aGUgc2VydmljZSB3b3JrZXIgY2xpZW50cyB3aG9zZSBjcmVhdGlvbiBVUkwgbWF0Y2hl
cyByZWdpc3RyYXRpb24ncyBzY29wZSB1cmwgYW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5jcHAKaW5k
ZXggNzkzOTA5OThjNjMzNDllZWViZjczN2FmMTM4MThiMzM3NzhjMDY3Zi4uMzg1NDZlNDAzYTQ0
ZDAwM2JjMWE4NzkzNTYxNTlhY2IxODUzNTA2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyLmNwcApA
QCAtMTM3LDcgKzEzNyw3IEBAIHZvaWQgTmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyOjpkaWRD
b21wbGV0ZVdpdGhFcnJvcihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVyCiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRDb21wbGV0ZSBodHRw
X3N0YXR1c19jb2RlOiAlZCIsIG1fcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSk7CisgICAgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkQ29tcGxldGUgaHR0cF9zdGF0dXNfY29kZT0lZCIsIG1f
cmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSk7CiAKICAgICBhdXRvIHJlc3VsdCA9IHZhbGlkYXRl
UHJlZmxpZ2h0UmVzcG9uc2UobV9wYXJhbWV0ZXJzLm9yaWdpbmFsUmVxdWVzdCwgbV9yZXNwb25z
ZSwgbV9wYXJhbWV0ZXJzLnN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBtX3BhcmFtZXRlcnMuc291
cmNlT3JpZ2luLCBtX25ldHdvcmtSZXNvdXJjZUxvYWRlci5nZXQoKSk7CiAgICAgaWYgKCFyZXN1
bHQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xv
YWRDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRD
aGVja2VyLmNwcAppbmRleCBhZjFhZWRkNTUyMDFkN2E1YjM2OGIzMDJkYWZmOTg3NmNiOTAyZjNh
Li5iMzg5Y2VhYzcwYWEwNzlmYzNhZjMwNDc2MTY2OGM1ZjFkYTMxOTBjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwCkBAIC00
NDIsNyArNDQyLDcgQEAgdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrQ09SU1JlcXVlc3RX
aXRoUHJlZmxpZ2h0KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QKICAgICAgICAgbV9zdG9yZWRD
cmVkZW50aWFsc1BvbGljeQogICAgIH07CiAgICAgbV9jb3JzUHJlZmxpZ2h0Q2hlY2tlciA9IG1h
a2VVbmlxdWU8TmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyPihtX25ldHdvcmtQcm9jZXNzLmdl
dCgpLCBtX25ldHdvcmtSZXNvdXJjZUxvYWRlci5nZXQoKSwgV1RGTW92ZShwYXJhbWV0ZXJzKSwg
bV9zaG91bGRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3MsIFt0aGlzLCByZXF1ZXN0ID0g
V1RGTW92ZShyZXF1ZXN0KSwgaGFuZGxlciA9IFdURk1vdmUoaGFuZGxlciksIGlzUmVkaXJlY3Rl
ZCA9IGlzUmVkaXJlY3RlZCgpXShhdXRvJiYgZXJyb3IpIG11dGFibGUgewotICAgICAgICBSRUxF
QVNFX0xPR19JRl9BTExPV0VEKCJjaGVja0NPUlNSZXF1ZXN0V2l0aFByZWZsaWdodCAtIG1ha2VD
cm9zc09yaWdpbkFjY2Vzc1JlcXVlc3RXaXRoUHJlZmxpZ2h0IHByZWZsaWdodCBjb21wbGV0ZSwg
c3VjY2VzczogJWQgZm9yUmVkaXJlY3Q/ICVkIiwgZXJyb3IuaXNOdWxsKCksIGlzUmVkaXJlY3Rl
ZCk7CisgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNoZWNrQ09SU1JlcXVlc3RXaXRo
UHJlZmxpZ2h0IC0gbWFrZUNyb3NzT3JpZ2luQWNjZXNzUmVxdWVzdFdpdGhQcmVmbGlnaHQgcHJl
ZmxpZ2h0IGNvbXBsZXRlLCBzdWNjZXNzPSVkIGZvclJlZGlyZWN0PSVkIiwgZXJyb3IuaXNOdWxs
KCksIGlzUmVkaXJlY3RlZCk7CiAKICAgICAgICAgaWYgKCFlcnJvci5pc051bGwoKSkgewogICAg
ICAgICAgICAgaGFuZGxlcihXVEZNb3ZlKGVycm9yKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDY4MzAxNWQxNjlhOGMyOTkyMzMw
ZmY0NjA4NTRjYzZjMzE2MjgzNmMuLjgwZjY4NzgwNTI3MzJhODNlNTRhMDQ1OTc1NWYzNWFhODU0
ZGIzYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuY3BwCkBAIC0yMTYsNyArMjE2LDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6ZGlkUmVjZWl2
ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXIKIHsKICAg
ICBBU1NFUlQocGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKSA9PSAmY29ubmVjdGlvbik7CiAgICAg
aWYgKHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCkgIT0gJmNvbm5lY3Rpb24pIHsKLSAgICAgICAg
V1RGTG9nQWx3YXlzKCJJZ25vcmVkIG1lc3NhZ2UgJyVzJyBiZWNhdXNlIGl0IGRpZCBub3QgY29t
ZSBmcm9tIHRoZSBVSVByb2Nlc3MgKGRlc3RpbmF0aW9uOiAlIiBQUkl1NjQgIikiLCBkZXNjcmlw
dGlvbihkZWNvZGVyLm1lc3NhZ2VOYW1lKCkpLCBkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7Cisg
ICAgICAgIFdURkxvZ0Fsd2F5cygiSWdub3JlZCBtZXNzYWdlICclcycgYmVjYXVzZSBpdCBkaWQg
bm90IGNvbWUgZnJvbSB0aGUgVUlQcm9jZXNzIChkZXN0aW5hdGlvbj0lIiBQUkl1NjQgIikiLCBk
ZXNjcmlwdGlvbihkZWNvZGVyLm1lc3NhZ2VOYW1lKCkpLCBkZWNvZGVyLmRlc3RpbmF0aW9uSUQo
KSk7CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CiAgICAg
fQpAQCAtMjQzLDcgKzI0Myw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmRpZFJlY2VpdmVTeW5j
TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RGVjCiB7CiAgICAgQVNT
RVJUKHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCkgPT0gJmNvbm5lY3Rpb24pOwogICAgIGlmIChw
YXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpICE9ICZjb25uZWN0aW9uKSB7Ci0gICAgICAgIFdURkxv
Z0Fsd2F5cygiSWdub3JlZCBtZXNzYWdlICclcycgYmVjYXVzZSBpdCBkaWQgbm90IGNvbWUgZnJv
bSB0aGUgVUlQcm9jZXNzIChkZXN0aW5hdGlvbjogJSIgUFJJdTY0ICIpIiwgZGVzY3JpcHRpb24o
ZGVjb2Rlci5tZXNzYWdlTmFtZSgpKSwgZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpOworICAgICAg
ICBXVEZMb2dBbHdheXMoIklnbm9yZWQgbWVzc2FnZSAnJXMnIGJlY2F1c2UgaXQgZGlkIG5vdCBj
b21lIGZyb20gdGhlIFVJUHJvY2VzcyAoZGVzdGluYXRpb249JSIgUFJJdTY0ICIpIiwgZGVzY3Jp
cHRpb24oZGVjb2Rlci5tZXNzYWdlTmFtZSgpKSwgZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpOwog
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAg
LTM0OCw3ICszNDgsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjppbml0aWFsaXplTmV0d29ya1By
b2Nlc3MoTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJgogICAgIGZvciAoYXV0byYg
c2NoZW1lIDogcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZEFzTm9BY2Nlc3MpCiAgICAg
ICAgIHJlZ2lzdGVyVVJMU2NoZW1lQXNOb0FjY2VzcyhzY2hlbWUpOwogICAgIAotICAgIFJFTEVB
U0VfTE9HKFByb2Nlc3MsICIlcCAtIE5ldHdvcmtQcm9jZXNzOjppbml0aWFsaXplTmV0d29ya1By
b2Nlc3M6IFByZXNlbnRpbmcgcHJvY2VzcyA9ICVkIiwgdGhpcywgV2ViQ29yZTo6cHJlc2VudGlu
Z0FwcGxpY2F0aW9uUElEKCkpOworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3MsICIlcCAtIE5ldHdv
cmtQcm9jZXNzOjppbml0aWFsaXplTmV0d29ya1Byb2Nlc3M6IFByZXNlbnRpbmcgcHJvY2Vzc1BJ
RD0lZCIsIHRoaXMsIFdlYkNvcmU6OnByZXNlbnRpbmdBcHBsaWNhdGlvblBJRCgpKTsKIH0KIAog
dm9pZCBOZXR3b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZUNvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9u
KiBjb25uZWN0aW9uKQpAQCAtMjE5Miw3ICsyMTkyLDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6
cHJvY2Vzc1dpbGxTdXNwZW5kSW1taW5lbnRseUZvclRlc3RpbmdTeW5jKENvbXBsZXRpb25IYW5k
bGUKIAogdm9pZCBOZXR3b3JrUHJvY2Vzczo6cHJlcGFyZVRvU3VzcGVuZChib29sIGlzU3VzcGVu
c2lvbkltbWluZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7Ci0gICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIE5ldHdvcmtQ
cm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKCksIGlzU3VzcGVuc2lvbkltbWluZW50OiAlZCIsIHRo
aXMsIGlzU3VzcGVuc2lvbkltbWluZW50KTsKKyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVu
c2lvbiwgIiVwIC0gTmV0d29ya1Byb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQoKSwgaXNTdXNwZW5z
aW9uSW1taW5lbnQ9JWQiLCB0aGlzLCBpc1N1c3BlbnNpb25JbW1pbmVudCk7CiAKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKSAmJiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKICAgICBmb3IgKGF1
dG8mIHNlcnZlciA6IG1fd2ViSURCU2VydmVycy52YWx1ZXMoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHAKaW5kZXggYjhmYTU4YzY4MmNiZWI0YTRkZjhmNzc3MDcz
MzM2NGM4NDkxMzZmYS4uNWE0NGI2MWY2YWI1YzI3MjBjMWRmY2I0NzgwNmVjYzY5ODY1YjNiOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5jcHAKQEAgLTE2Miw3ICsx
NjIsNyBAQCB2b2lkIFBpbmdMb2FkOjpkaWRSZWNlaXZlQ2hhbGxlbmdlKEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlJiYgY2hhbGxlbmdlLCBOZWdvdGlhdAogCiB2b2lkIFBpbmdMb2FkOjpkaWRSZWNl
aXZlUmVzcG9uc2UoUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLCBOZWdvdGlhdGVkTGVnYWN5
VExTLCBSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0g
ICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZVJlc3BvbnNlIC0gaHR0cFN0YXR1
c0NvZGU6ICVkIiwgcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSk7CisgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRCgiZGlkUmVjZWl2ZVJlc3BvbnNlIC0gaHR0cFN0YXR1c0NvZGU9JWQiLCByZXNw
b25zZS5odHRwU3RhdHVzQ29kZSgpKTsKICAgICBhdXRvIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIo
KnRoaXMpOwogICAgIGNvbXBsZXRpb25IYW5kbGVyKFBvbGljeUFjdGlvbjo6SWdub3JlKTsKICAg
ICBpZiAoIXdlYWtUaGlzKQpAQCAtMTgxLDcgKzE4MSw3IEBAIHZvaWQgUGluZ0xvYWQ6OmRpZENv
bXBsZXRlV2l0aEVycm9yKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yLCBjb25zdCBOZXR3b3Jr
TG9hCiAgICAgaWYgKGVycm9yLmlzTnVsbCgpKQogICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKCJkaWRDb21wbGV0ZSIpOwogICAgIGVsc2UKLSAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRCgiZGlkQ29tcGxldGVXaXRoRXJyb3IsIGVycm9yX2NvZGU6ICVkIiwgZXJyb3IuZXJyb3JD
b2RlKCkpOworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRDb21wbGV0ZVdpdGhF
cnJvciwgZXJyb3JfY29kZT0lZCIsIGVycm9yLmVycm9yQ29kZSgpKTsKIAogICAgIGRpZEZpbmlz
aChlcnJvcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1By
ZWNvbm5lY3RUYXNrLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJlY29ubmVj
dFRhc2suY3BwCmluZGV4IDFkZDVmMWVmNDlkMGMyMGRmZWYxNTk1MzMzMDk5OTQzOTc2YjQyMmMu
LmNlYWIzZTM3MDk1OTk4MjdhNGI5YmQ1NWQ4MWIyZjQzODI2Y2Y4NzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJlY29ubmVjdFRhc2suY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJlY29ubmVjdFRhc2suY3BwCkBAIC04Niw3ICs4Niw3
IEBAIHZvaWQgUHJlY29ubmVjdFRhc2s6OmRpZEZpbmlzaExvYWRpbmcoY29uc3QgTmV0d29ya0xv
YWRNZXRyaWNzJikKIAogdm9pZCBQcmVjb25uZWN0VGFzazo6ZGlkRmFpbExvYWRpbmcoY29uc3Qg
UmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7Ci0gICAgUkVMRUFTRV9MT0coTmV0d29yaywgIiVwIC0g
UHJlY29ubmVjdFRhc2s6OmRpZEZhaWxMb2FkaW5nLCBlcnJvcl9jb2RlOiAlZCIsIHRoaXMsIGVy
cm9yLmVycm9yQ29kZSgpKTsKKyAgICBSRUxFQVNFX0xPRyhOZXR3b3JrLCAiJXAgLSBQcmVjb25u
ZWN0VGFzazo6ZGlkRmFpbExvYWRpbmcsIGVycm9yX2NvZGU9JWQiLCB0aGlzLCBlcnJvci5lcnJv
ckNvZGUoKSk7CiAgICAgZGlkRmluaXNoKGVycm9yKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCAwMzRlYzZkYTUyNDE1NWM0ZDUwZWQwYWZiMjMwOGYy
OGQ2YWY4ZjMyLi4xZjAyNjBiN2VjZTBhYjY2MmYyMDdmNDY0ODlkMDk0ZTc1MmI4ZDFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1Nl
cnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMjEzLDcgKzIxMyw3IEBA
IHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpzdGFydEZldGNoKFNlcnZpY2VXb3JrZXJGZXRj
aFRhc2smIHRhc2ssIFNXU2VydmVyV29yCiAgICAgICAgIH0KIAogICAgICAgICBpZiAoIXN1Y2Nl
c3MpIHsKLSAgICAgICAgICAgIFNXU0VSVkVSQ09OTkVDVElPTl9SRUxFQVNFX0xPR19FUlJPUl9J
Rl9BTExPV0VEKCJzdGFydEZldGNoOiBmZXRjaElkZW50aWZpZXI6ICVsbHUgRGlkTm90SGFuZGxl
IGJlY2F1c2Ugd29ya2VyIGRpZCBub3QgYmVjb21lIGFjdGl2YXRlZCIsIHRhc2stPmZldGNoSWRl
bnRpZmllcigpLnRvVUludDY0KCkpOworICAgICAgICAgICAgU1dTRVJWRVJDT05ORUNUSU9OX1JF
TEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoInN0YXJ0RmV0Y2g6IGZldGNoSWRlbnRpZmllcj0l
bGx1IERpZE5vdEhhbmRsZSBiZWNhdXNlIHdvcmtlciBkaWQgbm90IGJlY29tZSBhY3RpdmF0ZWQi
LCB0YXNrLT5mZXRjaElkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKICAgICAgICAgICAgIHRhc2st
PmNhbm5vdEhhbmRsZSgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0yMzgs
NyArMjM4LDcgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnN0YXJ0RmV0Y2goU2Vydmlj
ZVdvcmtlckZldGNoVGFzayYgdGFzaywgU1dTZXJ2ZXJXb3IKICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgaWYgKCFjb250ZXh0Q29ubmVjdGlvbikgewotICAgICAgICAgICAgICAgIFNXU0VS
VkVSQ09OTkVDVElPTl9SRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKCJzdGFydEZldGNoOiBm
ZXRjaElkZW50aWZpZXI6ICVzIERpZE5vdEhhbmRsZSBiZWNhdXNlIGZhaWxlZCB0byBydW4gc2Vy
dmljZSB3b3JrZXIiLCB0YXNrLT5mZXRjaElkZW50aWZpZXIoKS5sb2dnaW5nU3RyaW5nKCkudXRm
OCgpLmRhdGEoKSk7CisgICAgICAgICAgICAgICAgU1dTRVJWRVJDT05ORUNUSU9OX1JFTEVBU0Vf
TE9HX0VSUk9SX0lGX0FMTE9XRUQoInN0YXJ0RmV0Y2g6IGZldGNoSWRlbnRpZmllcj0lcyBEaWRO
b3RIYW5kbGUgYmVjYXVzZSBmYWlsZWQgdG8gcnVuIHNlcnZpY2Ugd29ya2VyIiwgdGFzay0+ZmV0
Y2hJZGVudGlmaWVyKCkubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICAg
ICAgICAgIHRhc2stPmNhbm5vdEhhbmRsZSgpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29j
b2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4IGQ1OTNiNDJiNTE4Y2E0YzNmYzU3
MzQzNzEzYWM1MGIzZGI1YzA3ZDIuLmQ0OTVmMDAxN2M0ZjdkNzA3YjZiMDhiNmIxYjIyNjhiOTNi
NWEwMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtMzY0LDcgKzM2NCw3IEBAIE5ldHdvcmtE
YXRhVGFza0NvY29hOjpOZXR3b3JrRGF0YVRhc2tDb2NvYShOZXR3b3JrU2Vzc2lvbiYgc2Vzc2lv
biwgTmV0d29ya0RhdGFUCiAgICAgaWYgKHNob3VsZEJsb2NrQ29va2llcykgewogI2lmICFSRUxF
QVNFX0xPR19ESVNBQkxFRAogICAgICAgICBpZiAobV9zZXNzaW9uLT5zaG91bGRMb2dDb29raWVJ
bmZvcm1hdGlvbigpKQotICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dp
bmdBbGxvd2VkKCksIE5ldHdvcmssICIlcCAtIE5ldHdvcmtEYXRhVGFza0NvY29hOjpsb2dDb29r
aWVJbmZvcm1hdGlvbjogcGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIHRhc2tJRCA9ICVs
dTogQmxvY2tpbmcgY29va2llcyBmb3IgVVJMICVzIiwgdGhpcywgcGFnZUlELnRvVUludDY0KCks
IGZyYW1lSUQudG9VSW50NjQoKSwgKHVuc2lnbmVkIGxvbmcpW21fdGFzayB0YXNrSWRlbnRpZmll
cl0sIG5zUmVxdWVzdC5VUkwuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZyk7CisgICAgICAgICAg
ICBSRUxFQVNFX0xPR19JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTmV0d29yaywgIiVw
IC0gTmV0d29ya0RhdGFUYXNrQ29jb2E6OmxvZ0Nvb2tpZUluZm9ybWF0aW9uOiBwYWdlSUQ9JWxs
dSwgZnJhbWVJRD0lbGx1LCB0YXNrSUQ9JWx1OiBCbG9ja2luZyBjb29raWVzIGZvciBVUkwgJXMi
LCB0aGlzLCBwYWdlSUQudG9VSW50NjQoKSwgZnJhbWVJRC50b1VJbnQ2NCgpLCAodW5zaWduZWQg
bG9uZylbbV90YXNrIHRhc2tJZGVudGlmaWVyXSwgbnNSZXF1ZXN0LlVSTC5hYnNvbHV0ZVN0cmlu
Zy5VVEY4U3RyaW5nKTsKICNlbHNlCiAgICAgICAgIExPRyhOZXR3b3JrU2Vzc2lvbiwgIiVsbHUg
QmxvY2tpbmcgY29va2llcyBmb3IgVVJMICVzIiwgW21fdGFzayB0YXNrSWRlbnRpZmllcl0sIG5z
UmVxdWVzdC5VUkwuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZyk7CiAjZW5kaWYKQEAgLTUxMiw3
ICs1MTIsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjp3aWxsUGVyZm9ybUhUVFBSZWRp
cmVjdGlvbihXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJgogICAgICAgICB1bmJsb2NrQ29va2ll
cygpOwogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIGlmIChtX3Nlc3Npb24tPnNob3Vs
ZExvZ0Nvb2tpZUluZm9ybWF0aW9uKCkpCi0gICAgICAgIFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlz
T25Mb2dnaW5nQWxsb3dlZCgpLCBOZXR3b3JrLCAiJXAgLSBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6
d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb246OmxvZ0Nvb2tpZUluZm9ybWF0aW9uOiBwYWdlSUQg
PSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgdGFza0lEID0gJWx1OiAlcyBjb29raWVzIGZvciByZWRp
cmVjdCBVUkwgJXMiLCB0aGlzLCBtX3BhZ2VJRC50b1VJbnQ2NCgpLCBtX2ZyYW1lSUQudG9VSW50
NjQoKSwgKHVuc2lnbmVkIGxvbmcpW21fdGFzayB0YXNrSWRlbnRpZmllcl0sIChtX2hhc0JlZW5T
ZXRUb1VzZVN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UgPyAiQmxvY2tpbmciIDogIk5vdCBibG9ja2lu
ZyIpLCByZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBSRUxF
QVNFX0xPR19JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTmV0d29yaywgIiVwIC0gTmV0
d29ya0RhdGFUYXNrQ29jb2E6OndpbGxQZXJmb3JtSFRUUFJlZGlyZWN0aW9uOjpsb2dDb29raWVJ
bmZvcm1hdGlvbjogcGFnZUlEPSVsbHUsIGZyYW1lSUQ9JWxsdSwgdGFza0lEPSVsdTogJXMgY29v
a2llcyBmb3IgcmVkaXJlY3QgVVJMICVzIiwgdGhpcywgbV9wYWdlSUQudG9VSW50NjQoKSwgbV9m
cmFtZUlELnRvVUludDY0KCksICh1bnNpZ25lZCBsb25nKVttX3Rhc2sgdGFza0lkZW50aWZpZXJd
LCAobV9oYXNCZWVuU2V0VG9Vc2VTdGF0ZWxlc3NDb29raWVTdG9yYWdlID8gIkJsb2NraW5nIiA6
ICJOb3QgYmxvY2tpbmciKSwgcmVxdWVzdC51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsK
ICNlbHNlCiAgICAgTE9HKE5ldHdvcmtTZXNzaW9uLCAiJWxsdSAlcyBjb29raWVzIGZvciByZWRp
cmVjdCBVUkwgJXMiLCBbbV90YXNrIHRhc2tJZGVudGlmaWVyXSwgKG1faGFzQmVlblNldFRvVXNl
U3RhdGVsZXNzQ29va2llU3RvcmFnZSA/ICJCbG9ja2luZyIgOiAiTm90IGJsb2NraW5nIiksIHJl
cXVlc3QudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHAKaW5kZXggOGI3NDMxNGFjMDRhNTVhNDhiZDA5
MzYyOWMzNjIyMDcxZTBmMmM1MC4uOTJjYzk3YThmMGZjY2JkM2M4MGY1MDNjYjZkNmEyMDQ1MmZj
NjI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHAKQEAgLTY0
OCw3ICs2NDgsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4gQ29ubmVjdGlvbjo6d2FpdEZv
clN5bmNSZXBseSh1aW50NjRfdCBzeW5jUmVxdWVzdElELCBNZQogICAgICAgICAvLyBJZiB0aGF0
IGhhcHBlbnMsIHdlIG5lZWQgdG8gc3RvcCB3YWl0aW5nLCBvciB3ZSdsbCBoYW5nIHNpbmNlIHdl
IHdvbid0IGdldAogICAgICAgICAvLyBhbnkgbW9yZSBpbmNvbWluZyBtZXNzYWdlcy4KICAgICAg
ICAgaWYgKCFpc1ZhbGlkKCkpIHsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKElQQywg
IkNvbm5lY3Rpb246OndhaXRGb3JTeW5jUmVwbHk6IENvbm5lY3Rpb24gbm8gbG9uZ2VyIHZhbGlk
LCBpZCA9ICUiIFBSSXU2NCwgc3luY1JlcXVlc3RJRCk7CisgICAgICAgICAgICBSRUxFQVNFX0xP
R19FUlJPUihJUEMsICJDb25uZWN0aW9uOjp3YWl0Rm9yU3luY1JlcGx5OiBDb25uZWN0aW9uIG5v
IGxvbmdlciB2YWxpZCwgaWQ9JSIgUFJJdTY0LCBzeW5jUmVxdWVzdElEKTsKICAgICAgICAgICAg
IGRpZFJlY2VpdmVTeW5jUmVwbHkoc2VuZFN5bmNPcHRpb25zKTsKICAgICAgICAgICAgIHJldHVy
biBudWxscHRyOwogICAgICAgICB9CkBAIC02NjAsOSArNjYwLDkgQEAgc3RkOjp1bmlxdWVfcHRy
PERlY29kZXI+IENvbm5lY3Rpb246OndhaXRGb3JTeW5jUmVwbHkodWludDY0X3Qgc3luY1JlcXVl
c3RJRCwgTWUKICAgICB9CiAKICNpZiBPUyhEQVJXSU4pCi0gICAgUkVMRUFTRV9MT0dfRVJST1Io
SVBDLCAiQ29ubmVjdGlvbjo6d2FpdEZvclN5bmNSZXBseTogVGltZWQtb3V0IHdoaWxlIHdhaXRp
bmcgZm9yIHJlcGx5IGZvciAle3B1YmxpY31zIGZyb20gcHJvY2VzcyAlZCwgaWQgPSAlIiBQUkl1
NjQsIGRlc2NyaXB0aW9uKG1lc3NhZ2VOYW1lKSwgcmVtb3RlUHJvY2Vzc0lEKCksIHN5bmNSZXF1
ZXN0SUQpOworICAgIFJFTEVBU0VfTE9HX0VSUk9SKElQQywgIkNvbm5lY3Rpb246OndhaXRGb3JT
eW5jUmVwbHk6IFRpbWVkLW91dCB3aGlsZSB3YWl0aW5nIGZvciByZXBseSBmb3IgJXtwdWJsaWN9
cyBmcm9tIHByb2Nlc3MgJWQsIGlkPSUiIFBSSXU2NCwgZGVzY3JpcHRpb24obWVzc2FnZU5hbWUp
LCByZW1vdGVQcm9jZXNzSUQoKSwgc3luY1JlcXVlc3RJRCk7CiAjZWxzZQotICAgIFJFTEVBU0Vf
TE9HX0VSUk9SKElQQywgIkNvbm5lY3Rpb246OndhaXRGb3JTeW5jUmVwbHk6IFRpbWVkLW91dCB3
aGlsZSB3YWl0aW5nIGZvciByZXBseSBmb3IgJXMsIGlkID0gJSIgUFJJdTY0LCBkZXNjcmlwdGlv
bihtZXNzYWdlTmFtZSksIHN5bmNSZXF1ZXN0SUQpOworICAgIFJFTEVBU0VfTE9HX0VSUk9SKElQ
QywgIkNvbm5lY3Rpb246OndhaXRGb3JTeW5jUmVwbHk6IFRpbWVkLW91dCB3aGlsZSB3YWl0aW5n
IGZvciByZXBseSBmb3IgJXMsIGlkPSUiIFBSSXU2NCwgZGVzY3JpcHRpb24obWVzc2FnZU5hbWUp
LCBzeW5jUmVxdWVzdElEKTsKICNlbmRpZgogCiAgICAgZGlkUmVjZWl2ZVN5bmNSZXBseShzZW5k
U3luY09wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGlj
YXRpb25TdGF0ZVRyYWNrZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsaWNhdGlv
blN0YXRlVHJhY2tlci5tbQppbmRleCAzN2IyYmQ3YjIzZGNhOGQ0ZGM1NTVmMWY1ZjQ0Yjg4MTAz
NDA5YjAwLi5hYzJiNmYzZDk5ODQzNjIxYzE1MzNkNjYwMWQxNmNjY2M3YmE5ZDc0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbQpA
QCAtOTUsNyArOTUsNyBAQCBBcHBsaWNhdGlvblN0YXRlVHJhY2tlcjo6QXBwbGljYXRpb25TdGF0
ZVRyYWNrZXIoVUlWaWV3ICp2aWV3LCBTRUwgZGlkRW50ZXJCYWNrZwogICAgIHN3aXRjaCAoYXBw
bGljYXRpb25UeXBlKHdpbmRvdykpIHsKICAgICBjYXNlIEFwcGxpY2F0aW9uVHlwZTo6QXBwbGlj
YXRpb246IHsKICAgICAgICAgbV9pc0luQmFja2dyb3VuZCA9IHdpbmRvdy53aW5kb3dTY2VuZS5h
Y3RpdmF0aW9uU3RhdGUgPT0gVUlTY2VuZUFjdGl2YXRpb25TdGF0ZUJhY2tncm91bmQgfHwgd2lu
ZG93LndpbmRvd1NjZW5lLmFjdGl2YXRpb25TdGF0ZSA9PSBVSVNjZW5lQWN0aXZhdGlvblN0YXRl
VW5hdHRhY2hlZDsKLSAgICAgICAgUkVMRUFTRV9MT0coVmlld1N0YXRlLCAiJXAgLSBBcHBsaWNh
dGlvblN0YXRlVHJhY2tlcjo6QXBwbGljYXRpb25TdGF0ZVRyYWNrZXIoKTogbV9pc0luQmFja2dy
b3VuZDogJWQiLCB0aGlzLCBtX2lzSW5CYWNrZ3JvdW5kKTsKKyAgICAgICAgUkVMRUFTRV9MT0co
Vmlld1N0YXRlLCAiJXAgLSBBcHBsaWNhdGlvblN0YXRlVHJhY2tlcjo6QXBwbGljYXRpb25TdGF0
ZVRyYWNrZXIoKTogbV9pc0luQmFja2dyb3VuZD0lZCIsIHRoaXMsIG1faXNJbkJhY2tncm91bmQp
OwogCiAgICAgICAgIG1fZGlkRW50ZXJCYWNrZ3JvdW5kT2JzZXJ2ZXIgPSBbbm90aWZpY2F0aW9u
Q2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpVSVNjZW5lRGlkRW50ZXJCYWNrZ3JvdW5kTm90aWZp
Y2F0aW9uIG9iamVjdDpuaWwgcXVldWU6bmlsIHVzaW5nQmxvY2s6W3RoaXNdKE5TTm90aWZpY2F0
aW9uICpub3RpZmljYXRpb24pIHsKICAgICAgICAgICAgIGlmIChub3RpZmljYXRpb24ub2JqZWN0
ID09IFtbbV92aWV3IHdpbmRvd10gd2luZG93U2NlbmVdKSB7CkBAIC0xNDcsMTQgKzE0NywxNCBA
QCBBcHBsaWNhdGlvblN0YXRlVHJhY2tlcjo6QXBwbGljYXRpb25TdGF0ZVRyYWNrZXIoVUlWaWV3
ICp2aWV3LCBTRUwgZGlkRW50ZXJCYWNrZwogICAgICAgICBpZiAoW3NlcnZpY2VWaWV3Q29udHJv
bGxlci5faG9zdEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciBpc0VxdWFsVG9TdHJpbmc6QCJj
b20uYXBwbGUuaW9zLlN0b3JlS2l0VUlTZXJ2aWNlIl0pCiAgICAgICAgICAgICBtX2lzSW5CYWNr
Z3JvdW5kID0gZmFsc2U7CiAKLSAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24s
ICIle3B1YmxpY31zIGhhcyBQSUQgJWQsIGhvc3QgYXBwbGljYXRpb24gUElEOiAlZCwgaXNJbkJh
Y2tncm91bmQ6ICVkIiwgX1VJQXBwbGljYXRpb25Jc0V4dGVuc2lvbigpID8gIkV4dGVuc2lvbiIg
OiAiVmlld1NlcnZpY2UiLCBnZXRwaWQoKSwgYXBwbGljYXRpb25QSUQsIG1faXNJbkJhY2tncm91
bmQpOworICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiV7cHVibGljfXMg
aGFzIFBJRCAlZCwgaG9zdCBhcHBsaWNhdGlvbiBQSUQ9JWQsIGlzSW5CYWNrZ3JvdW5kPSVkIiwg
X1VJQXBwbGljYXRpb25Jc0V4dGVuc2lvbigpID8gIkV4dGVuc2lvbiIgOiAiVmlld1NlcnZpY2Ui
LCBnZXRwaWQoKSwgYXBwbGljYXRpb25QSUQsIG1faXNJbkJhY2tncm91bmQpOwogCiAgICAgICAg
IG1fZGlkRW50ZXJCYWNrZ3JvdW5kT2JzZXJ2ZXIgPSBbbm90aWZpY2F0aW9uQ2VudGVyIGFkZE9i
c2VydmVyRm9yTmFtZTp2aWV3U2VydmljZUJhY2tncm91bmROb3RpZmljYXRpb25OYW1lIG9iamVj
dDpzZXJ2aWNlVmlld0NvbnRyb2xsZXIgcXVldWU6bmlsIHVzaW5nQmxvY2s6W3RoaXMsIGFwcGxp
Y2F0aW9uUElEXShOU05vdGlmaWNhdGlvbiAqKSB7Ci0gICAgICAgICAgICBSRUxFQVNFX0xPRyhQ
cm9jZXNzU3VzcGVuc2lvbiwgIiV7cHVibGljfXMgaGFzIFBJRCAlZCwgaG9zdCBhcHBsaWNhdGlv
biBQSUQ6ICVkLCBkaWRFbnRlckJhY2tncm91bmQiLCBfVUlBcHBsaWNhdGlvbklzRXh0ZW5zaW9u
KCkgPyAiRXh0ZW5zaW9uIiA6ICJWaWV3U2VydmljZSIsIGdldHBpZCgpLCBhcHBsaWNhdGlvblBJ
RCk7CisgICAgICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiV7cHVibGlj
fXMgaGFzIFBJRCAlZCwgaG9zdCBhcHBsaWNhdGlvbiBQSUQ9JWQsIGRpZEVudGVyQmFja2dyb3Vu
ZCIsIF9VSUFwcGxpY2F0aW9uSXNFeHRlbnNpb24oKSA/ICJFeHRlbnNpb24iIDogIlZpZXdTZXJ2
aWNlIiwgZ2V0cGlkKCksIGFwcGxpY2F0aW9uUElEKTsKICAgICAgICAgICAgIGFwcGxpY2F0aW9u
RGlkRW50ZXJCYWNrZ3JvdW5kKCk7CiAgICAgICAgIH1dOwogICAgICAgICBtX3dpbGxFbnRlckZv
cmVncm91bmRPYnNlcnZlciA9IFtub3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2ZXJGb3JOYW1l
OnZpZXdTZXJ2aWNlRm9yZWdyb3VuZE5vdGlmaWNhdGlvbk5hbWUgb2JqZWN0OnNlcnZpY2VWaWV3
Q29udHJvbGxlciBxdWV1ZTpuaWwgdXNpbmdCbG9jazpbdGhpcywgYXBwbGljYXRpb25QSURdKE5T
Tm90aWZpY2F0aW9uICopIHsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5z
aW9uLCAiJXtwdWJsaWN9cyBoYXMgUElEICVkLCBob3N0IGFwcGxpY2F0aW9uIFBJRDogJWQsIHdp
bGxFbnRlckZvcmVncm91bmQiLCBfVUlBcHBsaWNhdGlvbklzRXh0ZW5zaW9uKCkgPyAiRXh0ZW5z
aW9uIiA6ICJWaWV3U2VydmljZSIsIGdldHBpZCgpLCBhcHBsaWNhdGlvblBJRCk7CisgICAgICAg
ICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiV7cHVibGljfXMgaGFzIFBJRCAl
ZCwgaG9zdCBhcHBsaWNhdGlvbiBQSUQ9JWQsIHdpbGxFbnRlckZvcmVncm91bmQiLCBfVUlBcHBs
aWNhdGlvbklzRXh0ZW5zaW9uKCkgPyAiRXh0ZW5zaW9uIiA6ICJWaWV3U2VydmljZSIsIGdldHBp
ZCgpLCBhcHBsaWNhdGlvblBJRCk7CiAgICAgICAgICAgICBhcHBsaWNhdGlvbldpbGxFbnRlckZv
cmVncm91bmQoKTsKICAgICAgICAgfV07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuY3BwCmluZGV4IDQ3OTY1MDNmNTJiMjhlMDZjNmY2YTM0
NTQ3MDliNDNhMzcyNjllMjIuLjgxNDMwNmQzN2FhODdkMzAwZjAxY2VkMjc3NTg3YWNiMzc5ODlk
MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1By
b3h5LmNwcApAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5Ojpj
b25uZWN0KCkKIAogdm9pZCBBdXhpbGlhcnlQcm9jZXNzUHJveHk6OnRlcm1pbmF0ZSgpCiB7Ci0g
ICAgUkVMRUFTRV9MT0coUHJvY2VzcywgIkF1eGlsaWFyeVByb2Nlc3NQcm94eTo6dGVybWluYXRl
OiBQSUQ6ICVkIiwgcHJvY2Vzc0lkZW50aWZpZXIoKSk7CisgICAgUkVMRUFTRV9MT0coUHJvY2Vz
cywgIkF1eGlsaWFyeVByb2Nlc3NQcm94eTo6dGVybWluYXRlOiBQSUQ9JWQiLCBwcm9jZXNzSWRl
bnRpZmllcigpKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGlmIChtX2Nvbm5lY3Rpb24g
JiYgbV9jb25uZWN0aW9uLT5raWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb2Nl
c3NUaHJvdHRsZXIuY3BwCmluZGV4IDIwY2Y3NWY5YWI5YWQwYzA5ZDk1ZjlhZDBhZGE3MmE3MTg4
YzJiMzQuLjg3OTVjZGE3MzZmNzZhZjI3MDllYjdlMmZmZDVjZDYzYzM4Mzc3ZGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCkBAIC0xMjYsNyArMTI2
LDcgQEAgdm9pZCBQcm9jZXNzVGhyb3R0bGVyOjpzZXRBc3NlcnRpb25UeXBlKFByb2Nlc3NBc3Nl
cnRpb25UeXBlIG5ld1R5cGUpCiAgICAgaWYgKG1fYXNzZXJ0aW9uICYmIG1fYXNzZXJ0aW9uLT5p
c1ZhbGlkKCkgJiYgbV9hc3NlcnRpb24tPnR5cGUoKSA9PSBuZXdUeXBlKQogICAgICAgICByZXR1
cm47CiAKLSAgICBQUk9DRVNTVEhST1RUTEVSX1JFTEVBU0VfTE9HKCJzZXRBc3NlcnRpb25UeXBl
OiBVcGRhdGluZyBwcm9jZXNzIGFzc2VydGlvbiB0eXBlIHRvICV1IChmb3JlZ3JvdW5kQWN0aXZp
dGllczogJXUsIGJhY2tncm91bmRBY3Rpdml0aWVzOiAldSkiLCBuZXdUeXBlLCBtX2ZvcmVncm91
bmRBY3Rpdml0aWVzLnNpemUoKSwgbV9iYWNrZ3JvdW5kQWN0aXZpdGllcy5zaXplKCkpOworICAg
IFBST0NFU1NUSFJPVFRMRVJfUkVMRUFTRV9MT0coInNldEFzc2VydGlvblR5cGU6IFVwZGF0aW5n
IHByb2Nlc3MgYXNzZXJ0aW9uIHR5cGUgdG8gJXUgKGZvcmVncm91bmRBY3Rpdml0aWVzPSV1LCBi
YWNrZ3JvdW5kQWN0aXZpdGllcz0ldSkiLCBuZXdUeXBlLCBtX2ZvcmVncm91bmRBY3Rpdml0aWVz
LnNpemUoKSwgbV9iYWNrZ3JvdW5kQWN0aXZpdGllcy5zaXplKCkpOwogCiAgICAgLy8gS2VlcCB0
aGUgcHJldmlvdXMgYXNzZXJ0aW9uIGFyb3VuZCB1bnRpbCBhZnRlciB0aGUgbmV3IG9uZSBoYXMg
YmVlbiBjcmVhdGVkIHNvIHRoYXQgd2UgYWx3YXlzIGhvbGQKICAgICAvLyBhIHByb2Nlc3MgYXNz
ZXJ0aW9uIGZvciB0aGUgcHJvY2Vzcy4KQEAgLTE1Niw3ICsxNTYsNyBAQCB2b2lkIFByb2Nlc3NU
aHJvdHRsZXI6OnVwZGF0ZUFzc2VydGlvbklmTmVlZGVkKCkKICAgICAgICAgICAgIGlmIChtX2Fz
c2VydGlvbi0+dHlwZSgpID09IFByb2Nlc3NBc3NlcnRpb25UeXBlOjpTdXNwZW5kZWQpCiAgICAg
ICAgICAgICAgICAgUFJPQ0VTU1RIUk9UVExFUl9SRUxFQVNFX0xPRygidXBkYXRlQXNzZXJ0aW9u
SWZOZWVkZWQ6IHNlbmRpbmcgUHJvY2Vzc0RpZFJlc3VtZSBJUEMgYmVjYXVzZSB0aGUgcHJvY2Vz
cyB3YXMgc3VzcGVuZGVkIik7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgUFJP
Q0VTU1RIUk9UVExFUl9SRUxFQVNFX0xPRygidXBkYXRlQXNzZXJ0aW9uSWZOZWVkZWQ6IHNlbmRp
bmcgUHJvY2Vzc0RpZFJlc3VtZSBJUEMgYmVjYXVzZSB0aGUgV2ViUHJvY2VzcyBpcyBzdGlsbCBw
cm9jZXNzaW5nIHJlcXVlc3QgdG8gc3VzcGVuZDogJSIgUFJJdTY0LCAqbV9wZW5kaW5nUmVxdWVz
dFRvU3VzcGVuZElEKTsKKyAgICAgICAgICAgICAgICBQUk9DRVNTVEhST1RUTEVSX1JFTEVBU0Vf
TE9HKCJ1cGRhdGVBc3NlcnRpb25JZk5lZWRlZDogc2VuZGluZyBQcm9jZXNzRGlkUmVzdW1lIElQ
QyBiZWNhdXNlIHRoZSBXZWJQcm9jZXNzIGlzIHN0aWxsIHByb2Nlc3NpbmcgcmVxdWVzdCB0byBz
dXNwZW5kPSUiIFBSSXU2NCwgKm1fcGVuZGluZ1JlcXVlc3RUb1N1c3BlbmRJRCk7CiAgICAgICAg
ICAgICBtX3Byb2Nlc3Muc2VuZFByb2Nlc3NEaWRSZXN1bWUoKTsKICAgICAgICAgICAgIGNsZWFy
UGVuZGluZ1JlcXVlc3RUb1N1c3BlbmQoKTsKICAgICAgICAgfQpAQCAtMjEwLDE0ICsyMTAsMTQg
QEAgdm9pZCBQcm9jZXNzVGhyb3R0bGVyOjpjbGVhclBlbmRpbmdSZXF1ZXN0VG9TdXNwZW5kKCkK
IAogdm9pZCBQcm9jZXNzVGhyb3R0bGVyOjpzZW5kUHJlcGFyZVRvU3VzcGVuZElQQyhJc1N1c3Bl
bnNpb25JbW1pbmVudCBpc1N1c3BlbnNpb25JbW1pbmVudCkKIHsKLSAgICBQUk9DRVNTVEhST1RU
TEVSX1JFTEVBU0VfTE9HKCJzZW5kUHJlcGFyZVRvU3VzcGVuZElQQzogaXNTdXNwZW5zaW9uSW1t
aW5lbnQ6ICVkIiwgaXNTdXNwZW5zaW9uSW1taW5lbnQgPT0gSXNTdXNwZW5zaW9uSW1taW5lbnQ6
Olllcyk7CisgICAgUFJPQ0VTU1RIUk9UVExFUl9SRUxFQVNFX0xPRygic2VuZFByZXBhcmVUb1N1
c3BlbmRJUEM6IGlzU3VzcGVuc2lvbkltbWluZW50PSVkIiwgaXNTdXNwZW5zaW9uSW1taW5lbnQg
PT0gSXNTdXNwZW5zaW9uSW1taW5lbnQ6Olllcyk7CiAgICAgaWYgKG1fcGVuZGluZ1JlcXVlc3RU
b1N1c3BlbmRJRCkgewogICAgICAgICAvLyBEbyBub3Qgc2VuZCBhIG5ldyBQcmVwYXJlVG9TdXNw
ZW5kIElQQyBmb3IgaW1taW5lbnQgc3VzcGVuc2lvbiBpZiB3ZSd2ZSBhbHJlYWR5IHNlbnQgYSBu
b24taW1taW5lbnQgUHJlcGFyZVRvU3VzcGVuZCBJUEMuCiAgICAgICAgIFJFTEVBU0VfQVNTRVJU
KGlzU3VzcGVuc2lvbkltbWluZW50ID09IElzU3VzcGVuc2lvbkltbWluZW50OjpZZXMpOwogICAg
ICAgICBQUk9DRVNTVEhST1RUTEVSX1JFTEVBU0VfTE9HKCJzZW5kUHJlcGFyZVRvU3VzcGVuZElQ
QzogTm90IHNlbmRpbmcgUHJlcGFyZVRvU3VzcGVuZCgpIElQQyBiZWNhdXNlIHRoZXJlIGlzIGFs
cmVhZHkgb25lIGluIGZsaWdodCAoJSIgUFJJdTY0ICIpIiwgKm1fcGVuZGluZ1JlcXVlc3RUb1N1
c3BlbmRJRCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9wZW5kaW5nUmVxdWVzdFRvU3VzcGVu
ZElEID0gZ2VuZXJhdGVQcmVwYXJlVG9TdXNwZW5kUmVxdWVzdElEKCk7Ci0gICAgICAgIFBST0NF
U1NUSFJPVFRMRVJfUkVMRUFTRV9MT0coInNlbmRQcmVwYXJlVG9TdXNwZW5kSVBDOiBTZW5kaW5n
IFByZXBhcmVUb1N1c3BlbmQoJSIgUFJJdTY0ICIsIGlzU3VzcGVuc2lvbkltbWluZW50OiAlZCkg
SVBDIiwgKm1fcGVuZGluZ1JlcXVlc3RUb1N1c3BlbmRJRCwgaXNTdXNwZW5zaW9uSW1taW5lbnQg
PT0gSXNTdXNwZW5zaW9uSW1taW5lbnQ6Olllcyk7CisgICAgICAgIFBST0NFU1NUSFJPVFRMRVJf
UkVMRUFTRV9MT0coInNlbmRQcmVwYXJlVG9TdXNwZW5kSVBDOiBTZW5kaW5nIFByZXBhcmVUb1N1
c3BlbmQoJSIgUFJJdTY0ICIsIGlzU3VzcGVuc2lvbkltbWluZW50PSVkKSBJUEMiLCAqbV9wZW5k
aW5nUmVxdWVzdFRvU3VzcGVuZElELCBpc1N1c3BlbnNpb25JbW1pbmVudCA9PSBJc1N1c3BlbnNp
b25JbW1pbmVudDo6WWVzKTsKICAgICAgICAgbV9wcm9jZXNzLnNlbmRQcmVwYXJlVG9TdXNwZW5k
KGlzU3VzcGVuc2lvbkltbWluZW50LCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhp
cyksIHJlcXVlc3RUb1N1c3BlbmRJRCA9ICptX3BlbmRpbmdSZXF1ZXN0VG9TdXNwZW5kSURdKCkg
bXV0YWJsZSB7CiAgICAgICAgICAgICBpZiAod2Vha1RoaXMgJiYgbV9wZW5kaW5nUmVxdWVzdFRv
U3VzcGVuZElEICYmICptX3BlbmRpbmdSZXF1ZXN0VG9TdXNwZW5kSUQgPT0gcmVxdWVzdFRvU3Vz
cGVuZElEKQogICAgICAgICAgICAgICAgIHByb2Nlc3NSZWFkeVRvU3VzcGVuZCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwCmluZGV4IDMw
MWQwZWQ4MzBkYmVkOTA4Y2JiMjc4ODZmMDRhOGZlZWE5ZmQ4OWUuLjZjZDc4YTFlOGM1ODNiNjEz
YmY1MjU1YjI4ZDRkNzhjNDBiYzQzYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAKQEAgLTUyLDggKzUyLDggQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi0jZGVmaW5lIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoY2hhbm5lbCwgZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKG1fcGFnZS5pc0Fs
d2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgY2hhbm5lbCwgIiVwIC0gUHJvdmlzaW9uYWxQYWdlUHJv
eHk6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQotI2RlZmluZSBSRUxFQVNFX0xPR19FUlJP
Ul9JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19FUlJPUl9JRihtX3Bh
Z2UuaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIGNoYW5uZWwsICIlcCAtIFByb3Zpc2lvbmFs
UGFnZVByb3h5OjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FSR1NfXykKKyNkZWZpbmUgUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRChjaGFubmVsLCBmbXQsIC4uLikgUkVMRUFTRV9MT0dfSUYobV9wYWdlLmlz
QWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBjaGFubmVsLCAiJXAgLSBbcGFnZVByb3h5SUQ9JSIg
UFJJdTY0ICIsIHdlYlBhZ2VJRD0lIiBQUkl1NjQgIiwgUElEPSVpLCBuYXZpZ2F0aW9uSUQ9JSIg
UFJJdTY0ICJdIFByb3Zpc2lvbmFsUGFnZVByb3h5OjoiIGZtdCwgdGhpcywgbV9wYWdlLmlkZW50
aWZpZXIoKS50b1VJbnQ2NCgpLCBtX3dlYlBhZ2VJRC50b1VJbnQ2NCgpLCBtX3Byb2Nlc3MtPnBy
b2Nlc3NJZGVudGlmaWVyKCksIG1fbmF2aWdhdGlvbklELCAjI19fVkFfQVJHU19fKQorI2RlZmlu
ZSBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNF
X0xPR19FUlJPUl9JRihtX3BhZ2UuaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIGNoYW5uZWws
ICIlcCAtIFtwYWdlUHJveHlJRD0lIiBQUkl1NjQgIiwgd2ViUGFnZUlEPSUiIFBSSXU2NCAiLCBQ
SUQ9JWksIG5hdmlnYXRpb25JRD0lIiBQUkl1NjQgIl0gUHJvdmlzaW9uYWxQYWdlUHJveHk6OiIg
Zm10LCB0aGlzLCBtX3BhZ2UuaWRlbnRpZmllcigpLnRvVUludDY0KCksIG1fd2ViUGFnZUlELnRv
VUludDY0KCksIG1fcHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSwgbV9uYXZpZ2F0aW9uSUQs
ICMjX19WQV9BUkdTX18pCiAKIFByb3Zpc2lvbmFsUGFnZVByb3h5OjpQcm92aXNpb25hbFBhZ2VQ
cm94eShXZWJQYWdlUHJveHkmIHBhZ2UsIFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgcHJvY2Vzcywg
c3RkOjp1bmlxdWVfcHRyPFN1c3BlbmRlZFBhZ2VQcm94eT4gc3VzcGVuZGVkUGFnZSwgdWludDY0
X3QgbmF2aWdhdGlvbklELCBib29sIGlzU2VydmVyUmVkaXJlY3QsIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCBwcm9j
ZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50LCBBUEk6OldlYnNpdGVQb2xpY2llcyogd2Vic2l0ZVBv
bGljaWVzKQogICAgIDogbV9wYWdlKHBhZ2UpCkBAIC03MCw3ICs3MCw3IEBAIFByb3Zpc2lvbmFs
UGFnZVByb3h5OjpQcm92aXNpb25hbFBhZ2VQcm94eShXZWJQYWdlUHJveHkmIHBhZ2UsIFJlZjxX
ZWJQcm9jZXNzUHJvCiAgICAgLCBtX2NvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihz
dXNwZW5kZWRQYWdlID8gc3VzcGVuZGVkUGFnZS0+Y29udGV4dElERm9yVmlzaWJpbGl0eVByb3Bh
Z2F0aW9uKCkgOiAwKQogI2VuZGlmCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9j
ZXNzU3dhcHBpbmcsICJQcm92aXNpb25hbFBhZ2VQcm94eTogcGFnZVByb3h5SUQ9JSIgUFJJdTY0
ICIgd2ViUGFnZUlEPSUiIFBSSXU2NCAiIG5hdmlnYXRpb25JRD0lIiBQUkl1NjQgIiBzdXNwZW5k
ZWRQYWdlOiAlcCIsIG1fcGFnZS5pZGVudGlmaWVyKCkudG9VSW50NjQoKSwgbV93ZWJQYWdlSUQu
dG9VSW50NjQoKSwgbmF2aWdhdGlvbklELCBzdXNwZW5kZWRQYWdlLmdldCgpKTsKKyAgICBSRUxF
QVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NTd2FwcGluZywgIlByb3Zpc2lvbmFsUGFnZVByb3h5
OiBzdXNwZW5kZWRQYWdlPSVwIiwgc3VzcGVuZGVkUGFnZS5nZXQoKSk7CiAKICAgICBtX3Byb2Nl
c3MtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5OjptZXNzYWdlUmVj
ZWl2ZXJOYW1lKCksIG1fd2ViUGFnZUlELCAqdGhpcyk7CiAgICAgbV9wcm9jZXNzLT5hZGRQcm92
aXNpb25hbFBhZ2VQcm94eSgqdGhpcyk7CkBAIC0xMTIsNyArMTEyLDcgQEAgUHJvdmlzaW9uYWxQ
YWdlUHJveHk6On5Qcm92aXNpb25hbFBhZ2VQcm94eSgpCiAKIHZvaWQgUHJvdmlzaW9uYWxQYWdl
UHJveHk6OnByb2Nlc3NEaWRUZXJtaW5hdGUoKQogewotICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lG
X0FMTE9XRUQoUHJvY2Vzc1N3YXBwaW5nLCAicHJvY2Vzc0RpZFRlcm1pbmF0ZTogcGFnZVByb3h5
SUQ9JSIgUFJJdTY0ICIgd2ViUGFnZUlEPSUiIFBSSXU2NCwgbV9wYWdlLmlkZW50aWZpZXIoKS50
b1VJbnQ2NCgpLCBtX3dlYlBhZ2VJRC50b1VJbnQ2NCgpKTsKKyAgICBSRUxFQVNFX0xPR19FUlJP
Ul9JRl9BTExPV0VEKFByb2Nlc3NTd2FwcGluZywgInByb2Nlc3NEaWRUZXJtaW5hdGU6Iik7CiAg
ICAgbV9wYWdlLnByb3Zpc2lvbmFsUHJvY2Vzc0RpZFRlcm1pbmF0ZSgpOwogfQogCkBAIC0xMjks
NyArMTI5LDcgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6Y2FuY2VsKCkKICAgICAgICAg
CiAgICAgQVNTRVJUKG1fcHJvY2Vzcy0+c3RhdGUoKSA9PSBXZWJQcm9jZXNzUHJveHk6OlN0YXRl
OjpSdW5uaW5nKTsKIAotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N3YXBwaW5n
LCAiY2FuY2VsOiBTaW11bGF0aW5nIGEgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lIGZv
ciBwYWdlUHJveHlJRD0lIiBQUkl1NjQgIiB3ZWJQYWdlSUQ9JSIgUFJJdTY0LCBtX3BhZ2UuaWRl
bnRpZmllcigpLnRvVUludDY0KCksIG1fd2ViUGFnZUlELnRvVUludDY0KCkpOworICAgIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N3YXBwaW5nLCAiY2FuY2VsOiBTaW11bGF0aW5nIGEg
ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lIik7CiAgICAgQVNTRVJUKG1fbWFpbkZyYW1l
KTsKICAgICBhdXRvIGVycm9yID0gV2ViS2l0OjpjYW5jZWxsZWRFcnJvcihtX3JlcXVlc3QpOwog
ICAgIGVycm9yLnNldFR5cGUoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6VHlwZTo6Q2FuY2VsbGF0
aW9uKTsKQEAgLTE1OCwxNCArMTU4LDE0IEBAIHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6Omlu
aXRpYWxpemVXZWJQYWdlKFJlZlB0cjxBUEk6OldlYnNpdGVQb2xpY2llcz4mJiB3ZWJzCiAKIHZv
aWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OmxvYWREYXRhKEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdh
dGlvbiwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhLCBjb25zdCBTdHJpbmcmIE1JTUVU
eXBlLCBjb25zdCBTdHJpbmcmIGVuY29kaW5nLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIEFQSTo6
T2JqZWN0KiB1c2VyRGF0YSwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+IGlz
TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4sIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+
JiYgd2Vic2l0ZVBvbGljaWVzKQogewotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vz
c1N3YXBwaW5nLCAibG9hZERhdGE6IHBhZ2VQcm94eUlEPSUiIFBSSXU2NCAiIHdlYlBhZ2VJRD0l
IiBQUkl1NjQsIG1fcGFnZS5pZGVudGlmaWVyKCkudG9VSW50NjQoKSwgbV93ZWJQYWdlSUQudG9V
SW50NjQoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3dhcHBpbmcsICJs
b2FkRGF0YToiKTsKIAogICAgIG1fcGFnZS5sb2FkRGF0YVdpdGhOYXZpZ2F0aW9uU2hhcmVkKG1f
cHJvY2Vzcy5jb3B5UmVmKCksIG1fd2ViUGFnZUlELCBuYXZpZ2F0aW9uLCBkYXRhLCBNSU1FVHlw
ZSwgZW5jb2RpbmcsIGJhc2VVUkwsIHVzZXJEYXRhLCBXZWJDb3JlOjpTaG91bGRUcmVhdEFzQ29u
dGludWluZ0xvYWQ6OlllcywgaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwgV1RGTW92ZSh3
ZWJzaXRlUG9saWNpZXMpLCBuYXZpZ2F0aW9uLmxhc3ROYXZpZ2F0aW9uQWN0aW9uKCkuc2hvdWxk
T3BlbkV4dGVybmFsVVJMc1BvbGljeSk7CiB9CiAKIHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6
OmxvYWRSZXF1ZXN0KEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiYgcmVxdWVzdCwgQVBJOjpPYmplY3QqIHVzZXJEYXRhLCBPcHRpb25hbDxOYXZp
Z2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwgT3B0
aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiB3ZWJzaXRlUG9saWNpZXMpCiB7Ci0gICAgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3dhcHBpbmcsICJsb2FkUmVxdWVzdDogcGFnZVBy
b3h5SUQ9JSIgUFJJdTY0ICIgd2ViUGFnZUlEPSUiIFBSSXU2NCwgbV9wYWdlLmlkZW50aWZpZXIo
KS50b1VJbnQ2NCgpLCBtX3dlYlBhZ2VJRC50b1VJbnQ2NCgpKTsKKyAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKFByb2Nlc3NTd2FwcGluZywgImxvYWRSZXF1ZXN0OiIpOwogCiAgICAgLy8gSWYg
dGhpcyBpcyBhIGNsaWVudC1zaWRlIHJlZGlyZWN0IGNvbnRpbnVpbmcgaW4gYSBuZXcgcHJvY2Vz
cywgdGhlbiB0aGUgbmV3IHByb2Nlc3Mgd2lsbCBvdmVyd3JpdGUgdGhlIGZyb21JdGVtJ3MgVVJM
LiBJbiB0aGlzIGNhc2UsCiAgICAgLy8gd2UgbmVlZCB0byBtYWtlIHN1cmUgd2UgdXBkYXRlIGZy
b21JdGVtJ3MgcHJvY2Vzc0lkZW50aWZpZXIgYXMgd2Ugd2FudCBmdXR1cmUgbmF2aWdhdGlvbnMg
dG8gdGhpcyBCYWNrRm9yd2FyZCBpdGVtIHRvIGhhcHBlbiBpbiB0aGUKQEAgLTE3OCw3ICsxNzgs
NyBAQCB2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5Ojpsb2FkUmVxdWVzdChBUEk6Ok5hdmlnYXRp
b24mIG5hdmlnYXRpb24sIFdlYkNvcmU6OlJlcwogCiB2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5
Ojpnb1RvQmFja0ZvcndhcmRJdGVtKEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgV2ViQmFj
a0ZvcndhcmRMaXN0SXRlbSYgaXRlbSwgUmVmUHRyPEFQSTo6V2Vic2l0ZVBvbGljaWVzPiYmIHdl
YnNpdGVQb2xpY2llcykKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NTd2Fw
cGluZywgImdvVG9CYWNrRm9yd2FyZEl0ZW06IHBhZ2VQcm94eUlEPSUiIFBSSXU2NCAiIHdlYlBh
Z2VJRD0lIiBQUkl1NjQsIG1fcGFnZS5pZGVudGlmaWVyKCkudG9VSW50NjQoKSwgbV93ZWJQYWdl
SUQudG9VSW50NjQoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3dhcHBp
bmcsICJnb1RvQmFja0ZvcndhcmRJdGVtOiIpOwogCiAgICAgYXV0byBpdGVtU3RhdGVzID0gbV9w
YWdlLmJhY2tGb3J3YXJkTGlzdCgpLmZpbHRlcmVkSXRlbVN0YXRlcyhbdGhpcywgdGFyZ2V0SXRl
bSA9ICZpdGVtXShhdXRvJiBpdGVtKSB7CiAgICAgICAgIGlmIChhdXRvKiBiYWNrRm9yd2FyZENh
Y2hlRW50cnkgPSBpdGVtLmJhY2tGb3J3YXJkQ2FjaGVFbnRyeSgpKSB7CkBAIC0yMDgsNyArMjA4
LDcgQEAgaW5saW5lIGJvb2wgUHJvdmlzaW9uYWxQYWdlUHJveHk6OnZhbGlkYXRlSW5wdXQoRnJh
bWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0IE8KIAogdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94
eTo6ZGlkQ3JlYXRlTWFpbkZyYW1lKEZyYW1lSWRlbnRpZmllciBmcmFtZUlEKQogewotICAgIFJF
TEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N3YXBwaW5nLCAiZGlkQ3JlYXRlTWFpbkZyYW1l
OiBwYWdlUHJveHlJRD0lIiBQUkl1NjQgIiB3ZWJQYWdlSUQ9JSIgUFJJdTY0ICIsIGZyYW1lSUQ9
JSIgUFJJdTY0LCBtX3BhZ2UuaWRlbnRpZmllcigpLnRvVUludDY0KCksIG1fd2ViUGFnZUlELnRv
VUludDY0KCksIGZyYW1lSUQudG9VSW50NjQoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RChQcm9jZXNzU3dhcHBpbmcsICJkaWRDcmVhdGVNYWluRnJhbWU6IGZyYW1lSUQ9JSIgUFJJdTY0
LCBmcmFtZUlELnRvVUludDY0KCkpOwogICAgIEFTU0VSVCghbV9tYWluRnJhbWUpOwogCiAgICAg
bV9tYWluRnJhbWUgPSBXZWJGcmFtZVByb3h5OjpjcmVhdGUobV9wYWdlLCBmcmFtZUlEKTsKQEAg
LTI0Niw3ICsyNDYsNyBAQCB2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRTdGFydFByb3Zp
c2lvbmFsTG9hZEZvckZyYW1lKEZyYW1lSWRlbnRpZmllciBmcmFtZQogICAgIGlmICghdmFsaWRh
dGVJbnB1dChmcmFtZUlELCBuYXZpZ2F0aW9uSUQpKQogICAgICAgICByZXR1cm47CiAKLSAgICBS
RUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NTd2FwcGluZywgImRpZFN0YXJ0UHJvdmlzaW9u
YWxMb2FkRm9yRnJhbWU6IHBhZ2VQcm94eUlEPSUiIFBSSXU2NCAiIHdlYlBhZ2VJRD0lIiBQUkl1
NjQgIiwgZnJhbWVJRD0lIiBQUkl1NjQgIiwgbmF2aWdhdGlvbklEPSUiIFBSSXU2NCwgbV9wYWdl
LmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCBtX3dlYlBhZ2VJRC50b1VJbnQ2NCgpLCBmcmFtZUlE
LnRvVUludDY0KCksIG5hdmlnYXRpb25JRCk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQ
cm9jZXNzU3dhcHBpbmcsICJkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOiBmcmFtZUlE
PSUiIFBSSXU2NCwgZnJhbWVJRC50b1VJbnQ2NCgpKTsKICAgICBBU1NFUlQobV9wcm92aXNpb25h
bExvYWRVUkwuaXNOdWxsKCkpOwogICAgIG1fcHJvdmlzaW9uYWxMb2FkVVJMID0gdXJsOwogCkBA
IC0yNjYsNyArMjY2LDcgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkRmFpbFByb3Zp
c2lvbmFsTG9hZEZvckZyYW1lKEZyYW1lSWRlbnRpZmllciBmcmFtZUkKICAgICBpZiAoIXZhbGlk
YXRlSW5wdXQoZnJhbWVJRCwgbmF2aWdhdGlvbklEKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
UkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChQcm9jZXNzU3dhcHBpbmcsICJkaWRGYWlsUHJv
dmlzaW9uYWxMb2FkRm9yRnJhbWU6IHBhZ2VQcm94eUlEPSUiIFBSSXU2NCAiIHdlYlBhZ2VJRD0l
IiBQUkl1NjQgIiwgZnJhbWVJRD0lIiBQUkl1NjQgIiwgbmF2aWdhdGlvbklEPSUiIFBSSXU2NCwg
bV9wYWdlLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCBtX3dlYlBhZ2VJRC50b1VJbnQ2NCgpLCBm
cmFtZUlELnRvVUludDY0KCksIG5hdmlnYXRpb25JRCk7CisgICAgUkVMRUFTRV9MT0dfRVJST1Jf
SUZfQUxMT1dFRChQcm9jZXNzU3dhcHBpbmcsICJkaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJh
bWU6IGZyYW1lSUQ9JSIgUFJJdTY0LCBmcmFtZUlELnRvVUludDY0KCkpOwogICAgIEFTU0VSVCgh
bV9wcm92aXNpb25hbExvYWRVUkwuaXNOdWxsKCkpOwogICAgIG1fcHJvdmlzaW9uYWxMb2FkVVJM
ID0geyB9OwogCkBAIC0yODIsNyArMjgyLDcgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6
ZGlkQ29tbWl0TG9hZEZvckZyYW1lKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBGcmFtZUkKICAg
ICBpZiAoIXZhbGlkYXRlSW5wdXQoZnJhbWVJRCwgbmF2aWdhdGlvbklEKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3dhcHBpbmcsICJkaWRD
b21taXRMb2FkRm9yRnJhbWU6IHBhZ2VQcm94eUlEPSUiIFBSSXU2NCAiIHdlYlBhZ2VJRD0lIiBQ
Ukl1NjQgIiwgZnJhbWVJRD0lIiBQUkl1NjQgIiwgbmF2aWdhdGlvbklEID0gJSIgUFJJdTY0LCBt
X3BhZ2UuaWRlbnRpZmllcigpLnRvVUludDY0KCksIG1fd2ViUGFnZUlELnRvVUludDY0KCksIGZy
YW1lSUQudG9VSW50NjQoKSwgbmF2aWdhdGlvbklEKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKFByb2Nlc3NTd2FwcGluZywgImRpZENvbW1pdExvYWRGb3JGcmFtZTogZnJhbWVJRD0lIiBQ
Ukl1NjQsIGZyYW1lSUQudG9VSW50NjQoKSk7CiAgICAgbV9wcm92aXNpb25hbExvYWRVUkwgPSB7
IH07CiAgICAgbV9wcm9jZXNzLT5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3dlYlBhZ2VJRCk7CiAKQEAgLTM5NCw3
ICszOTQsNyBAQCB2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5Ojpjb250ZW50RmlsdGVyRGlkQmxv
Y2tMb2FkRm9yRnJhbWUoY29uc3QgV2ViQ29yZTo6Q29udAogI2lmIEhBVkUoVklTSUJJTElUWV9Q
Uk9QQUdBVElPTl9WSUVXKQogdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkQ3JlYXRlQ29u
dGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250ZXh0SUQgY29udGV4
dElEKQogewotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N3YXBwaW5nLCAiZGlk
Q3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbjogY29udGV4dElEPSV1IHBhZ2VQ
cm94eUlEPSUiIFBSSXU2NCAiIHdlYlBhZ2VJRD0lIiBQUkl1NjQsIGNvbnRleHRJRCwgbV9wYWdl
LmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCBtX3dlYlBhZ2VJRC50b1VJbnQ2NCgpKTsKKyAgICBS
RUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NTd2FwcGluZywgImRpZENyZWF0ZUNvbnRleHRG
b3JWaXNpYmlsaXR5UHJvcGFnYXRpb246IGNvbnRleHRJRD0ldSIsIGNvbnRleHRJRCk7CiAgICAg
bV9jb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24gPSBjb250ZXh0SUQ7CiB9CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2Fj
aGUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZS5jcHAK
aW5kZXggNjc4NzU4ZWMwZjFlM2YwOTUwYzEyZTMwNDI2NWFiMzk3OGI1OTc5Zi4uOWNmMmRlMGFj
Mzg0MDUzMDE1ZDlhNGM2MTRmYzAxZTgxMGQ1YTFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZS5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgdm9pZCBX
ZWJCYWNrRm9yd2FyZENhY2hlOjphZGRFbnRyeShXZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVt
LCBzdGQ6OnVuaXF1ZV9wdHIKICAgICAgICAgcmVtb3ZlT2xkZXN0RW50cnkoKTsKICAgICBBU1NF
UlQoc2l6ZSgpIDw9IGNhcGFjaXR5KCkpOwogCi0gICAgUkVMRUFTRV9MT0coQmFja0ZvcndhcmRD
YWNoZSwgIldlYkJhY2tGb3J3YXJkQ2FjaGU6OmFkZEVudHJ5OiBpdGVtOiAlcywgaGFzU3VzcGVu
ZGVkUGFnZTogJWQsIHNpemU6ICV1IC8gJXUiLCBpdGVtLml0ZW1JRCgpLnN0cmluZygpLnV0Zjgo
KS5kYXRhKCksICEhaXRlbS5zdXNwZW5kZWRQYWdlKCksIHNpemUoKSwgY2FwYWNpdHkoKSk7Cisg
ICAgUkVMRUFTRV9MT0coQmFja0ZvcndhcmRDYWNoZSwgIldlYkJhY2tGb3J3YXJkQ2FjaGU6OmFk
ZEVudHJ5OiBpdGVtPSVzLCBoYXNTdXNwZW5kZWRQYWdlPSVkLCBzaXplPSV1LyV1IiwgaXRlbS5p
dGVtSUQoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCAhIWl0ZW0uc3VzcGVuZGVkUGFnZSgpLCBz
aXplKCksIGNhcGFjaXR5KCkpOwogfQogCiB2b2lkIFdlYkJhY2tGb3J3YXJkQ2FjaGU6OmFkZEVu
dHJ5KFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mIGl0ZW0sIHN0ZDo6dW5pcXVlX3B0cjxTdXNwZW5k
ZWRQYWdlUHJveHk+JiYgc3VzcGVuZGVkUGFnZSkKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIFdl
YkJhY2tGb3J3YXJkQ2FjaGU6OnJlbW92ZUVudHJ5KFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mIGl0
ZW0pCiAgICAgQVNTRVJUKG1faXRlbXNXaXRoQ2FjaGVkUGFnZS5jb250YWlucygmaXRlbSkpOwog
ICAgIG1faXRlbXNXaXRoQ2FjaGVkUGFnZS5yZW1vdmVGaXJzdCgmaXRlbSk7CiAgICAgaXRlbS5z
ZXRCYWNrRm9yd2FyZENhY2hlRW50cnkobnVsbHB0cik7Ci0gICAgUkVMRUFTRV9MT0coQmFja0Zv
cndhcmRDYWNoZSwgIldlYkJhY2tGb3J3YXJkQ2FjaGU6OnJlbW92ZUVudHJ5OiBpdGVtOiAlcywg
c2l6ZTogJXUgLyAldSIsIGl0ZW0uaXRlbUlEKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgc2l6
ZSgpLCBjYXBhY2l0eSgpKTsKKyAgICBSRUxFQVNFX0xPRyhCYWNrRm9yd2FyZENhY2hlLCAiV2Vi
QmFja0ZvcndhcmRDYWNoZTo6cmVtb3ZlRW50cnk6IGl0ZW09JXMsIHNpemU9JXUvJXUiLCBpdGVt
Lml0ZW1JRCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCksIHNpemUoKSwgY2FwYWNpdHkoKSk7CiB9
CiAKIHZvaWQgV2ViQmFja0ZvcndhcmRDYWNoZTo6cmVtb3ZlRW50cnkoU3VzcGVuZGVkUGFnZVBy
b3h5JiBzdXNwZW5kZWRQYWdlKQpAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgV2ViQmFja0Zvcndh
cmRDYWNoZTo6cmVtb3ZlRW50cnkoU3VzcGVuZGVkUGFnZVByb3h5JiBzdXNwZW5kZWRQYWdlKQog
CiBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiBXZWJCYWNrRm9yd2FyZENhY2hl
Ojp0YWtlU3VzcGVuZGVkUGFnZShXZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVtKQogewotICAg
IFJFTEVBU0VfTE9HKEJhY2tGb3J3YXJkQ2FjaGUsICJXZWJCYWNrRm9yd2FyZENhY2hlOjp0YWtl
U3VzcGVuZGVkUGFnZTogaXRlbTogJXMiLCBpdGVtLml0ZW1JRCgpLnN0cmluZygpLnV0ZjgoKS5k
YXRhKCkpOworICAgIFJFTEVBU0VfTE9HKEJhY2tGb3J3YXJkQ2FjaGUsICJXZWJCYWNrRm9yd2Fy
ZENhY2hlOjp0YWtlU3VzcGVuZGVkUGFnZTogaXRlbT0lcyIsIGl0ZW0uaXRlbUlEKCkuc3RyaW5n
KCkudXRmOCgpLmRhdGEoKSk7CiAKICAgICBBU1NFUlQobV9pdGVtc1dpdGhDYWNoZWRQYWdlLmNv
bnRhaW5zKCZpdGVtKSk7CiAgICAgQVNTRVJUKGl0ZW0uYmFja0ZvcndhcmRDYWNoZUVudHJ5KCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNo
ZUVudHJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGVF
bnRyeS5jcHAKaW5kZXggYzAwN2RmYTg2ZGFiNTEwM2ZjYmRlNzRlZGRjMGM4NGZhNmNlNWEzOC4u
MTMxMzVjNzhlMmRjNGUxMjY1MmJiMTM3NzA3MGYwMjhkYjNkNzFhYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuY3BwCkBAIC03
Miw3ICs3Miw3IEBAIFdlYlByb2Nlc3NQcm94eSYgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5Ojpw
cm9jZXNzKCkgY29uc3QKIAogdm9pZCBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnk6OmV4cGlyYXRp
b25UaW1lckZpcmVkKCkKIHsKLSAgICBSRUxFQVNFX0xPRyhCYWNrRm9yd2FyZENhY2hlLCAiJXAg
LSBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnk6OmV4cGlyYXRpb25UaW1lckZpcmVkIGJhY2tGb3J3
YXJkSXRlbUlEOiAlcywgaGFzU3VzcGVuZGVkUGFnZT8gJWQiLCB0aGlzLCBtX2JhY2tGb3J3YXJk
SXRlbUlELnN0cmluZygpLnV0ZjgoKS5kYXRhKCksICEhbV9zdXNwZW5kZWRQYWdlKTsKKyAgICBS
RUxFQVNFX0xPRyhCYWNrRm9yd2FyZENhY2hlLCAiJXAgLSBXZWJCYWNrRm9yd2FyZENhY2hlRW50
cnk6OmV4cGlyYXRpb25UaW1lckZpcmVkIGJhY2tGb3J3YXJkSXRlbUlEPSVzLCBoYXNTdXNwZW5k
ZWRQYWdlPSVkIiwgdGhpcywgbV9iYWNrRm9yd2FyZEl0ZW1JRC5zdHJpbmcoKS51dGY4KCkuZGF0
YSgpLCAhIW1fc3VzcGVuZGVkUGFnZSk7CiAgICAgQVNTRVJUKG1fYmFja0ZvcndhcmRJdGVtSUQp
OwogICAgIGF1dG8qIGl0ZW0gPSBXZWJCYWNrRm9yd2FyZExpc3RJdGVtOjppdGVtRm9ySUQobV9i
YWNrRm9yd2FyZEl0ZW1JRCk7CiAgICAgQVNTRVJUKGl0ZW0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNDY0YmRhOTFhYWY4ZDAxNTNmMWU3ZTdlOTE5YzE0
MWQ2NzA5YjczMS4uNDBkN2JkNDRkYThkNjA5MDFkZjczOWE5MWIwNDc1NGYyMmViYThmOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0zMjQ4LDcgKzMyNDgs
NyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y2xlYXJTZXJ2aWNlV29ya2VyRW50aXRsZW1lbnRPdmVy
cmlkZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKAogCiB2b2lkIFdlYlBhZ2VQcm94eTo6cmVjZWl2
ZWROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24oUG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbiwgQVBJ
OjpOYXZpZ2F0aW9uKiBuYXZpZ2F0aW9uLCBSZWY8QVBJOjpOYXZpZ2F0aW9uQWN0aW9uPiYmIG5h
dmlnYXRpb25BY3Rpb24sIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQgcHJvY2Vzc1N3YXBS
ZXF1ZXN0ZWRCeUNsaWVudCwgV2ViRnJhbWVQcm94eSYgZnJhbWUsIFJlZlB0cjxBUEk6OldlYnNp
dGVQb2xpY2llcz4mJiBwb2xpY2llcywgUmVmPFBvbGljeURlY2lzaW9uU2VuZGVyPiYmIHNlbmRl
cikKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKExvYWRpbmcsICJyZWNlaXZlZE5hdmln
YXRpb25Qb2xpY3lEZWNpc2lvbjogZnJhbWVJRDogJWxsdSwgbmF2aWdhdGlvbklEOiAlbGx1LCBw
b2xpY3lBY3Rpb246ICV1IiwgZnJhbWUuZnJhbWVJRCgpLnRvVUludDY0KCksIG5hdmlnYXRpb24g
PyBuYXZpZ2F0aW9uLT5uYXZpZ2F0aW9uSUQoKSA6IDAsICh1bnNpZ25lZClwb2xpY3lBY3Rpb24p
OworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTG9hZGluZywgInJlY2VpdmVkTmF2aWdhdGlv
blBvbGljeURlY2lzaW9uOiBmcmFtZUlEPSVsbHUsIG5hdmlnYXRpb25JRD0lbGx1LCBwb2xpY3lB
Y3Rpb249JXUiLCBmcmFtZS5mcmFtZUlEKCkudG9VSW50NjQoKSwgbmF2aWdhdGlvbiA/IG5hdmln
YXRpb24tPm5hdmlnYXRpb25JRCgpIDogMCwgKHVuc2lnbmVkKXBvbGljeUFjdGlvbik7CiAKICAg
ICBSZWY8V2Vic2l0ZURhdGFTdG9yZT4gd2Vic2l0ZURhdGFTdG9yZSA9IG1fd2Vic2l0ZURhdGFT
dG9yZS5jb3B5UmVmKCk7CiAgICAgaWYgKHBvbGljaWVzKSB7CkBAIC0zMzEwLDEwICszMzEwLDEw
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZWNlaXZlZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbihQ
b2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uLCBBCiAgICAgICAgIGJvb2wgc2hvdWxkUHJvY2Vzc1N3
YXAgPSBwcm9jZXNzRm9yTmF2aWdhdGlvbi5wdHIoKSAhPSBzb3VyY2VQcm9jZXNzLnB0cigpOwog
ICAgICAgICBpZiAoc2hvdWxkUHJvY2Vzc1N3YXApIHsKICAgICAgICAgICAgIHBvbGljeUFjdGlv
biA9IFBvbGljeUFjdGlvbjo6U3RvcEFsbExvYWRzOwotICAgICAgICAgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRChQcm9jZXNzU3dhcHBpbmcsICJkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uLCBzd2FwcGluZyBwcm9jZXNzICVpIHdpdGggcHJvY2VzcyAlaSBmb3IgbmF2aWdhdGlvbiwg
cmVhc29uOiAlIiBQVUJMSUNfTE9HX1NUUklORywgcHJvY2Vzc0lkZW50aWZpZXIoKSwgcHJvY2Vz
c0Zvck5hdmlnYXRpb24tPnByb2Nlc3NJZGVudGlmaWVyKCksIHJlYXNvbi51dGY4KCkuZGF0YSgp
KTsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N3YXBwaW5nLCAi
ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbiwgc3dhcHBpbmcgcHJvY2VzcyAlaSB3aXRo
IHByb2Nlc3MgJWkgZm9yIG5hdmlnYXRpb24sIHJlYXNvbj0lIiBQVUJMSUNfTE9HX1NUUklORywg
cHJvY2Vzc0lkZW50aWZpZXIoKSwgcHJvY2Vzc0Zvck5hdmlnYXRpb24tPnByb2Nlc3NJZGVudGlm
aWVyKCksIHJlYXNvbi51dGY4KCkuZGF0YSgpKTsKICAgICAgICAgICAgIExPRyhQcm9jZXNzU3dh
cHBpbmcsICIoUHJvY2Vzc1N3YXBwaW5nKSBTd2l0Y2hpbmcgZnJvbSBwcm9jZXNzICVpIHRvIG5l
dyBwcm9jZXNzICglaSkgZm9yIG5hdmlnYXRpb24gJSIgUFJJdTY0ICIgJyVzJyIsIHByb2Nlc3NJ
ZGVudGlmaWVyKCksIHByb2Nlc3NGb3JOYXZpZ2F0aW9uLT5wcm9jZXNzSWRlbnRpZmllcigpLCBu
YXZpZ2F0aW9uLT5uYXZpZ2F0aW9uSUQoKSwgbmF2aWdhdGlvbi0+bG9nZ2luZ1N0cmluZygpKTsK
ICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nl
c3NTd2FwcGluZywgImRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246IGtlZXAgdXNpbmcg
cHJvY2VzcyAlaSBmb3IgbmF2aWdhdGlvbiwgcmVhc29uOiAlIiBQVUJMSUNfTE9HX1NUUklORywg
cHJvY2Vzc0lkZW50aWZpZXIoKSwgcmVhc29uLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3dhcHBpbmcsICJkZWNpZGVQb2xpY3lGb3JO
YXZpZ2F0aW9uQWN0aW9uOiBrZWVwIHVzaW5nIHByb2Nlc3MgJWkgZm9yIG5hdmlnYXRpb24sIHJl
YXNvbj0lIiBQVUJMSUNfTE9HX1NUUklORywgcHJvY2Vzc0lkZW50aWZpZXIoKSwgcmVhc29uLnV0
ZjgoKS5kYXRhKCkpOwogCiAgICAgICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRs
ZT4gb3B0aW9uYWxIYW5kbGU7CiAgICAgICAgIGlmIChzaG91bGRQcm9jZXNzU3dhcCkgewpAQCAt
MzM5Miw3ICszMzkyLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJlY2VpdmVkUG9saWN5RGVjaXNp
b24oUG9saWN5QWN0aW9uIGFjdGlvbiwgQVBJOjpOYXZpZ2F0aW9uKgogdm9pZCBXZWJQYWdlUHJv
eHk6OmNvbW1pdFByb3Zpc2lvbmFsUGFnZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgRnJhbWVJ
bmZvRGF0YSYmIGZyYW1lSW5mbywgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgdWludDY0X3Qg
bmF2aWdhdGlvbklELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBib29sIGZyYW1lSGFzQ3VzdG9t
Q29udGVudFByb3ZpZGVyLCBXZWJDb3JlOjpGcmFtZUxvYWRUeXBlIGZyYW1lTG9hZFR5cGUsIGNv
bnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBib29sIHVzZWRM
ZWdhY3lUTFMsIGJvb2wgY29udGFpbnNQbHVnaW5Eb2N1bWVudCwgT3B0aW9uYWw8V2ViQ29yZTo6
SGFzSW5zZWN1cmVDb250ZW50PiBmb3JjZWRIYXNJbnNlY3VyZUNvbnRlbnQsIFdlYkNvcmU6Ok1v
dXNlRXZlbnRQb2xpY3kgbW91c2VFdmVudFBvbGljeSwgY29uc3QgVXNlckRhdGEmIHVzZXJEYXRh
KQogewogICAgIEFTU0VSVChtX3Byb3Zpc2lvbmFsUGFnZSk7Ci0gICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRChMb2FkaW5nLCAiY29tbWl0UHJvdmlzaW9uYWxQYWdlOiBuZXdQSUQgPSAlaSIsIG1f
cHJvdmlzaW9uYWxQYWdlLT5wcm9jZXNzKCkucHJvY2Vzc0lkZW50aWZpZXIoKSk7CisgICAgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAiY29tbWl0UHJvdmlzaW9uYWxQYWdlOiBuZXdQ
SUQ9JWkiLCBtX3Byb3Zpc2lvbmFsUGFnZS0+cHJvY2VzcygpLnByb2Nlc3NJZGVudGlmaWVyKCkp
OwogCiAgICAgT3B0aW9uYWw8RnJhbWVJZGVudGlmaWVyPiBtYWluRnJhbWVJREluUHJldmlvdXNQ
cm9jZXNzID0gbV9tYWluRnJhbWUgPyBtYWtlT3B0aW9uYWwobV9tYWluRnJhbWUtPmZyYW1lSUQo
KSkgOiBXVEY6Om51bGxvcHQ7CiAKQEAgLTM0MzAsMTIgKzM0MzAsMTIgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OmNvbW1pdFByb3Zpc2lvbmFsUGFnZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgRnJh
bWVJbmZvRGF0YSYKIAogdm9pZCBXZWJQYWdlUHJveHk6OmNvbnRpbnVlTmF2aWdhdGlvbkluTmV3
UHJvY2VzcyhBUEk6Ok5hdmlnYXRpb24mIG5hdmlnYXRpb24sIHN0ZDo6dW5pcXVlX3B0cjxTdXNw
ZW5kZWRQYWdlUHJveHk+JiYgc3VzcGVuZGVkUGFnZSwgUmVmPFdlYlByb2Nlc3NQcm94eT4mJiBu
ZXdQcm9jZXNzLCBQcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50IHByb2Nlc3NTd2FwUmVxdWVz
dGVkQnlDbGllbnQsIFJlZlB0cjxBUEk6OldlYnNpdGVQb2xpY2llcz4mJiB3ZWJzaXRlUG9saWNp
ZXMpCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAiY29udGludWVOYXZp
Z2F0aW9uSW5OZXdQcm9jZXNzOiBuZXdQcm9jZXNzUElEID0gJWksIGhhc1N1c3BlbmRlZFBhZ2Ug
PSAlaSIsIG5ld1Byb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCksICEhc3VzcGVuZGVkUGFnZSk7
CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAiY29udGludWVOYXZpZ2F0aW9u
SW5OZXdQcm9jZXNzOiBuZXdQcm9jZXNzUElEPSVpLCBoYXNTdXNwZW5kZWRQYWdlPSVpIiwgbmV3
UHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSwgISFzdXNwZW5kZWRQYWdlKTsKICAgICBMT0co
TG9hZGluZywgIkNvbnRpbnVpbmcgbmF2aWdhdGlvbiAlIiBQUkl1NjQgIiAnJXMnIGluIGEgbmV3
IHdlYiBwcm9jZXNzIiwgbmF2aWdhdGlvbi5uYXZpZ2F0aW9uSUQoKSwgbmF2aWdhdGlvbi5sb2dn
aW5nU3RyaW5nKCkpOwogICAgIFJFTEVBU0VfQVNTRVJUKCFuZXdQcm9jZXNzLT5pc0luUHJvY2Vz
c0NhY2hlKCkpOwogCiAgICAgaWYgKG1fcHJvdmlzaW9uYWxQYWdlKSB7Ci0gICAgICAgIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N3YXBwaW5nLCAiY29udGludWVOYXZpZ2F0aW9uSW5O
ZXdQcm9jZXNzOiBUaGVyZSBpcyBhbHJlYWR5IGEgcGVuZGluZyBwcm92aXNpb25hbCBsb2FkLCBj
YW5jZWxsaW5nIGl0IChwcm92aXNvbmFsTmF2aWdhdGlvbklEOiAlbGx1LCBuYXZpZ2F0aW9uSUQ6
ICVsbHUpIiwgbV9wcm92aXNpb25hbFBhZ2UtPm5hdmlnYXRpb25JRCgpLCBuYXZpZ2F0aW9uLm5h
dmlnYXRpb25JRCgpKTsKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3dh
cHBpbmcsICJjb250aW51ZU5hdmlnYXRpb25Jbk5ld1Byb2Nlc3M6IFRoZXJlIGlzIGFscmVhZHkg
YSBwZW5kaW5nIHByb3Zpc2lvbmFsIGxvYWQsIGNhbmNlbGxpbmcgaXQgKHByb3Zpc29uYWxOYXZp
Z2F0aW9uSUQ9JWxsdSwgbmF2aWdhdGlvbklEPSVsbHUpIiwgbV9wcm92aXNpb25hbFBhZ2UtPm5h
dmlnYXRpb25JRCgpLCBuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpKTsKICAgICAgICAgaWYgKG1f
cHJvdmlzaW9uYWxQYWdlLT5uYXZpZ2F0aW9uSUQoKSAhPSBuYXZpZ2F0aW9uLm5hdmlnYXRpb25J
RCgpKQogICAgICAgICAgICAgbV9wcm92aXNpb25hbFBhZ2UtPmNhbmNlbCgpOwogICAgICAgICBt
X3Byb3Zpc2lvbmFsUGFnZSA9IG51bGxwdHI7CkBAIC00NDEyLDcgKzQ0MTIsNyBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6ZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZVNoYXJlZChSZWY8V2Vi
UHJvY2Vzc1Byb3h5PiYmCiAgICAgICAgIG5hdmlnYXRpb24gPSBuYXZpZ2F0aW9uU3RhdGUoKS5u
YXZpZ2F0aW9uKG5hdmlnYXRpb25JRCk7CiAKICAgICBMT0coTG9hZGluZywgIldlYlBhZ2VQcm94
eSAlIiBQUkl1NjQgIiBpbiBwcm9jZXNzIHBpZCAlaSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZv
ckZyYW1lIHRvIGZyYW1lSUQgJSIgUFJJdTY0ICIsIG5hdmlnYXRpb25JRCAlIiBQUkl1NjQgIiwg
dXJsICVzIiwgbV9pZGVudGlmaWVyLnRvVUludDY0KCksIHByb2Nlc3MtPnByb2Nlc3NJZGVudGlm
aWVyKCksIGZyYW1lSUQudG9VSW50NjQoKSwgbmF2aWdhdGlvbklELCB1cmwuc3RyaW5nKCkudXRm
OCgpLmRhdGEoKSk7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAiZGlkU3Rh
cnRQcm92aXNpb25hbExvYWRGb3JGcmFtZTogZnJhbWVJRCA9ICUiIFBSSXU2NCwgZnJhbWVJRC50
b1VJbnQ2NCgpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKExvYWRpbmcsICJkaWRTdGFy
dFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOiBmcmFtZUlEPSUiIFBSSXU2NCwgZnJhbWVJRC50b1VJ
bnQ2NCgpKTsKIAogICAgIGF1dG8gdHJhbnNhY3Rpb24gPSBtX3BhZ2VMb2FkU3RhdGUudHJhbnNh
Y3Rpb24oKTsKICAgICBtX3BhZ2VMb2FkU3RhdGUuY2xlYXJQZW5kaW5nQVBJUmVxdWVzdCh0cmFu
c2FjdGlvbik7CkBAIC00NDc0LDcgKzQ0NzQsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUmVj
ZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoRnJhbWVJZGVudAog
dm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFs
TG9hZEZvckZyYW1lU2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgcHJvY2VzcywgRnJhbWVJ
ZGVudGlmaWVyIGZyYW1lSUQsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgUmVzb3VyY2VSZXF1ZXN0
JiYgcmVxdWVzdCwgY29uc3QgVXNlckRhdGEmIHVzZXJEYXRhKQogewogICAgIExPRyhMb2FkaW5n
LCAiV2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExv
YWRGb3JGcmFtZSB0byBmcmFtZUlEICUiIFBSSXU2NCAiLCBuYXZpZ2F0aW9uSUQgJSIgUFJJdTY0
ICIsIHVybCAlcyIsIGZyYW1lSUQudG9VSW50NjQoKSwgbmF2aWdhdGlvbklELCByZXF1ZXN0LnVy
bCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
TG9hZGluZywgImRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZy
YW1lOiBmcmFtZUlEID0gJSIgUFJJdTY0LCBmcmFtZUlELnRvVUludDY0KCkpOworICAgIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoTG9hZGluZywgImRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclBy
b3Zpc2lvbmFsTG9hZEZvckZyYW1lOiBmcmFtZUlEPSUiIFBSSXU2NCwgZnJhbWVJRC50b1VJbnQ2
NCgpKTsKIAogICAgIFBhZ2VDbGllbnRQcm90ZWN0b3IgcHJvdGVjdG9yKHBhZ2VDbGllbnQoKSk7
CiAKQEAgLTQ1MDMsNyArNDUwMyw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlU2Vy
dmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZVNoYXJlZChSZWY8CiAKIHZvaWQg
V2ViUGFnZVByb3h5Ojp3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9yRnJhbWUoRnJhbWVJZGVu
dGlmaWVyIGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgdXJsLCBkb3VibGUgZGVsYXksIFdlYkNvcmU6
OkxvY2tCYWNrRm9yd2FyZExpc3QpCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2Fk
aW5nLCAid2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvckZyYW1lOiBmcmFtZUlEID0gJSIgUFJJ
dTY0LCBmcmFtZUlELnRvVUludDY0KCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTG9h
ZGluZywgIndpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RGb3JGcmFtZTogZnJhbWVJRD0lIiBQUkl1
NjQsIGZyYW1lSUQudG9VSW50NjQoKSk7CiAKICAgICBQYWdlQ2xpZW50UHJvdGVjdG9yIHByb3Rl
Y3RvcihwYWdlQ2xpZW50KCkpOwogCkBAIC00NTE2LDcgKzQ1MTYsNyBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6d2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvckZyYW1lKEZyYW1lSWRlbnRpZmllciBm
cmFtZUlELCBjbwogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RG
b3JGcmFtZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCkKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9B
TExPV0VEKExvYWRpbmcsICJkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lOiBmcmFtZUlE
ID0gJSIgUFJJdTY0LCBmcmFtZUlELnRvVUludDY0KCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoTG9hZGluZywgImRpZENhbmNlbENsaWVudFJlZGlyZWN0Rm9yRnJhbWU6IGZyYW1lSUQ9
JSIgUFJJdTY0LCBmcmFtZUlELnRvVUludDY0KCkpOwogCiAgICAgUGFnZUNsaWVudFByb3RlY3Rv
ciBwcm90ZWN0b3IocGFnZUNsaWVudCgpKTsKIApAQCAtNDU2NCw3ICs0NTY0LDcgQEAgdm9pZCBX
ZWJQYWdlUHJveHk6OmRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZShGcmFtZUlkZW50aWZp
ZXIgZnJhbWVJRCwgRnJhbWUKIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRGYWlsUHJvdmlzaW9uYWxM
b2FkRm9yRnJhbWVTaGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94eT4mJiBwcm9jZXNzLCBGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgRnJhbWVJbmZvRGF0YSYmIGZyYW1lSW5mbywgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgdWludDY0X3QgbmF2aWdhdGlvbklELCBjb25zdCBTdHJp
bmcmIHByb3Zpc2lvbmFsVVJMLCBjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvciwgV2lsbENvbnRp
bnVlTG9hZGluZyB3aWxsQ29udGludWVMb2FkaW5nLCBjb25zdCBVc2VyRGF0YSYgdXNlckRhdGEp
CiB7CiAgICAgTE9HKExvYWRpbmcsICIoTG9hZGluZykgV2ViUGFnZVByb3h5ICUiIFBSSXU2NCAi
IGluIHdlYiBwcm9jZXNzIHBpZCAlaSBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUgdG8g
cHJvdmlzaW9uYWxVUkwgJXMiLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSwgcHJvY2Vzcy0+cHJv
Y2Vzc0lkZW50aWZpZXIoKSwgcHJvdmlzaW9uYWxVUkwudXRmOCgpLmRhdGEoKSk7Ci0gICAgUkVM
RUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChQcm9jZXNzLCAiZGlkRmFpbFByb3Zpc2lvbmFsTG9h
ZEZvckZyYW1lOiBmcmFtZUlEID0gJSIgUFJJdTY0ICIsIGRvbWFpbiA9ICVzLCBjb2RlID0gJWQi
LCBmcmFtZUlELnRvVUludDY0KCksIGVycm9yLmRvbWFpbigpLnV0ZjgoKS5kYXRhKCksIGVycm9y
LmVycm9yQ29kZSgpKTsKKyAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKFByb2Nlc3Ms
ICJkaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWU6IGZyYW1lSUQ9JSIgUFJJdTY0ICIsIGRv
bWFpbj0lcywgY29kZT0lZCIsIGZyYW1lSUQudG9VSW50NjQoKSwgZXJyb3IuZG9tYWluKCkudXRm
OCgpLmRhdGEoKSwgZXJyb3IuZXJyb3JDb2RlKCkpOwogCiAgICAgUGFnZUNsaWVudFByb3RlY3Rv
ciBwcm90ZWN0b3IocGFnZUNsaWVudCgpKTsKIApAQCAtNDYzNSw3ICs0NjM1LDcgQEAgdm9pZCBX
ZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJ
RCwgRnJhbWVJbmZvRGF0YSYKIHsKICAgICBMT0coTG9hZGluZywgIihMb2FkaW5nKSBXZWJQYWdl
UHJveHkgJSIgUFJJdTY0ICIgZGlkQ29tbWl0TG9hZEZvckZyYW1lIGluIG5hdmlnYXRpb24gJSIg
UFJJdTY0LCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSwgbmF2aWdhdGlvbklEKTsKICAgICBMT0co
QmFja0ZvcndhcmQsICIoQmFjay9Gb3J3YXJkKSBBZnRlciBsb2FkIGNvbW1pdCwgYmFjay9mb3J3
YXJkIGxpc3QgaXMgbm93OiVzIiwgbV9iYWNrRm9yd2FyZExpc3QtPmxvZ2dpbmdTdHJpbmcoKSk7
Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAiZGlkQ29tbWl0TG9hZEZvckZy
YW1lOiBmcmFtZUlEID0gJSIgUFJJdTY0LCBmcmFtZUlELnRvVUludDY0KCkpOworICAgIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoTG9hZGluZywgImRpZENvbW1pdExvYWRGb3JGcmFtZTogZnJhbWVJ
RD0lIiBQUkl1NjQsIGZyYW1lSUQudG9VSW50NjQoKSk7CiAKICAgICBQYWdlQ2xpZW50UHJvdGVj
dG9yIHByb3RlY3RvcihwYWdlQ2xpZW50KCkpOwogCkBAIC00NzU3LDcgKzQ3NTcsNyBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TG9hZEZvckZyYW1lKEZyYW1lSWRlbnRpZmllciBmcmFt
ZUlELCBGcmFtZUluZm9EYXRhJgogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluaXNoRG9jdW1l
bnRMb2FkRm9yRnJhbWUoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHVpbnQ2NF90IG5hdmlnYXRp
b25JRCwgY29uc3QgVXNlckRhdGEmIHVzZXJEYXRhKQogewotICAgIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoTG9hZGluZywgImRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lOiBmcmFtZUlEID0g
JSIgUFJJdTY0LCBmcmFtZUlELnRvVUludDY0KCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQoTG9hZGluZywgImRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lOiBmcmFtZUlEPSUiIFBS
SXU2NCwgZnJhbWVJRC50b1VJbnQ2NCgpKTsKIAogICAgIFBhZ2VDbGllbnRQcm90ZWN0b3IgcHJv
dGVjdG9yKHBhZ2VDbGllbnQoKSk7CiAKQEAgLTQ3ODUsNyArNDc4NSw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZShGcmFtZUlkZW50aWZpZXIgZnJh
bWVJRCwgdWludDY0CiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluaXNoTG9hZEZvckZyYW1lKEZy
YW1lSWRlbnRpZmllciBmcmFtZUlELCBGcmFtZUluZm9EYXRhJiYgZnJhbWVJbmZvLCBSZXNvdXJj
ZVJlcXVlc3QmJiByZXF1ZXN0LCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGNvbnN0IFVzZXJEYXRh
JiB1c2VyRGF0YSkKIHsKICAgICBMT0coTG9hZGluZywgIldlYlBhZ2VQcm94eTo6ZGlkRmluaXNo
TG9hZEZvckZyYW1lIC0gV2ViUGFnZVByb3h5ICVwIHdpdGggbmF2aWdhdGlvbklEICUiIFBSSXU2
NCAiIGRpZEZpbmlzaExvYWQiLCB0aGlzLCBuYXZpZ2F0aW9uSUQpOwotICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoTG9hZGluZywgImRpZEZpbmlzaExvYWRGb3JGcmFtZTogZnJhbWVJRCA9ICUi
IFBSSXU2NCwgZnJhbWVJRC50b1VJbnQ2NCgpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KExvYWRpbmcsICJkaWRGaW5pc2hMb2FkRm9yRnJhbWU6IGZyYW1lSUQ9JSIgUFJJdTY0LCBmcmFt
ZUlELnRvVUludDY0KCkpOwogCiAgICAgUGFnZUNsaWVudFByb3RlY3RvciBwcm90ZWN0b3IocGFn
ZUNsaWVudCgpKTsKIApAQCAtNDgzNiw3ICs0ODM2LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRp
ZEZpbmlzaExvYWRGb3JGcmFtZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgRnJhbWVJbmZvRGF0
YSYKIAogdm9pZCBXZWJQYWdlUHJveHk6OmRpZEZhaWxMb2FkRm9yRnJhbWUoRnJhbWVJZGVudGlm
aWVyIGZyYW1lSUQsIEZyYW1lSW5mb0RhdGEmJiBmcmFtZUluZm8sIFJlc291cmNlUmVxdWVzdCYm
IHJlcXVlc3QsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJy
b3IsIGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0YSkKIHsKLSAgICBSRUxFQVNFX0xPR19FUlJPUl9J
Rl9BTExPV0VEKExvYWRpbmcsICJkaWRGYWlsTG9hZEZvckZyYW1lOiBmcmFtZUlEID0gJSIgUFJJ
dTY0ICIsIGRvbWFpbiA9ICVzLCBjb2RlID0gJWQiLCBmcmFtZUlELnRvVUludDY0KCksIGVycm9y
LmRvbWFpbigpLnV0ZjgoKS5kYXRhKCksIGVycm9yLmVycm9yQ29kZSgpKTsKKyAgICBSRUxFQVNF
X0xPR19FUlJPUl9JRl9BTExPV0VEKExvYWRpbmcsICJkaWRGYWlsTG9hZEZvckZyYW1lOiBmcmFt
ZUlEPSUiIFBSSXU2NCAiLCBkb21haW49JXMsIGNvZGU9JWQiLCBmcmFtZUlELnRvVUludDY0KCks
IGVycm9yLmRvbWFpbigpLnV0ZjgoKS5kYXRhKCksIGVycm9yLmVycm9yQ29kZSgpKTsKIAogICAg
IFBhZ2VDbGllbnRQcm90ZWN0b3IgcHJvdGVjdG9yKHBhZ2VDbGllbnQoKSk7CiAKQEAgLTQ4ODEs
NyArNDg4MSw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRGYWlsTG9hZEZvckZyYW1lKEZyYW1l
SWRlbnRpZmllciBmcmFtZUlELCBGcmFtZUluZm9EYXRhJiYKIAogdm9pZCBXZWJQYWdlUHJveHk6
OmRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJ
RCwgdWludDY0X3QgbmF2aWdhdGlvbklELCB1aW50MzJfdCBvcGFxdWVTYW1lRG9jdW1lbnROYXZp
Z2F0aW9uVHlwZSwgVVJMJiYgdXJsLCBjb25zdCBVc2VyRGF0YSYgdXNlckRhdGEpCiB7Ci0gICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAiZGlkU2FtZURvY3VtZW50TmF2aWdhdGlv
bkZvckZyYW1lOiBmcmFtZUlEID0gJSIgUFJJdTY0LCBmcmFtZUlELnRvVUludDY0KCkpOworICAg
IFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTG9hZGluZywgImRpZFNhbWVEb2N1bWVudE5hdmlnYXRp
b25Gb3JGcmFtZTogZnJhbWVJRD0lIiBQUkl1NjQsIGZyYW1lSUQudG9VSW50NjQoKSk7CiAKICAg
ICBQYWdlQ2xpZW50UHJvdGVjdG9yIHByb3RlY3RvcihwYWdlQ2xpZW50KCkpOwogCkBAIC01MDY3
LDcgKzUwNjcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlv
bkFjdGlvbihSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmIHByb2NlcwogICAgIE5hdmlnYXRpb25BY3Rp
b25EYXRhJiYgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIEZyYW1lSW5mb0RhdGEmJiBvcmlnaW5hdGlu
Z0ZyYW1lSW5mb0RhdGEsIE9wdGlvbmFsPFdlYlBhZ2VQcm94eUlkZW50aWZpZXI+IG9yaWdpbmF0
aW5nUGFnZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUmVxdWVz
dCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwKICAgICBJUEM6OkZvcm1EYXRh
UmVmZXJlbmNlJiYgcmVxdWVzdEJvZHksIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZWRp
cmVjdFJlc3BvbnNlLCBjb25zdCBVc2VyRGF0YSYgdXNlckRhdGEsIFJlZjxQb2xpY3lEZWNpc2lv
blNlbmRlcj4mJiBzZW5kZXIpCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5n
LCAiZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjogZnJhbWVJRDogJWxsdSwgbmF2aWdh
dGlvbklEOiAlbGx1IiwgZnJhbWUuZnJhbWVJRCgpLnRvVUludDY0KCksIG5hdmlnYXRpb25JRCk7
CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAiZGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbjogZnJhbWVJRD0lbGx1LCBuYXZpZ2F0aW9uSUQ9JWxsdSIsIGZyYW1lLmZy
YW1lSUQoKS50b1VJbnQ2NCgpLCBuYXZpZ2F0aW9uSUQpOwogCiAgICAgTE9HKExvYWRpbmcsICJX
ZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24gLSBPcmlnaW5hbCBV
UkwgJXMsIGN1cnJlbnQgdGFyZ2V0IFVSTCAlcyIsIG9yaWdpbmFsUmVxdWVzdC51cmwoKS5zdHJp
bmcoKS51dGY4KCkuZGF0YSgpLCByZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkp
OwogCkBAIC01MTY0LDcgKzUxNjQsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5
Rm9yTmF2aWdhdGlvbkFjdGlvbihSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmIHByb2NlcwogI2VuZGlm
CiAKICAgICBhdXRvIGxpc3RlbmVyID0gbWFrZVJlZihmcmFtZS5zZXRVcFBvbGljeUxpc3RlbmVy
UHJveHkoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgZnJhbWUgPSBtYWtl
UmVmKGZyYW1lKSwgc2VuZGVyID0gV1RGTW92ZShzZW5kZXIpLCBuYXZpZ2F0aW9uLCBuYXZpZ2F0
aW9uQWN0aW9uLCBmcmFtZUluZm8sIHVzZXJEYXRhT2JqZWN0ID0gcHJvY2Vzcy0+dHJhbnNmb3Jt
SGFuZGxlc1RvT2JqZWN0cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCldIChQb2xpY3lBY3Rpb24g
cG9saWN5QWN0aW9uLCBBUEk6OldlYnNpdGVQb2xpY2llcyogcG9saWNpZXMsIFByb2Nlc3NTd2Fw
UmVxdWVzdGVkQnlDbGllbnQgcHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCwgUmVmUHRyPFNh
ZmVCcm93c2luZ1dhcm5pbmc+JiYgc2FmZUJyb3dzaW5nV2FybmluZywgT3B0aW9uYWw8TmF2aWdh
dGluZ1RvQXBwQm91bmREb21haW4+IGlzQXBwQm91bmREb21haW4pIG11dGFibGUgewotICAgICAg
ICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKExvYWRpbmcsICJkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0
aW9uQWN0aW9uOiBsaXN0ZW5lciBjYWxsZWQ6IGZyYW1lSUQ6ICVsbHUsIG5hdmlnYXRpb25JRDog
JWxsdSwgcG9saWN5QWN0aW9uOiAldSwgc2FmZUJyb3dzaW5nV2FybmluZzogJWQsIGlzQXBwQm91
bmREb21haW46ICVkIiwgZnJhbWUtPmZyYW1lSUQoKS50b1VJbnQ2NCgpLCBuYXZpZ2F0aW9uID8g
bmF2aWdhdGlvbi0+bmF2aWdhdGlvbklEKCkgOiAwLCAodW5zaWduZWQpcG9saWN5QWN0aW9uLCAh
IXNhZmVCcm93c2luZ1dhcm5pbmcsICEhaXNBcHBCb3VuZERvbWFpbik7CisgICAgICAgIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoTG9hZGluZywgImRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b246IGxpc3RlbmVyIGNhbGxlZDogZnJhbWVJRD0lbGx1LCBuYXZpZ2F0aW9uSUQ9JWxsdSwgcG9s
aWN5QWN0aW9uPSV1LCBzYWZlQnJvd3NpbmdXYXJuaW5nPSVkLCBpc0FwcEJvdW5kRG9tYWluPSVk
IiwgZnJhbWUtPmZyYW1lSUQoKS50b1VJbnQ2NCgpLCBuYXZpZ2F0aW9uID8gbmF2aWdhdGlvbi0+
bmF2aWdhdGlvbklEKCkgOiAwLCAodW5zaWduZWQpcG9saWN5QWN0aW9uLCAhIXNhZmVCcm93c2lu
Z1dhcm5pbmcsICEhaXNBcHBCb3VuZERvbWFpbik7CiAKICAgICAgICAgYXV0byBjb21wbGV0aW9u
SGFuZGxlciA9IFt0aGlzLCBwcm90ZWN0ZWRUaGlzLCBmcmFtZSwgc2VuZGVyID0gV1RGTW92ZShz
ZW5kZXIpLCBuYXZpZ2F0aW9uLCBuYXZpZ2F0aW9uQWN0aW9uID0gV1RGTW92ZShuYXZpZ2F0aW9u
QWN0aW9uKSwgcHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCwgcG9saWNpZXMgPSBtYWtlUmVm
UHRyKHBvbGljaWVzKV0gKFBvbGljeUFjdGlvbiBwb2xpY3lBY3Rpb24pIG11dGFibGUgewogICAg
ICAgICAgICAgaWYgKGZyYW1lLT5pc01haW5GcmFtZSgpKSB7CkBAIC01NDc2LDcgKzU0NzYsNyBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0KGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMU3RyaW5nLCBjb25zdAogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUGVyZm9y
bUNsaWVudFJlZGlyZWN0U2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgcHJvY2VzcywgY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkxTdHJpbmcsIGNvbnN0IFN0cmluZyYgZGVzdGluYXRpb25VUkxT
dHJpbmcsIEZyYW1lSWRlbnRpZmllciBmcmFtZUlEKQogewotICAgIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoTG9hZGluZywgImRpZFBlcmZvcm1DbGllbnRSZWRpcmVjdFNoYXJlZDogZnJhbWVJRCA9
ICUiIFBSSXU2NCwgZnJhbWVJRC50b1VJbnQ2NCgpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKExvYWRpbmcsICJkaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3RTaGFyZWQ6IGZyYW1lSUQ9JSIg
UFJJdTY0LCBmcmFtZUlELnRvVUludDY0KCkpOwogCiAgICAgUGFnZUNsaWVudFByb3RlY3RvciBw
cm90ZWN0b3IocGFnZUNsaWVudCgpKTsKIApAQCAtNzM4NCw3ICs3Mzg0LDcgQEAgc3RhdGljIGJv
b2wgc2hvdWxkUmVsb2FkQWZ0ZXJQcm9jZXNzVGVybWluYXRpb24oUHJvY2Vzc1Rlcm1pbmF0aW9u
UmVhc29uIHJlYXNvbikKIAogdm9pZCBXZWJQYWdlUHJveHk6OmRpc3BhdGNoUHJvY2Vzc0RpZFRl
cm1pbmF0ZShQcm9jZXNzVGVybWluYXRpb25SZWFzb24gcmVhc29uKQogewotICAgIFJFTEVBU0Vf
TE9HX0VSUk9SX0lGX0FMTE9XRUQoTG9hZGluZywgImRpc3BhdGNoUHJvY2Vzc0RpZFRlcm1pbmF0
ZTogcmVhc29uID0gJWQiLCByZWFzb24pOworICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9X
RUQoTG9hZGluZywgImRpc3BhdGNoUHJvY2Vzc0RpZFRlcm1pbmF0ZTogcmVhc29uPSVkIiwgcmVh
c29uKTsKIAogICAgIGJvb2wgaGFuZGxlZEJ5Q2xpZW50ID0gZmFsc2U7CiAgICAgaWYgKG1fbG9h
ZGVyQ2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmlu
ZGV4IDY5MmQ4MjZjYjI1MWY2ZWRhZjM4ZGM2YWRlZTc0YWFmYmJhZmQ0NGYuLjdlZDI4YTkwMWJj
ODU1ZDM1ZmNkYjQ3ZGY1ZTc1MjFjZTkwYmI3OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTQ5NCw3ICs0OTQsNyBAQCBHUFVQcm9jZXNzUHJveHkm
IFdlYlByb2Nlc3NQb29sOjplbnN1cmVHUFVQcm9jZXNzKCkKIAogdm9pZCBXZWJQcm9jZXNzUG9v
bDo6Z3B1UHJvY2Vzc0NyYXNoZWQoUHJvY2Vzc0lEIGlkZW50aWZpZXIpCiB7Ci0gICAgV0VCUFJP
Q0VTU1BPT0xfUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgImdwdVByb2Nlc3NDcmFzaGVkOiBQ
SUQ6ICVkIiwgaWRlbnRpZmllcik7CisgICAgV0VCUFJPQ0VTU1BPT0xfUkVMRUFTRV9MT0dfRVJS
T1IoUHJvY2VzcywgImdwdVByb2Nlc3NDcmFzaGVkOiBQSUQ9JWQiLCBpZGVudGlmaWVyKTsKICAg
ICBtX2dwdVByb2Nlc3MgPSBudWxscHRyOwogCiAgICAgbV9jbGllbnQuZ3B1UHJvY2Vzc0RpZENy
YXNoKHRoaXMsIGlkZW50aWZpZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5jcHAKaW5kZXggZmM1NmExZDY0ODU4NjJmMDQ1ZDZmMzQ2OWE2YzZhZTA0Yjg3MTIx
MC4uODUxY2JjOTFmNDU3NTI0YzRlYjkzYTIzODc3ZDMzNDBiZjA1MTYyMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCkBAIC0xODUwLDcgKzE4NTAsNyBA
QCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6dXBkYXRlU2VydmljZVdvcmtlclByZWZlcmVuY2VzU3Rv
cmUoY29uc3QgV2ViUHJlZmVyZW5jZXNTdAogCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6dXBkYXRl
U2VydmljZVdvcmtlclByb2Nlc3NBc3NlcnRpb24oKQogewotICAgIFJFTEVBU0VfTE9HKFByb2Nl
c3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJveHk6OnVwZGF0ZVNlcnZpY2VXb3JrZXJQ
cm9jZXNzQXNzZXJ0aW9uKCkgUElEOiAlZCIsIHRoaXMsIHByb2Nlc3NJZGVudGlmaWVyKCkpOwor
ICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJveHk6
OnVwZGF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzQXNzZXJ0aW9uKCkgUElEPSVkIiwgdGhpcywgcHJv
Y2Vzc0lkZW50aWZpZXIoKSk7CiAgICAgQVNTRVJUKG1fc2VydmljZVdvcmtlckluZm9ybWF0aW9u
KTsKICAgICBpZiAoIW1fc2VydmljZVdvcmtlckluZm9ybWF0aW9uKQogICAgICAgICByZXR1cm47
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlv
bklPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9T
Lm1tCmluZGV4IGU3ZmFjNzliNTNhYmQ4YTAwNzU5NGE1NTUxMGQzYTNlYWFiODkxZDMuLmJlMzcx
ZGIzNmIxOGUwOTBjMDM5MzBhMzI4NGFmNjg4M2QyNTkwMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCkBAIC0xNjUsNyArMTY1
LDcgQEAgLSAodm9pZClfdXBkYXRlQmFja2dyb3VuZFRhc2sKIHsKICAgICBpZiAoIV9hc3NlcnRp
b25zTmVlZGluZ0JhY2tncm91bmRUYXNrLmNvbXB1dGVzRW1wdHkoKSAmJiAhW3NlbGYgX2hhc0Jh
Y2tncm91bmRUYXNrXSkgewogICAgICAgICBpZiAocHJvY2Vzc0hhc0FjdGl2ZVJ1blRpbWVMaW1p
dGF0aW9uKCkpIHsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5z
aW9uLCAiJXAgLSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXI6IElnbm9y
ZWQgcmVxdWVzdCB0byBzdGFydCBhIG5ldyBiYWNrZ3JvdW5kIHRhc2sgYmVjYXVzZSBSdW5uaW5n
Qm9hcmQgaGFzIGFscmVhZHkgc3RhcnRlZCB0aGUgZXhwaXJhdGlvbiB0aW1lciIsIHNlbGYpOwor
ICAgICAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdLUHJvY2Vz
c0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlcjogSWdub3JlZCByZXF1ZXN0IHRvIHN0YXJ0
IGEgbmV3IGJhY2tncm91bmQgdGFzayBiZWNhdXNlIFJ1bm5pbmdCb2FyZCBoYXMgYWxyZWFkeSBz
dGFydGVkIHRoZSBleHBpcmF0aW9uIHRpbWVyIiwgc2VsZik7CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KICAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAt
IFdLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlcjogYmVnaW5CYWNrZ3JvdW5k
VGFza1dpdGhOYW1lIiwgc2VsZik7CkBAIC0yMDQsNyArMjA0LDcgQEAgLSAodm9pZClhc3NlcnRp
b246KFJCU0Fzc2VydGlvbiAqKWFzc2VydGlvbiBkaWRJbnZhbGlkYXRlV2l0aEVycm9yOihOU0Vy
cm9yICopZXIKIC0gKHZvaWQpX2hhbmRsZUJhY2tncm91bmRUYXNrRXhwaXJhdGlvbgogewogICAg
IGF1dG8gcmVtYWluaW5nVGltZSA9IFtSQlNQcm9jZXNzSGFuZGxlIGN1cnJlbnRQcm9jZXNzXS5h
Y3RpdmVMaW1pdGF0aW9ucy5ydW5UaW1lOwotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5z
aW9uLCAiV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyOiBCYWNrZ3JvdW5k
IHRhc2sgZXhwaXJlZCB3aGlsZSBob2xkaW5nIFdlYktpdCBQcm9jZXNzQXNzZXJ0aW9uIChpc01h
aW5UaHJlYWQ6ICVkLCByZW1haW5pbmdUaW1lOiAlZykuIiwgUnVuTG9vcDo6aXNNYWluKCksIHJl
bWFpbmluZ1RpbWUpOworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiV0tQcm9j
ZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyOiBCYWNrZ3JvdW5kIHRhc2sgZXhwaXJl
ZCB3aGlsZSBob2xkaW5nIFdlYktpdCBQcm9jZXNzQXNzZXJ0aW9uIChpc01haW5UaHJlYWQ9JWQs
IHJlbWFpbmluZ1RpbWU9JWcpLiIsIFJ1bkxvb3A6OmlzTWFpbigpLCByZW1haW5pbmdUaW1lKTsK
IAogICAgIGNhbGxPbk1haW5SdW5Mb29wQW5kV2FpdChbc2VsZl0gewogICAgICAgICBbc2VsZiBf
aGFuZGxlQmFja2dyb3VuZFRhc2tFeHBpcmF0aW9uT25NYWluVGhyZWFkXTsKQEAgLTIxNiw3ICsy
MTYsNyBAQCAtICh2b2lkKV9oYW5kbGVCYWNrZ3JvdW5kVGFza0V4cGlyYXRpb25Pbk1haW5UaHJl
YWQKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCiAgICAgYXV0byByZW1haW5pbmdU
aW1lID0gW1JCU1Byb2Nlc3NIYW5kbGUgY3VycmVudFByb2Nlc3NdLmFjdGl2ZUxpbWl0YXRpb25z
LnJ1blRpbWU7Ci0gICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICJXS1Byb2Nlc3NB
c3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXI6IF9oYW5kbGVCYWNrZ3JvdW5kVGFza0V4cGly
YXRpb25Pbk1haW5UaHJlYWQgKHJlbWFpbmluZ1RpbWU6ICVnKS4iLCByZW1haW5pbmdUaW1lKTsK
KyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIldLUHJvY2Vzc0Fzc2VydGlvbkJh
Y2tncm91bmRUYXNrTWFuYWdlcjogX2hhbmRsZUJhY2tncm91bmRUYXNrRXhwaXJhdGlvbk9uTWFp
blRocmVhZCAocmVtYWluaW5nVGltZT0lZykuIiwgcmVtYWluaW5nVGltZSk7CiAKICAgICAvLyBJ
ZiB0aGVyZSBpcyBubyB0aW1lIGxpbWl0YXRpb24sIHRoZW4gaXQgbWVhbnMgdGhhdCB0aGUgcHJv
Y2VzcyBpcyBub3cgYWxsb3dlZCB0byBydW4gYWdhaW4gYW5kIHRoZSBleHBpcmF0aW9uIG5vdGlm
aWNhdGlvbgogICAgIC8vIGlzIG91dGRhdGVkIChlLmcuIHdlIGRpZCBub3QgaGF2ZSB0aW1lIHRv
IHByb2Nlc3MgdGhlIGV4cGlyYXRpb24gbm90aWZpY2F0aW9uIGJlZm9yZSBzdXNwZW5kaW5nIGFu
ZCB0aHVzIG9ubHkgcHJvY2VzcyBpdApAQCAtMzE1LDI0ICszMTUsMjQgQEAgUHJvY2Vzc0Fzc2Vy
dGlvbjo6UHJvY2Vzc0Fzc2VydGlvbihwaWRfdCBwaWQsIGNvbnN0IFN0cmluZyYgcmVhc29uLCBQ
cm9jZXNzQXNzZXIKICAgICBtX2RlbGVnYXRlID0gYWRvcHROUyhbW1dLUkJTQXNzZXJ0aW9uRGVs
ZWdhdGUgYWxsb2NdIGluaXRdKTsKICAgICBbbV9yYnNBc3NlcnRpb24gYWRkT2JzZXJ2ZXI6bV9k
ZWxlZ2F0ZS5nZXQoKV07CiAgICAgbV9kZWxlZ2F0ZS5nZXQoKS5pbnZhbGlkYXRpb25DYWxsYmFj
ayA9IF57Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBQcm9j
ZXNzQXNzZXJ0aW9uKCkgUkJTICV7cHVibGljfUAgYXNzZXJ0aW9uIGZvciBwcm9jZXNzIHdpdGgg
UElEICVkIHdhcyBpbnZhbGlkYXRlZCIsIHRoaXMsIHJ1bm5pbmdCb2FyZEFzc2VydGlvbk5hbWUs
IHBpZCk7CisgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBQcm9j
ZXNzQXNzZXJ0aW9uKCkgUkJTICV7cHVibGljfUAgYXNzZXJ0aW9uIGZvciBwcm9jZXNzIHdpdGgg
UElEPSVkIHdhcyBpbnZhbGlkYXRlZCIsIHRoaXMsIHJ1bm5pbmdCb2FyZEFzc2VydGlvbk5hbWUs
IHBpZCk7CiAgICAgICAgIHByb2Nlc3NBc3NlcnRpb25XYXNJbnZhbGlkYXRlZCgpOwogICAgIH07
CiAKICAgICBOU0Vycm9yICphY3F1aXNpdGlvbkVycm9yID0gbmlsOwogICAgIGlmICghW21fcmJz
QXNzZXJ0aW9uIGFjcXVpcmVXaXRoRXJyb3I6JmFjcXVpc2l0aW9uRXJyb3JdKSB7Ci0gICAgICAg
IFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBQcm9jZXNzQXNzZXJ0
aW9uOiBGYWlsZWQgdG8gYWNxdWlyZSBSQlMgJXtwdWJsaWN9QCBhc3NlcnRpb24gJyV7cHVibGlj
fXMnIGZvciBwcm9jZXNzIHdpdGggUElEICVkLCBlcnJvcjogJXtwdWJsaWN9QCIsIHRoaXMsIHJ1
bm5pbmdCb2FyZEFzc2VydGlvbk5hbWUsIHJlYXNvbi51dGY4KCkuZGF0YSgpLCBwaWQsIGFjcXVp
c2l0aW9uRXJyb3IpOworICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lv
biwgIiVwIC0gUHJvY2Vzc0Fzc2VydGlvbjogRmFpbGVkIHRvIGFjcXVpcmUgUkJTICV7cHVibGlj
fUAgYXNzZXJ0aW9uICcle3B1YmxpY31zJyBmb3IgcHJvY2VzcyB3aXRoIFBJRD0lZCwgZXJyb3I6
ICV7cHVibGljfUAiLCB0aGlzLCBydW5uaW5nQm9hcmRBc3NlcnRpb25OYW1lLCByZWFzb24udXRm
OCgpLmRhdGEoKSwgcGlkLCBhY3F1aXNpdGlvbkVycm9yKTsKICAgICAgICAgUnVuTG9vcDo6bWFp
bigpLmRpc3BhdGNoKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0gewogICAgICAgICAg
ICAgaWYgKHdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5wcm9jZXNzQXNzZXJ0
aW9uV2FzSW52YWxpZGF0ZWQoKTsKICAgICAgICAgfSk7CiAgICAgfSBlbHNlCi0gICAgICAgIFJF
TEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBQcm9jZXNzQXNzZXJ0aW9uOiBTdWNj
ZXNzZnVsbHkgdG9vayBSQlMgJXtwdWJsaWN9QCBhc3NlcnRpb24gJyV7cHVibGljfXMnIGZvciBw
cm9jZXNzIHdpdGggUElEICVkIiwgdGhpcywgcnVubmluZ0JvYXJkQXNzZXJ0aW9uTmFtZSwgcmVh
c29uLnV0ZjgoKS5kYXRhKCksIHBpZCk7CisgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNw
ZW5zaW9uLCAiJXAgLSBQcm9jZXNzQXNzZXJ0aW9uOiBTdWNjZXNzZnVsbHkgdG9vayBSQlMgJXtw
dWJsaWN9QCBhc3NlcnRpb24gJyV7cHVibGljfXMnIGZvciBwcm9jZXNzIHdpdGggUElEPSVkIiwg
dGhpcywgcnVubmluZ0JvYXJkQXNzZXJ0aW9uTmFtZSwgcmVhc29uLnV0ZjgoKS5kYXRhKCksIHBp
ZCk7CiB9CiAKIFByb2Nlc3NBc3NlcnRpb246On5Qcm9jZXNzQXNzZXJ0aW9uKCkKIHsKLSAgICBS
RUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gflByb2Nlc3NBc3NlcnRpb24oKSBS
ZWxlYXNpbmcgcHJvY2VzcyBhc3NlcnRpb24gZm9yIHByb2Nlc3Mgd2l0aCBQSUQgJWQiLCB0aGlz
LCBtX3BpZCk7CisgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIH5Qcm9j
ZXNzQXNzZXJ0aW9uKCkgUmVsZWFzaW5nIHByb2Nlc3MgYXNzZXJ0aW9uIGZvciBwcm9jZXNzIHdp
dGggUElEPSVkIiwgdGhpcywgbV9waWQpOwogCiAgICAgaWYgKG1fcmJzQXNzZXJ0aW9uKSB7CiAg
ICAgICAgIG1fZGVsZWdhdGUuZ2V0KCkuaW52YWxpZGF0aW9uQ2FsbGJhY2sgPSBuaWw7CkBAIC0z
NDUsNyArMzQ1LDcgQEAgUHJvY2Vzc0Fzc2VydGlvbjo6flByb2Nlc3NBc3NlcnRpb24oKQogdm9p
ZCBQcm9jZXNzQXNzZXJ0aW9uOjpwcm9jZXNzQXNzZXJ0aW9uV2FzSW52YWxpZGF0ZWQoKQogewog
ICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci0gICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1
c3BlbnNpb24sICIlcCAtIFByb2Nlc3NBc3NlcnRpb246OnByb2Nlc3NBc3NlcnRpb25XYXNJbnZh
bGlkYXRlZCgpIFBJRDogJWQiLCB0aGlzLCBtX3BpZCk7CisgICAgUkVMRUFTRV9MT0coUHJvY2Vz
c1N1c3BlbnNpb24sICIlcCAtIFByb2Nlc3NBc3NlcnRpb246OnByb2Nlc3NBc3NlcnRpb25XYXNJ
bnZhbGlkYXRlZCgpIFBJRD0lZCIsIHRoaXMsIG1fcGlkKTsKIAogICAgIGlmIChtX2ludmFsaWRh
dGlvbkhhbmRsZXIpCiAgICAgICAgIG1faW52YWxpZGF0aW9uSGFuZGxlcigpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5n
Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FwcGxpY2F0aW9uU3RhdGVU
cmFja2luZ1ZpZXcubW0KaW5kZXggNzZhM2NjNDAxYjVmNDVjNjY4OTNhZmFmODliYjNkNDc2ZjZm
OTYwOC4uODI5ZmRmMjMxYmYxOWI2NzMxYjIxOTdiZTIyNTJmMjYwNmYwMWQ0YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5n
Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBcHBsaWNhdGlvblN0
YXRlVHJhY2tpbmdWaWV3Lm1tCkBAIC01NSw3ICs1NSw3IEBAIC0gKHZvaWQpd2lsbE1vdmVUb1dp
bmRvdzooVUlXaW5kb3cgKiluZXdXaW5kb3cKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byBw
YWdlID0gW193ZWJWaWV3VG9UcmFjayBfcGFnZV07Ci0gICAgUkVMRUFTRV9MT0coVmlld1N0YXRl
LCAiJXAgLSBXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXc6IFZpZXcgd2l0aCBwYWdlIFsl
cCwgcGFnZVByb3h5SUQ6ICUiIFBSSXU2NCAiXSB3YXMgcmVtb3ZlZCBmcm9tIGEgd2luZG93LCBf
bGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kOiAlZCIsIHNlbGYsIHBhZ2UuZ2V0KCksIHBh
Z2UgPyBwYWdlLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKSA6IDAsIHBhZ2UgPyBwYWdlLT5sYXN0
T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQoKSA6IGZhbHNlKTsKKyAgICBSRUxFQVNFX0xPRyhW
aWV3U3RhdGUsICIlcCAtIFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldzogVmlldyB3aXRo
IHBhZ2UgWyVwLCBwYWdlUHJveHlJRD0lIiBQUkl1NjQgIl0gd2FzIHJlbW92ZWQgZnJvbSBhIHdp
bmRvdywgX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZD0lZCIsIHNlbGYsIHBhZ2UuZ2V0
KCksIHBhZ2UgPyBwYWdlLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKSA6IDAsIHBhZ2UgPyBwYWdl
LT5sYXN0T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQoKSA6IGZhbHNlKTsKICAgICBBU1NFUlQo
X2FwcGxpY2F0aW9uU3RhdGVUcmFja2VyKTsKICAgICBfYXBwbGljYXRpb25TdGF0ZVRyYWNrZXIg
PSBudWxscHRyOwogfQpAQCAtNjksNyArNjksNyBAQCAtICh2b2lkKWRpZE1vdmVUb1dpbmRvdwog
ICAgIGJvb2wgbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kID0gcGFnZSA/IHBhZ2UtPmxh
c3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCgpIDogZmFsc2U7CiAKICAgICBfYXBwbGljYXRp
b25TdGF0ZVRyYWNrZXIgPSBtYWtlVW5pcXVlPFdlYktpdDo6QXBwbGljYXRpb25TdGF0ZVRyYWNr
ZXI+KHNlbGYsIEBzZWxlY3RvcihfYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQpLCBAc2Vs
ZWN0b3IoX2FwcGxpY2F0aW9uRGlkRmluaXNoU25hcHNob3R0aW5nQWZ0ZXJFbnRlcmluZ0JhY2tn
cm91bmQpLCBAc2VsZWN0b3IoX2FwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZCksIEBzZWxl
Y3Rvcihfd2lsbEJlZ2luU25hcHNob3RTZXF1ZW5jZSksIEBzZWxlY3RvcihfZGlkQ29tcGxldGVT
bmFwc2hvdFNlcXVlbmNlKSk7Ci0gICAgUkVMRUFTRV9MT0coVmlld1N0YXRlLCAiJXAgLSBXS0Fw
cGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXc6IFZpZXcgd2l0aCBwYWdlIFslcCwgcGFnZVByb3h5
SUQ6ICUiIFBSSXU2NCAiXSB3YXMgYWRkZWQgdG8gYSB3aW5kb3csIF9sYXN0T2JzZXJ2ZWRTdGF0
ZVdhc0JhY2tncm91bmQ6ICVkLCBpc05vd0JhY2tncm91bmQ6ICVkIiwgc2VsZiwgcGFnZS5nZXQo
KSwgcGFnZSA/IHBhZ2UtPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpIDogMCwgbGFzdE9ic2VydmVk
U3RhdGVXYXNCYWNrZ3JvdW5kLCBbc2VsZiBpc0JhY2tncm91bmRdKTsKKyAgICBSRUxFQVNFX0xP
RyhWaWV3U3RhdGUsICIlcCAtIFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldzogVmlldyB3
aXRoIHBhZ2UgWyVwLCBwYWdlUHJveHlJRD0lIiBQUkl1NjQgIl0gd2FzIGFkZGVkIHRvIGEgd2lu
ZG93LCBfbGFzdE9ic2VydmVkU3RhdGVXYXNCYWNrZ3JvdW5kPSVkLCBpc05vd0JhY2tncm91bmQ9
JWQiLCBzZWxmLCBwYWdlLmdldCgpLCBwYWdlID8gcGFnZS0+aWRlbnRpZmllcigpLnRvVUludDY0
KCkgOiAwLCBsYXN0T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQsIFtzZWxmIGlzQmFja2dyb3Vu
ZF0pOwogCiAgICAgaWYgKGxhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCAmJiAhW3NlbGYg
aXNCYWNrZ3JvdW5kXSkKICAgICAgICAgW3NlbGYgX2FwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdy
b3VuZF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmlu
ZGV4IDUwZTQ1NDYyMDViOTQ1NGZhMzAxOTJiNzQ3ZWE2NDRhMGRhODUwNWUuLjE1YjllN2Q2ZmEx
MDg5MzMxZmY0ZjY4OTdjYWM4Y2JhNDRhOTI2YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCkBAIC0yMzMsNyArMjMzLDcgQEAgLSAodm9pZClfc2V0
dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3CiAgICAgQVNTRVJUKCFfdmlzaWJpbGl0eVByb3Bh
Z2F0aW9uVmlldyk7CiAgICAgLy8gUHJvcGFnYXRlIHRoZSB2aWV3J3MgdmlzaWJpbGl0eSBzdGF0
ZSB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIHNvIHRoYXQgaXQgaXMgbWFya2VkIGFzICJGb3Jl
Z3JvdW5kIFJ1bm5pbmciIHdoZW4gbmVjZXNzYXJ5LgogICAgIF92aXNpYmlsaXR5UHJvcGFnYXRp
b25WaWV3ID0gYWRvcHROUyhbW19VSUxheWVySG9zdFZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6
Q0dSZWN0WmVybyBwaWQ6cHJvY2Vzc0lkZW50aWZpZXIgY29udGV4dElEOmNvbnRleHRJRF0pOwot
ICAgIFJFTEVBU0VfTE9HKFByb2Nlc3MsICJDcmVhdGVkIHZpc2liaWxpdHkgcHJvcGFnYXRpb24g
dmlldyAlcCAoY29udGV4dElEOiAldSkgZm9yIFdlYkNvbnRlbnQgcHJvY2VzcyB3aXRoIFBJRCAl
ZCIsIF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3LmdldCgpLCBjb250ZXh0SUQsIHByb2Nlc3NJ
ZGVudGlmaWVyKTsKKyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzLCAiQ3JlYXRlZCB2aXNpYmlsaXR5
IHByb3BhZ2F0aW9uIHZpZXcgJXAgKGNvbnRleHRJRD0ldSkgZm9yIFdlYkNvbnRlbnQgcHJvY2Vz
cyB3aXRoIFBJRD0lZCIsIF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3LmdldCgpLCBjb250ZXh0
SUQsIHByb2Nlc3NJZGVudGlmaWVyKTsKICAgICBbc2VsZiBhZGRTdWJ2aWV3Ol92aXNpYmlsaXR5
UHJvcGFnYXRpb25WaWV3LmdldCgpXTsKIH0KIApAQCAtMjUyLDcgKzI1Miw3IEBAIC0gKHZvaWQp
X3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3MKIAogICAgIC8vIFBy
b3BhZ2F0ZSB0aGUgdmlldydzIHZpc2liaWxpdHkgc3RhdGUgdG8gdGhlIEdQVSBwcm9jZXNzIHNv
IHRoYXQgaXQgaXMgbWFya2VkIGFzICJGb3JlZ3JvdW5kIFJ1bm5pbmciIHdoZW4gbmVjZXNzYXJ5
LgogICAgIF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2VzcyA9IGFkb3B0TlMo
W1tfVUlMYXllckhvc3RWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gcGlkOnBy
b2Nlc3NJZGVudGlmaWVyIGNvbnRleHRJRDpjb250ZXh0SURdKTsKLSAgICBSRUxFQVNFX0xPRyhQ
cm9jZXNzLCAiQ3JlYXRlZCB2aXNpYmlsaXR5IHByb3BhZ2F0aW9uIHZpZXcgJXAgKGNvbnRleHRJ
RDogJXUpIGZvciBHUFUgcHJvY2VzcyB3aXRoIFBJRCAlZCIsIF92aXNpYmlsaXR5UHJvcGFnYXRp
b25WaWV3Rm9yR1BVUHJvY2Vzcy5nZXQoKSwgY29udGV4dElELCBwcm9jZXNzSWRlbnRpZmllcik7
CisgICAgUkVMRUFTRV9MT0coUHJvY2VzcywgIkNyZWF0ZWQgdmlzaWJpbGl0eSBwcm9wYWdhdGlv
biB2aWV3ICVwIChjb250ZXh0SUQ9JXUpIGZvciBHUFUgcHJvY2VzcyB3aXRoIFBJRD0lZCIsIF92
aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2Vzcy5nZXQoKSwgY29udGV4dElELCBw
cm9jZXNzSWRlbnRpZmllcik7CiAgICAgW3NlbGYgYWRkU3VidmlldzpfdmlzaWJpbGl0eVByb3Bh
Z2F0aW9uVmlld0ZvckdQVVByb2Nlc3MuZ2V0KCldOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcAppbmRleCA3N2YzODBkZjk4ZTAx
NzhjMDczZjI2YTM5ZTQxZTI2YzNjY2IzZjQ5Li5kMmUwZTk5MjUyMTQ2ZjY0NDE5MjQzYWYyMWYw
OTNkZWFlNDk5NzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9X
ZWJBdXRoblByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dl
YkF1dGhuUHJvY2Vzcy5jcHAKQEAgLTk4LDcgKzk4LDcgQEAgdm9pZCBXZWJBdXRoblByb2Nlc3M6
OmluaXRpYWxpemVXZWJBdXRoblByb2Nlc3MoV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXIKIAogdm9pZCBXZWJBdXRoblByb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQoYm9vbCBpc1N1c3Bl
bnNpb25JbW1pbmVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogewotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJBdXRo
blByb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQoKSwgaXNTdXNwZW5zaW9uSW1taW5lbnQ6ICVkIiwg
dGhpcywgaXNTdXNwZW5zaW9uSW1taW5lbnQpOworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNw
ZW5zaW9uLCAiJXAgLSBXZWJBdXRoblByb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQoKSwgaXNTdXNw
ZW5zaW9uSW1taW5lbnQ9JWQiLCB0aGlzLCBpc1N1c3BlbnNpb25JbW1pbmVudCk7CiAKICAgICBs
b3dNZW1vcnlIYW5kbGVyKENyaXRpY2FsOjpZZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZE9ic2VydmVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxv
YWRPYnNlcnZlci5jcHAKaW5kZXggY2RlOTYwMWUzZDFjYzU0NTU3MmYwMTI3NDZjMDU0ZjRjNDJm
NjZiZS4uZGU0OTVjYTk3N2RkNjZkMmMxZjM1Y2UzMGIyOGU3MWJkN2Y5MTA4MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9h
ZE9ic2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwCkBAIC0zODQsNyArMzg0LDcgQEAgdm9pZCBX
ZWJSZXNvdXJjZUxvYWRPYnNlcnZlcjo6bG9nVXNlckludGVyYWN0aW9uV2l0aFJlZHVjZWRUaW1l
UmVzb2x1dGlvbihjb25zdAogICAgIGlmIChzaG91bGRMb2dVc2VySW50ZXJhY3Rpb24pIHsKICAg
ICAgICAgYXV0byBjb3VudGVyID0gKyttX2xvZ2dpbmdDb3VudGVyOwogI2RlZmluZSBMT0NBTF9M
T0coc3RyLCAuLi4pIFwKLSAgICAgICAgUkVMRUFTRV9MT0coUmVzb3VyY2VMb2FkU3RhdGlzdGlj
cywgIlJlc291cmNlTG9hZE9ic2VydmVyOjpsb2dVc2VySW50ZXJhY3Rpb246IGNvdW50ZXIgPSAl
IiBQUkl1NjQgIjogIiBzdHIsIGNvdW50ZXIsICMjX19WQV9BUkdTX18pCisgICAgICAgIFJFTEVB
U0VfTE9HKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsICJSZXNvdXJjZUxvYWRPYnNlcnZlcjo6bG9n
VXNlckludGVyYWN0aW9uOiBjb3VudGVyPSUiIFBSSXU2NCAiOiAiIHN0ciwgY291bnRlciwgIyNf
X1ZBX0FSR1NfXykKIAogICAgICAgICBhdXRvIGVzY2FwZUZvckpTT04gPSBbXShTdHJpbmcgcykg
ewogICAgICAgICAgICAgcy5yZXBsYWNlKCdcXCcsICJcXFxcIikucmVwbGFjZSgnIicsICJcXFwi
Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4
IDYyOWNkYjc0OGQ4MmJiMGNmNWU5ZjU3NjQ5MTJhMzc2Y2FmOTA3NDMuLjU1NWQ2ZmFlYjI5NjVj
YjE5YjNkMzY2ODRmNzM1MjNiZDI5ZTIzNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zNDY0LDcgKzM0NjQsNyBAQCB2b2lkIFdlYlBhZ2U6
OmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgdWludDY0
X3QgbGlzdGVuZQogICAgIGNvbnN1bWVOZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEV4dGVuc2lvbnMo
bmV0d29ya0V4dGVuc2lvbnNIYW5kbGVzKTsKIAogICAgIFdlYkZyYW1lKiBmcmFtZSA9IFdlYlBy
b2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKGZyYW1lSUQpOwotICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoTG9hZGluZywgImRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbjogcG9saWN5QWN0aW9u
OiAldSAtIGZyYW1lSUQ6ICVsbHUgLSB3ZWJGcmFtZTogJXAgLSBtYWluRnJhbWU6ICVkIiwgKHVu
c2lnbmVkKXBvbGljeURlY2lzaW9uLnBvbGljeUFjdGlvbiwgZnJhbWVJRC50b1VJbnQ2NCgpLCBm
cmFtZSwgZnJhbWUgPyBmcmFtZS0+aXNNYWluRnJhbWUoKSA6IDApOworICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoTG9hZGluZywgImRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbjogcG9saWN5QWN0
aW9uPSV1IC0gZnJhbWVJRD0lbGx1IC0gd2ViRnJhbWU9JXAgLSBtYWluRnJhbWU9JWQiLCAodW5z
aWduZWQpcG9saWN5RGVjaXNpb24ucG9saWN5QWN0aW9uLCBmcmFtZUlELnRvVUludDY0KCksIGZy
YW1lLCBmcmFtZSA/IGZyYW1lLT5pc01haW5GcmFtZSgpIDogMCk7CiAKICAgICBpZiAoIWZyYW1l
KQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
aW5kZXggZjIzZWQ2ZDRiZDVkNzc2ZWQzM2RhYzQ1YTMxMDAyMDJiMDk3YmU4ZC4uMjk4OWExYTA0
YmRjZjJlZDRiZjdhZWVmZjE5NmQzZjcyNzVhNDczZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcApAQCAtNTA4LDcgKzUwOCw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6aW5p
dGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRl
cnMpCiAgICAgV2ViUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFNob3VsZExvZ1VzZXJJbnRlcmFj
dGlvbihwYXJhbWV0ZXJzLnNob3VsZExvZ1VzZXJJbnRlcmFjdGlvbik7CiAjZW5kaWYKIAotICAg
IFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2VzcywgImluaXRpYWxpemVXZWJQcm9jZXNzOiBQ
cmVzZW50aW5nIHByb2Nlc3MgPSAlZCIsIFdlYkNvcmU6OnByZXNlbnRpbmdBcHBsaWNhdGlvblBJ
RCgpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3MsICJpbml0aWFsaXplV2Vi
UHJvY2VzczogUHJlc2VudGluZyBwcm9jZXNzUElEPSVkIiwgV2ViQ29yZTo6cHJlc2VudGluZ0Fw
cGxpY2F0aW9uUElEKCkpOwogfQogCiB2b2lkIFdlYlByb2Nlc3M6OnNldFdlYnNpdGVEYXRhU3Rv
cmVQYXJhbWV0ZXJzKFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykK
QEAgLTEzNzksNyArMTM3OSw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6cmVzZXRBbGxHZW9sb2NhdGlv
blBlcm1pc3Npb25zKCkKIAogdm9pZCBXZWJQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKGJvb2wg
aXNTdXNwZW5zaW9uSW1taW5lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NTdXNwZW5z
aW9uLCAicHJlcGFyZVRvU3VzcGVuZDogaXNTdXNwZW5zaW9uSW1taW5lbnQ6ICVkIiwgaXNTdXNw
ZW5zaW9uSW1taW5lbnQpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3Bl
bnNpb24sICJwcmVwYXJlVG9TdXNwZW5kOiBpc1N1c3BlbnNpb25JbW1pbmVudD0lZCIsIGlzU3Vz
cGVuc2lvbkltbWluZW50KTsKICAgICBTZXRGb3JTY29wZTxib29sPiBzdXNwZW5zaW9uU2NvcGUo
bV9pc1N1c3BlbmRpbmcsIHRydWUpOwogICAgIG1fcHJvY2Vzc0lzU3VzcGVuZGVkID0gdHJ1ZTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3ND
b2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0KaW5kZXggNGVlOGNkYjBhMjYxNjcxYzllODQxZDQ0MDZmMmU0MTM3NWE1MTEwYy4uNzkwZGRh
MGJmZDYxYmFhYTVhY2ZiYzE2NDdiNzE5NDU0NjhhMGQ0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC00OTQsNyArNDk0LDcg
QEAgdm9pZCBXZWJQcm9jZXNzOjp1cGRhdGVQcm9jZXNzTmFtZShJc0luUHJvY2Vzc0luaXRpYWxp
emF0aW9uIGlzSW5Qcm9jZXNzSW5pdGlhbGkKICAgICBhdXRvIGVycm9yID0gX0xTU2V0QXBwbGlj
YXRpb25JbmZvcm1hdGlvbkl0ZW0oa0xTRGVmYXVsdFNlc3Npb25JRCwgX0xTR2V0Q3VycmVudEFw
cGxpY2F0aW9uQVNOKCksIF9rTFNEaXNwbGF5TmFtZUtleSwgKENGU3RyaW5nUmVmKWFwcGxpY2F0
aW9uTmFtZS5nZXQoKSwgbnVsbHB0cik7CiAgICAgQVNTRVJUKCFlcnJvcik7CiAgICAgaWYgKGVy
cm9yKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoUHJvY2VzcywgInVw
ZGF0ZVByb2Nlc3NOYW1lOiBGYWlsZWQgdG8gc2V0IHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIFdl
YkNvbnRlbnQgcHJvY2VzcywgZXJyb3IgY29kZTogJWxkIiwgc3RhdGljX2Nhc3Q8bG9uZz4oZXJy
b3IpKTsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChQcm9jZXNzLCAidXBk
YXRlUHJvY2Vzc05hbWU6IEZhaWxlZCB0byBzZXQgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzLCBlcnJvciBjb2RlPSVsZCIsIHN0YXRpY19jYXN0PGxvbmc+KGVycm9y
KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjaWYgQVNTRVJUX0VOQUJMRUQKQEAgLTk3NCw5
ICs5NzQsOSBAQCB2b2lkIFdlYlByb2Nlc3M6OnVwZGF0ZUZyZWV6ZXJTdGF0dXMoKQogICAgIGJv
b2wgaXNGcmVlemFibGUgPSBzaG91bGRGcmVlemVPblN1c3BlbnNpb24oKTsKICAgICBhdXRvIHJl
c3VsdCA9IG1lbW9yeXN0YXR1c19jb250cm9sKE1FTU9SWVNUQVRVU19DTURfU0VUX1BST0NFU1Nf
SVNfRlJFRVpBQkxFLCBnZXRwaWQoKSwgaXNGcmVlemFibGUgPyAxIDogMCwgbnVsbHB0ciwgMCk7
CiAgICAgaWYgKHJlc3VsdCkKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChQ
cm9jZXNzU3VzcGVuc2lvbiwgInVwZGF0ZUZyZWV6ZXJTdGF0dXM6IGlzRnJlZXphYmxlOiAlZCwg
ZXJyb3I6ICVkIiwgaXNGcmVlemFibGUsIHJlc3VsdCk7CisgICAgICAgIFJFTEVBU0VfTE9HX0VS
Uk9SX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJ1cGRhdGVGcmVlemVyU3RhdHVzOiBp
c0ZyZWV6YWJsZT0lZCwgZXJyb3I9JWQiLCBpc0ZyZWV6YWJsZSwgcmVzdWx0KTsKICAgICBlbHNl
Ci0gICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJ1cGRh
dGVGcmVlemVyU3RhdHVzOiBpc0ZyZWV6YWJsZTogJWQsIHN1Y2Nlc3MiLCBpc0ZyZWV6YWJsZSk7
CisgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJ1cGRh
dGVGcmVlemVyU3RhdHVzOiBpc0ZyZWV6YWJsZT0lZCwgc3VjY2VzcyIsIGlzRnJlZXphYmxlKTsK
IH0KICNlbmRpZgogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>