<?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>93336</bug_id>
          
          <creation_ts>2012-08-06 22:34:56 -0700</creation_ts>
          <short_desc>REGRESSION(r124848): Caused 3 tests to crash on chromium Linux32/Mac10.6/Linux (Requested by toyoshim on #webkit).</short_desc>
          <delta_ts>2012-08-06 22:55:03 -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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>91775</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>annacc</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>toyoshim</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>688824</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 22:34:56 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/124848 broke the build:
Caused 3 tests to crash on chromium Linux32/Mac10.6/Linux (Requested by toyoshim on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688826</commentid>
    <comment_count>1</comment_count>
      <attachid>156867</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 22:35:38 -0700</bug_when>
    <thetext>Created attachment 156867
ROLLOUT of r124848

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688828</commentid>
    <comment_count>2</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-08-06 22:39:55 -0700</bug_when>
    <thetext>Here are links to crashed test logs and results.

http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Linux/builds/29262
http://build.chromium.org/f/chromium/layout_test_results/Webkit_Linux/150277/layout-test-results.zip

http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.6/builds/20714
http://build.chromium.org/f/chromium/layout_test_results/Webkit_Mac10_6/150277/layout-test-results.zip

http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Linux%2032/builds/22173
http://build.chromium.org/f/chromium/layout_test_results/Webkit_Linux_32/150277/layout-test-results.zip

http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win7/builds/19390
http://build.chromium.org/f/chromium/layout_test_results/Webkit_Win7/150277/layout-test-results.zip</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688838</commentid>
    <comment_count>3</comment_count>
      <attachid>156867</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 22:55:00 -0700</bug_when>
    <thetext>Comment on attachment 156867
ROLLOUT of r124848

Clearing flags on attachment: 156867

Committed r124852: &lt;http://trac.webkit.org/changeset/124852&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688839</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 22:55:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156867</attachid>
            <date>2012-08-06 22:35:38 -0700</date>
            <delta_ts>2012-08-06 22:54:59 -0700</delta_ts>
            <desc>ROLLOUT of r124848</desc>
            <filename>bug-93336-20120807054114.patch</filename>
            <type>text/plain</type>
            <size>82418</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0ODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTUwYjQ5YTViMTcwM2Yx
M2ZlMzkwY2ZkOWFkNjY5ZjE0MWI1YWRkMC4uMzBjZWRiNmZkYzFlOTRkYzNjMDAyZWJlYWRmNDg3
YjdmMDU1M2E4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA4LTA2ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTI0ODQ4LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMjQ4NDgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkzMzM2CisKKyAgICAgICAgQ2F1c2VkIDMgdGVzdHMgdG8gY3Jhc2ggb24gY2hy
b21pdW0gTGludXgzMi9NYWMxMC42L0xpbnV4CisgICAgICAgIChSZXF1ZXN0ZWQgYnkgdG95b3No
aW0gb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpI
VE1MTWVkaWFFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnBh
cnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnByZXBh
cmVGb3JMb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNv
dXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpub25lU3VwcG9ydGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhRW5naW5lRXJyb3Ip
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJTb3VyY2VP
cGVuZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aXNWYWxpZFNvdXJj
ZUlkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNlZWspOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U291cmNlQWRkSWQpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U291cmNlUmVtb3ZlSWQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U291cmNlQnVmZmVyZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U291cmNlQXBwZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJjZUFib3J0KToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJjZUVuZE9mU3Ry
ZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJjZVN0
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNldFNvdXJjZVN0YXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnVzZXJDYW5jZWxsZWRMb2Fk
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNyZWF0ZU1lZGlhUGxheWVy
KToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxNZWRp
YUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGw6CisKIDIwMTIt
MDgtMDYgIEFubmEgQ2F2ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVw
ZGF0ZSBIVE1MTWVkaWFFbGVtZW50IHRvIHRoZSBuZXcgT08gTWVkaWFTb3VyY2UgQVBJLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNzQ4MzU1NWU2Mzg2ZmU5
MDRiNDgyNzVlOTdmODZlMTI3ZDFiMTA0Yi4uYTY0OGU2OTZhMWQ4NTg4N2IwYWE1Njg5ZTk4ZDE4
Y2QyOWE2NjJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBA
IC0xMTEsMTEgKzExMSw2IEBACiAjaW5jbHVkZSAiRGlzcGxheVNsZWVwRGlzYWJsZXIuaCIKICNl
bmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSNpbmNsdWRlICJNZWRpYVNvdXJjZS5o
IgotI2luY2x1ZGUgIk1lZGlhU291cmNlUmVnaXN0cnkuaCIKLSNlbmRpZgotCiB1c2luZyBuYW1l
c3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xNTAsNyArMTQ1LDcgQEAgc3Rh
dGljIGNvbnN0IGNoYXIqIGJvb2xTdHJpbmcoYm9vbCB2YWwpCiAKICNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQogLy8gVVJMIHByb3RvY29sIHVzZWQgdG8gc2lnbmFsIHRoYXQgdGhlIG1lZGlhIHNv
dXJjZSBBUEkgaXMgYmVpbmcgdXNlZC4KLXN0YXRpYyBjb25zdCBjaGFyKiBtZWRpYVNvdXJjZUJs
b2JQcm90b2NvbCA9ICJibG9iIjsKK3N0YXRpYyBjb25zdCBjaGFyKiBtZWRpYVNvdXJjZVVSTFBy
b3RvY29sID0gIngtbWVkaWEtc291cmNlIjsKICNlbmRpZgogCiB1c2luZyBuYW1lc3BhY2UgSFRN
TE5hbWVzOwpAQCAtMjI0LDYgKzIxOSw5IEBAIEhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtCiAgICAg
LCBtX3ByZWxvYWQoTWVkaWFQbGF5ZXI6OkF1dG8pCiAgICAgLCBtX2Rpc3BsYXlNb2RlKFVua25v
d24pCiAgICAgLCBtX3Byb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKDApCisjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkgICAgICAKKyAgICAsIG1fc291cmNlU3RhdGUoU09VUkNFX0NMT1NFRCkK
KyNlbmRpZgogICAgICwgbV9jYWNoZWRUaW1lKE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgpKQog
ICAgICwgbV9jYWNoZWRUaW1lV2FsbENsb2NrVXBkYXRlVGltZSgwKQogICAgICwgbV9taW5pbXVt
V2FsbENsb2NrVGltZVRvQ2FjaGVNZWRpYVRpbWUoMCkKQEAgLTI3NCw3ICsyNzIsNyBAQCBIVE1M
TWVkaWFFbGVtZW50OjpIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bQogICAgIH0KIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0g
ICAgbV9tZWRpYVNvdXJjZVVSTC5zZXRQcm90b2NvbChtZWRpYVNvdXJjZUJsb2JQcm90b2NvbCk7
CisgICAgbV9tZWRpYVNvdXJjZVVSTC5zZXRQcm90b2NvbChtZWRpYVNvdXJjZVVSTFByb3RvY29s
KTsKICAgICBtX21lZGlhU291cmNlVVJMLnNldFBhdGgoY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmlu
ZygpKTsKICNlbmRpZgogCkBAIC00MjMsNiArNDIxLDE0IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUpCiAgICAgICAgIHNl
dEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLndlYmtpdGJlZ2luZnVsbHNjcmVl
bkV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHJpYnV0ZSkpOwog
ICAgIGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gb253ZWJraXRlbmRmdWxsc2NyZWVuQXR0
cikKICAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkud2Via2l0
ZW5kZnVsbHNjcmVlbkV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0
dHJpYnV0ZSkpOworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgZWxzZSBpZiAoYXR0cmli
dXRlLm5hbWUoKSA9PSBvbndlYmtpdHNvdXJjZWNsb3NlQXR0cikKKyAgICAgICAgc2V0QXR0cmli
dXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkud2Via2l0c291cmNlY2xvc2VFdmVudCwgY3Jl
YXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyaWJ1dGUpKTsKKyAgICBlbHNlIGlm
IChhdHRyaWJ1dGUubmFtZSgpID09IG9ud2Via2l0c291cmNlZW5kZWRBdHRyKQorICAgICAgICBz
ZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS53ZWJraXRzb3VyY2VlbmRlZEV2
ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHJpYnV0ZSkpOworICAg
IGVsc2UgaWYgKGF0dHJpYnV0ZS5uYW1lKCkgPT0gb253ZWJraXRzb3VyY2VvcGVuQXR0cikKKyAg
ICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkud2Via2l0c291cmNl
b3BlbkV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHJpYnV0ZSkp
OworI2VuZGlmCiAgICAgZWxzZQogICAgICAgICBIVE1MRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUo
YXR0cmlidXRlKTsKIH0KQEAgLTY4NywxMCArNjkzLDYgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50
OjpwcmVwYXJlRm9yTG9hZCgpCiAgICAgaWYgKG1fbmV0d29ya1N0YXRlID09IE5FVFdPUktfTE9B
RElORyB8fCBtX25ldHdvcmtTdGF0ZSA9PSBORVRXT1JLX0lETEUpCiAgICAgICAgIHNjaGVkdWxl
RXZlbnQoZXZlbnROYW1lcygpLmFib3J0RXZlbnQpOwogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKLSAgICBzZXRTb3VyY2VTdGF0ZShNZWRpYVNvdXJjZTo6Y2xvc2VkS2V5d29yZCgpKTsKLSNl
bmRpZgotCiAjaWYgIUVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQogICAgIGNyZWF0ZU1l
ZGlhUGxheWVyKCk7CiAjZWxzZQpAQCAtNzAwLDYgKzcwMiwxMSBAQCB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OnByZXBhcmVGb3JMb2FkKCkKICAgICAgICAgY3JlYXRlTWVkaWFQbGF5ZXJQcm94eSgp
OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIGlmIChtX3NvdXJjZVN0
YXRlICE9IFNPVVJDRV9DTE9TRUQpCisgICAgICAgIHNldFNvdXJjZVN0YXRlKFNPVVJDRV9DTE9T
RUQpOworI2VuZGlmCisKICAgICAvLyA0IC0gSWYgdGhlIG1lZGlhIGVsZW1lbnQncyBuZXR3b3Jr
U3RhdGUgaXMgbm90IHNldCB0byBORVRXT1JLX0VNUFRZLCB0aGVuIHJ1biB0aGVzZSBzdWJzdGVw
cwogICAgIGlmIChtX25ldHdvcmtTdGF0ZSAhPSBORVRXT1JLX0VNUFRZKSB7CiAgICAgICAgIG1f
bmV0d29ya1N0YXRlID0gTkVUV09SS19FTVBUWTsKQEAgLTkyMCwxNiArOTI3LDEwIEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6bG9hZFJlc291cmNlKGNvbnN0IEtVUkwmIGluaXRpYWxVUkwsIENv
bnRlbnRUeXBlJiBjb250ZW50CiAgICAgfQogICAgIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
Ci0gICAgaWYgKHVybC5wcm90b2NvbElzKG1lZGlhU291cmNlQmxvYlByb3RvY29sKSkgewotICAg
ICAgICBpZiAobV9tZWRpYVNvdXJjZSkKLSAgICAgICAgICAgIG1fbWVkaWFTb3VyY2UtPnNldFJl
YWR5U3RhdGUoTWVkaWFTb3VyY2U6OmNsb3NlZEtleXdvcmQoKSk7Ci0KLSAgICAgICAgbV9tZWRp
YVNvdXJjZSA9IGFkb3B0UmVmKE1lZGlhU291cmNlUmVnaXN0cnk6OnJlZ2lzdHJ5KCkubG9va3Vw
TWVkaWFTb3VyY2UodXJsLnN0cmluZygpKSk7Ci0KLSAgICAgICAgaWYgKG1fbWVkaWFTb3VyY2Up
IHsKLSAgICAgICAgICAgIG1fbWVkaWFTb3VyY2UtPnNldE1lZGlhUGxheWVyKG1fcGxheWVyLmdl
dCgpKTsKLSAgICAgICAgICAgIG1fbWVkaWFTb3VyY2VVUkwgPSB1cmw7Ci0gICAgICAgIH0KKyAg
ICAvLyBJZiB0aGlzIGlzIGEgbWVkaWEgc291cmNlIFVSTCwgbWFrZSBzdXJlIGl0IGlzIHRoZSBv
bmUgZm9yIHRoaXMgbWVkaWEgZWxlbWVudC4KKyAgICBpZiAodXJsLnByb3RvY29sSXMobWVkaWFT
b3VyY2VVUkxQcm90b2NvbCkgJiYgdXJsICE9IG1fbWVkaWFTb3VyY2VVUkwpIHsKKyAgICAgICAg
bWVkaWFMb2FkaW5nRmFpbGVkKE1lZGlhUGxheWVyOjpGb3JtYXRFcnJvcik7CisgICAgICAgIHJl
dHVybjsKICAgICB9CiAjZW5kaWYKIApAQCAtMTQzMSw3ICsxNDMyLDggQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50Ojpub25lU3VwcG9ydGVkKCkKICAgICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFtZXMo
KS5lcnJvckV2ZW50KTsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0gICAgc2V0U291cmNl
U3RhdGUoTWVkaWFTb3VyY2U6OmNsb3NlZEtleXdvcmQoKSk7CisgICAgaWYgKG1fc291cmNlU3Rh
dGUgIT0gU09VUkNFX0NMT1NFRCkKKyAgICAgICAgc2V0U291cmNlU3RhdGUoU09VUkNFX0NMT1NF
RCk7CiAjZW5kaWYKIAogICAgIC8vIDggLSBTZXQgdGhlIGVsZW1lbnQncyBkZWxheWluZy10aGUt
bG9hZC1ldmVudCBmbGFnIHRvIGZhbHNlLiBUaGlzIHN0b3BzIGRlbGF5aW5nIHRoZSBsb2FkIGV2
ZW50LgpAQCAtMTQ2Miw3ICsxNDY0LDggQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYUVu
Z2luZUVycm9yKFBhc3NSZWZQdHI8TWVkaWFFcnJvcj4gZXJyKQogICAgIHNjaGVkdWxlRXZlbnQo
ZXZlbnROYW1lcygpLmVycm9yRXZlbnQpOwogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAg
ICBzZXRTb3VyY2VTdGF0ZShNZWRpYVNvdXJjZTo6Y2xvc2VkS2V5d29yZCgpKTsKKyAgICBpZiAo
bV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfQ0xPU0VEKQorICAgICAgICBzZXRTb3VyY2VTdGF0ZShT
T1VSQ0VfQ0xPU0VEKTsKICNlbmRpZgogCiAgICAgLy8gNCAtIFNldCB0aGUgZWxlbWVudCdzIG5l
dHdvcmtTdGF0ZSBhdHRyaWJ1dGUgdG8gdGhlIE5FVFdPUktfRU1QVFkgdmFsdWUgYW5kIHF1ZXVl
IGEKQEAgLTE3NDcsNyArMTc1MCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5
ZXJTb3VyY2VPcGVuZWQoKQogewogICAgIGJlZ2luUHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJh
Y2soKTsKIAotICAgIHNldFNvdXJjZVN0YXRlKE1lZGlhU291cmNlOjpvcGVuS2V5d29yZCgpKTsK
KyAgICBzZXRTb3VyY2VTdGF0ZShTT1VSQ0VfT1BFTik7CiAKICAgICBlbmRQcm9jZXNzaW5nTWVk
aWFQbGF5ZXJDYWxsYmFjaygpOwogfQpAQCAtMTc1Niw2ICsxNzU5LDIyIEBAIFN0cmluZyBIVE1M
TWVkaWFFbGVtZW50OjptZWRpYVBsYXllclNvdXJjZVVSTCgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IG1fbWVkaWFTb3VyY2VVUkwuc3RyaW5nKCk7CiB9CisKK2Jvb2wgSFRNTE1lZGlhRWxlbWVudDo6
aXNWYWxpZFNvdXJjZUlkKGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25z
dAoreworICAgIGlmIChpZC5pc051bGwoKSB8fCBpZC5pc0VtcHR5KCkpIHsKKyAgICAgICAgZWMg
PSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAg
ICBpZiAoIW1fc291cmNlSURzLmNvbnRhaW5zKGlkKSkgeworICAgICAgICBlYyA9IFNZTlRBWF9F
UlI7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KwogI2VuZGlmCiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpAQCAtMTk3OSw4ICsxOTk4
LDggQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWVrKGZsb2F0IHRpbWUsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgLy8gQWx3YXlzIG5vdGlmeSB0
aGUgbWVkaWEgZW5naW5lIG9mIGEgc2VlayBpZiB0aGUgc291cmNlIGlzIG5vdCBjbG9zZWQuIFRo
aXMgZW5zdXJlcyB0aGF0IHRoZSBzb3VyY2UgaXMKICAgICAvLyBhbHdheXMgaW4gYSBmbHVzaGVk
IHN0YXRlIHdoZW4gdGhlICdzZWVraW5nJyBldmVudCBmaXJlcy4KLSAgICBpZiAobV9tZWRpYVNv
dXJjZSAmJiBtX21lZGlhU291cmNlLT5yZWFkeVN0YXRlKCkgIT0gTWVkaWFTb3VyY2U6OmNsb3Nl
ZEtleXdvcmQoKSkKLSAgICAgICAgbm9TZWVrUmVxdWlyZWQgPSBmYWxzZTsKKyAgICBpZiAobV9z
b3VyY2VTdGF0ZSAhPSBTT1VSQ0VfQ0xPU0VEKQorICAgICAgbm9TZWVrUmVxdWlyZWQgPSBmYWxz
ZTsKICNlbmRpZgogCiAgICAgaWYgKG5vU2Vla1JlcXVpcmVkKSB7CkBAIC0yMDAyLDggKzIwMjEs
OCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNlZWsoZmxvYXQgdGltZSwgRXhjZXB0aW9uQ29k
ZSYgZWMpCiAgICAgbV9zZW50RW5kRXZlbnQgPSBmYWxzZTsKIAogI2lmIEVOQUJMRShNRURJQV9T
T1VSQ0UpCi0gICAgaWYgKG1fbWVkaWFTb3VyY2UgJiYgbV9tZWRpYVNvdXJjZS0+cmVhZHlTdGF0
ZSgpID09IE1lZGlhU291cmNlOjplbmRlZEtleXdvcmQoKSkKLSAgICAgICAgc2V0U291cmNlU3Rh
dGUoTWVkaWFTb3VyY2U6Om9wZW5LZXl3b3JkKCkpOworICAgIGlmIChtX3NvdXJjZVN0YXRlID09
IFNPVVJDRV9FTkRFRCkKKyAgICAgICAgc2V0U291cmNlU3RhdGUoU09VUkNFX09QRU4pOwogI2Vu
ZGlmCiAKICAgICAvLyA4IC0gU2V0IHRoZSBjdXJyZW50IHBsYXliYWNrIHBvc2l0aW9uIHRvIHRo
ZSBnaXZlbiBuZXcgcGxheWJhY2sgcG9zaXRpb24KQEAgLTIzNTEsMTIgKzIzNzAsMTc1IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6cGF1c2VJbnRlcm5hbCgpCiB9CiAKICNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRTb3VyY2VTdGF0ZShjb25zdCBT
dHJpbmcmIHN0YXRlKQorCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJjZUFkZElk
KGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFN0cmluZyYgdHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMp
CiB7Ci0gICAgaWYgKCFtX21lZGlhU291cmNlKQotICAgICAgICAgcmV0dXJuOworICAgIGlmIChp
ZC5pc051bGwoKSB8fCBpZC5pc0VtcHR5KCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VT
U19FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICBtX21lZGlhU291cmNlLT5zZXRS
ZWFkeVN0YXRlKHN0YXRlKTsKKyAgICBpZiAobV9zb3VyY2VJRHMuY29udGFpbnMoaWQpKSB7Cisg
ICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBpZiAodHlwZS5pc051bGwoKSB8fCB0eXBlLmlzRW1wdHkoKSkgeworICAgICAgICBlYyA9
IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICgh
bV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VT
dGF0ZSAhPSBTT1VSQ0VfT1BFTikgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgQ29udGVudFR5cGUgY29udGVudFR5cGUodHlw
ZSk7CisgICAgVmVjdG9yPFN0cmluZz4gY29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7CisK
KyAgICBpZiAoIWNvZGVjcy5zaXplKCkpIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VS
UjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHN3aXRjaCAobV9wbGF5ZXItPnNvdXJj
ZUFkZElkKGlkLCBjb250ZW50VHlwZS50eXBlKCksIGNvZGVjcykpIHsKKyAgICBjYXNlIE1lZGlh
UGxheWVyOjpPazoKKyAgICAgICAgbV9zb3VyY2VJRHMuYWRkKGlkKTsKKyAgICAgICAgcmV0dXJu
OworICAgIGNhc2UgTWVkaWFQbGF5ZXI6Ok5vdFN1cHBvcnRlZDoKKyAgICAgICAgZWMgPSBOT1Rf
U1VQUE9SVEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgTWVkaWFQbGF5ZXI6OlJl
YWNoZWRJZExpbWl0OgorICAgICAgICBlYyA9IFFVT1RBX0VYQ0VFREVEX0VSUjsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCit2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJjZVJlbW92ZUlkKGNvbnN0IFN0cmluZyYgaWQsIEV4
Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghaXNWYWxpZFNvdXJjZUlkKGlkLCBlYykpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1f
bWVkaWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSA9PSBTT1VSQ0VfQ0xPU0VEKSB7CisgICAg
ICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBpZiAoIW1fcGxheWVyLT5zb3VyY2VSZW1vdmVJZChpZCkpCisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworCisgICAgbV9zb3VyY2VJRHMucmVtb3ZlKGlkKTsKK30KKworUGFzc1JlZlB0
cjxUaW1lUmFuZ2VzPiBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTb3VyY2VCdWZmZXJlZChjb25z
dCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWlzVmFsaWRTb3Vy
Y2VJZChpZCwgZWMpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmICghbV9wbGF5ZXIgfHwg
bV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwgfHwgbV9zb3VyY2VTdGF0ZSA9PSBTT1VS
Q0VfQ0xPU0VEKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJl
dHVybiAwOworICAgIH0KKworICAgIHJldHVybiBtX3BsYXllci0+c291cmNlQnVmZmVyZWQoaWQp
OworfQorCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJjZUFwcGVuZChjb25zdCBT
dHJpbmcmIGlkLCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIGlmICghaXNWYWxpZFNvdXJjZUlkKGlkLCBlYykpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VVUkwg
fHwgbV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfT1BFTikgeworICAgICAgICBlYyA9IElOVkFMSURf
U1RBVEVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFkYXRhLmdldCgp
KSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgaWYgKCFkYXRhLT5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
aWYgKCFtX3BsYXllci0+c291cmNlQXBwZW5kKGlkLCBkYXRhLT5kYXRhKCksIGRhdGEtPmxlbmd0
aCgpKSkgeworICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9
Cit9CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U291cmNlQWJvcnQoY29uc3QgU3Ry
aW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFpc1ZhbGlkU291cmNlSWQo
aWQsIGVjKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX3BsYXllciB8fCBtX2N1cnJl
bnRTcmMgIT0gbV9tZWRpYVNvdXJjZVVSTCB8fCBtX3NvdXJjZVN0YXRlICE9IFNPVVJDRV9PUEVO
KSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBpZiAoIW1fcGxheWVyLT5zb3VyY2VBYm9ydChpZCkpCisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworfQorCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJj
ZUVuZE9mU3RyZWFtKHVuc2lnbmVkIHNob3J0IHN0YXR1cywgRXhjZXB0aW9uQ29kZSYgZWMpCit7
CisgICAgaWYgKCFtX3BsYXllciB8fCBtX2N1cnJlbnRTcmMgIT0gbV9tZWRpYVNvdXJjZVVSTCB8
fCBtX3NvdXJjZVN0YXRlICE9IFNPVVJDRV9PUEVOKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9T
VEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBNZWRpYVBsYXllcjo6RW5k
T2ZTdHJlYW1TdGF0dXMgZW9zU3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc05vRXJyb3I7CisKKyAg
ICBzd2l0Y2ggKHN0YXR1cykgeworICAgIGNhc2UgRU9TX05PX0VSUk9SOgorICAgICAgICBlb3NT
dGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zTm9FcnJvcjsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBFT1NfTkVUV09SS19FUlI6CisgICAgICAgIGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NO
ZXR3b3JrRXJyb3I7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRU9TX0RFQ09ERV9FUlI6Cisg
ICAgICAgIGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NEZWNvZGVFcnJvcjsKKyAgICAgICAg
YnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJSOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgc2V0U291cmNlU3RhdGUoU09VUkNFX0VOREVEKTsKKyAgICBt
X3BsYXllci0+c291cmNlRW5kT2ZTdHJlYW0oZW9zU3RhdHVzKTsKK30KKworSFRNTE1lZGlhRWxl
bWVudDo6U291cmNlU3RhdGUgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U291cmNlU3RhdGUoKSBj
b25zdAoreworICAgIHJldHVybiBtX3NvdXJjZVN0YXRlOworfQorCit2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OnNldFNvdXJjZVN0YXRlKFNvdXJjZVN0YXRlIHN0YXRlKQoreworICAgIFNvdXJjZVN0
YXRlIG9sZFN0YXRlID0gbV9zb3VyY2VTdGF0ZTsKKyAgICBtX3NvdXJjZVN0YXRlID0gc3RhdGlj
X2Nhc3Q8U291cmNlU3RhdGU+KHN0YXRlKTsKKworICAgIGlmIChtX3NvdXJjZVN0YXRlID09IG9s
ZFN0YXRlKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9zb3VyY2VTdGF0ZSA9PSBTT1VS
Q0VfQ0xPU0VEKSB7CisgICAgICAgIG1fc291cmNlSURzLmNsZWFyKCk7CisgICAgICAgIHNjaGVk
dWxlRXZlbnQoZXZlbnROYW1lcygpLndlYmtpdHNvdXJjZWNsb3NlRXZlbnQpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgaWYgKG9sZFN0YXRlID09IFNPVVJDRV9PUEVOICYmIG1fc291
cmNlU3RhdGUgPT0gU09VUkNFX0VOREVEKSB7CisgICAgICAgIHNjaGVkdWxlRXZlbnQoZXZlbnRO
YW1lcygpLndlYmtpdHNvdXJjZWVuZGVkRXZlbnQpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgaWYgKG1fc291cmNlU3RhdGUgPT0gU09VUkNFX09QRU4pIHsKKyAgICAgICAgc2NoZWR1
bGVFdmVudChldmVudE5hbWVzKCkud2Via2l0c291cmNlb3BlbkV2ZW50KTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KIH0KICNlbmRpZgogCkBAIC0zNjExLDcgKzM3OTMsOCBAQCB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OnVzZXJDYW5jZWxsZWRMb2FkKCkKICAgICBzY2hlZHVsZUV2ZW50KGV2ZW50
TmFtZXMoKS5hYm9ydEV2ZW50KTsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0gICAgc2V0
U291cmNlU3RhdGUoTWVkaWFTb3VyY2U6OmNsb3NlZEtleXdvcmQoKSk7CisgICAgaWYgKG1fc291
cmNlU3RhdGUgIT0gU09VUkNFX0NMT1NFRCkKKyAgICAgICAgc2V0U291cmNlU3RhdGUoU09VUkNF
X0NMT1NFRCk7CiAjZW5kaWYKIAogICAgIC8vIDQgLSBJZiB0aGUgbWVkaWEgZWxlbWVudCdzIHJl
YWR5U3RhdGUgYXR0cmlidXRlIGhhcyBhIHZhbHVlIGVxdWFsIHRvIEhBVkVfTk9USElORywgc2V0
IHRoZSAKQEAgLTQxMjQsMTEgKzQzMDcsNiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNyZWF0
ZU1lZGlhUGxheWVyKCkKICAgICAgICAgCiAgICAgbV9wbGF5ZXIgPSBNZWRpYVBsYXllcjo6Y3Jl
YXRlKHRoaXMpOwogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICBpZiAobV9tZWRpYVNv
dXJjZSkKLSAgICAgICAgbV9tZWRpYVNvdXJjZS0+c2V0TWVkaWFQbGF5ZXIobV9wbGF5ZXIuZ2V0
KCkpOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoV0VCX0FVRElPKQogICAgIGlmIChtX2F1ZGlvU291
cmNlTm9kZSkgewogICAgICAgICAvLyBXaGVuIGNyZWF0aW5nIHRoZSBwbGF5ZXIsIG1ha2Ugc3Vy
ZSBpdHMgQXVkaW9Tb3VyY2VQcm92aWRlciBrbm93cyBhYm91dCB0aGUgTWVkaWFFbGVtZW50QXVk
aW9Tb3VyY2VOb2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCBi
ZGM2MTQ5ODkwNWMwNzdhZmE1YWQ0MDZjNjM2ODQ4MjUzNmNjZmZlLi5mZTcxZjEzMTk2NzNlZDM0
MjBhOTFiZmQwZmRjYjc4NDkwYWEwYzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaApAQCAtMTc1LDcgKzE3NSwyMCBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKIC8vICBNZWRpYSBTb3VyY2UuCiAgICAgY29uc3QgS1VSTCYgd2Via2l0TWVkaWFTb3Vy
Y2VVUkwoKSBjb25zdCB7IHJldHVybiBtX21lZGlhU291cmNlVVJMOyB9Ci0gICAgdm9pZCBzZXRT
b3VyY2VTdGF0ZShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHdlYmtpdFNvdXJjZUFkZElkKGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHdl
YmtpdFNvdXJjZVJlbW92ZUlkKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBQ
YXNzUmVmUHRyPFRpbWVSYW5nZXM+IHdlYmtpdFNvdXJjZUJ1ZmZlcmVkKGNvbnN0IFN0cmluZyYs
IEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHdlYmtpdFNvdXJjZUFwcGVuZChjb25zdCBTdHJp
bmcmLCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2
b2lkIHdlYmtpdFNvdXJjZUFib3J0KGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAg
ICBlbnVtIEVuZE9mU3RyZWFtU3RhdHVzIHsgRU9TX05PX0VSUk9SLCBFT1NfTkVUV09SS19FUlIs
IEVPU19ERUNPREVfRVJSIH07CisgICAgdm9pZCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSh1bnNp
Z25lZCBzaG9ydCwgRXhjZXB0aW9uQ29kZSYpOworICAgIGVudW0gU291cmNlU3RhdGUgeyBTT1VS
Q0VfQ0xPU0VELCBTT1VSQ0VfT1BFTiwgU09VUkNFX0VOREVEIH07CisgICAgU291cmNlU3RhdGUg
d2Via2l0U291cmNlU3RhdGUoKSBjb25zdDsKKyAgICB2b2lkIHNldFNvdXJjZVN0YXRlKFNvdXJj
ZVN0YXRlKTsKKworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0c291
cmNlb3Blbik7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRzb3Vy
Y2VlbmRlZCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRzb3Vy
Y2VjbG9zZSk7CiAjZW5kaWYgCiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpAQCAtNDA3
LDYgKzQyMCw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICB2aXJ0
dWFsIHZvaWQgbWVkaWFQbGF5ZXJTb3VyY2VPcGVuZWQoKTsKICAgICB2aXJ0dWFsIFN0cmluZyBt
ZWRpYVBsYXllclNvdXJjZVVSTCgpIGNvbnN0OworICAgIGJvb2wgaXNWYWxpZFNvdXJjZUlkKGNv
bnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKICNlbmRpZgogCiAjaWYgRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQSkKQEAgLTU4NCw3ICs1OTgsOCBAQCBwcml2YXRlOgogCiAjaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKICAgICBLVVJMIG1fbWVkaWFTb3VyY2VVUkw7Ci0gICAgUmVmUHRy
PE1lZGlhU291cmNlPiBtX21lZGlhU291cmNlOworICAgIFNvdXJjZVN0YXRlIG1fc291cmNlU3Rh
dGU7CisgICAgSGFzaFNldDxTdHJpbmc+IG1fc291cmNlSURzOwogI2VuZGlmCiAKICAgICBtdXRh
YmxlIGZsb2F0IG1fY2FjaGVkVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaWRsCmluZGV4IDlkMGFlOGE3Nzk5OWE3NTFhNzVjZDU0ZGMxNTFhOTM3Y2VlNjE2ZmMuLmFj
MGZhNDY3YjQwNDllMTYzZTkwY2I2YjYzZmEzMzdhY2JjMmUyNjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbApAQCAtOTgsNiArOTgsMzUgQEAgbW9kdWxlIGh0bWwg
ewogI2lmIGRlZmluZWQoRU5BQkxFX01FRElBX1NPVVJDRSkgJiYgRU5BQkxFX01FRElBX1NPVVJD
RQogICAgIC8vIFVSTCBwYXNzZWQgdG8gc3JjIGF0dHJpYnV0ZSB0byBlbmFibGUgdGhlIG1lZGlh
IHNvdXJjZSBsb2dpYy4KICAgICByZWFkb25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGlt
ZT1tZWRpYVNvdXJjZSwgVVJMXSBET01TdHJpbmcgd2Via2l0TWVkaWFTb3VyY2VVUkw7CisKKyAg
ICAvLyBNYW5hZ2VzIElEcyBmb3IgYXBwZW5kaW5nIG1lZGlhIHRvIHRoZSBzb3VyY2UuCisgICAg
W1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gdm9pZCB3ZWJraXRTb3VyY2VBZGRJZChp
biBET01TdHJpbmcgaWQsIGluIERPTVN0cmluZyB0eXBlKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7
CisgICAgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gdm9pZCB3ZWJraXRTb3VyY2VS
ZW1vdmVJZChpbiBET01TdHJpbmcgaWQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgIC8v
IFJldHVybnMgdGhlIHRpbWUgcmFuZ2VzIGJ1ZmZlcmVkIGZvciBhIHNwZWNpZmljIHNvdXJjZSBJ
RC4KKyAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBUaW1lUmFuZ2VzIHdlYmtp
dFNvdXJjZUJ1ZmZlcmVkKGluIERPTVN0cmluZyBpZCkgcmFpc2VzIChET01FeGNlcHRpb24pOwor
ICAgIAorICAgIC8vIEFwcGVuZHMgc2VnbWVudCBkYXRhLgorICAgIFtWOEVuYWJsZWRBdFJ1bnRp
bWU9bWVkaWFTb3VyY2VdIHZvaWQgd2Via2l0U291cmNlQXBwZW5kKGluIERPTVN0cmluZyBpZCwg
aW4gVWludDhBcnJheSBkYXRhKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAvLyBBYm9y
dHMgdGhlIGN1cnJlbnQgc2VnbWVudC4KKyAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291
cmNlXSB2b2lkIHdlYmtpdFNvdXJjZUFib3J0KGluIERPTVN0cmluZyBpZCkgcmFpc2VzIChET01F
eGNlcHRpb24pOworCisgICAgLy8gU2lnbmFscyB0aGUgZW5kIG9mIHN0cmVhbS4KKyAgICBbVjhF
bmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBFT1NfTk9f
RVJST1IgPSAwOyAvLyBFbmQgb2Ygc3RyZWFtIHJlYWNoZWQgdy9vIGVycm9yLgorICAgIFtWOEVu
YWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIGNvbnN0IHVuc2lnbmVkIHNob3J0IEVPU19ORVRX
T1JLX0VSUiA9IDE7IC8vIEEgbmV0d29yayBlcnJvciB0cmlnZ2VyZWQgZW5kIG9mIHN0cmVhbS4K
KyAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBjb25zdCB1bnNpZ25lZCBzaG9y
dCBFT1NfREVDT0RFX0VSUiA9IDI7IC8vIEEgZGVjb2RlIGVycm9yIHRyaWdnZXJlZCBlbmQgb2Yg
c3RyZWFtLgorICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIHZvaWQgd2Via2l0
U291cmNlRW5kT2ZTdHJlYW0oaW4gdW5zaWduZWQgc2hvcnQgc3RhdHVzKSByYWlzZXMgKERPTUV4
Y2VwdGlvbik7CisKKyAgICAvLyBJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIG1l
ZGlhIHNvdXJjZS4KKyAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBjb25zdCB1
bnNpZ25lZCBzaG9ydCBTT1VSQ0VfQ0xPU0VEID0gMDsKKyAgICBbVjhFbmFibGVkQXRSdW50aW1l
PW1lZGlhU291cmNlXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBTT1VSQ0VfT1BFTiA9IDE7CisgICAg
W1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gY29uc3QgdW5zaWduZWQgc2hvcnQgU09V
UkNFX0VOREVEID0gMjsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGlt
ZT1tZWRpYVNvdXJjZV0gdW5zaWduZWQgc2hvcnQgd2Via2l0U291cmNlU3RhdGU7CisKKyAgICBh
dHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gRXZlbnRMaXN0ZW5lciBv
bndlYmtpdHNvdXJjZW9wZW47CisgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVk
aWFTb3VyY2VdIEV2ZW50TGlzdGVuZXIgb253ZWJraXRzb3VyY2VlbmRlZDsKKyAgICBhdHRyaWJ1
dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gRXZlbnRMaXN0ZW5lciBvbndlYmtp
dHNvdXJjZWNsb3NlOwogI2VuZGlmCiAKICNpZiBkZWZpbmVkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICYmIEVOQUJMRV9FTkNSWVBURURfTUVESUEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwZTJjYzZkM2FmM2ZjYzM4ZTY5
ZWVjMjY4MWE4ZDg4NzdiMjc0YzNkLi5mODFhOGQ5OTVlYjhiZmEzZDM4NjEwM2M1YmUyNjE4NjMx
ZWFiMTM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTItMDgtMDYgIFNoZXJpZmYgQm90ICA8
d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIxMjQ4NDguCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0
LzEyNDg0OAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTMzMzYKKworICAgICAgICBDYXVzZWQgMyB0ZXN0cyB0byBjcmFzaCBvbiBjaHJvbWl1bSBMaW51
eDMyL01hYzEwLjYvTGludXgKKyAgICAgICAgKFJlcXVlc3RlZCBieSB0b3lvc2hpbSBvbiAjd2Vi
a2l0KS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNv
dXJjZS5qczoKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyKToKKyAgICAg
ICAgKE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hZGRTb3VyY2VJZCk6
CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5wcm90b3R5cGUuYXBwZW5k
SW5pdFNlZ21lbnQpOgorICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJv
dG90eXBlLmFwcGVuZE1lZGlhU2VnbWVudCk6CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3QuU2Vn
bWVudEhlbHBlci5wcm90b3R5cGUuYXBwZW5kVW50aWxFbmRPZlN0cmVhbSk6CisgICAgICAgIChN
ZWRpYVNvdXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RVUkwpOgorICAgICAgICAoTWVk
aWFTb3VyY2VUZXN0LmRlZmF1bHRPbkVycm9yQ2hlY2tzKToKKyAgICAgICAgKE1lZGlhU291cmNl
VGVzdC5ydW5PblNvdXJjZU9wZW4uZXZlbnRIYW5kbGVyRnVuY3Rpb24pOgorICAgICAgICAoTWVk
aWFTb3VyY2VUZXN0LnJ1bk9uU291cmNlT3Blbik6CisgICAgICAgIChNZWRpYVNvdXJjZVRlc3Qu
bG9nU291cmNlU3RhdGUpOgorICAgICAgICAoTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0
YXRlKToKKyAgICAgICAgKE1lZGlhU291cmNlVGVzdC5nZXRTb3VyY2VTdGF0ZU5hbWUpOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1h
Ym9ydC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZl
cnMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtaWRzLWV4cGVjdGVkLnR4dDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLWV4cGVjdGVkLnR4dC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRk
LWFuZC1yZW1vdmUtaWRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1l
cnJvcnMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRl
by1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0
dHJpYnV0ZXMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92
aWRlby1tZWRpYS1zb3VyY2UtcGxheS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0
cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXBsYXkuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc2Vl
ay1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
dmlkZW8tbWVkaWEtc291cmNlLXNlZWsuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEt
c291cmNlLXN0YXRlLWNoYW5nZXMuaHRtbDoKKwogMjAxMi0wOC0wNiAgVGFrYXNoaSBUb3lvc2hp
bWEgIDx0b3lvc2hpbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmViYXNl
bGluZSBmb3IgcjEyNDgzNi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5qcwppbmRleCA5NWQzYjM0YmY5MDViYThm
ZThkZDQyNWI4MjlmZGJmNDYyYWVkMWE3Li42ZGJiN2NhYTExOWM3ZjljMTM3YTlhMTFmNjhhMjll
YzA2N2ZhZDI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS9tZWRpYS1zb3VyY2UuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmpzCkBAIC0xLDEwICsxLDkgQEAKIHZhciBNZWRp
YVNvdXJjZVRlc3QgPSB7fTsKLXZhciBtZWRpYVNvdXJjZSA9IG5ldyBNZWRpYVNvdXJjZSgpOwog
CiBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlciA9IGZ1bmN0aW9uKHNlZ21lbnRJbmZvKQog
ewogICAgIHRoaXMuTWVkaWFTZWdtZW50c1RvTG9hZCA9IDA7Ci0gICAgdGhpcy5zb3VyY2VCdWZm
ZXIgPSBudWxsOworICAgIHRoaXMuU291cmNlSUQgPSAnc291cmNlSWQnOwogCiAgICAgdGhpcy52
aWRlb1RhZyA9IG51bGw7CiAgICAgdGhpcy5zZWdtZW50SW5mbyA9IHNlZ21lbnRJbmZvOwpAQCAt
MTIyLDMyICsxMjEsMzIgQEAgTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBl
LmdldERhdGFfID0gZnVuY3Rpb24gKHVybCwgc3RhcnQsIGxlbmd0aCwKICAgICByZXF1ZXN0LnNl
bmQoKTsKIH07CiAKLU1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hZGRT
b3VyY2VCdWZmZXIgPSBmdW5jdGlvbigpCitNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5w
cm90b3R5cGUuYWRkU291cmNlSWQgPSBmdW5jdGlvbigpCiB7Ci0gICAgdGhpcy5zb3VyY2VCdWZm
ZXIgPSBtZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIodGhpcy5zZWdtZW50SW5mby50eXBlKTsK
KyAgICB0aGlzLnZpZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKHRoaXMuU291cmNlSUQsIHRoaXMu
c2VnbWVudEluZm8udHlwZSk7CiB9OwogCiBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlci5w
cm90b3R5cGUuYXBwZW5kSW5pdFNlZ21lbnQgPSBmdW5jdGlvbigpCiB7Ci0gICAgdGhpcy5zb3Vy
Y2VCdWZmZXIuYXBwZW5kKHRoaXMuaW5pdFNlZ21lbnQpOworICAgIHRoaXMudmlkZW9UYWcud2Vi
a2l0U291cmNlQXBwZW5kKHRoaXMuU291cmNlSUQsIHRoaXMuaW5pdFNlZ21lbnQpOwogfTsKIAog
TWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJvdG90eXBlLmFwcGVuZE1lZGlhU2VnbWVu
dCA9IGZ1bmN0aW9uKGluZGV4KQogewotICAgIHRoaXMuc291cmNlQnVmZmVyLmFwcGVuZCh0aGlz
Lm1lZGlhU2VnbWVudHNbaW5kZXhdKTsKKyAgICB0aGlzLnZpZGVvVGFnLndlYmtpdFNvdXJjZUFw
cGVuZCh0aGlzLlNvdXJjZUlELCB0aGlzLm1lZGlhU2VnbWVudHNbaW5kZXhdKTsKIH07CiAKIE1l
ZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyLnByb3RvdHlwZS5hcHBlbmRVbnRpbEVuZE9mU3Ry
ZWFtID0gZnVuY3Rpb24oc3RhcnRJbmRleCkKIHsKLSAgICBpZiAoIXRoaXMuc291cmNlQnVmZmVy
KSB7Ci0gICAgICAgIGZhaWxUZXN0KCJNZWRpYVNvdXJjZSBBUEkgaXMgbm90IGF2YWlsYWJsZSIp
OworICAgIGlmICghdGhpcy52aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQpIHsKKyAgICAgICAg
ZmFpbFRlc3QoIndlYmtpdFNvdXJjZUFwcGVuZCgpIGlzIG5vdCBhdmFpbGFibGUiKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAogICAgIGZvciAodmFyIGluZGV4ID0gc3RhcnRJbmRleDsgaW5k
ZXggPCB0aGlzLm1lZGlhU2VnbWVudHMubGVuZ3RoOyBpbmRleCsrKQogICAgICAgICB0aGlzLmFw
cGVuZE1lZGlhU2VnbWVudChpbmRleCk7CiAKLSAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgp
OworICAgIHRoaXMudmlkZW9UYWcud2Via2l0U291cmNlRW5kT2ZTdHJlYW0odGhpcy52aWRlb1Rh
Zy5FT1NfTk9fRVJST1IpOwogfTsKIAogTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIucHJv
dG90eXBlLmdldFRpbWVGb3JNZWRpYVNlZ21lbnQgPSBmdW5jdGlvbihpbmRleCkKQEAgLTE3Nyw3
ICsxNzYsNyBAQCBNZWRpYVNvdXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RVUkwgPSBm
dW5jdGlvbih2aWRlb1RhZykKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHZpZGVvVGFn
LnNyYyA9IHdlYmtpdFVSTC5jcmVhdGVPYmplY3RVUkwobWVkaWFTb3VyY2UpOworICAgIHZpZGVv
VGFnLnNyYyA9IHZpZGVvVGFnLndlYmtpdE1lZGlhU291cmNlVVJMOwogfTsKIAogTWVkaWFTb3Vy
Y2VUZXN0Lm1lZGlhRXJyb3JTdHJpbmcgPSBmdW5jdGlvbih2aWRlb1RhZykKQEAgLTIwNyw5ICsy
MDYsOSBAQCBNZWRpYVNvdXJjZVRlc3QuZGVmYXVsdE9uRXJyb3JDaGVja3MgPSBmdW5jdGlvbihl
dmVudCkKIAogICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQoZXJyb3IpIDogIiArIE1lZGlhU291cmNl
VGVzdC5tZWRpYUVycm9yU3RyaW5nKHZpZGVvVGFnKSk7CiAKLSAgICBpZiAobWVkaWFTb3VyY2Uu
cmVhZHlTdGF0ZSAhPSAiY2xvc2VkIikgewotICAgICAgICBjb25zb2xlV3JpdGUoIlVuZXhwZWN0
ZWQgc291cmNlIHN0YXRlLiBFeHBlY3RlZCAnY2xvc2VkJyIgKwotICAgICAgICAgICAgICAgICAg
ICAgIiBnb3QgIiArIG1lZGlhU291cmNlLnJlYWR5U3RhdGUpOworICAgIGlmICh2aWRlb1RhZy53
ZWJraXRTb3VyY2VTdGF0ZSAhPSBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9DTE9TRUQpIHsKKyAg
ICAgICAgY29uc29sZVdyaXRlKCJVbmV4cGVjdGVkIHNvdXJjZSBzdGF0ZS4gRXhwZWN0ZWQgU09V
UkNFX0NMT1NFRCIgKworICAgICAgICAgICAgICAgICAgICAgIiBnb3QgIiArIGdldFNvdXJjZVN0
YXRlTmFtZSh2aWRlb1RhZy53ZWJraXRTb3VyY2VTdGF0ZSkpOwogICAgIH0KIH07CiAKQEAgLTI3
MSwzMiArMjcwLDQyIEBAIE1lZGlhU291cmNlVGVzdC5ydW5PblNvdXJjZU9wZW4gPSBmdW5jdGlv
bih2aWRlb1RhZywgb25PcGVuRnVuY3Rpb24pCiB7CiAgICAgdmFyIGV2ZW50SGFuZGxlckZ1bmN0
aW9uID0gZnVuY3Rpb24gKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKHZpZGVvVGFnLm5ldHdv
cmtTdGF0ZSAhPSBIVE1MTWVkaWFFbGVtZW50Lk5FVFdPUktfTE9BRElORyAmJgotICAgICAgICAg
ICAgdmlkZW9UYWcubmV0d29ya1N0YXRlICE9IEhUTUxNZWRpYUVsZW1lbnQuTkVUV09SS19JRExF
KSB7Ci0gICAgICAgICAgICBmYWlsVGVzdCgiVW5leHBlY3RlZCBuZXR3b3JrIHN0YXRlLiBFeHBl
Y3RlZCAiICsKLSAgICAgICAgICAgICAgICAgICAgIEhUTUxNZWRpYUVsZW1lbnQuTkVUV09SS19M
T0FESU5HICsgIiBvciAiICsKLSAgICAgICAgICAgICAgICAgICAgIEhUTUxNZWRpYUVsZW1lbnQu
TkVUV09SS19JRExFICsKLSAgICAgICAgICAgICAgICAgICAgICIgZ290ICIgKyB2aWRlb1RhZy5y
ZWFkeVN0YXRlKTsKLSAgICAgICAgfQogICAgICAgICBldmVudC50YXJnZXQucmVtb3ZlRXZlbnRM
aXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIGV2ZW50SGFuZGxlckZ1bmN0aW9uKTsKICAgICAg
ICAgb25PcGVuRnVuY3Rpb24oKTsKICAgICB9OwotCi0gICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRM
aXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIGV2ZW50SGFuZGxlckZ1bmN0aW9uKTsKKyAgICB2
aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgZXZlbnRIYW5kbGVy
RnVuY3Rpb24pOwogICAgIE1lZGlhU291cmNlVGVzdC5zZXRTcmNUb01lZGlhU291cmNlVGVzdFVS
TCh2aWRlb1RhZyk7CiB9OwogCi1NZWRpYVNvdXJjZVRlc3QubG9nU291cmNlU3RhdGUgPSBmdW5j
dGlvbihtZWRpYVNvdXJjZSkKK01lZGlhU291cmNlVGVzdC5sb2dTb3VyY2VTdGF0ZSA9IGZ1bmN0
aW9uKHZpZGVvVGFnKQoreworICAgIGNvbnNvbGVXcml0ZSgid2Via2l0U291cmNlU3RhdGUgOiAi
ICsgTWVkaWFTb3VyY2VUZXN0LmdldFNvdXJjZVN0YXRlTmFtZSh2aWRlb1RhZy53ZWJraXRTb3Vy
Y2VTdGF0ZSkpOworfTsKKworTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlID0gZnVu
Y3Rpb24odmlkZW9UYWcsIGV4cGVjdGVkKQogewotICAgIGNvbnNvbGVXcml0ZSgid2Via2l0U291
cmNlU3RhdGUgOiAiICsgbWVkaWFTb3VyY2UucmVhZHlTdGF0ZSk7CisgICAgaWYgKHZpZGVvVGFn
LndlYmtpdFNvdXJjZVN0YXRlICE9IGV4cGVjdGVkKSB7CisgICAgICAgIGZhaWxUZXN0KCJVbmV4
cGVjdGVkIHNvdXJjZSBzdGF0ZS4gRXhwZWN0ZWQgIiArCisgICAgICAgICAgICAgICAgIE1lZGlh
U291cmNlVGVzdC5nZXRTb3VyY2VTdGF0ZU5hbWUoZXhwZWN0ZWQpICsKKyAgICAgICAgICAgICAg
ICAgIiBnb3QgIiArIE1lZGlhU291cmNlVGVzdC5nZXRTb3VyY2VTdGF0ZU5hbWUodmlkZW9UYWcu
d2Via2l0U291cmNlU3RhdGUpKTsKKyAgICB9CiB9OwogCi1NZWRpYVNvdXJjZVRlc3QuZXhwZWN0
U291cmNlU3RhdGUgPSBmdW5jdGlvbihtZWRpYVNvdXJjZSwgZXhwZWN0ZWQpCitNZWRpYVNvdXJj
ZVRlc3QuZ2V0U291cmNlU3RhdGVOYW1lID0gZnVuY3Rpb24oc3RhdGUpCiB7Ci0gICAgaWYgKG1l
ZGlhU291cmNlLnJlYWR5U3RhdGUgIT0gZXhwZWN0ZWQpIHsKLSAgICAgICAgZmFpbFRlc3QoIlVu
ZXhwZWN0ZWQgc291cmNlIHN0YXRlLiBFeHBlY3RlZCAiICsgZXhwZWN0ZWQgKwotICAgICAgICAg
ICAgICAgICAiIGdvdCAiICsgbWVkaWFTb3VyY2UucmVhZHlTdGF0ZSk7CisgICAgdmFyIHN0YXRl
TmFtZSA9ICJVTktOT1dOIjsKKyAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAgICAgIGNhc2UgSFRN
TE1lZGlhRWxlbWVudC5TT1VSQ0VfQ0xPU0VEOgorICAgICAgICAgICAgc3RhdGVOYW1lID0gIlNP
VVJDRV9DTE9TRUQiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSFRNTE1lZGlh
RWxlbWVudC5TT1VSQ0VfT1BFTjoKKyAgICAgICAgICAgIHN0YXRlTmFtZSA9ICJTT1VSQ0VfT1BF
TiI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBIVE1MTWVkaWFFbGVtZW50LlNP
VVJDRV9FTkRFRDoKKyAgICAgICAgICAgIHN0YXRlTmFtZSA9ICJTT1VSQ0VfRU5ERUQiOworICAg
ICAgICAgICAgYnJlYWs7CiAgICAgfQorICAgIHJldHVybiBzdGF0ZU5hbWU7CiB9OwogCiBNZWRp
YVNvdXJjZVRlc3QuZXhwZWN0UmVhZHlTdGF0ZSA9IGZ1bmN0aW9uKHZpZGVvVGFnLCBleHBlY3Rl
ZCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQtZXhwZWN0
ZWQudHh0CmluZGV4IGM1ZDI4YmZhMjI3YmMwMmY1MWQyNTJjMTViOGJjYTgyMTM3OGY1ZDIuLjY1
OGZmNzExNmUxMzcxZjZkYzM1NjdhZGZjNTQ4ODVhNWYxMjQ5YmUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1h
Ym9ydC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFib3J0LWV4cGVjdGVkLnR4dApAQCAtMiw2ICsy
LDcgQEAgVGVzdHMgd2Via2l0U291cmNlQWJvcnQoKSBmdW5jdGlvbmFsaXR5CiAKIAogcnVubmlu
ZyBhYm9ydER1cmluZ0luaXRTZWdtZW50CitFVkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRz
b3VyY2VvcGVuKQogVGVzdCBhYm9ydGluZyBkdXJpbmcgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4K
IEFwcGVuZGluZyBwYXJ0aWFsIGluaXRpYWxpemF0aW9uIHNlZ21lbnQuCkBAIC0xMiw2ICsxMyw3
IEBAIEVWRU5UKGxvYWRlZGRhdGEpCiAKIHJ1bm5pbmcgYWJvcnREdXJpbmdNZWRpYVNlZ21lbnQK
IEVWRU5UKGVtcHRpZWQpCitFVkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2VvcGVu
KQogVGVzdCBhYm9ydGluZyBpbiB0aGUgbWlkZGxlIG9mIGEgbWVkaWEgc2VnbWVudC4KIEFwcGVu
ZGluZyBwYXJ0aWFsIG1lZGlhIHNlZ21lbnQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWJvcnQuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNv
dXJjZS1hYm9ydC5odG1sCmluZGV4IDMxODE0NTZhOGI1Y2U2YTRhNDI0Y2IxZDJlMTcxMGZiYmYz
MmU2NDguLjQ4OWM5NWE5OThjMDU4MmM2ZjA2MGE1NzY2OWMxNmU2YjA4Njk4MzIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlh
LXNvdXJjZS1hYm9ydC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hYm9ydC5odG1sCkBAIC05LDcgKzksNyBAQAog
CiAgICAgICAgICAgICBmdW5jdGlvbiBhYm9ydER1cmluZ0luaXRTZWdtZW50KHJ1bk5leHRUZXN0
Q2FzZSwgdmlkZW9UYWcpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc2VnbWVudEhl
bHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFk
ZFNvdXJjZUlkKCk7CiAKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYWJvcnRp
bmcgZHVyaW5nIGluaXRpYWxpemF0aW9uIHNlZ21lbnQuIik7CiAgICAgICAgICAgICAgICAgdHJ5
IHsKQEAgLTE3LDEwICsxNywxMCBAQAogICAgICAgICAgICAgICAgICAgICB2YXIgcGFydGlhbElu
aXRTZWdtZW50ID0gaW5pdFNlZ21lbnQuc3ViYXJyYXkoMCwgaW5pdFNlZ21lbnQubGVuZ3RoIC8g
Mik7CiAKICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJBcHBlbmRpbmcgcGFydGlh
bCBpbml0aWFsaXphdGlvbiBzZWdtZW50LiIpOwotICAgICAgICAgICAgICAgICAgICBzZWdtZW50
SGVscGVyLnNvdXJjZUJ1ZmZlci5hcHBlbmQocGFydGlhbEluaXRTZWdtZW50KTsKKyAgICAgICAg
ICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKHNlZ21lbnRIZWxwZXIuU291
cmNlSUQsIHBhcnRpYWxJbml0U2VnbWVudCk7CiAKICAgICAgICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCJBYm9ydGluZyBhcHBlbmQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHNlZ21lbnRI
ZWxwZXIuc291cmNlQnVmZmVyLmFib3J0KCk7CisgICAgICAgICAgICAgICAgICAgIHZpZGVvVGFn
LndlYmtpdFNvdXJjZUFib3J0KHNlZ21lbnRIZWxwZXIuU291cmNlSUQpOwogCiAgICAgICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5kaW5nIGZ1bGwgaW5pdGlhbGl6YXRpb24gc2Vn
bWVudC4iKTsKICAgICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRJbml0U2Vn
bWVudCgpOwpAQCAtNDIsNyArNDIsNyBAQAogCiAgICAgICAgICAgICBmdW5jdGlvbiBhYm9ydER1
cmluZ01lZGlhU2VnbWVudChydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CisgICAg
ICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOwogCiAgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJUZXN0IGFib3J0aW5nIGluIHRoZSBtaWRkbGUgb2YgYSBtZWRpYSBz
ZWdtZW50LiIpOwogICAgICAgICAgICAgICAgIHRyeSB7CkBAIC01MSwxMCArNTEsMTAgQEAKICAg
ICAgICAgICAgICAgICAgICAgdmFyIHBhcnRpYWxNZWRpYVNlZ21lbnQgPSBtZWRpYVNlZ21lbnQu
c3ViYXJyYXkoMCwgbWVkaWFTZWdtZW50Lmxlbmd0aCAvIDIpOwogCiAgICAgICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5kaW5nIHBhcnRpYWwgbWVkaWEgc2VnbWVudC4iKTsKLSAg
ICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIuYXBwZW5kKHBhcnRp
YWxNZWRpYVNlZ21lbnQpOworICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3Vy
Y2VBcHBlbmQoc2VnbWVudEhlbHBlci5Tb3VyY2VJRCwgcGFydGlhbE1lZGlhU2VnbWVudCk7CiAK
ICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJBYm9ydGluZyBhcHBlbmQuIik7Ci0g
ICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyLmFib3J0KCk7Cisg
ICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFib3J0KHNlZ21lbnRIZWxw
ZXIuU291cmNlSUQpOwogCiAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5k
aW5nIGZ1bGwgbWVkaWEgc2VnbWVudC4iKTsKICAgICAgICAgICAgICAgICAgICAgc2VnbWVudEhl
bHBlci5hcHBlbmRNZWRpYVNlZ21lbnQoMCk7CkBAIC03NywxMCArNzcsMTEgQEAKICAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CiAKKyAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JF
dmVudCgnbG9hZGVkZGF0YScpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0
c291cmNlb3BlbicsICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlhU291cmNlKTsKKyAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nKTsKICAgICAgICAgICAgICAgICB3
YWl0Rm9yRXZlbnQoJ3BsYXlpbmcnKTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dl
YmtpdHNvdXJjZWVuZGVkJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOworICAgICAg
ICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlZW5kZWQnKTsKICAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnQoJ2VuZGVkJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50
KCdlbXB0aWVkJyk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzUxZjkxYjVmOWZlYTMzODU1ZDVjZDBiMDMzODgz
MzkwMWJmYzBmYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1z
b3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVycy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw0NyArMCwwIEBACi1UZXN0cyB3ZWJraXRTb3VyY2VBZGRJZCgpICYgd2Via2l0U291cmNl
UmVtb3ZlSWQoKSBtZXRob2RzCi0KLVRlc3QgYWRkaW5nIGFuIElEIHdoaWxlIGNsb3NlZC4KLUdv
dCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0
aW9uIDExCi0KLXJ1bm5pbmcgdGVzdEFkZEJ1ZmZlckZhaWx1cmVDYXNlcwotRVZFTlQod2Via2l0
c291cmNlb3BlbikKLVRlc3QgZW1wdHkgdHlwZS4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJy
b3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQotVGVzdCBhbiB1bnN1cHBv
cnRlZCB0eXBlLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9F
UlI6IERPTSBFeGNlcHRpb24gOQotVGVzdCBhIHN1cHBvcnRlZCB0eXBlIHdpdGggYW4gdW5zdXBw
b3J0ZWQgY29kZWMuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVE
X0VSUjogRE9NIEV4Y2VwdGlvbiA5Ci1UZXN0IHJlYWNoaW5nIHNvdXJjZUlEIGxpbWl0LgotVGVz
dCB0aGF0IFNvdXJjZUJ1ZmZlcnMgY2FuJ3QgYmUgYWRkZWQgd2hpbGUgaW4gdGhlIGVuZGVkIHN0
YXRlLgotR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERP
TSBFeGNlcHRpb24gMTEKLQotcnVubmluZyB0ZXN0UmVtb3ZlTnVsbEJ1ZmZlcgotRVZFTlQod2Vi
a2l0c291cmNlb3BlbikKLVRlc3QgbnVsbCBidWZmZXIgY2FzZQotR290IGV4cGVjdGVkIGV4Y2Vw
dGlvbiBFcnJvcjogSU5WQUxJRF9BQ0NFU1NfRVJSOiBET00gRXhjZXB0aW9uIDE1Ci0KLXJ1bm5p
bmcgdGVzdFJlbW92ZUFnYWluCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCByZW1vdmlu
ZyBhIGJ1ZmZlciB0aGF0IHdhcyBhbHJlYWR5IHJlbW92ZWQuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0
aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQotCi1ydW5uaW5n
IHRlc3RSZW1vdmVCdWZmZXJBZnRlckVuZGVkCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQotVGVz
dCB0aGF0IGEgYnVmZmVyIGNhbiBiZSByZW1vdmVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4K
LQotcnVubmluZyB0ZXN0QWRkQnVmZmVyQWZ0ZXJSZW1vdmluZwotRVZFTlQod2Via2l0c291cmNl
b3BlbikKLVRlc3QgdGhhdCBhIGJ1ZmZlciBjYW4gYmUgYWRkZWQgYWdhaW4gYWZ0ZXIgaXQgaXMg
cmVtb3ZlZC4KLVVuZXhwZWN0ZWQgZXhjZXB0aW9uOiBFcnJvcjogUVVPVEFfRVhDRUVERURfRVJS
OiBET00gRXhjZXB0aW9uIDIyCi0KLXJ1bm5pbmcgdGVzdEFwcGVuZEZhaWx1cmVDYXNlcwotRVZF
TlQod2Via2l0c291cmNlb3BlbikKLVRlc3QgYSBzdWNjZXNzZnVsIGFwcGVuZC4KLVRlc3QgYXBw
ZW5kIHdpdGggYSBudWxsIGJ1ZmZlci4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElO
VkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQotVGVzdCBhcHBlbmQgYWZ0ZXIgZW5k
ZWQuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMQotVGVzdCBhcHBlbmQgYWZ0ZXIgYnVmZmVyIGhhcyBiZWVuIHJlbW92ZWQu
Ci1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4
Y2VwdGlvbiAxMQotRU5EIE9GIFRFU1QKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3Zl
LWJ1ZmZlcnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5MGZkNDUwN2I2NmQ0MWNlOTdkMDEyMDJjZGI0YTJkM2Yy
OTA3Y2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNl
LWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIwMSArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotICAgIDxoZWFkPgotICAgICAgICA8c2NyaXB0
IHNyYz0iL21lZGlhLXJlc291cmNlcy92aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICAgICAg
PHNjcmlwdCBzcmM9Ii9tZWRpYS9yZXNvdXJjZXMvbWVkaWEtc291cmNlL3dlYm0vc2VnbWVudC1p
bmZvLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCBzcmM9Im1lZGlhLXNvdXJjZS5qcyI+
PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQ+Ci0gICAgICAgICAgICB2YXIgc2VnbWVudEhlbHBl
ciA9IG5ldyBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlcihXZWJNU2VnbWVudEluZm8udGVz
dFdlYk0pOwotICAgICAgICAgICAgdmFyIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSA9IHNlZ21lbnRI
ZWxwZXIuc2VnbWVudEluZm8udHlwZTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gZXhwZWN0RXhj
ZXB0aW9uT25BZGRCdWZmZXIodHlwZSwgZXJyb3IpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZm
ZXIgPSBtZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIodHlwZSk7Ci0gICAgICAgICAgICAgICAg
ICAgIGZhaWxUZXN0KCJFeHBlY3RlZCBhbiBleGNlcHRpb24iKTsKLSAgICAgICAgICAgICAgICB9
IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghKGUuY29kZSA9PSBlcnJvcikp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIGV4Y2VwdGlv
biAiICsgZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlOwotICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiR290IGV4cGVjdGVk
IGV4Y2VwdGlvbiAiICsgZSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RFeGNlcHRpb25PblJlbW92ZUJ1ZmZlcihidWZmZXIs
IGVycm9yKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAg
ICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZVNvdXJjZUJ1ZmZlcihidWZmZXIpOwotICAgICAg
ICAgICAgICAgICAgICBmYWlsVGVzdCgiRXhwZWN0ZWQgYW4gZXhjZXB0aW9uIik7Ci0gICAgICAg
ICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIShlLmNvZGUg
PT0gZXJyb3IpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiVW5leHBlY3Rl
ZCBleGNlcHRpb24gIiArIGUpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZTsKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkdv
dCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gZXhwZWN0RXhjZXB0aW9uT25BcHBlbmQoYnVm
LCBlcnJvcikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAg
ICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlci5hcHBlbmQoYnVmKTsKLSAgICAg
ICAgICAgICAgICAgICAgZmFpbFRlc3QoIkV4cGVjdGVkIGFuIGV4Y2VwdGlvbiIpOwotICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCEoZS5jb2Rl
ID09IGVycm9yKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0
ZWQgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7Ci0g
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJH
b3QgZXhwZWN0ZWQgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBZGRCdWZmZXJXaGlsZUNsb3NlZCh2
aWRlb1RhZykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRl
c3QgYWRkaW5nIGFuIElEIHdoaWxlIGNsb3NlZC4iKTsKLSAgICAgICAgICAgICAgICBleHBlY3RF
eGNlcHRpb25PbkFkZEJ1ZmZlcihkZWZhdWx0U291cmNlTWltZXR5cGUsIERPTUV4Y2VwdGlvbi5J
TlZBTElEX1NUQVRFX0VSUik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9u
IHRlc3RBZGRCdWZmZXJGYWlsdXJlQ2FzZXMocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgZW1wdHkgdHlw
ZS4iKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZEJ1ZmZlcigiIiwgRE9N
RXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIlRlc3QgYW4gdW5zdXBwb3J0ZWQgdHlwZS4iKTsKLSAgICAgICAgICAgICAgICBleHBl
Y3RFeGNlcHRpb25PbkFkZEJ1ZmZlcigiYXVkaW8veC11bnN1cHBvcnRlZC1mb3JtYXQiLCBET01F
eGNlcHRpb24uTk9UX1NVUFBPUlRFRF9FUlIpOwotCi0gICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJUZXN0IGEgc3VwcG9ydGVkIHR5cGUgd2l0aCBhbiB1bnN1cHBvcnRlZCBjb2RlYy4iKTsK
LSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZEJ1ZmZlcigidmlkZW8vd2VibTsg
Y29kZWNzPVwidnA4LCBzcGVleFwiIiwgRE9NRXhjZXB0aW9uLk5PVF9TVVBQT1JURURfRVJSKTsK
LQotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCByZWFjaGluZyBzb3VyY2VJRCBs
aW1pdC4iKTsKLSAgICAgICAgICAgICAgICB2YXIgcmVhY2hlZElkTGltaXQgPSBmYWxzZTsKLQot
ICAgICAgICAgICAgICAgIC8vIFRoZSAyMCBoZXJlIGlzIGFuIGFyYml0cmFyeSB1cHBlciBsaW1p
dCB0byBtYWtlIHN1cmUgdGhlIHRlc3QgdGVybWluYXRlcy4gVGhpcyB0ZXN0Ci0gICAgICAgICAg
ICAgICAgLy8gYXNzdW1lcyB0aGF0IGltcGxlbWVudGF0aW9ucyB3b24ndCBzdXBwb3J0IG1vcmUg
dGhhbiAyMCBzb3VyY2VJRCdzIHNpbXVsdGFuZW91c2x5LgotICAgICAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgMjA7ICsraSkgewotICAgICAgICAgICAgICAgICAgICB0cnkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkU291cmNlQnVmZmVyKGRlZmF1bHRT
b3VyY2VNaW1ldHlwZSk7Ci0gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKGUuY29kZSAhPSBET01FeGNlcHRpb24uUVVPVEFfRVhDRUVE
RURfRVJSKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0
ZWQgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBl
OwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgcmVh
Y2hlZElkTGltaXQgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBp
ZiAoIXJlYWNoZWRJZExpbWl0KSB7Ci0gICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJGYWls
ZWQgdG8gcmVhY2ggU291cmNlSUQgbGltaXQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRl
c3QgdGhhdCBTb3VyY2VCdWZmZXJzIGNhbid0IGJlIGFkZGVkIHdoaWxlIGluIHRoZSBlbmRlZCBz
dGF0ZS4iKTsKLSAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOwotICAg
ICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkQnVmZmVyKGRlZmF1bHRTb3VyY2VNaW1l
dHlwZSwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKTsKLQotICAgICAgICAgICAgICAg
IHJ1bk5leHRUZXN0Q2FzZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlv
biB0ZXN0UmVtb3ZlTnVsbEJ1ZmZlcihydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBudWxsIGJ1ZmZlciBj
YXNlIik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25SZW1vdmVCdWZmZXIobnVs
bCwgRE9NRXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBy
dW5OZXh0VGVzdENhc2UoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24g
dGVzdFJlbW92ZUFnYWluKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHJlbW92aW5nIGEgYnVmZmVyIHRo
YXQgd2FzIGFscmVhZHkgcmVtb3ZlZC4iKTsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVy
LnNvdXJjZUJ1ZmZlciA9IG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1ZmZlcihkZWZhdWx0U291cmNl
TWltZXR5cGUpOwotICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZVNvdXJjZUJ1ZmZl
cihzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlcik7Ci0gICAgICAgICAgICAgICAgZXhwZWN0RXhj
ZXB0aW9uT25SZW1vdmVCdWZmZXIoc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIsIERPTUV4Y2Vw
dGlvbi5JTlZBTElEX1NUQVRFX0VSUik7Ci0KLSAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENh
c2UoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFJlbW92ZUJ1
ZmZlckFmdGVyRW5kZWQocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgdGhhdCBhIGJ1ZmZlciBjYW4gYmUg
cmVtb3ZlZCB3aGlsZSBpbiB0aGUgZW5kZWQgc3RhdGUuIik7Ci0gICAgICAgICAgICAgICAgc2Vn
bWVudEhlbHBlci5zb3VyY2VCdWZmZXIgPSBtZWRpYVNvdXJjZS5hZGRTb3VyY2VCdWZmZXIoZGVm
YXVsdFNvdXJjZU1pbWV0eXBlKTsKLSAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0
cmVhbSgpOwotICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZVNvdXJjZUJ1ZmZlcihz
ZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlcik7Ci0KLSAgICAgICAgICAgICAgICBydW5OZXh0VGVz
dENhc2UoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFkZEJ1
ZmZlckFmdGVyUmVtb3ZpbmcocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgdGhhdCBhIGJ1ZmZlciBjYW4g
YmUgYWRkZWQgYWdhaW4gYWZ0ZXIgaXQgaXMgcmVtb3ZlZC4iKTsKLSAgICAgICAgICAgICAgICBz
ZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlciA9IG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1ZmZlcihk
ZWZhdWx0U291cmNlTWltZXR5cGUpOwotICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92
ZVNvdXJjZUJ1ZmZlcihzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlcik7Ci0KLSAgICAgICAgICAg
ICAgICB0cnkgewotICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZl
ciA9IG1lZGlhU291cmNlLmFkZFNvdXJjZUJ1ZmZlcihkZWZhdWx0U291cmNlTWltZXR5cGUpOwot
ICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCJVbmV4cGVjdGVkIGV4Y2VwdGlvbjogIiArIGUpOwotICAgICAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwotICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QXBwZW5kRmFpbHVyZUNhc2VzKHJ1bk5leHRUZXN0Q2Fz
ZSwgdmlkZW9UYWcpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFyIGluaXRTZWdt
ZW50ID0gc2VnbWVudEhlbHBlci5pbml0U2VnbWVudDsKLSAgICAgICAgICAgICAgICB2YXIgbWVk
aWFTZWdtZW50ID0gc2VnbWVudEhlbHBlci5tZWRpYVNlZ21lbnRzWzBdOwotCi0gICAgICAgICAg
ICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIgPSBtZWRpYVNvdXJjZS5hZGRTb3VyY2VC
dWZmZXIoZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKLQotICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiVGVzdCBhIHN1Y2Nlc3NmdWwgYXBwZW5kLiIpOwotICAgICAgICAgICAgICAgIHNlZ21l
bnRIZWxwZXIuc291cmNlQnVmZmVyLmFwcGVuZChpbml0U2VnbWVudCk7Ci0KLSAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYXBwZW5kIHdpdGggYSBudWxsIGJ1ZmZlci4iKTsKLSAg
ICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZChudWxsLCBET01FeGNlcHRpb24u
SU5WQUxJRF9BQ0NFU1NfRVJSKTsKLQotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVz
dCBhcHBlbmQgYWZ0ZXIgZW5kZWQuIik7Ci0gICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5k
T2ZTdHJlYW0oKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZChpbml0
U2VnbWVudCwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKTsKLQotICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmQgYWZ0ZXIgYnVmZmVyIGhhcyBiZWVuIHJlbW92
ZWQuIik7Ci0gICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlU291cmNlQnVmZmVyKHNl
Z21lbnRIZWxwZXIuc291cmNlQnVmZmVyKTsKLSAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRp
b25PbkFwcGVuZChpbml0U2VnbWVudCwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKTsK
LQotICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwotICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICBmdW5jdGlvbiBvbkxvYWQoKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKLQotICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0g
bmV3IE1lZGlhU291cmNlKCk7Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRz
b3VyY2VvcGVuJywgIiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOwotCi0gICAgICAgICAg
ICAgICAgc2VnbWVudEhlbHBlci5pbml0KHZpZGVvLCBmdW5jdGlvbihzdWNjZXNzKQotICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRmFpbGVkIHRvIGxvYWQgc2VnbWVudCBkYXRhIik7
Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgICAgICAgICB0ZXN0QWRkQnVmZmVyV2hpbGVDbG9zZWQodmlkZW8pOwot
Ci0gICAgICAgICAgICAgICAgICAgIHZhciB0ZXN0Q2FzZXMgPSBbCi0gICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0QWRkQnVmZmVyRmFpbHVyZUNhc2VzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdFJlbW92ZU51bGxCdWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UmVt
b3ZlQWdhaW4sCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UmVtb3ZlQnVmZmVyQWZ0ZXJF
bmRlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RBZGRCdWZmZXJBZnRlclJlbW92aW5n
LAotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEFwcGVuZEZhaWx1cmVDYXNlcywKLSAgICAg
ICAgICAgICAgICAgICAgXTsKLQotICAgICAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3Qu
c3RhcnRTb3VyY2VPcGVuVGVzdGluZyh2aWRlbywgdGVzdENhc2VzKTsKLSAgICAgICAgICAgICAg
ICB9KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9oZWFkPgotICAg
IDxib2R5IG9ubG9hZD0ib25Mb2FkKCkiPgotICAgICAgICA8dmlkZW8+IDwvdmlkZW8+Ci0gICAg
ICAgIDxwPlRlc3RzIHdlYmtpdFNvdXJjZUFkZElkKCkgJmFtcDsgd2Via2l0U291cmNlUmVtb3Zl
SWQoKSBtZXRob2RzPC9wPgotICAgIDwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1h
ZGQtYW5kLXJlbW92ZS1pZHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzA4NTkxMWE4ZjU3Y2JkMTQxZWY3OGRmZmZjNTZiZWE1
ODgyNmQ2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNjQgQEAKK1Rlc3RzIHdlYmtpdFNvdXJjZUFkZElkKCkgJiB3ZWJr
aXRTb3VyY2VSZW1vdmVJZCgpIG1ldGhvZHMKKworVGVzdCBhZGRpbmcgYW4gSUQgd2hpbGUgY2xv
c2VkLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERP
TSBFeGNlcHRpb24gMTEKKworcnVubmluZyB0ZXN0QWRkSWRGYWlsdXJlQ2FzZXMKK0VWRU5UKGxv
YWRzdGFydCkKK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCitUZXN0IGVtcHR5IElEIGNhc2UKK0dv
dCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2Vw
dGlvbiAxNQorVGVzdCBhZGRpbmcgdGhlIHNhbWUgSUQgYWdhaW4uCitHb3QgZXhwZWN0ZWQgZXhj
ZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQorVGVzdCBl
bXB0eSB0eXBlLgorR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9BQ0NFU1Nf
RVJSOiBET00gRXhjZXB0aW9uIDE1CitUZXN0IGFuIHVuc3VwcG9ydGVkIHR5cGUuCitHb3QgZXhw
ZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5
CitUZXN0IGEgc3VwcG9ydGVkIHR5cGUgd2l0aCBhbiB1bnN1cHBvcnRlZCBjb2RlYy4KK0dvdCBl
eHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9u
IDkKK1Rlc3QgcmVhY2hpbmcgc291cmNlSUQgbGltaXQuCitUZXN0IHRoYXQgU291cmNlSURzIGNh
bid0IGJlIGFkZGVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4KK0dvdCBleHBlY3RlZCBleGNl
cHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExCisKK3J1bm5p
bmcgdGVzdFJlbW92ZUVtcHR5SWQKK0VWRU5UKGxvYWRzdGFydCkKK0VWRU5UKHdlYmtpdHNvdXJj
ZW9wZW4pCitUZXN0IGVtcHR5IElEIGNhc2UKK0dvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6
IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQorCitydW5uaW5nIHRlc3RSZW1v
dmVOb25leGlzdGVudElkCitFVkVOVChsb2Fkc3RhcnQpCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVu
KQorVGVzdCByZW1vdmluZyBhbiBJRCB0aGF0IHdhcyBuZXZlciBhZGRlZC4KK0dvdCBleHBlY3Rl
ZCBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIKKworcnVubmlu
ZyB0ZXN0UmVtb3ZlQWdhaW4KK0VWRU5UKGxvYWRzdGFydCkKK0VWRU5UKHdlYmtpdHNvdXJjZW9w
ZW4pCitUZXN0IHJlbW92aW5nIGFuIElEIHRoYXQgd2FzIGFscmVhZHkgcmVtb3ZlZC4KK0dvdCBl
eHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIKKwor
cnVubmluZyB0ZXN0UmVtb3ZlSWRBZnRlckVuZGVkCitFVkVOVChsb2Fkc3RhcnQpCitFVkVOVCh3
ZWJraXRzb3VyY2VvcGVuKQorVGVzdCB0aGF0IGFuIElEIGNhbiBiZSByZW1vdmVkIHdoaWxlIGlu
IHRoZSBlbmRlZCBzdGF0ZS4KKworcnVubmluZyB0ZXN0QWRkSWRBZnRlclJlbW92aW5nCitFVkVO
VChsb2Fkc3RhcnQpCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKQorVGVzdCB0aGF0IGFuIElEIGNh
biBiZSBhZGRlZCBhZ2FpbiBhZnRlciBpdCBpcyByZW1vdmVkLgorVW5leHBlY3RlZCBleGNlcHRp
b246IEVycm9yOiBRVU9UQV9FWENFRURFRF9FUlI6IERPTSBFeGNlcHRpb24gMjIKKworcnVubmlu
ZyB0ZXN0QXBwZW5kRmFpbHVyZUNhc2VzCitFVkVOVChsb2Fkc3RhcnQpCitFVkVOVCh3ZWJraXRz
b3VyY2VvcGVuKQorVGVzdCBhcHBlbmQgd2l0aCBlbXB0eSBJRC4KK0dvdCBleHBlY3RlZCBleGNl
cHRpb24gRXJyb3I6IElOVkFMSURfQUNDRVNTX0VSUjogRE9NIEV4Y2VwdGlvbiAxNQorVGVzdCBh
cHBlbmQgd2l0aCBhbiBpbnZhbGlkIElECitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBT
WU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyCitUZXN0IGFwcGVuZCB3aXRoIGEgbnVsbCBidWZm
ZXIuCitHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX0FDQ0VTU19FUlI6IERP
TSBFeGNlcHRpb24gMTUKK1Rlc3QgYSBzdWNjZXNzZnVsIGFwcGVuZC4KK0dvdCBleHBlY3RlZCBl
eGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIKK0VORCBPRiBURVNU
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5k
LXJlbW92ZS1pZHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjM3OWY1Y2E3MWY3YjU4MDZmZGU0OWY2NzYx
YmYwOTYyZWFhM2U2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy5o
dG1sCkBAIC0wLDAgKzEsMjIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhLXJlc291cmNlcy92aWRlby10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS9yZXNvdXJjZXMvbWVkaWEtc291
cmNlL3dlYm0vc2VnbWVudC1pbmZvLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Im1lZGlhLXNvdXJjZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAg
ICB2YXIgc2VnbWVudEhlbHBlciA9IG5ldyBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlcihX
ZWJNU2VnbWVudEluZm8udGVzdFdlYk0pOworICAgICAgICAgICAgdmFyIGRlZmF1bHRTb3VyY2VN
aW1ldHlwZSA9IHNlZ21lbnRIZWxwZXIuc2VnbWVudEluZm8udHlwZTsKKworICAgICAgICAgICAg
ZnVuY3Rpb24gZXhwZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRlb1RhZywgaWQsIHR5cGUsIGVycm9y
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
ICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKGlkLCB0eXBlKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmFpbFRlc3QoIkV4cGVjdGVkIGFuIGV4Y2VwdGlvbiIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCEoZS5jb2RlID09IGVycm9y
KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0
aW9uICIgKyBlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGU7CisgICAgICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJHb3QgZXhwZWN0
ZWQgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGZ1bmN0aW9uIGV4cGVjdEV4Y2VwdGlvbk9uUmVtb3ZlSWQodmlkZW9UYWcs
IGlkLCBlcnJvcikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VSZW1vdmVJZChpZCk7CisgICAgICAg
ICAgICAgICAgICAgIGZhaWxUZXN0KCJFeHBlY3RlZCBhbiBleGNlcHRpb24iKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghKGUuY29kZSA9
PSBlcnJvcikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVk
IGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlOworICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiR290
IGV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBleHBlY3RFeGNlcHRpb25PbkFwcGVuZCh2aWRl
b1RhZywgaWQsIGJ1ZiwgZXJyb3IpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKGlkLCBi
dWYpOworICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiRXhwZWN0ZWQgYW4gZXhjZXB0aW9u
Iik7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICAgICAgICBp
ZiAoIShlLmNvZGUgPT0gZXJyb3IpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVz
dCgiVW5leHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAgICAgICAgICAgICAg
dGhyb3cgZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIkdvdCBleHBlY3RlZCBleGNlcHRpb24gIiArIGUpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFkZElkV2hpbGVD
bG9zZWQodmlkZW9UYWcpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJUZXN0IGFkZGluZyBhbiBJRCB3aGlsZSBjbG9zZWQuIik7CisgICAgICAgICAgICAgICAg
ZXhwZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRlb1RhZywgIjEyMyIsIGRlZmF1bHRTb3VyY2VNaW1l
dHlwZSwgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFkZElkRmFpbHVyZUNhc2VzKHJ1bk5leHRUZXN0Q2Fz
ZSwgdmlkZW9UYWcpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJUZXN0IGVtcHR5IElEIGNhc2UiKTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNlcHRpb25P
bkFkZElkKHZpZGVvVGFnLCAiIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlLCBET01FeGNlcHRpb24u
SU5WQUxJRF9BQ0NFU1NfRVJSKTsKKworICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNv
dXJjZUFkZElkKCIxMjMiLCBkZWZhdWx0U291cmNlTWltZXR5cGUpOworCisgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJUZXN0IGFkZGluZyB0aGUgc2FtZSBJRCBhZ2Fpbi4iKTsKKyAgICAg
ICAgICAgICAgICBleHBlY3RFeGNlcHRpb25PbkFkZElkKHZpZGVvVGFnLCAiMTIzIiwgZGVmYXVs
dFNvdXJjZU1pbWV0eXBlLCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpOworICAgICAg
ICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZVJlbW92ZUlkKCIxMjMiKTsKKworICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBlbXB0eSB0eXBlLiIpOworICAgICAgICAgICAg
ICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcsICIyMzQiLCAiIiwgRE9NRXhjZXB0
aW9uLklOVkFMSURfQUNDRVNTX0VSUik7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
IlRlc3QgYW4gdW5zdXBwb3J0ZWQgdHlwZS4iKTsKKyAgICAgICAgICAgICAgICBleHBlY3RFeGNl
cHRpb25PbkFkZElkKHZpZGVvVGFnLCAiMjM0IiwgImF1ZGlvL3gtdW5zdXBwb3J0ZWQtZm9ybWF0
IiwgRE9NRXhjZXB0aW9uLk5PVF9TVVBQT1JURURfRVJSKTsKKworICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiVGVzdCBhIHN1cHBvcnRlZCB0eXBlIHdpdGggYW4gdW5zdXBwb3J0ZWQgY29k
ZWMuIik7CisgICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BZGRJZCh2aWRlb1RhZywg
IjIzNCIsICJ2aWRlby93ZWJtOyBjb2RlY3M9XCJ2cDgsIHNwZWV4XCIiLCBET01FeGNlcHRpb24u
Tk9UX1NVUFBPUlRFRF9FUlIpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0
IHJlYWNoaW5nIHNvdXJjZUlEIGxpbWl0LiIpOworICAgICAgICAgICAgICAgIHZhciByZWFjaGVk
SWRMaW1pdCA9IGZhbHNlOworCisgICAgICAgICAgICAgICAgLy8gVGhlIDIwIGhlcmUgaXMgYW4g
YXJiaXRyYXJ5IHVwcGVyIGxpbWl0IHRvIG1ha2Ugc3VyZSB0aGUgdGVzdCB0ZXJtaW5hdGVzLiBU
aGlzIHRlc3QKKyAgICAgICAgICAgICAgICAvLyBhc3N1bWVzIHRoYXQgaW1wbGVtZW50YXRpb25z
IHdvbid0IHN1cHBvcnQgbW9yZSB0aGFuIDIwIHNvdXJjZUlEJ3Mgc2ltdWx0YW5lb3VzbHkuCisg
ICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAyMDsgKytpKSB7CisgICAgICAgICAg
ICAgICAgICAgIHZhciBzb3VyY2VJRCA9ICJzb3VyY2VJRC0iICsgaTsKKyAgICAgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJj
ZUFkZElkKHNvdXJjZUlELCBkZWZhdWx0U291cmNlTWltZXR5cGUpOworICAgICAgICAgICAgICAg
ICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmNvZGUgIT0g
RE9NRXhjZXB0aW9uLlFVT1RBX0VYQ0VFREVEX0VSUikgeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGhyb3cgZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgICAgICAgIHJlYWNoZWRJZExpbWl0ID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFyZWFjaGVkSWRMaW1pdCkgeworICAgICAgICAg
ICAgICAgICAgICBmYWlsVGVzdCgiRmFpbGVkIHRvIHJlYWNoIFNvdXJjZUlEIGxpbWl0LiIpOwor
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHRoYXQgU291cmNlSURzIGNhbid0IGJlIGFkZGVk
IHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4iKTsKKyAgICAgICAgICAgICAgICB2aWRlb1RhZy53
ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSh2aWRlb1RhZy5FT1NfTk9fRVJST1IpOworICAgICAgICAg
ICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQWRkSWQodmlkZW9UYWcsICIxMjMiLCBkZWZhdWx0U291
cmNlTWltZXR5cGUsIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUik7CisKKyAgICAgICAg
ICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
ZnVuY3Rpb24gdGVzdFJlbW92ZUVtcHR5SWQocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgZW1wdHkgSUQg
Y2FzZSIpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uUmVtb3ZlSWQodmlkZW9U
YWcsICIiLCBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKKworICAgICAgICAgICAg
ICAgIHJ1bk5leHRUZXN0Q2FzZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5j
dGlvbiB0ZXN0UmVtb3ZlTm9uZXhpc3RlbnRJZChydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCByZW1vdmlu
ZyBhbiBJRCB0aGF0IHdhcyBuZXZlciBhZGRlZC4iKTsKKyAgICAgICAgICAgICAgICBleHBlY3RF
eGNlcHRpb25PblJlbW92ZUlkKHZpZGVvVGFnLCAiMzQ1IiwgRE9NRXhjZXB0aW9uLlNZTlRBWF9F
UlIpOworCisgICAgICAgICAgICAgICAgcnVuTmV4dFRlc3RDYXNlKCk7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZW1vdmVBZ2FpbihydW5OZXh0VGVzdENhc2Us
IHZpZGVvVGFnKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
VGVzdCByZW1vdmluZyBhbiBJRCB0aGF0IHdhcyBhbHJlYWR5IHJlbW92ZWQuIik7CisgICAgICAg
ICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQoIjEyMyIsIGRlZmF1bHRTb3VyY2VN
aW1ldHlwZSk7CisgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlUmVtb3ZlSWQo
IjEyMyIpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uUmVtb3ZlSWQodmlkZW9U
YWcsICIxMjMiLCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisKKyAgICAgICAgICAgICAgICBy
dW5OZXh0VGVzdENhc2UoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24g
dGVzdFJlbW92ZUlkQWZ0ZXJFbmRlZChydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB0aGF0IGFuIElEIGNh
biBiZSByZW1vdmVkIHdoaWxlIGluIHRoZSBlbmRlZCBzdGF0ZS4iKTsKKyAgICAgICAgICAgICAg
ICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZCgiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBl
KTsKKyAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSh2aWRl
b1RhZy5FT1NfTk9fRVJST1IpOworICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJj
ZVJlbW92ZUlkKCIxMjMiKTsKKworICAgICAgICAgICAgICAgIHJ1bk5leHRUZXN0Q2FzZSgpOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QWRkSWRBZnRlclJlbW92
aW5nKHJ1bk5leHRUZXN0Q2FzZSwgdmlkZW9UYWcpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHRoYXQgYW4gSUQgY2FuIGJlIGFkZGVkIGFnYWluIGFm
dGVyIGl0IGlzIHJlbW92ZWQuIik7CisgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291
cmNlQWRkSWQoIjEyMyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7CisgICAgICAgICAgICAgICAg
dmlkZW9UYWcud2Via2l0U291cmNlUmVtb3ZlSWQoIjEyMyIpOworCisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWRkSWQoIjEy
MyIsIGRlZmF1bHRTb3VyY2VNaW1ldHlwZSk7CisgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkg
eworICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlVuZXhwZWN0ZWQgZXhjZXB0aW9u
OiAiICsgZSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcnVuTmV4dFRl
c3RDYXNlKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBcHBl
bmRGYWlsdXJlQ2FzZXMocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICB2YXIgaW5pdFNlZ21lbnQgPSBzZWdtZW50SGVscGVyLmluaXRTZWdt
ZW50OworICAgICAgICAgICAgICAgIHZhciBtZWRpYVNlZ21lbnQgPSBzZWdtZW50SGVscGVyLm1l
ZGlhU2VnbWVudHNbMF07CisKKyAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VB
ZGRJZCgiMTIzIiwgZGVmYXVsdFNvdXJjZU1pbWV0eXBlKTsKKworICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiVGVzdCBhcHBlbmQgd2l0aCBlbXB0eSBJRC4iKTsKKyAgICAgICAgICAgICAg
ICBleHBlY3RFeGNlcHRpb25PbkFwcGVuZCh2aWRlb1RhZywgIiIsIGluaXRTZWdtZW50LCBET01F
eGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiVGVzdCBhcHBlbmQgd2l0aCBhbiBpbnZhbGlkIElEIik7CisgICAgICAgICAgICAgICAg
ZXhwZWN0RXhjZXB0aW9uT25BcHBlbmQodmlkZW9UYWcsICIyMzQiLCBpbml0U2VnbWVudCwgRE9N
RXhjZXB0aW9uLlNZTlRBWF9FUlIpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJU
ZXN0IGFwcGVuZCB3aXRoIGEgbnVsbCBidWZmZXIuIik7CisgICAgICAgICAgICAgICAgZXhwZWN0
RXhjZXB0aW9uT25BcHBlbmQodmlkZW9UYWcsICIxMjMiLCBudWxsLCBET01FeGNlcHRpb24uSU5W
QUxJRF9BQ0NFU1NfRVJSKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBh
IHN1Y2Nlc3NmdWwgYXBwZW5kLiIpOworICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNv
dXJjZUFwcGVuZCgiMTIzIiwgaW5pdFNlZ21lbnQpOworCisgICAgICAgICAgICAgICAgdmlkZW9U
YWcud2Via2l0U291cmNlUmVtb3ZlSWQoIjEyMyIpOworICAgICAgICAgICAgICAgIGV4cGVjdEV4
Y2VwdGlvbk9uQXBwZW5kKHZpZGVvVGFnLCAiMTIzIiwgbWVkaWFTZWdtZW50LCBET01FeGNlcHRp
b24uU1lOVEFYX0VSUik7CisKKyAgICAgICAgICAgICAgICBydW5OZXh0VGVzdENhc2UoKTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gb25Mb2FkKCkKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisKKyAgICAgICAgICAgICAg
ICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcpOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVu
dCgnd2Via2l0c291cmNlb3BlbicpOworCisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5p
bml0KHZpZGVvLCBmdW5jdGlvbihzdWNjZXNzKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWls
VGVzdCgiRmFpbGVkIHRvIGxvYWQgc2VnbWVudCBkYXRhIik7CisgICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAg
ICB0ZXN0QWRkSWRXaGlsZUNsb3NlZCh2aWRlbyk7CisKKyAgICAgICAgICAgICAgICAgICAgdmFy
IHRlc3RDYXNlcyA9IFsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RBZGRJZEZhaWx1cmVD
YXNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSZW1vdmVFbXB0eUlkLAorICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdFJlbW92ZU5vbmV4aXN0ZW50SWQsCisgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0UmVtb3ZlQWdhaW4sCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
UmVtb3ZlSWRBZnRlckVuZGVkLAorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEFkZElkQWZ0
ZXJSZW1vdmluZywKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RBcHBlbmRGYWlsdXJlQ2Fz
ZXMsCisgICAgICAgICAgICAgICAgICAgIF07CisKKyAgICAgICAgICAgICAgICAgICAgTWVkaWFT
b3VyY2VUZXN0LnN0YXJ0U291cmNlT3BlblRlc3RpbmcodmlkZW8sIHRlc3RDYXNlcyk7CisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwv
aGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9Im9uTG9hZCgpIj4KKyAgICAgICAgPHZpZGVvPiA8L3Zp
ZGVvPgorICAgICAgICA8cD5UZXN0cyB3ZWJraXRTb3VyY2VBZGRJZCgpICZhbXA7IHdlYmtpdFNv
dXJjZVJlbW92ZUlkKCkgbWV0aG9kczwvcD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2UtZXJyb3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDJlNmIzNDBmNTgxNDI1Y2FmOThlODk1NDVkZDI4NmYyMWRhMmViY2IuLjU1ZjIwYmIxYzc4
YmM5Mzg0NTAyZjhhNjU0MzAwMGMxZWM4NTdiZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMtZXhwZWN0ZWQudHh0CkBAIC0yLDM2ICsyLDQxIEBA
IFRlc3RzIGVycm9yIGNhc2VzIHdpdGggTWVkaWFTb3VyY2UgQVBJCiAKIAogcnVubmluZyBkaWRO
b3RTZW5kSW5pdFNlZ21lbnRGaXJzdAorRVZFTlQobG9hZHN0YXJ0KQogRVZFTlQod2Via2l0c291
cmNlb3BlbikKIFRlc3QgYXBwZW5kaW5nIGEgbWVkaWEgc2VnbWVudCBiZWZvcmUgc2VuZGluZyB0
aGUgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4KIEVWRU5UKGVycm9yKSA6IE1FRElBX0VSUl9TUkNf
Tk9UX1NVUFBPUlRFRAogCiBydW5uaW5nIGltbWVkaWF0ZURlY29kZUVycm9yVmlhRW5kT2ZTdHJl
YW0KIEVWRU5UKGVtcHRpZWQpCitFVkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJraXRzb3VyY2Vv
cGVuKQotVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggTWVkaWFTb3VyY2UuZW5k
T2ZTdHJlYW0uCitUZXN0IHNpZ25hbGxpbmcgYSBkZWNvZGUgZXJyb3Igd2l0aCB3ZWJraXRTb3Vy
Y2VFbmRPZlN0cmVhbS4KIEVWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKQogRVZFTlQoZXJyb3IpIDog
TUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVECiAKIHJ1bm5pbmcgaW1tZWRpYXRlTmV0d29ya0Vy
cm9yVmlhRW5kT2ZTdHJlYW0KIEVWRU5UKGVtcHRpZWQpCitFVkVOVChsb2Fkc3RhcnQpCiBFVkVO
VCh3ZWJraXRzb3VyY2VvcGVuKQotVGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRo
IE1lZGlhU291cmNlLmVuZE9mU3RyZWFtLgorVGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJv
ciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtLgogRVZFTlQod2Via2l0c291cmNlZW5kZWQp
CiBFVkVOVChlcnJvcikgOiBNRURJQV9FUlJfU1JDX05PVF9TVVBQT1JURUQKIAogcnVubmluZyBk
ZWNvZGVFcnJvckFmdGVySGF2ZU1ldGFkYXRhCiBFVkVOVChlbXB0aWVkKQorRVZFTlQobG9hZHN0
YXJ0KQogRVZFTlQod2Via2l0c291cmNlb3BlbikKLVRlc3Qgc2lnbmFsbGluZyBhIGRlY29kZSBl
cnJvciB3aXRoIE1lZGlhU291cmNlLmVuZE9mU3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQg
ZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01FVEFEQVRBIHN0YXRlLgorVGVzdCBzaWdu
YWxsaW5nIGEgZGVjb2RlIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0gYWZ0ZXIg
d2UgaGF2ZSBhcHBlbmRlZCBlbm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEg
c3RhdGUuCiBFVkVOVChsb2FkZWRtZXRhZGF0YSkKIEVWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKQog
RVZFTlQoZXJyb3IpIDogTUVESUFfRVJSX0RFQ09ERQogCiBydW5uaW5nIG5ldHdvcmtFcnJvckFm
dGVySGF2ZU1ldGFkYXRhCiBFVkVOVChlbXB0aWVkKQorRVZFTlQobG9hZHN0YXJ0KQogRVZFTlQo
d2Via2l0c291cmNlb3BlbikKLVRlc3Qgc2lnbmFsbGluZyBhIG5ldHdvcmsgZXJyb3Igd2l0aCBN
ZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSBhZnRlciB3ZSBoYXZlIGFwcGVuZGVkIGVub3VnaCBkYXRh
IHRvIGdldCB0byB0aGUgSEFWRV9NRVRBREFUQSBzdGF0ZS4KK1Rlc3Qgc2lnbmFsbGluZyBhIG5l
dHdvcmsgZXJyb3Igd2l0aCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVhbSBhZnRlciB3ZSBoYXZlIGFw
cGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0byB0aGUgSEFWRV9NRVRBREFUQSBzdGF0ZS4KIEVW
RU5UKGxvYWRlZG1ldGFkYXRhKQogRVZFTlQod2Via2l0c291cmNlZW5kZWQpCiBFVkVOVChlcnJv
cikgOiBNRURJQV9FUlJfTkVUV09SSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNl
LWVycm9ycy5odG1sCmluZGV4IDA5YWFlNTc2MjgyODJkY2U2NmY3OTFjNzg1ZGIwMjA0NGQyYTUx
YjcuLmZlOWNlYWFiNTRlYWMwMjkyYWE5M2VlMDU4ZTVmYmJiYzkyMDBlZGQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNv
dXJjZS1lcnJvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLmh0bWwKQEAgLTIzLDQ2ICsyMyw0NiBA
QAogICAgICAgICAgICAgZnVuY3Rpb24gZGlkTm90U2VuZEluaXRTZWdtZW50Rmlyc3QocnVuTmV4
dFRlc3RDYXNlLCB2aWRlb1RhZykKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIlRlc3QgYXBwZW5kaW5nIGEgbWVkaWEgc2VnbWVudCBiZWZvcmUgc2VuZGluZyB0
aGUgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4iKTsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVs
cGVyLmFkZFNvdXJjZUJ1ZmZlcigpOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRk
U291cmNlSWQoKTsKICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZE1lZGlhU2Vn
bWVudCgwKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gaW1tZWRpYXRl
RGVjb2RlRXJyb3JWaWFFbmRPZlN0cmVhbShydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgc2lnbmFsbGlu
ZyBhIGRlY29kZSBlcnJvciB3aXRoIE1lZGlhU291cmNlLmVuZE9mU3RyZWFtLiIpOwotICAgICAg
ICAgICAgICAgICBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKLSAgICAgICAgICAgICAgICAg
bWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oImRlY29kZSIpOworICAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIlRlc3Qgc2lnbmFsbGluZyBhIGRlY29kZSBlcnJvciB3aXRoIHdlYmtpdFNvdXJj
ZUVuZE9mU3RyZWFtLiIpOworICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50
YXJnZXQ7CisgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFt
KEhUTUxNZWRpYUVsZW1lbnQuRU9TX0RFQ09ERV9FUlIpOwogICAgICAgICAgICAgfQogCiAgICAg
ICAgICAgICBmdW5jdGlvbiBpbW1lZGlhdGVOZXR3b3JrRXJyb3JWaWFFbmRPZlN0cmVhbShydW5O
ZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRoIE1lZGlhU291
cmNlLmVuZE9mU3RyZWFtLiIpOwotICAgICAgICAgICAgICAgIG1lZGlhU291cmNlID0gZXZlbnQu
dGFyZ2V0OwotICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCJuZXR3b3Jr
Iik7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHNpZ25hbGxpbmcgYSBuZXR3
b3JrIGVycm9yIHdpdGggd2Via2l0U291cmNlRW5kT2ZTdHJlYW0uIik7CisgICAgICAgICAgICAg
ICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIHZpZGVvVGFn
LndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9TX05FVFdPUktfRVJS
KTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gZGVjb2RlRXJyb3JBZnRl
ckhhdmVNZXRhZGF0YShydW5OZXh0VGVzdENhc2UsIHZpZGVvVGFnKQogICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgZGVjb2RlIGVy
cm9yIHdpdGggTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0gYWZ0ZXIgd2UgaGF2ZSBhcHBlbmRlZCBl
bm91Z2ggZGF0YSB0byBnZXQgdG8gdGhlIEhBVkVfTUVUQURBVEEgc3RhdGUuIik7Ci0gICAgICAg
ICAgICAgICAgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgc2Vn
bWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIlRlc3Qgc2lnbmFsbGluZyBhIGRlY29kZSBlcnJvciB3aXRoIHdlYmtpdFNvdXJjZUVuZE9m
U3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRhdGEgdG8gZ2V0IHRvIHRoZSBI
QVZFX01FVEFEQVRBIHN0YXRlLiIpOworICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2
ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7
CiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRJbml0U2VnbWVudCgpOwogCiAg
ICAgICAgICAgICAgICAgYXBwZW5kVW50aWxNZXRhZGF0YUxvYWRlZCh2aWRlb1RhZywgZnVuY3Rp
b24oKQogICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2Uu
ZW5kT2ZTdHJlYW0oImRlY29kZSIpOworICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJr
aXRTb3VyY2VFbmRPZlN0cmVhbShIVE1MTWVkaWFFbGVtZW50LkVPU19ERUNPREVfRVJSKTsKICAg
ICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24g
bmV0d29ya0Vycm9yQWZ0ZXJIYXZlTWV0YWRhdGEocnVuTmV4dFRlc3RDYXNlLCB2aWRlb1RhZykK
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgc2lnbmFs
bGluZyBhIG5ldHdvcmsgZXJyb3Igd2l0aCBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSBhZnRlciB3
ZSBoYXZlIGFwcGVuZGVkIGVub3VnaCBkYXRhIHRvIGdldCB0byB0aGUgSEFWRV9NRVRBREFUQSBz
dGF0ZS4iKTsKLSAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsKLSAg
ICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOworICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBzaWduYWxsaW5nIGEgbmV0d29yayBlcnJvciB3aXRo
IHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtIGFmdGVyIHdlIGhhdmUgYXBwZW5kZWQgZW5vdWdoIGRh
dGEgdG8gZ2V0IHRvIHRoZSBIQVZFX01FVEFEQVRBIHN0YXRlLiIpOworICAgICAgICAgICAgICAg
IHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVs
cGVyLmFkZFNvdXJjZUlkKCk7CiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRJ
bml0U2VnbWVudCgpOwogICAgICAgICAgICAgICAgIGFwcGVuZFVudGlsTWV0YWRhdGFMb2FkZWQo
dmlkZW9UYWcsIGZ1bmN0aW9uKCkKICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCJuZXR3b3JrIik7CisgICAgICAgICAgICAgICAg
ICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9T
X05FVFdPUktfRVJSKTsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0KIApAQCAt
NzAsMTAgKzcwLDExIEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgZmluZE1lZGlh
RWxlbWVudCgpOwogCisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnKTsK
ICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRlZG1ldGFkYXRhJyk7Ci0gICAgICAg
ICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJywgIiIsIGZhbHNlLCBmYWxz
ZSwgbWVkaWFTb3VyY2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJyk7CiAgICAgICAgICAgICAgICAgd2Fp
dEZvckV2ZW50KCdwbGF5aW5nJyk7Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJr
aXRzb3VyY2VlbmRlZCcsICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlhU291cmNlKTsKKyAgICAgICAg
ICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVuZGVkJyk7CiAgICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCdlbmRlZCcpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgn
ZW1wdGllZCcpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKaW5kZXggZTI3ZmFkOTI1ZDJj
MjA2ZTY3MjVlZjk5Y2YwOTk4ZDVhOWY0Mjc5MS4uMWU3ODc1YzIxNTE1MGU5MDgzYTc0NWJjOTVk
NGM5ZDZhMzcyMTQ2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtMiw3ICsyLDcg
QEAgVGVzdCBNZWRpYSBTb3VyY2UgZXZlbnQgaGFuZGxlciBhdHRyaWJ1dGVzCiAKIG9uTG9hZCgp
CiBvblNvdXJjZU9wZW4oKQotQ2FsbGluZyBNZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSB0byB0cmln
Z2VyIGEgd2Via2l0c291cmNlZW5kZWQgZXZlbnQuCitDYWxsaW5nIHdlYmtpdFNvdXJjZUVuZE9m
U3RyZWFtIHRvIHRyaWdnZXIgYSB3ZWJraXRzb3VyY2VlbmRlZCBldmVudC4KIG9uU291cmNlRW5k
ZWQoKQogU2V0dGluZyBzcmMgYXR0cmlidXRlIHRvICIiIHRvIHRyaWdnZXIgYSB3ZWJraXRzb3Vy
Y2VjbG9zZWQgZXZlbnQuCiBvblNvdXJjZUNsb3NlKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1h
dHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS92aWRlby1tZWRpYS1zb3VyY2UtZXZlbnQtYXR0cmlidXRlcy5odG1sCmluZGV4IDUyYzBhYzlj
NjM1ZDJlMTkzOTNkZWEyYTgzNjQ4MTRkMWFiNjQyOTIuLmZmMmY3Yzg4YjBmYzkyZTkyN2U4Yzdm
ZThkY2UxNzc4MjVmZGFkZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1ldmVudC1hdHRyaWJ1dGVzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLWV2ZW50LWF0dHJpYnV0ZXMuaHRtbApAQCAtMywyNiArMywyMiBAQAogICAgPGhl
YWQ+CiAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS1yZXNvdXJjZXMvdmlkZW8tdGVzdC5qcyI+
PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotCi0gICAg
ICAgICAgIHZhciB2aWRlbyA9IG51bGw7Ci0gICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IG51
bGw7Ci0KLSAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VPcGVuKCkKKyAgICAgICAgICAgZnVu
Y3Rpb24gb25Tb3VyY2VPcGVuKHZpZGVvKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIm9uU291cmNlT3BlbigpIik7Ci0gICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIkNhbGxpbmcgTWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0gdG8gdHJpZ2dlciBhIHdlYmtpdHNv
dXJjZWVuZGVkIGV2ZW50LiIpOwotICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJl
YW0oKTsKKworICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJDYWxsaW5nIHdlYmtpdFNvdXJj
ZUVuZE9mU3RyZWFtIHRvIHRyaWdnZXIgYSB3ZWJraXRzb3VyY2VlbmRlZCBldmVudC4iKTsKKyAg
ICAgICAgICAgICAgIHZpZGVvLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1l
bnQuRU9TX05PX0VSUk9SKTsKICAgICAgICAgICAgfQogCi0gICAgICAgICAgIGZ1bmN0aW9uIG9u
U291cmNlRW5kZWQoKQorICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZUVuZGVkKHZpZGVvKQog
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uU291cmNlRW5kZWQo
KSIpOwogICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJTZXR0aW5nIHNyYyBhdHRyaWJ1dGUg
dG8gXCJcIiB0byB0cmlnZ2VyIGEgd2Via2l0c291cmNlY2xvc2VkIGV2ZW50LiIpOwogICAgICAg
ICAgICAgICAgdmlkZW8uc3JjID0gIiI7Ci0gICAgICAgICAgICAgICBlbmRUZXN0KCk7CiAgICAg
ICAgICAgIH0KIAotICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZUNsb3NlKCkKKyAgICAgICAg
ICAgZnVuY3Rpb24gb25Tb3VyY2VDbG9zZSh2aWRlbykKICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJvblNvdXJjZUNsb3NlKCkiKTsKICAgICAgICAgICAgICAgIGVu
ZFRlc3QoKTsKQEAgLTMxLDE3ICsyNywxMyBAQAogICAgICAgICAgICBmdW5jdGlvbiBvbkxvYWQo
ZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJvbkxvYWQoKSIp
OwotICAgICAgICAgICAgICAgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndicpOwot
ICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UgPSBuZXcgTWVkaWFTb3VyY2UoKTsKLSAgICAgICAg
ICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBv
blNvdXJjZU9wZW4pOwotICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5l
cignd2Via2l0c291cmNlZW5kZWQnLCBvblNvdXJjZUVuZGVkKTsKLSAgICAgICAgICAgICAgIG1l
ZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25Tb3VyY2VD
bG9zZSk7Ci0gICAgICAgICAgICAgICB2aWRlby5zcmMgPSB3ZWJraXRVUkwuY3JlYXRlT2JqZWN0
VVJMKG1lZGlhU291cmNlKTsKKyAgICAgICAgICAgICAgIHZhciB2aWRlbyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd2Jyk7CisgICAgICAgICAgICAgICB2aWRlby5zcmMgPSB2aWRlby53ZWJr
aXRNZWRpYVNvdXJjZVVSTDsKICAgICAgICAgICAgfQogICAgICAgIDwvc2NyaXB0PgogICAgPC9o
ZWFkPgogICAgPGJvZHkgb25sb2FkPSJvbkxvYWQoKSI+CiAgICAgICAgPHA+VGVzdCBNZWRpYSBT
b3VyY2UgZXZlbnQgaGFuZGxlciBhdHRyaWJ1dGVzPC9wPgotICAgICAgIDx2aWRlbyBpZD0ndic+
PC92aWRlbz4KKyAgICAgICA8dmlkZW8gaWQ9J3YnIG9ud2Via2l0c291cmNlb3Blbj0nb25Tb3Vy
Y2VPcGVuKHRoaXMpJyBvbndlYmtpdHNvdXJjZWVuZGVkPSdvblNvdXJjZUVuZGVkKHRoaXMpOycg
b253ZWJraXRzb3VyY2VjbG9zZT0nb25Tb3VyY2VDbG9zZSh0aGlzKTsnPjwvdmlkZW8+CiAgICA8
L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Ut
cGxheS1leHBlY3RlZC50eHQKaW5kZXggNTFhMjA1NDEyNWRmNzk1YTYyMTMwZTY4ZTQ4Nzc2ZDNj
OGQ4YzVlMi4uMTk4OGI3MmNkMmY5MThmMjRjYTgyMWRlMTkxOGIwMTM2NGViMWNhYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLXBsYXktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5LWV4cGVjdGVkLnR4dApA
QCAtMSw1ICsxLDYgQEAKIFRlc3RzIG5vcm1hbCBwbGF5YmFjayBjYXNlIHdpdGggTWVkaWFTb3Vy
Y2UgQVBJCiAKK0VWRU5UKGxvYWRzdGFydCkKIEVWRU5UKHdlYmtpdHNvdXJjZW9wZW4pCiBFVkVO
VCh3ZWJraXRzb3VyY2VlbmRlZCkKIEVWRU5UKHBsYXlpbmcpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtcGxh
eS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLXBsYXkuaHRtbAppbmRleCBkNTY3OWViNjNmNDE1ZmZmYzYwMzViMWVhMTAx
NzNlZmI3OWNkZTM3Li4zYWI4ZTQ1NmUxNzg4MWFjNTdlOGNlZjE4OWI1NTdiMzUxZGY1MGIzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRl
by1tZWRpYS1zb3VyY2UtcGxheS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWwKQEAgLTksMjkgKzks
MjggQEAKIAogICAgICAgICAgICAgZnVuY3Rpb24gb25Tb3VyY2VPcGVuKGV2ZW50KQogICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7
CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOwogICAgICAgICAg
ICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kSW5pdFNlZ21lbnQoKTsKIAogICAgICAgICAgICAg
ICAgIC8vIEFwcGVuZCBqdXN0IGVub3VnaCBzZWdtZW50cyB0byBpbmNsdWRlIGF0IGxlYXN0IDEg
c2Vjb25kIG9mIG1lZGlhIGRhdGEuCiAgICAgICAgICAgICAgICAgdmFyIGVuZEluZGV4ID0gc2Vn
bWVudEhlbHBlci5nZXRNZWRpYVNlZ21lbnRJbmRleEZvclRpbWVzdGFtcCgxKTsKICAgICAgICAg
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8PSBlbmRJbmRleDsgaSsrKQogICAgICAgICAgICAg
ICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZE1lZGlhU2VnbWVudChpKTsKLSAgICAgICAgICAg
ICAgICBldmVudC50YXJnZXQuZW5kT2ZTdHJlYW0oKTsKKyAgICAgICAgICAgICAgICBldmVudC50
YXJnZXQud2Via2l0U291cmNlRW5kT2ZTdHJlYW0oSFRNTE1lZGlhRWxlbWVudC5FT1NfTk9fRVJS
T1IpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBvbkxvYWQoKQogICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKIAotICAgICAg
ICAgICAgICAgIG1lZGlhU291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7Ci0KICAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnRBbmRGYWlsKCdlcnJvcicpOwotICAgICAgICAgICAgICAgIHdhaXRG
b3JFdmVudCgnd2Via2l0c291cmNlb3BlbicsICIiLCBmYWxzZSwgZmFsc2UsIG1lZGlhU291cmNl
KTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcpOworICAgICAgICAg
ICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0c291cmNlb3BlbicpOwogICAgICAgICAgICAgICAg
IHdhaXRGb3JFdmVudCgncGxheWluZycpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgn
d2Via2l0c291cmNlZW5kZWQnLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7CisgICAg
ICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VlbmRlZCcpOwogICAgICAgICAg
ICAgICAgIHdhaXRGb3JFdmVudEFuZEVuZCgnZW5kZWQnKTsKIAotICAgICAgICAgICAgICAgIG1l
ZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNvdXJjZU9w
ZW4pOworICAgICAgICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJj
ZW9wZW4nLCBvblNvdXJjZU9wZW4pOwogCiAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5p
bml0KHZpZGVvLCBmdW5jdGlvbihzdWNjZXNzKQogICAgICAgICAgICAgICAgIHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlh
LXNvdXJjZS1zZWVrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zZWVrLWV4cGVjdGVkLnR4dAppbmRleCA1
MzlmMjQ3ODY3MDM0ZDQyZGRiY2FhN2RmOWNkNzFjZDBjY2M2NTNlLi42MDY2MjIzZjY5ZjRjMzMy
NWFjZmQ5NTYxODc0MWNmMzk3MjMwNTMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc2Vlay1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLXNlZWstZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNiBAQAogVGVzdHMgc2Vl
a2luZyB3aXRoIE1lZGlhU291cmNlIEFQSQogCitFVkVOVChsb2Fkc3RhcnQpCiBFVkVOVCh3ZWJr
aXRzb3VyY2VvcGVuKQogRVZFTlQod2Via2l0c291cmNlZW5kZWQpCiBFVkVOVChwbGF5aW5nKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLXNlZWsuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zZWVrLmh0bWwKaW5kZXggY2NjZDUyNjA0
ZjE3MTk5ZGQ4YTY4YjJlODVkN2YzM2E0M2VjMzBjNi4uYTYwZWNiYTg2MDk5ZjUxMzQ4MmM1Mjk2
NGY3YmVlZDE2Yjk1NmY1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXNlZWsuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc2Vl
ay5odG1sCkBAIC0xNiw3ICsxNiw3IEBACiAgICAgICAgICAgICAgICAgaWYgKGZpcnN0T3Blbikg
ewogICAgICAgICAgICAgICAgICAgICBmaXJzdE9wZW4gPSBmYWxzZTsKIAotICAgICAgICAgICAg
ICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOworICAgICAgICAgICAgICAg
ICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUlkKCk7CiAgICAgICAgICAgICAgICAgICAgIHNl
Z21lbnRIZWxwZXIuYXBwZW5kSW5pdFNlZ21lbnQoKTsKICAgICAgICAgICAgICAgICAgICAgc2Vn
bWVudEhlbHBlci5hcHBlbmRVbnRpbEVuZE9mU3RyZWFtKDApOwogICAgICAgICAgICAgICAgIH0K
QEAgLTM4LDcgKzM4LDcgQEAKICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50
YXJnZXQ7CiAKICAgICAgICAgICAgICAgICAvLyBDYWxsIGFib3J0IHRvIG1ha2Ugc3VyZSB0aGUg
c291cmNlIGJ1ZmZlciBpcyBpbiBhIHN0YXRlIHdoZXJlIGl0IGNhbiBhY2NlcHQgbmV3IHNlZ21l
bnRzLgotICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyLmFib3J0KCk7
CisgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQWJvcnQoc2VnbWVudEhlbHBl
ci5Tb3VyY2VJRCk7CiAKICAgICAgICAgICAgICAgICB2YXIgc3RhcnRJbmRleCA9IHNlZ21lbnRI
ZWxwZXIuZ2V0TWVkaWFTZWdtZW50SW5kZXhGb3JUaW1lc3RhbXAodmlkZW9UYWcuY3VycmVudFRp
bWUpOwogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kVW50aWxFbmRPZlN0cmVh
bShzdGFydEluZGV4KTsKQEAgLTYxLDEzICs2MSwxNCBAQAogICAgICAgICAgICAgICAgIGZpbmRN
ZWRpYUVsZW1lbnQoKTsKIAogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoJ2Vy
cm9yJyk7Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRzb3VyY2VvcGVuJywg
IiIsIGZhbHNlLCBmYWxzZSwgbWVkaWFTb3VyY2UpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JF
dmVudCgnd2Via2l0c291cmNlZW5kZWQnLCAiIiwgZmFsc2UsIGZhbHNlLCBtZWRpYVNvdXJjZSk7
CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnKTsKKyAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZW9wZW4nKTsKKyAgICAgICAgICAgICAgICB3
YWl0Rm9yRXZlbnQoJ3dlYmtpdHNvdXJjZWVuZGVkJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZv
ckV2ZW50KCdwbGF5aW5nJyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdzZWVraW5n
Jyk7CiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50QW5kRW5kKCdlbmRlZCcpOwogCi0gICAg
ICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3Bl
bicsIG9uU291cmNlT3Blbik7CisgICAgICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5l
cignd2Via2l0c291cmNlb3BlbicsIG9uU291cmNlT3Blbik7CiAgICAgICAgICAgICAgICAgdmlk
ZW8uYWRkRXZlbnRMaXN0ZW5lcigndGltZXVwZGF0ZScsIG9uVGltZVVwZGF0ZSk7CiAgICAgICAg
ICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcignc2Vla2luZycsIG9uU2Vla2luZyk7CiAg
ICAgICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcignc2Vla2VkJywgb25TZWVrZWQp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
dmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRl
LWNoYW5nZXMtZXhwZWN0ZWQudHh0CmluZGV4IDM3OTA1ZTIxNTU3NzJhNTg5NWM0YWIwMTNiMjdh
NGUxN2U5MTIxYzkuLmE3OTVkOThjZDI4NTljYzE2OWViM2JlYjczYjJhYjViYjgyMjY2ODEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUt
Y2hhbmdlcy1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMTQgQEAKIFRlc3RzIE1lZGlhU291cmNl
IEFQSSBzdGF0ZSB0cmFuc2l0aW9ucy4KIAotd2Via2l0U291cmNlU3RhdGUgOiBjbG9zZWQKLUVW
RU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogb3Blbgord2Via2l0U291cmNlU3RhdGUgOiBTT1VSQ0Vf
Q0xPU0VECitFVkVOVChsb2Fkc3RhcnQpCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IFNPVVJD
RV9PUEVOCiBvbkZpcnN0U291cmNlT3BlbgotRVZFTlQod2Via2l0c291cmNlZW5kZWQpIDogZW5k
ZWQKK0VWRU5UKHdlYmtpdHNvdXJjZWVuZGVkKSA6IFNPVVJDRV9FTkRFRAogb25GaXJzdFNvdXJj
ZUVuZGVkCiBFVkVOVChwbGF5aW5nKQogdHJpZ2dlckZpcnN0U2VlawotRVZFTlQod2Via2l0c291
cmNlb3BlbikgOiBvcGVuCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IFNPVVJDRV9PUEVOCiBF
VkVOVChzZWVraW5nKQogb25GaXJzdFNlZWtpbmcKIEVWRU5UKHNlZWtlZCkKQEAgLTE2LDE5ICsx
NywyMSBAQCBFVkVOVChzZWVraW5nKQogb25TZWNvbmRTZWVraW5nCiBFVkVOVChzZWVrZWQpCiBv
blNlY29uZFNlZWtlZAotRVZFTlQod2Via2l0c291cmNlY2xvc2UpIDogY2xvc2VkCitFVkVOVCh3
ZWJraXRzb3VyY2VjbG9zZSkgOiBTT1VSQ0VfQ0xPU0VECiBvbkZpcnN0U291cmNlQ2xvc2UKIEVW
RU5UKGVtcHRpZWQpCi1FVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IG9wZW4KK0VWRU5UKGxvYWRz
dGFydCkKK0VWRU5UKHdlYmtpdHNvdXJjZW9wZW4pIDogU09VUkNFX09QRU4KIG9uU2Vjb25kU291
cmNlT3BlbgotRVZFTlQod2Via2l0c291cmNlZW5kZWQpIDogZW5kZWQKK0VWRU5UKHdlYmtpdHNv
dXJjZWVuZGVkKSA6IFNPVVJDRV9FTkRFRAogb25TZWNvbmRTb3VyY2VFbmRlZAogRVZFTlQocGxh
eWluZykKIHRyaWdnZXJTZWNvbmRTb3VyY2VDbG9zZQotRVZFTlQod2Via2l0c291cmNlY2xvc2Up
IDogY2xvc2VkCitFVkVOVCh3ZWJraXRzb3VyY2VjbG9zZSkgOiBTT1VSQ0VfQ0xPU0VECiBvblNl
Y29uZFNvdXJjZUNsb3NlCiBFVkVOVChlbXB0aWVkKQotRVZFTlQod2Via2l0c291cmNlb3Blbikg
OiBvcGVuCitFVkVOVChsb2Fkc3RhcnQpCitFVkVOVCh3ZWJraXRzb3VyY2VvcGVuKSA6IFNPVVJD
RV9PUEVOCiBvblRoaXJkU291cmNlT3BlbgogRU5EIE9GIFRFU1QKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNl
LXN0YXRlLWNoYW5nZXMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
c291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLmh0bWwKaW5kZXggZjI2Y2Q1
MjgwODA1NjZmMjhiNDI3M2EwNjczMGIxMGUxMDRjODhkNC4uOWE1NGRjZDdmYTQ2OWU2MDkxOWU1
YjY0ZGUwYWQxMTkxNGZhZmI0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2Utc3RhdGUtY2hhbmdlcy5odG1sCkBAIC04LDcgKzgsNyBAQAogICAgICAgICAgICAg
dmFyIHNlZ21lbnRIZWxwZXIgPSBuZXcgTWVkaWFTb3VyY2VUZXN0LlNlZ21lbnRIZWxwZXIoV2Vi
TVNlZ21lbnRJbmZvLnRlc3RXZWJNKTsKICAgICAgICAgICAgIHZhciBzZWVrVGltZTsKIAotICAg
ICAgICAgICAgZnVuY3Rpb24gYXBwZW5kTWVkaWFTZWdtZW50c0ZvclNlZWsoc2VnbWVudFNlZWtU
aW1lKQorICAgICAgICAgICAgZnVuY3Rpb24gYXBwZW5kTWVkaWFTZWdtZW50c0ZvclNlZWsodmlk
ZW9UYWcsIHNlZ21lbnRTZWVrVGltZSkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB2
YXIgaW5kZXggPSBzZWdtZW50SGVscGVyLmdldE1lZGlhU2VnbWVudEluZGV4Rm9yVGltZXN0YW1w
KHNlZ21lbnRTZWVrVGltZSk7CiAgICAgICAgICAgICAgICAgdmFyIGVuZEluZGV4ID0gaW5kZXgg
KyAyOwpAQCAtMTksMTQgKzE5LDE0IEBACiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAg
ICAgICAgaWYgKGluZGV4ID49IHRvdGFsTWVkaWFTZWdtZW50cykgewotICAgICAgICAgICAgICAg
ICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0cmVhbSgpOworICAgICAgICAgICAgICAgICAgICB2aWRl
b1RhZy53ZWJraXRTb3VyY2VFbmRPZlN0cmVhbShIVE1MTWVkaWFFbGVtZW50LkVPU19OT19FUlJP
Uik7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlRXZlbnQoZXZlbnQpCiAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCdFVkVOVCgnICsgZXZl
bnQudHlwZSArICcpIDogJyArIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlKTsKKyAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoJ0VWRU5UKCcgKyBldmVudC50eXBlICsgJykgOiAnICsgTWVkaWFT
b3VyY2VUZXN0LmdldFNvdXJjZVN0YXRlTmFtZShldmVudC50YXJnZXQud2Via2l0U291cmNlU3Rh
dGUpKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gb25GaXJzdFNvdXJj
ZU9wZW4oZXZlbnQpCkBAIC0zNiwxNyArMzYsMTcgQEAKICAgICAgICAgICAgICAgICAvLyBUaGlz
IGlzIHRoZSBmaXJzdCB0aW1lIHRoZSBzb3VyY2UgaXMgb3BlbmVkLiBXZSBqdXN0IHdhbnQgdG8g
YXBwZW5kCiAgICAgICAgICAgICAgICAgLy8gdGhlIGluaXRpYWxpemF0aW9uIHNlZ21lbnQgYW5k
IGFsbCBtZWRpYSBzZWdtZW50cyB1bnRpbCB0aGUgZW5kIG9mIHN0cmVhbS4KICAgICAgICAgICAg
ICAgICAvLyBUaGlzIGlzIHRlc3RpbmcgdGhlCi0gICAgICAgICAgICAgICAgLy8gImNsb3NlZCIg
LT4gIm9wZW4iIC0+ICJlbmRlZCIgdHJhbnNpdGlvbiBwYXRoLgorICAgICAgICAgICAgICAgIC8v
IFNPVVJDRV9DTE9TRUQgLT4gU09VUkNFX09QRU4gLT4gU09VUkNFX0VOREVEIHRyYW5zaXRpb24g
cGF0aC4KIAotICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IGV2ZW50LnRhcmdldDsK
LSAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRz
b3VyY2VvcGVuJywgb25GaXJzdFNvdXJjZU9wZW4pOwotICAgICAgICAgICAgICAgIHNlZ21lbnRI
ZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CisgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0g
ZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVu
ZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvbkZpcnN0U291cmNlT3Blbik7CisgICAgICAgICAgICAg
ICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VJZCgpOwogCi0gICAgICAgICAgICAgICAgTWVkaWFT
b3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAib3BlbiIpOworICAgICAg
ICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRN
TE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CiAKICAgICAgICAgICAgICAgICBzZWdtZW50SGVs
cGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CiAKLSAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5h
ZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uRmlyc3RTb3VyY2VFbmRlZCk7
CisgICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNl
ZW5kZWQnLCBvbkZpcnN0U291cmNlRW5kZWQpOwogCiAgICAgICAgICAgICAgICAgLy8gU3RhcnQg
YXBwZW5kaW5nIG1lZGlhIHNlZ21lbnRzLgogICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIu
YXBwZW5kVW50aWxFbmRPZlN0cmVhbSgwKTsKQEAgLTU1LDEzICs1NSwxMiBAQAogICAgICAgICAg
ICAgZnVuY3Rpb24gb25GaXJzdFNvdXJjZUVuZGVkKGV2ZW50KQogICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgib25GaXJzdFNvdXJjZUVuZGVkIik7CisgICAgICAg
ICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIHZp
ZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25GaXJzdFNv
dXJjZUVuZGVkKTsKIAotICAgICAgICAgICAgICAgIHZhciBtZWRpYVNvdXJjZSA9IGV2ZW50LnRh
cmdldDsKLSAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVFdmVudExpc3RlbmVyKCd3
ZWJraXRzb3VyY2VlbmRlZCcsIG9uRmlyc3RTb3VyY2VFbmRlZCk7Ci0KLSAgICAgICAgICAgICAg
ICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJlbmRlZCIp
OworICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZSh2aWRl
b1RhZywgdmlkZW9UYWcuU09VUkNFX0VOREVEKTsKIAotICAgICAgICAgICAgICAgIHZpZGVvLmFk
ZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCB0cmlnZ2VyRmlyc3RTZWVrKTsKKyAgICAgICAgICAg
ICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCdwbGF5aW5nJywgdHJpZ2dlckZpcnN0U2Vl
ayk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIHRyaWdnZXJGaXJzdFNl
ZWsoZXZlbnQpCkBAIC03Miw3ICs3MSw3IEBACiAgICAgICAgICAgICAgICAgdmlkZW9UYWcucmVt
b3ZlRXZlbnRMaXN0ZW5lcigncGxheWluZycsIHRyaWdnZXJGaXJzdFNlZWspOwogCiAgICAgICAg
ICAgICAgICAgLy8gTm93IHRoYXQgd2UgaGF2ZSBhcHBlbmRlZCBhbGwgb2YgdGhlIG1lZGlhIHNl
Z21lbnRzIGFuZCBlbmRlZCB0aGUgc3RyZWFtLAotICAgICAgICAgICAgICAgIC8vIGxldHMgZG8g
YSBzZWVrIHRvIHRlc3QgdGhlICJlbmRlZCIgLT4gIm9wZW4iIHRyYW5zaXRpb24uCisgICAgICAg
ICAgICAgICAgLy8gbGV0cyBkbyBhIHNlZWsgdG8gdGVzdCB0aGUgU09VUkNFX0VOREVEIC0+IFNP
VVJDRV9PUEVOIHRyYW5zaXRpb24uCiAgICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRM
aXN0ZW5lcignc2Vla2luZycsIG9uRmlyc3RTZWVraW5nKTsKICAgICAgICAgICAgICAgICB2aWRl
b1RhZy5hZGRFdmVudExpc3RlbmVyKCdzZWVrZWQnLCBvbkZpcnN0U2Vla2VkKTsKICAgICAgICAg
ICAgICAgICB2aWRlb1RhZy5jdXJyZW50VGltZSA9IHNlZWtUaW1lOwpAQCAtODUsMTAgKzg0LDEw
IEBACiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAgICAg
ICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NlZWtpbmcnLCBvbkZpcnN0
U2Vla2luZyk7CiAKLSAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNl
U3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VU
ZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9P
UEVOKTsKIAogICAgICAgICAgICAgICAgIC8vIFN0YXJ0IGFwcGVuZGluZyBtZWRpYSBzZWdtZW50
cy4KLSAgICAgICAgICAgICAgICBhcHBlbmRNZWRpYVNlZ21lbnRzRm9yU2Vlayh2aWRlb1RhZy5j
dXJyZW50VGltZSk7CisgICAgICAgICAgICAgICAgYXBwZW5kTWVkaWFTZWdtZW50c0ZvclNlZWso
dmlkZW9UYWcsIHZpZGVvVGFnLmN1cnJlbnRUaW1lKTsKICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgZnVuY3Rpb24gb25GaXJzdFNlZWtlZChldmVudCkKQEAgLTk4LDkgKzk3LDkgQEAKICAg
ICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAg
ICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Vla2VkJywgb25GaXJzdFNlZWtlZCk7
CiAKLSAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVk
aWFTb3VyY2UsICJvcGVuIik7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVj
dFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKIAot
ICAgICAgICAgICAgICAgIC8vIE5vdyBpdCBpcyB0aW1lIHRvIHRlc3Qgc2Vla2luZyB3aGlsZSBz
dGlsbCBpbiAib3BlbiIuCisgICAgICAgICAgICAgICAgLy8gTm93IGl0IGlzIHRpbWUgdG8gdGVz
dCBzZWVraW5nIHdoaWxlIHN0aWxsIGluIFNPVVJDRV9PUEVOLgogICAgICAgICAgICAgICAgIHZp
ZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3NlZWtpbmcnLCBvblNlY29uZFNlZWtpbmcpOwogICAg
ICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3NlZWtlZCcsIG9uU2Vjb25k
U2Vla2VkKTsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5jdXJyZW50VGltZSA9IHNlZWtUaW1l
OwpAQCAtMTEzLDIzICsxMTIsMjIgQEAKICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBl
dmVudC50YXJnZXQ7CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5l
cignc2Vla2luZycsIG9uU2Vjb25kU2Vla2luZyk7CiAKLSAgICAgICAgICAgICAgICBNZWRpYVNv
dXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CisgICAgICAg
ICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1M
TWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKIAogICAgICAgICAgICAgICAgIC8vIFN0YXJ0IGFw
cGVuZGluZyBtZWRpYSBzZWdtZW50cy4KLSAgICAgICAgICAgICAgICBhcHBlbmRNZWRpYVNlZ21l
bnRzRm9yU2Vlayh2aWRlb1RhZy5jdXJyZW50VGltZSk7CisgICAgICAgICAgICAgICAgYXBwZW5k
TWVkaWFTZWdtZW50c0ZvclNlZWsodmlkZW9UYWcsIHZpZGVvVGFnLmN1cnJlbnRUaW1lKTsKICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gb25TZWNvbmRTZWVrZWQoZXZlbnQp
CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJvblNlY29uZFNl
ZWtlZCIpOwotCiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0Owog
ICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NlZWtlZCcsIG9u
U2Vjb25kU2Vla2VkKTsKIAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RT
b3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNv
dXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQuU09V
UkNFX09QRU4pOwogCi0gICAgICAgICAgICAgICAgLy8gVGVzdCAib3BlbiIgLT4gImNsb3NlZCIg
LT4gIm9wZW4iIHRyYW5zaXRpb24gcGF0aC4KLSAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5h
ZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uRmlyc3RTb3VyY2VDbG9zZSk7
CisgICAgICAgICAgICAgICAgLy8gVGVzdCBTT1VSQ0VfT1BFTiAtPiBTT1VSQ0VfQ0xPU0VEIC0+
IFNPVVJDRV9PUEVOIHRyYW5zaXRpb24gcGF0aC4KKyAgICAgICAgICAgICAgICB2aWRlb1RhZy5h
ZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uRmlyc3RTb3VyY2VDbG9zZSk7
CiAgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LnNldFNyY1RvTWVkaWFTb3VyY2VUZXN0
VVJMKHZpZGVvVGFnKTsKICAgICAgICAgICAgIH0KIApAQCAtMTM3LDI3ICsxMzUsMjcgQEAKICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9uRmlyc3RTb3VyY2VD
bG9zZSIpOwogCi0gICAgICAgICAgICAgICAgdmFyIG1lZGlhU291cmNlID0gZXZlbnQudGFyZ2V0
OwotICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtp
dHNvdXJjZWNsb3NlJywgb25GaXJzdFNvdXJjZUNsb3NlKTsKKyAgICAgICAgICAgICAgICB2YXIg
dmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3Zl
RXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBvbkZpcnN0U291cmNlQ2xvc2UpOwog
Ci0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlh
U291cmNlLCAiY2xvc2VkIik7CisgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVj
dFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9DTE9TRUQpOwog
Ci0gICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291
cmNlb3BlbicsIG9uU2Vjb25kU291cmNlT3Blbik7CisgICAgICAgICAgICAgICAgdmlkZW9UYWcu
YWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uU2Vjb25kU291cmNlT3Blbik7
CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIG9uU2Vjb25kU291cmNlT3Bl
bihldmVudCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIm9u
U2Vjb25kU291cmNlT3BlbiIpOwogCi0gICAgICAgICAgICAgICAgdmFyIG1lZGlhU291cmNlID0g
ZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLnJlbW92ZUV2ZW50TGlz
dGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNlY29uZFNvdXJjZU9wZW4pOwotICAgICAgICAg
ICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVmZmVyKCk7CisgICAgICAgICAgICAgICAg
dmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJl
bW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNlY29uZFNvdXJjZU9wZW4p
OworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlSWQoKTsKIAotICAgICAg
ICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwg
Im9wZW4iKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3Rh
dGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX09QRU4pOwogCiAgICAgICAgICAg
ICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRJbml0U2VnbWVudCgpOwogCi0gICAgICAgICAgICAg
ICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvblNl
Y29uZFNvdXJjZUVuZGVkKTsKKyAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3Rl
bmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uU2Vjb25kU291cmNlRW5kZWQpOwogCiAgICAgICAg
ICAgICAgICAgLy8gU3RhcnQgYXBwZW5kaW5nIG1lZGlhIHNlZ21lbnRzLgogICAgICAgICAgICAg
ICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kVW50aWxFbmRPZlN0cmVhbSgwKTsKQEAgLTE2NywxMyAr
MTY1LDEzIEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJv
blNlY29uZFNvdXJjZUVuZGVkIik7CiAKLSAgICAgICAgICAgICAgICB2YXIgbWVkaWFTb3VyY2Ug
PSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UucmVtb3ZlRXZlbnRM
aXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvblNlY29uZFNvdXJjZUVuZGVkKTsKKyAgICAg
ICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAg
dmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvblNlY29u
ZFNvdXJjZUVuZGVkKTsKIAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RT
b3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgImVuZGVkIik7CisgICAgICAgICAgICAgICAgTWVkaWFT
b3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNP
VVJDRV9FTkRFRCk7CiAgICAgICAgICAgICAgICAgLy9NZWRpYVNvdXJjZVRlc3QuZXhwZWN0UmVh
ZHlTdGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlhRWxlbWVudC5IQVZFX05PVEhJTkcpOwogCi0gICAg
ICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigncGxheWluZycsIHRyaWdnZXJTZWNv
bmRTb3VyY2VDbG9zZSk7CisgICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5l
cigncGxheWluZycsIHRyaWdnZXJTZWNvbmRTb3VyY2VDbG9zZSk7CiAgICAgICAgICAgICB9CiAK
ICAgICAgICAgICAgIGZ1bmN0aW9uIHRyaWdnZXJTZWNvbmRTb3VyY2VDbG9zZShldmVudCkKQEAg
LTE4Myw4ICsxODEsOCBAQAogICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRh
cmdldDsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCdwbGF5
aW5nJywgdHJpZ2dlclNlY29uZFNvdXJjZUNsb3NlKTsKIAotICAgICAgICAgICAgICAgIC8vIFRl
c3QgImVuZGVkIiAtPiAiY2xvc2VkIiAtPiAib3BlbiIgdHJhbnNpdGlvbiBwYXRoLgotICAgICAg
ICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3Nl
Jywgb25TZWNvbmRTb3VyY2VDbG9zZSk7CisgICAgICAgICAgICAgICAgLy8gVGVzdCBTT1VSQ0Vf
RU5ERUQgLT4gU09VUkNFX0NMT1NFRCAtPiBTT1VSQ0VfT1BFTiB0cmFuc2l0aW9uIHBhdGguCisg
ICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xv
c2UnLCBvblNlY29uZFNvdXJjZUNsb3NlKTsKICAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRl
c3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RVUkwodmlkZW9UYWcpOwogICAgICAgICAgICAgfQog
CkBAIC0xOTIsMjIgKzE5MCwyMiBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgib25TZWNvbmRTb3VyY2VDbG9zZSIpOwogCi0gICAgICAgICAgICAgICAgdmFy
IG1lZGlhU291cmNlID0gZXZlbnQudGFyZ2V0OwotICAgICAgICAgICAgICAgIG1lZGlhU291cmNl
LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25TZWNvbmRTb3VyY2VD
bG9zZSk7Ci0gICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRl
KG1lZGlhU291cmNlLCAiY2xvc2VkIik7CisgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0g
ZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVu
ZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25TZWNvbmRTb3VyY2VDbG9zZSk7CisgICAgICAgICAg
ICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVk
aWFFbGVtZW50LlNPVVJDRV9DTE9TRUQpOwogCi0gICAgICAgICAgICAgICAgbWVkaWFTb3VyY2Uu
YWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uVGhpcmRTb3VyY2VPcGVuKTsK
KyAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2Vv
cGVuJywgb25UaGlyZFNvdXJjZU9wZW4pOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBm
dW5jdGlvbiBvblRoaXJkU291cmNlT3BlbihldmVudCkKICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIm9uVGhpcmRTb3VyY2VPcGVuIik7CiAKLSAgICAgICAgICAg
ICAgICB2YXIgbWVkaWFTb3VyY2UgPSBldmVudC50YXJnZXQ7Ci0gICAgICAgICAgICAgICAgbWVk
aWFTb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uVGhpcmRT
b3VyY2VPcGVuKTsKLSAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZl
cigpOworICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKKyAgICAg
ICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVu
Jywgb25UaGlyZFNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRk
U291cmNlSWQoKTsKIAotICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3Vy
Y2VTdGF0ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsKKyAgICAgICAgICAgICAgICBNZWRpYVNvdXJj
ZVRlc3QuZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNF
X09QRU4pOwogCiAgICAgICAgICAgICAgICAgZW5kVGVzdCgpOwogICAgICAgICAgICAgfQpAQCAt
MjE2LDIyICsyMTQsMjEgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBmaW5kTWVk
aWFFbGVtZW50KCk7CiAKLSAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZSA9IG5ldyBNZWRpYVNv
dXJjZSgpOwotCiAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50QW5kRmFpbCgnZXJyb3InKTsK
KyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcpOwogICAgICAgICAgICAg
ICAgIHdhaXRGb3JFdmVudCgncGxheWluZycpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVu
dCgnc2Vla2luZycpOwogICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnc2Vla2VkJyk7CiAg
ICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdlbmRlZCcpOwogICAgICAgICAgICAgICAgIHdh
aXRGb3JFdmVudCgnZW1wdGllZCcpOwogCi0gICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRk
RXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uU291cmNlRXZlbnQpOwotICAgICAg
ICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVk
Jywgb25Tb3VyY2VFdmVudCk7Ci0gICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRM
aXN0ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBvblNvdXJjZUV2ZW50KTsKKyAgICAgICAgICAg
ICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25Tb3VyY2VF
dmVudCk7CisgICAgICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291
cmNlZW5kZWQnLCBvblNvdXJjZUV2ZW50KTsKKyAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVu
dExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uU291cmNlRXZlbnQpOwogCi0gICAgICAg
ICAgICAgICAgbWVkaWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3Blbics
IG9uRmlyc3RTb3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3Rl
bmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25GaXJzdFNvdXJjZU9wZW4pOwogCi0gICAgICAgICAg
ICAgICAgTWVkaWFTb3VyY2VUZXN0LmxvZ1NvdXJjZVN0YXRlKG1lZGlhU291cmNlKTsKKyAgICAg
ICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QubG9nU291cmNlU3RhdGUodmlkZW8pOwogICAgICAg
ICAgICAgICAgIHNlZ21lbnRIZWxwZXIuaW5pdCh2aWRlbywgZnVuY3Rpb24oc3VjY2VzcykKICAg
ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIGlmICghc3VjY2Vzcykgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>