<?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>214375</bug_id>
          
          <creation_ts>2020-07-15 13:36:58 -0700</creation_ts>
          <short_desc>Resync web-platform-tests/resize-observer from upstream</short_desc>
          <delta_ts>2020-07-16 09:04:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>213927</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>clopez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1671914</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-07-15 13:36:58 -0700</bug_when>
    <thetext>Resync web-platform-tests/resize-observer from upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671915</commentid>
    <comment_count>1</comment_count>
      <attachid>404388</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-07-15 13:40:58 -0700</bug_when>
    <thetext>Created attachment 404388
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671960</commentid>
    <comment_count>2</comment_count>
      <attachid>404398</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-07-15 15:08:09 -0700</bug_when>
    <thetext>Created attachment 404398
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671976</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-15 15:52:00 -0700</bug_when>
    <thetext>Committed r264432: &lt;https://trac.webkit.org/changeset/264432&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404398.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671977</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-15 15:52:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/65631783&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404388</attachid>
            <date>2020-07-15 13:40:58 -0700</date>
            <delta_ts>2020-07-15 15:08:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214375-20200715134057.patch</filename>
            <type>text/plain</type>
            <size>83392</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NDE4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTNiOTlhYTc1Mzk5YTEzZmZlYjA0
ODFkZDNlMzQ2MGNkNmE3NzE2MC4uMDM3MDI4ZmEyZDJmMzZmZjM5NTUwNTU0MjE3YjYxZmUwYzhi
YzE4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA3LTE1ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIgZnJvbSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Mzc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIwLTA3LTE1ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBDYXJldCBzaG91
bGQgYmUgYmVmb3JlIHRleHQgcGxhY2Vob2xkZXIgaW5zdGVhZCBvZiBhZnRlciBpdApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZTdkZDNmMTExMmU0NzM4ZGU3MTAwYTE4Mjk0ZDJj
NGU0NWRmYTUwNC4uMjNlYmNhMTFkMjNjNjRiN2I3NjE3OWJlMjJmZmY2MDMwYjY2NTUyYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjAtMDctMTUg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZXN5bmMgd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlciBmcm9tIHVwc3RyZWFtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQzNzUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXN5bmMgd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlciBmcm9tIHVwc3RyZWFtIGIyYTY2NmQ5MzU4MWE3MWU5MzM4YjIu
CisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvTUVUQS55bWw6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9jaGFuZ2UtbGF5b3V0LWluLWVy
cm9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9jaGFuZ2UtbGF5b3V0LWluLWVycm9yLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZGV2aWNlcGl4ZWwtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNl
cnZlci9kZXZpY2VwaXhlbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53
aW5kb3cuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L2lkbGhhcm5lc3Mud2luZG93LmpzOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvb2JzZXJ2ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaW1hZ2UucG5nOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9yZXNp
emVUZXN0SGVscGVyLmpzOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUuX2hh
bmRsZU5vdGlmaWNhdGlvbik6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5f
aGFuZGxlVGltZW91dCk6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5zdGFy
dCk6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5nZXQgdGVzdCk6CisgICAg
ICAgIChjcmVhdGVBbmRBcHBlbmRFbGVtZW50KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmcuaHRtbDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3czYy1pbXBvcnQubG9nOgor
CiAyMDIwLTA3LTE0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVzeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy9taW1lc25pZmYgZnJvbSB1cHN0cmVhbQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggMTBiMzRiYWI0MWJmMjU1ZDIyNzk2MGRkOTJkMjY5YzUyZDEzNjgzZi4u
ZDAzMzA2ZGQxODU2MGQ0ZmJjMWM4NmI1OWI5ZTk1NDQ3NTA5NWU2MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCkBAIC0yOTg2LDYgKzI5ODYsNyBAQCB3ZWJraXQub3JnL2IvMTk2Mjc0IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtcG9zdC11cGxvYQogCiAjIElm
IHJlcXVlc3RBbmltYXRpb25GcmFtZSBpcyBpbnZva2VkIGJlZm9yZSBSZXNpemVPYnNlcnZlciB0
aW1lciBmaXJlZCwgaXQgd291bGQgcGFzcywgb3RoZXJ3aXNlIGl0IHdvdWxkIGZhaWwgc2FtZSBh
cyBldmVudGxvb3AtZXhwZWN0ZWQudHh0CiB3ZWJraXQub3JnL2IvMTU3NzQzIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC5odG1sIFsgUGFz
cyBGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL2RldmljZXBpeGVsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9i
LzE5ODEwMyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Vt
YmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvb2Zmc2V0cy1pbnRvLXRoZS1tZWRpYS1yZXNv
dXJjZS9jdXJyZW50VGltZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMu
anNvbgppbmRleCA0N2M3OGIzOTgwYWMxNDk1ZDI2YWUxMjI0MGEwZDJkNGNhMzQ5MzE5Li43NmZj
MWVjYzRlZTIzMTczMTI3ZjQxMzZiNTA3MDBhNzFhNzlhMDgzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMu
anNvbgpAQCAtMzUxLDcgKzM1MSw3IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZWZlcnJl
ci1wb2xpY3kiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZW1vdGUtcGxh
eWJhY2siOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNh
bGxiYWNrIjogImltcG9ydCIsIAotICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyIjogInNraXAiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlciI6
ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci8iOiAi
aW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmciOiAiaW1w
b3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMiOiAiaW1wb3J0IiwgCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9NRVRBLnltbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL01FVEEueW1sCmluZGV4IGVmNjY4NTYyMmIyYWIy
ZTI2Y2M2MzMwZjk4MTMwYmU1ZDQzMDFiMDMuLjQwZWJiZTk2NjJjNjg3NzA5ZGM5N2QxNmM4Y2Fh
NmEzOWFiMjRkZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL01FVEEueW1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL01FVEEueW1sCkBA
IC0xLDQgKzEsNCBAQAotc3BlYzogaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9SZXNpemVPYnNlcnZl
ci8KK3NwZWM6IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9yZXNpemUtb2JzZXJ2ZXIvCiBzdWdn
ZXN0ZWRfcmV2aWV3ZXJzOgogICAtIGF0b3RpYwogICAtIGRob2xiZXJ0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci9jaGFuZ2UtbGF5b3V0LWluLWVycm9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2NoYW5nZS1sYXlvdXQt
aW4tZXJyb3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkMGY1ZWExNGYzMjdjNTJjM2UyMDJi
NDc3YjI1ODU3YjllYzRiZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9jaGFuZ2UtbGF5b3V0LWlu
LWVycm9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK0NPTlNPTEUgTUVTU0FHRTogUmVz
aXplT2JzZXJ2ZXIgbG9vcCBjb21wbGV0ZWQgd2l0aCB1bmRlbGl2ZXJlZCBub3RpZmljYXRpb25z
LgorQ09OU09MRSBNRVNTQUdFOiBSZXNpemVPYnNlcnZlciBsb29wIGNvbXBsZXRlZCB3aXRoIHVu
ZGVsaXZlcmVkIG5vdGlmaWNhdGlvbnMuCisKK1BBU1MgQ2hhbmdpbmcgbGF5b3V0IGluIHdpbmRv
dyBlcnJvciBoYW5kbGVyIHNob3VsZCBub3QgcmVzdWx0IGluIGxpZmVjeWxlIGxvb3Agd2hlbiBy
ZXNpemUgb2JzZXJ2ZXIgbG9vcCBsaW1pdCBpcyByZWFjaGVkLiAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
Y2hhbmdlLWxheW91dC1pbi1lcnJvci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvY2hhbmdlLWxheW91dC1pbi1lcnJvci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjkwODNmYjQ4Zjk0ZWZlMmE0ZDQwMmZkYTJlNDUyZDcyZjk0YjFlMTcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9jaGFuZ2UtbGF5b3V0LWluLWVycm9yLmh0bWwKQEAgLTAs
MCArMSwzMyBAQAorPCFkb2N0eXBlIEhUTUw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KKyAgZGl2IHsKKyAgICB3aWR0aDogMTAw
cHg7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgfQorPC9zdHlsZT4KKzxkaXYgaWQ9Im9ic2VydmVt
ZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0
cnVlfSk7CisKK2FzeW5jX3Rlc3QoYSA9PiB7CisgIGxldCB0ID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcigiI29ic2VydmVtZSIpOworICBsZXQgaSA9IDA7CisgIHdpbmRvdy5vbmVycm9yID0gZnVu
Y3Rpb24gKGVycikgeworICAgIHQuc3R5bGUuaGVpZ2h0ID0gIjExMnB4IjsKKyAgICBpKys7Cisg
ICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGEuc3RlcF9mdW5jX2RvbmUoKCkgPT4geworICAgICAg
YXNzZXJ0X2VxdWFscyhpLCAxKTsKKyAgICB9KSwgMCk7CisgIH07CisKKyAgbmV3IFJlc2l6ZU9i
c2VydmVyKGZ1bmN0aW9uKCkgeworICAgIHQuc3R5bGUuaGVpZ2h0ID0gIjExMXB4IjsKKyAgfSku
b2JzZXJ2ZShvYnNlcnZlbWUpOworICBvYnNlcnZlbWUuc3R5bGUuaGVpZ2h0ID0gIjExMHB4IjsK
KworfSwgIkNoYW5naW5nIGxheW91dCBpbiB3aW5kb3cgZXJyb3IgaGFuZGxlciBzaG91bGQgbm90
IHJlc3VsdCBpbiBsaWZlY3lsZSBsb29wIHdoZW4gcmVzaXplIG9ic2VydmVyIGxvb3AgbGltaXQg
aXMgcmVhY2hlZC4iKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZGV2aWNlcGl4ZWwtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL2RldmljZXBpeGVsLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTAw
NjczMjAxNWJlM2JiZjA3Yzc5ZWNkMTFkOGE1MGM0ZWJiZGEzZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL2RldmljZXBpeGVsLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFkb2N0eXBl
IGh0bWw+Cis8c3R5bGU+CisgICNncmVlbnJlY3QgeworICAgIHdpZHRoOiAxMDAlOworICAgIGhl
aWdodDogMTAwJTsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBncmVlbjsKKyAgICBib3gtc2l6aW5n
OiBib3JkZXItYm94OworICB9CisgICNvdXRlciB7CisgICAgcGFkZGluZy10b3A6IDEuN3B4Owor
ICAgIHdpZHRoOiAzMDAuOHB4OworICAgIGhlaWdodDogMjUwLjFweDsKKyAgfQorICAjb3V0ZXIy
IHsKKyAgICBwYWRkaW5nLXRvcDogMS40cHg7CisgICAgd2lkdGg6IDMwMC44cHg7CisgICAgaGVp
Z2h0OiAyNTAuMXB4OworICB9Cis8L3N0eWxlPgorPGJvZHk+CisgIDxkaXYgaWQ9Im91dGVyIj4K
KyAgICA8ZGl2IGlkPSJncmVlbnJlY3QiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBpZD0ib3V0
ZXIyIj4KKyAgICA8ZGl2IGlkPSJncmVlbnJlY3QiPjwvZGl2PgorICA8L2Rpdj4KKzwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL2RldmljZXBpeGVsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9kZXZpY2VwaXhlbC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdiYWRhOTM2M2UyZTgzMjczOGQ0MzE1NzBlOWMxNTc2ZGEzYjc1NWEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9kZXZpY2VwaXhlbC5odG1sCkBAIC0wLDAgKzEsODUgQEAKKzwhZG9j
dHlwZSBodG1sPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iZGV2aWNlcGl4ZWwtcmVmLmh0bWwi
PgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJEZXZpY2UgcGl4ZWwgY29udGVudCBib3gg
c2l6ZXMgYW5kIHBpeGVsIHNuYXBwaW5nIGFyZSBjb3JyZWN0IGluIFJlc2l6ZSBPYnNlcnZlciBj
YWxsYmFjayI+Cis8IS0tCisgIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBkZXZpY2UgcGl4
ZWwgY29udGVudCBib3ggc2l6ZXMgYXZhaWxhYmxlCisgIGluIGEgcmVzaXplIG9ic2VydmVyIGNh
bGxiYWNrIGFyZSBjb3JyZWN0LiBSZXNpemUgb2JzZXJ2ZXIgbm90aWZpY2F0aW9ucworICBhcmUg
ZGVsaXZlcmVkIGFzIHRoZSBlbGVtZW50IGlzIGxvYWRlZC4gQSBib3ggaXMgdGhlbiBkcmF3biB1
c2luZyB0aGUKKyAgYXZhaWxhYmxlIGRpbWVuc2lvbnMgaW4gZGV2aWNlIHBpeGVscy4gVGhlIHJl
c3VsdCBpcyBjb21wYXJlZCB0byB0aGUgcmVmZXJlbmNlCisgIHdoaWNoIHVzZXMgZGl2IGFuZCBi
b3JkZXIgdG8gZHJhdyBhIGJveC4KKy0tPgorCis8c3R5bGU+CisgICNjYW52YXMyRCB7CisgICAg
d2lkdGg6IDEwMCU7CisgICAgaGVpZ2h0OiAxMDAlOworICB9CisgICNjYW52YXMyRFBhZGRpbmcx
NCB7CisgICAgd2lkdGg6IDEwMCU7CisgICAgaGVpZ2h0OiAxMDAlOworICB9CisgICNvdXRlciB7
CisgICAgcGFkZGluZy10b3A6IDEuN3B4OworICAgIHdpZHRoOiAzMDAuOHB4OworICAgIGhlaWdo
dDogMjUwLjFweDsKKyAgfQorICAjb3V0ZXIyIHsKKyAgICBwYWRkaW5nLXRvcDogMS40cHg7Cisg
ICAgd2lkdGg6IDMwMC44cHg7CisgICAgaGVpZ2h0OiAyNTAuMXB4OworICB9CisKKzwvc3R5bGU+
Cis8Ym9keT4KKyAgPGRpdiBpZD0ib3V0ZXIiPgorICAgIDxjYW52YXMgaWQ9ImNhbnZhczJEIj48
L2NhbnZhcz4KKyAgPC9kaXY+CisgIDxkaXYgaWQ9Im91dGVyMiI+CisgICAgPGNhbnZhcyBpZD0i
Y2FudmFzMkRQYWRkaW5nMTQiPjwvY2FudmFzPgorICA8L2Rpdj4KKzwvYm9keT4KKworPHNjcmlw
dD4KKyAgLy8gQ3JlYXRlIGEgYm94IHVzaW5nIGRldmljZSBwaXhlbCBjb250ZW50IGJveCBkaW1l
bnNpb25zCisgIGZ1bmN0aW9uIHBhaW50MkQoY3R4LCBzbmFwcGVkU2l6ZSkgeworICAgIGN0eC5i
ZWdpblBhdGgoKTsKKyAgICAvLyBVc2UgYSBsaW5ld2lkdGggb2YgMi4gQmVjYXVzZSB0aGUgcmVj
dGFuZ2xlIGlzIGRyYXduIGF0IDAsMCB3aXRoCisgICAgLy8gaXRzIGRpbWVuc2lvbnMgYmVpbmcg
dGhlIHNhbWUgYXMgY2FudmFzIGRpbWVuc2lvbnMsIGxpbmV3aWR0aCBhcyBpdAorICAgIC8vIGlz
IGRyYXduIG9uIHRoZSBjYW52YXMgd2lsbCBiZSAxLgorICAgIGN0eC5saW5lV2lkdGggPSAiMiI7
CisgICAgY3R4LnN0cm9rZVN0eWxlID0gImdyZWVuIjsKKyAgICBjdHgucmVjdCgwLCAwLCBzbmFw
cGVkU2l6ZS5pbmxpbmVTaXplLCBzbmFwcGVkU2l6ZS5ibG9ja1NpemUpOworICAgIGN0eC5zdHJv
a2UoKTsKKyAgfQorCisgIGZ1bmN0aW9uIHVwZGF0ZUNhbnZhc1NpemUyRChjYW52YXMyRCwgY3R4
LCBzbmFwcGVkU2l6ZSkgeworICAgIGNhbnZhczJELndpZHRoID0gc25hcHBlZFNpemUuaW5saW5l
U2l6ZTsKKyAgICBjYW52YXMyRC5oZWlnaHQgPSBzbmFwcGVkU2l6ZS5ibG9ja1NpemU7CisgICAg
cGFpbnQyRChjdHgsIHNuYXBwZWRTaXplKTsKKyAgfQorCisgIChmdW5jdGlvbigpIHsKKyAgICBs
ZXQgY2FudmFzMkQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjY2FudmFzMkQiKTsKKyAgICBs
ZXQgY2FudmFzMkRQYWRkaW5nMTQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjY2FudmFzMkRQ
YWRkaW5nMTQiKTsKKworICAgIGZ1bmN0aW9uIG9ic2VydmVTaXplcygpIHsKKyAgICAgIGxldCBy
byA9IG5ldyBSZXNpemVPYnNlcnZlciggZW50cmllcyA9PiB7CisgICAgICAgIGZvciAoZW50cnkg
b2YgZW50cmllcykgeworICAgICAgICAgIGxldCBzaXplID0gZW50cnkuZGV2aWNlUGl4ZWxDb250
ZW50Qm94U2l6ZVswXTsKKyAgICAgICAgICBpZiAoZW50cnkudGFyZ2V0ID09IGNhbnZhczJEKSB7
CisgICAgICAgICAgICBsZXQgY2FudmFzMkQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjY2Fu
dmFzMkQiKTsKKyAgICAgICAgICAgIGxldCBjdHggPSBjYW52YXMyRC5nZXRDb250ZXh0KCIyZCIp
OworICAgICAgICAgICAgdXBkYXRlQ2FudmFzU2l6ZTJEKGNhbnZhczJELCBjdHgsIHNpemUpOwor
ICAgICAgICAgIH0gZWxzZSBpZiAoZW50cnkudGFyZ2V0ID09IGNhbnZhczJEUGFkZGluZzE0KXsK
KyAgICAgICAgICAgIGxldCBjYW52YXMyRFBhZGRpbmcxNCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoIiNjYW52YXMyRFBhZGRpbmcxNCIpOworICAgICAgICAgICAgbGV0IGN0eCA9IGNhbnZhczJE
UGFkZGluZzE0LmdldENvbnRleHQoIjJkIik7CisgICAgICAgICAgICB1cGRhdGVDYW52YXNTaXpl
MkQoY2FudmFzMkRQYWRkaW5nMTQsIGN0eCwgc2l6ZSk7CisgICAgICAgICAgfQorICAgICAgICB9
CisgICAgICB9KTsKKyAgICAgIHJvLm9ic2VydmUoY2FudmFzMkQsIHtib3g6ICJkZXZpY2UtcGl4
ZWwtY29udGVudC1ib3gifSk7CisgICAgICByby5vYnNlcnZlKGNhbnZhczJEUGFkZGluZzE0LCB7
Ym94OiAiZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94In0pOworICAgIH0KKyAgICBvYnNlcnZlU2l6
ZXMoKTsKKyAgfSkoKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNl
cnZlci9ldmVudGxvb3AuaHRtbAppbmRleCA2MjJkNzI0YTE5YjNkYjIwYTIxZWYyNGFiOTg1ZDg0
YjdlMzViOWU1Li4xYTEwZDgyMTE4MmQwM2UzNTRlMjM3MzViMzM0MzZiOTVjMmMzN2FjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9ldmVudGxvb3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxvb3AuaHRtbApAQCAtMSwz
MCArMSwxMiBAQAogPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBl
cmltZW50YWw6UmVzaXplT2JzZXJ2ZXJFbmFibGVkPXRydWUgXSAtLT4KKzx0aXRsZT5SZXNpemVP
YnNlcnZlciBub3RpZmljYXRpb24gZXZlbnQgbG9vcCB0ZXN0czwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c3R5bGU+Ci0gIGRpdiB7
Ci0gICAgYm9yZGVyOiAxcHggZG90dGVkIGdyYXkKLSAgfQotPC9zdHlsZT4KLTxwPlJlc2l6ZU9i
c2VydmVyIG5vdGlmaWNhdGlvbiBldmVudCBsb29wIHRlc3RzPC9wPgotPGRpdiBpZD0idGFyZ2V0
MSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQxCi08L2Rpdj4KLTxkaXYgaWQ9
ImNvbnRhaW5lciI+Ci0gIDxkaXYgaWQ9ImExIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEw
MHB4Ij4KLSAgICA8ZGl2IGlkPSJhMiIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweCI+
Ci0gICAgPC9kaXY+Ci0gIDwvZGl2PgotICA8ZGl2IGlkPSJiMSIgc3R5bGU9IndpZHRoOjEwMHB4
O2hlaWdodDoxMDBweCI+Ci0gICAgPGRpdiBpZD0iYjIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWln
aHQ6MTAwcHgiPgotICAgIDwvZGl2PgotICA8L2Rpdj4KLTwvZGl2PgorPGRpdiBpZD0ibG9nIj48
L2Rpdj4KIDxzY3JpcHQ+CiAndXNlIHN0cmljdCc7CiAKLWxldCB0MSA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJyN0YXJnZXQxJyk7Ci0KIC8vIGFsbG93IHVuY2F1Z2h0IGV4Y2VwdGlvbiBiZWNh
dXNlIFJlc2l6ZU9ic2VydmVyIHBvc3RzIGV4Y2VwdGlvbnMKIC8vIHRvIHdpbmRvdyBlcnJvciBo
YW5kbGVyIHdoZW4gbGltaXQgaXMgZXhjZWVkZWQuCiAvLyBUaGlzIGNvZGVwYXRoIGlzIHRlc3Rl
ZCBpbiB0aGlzIGZpbGUuCkBAIC01Myw4ICszNSwxMSBAQCB3aW5kb3cub25lcnJvciA9IGVyciA9
PiB7CiB9CiAKIGZ1bmN0aW9uIHRlc3QwKCkgeworICBsZXQgdDEgPSBjcmVhdGVBbmRBcHBlbmRF
bGVtZW50KCJkaXYiKTsKKyAgbGV0IHQyID0gY3JlYXRlQW5kQXBwZW5kRWxlbWVudCgiZGl2Iiwg
dDEpOworICBsZXQgdDMgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiLCB0Mik7CiAKLSAg
bGV0IGRpdnMgPSBbdDFdOworICBsZXQgZGl2cyA9IFt0MSwgdDIsIHQzXTsKICAgbGV0IHJBRiA9
IDA7CiAgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKICAgICAidGVzdDA6IG11
bHRpcGxlIG5vdGlmaWNhdGlvbnMgaW5zaWRlIHNhbWUgZXZlbnQgbG9vcCIsCkBAIC02MiwxMiAr
NDcsNiBAQCBmdW5jdGlvbiB0ZXN0MCgpIHsKICAgICB7CiAgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4gewogICAgICAgICBvbkVycm9yQ2FsbGVkID0gZmFsc2U7Ci0gICAgICAgIGxldCB0MiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgICAgICBsZXQgdDMgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgdDIuYXBwZW5kQ2hpbGQodDMpOwotICAgICAg
ICB0MS5hcHBlbmRDaGlsZCh0Mik7Ci0gICAgICAgIGRpdnMucHVzaCh0Mik7Ci0gICAgICAgIGRp
dnMucHVzaCh0Myk7CiAgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOwogICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHQyKTsKICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Myk7CkBAIC0xMDQs
MTcgKzgzLDQwIEBAIGZ1bmN0aW9uIHRlc3QwKCkgewogICAgICAgICBhc3NlcnRfZXF1YWxzKGhl
bHBlci5yYWZDb3VudCwgMSwgIm5ldyBsb29wIik7CiAgICAgICAgIGFzc2VydF9lcXVhbHMob25F
cnJvckNhbGxlZCwgdHJ1ZSwgImVycm9yIHdhcyBmaXJlZCIpOwogICAgICAgICBvYnNlcnZlci5k
aXNjb25uZWN0KCk7Ci0gICAgICAgIHdoaWxlICh0MS5jaGlsZE5vZGVzLmxlbmd0aCA+IDApCi0g
ICAgICAgICAgdDEucmVtb3ZlQ2hpbGQodDEuY2hpbGROb2Rlc1swXSk7CiAgICAgICB9CiAgICAg
fQogICBdKTsKLSAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworCisgIHJldHVybiBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgLy8gVGhpcyB0ZXN0IHVzZXMgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lKCkgdG8gY2hlY2sgdGhlIGNvdW50IG9mIGV2ZW50IGxvb3AsCisgICAgLy8g
YnV0IG9uIHNvbWUgYnJvd3NlcnMsIHRoZSBGcmFtZVJlcXVlc3RDYWxsYmFjayBtYXkgYmUgdGhy
b3R0bGVkIChpLmUuCisgICAgLy8gc2ltcGx5IGZpcmVkIGFmdGVyIHNvbWUgZXh0cmEgdGltZSkg
aW4gY2FzZXMgd2hlcmUgdGhpcyB0ZXN0IGlzIHJ1bm5pbmcKKyAgICAvLyBpbiBhbiBpZnJhbWUg
dGhhdCBoYXNuJ3QgeWV0IGJlZW4gcGFpbnRlZCAoaS5lLiB3ZSdyZSBub3QgdmlzaWJsZSkuCisg
ICAgLy8gVGhpcyBtYXkgcmVzdWx0IGluIHNvbWUgaW50ZXJtaXR0ZW50IGZhaWx1cmVzIGlmIHRo
aXMgdGVzdCBkaWRuJ3QgZ2V0IGEKKyAgICAvLyBmaXJzdCBwYWludCAoYW5kIGhlbmNlIG1heSBu
b3QgaGF2ZSBzdGFydGVkIGZpcmluZyBGcmFtZVJlcXVlc3RDYWxsYmFja3MpCisgICAgLy8gYnkg
dGhlIHRpbWUgdGhlIHRlc3Qgc3RhcnRzIGV4cGVjdGluZyBoZWxwZXIucmFmQ291bnQgdG8gaGF2
ZSBjaGFuZ2VkLgorICAgIC8vCisgICAgLy8gVGhlcmVmb3JlLCB3ZSBkb24ndCBzdGFydCB0aGUg
dGVzdCBsb2dpYyB1bnRpbCBib2R5Lm9ubG9hZCBoYXMgZmlyZWQuCisgICAgLy8gVGhpcyBpbmNy
ZWFzZXMgdGhlIGxpa2VsaWhvb2QgdGhhdCB0aGlzIHRlc3RjYXNlIHdpbGwgaGF2ZSBnb3R0ZW4g
YQorICAgIC8vIGNoYW5jZSB0byBwYWludCB3aGVuIHdlIHN0YXJ0IGludm9raW5nIHJlcXVlc3RB
bmltYXRpb25GcmFtZSwgYW5kIHRoYXQKKyAgICAvLyBpdHMgckFGIGNhbGxiYWNrcyB3aWxsIGZp
cmUgd2hlbiB0aGUgdGVzdCBsb2dpYyBleHBlY3RzIHRoZW0gdG8uCisgICAgZG9jdW1lbnQuYm9k
eS5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKCk7CisgIH0pLnRoZW4oKCkgPT4geworICAgIHJldHVy
biBoZWxwZXIuc3RhcnQoKCkgPT4gdDEucmVtb3ZlKCkpOworICB9KTsKIH0KIAogZnVuY3Rpb24g
dGVzdDEoKSB7CisgIGxldCB0MSA9IGNyZWF0ZUFuZEFwcGVuZEVsZW1lbnQoImRpdiIpOworICB0
MS5zdHlsZS53aWR0aCA9ICcxMDBweCc7CisgIGxldCB0MiA9IGNyZWF0ZUFuZEFwcGVuZEVsZW1l
bnQoImRpdiIsIHQxKTsKKyAgbGV0IHQzID0gY3JlYXRlQW5kQXBwZW5kRWxlbWVudCgiZGl2Iiwg
dDIpOworICBsZXQgc2hhZG93ID0gdDMuYXR0YWNoU2hhZG93KHsgbW9kZTogIm9wZW4iIH0pOwor
ICBsZXQgdDQgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiLCBzaGFkb3cpOworICBsZXQg
dDUgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiLCB0NCk7CisKKyAgbGV0IHJlc2l6ZXJz
ID0gW3QxLCB0MiwgdDMsIHQ0LCB0NV07CiAKLSAgdmFyIHJlc2l6ZXJzID0gW3QxXTsKICAgLy8g
VGVzdGluZyBkZXB0aHMgb2Ygc2hhZG93IHJvb3RzCiAgIC8vIERPTTogdDEgPC0gdDIgPC0gdDMg
PC1zaGFkb3ctIHQ0IDwtIHQ1CiAgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigK
QEAgLTEyMywxOSArMTI1LDYgQEAgZnVuY3Rpb24gdGVzdDEoKSB7CiAgICAgewogICAgICAgc2V0
dXA6IG9ic2VydmVyID0+IHsKICAgICAgICAgb25FcnJvckNhbGxlZCA9IGZhbHNlOwotICAgICAg
ICBsZXQgdDIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgdDEuYXBw
ZW5kQ2hpbGQodDIpOwotICAgICAgICByZXNpemVycy5wdXNoKHQyKTsKLSAgICAgICAgbGV0IHQz
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgICAgIHJlc2l6ZXJzLnB1c2go
dDMpOwotICAgICAgICB0Mi5hcHBlbmRDaGlsZCh0Myk7Ci0gICAgICAgIGxldCBzaGFkb3cgPSB0
My5hdHRhY2hTaGFkb3coeyBtb2RlOiAib3BlbiIgfSk7Ci0gICAgICAgIGxldCB0NCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgICAgICByZXNpemVycy5wdXNoKHQ0KTsKLSAg
ICAgICAgc2hhZG93LmFwcGVuZENoaWxkKHQ0KTsKLSAgICAgICAgbGV0IHQ1ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgICAgIHJlc2l6ZXJzLnB1c2godDUpOwotICAgICAg
ICB0NC5hcHBlbmRDaGlsZCh0NSk7CiAgICAgICAgIHJlc2l6ZXJzLmZvckVhY2goIGVsID0+IG9i
c2VydmVyLm9ic2VydmUoZWwpICk7CiAgICAgICB9LAogICAgICAgbm90aWZ5OiAoZW50cmllcywg
b2JzZXJ2ZXIpID0+IHsKQEAgLTE4MSwxOSArMTcwLDI2IEBAIGZ1bmN0aW9uIHRlc3QxKCkgewog
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCA0LCAibGltaXQgbm90aWZpY2F0
aW9ucyIpOwogICAgICAgICBhc3NlcnRfZXF1YWxzKG9uRXJyb3JDYWxsZWQsIHRydWUsICJicmVh
Y2hlZCBsaW1pdCIpOwogICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7Ci0gICAgICAgIHQx
LnJlbW92ZUNoaWxkKHQxLmZpcnN0Q2hpbGQpOwogICAgICAgfQogICAgIH0sCiAgIF0pOwotICBy
ZXR1cm4gaGVscGVyLnN0YXJ0KCk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKCkgPT4gdDEucmVt
b3ZlKCkpOwogfQogCiBmdW5jdGlvbiB0ZXN0MigpIHsKLSAgbGV0IGNvbnRhaW5lciA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJyNjb250YWluZXInKTsKLSAgbGV0IGExID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcignI2ExJyk7Ci0gIGxldCBhMiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNh
MicpOwotICBsZXQgYjEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYjEnKTsKLSAgbGV0IGIy
ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2IyJyk7CisgIC8vIDxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgIC8vICAgPGRpdiBpZD0iYTEiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgi
PgorICAvLyAgICAgPGRpdiBpZD0iYTIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgi
PjwvZGl2PgorICAvLyAgIDwvZGl2PgorICAvLyAgIDxkaXYgaWQ9ImIxIiBzdHlsZT0id2lkdGg6
MTAwcHg7aGVpZ2h0OjEwMHB4Ij4KKyAgLy8gICAgIDxkaXYgaWQ9ImIyIiBzdHlsZT0id2lkdGg6
MTAwcHg7aGVpZ2h0OjEwMHB4Ij48L2Rpdj4KKyAgLy8gICA8L2Rpdj4KKyAgLy8gPC9kaXY+Cisg
IGxldCBjb250YWluZXIgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiKTsKKyAgbGV0IGEx
ID0gY3JlYXRlQW5kQXBwZW5kRWxlbWVudCgiZGl2IiwgY29udGFpbmVyKTsKKyAgbGV0IGEyID0g
Y3JlYXRlQW5kQXBwZW5kRWxlbWVudCgiZGl2IiwgYTEpOworICBsZXQgYjEgPSBjcmVhdGVBbmRB
cHBlbmRFbGVtZW50KCJkaXYiLCBjb250YWluZXIpOworICBsZXQgYjIgPSBjcmVhdGVBbmRBcHBl
bmRFbGVtZW50KCJkaXYiLCBiMSk7CiAgIGxldCB0YXJnZXRzID0gW2ExLCBhMiwgYjEsIGIyXTsK
IAogICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCkBAIC0yMzcsMTEgKzIzMywx
MCBAQCBmdW5jdGlvbiB0ZXN0MigpIHsKICAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVy
KSA9PiB7CiAgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJiMiBtb3Zl
ZCBkb3dud2FyZHMiKTsKICAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwg
YjIpOwotICAgICAgICBhMS5hcHBlbmRDaGlsZChhMik7CiAgICAgICB9CiAgICAgfSwKICAgXSk7
Ci0gIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgoKSA9PiBj
b250YWluZXIucmVtb3ZlKCkpOwogfQogCiBsZXQgZ3VhcmQ7CkBAIC0yNTEsOSArMjQ2LDggQEAg
dGVzdChfID0+IHsKIH0sICJSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCIpCiAKIHRlc3QwKCkK
LSAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEoKTsgfSkKLSAgLnRoZW4oKCkgPT4geyByZXR1
cm4gdGVzdDIoKTsgfSkKLSAgLnRoZW4oKCkgPT4geyBndWFyZC5kb25lKCk7IH0pOworICAudGhl
bigoKSA9PiB0ZXN0MSgpKQorICAudGhlbigoKSA9PiB0ZXN0MigpKQorICAudGhlbigoKSA9PiBn
dWFyZC5kb25lKCkpOwogCiA8L3NjcmlwdD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53
aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0Cmlu
ZGV4IDc0YmMyZWQ1YmI0ODE2NDdlZmMxYmFkMjBiYTY1N2QwMzZhMzhkMzAuLjA2MGNiYjdkMGEy
N2M3N2U3YjI3Njk4MGNmNGY1YjBlMDRmZDQyNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mu
d2luZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50
eHQKQEAgLTEyLDI4ICsxMiw0MiBAQCBQQVNTIFJlc2l6ZU9ic2VydmVyIGludGVyZmFjZSBvYmpl
Y3QgbmFtZQogUEFTUyBSZXNpemVPYnNlcnZlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1MgUmVzaXplT2JzZXJ2
ZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAogUEFTUyBSZXNpemVPYnNlcnZl
ciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNTIFJlc2l6ZU9ic2VydmVy
IGludGVyZmFjZTogb3BlcmF0aW9uIG9ic2VydmUoRWxlbWVudCkgCitQQVNTIFJlc2l6ZU9ic2Vy
dmVyIGludGVyZmFjZTogb3BlcmF0aW9uIG9ic2VydmUoRWxlbWVudCwgb3B0aW9uYWwgUmVzaXpl
T2JzZXJ2ZXJPcHRpb25zKSAKIFBBU1MgUmVzaXplT2JzZXJ2ZXIgaW50ZXJmYWNlOiBvcGVyYXRp
b24gdW5vYnNlcnZlKEVsZW1lbnQpIAogUEFTUyBSZXNpemVPYnNlcnZlciBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBkaXNjb25uZWN0KCkgCiBQQVNTIFJlc2l6ZU9ic2VydmVyIG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2Ygb2JzZXJ2ZXIgCiBQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBvYnNlcnZl
ciAKLVBBU1MgUmVzaXplT2JzZXJ2ZXIgaW50ZXJmYWNlOiBvYnNlcnZlciBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm9ic2VydmUoRWxlbWVudCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBS
ZXNpemVPYnNlcnZlciBpbnRlcmZhY2U6IGNhbGxpbmcgb2JzZXJ2ZShFbGVtZW50KSBvbiBvYnNl
cnZlciB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBS
ZXNpemVPYnNlcnZlciBpbnRlcmZhY2U6IG9ic2VydmVyIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b2JzZXJ2ZShFbGVtZW50LCBvcHRpb25hbCBSZXNpemVPYnNlcnZlck9wdGlvbnMpIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAKK1BBU1MgUmVzaXplT2JzZXJ2ZXIgaW50ZXJmYWNlOiBjYWxsaW5nIG9i
c2VydmUoRWxlbWVudCwgb3B0aW9uYWwgUmVzaXplT2JzZXJ2ZXJPcHRpb25zKSBvbiBvYnNlcnZl
ciB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBSZXNp
emVPYnNlcnZlciBpbnRlcmZhY2U6IG9ic2VydmVyIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidW5v
YnNlcnZlKEVsZW1lbnQpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgUmVzaXplT2JzZXJ2
ZXIgaW50ZXJmYWNlOiBjYWxsaW5nIHVub2JzZXJ2ZShFbGVtZW50KSBvbiBvYnNlcnZlciB3aXRo
IHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBSZXNpemVPYnNl
cnZlciBpbnRlcmZhY2U6IG9ic2VydmVyIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGlzY29ubmVj
dCgpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgUmVzaXplT2JzZXJ2ZXJFbnRyeSBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotRkFJ
TCBSZXNpemVPYnNlcnZlckVudHJ5IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9lcXVh
bHM6IHdyb25nIHZhbHVlIGZvciBSZXNpemVPYnNlcnZlckVudHJ5Lmxlbmd0aCBleHBlY3RlZCAx
IGJ1dCBnb3QgMAorUEFTUyBSZXNpemVPYnNlcnZlckVudHJ5IGludGVyZmFjZSBvYmplY3QgbGVu
Z3RoIAogUEFTUyBSZXNpemVPYnNlcnZlckVudHJ5IGludGVyZmFjZSBvYmplY3QgbmFtZSAKIFBB
U1MgUmVzaXplT2JzZXJ2ZXJFbnRyeSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1MgUmVzaXplT2JzZXJ2ZXJFbnRy
eSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIFJlc2l6ZU9ic2VydmVy
RW50cnkgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAogUEFTUyBSZXNpemVPYnNl
cnZlckVudHJ5IGludGVyZmFjZTogYXR0cmlidXRlIHRhcmdldCAKIFBBU1MgUmVzaXplT2JzZXJ2
ZXJFbnRyeSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBjb250ZW50UmVjdCAKK0ZBSUwgUmVzaXplT2Jz
ZXJ2ZXJFbnRyeSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBib3JkZXJCb3hTaXplIGFzc2VydF90cnVl
OiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAiYm9yZGVyQm94U2l6
ZSIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgUmVzaXplT2JzZXJ2ZXJFbnRyeSBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBjb250ZW50Qm94U2l6ZSBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlw
ZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgImNvbnRlbnRCb3hTaXplIiBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQorRkFJTCBSZXNpemVPYnNlcnZlckVudHJ5IGludGVyZmFjZTogYXR0cmli
dXRlIGRldmljZVBpeGVsQ29udGVudEJveFNpemUgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUg
b2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJkZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplIiBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBSZXNpemVPYnNlcnZlckVudHJ5IG11c3QgYmUg
cHJpbWFyeSBpbnRlcmZhY2Ugb2YgZW50cnkgCiBQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBlbnRy
eSAKIFBBU1MgUmVzaXplT2JzZXJ2ZXJFbnRyeSBpbnRlcmZhY2U6IGVudHJ5IG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAidGFyZ2V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgUmVzaXplT2Jz
ZXJ2ZXJFbnRyeSBpbnRlcmZhY2U6IGVudHJ5IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29udGVu
dFJlY3QiIHdpdGggdGhlIHByb3BlciB0eXBlIAorRkFJTCBSZXNpemVPYnNlcnZlckVudHJ5IGlu
dGVyZmFjZTogZW50cnkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJib3JkZXJCb3hTaXplIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJib3JkZXJCb3hTaXpl
IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIFJlc2l6ZU9ic2VydmVyRW50cnkg
aW50ZXJmYWNlOiBlbnRyeSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNvbnRlbnRCb3hTaXplIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJjb250ZW50Qm94
U2l6ZSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBSZXNpemVPYnNlcnZlckVu
dHJ5IGludGVyZmFjZTogZW50cnkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZXZpY2VQaXhlbENv
bnRlbnRCb3hTaXplIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3Bl
cnR5ICJkZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNo
YWluCitGQUlMIFJlc2l6ZU9ic2VydmVyU2l6ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlJlc2l6ZU9ic2VydmVyU2l6ZSIgZXhwZWN0ZWQgcHJv
cGVydHkgIlJlc2l6ZU9ic2VydmVyU2l6ZSIgbWlzc2luZworRkFJTCBSZXNpemVPYnNlcnZlclNp
emUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXJTaXplIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiUmVzaXplT2JzZXJ2ZXJTaXplIiBtaXNzaW5nCitGQUlMIFJlc2l6ZU9ic2VydmVyU2l6
ZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXJTaXplIiBleHBlY3RlZCBwcm9wZXJ0
eSAiUmVzaXplT2JzZXJ2ZXJTaXplIiBtaXNzaW5nCitGQUlMIFJlc2l6ZU9ic2VydmVyU2l6ZSBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJSZXNpemVPYnNlcnZlclNpemUiIGV4cGVjdGVkIHByb3BlcnR5ICJSZXNpemVPYnNlcnZl
clNpemUiIG1pc3NpbmcKK0ZBSUwgUmVzaXplT2JzZXJ2ZXJTaXplIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0
cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJSZXNpemVPYnNlcnZlclNpemUiIGV4cGVjdGVkIHByb3BlcnR5ICJSZXNp
emVPYnNlcnZlclNpemUiIG1pc3NpbmcKK0ZBSUwgUmVzaXplT2JzZXJ2ZXJTaXplIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJSZXNpemVPYnNlcnZlclNpemUiIGV4cGVjdGVkIHByb3Bl
cnR5ICJSZXNpemVPYnNlcnZlclNpemUiIG1pc3NpbmcKK0ZBSUwgUmVzaXplT2JzZXJ2ZXJTaXpl
IGludGVyZmFjZTogYXR0cmlidXRlIGlubGluZVNpemUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXJTaXplIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXJTaXplIiBtaXNzaW5nCitGQUlMIFJlc2l6ZU9ic2Vy
dmVyU2l6ZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBibG9ja1NpemUgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXJTaXplIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXJTaXplIiBtaXNzaW5nCiBGQUlMIFJlc2l6
ZU9ic2VydmF0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiUmVzaXplT2JzZXJ2YXRpb24iIGV4cGVjdGVkIHByb3BlcnR5ICJSZXNpemVPYnNl
cnZhdGlvbiIgbWlzc2luZwogRkFJTCBSZXNpemVPYnNlcnZhdGlvbiBpbnRlcmZhY2Ugb2JqZWN0
IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJSZXNpemVPYnNlcnZhdGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmF0
aW9uIiBtaXNzaW5nCiBGQUlMIFJlc2l6ZU9ic2VydmF0aW9uIGludGVyZmFjZSBvYmplY3QgbmFt
ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJS
ZXNpemVPYnNlcnZhdGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmF0aW9uIiBt
aXNzaW5nCkBAIC00MSw3ICs1NSw2IEBAIEZBSUwgUmVzaXplT2JzZXJ2YXRpb24gaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwCiBGQUlMIFJl
c2l6ZU9ic2VydmF0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJSZXNpemVPYnNl
cnZhdGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmF0aW9uIiBtaXNzaW5nCiBG
QUlMIFJlc2l6ZU9ic2VydmF0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJSZXNp
emVPYnNlcnZhdGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmF0aW9uIiBtaXNz
aW5nCiBGQUlMIFJlc2l6ZU9ic2VydmF0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIHRhcmdldCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJSZXNp
emVPYnNlcnZhdGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmF0aW9uIiBtaXNz
aW5nCi1GQUlMIFJlc2l6ZU9ic2VydmF0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGJyb2FkY2Fz
dFdpZHRoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIlJlc2l6ZU9ic2VydmF0aW9uIiBleHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2YXRp
b24iIG1pc3NpbmcKLUZBSUwgUmVzaXplT2JzZXJ2YXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
YnJvYWRjYXN0SGVpZ2h0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIlJlc2l6ZU9ic2VydmF0aW9uIiBleHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXpl
T2JzZXJ2YXRpb24iIG1pc3NpbmcKLUZBSUwgUmVzaXplT2JzZXJ2YXRpb24gaW50ZXJmYWNlOiBv
cGVyYXRpb24gaXNBY3RpdmUoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJSZXNpemVPYnNlcnZhdGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlJl
c2l6ZU9ic2VydmF0aW9uIiBtaXNzaW5nCitGQUlMIFJlc2l6ZU9ic2VydmF0aW9uIGludGVyZmFj
ZTogYXR0cmlidXRlIG9ic2VydmVkQm94IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIlJlc2l6ZU9ic2VydmF0aW9uIiBleHBlY3RlZCBwcm9wZXJ0
eSAiUmVzaXplT2JzZXJ2YXRpb24iIG1pc3NpbmcKK0ZBSUwgUmVzaXplT2JzZXJ2YXRpb24gaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgbGFzdFJlcG9ydGVkU2l6ZXMgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2YXRpb24iIGV4cGVj
dGVkIHByb3BlcnR5ICJSZXNpemVPYnNlcnZhdGlvbiIgbWlzc2luZwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci9pZGxoYXJuZXNzLndpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuaHRtbAppbmRl
eCA2NjIxYjA3M2RkNmVjN2QyOTZkMTNkZmJjMjJlNmZjZDM0YTEwYWRlLi4zZmZhZDY3NzIzNDk5
ODg1ZDNmNGVjMzI0YjI2MmFkZjcyNTUxNzQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndp
bmRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93Lmh0bWwKQEAgLTEgKzEgQEAKLTwh
LS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0
byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhw
ZXJpbWVudGFsOlJlc2l6ZU9ic2VydmVyRW5hYmxlZD10cnVlIF0gLS0+Cis8IS0tIFRoaXMgZmls
ZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0
ZW1wbGF0ZWQgdGVzdCAtLT48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpS
ZXNpemVPYnNlcnZlckVuYWJsZWQ9dHJ1ZSBdIC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53
aW5kb3cuanMKaW5kZXggNTkyYWYyZTBjMDc5MTk3NDU3ZTA5MWQ4NGRmZGIzNzQxNzAzMzk1ZS4u
MmQ0NTliMGIxMjYzNjgyZjBmMzQ3MmQ0YmY3MDZiOGI3MzVkYmNjYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
aWRsaGFybmVzcy53aW5kb3cuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanMKQEAgLTcs
NyArNyw3IEBACiAvLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL1Jlc2l6ZU9ic2VydmVyLwogCiBp
ZGxfdGVzdCgKLSAgWydSZXNpemVPYnNlcnZlciddLAorICBbJ3Jlc2l6ZS1vYnNlcnZlciddLAog
ICBbJ2RvbScsICdnZW9tZXRyeSddLAogICBhc3luYyBpZGxfYXJyYXkgPT4gewogICAgIGlkbF9h
cnJheS5hZGRfb2JqZWN0cyh7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL29ic2VydmUtZXhwZWN0ZWQudHh0CmluZGV4IDIyMTFiMjEyMDk2OGRjNmYxMjhmNWE4YWNj
ZTUwMzIyNzY4NDlkMjAuLjdmMDY5NzEwZDgyN2RmNGRkNmU0MWQ4MzAxOTQyNmNiZjM0NGM1OWQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL29ic2VydmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUtZXhw
ZWN0ZWQudHh0CkBAIC0xLDkgKzEsNSBAQAogQ09OU09MRSBNRVNTQUdFOiBSZXNpemVPYnNlcnZl
ciBsb29wIGNvbXBsZXRlZCB3aXRoIHVuZGVsaXZlcmVkIG5vdGlmaWNhdGlvbnMuCi1SZXNpemVP
YnNlcnZlciB0ZXN0cwotCi10MQotdDIKLSAKK0NPTlNPTEUgTUVTU0FHRTogUmVzaXplT2JzZXJ2
ZXIgbG9vcCBjb21wbGV0ZWQgd2l0aCB1bmRlbGl2ZXJlZCBub3RpZmljYXRpb25zLgogCiBQQVNT
IFJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVkIAogUEFTUyBndWFyZCAKQEAgLTE1LDQgKzExLDE1
IEBAIFBBU1MgdGVzdDQ6IHVub2JzZXJ2ZSB0YXJnZXQgc3RvcHMgbm90aWZpY2F0aW9ucywgdW5v
YnNlcnZlIG5vbi1vYnNlcnZlZCBkb2VzIG5vCiBQQVNTIHRlc3Q1OiBvYnNlcnZlIGltZyAKIFBB
U1MgdGVzdDY6IGlmcmFtZSBub3RpZmljYXRpb25zIAogRkFJTCB0ZXN0NzogY2FsbGJhY2sudGhp
cyBhc3NlcnRfZXF1YWxzOiBjYWxsYmFjay50aGlzIGlzIFJlc2l6ZU9ic2VydmVyIGV4cGVjdGVk
IChvYmplY3QpIG9iamVjdCAiW29iamVjdCBSZXNpemVPYnNlcnZlcl0iIGJ1dCBnb3QgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkCitGQUlMIHRlc3Q4OiBzaW1wbGUgY29udGVudC1ib3ggb2JzZXJ2YXRp
b24gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2VudHJpZXNbMF0uY29u
dGVudEJveFNpemVbMF0nKQorRkFJTCB0ZXN0OTogc2ltcGxlIGNvbnRlbnQtYm94IG9ic2VydmF0
aW9uIGJ1dCBrZWVwIGJvcmRlci1ib3ggc2l6ZSB1bmNoYW5nZWQgdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ2VudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0nKQorRkFJ
TCB0ZXN0MTA6IHNpbXBsZSBib3JkZXItYm94IG9ic2VydmF0aW9uIHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICdlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdJykKK0ZB
SUwgdGVzdDExOiBzaW1wbGUgb2JzZXJ2YXRpb24gd2l0aCB2ZXJ0aWNhbCB3cml0aW5nIG1vZGUg
dW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2VudHJpZXNbMF0uY29udGVu
dEJveFNpemVbMF0nKQorRkFJTCB0ZXN0MTI6IG5vIG9ic2VydmF0aW9uIGlzIGZpcmVkIGFmdGVy
IHRoZSBjaGFuZ2Ugb2Ygd3JpdGluZyBtb2RlIHdoZW4gYm94J3Mgc3BlY2lmaWVkIHNpemUgY29t
ZXMgZnJvbSBsb2dpY2FsIHNpemUgcHJvcGVydGllcy4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ2VudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0nKQorRkFJTCB0ZXN0
MTM6IGFuIG9ic2VydmF0aW9uIGlzIGZpcmVkIGFmdGVyIHRoZSBjaGFuZ2Ugb2Ygd3JpdGluZyBt
b2RlIHdoZW4gYm94J3Mgc3BlY2lmaWVkIHNpemUgY29tZXMgZnJvbSBwaHlzaWNhbCBzaXplIHBy
b3BlcnRpZXMuIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlbnRyaWVz
WzBdLmNvbnRlbnRCb3hTaXplWzBdJykKK0ZBSUwgdGVzdDE0OiBvYnNlcnZlIHRoZSBzYW1lIHRh
cmdldCBidXQgdXNpbmcgYSBkaWZmZXJlbnQgYm94IHNob3VsZCBvdmVycmlkZSB0aGUgcHJldmlv
dXMgb25lIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlbnRyaWVzWzBd
LmNvbnRlbnRCb3hTaXplWzBdJykKK0ZBSUwgdGVzdDE1OiBhbiBvYnNlcnZhdGlvbiBpcyBmaXJl
ZCB3aXRoIGJveCBkaW1lbnNpb25zIDAgd2hlbiBlbGVtZW50J3MgZGlzcGxheSBwcm9wZXJ0eSBp
cyBzZXQgdG8gaW5saW5lIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdl
bnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdJykKK1BBU1MgdGVzdDE2OiBvYnNlcnZhdGlvbnMg
ZG8gbm90IGZpcmUgZm9yIG5vbi1yZXBsYWNlZCBpbmxpbmUgZWxlbWVudHMgCitGQUlMIHRlc3Qx
NzogQm94IHNpemluZyBzbmQgUmVzaXplIE9ic2VydmVyIG5vdGlmaWNhdGlvbnMgdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2VudHJpZXNbMF0uY29udGVudEJveFNpemVb
MF0nKQorRkFJTCB0ZXN0MTg6IGFuIG9ic2VydmF0aW9uIGlzIGZpcmVkIHdoZW4gZGV2aWNlLXBp
eGVsLWNvbnRlbnQtYm94IGlzIGJlaW5nIG9ic2VydmVkIHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICdlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdJykKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUt
b2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sCmluZGV4IGZjNDU5MmQ0NTk0
NmMxOWJmYTgyZTdhNmQ3MGE4ODJkMDBiMjllOGMuLmRhYTlhMzg2ZGQ5YjhhOTE0ZDhjYzhhMGE5
Y2JjMjc4NGYyMWJkMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNl
cnZlLmh0bWwKQEAgLTEsNjIgKzEsNjIgQEAKIDwhZG9jdHlwZSBodG1sPjwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlc2l6ZU9ic2VydmVyRW5hYmxlZD10cnVlIF0gLS0+
Cis8dGl0bGU+UmVzaXplT2JzZXJ2ZXIgdGVzdHM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L3Jlc2l6ZVRlc3RIZWxwZXIuanMiPjwvc2NyaXB0PgotPHA+UmVzaXplT2JzZXJ2ZXIgdGVzdHM8
L3A+Ci08ZGl2IGlkPSJ0YXJnZXQxIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+
dDE8L2Rpdj4KLTxkaXYgaWQ9InRhcmdldDIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAw
cHg7Ij50MjwvZGl2PgotPGltZyBpZD0idGFyZ2V0MyIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdo
dDoxMDBweDsiPgotPGlmcmFtZSBzcmM9Ii4vcmVzb3VyY2VzL2lmcmFtZS5odG1sIiB3aWR0aD0i
MzAwcHgiIGhlaWdodD0iMTAwcHgiIHN0eWxlPSJkaXNwbGF5OmJsb2NrIj48L2lmcmFtZT4KKzxk
aXYgaWQ9ImxvZyI+PC9kaXY+CiA8c2NyaXB0PgogJ3VzZSBzdHJpY3QnOwogCi1sZXQgdDEgPSBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0MScpOwotbGV0IHQyID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcignI3RhcmdldDInKTsKLQogLy8gYWxsb3cgdW5jYXVnaHQgZXhjZXB0aW9uIGJl
Y2F1c2UgUmVzaXplT2JzZXJ2ZXIgcG9zdHMgZXhjZXB0aW9ucwogLy8gdG8gd2luZG93IGVycm9y
IGhhbmRsZXIgd2hlbiBsaW1pdCBpcyBleGNlZWRlZC4KIHNldHVwKHthbGxvd191bmNhdWdodF9l
eGNlcHRpb246IHRydWV9KTsKIAogZnVuY3Rpb24gdGVzdDAoKSB7CisgIGxldCB0ID0gY3JlYXRl
QW5kQXBwZW5kRWxlbWVudCgiZGl2Iik7CisgIHQuc3R5bGUud2lkdGggPSAiMTAwcHgiOworCiAg
IGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKICAgICAidGVzdDA6IHNpbXBsZSBv
YnNlcnZhdGlvbiIsCiAgIFsKICAgICB7CiAgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4gewotICAg
ICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKLSAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiNXB4
IjsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0KTsKKyAgICAgICAgdC5zdHlsZS53aWR0aCA9
ICI1cHgiOwogICAgICAgfSwKICAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CiAgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7
Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQxLCAidGFyZ2V0IGlz
IHQxIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQsICJ0YXJn
ZXQgaXMgdCIpOwogICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qu
d2lkdGgsIDUsICJ0YXJnZXQgd2lkdGgiKTsKICAgICAgIH0KICAgICB9CiAgIF0pOwotICByZXR1
cm4gaGVscGVyLnN0YXJ0KCk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKCkgPT4gdC5yZW1vdmUo
KSk7CiB9CiAKIGZ1bmN0aW9uIHRlc3QxKCkgeworICBsZXQgdCA9IGNyZWF0ZUFuZEFwcGVuZEVs
ZW1lbnQoImRpdiIpOworICB0LnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKwogICBsZXQgaGVscGVy
ID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCiAgICAgInRlc3QxOiBtdWx0aXBsZSBvYnNlcnZhdGlv
biBvbiBzYW1lIGVsZW1lbnQgdHJpZ2dlciBvbmx5IG9uZSIsCiAgIFsKICAgICB7CiAgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4gewotICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKLSAgICAg
ICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7Ci0gICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjEwcHgi
OworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZl
KHQpOworICAgICAgICB0LnN0eWxlLndpZHRoID0gIjEwcHgiOwogICAgICAgfSwKICAgICAgIG5v
dGlmeTogZW50cmllcyA9PiB7CiAgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7CiAgICAgICB9CiAgICAgfQogICBdKTsKLSAg
cmV0dXJuIGhlbHBlci5zdGFydCgpOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCgpID0+IHQucmVt
b3ZlKCkpOwogfQogCiBmdW5jdGlvbiB0ZXN0MigpIHsKICAgdGVzdCgoKSA9PiB7Ci0gICAgICBh
c3NlcnRfdGhyb3dzKHtuYW1lOiAiVHlwZUVycm9yIn0sIF89PiB7CisgICAgICBhc3NlcnRfdGhy
b3dzX2pzKFR5cGVFcnJvciwgXz0+IHsKICAgICAgICAgbGV0IHJvID0gbmV3IFJlc2l6ZU9ic2Vy
dmVyKCgpID0+IHt9KTsKICAgICAgICAgcm8ub2JzZXJ2ZSh7fSk7CiAgICAgICB9KTsKQEAgLTY3
LDYgKzY3LDExIEBAIGZ1bmN0aW9uIHRlc3QyKCkgewogfQogCiBmdW5jdGlvbiB0ZXN0MygpIHsK
KyAgbGV0IHQxID0gY3JlYXRlQW5kQXBwZW5kRWxlbWVudCgiZGl2Iik7CisgIGxldCB0MiA9IGNy
ZWF0ZUFuZEFwcGVuZEVsZW1lbnQoImRpdiIpOworICB0MS5zdHlsZS53aWR0aCA9ICIxMDBweCI7
CisgIHQyLnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKwogICBsZXQgaGVscGVyID0gbmV3IFJlc2l6
ZVRlc3RIZWxwZXIoCiAgICAgInRlc3QzOiBkaXNjb25uZWN0IHN0b3BzIGFsbCBub3RpZmljYXRp
b25zIiwgWwogICAgIHsKQEAgLTg0LDEwICs4OSwxOCBAQCBmdW5jdGlvbiB0ZXN0MygpIHsKICAg
ICAgIH0KICAgICB9CiAgIF0pOwotICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7CisgIHJldHVybiBo
ZWxwZXIuc3RhcnQoKCkgPT4geworICAgIHQxLnJlbW92ZSgpOworICAgIHQyLnJlbW92ZSgpOwor
ICB9KTsKIH0KIAogZnVuY3Rpb24gdGVzdDQoKSB7CisgIGxldCB0MSA9IGNyZWF0ZUFuZEFwcGVu
ZEVsZW1lbnQoImRpdiIpOworICBsZXQgdDIgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJkaXYi
KTsKKyAgdDEuc3R5bGUud2lkdGggPSAiMTAwcHgiOworICB0Mi5zdHlsZS53aWR0aCA9ICIxMDBw
eCI7CisKICAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAogICAgICJ0ZXN0NDog
dW5vYnNlcnZlIHRhcmdldCBzdG9wcyBub3RpZmljYXRpb25zLCB1bm9ic2VydmUgbm9uLW9ic2Vy
dmVkIGRvZXMgbm90aGluZyIsIFsKICAgICB7CkBAIC0xMDUsNjEgKzExOCw5MCBAQCBmdW5jdGlv
biB0ZXN0NCgpIHsKICAgICAgIH0KICAgICB9CiAgIF0pOwotICByZXR1cm4gaGVscGVyLnN0YXJ0
KCk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKCkgPT4geworICAgIHQxLnJlbW92ZSgpOworICAg
IHQyLnJlbW92ZSgpOworICB9KTsKIH0KIAogZnVuY3Rpb24gdGVzdDUoKSB7Ci0gIGxldCB0MyA9
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQzJyk7Ci0gIHZhciBoZWxwZXIgPSBuZXcg
UmVzaXplVGVzdEhlbHBlcigidGVzdDU6IG9ic2VydmUgaW1nIixbCisgIGNvbnN0IGltZyA9IG5l
dyBJbWFnZSgpOworICBpbWcuc3R5bGUud2lkdGggPSAiMTVweCI7CisgIGltZy5zdHlsZS5oZWln
aHQgPSAiMTVweCI7CisgIGltZy5zcmMgPSAicmVzb3VyY2VzL2ltYWdlLnBuZyI7CisKKyAgbGV0
IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKCJ0ZXN0NTogb2JzZXJ2ZSBpbWciLFsKICAg
ICB7CiAgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4gewotICAgICAgICBvYnNlcnZlci5vYnNlcnZl
KHQzKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShpbWcpOwogICAgICAgfSwKICAgICAgIG5v
dGlmeTogZW50cmllcyA9PiB7CiAgICAgICB9CiAgICAgfSwKICAgICB7CiAgICAgICBzZXR1cDog
b2JzZXJ2ZXIgPT4gewotICAgICAgICB0My5zdHlsZS53aWR0aCA9ICIxMDAuNXB4IjsKKyAgICAg
ICAgaW1nLnN0eWxlLndpZHRoID0gIjE1LjVweCI7CiAgICAgICB9LAogICAgICAgbm90aWZ5OiBl
bnRyaWVzID0+IHsKICAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7Ci0g
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMTAwLjUp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDE1
LjUpOwogICAgICAgfQogICAgIH0KICAgXSk7Ci0gIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKKyAg
cmV0dXJuIGltZy5kZWNvZGUoKS50aGVuKCgpID0+IHsKKyAgICByZXR1cm4gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7CisgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGltZyk7CisgICAgICAgIHJlc29sdmUoKTsKKyAg
ICAgIH0pOworICAgIH0pOworICB9KS5jYXRjaChlcnJvciA9PiB7CisgICAgYXNzZXJ0X3VucmVh
Y2hlZCgiZGVjb2RlIGltYWdlIGZhaWxlZCIpOworICB9KS50aGVuKCgpID0+IHsKKyAgICByZXR1
cm4gaGVscGVyLnN0YXJ0KCgpID0+IGltZy5yZW1vdmUoKSk7CisgIH0pOwogfQogCiBmdW5jdGlv
biB0ZXN0NigpIHsKLSAgbGV0IHJlc29sdmVQcm9taXNlOwotICBsZXQgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgcmVzb2x2ZVByb21pc2UgPSByZXNvbHZlOwotICB9
KTsKLSAgbGV0IHRlc3QgPSBhc3luY190ZXN0KCd0ZXN0NjogaWZyYW1lIG5vdGlmaWNhdGlvbnMn
KTsKLSAgbGV0IHRlc3RSZXF1ZXN0ZWQgPSBmYWxzZTsKLSAgbGV0IGlmcmFtZSA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpOwotICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVz
c2FnZScsIGV2ZW50ID0+IHsKLSAgICBzd2l0Y2goZXZlbnQuZGF0YSkgewotICAgIGNhc2UgJ3Jl
YWR5VG9UZXN0JzoKLSAgICAgIGlmICghdGVzdFJlcXVlc3RlZCkgewotICAgICAgICBpZnJhbWUu
Y29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgnc3RhcnRUZXN0JywgJyonKTsKLSAgICAgICAgdGVz
dFJlcXVlc3RlZCA9IHRydWU7Ci0gICAgICB9Ci0gICAgYnJlYWs7Ci0gICAgY2FzZSAnc3VjY2Vz
cyc6Ci0gICAgY2FzZSAnZmFpbCc6Ci0gICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1l
KCgpID0+IHsKLSAgICAgICAgdGVzdC5zdGVwKCAoKSA9PiB7Ci0gICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhldmVudC5kYXRhLCAnc3VjY2VzcycpOwotICAgICAgICAgIHRlc3QuZG9uZSgpOwotICAg
ICAgICAgIHJlc29sdmVQcm9taXNlKCk7CisgIGxldCBpZnJhbWUgPSBjcmVhdGVBbmRBcHBlbmRF
bGVtZW50KCJpZnJhbWUiKTsKKyAgaWZyYW1lLnNyYyA9ICIuL3Jlc291cmNlcy9pZnJhbWUuaHRt
bCI7CisgIGlmcmFtZS53aWR0aCA9ICIzMDBweCI7CisgIGlmcmFtZS5oZWlnaHQgPSAiMTAwcHgi
OworICBpZnJhbWUuc3R5bGUuZGlzcGxheSA9ICJibG9jayI7CisKKyAgcmV0dXJuIG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgeworICAgIGlmcmFtZS5vbmxvYWQgPSAoKSA9
PiByZXNvbHZlKCk7CisgIH0pLnRoZW4oKCkgPT4geworICAgIGxldCByZXNvbHZlUHJvbWlzZTsK
KyAgICBsZXQgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICByZXNv
bHZlUHJvbWlzZSA9IHJlc29sdmU7CisgICAgfSk7CisgICAgbGV0IHRlc3QgPSBhc3luY190ZXN0
KCd0ZXN0NjogaWZyYW1lIG5vdGlmaWNhdGlvbnMnKTsKKyAgICBsZXQgdGVzdFJlcXVlc3RlZCA9
IGZhbHNlOworICAgIHRlc3QuYWRkX2NsZWFudXAoKCkgPT4gaWZyYW1lLnJlbW92ZSgpKTsKKwor
ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZXZlbnQgPT4geworICAgICAg
c3dpdGNoKGV2ZW50LmRhdGEpIHsKKyAgICAgIGNhc2UgJ3JlYWR5VG9UZXN0JzoKKyAgICAgICAg
aWYgKCF0ZXN0UmVxdWVzdGVkKSB7CisgICAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cucG9z
dE1lc3NhZ2UoJ3N0YXJ0VGVzdCcsICcqJyk7CisgICAgICAgICAgdGVzdFJlcXVlc3RlZCA9IHRy
dWU7CisgICAgICAgIH0KKyAgICAgIGJyZWFrOworICAgICAgY2FzZSAnc3VjY2Vzcyc6CisgICAg
ICBjYXNlICdmYWlsJzoKKyAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9
PiB7CisgICAgICAgICAgdGVzdC5zdGVwKCAoKSA9PiB7CisgICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKGV2ZW50LmRhdGEsICdzdWNjZXNzJyk7CisgICAgICAgICAgICB0ZXN0LmRvbmUoKTsKKyAg
ICAgICAgICAgIHJlc29sdmVQcm9taXNlKCk7CisgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwot
ICAgICAgfSk7Ci0gICAgYnJlYWs7Ci0gICAgfQotICB9LCBmYWxzZSk7Ci0gIHJldHVybiBwcm9t
aXNlOworICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfSwgZmFsc2UpOworICAgIHJldHVybiBw
cm9taXNlOworICB9KTsKIH0KIAogZnVuY3Rpb24gdGVzdDcoKSB7CkBAIC0xODEsMTMgKzIyMyw2
ODkgQEAgZnVuY3Rpb24gdGVzdDcoKSB7CiAgICAgIH0pOwogICAgIH0KICAgKTsKLSAgcm8ub2Jz
ZXJ2ZSh0MSk7CisKKyAgbGV0IHQgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiKTsKKyAg
dC5zdHlsZS53aWR0aCA9ICIxMDBweCI7CisgIGhhcm5lc3NUZXN0LmFkZF9jbGVhbnVwKCgpID0+
IHQucmVtb3ZlKCkpOworCisgIHJvLm9ic2VydmUodCk7CiAKICAgcmV0dXJuIG5ldyBQcm9taXNl
KCAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CiAgICAgcmVzb2x2ZVByb21pc2UgPSByZXNvbHZlOwog
ICB9KTsKIH0KIAorZnVuY3Rpb24gdGVzdDgoKSB7CisgIGxldCB0ID0gY3JlYXRlQW5kQXBwZW5k
RWxlbWVudCgiZGl2Iik7CisgIHQuc3R5bGUud2lkdGggPSAiMTAwcHgiOworICB0LnN0eWxlLmhl
aWdodCA9ICIxMDBweCI7CisKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAor
ICAgICJ0ZXN0ODogc2ltcGxlIGNvbnRlbnQtYm94IG9ic2VydmF0aW9uIiwKKyAgWworICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodCwg
eyBib3g6ICJjb250ZW50LWJveCIgfSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVz
ID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGlu
ZyBub3RpZmljYXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdl
dCwgdCwgInRhcmdldCBpcyB0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5j
b250ZW50UmVjdC53aWR0aCwgMTAwLCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDEwMCwgInRhcmdldCBoZWlnaHQi
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LnRvcCwgMCwg
InRhcmdldCB0b3AgcGFkZGluZyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0u
Y29udGVudFJlY3QubGVmdCwgMCwgInRhcmdldCBsZWZ0IHBhZGRpbmciKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmlubGluZVNpemUsIDEwMCwK
KyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGNvbnRlbnQtYm94IGlubGluZSBzaXplIik7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5ibG9j
a1NpemUsIDEwMCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGNvbnRlbnQtYm94IGJs
b2NrIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNp
emVbMF0uaW5saW5lU2l6ZSwgMTAwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgYm9y
ZGVyLWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0u
Ym9yZGVyQm94U2l6ZVswXS5ibG9ja1NpemUsIDEwMCwKKyAgICAgICAgICAgICAgICAgICAgICAi
dGFyZ2V0IGJvcmRlci1ib3ggYmxvY2sgc2l6ZSIpOworICAgICAgfQorICAgIH0sCisgICAgewor
ICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdC5zdHlsZS53aWR0aCA9ICI5MHB4
IjsKKyAgICAgICAgdC5zdHlsZS5oZWlnaHQgPSAiOTBweCI7CisgICAgICB9LAorICAgICAgbm90
aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwg
MSwgIjEgcGVuZGluZyBub3RpZmljYXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzBdLnRhcmdldCwgdCwgInRhcmdldCBpcyB0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgOTAsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgOTAsICJ0YXJn
ZXQgaGVpZ2h0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVj
dC50b3AsIDAsICJ0YXJnZXQgdG9wIHBhZGRpbmciKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzWzBdLmNvbnRlbnRSZWN0LmxlZnQsIDAsICJ0YXJnZXQgbGVmdCBwYWRkaW5nIik7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5pbmxpbmVT
aXplLCA5MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGNvbnRlbnQtYm94IGlubGlu
ZSBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6
ZVswXS5ibG9ja1NpemUsIDkwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVu
dC1ib3ggYmxvY2sgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9y
ZGVyQm94U2l6ZVswXS5pbmxpbmVTaXplLCA5MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFy
Z2V0IGJvcmRlci1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCA5MCwKKyAgICAgICAgICAgICAgICAg
ICAgICAidGFyZ2V0IGJvcmRlci1ib3ggYmxvY2sgc2l6ZSIpOworICAgICAgfQorICAgIH0sCisg
ICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdC5zdHlsZS5wYWRkaW5n
ID0gIjVweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAg
YXNzZXJ0X3VucmVhY2hlZCgidGhlICdjb250ZW50LWJveCcgUmVzaXplT2JzZXJ2ZXIgc2hvdWxk
bid0IGZpcmUgIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgImZvciByZXN0eWxlcyB0aGF0
IGRvbid0IGFmZmVjdCB0aGUgY29udGVudC1ib3ggc2l6ZSIpOworICAgICAgfSwKKyAgICAgIHRp
bWVvdXQ6ICgpID0+IHsKKyAgICAgICAgLy8gZXhwZWN0ZWQKKyAgICAgICAgLy8gTm90ZTogdGhl
IGJvcmRlci1ib3ggc2l6ZSBpcyAxMDBweCB4IDEwMHB4IHJpZ2h0IG5vdy4KKyAgICAgIH0KKyAg
ICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCgpID0+IHQucmVtb3ZlKCkpOworfQor
CitmdW5jdGlvbiB0ZXN0OSgpIHsKKyAgbGV0IHQgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJk
aXYiKTsKKyAgdC5zdHlsZS53aWR0aCA9ICIxMDBweCI7CisgIHQuc3R5bGUuaGVpZ2h0ID0gIjEw
MHB4IjsKKworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q5
OiBzaW1wbGUgY29udGVudC1ib3ggb2JzZXJ2YXRpb24gYnV0IGtlZXAgYm9yZGVyLWJveCBzaXpl
IHVuY2hhbmdlZCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAg
ICAgICBvYnNlcnZlci5vYnNlcnZlKHQsIHsgYm94OiAiY29udGVudC1ib3giIH0pOworICAgICAg
fSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQsICJ0YXJnZXQgaXMgdCIpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCwgInRhcmdldCB3
aWR0aCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVp
Z2h0LCAxMDAsICJ0YXJnZXQgaGVpZ2h0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC50b3AsIDAsICJ0YXJnZXQgdG9wIHBhZGRpbmciKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmxlZnQsIDAsICJ0YXJnZXQgbGVm
dCBwYWRkaW5nIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94
U2l6ZVswXS5pbmxpbmVTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBj
b250ZW50LWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNb
MF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAg
ICAgInRhcmdldCBjb250ZW50LWJveCBibG9jayBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmlubGluZVNpemUsIDEwMCwKKyAgICAgICAg
ICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAs
CisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBib3JkZXItYm94IGJsb2NrIHNpemUiKTsK
KyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIC8vIEtlZXAgdGhlIGJvcmRlci1ib3ggc2l6ZSB0aGUgc2FtZSwgYW5kIGNoYW5nZSB0aGUg
Y29udGVudC1ib3ggc2l6ZS4KKyAgICAgICAgdC5zdHlsZS53aWR0aCA9ICI5MnB4IjsKKyAgICAg
ICAgdC5zdHlsZS5oZWlnaHQgPSAiOTJweCI7CisgICAgICAgIHQuc3R5bGUucGFkZGluZyA9ICI0
cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQsICJ0YXJnZXQgaXMgdCIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDky
LCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250
ZW50UmVjdC5oZWlnaHQsIDkyLCAidGFyZ2V0IGhlaWdodCIpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QudG9wLCA0LCAidGFyZ2V0IHRvcCBwYWRkaW5nIik7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5sZWZ0LCA0LCAi
dGFyZ2V0IGxlZnQgcGFkZGluZyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0u
Y29udGVudEJveFNpemVbMF0uaW5saW5lU2l6ZSwgOTIsCisgICAgICAgICAgICAgICAgICAgICAg
InRhcmdldCBjb250ZW50LWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCA5MiwKKyAgICAgICAgICAg
ICAgICAgICAgICAidGFyZ2V0IGNvbnRlbnQtYm94IGJsb2NrIHNpemUiKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uaW5saW5lU2l6ZSwgMTAwLAor
ICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgYm9yZGVyLWJveCBpbmxpbmUgc2l6ZSIpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5ibG9ja1Np
emUsIDEwMCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggYmxvY2sg
c2l6ZSIpOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKCkg
PT4gdC5yZW1vdmUoKSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxMCgpIHsKKyAgbGV0IHQgPSBjcmVh
dGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiKTsKKyAgdC5zdHlsZS53aWR0aCA9ICIxMDBweCI7Cisg
IHQuc3R5bGUuaGVpZ2h0ID0gIjEwMHB4IjsKKworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRl
c3RIZWxwZXIoCisgICAgInRlc3QxMDogc2ltcGxlIGJvcmRlci1ib3ggb2JzZXJ2YXRpb24iLAor
ICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIu
b2JzZXJ2ZSh0LCB7IGJveDogImJvcmRlci1ib3giIH0pOworICAgICAgfSwKKyAgICAgIG5vdGlm
eTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEs
ICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS50YXJnZXQsIHQsICJ0YXJnZXQgaXMgdCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCwgInRhcmdldCB3aWR0aCIpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCAxMDAsICJ0YXJn
ZXQgaGVpZ2h0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVj
dC50b3AsIDAsICJ0YXJnZXQgdG9wIHBhZGRpbmciKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzWzBdLmNvbnRlbnRSZWN0LmxlZnQsIDAsICJ0YXJnZXQgbGVmdCBwYWRkaW5nIik7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5pbmxpbmVT
aXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBpbmxp
bmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNp
emVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250
ZW50LWJveCBibG9jayBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5i
b3JkZXJCb3hTaXplWzBdLmlubGluZVNpemUsIDEwMCwKKyAgICAgICAgICAgICAgICAgICAgICAi
dGFyZ2V0IGJvcmRlci1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAgICAgICAg
ICAgICAgICAgInRhcmdldCBib3JkZXItYm94IGJsb2NrIHNpemUiKTsKKyAgICAgIH0KKyAgICB9
LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHQuc3R5bGUucGFk
ZGluZyA9ICI0cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0
aW9uIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQsICJ0YXJn
ZXQgaXMgdCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qu
d2lkdGgsIDEwMCwgInRhcmdldCB3aWR0aCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCAxMDAsICJ0YXJnZXQgaGVpZ2h0Iik7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC50b3AsIDQsICJ0YXJnZXQgdG9w
IHBhZGRpbmciKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0
LmxlZnQsIDQsICJ0YXJnZXQgbGVmdCBwYWRkaW5nIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5pbmxpbmVTaXplLCAxMDAsCisgICAgICAgICAg
ICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAs
CisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBibG9jayBzaXplIik7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmlubGlu
ZVNpemUsIDEwOCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggaW5s
aW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNp
emVbMF0uYmxvY2tTaXplLCAxMDgsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBib3Jk
ZXItYm94IGJsb2NrIHNpemUiKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVw
OiBvYnNlcnZlciA9PiB7CisgICAgICAgIHQuc3R5bGUud2lkdGggPSAiMTA0cHgiOworICAgICAg
ICB0LnN0eWxlLmhlaWdodCA9ICIxMDRweCI7CisgICAgICAgIHQuc3R5bGUucGFkZGluZyA9ICIy
cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2Vy
dF91bnJlYWNoZWQoInRoZSAnYm9yZGVyLWJveCcgUmVzaXplT2JzZXJ2ZXIgc2hvdWxkbid0IGZp
cmUgIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgImZvciByZXN0eWxlcyB0aGF0IGRvbid0
IGFmZmVjdCB0aGUgYm9yZGVyLWJveCBzaXplIik7CisgICAgICB9LAorICAgICAgdGltZW91dDog
KCkgPT4geworICAgICAgICAvLyBleHBlY3RlZDogMTA0ICsgMiAqIDIgPSAxMDguIFRoZSBib3Jk
ZXItYm94IHNpemUgaXMgdGhlIHNhbWUuCisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJu
IGhlbHBlci5zdGFydCgoKSA9PiB0LnJlbW92ZSgpKTsKK30KKworZnVuY3Rpb24gdGVzdDExKCkg
eworICBsZXQgd3JhcHBlciA9IGNyZWF0ZUFuZEFwcGVuZEVsZW1lbnQoImRpdiIpOworICB3cmFw
cGVyLnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKyAgd3JhcHBlci5zdHlsZS5oZWlnaHQgPSAiMTAw
cHgiOworICB3cmFwcGVyLnN0eWxlLndyaXRpbmdNb2RlID0gInZlcnRpY2FsLXJsIjsKKyAgbGV0
IHQgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiLCB3cmFwcGVyKTsKKyAgdC5zdHlsZS5p
bmxpbmVTaXplID0gIjUwcHgiOworICB0LnN0eWxlLmJsb2NrU2l6ZSA9ICI1MHB4IjsKKworICBs
ZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxMTogc2ltcGxlIG9i
c2VydmF0aW9uIHdpdGggdmVydGljYWwgd3JpdGluZyBtb2RlIiwKKyAgWworICAgIHsKKyAgICAg
IHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodCk7CisgICAg
ICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBub3RpZmljYXRpb24iKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdCwgInRhcmdldCBpcyB0Iik7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgNTAsICJ0YXJnZXQg
d2lkdGgiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0Lmhl
aWdodCwgNTAsICJ0YXJnZXQgaGVpZ2h0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50Qm94U2l6ZVswXS5pbmxpbmVTaXplLCA1MCwKKyAgICAgICAgICAgICAgICAg
ICAgICAidGFyZ2V0IGNvbnRlbnQtYm94IGlubGluZSBzaXplIik7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5ibG9ja1NpemUsIDUwLAorICAgICAg
ICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggYmxvY2sgc2l6ZSIpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5pbmxpbmVTaXplLCA1
MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggaW5saW5lIHNpemUi
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxv
Y2tTaXplLCA1MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggYmxv
Y2sgc2l6ZSIpOworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVy
ID0+IHsKKyAgICAgICAgdC5zdHlsZS5ibG9ja1NpemUgPSAiNzVweCI7CisgICAgICB9LAorICAg
ICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxl
bmd0aCwgMSwgIjEgcGVuZGluZyBub3RpZmljYXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzWzBdLnRhcmdldCwgdCwgInRhcmdldCBpcyB0Iik7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgNzUsICJ0YXJnZXQgd2lkdGgiKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgNTAs
ICJ0YXJnZXQgaGVpZ2h0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250
ZW50Qm94U2l6ZVswXS5pbmxpbmVTaXplLCA1MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFy
Z2V0IGNvbnRlbnQtYm94IGlubGluZSBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5ibG9ja1NpemUsIDc1LAorICAgICAgICAgICAgICAg
ICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggYmxvY2sgc2l6ZSIpOworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5pbmxpbmVTaXplLCA1MCwKKyAgICAg
ICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCA3
NSwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggYmxvY2sgc2l6ZSIp
OworICAgICAgfQorICAgIH0KKyAgXSk7CisKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgoKSA9PiB7
CisgICAgdC5yZW1vdmUoKTsKKyAgICB3cmFwcGVyLnJlbW92ZSgpOworICB9KTsKK30KKworZnVu
Y3Rpb24gdGVzdDEyKCkgeworICBsZXQgdCA9IGNyZWF0ZUFuZEFwcGVuZEVsZW1lbnQoImRpdiIp
OworICB0LnN0eWxlLndyaXRpbmdNb2RlID0gInZlcnRpY2FsLWxyIjsKKyAgdC5zdHlsZS5pbmxp
bmVTaXplID0gIjEwMHB4IjsKKyAgdC5zdHlsZS5ibG9ja1NpemUgPSAiNTBweCI7CisKKyAgbGV0
IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTI6IG5vIG9ic2VydmF0
aW9uIGlzIGZpcmVkIGFmdGVyIHRoZSBjaGFuZ2Ugb2Ygd3JpdGluZyBtb2RlIHdoZW4gIiArCisg
ICAgImJveCdzIHNwZWNpZmllZCBzaXplIGNvbWVzIGZyb20gbG9naWNhbCBzaXplIHByb3BlcnRp
ZXMuIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9i
c2VydmVyLm9ic2VydmUodCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBub3Rp
ZmljYXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdCwg
InRhcmdldCBpcyB0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50
UmVjdC53aWR0aCwgNTAsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMTAwLCAidGFyZ2V0IGhlaWdodCIpOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uaW5saW5lU2l6
ZSwgMTAwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggaW5saW5l
IHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXpl
WzBdLmJsb2NrU2l6ZSwgNTAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50
LWJveCBibG9jayBzaXplIik7CisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDog
b2JzZXJ2ZXIgPT4geworICAgICAgICB0LnN0eWxlLndyaXRpbmdNb2RlID0gImhvcml6b250YWwt
dGIiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2Vy
dF91bnJlYWNoZWQoInRoZSBsb2dpY2FsIHNpemUgb2YgY29udGVudC1ib3ggZG9lc24ndCBjaGFu
Z2UiKTsKKyAgICAgIH0sCisgICAgICB0aW1lb3V0OiAoKSA9PiB7CisgICAgICAgIC8vIGV4cGVj
dGVkOiBXZSBkb24ndCBjaGFuZ2UgdGhlIGxvZ2ljYWwgc2l6ZSBvZiBjb250ZW50LWJveC4KKyAg
ICAgIH0KKyAgICB9CisgIF0pOworCisgIHJldHVybiBoZWxwZXIuc3RhcnQoKCkgPT4gdC5yZW1v
dmUoKSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxMygpIHsKKyAgbGV0IHQgPSBjcmVhdGVBbmRBcHBl
bmRFbGVtZW50KCJkaXYiKTsKKyAgdC5zdHlsZS53cml0aW5nTW9kZSA9ICJ2ZXJ0aWNhbC1sciI7
CisgIHQuc3R5bGUuaGVpZ2h0ID0gIjEwMHB4IjsKKyAgdC5zdHlsZS53aWR0aCA9ICI1MHB4IjsK
KworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxMzogYW4g
b2JzZXJ2YXRpb24gaXMgZmlyZWQgYWZ0ZXIgdGhlIGNoYW5nZSBvZiB3cml0aW5nIG1vZGUgd2hl
biAiICsKKyAgICAiYm94J3Mgc3BlY2lmaWVkIHNpemUgY29tZXMgZnJvbSBwaHlzaWNhbCBzaXpl
IHByb3BlcnRpZXMuIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7Cisg
ICAgICAgIG9ic2VydmVyLm9ic2VydmUodCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRy
aWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVu
ZGluZyBub3RpZmljYXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRh
cmdldCwgdCwgInRhcmdldCBpcyB0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sw
XS5jb250ZW50UmVjdC53aWR0aCwgNTAsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMTAwLCAidGFyZ2V0IGhlaWdo
dCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0u
aW5saW5lU2l6ZSwgMTAwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1i
b3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRl
bnRCb3hTaXplWzBdLmJsb2NrU2l6ZSwgNTAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdl
dCBjb250ZW50LWJveCBibG9jayBzaXplIik7CisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0LnN0eWxlLndyaXRpbmdNb2RlID0gImhv
cml6b250YWwtdGIiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0
aW9uIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQsICJ0YXJn
ZXQgaXMgdCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qu
d2lkdGgsIDUwLCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDEwMCwgInRhcmdldCBoZWlnaHQiKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmlubGluZVNpemUsIDUw
LAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggaW5saW5lIHNpemUi
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmJs
b2NrU2l6ZSwgMTAwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3gg
YmxvY2sgc2l6ZSIpOworICAgICAgfSwKKyAgICB9CisgIF0pOworCisgIHJldHVybiBoZWxwZXIu
c3RhcnQoKCkgPT4gdC5yZW1vdmUoKSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxNCgpIHsKKyAgbGV0
IHQgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiKTsKKyAgdC5zdHlsZS53aWR0aCA9ICIx
MDBweCI7CisgIHQuc3R5bGUuaGVpZ2h0ID0gIjEwMHB4IjsKKworICBsZXQgaGVscGVyID0gbmV3
IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxNDogb2JzZXJ2ZSB0aGUgc2FtZSB0YXJnZXQg
YnV0IHVzaW5nIGEgZGlmZmVyZW50IGJveCBzaG91bGQgIiArCisgICAgIm92ZXJyaWRlIHRoZSBw
cmV2aW91cyBvbmUiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0LCB7IGJveDogImNvbnRlbnQtYm94IiB9KTsKKyAgICAg
ICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0LCB7IGJveDogImJvcmRlci1ib3giIH0pOworICAgICAgfSwK
KyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQsICJ0YXJnZXQgaXMgdCIpOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCwgInRhcmdldCB3aWR0
aCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0
LCAxMDAsICJ0YXJnZXQgaGVpZ2h0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sw
XS5jb250ZW50UmVjdC50b3AsIDAsICJ0YXJnZXQgdG9wIHBhZGRpbmciKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmxlZnQsIDAsICJ0YXJnZXQgbGVmdCBw
YWRkaW5nIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6
ZVswXS5pbmxpbmVTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250
ZW50LWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0u
Y29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAg
InRhcmdldCBjb250ZW50LWJveCBibG9jayBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmlubGluZVNpemUsIDEwMCwKKyAgICAgICAgICAg
ICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisg
ICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBib3JkZXItYm94IGJsb2NrIHNpemUiKTsKKyAg
ICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAg
IC8vIENoYW5nZSBib3JkZXItYm94IHNpemUuCisgICAgICAgIHQuc3R5bGUucGFkZGluZyA9ICI0
cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQsICJ0YXJnZXQgaXMgdCIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEw
MCwgInRhcmdldCB3aWR0aCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29u
dGVudFJlY3QuaGVpZ2h0LCAxMDAsICJ0YXJnZXQgaGVpZ2h0Iik7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC50b3AsIDQsICJ0YXJnZXQgdG9wIHBhZGRpbmci
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmxlZnQsIDQs
ICJ0YXJnZXQgbGVmdCBwYWRkaW5nIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sw
XS5jb250ZW50Qm94U2l6ZVswXS5pbmxpbmVTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAg
ICAgInRhcmdldCBjb250ZW50LWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAg
ICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBibG9jayBzaXplIik7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmlubGluZVNpemUsIDEw
OCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggaW5saW5lIHNpemUi
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxv
Y2tTaXplLCAxMDgsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBib3JkZXItYm94IGJs
b2NrIHNpemUiKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZl
ciA9PiB7CisgICAgICAgIC8vIENoYW5nZSBvbmx5IGNvbnRlbnQtYm94IHNpemUuCisgICAgICAg
IHQuc3R5bGUud2lkdGggPSAiMTA0cHgiOworICAgICAgICB0LnN0eWxlLmhlaWdodCA9ICIxMDRw
eCI7CisgICAgICAgIHQuc3R5bGUucGFkZGluZyA9ICIycHgiOworICAgICAgfSwKKyAgICAgIG5v
dGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2VydF91bnJlYWNoZWQoInRoZSAnYm9yZGVy
LWJveCcgUmVzaXplT2JzZXJ2ZXIgc2hvdWxkbid0IGZpcmUgIiArCisgICAgICAgICAgICAgICAg
ICAgICAgICAgImZvciByZXN0eWxlcyB0aGF0IGRvbid0IGFmZmVjdCB0aGUgYm9yZGVyLWJveCBz
aXplIik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4geworICAgICAgICAvLyBleHBl
Y3RlZDogMTA0ICsgMiAqIDIgPSAxMDguIFRoZSBib3JkZXItYm94IHNpemUgaXMgdGhlIHNhbWUu
CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgoKSA9PiB0LnJl
bW92ZSgpKTsKK30KKworZnVuY3Rpb24gdGVzdDE1KCkgeworICBsZXQgdCA9IGNyZWF0ZUFuZEFw
cGVuZEVsZW1lbnQoImRpdiIpOworICB0LnN0eWxlLmhlaWdodCA9ICIxMDBweCI7CisgIHQuc3R5
bGUud2lkdGggPSAiNTBweCI7CisKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVy
KAorICAgICJ0ZXN0MTU6IGFuIG9ic2VydmF0aW9uIGlzIGZpcmVkIHdpdGggYm94IGRpbWVuc2lv
bnMgMCB3aGVuIGVsZW1lbnQncyAiICsKKyAgICAiZGlzcGxheSBwcm9wZXJ0eSBpcyBzZXQgdG8g
aW5saW5lIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAg
IG9ic2VydmVyLm9ic2VydmUodCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBu
b3RpZmljYXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwg
dCwgInRhcmdldCBpcyB0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250
ZW50UmVjdC53aWR0aCwgNTAsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMTAwLCAidGFyZ2V0IGhlaWdodCIpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uaW5saW5l
U2l6ZSwgNTAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBpbmxp
bmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNp
emVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250
ZW50LWJveCBibG9jayBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5i
b3JkZXJCb3hTaXplWzBdLmlubGluZVNpemUsIDUwLAorICAgICAgICAgICAgICAgICAgICAgICJ0
YXJnZXQgY29udGVudC1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAgICAgICAg
ICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBibG9jayBzaXplIik7CisgICAgICB9CisgICAg
fSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0LnN0eWxlLmRp
c3BsYXkgPSAiaW5saW5lIjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4gewor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDAsICJ0
YXJnZXQgd2lkdGgiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRS
ZWN0LmhlaWdodCwgMCwgInRhcmdldCBoZWlnaHQiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmlubGluZVNpemUsIDAsCisgICAgICAgICAgICAg
ICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAwLAorICAg
ICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggYmxvY2sgc2l6ZSIpOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5pbmxpbmVTaXpl
LCAwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgYm9yZGVyLWJveCBpbmxpbmUgc2l6
ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5i
bG9ja1NpemUsIDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBib3JkZXItYm94IGJs
b2NrIHNpemUiKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworCisgIHJldHVybiBoZWxwZXIuc3Rh
cnQoKCkgPT4gdC5yZW1vdmUoKSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxNigpIHsKKyAgbGV0IHQg
PSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJzcGFuIik7CisKKyAgbGV0IGhlbHBlciA9IG5ldyBS
ZXNpemVUZXN0SGVscGVyKAorICAgIC8vIFNlZTogaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL3Jl
c2l6ZS1vYnNlcnZlci8jaW50cm8uCisgICAgInRlc3QxNjogb2JzZXJ2YXRpb25zIGRvIG5vdCBm
aXJlIGZvciBub24tcmVwbGFjZWQgaW5saW5lIGVsZW1lbnRzIiwKKyAgWworICAgIHsKKyAgICAg
IHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodCk7CisgICAg
ICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X3VucmVhY2hl
ZCgiTm8gb2JzZXJ2YXRpb24gc2hvdWxkIGZpcmUgZm9yIG5vbiBib3ggZWxlbWVudCIpCisgICAg
ICB9LAorICAgICAgdGltZW91dDogKCkgPT4ge30KKyAgICB9CisgIF0pOworCisgIHJldHVybiBo
ZWxwZXIuc3RhcnQoKCkgPT4gdC5yZW1vdmUoKSk7CisKK30KKworZnVuY3Rpb24gdGVzdDE3KCkg
eworICAvLyA8ZGl2IGlkPSJvdXRlciI+CisgIC8vICAgPGRpdiBpZD0ibmVzdGVkIj4KKyAgLy8g
ICA8L2Rpdj4KKyAgLy8gPC9kaXY+CisKKyAgbGV0IG91dGVyID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7CisgIG91dGVyLnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKyAgb3V0ZXIuc3R5
bGUuaGVpZ2h0ID0gIjEwMHB4IjsKKyAgb3V0ZXIuc3R5bGUucGFkZGluZyA9ICIxMHB4IjsKKyAg
b3V0ZXIuc3R5bGUuYm9yZGVyID0gIjFweCBzb2xpZCBibHVlIgorICBsZXQgbmVzdGVkID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgIG5lc3RlZC5zdHlsZS53aWR0aCA9ICI2MHB4
IjsKKyAgbmVzdGVkLnN0eWxlLmhlaWdodCA9ICI1MHB4IjsKKyAgbmVzdGVkLnN0eWxlLnBhZGRp
bmcgPSAiNSUiOworICBuZXN0ZWQuc3R5bGUuYm94U2l6aW5nID0gImJvcmRlci1ib3giOworICBu
ZXN0ZWQuc3R5bGUuYm9yZGVyID0gIjVweCBzb2xpZCBibGFjayI7CisgIG91dGVyLmFwcGVuZENo
aWxkKG5lc3RlZCk7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob3V0ZXIpOworCisgIGxl
dCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDE3OiBCb3ggc2l6aW5n
IHNuZCBSZXNpemUgT2JzZXJ2ZXIgbm90aWZpY2F0aW9ucyIsCisgIFsKKyAgICB7CisgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKG5lc3RlZCwgeyBi
b3g6ICJjb250ZW50LWJveCIgfSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBu
b3RpZmljYXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwg
bmVzdGVkLCAidGFyZ2V0IGlzIG5lc3RlZCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDQwLCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDMwLCAidGFyZ2V0IGhl
aWdodCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QudG9w
LCA1LCAidGFyZ2V0IHRvcCBwYWRkaW5nIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC5sZWZ0LCA1LCAidGFyZ2V0IGxlZnQgcGFkZGluZyIpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uaW5saW5lU2l6ZSwg
NDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBpbmxpbmUgc2l6
ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0u
YmxvY2tTaXplLCAzMCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGNvbnRlbnQtYm94
IGJsb2NrIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJv
eFNpemVbMF0uaW5saW5lU2l6ZSwgNjAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBi
b3JkZXItYm94IGlubGluZSBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sw
XS5ib3JkZXJCb3hTaXplWzBdLmJsb2NrU2l6ZSwgNTAsCisgICAgICAgICAgICAgICAgICAgICAg
InRhcmdldCBib3JkZXItYm94IGJsb2NrIHNpemUiKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsK
KyAgICAgIC8vIENoYW5nZXMgdG8gYSBwYXJlbnQncyBkaW1lbnNpb25zIHdpdGggYSBjaGlsZCdz
IHBhZGRpbmcgc2V0IGFzIGEgcGVyY2VudGFnZQorICAgICAgLy8gc2hvdWxkIGZpcmUgb2JzZXJ2
YXRpb24gaWYgY29udGVudC1ib3ggaXMgYmVpbmcgb2JzZXJ2ZWQKKyAgICAgIHNldHVwOiBvYnNl
cnZlciA9PiB7CisgICAgICAgIG91dGVyLnN0eWxlLmhlaWdodCA9ICIyMDBweCI7CisgICAgICAg
IG91dGVyLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVu
dHJpZXMgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiMSBw
ZW5kaW5nIG5vdGlmaWNhdGlvbiIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0u
dGFyZ2V0LCBuZXN0ZWQsICJ0YXJnZXQgaXMgbmVzdGVkIik7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMzAsICJ0YXJnZXQgd2lkdGgiKTsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMjAsICJ0
YXJnZXQgaGVpZ2h0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50
UmVjdC50b3AsIDEwLCAidGFyZ2V0IHRvcCBwYWRkaW5nIik7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllc1swXS5jb250ZW50UmVjdC5sZWZ0LCAxMCwgInRhcmdldCBsZWZ0IHBhZGRpbmci
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmlu
bGluZVNpemUsIDMwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3gg
aW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRC
b3hTaXplWzBdLmJsb2NrU2l6ZSwgMjAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBj
b250ZW50LWJveCBibG9jayBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sw
XS5ib3JkZXJCb3hTaXplWzBdLmlubGluZVNpemUsIDYwLAorICAgICAgICAgICAgICAgICAgICAg
ICJ0YXJnZXQgYm9yZGVyLWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5ibG9ja1NpemUsIDUwLAorICAgICAgICAgICAg
ICAgICAgICAgICJ0YXJnZXQgYm9yZGVyLWJveCBibG9jayBzaXplIik7CisgICAgICB9CisgICAg
fSwKKyAgICB7CisgICAgICAvLyBDaGFuZ2VzIHRvIGEgcGFyZW50J3MgZGltZW5zaW9ucyB3aXRo
IGEgY2hpbGQncyBwYWRkaW5nIHNldCBhcyBhIHBlcmNlbnRhZ2UKKyAgICAgIC8vIHNob3VsZCBm
aXJlIG9ic2VydmF0aW9uIGlmIGNvbnRlbnQtYm94IGlzIGJlaW5nIG9ic2VydmVkCisgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBuZXN0ZWQuc3R5bGUuYm9yZGVyID0gIjFweCBz
b2xpZCBibGFjayI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBub3RpZmljYXRp
b24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgbmVzdGVkLCAi
dGFyZ2V0IGlzIG5lc3RlZCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29u
dGVudFJlY3Qud2lkdGgsIDM4LCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDI4LCAidGFyZ2V0IGhlaWdodCIpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QudG9wLCAxMCwgInRh
cmdldCB0b3AgcGFkZGluZyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29u
dGVudFJlY3QubGVmdCwgMTAsICJ0YXJnZXQgbGVmdCBwYWRkaW5nIik7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5pbmxpbmVTaXplLCAzOCwKKyAg
ICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGNvbnRlbnQtYm94IGlubGluZSBzaXplIik7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5ibG9ja1Np
emUsIDI4LAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggYmxvY2sg
c2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVsw
XS5pbmxpbmVTaXplLCA2MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1i
b3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRl
ckJveFNpemVbMF0uYmxvY2tTaXplLCA1MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0
IGJvcmRlci1ib3ggYmxvY2sgc2l6ZSIpOworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShuZXN0ZWQsIHsg
Ym94OiAiYm9yZGVyLWJveCIgfSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBu
b3RpZmljYXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwg
bmVzdGVkLCAidGFyZ2V0IGlzIG5lc3RlZCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDM4LCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDI4LCAidGFyZ2V0IGhl
aWdodCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QudG9w
LCAxMCwgInRhcmdldCB0b3AgcGFkZGluZyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3QubGVmdCwgMTAsICJ0YXJnZXQgbGVmdCBwYWRkaW5nIik7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5pbmxpbmVTaXpl
LCAzOCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGNvbnRlbnQtYm94IGlubGluZSBz
aXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVsw
XS5ibG9ja1NpemUsIDI4LAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1i
b3ggYmxvY2sgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVy
Qm94U2l6ZVswXS5pbmxpbmVTaXplLCA2MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0
IGJvcmRlci1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCA1MCwKKyAgICAgICAgICAgICAgICAgICAg
ICAidGFyZ2V0IGJvcmRlci1ib3ggYmxvY2sgc2l6ZSIpOworICAgICAgfQorICAgIH0sCisgICAg
eworICAgICAgLy8gQ2hhbmdlcyB0byBhIHBhcmVudCdzIGRpbWVuc2lvbnMgd2l0aCBhIGNoaWxk
J3MgcGFkZGluZyBzZXQgYXMgYSBwZXJjZW50YWdlCisgICAgICAvLyBzaG91bGQgbm90IGZpcmUg
b2JzZXJ2YXRpb24gaWYgYm9yZGVyLWJveCBpcyBiZWluZyBvYnNlcnZlZAorICAgICAgc2V0dXA6
IG9ic2VydmVyID0+IHsKKyAgICAgICAgb3V0ZXIuc3R5bGUuaGVpZ2h0ID0gIjEwMHB4IjsKKyAg
ICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4geworICAgICAgICBhc3NlcnRfdW5yZWFj
aGVkKCJObyBvYnNlcnZhdGlvbiBzaG91bGQgYmUgZmlyZWQgd2hlbiBuZXN0ZWQgYm9yZGVyIGJv
eCByZW1haW5zIGNvbnN0YW50Iik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4gewor
ICAgICAgICAvLyBleHBlY3RlZAorICAgICAgfQorICAgIH0sCisKKyAgXSk7CisgIHJldHVybiBo
ZWxwZXIuc3RhcnQoKCkgPT4gbmVzdGVkLnJlbW92ZSgpKTsKK30KKworZnVuY3Rpb24gdGVzdDE4
KCkgeworICBsZXQgdCA9IGNyZWF0ZUFuZEFwcGVuZEVsZW1lbnQoImRpdiIpOworICB0LnN0eWxl
LmhlaWdodCA9ICIxMDBweCI7CisgIHQuc3R5bGUud2lkdGggPSAiNTBweCI7CisKKyAgbGV0IGhl
bHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTg6IGFuIG9ic2VydmF0aW9u
IGlzIGZpcmVkIHdoZW4gZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94IGlzIGJlaW5nICIgKworICAg
ICJvYnNlcnZlZCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAg
ICAgICBvYnNlcnZlci5vYnNlcnZlKHQsIHtib3g6ICJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3gi
fSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBub3RpZmljYXRpb24iKTsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdCwgInRhcmdldCBpcyB0Iik7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgNTAs
ICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRl
bnRSZWN0LmhlaWdodCwgMTAwLCAidGFyZ2V0IGhlaWdodCIpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uaW5saW5lU2l6ZSwgNTAsCisgICAgICAg
ICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAx
MDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBibG9jayBzaXpl
Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmlu
bGluZVNpemUsIDUwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgYm9yZGVyLWJveCBp
bmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94
U2l6ZVswXS5ibG9ja1NpemUsIDEwMCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJv
cmRlci1ib3ggYmxvY2sgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0u
ZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZVswXS5pbmxpbmVTaXplLCA1MCwKKyAgICAgICAgICAg
ICAgICAgICAgICAidGFyZ2V0IGRldmljZS1waXhlbC1jb250ZW50LWJveCBpbmxpbmUgc2l6ZSIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uZGV2aWNlUGl4ZWxDb250ZW50Qm94
U2l6ZVswXS5ibG9ja1NpemUsIDEwMCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGRl
dmljZS1waXhlbC1jb250ZW50LWJveCBibG9jayBzaXplIik7CisgICAgICB9CisgICAgfSwKKyAg
ICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBkb2N1bWVudC5ib2R5LnN0
eWxlLnpvb20gPSAzOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0
aW9uIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQsICJ0YXJn
ZXQgaXMgdCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qu
d2lkdGgsIDUwLCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDEwMCwgInRhcmdldCBoZWlnaHQiKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmlubGluZVNpemUsIDUw
LAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggaW5saW5lIHNpemUi
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmJs
b2NrU2l6ZSwgMTAwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3gg
YmxvY2sgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94
U2l6ZVswXS5pbmxpbmVTaXplLCA1MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJv
cmRlci1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBd
LmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAg
InRhcmdldCBib3JkZXItYm94IGJsb2NrIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzWzBdLmRldmljZVBpeGVsQ29udGVudEJveFNpemVbMF0uaW5saW5lU2l6ZSwgMTUwLAor
ICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94IGlu
bGluZSBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5kZXZpY2VQaXhl
bENvbnRlbnRCb3hTaXplWzBdLmJsb2NrU2l6ZSwgMzAwLAorICAgICAgICAgICAgICAgICAgICAg
ICJ0YXJnZXQgZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94IGJsb2NrIHNpemUiKTsKKyAgICAgIH0K
KyAgICB9CisgIF0pOworCisgIHJldHVybiBoZWxwZXIuc3RhcnQoKCkgPT4gdC5yZW1vdmUoKSk7
Cit9CisKIGxldCBndWFyZDsKIHRlc3QoXyA9PiB7CiAgIGFzc2VydF9vd25fcHJvcGVydHkod2lu
ZG93LCAiUmVzaXplT2JzZXJ2ZXIiKTsKQEAgLTE5NSwxMyArOTEzLDI0IEBAIHRlc3QoXyA9PiB7
CiB9LCAiUmVzaXplT2JzZXJ2ZXIgaW1wbGVtZW50ZWQiKQogCiB0ZXN0MCgpCi0gIC50aGVuKCgp
ID0+IHsgcmV0dXJuIHRlc3QxKCk7IH0pCi0gIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QyKCk7
IH0pCi0gIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QzKCk7IH0pCi0gIC50aGVuKCgpID0+IHsg
cmV0dXJuIHRlc3Q0KCk7IH0pCi0gIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q1KCk7IH0pCi0g
IC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q2KCk7IH0pCi0gIC50aGVuKCgpID0+IHsgcmV0dXJu
IHRlc3Q3KCk7IH0pCi0gIC50aGVuKCgpID0+IHsgZ3VhcmQuZG9uZSgpOyB9KTsKKyAgLnRoZW4o
KCkgPT4gdGVzdDEoKSkKKyAgLnRoZW4oKCkgPT4gdGVzdDIoKSkKKyAgLnRoZW4oKCkgPT4gdGVz
dDMoKSkKKyAgLnRoZW4oKCkgPT4gdGVzdDQoKSkKKyAgLnRoZW4oKCkgPT4gdGVzdDUoKSkKKyAg
LnRoZW4oKCkgPT4gdGVzdDYoKSkKKyAgLnRoZW4oKCkgPT4gdGVzdDcoKSkKKyAgLnRoZW4oKCkg
PT4gdGVzdDgoKSkKKyAgLnRoZW4oKCkgPT4gdGVzdDkoKSkKKyAgLnRoZW4oKCkgPT4gdGVzdDEw
KCkpCisgIC50aGVuKCgpID0+IHRlc3QxMSgpKQorICAudGhlbigoKSA9PiB0ZXN0MTIoKSkKKyAg
LnRoZW4oKCkgPT4gdGVzdDEzKCkpCisgIC50aGVuKCgpID0+IHRlc3QxNCgpKQorICAudGhlbigo
KSA9PiB0ZXN0MTUoKSkKKyAgLnRoZW4oKCkgPT4gdGVzdDE2KCkpCisgIC50aGVuKCgpID0+IHRl
c3QxNygpKQorICAudGhlbigoKSA9PiB0ZXN0MTgoKSkKKyAgLnRoZW4oKCkgPT4gZ3VhcmQuZG9u
ZSgpKTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaW1hZ2UucG5nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvcmVzb3VyY2VzL2ltYWdlLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MTc0MTU4NGEwN2E5MTVjOWVmYzM1
NmMwOGFhMDQ1MzVmZDA1NmJmCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxNzAKemNtZUFTQE4/
KG9sSHlgdVZCcSFpYTB2cF57MjxLMTF8K1NvUDR4bSZFYXtIRWp0bVNOYD8+IWx2STY7PjFzOypi
CnozPURqU0skdVpmIT5hKShDe2Z9WFE0Klk9UiNLaT1sKiRtMG4zLTNpPWpSJXRQLWQpV1dWQyZ2
Y3I4JGtoTnB7VAp6aD1xVDBOPUN3dV5BMlZWblFHI2IqOXlLI0QkMTM7PmY8KTB4NlExeChhcDFn
aylnaUVkZiVGbUt2JHExMjJXUSUKSm12djRGTyN1MWxFJmMhaQoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9y
ZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcwppbmRleCAwMmM3ZTkyNTJmOWMzYWM2MjcxMDYy
NjRkZGM0MTk1MzVlYmNkZTBiLi4wMzJlYjRiM2EwNGQxMGMwZGU0OGNjNzRjMjdlNTdhNmQxMDYx
NjlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcwpAQCAtOSw3ICs5LDcgQEAKICAgRmVhdHVy
ZXM6CiAgIC0gY2FuIHF1ZXVlIG11bHRpcGxlIG5vdGlmaWNhdGlvbiBzdGVwcyBpbiBhIHRlc3QK
ICAgLSBoYW5kbGVzIHRpbWVvdXRzCi0gIC0gcmV0dXJucyBQcm9taXNlIHRoYXQgaXMgZnVsbGZp
bGxlZCB3aGVuIHRlc3QgY29tcGxldGVzLgorICAtIHJldHVybnMgUHJvbWlzZSB0aGF0IGlzIGZ1
bGZpbGxlZCB3aGVuIHRlc3QgY29tcGxldGVzLgogICAgIFVzZSB0byBjaGFpbiB0ZXN0cyAoc2lu
Y2UgcGFyYWxsZWwgYXN5bmMgUmVzaXplT2JzZXJ2ZXIgdGVzdHMKICAgICB3b3VsZCBjb25mbGlj
dCBpZiByZXVzaW5nIHNhbWUgRE9NIGVsZW1lbnRzKS4KIApAQCAtNTIsNyArNTIsNyBAQCBmdW5j
dGlvbiBSZXNpemVUZXN0SGVscGVyKG5hbWUsIHN0ZXBzKQogICAgIHRoaXMuX25leHRTdGVwQmlu
ZCA9IHRoaXMuX25leHRTdGVwLmJpbmQodGhpcyk7CiB9CiAKLVJlc2l6ZVRlc3RIZWxwZXIuVElN
RU9VVCA9IDEwMDA7CitSZXNpemVUZXN0SGVscGVyLlRJTUVPVVQgPSAxMDA7CiAKIFJlc2l6ZVRl
c3RIZWxwZXIucHJvdG90eXBlID0gewogICBnZXQgX2N1cnJlbnRTdGVwKCkgewpAQCAtODAsMTEg
KzgwLDIwIEBAIFJlc2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlID0gewogICAgICAgZGVsZXRlIHRo
aXMuX3RpbWVvdXRJZDsKICAgICB9CiAgICAgdGhpcy5faGFybmVzc1Rlc3Quc3RlcCgoKSA9PiB7
Ci0gICAgICBsZXQgcmFmRGVsYXkgPSB0aGlzLl9jdXJyZW50U3RlcC5ub3RpZnkoZW50cmllcywg
dGhpcy5fb2JzZXJ2ZXIpOwotICAgICAgaWYgKHJhZkRlbGF5KQotICAgICAgICB3aW5kb3cucmVx
dWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX25leHRTdGVwQmluZCk7Ci0gICAgICBlbHNlCi0gICAg
ICAgIHRoaXMuX25leHRTdGVwKCk7CisgICAgICB0cnkgeworICAgICAgICBsZXQgcmFmRGVsYXkg
PSB0aGlzLl9jdXJyZW50U3RlcC5ub3RpZnkoZW50cmllcywgdGhpcy5fb2JzZXJ2ZXIpOworICAg
ICAgICBpZiAocmFmRGVsYXkpCisgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFt
ZSh0aGlzLl9uZXh0U3RlcEJpbmQpOworICAgICAgICBlbHNlCisgICAgICAgICAgdGhpcy5fbmV4
dFN0ZXAoKTsKKyAgICAgIH0KKyAgICAgIGNhdGNoKGVycikgeworICAgICAgICB0aGlzLl9oYXJu
ZXNzVGVzdC5zdGVwKCgpID0+IHsKKyAgICAgICAgICB0aHJvdyBlcnI7CisgICAgICAgIH0pOwor
ICAgICAgICAvLyBGb3JjZSB0byBfZG9uZSgpIHRoZSBjdXJyZW50IHRlc3QuCisgICAgICAgIHRo
aXMuX2RvbmUoKTsKKyAgICAgIH0KICAgICB9KTsKICAgfSwKIApAQCAtOTUsNyArMTA0LDkgQEAg
UmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2N1cnJlbnRTdGVw
LnRpbWVvdXQoKTsKICAgICAgIH0KICAgICAgIGVsc2UgewotICAgICAgICBhc3NlcnRfdW5yZWFj
aGVkKCJUaW1lZCBvdXQgd2FpdGluZyBmb3Igbm90aWZpY2F0aW9uLiAoIiArIFJlc2l6ZVRlc3RI
ZWxwZXIuVElNRU9VVCArICJtcykiKTsKKyAgICAgICAgdGhpcy5faGFybmVzc1Rlc3Quc3RlcCgo
KSA9PiB7CisgICAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgiVGltZWQgb3V0IHdhaXRpbmcgZm9y
IG5vdGlmaWNhdGlvbi4gKCIgKyBSZXNpemVUZXN0SGVscGVyLlRJTUVPVVQgKyAibXMpIik7Cisg
ICAgICAgIH0pOwogICAgICAgfQogICAgICAgdGhpcy5fbmV4dFN0ZXAoKTsKICAgICB9KTsKQEAg
LTExMiw4ICsxMjMsMTMgQEAgUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUgPSB7CiAgICAgd2lu
ZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7IHRoaXMuX3Jlc29sdmVQcm9taXNlKCk7
IH0pOwogICB9LAogCi0gIHN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgc3RhcnQ6IGZ1bmN0aW9uKGNs
ZWFudXApIHsKICAgICB0aGlzLl9oYXJuZXNzVGVzdCA9IGFzeW5jX3Rlc3QodGhpcy5fbmFtZSk7
CisKKyAgICBpZiAoY2xlYW51cCkgeworICAgICAgdGhpcy5faGFybmVzc1Rlc3QuYWRkX2NsZWFu
dXAoY2xlYW51cCk7CisgICAgfQorCiAgICAgdGhpcy5faGFybmVzc1Rlc3Quc3RlcCgoKSA9PiB7
CiAgICAgICBhc3NlcnRfZXF1YWxzKHRoaXMuX3N0ZXBJZHgsIC0xLCAic3RhcnQgY2FuIG9ubHkg
YmUgY2FsbGVkIG9uY2UiKTsKICAgICAgIHRoaXMuX25leHRTdGVwKCk7CkBAIC0xMzAsNiArMTQ2
LDEzIEBAIFJlc2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlID0gewogICAgIHJldHVybiB0aGlzLl9y
YWZDb3VudDsKICAgfSwKIAorICBnZXQgdGVzdCgpIHsKKyAgICBpZiAoIXRoaXMuX2hhcm5lc3NU
ZXN0KSB7CisgICAgICB0aHJvdyAiX2hhcm5lc3NUZXN0IGlzIG5vdCBpbml0aWFsaXplZCI7Cisg
ICAgfQorICAgIHJldHVybiB0aGlzLl9oYXJuZXNzVGVzdDsKKyAgfSwKKwogICBfaW5jcmVtZW50
UmFmOiBmdW5jdGlvbigpIHsKICAgICBpZiAodGhpcy5fcmFmQ291bnRSZXF1ZXN0KSB7CiAgICAg
ICB0aGlzLl9yYWZDb3VudCsrOwpAQCAtMTQ2LDMgKzE2OSwxMiBAQCBSZXNpemVUZXN0SGVscGVy
LnByb3RvdHlwZSA9IHsKICAgICB0aGlzLl9yYWZDb3VudFJlcXVlc3QgPSB3aW5kb3cucmVxdWVz
dEFuaW1hdGlvbkZyYW1lKHRoaXMuX2luY3JlbWVudFJhZkJpbmQpOwogICB9CiB9CisKK2Z1bmN0
aW9uIGNyZWF0ZUFuZEFwcGVuZEVsZW1lbnQodGFnTmFtZSwgcGFyZW50KSB7CisgIGlmICghcGFy
ZW50KSB7CisgICAgcGFyZW50ID0gZG9jdW1lbnQuYm9keTsKKyAgfQorICBjb25zdCBlbGVtZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgcGFyZW50LmFwcGVuZENoaWxk
KGVsZW1lbnQpOworICByZXR1cm4gZWxlbWVudDsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNl
cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwppbmRleCBhZjM3
Y2VhNWZjMDY0YWRhNzlhY2VjMGRmM2MzOGYxNmZhYzAxMzgwLi41YmEyZGU5MzczNzJhMjhmODk0
MmZmMDY0ZmZmMmJlMGE2MDJjN2IyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvdzNjLWltcG9y
dC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0xNSw0ICsxNSw1IEBA
IE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaWZy
YW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaW1hZ2UucG5nCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6ZVRl
c3RIZWxwZXIuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmctZXhw
ZWN0ZWQudHh0CmluZGV4IGYyODVmODgyZjcxM2M3MzBmNDlkOTU4MDA2M2U0Y2Y1ZjVkZTdkYTMu
LmQ1ZTEzY2E0MjYzODk4MTE3ZGYxMDUxMWE5MWE4NTEyNWQ5MTRiNjAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L3N2Zy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLWV4cGVjdGVkLnR4dApAQCAtMTIsOSArMTIs
MTUgQEAgUEFTUyB0ZXN0Mjogb2JzZXJ2ZSBzdmc6Zm9yZWlnbk9iamVjdAogUEFTUyB0ZXN0Mzog
b2JzZXJ2ZSBzdmc6aW1hZ2UgCiBQQVNTIHRlc3Q0OiBvYnNlcnZlIHN2ZzpsaW5lIAogUEFTUyB0
ZXN0NTogb2JzZXJ2ZSBzdmc6cGF0aCAKLVBBU1MgdGVzdDY6IG9ic2VydmUgc3ZnOnBhdGggCitQ
QVNTIHRlc3Q2OiBvYnNlcnZlIHN2Zzpwb2x5Z29uIAogUEFTUyB0ZXN0Nzogb2JzZXJ2ZSBzdmc6
cG9seWxpbmUgCiBQQVNTIHRlc3Q4OiBvYnNlcnZlIHN2ZzpyZWN0IAogUEFTUyB0ZXN0OTogb2Jz
ZXJ2ZSBzdmc6dGV4dCAKIFBBU1MgdGVzdDEwOiBvYnNlcnZlIHN2ZzpzdmcsIHRvcC9sZWZ0IGlz
IDAgZXZlbiB3aXRoIHBhZGRpbmcgCitQQVNTIHRlc3QxMTogb2JzZXJ2ZSBzdmcgbm9uLWRpc3Bs
YXlhYmxlIGVsZW1lbnQgCitGQUlMIHRlc3QxMjogb2JzZXJ2ZSBzdmc6cmVjdCBjb250ZW50IGJv
eCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZW50cmllc1swXS5jb250
ZW50Qm94U2l6ZVswXScpCitGQUlMIHRlc3QxMzogb2JzZXJ2ZSBzdmc6cmVjdCBib3JkZXIgYm94
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlbnRyaWVzWzBdLmNvbnRl
bnRCb3hTaXplWzBdJykKK0ZBSUwgdGVzdDE0OiBvYnNlcnZlIGc6cmVjdCBjb250ZW50IGFuZCBi
b3JkZXIgYm94IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlbnRyaWVz
WzBdLmNvbnRlbnRCb3hTaXplWzBdJykKK0ZBSUwgdGVzdDE1OiBvYnNlcnZlIHN2Zzp0ZXh0IGNv
bnRlbnQgYW5kIGJvcmRlciBib3ggYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMzAgYnV0IGdvdCAz
MC4wMTU2MjUKK0ZBSUwgdGVzdDE2OiBvYnNlcnZlIGc6cmVjdCBjb250ZW50LCBib3JkZXIgYW5k
IGRldmljZS1waXhlbC1jb250ZW50IGJveGVzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICdlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdJykKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvc3ZnLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9zdmcuaHRtbAppbmRleCA0OWU1YzE5NTNlYzI3OGU5MjE3NjlkYzky
NDIwYzc5Y2Y3ZjAwMzQ0Li41OTdhYTVkYTA3YzZlNzAyM2RhNzVjNjUzMWIyYzc3ZWY0Yjc3OGY3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9zdmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmcuaHRtbApAQCAtMTAsNyArMTAs
NyBAQAogICAgIDxib2R5PgogICAgICAgPHA+SGVyZSBpcyBhIHBhcmFncmFwaCB0aGF0IHJlcXVp
cmVzIHdvcmQgd3JhcDwvcD4KICAgICA8L2JvZHk+Ci0gIDwvZm9yZWlnbk9iamVjdD4KKyAgPC9m
b3JlaWdub2JqZWN0PgogICA8aW1hZ2UgeGxpbms6aHJlZj0iIiB4PSIwIiB5PSIxMDAiIGhlaWdo
dD0iMzAiIHdpZHRoPSIxMDAiIC8+CiAgIDxsaW5lIHgxPSIwIiB5MT0iNTAiIHgyPSIyMCIgeTI9
IjcwIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiLz4KICAgPHBhdGggZD0iTSAwIDEw
MCBMIDEwMCAxMDAgTCA1MCAxNTAgeiIKQEAgLTE4LDcgKzE4LDEwIEBACiAgIDxwb2x5Z29uIHBv
aW50cz0iMCwyMDAgMTAwLDIwMCA1MCwyNTAiIHN0eWxlPSJmaWxsOm9yYW5nZTtzdHJva2U6Ymxh
Y2s7c3Ryb2tlLXdpZHRoOjEiIC8+CiAgIDxwb2x5bGluZSBwb2ludHM9IjAsMzAwIDEwMCwzMDAg
NTAsMzUwIiBzdHlsZT0iZmlsbDpvcmFuZ2U7c3Ryb2tlOmJsYWNrO3N0cm9rZS13aWR0aDoxIi8+
CiAgIDxyZWN0IHg9IjAiIHk9IjM4MCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiBzdHlsZT0iZmls
bDpvcmFuZ2U7IHN0cm9rZTpibGFjazsgc3Ryb2tlLXdpZHRoOjEiIC8+Ci0gIDx0ZXh0IHg9IjAi
IHk9IjQwMCIgZm9udC1zaXplPSIyMCI+c3ZnIHRleHQgdGFnPC90ZXh0PgorICA8dGV4dCB4PSIw
IiB5PSI0MDAiIGZvbnQtc2l6ZT0iMjAiIGZvbnQtZmFtaWx5PSJBaGVtIj5zdmcgdGV4dCB0YWc8
L3RleHQ+CisgIDxnIGZpbGw9IndoaXRlIiBzdHJva2U9ImdyZWVuIiBzdHJva2Utd2lkdGg9IjUi
PgorICAgIDxyZWN0IHg9IjAiIHk9IjM4MCIgd2lkdGg9IjUwIiBoZWlnaHQ9IjIwIiBpZD0iZ19y
ZWN0IiAvPgorICA8L2c+CiA8L3N2Zz4KIDxzY3JpcHQ+CiAndXNlIHN0cmljdCc7CkBAIC0xODgs
NyArMTkxLDcgQEAgZnVuY3Rpb24gdGVzdDUoKSB7CiBmdW5jdGlvbiB0ZXN0NigpIHsKICAgbGV0
IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3BvbHlnb24nKTsKICAgbGV0IGhlbHBl
ciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAotICAgICJ0ZXN0Njogb2JzZXJ2ZSBzdmc6cGF0aCIs
CisgICAgInRlc3Q2OiBvYnNlcnZlIHN2Zzpwb2x5Z29uIiwKICAgWwogICAgIHsKICAgICAgIHNl
dHVwOiBvYnNlcnZlciA9PiB7CkBAIC0zMTEsNiArMzE0LDI1MCBAQCBmdW5jdGlvbiB0ZXN0MTAo
KSB7CiAgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKIH0KIAorZnVuY3Rpb24gdGVzdDExKCkgewor
ICAvLyA8c3ZnPgorICAvLyAgIDx2aWV3Pjwvdmlldz4KKyAgLy8gICA8ZGVmcz4KKyAgLy8gICAg
IDxsaW5lYXJHcmFkaWVudD4KKyAgLy8gICAgICAgPHN0b3A+PC9zdG9wPgorICAvLyAgICAgPC9s
aW5lYXJHcmFkaWVudD4KKyAgLy8gICA8L2RlZnM+CisgIC8vIDwvc3ZnPgorICBjb25zdCBzdmdO
UyA9ICJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7CisgIGxldCBzdmcgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50TlMoc3ZnTlMsICdzdmcnKTsKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChzdmcpOworCisgIGxldCB2aWV3ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHN2Z05TLCAn
dmlldycpOworICBzdmcuYXBwZW5kQ2hpbGQodmlldyk7CisKKyAgbGV0IGRlZnMgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50TlMoc3ZnTlMsICdkZWZzJyk7CisgIGxldCBsaW5lYXJHcmFkaWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhzdmdOUywgJ2xpbmVhckdyYWRpZW50Jyk7CisgIGxl
dCBzdG9wID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHN2Z05TLCAnc3RvcCcpOworICBsaW5l
YXJHcmFkaWVudC5hcHBlbmRDaGlsZChzdG9wKTsKKyAgZGVmcy5hcHBlbmRDaGlsZChsaW5lYXJH
cmFkaWVudCk7CisgIHN2Zy5hcHBlbmRDaGlsZChkZWZzKTsKKworICBsZXQgaGVscGVyID0gbmV3
IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxMTogb2JzZXJ2ZSBzdmcgbm9uLWRpc3BsYXlh
YmxlIGVsZW1lbnQiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh2aWV3KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJubyBlbnRy
aWVzIHNob3VsZCBiZSBvYnNlcnZlZCBvbiA8dmlldz4gRWxlbWVudCIpOworICAgICAgfSwKKyAg
ICAgIHRpbWVvdXQ6ICgpID0+IHsKKyAgICAgICAgLy8gZXhwZWN0ZWQKKyAgICAgIH0KKyAgICB9
LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9i
c2VydmUoc3RvcCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIp
ID0+IHsKKyAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgibm8gZW50cmllcyBzaG91bGQgYmUgb2Jz
ZXJ2ZWQgb24gPHN0b3A+IEVsZW1lbnQiKTsKKyAgICAgIH0sCisgICAgICB0aW1lb3V0OiAoKSA9
PiB7CisgICAgICAgIC8vIGV4cGVjdGVkCisgICAgICB9CisgICAgfSwKKyAgXSk7CisgIHJldHVy
biBoZWxwZXIuc3RhcnQoKCkgPT4gc3ZnLnJlbW92ZSgpKTsKK30KKworZnVuY3Rpb24gdGVzdDEy
KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigncmVjdCcpOworICBs
ZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxMjogb2JzZXJ2ZSBz
dmc6cmVjdCBjb250ZW50IGJveCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAg
bm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAv
LyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBv
YnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgNDUpOwor
ICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDQ1KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMTApOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uaW5saW5lU2l6ZSwgNDUpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAx
MCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQor
CitmdW5jdGlvbiB0ZXN0MTMoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCdyZWN0Jyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAi
dGVzdDEzOiBvYnNlcnZlIHN2ZzpyZWN0IGJvcmRlciBib3giLAorICBbCisgICAgeworICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOwor
ICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAg
IHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7
CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRl
KCd3aWR0aCcsIDIwKTsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgMjAp
OworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDIwKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMjApOworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uaW5saW5lU2l6ZSwgMjApOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXpl
LCAyMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBd
LmlubGluZVNpemUsIDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRl
ckJveFNpemVbMF0uYmxvY2tTaXplLCAyMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0
dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MTQoKSB7CisgIGxldCB0YXJn
ZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjZ19yZWN0Jyk7CisgIGxldCBoZWxwZXIgPSBu
ZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDE0OiBvYnNlcnZlIGc6cmVjdCBjb250ZW50
IGFuZCBib3JkZXIgYm94IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7
CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3Rp
Znk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRS
ZWN0LndpZHRoLCA1MCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50
UmVjdC5oZWlnaHQsIDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRl
bnRCb3hTaXplWzBdLmlubGluZVNpemUsIDUwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmJsb2NrU2l6ZSwgMjApOworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5pbmxpbmVTaXplLCA1MCk7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmJsb2NrU2l6ZSwg
MjApOworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQor
ICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0
LnNldEF0dHJpYnV0ZSgnd2lkdGgnLCAxNSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50
cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0
aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0
aCwgMTUpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVp
Z2h0LCAyMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6
ZVswXS5pbmxpbmVTaXplLCAxNSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5j
b250ZW50Qm94U2l6ZVswXS5ibG9ja1NpemUsIDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uaW5saW5lU2l6ZSwgMTUpOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5ibG9ja1NpemUsIDIwKTsKKyAg
ICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0
aW9uIHRlc3QxNSgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3Rl
eHQnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTU6
IG9ic2VydmUgc3ZnOnRleHQgY29udGVudCBhbmQgYm9yZGVyIGJveCIsCisgIFsKKyAgICB7Cisg
ICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdl
dCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAg
ICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAor
ICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRy
aWJ1dGUoJ2ZvbnQtc2l6ZScsICIzMCIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJp
ZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgs
IDM2MCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWln
aHQsIDMwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXpl
WzBdLmlubGluZVNpemUsIDM2MCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5j
b250ZW50Qm94U2l6ZVswXS5ibG9ja1NpemUsIDMwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uaW5saW5lU2l6ZSwgMzYwKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCAzMCk7Cisg
ICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5j
dGlvbiB0ZXN0MTYoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcj
Z19yZWN0Jyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVz
dDE2OiBvYnNlcnZlIGc6cmVjdCBjb250ZW50LCBib3JkZXIgYW5kIGRldmljZS1waXhlbC1jb250
ZW50IGJveGVzIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0LCB7Ym94OiAiZGV2aWNlLXBpeGVsLWNvbnRlbnQt
Ym94In0pOworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCd3aWR0aCcsIDUwKTsKKyAgICAg
ICAgZG9jdW1lbnQuYm9keS5zdHlsZS56b29tID0gMC4xOworICAgICAgfSwKKyAgICAgIG5vdGlm
eTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJl
Y3Qud2lkdGgsIDUwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRS
ZWN0LmhlaWdodCwgMjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVu
dEJveFNpemVbMF0uaW5saW5lU2l6ZSwgNTApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAyMCk7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmlubGluZVNpemUsIDUwKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCAy
MCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5kZXZpY2VQaXhlbENvbnRlbnRC
b3hTaXplWzBdLmlubGluZVNpemUsIDUpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNb
MF0uZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZVswXS5ibG9ja1NpemUsIDIpOworICAgICAgICBy
ZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgewor
ICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJn
ZXQsIHtib3g6ICJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3gifSk7CisgICAgICAgIHRhcmdldC5z
ZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIDMwKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRy
aWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3Ro
LCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRo
LCA1MCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWln
aHQsIDMwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXpl
WzBdLmlubGluZVNpemUsIDUwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNv
bnRlbnRCb3hTaXplWzBdLmJsb2NrU2l6ZSwgMzApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5pbmxpbmVTaXplLCA1MCk7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmJsb2NrU2l6ZSwgMzApOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZVsw
XS5pbmxpbmVTaXplLCA1KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmRldmlj
ZVBpeGVsQ29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAzKTsKKyAgICAgICAgcmV0dXJuIHRy
dWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNl
dHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuem9vbSA9IDEw
OworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDUwKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMzApOworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uaW5saW5lU2l6ZSwgNTApOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXpl
LCAzMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBd
LmlubGluZVNpemUsIDUwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRl
ckJveFNpemVbMF0uYmxvY2tTaXplLCAzMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5kZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplWzBdLmlubGluZVNpemUsIDUwMCk7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5kZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplWzBd
LmJsb2NrU2l6ZSwgMzAwKTsKKyAgICAgIH0sCisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBl
ci5zdGFydCgpOworfQorCiBsZXQgZ3VhcmQ7CiB0ZXN0KF8gPT4gewogICBhc3NlcnRfb3duX3By
b3BlcnR5KHdpbmRvdywgIlJlc2l6ZU9ic2VydmVyIik7CkBAIC0zMjgsNiArNTc1LDEyIEBAIHRl
c3QwKCkKICAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDgoKTsgfSkKICAgLnRoZW4oKCkgPT4g
eyByZXR1cm4gdGVzdDkoKTsgfSkKICAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEwKCk7IH0p
CisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QxMSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJl
dHVybiB0ZXN0MTIoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEzKCk7IH0pCisg
IC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QxNCgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVy
biB0ZXN0MTUoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDE2KCk7IH0pCiAgIC50
aGVuKCgpID0+IHsgZ3VhcmQuZG9uZSgpOyB9KTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL3czYy1pbXBvcnQubG9nCmluZGV4IDU2NDFlZWMyYzhlMDlk
MTQzM2Y3ZjA1ZTlkOGIyMDJmYjNjOWQ1ZDUuLjZjNTFmYmZmOGZjN2M4ZTQzYzVhM2U1MjJmZjhm
ODRlMzY2MjhkN2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3czYy1p
bXBvcnQubG9nCkBAIC0xNSw2ICsxNSw5IEBAIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBv
ZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9NRVRBLnltbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2NoYW5nZS1sYXlvdXQtaW4tZXJyb3IuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL2RldmljZXBpeGVsLWV4cGVjdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9kZXZpY2VwaXhlbC5odG1sCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
ZXZlbnRsb29wLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5qcwogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL25vdGlmeS5odG1s
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404398</attachid>
            <date>2020-07-15 15:08:09 -0700</date>
            <delta_ts>2020-07-15 15:52:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214375-20200715150808.patch</filename>
            <type>text/plain</type>
            <size>84162</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NDI3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDcwYzgyYTEyZjZiNjIwY2FkYjk4
