<?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>233241</bug_id>
          
          <creation_ts>2021-11-16 23:04:13 -0800</creation_ts>
          <short_desc>Convert error to string before passing to testFailed() in FileSystemAccess layout tests</short_desc>
          <delta_ts>2021-11-28 12:34:43 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1815831</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-11-16 23:04:13 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815832</commentid>
    <comment_count>1</comment_count>
      <attachid>444483</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-11-16 23:10:24 -0800</bug_when>
    <thetext>Created attachment 444483
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816397</commentid>
    <comment_count>2</comment_count>
      <attachid>444483</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-18 05:41:00 -0800</bug_when>
    <thetext>Comment on attachment 444483
Patch

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

&gt; LayoutTests/ChangeLog:8
&gt; +        testFailed() in js-test.js expects string, but finishTest() may receive Error object as parameter.

Proposed approach is fine, but why not updating testFailed to pretty print Error itself?

&gt; LayoutTests/storage/filesystemaccess/resources/shared.js:8
&gt; +        }

We usually do not need { } for one liner if.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817580</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-23 23:05:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/85718910&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818088</commentid>
    <comment_count>4</comment_count>
      <attachid>444483</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-11-28 11:42:20 -0800</bug_when>
    <thetext>Comment on attachment 444483
Patch

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

&gt;&gt; LayoutTests/ChangeLog:8
&gt;&gt; +        testFailed() in js-test.js expects string, but finishTest() may receive Error object as parameter.
&gt; 
&gt; Proposed approach is fine, but why not updating testFailed to pretty print Error itself?

testFailed() has always received string as parameter, and it&apos;s symmetric to testPassed(), so I didn&apos;t change it in js-test.js. 
But it may be worthwhile to make the change if we see other tests have the same issue.

&gt;&gt; LayoutTests/storage/filesystemaccess/resources/shared.js:8
&gt;&gt; +        }
&gt; 
&gt; We usually do not need { } for one liner if.

Will remove.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818089</commentid>
    <comment_count>5</comment_count>
      <attachid>445239</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-11-28 11:42:48 -0800</bug_when>
    <thetext>Created attachment 445239
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818094</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-28 12:34:42 -0800</bug_when>
    <thetext>Committed r286198 (244580@main): &lt;https://commits.webkit.org/244580@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445239.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444483</attachid>
            <date>2021-11-16 23:10:24 -0800</date>
            <delta_ts>2021-11-28 11:42:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233241-20211116231023.patch</filename>
            <type>text/plain</type>
            <size>15966</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTE1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzI0MzA3NDkzNTk4NjExMzc2NWMy
