<?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>97582</bug_id>
          
          <creation_ts>2012-09-25 11:21:00 -0700</creation_ts>
          <short_desc>REGRESSION(r129517): Link errors in chromium (Requested by alecf on #webkit).</short_desc>
          <delta_ts>2012-09-25 11:30:24 -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>97540</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>tommyw</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>727810</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-25 11:21:00 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/129517 broke the build:
Link errors in chromium (Requested by alecf 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>727812</commentid>
    <comment_count>1</comment_count>
      <attachid>165645</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-25 11:21:43 -0700</bug_when>
    <thetext>Created attachment 165645
ROLLOUT of r129517

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>727821</commentid>
    <comment_count>2</comment_count>
      <attachid>165645</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-25 11:30:21 -0700</bug_when>
    <thetext>Comment on attachment 165645
ROLLOUT of r129517

Clearing flags on attachment: 165645

Committed r129532: &lt;http://trac.webkit.org/changeset/129532&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727822</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-25 11:30:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165645</attachid>
            <date>2012-09-25 11:21:43 -0700</date>
            <delta_ts>2012-09-25 11:30:21 -0700</delta_ts>
            <desc>ROLLOUT of r129517</desc>
            <filename>bug-97582-20120925182812.patch</filename>
            <type>text/plain</type>
            <size>40471</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAyMmU3ZjUwYjRkNzEw
NzM3MWNmZTE0ZTRjMTUzMzA1ZTE4M2RlZTNiLi5jMDJiOTRmYjY3ZTZkZTA5NWI1OGI1Y2NmYjAy
ODNiNGVhNzViMDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wOS0yNSAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyOTUxNy4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMTI5NTE3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NzU4MgorCisgICAgICAgIExpbmsgZXJyb3JzIGluIGNocm9taXVtIChS
ZXF1ZXN0ZWQgYnkgYWxlY2Ygb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJs
aWMvV2ViTWVkaWFDb25zdHJhaW50cy5oOgorICAgICAgICAoV2ViTWVkaWFDb25zdHJhaW50cyk6
CisKIDIwMTItMDktMjUgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CiAK
ICAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBVcGRhdGUgZ2V0VXNlck1lZGlhIHRvIG1hdGNoIHRo
ZSBsYXRlc3Qgc3BlY2lmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDg5OWY3M2NiMmNhMzE3YTFjYjU5
ZGJmZWJlOTMwZDc2ODAxNzUwNjMuLjBmMmQzZWU2N2ZlMjZiYTAzNWYwNWQzNWJhZmE5NWMyNTQ5
ODlkYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMi0wOS0yNSAgU2hlcmlmZiBC
b3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjEyOTUxNy4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMTI5NTE3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05NzU4MgorCisgICAgICAgIExpbmsgZXJyb3JzIGluIGNocm9taXVtIChSZXF1ZXN0ZWQg
YnkgYWxlY2Ygb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01l
ZGlhQ29uc3RyYWludHNJbXBsLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01l
ZGlhQ29uc3RyYWludHNJbXBsLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZp
Z2F0b3JNZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JNZWRpYVN0
cmVhbTo6d2Via2l0R2V0VXNlck1lZGlhKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L1VzZXJNZWRpYVJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lZGlhUmVxdWVz
dDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6OlVzZXJNZWRp
YVJlcXVlc3QpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVz
dC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChVc2VyTWVkaWFSZXF1ZXN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6OmF1ZGlvKToKKyAgICAgICAgKFdlYkNv
cmU6OlVzZXJNZWRpYVJlcXVlc3Q6OnZpZGVvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9zdXBwb3J0L1dlYk1lZGlhQ29uc3RyYWludHMuY3BwOgorCiAyMDEyLTA5LTI0ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJFR1JFU1NJ
T046IEluY29ycmVjdCBwcmVmZXJyZWQgd2lkdGggY2FsY3VsYXRpb24gZm9yIHRhYmxlIGNlbGxz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGY1NTk3MzFiOWY4YzdlMzY3MGQ2ODQ5YTIy
ZmI5MjUyMzA5MjkzNjAuLjE4YjNkY2I1YjI0ZmZjZTM1YmY1YjE3Y2ZhMDg0NDcyMDE3MWE5MTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDktMjUg
IFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjk1MTcuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtp
dC5vcmcvY2hhbmdlc2V0LzEyOTUxNworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTc1ODIKKworICAgICAgICBMaW5rIGVycm9ycyBpbiBjaHJvbWl1bSAo
UmVxdWVzdGVkIGJ5IGFsZWNmIG9uICN3ZWJraXQpLgorCisgICAgICAgICogcHVibGljL1dlYlVz
ZXJNZWRpYVJlcXVlc3QuaDoKKyAgICAgICAgKFdlYlVzZXJNZWRpYVJlcXVlc3QpOgorICAgICAg
ICAqIHNyYy9XZWJVc2VyTWVkaWFSZXF1ZXN0LmNwcDoKKwogMjAxMi0wOS0yNSAgRG9taW5pYyBN
YXp6b25pICA8ZG1henpvbmlAZ29vZ2xlLmNvbT4KIAogICAgICAgICBBWDogQ2hyb21pdW0gZG9l
c24ndCBwYXNzIGFjY2Vzc2liaWxpdHkgdGV4dCByYW5nZSBhbmQgbGluZSBudW1iZXIgdGVzdHMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTWVkaWFDb25z
dHJhaW50cy5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYUNvbnN0
cmFpbnRzLmgKaW5kZXggODg2NjA0ZmU4NDZkMjkwZmNhNjE3YTZhNTA3MTc0NGEzNTJmNDE3Yy4u
Yzc3NDI0ODgwOTY4MDU5NmY0Yzg0ZWE0ZTUwZTU2ODBiYmNkZTliYSAxMDA2NDQKLS0tIGEvU291
cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYUNvbnN0cmFpbnRzLmgKKysrIGIv
U291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYUNvbnN0cmFpbnRzLmgKQEAg
LTY4LDcgKzY4LDYgQEAgcHVibGljOgogCiAjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCiAgICAg
V2ViTWVkaWFDb25zdHJhaW50cyhjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6TWVkaWFD
b25zdHJhaW50cz4mKTsKLSAgICBXZWJNZWRpYUNvbnN0cmFpbnRzKFdlYkNvcmU6Ok1lZGlhQ29u
c3RyYWludHMqKTsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzSW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhQ29uc3RyYWludHNJbXBsLmNwcAppbmRl
eCBiOWUzMDE0MWVmNDQxM2I2ZjlhY2QwNzhiZTljNmJjMGE2NGQ2MzI2Li4xMzM2ZjgyOGEwYjdi
NDY4NzE3Y2RiNDkxYzgwZmE5NjQ0Y2QyZWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhQ29uc3RyYWludHNJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhQ29uc3RyYWludHNJbXBsLmNwcApAQCAt
NTEsMTEgKzUxLDYgQEAgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4gTWVkaWFDb25z
dHJhaW50c0ltcGw6OmNyZWF0ZShjb25zdCBEaWN0aW9uYXJ5JgogICAgIHJldHVybiBvYmplY3Qu
cmVsZWFzZSgpOwogfQogCi1QYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHNJbXBsPiBNZWRpYUNv
bnN0cmFpbnRzSW1wbDo6Y3JlYXRlKCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlh
Q29uc3RyYWludHNJbXBsKCkpOwotfQotCiBib29sIE1lZGlhQ29uc3RyYWludHNJbXBsOjppbml0
aWFsaXplKGNvbnN0IERpY3Rpb25hcnkmIGNvbnN0cmFpbnRzKQogewogICAgIGlmIChjb25zdHJh
aW50cy5pc1VuZGVmaW5lZE9yTnVsbCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzSW1wbC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzSW1wbC5oCmluZGV4IGNkYzc2Yjlj
ZmM1N2I3MzI1NTc0YzEyYTlkYWFkZmZkZDU4NmY1N2MuLjRhNzMxYzkwNDkxYzBhMmNkNmZiNmRl
MTE5Y2Q2ZTk1ZjFkOTJlYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFDb25zdHJhaW50c0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL01lZGlhQ29uc3RyYWludHNJbXBsLmgKQEAgLTQzLDcgKzQzLDYgQEAg
Y2xhc3MgRGljdGlvbmFyeTsKIAogY2xhc3MgTWVkaWFDb25zdHJhaW50c0ltcGwgOiBwdWJsaWMg
TWVkaWFDb25zdHJhaW50cyB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFD
b25zdHJhaW50c0ltcGw+IGNyZWF0ZSgpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29u
c3RyYWludHNJbXBsPiBjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYsIEV4Y2VwdGlvbkNvZGUmKTsK
ICAgICB2aXJ0dWFsIH5NZWRpYUNvbnN0cmFpbnRzSW1wbCgpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhU3RyZWFtLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0u
Y3BwCmluZGV4IGMxNGJjMTBlMWNmNjE3OGM3MWI0NTNjYzU3ODE2YjcxMjIwZjhjYTMuLmY4NWQ4
OTMwNjFhNmVjZDRhYTdhYjU3NWY0OTI2YzQwZTE5ZjBjN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0u
Y3BwCkBAIC01Nyw3ICs1Nyw3IEBAIHZvaWQgTmF2aWdhdG9yTWVkaWFTdHJlYW06OndlYmtpdEdl
dFVzZXJNZWRpYShOYXZpZ2F0b3IqIG5hdmlnYXRvciwgY29uc3QgRGljdGlvCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSAgICBSZWZQdHI8VXNlck1lZGlhUmVxdWVzdD4gcmVxdWVzdCA9IFVz
ZXJNZWRpYVJlcXVlc3Q6OmNyZWF0ZShuYXZpZ2F0b3ItPmZyYW1lKCktPmRvY3VtZW50KCksIHVz
ZXJNZWRpYSwgb3B0aW9ucywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrLCBlYyk7Cisg
ICAgUmVmUHRyPFVzZXJNZWRpYVJlcXVlc3Q+IHJlcXVlc3QgPSBVc2VyTWVkaWFSZXF1ZXN0Ojpj
cmVhdGUobmF2aWdhdG9yLT5mcmFtZSgpLT5kb2N1bWVudCgpLCB1c2VyTWVkaWEsIG9wdGlvbnMs
IHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgaWYgKCFyZXF1ZXN0KSB7CiAg
ICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3Qu
Y3BwCmluZGV4IDEyZGMwZTg3NTQ0NTgwNGViYTY1N2YyYTU2ZTU2MDhlNzNhMzdkMTEuLmU2ZmMy
ZTcxNTRhZDcyMTZhMTc2ZDJlMTI3MTAwNTdmNjMwOGNmOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcApAQCAt
MzcsOSArMzcsNyBAQAogCiAjaW5jbHVkZSAiRGljdGlvbmFyeS5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCi0jaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkxvY2FsTWVkaWFT
dHJlYW0uaCIKLSNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRzSW1wbC5oIgogI2luY2x1ZGUgIk1l
ZGlhU3RyZWFtQ2VudGVyLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmgiCiAj
aW5jbHVkZSAiU3BhY2VTcGxpdFN0cmluZy5oIgpAQCAtNDcsNzYgKzQ1LDMxIEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50c0ltcGw+
IHBhcnNlT3B0aW9ucyhjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBjb25zdCBTdHJpbmcmIG5h
bWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQorUGFzc1JlZlB0cjxVc2VyTWVkaWFSZXF1ZXN0PiBVc2Vy
TWVkaWFSZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgVXNl
ck1lZGlhQ29udHJvbGxlciogY29udHJvbGxlciwgY29uc3QgRGljdGlvbmFyeSYgb3B0aW9ucywg
UGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxs
YmFjaywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJvckNh
bGxiYWNrKQogewotICAgIFJlZlB0cjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4gY29uc3RyYWludHM7
Ci0KLSAgICBEaWN0aW9uYXJ5IGNvbnN0cmFpbnRzRGljdGlvbmFyeTsKLSAgICBib29sIG9rID0g
b3B0aW9ucy5nZXQobmFtZSwgY29uc3RyYWludHNEaWN0aW9uYXJ5KTsKLSAgICBpZiAob2sgJiYg
IWNvbnN0cmFpbnRzRGljdGlvbmFyeS5pc1VuZGVmaW5lZE9yTnVsbCgpKQotICAgICAgICBjb25z
dHJhaW50cyA9IE1lZGlhQ29uc3RyYWludHNJbXBsOjpjcmVhdGUoY29uc3RyYWludHNEaWN0aW9u
YXJ5LCBlYyk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIGJvb2wgZmxhZyA9IGZhbHNlOwotICAgICAg
ICBvcHRpb25zLmdldChuYW1lLCBmbGFnKTsKLSAgICAgICAgaWYgKGZsYWcpCi0gICAgICAgICAg
ICBjb25zdHJhaW50cyA9IE1lZGlhQ29uc3RyYWludHNJbXBsOjpjcmVhdGUoKTsKLSAgICB9Ci0K
LSAgICByZXR1cm4gY29uc3RyYWludHMucmVsZWFzZSgpOwotfQotCi1QYXNzUmVmUHRyPFVzZXJN
ZWRpYVJlcXVlc3Q+IFVzZXJNZWRpYVJlcXVlc3Q6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBVc2VyTWVkaWFDb250cm9sbGVyKiBjb250cm9sbGVyLCBjb25zdCBEaWN0
aW9uYXJ5JiBvcHRpb25zLCBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2s+IGVycm9yQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIFJlZlB0
cjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4gYXVkaW8gPSBwYXJzZU9wdGlvbnMob3B0aW9ucywgQVND
SUlMaXRlcmFsKCJhdWRpbyIpLCBlYyk7Ci0gICAgaWYgKGVjKQorICAgIFJlZlB0cjxVc2VyTWVk
aWFSZXF1ZXN0PiByZXF1ZXN0ID0gYWRvcHRSZWYobmV3IFVzZXJNZWRpYVJlcXVlc3QoY29udGV4
dCwgY29udHJvbGxlciwgb3B0aW9ucywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSk7
CisgICAgaWYgKCFyZXF1ZXN0LT5hdWRpbygpICYmICFyZXF1ZXN0LT52aWRlbygpKQogICAgICAg
ICByZXR1cm4gMDsKIAotICAgIFJlZlB0cjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4gdmlkZW8gPSBw
YXJzZU9wdGlvbnMob3B0aW9ucywgQVNDSUlMaXRlcmFsKCJ2aWRlbyIpLCBlYyk7Ci0gICAgaWYg
KGVjKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIGlmICghYXVkaW8gJiYgIXZpZGVvKQotICAg
ICAgICByZXR1cm4gMDsKLQotICAgIFJlZlB0cjxVc2VyTWVkaWFSZXF1ZXN0PiByZXF1ZXN0ID0g
YWRvcHRSZWYobmV3IFVzZXJNZWRpYVJlcXVlc3QoY29udGV4dCwgY29udHJvbGxlciwgYXVkaW8u
cmVsZWFzZSgpLCB2aWRlby5yZWxlYXNlKCksIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFj
aykpOwotCiAgICAgcmV0dXJuIHJlcXVlc3QucmVsZWFzZSgpOwogfQogCi1Vc2VyTWVkaWFSZXF1
ZXN0OjpVc2VyTWVkaWFSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFVz
ZXJNZWRpYUNvbnRyb2xsZXIqIGNvbnRyb2xsZXIsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50
c0ltcGw+IGF1ZGlvLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHNJbXBsPiB2aWRlbywgUGFz
c1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFj
aywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxi
YWNrKQorVXNlck1lZGlhUmVxdWVzdDo6VXNlck1lZGlhUmVxdWVzdChTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBVc2VyTWVkaWFDb250cm9sbGVyKiBjb250cm9sbGVyLCBjb25zdCBE
aWN0aW9uYXJ5JiBvcHRpb25zLCBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCiAgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNl
cnZlcihjb250ZXh0KQotICAgICwgbV9hdWRpbyhhdWRpbykKLSAgICAsIG1fdmlkZW8odmlkZW8p
CisgICAgLCBtX2F1ZGlvKGZhbHNlKQorICAgICwgbV92aWRlbyhmYWxzZSkKICAgICAsIG1fY29u
dHJvbGxlcihjb250cm9sbGVyKQogICAgICwgbV9zdWNjZXNzQ2FsbGJhY2soc3VjY2Vzc0NhbGxi
YWNrKQogICAgICwgbV9lcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2spCiB7CisgICAgb3B0aW9u
cy5nZXQoImF1ZGlvIiwgbV9hdWRpbyk7CisgICAgb3B0aW9ucy5nZXQoInZpZGVvIiwgbV92aWRl
byk7CiB9CiAKIFVzZXJNZWRpYVJlcXVlc3Q6On5Vc2VyTWVkaWFSZXF1ZXN0KCkKIHsKIH0KIAot
Ym9vbCBVc2VyTWVkaWFSZXF1ZXN0OjphdWRpbygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIChib29s
KW1fYXVkaW87Ci19Ci0KLWJvb2wgVXNlck1lZGlhUmVxdWVzdDo6dmlkZW8oKSBjb25zdAotewot
ICAgIHJldHVybiAoYm9vbCltX3ZpZGVvOwotfQotCi1NZWRpYUNvbnN0cmFpbnRzKiBVc2VyTWVk
aWFSZXF1ZXN0OjphdWRpb0NvbnN0cmFpbnRzKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9hdWRp
by5nZXQoKTsKLX0KLQotTWVkaWFDb25zdHJhaW50cyogVXNlck1lZGlhUmVxdWVzdDo6dmlkZW9D
b25zdHJhaW50cygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fdmlkZW8uZ2V0KCk7Ci19Ci0KIERv
Y3VtZW50KiBVc2VyTWVkaWFSZXF1ZXN0Ojpvd25lckRvY3VtZW50KCkKIHsKICAgICBpZiAobV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5oCmluZGV4IDY0ZDBiMTdlZDlhMDY4M2M3
NGUxYWNiNzhiMjI5ZTc5NjVjYTg5NGQuLmI1MzM0OGQyOTYzYzJiYTEzMjY4YjIyMTk0OGIzNTlm
ODU0ZjEzNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
VXNlck1lZGlhUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vVXNlck1lZGlhUmVxdWVzdC5oCkBAIC0zNCw3ICszNCw2IEBACiAjaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgotI2luY2x1ZGUgIkV4Y2Vw
dGlvbkJhc2UuaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVNvdXJjZS5oIgogI2luY2x1ZGUgIk1l
ZGlhU3RyZWFtU291cmNlc1F1ZXJ5Q2xpZW50LmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjay5oIgpAQCAtNDcsMTQgKzQ2LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgRGljdGlvbmFyeTsKIGNsYXNzIERvY3VtZW50OwotY2xhc3MgTWVkaWFDb25z
dHJhaW50czsKLWNsYXNzIE1lZGlhQ29uc3RyYWludHNJbXBsOwogY2xhc3MgTWVkaWFTdHJlYW1E
ZXNjcmlwdG9yOwogY2xhc3MgVXNlck1lZGlhQ29udHJvbGxlcjsKIAogY2xhc3MgVXNlck1lZGlh
UmVxdWVzdCA6IHB1YmxpYyBNZWRpYVN0cmVhbVNvdXJjZXNRdWVyeUNsaWVudCwgcHVibGljIENv
bnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0
cjxVc2VyTWVkaWFSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFVzZXJN
ZWRpYUNvbnRyb2xsZXIqLCBjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBQYXNzUmVmUHRyPE5h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4sIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjaz4sIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxVc2VyTWVkaWFSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFVz
ZXJNZWRpYUNvbnRyb2xsZXIqLCBjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBQYXNzUmVmUHRy
PE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4sIFBhc3NSZWZQdHI8TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjaz4pOwogICAgIH5Vc2VyTWVkaWFSZXF1ZXN0KCk7CiAKICAg
ICBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sqIHN1Y2Nlc3NDYWxsYmFjaygpIGNv
bnN0IHsgcmV0dXJuIG1fc3VjY2Vzc0NhbGxiYWNrLmdldCgpOyB9CkBAIC02NywyMiArNjQsMTkg
QEAgcHVibGljOgogICAgIHZvaWQgc3VjY2VlZChQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3Jp
cHRvcj4pOwogICAgIHZvaWQgZmFpbCgpOwogCi0gICAgTWVkaWFDb25zdHJhaW50cyogYXVkaW9D
b25zdHJhaW50cygpIGNvbnN0OwotICAgIE1lZGlhQ29uc3RyYWludHMqIHZpZGVvQ29uc3RyYWlu
dHMoKSBjb25zdDsKLQogICAgIC8vIE1lZGlhU3RyZWFtU291cmNlc1F1ZXJ5Q2xpZW50Ci0gICAg
dmlydHVhbCBib29sIGF1ZGlvKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIHZpZGVvKCkgY29u
c3Q7CisgICAgdmlydHVhbCBib29sIGF1ZGlvKCkgY29uc3QgeyByZXR1cm4gbV9hdWRpbzsgfQor
ICAgIHZpcnR1YWwgYm9vbCB2aWRlbygpIGNvbnN0IHsgcmV0dXJuIG1fdmlkZW87IH0KICAgICB2
aXJ0dWFsIHZvaWQgZGlkQ29tcGxldGVRdWVyeShjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3Rv
ciYgYXVkaW9Tb3VyY2VzLCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9Tb3Vy
Y2VzKTsKIAogICAgIC8vIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyCiAgICAgdmlydHVhbCB2
b2lkIGNvbnRleHREZXN0cm95ZWQoKTsKIAogcHJpdmF0ZToKLSAgICBVc2VyTWVkaWFSZXF1ZXN0
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBVc2VyTWVkaWFDb250cm9sbGVyKiwgUGFzc1JlZlB0
cjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4gYXVkaW8sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50
c0ltcGw+IHZpZGVvLCBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
az4sIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4pOworICAgIFVz
ZXJNZWRpYVJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFVzZXJNZWRpYUNvbnRyb2xs
ZXIqLCBjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFjaz4sIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFjaz4pOwogCi0gICAgUmVmUHRyPE1lZGlhQ29uc3RyYWludHNJbXBsPiBtX2F1ZGlvOwot
ICAgIFJlZlB0cjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4gbV92aWRlbzsKKyAgICBib29sIG1fYXVk
aW87CisgICAgYm9vbCBtX3ZpZGVvOwogCiAgICAgVXNlck1lZGlhQ29udHJvbGxlciogbV9jb250
cm9sbGVyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9z
dXBwb3J0L1dlYk1lZGlhQ29uc3RyYWludHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y2hyb21pdW0vc3VwcG9ydC9XZWJNZWRpYUNvbnN0cmFpbnRzLmNwcAppbmRleCAxZDI3MGNjZjgx
YjhlMDI0YTUxYTFhNTk0OWY4ZGE5OTY5MDY5ODNjLi4wNWZhM2Y2NjZkMDE2MzFjYzkyYTkyN2Q1
N2MwMzZhMTg4ZTU1OTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9zdXBwb3J0L1dlYk1lZGlhQ29uc3RyYWludHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQvV2ViTWVkaWFDb25zdHJhaW50cy5jcHAKQEAgLTQ1
LDExICs0NSw2IEBAIFdlYk1lZGlhQ29uc3RyYWludHM6OldlYk1lZGlhQ29uc3RyYWludHMoY29u
c3QgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiYgY29uCiB7CiB9CiAKLVdlYk1lZGlhQ29u
c3RyYWludHM6OldlYk1lZGlhQ29uc3RyYWludHMoTWVkaWFDb25zdHJhaW50cyogY29uc3RyYWlu
dHMpCi0gICAgOiBtX3ByaXZhdGUoY29uc3RyYWludHMpCi17Ci19Ci0KIHZvaWQgV2ViTWVkaWFD
b25zdHJhaW50czo6YXNzaWduKGNvbnN0IFdlYk1lZGlhQ29uc3RyYWludHMmIG90aGVyKQogewog
ICAgIG1fcHJpdmF0ZSA9IG90aGVyLm1fcHJpdmF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYlVzZXJNZWRpYVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYlVzZXJNZWRpYVJlcXVlc3QuaAppbmRleCAzYzg0Njk2NDg2OTAy
MGU0NmU2ZGI4ZWExM2M0ZWU1NmYwY2JhZjgxLi42NjBkZjViYzFjNDhhMGNiZDI5YjJiZTAwMTZi
YTQzMDAzYzk1MzE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJVc2VyTWVkaWFSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViVXNlck1lZGlhUmVxdWVzdC5oCkBAIC00MSw3ICs0MSw2IEBAIGNsYXNzIFVzZXJNZWRpYVJl
cXVlc3Q7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViRG9jdW1lbnQ7Ci1jbGFzcyBX
ZWJNZWRpYUNvbnN0cmFpbnRzOwogY2xhc3MgV2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yOwogY2xh
c3MgV2ViTWVkaWFTdHJlYW1Tb3VyY2U7CiBjbGFzcyBXZWJTdHJpbmc7CkBAIC02Niw4ICs2NSw2
IEBAIHB1YmxpYzoKIAogICAgIFdFQktJVF9FWFBPUlQgYm9vbCBhdWRpbygpIGNvbnN0OwogICAg
IFdFQktJVF9FWFBPUlQgYm9vbCB2aWRlbygpIGNvbnN0OwotICAgIFdFQktJVF9FWFBPUlQgV2Vi
TWVkaWFDb25zdHJhaW50cyBhdWRpb0NvbnN0cmFpbnRzKCkgY29uc3Q7Ci0gICAgV0VCS0lUX0VY
UE9SVCBXZWJNZWRpYUNvbnN0cmFpbnRzIHZpZGVvQ29uc3RyYWludHMoKSBjb25zdDsKIAogICAg
IFdFQktJVF9FWFBPUlQgV2ViU2VjdXJpdHlPcmlnaW4gc2VjdXJpdHlPcmlnaW4oKSBjb25zdDsK
ICAgICBXRUJLSVRfRVhQT1JUIFdlYkRvY3VtZW50IG93bmVyRG9jdW1lbnQoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlVzZXJNZWRpYVJlcXVlc3Qu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVXNlck1lZGlhUmVxdWVzdC5jcHAK
aW5kZXggZmZlY2IwYWVkM2M4MWM5YWNmNDUyMjg3ZTczMmFmYmQ1MzdhODkzNi4uMjZmMTdjMzVi
OGViMWYzN2IyN2U1MGE0ZjhhYmYwNTBjNjVjYzI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVXNlck1lZGlhUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVXNlck1lZGlhUmVxdWVzdC5jcHAKQEAgLTM1LDE4ICszNSwxNiBA
QAogI2luY2x1ZGUgIldlYlVzZXJNZWRpYVJlcXVlc3QuaCIKIAogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCi0jaW5jbHVkZSAiTWVkaWFDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFt
RGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtU291cmNlLmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJVc2VyTWVkaWFSZXF1ZXN0LmgiCiAjaW5jbHVk
ZSAiV2ViRG9jdW1lbnQuaCIKICNpbmNsdWRlICJXZWJTZWN1cml0eU9yaWdpbi5oIgotI2luY2x1
ZGUgPHB1YmxpYy9XZWJNZWRpYUNvbnN0cmFpbnRzLmg+Ci0jaW5jbHVkZSA8cHVibGljL1dlYk1l
ZGlhU3RyZWFtRGVzY3JpcHRvci5oPgotI2luY2x1ZGUgPHB1YmxpYy9XZWJNZWRpYVN0cmVhbVNv
dXJjZS5oPgotI2luY2x1ZGUgPHB1YmxpYy9XZWJTdHJpbmcuaD4KLSNpbmNsdWRlIDxwdWJsaWMv
V2ViVmVjdG9yLmg+CisjaW5jbHVkZSAicGxhdGZvcm0vV2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9y
LmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViTWVkaWFTdHJlYW1Tb3VyY2UuaCIKKyNpbmNsdWRl
ICJwbGF0Zm9ybS9XZWJTdHJpbmcuaCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9XZWJWZWN0b3IuaCIK
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAt
NzUsMTggKzczLDYgQEAgYm9vbCBXZWJVc2VyTWVkaWFSZXF1ZXN0Ojp2aWRlbygpIGNvbnN0CiAg
ICAgcmV0dXJuIG1fcHJpdmF0ZS0+dmlkZW8oKTsKIH0KIAotV2ViTWVkaWFDb25zdHJhaW50cyBX
ZWJVc2VyTWVkaWFSZXF1ZXN0OjphdWRpb0NvbnN0cmFpbnRzKCkgY29uc3QKLXsKLSAgICBBU1NF
UlQoIWlzTnVsbCgpKTsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5hdWRpb0NvbnN0cmFpbnRzKCk7
Ci19Ci0KLVdlYk1lZGlhQ29uc3RyYWludHMgV2ViVXNlck1lZGlhUmVxdWVzdDo6dmlkZW9Db25z
dHJhaW50cygpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKCFpc051bGwoKSk7Ci0gICAgcmV0dXJuIG1f
cHJpdmF0ZS0+dmlkZW9Db25zdHJhaW50cygpOwotfQotCiBXZWJTZWN1cml0eU9yaWdpbiBXZWJV
c2VyTWVkaWFSZXF1ZXN0OjpzZWN1cml0eU9yaWdpbigpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFp
c051bGwoKSAmJiBtX3ByaXZhdGUtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzlmNjZiYWVjYjNi
ZjM3Y2I0NjJkNDk0ODk2YzJhZjIwZTVmZGNiOS4uZDc2NjZiMjBhYmFmMzJlYWZiNzVkYjVhNWZh
MDllNzkxMTc1YzMwNCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA5LTI1ICBTaGVyaWZmIEJvdCAgPHdlYmtp
dC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMTI5NTE3LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjk1
MTcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NTgy
CisKKyAgICAgICAgTGluayBlcnJvcnMgaW4gY2hyb21pdW0gKFJlcXVlc3RlZCBieSBhbGVjZiBv
biAjd2Via2l0KS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLmd5
cGk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja0NvbnN0cmFpbnRzLmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9Nb2NrQ29uc3Ry
YWludHMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9Nb2Nr
V2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNwcDoKKyAgICAgICAgKFJUQ1Nlc3Npb25EZXNj
cmlwdGlvblJlcXVlc3RTdWNjZWRlZFRhc2s6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RT
dWNjZWRlZFRhc2spOgorICAgICAgICAoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEZhaWxl
ZFRhc2s6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RGYWlsZWRUYXNrKToKKyAgICAgICAg
KFJUQ1ZvaWRSZXF1ZXN0VGFzazo6UlRDVm9pZFJlcXVlc3RUYXNrKToKKyAgICAgICAgKGlzU3Vw
cG9ydGVkQ29uc3RyYWludCk6CisgICAgICAgIChpc1ZhbGlkQ29uc3RyYWludCk6CisgICAgICAg
IChNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjppbml0aWFsaXplKToKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJVc2VyTWVkaWFDbGllbnRNb2NrLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViVXNlck1lZGlhQ2xpZW50TW9jazo6cmVxdWVzdFVzZXJNZWRpYSk6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVXNlck1lZGlhQ2xpZW50TW9j
ay5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlVzZXJNZWRpYUNsaWVudE1vY2sp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViVmlld0hvc3QpOgorCiAyMDEyLTA5LTI1ICBEb21p
bmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgogCiAgICAgICAgIEFYOiBDaHJvbWl1
bSBkb2Vzbid0IHBhc3MgYWNjZXNzaWJpbGl0eSB0ZXh0IHJhbmdlIGFuZCBsaW5lIG51bWJlciB0
ZXN0cwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUuZ3lw
aSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLmd5cGkKaW5kZXggMGMwMTE1
MTQwYTQ2YzIzYmY0Zjg1MjhmM2U4MWU2YTJmOTdlMjQyMS4uODMyZmZjOTkxMmIwZGE4ZTZkYzkz
OTA2NmNkZDlmNjBjMmZhYmM3ZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVt
cFJlbmRlclRyZWUuZ3lwaQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJl
ZS5neXBpCkBAIC04LDggKzgsNiBAQAogICAgICAgICAgICAgJ2Nocm9taXVtL0R1bXBSZW5kZXJU
cmVlLmNwcCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHAnLAogICAg
ICAgICAgICAgJ2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuaCcsCi0gICAgICAgICAgICAnY2hyb21p
dW0vTW9ja0NvbnN0cmFpbnRzLmNwcCcsCi0gICAgICAgICAgICAnY2hyb21pdW0vTW9ja0NvbnN0
cmFpbnRzLmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL01vY2tHcmFtbWFyQ2hlY2suY3BwJywK
ICAgICAgICAgICAgICdjaHJvbWl1bS9Nb2NrR3JhbW1hckNoZWNrLmgnLAogICAgICAgICAgICAg
J2Nocm9taXVtL01vY2tTcGVsbENoZWNrLmNwcCcsCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9Nb2NrQ29uc3RyYWludHMuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vTW9ja0NvbnN0cmFpbnRzLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMGQ0YzBhNjUzYzkwM2ZhMGNlZWM5MjRkNDNiMmVlY2Q4NjhkZjNiNy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9Nb2NrQ29uc3RyYWludHMuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoK
LSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAot
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi0jaW5j
bHVkZSAiTW9ja0NvbnN0cmFpbnRzLmgiCi0KLSNpbmNsdWRlIDxwdWJsaWMvV2ViTWVkaWFDb25z
dHJhaW50cy5oPgotCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCi1uYW1lc3BhY2UgTW9ja0Nv
bnN0cmFpbnRzIHsKLQotc3RhdGljIGJvb2wgaXNTdXBwb3J0ZWQoY29uc3QgV2ViU3RyaW5nJiBj
b25zdHJhaW50KQotewotICAgIHJldHVybiBjb25zdHJhaW50ID09ICJ2YWxpZF9hbmRfc3VwcG9y
dGVkXzEiIHx8IGNvbnN0cmFpbnQgPT0gInZhbGlkX2FuZF9zdXBwb3J0ZWRfMiI7Ci19Ci0KLXN0
YXRpYyBib29sIGlzVmFsaWQoY29uc3QgV2ViU3RyaW5nJiBjb25zdHJhaW50KQotewotICAgIHJl
dHVybiBpc1N1cHBvcnRlZChjb25zdHJhaW50KSB8fCBjb25zdHJhaW50ID09ICJ2YWxpZF9idXRf
dW5zdXBwb3J0ZWRfMSIgfHwgY29uc3RyYWludCA9PSAidmFsaWRfYnV0X3Vuc3VwcG9ydGVkXzIi
OwotfQotCi1ib29sIHZlcmlmeShjb25zdCBXZWJNZWRpYUNvbnN0cmFpbnRzJiBjb25zdHJhaW50
cykKLXsKLSAgICBXZWJWZWN0b3I8V2ViU3RyaW5nPiBtYW5kYXRvcnlDb25zdHJhaW50TmFtZXM7
Ci0gICAgY29uc3RyYWludHMuZ2V0TWFuZGF0b3J5Q29uc3RyYWludE5hbWVzKG1hbmRhdG9yeUNv
bnN0cmFpbnROYW1lcyk7Ci0gICAgaWYgKG1hbmRhdG9yeUNvbnN0cmFpbnROYW1lcy5zaXplKCkp
IHsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtYW5kYXRvcnlDb25zdHJhaW50TmFt
ZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGlmICghaXNTdXBwb3J0ZWQobWFuZGF0b3J5
Q29uc3RyYWludE5hbWVzW2ldKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgICAgICBXZWJTdHJpbmcgdmFsdWU7Ci0gICAgICAgICAgICBjb25zdHJhaW50cy5nZXRNYW5k
YXRvcnlDb25zdHJhaW50VmFsdWUobWFuZGF0b3J5Q29uc3RyYWludE5hbWVzW2ldLCB2YWx1ZSk7
Ci0gICAgICAgICAgICBpZiAodmFsdWUgIT0gIjEiKQotICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIFdlYlZlY3RvcjxXZWJTdHJpbmc+IG9wdGlv
bmFsQ29uc3RyYWludE5hbWVzOwotICAgIGNvbnN0cmFpbnRzLmdldE9wdGlvbmFsQ29uc3RyYWlu
dE5hbWVzKG9wdGlvbmFsQ29uc3RyYWludE5hbWVzKTsKLSAgICBpZiAob3B0aW9uYWxDb25zdHJh
aW50TmFtZXMuc2l6ZSgpKSB7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgb3B0aW9u
YWxDb25zdHJhaW50TmFtZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGlmICghaXNWYWxp
ZChvcHRpb25hbENvbnN0cmFpbnROYW1lc1tpXSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICAgICAgV2ViU3RyaW5nIHZhbHVlOwotICAgICAgICAgICAgY29uc3RyYWlu
dHMuZ2V0T3B0aW9uYWxDb25zdHJhaW50VmFsdWUob3B0aW9uYWxDb25zdHJhaW50TmFtZXNbaV0s
IHZhbHVlKTsKLSAgICAgICAgICAgIGlmICh2YWx1ZSAhPSAiMCIpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
LX0gLy8gbmFtZXNwYWNlIE1vY2tDb25zdHJhaW50cwotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElB
X1NUUkVBTSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tD
b25zdHJhaW50cy5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja0NvbnN0cmFp
bnRzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQzNmViYTU3MjhhODBjOWM1NGEw
MGRmMDg0YTdiYjMzMzRlN2NmZjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja0NvbnN0cmFpbnRz
LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
LSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
LSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBNb2NrQ29uc3RyYWludHNf
aAotI2RlZmluZSBNb2NrQ29uc3RyYWludHNfaAotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
LQotbmFtZXNwYWNlIFdlYktpdCB7Ci1jbGFzcyBXZWJNZWRpYUNvbnN0cmFpbnRzOwotfQotCi1u
YW1lc3BhY2UgTW9ja0NvbnN0cmFpbnRzIHsKLQotYm9vbCB2ZXJpZnkoY29uc3QgV2ViS2l0OjpX
ZWJNZWRpYUNvbnN0cmFpbnRzJik7Ci0KLX0gLy8gbmFtZXNwYWNlIE1vY2tDb25zdHJhaW50cwot
Ci0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2VuZGlmIC8vIE1vY2tDb25zdHJh
aW50c19oCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tX
ZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAKaW5kZXggNDVlYjYwMDU5
NGI1Y2QyM2RlZTU4MjE0MjdlNjNjYjQ5MmFhNTI5ZC4uYjJkNTBmZWIzYzIyMzEyYTk3MzQ0ZmRi
OTNjNTRmN2EzNzZjNDdiOCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAKQEAg
LTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIk1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRs
ZXIuaCIKIAotI2luY2x1ZGUgIk1vY2tDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgPHB1YmxpYy9X
ZWJNZWRpYUNvbnN0cmFpbnRzLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlckNsaWVudC5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJSVENTZXNzaW9uRGVzY3Jp
cHRpb24uaD4KQEAgLTQ2LDcgKzQ1LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogY2xh
c3MgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdFN1Y2NlZGVkVGFzayA6IHB1YmxpYyBNZXRo
b2RUYXNrPE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI+IHsKIHB1YmxpYzoKLSAgICBS
VENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0U3VjY2VkZWRUYXNrKE1vY2tXZWJSVENQZWVyQ29u
bmVjdGlvbkhhbmRsZXIqIG9iamVjdCwgY29uc3QgV2ViUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVx
dWVzdCYgcmVxdWVzdCwgY29uc3QgV2ViUlRDU2Vzc2lvbkRlc2NyaXB0aW9uJiByZXN1bHQpCisg
ICAgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdFN1Y2NlZGVkVGFzayhNb2NrV2ViUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyKiBvYmplY3QsIGNvbnN0IFdlYktpdDo6V2ViUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgV2ViS2l0OjpXZWJSVENTZXNzaW9uRGVz
Y3JpcHRpb24mIHJlc3VsdCkKICAgICAgICAgOiBNZXRob2RUYXNrPE1vY2tXZWJSVENQZWVyQ29u
bmVjdGlvbkhhbmRsZXI+KG9iamVjdCkKICAgICAgICAgLCBtX3JlcXVlc3QocmVxdWVzdCkKICAg
ICAgICAgLCBtX3Jlc3VsdChyZXN1bHQpCkBAIC01OSwxMyArNTgsMTMgQEAgcHVibGljOgogICAg
IH0KIAogcHJpdmF0ZToKLSAgICBXZWJSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0IG1fcmVx
dWVzdDsKLSAgICBXZWJSVENTZXNzaW9uRGVzY3JpcHRpb24gbV9yZXN1bHQ7CisgICAgV2ViS2l0
OjpXZWJSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0IG1fcmVxdWVzdDsKKyAgICBXZWJLaXQ6
OldlYlJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBtX3Jlc3VsdDsKIH07CiAKIGNsYXNzIFJUQ1Nlc3Np
b25EZXNjcmlwdGlvblJlcXVlc3RGYWlsZWRUYXNrIDogcHVibGljIE1ldGhvZFRhc2s8TW9ja1dl
YlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcj4gewogcHVibGljOgotICAgIFJUQ1Nlc3Npb25EZXNj
cmlwdGlvblJlcXVlc3RGYWlsZWRUYXNrKE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIq
IG9iamVjdCwgY29uc3QgV2ViUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdCYgcmVxdWVzdCkK
KyAgICBSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0RmFpbGVkVGFzayhNb2NrV2ViUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyKiBvYmplY3QsIGNvbnN0IFdlYktpdDo6V2ViUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uUmVxdWVzdCYgcmVxdWVzdCkKICAgICAgICAgOiBNZXRob2RUYXNrPE1vY2tXZWJS
VENQZWVyQ29ubmVjdGlvbkhhbmRsZXI+KG9iamVjdCkKICAgICAgICAgLCBtX3JlcXVlc3QocmVx
dWVzdCkKICAgICB7CkBAIC03NywxMiArNzYsMTIgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0
ZToKLSAgICBXZWJSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0IG1fcmVxdWVzdDsKKyAgICBX
ZWJLaXQ6OldlYlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3QgbV9yZXF1ZXN0OwogfTsKIAog
Y2xhc3MgUlRDVm9pZFJlcXVlc3RUYXNrIDogcHVibGljIE1ldGhvZFRhc2s8TW9ja1dlYlJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlcj4gewogcHVibGljOgotICAgIFJUQ1ZvaWRSZXF1ZXN0VGFzayhN
b2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyKiBvYmplY3QsIGNvbnN0IFdlYlJUQ1ZvaWRS
ZXF1ZXN0JiByZXF1ZXN0LCBib29sIHN1Y2NlZWRlZCkKKyAgICBSVENWb2lkUmVxdWVzdFRhc2so
TW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlciogb2JqZWN0LCBjb25zdCBXZWJLaXQ6Oldl
YlJUQ1ZvaWRSZXF1ZXN0JiByZXF1ZXN0LCBib29sIHN1Y2NlZWRlZCkKICAgICAgICAgOiBNZXRo
b2RUYXNrPE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI+KG9iamVjdCkKICAgICAgICAg
LCBtX3JlcXVlc3QocmVxdWVzdCkKICAgICAgICAgLCBtX3N1Y2NlZWRlZChzdWNjZWVkZWQpCkBA
IC05OCw3ICs5Nyw3IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgV2ViUlRDVm9p
ZFJlcXVlc3QgbV9yZXF1ZXN0OworICAgIFdlYktpdDo6V2ViUlRDVm9pZFJlcXVlc3QgbV9yZXF1
ZXN0OwogICAgIGJvb2wgbV9zdWNjZWVkZWQ7CiB9OwogCkBAIC0xMDksOSArMTA4LDQ1IEBAIE1v
Y2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6Ok1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXIoV2ViUlRDUGVlckNvbm5lCiB7CiB9CiAKK3N0YXRpYyBib29sIGlzU3VwcG9ydGVkQ29u
c3RyYWludChjb25zdCBXZWJTdHJpbmcmIGNvbnN0cmFpbnQpCit7CisgICAgcmV0dXJuIGNvbnN0
cmFpbnQgPT0gInZhbGlkX2FuZF9zdXBwb3J0ZWRfMSIgfHwgY29uc3RyYWludCA9PSAidmFsaWRf
YW5kX3N1cHBvcnRlZF8yIjsKK30KKworc3RhdGljIGJvb2wgaXNWYWxpZENvbnN0cmFpbnQoY29u
c3QgV2ViU3RyaW5nJiBjb25zdHJhaW50KQoreworICAgIHJldHVybiBpc1N1cHBvcnRlZENvbnN0
cmFpbnQoY29uc3RyYWludCkgfHwgY29uc3RyYWludCA9PSAidmFsaWRfYnV0X3Vuc3VwcG9ydGVk
XzEiIHx8IGNvbnN0cmFpbnQgPT0gInZhbGlkX2J1dF91bnN1cHBvcnRlZF8yIjsKK30KKwogYm9v
bCBNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjppbml0aWFsaXplKGNvbnN0IFdlYlJU
Q0NvbmZpZ3VyYXRpb24mLCBjb25zdCBXZWJNZWRpYUNvbnN0cmFpbnRzJiBjb25zdHJhaW50cykK
IHsKLSAgICByZXR1cm4gTW9ja0NvbnN0cmFpbnRzOjp2ZXJpZnkoY29uc3RyYWludHMpOworICAg
IFdlYlZlY3RvcjxXZWJTdHJpbmc+IG1hbmRhdG9yeUNvbnN0cmFpbnROYW1lczsKKyAgICBjb25z
dHJhaW50cy5nZXRNYW5kYXRvcnlDb25zdHJhaW50TmFtZXMobWFuZGF0b3J5Q29uc3RyYWludE5h
bWVzKTsKKyAgICBpZiAobWFuZGF0b3J5Q29uc3RyYWludE5hbWVzLnNpemUoKSkgeworICAgICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1hbmRhdG9yeUNvbnN0cmFpbnROYW1lcy5zaXplKCk7
ICsraSkgeworICAgICAgICAgICAgaWYgKCFpc1N1cHBvcnRlZENvbnN0cmFpbnQobWFuZGF0b3J5
Q29uc3RyYWludE5hbWVzW2ldKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgICAgICBXZWJTdHJpbmcgdmFsdWU7CisgICAgICAgICAgICBjb25zdHJhaW50cy5nZXRNYW5k
YXRvcnlDb25zdHJhaW50VmFsdWUobWFuZGF0b3J5Q29uc3RyYWludE5hbWVzW2ldLCB2YWx1ZSk7
CisgICAgICAgICAgICBpZiAodmFsdWUgIT0gIjEiKQorICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIFdlYlZlY3RvcjxXZWJTdHJpbmc+IG9wdGlv
bmFsQ29uc3RyYWludE5hbWVzOworICAgIGNvbnN0cmFpbnRzLmdldE9wdGlvbmFsQ29uc3RyYWlu
dE5hbWVzKG9wdGlvbmFsQ29uc3RyYWludE5hbWVzKTsKKyAgICBpZiAob3B0aW9uYWxDb25zdHJh
aW50TmFtZXMuc2l6ZSgpKSB7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgb3B0aW9u
YWxDb25zdHJhaW50TmFtZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGlmICghaXNWYWxp
ZENvbnN0cmFpbnQob3B0aW9uYWxDb25zdHJhaW50TmFtZXNbaV0pKQorICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIFdlYlN0cmluZyB2YWx1ZTsKKyAgICAgICAgICAg
IGNvbnN0cmFpbnRzLmdldE9wdGlvbmFsQ29uc3RyYWludFZhbHVlKG9wdGlvbmFsQ29uc3RyYWlu
dE5hbWVzW2ldLCB2YWx1ZSk7CisgICAgICAgICAgICBpZiAodmFsdWUgIT0gIjAiKQorICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiB0
cnVlOwogfQogCiB2b2lkIE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmNyZWF0ZU9m
ZmVyKGNvbnN0IFdlYlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFdlYk1lZGlhQ29uc3RyYWludHMmIGNvbnN0cmFpbnRzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVXNlck1lZGlhQ2xpZW50TW9jay5jcHAgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJVc2VyTWVkaWFDbGllbnRNb2NrLmNwcAppbmRleCA2
MGFiM2QyMjNiMTk0MzIyZTkyNTAzZDQwYTZhMGI4NmY3YjhiMDY5Li5hMzczYzNiMzA3ZDY1NjNh
ZjQ2YWM3MzI4N2JjNTU4MzY4YmQ0ZDEwIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJVc2VyTWVkaWFDbGllbnRNb2NrLmNwcAorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJVc2VyTWVkaWFDbGllbnRNb2NrLmNwcApAQCAtMzMsNDEgKzMz
LDE1IEBACiAKICNpbmNsdWRlICJXZWJVc2VyTWVkaWFDbGllbnRNb2NrLmgiCiAKLSNpbmNsdWRl
ICJNb2NrQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJXZWJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IldlYk1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKICNpbmNsdWRlICJXZWJVc2VyTWVkaWFSZXF1ZXN0
LmgiCi0jaW5jbHVkZSA8cHVibGljL1dlYk1lZGlhQ29uc3RyYWludHMuaD4KLSNpbmNsdWRlIDxw
dWJsaWMvV2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmg+Ci0jaW5jbHVkZSA8cHVibGljL1dlYk1l
ZGlhU3RyZWFtU291cmNlLmg+Ci0jaW5jbHVkZSA8cHVibGljL1dlYlZlY3Rvci5oPgorI2luY2x1
ZGUgInBsYXRmb3JtL1dlYk1lZGlhU3RyZWFtRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgInBsYXRm
b3JtL1dlYk1lZGlhU3RyZWFtU291cmNlLmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViVmVjdG9y
LmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYktp
dDsKLQotY2xhc3MgVXNlck1lZGlhUmVxdWVzdFRhc2sgOiBwdWJsaWMgTWV0aG9kVGFzazxXZWJV
c2VyTWVkaWFDbGllbnRNb2NrPiB7Ci1wdWJsaWM6Ci0gICAgVXNlck1lZGlhUmVxdWVzdFRhc2so
V2ViVXNlck1lZGlhQ2xpZW50TW9jayogb2JqZWN0LCBjb25zdCBXZWJVc2VyTWVkaWFSZXF1ZXN0
JiByZXF1ZXN0LCBjb25zdCBXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3IgcmVzdWx0KQotICAgICAg
ICA6IE1ldGhvZFRhc2s8V2ViVXNlck1lZGlhQ2xpZW50TW9jaz4ob2JqZWN0KQotICAgICAgICAs
IG1fcmVxdWVzdChyZXF1ZXN0KQotICAgICAgICAsIG1fcmVzdWx0KHJlc3VsdCkKLSAgICB7Ci0g
ICAgfQotCi0gICAgdmlydHVhbCB2b2lkIHJ1bklmVmFsaWQoKSBPVkVSUklERQotICAgIHsKLSAg
ICAgICAgaWYgKG1fcmVzdWx0LmlzTnVsbCgpKQotICAgICAgICAgICAgbV9yZXF1ZXN0LnJlcXVl
c3RGYWlsZWQoKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9yZXF1ZXN0LnJlcXVlc3RT
dWNjZWVkZWQobV9yZXN1bHQpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBXZWJVc2VyTWVkaWFS
ZXF1ZXN0IG1fcmVxdWVzdDsKLSAgICBXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3IgbV9yZXN1bHQ7
Ci19OwotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworbmFtZXNwYWNlIFdlYktp
dCB7CiAKIGNsYXNzIE1vY2tFeHRyYURhdGEgOiBwdWJsaWMgV2ViTWVkaWFTdHJlYW1EZXNjcmlw
dG9yOjpFeHRyYURhdGEgewogcHVibGljOgpAQCAtODUsMTggKzU5LDcgQEAgdm9pZCBXZWJVc2Vy
TWVkaWFDbGllbnRNb2NrOjpyZXF1ZXN0VXNlck1lZGlhKGNvbnN0IFdlYlVzZXJNZWRpYVJlcXVl
c3QmIHN0cmVhbVIKICAgICBXZWJVc2VyTWVkaWFSZXF1ZXN0IHJlcXVlc3QgPSBzdHJlYW1SZXF1
ZXN0OwogCiAgICAgaWYgKHJlcXVlc3Qub3duZXJEb2N1bWVudCgpLmlzTnVsbCgpIHx8ICFyZXF1
ZXN0Lm93bmVyRG9jdW1lbnQoKS5mcmFtZSgpKSB7Ci0gICAgICAgIHBvc3RUYXNrKG5ldyBVc2Vy
TWVkaWFSZXF1ZXN0VGFzayh0aGlzLCByZXF1ZXN0LCBXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3Io
KSkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgV2ViTWVkaWFDb25zdHJhaW50cyBj
b25zdHJhaW50cyA9IHJlcXVlc3QuYXVkaW9Db25zdHJhaW50cygpOwotICAgIGlmICghY29uc3Ry
YWludHMuaXNOdWxsKCkgJiYgIU1vY2tDb25zdHJhaW50czo6dmVyaWZ5KGNvbnN0cmFpbnRzKSkg
ewotICAgICAgICBwb3N0VGFzayhuZXcgVXNlck1lZGlhUmVxdWVzdFRhc2sodGhpcywgcmVxdWVz
dCwgV2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yKCkpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LSAgICBjb25zdHJhaW50cyA9IHJlcXVlc3QudmlkZW9Db25zdHJhaW50cygpOwotICAgIGlmICgh
Y29uc3RyYWludHMuaXNOdWxsKCkgJiYgIU1vY2tDb25zdHJhaW50czo6dmVyaWZ5KGNvbnN0cmFp
bnRzKSkgewotICAgICAgICBwb3N0VGFzayhuZXcgVXNlck1lZGlhUmVxdWVzdFRhc2sodGhpcywg
cmVxdWVzdCwgV2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yKCkpKTsKKyAgICAgICAgcmVxdWVzdC5y
ZXF1ZXN0RmFpbGVkKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTExMSwxNiArNzQs
MTggQEAgdm9pZCBXZWJVc2VyTWVkaWFDbGllbnRNb2NrOjpyZXF1ZXN0VXNlck1lZGlhKGNvbnN0
IFdlYlVzZXJNZWRpYVJlcXVlc3QmIHN0cmVhbVIKICAgICBpZiAocmVxdWVzdC52aWRlbygpKQog
ICAgICAgICB2aWRlb1NvdXJjZXNbMF0uaW5pdGlhbGl6ZSgiTW9ja1ZpZGVvRGV2aWNlIzEiLCBX
ZWJNZWRpYVN0cmVhbVNvdXJjZTo6VHlwZVZpZGVvLCAiTW9jayB2aWRlbyBkZXZpY2UiKTsKIAot
ICAgIFdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvciBzdHJlYW07Ci0gICAgc3RyZWFtLmluaXRpYWxp
emUoImZvb2JhciIsIGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzKTsKKyAgICBXZWJLaXQ6Oldl
Yk1lZGlhU3RyZWFtRGVzY3JpcHRvciBkZXNjcmlwdG9yOworICAgIGRlc2NyaXB0b3IuaW5pdGlh
bGl6ZSgiZm9vYmFyIiwgYXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMpOwogCi0gICAgc3RyZWFt
LnNldEV4dHJhRGF0YShuZXcgTW9ja0V4dHJhRGF0YSgpKTsKKyAgICBkZXNjcmlwdG9yLnNldEV4
dHJhRGF0YShuZXcgTW9ja0V4dHJhRGF0YSgpKTsKIAotICAgIHBvc3RUYXNrKG5ldyBVc2VyTWVk
aWFSZXF1ZXN0VGFzayh0aGlzLCByZXF1ZXN0LCBzdHJlYW0pKTsKKyAgICByZXF1ZXN0LnJlcXVl
c3RTdWNjZWVkZWQoZGVzY3JpcHRvcik7CiB9CiAKIHZvaWQgV2ViVXNlck1lZGlhQ2xpZW50TW9j
azo6Y2FuY2VsVXNlck1lZGlhUmVxdWVzdChjb25zdCBXZWJVc2VyTWVkaWFSZXF1ZXN0JikKIHsK
IH0KIAorfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RS
RUFNKQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVXNlck1l
ZGlhQ2xpZW50TW9jay5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVXNlck1l
ZGlhQ2xpZW50TW9jay5oCmluZGV4IDllMWJlYmE0YTNiMGRjZDc5NDlhZDJhODZmYjg5ZjBhZmY2
Yzk5NTMuLmUyNDE1OTg1Y2I2Y2M5MTE5M2E2NGMyZTZkMzhjMGYzY2IzYWU4ZDYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlVzZXJNZWRpYUNsaWVudE1vY2su
aAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJVc2VyTWVkaWFDbGllbnRN
b2NrLmgKQEAgLTMzLDMxICszMywyOSBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAot
I2luY2x1ZGUgIlRhc2suaCIKICNpbmNsdWRlICJXZWJVc2VyTWVkaWFDbGllbnQuaCIKKyNpbmNs
dWRlICJwbGF0Zm9ybS9XZWJDb21tb24uaCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9XZWJTdHJpbmcu
aCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkwuaCIKICNpbmNsdWRlICJ3ZWJraXQvc3VwcG9y
dC90ZXN0X21lZGlhX3N0cmVhbV9jbGllbnQuaCIKLSNpbmNsdWRlIDxwdWJsaWMvV2ViQ29tbW9u
Lmg+Ci0jaW5jbHVkZSA8cHVibGljL1dlYlN0cmluZy5oPgotI2luY2x1ZGUgPHB1YmxpYy9XZWJV
UkwuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCi1jbGFzcyBXZWJVc2VyTWVkaWFD
bGllbnRNb2NrIDogcHVibGljIFdlYktpdDo6V2ViVXNlck1lZGlhQ2xpZW50IHsKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitjbGFzcyBXZWJVc2VyTWVkaWFDbGllbnRNb2NrIDogcHVibGljIFdlYlVz
ZXJNZWRpYUNsaWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8V2ViVXNlck1l
ZGlhQ2xpZW50TW9jaz4gY3JlYXRlKCk7CiAgICAgfldlYlVzZXJNZWRpYUNsaWVudE1vY2soKSB7
IH0KIAotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0VXNlck1lZGlhKGNvbnN0IFdlYktpdDo6V2Vi
VXNlck1lZGlhUmVxdWVzdCYsIGNvbnN0IFdlYktpdDo6V2ViVmVjdG9yPFdlYktpdDo6V2ViTWVk
aWFTdHJlYW1Tb3VyY2U+JiwgY29uc3QgV2ViS2l0OjpXZWJWZWN0b3I8V2ViS2l0OjpXZWJNZWRp
YVN0cmVhbVNvdXJjZT4mKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsVXNlck1l
ZGlhUmVxdWVzdChjb25zdCBXZWJLaXQ6OldlYlVzZXJNZWRpYVJlcXVlc3QmKTsKLQotICAgIC8v
IFRhc2sgcmVsYXRlZCBtZXRob2RzCi0gICAgVGFza0xpc3QqIHRhc2tMaXN0KCkgeyByZXR1cm4g
Jm1fdGFza0xpc3Q7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFVzZXJNZWRpYShjb25zdCBX
ZWJVc2VyTWVkaWFSZXF1ZXN0JiwgY29uc3QgV2ViVmVjdG9yPFdlYk1lZGlhU3RyZWFtU291cmNl
PiYsIGNvbnN0IFdlYlZlY3RvcjxXZWJNZWRpYVN0cmVhbVNvdXJjZT4mKSBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIHZvaWQgY2FuY2VsVXNlck1lZGlhUmVxdWVzdChjb25zdCBXZWJVc2VyTWVkaWFS
ZXF1ZXN0Jik7CiAKIHByaXZhdGU6CiAgICAgV2ViVXNlck1lZGlhQ2xpZW50TW9jaygpIHsgfQot
Ci0gICAgVGFza0xpc3QgbV90YXNrTGlzdDsKIH07CiAKK30gLy8gbmFtZXNwYWNlIFdlYktpdAor
CiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2VuZGlmIC8vIFdlYlVzZXJNZWRp
YUNsaWVudE1vY2tfaApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVmlld0hvc3QuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0
LmgKaW5kZXggNzYzMmMyNjNkMzViODlhY2VlZjlkZTg5NDE3MWY2OGJkZTI0ZmQ3OC4uNGEzNjI3
ZjkwZTkzZjQyYTY2NzcxNzY3NDI3NzM1NDBiODQ2ZDJmZSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCkBAIC01Miw3ICs1Miw2IEBAIGNsYXNzIE1vY2tX
ZWJTcGVlY2hJbnB1dENvbnRyb2xsZXI7CiBjbGFzcyBNb2NrV2ViU3BlZWNoUmVjb2duaXplcjsK
IGNsYXNzIFNrQ2FudmFzOwogY2xhc3MgVGVzdFNoZWxsOwotY2xhc3MgV2ViVXNlck1lZGlhQ2xp
ZW50TW9jazsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJGcmFtZTsKQEAgLTY3LDYg
KzY2LDcgQEAgY2xhc3MgV2ViU2hhcmVkV29ya2VyQ2xpZW50OwogY2xhc3MgV2ViU3BlZWNoSW5w
dXRDb250cm9sbGVyOwogY2xhc3MgV2ViU3BlZWNoSW5wdXRMaXN0ZW5lcjsKIGNsYXNzIFdlYlVS
TDsKK2NsYXNzIFdlYlVzZXJNZWRpYUNsaWVudE1vY2s7CiBzdHJ1Y3QgV2ViUmVjdDsKIHN0cnVj
dCBXZWJVUkxFcnJvcjsKIHN0cnVjdCBXZWJXaW5kb3dGZWF0dXJlczsKQEAgLTM0Myw3ICszNDMs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlzY2FyZEJhY2tpbmdTdG9yZSgpOwogCiAjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKLSAgICBXZWJVc2VyTWVkaWFDbGllbnRNb2NrKiB1c2VyTWVkaWFD
bGllbnRNb2NrKCk7CisgICAgV2ViS2l0OjpXZWJVc2VyTWVkaWFDbGllbnRNb2NrKiB1c2VyTWVk
aWFDbGllbnRNb2NrKCk7CiAgICAgd2Via2l0X3N1cHBvcnQ6OlRlc3RNZWRpYVN0cmVhbUNsaWVu
dCogdGVzdE1lZGlhU3RyZWFtQ2xpZW50KCk7CiAjZW5kaWYKIApAQCAtNDMwLDcgKzQzMCw3IEBA
IHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgT3duUHRy
PFdlYlVzZXJNZWRpYUNsaWVudE1vY2s+IG1fdXNlck1lZGlhQ2xpZW50TW9jazsKKyAgICBPd25Q
dHI8V2ViS2l0OjpXZWJVc2VyTWVkaWFDbGllbnRNb2NrPiBtX3VzZXJNZWRpYUNsaWVudE1vY2s7
CiAgICAgT3duUHRyPHdlYmtpdF9zdXBwb3J0OjpUZXN0TWVkaWFTdHJlYW1DbGllbnQ+IG1fdGVz
dE1lZGlhU3RyZWFtQ2xpZW50OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxODQ5YWNmNDUwYmFhYzAxMzAx
MmFhMjIxYTM5YjM2MTFhYjU2MDY3Li45MDRjZGJmYmZkMzBlZDhkZTdjMjYxNDM5ZmQ4OWYxNjU2
MGVhZjFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDktMjUgIFNoZXJpZmYgQm90ICA8
d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIxMjk1MTcuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0
LzEyOTUxNworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTc1ODIKKworICAgICAgICBMaW5rIGVycm9ycyBpbiBjaHJvbWl1bSAoUmVxdWVzdGVkIGJ5IGFs
ZWNmIG9uICN3ZWJraXQpLgorCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9nZXR1c2VybWVk
aWEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vZ2V0dXNlcm1lZGlh
Lmh0bWw6CisKIDIwMTItMDktMjQgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtjaHJvbWl1bV0gUkVHUkVTU0lPTjogSW5jb3JyZWN0IHByZWZlcnJlZCB3aWR0
aCBjYWxjdWxhdGlvbiBmb3IgdGFibGUgY2VsbHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvbWVkaWFzdHJlYW0vZ2V0dXNlcm1lZGlhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvbWVkaWFzdHJlYW0vZ2V0dXNlcm1lZGlhLWV4cGVjdGVkLnR4dAppbmRleCBjZjdhZTBlYzJk
MWM0OGVmMGUzYzA4Y2NmZjQyMTEwMzBmOWFhNmIzLi45NDM3ZDkwZmM0ZjA1NTJjMTVmODc4YjM2
ZTk5ZTY5NTI0MDE1YjQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFt
L2dldHVzZXJtZWRpYS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9nZXR1c2VybWVkaWEtZXhwZWN0ZWQudHh0CkBAIC0zLDI3ICszLDEzIEBAIFRlc3RzIHdl
YmtpdEdldFVzZXJNZWRpYS4KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIG5h
dmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoe2F1ZGlvOmZhbHNlLCB2aWRlbzpmYWxzZX0sIGVy
cm9yLCBlcnJvcik7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERP
TSBFeGNlcHRpb24gOS4KLVBBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7YXVkaW86
dHJ1ZX0sIGdvdFN0cmVhbTEsIGVycm9yKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNT
IFN0cmVhbSBnZW5lcmF0ZWQuCitQQVNTIHthdWRpbzp0cnVlfSBnZW5lcmF0ZWQgc3RyZWFtCiBQ
QVNTIHN0cmVhbS5hdWRpb1RyYWNrcy5sZW5ndGggaXMgMQogUEFTUyBzdHJlYW0udmlkZW9UcmFj
a3MubGVuZ3RoIGlzIDAKLVBBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7dmlkZW86
dHJ1ZX0sIGdvdFN0cmVhbTIsIGVycm9yKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNT
IFN0cmVhbSBnZW5lcmF0ZWQuCitQQVNTIHt2aWRlbzp0cnVlfSBnZW5lcmF0ZWQgc3RyZWFtCiBQ
QVNTIHN0cmVhbS5hdWRpb1RyYWNrcy5sZW5ndGggaXMgMAogUEFTUyBzdHJlYW0udmlkZW9UcmFj
a3MubGVuZ3RoIGlzIDEKLVBBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7YXVkaW86
dHJ1ZSwgdmlkZW86dHJ1ZX0sIGdvdFN0cmVhbTMsIGVycm9yKTsgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCi1QQVNTIFN0cmVhbSBnZW5lcmF0ZWQuCi1QQVNTIHN0cmVhbS5hdWRpb1RyYWNrcy5s
ZW5ndGggaXMgMQotUEFTUyBzdHJlYW0udmlkZW9UcmFja3MubGVuZ3RoIGlzIDEKLVBBU1MgbmF2
aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7YXVkaW86e21hbmRhdG9yeTp7fSwgb3B0aW9uYWw6
W119LCB2aWRlbzp0cnVlfSwgZ290U3RyZWFtNCwgZXJyb3IpOyBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KLVBBU1MgU3RyZWFtIGdlbmVyYXRlZC4KLVBBU1Mgc3RyZWFtLmF1ZGlvVHJhY2tzLmxl
bmd0aCBpcyAxCi1QQVNTIHN0cmVhbS52aWRlb1RyYWNrcy5sZW5ndGggaXMgMQotUEFTUyBuYXZp
Z2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKHthdWRpbzp7bWFuZGF0b3J5OnsndmFsaWRfYnV0X3Vu
c3VwcG9ydGVkXzEnOjB9LCBvcHRpb25hbDpbXX0sIHZpZGVvOnRydWV9LCBnb3RTdHJlYW1JbkVy
cm9yLCBlcnJvcjEpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgRXJyb3IgY2FsbGJh
Y2sgY2FsbGVkLgotUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKHthdWRpbzp7bWFu
ZGF0b3J5OnsndmFsaWRfYW5kX3N1cHBvcnRlZF8xJzoxfSwgb3B0aW9uYWw6W3sndmFsaWRfYnV0
X3Vuc3VwcG9ydGVkXzEnOjB9XX0sIHZpZGVvOnRydWV9LCBnb3RTdHJlYW01LCBlcnJvcik7IGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUEFTUyBTdHJlYW0gZ2VuZXJhdGVkLgorUEFTUyB7YXVk
aW86dHJ1ZSwgdmlkZW86dHJ1ZX0gZ2VuZXJhdGVkIHN0cmVhbQogUEFTUyBzdHJlYW0uYXVkaW9U
cmFja3MubGVuZ3RoIGlzIDEKIFBBU1Mgc3RyZWFtLnZpZGVvVHJhY2tzLmxlbmd0aCBpcyAxCiBQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL2dldHVzZXJtZWRpYS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9nZXR1c2VybWVkaWEuaHRtbAppbmRleCA3NmM0MDMyZGU2ZTEwZmUyYjBjMWFiMWJk
YmRjOWU1ZjViYjM1NzkzLi4wZWI2N2IzNDFmOGJjMzg5MjMyNzM3M2ExMWVmNGVjNmI4MDI5NDE4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldHVzZXJtZWRpYS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vZ2V0dXNlcm1lZGlhLmh0bWwK
QEAgLTEwLDcwICsxMCw0NyBAQAogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUZXN0cyB3ZWJraXRH
ZXRVc2VyTWVkaWEuIik7CiAKLXZhciBzdHJlYW07Ci0KIGZ1bmN0aW9uIGVycm9yKCkgewotICAg
IHRlc3RGYWlsZWQoJ0Vycm9yIGNhbGxiYWNrIGNhbGxlZC4nKTsKLSAgICBmaW5pc2hKU1Rlc3Qo
KTsKLX0KLQotZnVuY3Rpb24gZ290U3RyZWFtSW5FcnJvcihzKSB7Ci0gICAgdGVzdEZhaWxlZCgn
U3RyZWFtIGdlbmVyYXRlZC4nKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgdGVzdEZhaWxlZCgn
U3RyZWFtIGdlbmVyYXRpb24gZmFpbGVkLicpOworICBmaW5pc2hKU1Rlc3QoKTsKIH0KIAotZnVu
Y3Rpb24gZ290U3RyZWFtNShzKSB7Ci0gICAgc3RyZWFtID0gczsKLSAgICB0ZXN0UGFzc2VkKCdT
dHJlYW0gZ2VuZXJhdGVkLicpOwotICAgIHNob3VsZEJlKCdzdHJlYW0uYXVkaW9UcmFja3MubGVu
Z3RoJywgJzEnKTsKLSAgICBzaG91bGRCZSgnc3RyZWFtLnZpZGVvVHJhY2tzLmxlbmd0aCcsICcx
Jyk7CitmdW5jdGlvbiBnZXRVc2VyTWVkaWEoZGljdGlvbmFyeSwgY2FsbGJhY2spIHsKKyAgdHJ5
IHsKKyAgICBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKGRpY3Rpb25hcnksIGNhbGxiYWNr
LCBlcnJvcik7CisgIH0gY2F0Y2ggKGUpIHsKKyAgICB0ZXN0RmFpbGVkKCd3ZWJraXRHZXRVc2Vy
TWVkaWEgdGhyZXcgZXhjZXB0aW9uIDonICsgZSk7CiAgICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0K
LWZ1bmN0aW9uIGVycm9yMSgpIHsKLSAgICB0ZXN0UGFzc2VkKCdFcnJvciBjYWxsYmFjayBjYWxs
ZWQuJyk7Ci0KLSAgICBzaG91bGROb3RUaHJvdygibmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRp
YSh7YXVkaW86e21hbmRhdG9yeTp7J3ZhbGlkX2FuZF9zdXBwb3J0ZWRfMSc6MX0sIG9wdGlvbmFs
Olt7J3ZhbGlkX2J1dF91bnN1cHBvcnRlZF8xJzowfV19LCB2aWRlbzp0cnVlfSwgZ290U3RyZWFt
NSwgZXJyb3IpOyIpOwotfQotCi1mdW5jdGlvbiBnb3RTdHJlYW00KHMpIHsKLSAgICBzdHJlYW0g
PSBzOwotICAgIHRlc3RQYXNzZWQoJ1N0cmVhbSBnZW5lcmF0ZWQuJyk7Ci0gICAgc2hvdWxkQmUo
J3N0cmVhbS5hdWRpb1RyYWNrcy5sZW5ndGgnLCAnMScpOwotICAgIHNob3VsZEJlKCdzdHJlYW0u
dmlkZW9UcmFja3MubGVuZ3RoJywgJzEnKTsKLQotICAgIHNob3VsZE5vdFRocm93KCJuYXZpZ2F0
b3Iud2Via2l0R2V0VXNlck1lZGlhKHthdWRpbzp7bWFuZGF0b3J5OnsndmFsaWRfYnV0X3Vuc3Vw
cG9ydGVkXzEnOjB9LCBvcHRpb25hbDpbXX0sIHZpZGVvOnRydWV9LCBnb3RTdHJlYW1JbkVycm9y
LCBlcnJvcjEpOyIpOworICB9CiB9CiAKIGZ1bmN0aW9uIGdvdFN0cmVhbTMocykgewotICAgIHN0
cmVhbSA9IHM7Ci0gICAgdGVzdFBhc3NlZCgnU3RyZWFtIGdlbmVyYXRlZC4nKTsKLSAgICBzaG91
bGRCZSgnc3RyZWFtLmF1ZGlvVHJhY2tzLmxlbmd0aCcsICcxJyk7Ci0gICAgc2hvdWxkQmUoJ3N0
cmVhbS52aWRlb1RyYWNrcy5sZW5ndGgnLCAnMScpOwotCi0gICAgc2hvdWxkTm90VGhyb3coIm5h
dmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoe2F1ZGlvOnttYW5kYXRvcnk6e30sIG9wdGlvbmFs
OltdfSwgdmlkZW86dHJ1ZX0sIGdvdFN0cmVhbTQsIGVycm9yKTsiKTsKKyAgc3RyZWFtID0gczsK
KyAgdGVzdFBhc3NlZCgne2F1ZGlvOnRydWUsIHZpZGVvOnRydWV9IGdlbmVyYXRlZCBzdHJlYW0n
KTsKKyAgc2hvdWxkQmUoJ3N0cmVhbS5hdWRpb1RyYWNrcy5sZW5ndGgnLCAnMScpOworICBzaG91
bGRCZSgnc3RyZWFtLnZpZGVvVHJhY2tzLmxlbmd0aCcsICcxJyk7CisgIGZpbmlzaEpTVGVzdCgp
OwogfQogCiBmdW5jdGlvbiBnb3RTdHJlYW0yKHMpIHsKLSAgICBzdHJlYW0gPSBzOwotICAgIHRl
c3RQYXNzZWQoJ1N0cmVhbSBnZW5lcmF0ZWQuJyk7Ci0gICAgc2hvdWxkQmUoJ3N0cmVhbS5hdWRp
b1RyYWNrcy5sZW5ndGgnLCAnMCcpOwotICAgIHNob3VsZEJlKCdzdHJlYW0udmlkZW9UcmFja3Mu
bGVuZ3RoJywgJzEnKTsKKyAgc3RyZWFtID0gczsKKyAgdGVzdFBhc3NlZCgne3ZpZGVvOnRydWV9
IGdlbmVyYXRlZCBzdHJlYW0nKTsKKyAgc2hvdWxkQmUoJ3N0cmVhbS5hdWRpb1RyYWNrcy5sZW5n
dGgnLCAnMCcpOworICBzaG91bGRCZSgnc3RyZWFtLnZpZGVvVHJhY2tzLmxlbmd0aCcsICcxJyk7
CiAKLSAgICBzaG91bGROb3RUaHJvdygibmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7YXVk
aW86dHJ1ZSwgdmlkZW86dHJ1ZX0sIGdvdFN0cmVhbTMsIGVycm9yKTsiKTsKKyAgZ2V0VXNlck1l
ZGlhKHthdWRpbzp0cnVlLCB2aWRlbzp0cnVlfSwgZ290U3RyZWFtMyk7CiB9CiAKIGZ1bmN0aW9u
IGdvdFN0cmVhbTEocykgewotICAgIHN0cmVhbSA9IHM7Ci0gICAgdGVzdFBhc3NlZCgnU3RyZWFt
IGdlbmVyYXRlZC4nKTsKLSAgICBzaG91bGRCZSgnc3RyZWFtLmF1ZGlvVHJhY2tzLmxlbmd0aCcs
ICcxJyk7Ci0gICAgc2hvdWxkQmUoJ3N0cmVhbS52aWRlb1RyYWNrcy5sZW5ndGgnLCAnMCcpOwor
ICBzdHJlYW0gPSBzOworICB0ZXN0UGFzc2VkKCd7YXVkaW86dHJ1ZX0gZ2VuZXJhdGVkIHN0cmVh
bScpOworICBzaG91bGRCZSgnc3RyZWFtLmF1ZGlvVHJhY2tzLmxlbmd0aCcsICcxJyk7CisgIHNo
b3VsZEJlKCdzdHJlYW0udmlkZW9UcmFja3MubGVuZ3RoJywgJzAnKTsKIAotICAgIHNob3VsZE5v
dFRocm93KCJuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKHt2aWRlbzp0cnVlfSwgZ290U3Ry
ZWFtMiwgZXJyb3IpOyIpCisgIGdldFVzZXJNZWRpYSh7dmlkZW86dHJ1ZX0sIGdvdFN0cmVhbTIp
OwogfQogCi1zaG91bGRUaHJvdygibmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7YXVkaW86
ZmFsc2UsIHZpZGVvOmZhbHNlfSwgZXJyb3IsIGVycm9yKTsiKQotc2hvdWxkTm90VGhyb3coIm5h
dmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWV9LCBnb3RTdHJlYW0xLCBlcnJv
cik7Iik7CitnZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWV9LCBnb3RTdHJlYW0xKTsKIAogd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogd2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>