OWJjYTUyODU4NmMxOTgyNjlkOS4uNTUyZDdmNTc3OGZmZmZlNDQ4NDY1MWE3MWEyZjgxYmNmNWMy
ZTdmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA3LTE1ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIgZnJvbSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Mzc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJp
c3RlbnNlbi4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMDctMTUgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgWyBpT1MgXSBm
YXN0L3Njcm9sbGluZy9pb3MvcHJvZ3JhbW0gYXRpYy1zY3JvbGwtd2hpbGUtem9vbWVkLmh0IG1s
IGFuZCBmYXN0L3Njcm9sbGluZy9pb3MvYXV0b3Njcm8gbGwtaW5wdXQtd2hlbi12ZXJ5LXpvb21l
ZC5oIHRtbCBhcmUgZmFpbGluZyBvbiBpUGFkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCAwMGUwOTNiMzcxODNhMjhiYmYzMzM2Y2VmODdmN2U0MTVmNDc4M2RmLi44MGUzM2M3NjE4
YzhmOTdhODA3ZDdjNDJlMWYzMjBkNjI5ZTM2ODI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAyMC0wNy0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyIGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNDM3NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5z
ZW4uCisKKyAgICAgICAgUmVzeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIg
ZnJvbSB1cHN0cmVhbSBiMmE2NjZkOTM1ODFhNzFlOTMzOGIyLgorCisgICAgICAgICogcmVzb3Vy
Y2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL01FVEEueW1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNpemUtb2JzZXJ2ZXIvY2hhbmdlLWxheW91dC1pbi1lcnJvci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvY2hhbmdl
LWxheW91dC1pbi1lcnJvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL2RldmljZXBpeGVsLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZGV2aWNlcGl4ZWwuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9l
dmVudGxvb3AuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93Lmh0bWw6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5q
czoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvb2JzZXJ2ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2Jz
ZXJ2ZXIvcmVzb3VyY2VzL2ltYWdlLnBuZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qczoKKyAg
ICAgICAgKFJlc2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlLl9oYW5kbGVOb3RpZmljYXRpb24pOgor
ICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUuX2hhbmRsZVRpbWVvdXQpOgorICAg
ICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUuc3RhcnQpOgorICAgICAgICAoUmVzaXpl
VGVzdEhlbHBlci5wcm90b3R5cGUuZ2V0IHRlc3QpOgorICAgICAgICAoY3JlYXRlQW5kQXBwZW5k
RWxlbWVudCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9y
ZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9zdmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci93M2MtaW1wb3J0LmxvZzoKKwogMjAyMC0wNy0xNSAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXN0cmVhbXMgZnJvbSB1cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggZjFhODM4ZDBkODU1M2FmMTVhNTBkMjI3MDQyZTdmZDgzYzcyOTIyNC4uMDUyZDliMTg4
YTRlZTU2M2EwMzcwNzQwYjYyMTU0M2YxY2VmNTYzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0z
MDEwLDYgKzMwMTAsNyBAQCB3ZWJraXQub3JnL2IvMTk2Mjc0IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtcG9zdC11cGxvYQogCiAjIElmIHJlcXVlc3RB
bmltYXRpb25GcmFtZSBpcyBpbnZva2VkIGJlZm9yZSBSZXNpemVPYnNlcnZlciB0aW1lciBmaXJl
ZCwgaXQgd291bGQgcGFzcywgb3RoZXJ3aXNlIGl0IHdvdWxkIGZhaWwgc2FtZSBhcyBldmVudGxv
b3AtZXhwZWN0ZWQudHh0CiB3ZWJraXQub3JnL2IvMTU3NzQzIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC5odG1sIFsgUGFzcyBGYWlsdXJl
IF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2Rldmlj
ZXBpeGVsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzE5ODEwMyBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNv
bnRlbnQvbWVkaWEtZWxlbWVudHMvb2Zmc2V0cy1pbnRvLXRoZS1tZWRpYS1yZXNvdXJjZS9jdXJy
ZW50VGltZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgppbmRl
eCA0N2M3OGIzOTgwYWMxNDk1ZDI2YWUxMjI0MGEwZDJkNGNhMzQ5MzE5Li43NmZjMWVjYzRlZTIz
MTczMTI3ZjQxMzZiNTA3MDBhNzFhNzlhMDgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpAQCAt
MzUxLDcgKzM1MSw3IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZWZlcnJlci1wb2xpY3ki
OiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZW1vdGUtcGxheWJhY2siOiAi
aW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrIjog
ImltcG9ydCIsIAotICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyIjogInNr
aXAiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlciI6ICJpbXBvcnQi
LCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci8iOiAiaW1wb3J0Iiwg
CiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmciOiAiaW1wb3J0IiwgCiAg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMiOiAiaW1wb3J0IiwgCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNl
cnZlci9NRVRBLnltbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL01FVEEueW1sCmluZGV4IGVmNjY4NTYyMmIyYWIyZTI2Y2M2MzMw
Zjk4MTMwYmU1ZDQzMDFiMDMuLjQwZWJiZTk2NjJjNjg3NzA5ZGM5N2QxNmM4Y2FhNmEzOWFiMjRk
ZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL01FVEEueW1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL01FVEEueW1sCkBAIC0xLDQgKzEs
NCBAQAotc3BlYzogaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9SZXNpemVPYnNlcnZlci8KK3NwZWM6
IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9yZXNpemUtb2JzZXJ2ZXIvCiBzdWdnZXN0ZWRfcmV2
aWV3ZXJzOgogICAtIGF0b3RpYwogICAtIGRob2xiZXJ0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9jaGFuZ2Ut
bGF5b3V0LWluLWVycm9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2NoYW5nZS1sYXlvdXQtaW4tZXJyb3It
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkMGY1ZWExNGYzMjdjNTJjM2UyMDJiNDc3YjI1ODU3
YjllYzRiZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9jaGFuZ2UtbGF5b3V0LWluLWVycm9yLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK0NPTlNPTEUgTUVTU0FHRTogUmVzaXplT2JzZXJ2
ZXIgbG9vcCBjb21wbGV0ZWQgd2l0aCB1bmRlbGl2ZXJlZCBub3RpZmljYXRpb25zLgorQ09OU09M
RSBNRVNTQUdFOiBSZXNpemVPYnNlcnZlciBsb29wIGNvbXBsZXRlZCB3aXRoIHVuZGVsaXZlcmVk
IG5vdGlmaWNhdGlvbnMuCisKK1BBU1MgQ2hhbmdpbmcgbGF5b3V0IGluIHdpbmRvdyBlcnJvciBo
YW5kbGVyIHNob3VsZCBub3QgcmVzdWx0IGluIGxpZmVjeWxlIGxvb3Agd2hlbiByZXNpemUgb2Jz
ZXJ2ZXIgbG9vcCBsaW1pdCBpcyByZWFjaGVkLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvY2hhbmdlLWxh
eW91dC1pbi1lcnJvci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvY2hhbmdlLWxheW91dC1pbi1lcnJvci5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkwODNmYjQ4Zjk0ZWZlMmE0ZDQwMmZkYTJlNDUyZDcyZjk0YjFlMTcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9jaGFuZ2UtbGF5b3V0LWluLWVycm9yLmh0bWwKQEAgLTAsMCArMSwzMyBA
QAorPCFkb2N0eXBlIEhUTUw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KKyAgZGl2IHsKKyAgICB3aWR0aDogMTAwcHg7CisgICAg
aGVpZ2h0OiAxMDBweDsKKyAgfQorPC9zdHlsZT4KKzxkaXYgaWQ9Im9ic2VydmVtZSI+PC9kaXY+
CisKKzxzY3JpcHQ+CitzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlfSk7CisK
K2FzeW5jX3Rlc3QoYSA9PiB7CisgIGxldCB0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI29i
c2VydmVtZSIpOworICBsZXQgaSA9IDA7CisgIHdpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24gKGVy
cikgeworICAgIHQuc3R5bGUuaGVpZ2h0ID0gIjExMnB4IjsKKyAgICBpKys7CisgICAgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lKGEuc3RlcF9mdW5jX2RvbmUoKCkgPT4geworICAgICAgYXNzZXJ0X2Vx
dWFscyhpLCAxKTsKKyAgICB9KSwgMCk7CisgIH07CisKKyAgbmV3IFJlc2l6ZU9ic2VydmVyKGZ1
bmN0aW9uKCkgeworICAgIHQuc3R5bGUuaGVpZ2h0ID0gIjExMXB4IjsKKyAgfSkub2JzZXJ2ZShv
YnNlcnZlbWUpOworICBvYnNlcnZlbWUuc3R5bGUuaGVpZ2h0ID0gIjExMHB4IjsKKworfSwgIkNo
YW5naW5nIGxheW91dCBpbiB3aW5kb3cgZXJyb3IgaGFuZGxlciBzaG91bGQgbm90IHJlc3VsdCBp
biBsaWZlY3lsZSBsb29wIHdoZW4gcmVzaXplIG9ic2VydmVyIGxvb3AgbGltaXQgaXMgcmVhY2hl
ZC4iKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZGV2aWNlcGl4ZWwtZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL2RldmljZXBpeGVsLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTAwNjczMjAxNWJl
M2JiZjA3Yzc5ZWNkMTFkOGE1MGM0ZWJiZGEzZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2Rldmlj
ZXBpeGVsLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8
c3R5bGU+CisgICNncmVlbnJlY3QgeworICAgIHdpZHRoOiAxMDAlOworICAgIGhlaWdodDogMTAw
JTsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBncmVlbjsKKyAgICBib3gtc2l6aW5nOiBib3JkZXIt
Ym94OworICB9CisgICNvdXRlciB7CisgICAgcGFkZGluZy10b3A6IDEuN3B4OworICAgIHdpZHRo
OiAzMDAuOHB4OworICAgIGhlaWdodDogMjUwLjFweDsKKyAgfQorICAjb3V0ZXIyIHsKKyAgICBw
YWRkaW5nLXRvcDogMS40cHg7CisgICAgd2lkdGg6IDMwMC44cHg7CisgICAgaGVpZ2h0OiAyNTAu
MXB4OworICB9Cis8L3N0eWxlPgorPGJvZHk+CisgIDxkaXYgaWQ9Im91dGVyIj4KKyAgICA8ZGl2
IGlkPSJncmVlbnJlY3QiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBpZD0ib3V0ZXIyIj4KKyAg
ICA8ZGl2IGlkPSJncmVlbnJlY3QiPjwvZGl2PgorICA8L2Rpdj4KKzwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL2RldmljZXBpeGVsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9kZXZpY2VwaXhlbC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiYWRhOTM2M2UyZTgzMjczOGQ0MzE1NzBlOWMxNTc2ZGEzYjc1NWEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1v
YnNlcnZlci9kZXZpY2VwaXhlbC5odG1sCkBAIC0wLDAgKzEsODUgQEAKKzwhZG9jdHlwZSBodG1s
PgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iZGV2aWNlcGl4ZWwtcmVmLmh0bWwiPgorPG1ldGEg
bmFtZT0iYXNzZXJ0IiBjb250ZW50PSJEZXZpY2UgcGl4ZWwgY29udGVudCBib3ggc2l6ZXMgYW5k
IHBpeGVsIHNuYXBwaW5nIGFyZSBjb3JyZWN0IGluIFJlc2l6ZSBPYnNlcnZlciBjYWxsYmFjayI+
Cis8IS0tCisgIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBkZXZpY2UgcGl4ZWwgY29udGVu
dCBib3ggc2l6ZXMgYXZhaWxhYmxlCisgIGluIGEgcmVzaXplIG9ic2VydmVyIGNhbGxiYWNrIGFy
ZSBjb3JyZWN0LiBSZXNpemUgb2JzZXJ2ZXIgbm90aWZpY2F0aW9ucworICBhcmUgZGVsaXZlcmVk
IGFzIHRoZSBlbGVtZW50IGlzIGxvYWRlZC4gQSBib3ggaXMgdGhlbiBkcmF3biB1c2luZyB0aGUK
KyAgYXZhaWxhYmxlIGRpbWVuc2lvbnMgaW4gZGV2aWNlIHBpeGVscy4gVGhlIHJlc3VsdCBpcyBj
b21wYXJlZCB0byB0aGUgcmVmZXJlbmNlCisgIHdoaWNoIHVzZXMgZGl2IGFuZCBib3JkZXIgdG8g
ZHJhdyBhIGJveC4KKy0tPgorCis8c3R5bGU+CisgICNjYW52YXMyRCB7CisgICAgd2lkdGg6IDEw
MCU7CisgICAgaGVpZ2h0OiAxMDAlOworICB9CisgICNjYW52YXMyRFBhZGRpbmcxNCB7CisgICAg
d2lkdGg6IDEwMCU7CisgICAgaGVpZ2h0OiAxMDAlOworICB9CisgICNvdXRlciB7CisgICAgcGFk
ZGluZy10b3A6IDEuN3B4OworICAgIHdpZHRoOiAzMDAuOHB4OworICAgIGhlaWdodDogMjUwLjFw
eDsKKyAgfQorICAjb3V0ZXIyIHsKKyAgICBwYWRkaW5nLXRvcDogMS40cHg7CisgICAgd2lkdGg6
IDMwMC44cHg7CisgICAgaGVpZ2h0OiAyNTAuMXB4OworICB9CisKKzwvc3R5bGU+Cis8Ym9keT4K
KyAgPGRpdiBpZD0ib3V0ZXIiPgorICAgIDxjYW52YXMgaWQ9ImNhbnZhczJEIj48L2NhbnZhcz4K
KyAgPC9kaXY+CisgIDxkaXYgaWQ9Im91dGVyMiI+CisgICAgPGNhbnZhcyBpZD0iY2FudmFzMkRQ
YWRkaW5nMTQiPjwvY2FudmFzPgorICA8L2Rpdj4KKzwvYm9keT4KKworPHNjcmlwdD4KKyAgLy8g
Q3JlYXRlIGEgYm94IHVzaW5nIGRldmljZSBwaXhlbCBjb250ZW50IGJveCBkaW1lbnNpb25zCisg
IGZ1bmN0aW9uIHBhaW50MkQoY3R4LCBzbmFwcGVkU2l6ZSkgeworICAgIGN0eC5iZWdpblBhdGgo
KTsKKyAgICAvLyBVc2UgYSBsaW5ld2lkdGggb2YgMi4gQmVjYXVzZSB0aGUgcmVjdGFuZ2xlIGlz
IGRyYXduIGF0IDAsMCB3aXRoCisgICAgLy8gaXRzIGRpbWVuc2lvbnMgYmVpbmcgdGhlIHNhbWUg
YXMgY2FudmFzIGRpbWVuc2lvbnMsIGxpbmV3aWR0aCBhcyBpdAorICAgIC8vIGlzIGRyYXduIG9u
IHRoZSBjYW52YXMgd2lsbCBiZSAxLgorICAgIGN0eC5saW5lV2lkdGggPSAiMiI7CisgICAgY3R4
LnN0cm9rZVN0eWxlID0gImdyZWVuIjsKKyAgICBjdHgucmVjdCgwLCAwLCBzbmFwcGVkU2l6ZS5p
bmxpbmVTaXplLCBzbmFwcGVkU2l6ZS5ibG9ja1NpemUpOworICAgIGN0eC5zdHJva2UoKTsKKyAg
fQorCisgIGZ1bmN0aW9uIHVwZGF0ZUNhbnZhc1NpemUyRChjYW52YXMyRCwgY3R4LCBzbmFwcGVk
U2l6ZSkgeworICAgIGNhbnZhczJELndpZHRoID0gc25hcHBlZFNpemUuaW5saW5lU2l6ZTsKKyAg
ICBjYW52YXMyRC5oZWlnaHQgPSBzbmFwcGVkU2l6ZS5ibG9ja1NpemU7CisgICAgcGFpbnQyRChj
dHgsIHNuYXBwZWRTaXplKTsKKyAgfQorCisgIChmdW5jdGlvbigpIHsKKyAgICBsZXQgY2FudmFz
MkQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjY2FudmFzMkQiKTsKKyAgICBsZXQgY2FudmFz
MkRQYWRkaW5nMTQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjY2FudmFzMkRQYWRkaW5nMTQi
KTsKKworICAgIGZ1bmN0aW9uIG9ic2VydmVTaXplcygpIHsKKyAgICAgIGxldCBybyA9IG5ldyBS
ZXNpemVPYnNlcnZlciggZW50cmllcyA9PiB7CisgICAgICAgIGZvciAoZW50cnkgb2YgZW50cmll
cykgeworICAgICAgICAgIGxldCBzaXplID0gZW50cnkuZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6
ZVswXTsKKyAgICAgICAgICBpZiAoZW50cnkudGFyZ2V0ID09IGNhbnZhczJEKSB7CisgICAgICAg
ICAgICBsZXQgY2FudmFzMkQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjY2FudmFzMkQiKTsK
KyAgICAgICAgICAgIGxldCBjdHggPSBjYW52YXMyRC5nZXRDb250ZXh0KCIyZCIpOworICAgICAg
ICAgICAgdXBkYXRlQ2FudmFzU2l6ZTJEKGNhbnZhczJELCBjdHgsIHNpemUpOworICAgICAgICAg
IH0gZWxzZSBpZiAoZW50cnkudGFyZ2V0ID09IGNhbnZhczJEUGFkZGluZzE0KXsKKyAgICAgICAg
ICAgIGxldCBjYW52YXMyRFBhZGRpbmcxNCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNjYW52
YXMyRFBhZGRpbmcxNCIpOworICAgICAgICAgICAgbGV0IGN0eCA9IGNhbnZhczJEUGFkZGluZzE0
LmdldENvbnRleHQoIjJkIik7CisgICAgICAgICAgICB1cGRhdGVDYW52YXNTaXplMkQoY2FudmFz
MkRQYWRkaW5nMTQsIGN0eCwgc2l6ZSk7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9
KTsKKyAgICAgIHJvLm9ic2VydmUoY2FudmFzMkQsIHtib3g6ICJkZXZpY2UtcGl4ZWwtY29udGVu
dC1ib3gifSk7CisgICAgICByby5vYnNlcnZlKGNhbnZhczJEUGFkZGluZzE0LCB7Ym94OiAiZGV2
aWNlLXBpeGVsLWNvbnRlbnQtYm94In0pOworICAgIH0KKyAgICBvYnNlcnZlU2l6ZXMoKTsKKyAg
fSkoKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVu
dGxvb3AuaHRtbAppbmRleCA2MjJkNzI0YTE5YjNkYjIwYTIxZWYyNGFiOTg1ZDg0YjdlMzViOWU1
Li4xYTEwZDgyMTE4MmQwM2UzNTRlMjM3MzViMzM0MzZiOTVjMmMzN2FjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci9ldmVudGxvb3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxvb3AuaHRtbApAQCAtMSwzMCArMSwxMiBA
QAogPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6
UmVzaXplT2JzZXJ2ZXJFbmFibGVkPXRydWUgXSAtLT4KKzx0aXRsZT5SZXNpemVPYnNlcnZlciBu
b3RpZmljYXRpb24gZXZlbnQgbG9vcCB0ZXN0czwvdGl0bGU+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
cmVzaXplVGVzdEhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08c3R5bGU+Ci0gIGRpdiB7Ci0gICAgYm9y
ZGVyOiAxcHggZG90dGVkIGdyYXkKLSAgfQotPC9zdHlsZT4KLTxwPlJlc2l6ZU9ic2VydmVyIG5v
dGlmaWNhdGlvbiBldmVudCBsb29wIHRlc3RzPC9wPgotPGRpdiBpZD0idGFyZ2V0MSIgc3R5bGU9
IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQxCi08L2Rpdj4KLTxkaXYgaWQ9ImNvbnRhaW5l
ciI+Ci0gIDxkaXYgaWQ9ImExIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4Ij4KLSAg
ICA8ZGl2IGlkPSJhMiIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweCI+Ci0gICAgPC9k
aXY+Ci0gIDwvZGl2PgotICA8ZGl2IGlkPSJiMSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDox
MDBweCI+Ci0gICAgPGRpdiBpZD0iYjIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgi
PgotICAgIDwvZGl2PgotICA8L2Rpdj4KLTwvZGl2PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KIDxz
Y3JpcHQ+CiAndXNlIHN0cmljdCc7CiAKLWxldCB0MSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
JyN0YXJnZXQxJyk7Ci0KIC8vIGFsbG93IHVuY2F1Z2h0IGV4Y2VwdGlvbiBiZWNhdXNlIFJlc2l6
ZU9ic2VydmVyIHBvc3RzIGV4Y2VwdGlvbnMKIC8vIHRvIHdpbmRvdyBlcnJvciBoYW5kbGVyIHdo
ZW4gbGltaXQgaXMgZXhjZWVkZWQuCiAvLyBUaGlzIGNvZGVwYXRoIGlzIHRlc3RlZCBpbiB0aGlz
IGZpbGUuCkBAIC01Myw4ICszNSwxMSBAQCB3aW5kb3cub25lcnJvciA9IGVyciA9PiB7CiB9CiAK
IGZ1bmN0aW9uIHRlc3QwKCkgeworICBsZXQgdDEgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJk
aXYiKTsKKyAgbGV0IHQyID0gY3JlYXRlQW5kQXBwZW5kRWxlbWVudCgiZGl2IiwgdDEpOworICBs
ZXQgdDMgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiLCB0Mik7CiAKLSAgbGV0IGRpdnMg
PSBbdDFdOworICBsZXQgZGl2cyA9IFt0MSwgdDIsIHQzXTsKICAgbGV0IHJBRiA9IDA7CiAgIGxl
dCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKICAgICAidGVzdDA6IG11bHRpcGxlIG5v
dGlmaWNhdGlvbnMgaW5zaWRlIHNhbWUgZXZlbnQgbG9vcCIsCkBAIC02MiwxMiArNDcsNiBAQCBm
dW5jdGlvbiB0ZXN0MCgpIHsKICAgICB7CiAgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4gewogICAg
ICAgICBvbkVycm9yQ2FsbGVkID0gZmFsc2U7Ci0gICAgICAgIGxldCB0MiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgICAgICBsZXQgdDMgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKLSAgICAgICAgdDIuYXBwZW5kQ2hpbGQodDMpOwotICAgICAgICB0MS5hcHBl
bmRDaGlsZCh0Mik7Ci0gICAgICAgIGRpdnMucHVzaCh0Mik7Ci0gICAgICAgIGRpdnMucHVzaCh0
Myk7CiAgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOwogICAgICAgICBvYnNlcnZlci5vYnNl
cnZlKHQyKTsKICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Myk7CkBAIC0xMDQsMTcgKzgzLDQw
IEBAIGZ1bmN0aW9uIHRlc3QwKCkgewogICAgICAgICBhc3NlcnRfZXF1YWxzKGhlbHBlci5yYWZD
b3VudCwgMSwgIm5ldyBsb29wIik7CiAgICAgICAgIGFzc2VydF9lcXVhbHMob25FcnJvckNhbGxl
ZCwgdHJ1ZSwgImVycm9yIHdhcyBmaXJlZCIpOwogICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0
KCk7Ci0gICAgICAgIHdoaWxlICh0MS5jaGlsZE5vZGVzLmxlbmd0aCA+IDApCi0gICAgICAgICAg
dDEucmVtb3ZlQ2hpbGQodDEuY2hpbGROb2Rlc1swXSk7CiAgICAgICB9CiAgICAgfQogICBdKTsK
LSAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworCisgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2
ZSwgcmVqZWN0KSA9PiB7CisgICAgLy8gVGhpcyB0ZXN0IHVzZXMgcmVxdWVzdEFuaW1hdGlvbkZy
YW1lKCkgdG8gY2hlY2sgdGhlIGNvdW50IG9mIGV2ZW50IGxvb3AsCisgICAgLy8gYnV0IG9uIHNv
bWUgYnJvd3NlcnMsIHRoZSBGcmFtZVJlcXVlc3RDYWxsYmFjayBtYXkgYmUgdGhyb3R0bGVkIChp
LmUuCisgICAgLy8gc2ltcGx5IGZpcmVkIGFmdGVyIHNvbWUgZXh0cmEgdGltZSkgaW4gY2FzZXMg
d2hlcmUgdGhpcyB0ZXN0IGlzIHJ1bm5pbmcKKyAgICAvLyBpbiBhbiBpZnJhbWUgdGhhdCBoYXNu
J3QgeWV0IGJlZW4gcGFpbnRlZCAoaS5lLiB3ZSdyZSBub3QgdmlzaWJsZSkuCisgICAgLy8gVGhp
cyBtYXkgcmVzdWx0IGluIHNvbWUgaW50ZXJtaXR0ZW50IGZhaWx1cmVzIGlmIHRoaXMgdGVzdCBk
aWRuJ3QgZ2V0IGEKKyAgICAvLyBmaXJzdCBwYWludCAoYW5kIGhlbmNlIG1heSBub3QgaGF2ZSBz
dGFydGVkIGZpcmluZyBGcmFtZVJlcXVlc3RDYWxsYmFja3MpCisgICAgLy8gYnkgdGhlIHRpbWUg
dGhlIHRlc3Qgc3RhcnRzIGV4cGVjdGluZyBoZWxwZXIucmFmQ291bnQgdG8gaGF2ZSBjaGFuZ2Vk
LgorICAgIC8vCisgICAgLy8gVGhlcmVmb3JlLCB3ZSBkb24ndCBzdGFydCB0aGUgdGVzdCBsb2dp
YyB1bnRpbCBib2R5Lm9ubG9hZCBoYXMgZmlyZWQuCisgICAgLy8gVGhpcyBpbmNyZWFzZXMgdGhl
IGxpa2VsaWhvb2QgdGhhdCB0aGlzIHRlc3RjYXNlIHdpbGwgaGF2ZSBnb3R0ZW4gYQorICAgIC8v
IGNoYW5jZSB0byBwYWludCB3aGVuIHdlIHN0YXJ0IGludm9raW5nIHJlcXVlc3RBbmltYXRpb25G
cmFtZSwgYW5kIHRoYXQKKyAgICAvLyBpdHMgckFGIGNhbGxiYWNrcyB3aWxsIGZpcmUgd2hlbiB0
aGUgdGVzdCBsb2dpYyBleHBlY3RzIHRoZW0gdG8uCisgICAgZG9jdW1lbnQuYm9keS5vbmxvYWQg
PSAoKSA9PiByZXNvbHZlKCk7CisgIH0pLnRoZW4oKCkgPT4geworICAgIHJldHVybiBoZWxwZXIu
c3RhcnQoKCkgPT4gdDEucmVtb3ZlKCkpOworICB9KTsKIH0KIAogZnVuY3Rpb24gdGVzdDEoKSB7
CisgIGxldCB0MSA9IGNyZWF0ZUFuZEFwcGVuZEVsZW1lbnQoImRpdiIpOworICB0MS5zdHlsZS53
aWR0aCA9ICcxMDBweCc7CisgIGxldCB0MiA9IGNyZWF0ZUFuZEFwcGVuZEVsZW1lbnQoImRpdiIs
IHQxKTsKKyAgbGV0IHQzID0gY3JlYXRlQW5kQXBwZW5kRWxlbWVudCgiZGl2IiwgdDIpOworICBs
ZXQgc2hhZG93ID0gdDMuYXR0YWNoU2hhZG93KHsgbW9kZTogIm9wZW4iIH0pOworICBsZXQgdDQg
PSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiLCBzaGFkb3cpOworICBsZXQgdDUgPSBjcmVh
dGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiLCB0NCk7CisKKyAgbGV0IHJlc2l6ZXJzID0gW3QxLCB0
MiwgdDMsIHQ0LCB0NV07CiAKLSAgdmFyIHJlc2l6ZXJzID0gW3QxXTsKICAgLy8gVGVzdGluZyBk
ZXB0aHMgb2Ygc2hhZG93IHJvb3RzCiAgIC8vIERPTTogdDEgPC0gdDIgPC0gdDMgPC1zaGFkb3ct
IHQ0IDwtIHQ1CiAgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKQEAgLTEyMywx
OSArMTI1LDYgQEAgZnVuY3Rpb24gdGVzdDEoKSB7CiAgICAgewogICAgICAgc2V0dXA6IG9ic2Vy
dmVyID0+IHsKICAgICAgICAgb25FcnJvckNhbGxlZCA9IGZhbHNlOwotICAgICAgICBsZXQgdDIg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgdDEuYXBwZW5kQ2hpbGQo
dDIpOwotICAgICAgICByZXNpemVycy5wdXNoKHQyKTsKLSAgICAgICAgbGV0IHQzID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgICAgIHJlc2l6ZXJzLnB1c2godDMpOwotICAg
ICAgICB0Mi5hcHBlbmRDaGlsZCh0Myk7Ci0gICAgICAgIGxldCBzaGFkb3cgPSB0My5hdHRhY2hT
aGFkb3coeyBtb2RlOiAib3BlbiIgfSk7Ci0gICAgICAgIGxldCB0NCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOwotICAgICAgICByZXNpemVycy5wdXNoKHQ0KTsKLSAgICAgICAgc2hh
ZG93LmFwcGVuZENoaWxkKHQ0KTsKLSAgICAgICAgbGV0IHQ1ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7Ci0gICAgICAgIHJlc2l6ZXJzLnB1c2godDUpOwotICAgICAgICB0NC5hcHBl
bmRDaGlsZCh0NSk7CiAgICAgICAgIHJlc2l6ZXJzLmZvckVhY2goIGVsID0+IG9ic2VydmVyLm9i
c2VydmUoZWwpICk7CiAgICAgICB9LAogICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIp
ID0+IHsKQEAgLTE4MSwxOSArMTcwLDI2IEBAIGZ1bmN0aW9uIHRlc3QxKCkgewogICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCA0LCAibGltaXQgbm90aWZpY2F0aW9ucyIpOwog
ICAgICAgICBhc3NlcnRfZXF1YWxzKG9uRXJyb3JDYWxsZWQsIHRydWUsICJicmVhY2hlZCBsaW1p
dCIpOwogICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7Ci0gICAgICAgIHQxLnJlbW92ZUNo
aWxkKHQxLmZpcnN0Q2hpbGQpOwogICAgICAgfQogICAgIH0sCiAgIF0pOwotICByZXR1cm4gaGVs
cGVyLnN0YXJ0KCk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKCkgPT4gdDEucmVtb3ZlKCkpOwog
fQogCiBmdW5jdGlvbiB0ZXN0MigpIHsKLSAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJyNjb250YWluZXInKTsKLSAgbGV0IGExID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cignI2ExJyk7Ci0gIGxldCBhMiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhMicpOwotICBs
ZXQgYjEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYjEnKTsKLSAgbGV0IGIyID0gZG9jdW1l
bnQucXVlcnlTZWxlY3RvcignI2IyJyk7CisgIC8vIDxkaXYgaWQ9ImNvbnRhaW5lciI+CisgIC8v
ICAgPGRpdiBpZD0iYTEiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgiPgorICAvLyAg
ICAgPGRpdiBpZD0iYTIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgiPjwvZGl2Pgor
ICAvLyAgIDwvZGl2PgorICAvLyAgIDxkaXYgaWQ9ImIxIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVp
Z2h0OjEwMHB4Ij4KKyAgLy8gICAgIDxkaXYgaWQ9ImIyIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVp
Z2h0OjEwMHB4Ij48L2Rpdj4KKyAgLy8gICA8L2Rpdj4KKyAgLy8gPC9kaXY+CisgIGxldCBjb250
YWluZXIgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiKTsKKyAgbGV0IGExID0gY3JlYXRl
QW5kQXBwZW5kRWxlbWVudCgiZGl2IiwgY29udGFpbmVyKTsKKyAgbGV0IGEyID0gY3JlYXRlQW5k
QXBwZW5kRWxlbWVudCgiZGl2IiwgYTEpOworICBsZXQgYjEgPSBjcmVhdGVBbmRBcHBlbmRFbGVt
ZW50KCJkaXYiLCBjb250YWluZXIpOworICBsZXQgYjIgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50
KCJkaXYiLCBiMSk7CiAgIGxldCB0YXJnZXRzID0gW2ExLCBhMiwgYjEsIGIyXTsKIAogICBsZXQg
aGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCkBAIC0yMzcsMTEgKzIzMywxMCBAQCBmdW5j
dGlvbiB0ZXN0MigpIHsKICAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CiAg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJiMiBtb3ZlZCBkb3dud2Fy
ZHMiKTsKICAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgYjIpOwotICAg
ICAgICBhMS5hcHBlbmRDaGlsZChhMik7CiAgICAgICB9CiAgICAgfSwKICAgXSk7Ci0gIHJldHVy
biBoZWxwZXIuc3RhcnQoKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgoKSA9PiBjb250YWluZXIu
cmVtb3ZlKCkpOwogfQogCiBsZXQgZ3VhcmQ7CkBAIC0yNTEsOSArMjQ2LDggQEAgdGVzdChfID0+
IHsKIH0sICJSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCIpCiAKIHRlc3QwKCkKLSAgLnRoZW4o
KCkgPT4geyByZXR1cm4gdGVzdDEoKTsgfSkKLSAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDIo
KTsgfSkKLSAgLnRoZW4oKCkgPT4geyBndWFyZC5kb25lKCk7IH0pOworICAudGhlbigoKSA9PiB0
ZXN0MSgpKQorICAudGhlbigoKSA9PiB0ZXN0MigpKQorICAudGhlbigoKSA9PiBndWFyZC5kb25l
KCkpOwogCiA8L3NjcmlwdD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CmluZGV4IDc0YmMy
ZWQ1YmI0ODE2NDdlZmMxYmFkMjBiYTY1N2QwMzZhMzhkMzAuLjA2MGNiYjdkMGEyN2M3N2U3YjI3
Njk4MGNmNGY1YjBlMDRmZDQyNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTEy
LDI4ICsxMiw0MiBAQCBQQVNTIFJlc2l6ZU9ic2VydmVyIGludGVyZmFjZSBvYmplY3QgbmFtZQog
UEFTUyBSZXNpemVPYnNlcnZlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1MgUmVzaXplT2JzZXJ2ZXIgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAogUEFTUyBSZXNpemVPYnNlcnZlciBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNTIFJlc2l6ZU9ic2VydmVyIGludGVyZmFj
ZTogb3BlcmF0aW9uIG9ic2VydmUoRWxlbWVudCkgCitQQVNTIFJlc2l6ZU9ic2VydmVyIGludGVy
ZmFjZTogb3BlcmF0aW9uIG9ic2VydmUoRWxlbWVudCwgb3B0aW9uYWwgUmVzaXplT2JzZXJ2ZXJP
cHRpb25zKSAKIFBBU1MgUmVzaXplT2JzZXJ2ZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gdW5vYnNl
cnZlKEVsZW1lbnQpIAogUEFTUyBSZXNpemVPYnNlcnZlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBk
aXNjb25uZWN0KCkgCiBQQVNTIFJlc2l6ZU9ic2VydmVyIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2Ygb2JzZXJ2ZXIgCiBQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBvYnNlcnZlciAKLVBBU1Mg
UmVzaXplT2JzZXJ2ZXIgaW50ZXJmYWNlOiBvYnNlcnZlciBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9ic2VydmUoRWxlbWVudCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBSZXNpemVPYnNl
cnZlciBpbnRlcmZhY2U6IGNhbGxpbmcgb2JzZXJ2ZShFbGVtZW50KSBvbiBvYnNlcnZlciB3aXRo
IHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBSZXNpemVPYnNl
cnZlciBpbnRlcmZhY2U6IG9ic2VydmVyIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib2JzZXJ2ZShF
bGVtZW50LCBvcHRpb25hbCBSZXNpemVPYnNlcnZlck9wdGlvbnMpIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKK1BBU1MgUmVzaXplT2JzZXJ2ZXIgaW50ZXJmYWNlOiBjYWxsaW5nIG9ic2VydmUoRWxl
bWVudCwgb3B0aW9uYWwgUmVzaXplT2JzZXJ2ZXJPcHRpb25zKSBvbiBvYnNlcnZlciB3aXRoIHRv
byBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBSZXNpemVPYnNlcnZl
ciBpbnRlcmZhY2U6IG9ic2VydmVyIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidW5vYnNlcnZlKEVs
ZW1lbnQpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgUmVzaXplT2JzZXJ2ZXIgaW50ZXJm
YWNlOiBjYWxsaW5nIHVub2JzZXJ2ZShFbGVtZW50KSBvbiBvYnNlcnZlciB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBSZXNpemVPYnNlcnZlciBpbnRl
cmZhY2U6IG9ic2VydmVyIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGlzY29ubmVjdCgpIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgUmVzaXplT2JzZXJ2ZXJFbnRyeSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotRkFJTCBSZXNpemVP
YnNlcnZlckVudHJ5IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9lcXVhbHM6IHdyb25n
IHZhbHVlIGZvciBSZXNpemVPYnNlcnZlckVudHJ5Lmxlbmd0aCBleHBlY3RlZCAxIGJ1dCBnb3Qg
MAorUEFTUyBSZXNpemVPYnNlcnZlckVudHJ5IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFT
UyBSZXNpemVPYnNlcnZlckVudHJ5IGludGVyZmFjZSBvYmplY3QgbmFtZSAKIFBBU1MgUmVzaXpl
T2JzZXJ2ZXJFbnRyeSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1MgUmVzaXplT2JzZXJ2ZXJFbnRyeSBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIFJlc2l6ZU9ic2VydmVyRW50cnkgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAogUEFTUyBSZXNpemVPYnNlcnZlckVudHJ5
IGludGVyZmFjZTogYXR0cmlidXRlIHRhcmdldCAKIFBBU1MgUmVzaXplT2JzZXJ2ZXJFbnRyeSBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBjb250ZW50UmVjdCAKK0ZBSUwgUmVzaXplT2JzZXJ2ZXJFbnRy
eSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBib3JkZXJCb3hTaXplIGFzc2VydF90cnVlOiBUaGUgcHJv
dG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAiYm9yZGVyQm94U2l6ZSIgZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgUmVzaXplT2JzZXJ2ZXJFbnRyeSBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBjb250ZW50Qm94U2l6ZSBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3Qg
bXVzdCBoYXZlIGEgcHJvcGVydHkgImNvbnRlbnRCb3hTaXplIiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQorRkFJTCBSZXNpemVPYnNlcnZlckVudHJ5IGludGVyZmFjZTogYXR0cmlidXRlIGRldmlj
ZVBpeGVsQ29udGVudEJveFNpemUgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11
c3QgaGF2ZSBhIHByb3BlcnR5ICJkZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplIiBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQogUEFTUyBSZXNpemVPYnNlcnZlckVudHJ5IG11c3QgYmUgcHJpbWFyeSBp
bnRlcmZhY2Ugb2YgZW50cnkgCiBQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBlbnRyeSAKIFBBU1Mg
UmVzaXplT2JzZXJ2ZXJFbnRyeSBpbnRlcmZhY2U6IGVudHJ5IG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAidGFyZ2V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgUmVzaXplT2JzZXJ2ZXJFbnRy
eSBpbnRlcmZhY2U6IGVudHJ5IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29udGVudFJlY3QiIHdp
dGggdGhlIHByb3BlciB0eXBlIAorRkFJTCBSZXNpemVPYnNlcnZlckVudHJ5IGludGVyZmFjZTog
ZW50cnkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJib3JkZXJCb3hTaXplIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJib3JkZXJCb3hTaXplIiBub3QgZm91
bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIFJlc2l6ZU9ic2VydmVyRW50cnkgaW50ZXJmYWNl
OiBlbnRyeSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNvbnRlbnRCb3hTaXplIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJjb250ZW50Qm94U2l6ZSIgbm90
IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBSZXNpemVPYnNlcnZlckVudHJ5IGludGVy
ZmFjZTogZW50cnkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZXZpY2VQaXhlbENvbnRlbnRCb3hT
aXplIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJkZXZp
Y2VQaXhlbENvbnRlbnRCb3hTaXplIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlM
IFJlc2l6ZU9ic2VydmVyU2l6ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIlJlc2l6ZU9ic2VydmVyU2l6ZSIgZXhwZWN0ZWQgcHJvcGVydHkgIlJl
c2l6ZU9ic2VydmVyU2l6ZSIgbWlzc2luZworRkFJTCBSZXNpemVPYnNlcnZlclNpemUgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXJTaXplIiBleHBlY3RlZCBwcm9wZXJ0eSAiUmVz
aXplT2JzZXJ2ZXJTaXplIiBtaXNzaW5nCitGQUlMIFJlc2l6ZU9ic2VydmVyU2l6ZSBpbnRlcmZh
Y2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXJTaXplIiBleHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXpl
T2JzZXJ2ZXJTaXplIiBtaXNzaW5nCitGQUlMIFJlc2l6ZU9ic2VydmVyU2l6ZSBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJSZXNp
emVPYnNlcnZlclNpemUiIGV4cGVjdGVkIHByb3BlcnR5ICJSZXNpemVPYnNlcnZlclNpemUiIG1p
c3NpbmcKK0ZBSUwgUmVzaXplT2JzZXJ2ZXJTaXplIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJSZXNpemVPYnNlcnZlclNpemUiIGV4cGVjdGVkIHByb3BlcnR5ICJSZXNpemVPYnNlcnZl
clNpemUiIG1pc3NpbmcKK0ZBSUwgUmVzaXplT2JzZXJ2ZXJTaXplIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNj
b3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJSZXNpemVPYnNlcnZlclNpemUiIGV4cGVjdGVkIHByb3BlcnR5ICJSZXNp
emVPYnNlcnZlclNpemUiIG1pc3NpbmcKK0ZBSUwgUmVzaXplT2JzZXJ2ZXJTaXplIGludGVyZmFj
ZTogYXR0cmlidXRlIGlubGluZVNpemUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXJTaXplIiBleHBlY3RlZCBwcm9wZXJ0
eSAiUmVzaXplT2JzZXJ2ZXJTaXplIiBtaXNzaW5nCitGQUlMIFJlc2l6ZU9ic2VydmVyU2l6ZSBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBibG9ja1NpemUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXJTaXplIiBleHBlY3RlZCBw
cm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXJTaXplIiBtaXNzaW5nCiBGQUlMIFJlc2l6ZU9ic2VydmF0
aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
UmVzaXplT2JzZXJ2YXRpb24iIGV4cGVjdGVkIHByb3BlcnR5ICJSZXNpemVPYnNlcnZhdGlvbiIg
bWlzc2luZwogRkFJTCBSZXNpemVPYnNlcnZhdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJSZXNp
emVPYnNlcnZhdGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmF0aW9uIiBtaXNz
aW5nCiBGQUlMIFJlc2l6ZU9ic2VydmF0aW9uIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJSZXNpemVPYnNl
cnZhdGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmF0aW9uIiBtaXNzaW5nCkBA
IC00MSw3ICs1NSw2IEBAIEZBSUwgUmVzaXplT2JzZXJ2YXRpb24gaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwCiBGQUlMIFJlc2l6ZU9ic2Vy
dmF0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJSZXNpemVPYnNlcnZhdGlvbiIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmF0aW9uIiBtaXNzaW5nCiBGQUlMIFJlc2l6
ZU9ic2VydmF0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJSZXNpemVPYnNlcnZh
dGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmF0aW9uIiBtaXNzaW5nCiBGQUlM
IFJlc2l6ZU9ic2VydmF0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIHRhcmdldCBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJSZXNpemVPYnNlcnZh
dGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmF0aW9uIiBtaXNzaW5nCi1GQUlM
IFJlc2l6ZU9ic2VydmF0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGJyb2FkY2FzdFdpZHRoIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlJlc2l6
ZU9ic2VydmF0aW9uIiBleHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2YXRpb24iIG1pc3Np
bmcKLUZBSUwgUmVzaXplT2JzZXJ2YXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYnJvYWRjYXN0
SGVpZ2h0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIlJlc2l6ZU9ic2VydmF0aW9uIiBleHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2YXRp
b24iIG1pc3NpbmcKLUZBSUwgUmVzaXplT2JzZXJ2YXRpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24g
aXNBY3RpdmUoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJSZXNpemVPYnNlcnZhdGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2Vy
dmF0aW9uIiBtaXNzaW5nCitGQUlMIFJlc2l6ZU9ic2VydmF0aW9uIGludGVyZmFjZTogYXR0cmli
dXRlIG9ic2VydmVkQm94IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIlJlc2l6ZU9ic2VydmF0aW9uIiBleHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXpl
T2JzZXJ2YXRpb24iIG1pc3NpbmcKK0ZBSUwgUmVzaXplT2JzZXJ2YXRpb24gaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgbGFzdFJlcG9ydGVkU2l6ZXMgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2YXRpb24iIGV4cGVjdGVkIHByb3Bl
cnR5ICJSZXNpemVPYnNlcnZhdGlvbiIgbWlzc2luZwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJu
ZXNzLndpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuaHRtbAppbmRleCA2NjIxYjA3
M2RkNmVjN2QyOTZkMTNkZmJjMjJlNmZjZDM0YTEwYWRlLi4zZmZhZDY3NzIzNDk5ODg1ZDNmNGVj
MzI0YjI2MmFkZjcyNTUxNzQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93Lmh0bWwKQEAgLTEgKzEgQEAKLTwhLS0gVGhpcyBm
aWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhl
IHRlbXBsYXRlZCB0ZXN0IC0tPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFs
OlJlc2l6ZU9ic2VydmVyRW5hYmxlZD10cnVlIF0gLS0+Cis8IS0tIFRoaXMgZmlsZSBpcyByZXF1
aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQg
dGVzdCAtLT48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpSZXNpemVPYnNl
cnZlckVuYWJsZWQ9dHJ1ZSBdIC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanMK
aW5kZXggNTkyYWYyZTBjMDc5MTk3NDU3ZTA5MWQ4NGRmZGIzNzQxNzAzMzk1ZS4uMmQ0NTliMGIx
MjYzNjgyZjBmMzQ3MmQ0YmY3MDZiOGI3MzVkYmNjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVz
cy53aW5kb3cuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanMKQEAgLTcsNyArNyw3IEBA
CiAvLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL1Jlc2l6ZU9ic2VydmVyLwogCiBpZGxfdGVzdCgK
LSAgWydSZXNpemVPYnNlcnZlciddLAorICBbJ3Jlc2l6ZS1vYnNlcnZlciddLAogICBbJ2RvbScs
ICdnZW9tZXRyeSddLAogICBhc3luYyBpZGxfYXJyYXkgPT4gewogICAgIGlkbF9hcnJheS5hZGRf
b2JqZWN0cyh7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2Vy
dmUtZXhwZWN0ZWQudHh0CmluZGV4IDIyMTFiMjEyMDk2OGRjNmYxMjhmNWE4YWNjZTUwMzIyNzY4
NDlkMjAuLjdmMDY5NzEwZDgyN2RmNGRkNmU0MWQ4MzAxOTQyNmNiZjM0NGM1OWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL29ic2VydmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUtZXhwZWN0ZWQudHh0
CkBAIC0xLDkgKzEsNSBAQAogQ09OU09MRSBNRVNTQUdFOiBSZXNpemVPYnNlcnZlciBsb29wIGNv
bXBsZXRlZCB3aXRoIHVuZGVsaXZlcmVkIG5vdGlmaWNhdGlvbnMuCi1SZXNpemVPYnNlcnZlciB0
ZXN0cwotCi10MQotdDIKLSAKK0NPTlNPTEUgTUVTU0FHRTogUmVzaXplT2JzZXJ2ZXIgbG9vcCBj
b21wbGV0ZWQgd2l0aCB1bmRlbGl2ZXJlZCBub3RpZmljYXRpb25zLgogCiBQQVNTIFJlc2l6ZU9i
c2VydmVyIGltcGxlbWVudGVkIAogUEFTUyBndWFyZCAKQEAgLTE1LDQgKzExLDE1IEBAIFBBU1Mg
dGVzdDQ6IHVub2JzZXJ2ZSB0YXJnZXQgc3RvcHMgbm90aWZpY2F0aW9ucywgdW5vYnNlcnZlIG5v
bi1vYnNlcnZlZCBkb2VzIG5vCiBQQVNTIHRlc3Q1OiBvYnNlcnZlIGltZyAKIFBBU1MgdGVzdDY6
IGlmcmFtZSBub3RpZmljYXRpb25zIAogRkFJTCB0ZXN0NzogY2FsbGJhY2sudGhpcyBhc3NlcnRf
ZXF1YWxzOiBjYWxsYmFjay50aGlzIGlzIFJlc2l6ZU9ic2VydmVyIGV4cGVjdGVkIChvYmplY3Qp
IG9iamVjdCAiW29iamVjdCBSZXNpemVPYnNlcnZlcl0iIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5k
ZWZpbmVkCitGQUlMIHRlc3Q4OiBzaW1wbGUgY29udGVudC1ib3ggb2JzZXJ2YXRpb24gdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2VudHJpZXNbMF0uY29udGVudEJveFNp
emVbMF0nKQorRkFJTCB0ZXN0OTogc2ltcGxlIGNvbnRlbnQtYm94IG9ic2VydmF0aW9uIGJ1dCBr
ZWVwIGJvcmRlci1ib3ggc2l6ZSB1bmNoYW5nZWQgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ2VudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0nKQorRkFJTCB0ZXN0MTA6
IHNpbXBsZSBib3JkZXItYm94IG9ic2VydmF0aW9uIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICdlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdJykKK0ZBSUwgdGVzdDEx
OiBzaW1wbGUgb2JzZXJ2YXRpb24gd2l0aCB2ZXJ0aWNhbCB3cml0aW5nIG1vZGUgdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2VudHJpZXNbMF0uY29udGVudEJveFNpemVb
MF0nKQorRkFJTCB0ZXN0MTI6IG5vIG9ic2VydmF0aW9uIGlzIGZpcmVkIGFmdGVyIHRoZSBjaGFu
Z2Ugb2Ygd3JpdGluZyBtb2RlIHdoZW4gYm94J3Mgc3BlY2lmaWVkIHNpemUgY29tZXMgZnJvbSBs
b2dpY2FsIHNpemUgcHJvcGVydGllcy4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ2VudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0nKQorRkFJTCB0ZXN0MTM6IGFuIG9i
c2VydmF0aW9uIGlzIGZpcmVkIGFmdGVyIHRoZSBjaGFuZ2Ugb2Ygd3JpdGluZyBtb2RlIHdoZW4g
Ym94J3Mgc3BlY2lmaWVkIHNpemUgY29tZXMgZnJvbSBwaHlzaWNhbCBzaXplIHByb3BlcnRpZXMu
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlbnRyaWVzWzBdLmNvbnRl
bnRCb3hTaXplWzBdJykKK0ZBSUwgdGVzdDE0OiBvYnNlcnZlIHRoZSBzYW1lIHRhcmdldCBidXQg
dXNpbmcgYSBkaWZmZXJlbnQgYm94IHNob3VsZCBvdmVycmlkZSB0aGUgcHJldmlvdXMgb25lIHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlbnRyaWVzWzBdLmNvbnRlbnRC
b3hTaXplWzBdJykKK0ZBSUwgdGVzdDE1OiBhbiBvYnNlcnZhdGlvbiBpcyBmaXJlZCB3aXRoIGJv
eCBkaW1lbnNpb25zIDAgd2hlbiBlbGVtZW50J3MgZGlzcGxheSBwcm9wZXJ0eSBpcyBzZXQgdG8g
aW5saW5lIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlbnRyaWVzWzBd
LmNvbnRlbnRCb3hTaXplWzBdJykKK1BBU1MgdGVzdDE2OiBvYnNlcnZhdGlvbnMgZG8gbm90IGZp
cmUgZm9yIG5vbi1yZXBsYWNlZCBpbmxpbmUgZWxlbWVudHMgCitGQUlMIHRlc3QxNzogQm94IHNp
emluZyBzbmQgUmVzaXplIE9ic2VydmVyIG5vdGlmaWNhdGlvbnMgdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ2VudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0nKQorRkFJ
TCB0ZXN0MTg6IGFuIG9ic2VydmF0aW9uIGlzIGZpcmVkIHdoZW4gZGV2aWNlLXBpeGVsLWNvbnRl
bnQtYm94IGlzIGJlaW5nIG9ic2VydmVkIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICdlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdJykKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
b2JzZXJ2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sCmluZGV4IGZjNDU5MmQ0NTk0NmMxOWJmYTgy
ZTdhNmQ3MGE4ODJkMDBiMjllOGMuLmRhYTlhMzg2ZGQ5YjhhOTE0ZDhjYzhhMGE5Y2JjMjc4NGYy
MWJkMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWwK
QEAgLTEsNjIgKzEsNjIgQEAKIDwhZG9jdHlwZSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgZXhwZXJpbWVudGFsOlJlc2l6ZU9ic2VydmVyRW5hYmxlZD10cnVlIF0gLS0+Cis8dGl0bGU+
UmVzaXplT2JzZXJ2ZXIgdGVzdHM8L3RpdGxlPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Jlc2l6ZVRl
c3RIZWxwZXIuanMiPjwvc2NyaXB0PgotPHA+UmVzaXplT2JzZXJ2ZXIgdGVzdHM8L3A+Ci08ZGl2
IGlkPSJ0YXJnZXQxIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDE8L2Rpdj4K
LTxkaXYgaWQ9InRhcmdldDIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50Mjwv
ZGl2PgotPGltZyBpZD0idGFyZ2V0MyIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsi
PgotPGlmcmFtZSBzcmM9Ii4vcmVzb3VyY2VzL2lmcmFtZS5odG1sIiB3aWR0aD0iMzAwcHgiIGhl
aWdodD0iMTAwcHgiIHN0eWxlPSJkaXNwbGF5OmJsb2NrIj48L2lmcmFtZT4KKzxkaXYgaWQ9Imxv
ZyI+PC9kaXY+CiA8c2NyaXB0PgogJ3VzZSBzdHJpY3QnOwogCi1sZXQgdDEgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCcjdGFyZ2V0MScpOwotbGV0IHQyID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cignI3RhcmdldDInKTsKLQogLy8gYWxsb3cgdW5jYXVnaHQgZXhjZXB0aW9uIGJlY2F1c2UgUmVz
aXplT2JzZXJ2ZXIgcG9zdHMgZXhjZXB0aW9ucwogLy8gdG8gd2luZG93IGVycm9yIGhhbmRsZXIg
d2hlbiBsaW1pdCBpcyBleGNlZWRlZC4KIHNldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246
IHRydWV9KTsKIAogZnVuY3Rpb24gdGVzdDAoKSB7CisgIGxldCB0ID0gY3JlYXRlQW5kQXBwZW5k
RWxlbWVudCgiZGl2Iik7CisgIHQuc3R5bGUud2lkdGggPSAiMTAwcHgiOworCiAgIGxldCBoZWxw
ZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKICAgICAidGVzdDA6IHNpbXBsZSBvYnNlcnZhdGlv
biIsCiAgIFsKICAgICB7CiAgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4gewotICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHQxKTsKLSAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiNXB4IjsKKyAgICAg
ICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0KTsKKyAgICAgICAgdC5zdHlsZS53aWR0aCA9ICI1cHgiOwog
ICAgICAgfSwKICAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CiAgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7Ci0gICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQxLCAidGFyZ2V0IGlzIHQxIik7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQsICJ0YXJnZXQgaXMgdCIp
OwogICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDUs
ICJ0YXJnZXQgd2lkdGgiKTsKICAgICAgIH0KICAgICB9CiAgIF0pOwotICByZXR1cm4gaGVscGVy
LnN0YXJ0KCk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKCkgPT4gdC5yZW1vdmUoKSk7CiB9CiAK
IGZ1bmN0aW9uIHRlc3QxKCkgeworICBsZXQgdCA9IGNyZWF0ZUFuZEFwcGVuZEVsZW1lbnQoImRp
diIpOworICB0LnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKwogICBsZXQgaGVscGVyID0gbmV3IFJl
c2l6ZVRlc3RIZWxwZXIoCiAgICAgInRlc3QxOiBtdWx0aXBsZSBvYnNlcnZhdGlvbiBvbiBzYW1l
IGVsZW1lbnQgdHJpZ2dlciBvbmx5IG9uZSIsCiAgIFsKICAgICB7CiAgICAgICBzZXR1cDogb2Jz
ZXJ2ZXIgPT4gewotICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKLSAgICAgICAgb2JzZXJ2
ZXIub2JzZXJ2ZSh0MSk7Ci0gICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjEwcHgiOworICAgICAg
ICBvYnNlcnZlci5vYnNlcnZlKHQpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQpOworICAg
ICAgICB0LnN0eWxlLndpZHRoID0gIjEwcHgiOwogICAgICAgfSwKICAgICAgIG5vdGlmeTogZW50
cmllcyA9PiB7CiAgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBl
bmRpbmcgbm90aWZpY2F0aW9uIik7CiAgICAgICB9CiAgICAgfQogICBdKTsKLSAgcmV0dXJuIGhl
bHBlci5zdGFydCgpOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCgpID0+IHQucmVtb3ZlKCkpOwog
fQogCiBmdW5jdGlvbiB0ZXN0MigpIHsKICAgdGVzdCgoKSA9PiB7Ci0gICAgICBhc3NlcnRfdGhy
b3dzKHtuYW1lOiAiVHlwZUVycm9yIn0sIF89PiB7CisgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5
cGVFcnJvciwgXz0+IHsKICAgICAgICAgbGV0IHJvID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+
IHt9KTsKICAgICAgICAgcm8ub2JzZXJ2ZSh7fSk7CiAgICAgICB9KTsKQEAgLTY3LDYgKzY3LDEx
IEBAIGZ1bmN0aW9uIHRlc3QyKCkgewogfQogCiBmdW5jdGlvbiB0ZXN0MygpIHsKKyAgbGV0IHQx
ID0gY3JlYXRlQW5kQXBwZW5kRWxlbWVudCgiZGl2Iik7CisgIGxldCB0MiA9IGNyZWF0ZUFuZEFw
cGVuZEVsZW1lbnQoImRpdiIpOworICB0MS5zdHlsZS53aWR0aCA9ICIxMDBweCI7CisgIHQyLnN0
eWxlLndpZHRoID0gIjEwMHB4IjsKKwogICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxw
ZXIoCiAgICAgInRlc3QzOiBkaXNjb25uZWN0IHN0b3BzIGFsbCBub3RpZmljYXRpb25zIiwgWwog
ICAgIHsKQEAgLTg0LDEwICs4OSwxOCBAQCBmdW5jdGlvbiB0ZXN0MygpIHsKICAgICAgIH0KICAg
ICB9CiAgIF0pOwotICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7CisgIHJldHVybiBoZWxwZXIuc3Rh
cnQoKCkgPT4geworICAgIHQxLnJlbW92ZSgpOworICAgIHQyLnJlbW92ZSgpOworICB9KTsKIH0K
IAogZnVuY3Rpb24gdGVzdDQoKSB7CisgIGxldCB0MSA9IGNyZWF0ZUFuZEFwcGVuZEVsZW1lbnQo
ImRpdiIpOworICBsZXQgdDIgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiKTsKKyAgdDEu
c3R5bGUud2lkdGggPSAiMTAwcHgiOworICB0Mi5zdHlsZS53aWR0aCA9ICIxMDBweCI7CisKICAg
bGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAogICAgICJ0ZXN0NDogdW5vYnNlcnZl
IHRhcmdldCBzdG9wcyBub3RpZmljYXRpb25zLCB1bm9ic2VydmUgbm9uLW9ic2VydmVkIGRvZXMg
bm90aGluZyIsIFsKICAgICB7CkBAIC0xMDUsNjEgKzExOCw5MCBAQCBmdW5jdGlvbiB0ZXN0NCgp
IHsKICAgICAgIH0KICAgICB9CiAgIF0pOwotICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7CisgIHJl
dHVybiBoZWxwZXIuc3RhcnQoKCkgPT4geworICAgIHQxLnJlbW92ZSgpOworICAgIHQyLnJlbW92
ZSgpOworICB9KTsKIH0KIAogZnVuY3Rpb24gdGVzdDUoKSB7Ci0gIGxldCB0MyA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQzJyk7Ci0gIHZhciBoZWxwZXIgPSBuZXcgUmVzaXplVGVz
dEhlbHBlcigidGVzdDU6IG9ic2VydmUgaW1nIixbCisgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgp
OworICBpbWcuc3R5bGUud2lkdGggPSAiMTVweCI7CisgIGltZy5zdHlsZS5oZWlnaHQgPSAiMTVw
eCI7CisgIGltZy5zcmMgPSAicmVzb3VyY2VzL2ltYWdlLnBuZyI7CisKKyAgbGV0IGhlbHBlciA9
IG5ldyBSZXNpemVUZXN0SGVscGVyKCJ0ZXN0NTogb2JzZXJ2ZSBpbWciLFsKICAgICB7CiAgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4gewotICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQzKTsKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShpbWcpOwogICAgICAgfSwKICAgICAgIG5vdGlmeTogZW50
cmllcyA9PiB7CiAgICAgICB9CiAgICAgfSwKICAgICB7CiAgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4gewotICAgICAgICB0My5zdHlsZS53aWR0aCA9ICIxMDAuNXB4IjsKKyAgICAgICAgaW1nLnN0
eWxlLndpZHRoID0gIjE1LjVweCI7CiAgICAgICB9LAogICAgICAgbm90aWZ5OiBlbnRyaWVzID0+
IHsKICAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7Ci0gICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMTAwLjUpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDE1LjUpOwogICAg
ICAgfQogICAgIH0KICAgXSk7Ci0gIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKKyAgcmV0dXJuIGlt
Zy5kZWNvZGUoKS50aGVuKCgpID0+IHsKKyAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7CisgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGltZyk7CisgICAgICAgIHJlc29sdmUoKTsKKyAgICAgIH0pOwor
ICAgIH0pOworICB9KS5jYXRjaChlcnJvciA9PiB7CisgICAgYXNzZXJ0X3VucmVhY2hlZCgiZGVj
b2RlIGltYWdlIGZhaWxlZCIpOworICB9KS50aGVuKCgpID0+IHsKKyAgICByZXR1cm4gaGVscGVy
LnN0YXJ0KCgpID0+IGltZy5yZW1vdmUoKSk7CisgIH0pOwogfQogCiBmdW5jdGlvbiB0ZXN0Nigp
IHsKLSAgbGV0IHJlc29sdmVQcm9taXNlOwotICBsZXQgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChy
ZXNvbHZlKSA9PiB7Ci0gICAgcmVzb2x2ZVByb21pc2UgPSByZXNvbHZlOwotICB9KTsKLSAgbGV0
IHRlc3QgPSBhc3luY190ZXN0KCd0ZXN0NjogaWZyYW1lIG5vdGlmaWNhdGlvbnMnKTsKLSAgbGV0
IHRlc3RSZXF1ZXN0ZWQgPSBmYWxzZTsKLSAgbGV0IGlmcmFtZSA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJ2lmcmFtZScpOwotICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGV2
ZW50ID0+IHsKLSAgICBzd2l0Y2goZXZlbnQuZGF0YSkgewotICAgIGNhc2UgJ3JlYWR5VG9UZXN0
JzoKLSAgICAgIGlmICghdGVzdFJlcXVlc3RlZCkgewotICAgICAgICBpZnJhbWUuY29udGVudFdp
bmRvdy5wb3N0TWVzc2FnZSgnc3RhcnRUZXN0JywgJyonKTsKLSAgICAgICAgdGVzdFJlcXVlc3Rl
ZCA9IHRydWU7Ci0gICAgICB9Ci0gICAgYnJlYWs7Ci0gICAgY2FzZSAnc3VjY2Vzcyc6Ci0gICAg
Y2FzZSAnZmFpbCc6Ci0gICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsK
LSAgICAgICAgdGVzdC5zdGVwKCAoKSA9PiB7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVu
dC5kYXRhLCAnc3VjY2VzcycpOwotICAgICAgICAgIHRlc3QuZG9uZSgpOwotICAgICAgICAgIHJl
c29sdmVQcm9taXNlKCk7CisgIGxldCBpZnJhbWUgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJp
ZnJhbWUiKTsKKyAgaWZyYW1lLnNyYyA9ICIuL3Jlc291cmNlcy9pZnJhbWUuaHRtbCI7CisgIGlm
cmFtZS53aWR0aCA9ICIzMDBweCI7CisgIGlmcmFtZS5oZWlnaHQgPSAiMTAwcHgiOworICBpZnJh
bWUuc3R5bGUuZGlzcGxheSA9ICJibG9jayI7CisKKyAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUsIHJlamVjdCkgeworICAgIGlmcmFtZS5vbmxvYWQgPSAoKSA9PiByZXNvbHZl
KCk7CisgIH0pLnRoZW4oKCkgPT4geworICAgIGxldCByZXNvbHZlUHJvbWlzZTsKKyAgICBsZXQg
cHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICByZXNvbHZlUHJvbWlz
ZSA9IHJlc29sdmU7CisgICAgfSk7CisgICAgbGV0IHRlc3QgPSBhc3luY190ZXN0KCd0ZXN0Njog
aWZyYW1lIG5vdGlmaWNhdGlvbnMnKTsKKyAgICBsZXQgdGVzdFJlcXVlc3RlZCA9IGZhbHNlOwor
ICAgIHRlc3QuYWRkX2NsZWFudXAoKCkgPT4gaWZyYW1lLnJlbW92ZSgpKTsKKworICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZXZlbnQgPT4geworICAgICAgc3dpdGNoKGV2
ZW50LmRhdGEpIHsKKyAgICAgIGNhc2UgJ3JlYWR5VG9UZXN0JzoKKyAgICAgICAgaWYgKCF0ZXN0
UmVxdWVzdGVkKSB7CisgICAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2Uo
J3N0YXJ0VGVzdCcsICcqJyk7CisgICAgICAgICAgdGVzdFJlcXVlc3RlZCA9IHRydWU7CisgICAg
ICAgIH0KKyAgICAgIGJyZWFrOworICAgICAgY2FzZSAnc3VjY2Vzcyc6CisgICAgICBjYXNlICdm
YWlsJzoKKyAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAg
ICAgICAgdGVzdC5zdGVwKCAoKSA9PiB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50
LmRhdGEsICdzdWNjZXNzJyk7CisgICAgICAgICAgICB0ZXN0LmRvbmUoKTsKKyAgICAgICAgICAg
IHJlc29sdmVQcm9taXNlKCk7CisgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwotICAgICAgfSk7
Ci0gICAgYnJlYWs7Ci0gICAgfQotICB9LCBmYWxzZSk7Ci0gIHJldHVybiBwcm9taXNlOworICAg
ICAgYnJlYWs7CisgICAgICB9CisgICAgfSwgZmFsc2UpOworICAgIHJldHVybiBwcm9taXNlOwor
ICB9KTsKIH0KIAogZnVuY3Rpb24gdGVzdDcoKSB7CkBAIC0xODEsMTMgKzIyMyw2ODkgQEAgZnVu
Y3Rpb24gdGVzdDcoKSB7CiAgICAgIH0pOwogICAgIH0KICAgKTsKLSAgcm8ub2JzZXJ2ZSh0MSk7
CisKKyAgbGV0IHQgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiKTsKKyAgdC5zdHlsZS53
aWR0aCA9ICIxMDBweCI7CisgIGhhcm5lc3NUZXN0LmFkZF9jbGVhbnVwKCgpID0+IHQucmVtb3Zl
KCkpOworCisgIHJvLm9ic2VydmUodCk7CiAKICAgcmV0dXJuIG5ldyBQcm9taXNlKCAocmVzb2x2
ZSwgcmVqZWN0KSA9PiB7CiAgICAgcmVzb2x2ZVByb21pc2UgPSByZXNvbHZlOwogICB9KTsKIH0K
IAorZnVuY3Rpb24gdGVzdDgoKSB7CisgIGxldCB0ID0gY3JlYXRlQW5kQXBwZW5kRWxlbWVudCgi
ZGl2Iik7CisgIHQuc3R5bGUud2lkdGggPSAiMTAwcHgiOworICB0LnN0eWxlLmhlaWdodCA9ICIx
MDBweCI7CisKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0
ODogc2ltcGxlIGNvbnRlbnQtYm94IG9ic2VydmF0aW9uIiwKKyAgWworICAgIHsKKyAgICAgIHNl
dHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodCwgeyBib3g6ICJj
b250ZW50LWJveCIgfSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBub3RpZmlj
YXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdCwgInRh
cmdldCBpcyB0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVj
dC53aWR0aCwgMTAwLCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDEwMCwgInRhcmdldCBoZWlnaHQiKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LnRvcCwgMCwgInRhcmdldCB0
b3AgcGFkZGluZyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJl
Y3QubGVmdCwgMCwgInRhcmdldCBsZWZ0IHBhZGRpbmciKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmlubGluZVNpemUsIDEwMCwKKyAgICAgICAg
ICAgICAgICAgICAgICAidGFyZ2V0IGNvbnRlbnQtYm94IGlubGluZSBzaXplIik7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5ibG9ja1NpemUsIDEw
MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGNvbnRlbnQtYm94IGJsb2NrIHNpemUi
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uaW5s
aW5lU2l6ZSwgMTAwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgYm9yZGVyLWJveCBp
bmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94
U2l6ZVswXS5ibG9ja1NpemUsIDEwMCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJv
cmRlci1ib3ggYmxvY2sgc2l6ZSIpOworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0
dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdC5zdHlsZS53aWR0aCA9ICI5MHB4IjsKKyAgICAg
ICAgdC5zdHlsZS5oZWlnaHQgPSAiOTBweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRy
aWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVu
ZGluZyBub3RpZmljYXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRh
cmdldCwgdCwgInRhcmdldCBpcyB0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sw
XS5jb250ZW50UmVjdC53aWR0aCwgOTAsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgOTAsICJ0YXJnZXQgaGVpZ2h0
Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC50b3AsIDAs
ICJ0YXJnZXQgdG9wIHBhZGRpbmciKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBd
LmNvbnRlbnRSZWN0LmxlZnQsIDAsICJ0YXJnZXQgbGVmdCBwYWRkaW5nIik7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5pbmxpbmVTaXplLCA5MCwK
KyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGNvbnRlbnQtYm94IGlubGluZSBzaXplIik7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5ibG9j
a1NpemUsIDkwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggYmxv
Y2sgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6
ZVswXS5pbmxpbmVTaXplLCA5MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRl
ci1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJv
cmRlckJveFNpemVbMF0uYmxvY2tTaXplLCA5MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFy
Z2V0IGJvcmRlci1ib3ggYmxvY2sgc2l6ZSIpOworICAgICAgfQorICAgIH0sCisgICAgeworICAg
ICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdC5zdHlsZS5wYWRkaW5nID0gIjVweCI7
CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X3Vu
cmVhY2hlZCgidGhlICdjb250ZW50LWJveCcgUmVzaXplT2JzZXJ2ZXIgc2hvdWxkbid0IGZpcmUg
IiArCisgICAgICAgICAgICAgICAgICAgICAgICAgImZvciByZXN0eWxlcyB0aGF0IGRvbid0IGFm
ZmVjdCB0aGUgY29udGVudC1ib3ggc2l6ZSIpOworICAgICAgfSwKKyAgICAgIHRpbWVvdXQ6ICgp
ID0+IHsKKyAgICAgICAgLy8gZXhwZWN0ZWQKKyAgICAgICAgLy8gTm90ZTogdGhlIGJvcmRlci1i
b3ggc2l6ZSBpcyAxMDBweCB4IDEwMHB4IHJpZ2h0IG5vdy4KKyAgICAgIH0KKyAgICB9CisgIF0p
OworICByZXR1cm4gaGVscGVyLnN0YXJ0KCgpID0+IHQucmVtb3ZlKCkpOworfQorCitmdW5jdGlv
biB0ZXN0OSgpIHsKKyAgbGV0IHQgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiKTsKKyAg
dC5zdHlsZS53aWR0aCA9ICIxMDBweCI7CisgIHQuc3R5bGUuaGVpZ2h0ID0gIjEwMHB4IjsKKwor
ICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q5OiBzaW1wbGUg
Y29udGVudC1ib3ggb2JzZXJ2YXRpb24gYnV0IGtlZXAgYm9yZGVyLWJveCBzaXplIHVuY2hhbmdl
ZCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHQsIHsgYm94OiAiY29udGVudC1ib3giIH0pOworICAgICAgfSwKKyAgICAg
IG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5n
dGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllc1swXS50YXJnZXQsIHQsICJ0YXJnZXQgaXMgdCIpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCwgInRhcmdldCB3aWR0aCIpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCAxMDAs
ICJ0YXJnZXQgaGVpZ2h0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250
ZW50UmVjdC50b3AsIDAsICJ0YXJnZXQgdG9wIHBhZGRpbmciKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmxlZnQsIDAsICJ0YXJnZXQgbGVmdCBwYWRkaW5n
Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5p
bmxpbmVTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJv
eCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVu
dEJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdl
dCBjb250ZW50LWJveCBibG9jayBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5ib3JkZXJCb3hTaXplWzBdLmlubGluZVNpemUsIDEwMCwKKyAgICAgICAgICAgICAgICAg
ICAgICAidGFyZ2V0IGJvcmRlci1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAg
ICAgICAgICAgICAgICAgInRhcmdldCBib3JkZXItYm94IGJsb2NrIHNpemUiKTsKKyAgICAgIH0K
KyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIC8vIEtl
ZXAgdGhlIGJvcmRlci1ib3ggc2l6ZSB0aGUgc2FtZSwgYW5kIGNoYW5nZSB0aGUgY29udGVudC1i
b3ggc2l6ZS4KKyAgICAgICAgdC5zdHlsZS53aWR0aCA9ICI5MnB4IjsKKyAgICAgICAgdC5zdHls
ZS5oZWlnaHQgPSAiOTJweCI7CisgICAgICAgIHQuc3R5bGUucGFkZGluZyA9ICI0cHgiOworICAg
ICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQsICJ0YXJnZXQgaXMgdCIpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDkyLCAidGFyZ2V0
IHdpZHRoIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5o
ZWlnaHQsIDkyLCAidGFyZ2V0IGhlaWdodCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3QudG9wLCA0LCAidGFyZ2V0IHRvcCBwYWRkaW5nIik7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5sZWZ0LCA0LCAidGFyZ2V0IGxl
ZnQgcGFkZGluZyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJv
eFNpemVbMF0uaW5saW5lU2l6ZSwgOTIsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBj
b250ZW50LWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNb
MF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCA5MiwKKyAgICAgICAgICAgICAgICAgICAg
ICAidGFyZ2V0IGNvbnRlbnQtYm94IGJsb2NrIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uaW5saW5lU2l6ZSwgMTAwLAorICAgICAgICAg
ICAgICAgICAgICAgICJ0YXJnZXQgYm9yZGVyLWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5ibG9ja1NpemUsIDEwMCwK
KyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggYmxvY2sgc2l6ZSIpOwor
ICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKCkgPT4gdC5yZW1v
dmUoKSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxMCgpIHsKKyAgbGV0IHQgPSBjcmVhdGVBbmRBcHBl
bmRFbGVtZW50KCJkaXYiKTsKKyAgdC5zdHlsZS53aWR0aCA9ICIxMDBweCI7CisgIHQuc3R5bGUu
aGVpZ2h0ID0gIjEwMHB4IjsKKworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIo
CisgICAgInRlc3QxMDogc2ltcGxlIGJvcmRlci1ib3ggb2JzZXJ2YXRpb24iLAorICBbCisgICAg
eworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0
LCB7IGJveDogImJvcmRlci1ib3giIH0pOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmll
cyA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRp
bmcgbm90aWZpY2F0aW9uIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJn
ZXQsIHQsICJ0YXJnZXQgaXMgdCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0u
Y29udGVudFJlY3Qud2lkdGgsIDEwMCwgInRhcmdldCB3aWR0aCIpOworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCAxMDAsICJ0YXJnZXQgaGVpZ2h0
Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC50b3AsIDAs
ICJ0YXJnZXQgdG9wIHBhZGRpbmciKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBd
LmNvbnRlbnRSZWN0LmxlZnQsIDAsICJ0YXJnZXQgbGVmdCBwYWRkaW5nIik7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5pbmxpbmVTaXplLCAxMDAs
CisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBpbmxpbmUgc2l6ZSIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxv
Y2tTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBi
bG9jayBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hT
aXplWzBdLmlubGluZVNpemUsIDEwMCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJv
cmRlci1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBd
LmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAg
InRhcmdldCBib3JkZXItYm94IGJsb2NrIHNpemUiKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHQuc3R5bGUucGFkZGluZyA9ICI0
cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQsICJ0YXJnZXQgaXMgdCIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEw
MCwgInRhcmdldCB3aWR0aCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29u
dGVudFJlY3QuaGVpZ2h0LCAxMDAsICJ0YXJnZXQgaGVpZ2h0Iik7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC50b3AsIDQsICJ0YXJnZXQgdG9wIHBhZGRpbmci
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmxlZnQsIDQs
ICJ0YXJnZXQgbGVmdCBwYWRkaW5nIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sw
XS5jb250ZW50Qm94U2l6ZVswXS5pbmxpbmVTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAg
ICAgInRhcmdldCBjb250ZW50LWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAg
ICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBibG9jayBzaXplIik7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmlubGluZVNpemUsIDEw
OCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggaW5saW5lIHNpemUi
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxv
Y2tTaXplLCAxMDgsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBib3JkZXItYm94IGJs
b2NrIHNpemUiKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZl
ciA9PiB7CisgICAgICAgIHQuc3R5bGUud2lkdGggPSAiMTA0cHgiOworICAgICAgICB0LnN0eWxl
LmhlaWdodCA9ICIxMDRweCI7CisgICAgICAgIHQuc3R5bGUucGFkZGluZyA9ICIycHgiOworICAg
ICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2VydF91bnJlYWNo
ZWQoInRoZSAnYm9yZGVyLWJveCcgUmVzaXplT2JzZXJ2ZXIgc2hvdWxkbid0IGZpcmUgIiArCisg
ICAgICAgICAgICAgICAgICAgICAgICAgImZvciByZXN0eWxlcyB0aGF0IGRvbid0IGFmZmVjdCB0
aGUgYm9yZGVyLWJveCBzaXplIik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4gewor
ICAgICAgICAvLyBleHBlY3RlZDogMTA0ICsgMiAqIDIgPSAxMDguIFRoZSBib3JkZXItYm94IHNp
emUgaXMgdGhlIHNhbWUuCisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5z
dGFydCgoKSA9PiB0LnJlbW92ZSgpKTsKK30KKworZnVuY3Rpb24gdGVzdDExKCkgeworICBsZXQg
d3JhcHBlciA9IGNyZWF0ZUFuZEFwcGVuZEVsZW1lbnQoImRpdiIpOworICB3cmFwcGVyLnN0eWxl
LndpZHRoID0gIjEwMHB4IjsKKyAgd3JhcHBlci5zdHlsZS5oZWlnaHQgPSAiMTAwcHgiOworICB3
cmFwcGVyLnN0eWxlLndyaXRpbmdNb2RlID0gInZlcnRpY2FsLXJsIjsKKyAgbGV0IHQgPSBjcmVh
dGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiLCB3cmFwcGVyKTsKKyAgdC5zdHlsZS5pbmxpbmVTaXpl
ID0gIjUwcHgiOworICB0LnN0eWxlLmJsb2NrU2l6ZSA9ICI1MHB4IjsKKworICBsZXQgaGVscGVy
ID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxMTogc2ltcGxlIG9ic2VydmF0aW9u
IHdpdGggdmVydGljYWwgd3JpdGluZyBtb2RlIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBv
YnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodCk7CisgICAgICB9LAorICAg
ICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxl
bmd0aCwgMSwgIjEgcGVuZGluZyBub3RpZmljYXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzWzBdLnRhcmdldCwgdCwgInRhcmdldCBpcyB0Iik7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgNTAsICJ0YXJnZXQgd2lkdGgiKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgNTAs
ICJ0YXJnZXQgaGVpZ2h0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250
ZW50Qm94U2l6ZVswXS5pbmxpbmVTaXplLCA1MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFy
Z2V0IGNvbnRlbnQtYm94IGlubGluZSBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5ibG9ja1NpemUsIDUwLAorICAgICAgICAgICAgICAg
ICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggYmxvY2sgc2l6ZSIpOworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5pbmxpbmVTaXplLCA1MCwKKyAgICAg
ICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCA1
MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggYmxvY2sgc2l6ZSIp
OworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgdC5zdHlsZS5ibG9ja1NpemUgPSAiNzVweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwg
IjEgcGVuZGluZyBub3RpZmljYXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLnRhcmdldCwgdCwgInRhcmdldCBpcyB0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgNzUsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgNTAsICJ0YXJnZXQg
aGVpZ2h0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6
ZVswXS5pbmxpbmVTaXplLCA1MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGNvbnRl
bnQtYm94IGlubGluZSBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5j
b250ZW50Qm94U2l6ZVswXS5ibG9ja1NpemUsIDc1LAorICAgICAgICAgICAgICAgICAgICAgICJ0
YXJnZXQgY29udGVudC1ib3ggYmxvY2sgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5pbmxpbmVTaXplLCA1MCwKKyAgICAgICAgICAgICAg
ICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCA3NSwKKyAgICAg
ICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggYmxvY2sgc2l6ZSIpOworICAgICAg
fQorICAgIH0KKyAgXSk7CisKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgoKSA9PiB7CisgICAgdC5y
ZW1vdmUoKTsKKyAgICB3cmFwcGVyLnJlbW92ZSgpOworICB9KTsKK30KKworZnVuY3Rpb24gdGVz
dDEyKCkgeworICBsZXQgdCA9IGNyZWF0ZUFuZEFwcGVuZEVsZW1lbnQoImRpdiIpOworICB0LnN0
eWxlLndyaXRpbmdNb2RlID0gInZlcnRpY2FsLWxyIjsKKyAgdC5zdHlsZS5pbmxpbmVTaXplID0g
IjEwMHB4IjsKKyAgdC5zdHlsZS5ibG9ja1NpemUgPSAiNTBweCI7CisKKyAgbGV0IGhlbHBlciA9
IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTI6IG5vIG9ic2VydmF0aW9uIGlzIGZp
cmVkIGFmdGVyIHRoZSBjaGFuZ2Ugb2Ygd3JpdGluZyBtb2RlIHdoZW4gIiArCisgICAgImJveCdz
IHNwZWNpZmllZCBzaXplIGNvbWVzIGZyb20gbG9naWNhbCBzaXplIHByb3BlcnRpZXMuIiwKKyAg
WworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9i
c2VydmUodCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBub3RpZmljYXRpb24i
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdCwgInRhcmdldCBp
cyB0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0
aCwgNTAsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBd
LmNvbnRlbnRSZWN0LmhlaWdodCwgMTAwLCAidGFyZ2V0IGhlaWdodCIpOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uaW5saW5lU2l6ZSwgMTAwLAor
ICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggaW5saW5lIHNpemUiKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmJsb2Nr
U2l6ZSwgNTAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBibG9j
ayBzaXplIik7CisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4geworICAgICAgICB0LnN0eWxlLndyaXRpbmdNb2RlID0gImhvcml6b250YWwtdGIiOworICAg
ICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2VydF91bnJlYWNo
ZWQoInRoZSBsb2dpY2FsIHNpemUgb2YgY29udGVudC1ib3ggZG9lc24ndCBjaGFuZ2UiKTsKKyAg
ICAgIH0sCisgICAgICB0aW1lb3V0OiAoKSA9PiB7CisgICAgICAgIC8vIGV4cGVjdGVkOiBXZSBk
b24ndCBjaGFuZ2UgdGhlIGxvZ2ljYWwgc2l6ZSBvZiBjb250ZW50LWJveC4KKyAgICAgIH0KKyAg
ICB9CisgIF0pOworCisgIHJldHVybiBoZWxwZXIuc3RhcnQoKCkgPT4gdC5yZW1vdmUoKSk7Cit9
CisKK2Z1bmN0aW9uIHRlc3QxMygpIHsKKyAgbGV0IHQgPSBjcmVhdGVBbmRBcHBlbmRFbGVtZW50
KCJkaXYiKTsKKyAgdC5zdHlsZS53cml0aW5nTW9kZSA9ICJ2ZXJ0aWNhbC1sciI7CisgIHQuc3R5
bGUuaGVpZ2h0ID0gIjEwMHB4IjsKKyAgdC5zdHlsZS53aWR0aCA9ICI1MHB4IjsKKworICBsZXQg
aGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxMzogYW4gb2JzZXJ2YXRp
b24gaXMgZmlyZWQgYWZ0ZXIgdGhlIGNoYW5nZSBvZiB3cml0aW5nIG1vZGUgd2hlbiAiICsKKyAg
ICAiYm94J3Mgc3BlY2lmaWVkIHNpemUgY29tZXMgZnJvbSBwaHlzaWNhbCBzaXplIHByb3BlcnRp
ZXMuIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9i
c2VydmVyLm9ic2VydmUodCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBub3Rp
ZmljYXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdCwg
InRhcmdldCBpcyB0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50
UmVjdC53aWR0aCwgNTAsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMTAwLCAidGFyZ2V0IGhlaWdodCIpOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uaW5saW5lU2l6
ZSwgMTAwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggaW5saW5l
IHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXpl
WzBdLmJsb2NrU2l6ZSwgNTAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50
LWJveCBibG9jayBzaXplIik7CisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDog
b2JzZXJ2ZXIgPT4geworICAgICAgICB0LnN0eWxlLndyaXRpbmdNb2RlID0gImhvcml6b250YWwt
dGIiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQsICJ0YXJnZXQgaXMgdCIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDUw
LCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250
ZW50UmVjdC5oZWlnaHQsIDEwMCwgInRhcmdldCBoZWlnaHQiKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmlubGluZVNpemUsIDUwLAorICAgICAg
ICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmJsb2NrU2l6ZSwg
MTAwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggYmxvY2sgc2l6
ZSIpOworICAgICAgfSwKKyAgICB9CisgIF0pOworCisgIHJldHVybiBoZWxwZXIuc3RhcnQoKCkg
PT4gdC5yZW1vdmUoKSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxNCgpIHsKKyAgbGV0IHQgPSBjcmVh
dGVBbmRBcHBlbmRFbGVtZW50KCJkaXYiKTsKKyAgdC5zdHlsZS53aWR0aCA9ICIxMDBweCI7Cisg
IHQuc3R5bGUuaGVpZ2h0ID0gIjEwMHB4IjsKKworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRl
c3RIZWxwZXIoCisgICAgInRlc3QxNDogb2JzZXJ2ZSB0aGUgc2FtZSB0YXJnZXQgYnV0IHVzaW5n
IGEgZGlmZmVyZW50IGJveCBzaG91bGQgIiArCisgICAgIm92ZXJyaWRlIHRoZSBwcmV2aW91cyBv
bmUiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh0LCB7IGJveDogImNvbnRlbnQtYm94IiB9KTsKKyAgICAgICAgb2JzZXJ2
ZXIub2JzZXJ2ZSh0LCB7IGJveDogImJvcmRlci1ib3giIH0pOworICAgICAgfSwKKyAgICAgIG5v
dGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllc1swXS50YXJnZXQsIHQsICJ0YXJnZXQgaXMgdCIpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCwgInRhcmdldCB3aWR0aCIpOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCAxMDAsICJ0
YXJnZXQgaGVpZ2h0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50
UmVjdC50b3AsIDAsICJ0YXJnZXQgdG9wIHBhZGRpbmciKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmxlZnQsIDAsICJ0YXJnZXQgbGVmdCBwYWRkaW5nIik7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5pbmxp
bmVTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBp
bmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJv
eFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBj
b250ZW50LWJveCBibG9jayBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sw
XS5ib3JkZXJCb3hTaXplWzBdLmlubGluZVNpemUsIDEwMCwKKyAgICAgICAgICAgICAgICAgICAg
ICAidGFyZ2V0IGJvcmRlci1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAgICAg
ICAgICAgICAgICAgInRhcmdldCBib3JkZXItYm94IGJsb2NrIHNpemUiKTsKKyAgICAgIH0KKyAg
ICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIC8vIENoYW5n
ZSBib3JkZXItYm94IHNpemUuCisgICAgICAgIHQuc3R5bGUucGFkZGluZyA9ICI0cHgiOworICAg
ICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQsICJ0YXJnZXQgaXMgdCIpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCwgInRhcmdl
dCB3aWR0aCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qu
aGVpZ2h0LCAxMDAsICJ0YXJnZXQgaGVpZ2h0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllc1swXS5jb250ZW50UmVjdC50b3AsIDQsICJ0YXJnZXQgdG9wIHBhZGRpbmciKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmxlZnQsIDQsICJ0YXJnZXQg
bGVmdCBwYWRkaW5nIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50
Qm94U2l6ZVswXS5pbmxpbmVTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdl
dCBjb250ZW50LWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAgICAgICAgICAg
ICAgICAgInRhcmdldCBjb250ZW50LWJveCBibG9jayBzaXplIik7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmlubGluZVNpemUsIDEwOCwKKyAgICAg
ICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCAx
MDgsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBib3JkZXItYm94IGJsb2NrIHNpemUi
KTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7Cisg
ICAgICAgIC8vIENoYW5nZSBvbmx5IGNvbnRlbnQtYm94IHNpemUuCisgICAgICAgIHQuc3R5bGUu
d2lkdGggPSAiMTA0cHgiOworICAgICAgICB0LnN0eWxlLmhlaWdodCA9ICIxMDRweCI7CisgICAg
ICAgIHQuc3R5bGUucGFkZGluZyA9ICIycHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50
cmllcyA9PiB7CisgICAgICAgIGFzc2VydF91bnJlYWNoZWQoInRoZSAnYm9yZGVyLWJveCcgUmVz
aXplT2JzZXJ2ZXIgc2hvdWxkbid0IGZpcmUgIiArCisgICAgICAgICAgICAgICAgICAgICAgICAg
ImZvciByZXN0eWxlcyB0aGF0IGRvbid0IGFmZmVjdCB0aGUgYm9yZGVyLWJveCBzaXplIik7Cisg
ICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4geworICAgICAgICAvLyBleHBlY3RlZDogMTA0
ICsgMiAqIDIgPSAxMDguIFRoZSBib3JkZXItYm94IHNpemUgaXMgdGhlIHNhbWUuCisgICAgICB9
CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgoKSA9PiB0LnJlbW92ZSgpKTsK
K30KKworZnVuY3Rpb24gdGVzdDE1KCkgeworICBsZXQgdCA9IGNyZWF0ZUFuZEFwcGVuZEVsZW1l
bnQoImRpdiIpOworICB0LnN0eWxlLmhlaWdodCA9ICIxMDBweCI7CisgIHQuc3R5bGUud2lkdGgg
PSAiNTBweCI7CisKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0
ZXN0MTU6IGFuIG9ic2VydmF0aW9uIGlzIGZpcmVkIHdpdGggYm94IGRpbWVuc2lvbnMgMCB3aGVu
IGVsZW1lbnQncyAiICsKKyAgICAiZGlzcGxheSBwcm9wZXJ0eSBpcyBzZXQgdG8gaW5saW5lIiwK
KyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVy
Lm9ic2VydmUodCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBub3RpZmljYXRp
b24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdCwgInRhcmdl
dCBpcyB0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53
aWR0aCwgNTAsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMTAwLCAidGFyZ2V0IGhlaWdodCIpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uaW5saW5lU2l6ZSwgNTAs
CisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBpbmxpbmUgc2l6ZSIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxv
Y2tTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBi
bG9jayBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hT
aXplWzBdLmlubGluZVNpemUsIDUwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29u
dGVudC1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBd
LmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAg
InRhcmdldCBjb250ZW50LWJveCBibG9jayBzaXplIik7CisgICAgICB9CisgICAgfSwKKyAgICB7
CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0LnN0eWxlLmRpc3BsYXkgPSAi
aW5saW5lIjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4geworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDAsICJ0YXJnZXQgd2lk
dGgiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdo
dCwgMCwgInRhcmdldCBoZWlnaHQiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBd
LmNvbnRlbnRCb3hTaXplWzBdLmlubGluZVNpemUsIDAsCisgICAgICAgICAgICAgICAgICAgICAg
InRhcmdldCBjb250ZW50LWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAwLAorICAgICAgICAgICAg
ICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggYmxvY2sgc2l6ZSIpOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5pbmxpbmVTaXplLCAwLAorICAg
ICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgYm9yZGVyLWJveCBpbmxpbmUgc2l6ZSIpOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5ibG9ja1NpemUs
IDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBib3JkZXItYm94IGJsb2NrIHNpemUi
KTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworCisgIHJldHVybiBoZWxwZXIuc3RhcnQoKCkgPT4g
dC5yZW1vdmUoKSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxNigpIHsKKyAgbGV0IHQgPSBjcmVhdGVB
bmRBcHBlbmRFbGVtZW50KCJzcGFuIik7CisKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0
SGVscGVyKAorICAgIC8vIFNlZTogaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL3Jlc2l6ZS1vYnNl
cnZlci8jaW50cm8uCisgICAgInRlc3QxNjogb2JzZXJ2YXRpb25zIGRvIG5vdCBmaXJlIGZvciBu
b24tcmVwbGFjZWQgaW5saW5lIGVsZW1lbnRzIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBv
YnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodCk7CisgICAgICB9LAorICAg
ICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgiTm8gb2Jz
ZXJ2YXRpb24gc2hvdWxkIGZpcmUgZm9yIG5vbiBib3ggZWxlbWVudCIpCisgICAgICB9LAorICAg
ICAgdGltZW91dDogKCkgPT4ge30KKyAgICB9CisgIF0pOworCisgIHJldHVybiBoZWxwZXIuc3Rh
cnQoKCkgPT4gdC5yZW1vdmUoKSk7CisKK30KKworZnVuY3Rpb24gdGVzdDE3KCkgeworICAvLyA8
ZGl2IGlkPSJvdXRlciI+CisgIC8vICAgPGRpdiBpZD0ibmVzdGVkIj4KKyAgLy8gICA8L2Rpdj4K
KyAgLy8gPC9kaXY+CisKKyAgbGV0IG91dGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7CisgIG91dGVyLnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKyAgb3V0ZXIuc3R5bGUuaGVpZ2h0
ID0gIjEwMHB4IjsKKyAgb3V0ZXIuc3R5bGUucGFkZGluZyA9ICIxMHB4IjsKKyAgb3V0ZXIuc3R5
bGUuYm9yZGVyID0gIjFweCBzb2xpZCBibHVlIgorICBsZXQgbmVzdGVkID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CisgIG5lc3RlZC5zdHlsZS53aWR0aCA9ICI2MHB4IjsKKyAgbmVz
dGVkLnN0eWxlLmhlaWdodCA9ICI1MHB4IjsKKyAgbmVzdGVkLnN0eWxlLnBhZGRpbmcgPSAiNSUi
OworICBuZXN0ZWQuc3R5bGUuYm94U2l6aW5nID0gImJvcmRlci1ib3giOworICBuZXN0ZWQuc3R5
bGUuYm9yZGVyID0gIjVweCBzb2xpZCBibGFjayI7CisgIG91dGVyLmFwcGVuZENoaWxkKG5lc3Rl
ZCk7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob3V0ZXIpOworCisgIGxldCBoZWxwZXIg
PSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDE3OiBCb3ggc2l6aW5nIHNuZCBSZXNp
emUgT2JzZXJ2ZXIgbm90aWZpY2F0aW9ucyIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2Jz
ZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKG5lc3RlZCwgeyBib3g6ICJjb250
ZW50LWJveCIgfSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBub3RpZmljYXRp
b24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgbmVzdGVkLCAi
dGFyZ2V0IGlzIG5lc3RlZCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29u
dGVudFJlY3Qud2lkdGgsIDQwLCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDMwLCAidGFyZ2V0IGhlaWdodCIpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QudG9wLCA1LCAidGFy
Z2V0IHRvcCBwYWRkaW5nIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250
ZW50UmVjdC5sZWZ0LCA1LCAidGFyZ2V0IGxlZnQgcGFkZGluZyIpOworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uaW5saW5lU2l6ZSwgNDAsCisgICAg
ICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBpbmxpbmUgc2l6ZSIpOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXpl
LCAzMCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGNvbnRlbnQtYm94IGJsb2NrIHNp
emUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0u
aW5saW5lU2l6ZSwgNjAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBib3JkZXItYm94
IGlubGluZSBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJC
b3hTaXplWzBdLmJsb2NrU2l6ZSwgNTAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBi
b3JkZXItYm94IGJsb2NrIHNpemUiKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIC8v
IENoYW5nZXMgdG8gYSBwYXJlbnQncyBkaW1lbnNpb25zIHdpdGggYSBjaGlsZCdzIHBhZGRpbmcg
c2V0IGFzIGEgcGVyY2VudGFnZQorICAgICAgLy8gc2hvdWxkIGZpcmUgb2JzZXJ2YXRpb24gaWYg
Y29udGVudC1ib3ggaXMgYmVpbmcgb2JzZXJ2ZWQKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7
CisgICAgICAgIG91dGVyLnN0eWxlLmhlaWdodCA9ICIyMDBweCI7CisgICAgICAgIG91dGVyLnN0
eWxlLndpZHRoID0gIjIwMHB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4g
eworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiMSBwZW5kaW5nIG5v
dGlmaWNhdGlvbiIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCBu
ZXN0ZWQsICJ0YXJnZXQgaXMgbmVzdGVkIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC53aWR0aCwgMzAsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMjAsICJ0YXJnZXQgaGVp
Z2h0Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC50b3As
IDEwLCAidGFyZ2V0IHRvcCBwYWRkaW5nIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC5sZWZ0LCAxMCwgInRhcmdldCBsZWZ0IHBhZGRpbmciKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmlubGluZVNpemUs
IDMwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggaW5saW5lIHNp
emUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBd
LmJsb2NrU2l6ZSwgMjAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJv
eCBibG9jayBzaXplIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJC
b3hTaXplWzBdLmlubGluZVNpemUsIDYwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQg
Ym9yZGVyLWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNb
MF0uYm9yZGVyQm94U2l6ZVswXS5ibG9ja1NpemUsIDUwLAorICAgICAgICAgICAgICAgICAgICAg
ICJ0YXJnZXQgYm9yZGVyLWJveCBibG9jayBzaXplIik7CisgICAgICB9CisgICAgfSwKKyAgICB7
CisgICAgICAvLyBDaGFuZ2VzIHRvIGEgcGFyZW50J3MgZGltZW5zaW9ucyB3aXRoIGEgY2hpbGQn
cyBwYWRkaW5nIHNldCBhcyBhIHBlcmNlbnRhZ2UKKyAgICAgIC8vIHNob3VsZCBmaXJlIG9ic2Vy
dmF0aW9uIGlmIGNvbnRlbnQtYm94IGlzIGJlaW5nIG9ic2VydmVkCisgICAgICBzZXR1cDogb2Jz
ZXJ2ZXIgPT4geworICAgICAgICBuZXN0ZWQuc3R5bGUuYm9yZGVyID0gIjFweCBzb2xpZCBibGFj
ayI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBub3RpZmljYXRpb24iKTsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgbmVzdGVkLCAidGFyZ2V0IGlz
IG5lc3RlZCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qu
d2lkdGgsIDM4LCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDI4LCAidGFyZ2V0IGhlaWdodCIpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QudG9wLCAxMCwgInRhcmdldCB0b3Ag
cGFkZGluZyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qu
bGVmdCwgMTAsICJ0YXJnZXQgbGVmdCBwYWRkaW5nIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5pbmxpbmVTaXplLCAzOCwKKyAgICAgICAgICAg
ICAgICAgICAgICAidGFyZ2V0IGNvbnRlbnQtYm94IGlubGluZSBzaXplIik7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5ibG9ja1NpemUsIDI4LAor
ICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggYmxvY2sgc2l6ZSIpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5pbmxpbmVT
aXplLCA2MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3ggaW5saW5l
IHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVb
MF0uYmxvY2tTaXplLCA1MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1i
b3ggYmxvY2sgc2l6ZSIpOworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9i
c2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShuZXN0ZWQsIHsgYm94OiAiYm9y
ZGVyLWJveCIgfSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBub3RpZmljYXRp
b24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgbmVzdGVkLCAi
dGFyZ2V0IGlzIG5lc3RlZCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29u
dGVudFJlY3Qud2lkdGgsIDM4LCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDI4LCAidGFyZ2V0IGhlaWdodCIpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QudG9wLCAxMCwgInRh
cmdldCB0b3AgcGFkZGluZyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29u
dGVudFJlY3QubGVmdCwgMTAsICJ0YXJnZXQgbGVmdCBwYWRkaW5nIik7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5pbmxpbmVTaXplLCAzOCwKKyAg
ICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGNvbnRlbnQtYm94IGlubGluZSBzaXplIik7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5ibG9ja1Np
emUsIDI4LAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggYmxvY2sg
c2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVsw
XS5pbmxpbmVTaXplLCA2MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1i
b3ggaW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRl
ckJveFNpemVbMF0uYmxvY2tTaXplLCA1MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0
IGJvcmRlci1ib3ggYmxvY2sgc2l6ZSIpOworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAg
Ly8gQ2hhbmdlcyB0byBhIHBhcmVudCdzIGRpbWVuc2lvbnMgd2l0aCBhIGNoaWxkJ3MgcGFkZGlu
ZyBzZXQgYXMgYSBwZXJjZW50YWdlCisgICAgICAvLyBzaG91bGQgbm90IGZpcmUgb2JzZXJ2YXRp
b24gaWYgYm9yZGVyLWJveCBpcyBiZWluZyBvYnNlcnZlZAorICAgICAgc2V0dXA6IG9ic2VydmVy
ID0+IHsKKyAgICAgICAgb3V0ZXIuc3R5bGUuaGVpZ2h0ID0gIjEwMHB4IjsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IGVudHJpZXMgPT4geworICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJObyBv
YnNlcnZhdGlvbiBzaG91bGQgYmUgZmlyZWQgd2hlbiBuZXN0ZWQgYm9yZGVyIGJveCByZW1haW5z
IGNvbnN0YW50Iik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4geworICAgICAgICAv
LyBleHBlY3RlZAorICAgICAgfQorICAgIH0sCisKKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3Rh
cnQoKCkgPT4gbmVzdGVkLnJlbW92ZSgpKTsKK30KKworZnVuY3Rpb24gdGVzdDE4KCkgeworICBs
ZXQgdCA9IGNyZWF0ZUFuZEFwcGVuZEVsZW1lbnQoImRpdiIpOworICB0LnN0eWxlLmhlaWdodCA9
ICIxMDBweCI7CisgIHQuc3R5bGUud2lkdGggPSAiNTBweCI7CisKKyAgbGV0IGhlbHBlciA9IG5l
dyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTg6IGFuIG9ic2VydmF0aW9uIGlzIGZpcmVk
IHdoZW4gZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94IGlzIGJlaW5nICIgKworICAgICJvYnNlcnZl
ZCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHQsIHtib3g6ICJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3gifSk7CisgICAg
ICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBub3RpZmljYXRpb24iKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdCwgInRhcmdldCBpcyB0Iik7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgNTAsICJ0YXJnZXQg
d2lkdGgiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0Lmhl
aWdodCwgMTAwLCAidGFyZ2V0IGhlaWdodCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudEJveFNpemVbMF0uaW5saW5lU2l6ZSwgNTAsCisgICAgICAgICAgICAgICAg
ICAgICAgInRhcmdldCBjb250ZW50LWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAg
ICAgICAgICAgICAgICAgICAgInRhcmdldCBjb250ZW50LWJveCBibG9jayBzaXplIik7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmlubGluZVNpemUs
IDUwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgYm9yZGVyLWJveCBpbmxpbmUgc2l6
ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5i
bG9ja1NpemUsIDEwMCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3gg
YmxvY2sgc2l6ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uZGV2aWNlUGl4
ZWxDb250ZW50Qm94U2l6ZVswXS5pbmxpbmVTaXplLCA1MCwKKyAgICAgICAgICAgICAgICAgICAg
ICAidGFyZ2V0IGRldmljZS1waXhlbC1jb250ZW50LWJveCBpbmxpbmUgc2l6ZSIpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZVswXS5i
bG9ja1NpemUsIDEwMCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGRldmljZS1waXhl
bC1jb250ZW50LWJveCBibG9jayBzaXplIik7CisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnpvb20g
PSAzOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQsICJ0YXJnZXQgaXMgdCIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDUw
LCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250
ZW50UmVjdC5oZWlnaHQsIDEwMCwgInRhcmdldCBoZWlnaHQiKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmlubGluZVNpemUsIDUwLAorICAgICAg
ICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggaW5saW5lIHNpemUiKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmJsb2NrU2l6ZSwg
MTAwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQgY29udGVudC1ib3ggYmxvY2sgc2l6
ZSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5p
bmxpbmVTaXplLCA1MCwKKyAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0IGJvcmRlci1ib3gg
aW5saW5lIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJv
eFNpemVbMF0uYmxvY2tTaXplLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAgInRhcmdldCBi
b3JkZXItYm94IGJsb2NrIHNpemUiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBd
LmRldmljZVBpeGVsQ29udGVudEJveFNpemVbMF0uaW5saW5lU2l6ZSwgMTUwLAorICAgICAgICAg
ICAgICAgICAgICAgICJ0YXJnZXQgZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94IGlubGluZSBzaXpl
Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5kZXZpY2VQaXhlbENvbnRlbnRC
b3hTaXplWzBdLmJsb2NrU2l6ZSwgMzAwLAorICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXQg
ZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94IGJsb2NrIHNpemUiKTsKKyAgICAgIH0KKyAgICB9Cisg
IF0pOworCisgIHJldHVybiBoZWxwZXIuc3RhcnQoKCkgPT4gdC5yZW1vdmUoKSk7Cit9CisKIGxl
dCBndWFyZDsKIHRlc3QoXyA9PiB7CiAgIGFzc2VydF9vd25fcHJvcGVydHkod2luZG93LCAiUmVz
aXplT2JzZXJ2ZXIiKTsKQEAgLTE5NSwxMyArOTEzLDI0IEBAIHRlc3QoXyA9PiB7CiB9LCAiUmVz
aXplT2JzZXJ2ZXIgaW1wbGVtZW50ZWQiKQogCiB0ZXN0MCgpCi0gIC50aGVuKCgpID0+IHsgcmV0
dXJuIHRlc3QxKCk7IH0pCi0gIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QyKCk7IH0pCi0gIC50
aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QzKCk7IH0pCi0gIC50aGVuKCgpID0+IHsgcmV0dXJuIHRl
c3Q0KCk7IH0pCi0gIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q1KCk7IH0pCi0gIC50aGVuKCgp
ID0+IHsgcmV0dXJuIHRlc3Q2KCk7IH0pCi0gIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q3KCk7
IH0pCi0gIC50aGVuKCgpID0+IHsgZ3VhcmQuZG9uZSgpOyB9KTsKKyAgLnRoZW4oKCkgPT4gdGVz
dDEoKSkKKyAgLnRoZW4oKCkgPT4gdGVzdDIoKSkKKyAgLnRoZW4oKCkgPT4gdGVzdDMoKSkKKyAg
LnRoZW4oKCkgPT4gdGVzdDQoKSkKKyAgLnRoZW4oKCkgPT4gdGVzdDUoKSkKKyAgLnRoZW4oKCkg
PT4gdGVzdDYoKSkKKyAgLnRoZW4oKCkgPT4gdGVzdDcoKSkKKyAgLnRoZW4oKCkgPT4gdGVzdDgo
KSkKKyAgLnRoZW4oKCkgPT4gdGVzdDkoKSkKKyAgLnRoZW4oKCkgPT4gdGVzdDEwKCkpCisgIC50
aGVuKCgpID0+IHRlc3QxMSgpKQorICAudGhlbigoKSA9PiB0ZXN0MTIoKSkKKyAgLnRoZW4oKCkg
PT4gdGVzdDEzKCkpCisgIC50aGVuKCgpID0+IHRlc3QxNCgpKQorICAudGhlbigoKSA9PiB0ZXN0
MTUoKSkKKyAgLnRoZW4oKCkgPT4gdGVzdDE2KCkpCisgIC50aGVuKCgpID0+IHRlc3QxNygpKQor
ICAudGhlbigoKSA9PiB0ZXN0MTgoKSkKKyAgLnRoZW4oKCkgPT4gZ3VhcmQuZG9uZSgpKTsKIAog
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaW1hZ2UucG5nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3Vy
Y2VzL2ltYWdlLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MTc0MTU4NGEwN2E5MTVjOWVmYzM1NmMwOGFhMDQ1
MzVmZDA1NmJmCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxNzAKemNtZUFTQE4/KG9sSHlgdVZC
cSFpYTB2cF57MjxLMTF8K1NvUDR4bSZFYXtIRWp0bVNOYD8+IWx2STY7PjFzOypiCnozPURqU0sk
dVpmIT5hKShDe2Z9WFE0Klk9UiNLaT1sKiRtMG4zLTNpPWpSJXRQLWQpV1dWQyZ2Y3I4JGtoTnB7
VAp6aD1xVDBOPUN3dV5BMlZWblFHI2IqOXlLI0QkMTM7PmY8KTB4NlExeChhcDFnaylnaUVkZiVG
bUt2JHExMjJXUSUKSm12djRGTyN1MWxFJmMhaQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMv
cmVzaXplVGVzdEhlbHBlci5qcwppbmRleCAwMmM3ZTkyNTJmOWMzYWM2MjcxMDYyNjRkZGM0MTk1
MzVlYmNkZTBiLi4wMzJlYjRiM2EwNGQxMGMwZGU0OGNjNzRjMjdlNTdhNmQxMDYxNjlkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJj
ZXMvcmVzaXplVGVzdEhlbHBlci5qcwpAQCAtOSw3ICs5LDcgQEAKICAgRmVhdHVyZXM6CiAgIC0g
Y2FuIHF1ZXVlIG11bHRpcGxlIG5vdGlmaWNhdGlvbiBzdGVwcyBpbiBhIHRlc3QKICAgLSBoYW5k
bGVzIHRpbWVvdXRzCi0gIC0gcmV0dXJucyBQcm9taXNlIHRoYXQgaXMgZnVsbGZpbGxlZCB3aGVu
IHRlc3QgY29tcGxldGVzLgorICAtIHJldHVybnMgUHJvbWlzZSB0aGF0IGlzIGZ1bGZpbGxlZCB3
aGVuIHRlc3QgY29tcGxldGVzLgogICAgIFVzZSB0byBjaGFpbiB0ZXN0cyAoc2luY2UgcGFyYWxs
ZWwgYXN5bmMgUmVzaXplT2JzZXJ2ZXIgdGVzdHMKICAgICB3b3VsZCBjb25mbGljdCBpZiByZXVz
aW5nIHNhbWUgRE9NIGVsZW1lbnRzKS4KIApAQCAtNTIsNyArNTIsNyBAQCBmdW5jdGlvbiBSZXNp
emVUZXN0SGVscGVyKG5hbWUsIHN0ZXBzKQogICAgIHRoaXMuX25leHRTdGVwQmluZCA9IHRoaXMu
X25leHRTdGVwLmJpbmQodGhpcyk7CiB9CiAKLVJlc2l6ZVRlc3RIZWxwZXIuVElNRU9VVCA9IDEw
MDA7CitSZXNpemVUZXN0SGVscGVyLlRJTUVPVVQgPSAxMDA7CiAKIFJlc2l6ZVRlc3RIZWxwZXIu
cHJvdG90eXBlID0gewogICBnZXQgX2N1cnJlbnRTdGVwKCkgewpAQCAtODAsMTEgKzgwLDIwIEBA
IFJlc2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlID0gewogICAgICAgZGVsZXRlIHRoaXMuX3RpbWVv
dXRJZDsKICAgICB9CiAgICAgdGhpcy5faGFybmVzc1Rlc3Quc3RlcCgoKSA9PiB7Ci0gICAgICBs
ZXQgcmFmRGVsYXkgPSB0aGlzLl9jdXJyZW50U3RlcC5ub3RpZnkoZW50cmllcywgdGhpcy5fb2Jz
ZXJ2ZXIpOwotICAgICAgaWYgKHJhZkRlbGF5KQotICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1h
dGlvbkZyYW1lKHRoaXMuX25leHRTdGVwQmluZCk7Ci0gICAgICBlbHNlCi0gICAgICAgIHRoaXMu
X25leHRTdGVwKCk7CisgICAgICB0cnkgeworICAgICAgICBsZXQgcmFmRGVsYXkgPSB0aGlzLl9j
dXJyZW50U3RlcC5ub3RpZnkoZW50cmllcywgdGhpcy5fb2JzZXJ2ZXIpOworICAgICAgICBpZiAo
cmFmRGVsYXkpCisgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLl9u
ZXh0U3RlcEJpbmQpOworICAgICAgICBlbHNlCisgICAgICAgICAgdGhpcy5fbmV4dFN0ZXAoKTsK
KyAgICAgIH0KKyAgICAgIGNhdGNoKGVycikgeworICAgICAgICB0aGlzLl9oYXJuZXNzVGVzdC5z
dGVwKCgpID0+IHsKKyAgICAgICAgICB0aHJvdyBlcnI7CisgICAgICAgIH0pOworICAgICAgICAv
LyBGb3JjZSB0byBfZG9uZSgpIHRoZSBjdXJyZW50IHRlc3QuCisgICAgICAgIHRoaXMuX2RvbmUo
KTsKKyAgICAgIH0KICAgICB9KTsKICAgfSwKIApAQCAtOTUsNyArMTA0LDkgQEAgUmVzaXplVGVz
dEhlbHBlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2N1cnJlbnRTdGVwLnRpbWVvdXQo
KTsKICAgICAgIH0KICAgICAgIGVsc2UgewotICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJUaW1l
ZCBvdXQgd2FpdGluZyBmb3Igbm90aWZpY2F0aW9uLiAoIiArIFJlc2l6ZVRlc3RIZWxwZXIuVElN
RU9VVCArICJtcykiKTsKKyAgICAgICAgdGhpcy5faGFybmVzc1Rlc3Quc3RlcCgoKSA9PiB7Cisg
ICAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgiVGltZWQgb3V0IHdhaXRpbmcgZm9yIG5vdGlmaWNh
dGlvbi4gKCIgKyBSZXNpemVUZXN0SGVscGVyLlRJTUVPVVQgKyAibXMpIik7CisgICAgICAgIH0p
OwogICAgICAgfQogICAgICAgdGhpcy5fbmV4dFN0ZXAoKTsKICAgICB9KTsKQEAgLTExMiw4ICsx
MjMsMTMgQEAgUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUgPSB7CiAgICAgd2luZG93LnJlcXVl
c3RBbmltYXRpb25GcmFtZSgoKSA9PiB7IHRoaXMuX3Jlc29sdmVQcm9taXNlKCk7IH0pOwogICB9
LAogCi0gIHN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgc3RhcnQ6IGZ1bmN0aW9uKGNsZWFudXApIHsK
ICAgICB0aGlzLl9oYXJuZXNzVGVzdCA9IGFzeW5jX3Rlc3QodGhpcy5fbmFtZSk7CisKKyAgICBp
ZiAoY2xlYW51cCkgeworICAgICAgdGhpcy5faGFybmVzc1Rlc3QuYWRkX2NsZWFudXAoY2xlYW51
cCk7CisgICAgfQorCiAgICAgdGhpcy5faGFybmVzc1Rlc3Quc3RlcCgoKSA9PiB7CiAgICAgICBh
c3NlcnRfZXF1YWxzKHRoaXMuX3N0ZXBJZHgsIC0xLCAic3RhcnQgY2FuIG9ubHkgYmUgY2FsbGVk
IG9uY2UiKTsKICAgICAgIHRoaXMuX25leHRTdGVwKCk7CkBAIC0xMzAsNiArMTQ2LDEzIEBAIFJl
c2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlID0gewogICAgIHJldHVybiB0aGlzLl9yYWZDb3VudDsK
ICAgfSwKIAorICBnZXQgdGVzdCgpIHsKKyAgICBpZiAoIXRoaXMuX2hhcm5lc3NUZXN0KSB7Cisg
ICAgICB0aHJvdyAiX2hhcm5lc3NUZXN0IGlzIG5vdCBpbml0aWFsaXplZCI7CisgICAgfQorICAg
IHJldHVybiB0aGlzLl9oYXJuZXNzVGVzdDsKKyAgfSwKKwogICBfaW5jcmVtZW50UmFmOiBmdW5j
dGlvbigpIHsKICAgICBpZiAodGhpcy5fcmFmQ291bnRSZXF1ZXN0KSB7CiAgICAgICB0aGlzLl9y
YWZDb3VudCsrOwpAQCAtMTQ2LDMgKzE2OSwxMiBAQCBSZXNpemVUZXN0SGVscGVyLnByb3RvdHlw
ZSA9IHsKICAgICB0aGlzLl9yYWZDb3VudFJlcXVlc3QgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlv
bkZyYW1lKHRoaXMuX2luY3JlbWVudFJhZkJpbmQpOwogICB9CiB9CisKK2Z1bmN0aW9uIGNyZWF0
ZUFuZEFwcGVuZEVsZW1lbnQodGFnTmFtZSwgcGFyZW50KSB7CisgIGlmICghcGFyZW50KSB7Cisg
ICAgcGFyZW50ID0gZG9jdW1lbnQuYm9keTsKKyAgfQorICBjb25zdCBlbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgcGFyZW50LmFwcGVuZENoaWxkKGVsZW1lbnQp
OworICByZXR1cm4gZWxlbWVudDsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwppbmRleCBhZjM3Y2VhNWZjMDY0
YWRhNzlhY2VjMGRmM2MzOGYxNmZhYzAxMzgwLi41YmEyZGU5MzczNzJhMjhmODk0MmZmMDY0ZmZm
MmJlMGE2MDJjN2IyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2Jz
ZXJ2ZXIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0xNSw0ICsxNSw1IEBAIE5vbmUKIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaWZyYW1lLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNl
cnZlci9yZXNvdXJjZXMvaW1hZ2UucG5nCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIu
anMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL3N2Zy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmctZXhwZWN0ZWQudHh0
CmluZGV4IGYyODVmODgyZjcxM2M3MzBmNDlkOTU4MDA2M2U0Y2Y1ZjVkZTdkYTMuLmQ1ZTEzY2E0
MjYzODk4MTE3ZGYxMDUxMWE5MWE4NTEyNWQ5MTRiNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLWV4cGVjdGVkLnR4dApAQCAtMTIsOSArMTIsMTUgQEAgUEFT
UyB0ZXN0Mjogb2JzZXJ2ZSBzdmc6Zm9yZWlnbk9iamVjdAogUEFTUyB0ZXN0Mzogb2JzZXJ2ZSBz
dmc6aW1hZ2UgCiBQQVNTIHRlc3Q0OiBvYnNlcnZlIHN2ZzpsaW5lIAogUEFTUyB0ZXN0NTogb2Jz
ZXJ2ZSBzdmc6cGF0aCAKLVBBU1MgdGVzdDY6IG9ic2VydmUgc3ZnOnBhdGggCitQQVNTIHRlc3Q2
OiBvYnNlcnZlIHN2Zzpwb2x5Z29uIAogUEFTUyB0ZXN0Nzogb2JzZXJ2ZSBzdmc6cG9seWxpbmUg
CiBQQVNTIHRlc3Q4OiBvYnNlcnZlIHN2ZzpyZWN0IAogUEFTUyB0ZXN0OTogb2JzZXJ2ZSBzdmc6
dGV4dCAKIFBBU1MgdGVzdDEwOiBvYnNlcnZlIHN2ZzpzdmcsIHRvcC9sZWZ0IGlzIDAgZXZlbiB3
aXRoIHBhZGRpbmcgCitQQVNTIHRlc3QxMTogb2JzZXJ2ZSBzdmcgbm9uLWRpc3BsYXlhYmxlIGVs
ZW1lbnQgCitGQUlMIHRlc3QxMjogb2JzZXJ2ZSBzdmc6cmVjdCBjb250ZW50IGJveCB1bmRlZmlu
ZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZW50cmllc1swXS5jb250ZW50Qm94U2l6
ZVswXScpCitGQUlMIHRlc3QxMzogb2JzZXJ2ZSBzdmc6cmVjdCBib3JkZXIgYm94IHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXpl
WzBdJykKK0ZBSUwgdGVzdDE0OiBvYnNlcnZlIGc6cmVjdCBjb250ZW50IGFuZCBib3JkZXIgYm94
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlbnRyaWVzWzBdLmNvbnRl
bnRCb3hTaXplWzBdJykKK0ZBSUwgdGVzdDE1OiBvYnNlcnZlIHN2Zzp0ZXh0IGNvbnRlbnQgYW5k
IGJvcmRlciBib3ggYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMzAgYnV0IGdvdCAzMC4wMTU2MjUK
K0ZBSUwgdGVzdDE2OiBvYnNlcnZlIGc6cmVjdCBjb250ZW50LCBib3JkZXIgYW5kIGRldmljZS1w
aXhlbC1jb250ZW50IGJveGVzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICdlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdJykKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1v
YnNlcnZlci9zdmcuaHRtbAppbmRleCA0OWU1YzE5NTNlYzI3OGU5MjE3NjlkYzkyNDIwYzc5Y2Y3
ZjAwMzQ0Li41OTdhYTVkYTA3YzZlNzAyM2RhNzVjNjUzMWIyYzc3ZWY0Yjc3OGY3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1v
YnNlcnZlci9zdmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmcuaHRtbApAQCAtMTAsNyArMTAsNyBAQAogICAg
IDxib2R5PgogICAgICAgPHA+SGVyZSBpcyBhIHBhcmFncmFwaCB0aGF0IHJlcXVpcmVzIHdvcmQg
d3JhcDwvcD4KICAgICA8L2JvZHk+Ci0gIDwvZm9yZWlnbk9iamVjdD4KKyAgPC9mb3JlaWdub2Jq
ZWN0PgogICA8aW1hZ2UgeGxpbms6aHJlZj0iIiB4PSIwIiB5PSIxMDAiIGhlaWdodD0iMzAiIHdp
ZHRoPSIxMDAiIC8+CiAgIDxsaW5lIHgxPSIwIiB5MT0iNTAiIHgyPSIyMCIgeTI9IjcwIiBzdHJv
a2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiLz4KICAgPHBhdGggZD0iTSAwIDEwMCBMIDEwMCAx
MDAgTCA1MCAxNTAgeiIKQEAgLTE4LDcgKzE4LDEwIEBACiAgIDxwb2x5Z29uIHBvaW50cz0iMCwy
MDAgMTAwLDIwMCA1MCwyNTAiIHN0eWxlPSJmaWxsOm9yYW5nZTtzdHJva2U6YmxhY2s7c3Ryb2tl
LXdpZHRoOjEiIC8+CiAgIDxwb2x5bGluZSBwb2ludHM9IjAsMzAwIDEwMCwzMDAgNTAsMzUwIiBz
dHlsZT0iZmlsbDpvcmFuZ2U7c3Ryb2tlOmJsYWNrO3N0cm9rZS13aWR0aDoxIi8+CiAgIDxyZWN0
IHg9IjAiIHk9IjM4MCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiBzdHlsZT0iZmlsbDpvcmFuZ2U7
IHN0cm9rZTpibGFjazsgc3Ryb2tlLXdpZHRoOjEiIC8+Ci0gIDx0ZXh0IHg9IjAiIHk9IjQwMCIg
Zm9udC1zaXplPSIyMCI+c3ZnIHRleHQgdGFnPC90ZXh0PgorICA8dGV4dCB4PSIwIiB5PSI0MDAi
IGZvbnQtc2l6ZT0iMjAiIGZvbnQtZmFtaWx5PSJBaGVtIj5zdmcgdGV4dCB0YWc8L3RleHQ+Cisg
IDxnIGZpbGw9IndoaXRlIiBzdHJva2U9ImdyZWVuIiBzdHJva2Utd2lkdGg9IjUiPgorICAgIDxy
ZWN0IHg9IjAiIHk9IjM4MCIgd2lkdGg9IjUwIiBoZWlnaHQ9IjIwIiBpZD0iZ19yZWN0IiAvPgor
ICA8L2c+CiA8L3N2Zz4KIDxzY3JpcHQ+CiAndXNlIHN0cmljdCc7CkBAIC0xODgsNyArMTkxLDcg
QEAgZnVuY3Rpb24gdGVzdDUoKSB7CiBmdW5jdGlvbiB0ZXN0NigpIHsKICAgbGV0IHRhcmdldCA9
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3BvbHlnb24nKTsKICAgbGV0IGhlbHBlciA9IG5ldyBS
ZXNpemVUZXN0SGVscGVyKAotICAgICJ0ZXN0Njogb2JzZXJ2ZSBzdmc6cGF0aCIsCisgICAgInRl
c3Q2OiBvYnNlcnZlIHN2Zzpwb2x5Z29uIiwKICAgWwogICAgIHsKICAgICAgIHNldHVwOiBvYnNl
cnZlciA9PiB7CkBAIC0zMTEsNiArMzE0LDI1MCBAQCBmdW5jdGlvbiB0ZXN0MTAoKSB7CiAgIHJl
dHVybiBoZWxwZXIuc3RhcnQoKTsKIH0KIAorZnVuY3Rpb24gdGVzdDExKCkgeworICAvLyA8c3Zn
PgorICAvLyAgIDx2aWV3Pjwvdmlldz4KKyAgLy8gICA8ZGVmcz4KKyAgLy8gICAgIDxsaW5lYXJH
cmFkaWVudD4KKyAgLy8gICAgICAgPHN0b3A+PC9zdG9wPgorICAvLyAgICAgPC9saW5lYXJHcmFk
aWVudD4KKyAgLy8gICA8L2RlZnM+CisgIC8vIDwvc3ZnPgorICBjb25zdCBzdmdOUyA9ICJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7CisgIGxldCBzdmcgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50TlMoc3ZnTlMsICdzdmcnKTsKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzdmcpOwor
CisgIGxldCB2aWV3ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHN2Z05TLCAndmlldycpOwor
ICBzdmcuYXBwZW5kQ2hpbGQodmlldyk7CisKKyAgbGV0IGRlZnMgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50TlMoc3ZnTlMsICdkZWZzJyk7CisgIGxldCBsaW5lYXJHcmFkaWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnROUyhzdmdOUywgJ2xpbmVhckdyYWRpZW50Jyk7CisgIGxldCBzdG9wID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHN2Z05TLCAnc3RvcCcpOworICBsaW5lYXJHcmFkaWVu
dC5hcHBlbmRDaGlsZChzdG9wKTsKKyAgZGVmcy5hcHBlbmRDaGlsZChsaW5lYXJHcmFkaWVudCk7
CisgIHN2Zy5hcHBlbmRDaGlsZChkZWZzKTsKKworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRl
c3RIZWxwZXIoCisgICAgInRlc3QxMTogb2JzZXJ2ZSBzdmcgbm9uLWRpc3BsYXlhYmxlIGVsZW1l
bnQiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh2aWV3KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBv
YnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJubyBlbnRyaWVzIHNob3Vs
ZCBiZSBvYnNlcnZlZCBvbiA8dmlldz4gRWxlbWVudCIpOworICAgICAgfSwKKyAgICAgIHRpbWVv
dXQ6ICgpID0+IHsKKyAgICAgICAgLy8gZXhwZWN0ZWQKKyAgICAgIH0KKyAgICB9LAorICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoc3Rv
cCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAg
ICAgICAgYXNzZXJ0X3VucmVhY2hlZCgibm8gZW50cmllcyBzaG91bGQgYmUgb2JzZXJ2ZWQgb24g
PHN0b3A+IEVsZW1lbnQiKTsKKyAgICAgIH0sCisgICAgICB0aW1lb3V0OiAoKSA9PiB7CisgICAg
ICAgIC8vIGV4cGVjdGVkCisgICAgICB9CisgICAgfSwKKyAgXSk7CisgIHJldHVybiBoZWxwZXIu
c3RhcnQoKCkgPT4gc3ZnLnJlbW92ZSgpKTsKK30KKworZnVuY3Rpb24gdGVzdDEyKCkgeworICBs
ZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigncmVjdCcpOworICBsZXQgaGVscGVy
ID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxMjogb2JzZXJ2ZSBzdmc6cmVjdCBj
b250ZW50IGJveCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAg
ICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAo
ZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBu
ZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9
PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgNDUpOworICAgICAgfSwK
KyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNb
MF0uY29udGVudFJlY3Qud2lkdGgsIDQ1KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMTApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudEJveFNpemVbMF0uaW5saW5lU2l6ZSwgNDUpOworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAxMCk7CisgICAg
ICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlv
biB0ZXN0MTMoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdyZWN0
Jyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDEzOiBv
YnNlcnZlIHN2ZzpyZWN0IGJvcmRlciBib3giLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9i
c2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAgfSwK
KyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0
cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCd3aWR0aCcs
IDIwKTsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgMjApOworICAgICAg
fSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uaW5saW5lU2l6ZSwgMjApOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAyMCk7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmlubGluZVNp
emUsIDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVb
MF0uYmxvY2tTaXplLCAyMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBl
ci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MTQoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCcjZ19yZWN0Jyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXpl
VGVzdEhlbHBlcigKKyAgICAidGVzdDE0OiBvYnNlcnZlIGc6cmVjdCBjb250ZW50IGFuZCBib3Jk
ZXIgYm94IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAg
IG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRy
aWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3Ro
LCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRo
LCA1MCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWln
aHQsIDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXpl
WzBdLmlubGluZVNpemUsIDUwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNv
bnRlbnRCb3hTaXplWzBdLmJsb2NrU2l6ZSwgMjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5pbmxpbmVTaXplLCA1MCk7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmJsb2NrU2l6ZSwgMjApOworICAg
ICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisg
ICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJp
YnV0ZSgnd2lkdGgnLCAxNSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2Jz
ZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMTUpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCAyMCk7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94U2l6ZVswXS5pbmxp
bmVTaXplLCAxNSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94
U2l6ZVswXS5ibG9ja1NpemUsIDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBd
LmJvcmRlckJveFNpemVbMF0uaW5saW5lU2l6ZSwgMTUpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KGVudHJpZXNbMF0uYm9yZGVyQm94U2l6ZVswXS5ibG9ja1NpemUsIDIwKTsKKyAgICAgIH0KKyAg
ICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Qx
NSgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RleHQnKTsKKyAg
bGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTU6IG9ic2VydmUg
c3ZnOnRleHQgY29udGVudCBhbmQgYm9yZGVyIGJveCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1
cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAg
ICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0
dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAg
ICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ2Zv
bnQtc2l6ZScsICIzMCIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2Vy
dmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDM2MCk7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDMwKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmlubGlu
ZVNpemUsIDM2MCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50Qm94
U2l6ZVswXS5ibG9ja1NpemUsIDMwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBd
LmJvcmRlckJveFNpemVbMF0uaW5saW5lU2l6ZSwgMzYwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCAzMCk7CisgICAgICB9Cisg
ICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0
MTYoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjZ19yZWN0Jyk7
CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDE2OiBvYnNl
cnZlIGc6cmVjdCBjb250ZW50LCBib3JkZXIgYW5kIGRldmljZS1waXhlbC1jb250ZW50IGJveGVz
IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2Vy
dmVyLm9ic2VydmUodGFyZ2V0LCB7Ym94OiAiZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94In0pOwor
ICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCd3aWR0aCcsIDUwKTsKKyAgICAgICAgZG9jdW1l
bnQuYm9keS5zdHlsZS56b29tID0gMC4xOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJp
ZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgs
IDUwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdo
dCwgMjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVb
MF0uaW5saW5lU2l6ZSwgNTApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29u
dGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAyMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmlubGluZVNpemUsIDUwKTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVbMF0uYmxvY2tTaXplLCAyMCk7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5kZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplWzBd
LmlubGluZVNpemUsIDUpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uZGV2aWNl
UGl4ZWxDb250ZW50Qm94U2l6ZVswXS5ibG9ja1NpemUsIDIpOworICAgICAgICByZXR1cm4gdHJ1
ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0
dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQsIHtib3g6
ICJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3gifSk7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1
dGUoJ2hlaWdodCcsIDMwKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNl
cnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCA1MCk7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDMwKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hTaXplWzBdLmlubGlu
ZVNpemUsIDUwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRCb3hT
aXplWzBdLmJsb2NrU2l6ZSwgMzApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0u
Ym9yZGVyQm94U2l6ZVswXS5pbmxpbmVTaXplLCA1MCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmJsb2NrU2l6ZSwgMzApOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXNbMF0uZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZVswXS5pbmxpbmVT
aXplLCA1KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmRldmljZVBpeGVsQ29u
dGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAzKTsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBE
ZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNl
cnZlciA9PiB7CisgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuem9vbSA9IDEwOworICAgICAg
fSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDUwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMzApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uaW5saW5lU2l6ZSwgNTApOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudEJveFNpemVbMF0uYmxvY2tTaXplLCAzMCk7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5ib3JkZXJCb3hTaXplWzBdLmlubGluZVNp
emUsIDUwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmJvcmRlckJveFNpemVb
MF0uYmxvY2tTaXplLCAzMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5kZXZp
Y2VQaXhlbENvbnRlbnRCb3hTaXplWzBdLmlubGluZVNpemUsIDUwMCk7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllc1swXS5kZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplWzBdLmJsb2NrU2l6
ZSwgMzAwKTsKKyAgICAgIH0sCisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgp
OworfQorCiBsZXQgZ3VhcmQ7CiB0ZXN0KF8gPT4gewogICBhc3NlcnRfb3duX3Byb3BlcnR5KHdp
bmRvdywgIlJlc2l6ZU9ic2VydmVyIik7CkBAIC0zMjgsNiArNTc1LDEyIEBAIHRlc3QwKCkKICAg
LnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDgoKTsgfSkKICAgLnRoZW4oKCkgPT4geyByZXR1cm4g
dGVzdDkoKTsgfSkKICAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEwKCk7IH0pCisgIC50aGVu
KCgpID0+IHsgcmV0dXJuIHRlc3QxMSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0
MTIoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEzKCk7IH0pCisgIC50aGVuKCgp
ID0+IHsgcmV0dXJuIHRlc3QxNCgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MTUo
KTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDE2KCk7IH0pCiAgIC50aGVuKCgpID0+
IHsgZ3VhcmQuZG9uZSgpOyB9KTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL3czYy1pbXBvcnQubG9nCmluZGV4IDU2NDFlZWMyYzhlMDlkMTQzM2Y3ZjA1
ZTlkOGIyMDJmYjNjOWQ1ZDUuLjZjNTFmYmZmOGZjN2M4ZTQzYzVhM2U1MjJmZjhmODRlMzY2Mjhk
N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3czYy1pbXBvcnQubG9n
CkBAIC0xNSw2ICsxNSw5IEBAIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNl
cnZlci9NRVRBLnltbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL2NoYW5nZS1sYXlvdXQtaW4tZXJyb3IuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2Rldmlj
ZXBpeGVsLWV4cGVjdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9kZXZpY2VwaXhlbC5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29w
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL25vdGlmeS5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2NoYW5nZS1sYXlvdXQtaW4tZXJyb3ItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9jaGFuZ2UtbGF5b3V0LWluLWVycm9yLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45N2JmNjAxMTRiMGQzYTNhZWY4NDczZmNjMGJiZWYxZTdmYTVhOTUw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9jaGFuZ2UtbGF5b3V0LWlu
LWVycm9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBDaGFuZ2luZyBsYXlv
dXQgaW4gd2luZG93IGVycm9yIGhhbmRsZXIgc2hvdWxkIG5vdCByZXN1bHQgaW4gbGlmZWN5bGUg
bG9vcCB3aGVuIHJlc2l6ZSBvYnNlcnZlciBsb29wIGxpbWl0IGlzIHJlYWNoZWQuIENhbid0IGZp
bmQgdmFyaWFibGU6IFJlc2l6ZU9ic2VydmVyCisK
</data>

          </attachment>
      

    </bug>

</bugzilla>