<?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>62368</bug_id>
          
          <creation_ts>2011-06-09 05:05:01 -0700</creation_ts>
          <short_desc>REGRESSION(r88387): New tests introduced in 88387 fail on Leopard,GTK,Qt bots (Requested by Ossy on #webkit).</short_desc>
          <delta_ts>2011-06-09 05:09:30 -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>62257</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>abarth</cc>
    
    <cc>kbr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>417951</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-09 05:05:01 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/88387 broke the build:
New tests introduced in 88387 fail on Leopard,GTK,Qt bots (Requested by Ossy 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>417952</commentid>
    <comment_count>1</comment_count>
      <attachid>96573</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-09 05:05:20 -0700</bug_when>
    <thetext>Created attachment 96573
ROLLOUT of r88387

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 --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417953</commentid>
    <comment_count>2</comment_count>
      <attachid>96573</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-09 05:09:25 -0700</bug_when>
    <thetext>Comment on attachment 96573
ROLLOUT of r88387

Clearing flags on attachment: 96573

Committed r88443: &lt;http://trac.webkit.org/changeset/88443&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417954</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-09 05:09:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96573</attachid>
            <date>2011-06-09 05:05:20 -0700</date>
            <delta_ts>2011-06-09 05:09:25 -0700</delta_ts>
            <desc>ROLLOUT of r88387</desc>
            <filename>bug-62368-20110609120351.patch</filename>
            <type>text/plain</type>
            <size>40618</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg0NDIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjMjljN2I3MjUwMDFhM2FiNTJlNzEw
OTQ5MjBhNDg1Y2MwMmM2MmZmLi5mMTQzM2E4MDRiZjc2ZjA5MGRhNDkyYzU4ZmM5NDlmN2NmMjY5
YWQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDYtMDkgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHI4ODM4Ny4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvODgz
ODcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzY4
CisKKyAgICAgICAgTmV3IHRlc3RzIGludHJvZHVjZWQgaW4gODgzODcgZmFpbCBvbiBMZW9wYXJk
LEdUSyxRdCBib3RzCisgICAgICAgIChSZXF1ZXN0ZWQgYnkgT3NzeSBvbiAjd2Via2l0KS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvY2FudmFzL3dlYmdsL29yaWdpbi1jbGVhbi1jb25mb3JtYW5j
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9jYW52YXMvd2ViZ2wvb3JpZ2lu
LWNsZWFuLWNvbmZvcm1hbmNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS93
ZWJnbC1yZW1vdGUtcmVhZC1yZW1vdGUtaW1hZ2UtYWxsb3dlZC1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS93ZWJnbC1yZW1vdGUtcmVhZC1yZW1v
dGUtaW1hZ2UtYWxsb3dlZC13aXRoLWNyZWRlbnRpYWxzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3dlYmdsLXJlbW90ZS1yZWFkLXJlbW90ZS1p
bWFnZS1hbGxvd2VkLXdpdGgtY3JlZGVudGlhbHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L3dlYmdsLXJlbW90ZS1yZWFkLXJlbW90ZS1pbWFnZS1hbGxvd2Vk
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS93ZWJnbC1yZW1v
dGUtcmVhZC1yZW1vdGUtaW1hZ2UtYmxvY2tlZC1uby1jcm9zc29yaWdpbi1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS93ZWJnbC1yZW1vdGUtcmVh
ZC1yZW1vdGUtaW1hZ2UtYmxvY2tlZC1uby1jcm9zc29yaWdpbi5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy13azIvU2tpcHBlZDoKKwogMjAxMS0wNi0wOSAgQ3NhYmEgT3N6
dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gVGhlIHByb2ZpbGVy
IHRlc3QgaXMgZW50aXJlbHkgdW5yZWxhdGVkIHRvIHRoZSBvcmlnaW5hbCBjaGFuZ2Ugcjg4MzM3
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhbnZhcy93ZWJnbC9vcmlnaW4t
Y2xlYW4tY29uZm9ybWFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
YW52YXMvd2ViZ2wvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLWV4cGVjdGVkLnR4dAppbmRleCBj
YTkyMTdjNzlhYzI0NTk5MjBjZTc2OTJjYTY2M2U5ZmFhZGMyMTZmLi5kMjA1ZjFiYjlkNmNiODJi
NTVmNDk3MTQzMzMyYmI0OWMyYWNiMDY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhbnZhcy93ZWJnbC9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FudmFzL3dlYmdsL29yaWdpbi1jbGVhbi1jb25m
b3JtYW5jZS1leHBlY3RlZC50eHQKQEAgLTEsMjkgKzEsMzEgQEAKLVRoaXMgdGVzdCBlbnN1cmVz
IFdlYkdMIGltcGxlbWVudGF0aW9ucyBmb2xsb3cgcHJvcGVyIHNhbWUtb3JpZ2luIHJlc3RyaWN0
aW9ucy4KK1RoaXMgdGVzdCBlbnN1cmVzIFdlYkdMIGltcGxlbWVudGF0aW9ucyBmb2xsb3cgcHJv
cGVyIG9yaWdpbiByZXN0cmljdGlvbnMuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAog
UEFTUyBQbGF5YWJsZSB2aWRlbyBmb3JtYXQgZm91bmQKIFBBU1MgaW1nIHdhcyBsb2FkZWQKIAot
Y2hlY2sgdGhhdCBhbiBhdHRlbXB0IHRvIHVwbG9hZCBhbiBpbWFnZSBmcm9tIGFub3RoZXIgb3Jp
Z2luIHRocm93cyBhbiBleGNlcHRpb24uCi1QQVNTIHRleEltYWdlMkQgd2l0aCBjcm9zcy1vcmln
aW4gaW1hZ2Ugc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgdGV4U3ViSW1hZ2UyRCB3aXRo
IGNyb3NzLW9yaWdpbiBpbWFnZSBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLgotY2hlY2sgdGhhdCBy
ZWFkUGl4ZWxzIGFuZCB0b0RhdGFVUkwgY29udGludWUgdG8gd29yayBhZ2FpbnN0IHRoaXMgY2Fu
dmFzLgotUEFTUyByZWFkUGl4ZWxzIHNob3VsZCBuZXZlciB0aHJvdyBleGNlcHRpb24gLS0gbm90
IHBvc3NpYmxlIHRvIGRpcnR5IG9yaWdpbiBvZiBXZWJHTCBjYW52YXMuCi1QQVNTIHNob3VsZCBu
b3QgdGhyb3cgZXhjZXB0aW9uIGJ5IHRvRGF0YVVSTCBmb3IgV2ViR0wgY2FudmFzLCB3aGljaCBz
aG91bGQgc3RheSBvcmlnaW4gY2xlYW4uCi1jaGVjayB0aGF0IGFuIGF0dGVtcHQgdG8gdXBsb2Fk
IGEgdGFpbnRlZCBjYW52YXMgdGhyb3dzIGFuIGV4Y2VwdGlvbi4KK2NoZWNrIHRoYXQgY29weWlu
ZyBhbiBpbWcgZnJvbSBhbm90aGVyIG9yaWdpbiBjbGVhcnMgdGhlIG9yaWdpbi1jbGVhbiBmbGFn
LgorUEFTUyBzaG91bGQgbm90IHRocm93IGV4Y2VwdGlvbiBieSByZWFkUGl4ZWxzIGZvciBvcmln
aW4gY2xlYW4gY2FudmFzLgorUEFTUyBzaG91bGQgbm90IHRocm93IGV4Y2VwdGlvbiBieSB0b0Rh
dGFVUkwgZm9yIG9yaWdpbiBjbGVhbiBjYW52YXMuCitQQVNTIHNob3VsZCB0aHJvdyBleGNlcHRp
b24gYnkgcmVhZFBpeGVscyBmb3IgTk9OIG9yaWdpbiBjbGVhbiBjYW52YXMuCitQQVNTIHNob3Vs
ZCB0aHJvdyBleGNlcHRpb24gYnkgdG9EYXRhVVJMIGZvciBOT04gb3JpZ2luIGNsZWFuIGNhbnZh
cy4KKworY2hlY2sgdGhhdCBjb3B5aW5nIGZyb20gMSB1bmNsZWFuIDNkIGNhbnZhcyB0byBhbm90
aGVyIGNsZWFycyB0aGUgb3JpZ2luLWNsZWFuIGZsYWcgb24gdGhlIHNlY29uZCBjYW52YXMuCitQ
QVNTIHNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9uIGJ5IHJlYWRQaXhlbHMgZm9yIG9yaWdpbiBj
bGVhbiBjYW52YXMuCitQQVNTIHNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9uIGJ5IHRvRGF0YVVS
TCBmb3Igb3JpZ2luIGNsZWFuIGNhbnZhcy4KK1BBU1Mgc2hvdWxkIHRocm93IGV4Y2VwdGlvbiBi
eSByZWFkUGl4ZWxzIGZvciBOT04gb3JpZ2luIGNsZWFuIGNhbnZhcy4KK1BBU1Mgc2hvdWxkIHRo
cm93IGV4Y2VwdGlvbiBieSB0b0RhdGFVUkwgZm9yIE5PTiBvcmlnaW4gY2xlYW4gY2FudmFzLgor
CitjaGVjayB0aGF0IGNvcHlpbmcgZnJvbSAxIHVuY2xlYW4gM2QgY2FudmFzIHRvIGEgMmQgY2Fu
dmFzIGNsZWFycyB0aGUgb3JpZ2luLWNsZWFuIGZsYWcgb24gdGhlIDJkIGNhbnZhcy4KK1BBU1Mg
c2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24gYnkgdG9EYXRhVVJMIGZvciBvcmlnaW4gY2xlYW4g
Y2FudmFzLgorUEFTUyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uIGJ5IHRvRGF0YVVSTCBmb3IgTk9O
IG9yaWdpbiBjbGVhbiBjYW52YXMuCisKK2NoZWNrIHRoYXQgY29weWluZyBhIHZpZGVvIGZyb20g
YW5vdGhlciBvcmlnaW4gY2xlYXJzIHRoZSBvcmlnaW4tY2xlYW4gZmxhZy4KK1BBU1Mgc2hvdWxk
IG5vdCB0aHJvdyBleGNlcHRpb24gYnkgcmVhZFBpeGVscyBmb3Igb3JpZ2luIGNsZWFuIGNhbnZh
cy4KK1BBU1Mgc2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24gYnkgdG9EYXRhVVJMIGZvciBvcmln
aW4gY2xlYW4gY2FudmFzLgorUEFTUyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uIGJ5IHJlYWRQaXhl
bHMgZm9yIE5PTiBvcmlnaW4gY2xlYW4gY2FudmFzLgogUEFTUyBzaG91bGQgdGhyb3cgZXhjZXB0
aW9uIGJ5IHRvRGF0YVVSTCBmb3IgTk9OIG9yaWdpbiBjbGVhbiBjYW52YXMuCi1QQVNTIHRleElt
YWdlMkQgd2l0aCBOT04gb3JpZ2luIGNsZWFuIGNhbnZhcyBzaG91bGQgdGhyb3cgZXhjZXB0aW9u
LgotUEFTUyB0ZXhTdWJJbWFnZTJEIHdpdGggTk9OIG9yaWdpbiBjbGVhbiBjYW52YXMgc2hvdWxk
IHRocm93IGV4Y2VwdGlvbi4KLWNoZWNrIHRoYXQgcmVhZFBpeGVscyBhbmQgdG9EYXRhVVJMIGNv
bnRpbnVlIHRvIHdvcmsgYWdhaW5zdCB0aGlzIGNhbnZhcy4KLVBBU1MgcmVhZFBpeGVscyBzaG91
bGQgbmV2ZXIgdGhyb3cgZXhjZXB0aW9uIC0tIG5vdCBwb3NzaWJsZSB0byBkaXJ0eSBvcmlnaW4g
b2YgV2ViR0wgY2FudmFzLgotUEFTUyBzaG91bGQgbm90IHRocm93IGV4Y2VwdGlvbiBieSB0b0Rh
dGFVUkwgZm9yIFdlYkdMIGNhbnZhcywgd2hpY2ggc2hvdWxkIHN0YXkgb3JpZ2luIGNsZWFuLgot
Y2hlY2sgdGhhdCBhbiBhdHRlbXB0IHRvIHVwbG9hZCBhIHZpZGVvIGZyb20gYW5vdGhlciBvcmln
aW4gdGhyb3dzIGFuIGV4Y2VwdGlvbi4KLVBBU1MgdGV4SW1hZ2UyRCB3aXRoIGNyb3NzLW9yaWdp
biB2aWRlbyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLgotUEFTUyB0ZXhTdWJJbWFnZTJEIHdpdGgg
Y3Jvc3Mtb3JpZ2luIHZpZGVvIHNob3VsZCB0aHJvdyBleGNlcHRpb24uCi1jaGVjayB0aGF0IHJl
YWRQaXhlbHMgYW5kIHRvRGF0YVVSTCBjb250aW51ZSB0byB3b3JrIGFnYWluc3QgdGhpcyBjYW52
YXMuCi1QQVNTIHJlYWRQaXhlbHMgc2hvdWxkIG5ldmVyIHRocm93IGV4Y2VwdGlvbiAtLSBub3Qg
cG9zc2libGUgdG8gZGlydHkgb3JpZ2luIG9mIFdlYkdMIGNhbnZhcy4KLVBBU1Mgc2hvdWxkIG5v
dCB0aHJvdyBleGNlcHRpb24gYnkgdG9EYXRhVVJMIGZvciBXZWJHTCBjYW52YXMsIHdoaWNoIHNo
b3VsZCBzdGF5IG9yaWdpbiBjbGVhbi4KIAogVEVTVCBDT01QTEVURQotIAorICAgCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhbnZhcy93ZWJnbC9vcmlnaW4tY2xlYW4tY29u
Zm9ybWFuY2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FudmFzL3dlYmdsL29yaWdp
bi1jbGVhbi1jb25mb3JtYW5jZS5odG1sCmluZGV4IGU5ODM2MTZiZDRkYTlkZGRiOTM2MDJlZWQ3
NjNhYzcwNmEyNzUwY2EuLjMzYmIwNTQ1YzgxZDFmMzZkZTgxMTQyMTdlOWI5MzdjMTdjNTQzY2Qg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FudmFzL3dlYmdsL29yaWdpbi1j
bGVhbi1jb25mb3JtYW5jZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FudmFz
L3dlYmdsL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sCkBAIC04Miw4ICs4Miw2IEBAIGZ1
bmN0aW9uIGNhdXNlZEV4Y2VwdGlvbihmdW5jKSB7CiAgIHJldHVybiBoYWRFeGNlcHRpb247CiB9
CiAKLXZhciB0ZXN0VmlkZW8gPSBmYWxzZTsKLQogZnVuY3Rpb24gaW5pdCgpIHsKICAgdmFyIHZp
ZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZpZGVvIik7CiAKQEAgLTExMCw3ICsxMDgs
NiBAQCBmdW5jdGlvbiBpbml0KCkgewogICAgIHZpZGVvLnNyYyA9IHZpZGVvRmlsZTsKICAgICB2
aWRlby5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIiwgcnVuVGVzdHMpOwogICAgIHZpZGVvLnBs
YXkoKTsKLSAgICB0ZXN0VmlkZW8gPSB0cnVlOwogICB9IGVsc2UgewogICAgIC8vIFN0aWxsIHJ1
biB0aGUgb3RoZXIgdGVzdHMsIGV2ZW4gaWYgdGhlIHZpZGVvIGZhaWxlZC4KICAgICBydW5UZXN0
cygpOwpAQCAtMTE4LDIyICsxMTUsMTAgQEAgZnVuY3Rpb24gaW5pdCgpIHsKIH0KIAogZnVuY3Rp
b24gcnVuVGVzdHMoKSB7Ci0gIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyBXZWJHTCBp
bXBsZW1lbnRhdGlvbnMgZm9sbG93IHByb3BlciBzYW1lLW9yaWdpbiByZXN0cmljdGlvbnMuIik7
CisgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyBXZWJHTCBpbXBsZW1lbnRhdGlvbnMg
Zm9sbG93IHByb3BlciBvcmlnaW4gcmVzdHJpY3Rpb25zLiIpOwogICB2YXIgaW1nID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImltZyIpOwogICBhc3NlcnRNc2coaW1nLndpZHRoID4gMCAmJiBp
bWcuaGVpZ2h0ID4gMCwgImltZyB3YXMgbG9hZGVkIik7CiAKLSAgZnVuY3Rpb24gbWFrZVRleElt
YWdlMkQoZ2wsIHNyYykgewotICAgIHJldHVybiBmdW5jdGlvbigpIHsKLSAgICAgIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllU
RSwgc3JjKTsKLSAgICB9OwotICB9Ci0KLSAgZnVuY3Rpb24gbWFrZVRleFN1YkltYWdlMkQoZ2ws
IHNyYykgewotICAgIHJldHVybiBmdW5jdGlvbigpIHsKLSAgICAgIGdsLnRleFN1YkltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgc3JjKTsK
LSAgICB9OwotICB9Ci0KICAgZnVuY3Rpb24gbWFrZVJlYWRQaXhlbHMoZ2wpIHsKICAgICByZXR1
cm4gZnVuY3Rpb24oKSB7CiAgICAgICB2YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXkoNCk7CkBAIC0x
NDcsNTYgKzEzMiw3MCBAQCBmdW5jdGlvbiBydW5UZXN0cygpIHsKICAgICB9CiAgIH0KIAotICB2
YXIgY2FudmFzMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMxIik7Ci0gIHZhciBn
bCA9IGNyZWF0ZTNEQ29udGV4dChjYW52YXMxKTsKLQogICBkZWJ1ZygiIik7Ci0gIGRlYnVnKCJj
aGVjayB0aGF0IGFuIGF0dGVtcHQgdG8gdXBsb2FkIGFuIGltYWdlIGZyb20gYW5vdGhlciBvcmln
aW4gdGhyb3dzIGFuIGV4Y2VwdGlvbi4iKTsKLSAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUo
KTsKLSAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKLSAgZ2wudGV4SW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAyNTYsIDI1NiwgMCwgZ2wuUkdCQSwgZ2wuVU5T
SUdORURfQllURSwgbnVsbCk7Ci0gIGFzc2VydE1zZyhjYXVzZWRFeGNlcHRpb24obWFrZVRleElt
YWdlMkQoZ2wsIGltZykpLAotICAgICAgICAgICAgInRleEltYWdlMkQgd2l0aCBjcm9zcy1vcmln
aW4gaW1hZ2Ugc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iKTsKLSAgYXNzZXJ0TXNnKGNhdXNlZEV4
Y2VwdGlvbihtYWtlVGV4U3ViSW1hZ2UyRChnbCwgaW1nKSksCi0gICAgICAgICAgICAidGV4U3Vi
SW1hZ2UyRCB3aXRoIGNyb3NzLW9yaWdpbiBpbWFnZSBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIp
OwotCi0gIGRlYnVnKCJjaGVjayB0aGF0IHJlYWRQaXhlbHMgYW5kIHRvRGF0YVVSTCBjb250aW51
ZSB0byB3b3JrIGFnYWluc3QgdGhpcyBjYW52YXMuIik7Ci0gIGFzc2VydE1zZyghY2F1c2VkRXhj
ZXB0aW9uKG1ha2VSZWFkUGl4ZWxzKGdsKSksCi0gICAgICAgICAgICAicmVhZFBpeGVscyBzaG91
bGQgbmV2ZXIgdGhyb3cgZXhjZXB0aW9uIC0tIG5vdCBwb3NzaWJsZSB0byBkaXJ0eSBvcmlnaW4g
b2YgV2ViR0wgY2FudmFzLiIpOworICBkZWJ1ZygiY2hlY2sgdGhhdCBjb3B5aW5nIGFuIGltZyBm
cm9tIGFub3RoZXIgb3JpZ2luIGNsZWFycyB0aGUgb3JpZ2luLWNsZWFuIGZsYWcuIik7CisgIHZh
ciBjYW52YXMxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhczEiKTsKKyAgdmFyIGds
MSA9IGNyZWF0ZTNEQ29udGV4dChjYW52YXMxKTsKKyAgYXNzZXJ0TXNnKCFjYXVzZWRFeGNlcHRp
b24obWFrZVJlYWRQaXhlbHMoZ2wxKSksCisgICAgICAgICAgICAic2hvdWxkIG5vdCB0aHJvdyBl
eGNlcHRpb24gYnkgcmVhZFBpeGVscyBmb3Igb3JpZ2luIGNsZWFuIGNhbnZhcy4iKTsKICAgYXNz
ZXJ0TXNnKCFjYXVzZWRFeGNlcHRpb24obWFrZVRvRGF0YVVSTChjYW52YXMxKSksCi0gICAgICAg
ICAgICAic2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24gYnkgdG9EYXRhVVJMIGZvciBXZWJHTCBj
YW52YXMsIHdoaWNoIHNob3VsZCBzdGF5IG9yaWdpbiBjbGVhbi4iKTsKKyAgICAgICAgICAgICJz
aG91bGQgbm90IHRocm93IGV4Y2VwdGlvbiBieSB0b0RhdGFVUkwgZm9yIG9yaWdpbiBjbGVhbiBj
YW52YXMuIik7CisKKyAgdmFyIHRleCA9IGdsMS5jcmVhdGVUZXh0dXJlKCk7CisgIGdsMS5iaW5k
VGV4dHVyZShnbDEuVEVYVFVSRV8yRCwgdGV4KTsKKyAgZ2wxLnRleEltYWdlMkQoZ2wxLlRFWFRV
UkVfMkQsIDAsIGdsMS5SR0JBLCBnbDEuUkdCQSwgZ2wxLlVOU0lHTkVEX0JZVEUsIGltZyk7CiAK
LSAgZGVidWcoImNoZWNrIHRoYXQgYW4gYXR0ZW1wdCB0byB1cGxvYWQgYSB0YWludGVkIGNhbnZh
cyB0aHJvd3MgYW4gZXhjZXB0aW9uLiIpOworICBhc3NlcnRNc2coY2F1c2VkRXhjZXB0aW9uKG1h
a2VSZWFkUGl4ZWxzKGdsMSkpLAorICAgICAgICAgICAgInNob3VsZCB0aHJvdyBleGNlcHRpb24g
YnkgcmVhZFBpeGVscyBmb3IgTk9OIG9yaWdpbiBjbGVhbiBjYW52YXMuIik7CisgIGFzc2VydE1z
ZyhjYXVzZWRFeGNlcHRpb24obWFrZVRvRGF0YVVSTChjYW52YXMxKSksCisgICAgICAgICAgICAi
c2hvdWxkIHRocm93IGV4Y2VwdGlvbiBieSB0b0RhdGFVUkwgZm9yIE5PTiBvcmlnaW4gY2xlYW4g
Y2FudmFzLiIpOworCisgIGRlYnVnKCIiKTsKKyAgZGVidWcoImNoZWNrIHRoYXQgY29weWluZyBm
cm9tIDEgdW5jbGVhbiAzZCBjYW52YXMgdG8gYW5vdGhlciBjbGVhcnMgdGhlIG9yaWdpbi1jbGVh
biBmbGFnIG9uIHRoZSBzZWNvbmQgY2FudmFzLiIpOwogICB2YXIgY2FudmFzMiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjYW52YXMyIik7Ci0gIHZhciBjdHgyZCA9IGNhbnZhczIuZ2V0Q29u
dGV4dCgiMmQiKTsKLSAgY3R4MmQuZHJhd0ltYWdlKGltZywgMCwgMCk7CisgIHZhciBnbDIgPSBj
cmVhdGUzRENvbnRleHQoY2FudmFzMik7CisKKyAgYXNzZXJ0TXNnKCFjYXVzZWRFeGNlcHRpb24o
bWFrZVJlYWRQaXhlbHMoZ2wyKSksCisgICAgICAgICAgICAic2hvdWxkIG5vdCB0aHJvdyBleGNl
cHRpb24gYnkgcmVhZFBpeGVscyBmb3Igb3JpZ2luIGNsZWFuIGNhbnZhcy4iKTsKKyAgYXNzZXJ0
TXNnKCFjYXVzZWRFeGNlcHRpb24obWFrZVRvRGF0YVVSTChjYW52YXMyKSksCisgICAgICAgICAg
ICAic2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24gYnkgdG9EYXRhVVJMIGZvciBvcmlnaW4gY2xl
YW4gY2FudmFzLiIpOworCisgIHZhciB0ZXggPSBnbDIuY3JlYXRlVGV4dHVyZSgpOworICBnbDIu
YmluZFRleHR1cmUoZ2wyLlRFWFRVUkVfMkQsIHRleCk7CisgIGdsMi50ZXhJbWFnZTJEKAorICAg
ICBnbDIuVEVYVFVSRV8yRCwgMCwgZ2wyLlJHQkEsIGdsMi5SR0JBLCBnbDIuVU5TSUdORURfQllU
RSwgY2FudmFzMSk7CisKKyAgYXNzZXJ0TXNnKGNhdXNlZEV4Y2VwdGlvbihtYWtlUmVhZFBpeGVs
cyhnbDIpKSwKKyAgICAgICAgICAgICJzaG91bGQgdGhyb3cgZXhjZXB0aW9uIGJ5IHJlYWRQaXhl
bHMgZm9yIE5PTiBvcmlnaW4gY2xlYW4gY2FudmFzLiIpOwogICBhc3NlcnRNc2coY2F1c2VkRXhj
ZXB0aW9uKG1ha2VUb0RhdGFVUkwoY2FudmFzMikpLAogICAgICAgICAgICAgInNob3VsZCB0aHJv
dyBleGNlcHRpb24gYnkgdG9EYXRhVVJMIGZvciBOT04gb3JpZ2luIGNsZWFuIGNhbnZhcy4iKTsK
LSAgYXNzZXJ0TXNnKGNhdXNlZEV4Y2VwdGlvbihtYWtlVGV4SW1hZ2UyRChnbCwgY2FudmFzMikp
LAotICAgICAgICAgICAgInRleEltYWdlMkQgd2l0aCBOT04gb3JpZ2luIGNsZWFuIGNhbnZhcyBz
aG91bGQgdGhyb3cgZXhjZXB0aW9uLiIpOwotICBhc3NlcnRNc2coY2F1c2VkRXhjZXB0aW9uKG1h
a2VUZXhTdWJJbWFnZTJEKGdsLCBjYW52YXMyKSksCi0gICAgICAgICAgICAidGV4U3ViSW1hZ2Uy
RCB3aXRoIE5PTiBvcmlnaW4gY2xlYW4gY2FudmFzIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIik7
Ci0KLSAgZGVidWcoImNoZWNrIHRoYXQgcmVhZFBpeGVscyBhbmQgdG9EYXRhVVJMIGNvbnRpbnVl
IHRvIHdvcmsgYWdhaW5zdCB0aGlzIGNhbnZhcy4iKTsKLSAgYXNzZXJ0TXNnKCFjYXVzZWRFeGNl
cHRpb24obWFrZVJlYWRQaXhlbHMoZ2wpKSwKLSAgICAgICAgICAgICJyZWFkUGl4ZWxzIHNob3Vs
ZCBuZXZlciB0aHJvdyBleGNlcHRpb24gLS0gbm90IHBvc3NpYmxlIHRvIGRpcnR5IG9yaWdpbiBv
ZiBXZWJHTCBjYW52YXMuIik7Ci0gIGFzc2VydE1zZyghY2F1c2VkRXhjZXB0aW9uKG1ha2VUb0Rh
dGFVUkwoY2FudmFzMSkpLAotICAgICAgICAgICAgInNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9u
IGJ5IHRvRGF0YVVSTCBmb3IgV2ViR0wgY2FudmFzLCB3aGljaCBzaG91bGQgc3RheSBvcmlnaW4g
Y2xlYW4uIik7Ci0KLSAgaWYgKHRlc3RWaWRlbykgewotICAgIGRlYnVnKCJjaGVjayB0aGF0IGFu
IGF0dGVtcHQgdG8gdXBsb2FkIGEgdmlkZW8gZnJvbSBhbm90aGVyIG9yaWdpbiB0aHJvd3MgYW4g
ZXhjZXB0aW9uLiIpOwotICAgIHZhciB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2
aWRlbyIpOwotICAgIGFzc2VydE1zZyhjYXVzZWRFeGNlcHRpb24obWFrZVRleEltYWdlMkQoZ2ws
IHZpZGVvKSksCi0gICAgICAgICAgICAgICJ0ZXhJbWFnZTJEIHdpdGggY3Jvc3Mtb3JpZ2luIHZp
ZGVvIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIik7Ci0gICAgYXNzZXJ0TXNnKGNhdXNlZEV4Y2Vw
dGlvbihtYWtlVGV4U3ViSW1hZ2UyRChnbCwgdmlkZW8pKSwKLSAgICAgICAgICAgICAgInRleFN1
YkltYWdlMkQgd2l0aCBjcm9zcy1vcmlnaW4gdmlkZW8gc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4i
KTsKLQotICAgIGRlYnVnKCJjaGVjayB0aGF0IHJlYWRQaXhlbHMgYW5kIHRvRGF0YVVSTCBjb250
aW51ZSB0byB3b3JrIGFnYWluc3QgdGhpcyBjYW52YXMuIik7Ci0gICAgYXNzZXJ0TXNnKCFjYXVz
ZWRFeGNlcHRpb24obWFrZVJlYWRQaXhlbHMoZ2wpKSwKLSAgICAgICAgICAgICAgInJlYWRQaXhl
bHMgc2hvdWxkIG5ldmVyIHRocm93IGV4Y2VwdGlvbiAtLSBub3QgcG9zc2libGUgdG8gZGlydHkg
b3JpZ2luIG9mIFdlYkdMIGNhbnZhcy4iKTsKLSAgICBhc3NlcnRNc2coIWNhdXNlZEV4Y2VwdGlv
bihtYWtlVG9EYXRhVVJMKGNhbnZhczEpKSwKLSAgICAgICAgICAgICAgInNob3VsZCBub3QgdGhy
b3cgZXhjZXB0aW9uIGJ5IHRvRGF0YVVSTCBmb3IgV2ViR0wgY2FudmFzLCB3aGljaCBzaG91bGQg
c3RheSBvcmlnaW4gY2xlYW4uIik7Ci0gIH0KKworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJjaGVj
ayB0aGF0IGNvcHlpbmcgZnJvbSAxIHVuY2xlYW4gM2QgY2FudmFzIHRvIGEgMmQgY2FudmFzIGNs
ZWFycyB0aGUgb3JpZ2luLWNsZWFuIGZsYWcgb24gdGhlIDJkIGNhbnZhcy4iKTsKKyAgdmFyIGNh
bnZhczMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzMyIpOworICB2YXIgY3R4MmQg
PSBjYW52YXMzLmdldENvbnRleHQoIjJkIik7CisgIGFzc2VydE1zZyghY2F1c2VkRXhjZXB0aW9u
KG1ha2VUb0RhdGFVUkwoY2FudmFzMykpLAorICAgICAgICAgICAgInNob3VsZCBub3QgdGhyb3cg
ZXhjZXB0aW9uIGJ5IHRvRGF0YVVSTCBmb3Igb3JpZ2luIGNsZWFuIGNhbnZhcy4iKTsKKyAgY3R4
MmQuZHJhd0ltYWdlKGNhbnZhczIsIDAsIDApOworICBhc3NlcnRNc2coY2F1c2VkRXhjZXB0aW9u
KG1ha2VUb0RhdGFVUkwoY2FudmFzMykpLAorICAgICAgICAgICAgInNob3VsZCB0aHJvdyBleGNl
cHRpb24gYnkgdG9EYXRhVVJMIGZvciBOT04gb3JpZ2luIGNsZWFuIGNhbnZhcy4iKTsKKworICBk
ZWJ1ZygiIik7CisgIGRlYnVnKCJjaGVjayB0aGF0IGNvcHlpbmcgYSB2aWRlbyBmcm9tIGFub3Ro
ZXIgb3JpZ2luIGNsZWFycyB0aGUgb3JpZ2luLWNsZWFuIGZsYWcuIik7CisgIHZhciBjYW52YXM0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhczQiKTsKKyAgdmFyIGdsNCA9IGNyZWF0
ZTNEQ29udGV4dChjYW52YXM0KTsKKyAgYXNzZXJ0TXNnKCFjYXVzZWRFeGNlcHRpb24obWFrZVJl
YWRQaXhlbHMoZ2w0KSksCisgICAgICAgICAgICAic2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24g
YnkgcmVhZFBpeGVscyBmb3Igb3JpZ2luIGNsZWFuIGNhbnZhcy4iKTsKKyAgYXNzZXJ0TXNnKCFj
YXVzZWRFeGNlcHRpb24obWFrZVRvRGF0YVVSTChjYW52YXM0KSksCisgICAgICAgICAgICAic2hv
dWxkIG5vdCB0aHJvdyBleGNlcHRpb24gYnkgdG9EYXRhVVJMIGZvciBvcmlnaW4gY2xlYW4gY2Fu
dmFzLiIpOworICB2YXIgdGV4NCA9IGdsNC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsNC5iaW5kVGV4
dHVyZShnbDQuVEVYVFVSRV8yRCwgdGV4NCk7CisgIGdsNC50ZXhJbWFnZTJEKAorICAgICAgZ2w0
LlRFWFRVUkVfMkQsIDAsIGdsNC5SR0JBLCBnbDQuUkdCQSwgZ2w0LlVOU0lHTkVEX0JZVEUsIHZp
ZGVvKTsKKyAgYXNzZXJ0TXNnKGNhdXNlZEV4Y2VwdGlvbihtYWtlUmVhZFBpeGVscyhnbDQpKSwK
KyAgICAgICAgICAgICJzaG91bGQgdGhyb3cgZXhjZXB0aW9uIGJ5IHJlYWRQaXhlbHMgZm9yIE5P
TiBvcmlnaW4gY2xlYW4gY2FudmFzLiIpOworICBhc3NlcnRNc2coY2F1c2VkRXhjZXB0aW9uKG1h
a2VUb0RhdGFVUkwoY2FudmFzNCkpLAorICAgICAgICAgICAgInNob3VsZCB0aHJvdyBleGNlcHRp
b24gYnkgdG9EYXRhVVJMIGZvciBOT04gb3JpZ2luIGNsZWFuIGNhbnZhcy4iKTsKIAogICBkZWJ1
ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7CiAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCkBAIC0yMTIsNiArMjExLDggQEAgZnVuY3Rp
b24gcnVuVGVzdHMoKSB7CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxjYW52YXMgaWQ9ImNh
bnZhczEiPjwvY2FudmFzPgogPGNhbnZhcyBpZD0iY2FudmFzMiI+PC9jYW52YXM+Cis8Y2FudmFz
IGlkPSJjYW52YXMzIj48L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImNhbnZhczQiPjwvY2FudmFzPgog
PGltZyBpZD0iaW1nIiBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9sb2NhbC9yZXNvdXJjZXMv
YWJlLnBuZyIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgogPHZpZGVvIGlkPSJ2aWRlbyIgc3R5bGU9
ImRpc3BsYXk6bm9uZTsiLz4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvd2ViZ2wtcmVtb3RlLXJlYWQtcmVtb3RlLWltYWdlLWFsbG93ZWQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS93ZWJnbC1yZW1vdGUt
cmVhZC1yZW1vdGUtaW1hZ2UtYWxsb3dlZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGM4Njg2MWM3YzFjYmIzN2I3NWIwMWFkN2Q2NzM4MzNjMzVmZjNjZjguLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS93ZWJnbC1yZW1vdGUtcmVhZC1yZW1vdGUtaW1hZ2UtYWxsb3dl
ZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1VbnRhaW50ZWQg
Y2FudmFzOgotUEFTUzogQ2FsbGluZyByZWFkUGl4ZWxzKCkgZnJvbSBhbiB1bnRhaW50ZWQgY2Fu
dmFzIHdhcyBhbGxvd2VkLgotUEFTUzogQ2FsbGluZyB0b0RhdGFVUkwoKSBvbiBhbiB1bnRhaW50
ZWQgY2FudmFzIHdhcyBhbGxvd2VkLgotCi0KLVRhaW50ZWQgY2FudmFzOgotUEFTUzogQ2FsbGlu
ZyB0ZXhJbWFnZTJEKCkgd2l0aCBhbiB1bnRhaW50ZWQgaW1hZ2Ugd2FzIGFsbG93ZWQKLVBBU1M6
IENhbGxpbmcgcmVhZFBpeGVscygpIGZyb20gYSBjYW52YXMgdGFpbnRlZCBieSBhIHJlbW90ZSBp
bWFnZSB3YXMgYWxsb3dlZC4KLVBBU1M6IENhbGxpbmcgdG9EYXRhVVJMKCkgb24gYSBjYW52YXMg
Q09SUy11bnRhaW50ZWQgYnkgYSByZW1vdGUgaW1hZ2Ugd2FzIGFsbG93ZWQuCi1QQVNTOiBDYWxs
aW5nIHRleEltYWdlMkQoKSB3aXRoIGFuIHVudGFpbnRlZCBjYW52YXMgd2FzIGFsbG93ZWQKLVBB
U1M6IENhbGxpbmcgcmVhZFBpeGVscygpIGZyb20gYSBjYW52YXMgdGFpbnRlZCBieSBhIENPUlMt
dW50YWluZWQgY2FudmFzIHdhcyBhbGxvd2VkLgotUEFTUzogQ2FsbGluZyB0b0RhdGFVUkwoKSBv
biBhIGNhbnZhcyBDT1JTLXVudGFpbnRlZCBieSBhIENPUlMtdW50YWluZWQgY2FudmFzIHdhcyBh
bGxvd2VkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3dl
YmdsLXJlbW90ZS1yZWFkLXJlbW90ZS1pbWFnZS1hbGxvd2VkLXdpdGgtY3JlZGVudGlhbHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS93ZWJnbC1yZW1vdGUt
cmVhZC1yZW1vdGUtaW1hZ2UtYWxsb3dlZC13aXRoLWNyZWRlbnRpYWxzLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzg2ODYxYzdjMWNiYjM3Yjc1YjAxYWQ3ZDY3
MzgzM2MzNWZmM2NmOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3dlYmdsLXJlbW90ZS1yZWFkLXJl
bW90ZS1pbWFnZS1hbGxvd2VkLXdpdGgtY3JlZGVudGlhbHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTMgKzAsMCBAQAotVW50YWludGVkIGNhbnZhczoKLVBBU1M6IENhbGxpbmcg
cmVhZFBpeGVscygpIGZyb20gYW4gdW50YWludGVkIGNhbnZhcyB3YXMgYWxsb3dlZC4KLVBBU1M6
IENhbGxpbmcgdG9EYXRhVVJMKCkgb24gYW4gdW50YWludGVkIGNhbnZhcyB3YXMgYWxsb3dlZC4K
LQotCi1UYWludGVkIGNhbnZhczoKLVBBU1M6IENhbGxpbmcgdGV4SW1hZ2UyRCgpIHdpdGggYW4g
dW50YWludGVkIGltYWdlIHdhcyBhbGxvd2VkCi1QQVNTOiBDYWxsaW5nIHJlYWRQaXhlbHMoKSBm
cm9tIGEgY2FudmFzIHRhaW50ZWQgYnkgYSByZW1vdGUgaW1hZ2Ugd2FzIGFsbG93ZWQuCi1QQVNT
OiBDYWxsaW5nIHRvRGF0YVVSTCgpIG9uIGEgY2FudmFzIENPUlMtdW50YWludGVkIGJ5IGEgcmVt
b3RlIGltYWdlIHdhcyBhbGxvd2VkLgotUEFTUzogQ2FsbGluZyB0ZXhJbWFnZTJEKCkgd2l0aCBh
biB1bnRhaW50ZWQgY2FudmFzIHdhcyBhbGxvd2VkCi1QQVNTOiBDYWxsaW5nIHJlYWRQaXhlbHMo
KSBmcm9tIGEgY2FudmFzIHRhaW50ZWQgYnkgYSBDT1JTLXVudGFpbmVkIGNhbnZhcyB3YXMgYWxs
b3dlZC4KLVBBU1M6IENhbGxpbmcgdG9EYXRhVVJMKCkgb24gYSBjYW52YXMgQ09SUy11bnRhaW50
ZWQgYnkgYSBDT1JTLXVudGFpbmVkIGNhbnZhcyB3YXMgYWxsb3dlZC4KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS93ZWJnbC1yZW1vdGUtcmVhZC1yZW1vdGUt
aW1hZ2UtYWxsb3dlZC13aXRoLWNyZWRlbnRpYWxzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3dlYmdsLXJlbW90ZS1yZWFkLXJlbW90ZS1pbWFnZS1hbGxvd2VkLXdpdGgt
Y3JlZGVudGlhbHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzA5ZTM3YjUy
ZDFmZmYyYTRjODUyMTYyNDY1ZmE4MTYyNGM4MzJiYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3dl
YmdsLXJlbW90ZS1yZWFkLXJlbW90ZS1pbWFnZS1hbGxvd2VkLXdpdGgtY3JlZGVudGlhbHMuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi08cHJlIGlkPSJjb25zb2xlIj48L3By
ZT4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQi
LCAiMSIpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWxvZyA9IGZ1bmN0aW9uKG1z
ZykKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICJcbiIpKTsKLX0KLQotdGVzdFRleEltYWdl
MkQgPSBmdW5jdGlvbihnbCwgc291cmNlLCBkZXNjcmlwdGlvbikKLXsKLSAgICBkZXNjcmlwdGlv
biA9ICJDYWxsaW5nIHRleEltYWdlMkQoKSB3aXRoIGFuIHVudGFpbnRlZCAiICsgZGVzY3JpcHRp
b247Ci0gICAgdHJ5IHsKLSAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBn
bC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBzb3VyY2UpOwotICAgICAgICBsb2co
IlBBU1M6ICIgKyBkZXNjcmlwdGlvbiArICIgd2FzIGFsbG93ZWQiKTsKLSAgICB9IGNhdGNoIChl
KSB7Ci0gICAgICAgIGxvZygiRkFJTDogIiArIGRlc2NyaXB0aW9uICsgIiB3YXMgbm90IGFsbG93
ZWQ6IFRocmV3IGVycm9yOiAiICsgZSArICIuIik7Ci0gICAgfQotfQotCi10ZXN0UmVhZFBpeGVs
cyA9IGZ1bmN0aW9uKGdsLCBkZXNjcmlwdGlvbikKLXsKLSAgICBkZXNjcmlwdGlvbiA9ICJDYWxs
aW5nIHJlYWRQaXhlbHMoKSBmcm9tIGEgY2FudmFzIHRhaW50ZWQgYnkgYSAiICsgZGVzY3JpcHRp
b247Ci0gICAgdHJ5IHsKLSAgICAgICAgdmFyIHBpeGVscyA9IG5ldyBVaW50OEFycmF5KDQpOwot
ICAgICAgICBnbC5yZWFkUGl4ZWxzKDAsIDAsIDEsIDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIHBpeGVscyk7Ci0gICAgICAgIGxvZygiUEFTUzogIiArIGRlc2NyaXB0aW9uICsgIiB3YXMg
YWxsb3dlZC4iKTsKLSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIGxvZygiRkFJTDogIiArIGRl
c2NyaXB0aW9uICsgIiB3YXMgbm90IGFsbG93ZWQgLSBUaHJldyBlcnJvcjogIiArIGUgKyAiLiIp
OwotICAgIH0KLX0KLQotdGVzdFRvRGF0YVVSTCA9IGZ1bmN0aW9uKGNhbnZhcywgZGVzY3JpcHRp
b24pCi17Ci0gICAgZGVzY3JpcHRpb24gPSAiQ2FsbGluZyB0b0RhdGFVUkwoKSBvbiBhIGNhbnZh
cyBDT1JTLXVudGFpbnRlZCBieSBhICIgKyBkZXNjcmlwdGlvbjsKLSAgICB0cnkgewotICAgICAg
ICB2YXIgZGF0YVVSTCA9IGNhbnZhcy50b0RhdGFVUkwoKTsKLSAgICAgICAgbG9nKCJQQVNTOiAi
ICsgZGVzY3JpcHRpb24gKyAiIHdhcyBhbGxvd2VkLiIpOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAg
ICAgICAgbG9nKCJGQUlMOiAiICsgZGVzY3JpcHRpb24gKyAiIHdhcyBub3QgYWxsb3dlZCAtIFRo
cmV3IGVycm9yOiAiICsgZSArICIuIik7Ci0gICAgfQotfQotCi10ZXN0ID0gZnVuY3Rpb24oY2Fu
dmFzLCBkZXNjcmlwdGlvbikKLXsKLSAgICB0ZXN0UmVhZFBpeGVscyhjYW52YXMuZ2V0Q29udGV4
dCgiZXhwZXJpbWVudGFsLXdlYmdsIiksIGRlc2NyaXB0aW9uKTsKLSAgICB0ZXN0VG9EYXRhVVJM
KGNhbnZhcywgZGVzY3JpcHRpb24pOwotfQotCi12YXIgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsKLWlt
YWdlLm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJjYW52YXMiKTsKLSAgICBjYW52YXMud2lkdGggPSAxMDA7Ci0gICAgY2FudmFz
LmhlaWdodCA9IDEwMDsKLSAgICB2YXIgZ2wgPSBjYW52YXMuZ2V0Q29udGV4dCgiZXhwZXJpbWVu
dGFsLXdlYmdsIik7Ci0KLSAgICAvLyBDb250cm9sIHRlc3RzCi0gICAgbG9nKCJVbnRhaW50ZWQg
Y2FudmFzOiIpOwotICAgIHRyeSB7Ci0gICAgICAgIHZhciBwaXhlbHMgPSBuZXcgVWludDhBcnJh
eSg0KTsKLSAgICAgICAgZ2wucmVhZFBpeGVscygwLCAwLCAxLCAxLCBnbC5SR0JBLCBnbC5VTlNJ
R05FRF9CWVRFLCBwaXhlbHMpOwotICAgICAgICBsb2coIlBBU1M6IENhbGxpbmcgcmVhZFBpeGVs
cygpIGZyb20gYW4gdW50YWludGVkIGNhbnZhcyB3YXMgYWxsb3dlZC4iKTsKLSAgICB9IGNhdGNo
IChlKSB7Ci0gICAgICAgIGxvZygiRkFJTDogQ2FsbGluZyByZWFkUGl4ZWxzKCkgZnJvbSBhbiB1
bnRhaW50ZWQgY2FudmFzIHdhcyBub3QgYWxsb3dlZDogVGhyZXcgZXJyb3I6ICIgKyBlICsgIi4i
KTsKLSAgICB9Ci0gICAgdHJ5IHsKLSAgICAgICAgdmFyIGRhdGFVUkwgPSBjYW52YXMudG9EYXRh
VVJMKCk7Ci0gICAgICAgIGxvZygiUEFTUzogQ2FsbGluZyB0b0RhdGFVUkwoKSBvbiBhbiB1bnRh
aW50ZWQgY2FudmFzIHdhcyBhbGxvd2VkLiIpOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAg
bG9nKCJGQUlMOiBDYWxsaW5nIHRvRGF0YVVSTCgpIG9uIGFuIHVudGFpbnRlZCBjYW52YXMgd2Fz
IG5vdCBhbGxvd2VkOiBUaHJldyBlcnJvcjogIiArIGUgKyAiLiIpOwotICAgIH0KLQotICAgIGxv
ZygiXG4iKTsKLSAgICBsb2coIlRhaW50ZWQgY2FudmFzOiIpOwotICAgIC8vIFRlc3QgcmVhZGlu
ZyBmcm9tIGEgY2FudmFzIGFmdGVyIHVwbG9hZGluZyBhIHJlbW90ZSBpbWFnZSBhcyBhIHRleHR1
cmUKLSAgICB2YXIgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKLSAgICBnbC5iaW5kVGV4
dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKLSAgICB0ZXN0VGV4SW1hZ2UyRChnbCwgaW1h
Z2UsICJpbWFnZSIpOwotCi0gICAgdGVzdChjYW52YXMsICJyZW1vdGUgaW1hZ2UiKTsKLQotICAg
IC8vIE5vdyB0ZXN0IHJlYWRpbmcgZnJvbSBhIGNhbnZhcyBhZnRlciB1cGxvYWRpbmcgYSB0YWlu
dGVkIGNhbnZhcyBvbnRvIGl0Ci0gICAgdmFyIGRpcnR5Q2FudmFzID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiY2FudmFzIik7Ci0gICAgZGlydHlDYW52YXMud2lkdGggPSAxMDA7Ci0gICAgZGly
dHlDYW52YXMuaGVpZ2h0ID0gMTAwOwotICAgIHZhciBkaXJ0eUNvbnRleHQgPSBkaXJ0eUNhbnZh
cy5nZXRDb250ZXh0KCIyZCIpOwotICAgIGRpcnR5Q29udGV4dC5kcmF3SW1hZ2UoaW1hZ2UsIDAs
IDAsIDEwMCwgMTAwKTsKLSAgICB0ZXN0VGV4SW1hZ2UyRChnbCwgZGlydHlDYW52YXMsICJjYW52
YXMiKTsKLQotICAgIHRlc3QoY2FudmFzLCAiQ09SUy11bnRhaW5lZCBjYW52YXMiKTsKLQotICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLWltYWdlLmNyb3NzT3JpZ2luID0gInVzZS1jcmVkZW50
aWFscyI7Ci1pbWFnZS5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291
cmNlcy9hYmUtYWxsb3ctY3JlZGVudGlhbHMucGhwIjsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS93ZWJnbC1yZW1vdGUtcmVhZC1yZW1vdGUt
aW1hZ2UtYWxsb3dlZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS93ZWJn
bC1yZW1vdGUtcmVhZC1yZW1vdGUtaW1hZ2UtYWxsb3dlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA2NDQ4YzJiNGM0NWU0ZjllNjhkZjM5NDY5OTFjN2ExMDAzZGUxOTI1Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvd2ViZ2wtcmVtb3RlLXJlYWQtcmVtb3RlLWltYWdlLWFsbG93
ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi08cHJlIGlkPSJjb25zb2xl
Ij48L3ByZT4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVu
YWJsZWQiLCAiMSIpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWxvZyA9IGZ1bmN0
aW9uKG1zZykKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICJcbiIpKTsKLX0KLQotdGVzdFRl
eEltYWdlMkQgPSBmdW5jdGlvbihnbCwgc291cmNlLCBkZXNjcmlwdGlvbikKLXsKLSAgICBkZXNj
cmlwdGlvbiA9ICJDYWxsaW5nIHRleEltYWdlMkQoKSB3aXRoIGFuIHVudGFpbnRlZCAiICsgZGVz
Y3JpcHRpb247Ci0gICAgdHJ5IHsKLSAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBzb3VyY2UpOwotICAgICAg
ICBsb2coIlBBU1M6ICIgKyBkZXNjcmlwdGlvbiArICIgd2FzIGFsbG93ZWQiKTsKLSAgICB9IGNh
dGNoIChlKSB7Ci0gICAgICAgIGxvZygiRkFJTDogIiArIGRlc2NyaXB0aW9uICsgIiB3YXMgbm90
IGFsbG93ZWQ6IFRocmV3IGVycm9yOiAiICsgZSArICIuIik7Ci0gICAgfQotfQotCi10ZXN0UmVh
ZFBpeGVscyA9IGZ1bmN0aW9uKGdsLCBkZXNjcmlwdGlvbikKLXsKLSAgICBkZXNjcmlwdGlvbiA9
ICJDYWxsaW5nIHJlYWRQaXhlbHMoKSBmcm9tIGEgY2FudmFzIHRhaW50ZWQgYnkgYSAiICsgZGVz
Y3JpcHRpb247Ci0gICAgdHJ5IHsKLSAgICAgICAgdmFyIHBpeGVscyA9IG5ldyBVaW50OEFycmF5
KDQpOwotICAgICAgICBnbC5yZWFkUGl4ZWxzKDAsIDAsIDEsIDEsIGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsIHBpeGVscyk7Ci0gICAgICAgIGxvZygiUEFTUzogIiArIGRlc2NyaXB0aW9uICsg
IiB3YXMgYWxsb3dlZC4iKTsKLSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIGxvZygiRkFJTDog
IiArIGRlc2NyaXB0aW9uICsgIiB3YXMgbm90IGFsbG93ZWQgLSBUaHJldyBlcnJvcjogIiArIGUg
KyAiLiIpOwotICAgIH0KLX0KLQotdGVzdFRvRGF0YVVSTCA9IGZ1bmN0aW9uKGNhbnZhcywgZGVz
Y3JpcHRpb24pCi17Ci0gICAgZGVzY3JpcHRpb24gPSAiQ2FsbGluZyB0b0RhdGFVUkwoKSBvbiBh
IGNhbnZhcyBDT1JTLXVudGFpbnRlZCBieSBhICIgKyBkZXNjcmlwdGlvbjsKLSAgICB0cnkgewot
ICAgICAgICB2YXIgZGF0YVVSTCA9IGNhbnZhcy50b0RhdGFVUkwoKTsKLSAgICAgICAgbG9nKCJQ
QVNTOiAiICsgZGVzY3JpcHRpb24gKyAiIHdhcyBhbGxvd2VkLiIpOwotICAgIH0gY2F0Y2ggKGUp
IHsKLSAgICAgICAgbG9nKCJGQUlMOiAiICsgZGVzY3JpcHRpb24gKyAiIHdhcyBub3QgYWxsb3dl
ZCAtIFRocmV3IGVycm9yOiAiICsgZSArICIuIik7Ci0gICAgfQotfQotCi10ZXN0ID0gZnVuY3Rp
b24oY2FudmFzLCBkZXNjcmlwdGlvbikKLXsKLSAgICB0ZXN0UmVhZFBpeGVscyhjYW52YXMuZ2V0
Q29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmdsIiksIGRlc2NyaXB0aW9uKTsKLSAgICB0ZXN0VG9E
YXRhVVJMKGNhbnZhcywgZGVzY3JpcHRpb24pOwotfQotCi12YXIgaW1hZ2UgPSBuZXcgSW1hZ2Uo
KTsKLWltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBjYW52YXMgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKLSAgICBjYW52YXMud2lkdGggPSAxMDA7Ci0gICAg
Y2FudmFzLmhlaWdodCA9IDEwMDsKLSAgICB2YXIgZ2wgPSBjYW52YXMuZ2V0Q29udGV4dCgiZXhw
ZXJpbWVudGFsLXdlYmdsIik7Ci0KLSAgICAvLyBDb250cm9sIHRlc3RzCi0gICAgbG9nKCJVbnRh
aW50ZWQgY2FudmFzOiIpOwotICAgIHRyeSB7Ci0gICAgICAgIHZhciBwaXhlbHMgPSBuZXcgVWlu
dDhBcnJheSg0KTsKLSAgICAgICAgZ2wucmVhZFBpeGVscygwLCAwLCAxLCAxLCBnbC5SR0JBLCBn
bC5VTlNJR05FRF9CWVRFLCBwaXhlbHMpOwotICAgICAgICBsb2coIlBBU1M6IENhbGxpbmcgcmVh
ZFBpeGVscygpIGZyb20gYW4gdW50YWludGVkIGNhbnZhcyB3YXMgYWxsb3dlZC4iKTsKLSAgICB9
IGNhdGNoIChlKSB7Ci0gICAgICAgIGxvZygiRkFJTDogQ2FsbGluZyByZWFkUGl4ZWxzKCkgZnJv
bSBhbiB1bnRhaW50ZWQgY2FudmFzIHdhcyBub3QgYWxsb3dlZDogVGhyZXcgZXJyb3I6ICIgKyBl
ICsgIi4iKTsKLSAgICB9Ci0gICAgdHJ5IHsKLSAgICAgICAgdmFyIGRhdGFVUkwgPSBjYW52YXMu
dG9EYXRhVVJMKCk7Ci0gICAgICAgIGxvZygiUEFTUzogQ2FsbGluZyB0b0RhdGFVUkwoKSBvbiBh
biB1bnRhaW50ZWQgY2FudmFzIHdhcyBhbGxvd2VkLiIpOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAg
ICAgICAgbG9nKCJGQUlMOiBDYWxsaW5nIHRvRGF0YVVSTCgpIG9uIGFuIHVudGFpbnRlZCBjYW52
YXMgd2FzIG5vdCBhbGxvd2VkOiBUaHJldyBlcnJvcjogIiArIGUgKyAiLiIpOwotICAgIH0KLQot
ICAgIGxvZygiXG4iKTsKLSAgICBsb2coIlRhaW50ZWQgY2FudmFzOiIpOwotICAgIC8vIFRlc3Qg
cmVhZGluZyBmcm9tIGEgY2FudmFzIGFmdGVyIHVwbG9hZGluZyBhIHJlbW90ZSBpbWFnZSBhcyBh
IHRleHR1cmUKLSAgICB2YXIgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKLSAgICBnbC5i
aW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKLSAgICB0ZXN0VGV4SW1hZ2UyRChn
bCwgaW1hZ2UsICJpbWFnZSIpOwotCi0gICAgdGVzdChjYW52YXMsICJyZW1vdGUgaW1hZ2UiKTsK
LQotICAgIC8vIE5vdyB0ZXN0IHJlYWRpbmcgZnJvbSBhIGNhbnZhcyBhZnRlciB1cGxvYWRpbmcg
YSB0YWludGVkIGNhbnZhcyBvbnRvIGl0Ci0gICAgdmFyIGRpcnR5Q2FudmFzID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiY2FudmFzIik7Ci0gICAgZGlydHlDYW52YXMud2lkdGggPSAxMDA7Ci0g
ICAgZGlydHlDYW52YXMuaGVpZ2h0ID0gMTAwOwotICAgIHZhciBkaXJ0eUNvbnRleHQgPSBkaXJ0
eUNhbnZhcy5nZXRDb250ZXh0KCIyZCIpOwotICAgIGRpcnR5Q29udGV4dC5kcmF3SW1hZ2UoaW1h
Z2UsIDAsIDAsIDEwMCwgMTAwKTsKLSAgICB0ZXN0VGV4SW1hZ2UyRChnbCwgZGlydHlDYW52YXMs
ICJjYW52YXMiKTsKLQotICAgIHRlc3QoY2FudmFzLCAiQ09SUy11bnRhaW5lZCBjYW52YXMiKTsK
LQotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLWltYWdlLmNyb3NzT3JpZ2luID0gImFub255
bW91cyI7Ci1pbWFnZS5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291
cmNlcy9hYmUtYWxsb3ctc3Rhci5waHAiOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3dlYmdsLXJlbW90ZS1yZWFkLXJlbW90ZS1pbWFnZS1i
bG9ja2VkLW5vLWNyb3Nzb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvd2ViZ2wtcmVtb3RlLXJlYWQtcmVtb3RlLWltYWdlLWJsb2NrZWQtbm8tY3Jv
c3NvcmlnaW4tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZTc0
NDU3ZDM5MDBjZjVmNWVhZTc0N2U5M2ZlYjEzNWExOThkNTE3Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvd2ViZ2wtcmVtb3RlLXJlYWQtcmVtb3RlLWltYWdlLWJsb2NrZWQtbm8tY3Jvc3NvcmlnaW4t
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotVW50YWludGVkIGNh
bnZhczoKLVBBU1M6IENhbGxpbmcgcmVhZFBpeGVscygpIGZyb20gYW4gdW50YWludGVkIGNhbnZh
cyB3YXMgYWxsb3dlZC4KLVBBU1M6IENhbGxpbmcgdG9EYXRhVVJMKCkgb24gYW4gdW50YWludGVk
IGNhbnZhcyB3YXMgYWxsb3dlZC4KLQotCi1UYWludGVkIGNhbnZhczoKLVBBU1M6IENhbGxpbmcg
dGV4SW1hZ2UyRCgpIHdpdGggYSB0YWludGVkIGltYWdlIHdhcyBub3QgYWxsb3dlZDogVGhyZXcg
ZXJyb3I6IEVycm9yOiBTRUNVUklUWV9FUlI6IERPTSBFeGNlcHRpb24gMTguCi1QQVNTOiBDYWxs
aW5nIHJlYWRQaXhlbHMoKSBvbiBhIGNhbnZhcyB3aGVyZSB0YWludGluZyB3YXMgYXR0ZW1wdGVk
IGJ5IGEgcmVtb3RlIGltYWdlIHdhcyBhbGxvd2VkLgotUEFTUzogQ2FsbGluZyB0b0RhdGFVUkwo
KSBvbiBhIGNhbnZhcyB3aGVyZSB0YWludGluZyB3YXMgYXR0ZW1wdGVkIGJ5IGEgcmVtb3RlIGlt
YWdlIHdhcyBhbGxvd2VkLgotUEFTUzogQ2FsbGluZyB0ZXhJbWFnZTJEKCkgd2l0aCBhIHRhaW50
ZWQgY2FudmFzIHdhcyBub3QgYWxsb3dlZDogVGhyZXcgZXJyb3I6IEVycm9yOiBTRUNVUklUWV9F
UlI6IERPTSBFeGNlcHRpb24gMTguCi1QQVNTOiBDYWxsaW5nIHJlYWRQaXhlbHMoKSBvbiBhIGNh
bnZhcyB3aGVyZSB0YWludGluZyB3YXMgYXR0ZW1wdGVkIGJ5IGEgdGFpbnRlZCBjYW52YXMgd2Fz
IGFsbG93ZWQuCi1QQVNTOiBDYWxsaW5nIHRvRGF0YVVSTCgpIG9uIGEgY2FudmFzIHdoZXJlIHRh
aW50aW5nIHdhcyBhdHRlbXB0ZWQgYnkgYSB0YWludGVkIGNhbnZhcyB3YXMgYWxsb3dlZC4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS93ZWJnbC1yZW1vdGUt
cmVhZC1yZW1vdGUtaW1hZ2UtYmxvY2tlZC1uby1jcm9zc29yaWdpbi5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS93ZWJnbC1yZW1vdGUtcmVhZC1yZW1vdGUtaW1hZ2UtYmxv
Y2tlZC1uby1jcm9zc29yaWdpbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBm
ODcwYzNlZjY0MWMzMzEzMDMwOWMzYjkyYjYwMjhmZjQ0ZjFmNzVlLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvd2ViZ2wtcmVtb3RlLXJlYWQtcmVtb3RlLWltYWdlLWJsb2NrZWQtbm8tY3Jvc3Nvcmln
aW4uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi08cHJlIGlkPSJjb25zb2xl
Ij48L3ByZT4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVu
YWJsZWQiLCAiMSIpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWxvZyA9IGZ1bmN0
aW9uKG1zZykKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICJcbiIpKTsKLX0KLQotdGVzdFRl
eEltYWdlMkQgPSBmdW5jdGlvbihnbCwgc291cmNlLCBkZXNjcmlwdGlvbikKLXsKLSAgICBkZXNj
cmlwdGlvbiA9ICJDYWxsaW5nIHRleEltYWdlMkQoKSB3aXRoIGEgdGFpbnRlZCAiICsgZGVzY3Jp
cHRpb247Ci0gICAgdHJ5IHsKLSAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBzb3VyY2UpOwotICAgICAgICBs
b2coIkZBSUw6ICIgKyBkZXNjcmlwdGlvbiArICIgd2FzIGFsbG93ZWQiKTsKLSAgICB9IGNhdGNo
IChlKSB7Ci0gICAgICAgIGxvZygiUEFTUzogIiArIGRlc2NyaXB0aW9uICsgIiB3YXMgbm90IGFs
bG93ZWQ6IFRocmV3IGVycm9yOiAiICsgZSArICIuIik7Ci0gICAgfQotfQotCi10ZXN0UmVhZFBp
eGVscyA9IGZ1bmN0aW9uKGdsLCBkZXNjcmlwdGlvbikKLXsKLSAgICBkZXNjcmlwdGlvbiA9ICJD
YWxsaW5nIHJlYWRQaXhlbHMoKSBvbiBhIGNhbnZhcyB3aGVyZSB0YWludGluZyB3YXMgYXR0ZW1w
dGVkIGJ5IGEgIiArIGRlc2NyaXB0aW9uOwotICAgIHRyeSB7Ci0gICAgICAgIHZhciBwaXhlbHMg
PSBuZXcgVWludDhBcnJheSg0KTsKLSAgICAgICAgZ2wucmVhZFBpeGVscygwLCAwLCAxLCAxLCBn
bC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBwaXhlbHMpOwotICAgICAgICBsb2coIlBBU1M6ICIg
KyBkZXNjcmlwdGlvbiArICIgd2FzIGFsbG93ZWQuIik7Ci0gICAgfSBjYXRjaCAoZSkgewotICAg
ICAgICBsb2coIkZBSUw6ICIgKyBkZXNjcmlwdGlvbiArICIgd2FzIG5vdCBhbGxvd2VkIC0gVGhy
ZXcgZXJyb3I6ICIgKyBlICsgIi4iKTsKLSAgICB9Ci19Ci0KLXRlc3RUb0RhdGFVUkwgPSBmdW5j
dGlvbihjYW52YXMsIGRlc2NyaXB0aW9uKQotewotICAgIGRlc2NyaXB0aW9uID0gIkNhbGxpbmcg
dG9EYXRhVVJMKCkgb24gYSBjYW52YXMgd2hlcmUgdGFpbnRpbmcgd2FzIGF0dGVtcHRlZCBieSBh
ICIgKyBkZXNjcmlwdGlvbjsKLSAgICB0cnkgewotICAgICAgICB2YXIgZGF0YVVSTCA9IGNhbnZh
cy50b0RhdGFVUkwoKTsKLSAgICAgICAgbG9nKCJQQVNTOiAiICsgZGVzY3JpcHRpb24gKyAiIHdh
cyBhbGxvd2VkLiIpOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgbG9nKCJGQUlMOiAiICsg
ZGVzY3JpcHRpb24gKyAiIHdhcyBub3QgYWxsb3dlZCAtIFRocmV3IGVycm9yOiAiICsgZSArICIu
Iik7Ci0gICAgfQotfQotCi10ZXN0ID0gZnVuY3Rpb24oY2FudmFzLCBkZXNjcmlwdGlvbikKLXsK
LSAgICB0ZXN0UmVhZFBpeGVscyhjYW52YXMuZ2V0Q29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmds
IiksIGRlc2NyaXB0aW9uKTsKLSAgICB0ZXN0VG9EYXRhVVJMKGNhbnZhcywgZGVzY3JpcHRpb24p
OwotfQotCi12YXIgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsKLWltYWdlLm9ubG9hZCA9IGZ1bmN0aW9u
KCkgewotICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsK
LSAgICBjYW52YXMud2lkdGggPSAxMDA7Ci0gICAgY2FudmFzLmhlaWdodCA9IDEwMDsKLSAgICB2
YXIgZ2wgPSBjYW52YXMuZ2V0Q29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmdsIik7Ci0KLSAgICAv
LyBDb250cm9sIHRlc3RzCi0gICAgbG9nKCJVbnRhaW50ZWQgY2FudmFzOiIpOwotICAgIHRyeSB7
Ci0gICAgICAgIHZhciBwaXhlbHMgPSBuZXcgVWludDhBcnJheSg0KTsKLSAgICAgICAgZ2wucmVh
ZFBpeGVscygwLCAwLCAxLCAxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBwaXhlbHMpOwot
ICAgICAgICBsb2coIlBBU1M6IENhbGxpbmcgcmVhZFBpeGVscygpIGZyb20gYW4gdW50YWludGVk
IGNhbnZhcyB3YXMgYWxsb3dlZC4iKTsKLSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIGxvZygi
RkFJTDogQ2FsbGluZyByZWFkUGl4ZWxzKCkgZnJvbSBhbiB1bnRhaW50ZWQgY2FudmFzIHdhcyBu
b3QgYWxsb3dlZDogVGhyZXcgZXJyb3I6ICIgKyBlICsgIi4iKTsKLSAgICB9Ci0gICAgdHJ5IHsK
LSAgICAgICAgdmFyIGRhdGFVUkwgPSBjYW52YXMudG9EYXRhVVJMKCk7Ci0gICAgICAgIGxvZygi
UEFTUzogQ2FsbGluZyB0b0RhdGFVUkwoKSBvbiBhbiB1bnRhaW50ZWQgY2FudmFzIHdhcyBhbGxv
d2VkLiIpOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgbG9nKCJGQUlMOiBDYWxsaW5nIHRv
RGF0YVVSTCgpIG9uIGFuIHVudGFpbnRlZCBjYW52YXMgd2FzIG5vdCBhbGxvd2VkOiBUaHJldyBl
cnJvcjogIiArIGUgKyAiLiIpOwotICAgIH0KLQotICAgIGxvZygiXG4iKTsKLSAgICBsb2coIlRh
aW50ZWQgY2FudmFzOiIpOwotICAgIC8vIFRlc3QgcmVhZGluZyBmcm9tIGEgY2FudmFzIGFmdGVy
IHVwbG9hZGluZyBhIHJlbW90ZSBpbWFnZSBhcyBhIHRleHR1cmUKLSAgICB2YXIgdGV4dHVyZSA9
IGdsLmNyZWF0ZVRleHR1cmUoKTsKLSAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0
ZXh0dXJlKTsKLSAgICB0ZXN0VGV4SW1hZ2UyRChnbCwgaW1hZ2UsICJpbWFnZSIpOwotCi0gICAg
dGVzdChjYW52YXMsICJyZW1vdGUgaW1hZ2UiKTsKLQotICAgIHZhciBkaXJ0eUNhbnZhcyA9IGNh
bnZhczsKLQotICAgIC8vIE5vdyB0ZXN0IHJlYWRpbmcgZnJvbSBhIGNhbnZhcyBhZnRlciBkcmF3
aW5nIGEgdGFpbnRlZCBjYW52YXMgb250byBpdAotICAgIHZhciBkaXJ0eUNhbnZhcyA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOwotICAgIGRpcnR5Q2FudmFzLndpZHRoID0gMTAw
OwotICAgIGRpcnR5Q2FudmFzLmhlaWdodCA9IDEwMDsKLSAgICB2YXIgZGlydHlDb250ZXh0ID0g
ZGlydHlDYW52YXMuZ2V0Q29udGV4dCgiMmQiKTsKLSAgICBkaXJ0eUNvbnRleHQuZHJhd0ltYWdl
KGltYWdlLCAwLCAwLCAxMDAsIDEwMCk7Ci0gICAgdGVzdFRleEltYWdlMkQoZ2wsIGRpcnR5Q2Fu
dmFzLCAiY2FudmFzIik7Ci0KLSAgICB0ZXN0KGNhbnZhcywgInRhaW50ZWQgY2FudmFzIik7Ci0K
LSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0vLyBOb3RpY2UgdGhhdCB3ZSBmb3JnZXQgdG8g
c2V0IHRoZSBpbWFnZS5jcm9zc09yaWdpbiBwcm9wZXJ0eSEKLWltYWdlLnNyYyA9ICJodHRwOi8v
bG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2FiZS1hbGxvdy1zdGFyLnBocCI7Ci08
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvU2tpcHBl
ZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvU2tpcHBlZAppbmRleCAwMTQ4ZjEyOTRi
MTVkN2UzOTUyMDVkNDIxYWYyZGFjYjcxYTFlOGI3Li43NTYzYjc1YWI3OThiN2M4M2Y0MTFlMjcx
ZGIzNWY0OGJhZWU1NTdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9Ta2lwcGVkCkBAIC05
ODQsOSArOTg0LDYgQEAgaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9waW5nLmh0bWwKIGh0
dHAvdGVzdHMvbmF2aWdhdGlvbi9waW5nLWNyb3NzLW9yaWdpbi1mcm9tLWh0dHBzLmh0bWwKIGh0
dHAvdGVzdHMvbmF2aWdhdGlvbi9waW5nLWNyb3NzLW9yaWdpbi5odG1sCiBodHRwL3Rlc3RzL25h
dmlnYXRpb24vcGluZy1zYW1lLW9yaWdpbi5odG1sCi1odHRwL3Rlc3RzL3NlY3VyaXR5L3dlYmds
LXJlbW90ZS1yZWFkLXJlbW90ZS1pbWFnZS1hbGxvd2VkLmh0bWwKLWh0dHAvdGVzdHMvc2VjdXJp
dHkvd2ViZ2wtcmVtb3RlLXJlYWQtcmVtb3RlLWltYWdlLWFsbG93ZWQtd2l0aC1jcmVkZW50aWFs
cy5odG1sCi1odHRwL3Rlc3RzL3NlY3VyaXR5L3dlYmdsLXJlbW90ZS1yZWFkLXJlbW90ZS1pbWFn
ZS1ibG9ja2VkLW5vLWNyb3Nzb3JpZ2luLmh0bWwKIGxvYWRlci9nby1iYWNrLXRvLWRpZmZlcmVu
dC13aW5kb3ctc2l6ZS5odG1sCiBtZWRpYS9yZXN0b3JlLWZyb20tcGFnZS1jYWNoZS5odG1sCiBq
YXZhL2VtYmVkZGluZy1qYXZhLXdpdGgtb2JqZWN0Lmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzMmQ5YmU2
YmEyYmY2N2U5ZGEwN2I4M2FlYTZhMzM2NWYyZDkyNzAyLi43OGVkODQzMGYwYmYxYTg4ZTM5ZDZh
MWIzOTRkNjJhNTYzOTRlODViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDYt
MDkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4ODM4Ny4KKyAgICAgICAgaHR0cDovL3RyYWMud2Vi
a2l0Lm9yZy9jaGFuZ2VzZXQvODgzODcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTYyMzY4CisKKyAgICAgICAgTmV3IHRlc3RzIGludHJvZHVjZWQgaW4g
ODgzODcgZmFpbCBvbiBMZW9wYXJkLEdUSyxRdCBib3RzCisgICAgICAgIChSZXF1ZXN0ZWQgYnkg
T3NzeSBvbiAjd2Via2l0KS4KKworICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDo6
Y2hlY2tPcmlnaW4pOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQuaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpyZWFkUGl4ZWxzKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4SW1hZ2UyRCk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZpZGVvRnJhbWVUb0ltYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRCk6
CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmg6CisKIDIwMTEt
MDYtMDkgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggNGUxMmFjNGMwZDUwNmM1MjVhMGQyODgx
MjVhMjc3YTE3Y2Q2MjNmZS4uN2JhNmMwMjNjNDQyYjMzMDQ5ZjdiMDdkMjI2Y2RlZWY3ZTlmMjc3
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dC5jcHAKQEAgLTQxLDczICs0MSw1MyBAQCBDYW52YXNSZW5kZXJpbmdDb250ZXh0
OjpDYW52YXNSZW5kZXJpbmdDb250ZXh0KEhUTUxDYW52YXNFbGVtZW50KiBjYW52YXMpCiB7CiB9
CiAKLWJvb2wgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDo6d291bGRUYWludE9yaWdpbihjb25zdCBD
YW52YXNQYXR0ZXJuKiBwYXR0ZXJuKQordm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0OjpjaGVj
a09yaWdpbihjb25zdCBDYW52YXNQYXR0ZXJuKiBwYXR0ZXJuKQogewogICAgIGlmIChjYW52YXMo
KS0+b3JpZ2luQ2xlYW4oKSAmJiBwYXR0ZXJuICYmICFwYXR0ZXJuLT5vcmlnaW5DbGVhbigpKQot
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGNhbnZhcygp
LT5zZXRPcmlnaW5UYWludGVkKCk7CiB9CiAKLWJvb2wgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDo6
d291bGRUYWludE9yaWdpbihjb25zdCBIVE1MQ2FudmFzRWxlbWVudCogc291cmNlQ2FudmFzKQor
dm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0OjpjaGVja09yaWdpbihjb25zdCBIVE1MQ2FudmFz
RWxlbWVudCogc291cmNlQ2FudmFzKQogewogICAgIGlmIChjYW52YXMoKS0+b3JpZ2luQ2xlYW4o
KSAmJiBzb3VyY2VDYW52YXMgJiYgIXNvdXJjZUNhbnZhcy0+b3JpZ2luQ2xlYW4oKSkKLSAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgICAgICBjYW52YXMoKS0+c2V0
T3JpZ2luVGFpbnRlZCgpOwogfQogCi1ib29sIENhbnZhc1JlbmRlcmluZ0NvbnRleHQ6OndvdWxk
VGFpbnRPcmlnaW4oY29uc3QgSFRNTEltYWdlRWxlbWVudCogaW1hZ2UpCit2b2lkIENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQ6OmNoZWNrT3JpZ2luKGNvbnN0IEhUTUxJbWFnZUVsZW1lbnQqIGltYWdl
KQogewogICAgIGlmICghaW1hZ2UgfHwgIWNhbnZhcygpLT5vcmlnaW5DbGVhbigpKQotICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybjsKIAogICAgIENhY2hlZEltYWdlKiBjYWNo
ZWRJbWFnZSA9IGltYWdlLT5jYWNoZWRJbWFnZSgpOwotICAgIGlmICghY2FjaGVkSW1hZ2UtPnBh
c3Nlc0FjY2Vzc0NvbnRyb2xDaGVjayhjYW52YXMoKS0+c2VjdXJpdHlPcmlnaW4oKSkpIHsKLSAg
ICAgICAgaWYgKHdvdWxkVGFpbnRPcmlnaW4oY2FjaGVkSW1hZ2UtPnJlc3BvbnNlKCkudXJsKCkp
KQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQorICAgIGlmICghY2FjaGVkSW1hZ2Ut
PnBhc3Nlc0FjY2Vzc0NvbnRyb2xDaGVjayhjYW52YXMoKS0+c2VjdXJpdHlPcmlnaW4oKSkpCisg
ICAgICAgIGNoZWNrT3JpZ2luKGNhY2hlZEltYWdlLT5yZXNwb25zZSgpLnVybCgpKTsKIAotICAg
IGlmICghY2FjaGVkSW1hZ2UtPmltYWdlKCktPmhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCkpCi0g
ICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChjYW52YXMo
KS0+b3JpZ2luQ2xlYW4oKSAmJiAhY2FjaGVkSW1hZ2UtPmltYWdlKCktPmhhc1NpbmdsZVNlY3Vy
aXR5T3JpZ2luKCkpCisgICAgICAgIGNhbnZhcygpLT5zZXRPcmlnaW5UYWludGVkKCk7CiB9CiAK
LWJvb2wgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDo6d291bGRUYWludE9yaWdpbihjb25zdCBIVE1M
VmlkZW9FbGVtZW50KiB2aWRlbykKK3ZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDo6Y2hlY2tP
cmlnaW4oY29uc3QgSFRNTFZpZGVvRWxlbWVudCogdmlkZW8pCiB7CiAjaWYgRU5BQkxFKFZJREVP
KQogICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIGlzIGxpa2VseSB3cm9uZyB3aGVuIGEgcmVkaXJl
Y3QgaXMgaW52b2x2ZWQuIFdlIG5lZWQKICAgICAvLyB0byB0ZXN0IHRoZSBmaW5hbFVSTC4gUGxl
YXNlIGJlIGNhcmVmdWwgd2hlbiBmaXhpbmcgdGhpcyBpc3N1ZSBub3QgdG8KICAgICAvLyBtYWtl
IGN1cnJlbnRTcmMgYmUgdGhlIGZpbmFsIFVSTCBiZWNhdXNlIHRoZW4gdGhlCiAgICAgLy8gSFRN
TE1lZGlhRWxlbWVudC5jdXJyZW50U3JjIERPTSBBUEkgd291bGQgbGVhayByZWRpcmVjdCBkZXN0
aW5hdGlvbnMhCi0gICAgaWYgKCF2aWRlbyB8fCAhY2FudmFzKCktPm9yaWdpbkNsZWFuKCkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICh3b3VsZFRhaW50T3JpZ2luKHZpZGVvLT5j
dXJyZW50U3JjKCkpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmICghdmlkZW8tPmhh
c1NpbmdsZVNlY3VyaXR5T3JpZ2luKCkpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgIGNoZWNr
T3JpZ2luKHZpZGVvLT5jdXJyZW50U3JjKCkpOworICAgIGlmIChjYW52YXMoKS0+b3JpZ2luQ2xl
YW4oKSAmJiB2aWRlbyAmJiAhdmlkZW8tPmhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCkpCisgICAg
ICAgIGNhbnZhcygpLT5zZXRPcmlnaW5UYWludGVkKCk7CiAjZW5kaWYKLQotICAgIHJldHVybiBm
YWxzZTsKIH0KIAotYm9vbCBDYW52YXNSZW5kZXJpbmdDb250ZXh0Ojp3b3VsZFRhaW50T3JpZ2lu
KGNvbnN0IEtVUkwmIHVybCkKK3ZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDo6Y2hlY2tPcmln
aW4oY29uc3QgS1VSTCYgdXJsKQogewotICAgIGlmICghY2FudmFzKCktPm9yaWdpbkNsZWFuKCkg
fHwgbV9jbGVhblVSTHMuY29udGFpbnModXJsLnN0cmluZygpKSkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIGlmICghY2FudmFzKCktPm9yaWdpbkNsZWFuKCkgfHwgbV9jbGVhbk9yaWdpbnMu
Y29udGFpbnModXJsLnN0cmluZygpKSkKKyAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGNhbnZh
cygpLT5zZWN1cml0eU9yaWdpbigpLT50YWludHNDYW52YXModXJsKSkKLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0KLSAgICBtX2NsZWFuVVJMcy5hZGQodXJsLnN0cmluZygpKTsKLSAgICByZXR1cm4g
ZmFsc2U7Ci19Ci0KLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDo6Y2hlY2tPcmlnaW4oY29u
c3QgS1VSTCYgdXJsKQotewotICAgIGlmICh3b3VsZFRhaW50T3JpZ2luKHVybCkpCiAgICAgICAg
IGNhbnZhcygpLT5zZXRPcmlnaW5UYWludGVkKCk7CisgICAgZWxzZQorICAgICAgICBtX2NsZWFu
T3JpZ2lucy5hZGQodXJsLnN0cmluZygpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dC5oCmluZGV4IDUzMjc4Nzg4ZDQ5YTFjYjMxMjk3ZjVmMGYxYmQ3YmYwOGYxMWMxYzEuLmEyMjc3
M2EzNTMzNWU4OWNkYzE5OGYwOTY3NjkzNzQxN2Q3N2Y3MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTYzLDIyICs2
MywxNSBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0
KEhUTUxDYW52YXNFbGVtZW50Kik7Ci0gICAgYm9vbCB3b3VsZFRhaW50T3JpZ2luKGNvbnN0IENh
bnZhc1BhdHRlcm4qKTsKLSAgICBib29sIHdvdWxkVGFpbnRPcmlnaW4oY29uc3QgSFRNTENhbnZh
c0VsZW1lbnQqKTsKLSAgICBib29sIHdvdWxkVGFpbnRPcmlnaW4oY29uc3QgSFRNTEltYWdlRWxl
bWVudCopOwotICAgIGJvb2wgd291bGRUYWludE9yaWdpbihjb25zdCBIVE1MVmlkZW9FbGVtZW50
Kik7Ci0gICAgYm9vbCB3b3VsZFRhaW50T3JpZ2luKGNvbnN0IEtVUkwmKTsKLQotICAgIHRlbXBs
YXRlPGNsYXNzIFQ+IHZvaWQgY2hlY2tPcmlnaW4oY29uc3QgVCogYXJnKQotICAgIHsKLSAgICAg
ICAgaWYgKHdvdWxkVGFpbnRPcmlnaW4oYXJnKSkKLSAgICAgICAgICAgIGNhbnZhcygpLT5zZXRP
cmlnaW5UYWludGVkKCk7Ci0gICAgfQorICAgIHZvaWQgY2hlY2tPcmlnaW4oY29uc3QgQ2FudmFz
UGF0dGVybiopOworICAgIHZvaWQgY2hlY2tPcmlnaW4oY29uc3QgSFRNTENhbnZhc0VsZW1lbnQq
KTsKKyAgICB2b2lkIGNoZWNrT3JpZ2luKGNvbnN0IEhUTUxJbWFnZUVsZW1lbnQqKTsKKyAgICB2
b2lkIGNoZWNrT3JpZ2luKGNvbnN0IEhUTUxWaWRlb0VsZW1lbnQqKTsKICAgICB2b2lkIGNoZWNr
T3JpZ2luKGNvbnN0IEtVUkwmKTsKIAogcHJpdmF0ZToKICAgICBIVE1MQ2FudmFzRWxlbWVudCog
bV9jYW52YXM7Ci0gICAgSGFzaFNldDxTdHJpbmc+IG1fY2xlYW5VUkxzOworICAgIEhhc2hTZXQ8
U3RyaW5nPiBtX2NsZWFuT3JpZ2luczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQu
Y3BwCmluZGV4IDE0YWQ2YzVjMzhiOWU2YThkNTgyOTE4OTJjMDI3MTJhZmE1N2VkYTYuLmZkOWQ1
OThiOTIyZjJlNmQ0ODE2ZDMyMjI1YWNiMDNkMjkyNTRkZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtMjgwNywx
MyArMjgwNywxNCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6cG9seWdvbk9mZnNldChH
QzNEZmxvYXQgZmFjdG9yLCBHQzNEZmxvYXQgdW5pdHMpCiAgICAgY2xlYW51cEFmdGVyR3JhcGhp
Y3NDYWxsKGZhbHNlKTsKIH0KIAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnJlYWRQaXhl
bHMoR0MzRGludCB4LCBHQzNEaW50IHksIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdo
dCwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXcqIHBpeGVs
cywgRXhjZXB0aW9uQ29kZSYpCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6cmVhZFBpeGVs
cyhHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0
LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldyogcGl4ZWxz
LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpKQogICAgICAg
ICByZXR1cm47Ci0gICAgLy8gRHVlIHRvIFdlYkdMJ3Mgc2FtZS1vcmlnaW4gcmVzdHJpY3Rpb25z
LCBpdCBpcyBub3QgcG9zc2libGUgdG8KLSAgICAvLyB0YWludCB0aGUgb3JpZ2luIHVzaW5nIHRo
ZSBXZWJHTCBBUEkuCi0gICAgQVNTRVJUKGNhbnZhcygpLT5vcmlnaW5DbGVhbigpKTsKKyAgICBp
ZiAoIWNhbnZhcygpLT5vcmlnaW5DbGVhbigpKSB7CisgICAgICAgIGVjID0gU0VDVVJJVFlfRVJS
OworICAgICAgICByZXR1cm47CisgICAgfQogICAgIC8vIFZhbGlkYXRlIGlucHV0IHBhcmFtZXRl
cnMuCiAgICAgaWYgKCFwaXhlbHMpIHsKICAgICAgICAgbV9jb250ZXh0LT5zeW50aGVzaXplR0xF
cnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSk7CkBAIC0zMTU2LDExICszMTU3
LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlMkQoR0MzRGVudW0gdGFy
Z2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bQogICAgICAgICByZXR1cm47CiAgICAgaWYgKCF2
YWxpZGF0ZUhUTUxJbWFnZUVsZW1lbnQoaW1hZ2UpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYg
KHdvdWxkVGFpbnRPcmlnaW4oaW1hZ2UpKSB7Ci0gICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCisgICAgY2hlY2tPcmlnaW4oaW1hZ2UpOwogICAgIHRl
eEltYWdlMkRJbXBsKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCBmb3JtYXQsIHR5cGUs
IGltYWdlLT5jYWNoZWRJbWFnZSgpLT5pbWFnZSgpLAogICAgICAgICAgICAgICAgICAgIG1fdW5w
YWNrRmxpcFksIG1fdW5wYWNrUHJlbXVsdGlwbHlBbHBoYSwgZWMpOwogfQpAQCAtMzE3NSwxMCAr
MzE3Miw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKEdDM0RlbnVt
IHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0KICAgICAgICAgbV9jb250ZXh0LT5zeW50
aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9Ci0gICAgaWYgKHdvdWxkVGFpbnRPcmlnaW4oY2FudmFzKSkgewotICAg
ICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBjaGVj
a09yaWdpbihjYW52YXMpOwogICAgIFJlZlB0cjxJbWFnZURhdGE+IGltYWdlRGF0YSA9IGNhbnZh
cy0+Z2V0SW1hZ2VEYXRhKCk7CiAgICAgaWYgKGltYWdlRGF0YSkKICAgICAgICAgdGV4SW1hZ2Uy
RCh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgZm9ybWF0LCB0eXBlLCBpbWFnZURhdGEu
Z2V0KCksIGVjKTsKQEAgLTMxODgsNyArMzE4Miw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0Ojp0ZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0K
IH0KIAogI2lmIEVOQUJMRShWSURFTykKLVBhc3NSZWZQdHI8SW1hZ2U+IFdlYkdMUmVuZGVyaW5n
Q29udGV4dDo6dmlkZW9GcmFtZVRvSW1hZ2UoSFRNTFZpZGVvRWxlbWVudCogdmlkZW8sIEV4Y2Vw
dGlvbkNvZGUmIGVjKQorUGFzc1JlZlB0cjxJbWFnZT4gV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2
aWRlb0ZyYW1lVG9JbWFnZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbykKIHsKICAgICBpZiAoIXZp
ZGVvIHx8ICF2aWRlby0+dmlkZW9XaWR0aCgpIHx8ICF2aWRlby0+dmlkZW9IZWlnaHQoKSkgewog
ICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJ
TlZBTElEX1ZBTFVFKTsKQEAgLTMyMDAsMTAgKzMxOTQsNyBAQCBQYXNzUmVmUHRyPEltYWdlPiBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZpZGVvRnJhbWVUb0ltYWdlKEhUTUxWaWRlb0VsZW1lbnQq
IHZpZAogICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4
dDNEOjpPVVRfT0ZfTUVNT1JZKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotICAgIGlmICh3
b3VsZFRhaW50T3JpZ2luKHZpZGVvKSkgewotICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKLSAg
ICAgICAgcmV0dXJuIDA7Ci0gICAgfQorICAgIGNoZWNrT3JpZ2luKHZpZGVvKTsKICAgICBJbnRS
ZWN0IGRlc3RSZWN0KDAsIDAsIHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSk7CiAgICAgLy8g
RklYTUU6IFR1cm4gdGhpcyBpbnRvIGEgR1BVLUdQVSB0ZXh0dXJlIGNvcHkgaW5zdGVhZCBvZiBD
UFUgcmVhZGJhY2suCiAgICAgdmlkZW8tPnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KGJ1Zi0+
Y29udGV4dCgpLCBkZXN0UmVjdCk7CkBAIC0zMjE2LDggKzMyMDcsOCBAQCB2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWws
IEdDM0RlbnVtCiAgICAgZWMgPSAwOwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCiAgICAgICAg
IHJldHVybjsKLSAgICBSZWZQdHI8SW1hZ2U+IGltYWdlID0gdmlkZW9GcmFtZVRvSW1hZ2Uodmlk
ZW8sIGVjKTsKLSAgICBpZiAoIWltYWdlKQorICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2UgPSB2aWRl
b0ZyYW1lVG9JbWFnZSh2aWRlbyk7CisgICAgaWYgKCF2aWRlbykKICAgICAgICAgcmV0dXJuOwog
ICAgIHRleEltYWdlMkRJbXBsKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCBmb3JtYXQs
IHR5cGUsIGltYWdlLmdldCgpLCBtX3VucGFja0ZsaXBZLCBtX3VucGFja1ByZW11bHRpcGx5QWxw
aGEsIGVjKTsKIH0KQEAgLTMzNTgsMTAgKzMzNDksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6dGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0Rp
bgogICAgICAgICByZXR1cm47CiAgICAgaWYgKCF2YWxpZGF0ZUhUTUxJbWFnZUVsZW1lbnQoaW1h
Z2UpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKHdvdWxkVGFpbnRPcmlnaW4oaW1hZ2UpKSB7
Ci0gICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAg
IGNoZWNrT3JpZ2luKGltYWdlKTsKICAgICB0ZXhTdWJJbWFnZTJESW1wbCh0YXJnZXQsIGxldmVs
LCB4b2Zmc2V0LCB5b2Zmc2V0LCBmb3JtYXQsIHR5cGUsIGltYWdlLT5jYWNoZWRJbWFnZSgpLT5p
bWFnZSgpLAogICAgICAgICAgICAgICAgICAgICAgIG1fdW5wYWNrRmxpcFksIG1fdW5wYWNrUHJl
bXVsdGlwbHlBbHBoYSwgZWMpOwogfQpAQCAtMzM3NiwxMCArMzM2NCw3IEBAIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBs
ZXZlbCwgR0MzRGluCiAgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhp
Y3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAg
IGlmICh3b3VsZFRhaW50T3JpZ2luKGNhbnZhcykpIHsKLSAgICAgICAgZWMgPSBTRUNVUklUWV9F
UlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgY2hlY2tPcmlnaW4oY2FudmFzKTsKICAg
ICBSZWZQdHI8SW1hZ2VEYXRhPiBpbWFnZURhdGEgPSBjYW52YXMtPmdldEltYWdlRGF0YSgpOwog
ICAgIGlmIChpbWFnZURhdGEpCiAgICAgICAgIHRleFN1YkltYWdlMkQodGFyZ2V0LCBsZXZlbCwg
eG9mZnNldCwgeW9mZnNldCwgZm9ybWF0LCB0eXBlLCBpbWFnZURhdGEuZ2V0KCksIGVjKTsKQEAg
LTMzOTUsOCArMzM4MCw4IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFn
ZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGluCiAgICAgZWMgPSAwOwog
ICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCiAgICAgICAgIHJldHVybjsKLSAgICBSZWZQdHI8SW1h
Z2U+IGltYWdlID0gdmlkZW9GcmFtZVRvSW1hZ2UodmlkZW8sIGVjKTsKLSAgICBpZiAoIWltYWdl
KQorICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2UgPSB2aWRlb0ZyYW1lVG9JbWFnZSh2aWRlbyk7Cisg
ICAgaWYgKCF2aWRlbykKICAgICAgICAgcmV0dXJuOwogICAgIHRleFN1YkltYWdlMkRJbXBsKHRh
cmdldCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIGZvcm1hdCwgdHlwZSwgaW1hZ2UuZ2V0KCks
IG1fdW5wYWNrRmxpcFksIG1fdW5wYWNrUHJlbXVsdGlwbHlBbHBoYSwgZWMpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAppbmRl
eCAyZTBmODUwNzk4NWIyMTAwMmJkYmI2NzBiZjZmNDUwNGU2MjZlNmUzLi43NzkyMzE0MDFlMGUw
MDQ5OTBiYTRjMGJhOGQxYmE1YTJlMjU3NTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaApAQCAtMzQ0LDcgKzM0NCw3IEBAIHB1
YmxpYzoKICAgICBib29sIHZhbGlkYXRlV2ViR0xPYmplY3QoV2ViR0xPYmplY3QqKTsKIAogI2lm
IEVOQUJMRShWSURFTykKLSAgICBQYXNzUmVmUHRyPEltYWdlPiB2aWRlb0ZyYW1lVG9JbWFnZShI
VE1MVmlkZW9FbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOworICAgIFBhc3NSZWZQdHI8SW1hZ2U+
IHZpZGVvRnJhbWVUb0ltYWdlKEhUTUxWaWRlb0VsZW1lbnQqKTsKICNlbmRpZgogCiAgICAgUmVm
UHRyPEdyYXBoaWNzQ29udGV4dDNEPiBtX2NvbnRleHQ7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>