Mzg1YzEzZWRlMTQ0NmM3NGExZi4uMzJkMjU5MDBiZWZkNGNiMzE1NjJkZjlmMmU3NDM3MDAzMTY0
OWFkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTExLTE2ICBTaWh1aSBMaXUgIDxzaWh1
aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIENvbnZlcnQgZXJyb3IgdG8gc3RyaW5nIGJlZm9y
ZSBwYXNzaW5nIHRvIHRlc3RGYWlsZWQoKSBpbiBGaWxlU3lzdGVtQWNjZXNzIGxheW91dCB0ZXN0
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMjQx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgdGVzdEZh
aWxlZCgpIGluIGpzLXRlc3QuanMgZXhwZWN0cyBzdHJpbmcsIGJ1dCBmaW5pc2hUZXN0KCkgbWF5
IHJlY2VpdmUgRXJyb3Igb2JqZWN0IGFzIHBhcmFtZXRlci4KKworICAgICAgICAqIHN0b3JhZ2Uv
ZmlsZXN5c3RlbWFjY2Vzcy9kaXJlY3RvcnktaGFuZGxlLWJhc2ljcy5odG1sOgorICAgICAgICAq
IHN0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9kaXJlY3RvcnktaGFuZGxlLWl0ZXJhdGlvbi5odG1s
OgorICAgICAgICAqIHN0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9maWxlLWhhbmRsZS1nZXRmaWxl
Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL2hhbmRsZS1tb3ZlLmh0
bWw6CisgICAgICAgICogc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9kaXJlY3Rv
cnktaGFuZGxlLWJhc2ljcy5qczoKKyAgICAgICAgKGdldERpcmVjdG9yeSk6CisgICAgICAgIChm
aW5pc2hUZXN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3Mv
cmVzb3VyY2VzL2RpcmVjdG9yeS1oYW5kbGUtaXRlcmF0aW9uLmpzOgorICAgICAgICAoZmluaXNo
VGVzdCk6IERlbGV0ZWQuCisgICAgICAgICogc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291
cmNlcy9maWxlLWhhbmRsZS1nZXRmaWxlLmpzOgorICAgICAgICAoYXN5bmMgcmVhZCk6CisgICAg
ICAgIChhc3luYyB0ZXN0KToKKyAgICAgICAgKGZpbmlzaFRlc3QpOiBEZWxldGVkLgorICAgICAg
ICAqIHN0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvaGFuZGxlLW1vdmUuanM6Cisg
ICAgICAgIChhc3luYyB0ZXN0KToKKyAgICAgICAgKGZpbmlzaFRlc3QpOiBEZWxldGVkLgorICAg
ICAgICAqIHN0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvc2hhcmVkLmpzOiBBZGRl
ZC4gTW92ZSBmaW5pc2hUZXN0KCkgZnVuY3Rpb24gaGVyZSBzbyB0aGUgY29kZSBjYW4gYmUgc2hh
cmVkLgorICAgICAgICAoZmluaXNoVGVzdCk6CisgICAgICAgICogc3RvcmFnZS9maWxlc3lzdGVt
YWNjZXNzL3Jlc291cmNlcy9zeW5jLWFjY2Vzcy1oYW5kbGUtYmFzaWNzLmpzOgorICAgICAgICAo
Z2V0RGlyZWN0b3J5KToKKyAgICAgICAgKGZpbmlzaFRlc3QpOiBEZWxldGVkLgorICAgICAgICAq
IHN0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvc3luYy1hY2Nlc3MtaGFuZGxlLWNs
b3NlLmpzOgorICAgICAgICAoZmluaXNoVGVzdCk6IERlbGV0ZWQuCisgICAgICAgICogc3RvcmFn
ZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9zeW5jLWFjY2Vzcy1oYW5kbGUtcmVhZC13cml0
ZS5qczoKKyAgICAgICAgKGFzeW5jIHRlc3QpOgorICAgICAgICAoZmluaXNoVGVzdCk6IERlbGV0
ZWQuCisKIDIwMjEtMTEtMTYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAg
ICAgICAgSW1wbGVtZW50IEZpbGVTeXN0ZW1GaWxlSGFuZGxlLmdldEZpbGUoKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL2RpcmVjdG9yeS1oYW5kbGUt
YmFzaWNzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvZGlyZWN0
b3J5LWhhbmRsZS1iYXNpY3MuaHRtbAppbmRleCAzZDc1ZmVjODY1M2MzYTE2NGYxZWJlMWMxOGFi
M2E5NTJjZGUxMmIwLi41MWIwMzEwMDg5ZjMyMTIzNmM5YTA1OThlMzc3ZDYwM2YyMjE5ZTczIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvZGlyZWN0b3J5
LWhhbmRsZS1iYXNpY3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1h
Y2Nlc3MvZGlyZWN0b3J5LWhhbmRsZS1iYXNpY3MuaHRtbApAQCAtMiwxNSArMiw5IEBACiA8aHRt
bD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KIDwvaGVh
ZD4KIDxib2R5PgotPHNjcmlwdD4KLXZhciBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikgewotICAgIGZpbmlzaFRlc3QoIndpbmRvdy50ZXN0UnVubmVyIGlz
IG5vdCBhdmFpbGFibGUiKTsKLX0KLTwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9k
aXJlY3RvcnktaGFuZGxlLWJhc2ljcy5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvZGlyZWN0b3J5
LWhhbmRsZS1pdGVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFj
Y2Vzcy9kaXJlY3RvcnktaGFuZGxlLWl0ZXJhdGlvbi5odG1sCmluZGV4IGJiOTA1NTkzNzc3MTVi
YmU2MmJhZWFkMDY5NTBjOWM4YzAyOGVmOTAuLmFiYWY2NjMwZWI3YzgzNGY0MzAyM2VlNjE2Njdi
YjM1Zjk4ZGZhN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFj
Y2Vzcy9kaXJlY3RvcnktaGFuZGxlLWl0ZXJhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9kaXJlY3RvcnktaGFuZGxlLWl0ZXJhdGlvbi5odG1sCkBA
IC0yLDE1ICsyLDkgQEAKIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFyZWQu
anMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+Ci08c2NyaXB0PgotdmFyIGpzVGVzdElzQXN5
bmMgPSB0cnVlOwotCi1pZiAoIXdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgZmluaXNoVGVzdCgi
d2luZG93LnRlc3RSdW5uZXIgaXMgbm90IGF2YWlsYWJsZSIpOwotfQotPC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2RpcmVjdG9yeS1oYW5kbGUtaXRlcmF0aW9uLmpzIj48L3Njcmlw
dD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZmls
ZXN5c3RlbWFjY2Vzcy9maWxlLWhhbmRsZS1nZXRmaWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvZmlsZS1oYW5kbGUtZ2V0ZmlsZS5odG1sCmluZGV4IGFmYmU2
MjU2NmU3M2Q5NWVmNTI4ZDdkODBlNjk1YWE0NzU4ODMyMmMuLjI1NGI1MDgzZjc3ZGU2Yjc5ZDky
NGJmMGNjODZmY2FkZjBiNDFlNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZmls
ZXN5c3RlbWFjY2Vzcy9maWxlLWhhbmRsZS1nZXRmaWxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL2ZpbGUtaGFuZGxlLWdldGZpbGUuaHRtbApAQCAtMiwx
NSArMiw5IEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48
L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgotPHNjcmlwdD4KLXZhciBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKLQotaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIGZpbmlzaFRlc3QoIndpbmRv
dy50ZXN0UnVubmVyIGlzIG5vdCBhdmFpbGFibGUiKTsKLX0KLTwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9InJlc291cmNlcy9maWxlLWhhbmRsZS1nZXRmaWxlLmpzIj48L3NjcmlwdD4KIDwvYm9keT4K
IDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vz
cy9oYW5kbGUtbW92ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNz
L2hhbmRsZS1tb3ZlLmh0bWwKaW5kZXggMDI0ZmJhMDY4NGUxNzEwZTRhZWNlYmFkOTViN2Q1MDA0
MjJlMGJkYS4uZDY3ZmZhMDNmM2E0OWRlOGVhNzE2ZDI3NTYzNWViOGI3ODg2ODUwMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL2hhbmRsZS1tb3ZlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL2hhbmRsZS1tb3Zl
Lmh0bWwKQEAgLTIsMTUgKzIsOSBAQAogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3NoYXJlZC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KLTxzY3JpcHQ+Ci12YXIganNU
ZXN0SXNBc3luYyA9IHRydWU7Ci0KLWlmICghd2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICBmaW5p
c2hUZXN0KCJ3aW5kb3cudGVzdFJ1bm5lciBpcyBub3QgYXZhaWxhYmxlIik7Ci19Ci08L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvaGFuZGxlLW1vdmUuanMiPjwvc2NyaXB0PgogPC9i
b2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVt
YWNjZXNzL3Jlc291cmNlcy9kaXJlY3RvcnktaGFuZGxlLWJhc2ljcy5qcyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvZGlyZWN0b3J5LWhhbmRsZS1iYXNp
Y3MuanMKaW5kZXggNjJhZTEyM2JiYTc5OWY5NWQ2ODVlODhlZGMxYWQ4ZTJlYTgxNDMwZS4uMzYw
Y2QyMDU1MmYyYTFiMDU5NzEzODE5ZGU3YTljNTE2MjU0ZDgwNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9kaXJlY3RvcnktaGFuZGxl
LWJhc2ljcy5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVz
b3VyY2VzL2RpcmVjdG9yeS1oYW5kbGUtYmFzaWNzLmpzCkBAIC0xLDIwICsxLDE0IEBACiBpZiAo
dGhpcy5pbXBvcnRTY3JpcHRzKSB7CiAgICAgaW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMnKTsKKyAgICBpbXBvcnRTY3JpcHRzKCdzaGFyZWQuanMnKTsKIH0KIAog
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgYmFzaWMgZnVudGlvbmFsaXRpZXMgb2YgRmls
ZVN5c3RlbURpcmVjdG9yeUhhbmRsZS4iKTsKIAogdmFyIHJvb3RIYW5kbGUsIGRpckhhbmRsZSwg
ZmlsZUhhbmRsZSwgaXNTYW1lRW50cnksIGhhbmRsZU5hbWVzLCBjcmVhdGVFcnJvcjsKIAotZnVu
Y3Rpb24gZmluaXNoVGVzdChlcnJvcikKK2Z1bmN0aW9uIGdldERpcmVjdG9yeSgpIAogewotICAg
IGlmIChlcnJvcikgewotICAgICAgICB0ZXN0RmFpbGVkKGVycm9yKTsKLSAgICB9Ci0gICAgZmlu
aXNoSlNUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIGdldERpcmVjdG9yeSgpIHsKICAgICBuYXZpZ2F0
b3Iuc3RvcmFnZS5nZXREaXJlY3RvcnkoKS50aGVuKChoYW5kbGUpID0+IHsKICAgICAgICAgcm9v
dEhhbmRsZSA9IGhhbmRsZTsKICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyb290SGFu
ZGxlLm5hbWUiLCAiIik7CkBAIC0yNSw3ICsxOSw4IEBAIGZ1bmN0aW9uIGdldERpcmVjdG9yeSgp
IHsKICAgICB9KTsKIH0KIAotZnVuY3Rpb24gY3JlYXRlRGlyZWN0b3J5SGFuZGxlKGZyb21IYW5k
bGUpIHsKK2Z1bmN0aW9uIGNyZWF0ZURpcmVjdG9yeUhhbmRsZShmcm9tSGFuZGxlKSAKK3sKICAg
ICBmcm9tSGFuZGxlLmdldERpcmVjdG9yeUhhbmRsZSgiZGlyIiwgeyAiY3JlYXRlIiA6IHRydWUg
fSkudGhlbigoaGFuZGxlKSA9PiB7CiAgICAgICAgIGRpckhhbmRsZSA9IGhhbmRsZTsKICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkaXJIYW5kbGUubmFtZSIsICJkaXIiKTsKQEAgLTQ3
LDcgKzQyLDggQEAgZnVuY3Rpb24gY2hlY2tJZlNhbWVFbnRyeShoYW5kbGUxLCBoYW5kbGUyKQog
ICAgIH0pOwogfQogCi1mdW5jdGlvbiBjcmVhdGVGaWxlSGFuZGxlKGZyb21IYW5kbGUsIGNyZWF0
ZSkgeworZnVuY3Rpb24gY3JlYXRlRmlsZUhhbmRsZShmcm9tSGFuZGxlLCBjcmVhdGUpIAorewog
ICAgIGxldCBvcHRpb25zID0geyAiY3JlYXRlIiA6IGNyZWF0ZSB9OwogICAgIGZyb21IYW5kbGUu
Z2V0RmlsZUhhbmRsZSgiZmlsZSIsIG9wdGlvbnMpLnRoZW4oKGhhbmRsZSkgPT4gewogICAgICAg
ICBmaWxlSGFuZGxlID0gaGFuZGxlOwpAQCAtNjUsNyArNjEsOCBAQCBmdW5jdGlvbiBjcmVhdGVG
aWxlSGFuZGxlKGZyb21IYW5kbGUsIGNyZWF0ZSkgewogICAgIH0pOwogfQogCi1mdW5jdGlvbiBy
ZXNvbHZlUGF0aCgpIHsKK2Z1bmN0aW9uIHJlc29sdmVQYXRoKCkgCit7CiAgICAgcm9vdEhhbmRs
ZS5yZXNvbHZlKGZpbGVIYW5kbGUpLnRoZW4oKHJlc3VsdCkgPT4gewogICAgICAgICBoYW5kbGVO
YW1lcyA9IHJlc3VsdDsKICAgICAgICAgc2hvdWxkQmUoImhhbmRsZU5hbWVzLmxlbmd0aCIsICIy
Iik7CkBAIC03Nyw3ICs3NCw4IEBAIGZ1bmN0aW9uIHJlc29sdmVQYXRoKCkgewogICAgIH0pOwog
fQogCi1mdW5jdGlvbiByZW1vdmVFbnRyeShmcm9tSGFuZGxlLCBuYW1lKSB7CitmdW5jdGlvbiBy
ZW1vdmVFbnRyeShmcm9tSGFuZGxlLCBuYW1lKSAKK3sKICAgICBmcm9tSGFuZGxlLnJlbW92ZUVu
dHJ5KG5hbWUpLnRoZW4oKHJlc3VsdCkgPT4gewogICAgICAgICAvLyBObyBlcnJvciBtZWFucyBp
dCBpcyByZW1vdmVkLgogICAgICAgICBjcmVhdGVGaWxlSGFuZGxlKGRpckhhbmRsZSwgZmFsc2Up
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291
cmNlcy9kaXJlY3RvcnktaGFuZGxlLWl0ZXJhdGlvbi5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
ZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvZGlyZWN0b3J5LWhhbmRsZS1pdGVyYXRpb24uanMK
aW5kZXggMTNmMTIzMjM1NzA0YWFkYjg3MTVlNTRiY2ZkYWNiMjQxNWNlOTc1OS4uNTI3NTRlYWY2
YjZlYmYzNDExYTBkM2MyY2ZkMjlmNmY3ZGNmMjJhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9kaXJlY3RvcnktaGFuZGxlLWl0ZXJh
dGlvbi5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3Vy
Y2VzL2RpcmVjdG9yeS1oYW5kbGUtaXRlcmF0aW9uLmpzCkBAIC0xLDUgKzEsNiBAQAogaWYgKHRo
aXMuaW1wb3J0U2NyaXB0cykgewogICAgIGltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzJyk7CisgICAgaW1wb3J0U2NyaXB0cygnc2hhcmVkLmpzJyk7CiB9CiAKIGRl
c2NyaXB0aW9uKCdUaGlzIHRlc3QgY2hlY2tzIGl0ZXJhdGlvbiBvbiBGaWxlU3lzdGVtRGlyZWN0
b3J5SGFuZGxlLicpOwpAQCAtOCwxNCArOSw2IEBAIGNvbnN0IGhhbmRsZVR5cGVzID0gWydkaXJl
Y3RvcnknLCAnZGlyZWN0b3J5JywgJ2ZpbGUnLCAnZmlsZSddOwogY29uc3QgaGFuZGxlTmFtZXMg
PSBbJ2RpcjEnLCAnZGlyMicsICdmaWxlMScsICdmaWxlMiddOwogdmFyIGluZGV4LCBpc0VxdWFs
LCBpdGVyYXRvciwgcHJvdG90eXBlLCBkZXNjcmlwdG9yLCByZXN1bHRLZXlzLCByZXN1bHRWYWx1
ZXNOYW1lLCByZXN1bHRWYWx1ZXNUeXBlLCByZXN1bHRFbnRyaWVzLCBuZXh0UmVzdWx0cywgZXhw
ZWN0ZWRSZXN1bHRzLCBuZXh0UmVzdWx0c0VuZDsKIAotZnVuY3Rpb24gZmluaXNoVGVzdChlcnJv
cikKLXsKLSAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgdGVzdEZhaWxlZChlcnJvcik7Ci0gICAg
fQotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCiBmdW5jdGlvbiB0ZXN0UHJvdG90eXBlKGl0KQog
ewogICAgIGl0ZXJhdG9yID0gaXQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2Zp
bGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL2ZpbGUtaGFuZGxlLWdldGZpbGUuanMgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL2ZpbGUtaGFuZGxlLWdldGZp
bGUuanMKaW5kZXggYTM4Mjc3YTBlZTc0YThmM2EyOWVlNDM1YmU0ZjhlMmQwMjFlNDc1Zi4uYmRh
M2ViODRjZjhiMDkxODczYzU2ODdkNTg4NzNjYzBlYmYyYTdjMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9maWxlLWhhbmRsZS1nZXRm
aWxlLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJj
ZXMvZmlsZS1oYW5kbGUtZ2V0ZmlsZS5qcwpAQCAtMSwyMCArMSwxNCBAQAogaWYgKHRoaXMuaW1w
b3J0U2NyaXB0cykgewogICAgIGltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzJyk7CisgICAgaW1wb3J0U2NyaXB0cygnc2hhcmVkLmpzJyk7CiB9CiAKIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgY2hlY2tzIGdldEZpbGUoKSBvZiBGaWxlU3lzdGVtRmlsZUhhbmRsZS4i
KTsKIAogdmFyIHJvb3RIYW5kbGUsIGZpbGVIYW5kbGUsIGZpbGVPYmplY3QsIHdyaXRlU2l6ZSwg
d3JpdGVCdWZmZXIsIGZpbGVDb250ZW50OwogCi1mdW5jdGlvbiBmaW5pc2hUZXN0KGVycm9yKQor
YXN5bmMgZnVuY3Rpb24gcmVhZChmaWxlKSAKIHsKLSAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAg
dGVzdEZhaWxlZChlcnJvcik7Ci0gICAgfQotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi1hc3lu
YyBmdW5jdGlvbiByZWFkKGZpbGUpIHsKICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUs
IHJlamVjdCkgPT4gewogICAgICAgICB2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTsKICAg
ICAgICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSk7CkBAIC0yNyw3ICsyMSw4IEBAIGFzeW5jIGZ1
bmN0aW9uIHJlYWQoZmlsZSkgewogICAgIH0pOwogfQogCi1hc3luYyBmdW5jdGlvbiB0ZXN0KCkg
eworYXN5bmMgZnVuY3Rpb24gdGVzdCgpIAorewogICAgIHRyeSB7CiAgICAgICAgIHZhciByb290
SGFuZGxlID0gYXdhaXQgbmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCk7CiAgICAgICAg
IC8vIENyZWF0ZSBhIG5ldyBmaWxlIGZvciB0aGlzIHRlc3QuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL2hhbmRsZS1tb3ZlLmpzIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9oYW5kbGUtbW92
ZS5qcwppbmRleCA5YzhkY2YxNTNlYmNjMDI3NWEzY2MyMThkNjg2ODRjYjNmNTgwYTkwLi45ZDgx
MDk5N2FkOTY0NDFiZGU3NGFkYTQxNzFiNGQxNGZiZDYzMDhiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL2hhbmRsZS1tb3ZlLmpzCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvaGFuZGxl
LW1vdmUuanMKQEAgLTEsMjAgKzEsMTQgQEAKIGlmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKICAg
ICBpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcycpOworICAgIGlt
cG9ydFNjcmlwdHMoJ3NoYXJlZC5qcycpOwogfQogCiBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNo
ZWNrcyBtb3ZlKCkgb2YgRmlsZVN5c3RlbUhhbmRsZS4iKTsKIAogdmFyIHJvb3RIYW5kbGUsIGRp
ckhhbmRsZTEsIGRpckhhbmRsZTIsIGZpbGVIYW5kbGUsIGZpbGVIYW5kbGUyLCB0ZXN0RXJyb3Is
IGdldEZpbGVIYW5kbGVFcnJvciwgbW92ZUZpbGVFcnJvcjsKIAotZnVuY3Rpb24gZmluaXNoVGVz
dChlcnJvcikKK2FzeW5jIGZ1bmN0aW9uIHRlc3QoKSAKIHsKLSAgICBpZiAoZXJyb3IpIHsKLSAg
ICAgICAgdGVzdEZhaWxlZChlcnJvcik7Ci0gICAgfQotICAgIGZpbmlzaEpTVGVzdCgpOwotfQot
Ci1hc3luYyBmdW5jdGlvbiB0ZXN0KCkgewogICAgIHRyeSB7CiAgICAgICAgIHZhciByb290SGFu
ZGxlID0gYXdhaXQgbmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCk7CiAgICAgICAgIC8v
IENyZWF0ZSB0d28gbmV3IGZvbGRlcnMgZm9yIHRoaXMgdGVzdC4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvc2hhcmVkLmpzIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9zaGFyZWQuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2NkY2QwMTk3ZTUxMTYwOTZhYzQ3Yjc5ZjVkYTVlNTRkMTIxMGYzZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJj
ZXMvc2hhcmVkLmpzCkBAIC0wLDAgKzEsMTggQEAKK3ZhciBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworZnVuY3Rpb24gZmluaXNoVGVzdChlcnJvcikKK3sKKyAgICBpZiAoZXJyb3IpIHsKKyAgICAg
ICAgaWYgKGVycm9yLnRvU3RyaW5nKSB7CisgICAgICAgICAgICBlcnJvciA9IGVycm9yLnRvU3Ry
aW5nKCk7CisgICAgICAgIH0KKworICAgICAgICBpZiAodHlwZW9mIGVycm9yID09PSAnc3RyaW5n
JykgeworICAgICAgICAgICAgdGVzdEZhaWxlZChlcnJvcik7CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICBkZWJ1ZygiV0FSTjogY2Fubm90IHByaW50IGVycm9yIGJlY2F1c2UgaXQgaXMg
bm90IGEgc3RyaW5nIik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL3N5bmMtYWNjZXNzLWhhbmRsZS1iYXNp
Y3MuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL3N5
bmMtYWNjZXNzLWhhbmRsZS1iYXNpY3MuanMKaW5kZXggNWFlMTZiNTNjNmI5YTBlMTg5ZTBhZjNl
NGExMDc4YzYyNDY1YWUyNi4uZmNiMWQ0OGVkYmUwMDljYTAzZjg3MDc0MzUyMTJmMTY0ODYxYzJm
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291
cmNlcy9zeW5jLWFjY2Vzcy1oYW5kbGUtYmFzaWNzLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvc3luYy1hY2Nlc3MtaGFuZGxlLWJhc2ljcy5q
cwpAQCAtMSwyMCArMSwxNCBAQAogaWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgewogICAgIGltcG9y
dFNjcmlwdHMoJy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzJyk7CisgICAgaW1wb3J0U2Ny
aXB0cygnc2hhcmVkLmpzJyk7CiB9CiAKIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIGJh
c2ljIGZ1bnRpb25hbGl0aWVzIG9mIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlLiIpOwogCiB2
YXIgcm9vdEhhbmRsZSwgZmlsZUhhbmRsZSwgYWNjZXNzSGFuZGxlMSwgYWNjZXNzSGFuZGxlMiwg
Y3JlYXRlRXJyb3I7CiAKLWZ1bmN0aW9uIGZpbmlzaFRlc3QoZXJyb3IpCitmdW5jdGlvbiBnZXRE
aXJlY3RvcnkoKSAKIHsKLSAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgdGVzdEZhaWxlZChlcnJv
cik7Ci0gICAgfQotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi1mdW5jdGlvbiBnZXREaXJlY3Rv
cnkoKSB7CiAgICAgbmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCkudGhlbigoaGFuZGxl
KSA9PiB7CiAgICAgICAgIHJvb3RIYW5kbGUgPSBoYW5kbGU7CiAgICAgICAgIHJvb3RIYW5kbGUu
cmVtb3ZlRW50cnkoInN5bmMtYWNjZXNzLWhhbmRsZS50eHQiKS50aGVuKCgpID0+IHsKQEAgLTI3
LDcgKzIxLDggQEAgZnVuY3Rpb24gZ2V0RGlyZWN0b3J5KCkgewogICAgIH0pOwogfQogCi1mdW5j
dGlvbiBjcmVhdGVGaWxlSGFuZGxlKGZyb21IYW5kbGUpIHsKK2Z1bmN0aW9uIGNyZWF0ZUZpbGVI
YW5kbGUoZnJvbUhhbmRsZSkgCit7CiAgICAgZnJvbUhhbmRsZS5nZXRGaWxlSGFuZGxlKCJzeW5j
LWFjY2Vzcy1oYW5kbGUudHh0IiwgeyAiY3JlYXRlIiA6IHRydWUgfSkudGhlbigoaGFuZGxlKSA9
PiB7CiAgICAgICAgIGZpbGVIYW5kbGUgPSBoYW5kbGU7CiAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZmlsZUhhbmRsZS5uYW1lIiwgInN5bmMtYWNjZXNzLWhhbmRsZS50eHQiKTsKQEAg
LTM4LDcgKzMzLDggQEAgZnVuY3Rpb24gY3JlYXRlRmlsZUhhbmRsZShmcm9tSGFuZGxlKSB7CiAg
ICAgfSk7CiB9CiAKLWZ1bmN0aW9uIGNyZWF0ZVN5bmNBY2Nlc3NIYW5kbGUoZnJvbUhhbmRsZSkg
eworZnVuY3Rpb24gY3JlYXRlU3luY0FjY2Vzc0hhbmRsZShmcm9tSGFuZGxlKSAKK3sKICAgICBm
cm9tSGFuZGxlLmNyZWF0ZVN5bmNBY2Nlc3NIYW5kbGUoKS50aGVuKChoYW5kbGUpID0+IHsKICAg
ICAgICAgYWNjZXNzSGFuZGxlMSA9IGhhbmRsZTsKICAgICAgICAgZGVidWcoImFjY2Vzc0hhbmRs
ZTEgaXMgY3JlYXRlZCIpOwpAQCAtNDgsNyArNDQsOCBAQCBmdW5jdGlvbiBjcmVhdGVTeW5jQWNj
ZXNzSGFuZGxlKGZyb21IYW5kbGUpIHsKICAgICB9KTsKIH0KIAotZnVuY3Rpb24gZ2V0U2l6ZShh
Y2Nlc3NIYW5kbGUpIHsKK2Z1bmN0aW9uIGdldFNpemUoYWNjZXNzSGFuZGxlKSAKK3sKICAgICBh
Y2Nlc3NIYW5kbGUuZ2V0U2l6ZSgpLnRoZW4oKHJlc3VsdCkgPT4gewogICAgICAgICBzaXplID0g
cmVzdWx0OwogICAgICAgICBzaG91bGRCZSgic2l6ZSIsICIwIik7CkBAIC01OCw3ICs1NSw4IEBA
IGZ1bmN0aW9uIGdldFNpemUoYWNjZXNzSGFuZGxlKSB7CiAgICAgfSk7CiB9CiAKLWZ1bmN0aW9u
IGNyZWF0ZVNlY29uZFN5bmNBY2Vzc0hhbmRsZShmcm9tSGFuZGxlKSB7CitmdW5jdGlvbiBjcmVh
dGVTZWNvbmRTeW5jQWNlc3NIYW5kbGUoZnJvbUhhbmRsZSkgCit7CiAgICAgZnJvbUhhbmRsZS5j
cmVhdGVTeW5jQWNjZXNzSGFuZGxlKCkudGhlbigoaGFuZGxlKSA9PiB7CiAgICAgICAgIGFjY2Vz
c0hhbmRsZTIgPSBoYW5kbGU7CiAgICAgICAgIC8vIFNlY29uZCBjcmVhdGlvbiBzaG91bGQgc3Vj
Y2VlZC4KQEAgLTczLDcgKzcxLDggQEAgZnVuY3Rpb24gY3JlYXRlU2Vjb25kU3luY0FjZXNzSGFu
ZGxlKGZyb21IYW5kbGUpIHsKICAgICB9KTsKIH0KIAotZnVuY3Rpb24gY2xvc2UoKSB7CitmdW5j
dGlvbiBjbG9zZSgpIAorewogICAgIGFjY2Vzc0hhbmRsZTEuY2xvc2UoKS50aGVuKChyZXN1bHQp
ID0+IHsKICAgICAgICAgZGVidWcoImFjY2Vzc0hhbmRsZTEgaXMgY2xvc2VkIik7CiAgICAgICAg
IGNyZWF0ZVNlY29uZFN5bmNBY2Vzc0hhbmRsZShmaWxlSGFuZGxlKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvc3luYy1hY2Nlc3Mt
aGFuZGxlLWNsb3NlLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jl
c291cmNlcy9zeW5jLWFjY2Vzcy1oYW5kbGUtY2xvc2UuanMKaW5kZXggMmUwNzdjM2EzODk1NTM5
ZjVlZDBjNDBjMjI1MGFlZmI1ZGFhYWQyZS4uZmM1ZDFjMDg0MWY0NzlhMmRiMTIwNjcwOWEwNDVj
Y2U4N2IyY2Q3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNj
ZXNzL3Jlc291cmNlcy9zeW5jLWFjY2Vzcy1oYW5kbGUtY2xvc2UuanMKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9zeW5jLWFjY2Vzcy1oYW5kbGUt
Y2xvc2UuanMKQEAgLTEsNSArMSw2IEBACiBpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CiAgICAg
aW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMnKTsKKyAgICBpbXBv
cnRTY3JpcHRzKCdzaGFyZWQuanMnKTsKIH0KIAogZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVj
a3MgY2xvc2UoKSBvZiBGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZSIpOwpAQCAtMTQsMTQgKzE1
LDYgQEAgdmFyIGZ1bmN0aW9ucyA9IFsKICAgICB7IG5hbWUgOiAid3JpdGUiLCBhcmdzIDogW2J1
ZmZlciwgb3B0aW9uc10sIHN5bmMgOiB0cnVlIH0sCiBdOwogCi1mdW5jdGlvbiBmaW5pc2hUZXN0
KGVycm9yKQotewotICAgIGlmIChlcnJvcikgewotICAgICAgICB0ZXN0RmFpbGVkKGVycm9yKTsK
LSAgICB9Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KIGZ1bmN0aW9uIHRlc3RTeW5jRnVuY3Rp
b24oY3VycmVudEZ1bmN0aW9uKQogewogICAgIHRyeSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL3N5bmMtYWNjZXNzLWhhbmRsZS1y
ZWFkLXdyaXRlLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291
cmNlcy9zeW5jLWFjY2Vzcy1oYW5kbGUtcmVhZC13cml0ZS5qcwppbmRleCBmM2JmYzQ3OTFmODRk
ZWM3ODEyMzNhMTM3ZTczZWM0MmE1MTBhZGRiLi5hY2I3MDUyNjkyZjExODE4OGI2Njc2NGRiOTIy
NDhiM2YyODQ0YjFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1h
Y2Nlc3MvcmVzb3VyY2VzL3N5bmMtYWNjZXNzLWhhbmRsZS1yZWFkLXdyaXRlLmpzCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvc3luYy1hY2Nlc3Mt
aGFuZGxlLXJlYWQtd3JpdGUuanMKQEAgLTEsNSArMSw2IEBACiBpZiAodGhpcy5pbXBvcnRTY3Jp
cHRzKSB7CiAgICAgaW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMn
KTsKKyAgICBpbXBvcnRTY3JpcHRzKCdzaGFyZWQuanMnKTsKIH0KIAogZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCBjaGVja3MgcmVhZCBhbmQgd3JpdGUgY2FwYWJpbGl0aWVzIG9mIEZpbGVTeXN0ZW1T
eW5jQWNjZXNzSGFuZGxlLiIpOwpAQCAtNywxNiArOCw2IEBAIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgY2hlY2tzIHJlYWQgYW5kIHdyaXRlIGNhcGFiaWxpdGllcyBvZiBGaWxlU3lzdGVtU3luY0Fj
Y2VzCiB2YXIgYWNjZXNzSGFuZGxlLCBmaWxlU2l6ZSwgd3JpdGVCdWZmZXIsIHdyaXRlU2l6ZSwg
cmVhZEJ1ZmZlciwgcmVhZFNpemUsIHJlYWRUZXh0LCByZWFkRXJyb3I7CiB2YXIgdG90YWxSZWFk
U2l6ZSA9IDAsIHRvdGFsV3JpdGVTaXplID0gMDsKIAotdmFyIHRlc3RTdHJpbmc7Ci0KLWZ1bmN0
aW9uIGZpbmlzaFRlc3QoZXJyb3IpCi17Ci0gICAgaWYgKGVycm9yKSB7Ci0gICAgICAgIHRlc3RG
YWlsZWQoZXJyb3IpOwotICAgIH0KLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQogZnVuY3Rpb24g
YXJyYXlCdWZmZXJUb1N0cmluZyhidWZmZXIpCiB7CiAgICAgY29uc3QgZGVjb2RlciA9IG5ldyBU
ZXh0RGVjb2RlcigpOwpAQCAtNTAsNyArNDEsOCBAQCBmdW5jdGlvbiByZWFkKGFjY2Vzc0hhbmRs
ZSwgb2Zmc2V0LCBzaXplLCBleHBlY3RlZFN0cmluZykKICAgICByZXR1cm4gcmVhZFNpemU7CiB9
CiAKLWFzeW5jIGZ1bmN0aW9uIHRlc3QoKSB7Cithc3luYyBmdW5jdGlvbiB0ZXN0KCkgCit7CiAg
ICAgdHJ5IHsKICAgICAgICAgdmFyIHJvb3RIYW5kbGUgPSBhd2FpdCBuYXZpZ2F0b3Iuc3RvcmFn
ZS5nZXREaXJlY3RvcnkoKTsKICAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IGZpbGUgZm9yIHRoaXMg
dGVzdC4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445239</attachid>
            <date>2021-11-28 11:42:48 -0800</date>
            <delta_ts>2021-11-28 12:34:43 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-233241-20211128114247.patch</filename>
            <type>text/plain</type>
            <size>15948</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MTk3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2IzZjJlMmNmYTFhZjYwZTk2NDE3
