<?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>126677</bug_id>
          
          <creation_ts>2014-01-08 19:49:15 -0800</creation_ts>
          <short_desc>REGRESSION(r161532): Caused lots of assertion failures (Requested by ap on #webkit).</short_desc>
          <delta_ts>2014-01-08 19:52:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>120828</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>965751</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-08 19:49:15 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/161532 broke the build:
Caused lots of assertion failures (Requested by ap on #webkit).

This is an automatic bug report generated by webkitbot. 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 fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965754</commentid>
    <comment_count>1</comment_count>
      <attachid>220693</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-08 19:49:29 -0800</bug_when>
    <thetext>Created attachment 220693
ROLLOUT of r161532

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>965757</commentid>
    <comment_count>2</comment_count>
      <attachid>220693</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-08 19:52:48 -0800</bug_when>
    <thetext>Comment on attachment 220693
ROLLOUT of r161532

Clearing flags on attachment: 220693

Committed r161541: &lt;http://trac.webkit.org/changeset/161541&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965758</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-08 19:52:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220693</attachid>
            <date>2014-01-08 19:49:29 -0800</date>
            <delta_ts>2014-01-08 19:52:48 -0800</delta_ts>
            <desc>ROLLOUT of r161532</desc>
            <filename>bug-126677-20140108194929.patch</filename>
            <type>text/plain</type>
            <size>34738</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxNTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGJjZmNiYzE3MmU4NzMz
ZjFmYTI0NGRkZWY5ZTA0NWVmYTJlZGNkYS4uOGY3NDBmZjIyYzE2OWFmYWMyNWFjYWU2OGMzYjU2
OGRjNjI4NWMwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE0LTAxLTA4ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTYxNTMyLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8xNjE1MzIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNjY3NworCisgICAgICAgIENhdXNlZCBsb3RzIG9mIGFzc2VydGlvbiBmYWlsdXJl
cyAoUmVxdWVzdGVkIGJ5IGFwIG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAgICAgICogeG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0Ojpj
YWxsUmVhZHlTdGF0ZUNoYW5nZUxpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBS
ZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0
OjphYm9ydCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6bmV0d29ya0Vycm9y
KToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjphYm9ydEVycm9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpkaWRTZW5kRGF0YSk6CisgICAgICAgIChXZWJD
b3JlOjpYTUxIdHRwUmVxdWVzdDo6ZGlkUmVjZWl2ZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6
WE1MSHR0cFJlcXVlc3Q6OmRpZFRpbWVvdXQpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVz
dC5oOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRs
ZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUpOgorICAgICAgICAoV2ViQ29y
ZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoUHJvZ3Jlc3NF
dmVudCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJv
dHRsZTo6ZGlzcGF0Y2hFdmVudEFuZExvYWRFbmQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmZsdXNoUHJvZ3Jlc3NFdmVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6ZmlyZWQp
OgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6
Omhhc0V2ZW50VG9EaXNwYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZTo6c3VzcGVuZCk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0
VXBsb2FkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0VXBsb2FkOjpYTUxI
dHRwUmVxdWVzdFVwbG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFVwbG9h
ZDo6ZGlzcGF0Y2hFdmVudEFuZExvYWRFbmQpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVz
dFVwbG9hZC5oOgorCiAyMDE0LTAxLTA4ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgog
CiAgICAgICAgIENsZWFuIHVwIGNvbmZ1c2luZyBuYW1lcyBhbmQgY2FsY3VsYXRpb25zIGluIGlt
YWdlLWRyYWdnaW5nIGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAK
aW5kZXggNmM3ZTEwZTFiYWMzYTEzZjI3OTQxOTZlMzZlMTJlYjhjMmMyNGFmOC4uNDJkZmQ4MzRm
MjJlZjYxZDViOTEyMDRmYWY3NGJmMGY5MGQ3MDYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3QuY3BwCkBAIC00MzAsMTQgKzQzMCwxNCBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0Ojpj
YWxsUmVhZHlTdGF0ZUNoYW5nZUxpc3RlbmVyKCkKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUgY29va2llID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGlzcGF0Y2hY
SFJSZWFkeVN0YXRlQ2hhbmdlRXZlbnQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB0aGlzKTsK
IAogICAgIGlmIChtX2FzeW5jIHx8IChtX3N0YXRlIDw9IE9QRU5FRCB8fCBtX3N0YXRlID09IERP
TkUpKQotICAgICAgICBtX3Byb2dyZXNzRXZlbnRUaHJvdHRsZS5kaXNwYXRjaFJlYWR5U3RhdGVD
aGFuZ2VFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5yZWFkeXN0YXRlY2hhbmdlRXZl
bnQsIGZhbHNlLCBmYWxzZSksIG1fc3RhdGUgPT0gRE9ORSA/IEZsdXNoUHJvZ3Jlc3NFdmVudCA6
IERvTm90Rmx1c2hQcm9ncmVzc0V2ZW50KTsKKyAgICAgICAgbV9wcm9ncmVzc0V2ZW50VGhyb3R0
bGUuZGlzcGF0Y2hSZWFkeVN0YXRlQ2hhbmdlRXZlbnQoWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnJlYWR5c3RhdGVjaGFuZ2VFdmVudCksIG1fc3RhdGUg
PT0gRE9ORSA/IEZsdXNoUHJvZ3Jlc3NFdmVudCA6IERvTm90Rmx1c2hQcm9ncmVzc0V2ZW50KTsK
IAogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hYSFJSZWFkeVN0YXRl
Q2hhbmdlRXZlbnQoY29va2llKTsKICAgICBpZiAobV9zdGF0ZSA9PSBET05FICYmICFtX2Vycm9y
KSB7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEaXNwYXRjaFhIUkxvYWRFdmVudChzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCksIHRoaXMpOwotICAgICAgICBtX3Byb2dyZXNzRXZlbnRUaHJvdHRsZS5k
aXNwYXRjaFByb2dyZXNzRXZlbnQoZXZlbnROYW1lcygpLmxvYWRFdmVudCk7CisgICAgICAgIG1f
cHJvZ3Jlc3NFdmVudFRocm90dGxlLmRpc3BhdGNoRXZlbnQoWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmxvYWRFdmVudCkpOwogICAgICAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoWEhSTG9hZEV2ZW50KGNvb2tpZSk7Ci0gICAg
ICAgIG1fcHJvZ3Jlc3NFdmVudFRocm90dGxlLmRpc3BhdGNoUHJvZ3Jlc3NFdmVudChldmVudE5h
bWVzKCkubG9hZGVuZEV2ZW50KTsKKyAgICAgICAgbV9wcm9ncmVzc0V2ZW50VGhyb3R0bGUuZGlz
cGF0Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkubG9hZGVuZEV2ZW50KSk7CiAgICAgfQogfQogCkBAIC03NjUsMTAgKzc2NSwxMCBAQCB2b2lk
IFhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0KEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIC8v
IEFsc28sIG9ubHkgYXN5bmMgcmVxdWVzdHMgc3VwcG9ydCB1cGxvYWQgcHJvZ3Jlc3MgZXZlbnRz
LgogICAgIGJvb2wgdXBsb2FkRXZlbnRzID0gZmFsc2U7CiAgICAgaWYgKG1fYXN5bmMpIHsKLSAg
ICAgICAgbV9wcm9ncmVzc0V2ZW50VGhyb3R0bGUuZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KGV2ZW50
TmFtZXMoKS5sb2Fkc3RhcnRFdmVudCk7CisgICAgICAgIG1fcHJvZ3Jlc3NFdmVudFRocm90dGxl
LmRpc3BhdGNoRXZlbnQoWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLmxvYWRzdGFydEV2ZW50KSk7CiAgICAgICAgIGlmIChtX3JlcXVlc3RFbnRpdHlCb2R5
ICYmIG1fdXBsb2FkKSB7CiAgICAgICAgICAgICB1cGxvYWRFdmVudHMgPSBtX3VwbG9hZC0+aGFz
RXZlbnRMaXN0ZW5lcnMoKTsKLSAgICAgICAgICAgIG1fdXBsb2FkLT5kaXNwYXRjaFByb2dyZXNz
RXZlbnQoZXZlbnROYW1lcygpLmxvYWRzdGFydEV2ZW50KTsKKyAgICAgICAgICAgIG1fdXBsb2Fk
LT5kaXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50
TmFtZXMoKS5sb2Fkc3RhcnRFdmVudCkpOwogICAgICAgICB9CiAgICAgfQogCkBAIC04NjIsNyAr
ODYyLDEyIEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmFib3J0KCkKICAgICAgICAgbV9zdGF0ZSA9
IFVOU0VOVDsKICAgICB9CiAKLSAgICBkaXNwYXRjaEVycm9yRXZlbnRzKGV2ZW50TmFtZXMoKS5h
Ym9ydEV2ZW50KTsKKyAgICBtX3Byb2dyZXNzRXZlbnRUaHJvdHRsZS5kaXNwYXRjaEV2ZW50QW5k
TG9hZEVuZChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCku
YWJvcnRFdmVudCkpOworICAgIGlmICghbV91cGxvYWRDb21wbGV0ZSkgeworICAgICAgICBtX3Vw
bG9hZENvbXBsZXRlID0gdHJ1ZTsKKyAgICAgICAgaWYgKG1fdXBsb2FkICYmIG1fdXBsb2FkRXZl
bnRzQWxsb3dlZCkKKyAgICAgICAgICAgIG1fdXBsb2FkLT5kaXNwYXRjaEV2ZW50QW5kTG9hZEVu
ZChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuYWJvcnRF
dmVudCkpOworICAgIH0KIH0KIAogdm9pZCBYTUxIdHRwUmVxdWVzdDo6aW50ZXJuYWxBYm9ydCgp
CkBAIC05MjMsMTQgKzkyOCwyNCBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpnZW5lcmljRXJyb3Io
KQogdm9pZCBYTUxIdHRwUmVxdWVzdDo6bmV0d29ya0Vycm9yKCkKIHsKICAgICBnZW5lcmljRXJy
b3IoKTsKLSAgICBkaXNwYXRjaEVycm9yRXZlbnRzKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50KTsK
KyAgICBpZiAoIW1fdXBsb2FkQ29tcGxldGUpIHsKKyAgICAgICAgbV91cGxvYWRDb21wbGV0ZSA9
IHRydWU7CisgICAgICAgIGlmIChtX3VwbG9hZCAmJiBtX3VwbG9hZEV2ZW50c0FsbG93ZWQpCisg
ICAgICAgICAgICBtX3VwbG9hZC0+ZGlzcGF0Y2hFdmVudEFuZExvYWRFbmQoWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQpKTsKKyAgICB9
CisgICAgbV9wcm9ncmVzc0V2ZW50VGhyb3R0bGUuZGlzcGF0Y2hFdmVudEFuZExvYWRFbmQoWE1M
SHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQp
KTsKICAgICBpbnRlcm5hbEFib3J0KCk7CiB9CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmFib3J0
RXJyb3IoKQogewogICAgIGdlbmVyaWNFcnJvcigpOwotICAgIGRpc3BhdGNoRXJyb3JFdmVudHMo
ZXZlbnROYW1lcygpLmFib3J0RXZlbnQpOworICAgIGlmICghbV91cGxvYWRDb21wbGV0ZSkgewor
ICAgICAgICBtX3VwbG9hZENvbXBsZXRlID0gdHJ1ZTsKKyAgICAgICAgaWYgKG1fdXBsb2FkICYm
IG1fdXBsb2FkRXZlbnRzQWxsb3dlZCkKKyAgICAgICAgICAgIG1fdXBsb2FkLT5kaXNwYXRjaEV2
ZW50QW5kTG9hZEVuZChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkuYWJvcnRFdmVudCkpOworICAgIH0KKyAgICBtX3Byb2dyZXNzRXZlbnRUaHJvdHRsZS5k
aXNwYXRjaEV2ZW50QW5kTG9hZEVuZChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkuYWJvcnRFdmVudCkpOwogfQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0Ojpk
cm9wUHJvdGVjdGlvbigpCkBAIC0xMTY0LDEzICsxMTc5LDEyIEBAIHZvaWQgWE1MSHR0cFJlcXVl
c3Q6OmRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyBieXRlc1NlbnQsIHVuc2lnbmVkIGxv
bmcgbG9uCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChtX3VwbG9hZEV2ZW50c0FsbG93ZWQp
Ci0gICAgICAgIG1fdXBsb2FkLT5kaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQodHJ1ZSwg
Ynl0ZXNTZW50LCB0b3RhbEJ5dGVzVG9CZVNlbnQpOworICAgICAgICBtX3VwbG9hZC0+ZGlzcGF0
Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCku
cHJvZ3Jlc3NFdmVudCwgdHJ1ZSwgYnl0ZXNTZW50LCB0b3RhbEJ5dGVzVG9CZVNlbnQpKTsKKwog
ICAgIGlmIChieXRlc1NlbnQgPT0gdG90YWxCeXRlc1RvQmVTZW50ICYmICFtX3VwbG9hZENvbXBs
ZXRlKSB7CiAgICAgICAgIG1fdXBsb2FkQ29tcGxldGUgPSB0cnVlOwotICAgICAgICBpZiAobV91
cGxvYWRFdmVudHNBbGxvd2VkKSB7Ci0gICAgICAgICAgICBtX3VwbG9hZC0+ZGlzcGF0Y2hQcm9n
cmVzc0V2ZW50KGV2ZW50TmFtZXMoKS5sb2FkRXZlbnQpOwotICAgICAgICAgICAgbV91cGxvYWQt
PmRpc3BhdGNoUHJvZ3Jlc3NFdmVudChldmVudE5hbWVzKCkubG9hZGVuZEV2ZW50KTsKLSAgICAg
ICAgfQorICAgICAgICBpZiAobV91cGxvYWRFdmVudHNBbGxvd2VkKQorICAgICAgICAgICAgbV91
cGxvYWQtPmRpc3BhdGNoRXZlbnRBbmRMb2FkRW5kKFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5sb2FkRXZlbnQpKTsKICAgICB9CiB9CiAKQEAgLTEyMjgs
MTMgKzEyNDIsMTMgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkUmVjZWl2ZURhdGEoY29uc3Qg
Y2hhciogZGF0YSwgaW50IGxlbikKICAgICB9CiAKICAgICBpZiAoIW1fZXJyb3IpIHsKKyAgICAg
ICAgbG9uZyBsb25nIGV4cGVjdGVkTGVuZ3RoID0gbV9yZXNwb25zZS5leHBlY3RlZENvbnRlbnRM
ZW5ndGgoKTsKICAgICAgICAgbV9yZWNlaXZlZExlbmd0aCArPSBsZW47CiAKICAgICAgICAgaWYg
KG1fYXN5bmMpIHsKLSAgICAgICAgICAgIGxvbmcgbG9uZyBleHBlY3RlZExlbmd0aCA9IG1fcmVz
cG9uc2UuZXhwZWN0ZWRDb250ZW50TGVuZ3RoKCk7CiAgICAgICAgICAgICBib29sIGxlbmd0aENv
bXB1dGFibGUgPSBleHBlY3RlZExlbmd0aCA+IDAgJiYgbV9yZWNlaXZlZExlbmd0aCA8PSBleHBl
Y3RlZExlbmd0aDsKICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbCA9IGxlbmd0
aENvbXB1dGFibGUgPyBleHBlY3RlZExlbmd0aCA6IDA7Ci0gICAgICAgICAgICBtX3Byb2dyZXNz
RXZlbnRUaHJvdHRsZS5kaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQobGVuZ3RoQ29tcHV0
YWJsZSwgbV9yZWNlaXZlZExlbmd0aCwgdG90YWwpOworICAgICAgICAgICAgbV9wcm9ncmVzc0V2
ZW50VGhyb3R0bGUuZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KGxlbmd0aENvbXB1dGFibGUsIG1fcmVj
ZWl2ZWRMZW5ndGgsIHRvdGFsKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChtX3N0YXRlICE9
IExPQURJTkcpCkBAIC0xMjQ1LDE5ICsxMjU5LDYgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlk
UmVjZWl2ZURhdGEoY29uc3QgY2hhciogZGF0YSwgaW50IGxlbikKICAgICB9CiB9CiAKLXZvaWQg
WE1MSHR0cFJlcXVlc3Q6OmRpc3BhdGNoRXJyb3JFdmVudHMoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlKQotewotICAgIGlmICghbV91cGxvYWRDb21wbGV0ZSkgewotICAgICAgICBtX3VwbG9hZENv
bXBsZXRlID0gdHJ1ZTsKLSAgICAgICAgaWYgKG1fdXBsb2FkICYmIG1fdXBsb2FkRXZlbnRzQWxs
b3dlZCkgewotICAgICAgICAgICAgbV91cGxvYWQtPmRpc3BhdGNoUHJvZ3Jlc3NFdmVudCh0eXBl
KTsKLSAgICAgICAgICAgIG1fdXBsb2FkLT5kaXNwYXRjaFByb2dyZXNzRXZlbnQoZXZlbnROYW1l
cygpLmxvYWRlbmRFdmVudCk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgbV9wcm9ncmVzc0V2ZW50
VGhyb3R0bGUuZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KHR5cGUpOwotICAgIG1fcHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmRpc3BhdGNoUHJvZ3Jlc3NFdmVudChldmVudE5hbWVzKCkubG9hZGVuZEV2ZW50
KTsKLX0KLQogI2lmIEVOQUJMRShYSFJfVElNRU9VVCkKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRp
ZFRpbWVvdXQoKQogewpAQCAtMTI3OSw3ICsxMjgwLDEyIEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6
OmRpZFRpbWVvdXQoKQogCiAgICAgY2hhbmdlU3RhdGUoRE9ORSk7CiAKLSAgICBkaXNwYXRjaEVy
cm9yRXZlbnRzKGV2ZW50TmFtZXMoKS50aW1lb3V0RXZlbnQpOworICAgIGlmICghbV91cGxvYWRD
b21wbGV0ZSkgeworICAgICAgICBtX3VwbG9hZENvbXBsZXRlID0gdHJ1ZTsKKyAgICAgICAgaWYg
KG1fdXBsb2FkICYmIG1fdXBsb2FkRXZlbnRzQWxsb3dlZCkKKyAgICAgICAgICAgIG1fdXBsb2Fk
LT5kaXNwYXRjaEV2ZW50QW5kTG9hZEVuZChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNy
ZWF0ZShldmVudE5hbWVzKCkudGltZW91dEV2ZW50KSk7CisgICAgfQorICAgIG1fcHJvZ3Jlc3NF
dmVudFRocm90dGxlLmRpc3BhdGNoRXZlbnRBbmRMb2FkRW5kKFhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS50aW1lb3V0RXZlbnQpKTsKIH0KICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IDkzMjVhZDcyNjRkZWQ2ZjA4ZjBi
NTQ0YjgwMDVjNzc0ZjcwOThlZGEuLjkzOTNhNjY2OWYzNDMyZmQzZTZkMjMwMDQ4OTc2ZmYzMjY2
NTM1ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCkBAIC0yMDgsOCArMjA4LDYg
QEAgcHJpdmF0ZToKIAogICAgIGJvb2wgc2hvdWxkRGVjb2RlUmVzcG9uc2UoKSBjb25zdCB7IHJl
dHVybiBtX3Jlc3BvbnNlVHlwZUNvZGUgPCBGaXJzdEJpbmFyeVJlc3BvbnNlVHlwZTsgfQogCi0g
ICAgdm9pZCBkaXNwYXRjaEVycm9yRXZlbnRzKGNvbnN0IEF0b21pY1N0cmluZyYpOwotCiAgICAg
c3RkOjp1bmlxdWVfcHRyPFhNTEh0dHBSZXF1ZXN0VXBsb2FkPiBtX3VwbG9hZDsKIAogICAgIFVS
TCBtX3VybDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCmluZGV4IDZiYzQyYThiMTU2NDFiMzczOTNlOTc0
YTNjOTQ5MTUzNzU5OGVmZWQuLmI1MTgyZmNmYzNlMTk2ZWY3NWM3ODY2ZDM2NzczZTg4NzI2Mzgy
ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnRUaHJvdHRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcApAQCAtMzYsOCArMzYsNiBAQCBjb25zdCBkb3VibGUg
WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1pbmltdW1Qcm9ncmVzc0V2ZW50
RGlzcGF0Y2hpbgogCiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6WE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUoRXZlbnRUYXJnZXQqIHRhcmdldCkKICAgICA6
IG1fdGFyZ2V0KHRhcmdldCkKLSAgICAsIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudChmYWxz
ZSkKLSAgICAsIG1fbGVuZ3RoQ29tcHV0YWJsZShmYWxzZSkKICAgICAsIG1fbG9hZGVkKDApCiAg
ICAgLCBtX3RvdGFsKDApCiAgICAgLCBtX2RlZmVyRXZlbnRzKGZhbHNlKQpAQCAtNTAsMTIgKzQ4
LDggQEAgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6On5YTUxIdHRwUmVxdWVz
dFByb2dyZXNzRXZlbnRUaHJvdHRsZSgpCiB7CiB9CiAKLXZvaWQgWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudChib29sIGxl
bmd0aENvbXB1dGFibGUsIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkZWQsIHVuc2lnbmVkIGxvbmcg
bG9uZyB0b3RhbCkKK3ZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRp
c3BhdGNoUHJvZ3Jlc3NFdmVudChib29sIGxlbmd0aENvbXB1dGFibGUsIHVuc2lnbmVkIGxvbmcg
bG9uZyBsb2FkZWQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbCkKIHsKLSAgICBtX2xlbmd0aENv
bXB1dGFibGUgPSBsZW5ndGhDb21wdXRhYmxlOwotICAgIG1fbG9hZGVkID0gbG9hZGVkOwotICAg
IG1fdG90YWwgPSB0b3RhbDsKLSAgICAKICAgICBpZiAobV9kZWZlckV2ZW50cykgewogICAgICAg
ICAvLyBPbmx5IHN0b3JlIHRoZSBsYXRlc3QgcHJvZ3Jlc3MgZXZlbnQgd2hpbGUgc3VzcGVuZGVk
LgogICAgICAgICBtX2RlZmVycmVkUHJvZ3Jlc3NFdmVudCA9IFhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBsZW5ndGhDb21wdXRh
YmxlLCBsb2FkZWQsIHRvdGFsKTsKQEAgLTcyLDEyICs2NiwxMyBAQCB2b2lkIFhNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpkaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQo
Ym9vbCBsZQogCiAgICAgICAgIGRpc3BhdGNoRXZlbnQoWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQsIGxlbmd0aENvbXB1dGFibGUs
IGxvYWRlZCwgdG90YWwpKTsKICAgICAgICAgc3RhcnRSZXBlYXRpbmcobWluaW11bVByb2dyZXNz
RXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzKTsKLSAgICAgICAgbV9oYXNUaHJvdHRs
ZWRQcm9ncmVzc0V2ZW50ID0gZmFsc2U7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAv
LyBUaGUgdGltZXIgaXMgYWxyZWFkeSBhY3RpdmUgc28gbWluaW11bVByb2dyZXNzRXZlbnREaXNw
YXRjaGluZ0ludGVydmFsSW5TZWNvbmRzIGlzIHRoZSBsZWFzdCBmcmVxdWVudCBldmVudC4KLSAg
ICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSB0cnVlOworICAgIG1fbGVuZ3RoQ29tcHV0
YWJsZSA9IGxlbmd0aENvbXB1dGFibGU7CisgICAgbV9sb2FkZWQgPSBsb2FkZWQ7CisgICAgbV90
b3RhbCA9IHRvdGFsOwogfQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90
dGxlOjpkaXNwYXRjaFJlYWR5U3RhdGVDaGFuZ2VFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVu
dCwgUHJvZ3Jlc3NFdmVudEFjdGlvbiBwcm9ncmVzc0V2ZW50QWN0aW9uKQpAQCAtMTAxLDE3ICs5
NiwxMiBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpkaXNwYXRj
aEV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50KQogICAgICAgICBtX3RhcmdldC0+ZGlzcGF0
Y2hFdmVudChldmVudCk7CiB9CiAKLXZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhy
b3R0bGU6OmRpc3BhdGNoUHJvZ3Jlc3NFdmVudChjb25zdCBBdG9taWNTdHJpbmcgJnR5cGUpCit2
b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpkaXNwYXRjaEV2ZW50QW5k
TG9hZEVuZChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKIHsKLSAgICBBU1NFUlQodHlwZSA9PSBl
dmVudE5hbWVzKCkubG9hZEV2ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLmxvYWRzdGFydEV2
ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLmFib3J0RXZlbnQgfHwgdHlwZSA9PSBldmVudE5h
bWVzKCkuZXJyb3JFdmVudCB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS50aW1lb3V0RXZlbnQpOwot
Ci0gICAgaWYgKHR5cGUgPT0gZXZlbnROYW1lcygpLmxvYWRzdGFydEV2ZW50KSB7Ci0gICAgICAg
IG1fbGVuZ3RoQ29tcHV0YWJsZSA9IGZhbHNlOwotICAgICAgICBtX2xvYWRlZCA9IDA7Ci0gICAg
ICAgIG1fdG90YWwgPSAwOwotICAgIH0KKyAgICBBU1NFUlQoZXZlbnQtPnR5cGUoKSA9PSBldmVu
dE5hbWVzKCkubG9hZEV2ZW50IHx8IGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLmFib3J0
RXZlbnQgfHwgZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuZXJyb3JFdmVudCB8fCBldmVu
dC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS50aW1lb3V0RXZlbnQpOwogCi0gICAgZGlzcGF0Y2hF
dmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZSh0eXBlLCBtX2xlbmd0aENv
bXB1dGFibGUsIG1fbG9hZGVkLCBtX3RvdGFsKSk7CisgICAgZGlzcGF0Y2hFdmVudChldmVudCk7
CisgICAgZGlzcGF0Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShl
dmVudE5hbWVzKCkubG9hZGVuZEV2ZW50KSk7CiB9CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGU6OmZsdXNoUHJvZ3Jlc3NFdmVudCgpCkBAIC0xMjUsOCArMTE1LDEw
IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmZsdXNoUHJvZ3Jl
c3NFdmVudCgpCiAKICAgICBpZiAoIWhhc0V2ZW50VG9EaXNwYXRjaCgpKQogICAgICAgICByZXR1
cm47CisKICAgICBQYXNzUmVmUHRyPEV2ZW50PiBldmVudCA9IFhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBtX2xlbmd0aENvbXB1
dGFibGUsIG1fbG9hZGVkLCBtX3RvdGFsKTsKLSAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZl
bnQgPSBmYWxzZTsKKyAgICBtX2xvYWRlZCA9IDA7CisgICAgbV90b3RhbCA9IDA7CiAKICAgICAv
LyBXZSBzdG9wIHRoZSB0aW1lciBhcyB0aGlzIGlzIGNhbGxlZCB3aGVuIG5vIG1vcmUgZXZlbnRz
IGFyZSBzdXBwb3NlZCB0byBvY2N1ci4KICAgICBzdG9wKCk7CkBAIC0xNjgsMTIgKzE2MCwxMyBA
QCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpmaXJlZCgpCiAgICAg
fQogCiAgICAgZGlzcGF0Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCwgbV9sZW5ndGhDb21wdXRhYmxlLCBtX2xvYWRl
ZCwgbV90b3RhbCkpOwotICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IGZhbHNlOwor
ICAgIG1fdG90YWwgPSAwOworICAgIG1fbG9hZGVkID0gMDsKIH0KIAogYm9vbCBYTUxIdHRwUmVx
dWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6aGFzRXZlbnRUb0Rpc3BhdGNoKCkgY29uc3QKIHsK
LSAgICByZXR1cm4gbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ICYmIGlzQWN0aXZlKCk7Cisg
ICAgcmV0dXJuIChtX3RvdGFsIHx8IG1fbG9hZGVkKSAmJiBpc0FjdGl2ZSgpOwogfQogCiB2b2lk
IFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpzdXNwZW5kKCkKQEAgLTE5NCw3
ICsxODcsOCBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpzdXNw
ZW5kKCkKICAgICAvLyBqdXN0IGRlZmVyIGl0LgogICAgIGlmIChoYXNFdmVudFRvRGlzcGF0Y2go
KSkgewogICAgICAgICBtX2RlZmVycmVkUHJvZ3Jlc3NFdmVudCA9IFhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBtX2xlbmd0aENv
bXB1dGFibGUsIG1fbG9hZGVkLCBtX3RvdGFsKTsKLSAgICAgICAgbV9oYXNUaHJvdHRsZWRQcm9n
cmVzc0V2ZW50ID0gZmFsc2U7CisgICAgICAgIG1fdG90YWwgPSAwOworICAgICAgICBtX2xvYWRl
ZCA9IDA7CiAgICAgfQogICAgIHN0b3AoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oIGIvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKaW5kZXggMzM3NThh
OTRjMGZjNWU2M2M0OGJiODM4ZDZmNzA0YzU5ODUzNGIzMS4uZTQ0YzEyMDZmOWE2OWVjM2UxYWY5
NTBmZTI5ZDlhNTE1MzNkNWY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKQEAgLTMwLDcgKzMwLDYgQEAK
ICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgInd0Zi9QYXNzUmVmUHRyLmgiCiAjaW5jbHVk
ZSAid3RmL1ZlY3Rvci5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtNDksMTAgKzQ4LDEwIEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBYTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZShFdmVudFRhcmdldCopOwogICAgIHZpcnR1
YWwgflhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlKCk7CiAKLSAgICB2b2lkIGRp
c3BhdGNoVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudChib29sIGxlbmd0aENvbXB1dGFibGUsIHVuc2ln
bmVkIGxvbmcgbG9uZyBsb2FkZWQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbCk7CisgICAgdm9p
ZCBkaXNwYXRjaFByb2dyZXNzRXZlbnQoYm9vbCBsZW5ndGhDb21wdXRhYmxlLCB1bnNpZ25lZCBs
b25nIGxvbmcgbG9hZGVkLCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWwpOwogICAgIHZvaWQgZGlz
cGF0Y2hSZWFkeVN0YXRlQ2hhbmdlRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4sIFByb2dyZXNzRXZl
bnRBY3Rpb24gPSBEb05vdEZsdXNoUHJvZ3Jlc3NFdmVudCk7CiAgICAgdm9pZCBkaXNwYXRjaEV2
ZW50KFBhc3NSZWZQdHI8RXZlbnQ+KTsKLSAgICB2b2lkIGRpc3BhdGNoUHJvZ3Jlc3NFdmVudChj
b25zdCBBdG9taWNTdHJpbmcmKTsKKyAgICB2b2lkIGRpc3BhdGNoRXZlbnRBbmRMb2FkRW5kKFBh
c3NSZWZQdHI8RXZlbnQ+KTsKIAogICAgIHZvaWQgc3VzcGVuZCgpOwogICAgIHZvaWQgcmVzdW1l
KCk7CkBAIC02OSw3ICs2OCw2IEBAIHByaXZhdGU6CiAgICAgLy8gV2VhayBwb2ludGVyIHRvIG91
ciBYTUxIdHRwUmVxdWVzdCBvYmplY3QgYXMgaXQgaXMgdGhlIG9uZSBob2xkaW5nIHVzLgogICAg
IEV2ZW50VGFyZ2V0KiBtX3RhcmdldDsKIAotICAgIGJvb2wgbV9oYXNUaHJvdHRsZWRQcm9ncmVz
c0V2ZW50OwogICAgIGJvb2wgbV9sZW5ndGhDb21wdXRhYmxlOwogICAgIHVuc2lnbmVkIGxvbmcg
bG9uZyBtX2xvYWRlZDsKICAgICB1bnNpZ25lZCBsb25nIGxvbmcgbV90b3RhbDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuY3BwCmluZGV4IDBlNWQ2NGY0ZjBjOWQy
NTNjODVmYTdhZGQ1ZjM3MTgyNDQ4MDVkNjAuLjc0MTUzNmVkNzE5YjM4YzljMmI3ZGFhNmNlOGZl
YjVjYWVhN2NkMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dFVwbG9hZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0VXBsb2Fk
LmNwcApAQCAtMzYsMzMgKzM2LDE3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogWE1MSHR0cFJl
cXVlc3RVcGxvYWQ6OlhNTEh0dHBSZXF1ZXN0VXBsb2FkKFhNTEh0dHBSZXF1ZXN0KiB4bWxIdHRw
UmVxdWVzdCkKICAgICA6IG1feG1sSHR0cFJlcXVlc3QoeG1sSHR0cFJlcXVlc3QpCi0gICAgLCBt
X2xlbmd0aENvbXB1dGFibGUoZmFsc2UpCi0gICAgLCBtX2xvYWRlZCgwKQotICAgICwgbV90b3Rh
bCgwKQogewogfQogCi12b2lkIFhNTEh0dHBSZXF1ZXN0VXBsb2FkOjpkaXNwYXRjaFRocm90dGxl
ZFByb2dyZXNzRXZlbnQoYm9vbCBsZW5ndGhDb21wdXRhYmxlLCB1bnNpZ25lZCBsb25nIGxvbmcg
bG9hZGVkLCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWwpCit2b2lkIFhNTEh0dHBSZXF1ZXN0VXBs
b2FkOjpkaXNwYXRjaEV2ZW50QW5kTG9hZEVuZChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKIHsK
LSAgICBtX2xlbmd0aENvbXB1dGFibGUgPSBsZW5ndGhDb21wdXRhYmxlOwotICAgIG1fbG9hZGVk
ID0gbG9hZGVkOwotICAgIG1fdG90YWwgPSB0b3RhbDsKKyAgICBBU1NFUlQoZXZlbnQtPnR5cGUo
KSA9PSBldmVudE5hbWVzKCkubG9hZEV2ZW50IHx8IGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1l
cygpLmFib3J0RXZlbnQgfHwgZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuZXJyb3JFdmVu
dCB8fCBldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS50aW1lb3V0RXZlbnQpOwogCi0gICAg
ZGlzcGF0Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkucHJvZ3Jlc3NFdmVudCwgbGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVkLCB0b3RhbCkpOwor
ICAgIGRpc3BhdGNoRXZlbnQoZXZlbnQpOworICAgIGRpc3BhdGNoRXZlbnQoWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmxvYWRlbmRFdmVudCkpOwogfQog
Ci12b2lkIFhNTEh0dHBSZXF1ZXN0VXBsb2FkOjpkaXNwYXRjaFByb2dyZXNzRXZlbnQoY29uc3Qg
QXRvbWljU3RyaW5nICZ0eXBlKQotewotICAgIEFTU0VSVCh0eXBlID09IGV2ZW50TmFtZXMoKS5s
b2FkRXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkubG9hZHN0YXJ0RXZlbnQgfHwgdHlwZSA9
PSBldmVudE5hbWVzKCkuYWJvcnRFdmVudCB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS5lcnJvckV2
ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLnRpbWVvdXRFdmVudCk7Ci0KLSAgICBpZiAodHlw
ZSA9PSBldmVudE5hbWVzKCkubG9hZHN0YXJ0RXZlbnQpIHsKLSAgICAgICAgbV9sZW5ndGhDb21w
dXRhYmxlID0gZmFsc2U7Ci0gICAgICAgIG1fbG9hZGVkID0gMDsKLSAgICAgICAgbV90b3RhbCA9
IDA7Ci0gICAgfQotCi0gICAgZGlzcGF0Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnQ6OmNyZWF0ZSh0eXBlLCBtX2xlbmd0aENvbXB1dGFibGUsIG1fbG9hZGVkLCBtX3RvdGFsKSk7
Ci19CiAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0VXBsb2FkLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3RVcGxvYWQuaAppbmRleCAzM2Q3NmE2ZGUxNDg1ODY3YzZlZDMxMGEyNjBlNWYyMGNk
MzQ4MzFiLi42NmM2ZmE0YTAyZjA0MWJhZDMyNDBmOGU5ZmNhYjRkNDg0N2I0OWMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuaApAQCAtNTUsMTcgKzU1LDEzIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUihsb2Fkc3RhcnQpOwogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KHByb2dyZXNzKTsKIAotICAgICAgICB2b2lkIGRpc3BhdGNoVGhyb3R0bGVkUHJvZ3Jlc3NFdmVu
dChib29sIGxlbmd0aENvbXB1dGFibGUsIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkZWQsIHVuc2ln
bmVkIGxvbmcgbG9uZyB0b3RhbCk7Ci0gICAgICAgIHZvaWQgZGlzcGF0Y2hQcm9ncmVzc0V2ZW50
KGNvbnN0IEF0b21pY1N0cmluZyAmdHlwZSk7CisgICAgICAgIHZvaWQgZGlzcGF0Y2hFdmVudEFu
ZExvYWRFbmQoUGFzc1JlZlB0cjxFdmVudD4pOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdmly
dHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgRklOQUwgeyByZWYoKTsgfQogICAg
ICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIE9WRVJSSURFIEZJTkFMIHsgZGVy
ZWYoKTsgfQogCiAgICAgICAgIFhNTEh0dHBSZXF1ZXN0KiBtX3htbEh0dHBSZXF1ZXN0OwotICAg
ICAgICBib29sIG1fbGVuZ3RoQ29tcHV0YWJsZTsKLSAgICAgICAgdW5zaWduZWQgbG9uZyBsb25n
IG1fbG9hZGVkOwotICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgbV90b3RhbDsKICAgICB9Owog
ICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFjOTM5OTk1MWRiODQ1N2YyYTRk
N2Q5ZWNlMWQ4NGQzMzhlMThmMWMuLjA0NjI3ODZjZDZlZTE5MGViNzFkMzdjODNjY2MzMTc3OTk1
MTA5N2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNC0wMS0wOCAgQ29tbWl0IFF1ZXVlICA8
Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjE2MTUzMi4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTYx
NTMyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjY2
NzcKKworICAgICAgICBDYXVzZWQgbG90cyBvZiBhc3NlcnRpb24gZmFpbHVyZXMgKFJlcXVlc3Rl
ZCBieSBhcCBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAqIGZhc3QveG1saHR0cHJl
cXVlc3QveG1saHR0cHJlcXVlc3QtZ2V0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L2xvYWRzdGFydC1ldmVudC1pbml0LWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2xvYWRzdGFydC1ldmVu
dC1pbml0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9vbmFib3J0LXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vbmFib3J0LXByb2dyZXNzZXZl
bnQtYXR0cmlidXRlcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0
cHJlcXVlc3Qvb25sb2FkLXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vbmxvYWQtcHJvZ3Jl
c3NldmVudC1hdHRyaWJ1dGVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC91cGxvYWQtb25hYm9ydC1wcm9ncmVzc2V2ZW50LWF0dHJpYnV0ZXMtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qv
dXBsb2FkLW9uYWJvcnQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cGxvYWQtb25sb2FkLXByb2dyZXNz
ZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC91cGxvYWQtb25sb2FkLXByb2dyZXNzZXZlbnQtYXR0cmlidXRl
cy5odG1sOiBSZW1vdmVkLgorCiAyMDE0LTAxLTA4ICBKaW53b28gU29uZyAgPGppbndvbzcuc29u
Z0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEVGTCBnYXJkZW5pbmcuIFJlYmFz
ZWxpbmUgYWZ0ZXIgcjE2MTUyMS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QveG1saHR0
cHJlcXVlc3QveG1saHR0cHJlcXVlc3QtZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVlc3QtZ2V0LWV4cGVjdGVkLnR4dAppbmRleCA2
Yjg3OWNiMjIwMzU3OTUyOGI3MGEwYjdlNTg5ZjY1NDJlN2U5MzdhLi45ZTc2NzM2MmE1NTM1ZGFm
YmVmMTEwM2EyMmQ2ZTg5Nzk0ODYzODlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3ht
bGh0dHByZXF1ZXN0L3htbGh0dHByZXF1ZXN0LWdldC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC1nZXQtZXhwZWN0ZWQudHh0
CkBAIC01Myw5ICs1Myw5IEBAIGV2ZW50UGhhc2UgOiAnMicKIGluaXRFdmVudCA6ICdmdW5jdGlv
biBpbml0RXZlbnQoKSB7CiAgICAgW25hdGl2ZSBjb2RlXQogfScKLWxlbmd0aENvbXB1dGFibGUg
OiAndHJ1ZScKLWxvYWRlZCA6ICcxNzQnCi1wb3NpdGlvbiA6ICcxNzQnCitsZW5ndGhDb21wdXRh
YmxlIDogJ2ZhbHNlJworbG9hZGVkIDogJzAnCitwb3NpdGlvbiA6ICcwJwogcHJldmVudERlZmF1
bHQgOiAnZnVuY3Rpb24gcHJldmVudERlZmF1bHQoKSB7CiAgICAgW25hdGl2ZSBjb2RlXQogfScK
QEAgLTY4LDcgKzY4LDcgQEAgc3RvcFByb3BhZ2F0aW9uIDogJ2Z1bmN0aW9uIHN0b3BQcm9wYWdh
dGlvbigpIHsKICAgICBbbmF0aXZlIGNvZGVdCiB9JwogdGFyZ2V0IDogJ1tvYmplY3QgWE1MSHR0
cFJlcXVlc3RdJwotdG90YWwgOiAnMTc0JwotdG90YWxTaXplIDogJzE3NCcKK3RvdGFsIDogJzAn
Cit0b3RhbFNpemUgOiAnMCcKIHR5cGUgOiAnbG9hZCcKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9sb2Fkc3RhcnQtZXZlbnQtaW5pdC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2xvYWRzdGFydC1l
dmVudC1pbml0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Y4
ZjJlMGQyODA5YjNjMDkyZGM1N2Y0ZTZiYzJmNjY2YzFlYzcxMS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L2xvYWRzdGFydC1ldmVudC1pbml0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDMgKzAsMCBAQAotCi1QQVNTIFhNTEh0dHBSZXF1ZXN0OiBlbnN1cmUgbG9hZHN0YXJ0
IGV2ZW50IHByb2dyZXNzIG1lbWJlcnMgYXJlIGNvcnJlY3RseSBpbml0aWFsaXplZCAKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9sb2Fkc3RhcnQt
ZXZlbnQtaW5pdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9s
b2Fkc3RhcnQtZXZlbnQtaW5pdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2
ZjM4MWUzYzBhZjY2YTQ5M2NkNTcwMzQ1MDk4YTk2MzNjYmIyOTBjLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvbG9hZHN0YXJ0LWV2ZW50LWluaXQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDQ0ICswLDAgQEAKLe+7vzwhRE9DVFlQRSBodG1sPg0KLTxodG1sPg0KLTxoZWFkPg0KLSAgICA8
dGl0bGU+WE1MSHR0cFJlcXVlc3Q6IGVuc3VyZSBsb2Fkc3RhcnQgZXZlbnQgcHJvZ3Jlc3MgbWVt
YmVycyBhcmUgY29ycmVjdGx5IGluaXRpYWxpemVkPC90aXRsZT4NCi0gICAgPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQotICAgIDxzY3Jp
cHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
Pg0KLTwvaGVhZD4NCi0NCi08Ym9keT4NCi0gICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCi0NCi0g
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KLSAgICAgICAgdmFyIHRlc3QgPSBh
c3luY190ZXN0KCkNCi0gICAgICAgIHRlc3Quc3RlcChmdW5jdGlvbigpIHsNCi0gICAgICAgICAg
ICB2YXIgY291bnQgPSAwOw0KLSAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVl
c3QoKTsNCi0NCi0gICAgICAgICAgICB4aHIub25sb2Fkc3RhcnQgPSB0ZXN0LnN0ZXBfZnVuYyhm
dW5jdGlvbihlKQ0KLSAgICAgICAgICAgIHsNCi0gICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlLmxvYWRlZCwgMCwgImxvYWRlZCBtZW1iZXIgb2YgeGhyLmxvYWRzdGFydCBldmVudCBzaG91
bGQgYmUgMCIpDQotICAgICAgICAgICAgICAgIGlmIChjb3VudCA9PSAxKSB7DQotICAgICAgICAg
ICAgICAgICAgICB0ZXN0LmRvbmUoKTsNCi0gICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAg
IH0pDQotDQotICAgICAgICAgICAgeGhyLnVwbG9hZC5vbmxvYWRzdGFydCA9IHRlc3Quc3RlcF9m
dW5jKGZ1bmN0aW9uKGUpDQotICAgICAgICAgICAgew0KLSAgICAgICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKGUubG9hZGVkLCAwLCAibG9hZGVkIG1lbWJlciBvZiB4aHIudXBsb2FkLmxvYWRzdGFy
dCBldmVudCBzaG91bGQgYmUgMCIpOw0KLSAgICAgICAgICAgIH0pDQotDQotICAgICAgICAgICAg
eGhyLm9ubG9hZGVuZCA9IGZ1bmN0aW9uKGUpDQotICAgICAgICAgICAgew0KLSAgICAgICAgICAg
ICAgICBpZiAoY291bnQrKyA8IDEpIHsNCi0gICAgICAgICAgICAgICAgICAgIHhoci5vcGVuKCJQ
T1NUIiwgIi4vcmVzb3VyY2VzL2NvbnRlbnQucGhwIiwgdHJ1ZSk7DQotICAgICAgICAgICAgICAg
ICAgICB4aHIuc2VuZCgidGVzdCIpOw0KLSAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAg
ICAgICANCi0gICAgICAgICAgICB9DQotDQotICAgICAgICAgICAgeGhyLm9wZW4oIlBPU1QiLCAi
Li9yZXNvdXJjZXMvY29udGVudC5waHAiLCB0cnVlKTsNCi0gICAgICAgICAgICB4aHIuc2VuZCgi
dGVzdCIpOw0KLSAgICAgICAgfSk7DQotICAgIDwvc2NyaXB0Pg0KLTwvYm9keT4NCi08L2h0bWw+
DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vbmFi
b3J0LXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L29uYWJvcnQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjE3YmY4NTU0MDA1
Zjg5NzFhNTJhNGE4Njg0MTBiN2JhMTJiNDJiNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L29uYWJvcnQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDYgKzAsMCBAQAotVGVzdCBjYXNlIGZvciBidWcgMTIwODI4OiBDb3JyZWN0bHkg
c2V0IFhIUiBsb2FkZW5kIGF0dHJpYnV0ZXMgKGxvYWRlZCBhbmQgdG90YWwpLgotCi1WZXJpZnkg
dGhhdCBhYm9ydCBhbmQgbG9hZGVuZCBldmVudHMgaGF2ZSB0aGVpciBQcm9ncmVzc0V2ZW50IGF0
dHJpYnV0ZXMgKGxvYWRlZCwgdG90YWwgYW5kIGxlbmd0aENvbXB1dGFibGUpIGNvcnJlY3RseSBz
ZXQuCi0KLVBBU1MKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9vbmFib3J0LXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vbmFib3J0LXByb2dyZXNzZXZlbnQtYXR0cmli
dXRlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MDY5MzZmNGYwMjE0NThk
ODdkMzFiOTBhOWEwYzFmMzkyNjFkOWFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb25h
Ym9ydC1wcm9ncmVzc2V2ZW50LWF0dHJpYnV0ZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDc3
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+VGVzdCBjYXNlIGZvciBidWcgMTIwODI4
IChhYm9ydCBjYXNlKTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlRlc3QgY2FzZSBmb3Ig
PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDgyOCI+
IGJ1ZyAxMjA4Mjg8L2E+OiBDb3JyZWN0bHkgc2V0IFhIUiBsb2FkZW5kIGF0dHJpYnV0ZXMgKGxv
YWRlZCBhbmQgdG90YWwpLjwvcD4KLTxwPlZlcmlmeSB0aGF0IGFib3J0IGFuZCBsb2FkZW5kIGV2
ZW50cyBoYXZlIHRoZWlyIFByb2dyZXNzRXZlbnQgYXR0cmlidXRlcyAobG9hZGVkLCB0b3RhbCBh
bmQgbGVuZ3RoQ29tcHV0YWJsZSkgY29ycmVjdGx5IHNldC48L3A+Ci08cCBpZD1jb25zb2xlPjwv
cD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLWlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwotfQotCi12YXIgc3RhdHVzID0gIlBBU1MiOwotdmFyIHRvdGFsID0gMDsKLXZh
ciBsb2FkZWQgPSAwOwotCi1mdW5jdGlvbiBvblByb2dyZXNzRXZlbnQoZSkKLXsKLSAgICBpZiAo
dG90YWwgIT0gZS50b3RhbCB8fCBsb2FkZWQgIT0gZS5sb2FkZWQpCi0gICAgICAgIGZhaWwoIkV2
ZW50ICIgKyBlLnR5cGUgKyAidG90YWwvbG9hZGVkIHZhbHVlcyBub3QgbWF0Y2hpbmc6ICIgCi0g
ICAgICAgICAgICArICIoIiArIGUubG9hZGVkICsgIiAvICIgKyBlLnRvdGFsICsgIiksIGV4cGVj
dGVkICgiICsgbG9hZGVkICsgIiAvICIgKyB0b3RhbCArICIpIik7Ci19Ci0KLWZ1bmN0aW9uIG9u
VW5leHBlY3RlZFByb2dyZXNzRXZlbnQoZSkKLXsKLSAgICBmYWlsKCJ1bmV4cGVjdGVkIFByb2dy
ZXNzRXZlbnQ6ICIgKyBlLnR5cGUpOwotfQotCi1mdW5jdGlvbiBmYWlsKG1zZykKLXsKLSAgICBz
dGF0dXMgPSAiRkFJTEVEOiAiICsgbXNnOwotICAgIGNvbXBsZXRlVGVzdCgpOwotICAgIHN0YXR1
cyA9ICIiOwotfQotCi1mdW5jdGlvbiBjb21wbGV0ZVRlc3QoKQotewotICAgIGxvZyhzdGF0dXMp
OwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKSAKLXsKLSAgICB2YXIgaXRlcmF0aW9uID0gMjsK
LSAgICB2YXIgZGVsYXkgPSAiMTAwMCI7Ci0KLSAgICB2YXIgcmVxID0gbmV3IFhNTEh0dHBSZXF1
ZXN0KCk7Ci0gICAgcmVxLm9ucHJvZ3Jlc3MgPSBmdW5jdGlvbihlKXsKLSAgICAgICAgdG90YWwg
PSBlLnRvdGFsOwotICAgICAgICBsb2FkZWQgPSBlLmxvYWRlZDsKLSAgICAgICAgcmVxLmFib3J0
KCk7Ci0gICAgfTsKLSAgICByZXEub25lcnJvciA9IG9uVW5leHBlY3RlZFByb2dyZXNzRXZlbnQ7
Ci0gICAgcmVxLm9uYWJvcnQgPSBvblByb2dyZXNzRXZlbnQ7Ci0gICAgcmVxLm9ubG9hZGVuZCA9
IGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgb25Qcm9ncmVzc0V2ZW50KGUpOwotICAgICAgICBjb21w
bGV0ZVRlc3QoKTsKLSAgICB9Ci0gICAgcmVxLm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvZG93bmxv
YWQtd2l0aC1kZWxheS5waHA/aXRlcmF0aW9uPSIgKyBpdGVyYXRpb24gKyAiJmRlbGF5PSIgKyBk
ZWxheSwgdHJ1ZSk7Ci0gICAgcmVxLnNlbmQobnVsbCk7Ci0KLX0KLQotZnVuY3Rpb24gbG9nKG1l
c3NhZ2UpCi17Ci0gICAgdmFyIGNvbnNvbGVFbHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29uc29sZSIpOwotICAgIGNvbnNvbGVFbHQuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyLz4i
OwotfQotCi10ZXN0KCk7IAotCi08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb25sb2FkLXByb2dyZXNz
ZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L29ubG9hZC1wcm9ncmVzc2V2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZThkZDIxZDhhNjM0MjE2NzdkZTFlNzk2
MDI3NmU1M2E4ZDc0ZmUyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb25sb2FkLXByb2dy
ZXNzZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICsw
LDAgQEAKLVRlc3QgY2FzZSBmb3IgYnVnIDEyMDgyODogQ29ycmVjdGx5IHNldCBYSFIgbG9hZGVu
ZCBhdHRyaWJ1dGVzIChsb2FkZWQgYW5kIHRvdGFsKS4KLQotVmVyaWZ5IHRoYXQgbG9hZCBhbmQg
bG9hZGVuZCBldmVudHMgaGF2ZSB0aGVpciBQcm9ncmVzc0V2ZW50IGF0dHJpYnV0ZXMgKGxvYWRl
ZCwgdG90YWwgYW5kIGxlbmd0aENvbXB1dGFibGUpIGNvcnJlY3RseSBzZXQuCi0KLVBBU1MKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vbmxvYWQt
cHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L29ubG9hZC1wcm9ncmVzc2V2ZW50LWF0dHJpYnV0ZXMuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGMwZjg3NDg2YWYwOTVkMjIwY2Y1MGQwNmUwOTI2NjI4
MTE3NDNjNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L29ubG9hZC1wcm9ncmVzc2V2ZW50
LWF0dHJpYnV0ZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDc4ICswLDAgQEAKLTxodG1sPgot
PGhlYWQ+Ci08dGl0bGU+VGVzdCBjYXNlIGZvciBidWcgMTIwODI4PC90aXRsZT4KLTwvaGVhZD4K
LTxib2R5PgotPHA+IFRlc3QgY2FzZSBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyMDgyOCI+IGJ1ZyAxMjA4Mjg8L2E+OiBDb3JyZWN0bHkgc2V0
IFhIUiBsb2FkZW5kIGF0dHJpYnV0ZXMgKGxvYWRlZCBhbmQgdG90YWwpLjwvcD4KLTxwPiBWZXJp
ZnkgdGhhdCBsb2FkIGFuZCBsb2FkZW5kIGV2ZW50cyBoYXZlIHRoZWlyIFByb2dyZXNzRXZlbnQg
YXR0cmlidXRlcyAobG9hZGVkLCB0b3RhbCBhbmQgbGVuZ3RoQ29tcHV0YWJsZSkgY29ycmVjdGx5
IHNldC48L3A+Ci08cCBpZD1jb25zb2xlPjwvcD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQotCi12YXIgc3RhdHVzID0g
IlBBU1MiOwotdmFyIHRvdGFsID0gMDsKLXZhciBsb2FkZWQgPSAwOwotCi1mdW5jdGlvbiBvblBy
b2dyZXNzRXZlbnQoZSkKLXsKLSAgICBpZiAodG90YWwgIT0gZS50b3RhbCB8fCBsb2FkZWQgIT0g
ZS5sb2FkZWQpCi0gICAgICAgIGZhaWwoIkV2ZW50ICIgKyBlLnR5cGUgKyAiIHRvdGFsL2xvYWRl
ZCB2YWx1ZXMgbm90IG1hdGNoaW5nOiAiIAotICAgICAgICAgICAgKyAiKCIgKyBlLmxvYWRlZCAr
ICIgLyAiICsgZS50b3RhbCArICIpLCBleHBlY3RlZCAoIiArIGxvYWRlZCArICIgLyAiICsgdG90
YWwgKyAiKSIpOwotfQotCi1mdW5jdGlvbiBvblVuZXhwZWN0ZWRQcm9ncmVzc0V2ZW50KGUpCi17
Ci0gICAgZmFpbCgidW5leHBlY3RlZCBQcm9ncmVzc0V2ZW50OiAiICsgZS50eXBlKTsKLX0KLQot
ZnVuY3Rpb24gZmFpbChtc2cpCi17Ci0gICAgc3RhdHVzID0gIkZBSUxFRDogIiArIG1zZzsKLSAg
ICBjb21wbGV0ZVRlc3QoKTsKLSAgICBzdGF0dXMgPSAiIjsKLX0KLQotZnVuY3Rpb24gY29tcGxl
dGVUZXN0KCkKLXsKLSAgICBsb2coc3RhdHVzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkg
Ci17Ci0gICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwotICAgIHJlcS5vbnJlYWR5
c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbihlKSB7Ci0gICAgICAgIGlmIChyZXEucmVhZHlTdGF0ZSA9
PSByZXEuRE9ORSkgewotICAgICAgICAgICAgaWYgKHRoaXMuc3RhdHVzID09IDIwMCkKLSAgICAg
ICAgICAgICAgICB0b3RhbCA9IGxvYWRlZCA9IHJlcS5yZXNwb25zZVRleHQubGVuZ3RoOwotICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGZhaWwoInVuZXhwZWN0ZWQgc3RhdHVzOiAi
ICsgc3RhdHVzKTsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXEub25hYm9ydCA9IG9uVW5leHBl
Y3RlZFByb2dyZXNzRXZlbnQ7Ci0gICAgcmVxLm9uZXJyb3IgPSBvblVuZXhwZWN0ZWRQcm9ncmVz
c0V2ZW50OwotICAgIHJlcS5vbmxvYWQgPSBvblByb2dyZXNzRXZlbnQ7Ci0gICAgcmVxLm9ubG9h
ZGVuZCA9IGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgb25Qcm9ncmVzc0V2ZW50KGUpOwotICAgICAg
ICBjb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0KLSAgICByZXEub3BlbigiR0VUIiwgInJlc291cmNl
cy9nZXQudHh0IiwgdHJ1ZSk7IAotICAgIHJlcS5zZW5kKCk7Ci19Ci0KLWZ1bmN0aW9uIGxvZyht
ZXNzYWdlKQotewotICAgIHZhciBjb25zb2xlRWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnNvbGUiKTsKLSAgICBjb25zb2xlRWx0LmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxici8+
IjsKLX0KLQotdGVzdCgpOyAKLQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VwbG9hZC1vbmFib3J0
LXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VwbG9hZC1vbmFib3J0LXByb2dyZXNzZXZlbnQtYXR0cmli
dXRlcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI0OWU3NThk
ZGNjOWZkOGViOTcxNmI5NmI4NmM0ODUyYWU4ZDRjYmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC91cGxvYWQtb25hYm9ydC1wcm9ncmVzc2V2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi1UZXN0IGNhc2UgZm9yIGJ1ZyAxMjA4Mjg6
IENvcnJlY3RseSBzZXQgWEhSIGxvYWRlbmQgYXR0cmlidXRlcyAobG9hZGVkIGFuZCB0b3RhbCku
Ci0KLVVwbG9hZCBjYXNlOiB2ZXJpZnkgdGhhdCBhYm9ydCBhbmQgbG9hZGVuZCBldmVudHMgaGF2
ZSB0aGVpciBQcm9ncmVzc0V2ZW50IGF0dHJpYnV0ZXMgKGxvYWRlZCwgdG90YWwgYW5kIGxlbmd0
aENvbXB1dGFibGUpIGNvcnJlY3RseSBzZXQuCi0KLVBBU1MKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cGxvYWQtb25hYm9ydC1wcm9ncmVzc2V2
ZW50LWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvdXBsb2FkLW9uYWJvcnQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmODExNzAyODQ1NmNkMWVlMzE4YjUwNjRkYzQwZTFhNGJi
YThjYTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cGxvYWQtb25hYm9ydC1wcm9ncmVz
c2V2ZW50LWF0dHJpYnV0ZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDc4ICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08dGl0bGU+VGVzdCBjYXNlIGZvciBidWcgMTIwODI4IChhYm9ydCBjYXNl
KTwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlRlc3QgY2FzZSBmb3IgPGEgaHJlZj0iaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDgyOCI+IGJ1ZyAxMjA4Mjg8
L2E+OiBDb3JyZWN0bHkgc2V0IFhIUiBsb2FkZW5kIGF0dHJpYnV0ZXMgKGxvYWRlZCBhbmQgdG90
YWwpLjwvcD4KLTxwPlVwbG9hZCBjYXNlOiB2ZXJpZnkgdGhhdCBhYm9ydCBhbmQgbG9hZGVuZCBl
dmVudHMgaGF2ZSB0aGVpciBQcm9ncmVzc0V2ZW50IGF0dHJpYnV0ZXMgKGxvYWRlZCwgdG90YWwg
YW5kIGxlbmd0aENvbXB1dGFibGUpIGNvcnJlY3RseSBzZXQuPC9wPgotPHAgaWQ9Y29uc29sZT48
L3A+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1pZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKLX0KLQotdmFyIHN0YXR1cyA9ICJQQVNTIjsKLXZhciB0b3RhbCA9IDE7Ci12
YXIgbG9hZGVkID0gMTsKLXZhciB1cGxvYWRlZERhdGEgPSAiZCI7Ci0KLWZ1bmN0aW9uIG9uUHJv
Z3Jlc3NFdmVudChlKQotewotICAgIGlmICghZS5sZW5ndGhDb21wdXRhYmxlKQotICAgICAgICBm
YWlsKCJFdmVudCAiICsgZS50eXBlICsgIiBsZW5ndGhDb21wdXRhYmxlIGlzIGZhbHNlIik7Ci0g
ICAgaWYgKGUudG90YWwgIT0gdG90YWwgfHwgZS5sb2FkZWQgIT0gbG9hZGVkKQotICAgICAgICBm
YWlsKCJFdmVudCAiICsgZS50eXBlICsgIiB0b3RhbC9sb2FkZWQgdmFsdWVzIG5vdCBtYXRjaGlu
ZzogIiAKLSAgICAgICAgICAgICsgIigiICsgZS5sb2FkZWQgKyAiIC8gIiArIGUudG90YWwgKyAi
KSwgZXhwZWN0ZWQgKCIgKyBsb2FkZWQgKyAiIC8gIiArIHRvdGFsICsgIikiKTsKLX0KLQotZnVu
Y3Rpb24gb25VbmV4cGVjdGVkUHJvZ3Jlc3NFdmVudChlKQotewotICAgIGZhaWwoInVuZXhwZWN0
ZWQgUHJvZ3Jlc3NFdmVudDogIiArIGUudHlwZSk7Ci19Ci0KLWZ1bmN0aW9uIGZhaWwobXNnKQot
ewotICAgIHN0YXR1cyA9ICJGQUlMRUQ6ICIgKyBtc2c7Ci0gICAgY29tcGxldGVUZXN0KCk7Ci0g
ICAgc3RhdHVzID0gIiI7Ci19Ci0KLWZ1bmN0aW9uIGNvbXBsZXRlVGVzdCgpCi17Ci0gICAgbG9n
KHN0YXR1cyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIHJlcSA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOwotICAgIHJlcS51cGxvYWQub25lcnJvciA9IG9uVW5leHBlY3Rl
ZFByb2dyZXNzRXZlbnQ7Ci0gICAgcmVxLnVwbG9hZC5vbmxvYWQgPSBvblVuZXhwZWN0ZWRQcm9n
cmVzc0V2ZW50OwotICAgIHJlcS51cGxvYWQub25hYm9ydCA9IG9uUHJvZ3Jlc3NFdmVudDsKLSAg
ICByZXEudXBsb2FkLm9ucHJvZ3Jlc3MgPSBmdW5jdGlvbihlKSB7Ci0gICAgICAgIG9uUHJvZ3Jl
c3NFdmVudChlKTsKLSAgICAgICAgcmVxLmFib3J0KCk7Ci0gICAgfQotICAgIHJlcS51cGxvYWQu
b25sb2FkZW5kID0gZnVuY3Rpb24oZSkgewotICAgICAgICBvblByb2dyZXNzRXZlbnQoZSk7Ci0g
ICAgICAgIGNvbXBsZXRlVGVzdCgpOwotICAgIH0KLQotICAgIHJlcS5vcGVuKCJQT1NUIiwgInJl
c291cmNlcy9wb3N0LWVjaG8uY2dpIiwgdHJ1ZSk7Ci0gICAgcmVxLnNlbmQodXBsb2FkZWREYXRh
KTsKLX0KLQotCi1mdW5jdGlvbiBsb2cobWVzc2FnZSkKLXsKLSAgICB2YXIgY29uc29sZUVsdCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7Ci0gICAgY29uc29sZUVsdC5pbm5l
ckhUTUwgKz0gbWVzc2FnZSArICI8YnIvPiI7Ci19Ci0KLXRlc3QoKTsgCi0KLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC91cGxvYWQtb25sb2FkLXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VwbG9hZC1vbmxv
YWQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMGY2YzhiYzUxMzZhZWFkODIzMWRmYmY5OWM4YmFhNzViYzI4OTZhNy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VwbG9hZC1vbmxvYWQtcHJvZ3Jlc3NldmVudC1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotVGVz
dCBjYXNlIGZvciBidWcgMTIwODI4OiBDb3JyZWN0bHkgc2V0IFhIUiBsb2FkZW5kIGF0dHJpYnV0
ZXMgKGxvYWRlZCBhbmQgdG90YWwpLgotCi1VcGxvYWQgY2FzZTogdmVyaWZ5IHRoYXQgbG9hZCBh
bmQgbG9hZGVuZCBldmVudHMgaGF2ZSB0aGVpciBQcm9ncmVzc0V2ZW50IGF0dHJpYnV0ZXMgKGxv
YWRlZCwgdG90YWwgYW5kIGxlbmd0aENvbXB1dGFibGUpIGNvcnJlY3RseSBzZXQuCi0KLVBBU1MK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cGxv
YWQtb25sb2FkLXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cGxvYWQtb25sb2FkLXByb2dyZXNzZXZlbnQtYXR0cmli
dXRlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDMxYjBjYTcwZWY4OWIz
YTZjNDUxNDllZDUyZTQyNzU2MTE4OTlmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXBs
b2FkLW9ubG9hZC1wcm9ncmVzc2V2ZW50LWF0dHJpYnV0ZXMuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDc0ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+VGVzdCBjYXNlIGZvciBidWcg
MTIwODI4PC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotPHA+IFRlc3QgY2FzZSBmb3IgPGEgaHJl
Zj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDgyOCI+IGJ1ZyAx
MjA4Mjg8L2E+OiBDb3JyZWN0bHkgc2V0IFhIUiBsb2FkZW5kIGF0dHJpYnV0ZXMgKGxvYWRlZCBh
bmQgdG90YWwpLjwvcD4KLTxwPiBVcGxvYWQgY2FzZTogdmVyaWZ5IHRoYXQgbG9hZCBhbmQgbG9h
ZGVuZCBldmVudHMgaGF2ZSB0aGVpciBQcm9ncmVzc0V2ZW50IGF0dHJpYnV0ZXMgKGxvYWRlZCwg
dG90YWwgYW5kIGxlbmd0aENvbXB1dGFibGUpIGNvcnJlY3RseSBzZXQuPC9wPgotPHAgaWQ9Y29u
c29sZT48L3A+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1pZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLX0KLQotdmFyIHN0YXR1cyA9ICJQQVNTIjsKLXZhciB0b3RhbCA9
IDE7Ci12YXIgbG9hZGVkID0gMTsKLXZhciB1cGxvYWRlZERhdGEgPSAiZCI7Ci0KLWZ1bmN0aW9u
IG9uUHJvZ3Jlc3NFdmVudChlKQotewotICAgIGlmICghZS5sZW5ndGhDb21wdXRhYmxlKQotICAg
ICAgICBmYWlsKCJFdmVudCAiICsgZS50eXBlICsgImV2ZW50IGxlbmd0aENvbXB1dGFibGUgPSBm
YWxzZSIpOwotICAgIGlmIChlLnRvdGFsICE9IHRvdGFsIHx8IGUubG9hZGVkICE9IGxvYWRlZCkK
LSAgICAgICAgZmFpbCgiRXZlbnQgIiArIGUudHlwZSArICJ0b3RhbC9sb2FkZWQgdmFsdWVzIG5v
dCBtYXRjaGluZzogIgotICAgICAgICAgICAgKyAiKCIgKyBlLmxvYWRlZCArICIgLyAiICsgZS50
b3RhbCArICIpLCBleHBlY3RlZCAoIiArIGxvYWRlZCArICIgLyAiICsgdG90YWwgKyAiKSIpOwot
fQotCi1mdW5jdGlvbiBvblVuZXhwZWN0ZWRQcm9ncmVzc0V2ZW50KGUpCi17Ci0gICAgZmFpbCgi
dW5leHBlY3RlZCBQcm9ncmVzc0V2ZW50OiAiICsgZS50eXBlKTsKLX0KLQotZnVuY3Rpb24gZmFp
bChtc2cpCi17Ci0gICAgc3RhdHVzID0gIkZBSUxFRDogIiArIG1zZzsKLSAgICBjb21wbGV0ZVRl
c3QoKTsKLSAgICBzdGF0dXMgPSAiIjsKLX0KLQotZnVuY3Rpb24gY29tcGxldGVUZXN0KCkKLXsK
LSAgICBsb2coc3RhdHVzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIg
cmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAgcmVxLnVwbG9hZC5vbmFib3J0ID0gb25V
bmV4cGVjdGVkUHJvZ3Jlc3NFdmVudDsKLSAgICByZXEudXBsb2FkLm9uZXJyb3IgPSBvblVuZXhw
ZWN0ZWRQcm9ncmVzc0V2ZW50OwotICAgIHJlcS51cGxvYWQub25wcm9ncmVzcyA9IG9uUHJvZ3Jl
c3NFdmVudDsKLSAgICByZXEudXBsb2FkLm9ubG9hZCA9IG9uUHJvZ3Jlc3NFdmVudDsKLSAgICBy
ZXEudXBsb2FkLm9ubG9hZGVuZCA9IGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgb25Qcm9ncmVzc0V2
ZW50KGUpOwotICAgICAgICBjb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0KLSAgICByZXEub3Blbigi
UE9TVCIsICJyZXNvdXJjZXMvcG9zdC1lY2hvLmNnaSIsIHRydWUpOwotICAgIHJlcS5zZW5kKHVw
bG9hZGVkRGF0YSk7Ci19Ci0KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIHZhciBjb25z
b2xlRWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKLSAgICBjb25zb2xl
RWx0LmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxici8+IjsKLX0KLQotdGVzdCgpOyAKLQotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>