<?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>57657</bug_id>
          
          <creation_ts>2011-04-01 13:57:16 -0700</creation_ts>
          <short_desc>REGRESSION(r82711): Made every test crash on XP and Win7 (Requested by abarth|gardening on #webkit).</short_desc>
          <delta_ts>2011-04-01 14:57:39 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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>57488</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>darin</cc>
    
    <cc>eric</cc>
    
    <cc>msaboff</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>378053</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-01 13:57:16 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/82711 broke the build:
Made every test crash on XP and Win7 (Requested by abarth|gardening 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>378055</commentid>
    <comment_count>1</comment_count>
      <attachid>87910</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-01 13:57:39 -0700</bug_when>
    <thetext>Created attachment 87910
ROLLOUT of r82711

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>378062</commentid>
    <comment_count>2</comment_count>
      <attachid>87910</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-01 14:08:10 -0700</bug_when>
    <thetext>Comment on attachment 87910
ROLLOUT of r82711

Clearing flags on attachment: 87910

Committed r82716: &lt;http://trac.webkit.org/changeset/82716&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378064</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-01 14:08:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378069</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-01 14:13:20 -0700</bug_when>
    <thetext>*** Bug 57660 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378106</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-01 14:57:39 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/82716 might have broken Windows 7 Release (Tests)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87910</attachid>
            <date>2011-04-01 13:57:39 -0700</date>
            <delta_ts>2011-04-01 14:08:10 -0700</delta_ts>
            <desc>ROLLOUT of r82711</desc>
            <filename>bug-57657-20110401205514.patch</filename>
            <type>text/plain</type>
            <size>29824</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI3MTQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5ZjM0OGM5MGY1MTc1MjVj
NjYyODBlMDViYTBmNzJlNDY2M2YxYjY3Li41OTA4ZDYyZDhhMDg4NmFiYzkyMWJhMDgyZGFmODQw
M2EyZjZhZGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjIgQEAKKzIwMTEtMDQtMDEgIFNoZXJp
ZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHI4MjcxMS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9j
aGFuZ2VzZXQvODI3MTEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3NjU3CisKKyAgICAgICAgTWFkZSBldmVyeSB0ZXN0IGNyYXNoIG9uIFhQIGFuZCBX
aW43IChSZXF1ZXN0ZWQgYnkKKyAgICAgICAgYWJhcnRofGdhcmRlbmluZyBvbiAjd2Via2l0KS4K
KworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Y2FuVXNlQ2FjaGVWYWxpZGF0b3IpOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OmFkb3B0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2VCYXNlOjppc0hUVFApOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZUJhc2U6OnVybCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFz
ZTo6c2V0VVJMKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjptaW1l
VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6c2V0TWltZVR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OmV4cGVjdGVkQ29u
dGVudExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6c2V0
RXhwZWN0ZWRDb250ZW50TGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2VCYXNlOjp0ZXh0RW5jb2RpbmdOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2VCYXNlOjpzZXRUZXh0RW5jb2RpbmdOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2VCYXNlOjpzdWdnZXN0ZWRGaWxlbmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlQmFzZTo6c2V0U3VnZ2VzdGVkRmlsZW5hbWUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6Omh0dHBTdGF0dXNDb2RlKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpzZXRIVFRQU3RhdHVzQ29kZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6aHR0cFN0YXR1c1RleHQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnNldEhUVFBTdGF0dXNUZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpodHRwSGVhZGVyRmllbGQpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnNldEhUVFBIZWFkZXJGaWVs
ZCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6aHR0cEhlYWRlckZp
ZWxkcyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cGFyc2VDYWNo
ZUNvbnRyb2xEaXJlY3RpdmVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VC
YXNlOjpkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjphZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OmV4cGlyZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6Omxhc3RNb2RpZmllZCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6aXNBdHRhY2htZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpzZXRMYXN0TW9kaWZpZWREYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpsYXN0TW9kaWZpZWREYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjp3YXNDYWNoZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNvbm5lY3Rpb25SZXVzZWQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnNldENvbm5lY3Rpb25S
ZXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNvbm5lY3Rp
b25JRCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6c2V0Q29ubmVj
dGlvbklEKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpyZXNvdXJj
ZUxvYWRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnNl
dFJlc291cmNlTG9hZFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
QmFzZTo6cmVzb3VyY2VMb2FkSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlQmFzZTo6c2V0UmVzb3VyY2VMb2FkSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlQmFzZTo6bGF6eUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXNwb25zZUJhc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VC
YXNlOjpwbGF0Zm9ybUxhenlJbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jl
c291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OlJl
c291cmNlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6bWVt
b3J5VXNhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25z
ZUNGTmV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnBsYXRmb3Jt
TGF6eUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9u
c2VNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpwbGF0Zm9ybUxh
enlJbml0KToKKwogMjAxMS0wNC0wMSAgRGFuaWVsIEJhdGVzICA8ZGJhdGVzQHJpbS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCAwZGY1YmZhZGE3NjVkMGEyNWQ2ZGIx
NzI1MzAwZDc1NTZkYTNlMzYzLi45NDEzNDcyYTQ0N2Y2YWM0ZjM3YmMyZDA0NjM3YTBjZDg3NDZi
Y2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5j
cHAKQEAgLTUwNCw3ICs1MDQsMTAgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZTo6Y2FuVXNlQ2FjaGVW
YWxpZGF0b3IoKSBjb25zdAogCiAgICAgaWYgKG1fcmVzcG9uc2UuY2FjaGVDb250cm9sQ29udGFp
bnNOb1N0b3JlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gbV9yZXNwb25z
ZS5oYXNDYWNoZVZhbGlkYXRvckZpZWxkcygpOworCisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChj
b25zdCBBdG9taWNTdHJpbmcsIGxhc3RNb2RpZmllZEhlYWRlciwgKCJsYXN0LW1vZGlmaWVkIikp
OworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBlVGFnSGVhZGVy
LCAoImV0YWciKSk7CisgICAgcmV0dXJuICFtX3Jlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChsYXN0
TW9kaWZpZWRIZWFkZXIpLmlzRW1wdHkoKSB8fCAhbV9yZXNwb25zZS5odHRwSGVhZGVyRmllbGQo
ZVRhZ0hlYWRlcikuaXNFbXB0eSgpOwogfQogCiBib29sIENhY2hlZFJlc291cmNlOjptdXN0UmV2
YWxpZGF0ZUR1ZVRvQ2FjaGVIZWFkZXJzKENhY2hlUG9saWN5IGNhY2hlUG9saWN5KSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3Bv
bnNlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVz
cG9uc2VCYXNlLmNwcAppbmRleCA1ZmNjMzI4ZmU2ODc1YTQ2MTRkNmZiNGEwZDk1NzEzMWRmNzI2
YzE0Li41NWVhYzc2MThlNzUyYTcyOGZkNjJjNmM0ZmU1ZWIwOTA5MWVkYzQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VC
YXNlLmNwcApAQCAtMTA4LDcgKzEwOCw3IEBAIFBhc3NPd25QdHI8UmVzb3VyY2VSZXNwb25zZT4g
UmVzb3VyY2VSZXNwb25zZUJhc2U6OmFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSCiAgICAg
cmVzcG9uc2UtPnNldEhUVFBTdGF0dXNDb2RlKGRhdGEtPm1faHR0cFN0YXR1c0NvZGUpOwogICAg
IHJlc3BvbnNlLT5zZXRIVFRQU3RhdHVzVGV4dChkYXRhLT5tX2h0dHBTdGF0dXNUZXh0KTsKIAot
ICAgIHJlc3BvbnNlLT5sYXp5SW5pdChBbGxGaWVsZHMpOworICAgIHJlc3BvbnNlLT5sYXp5SW5p
dCgpOwogICAgIHJlc3BvbnNlLT5tX2h0dHBIZWFkZXJGaWVsZHMuYWRvcHQoZGF0YS0+bV9odHRw
SGVhZGVycy5yZWxlYXNlKCkpOwogICAgIHJlc3BvbnNlLT5zZXRMYXN0TW9kaWZpZWREYXRlKGRh
dGEtPm1fbGFzdE1vZGlmaWVkRGF0ZSk7CiAgICAgcmVzcG9uc2UtPnNldFJlc291cmNlTG9hZFRp
bWluZyhkYXRhLT5tX3Jlc291cmNlTG9hZFRpbWluZy5yZWxlYXNlKCkpOwpAQCAtMTM1LDcgKzEz
NSw3IEBAIFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YT4gUmVzb3Vy
Y2VSZXNwb25zZUJhc2U6OmNvcHlEYXRhKCkgY29uCiAKIGJvb2wgUmVzb3VyY2VSZXNwb25zZUJh
c2U6OmlzSFRUUCgpIGNvbnN0CiB7Ci0gICAgbGF6eUluaXQoQ29tbW9uRmllbGRzT25seSk7Cisg
ICAgbGF6eUluaXQoKTsKIAogICAgIFN0cmluZyBwcm90b2NvbCA9IG1fdXJsLnByb3RvY29sKCk7
CiAKQEAgLTE0NCwxNDAgKzE0NCwxMjYgQEAgYm9vbCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6aXNI
VFRQKCkgY29uc3QKIAogY29uc3QgS1VSTCYgUmVzb3VyY2VSZXNwb25zZUJhc2U6OnVybCgpIGNv
bnN0CiB7Ci0gICAgbGF6eUluaXQoQ29tbW9uRmllbGRzT25seSk7Ci0KKyAgICBsYXp5SW5pdCgp
OworICAgIAogICAgIHJldHVybiBtX3VybDsgCiB9CiAKIHZvaWQgUmVzb3VyY2VSZXNwb25zZUJh
c2U6OnNldFVSTChjb25zdCBLVVJMJiB1cmwpCiB7Ci0gICAgbGF6eUluaXQoQ29tbW9uRmllbGRz
T25seSk7CisgICAgbGF6eUluaXQoKTsKICAgICBtX2lzTnVsbCA9IGZhbHNlOwotCisgICAgCiAg
ICAgbV91cmwgPSB1cmw7IAogfQogCiBjb25zdCBTdHJpbmcmIFJlc291cmNlUmVzcG9uc2VCYXNl
OjptaW1lVHlwZSgpIGNvbnN0CiB7Ci0gICAgbGF6eUluaXQoQ29tbW9uRmllbGRzT25seSk7Cisg
ICAgbGF6eUluaXQoKTsKIAogICAgIHJldHVybiBtX21pbWVUeXBlOyAKIH0KIAogdm9pZCBSZXNv
dXJjZVJlc3BvbnNlQmFzZTo6c2V0TWltZVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKIHsK
LSAgICBsYXp5SW5pdChDb21tb25GaWVsZHNPbmx5KTsKKyAgICBsYXp5SW5pdCgpOwogICAgIG1f
aXNOdWxsID0gZmFsc2U7Ci0KKyAgICAKICAgICBtX21pbWVUeXBlID0gbWltZVR5cGU7IAogfQog
CiBsb25nIGxvbmcgUmVzb3VyY2VSZXNwb25zZUJhc2U6OmV4cGVjdGVkQ29udGVudExlbmd0aCgp
IGNvbnN0IAogewotICAgIGxhenlJbml0KENvbW1vbkZpZWxkc09ubHkpOworICAgIGxhenlJbml0
KCk7CiAKICAgICByZXR1cm4gbV9leHBlY3RlZENvbnRlbnRMZW5ndGg7CiB9CiAKIHZvaWQgUmVz
b3VyY2VSZXNwb25zZUJhc2U6OnNldEV4cGVjdGVkQ29udGVudExlbmd0aChsb25nIGxvbmcgZXhw
ZWN0ZWRDb250ZW50TGVuZ3RoKQogewotICAgIGxhenlJbml0KENvbW1vbkZpZWxkc09ubHkpOwor
ICAgIGxhenlJbml0KCk7CiAgICAgbV9pc051bGwgPSBmYWxzZTsKLQorICAgIAogICAgIG1fZXhw
ZWN0ZWRDb250ZW50TGVuZ3RoID0gZXhwZWN0ZWRDb250ZW50TGVuZ3RoOyAKIH0KIAogY29uc3Qg
U3RyaW5nJiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6dGV4dEVuY29kaW5nTmFtZSgpIGNvbnN0CiB7
Ci0gICAgbGF6eUluaXQoQ29tbW9uRmllbGRzT25seSk7CisgICAgbGF6eUluaXQoKTsKIAogICAg
IHJldHVybiBtX3RleHRFbmNvZGluZ05hbWU7CiB9CiAKIHZvaWQgUmVzb3VyY2VSZXNwb25zZUJh
c2U6OnNldFRleHRFbmNvZGluZ05hbWUoY29uc3QgU3RyaW5nJiBlbmNvZGluZ05hbWUpCiB7Ci0g
ICAgbGF6eUluaXQoQ29tbW9uRmllbGRzT25seSk7CisgICAgbGF6eUluaXQoKTsKICAgICBtX2lz
TnVsbCA9IGZhbHNlOwotCisgICAgCiAgICAgbV90ZXh0RW5jb2RpbmdOYW1lID0gZW5jb2RpbmdO
YW1lOyAKIH0KIAogLy8gRklYTUUgc2hvdWxkIGNvbXB1dGUgdGhpcyBvbiB0aGUgZmx5CiBjb25z
dCBTdHJpbmcmIFJlc291cmNlUmVzcG9uc2VCYXNlOjpzdWdnZXN0ZWRGaWxlbmFtZSgpIGNvbnN0
CiB7Ci0gICAgbGF6eUluaXQoQ29tbW9uRmllbGRzT25seSk7CisgICAgbGF6eUluaXQoKTsKIAog
ICAgIHJldHVybiBtX3N1Z2dlc3RlZEZpbGVuYW1lOwogfQogCiB2b2lkIFJlc291cmNlUmVzcG9u
c2VCYXNlOjpzZXRTdWdnZXN0ZWRGaWxlbmFtZShjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZE5hbWUp
CiB7Ci0gICAgbGF6eUluaXQoQ29tbW9uRmllbGRzT25seSk7CisgICAgbGF6eUluaXQoKTsKICAg
ICBtX2lzTnVsbCA9IGZhbHNlOwotCisgICAgCiAgICAgbV9zdWdnZXN0ZWRGaWxlbmFtZSA9IHN1
Z2dlc3RlZE5hbWU7IAogfQogCiBpbnQgUmVzb3VyY2VSZXNwb25zZUJhc2U6Omh0dHBTdGF0dXND
b2RlKCkgY29uc3QKIHsKLSAgICBsYXp5SW5pdChDb21tb25GaWVsZHNPbmx5KTsKKyAgICBsYXp5
SW5pdCgpOwogCiAgICAgcmV0dXJuIG1faHR0cFN0YXR1c0NvZGU7CiB9CiAKIHZvaWQgUmVzb3Vy
Y2VSZXNwb25zZUJhc2U6OnNldEhUVFBTdGF0dXNDb2RlKGludCBzdGF0dXNDb2RlKQogewotICAg
IGxhenlJbml0KENvbW1vbkZpZWxkc09ubHkpOworICAgIGxhenlJbml0KCk7CiAKICAgICBtX2h0
dHBTdGF0dXNDb2RlID0gc3RhdHVzQ29kZTsKIH0KIAogY29uc3QgU3RyaW5nJiBSZXNvdXJjZVJl
c3BvbnNlQmFzZTo6aHR0cFN0YXR1c1RleHQoKSBjb25zdCAKIHsKLSAgICBsYXp5SW5pdChBbGxG
aWVsZHMpOworICAgIGxhenlJbml0KCk7CiAKICAgICByZXR1cm4gbV9odHRwU3RhdHVzVGV4dDsg
CiB9CiAKIHZvaWQgUmVzb3VyY2VSZXNwb25zZUJhc2U6OnNldEhUVFBTdGF0dXNUZXh0KGNvbnN0
IFN0cmluZyYgc3RhdHVzVGV4dCkgCiB7Ci0gICAgbGF6eUluaXQoQWxsRmllbGRzKTsKKyAgICBs
YXp5SW5pdCgpOwogCiAgICAgbV9odHRwU3RhdHVzVGV4dCA9IHN0YXR1c1RleHQ7IAogfQogCiBT
dHJpbmcgUmVzb3VyY2VSZXNwb25zZUJhc2U6Omh0dHBIZWFkZXJGaWVsZChjb25zdCBBdG9taWNT
dHJpbmcmIG5hbWUpIGNvbnN0CiB7Ci0gICAgbGF6eUluaXQoQ29tbW9uRmllbGRzT25seSk7Ci0K
LSAgICAvLyBJZiB3ZSBhbHJlYWR5IGhhdmUgdGhlIGhlYWRlciwganVzdCByZXR1cm4gaXQgaW5z
dGVhZCBvZiBjb25zdW1pbmcgbWVtb3J5IGJ5IGdyYWJpbmcgYWxsIGhlYWRlcnMuCi0gICAgU3Ry
aW5nIHZhbHVlID0gbV9odHRwSGVhZGVyRmllbGRzLmdldChuYW1lKTsKLSAgICBpZiAoIXZhbHVl
LmlzRW1wdHkoKSkgICAgICAgIAotICAgICAgICByZXR1cm4gdmFsdWU7Ci0KLSAgICBsYXp5SW5p
dChBbGxGaWVsZHMpOworICAgIGxhenlJbml0KCk7CiAKICAgICByZXR1cm4gbV9odHRwSGVhZGVy
RmllbGRzLmdldChuYW1lKTsgCiB9CiAKIFN0cmluZyBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6aHR0
cEhlYWRlckZpZWxkKGNvbnN0IGNoYXIqIG5hbWUpIGNvbnN0CiB7Ci0gICAgbGF6eUluaXQoQ29t
bW9uRmllbGRzT25seSk7Ci0KLSAgICAvLyBJZiB3ZSBhbHJlYWR5IGhhdmUgdGhlIGhlYWRlciwg
anVzdCByZXR1cm4gaXQgaW5zdGVhZCBvZiBjb25zdW1pbmcgbWVtb3J5IGJ5IGdyYWJpbmcgYWxs
IGhlYWRlcnMuCi0gICAgU3RyaW5nIHZhbHVlID0gbV9odHRwSGVhZGVyRmllbGRzLmdldChuYW1l
KTsKLSAgICBpZiAoIXZhbHVlLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIHZhbHVlOwotCi0g
ICAgbGF6eUluaXQoQWxsRmllbGRzKTsKKyAgICBsYXp5SW5pdCgpOwogCiAgICAgcmV0dXJuIG1f
aHR0cEhlYWRlckZpZWxkcy5nZXQobmFtZSk7IAogfQogCiB2b2lkIFJlc291cmNlUmVzcG9uc2VC
YXNlOjpzZXRIVFRQSGVhZGVyRmllbGQoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBT
dHJpbmcmIHZhbHVlKQogewotICAgIGxhenlJbml0KEFsbEZpZWxkcyk7Ci0KKyAgICBsYXp5SW5p
dCgpOworICAgIAogICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBh
Z2VIZWFkZXIsICgiYWdlIikpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWlj
U3RyaW5nLCBjYWNoZUNvbnRyb2xIZWFkZXIsICgiY2FjaGUtY29udHJvbCIpKTsKICAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgZGF0ZUhlYWRlciwgKCJkYXRlIikp
OwpAQCAtMzAwLDcgKzI4Niw3IEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZUJhc2U6OnNldEhUVFBI
ZWFkZXJGaWVsZChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0CiAKIGNvbnN0IEhU
VFBIZWFkZXJNYXAmIFJlc291cmNlUmVzcG9uc2VCYXNlOjpodHRwSGVhZGVyRmllbGRzKCkgY29u
c3QKIHsKLSAgICBsYXp5SW5pdChBbGxGaWVsZHMpOworICAgIGxhenlJbml0KCk7CiAKICAgICBy
ZXR1cm4gbV9odHRwSGVhZGVyRmllbGRzOwogfQpAQCAtMzA5LDcgKzI5NSw3IEBAIHZvaWQgUmVz
b3VyY2VSZXNwb25zZUJhc2U6OnBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZlcygpIGNvbnN0CiB7
CiAgICAgQVNTRVJUKCFtX2hhdmVQYXJzZWRDYWNoZUNvbnRyb2xIZWFkZXIpOwogCi0gICAgbGF6
eUluaXQoQ29tbW9uRmllbGRzT25seSk7CisgICAgbGF6eUluaXQoKTsKIAogICAgIG1faGF2ZVBh
cnNlZENhY2hlQ29udHJvbEhlYWRlciA9IHRydWU7CiAKQEAgLTM0NiwxNCArMzMyLDEzIEBAIHZv
aWQgUmVzb3VyY2VSZXNwb25zZUJhc2U6OnBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZlcygpIGNv
bnN0CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Ci0KKyAgICAgICAgCiAgICAgaWYg
KCFtX2NhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSkgewogICAgICAgICAvLyBIYW5kbGUgUHJh
Z21hOiBuby1jYWNoZQogICAgICAgICAvLyBUaGlzIGlzIGRlcHJlY2F0ZWQgYW5kIGVxdWl2YWxl
bnQgdG8gQ2FjaGUtY29udHJvbDogbm8tY2FjaGUKICAgICAgICAgLy8gRG9uJ3QgYm90aGVyIHRv
a2VuaXppbmcgdGhlIHZhbHVlLCBpdCBpcyBub3QgaW1wb3J0YW50CiAgICAgICAgIERFRklORV9T
VEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBwcmFnbWFIZWFkZXIsICgicHJhZ21hIikp
OwogICAgICAgICBTdHJpbmcgcHJhZ21hVmFsdWUgPSBtX2h0dHBIZWFkZXJGaWVsZHMuZ2V0KHBy
YWdtYUhlYWRlcik7Ci0KICAgICAgICAgbV9jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUgPSBw
cmFnbWFWYWx1ZS5sb3dlcigpLmNvbnRhaW5zKG5vQ2FjaGVEaXJlY3RpdmUpOwogICAgIH0KIH0K
QEAgLTM3OSwxNSArMzY0LDYgQEAgYm9vbCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Y2FjaGVDb250
cm9sQ29udGFpbnNNdXN0UmV2YWxpZGF0ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2FjaGVDb250
cm9sQ29udGFpbnNNdXN0UmV2YWxpZGF0ZTsKIH0KIAotYm9vbCBSZXNvdXJjZVJlc3BvbnNlQmFz
ZTo6aGFzQ2FjaGVWYWxpZGF0b3JGaWVsZHMoKSBjb25zdAotewotICAgIGxhenlJbml0KENvbW1v
bkZpZWxkc09ubHkpOwotCi0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJp
bmcsIGxhc3RNb2RpZmllZEhlYWRlciwgKCJsYXN0LW1vZGlmaWVkIikpOwotICAgIERFRklORV9T
VEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBlVGFnSGVhZGVyLCAoImV0YWciKSk7Ci0g
ICAgcmV0dXJuICFtX2h0dHBIZWFkZXJGaWVsZHMuZ2V0KGxhc3RNb2RpZmllZEhlYWRlcikuaXNF
bXB0eSgpIHx8ICFtX2h0dHBIZWFkZXJGaWVsZHMuZ2V0KGVUYWdIZWFkZXIpLmlzRW1wdHkoKTsK
LX0KLQogZG91YmxlIFJlc291cmNlUmVzcG9uc2VCYXNlOjpjYWNoZUNvbnRyb2xNYXhBZ2UoKSBj
b25zdAogewogICAgIGlmICghbV9oYXZlUGFyc2VkQ2FjaGVDb250cm9sSGVhZGVyKQpAQCAtNDEy
LDcgKzM4OCw3IEBAIHN0YXRpYyBkb3VibGUgcGFyc2VEYXRlVmFsdWVJbkhlYWRlcihjb25zdCBI
VFRQSGVhZGVyTWFwJiBoZWFkZXJzLCBjb25zdCBBdG9taWNTCiAKIGRvdWJsZSBSZXNvdXJjZVJl
c3BvbnNlQmFzZTo6ZGF0ZSgpIGNvbnN0CiB7Ci0gICAgbGF6eUluaXQoQ29tbW9uRmllbGRzT25s
eSk7CisgICAgbGF6eUluaXQoKTsKIAogICAgIGlmICghbV9oYXZlUGFyc2VkRGF0ZUhlYWRlcikg
ewogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgaGVhZGVy
TmFtZSwgKCJkYXRlIikpOwpAQCAtNDI0LDggKzQwMCw4IEBAIGRvdWJsZSBSZXNvdXJjZVJlc3Bv
bnNlQmFzZTo6ZGF0ZSgpIGNvbnN0CiAKIGRvdWJsZSBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6YWdl
KCkgY29uc3QKIHsKLSAgICBsYXp5SW5pdChDb21tb25GaWVsZHNPbmx5KTsKLQorICAgIGxhenlJ
bml0KCk7CisgICAgCiAgICAgaWYgKCFtX2hhdmVQYXJzZWRBZ2VIZWFkZXIpIHsKICAgICAgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGhlYWRlck5hbWUsICgiYWdl
IikpOwogICAgICAgICBTdHJpbmcgaGVhZGVyVmFsdWUgPSBtX2h0dHBIZWFkZXJGaWVsZHMuZ2V0
KGhlYWRlck5hbWUpOwpAQCAtNDQwLDcgKzQxNiw3IEBAIGRvdWJsZSBSZXNvdXJjZVJlc3BvbnNl
QmFzZTo6YWdlKCkgY29uc3QKIAogZG91YmxlIFJlc291cmNlUmVzcG9uc2VCYXNlOjpleHBpcmVz
KCkgY29uc3QKIHsKLSAgICBsYXp5SW5pdChDb21tb25GaWVsZHNPbmx5KTsKKyAgICBsYXp5SW5p
dCgpOwogCiAgICAgaWYgKCFtX2hhdmVQYXJzZWRFeHBpcmVzSGVhZGVyKSB7CiAgICAgICAgIERF
RklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBoZWFkZXJOYW1lLCAoImV4cGly
ZXMiKSk7CkBAIC00NTIsOCArNDI4LDggQEAgZG91YmxlIFJlc291cmNlUmVzcG9uc2VCYXNlOjpl
eHBpcmVzKCkgY29uc3QKIAogZG91YmxlIFJlc291cmNlUmVzcG9uc2VCYXNlOjpsYXN0TW9kaWZp
ZWQoKSBjb25zdAogewotICAgIGxhenlJbml0KENvbW1vbkZpZWxkc09ubHkpOwotCisgICAgbGF6
eUluaXQoKTsKKyAgICAKICAgICBpZiAoIW1faGF2ZVBhcnNlZExhc3RNb2RpZmllZEhlYWRlcikg
ewogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgaGVhZGVy
TmFtZSwgKCJsYXN0LW1vZGlmaWVkIikpOwogICAgICAgICBtX2xhc3RNb2RpZmllZCA9IHBhcnNl
RGF0ZVZhbHVlSW5IZWFkZXIobV9odHRwSGVhZGVyRmllbGRzLCBoZWFkZXJOYW1lKTsKQEAgLTQ2
NCw3ICs0NDAsNyBAQCBkb3VibGUgUmVzb3VyY2VSZXNwb25zZUJhc2U6Omxhc3RNb2RpZmllZCgp
IGNvbnN0CiAKIGJvb2wgUmVzb3VyY2VSZXNwb25zZUJhc2U6OmlzQXR0YWNobWVudCgpIGNvbnN0
CiB7Ci0gICAgbGF6eUluaXQoQWxsRmllbGRzKTsKKyAgICBsYXp5SW5pdCgpOwogCiAgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGhlYWRlck5hbWUsICgiY29udGVu
dC1kaXNwb3NpdGlvbiIpKTsKICAgICBTdHJpbmcgdmFsdWUgPSBtX2h0dHBIZWFkZXJGaWVsZHMu
Z2V0KGhlYWRlck5hbWUpOwpAQCAtNDc4LDIxICs0NTQsMjEgQEAgYm9vbCBSZXNvdXJjZVJlc3Bv
bnNlQmFzZTo6aXNBdHRhY2htZW50KCkgY29uc3QKICAgCiB2b2lkIFJlc291cmNlUmVzcG9uc2VC
YXNlOjpzZXRMYXN0TW9kaWZpZWREYXRlKHRpbWVfdCBsYXN0TW9kaWZpZWREYXRlKQogewotICAg
IGxhenlJbml0KEFsbEZpZWxkcyk7CisgICAgbGF6eUluaXQoKTsKIAogICAgIG1fbGFzdE1vZGlm
aWVkRGF0ZSA9IGxhc3RNb2RpZmllZERhdGU7CiB9CiAKIHRpbWVfdCBSZXNvdXJjZVJlc3BvbnNl
QmFzZTo6bGFzdE1vZGlmaWVkRGF0ZSgpIGNvbnN0CiB7Ci0gICAgbGF6eUluaXQoQWxsRmllbGRz
KTsKKyAgICBsYXp5SW5pdCgpOwogCiAgICAgcmV0dXJuIG1fbGFzdE1vZGlmaWVkRGF0ZTsKIH0K
IAogYm9vbCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6d2FzQ2FjaGVkKCkgY29uc3QKIHsKLSAgICBs
YXp5SW5pdChBbGxGaWVsZHMpOworICAgIGxhenlJbml0KCk7CiAKICAgICByZXR1cm4gbV93YXND
YWNoZWQ7CiB9CkBAIC01MDQsNjUgKzQ4MCw2NSBAQCB2b2lkIFJlc291cmNlUmVzcG9uc2VCYXNl
OjpzZXRXYXNDYWNoZWQoYm9vbCB2YWx1ZSkKIAogYm9vbCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6
Y29ubmVjdGlvblJldXNlZCgpIGNvbnN0CiB7Ci0gICAgbGF6eUluaXQoQWxsRmllbGRzKTsKKyAg
ICBsYXp5SW5pdCgpOwogCiAgICAgcmV0dXJuIG1fY29ubmVjdGlvblJldXNlZDsKIH0KIAogdm9p
ZCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6c2V0Q29ubmVjdGlvblJldXNlZChib29sIGNvbm5lY3Rp
b25SZXVzZWQpCiB7Ci0gICAgbGF6eUluaXQoQWxsRmllbGRzKTsKKyAgICBsYXp5SW5pdCgpOwog
CiAgICAgbV9jb25uZWN0aW9uUmV1c2VkID0gY29ubmVjdGlvblJldXNlZDsKIH0KIAogdW5zaWdu
ZWQgUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNvbm5lY3Rpb25JRCgpIGNvbnN0CiB7Ci0gICAgbGF6
eUluaXQoQWxsRmllbGRzKTsKKyAgICBsYXp5SW5pdCgpOwogCiAgICAgcmV0dXJuIG1fY29ubmVj
dGlvbklEOwogfQogCiB2b2lkIFJlc291cmNlUmVzcG9uc2VCYXNlOjpzZXRDb25uZWN0aW9uSUQo
dW5zaWduZWQgY29ubmVjdGlvbklEKQogewotICAgIGxhenlJbml0KEFsbEZpZWxkcyk7CisgICAg
bGF6eUluaXQoKTsKIAogICAgIG1fY29ubmVjdGlvbklEID0gY29ubmVjdGlvbklEOwogfQogCiBS
ZXNvdXJjZUxvYWRUaW1pbmcqIFJlc291cmNlUmVzcG9uc2VCYXNlOjpyZXNvdXJjZUxvYWRUaW1p
bmcoKSBjb25zdAogewotICAgIGxhenlJbml0KEFsbEZpZWxkcyk7CisgICAgbGF6eUluaXQoKTsK
IAogICAgIHJldHVybiBtX3Jlc291cmNlTG9hZFRpbWluZy5nZXQoKTsKIH0KIAogdm9pZCBSZXNv
dXJjZVJlc3BvbnNlQmFzZTo6c2V0UmVzb3VyY2VMb2FkVGltaW5nKFBhc3NSZWZQdHI8UmVzb3Vy
Y2VMb2FkVGltaW5nPiByZXNvdXJjZUxvYWRUaW1pbmcpCiB7Ci0gICAgbGF6eUluaXQoQWxsRmll
bGRzKTsKKyAgICBsYXp5SW5pdCgpOwogCiAgICAgbV9yZXNvdXJjZUxvYWRUaW1pbmcgPSByZXNv
dXJjZUxvYWRUaW1pbmc7CiB9CiAKIFBhc3NSZWZQdHI8UmVzb3VyY2VMb2FkSW5mbz4gUmVzb3Vy
Y2VSZXNwb25zZUJhc2U6OnJlc291cmNlTG9hZEluZm8oKSBjb25zdAogewotICAgIGxhenlJbml0
KEFsbEZpZWxkcyk7CisgICAgbGF6eUluaXQoKTsKIAogICAgIHJldHVybiBtX3Jlc291cmNlTG9h
ZEluZm8uZ2V0KCk7CiB9CiAKIHZvaWQgUmVzb3VyY2VSZXNwb25zZUJhc2U6OnNldFJlc291cmNl
TG9hZEluZm8oUGFzc1JlZlB0cjxSZXNvdXJjZUxvYWRJbmZvPiBsb2FkSW5mbykKIHsKLSAgICBs
YXp5SW5pdChBbGxGaWVsZHMpOworICAgIGxhenlJbml0KCk7CiAKICAgICBtX3Jlc291cmNlTG9h
ZEluZm8gPSBsb2FkSW5mbzsKIH0KIAotdm9pZCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6bGF6eUlu
aXQoSW5pdExldmVsIGluaXRMZXZlbCkgY29uc3QKK3ZvaWQgUmVzb3VyY2VSZXNwb25zZUJhc2U6
OmxhenlJbml0KCkgY29uc3QKIHsKLSAgICBjb25zdF9jYXN0PFJlc291cmNlUmVzcG9uc2UqPihz
dGF0aWNfY2FzdDxjb25zdCBSZXNvdXJjZVJlc3BvbnNlKj4odGhpcykpLT5wbGF0Zm9ybUxhenlJ
bml0KGluaXRMZXZlbCk7CisgICAgY29uc3RfY2FzdDxSZXNvdXJjZVJlc3BvbnNlKj4oc3RhdGlj
X2Nhc3Q8Y29uc3QgUmVzb3VyY2VSZXNwb25zZSo+KHRoaXMpKS0+cGxhdGZvcm1MYXp5SW5pdCgp
OwogfQotICAgIAorCiBib29sIFJlc291cmNlUmVzcG9uc2VCYXNlOjpjb21wYXJlKGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpCiB7CiAgICAgaWYg
KGEuaXNOdWxsKCkgIT0gYi5pc051bGwoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAppbmRleCAzNzc1NzkxMzY5ZDZh
NmUwODRjYjFmNTI2ZjNiYzlmNWEzZTE1MzhlLi5lMDc3NGMyNmI0ZTI4NjRlZGU0NGRjNzMwZTFj
NzhiODgyZTI1MGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCkBAIC05Myw3ICs5Myw2IEBAIHB1YmxpYzoKICAg
ICBib29sIGNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpIGNvbnN0OwogICAgIGJvb2wgY2Fj
aGVDb250cm9sQ29udGFpbnNOb1N0b3JlKCkgY29uc3Q7CiAgICAgYm9vbCBjYWNoZUNvbnRyb2xD
b250YWluc011c3RSZXZhbGlkYXRlKCkgY29uc3Q7Ci0gICAgYm9vbCBoYXNDYWNoZVZhbGlkYXRv
ckZpZWxkcygpIGNvbnN0OwogICAgIGRvdWJsZSBjYWNoZUNvbnRyb2xNYXhBZ2UoKSBjb25zdDsK
ICAgICBkb3VibGUgZGF0ZSgpIGNvbnN0OwogICAgIGRvdWJsZSBhZ2UoKSBjb25zdDsKQEAgLTEy
NSwxOSArMTI0LDEzIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjb21wYXJlKGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAKIHByb3RlY3RlZDoK
LSAgICBlbnVtIEluaXRMZXZlbCB7Ci0gICAgICAgIFVuaW5pdGlhbGl6ZWQsCi0gICAgICAgIENv
bW1vbkZpZWxkc09ubHksCi0gICAgICAgIEFsbEZpZWxkcwotICAgIH07Ci0KICAgICBSZXNvdXJj
ZVJlc3BvbnNlQmFzZSgpOwogICAgIFJlc291cmNlUmVzcG9uc2VCYXNlKGNvbnN0IEtVUkwmIHVy
bCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgbG9uZyBsb25nIGV4cGVjdGVkTGVuZ3RoLCBjb25z
dCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUsIGNvbnN0IFN0cmluZyYgZmlsZW5hbWUpOwogCi0g
ICAgdm9pZCBsYXp5SW5pdChJbml0TGV2ZWwpIGNvbnN0OworICAgIHZvaWQgbGF6eUluaXQoKSBj
b25zdDsKIAogICAgIC8vIFRoZSBSZXNvdXJjZVJlc3BvbnNlIHN1YmNsYXNzIG1heSAic2hhZG93
IiB0aGlzIG1ldGhvZCB0byBsYXppbHkgaW5pdGlhbGl6ZSBwbGF0Zm9ybSBzcGVjaWZpYyBmaWVs
ZHMKLSAgICB2b2lkIHBsYXRmb3JtTGF6eUluaXQoSW5pdExldmVsKSB7IH0KKyAgICB2b2lkIHBs
YXRmb3JtTGF6eUluaXQoKSB7IH0KIAogICAgIC8vIFRoZSBSZXNvdXJjZVJlc3BvbnNlIHN1YmNs
YXNzIG1heSAic2hhZG93IiB0aGlzIG1ldGhvZCB0byBjb21wYXJlIHBsYXRmb3JtIHNwZWNpZmlj
IGZpZWxkcwogICAgIHN0YXRpYyBib29sIHBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25z
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNl
LmgKaW5kZXggNjc1ZDQzMWMyODQ1MWI1ODBiMjc3NGU0Y2M5MzZiZWYyYjJjZjljZC4uMDU1MWVk
ZTliYzc1MTMzODVhYWVkNTQxOGQ1NGE4Yzk0OTZlMzU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgKQEAgLTQ0LDIx
ICs0NCwyMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlIDog
cHVibGljIFJlc291cmNlUmVzcG9uc2VCYXNlIHsKIHB1YmxpYzoKICAgICBSZXNvdXJjZVJlc3Bv
bnNlKCkKLSAgICAgICAgOiBtX2luaXRMZXZlbChBbGxGaWVsZHMpCisgICAgICAgIDogbV9pc1Vw
VG9EYXRlKHRydWUpCiAgICAgewogICAgIH0KIAogI2lmIFVTRShDRk5FVFdPUkspCiAgICAgUmVz
b3VyY2VSZXNwb25zZShDRlVSTFJlc3BvbnNlUmVmIGNmUmVzcG9uc2UpCiAgICAgICAgIDogbV9j
ZlJlc3BvbnNlKGNmUmVzcG9uc2UpCi0gICAgICAgICwgbV9pbml0TGV2ZWwoVW5pbml0aWFsaXpl
ZCkKKyAgICAgICAgLCBtX2lzVXBUb0RhdGUoZmFsc2UpCiAgICAgewogICAgICAgICBtX2lzTnVs
bCA9ICFjZlJlc3BvbnNlOwogICAgIH0KICNlbHNlCiAgICAgUmVzb3VyY2VSZXNwb25zZShOU1VS
TFJlc3BvbnNlKiBuc1Jlc3BvbnNlKQogICAgICAgICA6IG1fbnNSZXNwb25zZShuc1Jlc3BvbnNl
KQotICAgICAgICAsIG1faW5pdExldmVsKFVuaW5pdGlhbGl6ZWQpCisgICAgICAgICwgbV9pc1Vw
VG9EYXRlKGZhbHNlKQogICAgIHsKICAgICAgICAgbV9pc051bGwgPSAhbnNSZXNwb25zZTsKICAg
ICB9CkBAIC02NiwxNSArNjYsMTUgQEAgcHVibGljOgogCiAgICAgUmVzb3VyY2VSZXNwb25zZShj
b25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGxvbmcgbG9uZyBleHBlY3Rl
ZExlbmd0aCwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBTdHJpbmcmIGZp
bGVuYW1lKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKHVybCwgbWltZVR5cGUsIGV4
cGVjdGVkTGVuZ3RoLCB0ZXh0RW5jb2RpbmdOYW1lLCBmaWxlbmFtZSkKLSAgICAgICAgLCBtX2lu
aXRMZXZlbChBbGxGaWVsZHMpCisgICAgICAgICwgbV9pc1VwVG9EYXRlKHRydWUpCiAgICAgewog
ICAgIH0KIAogICAgIHVuc2lnbmVkIG1lbW9yeVVzYWdlKCkgY29uc3QKICAgICB7CiAgICAgICAg
IC8vIEZJWE1FOiBGaW5kIHNvbWUgcHJvZ3JhbW1hdGljIGxpZ2h3ZWlnaHQgd2F5IHRvIGNhbGN1
bGF0ZSBSZXNvdXJjZVJlc3BvbnNlIGFuZCBhc3NvY2lhdGVkIGNsYXNzZXMuCi0gICAgICAgIC8v
IFRoaXMgaXMgYSByb3VnaCBlc3RpbWF0ZSBvZiByZXNvdXJjZSBvdmVyaGVhZCBiYXNlZCBvbiBz
dGF0cyBjb2xsZWN0ZWQgZnJvbSBtZW1vcnkgdXNhZ2UgdGVzdHMuCi0gICAgICAgIHJldHVybiAz
ODAwOworICAgICAgICAvLyBUaGlzIGlzIGEgcm91Z2ggZXN0aW1hdGUgb2YgcmVzb3VyY2Ugb3Zl
cmhlYWQgYmFzZWQgb24gc3RhdHMgY29sbGVjdGVkIGZyb20gdGhlIHN0cmVzcyB0ZXN0LgorICAg
ICAgICByZXR1cm4gMzA3MjsKICAgICAgICAgLyogIDEyODAgKiAyICsgICAgICAgICAgICAgICAg
Ly8gYXZlcmFnZSBzaXplIG9mIFJlc291cmNlUmVzcG9uc2UuIERvdWJsZWQgdG8gYWNjb3VudCBm
b3IgdGhlIFdlYkNvcmUgY29weSBhbmQgdGhlIENGIGNvcHkuCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIE1vc3RseSBkdWUgdG8gdGhlIHNpemUgb2YgdGhlIGhhc2gg
bWFwcywgdGhlIEhlYWRlciBNYXAgc3RyaW5ncyBhbmQgdGhlIFVSTC4KICAgICAgICAgICAgIDI1
NiAqIDIgICAgICAgICAgICAgICAgICAgLy8gT3ZlcmhlYWQgZnJvbSBSZXNvdXJjZVJlcXVlc3Qs
IGRvdWJsZWQgdG8gYWNjb3VudCBmb3IgV2ViQ29yZSBjb3B5IGFuZCBDRiBjb3B5LgpAQCAtOTEs
NyArOTEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBSZXNvdXJjZVJl
c3BvbnNlQmFzZTsKIAotICAgIHZvaWQgcGxhdGZvcm1MYXp5SW5pdChJbml0TGV2ZWwpOworICAg
IHZvaWQgcGxhdGZvcm1MYXp5SW5pdCgpOwogICAgIFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNv
dXJjZVJlc3BvbnNlRGF0YT4gZG9QbGF0Zm9ybUNvcHlEYXRhKFBhc3NPd25QdHI8Q3Jvc3NUaHJl
YWRSZXNvdXJjZVJlc3BvbnNlRGF0YT4gZGF0YSkgY29uc3QgeyByZXR1cm4gZGF0YTsgfQogICAg
IHZvaWQgZG9QbGF0Zm9ybUFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3Bv
bnNlRGF0YT4pIHsgfQogCkBAIC0xMDIsNyArMTAyLDcgQEAgcHJpdmF0ZToKICNlbHNlCiAgICAg
bXV0YWJsZSBSZXRhaW5QdHI8TlNVUkxSZXNwb25zZT4gbV9uc1Jlc3BvbnNlOwogI2VuZGlmCi0g
ICAgSW5pdExldmVsIG1faW5pdExldmVsOworICAgIGJvb2wgbV9pc1VwVG9EYXRlOwogfTsKIAog
c3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGEgOiBwdWJsaWMgQ3Jvc3NUaHJl
YWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlQ0ZOZXQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlQ0ZOZXQuY3BwCmluZGV4
IDVmNTEzMmQ3M2U1NjE4NTZkYjc0Y2QzMmNiMTcwNDg3OTRiMWZkZGEuLmQ0YTBiMzE2YmMwOGY5
MzA4MmRiMzk1YWIwODI5YWJjMTY5ODk0NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZUNGTmV0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2VDRk5ldC5jcHAKQEAg
LTQyLDExICs0Miw2IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotc3RhdGljIENGU3RyaW5nUmVmIGNvbnN0IGNvbW1vbkhlYWRlckZpZWxkc1tdID0gewot
ICAgIENGU1RSKCJBZ2UiKSwgQ0ZTVFIoIkNhY2hlLUNvbnRyb2wiKSwgQ0ZTVFIoIkRhdGUiKSwg
Q0ZTVFIoIkV0YWciKSwgQ0ZTVFIoIkV4cGlyZXMiKSwgQ0ZTVFIoIkxhc3QtTW9kaWZpZWQiKSwg
Q0ZTVFIoIlByYWdtYSIpCi19Owotc3RhdGljIGNvbnN0IGludCBudW1Db21tb25IZWFkZXJGaWVs
ZHMgPSBzaXplb2YoY29tbW9uSGVhZGVyRmllbGRzKSAvIHNpemVvZihDRlN0cmluZ1JlZik7Ci0K
IENGVVJMUmVzcG9uc2VSZWYgUmVzb3VyY2VSZXNwb25zZTo6Y2ZVUkxSZXNwb25zZSgpIGNvbnN0
CiB7CiAgICAgaWYgKCFtX2NmUmVzcG9uc2UgJiYgIW1faXNOdWxsKSB7CkBAIC03NSw2NiArNzAs
NTIgQEAgc3RhdGljIHRpbWVfdCB0b1RpbWVUKENGQWJzb2x1dGVUaW1lIHRpbWUpCiAgICAgcmV0
dXJuIG1pbihtYXgobWluVGltZUFzRG91YmxlLCB0aW1lICsga0NGQWJzb2x1dGVUaW1lSW50ZXJ2
YWxTaW5jZTE5NzApLCBtYXhUaW1lQXNEb3VibGUpOwogfQogCi12b2lkIFJlc291cmNlUmVzcG9u
c2U6OnBsYXRmb3JtTGF6eUluaXQoSW5pdExldmVsIGluaXRMZXZlbCkKK3ZvaWQgUmVzb3VyY2VS
ZXNwb25zZTo6cGxhdGZvcm1MYXp5SW5pdCgpCiB7Ci0gICAgaWYgKG1faW5pdExldmVsID4gaW5p
dExldmVsKQorICAgIGlmIChtX2lzVXBUb0RhdGUpCiAgICAgICAgIHJldHVybjsKKyAgICBtX2lz
VXBUb0RhdGUgPSB0cnVlOwogCiAgICAgaWYgKG1faXNOdWxsKSB7CiAgICAgICAgIEFTU0VSVCgh
bV9jZlJlc3BvbnNlLmdldCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmICht
X2luaXRMZXZlbCA8IENvbW1vbkZpZWxkc09ubHkgJiYgaW5pdExldmVsID49IENvbW1vbkZpZWxk
c09ubHkpIHsKLSAgICAgICAgbV91cmwgPSBDRlVSTFJlc3BvbnNlR2V0VVJMKG1fY2ZSZXNwb25z
ZS5nZXQoKSk7Ci0gICAgICAgIG1fbWltZVR5cGUgPSBDRlVSTFJlc3BvbnNlR2V0TUlNRVR5cGUo
bV9jZlJlc3BvbnNlLmdldCgpKTsKLSAgICAgICAgbV9leHBlY3RlZENvbnRlbnRMZW5ndGggPSBD
RlVSTFJlc3BvbnNlR2V0RXhwZWN0ZWRDb250ZW50TGVuZ3RoKG1fY2ZSZXNwb25zZS5nZXQoKSk7
Ci0gICAgICAgIG1fdGV4dEVuY29kaW5nTmFtZSA9IENGVVJMUmVzcG9uc2VHZXRUZXh0RW5jb2Rp
bmdOYW1lKG1fY2ZSZXNwb25zZS5nZXQoKSk7CisgICAgLy8gRklYTUU6IFdlIG1heSBuZWVkIHRv
IGRvIE1JTUUgdHlwZSBzbmlmZmluZyBoZXJlICh1bmxlc3MgdGhhdCBpcyBkb25lIGluIENGVVJM
UmVzcG9uc2VHZXRNSU1FVHlwZSkuCiAKLSAgICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgPHJkYXI6
Ly9wcm9ibGVtLzg3NTcwODg+LCBjYW4gYmUgcmVtb3ZlZCBvbmNlIHRoYXQgaXMgZml4ZWQuCi0g
ICAgICAgIHVuc2lnbmVkIHRleHRFbmNvZGluZ05hbWVMZW5ndGggPSBtX3RleHRFbmNvZGluZ05h
bWUubGVuZ3RoKCk7Ci0gICAgICAgIGlmICh0ZXh0RW5jb2RpbmdOYW1lTGVuZ3RoID49IDIgJiYg
bV90ZXh0RW5jb2RpbmdOYW1lWzBVXSA9PSAnIicgJiYgbV90ZXh0RW5jb2RpbmdOYW1lW3RleHRF
bmNvZGluZ05hbWVMZW5ndGggLSAxXSA9PSAnIicpCi0gICAgICAgICAgICBtX3RleHRFbmNvZGlu
Z05hbWUgPSBtX3RleHRFbmNvZGluZ05hbWUuc3Vic3RyaW5nKDEsIHRleHRFbmNvZGluZ05hbWVM
ZW5ndGggLSAyKTsKKyAgICBtX3VybCA9IENGVVJMUmVzcG9uc2VHZXRVUkwobV9jZlJlc3BvbnNl
LmdldCgpKTsKKyAgICBtX21pbWVUeXBlID0gQ0ZVUkxSZXNwb25zZUdldE1JTUVUeXBlKG1fY2ZS
ZXNwb25zZS5nZXQoKSk7CisgICAgbV9leHBlY3RlZENvbnRlbnRMZW5ndGggPSBDRlVSTFJlc3Bv
bnNlR2V0RXhwZWN0ZWRDb250ZW50TGVuZ3RoKG1fY2ZSZXNwb25zZS5nZXQoKSk7CisgICAgbV90
ZXh0RW5jb2RpbmdOYW1lID0gQ0ZVUkxSZXNwb25zZUdldFRleHRFbmNvZGluZ05hbWUobV9jZlJl
c3BvbnNlLmdldCgpKTsKIAotICAgICAgICBtX2xhc3RNb2RpZmllZERhdGUgPSB0b1RpbWVUKENG
VVJMUmVzcG9uc2VHZXRMYXN0TW9kaWZpZWREYXRlKG1fY2ZSZXNwb25zZS5nZXQoKSkpOworICAg
IC8vIFdvcmthcm91bmQgZm9yIDxyZGFyOi8vcHJvYmxlbS84NzU3MDg4PiwgY2FuIGJlIHJlbW92
ZWQgb25jZSB0aGF0IGlzIGZpeGVkLgorICAgIHVuc2lnbmVkIHRleHRFbmNvZGluZ05hbWVMZW5n
dGggPSBtX3RleHRFbmNvZGluZ05hbWUubGVuZ3RoKCk7CisgICAgaWYgKHRleHRFbmNvZGluZ05h
bWVMZW5ndGggPj0gMiAmJiBtX3RleHRFbmNvZGluZ05hbWVbMFVdID09ICciJyAmJiBtX3RleHRF
bmNvZGluZ05hbWVbdGV4dEVuY29kaW5nTmFtZUxlbmd0aCAtIDFdID09ICciJykKKyAgICAgICAg
bV90ZXh0RW5jb2RpbmdOYW1lID0gbV90ZXh0RW5jb2RpbmdOYW1lLnN1YnN0cmluZygxLCB0ZXh0
RW5jb2RpbmdOYW1lTGVuZ3RoIC0gMik7CiAKLSAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVm
PiBzdWdnZXN0ZWRGaWxlbmFtZShBZG9wdENGLCBDRlVSTFJlc3BvbnNlQ29weVN1Z2dlc3RlZEZp
bGVuYW1lKG1fY2ZSZXNwb25zZS5nZXQoKSkpOwotICAgICAgICBtX3N1Z2dlc3RlZEZpbGVuYW1l
ID0gc3VnZ2VzdGVkRmlsZW5hbWUuZ2V0KCk7CisgICAgbV9sYXN0TW9kaWZpZWREYXRlID0gdG9U
aW1lVChDRlVSTFJlc3BvbnNlR2V0TGFzdE1vZGlmaWVkRGF0ZShtX2NmUmVzcG9uc2UuZ2V0KCkp
KTsKIAotICAgICAgICBDRkhUVFBNZXNzYWdlUmVmIGh0dHBSZXNwb25zZSA9IENGVVJMUmVzcG9u
c2VHZXRIVFRQUmVzcG9uc2UobV9jZlJlc3BvbnNlLmdldCgpKTsKLSAgICAgICAgaWYgKGh0dHBS
ZXNwb25zZSkKLSAgICAgICAgICAgIG1faHR0cFN0YXR1c0NvZGUgPSBDRkhUVFBNZXNzYWdlR2V0
UmVzcG9uc2VTdGF0dXNDb2RlKGh0dHBSZXNwb25zZSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAg
ICAgIG1faHR0cFN0YXR1c0NvZGUgPSAwOworICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3Vn
Z2VzdGVkRmlsZW5hbWUoQWRvcHRDRiwgQ0ZVUkxSZXNwb25zZUNvcHlTdWdnZXN0ZWRGaWxlbmFt
ZShtX2NmUmVzcG9uc2UuZ2V0KCkpKTsKKyAgICBtX3N1Z2dlc3RlZEZpbGVuYW1lID0gc3VnZ2Vz
dGVkRmlsZW5hbWUuZ2V0KCk7CiAKLSAgICAgICAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4g
aGVhZGVycyhBZG9wdENGLCBDRkhUVFBNZXNzYWdlQ29weUFsbEhlYWRlckZpZWxkcyhodHRwUmVz
cG9uc2UpKTsKKyAgICBDRkhUVFBNZXNzYWdlUmVmIGh0dHBSZXNwb25zZSA9IENGVVJMUmVzcG9u
c2VHZXRIVFRQUmVzcG9uc2UobV9jZlJlc3BvbnNlLmdldCgpKTsKKyAgICBpZiAoaHR0cFJlc3Bv
bnNlKSB7CisgICAgICAgIG1faHR0cFN0YXR1c0NvZGUgPSBDRkhUVFBNZXNzYWdlR2V0UmVzcG9u
c2VTdGF0dXNDb2RlKGh0dHBSZXNwb25zZSk7CiAKLSAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkg
PCBudW1Db21tb25IZWFkZXJGaWVsZHM7IGkrKykgewotICAgICAgICAgICAgQ0ZTdHJpbmdSZWYg
dmFsdWU7Ci0gICAgICAgICAgICBpZiAoQ0ZEaWN0aW9uYXJ5R2V0VmFsdWVJZlByZXNlbnQoaGVh
ZGVycy5nZXQoKSwgY29tbW9uSGVhZGVyRmllbGRzW2ldLCAoY29uc3Qgdm9pZCAqKikmdmFsdWUp
KQotICAgICAgICAgICAgICAgIG1faHR0cEhlYWRlckZpZWxkcy5zZXQoY29tbW9uSGVhZGVyRmll
bGRzW2ldLCB2YWx1ZSk7Ci0gICAgICAgIH0KLSAgICB9CisgICAgICAgIFJldGFpblB0cjxDRlN0
cmluZ1JlZj4gc3RhdHVzTGluZShBZG9wdENGLCBDRkhUVFBNZXNzYWdlQ29weVJlc3BvbnNlU3Rh
dHVzTGluZShodHRwUmVzcG9uc2UpKTsKKyAgICAgICAgbV9odHRwU3RhdHVzVGV4dCA9IGV4dHJh
Y3RSZWFzb25QaHJhc2VGcm9tSFRUUFN0YXR1c0xpbmUoc3RhdHVzTGluZS5nZXQoKSk7CiAKLSAg
ICBpZiAobV9pbml0TGV2ZWwgPCBBbGxGaWVsZHMgJiYgaW5pdExldmVsID49IEFsbEZpZWxkcykg
ewotICAgICAgICBDRkhUVFBNZXNzYWdlUmVmIGh0dHBSZXNwb25zZSA9IENGVVJMUmVzcG9uc2VH
ZXRIVFRQUmVzcG9uc2UobV9jZlJlc3BvbnNlLmdldCgpKTsKLSAgICAgICAgaWYgKGh0dHBSZXNw
b25zZSkgewotICAgICAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdGF0dXNMaW5lKEFk
b3B0Q0YsIENGSFRUUE1lc3NhZ2VDb3B5UmVzcG9uc2VTdGF0dXNMaW5lKGh0dHBSZXNwb25zZSkp
OwotICAgICAgICAgICAgbV9odHRwU3RhdHVzVGV4dCA9IGV4dHJhY3RSZWFzb25QaHJhc2VGcm9t
SFRUUFN0YXR1c0xpbmUoc3RhdHVzTGluZS5nZXQoKSk7Ci0KLSAgICAgICAgICAgIFJldGFpblB0
cjxDRkRpY3Rpb25hcnlSZWY+IGhlYWRlcnMoQWRvcHRDRiwgQ0ZIVFRQTWVzc2FnZUNvcHlBbGxI
ZWFkZXJGaWVsZHMoaHR0cFJlc3BvbnNlKSk7Ci0gICAgICAgICAgICBDRkluZGV4IGhlYWRlckNv
dW50ID0gQ0ZEaWN0aW9uYXJ5R2V0Q291bnQoaGVhZGVycy5nZXQoKSk7Ci0gICAgICAgICAgICBW
ZWN0b3I8Y29uc3Qgdm9pZCosIDEyOD4ga2V5cyhoZWFkZXJDb3VudCk7Ci0gICAgICAgICAgICBW
ZWN0b3I8Y29uc3Qgdm9pZCosIDEyOD4gdmFsdWVzKGhlYWRlckNvdW50KTsKLSAgICAgICAgICAg
IENGRGljdGlvbmFyeUdldEtleXNBbmRWYWx1ZXMoaGVhZGVycy5nZXQoKSwga2V5cy5kYXRhKCks
IHZhbHVlcy5kYXRhKCkpOwotICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBoZWFkZXJD
b3VudDsgKytpKQotICAgICAgICAgICAgICAgIG1faHR0cEhlYWRlckZpZWxkcy5zZXQoKENGU3Ry
aW5nUmVmKWtleXNbaV0sIChDRlN0cmluZ1JlZil2YWx1ZXNbaV0pOwotICAgICAgICB9Ci0gICAg
fQotCi0gICAgbV9pbml0TGV2ZWwgPSBpbml0TGV2ZWw7CisgICAgICAgIFJldGFpblB0cjxDRkRp
Y3Rpb25hcnlSZWY+IGhlYWRlcnMoQWRvcHRDRiwgQ0ZIVFRQTWVzc2FnZUNvcHlBbGxIZWFkZXJG
aWVsZHMoaHR0cFJlc3BvbnNlKSk7CisgICAgICAgIENGSW5kZXggaGVhZGVyQ291bnQgPSBDRkRp
Y3Rpb25hcnlHZXRDb3VudChoZWFkZXJzLmdldCgpKTsKKyAgICAgICAgVmVjdG9yPGNvbnN0IHZv
aWQqLCAxMjg+IGtleXMoaGVhZGVyQ291bnQpOworICAgICAgICBWZWN0b3I8Y29uc3Qgdm9pZCos
IDEyOD4gdmFsdWVzKGhlYWRlckNvdW50KTsKKyAgICAgICAgQ0ZEaWN0aW9uYXJ5R2V0S2V5c0Fu
ZFZhbHVlcyhoZWFkZXJzLmdldCgpLCBrZXlzLmRhdGEoKSwgdmFsdWVzLmRhdGEoKSk7CisgICAg
ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgaGVhZGVyQ291bnQ7ICsraSkKKyAgICAgICAgICAgIG1f
aHR0cEhlYWRlckZpZWxkcy5zZXQoKENGU3RyaW5nUmVmKWtleXNbaV0sIChDRlN0cmluZ1JlZil2
YWx1ZXNbaV0pOworICAgIH0gZWxzZQorICAgICAgICBtX2h0dHBTdGF0dXNDb2RlID0gMDsKIH0K
LSAgICAKKwogYm9vbCBSZXNvdXJjZVJlc3BvbnNlOjpwbGF0Zm9ybUNvbXBhcmUoY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYikKIHsKICAgICByZXR1
cm4gQ0ZFcXVhbChhLmNmVVJMUmVzcG9uc2UoKSwgYi5jZlVSTFJlc3BvbnNlKCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25z
ZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVz
cG9uc2VNYWMubW0KaW5kZXggNzA0NTkyYWMwZjQwODA2NjI3MGFmY2YwM2FiNWU0YjFlOTQ0MTAw
OC4uNThjMzY0MTFkN2I0YzVmN2VlNzNlMjAzY2E3OWI0ZTk2ZTNmM2RkNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3Bv
bnNlTWFjLm1tCkBAIC0zNCw3ICszNCw2IEBACiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRp
b24uaD4KICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQgPGxpbWl0cz4KLSNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIEBpbnRlcmZhY2UgTlNVUkxSZXNwb25zZSAo
Rm91bmRhdGlvblNlY3JldHNXZWJDb3JlS25vd3NBYm91dCkKIC0gKE5TVGltZUludGVydmFsKV9j
YWxjdWxhdGVkRXhwaXJhdGlvbjsKQEAgLTQ2LDExICs0NSw2IEBAIHR5cGVkZWYgaW50IE5TSW50
ZWdlcjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgTlNTdHJpbmcqIGNvbnN0IGNv
bW1vbkhlYWRlckZpZWxkc1tdID0gewotICAgIEAiQWdlIiwgQCJDYWNoZS1Db250cm9sIiwgQCJE
YXRlIiwgQCJFdGFnIiwgQCJFeHBpcmVzIiwgQCJMYXN0LU1vZGlmaWVkIiwgQCJQcmFnbWEiCi19
Owotc3RhdGljIGNvbnN0IGludCBudW1Db21tb25IZWFkZXJGaWVsZHMgPSBzaXplb2YoY29tbW9u
SGVhZGVyRmllbGRzKSAvIHNpemVvZihBdG9taWNTdHJpbmcqKTsKLQogTlNVUkxSZXNwb25zZSAq
UmVzb3VyY2VSZXNwb25zZTo6bnNVUkxSZXNwb25zZSgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX25z
UmVzcG9uc2UgJiYgIW1faXNOdWxsKSB7CkBAIC02Nyw3MiArNjEsNDggQEAgTlNVUkxSZXNwb25z
ZSAqUmVzb3VyY2VSZXNwb25zZTo6bnNVUkxSZXNwb25zZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1f
bnNSZXNwb25zZS5nZXQoKTsKIH0KIAotdm9pZCBSZXNvdXJjZVJlc3BvbnNlOjpwbGF0Zm9ybUxh
enlJbml0KEluaXRMZXZlbCBpbml0TGV2ZWwpCit2b2lkIFJlc291cmNlUmVzcG9uc2U6OnBsYXRm
b3JtTGF6eUluaXQoKQogewotICAgIGlmIChtX2luaXRMZXZlbCA+PSBpbml0TGV2ZWwpCisgICAg
aWYgKG1faXNVcFRvRGF0ZSkKICAgICAgICAgcmV0dXJuOworICAgIG1faXNVcFRvRGF0ZSA9IHRy
dWU7CiAKICAgICBpZiAobV9pc051bGwpIHsKICAgICAgICAgQVNTRVJUKCFtX25zUmVzcG9uc2Up
OwogICAgICAgICByZXR1cm47CiAgICAgfQorICAgIAorICAgIG1fdXJsID0gW21fbnNSZXNwb25z
ZS5nZXQoKSBVUkxdOworICAgIG1fbWltZVR5cGUgPSBbbV9uc1Jlc3BvbnNlLmdldCgpIE1JTUVU
eXBlXTsKKyAgICBtX2V4cGVjdGVkQ29udGVudExlbmd0aCA9IFttX25zUmVzcG9uc2UuZ2V0KCkg
ZXhwZWN0ZWRDb250ZW50TGVuZ3RoXTsKKyAgICBtX3RleHRFbmNvZGluZ05hbWUgPSBbbV9uc1Jl
c3BvbnNlLmdldCgpIHRleHRFbmNvZGluZ05hbWVdOwogCi0gICAgaWYgKG1faW5pdExldmVsIDwg
Q29tbW9uRmllbGRzT25seSAmJiBpbml0TGV2ZWwgPj0gQ29tbW9uRmllbGRzT25seSkgewotICAg
ICAgICBOU0F1dG9yZWxlYXNlUG9vbCogcG9vbCA9IFtbTlNBdXRvcmVsZWFzZVBvb2wgYWxsb2Nd
IGluaXRdOwotCi0gICAgICAgIG1faHR0cEhlYWRlckZpZWxkcy5jbGVhcigpOwotICAgICAgICBt
X3VybCA9IFttX25zUmVzcG9uc2UuZ2V0KCkgVVJMXTsKLSAgICAgICAgbV9taW1lVHlwZSA9IFtt
X25zUmVzcG9uc2UuZ2V0KCkgTUlNRVR5cGVdOwotICAgICAgICBtX2V4cGVjdGVkQ29udGVudExl
bmd0aCA9IFttX25zUmVzcG9uc2UuZ2V0KCkgZXhwZWN0ZWRDb250ZW50TGVuZ3RoXTsKLSAgICAg
ICAgbV90ZXh0RW5jb2RpbmdOYW1lID0gW21fbnNSZXNwb25zZS5nZXQoKSB0ZXh0RW5jb2RpbmdO
YW1lXTsKLQotICAgICAgICAvLyBXb3JrYXJvdW5kIGZvciA8cmRhcjovL3Byb2JsZW0vODc1NzA4
OD4sIGNhbiBiZSByZW1vdmVkIG9uY2UgdGhhdCBpcyBmaXhlZC4KLSAgICAgICAgdW5zaWduZWQg
dGV4dEVuY29kaW5nTmFtZUxlbmd0aCA9IG1fdGV4dEVuY29kaW5nTmFtZS5sZW5ndGgoKTsKLSAg
ICAgICAgaWYgKHRleHRFbmNvZGluZ05hbWVMZW5ndGggPj0gMiAmJiBtX3RleHRFbmNvZGluZ05h
bWVbMFVdID09ICciJyAmJiBtX3RleHRFbmNvZGluZ05hbWVbdGV4dEVuY29kaW5nTmFtZUxlbmd0
aCAtIDFdID09ICciJykKLSAgICAgICAgICAgIG1fdGV4dEVuY29kaW5nTmFtZSA9IG1fdGV4dEVu
Y29kaW5nTmFtZS5zdWJzdHJpbmcoMSwgdGV4dEVuY29kaW5nTmFtZUxlbmd0aCAtIDIpOwotCi0g
ICAgICAgIG1fc3VnZ2VzdGVkRmlsZW5hbWUgPSBbbV9uc1Jlc3BvbnNlLmdldCgpIHN1Z2dlc3Rl
ZEZpbGVuYW1lXTsKLQotICAgICAgICBpZiAoW21fbnNSZXNwb25zZS5nZXQoKSBpc0tpbmRPZkNs
YXNzOltOU0hUVFBVUkxSZXNwb25zZSBjbGFzc11dKSB7Ci0gICAgICAgICAgICBOU0hUVFBVUkxS
ZXNwb25zZSAqaHR0cFJlc3BvbnNlID0gKE5TSFRUUFVSTFJlc3BvbnNlICopbV9uc1Jlc3BvbnNl
LmdldCgpOwotCi0gICAgICAgICAgICBtX2h0dHBTdGF0dXNDb2RlID0gW2h0dHBSZXNwb25zZSBz
dGF0dXNDb2RlXTsKLQotICAgICAgICAgICAgTlNEaWN0aW9uYXJ5ICpoZWFkZXJzID0gW2h0dHBS
ZXNwb25zZSBhbGxIZWFkZXJGaWVsZHNdOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBmb3Ig
KGludCBpID0gMDsgaSA8IG51bUNvbW1vbkhlYWRlckZpZWxkczsgaSsrKSB7Ci0gICAgICAgICAg
ICAgICAgaWYgKE5TU3RyaW5nKiBoZWFkZXJWYWx1ZSA9IFtoZWFkZXJzIG9iamVjdEZvcktleTpj
b21tb25IZWFkZXJGaWVsZHNbaV1dKQotICAgICAgICAgICAgICAgICAgICBtX2h0dHBIZWFkZXJG
aWVsZHMuc2V0KFtjb21tb25IZWFkZXJGaWVsZHNbaV0gVVRGOFN0cmluZ10sIGhlYWRlclZhbHVl
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBtX2h0dHBTdGF0
dXNDb2RlID0gMDsKLSAgICAgICAgCi0gICAgICAgIFtwb29sIGRyYWluXTsKLSAgICB9Ci0KLSAg
ICBpZiAobV9pbml0TGV2ZWwgPCBBbGxGaWVsZHMgJiYgaW5pdExldmVsID49IEFsbEZpZWxkcyAm
JiBbbV9uc1Jlc3BvbnNlLmdldCgpIGlzS2luZE9mQ2xhc3M6W05TSFRUUFVSTFJlc3BvbnNlIGNs
YXNzXV0pIHsKLSAgICAgICAgTlNBdXRvcmVsZWFzZVBvb2wqIHBvb2wgPSBbW05TQXV0b3JlbGVh
c2VQb29sIGFsbG9jXSBpbml0XTsKKyAgICAvLyBXb3JrYXJvdW5kIGZvciA8cmRhcjovL3Byb2Js
ZW0vODc1NzA4OD4sIGNhbiBiZSByZW1vdmVkIG9uY2UgdGhhdCBpcyBmaXhlZC4KKyAgICB1bnNp
Z25lZCB0ZXh0RW5jb2RpbmdOYW1lTGVuZ3RoID0gbV90ZXh0RW5jb2RpbmdOYW1lLmxlbmd0aCgp
OworICAgIGlmICh0ZXh0RW5jb2RpbmdOYW1lTGVuZ3RoID49IDIgJiYgbV90ZXh0RW5jb2RpbmdO
YW1lWzBVXSA9PSAnIicgJiYgbV90ZXh0RW5jb2RpbmdOYW1lW3RleHRFbmNvZGluZ05hbWVMZW5n
dGggLSAxXSA9PSAnIicpCisgICAgICAgIG1fdGV4dEVuY29kaW5nTmFtZSA9IG1fdGV4dEVuY29k
aW5nTmFtZS5zdWJzdHJpbmcoMSwgdGV4dEVuY29kaW5nTmFtZUxlbmd0aCAtIDIpOwogCisgICAg
bV9zdWdnZXN0ZWRGaWxlbmFtZSA9IFttX25zUmVzcG9uc2UuZ2V0KCkgc3VnZ2VzdGVkRmlsZW5h
bWVdOworICAgIAorICAgIGlmIChbbV9uc1Jlc3BvbnNlLmdldCgpIGlzS2luZE9mQ2xhc3M6W05T
SFRUUFVSTFJlc3BvbnNlIGNsYXNzXV0pIHsKICAgICAgICAgTlNIVFRQVVJMUmVzcG9uc2UgKmh0
dHBSZXNwb25zZSA9IChOU0hUVFBVUkxSZXNwb25zZSAqKW1fbnNSZXNwb25zZS5nZXQoKTsKKyAg
ICAgICAgCisgICAgICAgIG1faHR0cFN0YXR1c0NvZGUgPSBbaHR0cFJlc3BvbnNlIHN0YXR1c0Nv
ZGVdOwogCiAgICAgICAgIFJldGFpblB0cjxOU1N0cmluZz4gaHR0cFN0YXR1c0xpbmUoQWRvcHRO
Uywgd2tDb3B5TlNVUkxSZXNwb25zZVN0YXR1c0xpbmUobV9uc1Jlc3BvbnNlLmdldCgpKSk7CiAg
ICAgICAgIGlmIChodHRwU3RhdHVzTGluZSkKICAgICAgICAgICAgIG1faHR0cFN0YXR1c1RleHQg
PSBleHRyYWN0UmVhc29uUGhyYXNlRnJvbUhUVFBTdGF0dXNMaW5lKGh0dHBTdGF0dXNMaW5lLmdl
dCgpKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbV9odHRwU3RhdHVzVGV4dCA9ICJPSyI7
Ci0KKyAgICAgICAgCiAgICAgICAgIE5TRGljdGlvbmFyeSAqaGVhZGVycyA9IFtodHRwUmVzcG9u
c2UgYWxsSGVhZGVyRmllbGRzXTsKICAgICAgICAgTlNFbnVtZXJhdG9yICplID0gW2hlYWRlcnMg
a2V5RW51bWVyYXRvcl07CiAgICAgICAgIHdoaWxlIChOU1N0cmluZyAqbmFtZSA9IFtlIG5leHRP
YmplY3RdKQogICAgICAgICAgICAgbV9odHRwSGVhZGVyRmllbGRzLnNldChuYW1lLCBbaGVhZGVy
cyBvYmplY3RGb3JLZXk6bmFtZV0pOwotICAgICAgICAKLSAgICAgICAgW3Bvb2wgZHJhaW5dOwot
ICAgIH0KLQotICAgIG1faW5pdExldmVsID0gaW5pdExldmVsOworICAgIH0gZWxzZQorICAgICAg
ICBtX2h0dHBTdGF0dXNDb2RlID0gMDsKIH0KIAotICAgIAogYm9vbCBSZXNvdXJjZVJlc3BvbnNl
OjpwbGF0Zm9ybUNvbXBhcmUoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgYikKIHsKICAgICByZXR1cm4gYS5uc1VSTFJlc3BvbnNlKCkgPT0gYi5uc1VS
TFJlc3BvbnNlKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>