ODFlOTYzZDNkOGQwYTI4YTViYS4uYzdkMDkxODU4OTEwM2RiMjBhYjY4NTQ5YTJhOWY2ZmM0YTFj
NzJmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTExLTI4ICBTaWh1aSBMaXUgIDxzaWh1
aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIENvbnZlcnQgZXJyb3IgdG8gc3RyaW5nIGJlZm9y
ZSBwYXNzaW5nIHRvIHRlc3RGYWlsZWQoKSBpbiBGaWxlU3lzdGVtQWNjZXNzIGxheW91dCB0ZXN0
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMjQx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICB0ZXN0RmFp
bGVkKCkgaW4ganMtdGVzdC5qcyBleHBlY3RzIHN0cmluZywgYnV0IGZpbmlzaFRlc3QoKSBtYXkg
cmVjZWl2ZSBFcnJvciBvYmplY3QgYXMgcGFyYW1ldGVyLgorCisgICAgICAgICogc3RvcmFnZS9m
aWxlc3lzdGVtYWNjZXNzL2RpcmVjdG9yeS1oYW5kbGUtYmFzaWNzLmh0bWw6CisgICAgICAgICog
c3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL2RpcmVjdG9yeS1oYW5kbGUtaXRlcmF0aW9uLmh0bWw6
CisgICAgICAgICogc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL2ZpbGUtaGFuZGxlLWdldGZpbGUu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvaGFuZGxlLW1vdmUuaHRt
bDoKKyAgICAgICAgKiBzdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL2RpcmVjdG9y
eS1oYW5kbGUtYmFzaWNzLmpzOgorICAgICAgICAoZ2V0RGlyZWN0b3J5KToKKyAgICAgICAgKGZp
bmlzaFRlc3QpOiBEZWxldGVkLgorICAgICAgICAqIHN0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9y
ZXNvdXJjZXMvZGlyZWN0b3J5LWhhbmRsZS1pdGVyYXRpb24uanM6CisgICAgICAgIChmaW5pc2hU
ZXN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3Vy
Y2VzL2ZpbGUtaGFuZGxlLWdldGZpbGUuanM6CisgICAgICAgIChhc3luYyByZWFkKToKKyAgICAg
ICAgKGFzeW5jIHRlc3QpOgorICAgICAgICAoZmluaXNoVGVzdCk6IERlbGV0ZWQuCisgICAgICAg
ICogc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9oYW5kbGUtbW92ZS5qczoKKyAg
ICAgICAgKGFzeW5jIHRlc3QpOgorICAgICAgICAoZmluaXNoVGVzdCk6IERlbGV0ZWQuCisgICAg
ICAgICogc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9zaGFyZWQuanM6IEFkZGVk
LiBNb3ZlIGZpbmlzaFRlc3QoKSBmdW5jdGlvbiBoZXJlIHNvIHRoZSBjb2RlIGNhbiBiZSBzaGFy
ZWQuCisgICAgICAgIChmaW5pc2hUZXN0KToKKyAgICAgICAgKiBzdG9yYWdlL2ZpbGVzeXN0ZW1h
Y2Nlc3MvcmVzb3VyY2VzL3N5bmMtYWNjZXNzLWhhbmRsZS1iYXNpY3MuanM6CisgICAgICAgIChn
ZXREaXJlY3RvcnkpOgorICAgICAgICAoZmluaXNoVGVzdCk6IERlbGV0ZWQuCisgICAgICAgICog
c3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9zeW5jLWFjY2Vzcy1oYW5kbGUtY2xv
c2UuanM6CisgICAgICAgIChmaW5pc2hUZXN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdG9yYWdl
L2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL3N5bmMtYWNjZXNzLWhhbmRsZS1yZWFkLXdyaXRl
LmpzOgorICAgICAgICAoYXN5bmMgdGVzdCk6CisgICAgICAgIChmaW5pc2hUZXN0KTogRGVsZXRl
ZC4KKwogMjAyMS0xMS0yOCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW0NTUyBDb2xvciA1XSBVcGRhdGUgY29sb3ItbWl4KCkgdG8gbGF0ZXN0IHNwZWMgKGFnYWlu
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL2RpcmVj
dG9yeS1oYW5kbGUtYmFzaWNzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1h
Y2Nlc3MvZGlyZWN0b3J5LWhhbmRsZS1iYXNpY3MuaHRtbAppbmRleCAzZDc1ZmVjODY1M2MzYTE2
NGYxZWJlMWMxOGFiM2E5NTJjZGUxMmIwLi41MWIwMzEwMDg5ZjMyMTIzNmM5YTA1OThlMzc3ZDYw
M2YyMjE5ZTczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nl
c3MvZGlyZWN0b3J5LWhhbmRsZS1iYXNpY3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2ZpbGVzeXN0ZW1hY2Nlc3MvZGlyZWN0b3J5LWhhbmRsZS1iYXNpY3MuaHRtbApAQCAtMiwxNSAr
Miw5IEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgotPHNjcmlwdD4KLXZhciBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKLQotaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIGZpbmlzaFRlc3QoIndpbmRvdy50
ZXN0UnVubmVyIGlzIG5vdCBhdmFpbGFibGUiKTsKLX0KLTwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
InJlc291cmNlcy9kaXJlY3RvcnktaGFuZGxlLWJhc2ljcy5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+
CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nl
c3MvZGlyZWN0b3J5LWhhbmRsZS1pdGVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
ZmlsZXN5c3RlbWFjY2Vzcy9kaXJlY3RvcnktaGFuZGxlLWl0ZXJhdGlvbi5odG1sCmluZGV4IGJi
OTA1NTkzNzc3MTViYmU2MmJhZWFkMDY5NTBjOWM4YzAyOGVmOTAuLmFiYWY2NjMwZWI3YzgzNGY0
MzAyM2VlNjE2NjdiYjM1Zjk4ZGZhN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
ZmlsZXN5c3RlbWFjY2Vzcy9kaXJlY3RvcnktaGFuZGxlLWl0ZXJhdGlvbi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9kaXJlY3RvcnktaGFuZGxlLWl0ZXJh
dGlvbi5odG1sCkBAIC0yLDE1ICsyLDkgQEAKIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9zaGFyZWQuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+Ci08c2NyaXB0PgotdmFy
IGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi1pZiAoIXdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
ZmluaXNoVGVzdCgid2luZG93LnRlc3RSdW5uZXIgaXMgbm90IGF2YWlsYWJsZSIpOwotfQotPC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RpcmVjdG9yeS1oYW5kbGUtaXRlcmF0aW9u
LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9maWxlLWhhbmRsZS1nZXRmaWxlLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvZmlsZS1oYW5kbGUtZ2V0ZmlsZS5odG1s
CmluZGV4IGFmYmU2MjU2NmU3M2Q5NWVmNTI4ZDdkODBlNjk1YWE0NzU4ODMyMmMuLjI1NGI1MDgz
Zjc3ZGU2Yjc5ZDkyNGJmMGNjODZmY2FkZjBiNDFlNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9maWxlLWhhbmRsZS1nZXRmaWxlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL2ZpbGUtaGFuZGxlLWdldGZpbGUu
aHRtbApAQCAtMiwxNSArMiw5IEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
c2hhcmVkLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgotPHNjcmlwdD4KLXZhciBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKLQotaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIGZpbmlz
aFRlc3QoIndpbmRvdy50ZXN0UnVubmVyIGlzIG5vdCBhdmFpbGFibGUiKTsKLX0KLTwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9maWxlLWhhbmRsZS1nZXRmaWxlLmpzIj48L3Njcmlw
dD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZmls
ZXN5c3RlbWFjY2Vzcy9oYW5kbGUtbW92ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxl
c3lzdGVtYWNjZXNzL2hhbmRsZS1tb3ZlLmh0bWwKaW5kZXggMDI0ZmJhMDY4NGUxNzEwZTRhZWNl
YmFkOTViN2Q1MDA0MjJlMGJkYS4uZDY3ZmZhMDNmM2E0OWRlOGVhNzE2ZDI3NTYzNWViOGI3ODg2
ODUwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL2hh
bmRsZS1tb3ZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNz
L2hhbmRsZS1tb3ZlLmh0bWwKQEAgLTIsMTUgKzIsOSBAQAogPGh0bWw+CiA8aGVhZD4KIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KLTxzY3Jp
cHQ+Ci12YXIganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWlmICghd2luZG93LnRlc3RSdW5uZXIp
IHsKLSAgICBmaW5pc2hUZXN0KCJ3aW5kb3cudGVzdFJ1bm5lciBpcyBub3QgYXZhaWxhYmxlIik7
Ci19Ci08L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvaGFuZGxlLW1vdmUuanMiPjwv
c2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9kaXJlY3RvcnktaGFuZGxlLWJhc2ljcy5qcyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvZGlyZWN0b3J5
LWhhbmRsZS1iYXNpY3MuanMKaW5kZXggNjJhZTEyM2JiYTc5OWY5NWQ2ODVlODhlZGMxYWQ4ZTJl
YTgxNDMwZS4uMzYwY2QyMDU1MmYyYTFiMDU5NzEzODE5ZGU3YTljNTE2MjU0ZDgwNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9kaXJl
Y3RvcnktaGFuZGxlLWJhc2ljcy5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0
ZW1hY2Nlc3MvcmVzb3VyY2VzL2RpcmVjdG9yeS1oYW5kbGUtYmFzaWNzLmpzCkBAIC0xLDIwICsx
LDE0IEBACiBpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CiAgICAgaW1wb3J0U2NyaXB0cygnLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMnKTsKKyAgICBpbXBvcnRTY3JpcHRzKCdzaGFyZWQu
anMnKTsKIH0KIAogZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgYmFzaWMgZnVudGlvbmFs
aXRpZXMgb2YgRmlsZVN5c3RlbURpcmVjdG9yeUhhbmRsZS4iKTsKIAogdmFyIHJvb3RIYW5kbGUs
IGRpckhhbmRsZSwgZmlsZUhhbmRsZSwgaXNTYW1lRW50cnksIGhhbmRsZU5hbWVzLCBjcmVhdGVF
cnJvcjsKIAotZnVuY3Rpb24gZmluaXNoVGVzdChlcnJvcikKK2Z1bmN0aW9uIGdldERpcmVjdG9y
eSgpIAogewotICAgIGlmIChlcnJvcikgewotICAgICAgICB0ZXN0RmFpbGVkKGVycm9yKTsKLSAg
ICB9Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIGdldERpcmVjdG9yeSgpIHsK
ICAgICBuYXZpZ2F0b3Iuc3RvcmFnZS5nZXREaXJlY3RvcnkoKS50aGVuKChoYW5kbGUpID0+IHsK
ICAgICAgICAgcm9vdEhhbmRsZSA9IGhhbmRsZTsKICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJyb290SGFuZGxlLm5hbWUiLCAiIik7CkBAIC0yNSw3ICsxOSw4IEBAIGZ1bmN0aW9uIGdl
dERpcmVjdG9yeSgpIHsKICAgICB9KTsKIH0KIAotZnVuY3Rpb24gY3JlYXRlRGlyZWN0b3J5SGFu
ZGxlKGZyb21IYW5kbGUpIHsKK2Z1bmN0aW9uIGNyZWF0ZURpcmVjdG9yeUhhbmRsZShmcm9tSGFu
ZGxlKSAKK3sKICAgICBmcm9tSGFuZGxlLmdldERpcmVjdG9yeUhhbmRsZSgiZGlyIiwgeyAiY3Jl
YXRlIiA6IHRydWUgfSkudGhlbigoaGFuZGxlKSA9PiB7CiAgICAgICAgIGRpckhhbmRsZSA9IGhh
bmRsZTsKICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkaXJIYW5kbGUubmFtZSIsICJk
aXIiKTsKQEAgLTQ3LDcgKzQyLDggQEAgZnVuY3Rpb24gY2hlY2tJZlNhbWVFbnRyeShoYW5kbGUx
LCBoYW5kbGUyKQogICAgIH0pOwogfQogCi1mdW5jdGlvbiBjcmVhdGVGaWxlSGFuZGxlKGZyb21I
YW5kbGUsIGNyZWF0ZSkgeworZnVuY3Rpb24gY3JlYXRlRmlsZUhhbmRsZShmcm9tSGFuZGxlLCBj
cmVhdGUpIAorewogICAgIGxldCBvcHRpb25zID0geyAiY3JlYXRlIiA6IGNyZWF0ZSB9OwogICAg
IGZyb21IYW5kbGUuZ2V0RmlsZUhhbmRsZSgiZmlsZSIsIG9wdGlvbnMpLnRoZW4oKGhhbmRsZSkg
PT4gewogICAgICAgICBmaWxlSGFuZGxlID0gaGFuZGxlOwpAQCAtNjUsNyArNjEsOCBAQCBmdW5j
dGlvbiBjcmVhdGVGaWxlSGFuZGxlKGZyb21IYW5kbGUsIGNyZWF0ZSkgewogICAgIH0pOwogfQog
Ci1mdW5jdGlvbiByZXNvbHZlUGF0aCgpIHsKK2Z1bmN0aW9uIHJlc29sdmVQYXRoKCkgCit7CiAg
ICAgcm9vdEhhbmRsZS5yZXNvbHZlKGZpbGVIYW5kbGUpLnRoZW4oKHJlc3VsdCkgPT4gewogICAg
ICAgICBoYW5kbGVOYW1lcyA9IHJlc3VsdDsKICAgICAgICAgc2hvdWxkQmUoImhhbmRsZU5hbWVz
Lmxlbmd0aCIsICIyIik7CkBAIC03Nyw3ICs3NCw4IEBAIGZ1bmN0aW9uIHJlc29sdmVQYXRoKCkg
ewogICAgIH0pOwogfQogCi1mdW5jdGlvbiByZW1vdmVFbnRyeShmcm9tSGFuZGxlLCBuYW1lKSB7
CitmdW5jdGlvbiByZW1vdmVFbnRyeShmcm9tSGFuZGxlLCBuYW1lKSAKK3sKICAgICBmcm9tSGFu
ZGxlLnJlbW92ZUVudHJ5KG5hbWUpLnRoZW4oKHJlc3VsdCkgPT4gewogICAgICAgICAvLyBObyBl
cnJvciBtZWFucyBpdCBpcyByZW1vdmVkLgogICAgICAgICBjcmVhdGVGaWxlSGFuZGxlKGRpckhh
bmRsZSwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVt
YWNjZXNzL3Jlc291cmNlcy9kaXJlY3RvcnktaGFuZGxlLWl0ZXJhdGlvbi5qcyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvZGlyZWN0b3J5LWhhbmRsZS1p
dGVyYXRpb24uanMKaW5kZXggMTNmMTIzMjM1NzA0YWFkYjg3MTVlNTRiY2ZkYWNiMjQxNWNlOTc1
OS4uNTI3NTRlYWY2YjZlYmYzNDExYTBkM2MyY2ZkMjlmNmY3ZGNmMjJhMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9kaXJlY3Rvcnkt
aGFuZGxlLWl0ZXJhdGlvbi5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1h
Y2Nlc3MvcmVzb3VyY2VzL2RpcmVjdG9yeS1oYW5kbGUtaXRlcmF0aW9uLmpzCkBAIC0xLDUgKzEs
NiBAQAogaWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgewogICAgIGltcG9ydFNjcmlwdHMoJy4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzJyk7CisgICAgaW1wb3J0U2NyaXB0cygnc2hhcmVkLmpz
Jyk7CiB9CiAKIGRlc2NyaXB0aW9uKCdUaGlzIHRlc3QgY2hlY2tzIGl0ZXJhdGlvbiBvbiBGaWxl
U3lzdGVtRGlyZWN0b3J5SGFuZGxlLicpOwpAQCAtOCwxNCArOSw2IEBAIGNvbnN0IGhhbmRsZVR5
cGVzID0gWydkaXJlY3RvcnknLCAnZGlyZWN0b3J5JywgJ2ZpbGUnLCAnZmlsZSddOwogY29uc3Qg
aGFuZGxlTmFtZXMgPSBbJ2RpcjEnLCAnZGlyMicsICdmaWxlMScsICdmaWxlMiddOwogdmFyIGlu
ZGV4LCBpc0VxdWFsLCBpdGVyYXRvciwgcHJvdG90eXBlLCBkZXNjcmlwdG9yLCByZXN1bHRLZXlz
LCByZXN1bHRWYWx1ZXNOYW1lLCByZXN1bHRWYWx1ZXNUeXBlLCByZXN1bHRFbnRyaWVzLCBuZXh0
UmVzdWx0cywgZXhwZWN0ZWRSZXN1bHRzLCBuZXh0UmVzdWx0c0VuZDsKIAotZnVuY3Rpb24gZmlu
aXNoVGVzdChlcnJvcikKLXsKLSAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgdGVzdEZhaWxlZChl
cnJvcik7Ci0gICAgfQotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCiBmdW5jdGlvbiB0ZXN0UHJv
dG90eXBlKGl0KQogewogICAgIGl0ZXJhdG9yID0gaXQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL2ZpbGUtaGFuZGxlLWdldGZpbGUu
anMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL2ZpbGUt
aGFuZGxlLWdldGZpbGUuanMKaW5kZXggYTM4Mjc3YTBlZTc0YThmM2EyOWVlNDM1YmU0ZjhlMmQw
MjFlNDc1Zi4uYmRhM2ViODRjZjhiMDkxODczYzU2ODdkNTg4NzNjYzBlYmYyYTdjMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9maWxl
LWhhbmRsZS1nZXRmaWxlLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFj
Y2Vzcy9yZXNvdXJjZXMvZmlsZS1oYW5kbGUtZ2V0ZmlsZS5qcwpAQCAtMSwyMCArMSwxNCBAQAog
aWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgewogICAgIGltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzJyk7CisgICAgaW1wb3J0U2NyaXB0cygnc2hhcmVkLmpzJyk7CiB9
CiAKIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIGdldEZpbGUoKSBvZiBGaWxlU3lzdGVt
RmlsZUhhbmRsZS4iKTsKIAogdmFyIHJvb3RIYW5kbGUsIGZpbGVIYW5kbGUsIGZpbGVPYmplY3Qs
IHdyaXRlU2l6ZSwgd3JpdGVCdWZmZXIsIGZpbGVDb250ZW50OwogCi1mdW5jdGlvbiBmaW5pc2hU
ZXN0KGVycm9yKQorYXN5bmMgZnVuY3Rpb24gcmVhZChmaWxlKSAKIHsKLSAgICBpZiAoZXJyb3Ip
IHsKLSAgICAgICAgdGVzdEZhaWxlZChlcnJvcik7Ci0gICAgfQotICAgIGZpbmlzaEpTVGVzdCgp
OwotfQotCi1hc3luYyBmdW5jdGlvbiByZWFkKGZpbGUpIHsKICAgICByZXR1cm4gbmV3IFByb21p
c2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewogICAgICAgICB2YXIgcmVhZGVyID0gbmV3IEZpbGVS
ZWFkZXIoKTsKICAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSk7CkBAIC0yNyw3ICsyMSw4
IEBAIGFzeW5jIGZ1bmN0aW9uIHJlYWQoZmlsZSkgewogICAgIH0pOwogfQogCi1hc3luYyBmdW5j
dGlvbiB0ZXN0KCkgeworYXN5bmMgZnVuY3Rpb24gdGVzdCgpIAorewogICAgIHRyeSB7CiAgICAg
ICAgIHZhciByb290SGFuZGxlID0gYXdhaXQgbmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5
KCk7CiAgICAgICAgIC8vIENyZWF0ZSBhIG5ldyBmaWxlIGZvciB0aGlzIHRlc3QuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL2hhbmRs
ZS1tb3ZlLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNl
cy9oYW5kbGUtbW92ZS5qcwppbmRleCA5YzhkY2YxNTNlYmNjMDI3NWEzY2MyMThkNjg2ODRjYjNm
NTgwYTkwLi45ZDgxMDk5N2FkOTY0NDFiZGU3NGFkYTQxNzFiNGQxNGZiZDYzMDhiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL2hhbmRs
ZS1tb3ZlLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNv
dXJjZXMvaGFuZGxlLW1vdmUuanMKQEAgLTEsMjAgKzEsMTQgQEAKIGlmICh0aGlzLmltcG9ydFNj
cmlwdHMpIHsKICAgICBpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cycpOworICAgIGltcG9ydFNjcmlwdHMoJ3NoYXJlZC5qcycpOwogfQogCiBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IGNoZWNrcyBtb3ZlKCkgb2YgRmlsZVN5c3RlbUhhbmRsZS4iKTsKIAogdmFyIHJv
b3RIYW5kbGUsIGRpckhhbmRsZTEsIGRpckhhbmRsZTIsIGZpbGVIYW5kbGUsIGZpbGVIYW5kbGUy
LCB0ZXN0RXJyb3IsIGdldEZpbGVIYW5kbGVFcnJvciwgbW92ZUZpbGVFcnJvcjsKIAotZnVuY3Rp
b24gZmluaXNoVGVzdChlcnJvcikKK2FzeW5jIGZ1bmN0aW9uIHRlc3QoKSAKIHsKLSAgICBpZiAo
ZXJyb3IpIHsKLSAgICAgICAgdGVzdEZhaWxlZChlcnJvcik7Ci0gICAgfQotICAgIGZpbmlzaEpT
VGVzdCgpOwotfQotCi1hc3luYyBmdW5jdGlvbiB0ZXN0KCkgewogICAgIHRyeSB7CiAgICAgICAg
IHZhciByb290SGFuZGxlID0gYXdhaXQgbmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCk7
CiAgICAgICAgIC8vIENyZWF0ZSB0d28gbmV3IGZvbGRlcnMgZm9yIHRoaXMgdGVzdC4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvc2hh
cmVkLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9z
aGFyZWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI3ODIyMzY0NWZmZGQ2NTJlZmI3YzIzMjBkYzk1NmRjYmVh
NTZjOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFj
Y2Vzcy9yZXNvdXJjZXMvc2hhcmVkLmpzCkBAIC0wLDAgKzEsMTYgQEAKK3ZhciBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gZmluaXNoVGVzdChlcnJvcikKK3sKKyAgICBpZiAoZXJy
b3IpIHsKKyAgICAgICAgaWYgKGVycm9yLnRvU3RyaW5nKQorICAgICAgICAgICAgZXJyb3IgPSBl
cnJvci50b1N0cmluZygpOworCisgICAgICAgIGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcn
KQorICAgICAgICAgICAgdGVzdEZhaWxlZChlcnJvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGRlYnVnKCJXQVJOOiBjYW5ub3QgcHJpbnQgZXJyb3IgYmVjYXVzZSBpdCBpcyBub3QgYSBz
dHJpbmciKTsKKyAgICB9CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1h
Y2Nlc3MvcmVzb3VyY2VzL3N5bmMtYWNjZXNzLWhhbmRsZS1iYXNpY3MuanMgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL3N5bmMtYWNjZXNzLWhhbmRsZS1i
YXNpY3MuanMKaW5kZXggNWFlMTZiNTNjNmI5YTBlMTg5ZTBhZjNlNGExMDc4YzYyNDY1YWUyNi4u
ZmNiMWQ0OGVkYmUwMDljYTAzZjg3MDc0MzUyMTJmMTY0ODYxYzJmMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9zeW5jLWFjY2Vzcy1o
YW5kbGUtYmFzaWNzLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vz
cy9yZXNvdXJjZXMvc3luYy1hY2Nlc3MtaGFuZGxlLWJhc2ljcy5qcwpAQCAtMSwyMCArMSwxNCBA
QAogaWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgewogICAgIGltcG9ydFNjcmlwdHMoJy4uLy4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzJyk7CisgICAgaW1wb3J0U2NyaXB0cygnc2hhcmVkLmpzJyk7
CiB9CiAKIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIGJhc2ljIGZ1bnRpb25hbGl0aWVz
IG9mIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlLiIpOwogCiB2YXIgcm9vdEhhbmRsZSwgZmls
ZUhhbmRsZSwgYWNjZXNzSGFuZGxlMSwgYWNjZXNzSGFuZGxlMiwgY3JlYXRlRXJyb3I7CiAKLWZ1
bmN0aW9uIGZpbmlzaFRlc3QoZXJyb3IpCitmdW5jdGlvbiBnZXREaXJlY3RvcnkoKSAKIHsKLSAg
ICBpZiAoZXJyb3IpIHsKLSAgICAgICAgdGVzdEZhaWxlZChlcnJvcik7Ci0gICAgfQotICAgIGZp
bmlzaEpTVGVzdCgpOwotfQotCi1mdW5jdGlvbiBnZXREaXJlY3RvcnkoKSB7CiAgICAgbmF2aWdh
dG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCkudGhlbigoaGFuZGxlKSA9PiB7CiAgICAgICAgIHJv
b3RIYW5kbGUgPSBoYW5kbGU7CiAgICAgICAgIHJvb3RIYW5kbGUucmVtb3ZlRW50cnkoInN5bmMt
YWNjZXNzLWhhbmRsZS50eHQiKS50aGVuKCgpID0+IHsKQEAgLTI3LDcgKzIxLDggQEAgZnVuY3Rp
b24gZ2V0RGlyZWN0b3J5KCkgewogICAgIH0pOwogfQogCi1mdW5jdGlvbiBjcmVhdGVGaWxlSGFu
ZGxlKGZyb21IYW5kbGUpIHsKK2Z1bmN0aW9uIGNyZWF0ZUZpbGVIYW5kbGUoZnJvbUhhbmRsZSkg
Cit7CiAgICAgZnJvbUhhbmRsZS5nZXRGaWxlSGFuZGxlKCJzeW5jLWFjY2Vzcy1oYW5kbGUudHh0
IiwgeyAiY3JlYXRlIiA6IHRydWUgfSkudGhlbigoaGFuZGxlKSA9PiB7CiAgICAgICAgIGZpbGVI
YW5kbGUgPSBoYW5kbGU7CiAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZUhhbmRs
ZS5uYW1lIiwgInN5bmMtYWNjZXNzLWhhbmRsZS50eHQiKTsKQEAgLTM4LDcgKzMzLDggQEAgZnVu
Y3Rpb24gY3JlYXRlRmlsZUhhbmRsZShmcm9tSGFuZGxlKSB7CiAgICAgfSk7CiB9CiAKLWZ1bmN0
aW9uIGNyZWF0ZVN5bmNBY2Nlc3NIYW5kbGUoZnJvbUhhbmRsZSkgeworZnVuY3Rpb24gY3JlYXRl
U3luY0FjY2Vzc0hhbmRsZShmcm9tSGFuZGxlKSAKK3sKICAgICBmcm9tSGFuZGxlLmNyZWF0ZVN5
bmNBY2Nlc3NIYW5kbGUoKS50aGVuKChoYW5kbGUpID0+IHsKICAgICAgICAgYWNjZXNzSGFuZGxl
MSA9IGhhbmRsZTsKICAgICAgICAgZGVidWcoImFjY2Vzc0hhbmRsZTEgaXMgY3JlYXRlZCIpOwpA
QCAtNDgsNyArNDQsOCBAQCBmdW5jdGlvbiBjcmVhdGVTeW5jQWNjZXNzSGFuZGxlKGZyb21IYW5k
bGUpIHsKICAgICB9KTsKIH0KIAotZnVuY3Rpb24gZ2V0U2l6ZShhY2Nlc3NIYW5kbGUpIHsKK2Z1
bmN0aW9uIGdldFNpemUoYWNjZXNzSGFuZGxlKSAKK3sKICAgICBhY2Nlc3NIYW5kbGUuZ2V0U2l6
ZSgpLnRoZW4oKHJlc3VsdCkgPT4gewogICAgICAgICBzaXplID0gcmVzdWx0OwogICAgICAgICBz
aG91bGRCZSgic2l6ZSIsICIwIik7CkBAIC01OCw3ICs1NSw4IEBAIGZ1bmN0aW9uIGdldFNpemUo
YWNjZXNzSGFuZGxlKSB7CiAgICAgfSk7CiB9CiAKLWZ1bmN0aW9uIGNyZWF0ZVNlY29uZFN5bmNB
Y2Vzc0hhbmRsZShmcm9tSGFuZGxlKSB7CitmdW5jdGlvbiBjcmVhdGVTZWNvbmRTeW5jQWNlc3NI
YW5kbGUoZnJvbUhhbmRsZSkgCit7CiAgICAgZnJvbUhhbmRsZS5jcmVhdGVTeW5jQWNjZXNzSGFu
ZGxlKCkudGhlbigoaGFuZGxlKSA9PiB7CiAgICAgICAgIGFjY2Vzc0hhbmRsZTIgPSBoYW5kbGU7
CiAgICAgICAgIC8vIFNlY29uZCBjcmVhdGlvbiBzaG91bGQgc3VjY2VlZC4KQEAgLTczLDcgKzcx
LDggQEAgZnVuY3Rpb24gY3JlYXRlU2Vjb25kU3luY0FjZXNzSGFuZGxlKGZyb21IYW5kbGUpIHsK
ICAgICB9KTsKIH0KIAotZnVuY3Rpb24gY2xvc2UoKSB7CitmdW5jdGlvbiBjbG9zZSgpIAorewog
ICAgIGFjY2Vzc0hhbmRsZTEuY2xvc2UoKS50aGVuKChyZXN1bHQpID0+IHsKICAgICAgICAgZGVi
dWcoImFjY2Vzc0hhbmRsZTEgaXMgY2xvc2VkIik7CiAgICAgICAgIGNyZWF0ZVNlY29uZFN5bmNB
Y2Vzc0hhbmRsZShmaWxlSGFuZGxlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
ZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvc3luYy1hY2Nlc3MtaGFuZGxlLWNsb3NlLmpzIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9zeW5jLWFjY2Vz
cy1oYW5kbGUtY2xvc2UuanMKaW5kZXggMmUwNzdjM2EzODk1NTM5ZjVlZDBjNDBjMjI1MGFlZmI1
ZGFhYWQyZS4uZmM1ZDFjMDg0MWY0NzlhMmRiMTIwNjcwOWEwNDVjY2U4N2IyY2Q3NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9zeW5j
LWFjY2Vzcy1oYW5kbGUtY2xvc2UuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lz
dGVtYWNjZXNzL3Jlc291cmNlcy9zeW5jLWFjY2Vzcy1oYW5kbGUtY2xvc2UuanMKQEAgLTEsNSAr
MSw2IEBACiBpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CiAgICAgaW1wb3J0U2NyaXB0cygnLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMnKTsKKyAgICBpbXBvcnRTY3JpcHRzKCdzaGFyZWQu
anMnKTsKIH0KIAogZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgY2xvc2UoKSBvZiBGaWxl
U3lzdGVtU3luY0FjY2Vzc0hhbmRsZSIpOwpAQCAtMTQsMTQgKzE1LDYgQEAgdmFyIGZ1bmN0aW9u
cyA9IFsKICAgICB7IG5hbWUgOiAid3JpdGUiLCBhcmdzIDogW2J1ZmZlciwgb3B0aW9uc10sIHN5
bmMgOiB0cnVlIH0sCiBdOwogCi1mdW5jdGlvbiBmaW5pc2hUZXN0KGVycm9yKQotewotICAgIGlm
IChlcnJvcikgewotICAgICAgICB0ZXN0RmFpbGVkKGVycm9yKTsKLSAgICB9Ci0gICAgZmluaXNo
SlNUZXN0KCk7Ci19Ci0KIGZ1bmN0aW9uIHRlc3RTeW5jRnVuY3Rpb24oY3VycmVudEZ1bmN0aW9u
KQogewogICAgIHRyeSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0
ZW1hY2Nlc3MvcmVzb3VyY2VzL3N5bmMtYWNjZXNzLWhhbmRsZS1yZWFkLXdyaXRlLmpzIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9zeW5jLWFjY2Vzcy1o
YW5kbGUtcmVhZC13cml0ZS5qcwppbmRleCBmM2JmYzQ3OTFmODRkZWM3ODEyMzNhMTM3ZTczZWM0
MmE1MTBhZGRiLi5hY2I3MDUyNjkyZjExODE4OGI2Njc2NGRiOTIyNDhiM2YyODQ0YjFhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL3N5
bmMtYWNjZXNzLWhhbmRsZS1yZWFkLXdyaXRlLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
ZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvc3luYy1hY2Nlc3MtaGFuZGxlLXJlYWQtd3JpdGUu
anMKQEAgLTEsNSArMSw2IEBACiBpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CiAgICAgaW1wb3J0
U2NyaXB0cygnLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMnKTsKKyAgICBpbXBvcnRTY3Jp
cHRzKCdzaGFyZWQuanMnKTsKIH0KIAogZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgcmVh
ZCBhbmQgd3JpdGUgY2FwYWJpbGl0aWVzIG9mIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlLiIp
OwpAQCAtNywxNiArOCw2IEBAIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHJlYWQgYW5k
IHdyaXRlIGNhcGFiaWxpdGllcyBvZiBGaWxlU3lzdGVtU3luY0FjY2VzCiB2YXIgYWNjZXNzSGFu
ZGxlLCBmaWxlU2l6ZSwgd3JpdGVCdWZmZXIsIHdyaXRlU2l6ZSwgcmVhZEJ1ZmZlciwgcmVhZFNp
emUsIHJlYWRUZXh0LCByZWFkRXJyb3I7CiB2YXIgdG90YWxSZWFkU2l6ZSA9IDAsIHRvdGFsV3Jp
dGVTaXplID0gMDsKIAotdmFyIHRlc3RTdHJpbmc7Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoZXJy
b3IpCi17Ci0gICAgaWYgKGVycm9yKSB7Ci0gICAgICAgIHRlc3RGYWlsZWQoZXJyb3IpOwotICAg
IH0KLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQogZnVuY3Rpb24gYXJyYXlCdWZmZXJUb1N0cmlu
ZyhidWZmZXIpCiB7CiAgICAgY29uc3QgZGVjb2RlciA9IG5ldyBUZXh0RGVjb2RlcigpOwpAQCAt
NTAsNyArNDEsOCBAQCBmdW5jdGlvbiByZWFkKGFjY2Vzc0hhbmRsZSwgb2Zmc2V0LCBzaXplLCBl
eHBlY3RlZFN0cmluZykKICAgICByZXR1cm4gcmVhZFNpemU7CiB9CiAKLWFzeW5jIGZ1bmN0aW9u
IHRlc3QoKSB7Cithc3luYyBmdW5jdGlvbiB0ZXN0KCkgCit7CiAgICAgdHJ5IHsKICAgICAgICAg
dmFyIHJvb3RIYW5kbGUgPSBhd2FpdCBuYXZpZ2F0b3Iuc3RvcmFnZS5nZXREaXJlY3RvcnkoKTsK
ICAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IGZpbGUgZm9yIHRoaXMgdGVzdC4K
</data>

          </attachment>
      

    </bug>

</bugzilla>