<?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>96760</bug_id>
          
          <creation_ts>2012-09-14 05:32:02 -0700</creation_ts>
          <short_desc>REGRESSION(r128566): Assertion failure in http/tests/websocket/tests/hybi/workers/close-code-and-reason.html (Requested by tkent1 on #webkit).</short_desc>
          <delta_ts>2012-09-14 05:34:07 -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>96637</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>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>720624</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-14 05:32:02 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/128566 broke the build:
Assertion failure in http/tests/websocket/tests/hybi/workers/close-code-and-reason.html (Requested by tkent1 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>720627</commentid>
    <comment_count>1</comment_count>
      <attachid>164117</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-14 05:32:40 -0700</bug_when>
    <thetext>Created attachment 164117
ROLLOUT of r128566

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>720628</commentid>
    <comment_count>2</comment_count>
      <attachid>164117</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-14 05:34:03 -0700</bug_when>
    <thetext>Comment on attachment 164117
ROLLOUT of r128566

Clearing flags on attachment: 164117

Committed r128593: &lt;http://trac.webkit.org/changeset/128593&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720629</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-14 05:34:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164117</attachid>
            <date>2012-09-14 05:32:40 -0700</date>
            <delta_ts>2012-09-14 05:34:03 -0700</delta_ts>
            <desc>ROLLOUT of r128566</desc>
            <filename>bug-96760-20120914123904.patch</filename>
            <type>text/plain</type>
            <size>22115</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmUxNzhkYzgyZGU2NDU4
ZGRjNWNlZDZlNzQyMWMzZjI2NzI3ZDRiOC4uYWIyMjQxNGIzYWJmZmI2YmM4ZDNkN2NhM2I1YTQz
NTkyYmFlMzBhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTA5LTE0ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTI4NTY2LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMjg1NjYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk2NzYwCisKKyAgICAgICAgQXNzZXJ0aW9uIGZhaWx1cmUgaW4gaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzCisgICAgICAgIC9jbG9zZS1jb2RlLWFuZC1y
ZWFzb24uaHRtbCAoUmVxdWVzdGVkIGJ5IHRrZW50MSBvbiAjd2Via2l0KS4KKworICAgICAgICAq
IGJpbmRpbmdzL3Y4L0RPTURhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NRGF0YTo6Z2V0
Q3VycmVudFN0b3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY29wZWRQZXJzaXN0ZW50Lmg6
CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpyZXNldElzb2xhdGVkV29ybGRzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5Jc29sYXRlZFdvcmxkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmN1cnJlbnRXb3JsZENvbnRleHQpOgor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4QmluZGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpw
ZXJDb250ZXh0RGF0YUZvckN1cnJlbnRXb3JsZCk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhE
T01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzZXRJc29sYXRlZFdvcmxkRmll
bGQpOgorICAgICAgICAoV2ViQ29yZTo6VjhET01XaW5kb3dTaGVsbDo6ZW50ZXJlZElzb2xhdGVk
V29ybGRDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NV2luZG93U2hlbGw6OmRlc3Ry
b3lJc29sYXRlZFNoZWxsKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
aXNvbGF0ZWRDb250ZXh0V2Vha0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NV2lu
ZG93U2hlbGw6OmRpc3Bvc2VDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NV2luZG93
U2hlbGw6OmluaXRpYWxpemVJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdpbmRv
d1NoZWxsOjpzZXRJc29sYXRlZFdvcmxkU2VjdXJpdHlPcmlnaW4pOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuaDoKKyAgICAgICAgKFY4RE9NV2luZG93U2hlbGwpOgor
ICAgICAgICAoV2ViQ29yZTo6VjhET01XaW5kb3dTaGVsbDo6Z2V0RW50ZXJlZCk6CisgICAgICAg
ICogYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdy
YXBwZXI6OmdldENhY2hlZFdyYXBwZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dvcmxkQ29u
dGV4dEhhbmRsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JsZENvbnRleHRIYW5kbGU6Oldv
cmxkQ29udGV4dEhhbmRsZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1l
bnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNWR0RvY3VtZW50Q3VzdG9t
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VjhYTUxIdHRwUmVxdWVzdDo6Y29uc3RydWN0b3JDYWxsYmFjayk6CisKIDIwMTItMDktMTQgIFZz
ZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogRml4IGZyb250IGVuZCBjbG9zdXJlIGNvbXBpbGF0aW9uIGVycm9ycy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvRE9NRGF0YS5jcHAKaW5kZXggN2NjMjRiYzM4NjFiNmFiMjhkYzQzYTZj
YzQ2ODg3MDk3NDkyMjg0MS4uYWY1MGExZWNhM2FiMjE1ODFhYmQ2NGFhMDBmZjVhZjMzOGNiYjk3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5jcHAKQEAgLTQzLDkgKzQzLDkg
QEAgRE9NRGF0YVN0b3JlJiBET01EYXRhOjpnZXRDdXJyZW50U3RvcmUodjg6Oklzb2xhdGUqIGlz
b2xhdGUpCiAgICAgVjhQZXJJc29sYXRlRGF0YSogZGF0YSA9IFY4UGVySXNvbGF0ZURhdGE6OmN1
cnJlbnQoaXNvbGF0ZSk7CiAgICAgaWYgKFVOTElLRUxZKGRhdGEtPmRvbURhdGFTdG9yZSgpICE9
IDApKQogICAgICAgICByZXR1cm4gKmRhdGEtPmRvbURhdGFTdG9yZSgpOwotICAgIFY4RE9NV2lu
ZG93U2hlbGw6Oklzb2xhdGVkQ29udGV4dERhdGEqIGlzb2xhdGVkRGF0YSA9IFY4RE9NV2luZG93
U2hlbGw6OmVudGVyZWRJc29sYXRlZENvbnRleHREYXRhKCk7Ci0gICAgaWYgKFVOTElLRUxZKCEh
aXNvbGF0ZWREYXRhKSkKLSAgICAgICAgcmV0dXJuICppc29sYXRlZERhdGEtPndvcmxkKCktPmRv
bURhdGFTdG9yZSgpOworICAgIFY4RE9NV2luZG93U2hlbGwqIGNvbnRleHQgPSBWOERPTVdpbmRv
d1NoZWxsOjpnZXRFbnRlcmVkKCk7CisgICAgaWYgKFVOTElLRUxZKGNvbnRleHQgIT0gMCkpCisg
ICAgICAgIHJldHVybiAqY29udGV4dC0+d29ybGQoKS0+ZG9tRGF0YVN0b3JlKCk7CiAgICAgcmV0
dXJuIGRlZmF1bHRTdG9yZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NvcGVkUGVyc2lzdGVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Nv
cGVkUGVyc2lzdGVudC5oCmluZGV4IDhhNjg1Zjk3NGIyYzhkNzY3Y2M1ZDQ5YWM1NzgxOTM1Yzk4
NWFmNGUuLmZjY2Y0YWE1OWI4ODljOWUyMTY2NjkxOGJlNjRmZjY2ZGUwNWUxNDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njb3BlZFBlcnNpc3RlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY29wZWRQZXJzaXN0ZW50LmgKQEAgLTc4LDEzICs3
OCw2IEBAIHB1YmxpYzoKICAgICAgICAgbV9oYW5kbGUuQ2xlYXIoKTsKICAgICB9CiAKLSAgICB2
ODo6UGVyc2lzdGVudDxUPiBsZWFrSGFuZGxlKCkKLSAgICB7Ci0gICAgICAgIHY4OjpQZXJzaXN0
ZW50PFQ+IGhhbmRsZSA9IG1faGFuZGxlOwotICAgICAgICBtX2hhbmRsZS5DbGVhcigpOwotICAg
ICAgICByZXR1cm4gaGFuZGxlOwotICAgIH0KLQogcHJpdmF0ZToKICAgICB2ODo6UGVyc2lzdGVu
dDxUPiBtX2hhbmRsZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dENvbnRyb2xsZXIuY3BwCmluZGV4IGFjYzczMTljMmVhNjgzMWNkMzllZjlhYTI1ZDcyODQ5NWU1
NzU4MzkuLjIxMWJhOTQ3YTE3MjcxZmE2M2QzOTgxN2ZiNjhlYjlkYzA5NGExODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0xNDYs
OCArMTQ2LDcgQEAgdm9pZCBTY3JpcHRDb250cm9sbGVyOjpyZXNldElzb2xhdGVkV29ybGRzKCkK
IHsKICAgICBmb3IgKElzb2xhdGVkV29ybGRNYXA6Oml0ZXJhdG9yIGl0ZXIgPSBtX2lzb2xhdGVk
V29ybGRzLmJlZ2luKCk7CiAgICAgICAgICBpdGVyICE9IG1faXNvbGF0ZWRXb3JsZHMuZW5kKCk7
ICsraXRlcikgewotICAgICAgICBpdGVyLT5zZWNvbmQtPmNsZWFySXNvbGF0ZWRTaGVsbCgpOwot
ICAgICAgICBkZWxldGUgaXRlci0+c2Vjb25kOworICAgICAgICBpdGVyLT5zZWNvbmQtPmRlc3Ry
b3lJc29sYXRlZFNoZWxsKCk7CiAgICAgfQogICAgIG1faXNvbGF0ZWRXb3JsZHMuY2xlYXIoKTsK
ICAgICBtX2lzb2xhdGVkV29ybGRTZWN1cml0eU9yaWdpbnMuY2xlYXIoKTsKQEAgLTM5MCwxMiAr
Mzg5LDExIEBAIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbklzb2xhdGVkV29ybGQo
aW50IHdvcmxkSUQsIGNvbnN0IFZlY3RvcjxTY3JpcHRTCiAgICAgICAgICAgICByZXN1bHRBcnJh
eS0+U2V0KGksIGV2YWx1YXRpb25SZXN1bHQpOwogICAgICAgICB9CiAKLSAgICAgICAgLy8gRGVz
dHJveSB0ZW1wb3Jhcnkgd29ybGQuCisgICAgICAgIC8vIE1hcmsgdGVtcG9yYXJ5IHNoZWxsIGZv
ciB3ZWFrIGRlc3RydWN0aW9uLgogICAgICAgICBpZiAod29ybGRJRCA9PSBET01XcmFwcGVyV29y
bGQ6OnVuaW5pdGlhbGl6ZWRXb3JsZElkKSB7CiAgICAgICAgICAgICBpbnQgYWN0dWFsV29ybGRJ
ZCA9IGlzb2xhdGVkV29ybGRTaGVsbC0+d29ybGQoKS0+d29ybGRJZCgpOwogICAgICAgICAgICAg
bV9pc29sYXRlZFdvcmxkcy5yZW1vdmUoYWN0dWFsV29ybGRJZCk7Ci0gICAgICAgICAgICBpc29s
YXRlZFdvcmxkU2hlbGwtPmNsZWFySXNvbGF0ZWRTaGVsbCgpOwotICAgICAgICAgICAgZGVsZXRl
IGlzb2xhdGVkV29ybGRTaGVsbDsKKyAgICAgICAgICAgIGlzb2xhdGVkV29ybGRTaGVsbC0+ZGVz
dHJveUlzb2xhdGVkU2hlbGwoKTsKICAgICAgICAgfQogCiAgICAgICAgIHY4UmVzdWx0cyA9IGV2
YWx1YXRlSGFuZGxlU2NvcGUuQ2xvc2UocmVzdWx0QXJyYXkpOwpAQCAtNDMwLDExICs0MjgsMTEg
QEAgdm9pZCBTY3JpcHRDb250cm9sbGVyOjpmaW5pc2hlZFdpdGhFdmVudChFdmVudCogZXZlbnQp
CiAKIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gU2NyaXB0Q29udHJvbGxlcjo6Y3VycmVudFdvcmxk
Q29udGV4dCgpCiB7Ci0gICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBpc29sYXRlZENvbnRleHQg
PSBWOERPTVdpbmRvd1NoZWxsOjplbnRlcmVkSXNvbGF0ZWRDb250ZXh0KCk7Ci0gICAgaWYgKFVO
TElLRUxZKCFpc29sYXRlZENvbnRleHQuSXNFbXB0eSgpKSkgewotICAgICAgICBpZiAobV9mcmFt
ZSAhPSB0b0ZyYW1lSWZOb3REZXRhY2hlZChpc29sYXRlZENvbnRleHQpKQorICAgIGlmIChWOERP
TVdpbmRvd1NoZWxsKiBpc29sYXRlZFNoZWxsID0gVjhET01XaW5kb3dTaGVsbDo6Z2V0RW50ZXJl
ZCgpKSB7CisgICAgICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpDb250ZXh0PiBjb250ZXh0ID0gaXNv
bGF0ZWRTaGVsbC0+Y29udGV4dCgpOworICAgICAgICBpZiAoY29udGV4dC5Jc0VtcHR5KCkgfHwg
bV9mcmFtZSAhPSB0b0ZyYW1lSWZOb3REZXRhY2hlZChjb250ZXh0KSkKICAgICAgICAgICAgIHJl
dHVybiB2ODo6TG9jYWw8djg6OkNvbnRleHQ+KCk7Ci0gICAgICAgIHJldHVybiB2ODo6TG9jYWw8
djg6OkNvbnRleHQ+OjpOZXcoaXNvbGF0ZWRDb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIHY4OjpM
b2NhbDx2ODo6Q29udGV4dD46Ok5ldyhjb250ZXh0KTsKICAgICB9CiAgICAgd2luZG93U2hlbGwo
KS0+aW5pdGlhbGl6ZUlmTmVlZGVkKCk7CiAgICAgcmV0dXJuIHY4OjpMb2NhbDx2ODo6Q29udGV4
dD46Ok5ldyh3aW5kb3dTaGVsbCgpLT5jb250ZXh0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4QmluZGluZy5jcHAKaW5kZXggNWEyNWIzZTY4YzI0ODNkOTBjN2ViZWE2OThkOTliMDU3
N2VmODZkNy4uNWM5MDQ2ZmRmNzc0YWZkMzQ3YTI0YmNiNmJhYTZjY2MxY2U4ZmNlZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuY3BwCkBAIC0zMTAsOSArMzEwLDkgQEAg
djg6OkxvY2FsPHY4OjpDb250ZXh0PiB0b1Y4Q29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0LCBjb25zdCBXb3JsZEMKIAogVjhQZXJDb250ZXh0RGF0YSogcGVyQ29udGV4dERh
dGFGb3JDdXJyZW50V29ybGQoRnJhbWUqIGZyYW1lKQogewotICAgIFY4RE9NV2luZG93U2hlbGw6
Oklzb2xhdGVkQ29udGV4dERhdGEqIGlzb2xhdGVkU2hlbGxEYXRhOwotICAgIGlmIChVTkxJS0VM
WSghIShpc29sYXRlZFNoZWxsRGF0YSA9IFY4RE9NV2luZG93U2hlbGw6OmVudGVyZWRJc29sYXRl
ZENvbnRleHREYXRhKCkpKSkKLSAgICAgICAgcmV0dXJuIGlzb2xhdGVkU2hlbGxEYXRhLT5wZXJD
b250ZXh0RGF0YSgpOworICAgIFY4RE9NV2luZG93U2hlbGwqIGlzb2xhdGVkU2hlbGw7CisgICAg
aWYgKFVOTElLRUxZKCEhKGlzb2xhdGVkU2hlbGwgPSBWOERPTVdpbmRvd1NoZWxsOjpnZXRFbnRl
cmVkKCkpKSkKKyAgICAgICAgcmV0dXJuIGlzb2xhdGVkU2hlbGwtPnBlckNvbnRleHREYXRhKCk7
CiAgICAgcmV0dXJuIGZyYW1lLT5zY3JpcHQoKS0+d2luZG93U2hlbGwoKS0+cGVyQ29udGV4dERh
dGEoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01X
aW5kb3dTaGVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1No
ZWxsLmNwcAppbmRleCAxNWViNTJmYTczOTYyMTk3ZjA1MDkwODlkYjI0NDUzYTU0MGY3MDQ1Li45
ZmU2ZDdjZWFiOWVlYThlZDg2ZTRlYWM3YjFiOWE2MDBkNmI3NDUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcApAQCAtMTcxLDE0ICsxNzEs
MTQgQEAgc3RhdGljIHZvaWQgY2hlY2tEb2N1bWVudFdyYXBwZXIodjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiB3cmFwcGVyLCBEb2N1bWVudCogZG9jdW0KICAgICBBU1NFUlQoIWRvY3VtZW50LT5pc0hU
TUxEb2N1bWVudCgpIHx8IChWOERvY3VtZW50Ojp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmpl
Y3Q+OjpDYXN0KHdyYXBwZXItPkdldFByb3RvdHlwZSgpKSkgPT0gZG9jdW1lbnQpKTsKIH0KIAot
c3RhdGljIHZvaWQgc2V0SXNvbGF0ZWRXb3JsZEZpZWxkKFY4RE9NV2luZG93U2hlbGw6Oklzb2xh
dGVkQ29udGV4dERhdGEqIGRhdGEsIHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQpCitz
dGF0aWMgdm9pZCBzZXRJc29sYXRlZFdvcmxkRmllbGQoVjhET01XaW5kb3dTaGVsbCogc2hlbGws
IHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gY29udGV4dCkKIHsKLSAgICB0b0lubmVyR2xvYmFsT2Jq
ZWN0KGNvbnRleHQpLT5TZXRQb2ludGVySW5JbnRlcm5hbEZpZWxkKFY4RE9NV2luZG93OjplbnRl
cmVkSXNvbGF0ZWRXb3JsZEluZGV4LCBkYXRhKTsKKyAgICB0b0lubmVyR2xvYmFsT2JqZWN0KGNv
bnRleHQpLT5TZXRQb2ludGVySW5JbnRlcm5hbEZpZWxkKFY4RE9NV2luZG93OjplbnRlcmVkSXNv
bGF0ZWRXb3JsZEluZGV4LCBzaGVsbCk7CiB9CiAKLVY4RE9NV2luZG93U2hlbGw6Oklzb2xhdGVk
Q29udGV4dERhdGEqIFY4RE9NV2luZG93U2hlbGw6OnRvSXNvbGF0ZWRDb250ZXh0RGF0YSh2ODo6
SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0KQorVjhET01XaW5kb3dTaGVsbCogVjhET01XaW5k
b3dTaGVsbDo6ZW50ZXJlZElzb2xhdGVkV29ybGRDb250ZXh0KCkKIHsKLSAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8SXNvbGF0ZWRDb250ZXh0RGF0YSo+KHRvSW5uZXJHbG9iYWxPYmplY3QoY29udGV4
dCktPkdldFBvaW50ZXJGcm9tSW50ZXJuYWxGaWVsZChWOERPTVdpbmRvdzo6ZW50ZXJlZElzb2xh
dGVkV29ybGRJbmRleCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxWOERPTVdpbmRvd1NoZWxs
Kj4odG9Jbm5lckdsb2JhbE9iamVjdCh2ODo6Q29udGV4dDo6R2V0RW50ZXJlZCgpKS0+R2V0UG9p
bnRlckZyb21JbnRlcm5hbEZpZWxkKFY4RE9NV2luZG93OjplbnRlcmVkSXNvbGF0ZWRXb3JsZElu
ZGV4KSk7CiB9CiAKIHN0YXRpYyB2b2lkIHNldEluamVjdGVkU2NyaXB0Q29udGV4dERlYnVnSWQo
djg6OkhhbmRsZTx2ODo6Q29udGV4dD4gdGFyZ2V0Q29udGV4dCwgaW50IGRlYnVnSWQpCkBAIC0y
MDgsMTQgKzIwOCwyMCBAQCBib29sIFY4RE9NV2luZG93U2hlbGw6OmlzQ29udGV4dEluaXRpYWxp
emVkKCkKICAgICByZXR1cm4gIW1fY29udGV4dC5pc0VtcHR5KCk7CiB9CiAKK3ZvaWQgVjhET01X
aW5kb3dTaGVsbDo6ZGVzdHJveUlzb2xhdGVkU2hlbGwoKQoreworICAgIGRpc3Bvc2VDb250ZXh0
KHRydWUpOworfQorCiBzdGF0aWMgdm9pZCBpc29sYXRlZENvbnRleHRXZWFrQ2FsbGJhY2sodjg6
OlBlcnNpc3RlbnQ8djg6OlZhbHVlPiBvYmplY3QsIHZvaWQqIHBhcmFtZXRlcikKIHsKLSAgICBv
YmplY3QuRGlzcG9zZSgpOwotICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxWOERPTVdpbmRvd1NoZWxs
OjpJc29sYXRlZENvbnRleHREYXRhKj4ocGFyYW1ldGVyKTsKKyAgICAvLyBIYW5kbGUgd2lsbCBi
ZSBkaXNwb3NlZCBpbiBkZWxldGUuCisgICAgZGVsZXRlIHN0YXRpY19jYXN0PFY4RE9NV2luZG93
U2hlbGwqPihwYXJhbWV0ZXIpOwogfQogCi12b2lkIFY4RE9NV2luZG93U2hlbGw6OmRpc3Bvc2VD
b250ZXh0KCkKK3ZvaWQgVjhET01XaW5kb3dTaGVsbDo6ZGlzcG9zZUNvbnRleHQoYm9vbCB3ZWFr
KQogeworICAgIEFTU0VSVCghbV9jb250ZXh0LmdldCgpLklzV2VhaygpKTsKICAgICBtX3BlckNv
bnRleHREYXRhLmNsZWFyKCk7CiAKICAgICBpZiAobV9jb250ZXh0LmlzRW1wdHkoKSkKQEAgLTIy
MywxNCArMjI5LDE0IEBAIHZvaWQgVjhET01XaW5kb3dTaGVsbDo6ZGlzcG9zZUNvbnRleHQoKQog
CiAgICAgbV9mcmFtZS0+bG9hZGVyKCktPmNsaWVudCgpLT53aWxsUmVsZWFzZVNjcmlwdENvbnRl
eHQobV9jb250ZXh0LmdldCgpLCBtX3dvcmxkLT53b3JsZElkKCkpOwogCi0gICAgaWYgKG1faXNv
bGF0ZWRDb250ZXh0RGF0YSkgewotICAgICAgICBBU1NFUlQoIW1fd29ybGQtPmlzTWFpbldvcmxk
KCkpOwotICAgICAgICAvLyBIZXJlIHdlIG11c3QgaW50ZW50aW9uYWxseSBsZWFrIHRoZSBwZXIg
Y29udGV4dCBkYXRhIHBvaW50ZXIgYXMgaXQgZ2V0cyBkZWxldGVkIGluIGlzb2xhdGVkQ29udGV4
dFdlYWtDYWxsYmFjay4KLSAgICAgICAgbV9jb250ZXh0LmxlYWtIYW5kbGUoKS5NYWtlV2Vhayht
X2lzb2xhdGVkQ29udGV4dERhdGEubGVha1B0cigpLCBpc29sYXRlZENvbnRleHRXZWFrQ2FsbGJh
Y2spOwotICAgICAgICAvLyBUaGUgZ2xvYmFsIGhhbmRsZSBrZWVwcyBhIHJlZmVyZW5jZSB0byB0
aGUgY29udGV4dCwgc28gaXQgbXVzdCBiZSByZW1vdmVkLgotICAgICAgICBtX2dsb2JhbC5jbGVh
cigpOwotICAgIH0gZWxzZQorICAgIGlmICghd2VhaykKICAgICAgICAgbV9jb250ZXh0LmNsZWFy
KCk7CisgICAgZWxzZSB7CisgICAgICAgIEFTU0VSVCghbV93b3JsZC0+aXNNYWluV29ybGQoKSk7
CisgICAgICAgIGRlc3Ryb3lHbG9iYWwoKTsKKyAgICAgICAgbV9mcmFtZSA9IDA7CisgICAgICAg
IG1fY29udGV4dC5nZXQoKS5NYWtlV2Vhayh0aGlzLCBpc29sYXRlZENvbnRleHRXZWFrQ2FsbGJh
Y2spOworICAgIH0KIAogICAgIC8vIEl0J3MgbGlrZWx5IHRoYXQgZGlzcG9zaW5nIHRoZSBjb250
ZXh0IGhhcyBjcmVhdGVkIGEgbG90IG9mCiAgICAgLy8gZ2FyYmFnZS4gTm90aWZ5IFY4IGFib3V0
IHRoaXMgc28gaXQnbGwgaGF2ZSBhIGNoYW5jZSBvZiBjbGVhbmluZwpAQCAtMjQ2LDExICsyNTIs
NiBAQCB2b2lkIFY4RE9NV2luZG93U2hlbGw6OmRlc3Ryb3lHbG9iYWwoKQogICAgIG1fZ2xvYmFs
LmNsZWFyKCk7CiB9CiAKLXZvaWQgVjhET01XaW5kb3dTaGVsbDo6Y2xlYXJJc29sYXRlZFNoZWxs
KCkKLXsKLSAgICBkaXNwb3NlQ29udGV4dCgpOwotfQotCiB2b2lkIFY4RE9NV2luZG93U2hlbGw6
OmNsZWFyRm9yQ2xvc2UoKQogewogICAgIGlmIChtX2NvbnRleHQuaXNFbXB0eSgpKQpAQCAtMzQ1
LDIwICszNDYsMTkgQEAgYm9vbCBWOERPTVdpbmRvd1NoZWxsOjppbml0aWFsaXplSWZOZWVkZWQo
KQogICAgICAgICB9CiAgICAgfQogCi0gICAgbV9wZXJDb250ZXh0RGF0YSA9IFY4UGVyQ29udGV4
dERhdGE6OmNyZWF0ZShtX2NvbnRleHQuZ2V0KCkpOwotICAgIGlmICghbV9wZXJDb250ZXh0RGF0
YS0+aW5pdCgpKSB7Ci0gICAgICAgIGRpc3Bvc2VDb250ZXh0KCk7Ci0gICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICB9Ci0KICAgICAvLyBGbGFnIGNvbnRleHQgYXMgaXNvbGF0ZWQuCiAgICAgaWYg
KCFpc01haW5Xb3JsZCkgewogICAgICAgICBWOERPTVdpbmRvd1NoZWxsKiBtYWluV2luZG93ID0g
bV9mcmFtZS0+c2NyaXB0KCktPndpbmRvd1NoZWxsKCk7CiAgICAgICAgIG1haW5XaW5kb3ctPmlu
aXRpYWxpemVJZk5lZWRlZCgpOwogICAgICAgICBpZiAoIW1haW5XaW5kb3ctPmNvbnRleHQoKS5J
c0VtcHR5KCkpCiAgICAgICAgICAgICBzZXRJbmplY3RlZFNjcmlwdENvbnRleHREZWJ1Z0lkKG1f
Y29udGV4dC5nZXQoKSwgbV9mcmFtZS0+c2NyaXB0KCktPmNvbnRleHREZWJ1Z0lkKG1haW5XaW5k
b3ctPmNvbnRleHQoKSkpOwotICAgICAgICBtX2lzb2xhdGVkQ29udGV4dERhdGEgPSBJc29sYXRl
ZENvbnRleHREYXRhOjpjcmVhdGUobV93b3JsZCwgbV9wZXJDb250ZXh0RGF0YS5yZWxlYXNlKCks
IG1faXNvbGF0ZWRXb3JsZFNoZWxsU2VjdXJpdHlPcmlnaW4pOwotICAgICAgICBzZXRJc29sYXRl
ZFdvcmxkRmllbGQobV9pc29sYXRlZENvbnRleHREYXRhLmdldCgpLCBjb250ZXh0KTsKKyAgICAg
ICAgc2V0SXNvbGF0ZWRXb3JsZEZpZWxkKHRoaXMsIGNvbnRleHQpOworICAgIH0KKworICAgIG1f
cGVyQ29udGV4dERhdGEgPSBWOFBlckNvbnRleHREYXRhOjpjcmVhdGUobV9jb250ZXh0LmdldCgp
KTsKKyAgICBpZiAoIW1fcGVyQ29udGV4dERhdGEtPmluaXQoKSkgeworICAgICAgICBkaXNwb3Nl
Q29udGV4dCgpOworICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCiAgICAgaWYgKCFpbnN0
YWxsRE9NV2luZG93KCkpIHsKQEAgLTYxOCw4ICs2MTgsNiBAQCB2b2lkIFY4RE9NV2luZG93U2hl
bGw6OnNldElzb2xhdGVkV29ybGRTZWN1cml0eU9yaWdpbihQYXNzUmVmUHRyPFNlY3VyaXR5T3Jp
Z2luPgogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZUlzb2xhdGVk
Q29udGV4dChtX2ZyYW1lLCBzY3JpcHRTdGF0ZSwgc2VjdXJpdHlPcmlnaW4uZ2V0KCkpOwogICAg
IH0KICAgICBtX2lzb2xhdGVkV29ybGRTaGVsbFNlY3VyaXR5T3JpZ2luID0gc2VjdXJpdHlPcmln
aW47Ci0gICAgaWYgKG1faXNvbGF0ZWRDb250ZXh0RGF0YSkKLSAgICAgICAgbV9pc29sYXRlZENv
bnRleHREYXRhLT5zZXRTZWN1cml0eU9yaWdpbihtX2lzb2xhdGVkV29ybGRTaGVsbFNlY3VyaXR5
T3JpZ2luKTsKIH0KIAogfSAvLyBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOERPTVdpbmRvd1NoZWxsLmgKaW5kZXggYWM4MjA2NGIxOWM1MGRiZDJhNDc1ZWU1Yzc5N2I3
NDM4YWNiZDAwZC4uMDFkMjk4MTdmYzhkMzIxY2IxNGExOGUwODYzOGU0MzIyYWQ2OWRkOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuaApAQCAtNTMs
MzQgKzUzLDYgQEAgY2xhc3MgSFRNTERvY3VtZW50OwogLy8gcGVyc2lzdCBiZXR3ZWVuIG5hdmln
YXRpb25zLgogY2xhc3MgVjhET01XaW5kb3dTaGVsbCB7CiBwdWJsaWM6Ci0KLSAgICAvLyBUaGlz
IGNsYXNzIGhvbGRzIGFsbCB0aGUgZGF0YSB0aGF0IGlzIGFjY2Vzc2libGUgZnJvbSBhIGNvbnRl
eHQgZm9yIGFuIGlzb2xhdGVkIHNoZWxsLgotICAgIC8vIEl0IHN1cnZpdmVzIHVudGlsIHRoZSBj
b250ZXh0IGlzIGRlbGV0ZWQuCi0gICAgY2xhc3MgSXNvbGF0ZWRDb250ZXh0RGF0YSB7Ci0gICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElzb2xhdGVkQ29udGV4dERhdGEpOwotICAgIHB1Ymxp
YzoKLSAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8SXNvbGF0ZWRDb250ZXh0RGF0YT4gY3JlYXRl
KFBhc3NSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiB3b3JsZCwgUGFzc093blB0cjxWOFBlckNvbnRl
eHREYXRhPiBwZXJDb250ZXh0RGF0YSwKLSAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPFNlY3Vy
aXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbikKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBJc29sYXRlZENvbnRleHREYXRhKHdvcmxkLCBwZXJDb250ZXh0RGF0YSwg
c2VjdXJpdHlPcmlnaW4pKTsKLSAgICAgICAgfQotICAgICAgICBET01XcmFwcGVyV29ybGQqIHdv
cmxkKCkgeyByZXR1cm4gbV93b3JsZC5nZXQoKTsgfQotICAgICAgICBWOFBlckNvbnRleHREYXRh
KiBwZXJDb250ZXh0RGF0YSgpIHsgcmV0dXJuIG1fcGVyQ29udGV4dERhdGEuZ2V0KCk7IH0KLSAg
ICAgICAgdm9pZCBzZXRTZWN1cml0eU9yaWdpbihQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBv
cmlnaW4pIHsgbV9zZWN1cml0eU9yaWdpbiA9IG9yaWdpbjsgfQotICAgICAgICBTZWN1cml0eU9y
aWdpbiogc2VjdXJpdHlPcmlnaW4oKSB7IHJldHVybiBtX3NlY3VyaXR5T3JpZ2luLmdldCgpOyB9
Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBJc29sYXRlZENvbnRleHREYXRhKFBhc3NSZWZQdHI8
RE9NV3JhcHBlcldvcmxkPiB3b3JsZCwgUGFzc093blB0cjxWOFBlckNvbnRleHREYXRhPiBwZXJD
b250ZXh0RGF0YSwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4pCi0g
ICAgICAgICAgICA6IG1fd29ybGQod29ybGQpCi0gICAgICAgICAgICAsIG1fcGVyQ29udGV4dERh
dGEocGVyQ29udGV4dERhdGEpCi0gICAgICAgICAgICAsIG1fc2VjdXJpdHlPcmlnaW4oc2VjdXJp
dHlPcmlnaW4pCi0gICAgICAgIHsgfQotCi0gICAgICAgIFJlZlB0cjxET01XcmFwcGVyV29ybGQ+
IG1fd29ybGQ7Ci0gICAgICAgIE93blB0cjxWOFBlckNvbnRleHREYXRhPiBtX3BlckNvbnRleHRE
YXRhOwotICAgICAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IG1fc2VjdXJpdHlPcmlnaW47Ci0g
ICAgfTsKLQogICAgIHN0YXRpYyBQYXNzT3duUHRyPFY4RE9NV2luZG93U2hlbGw+IGNyZWF0ZShG
cmFtZSosIFBhc3NSZWZQdHI8RE9NV3JhcHBlcldvcmxkPik7CiAKICAgICB2ODo6UGVyc2lzdGVu
dDx2ODo6Q29udGV4dD4gY29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGV4dC5nZXQoKTsg
fQpAQCAtMTA0LDcgKzc2LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhckZvck5hdmlnYXRp
b24oKTsKICAgICB2b2lkIGNsZWFyRm9yQ2xvc2UoKTsKLSAgICB2b2lkIGNsZWFySXNvbGF0ZWRT
aGVsbCgpOwogCiAgICAgdm9pZCBkZXN0cm95R2xvYmFsKCk7CiAKQEAgLTExOSwzNiArOTAsMjkg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9pc29sYXRlZFdvcmxkU2hlbGxTZWN1cml0eU9y
aWdpbi5nZXQoKTsKICAgICB9OwogCi0gICAgaW5saW5lIHN0YXRpYyB2ODo6TG9jYWw8djg6OkNv
bnRleHQ+IGVudGVyZWRJc29sYXRlZENvbnRleHQoKQotICAgIHsKLSAgICAgICAgaWYgKExJS0VM
WSghRE9NV3JhcHBlcldvcmxkOjppc29sYXRlZFdvcmxkc0V4aXN0KCkpKQotICAgICAgICAgICAg
cmV0dXJuIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4oKTsKLSAgICAgICAgaWYgKCF2ODo6Q29udGV4
dDo6SW5Db250ZXh0KCkpCi0gICAgICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpDb250ZXh0
PigpOwotICAgICAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQgPSB2ODo6Q29udGV4
dDo6R2V0RW50ZXJlZCgpOwotICAgICAgICBJc29sYXRlZENvbnRleHREYXRhKiBpc29sYXRlZENv
bnRleHREYXRhID0gdG9Jc29sYXRlZENvbnRleHREYXRhKGNvbnRleHQpOwotICAgICAgICBpZiAo
TElLRUxZKCFpc29sYXRlZENvbnRleHREYXRhKSkKLSAgICAgICAgICAgIHJldHVybiB2ODo6TG9j
YWw8djg6OkNvbnRleHQ+KCk7Ci0gICAgICAgIHJldHVybiBjb250ZXh0OwotICAgIH0KLQotICAg
IGlubGluZSBzdGF0aWMgSXNvbGF0ZWRDb250ZXh0RGF0YSogZW50ZXJlZElzb2xhdGVkQ29udGV4
dERhdGEoKQorICAgIC8vIFJldHVybnMgdGhlIGlzb2xhdGVkIHdvcmxkIGFzc29jaWF0ZWQgd2l0
aAorICAgIC8vIHY4OjpDb250ZXh0OjpHZXRFbnRlcmVkKCkuIEJlY2F1c2Ugd29ybGRzIGFyZSBp
c29sYXRlZCwgdGhlIGVudGlyZQorICAgIC8vIEphdmFTY3JpcHQgY2FsbCBzdGFjayBzaG91bGQg
YmUgZnJvbSB0aGUgc2FtZSBpc29sYXRlZCB3b3JsZC4KKyAgICAvLyBSZXR1cm5zIDAgaWYgdGhl
IGVudGVyZWQgY29udGV4dCBpcyBmcm9tIHRoZSBtYWluIHdvcmxkLgorICAgIC8vCisgICAgLy8g
RklYTUU6IENvbnNpZGVyIGVkZ2UgY2FzZXMgd2l0aCBET00gbXV0YXRpb24gZXZlbnRzIHRoYXQg
bWlnaHQKKyAgICAvLyB2aW9sYXRlIHRoaXMgaW52YXJpYW50LgorICAgIC8vCisgICAgLy8gRklY
TUU6IFRoaXMgaXMgcG9vcmx5IG5hbWVkIGFmdGVyIHRoZSBkZWxldGlvbiBvZiBpc29sYXRlZCBj
b250ZXh0cy4KKyAgICBzdGF0aWMgVjhET01XaW5kb3dTaGVsbCogZ2V0RW50ZXJlZCgpCiAgICAg
ewotICAgICAgICBpZiAoTElLRUxZKCFET01XcmFwcGVyV29ybGQ6Omlzb2xhdGVkV29ybGRzRXhp
c3QoKSkpCisgICAgICAgIGlmICghRE9NV3JhcHBlcldvcmxkOjppc29sYXRlZFdvcmxkc0V4aXN0
KCkpCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgaWYgKCF2ODo6Q29udGV4dDo6SW5D
b250ZXh0KCkpCiAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgdjg6OkxvY2FsPHY4OjpD
b250ZXh0PiBjb250ZXh0ID0gdjg6OkNvbnRleHQ6OkdldEVudGVyZWQoKTsKLSAgICAgICAgSXNv
bGF0ZWRDb250ZXh0RGF0YSogaXNvbGF0ZWRDb250ZXh0RGF0YSA9IHRvSXNvbGF0ZWRDb250ZXh0
RGF0YShjb250ZXh0KTsKLSAgICAgICAgaWYgKExJS0VMWSghaXNvbGF0ZWRDb250ZXh0RGF0YSkp
Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgcmV0dXJuIGlzb2xhdGVkQ29udGV4dERh
dGE7CisgICAgICAgIHJldHVybiBlbnRlcmVkSXNvbGF0ZWRXb3JsZENvbnRleHQoKTsKICAgICB9
CiAKKyAgICB2b2lkIGRlc3Ryb3lJc29sYXRlZFNoZWxsKCk7CiBwcml2YXRlOgogICAgIFY4RE9N
V2luZG93U2hlbGwoRnJhbWUqLCBQYXNzUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4pOwogCi0gICAg
dm9pZCBkaXNwb3NlQ29udGV4dCgpOworICAgIHZvaWQgZGlzcG9zZUNvbnRleHQoYm9vbCB3ZWFr
ID0gZmFsc2UpOwogCiAgICAgdm9pZCBzZXRTZWN1cml0eVRva2VuKCk7CiAKQEAgLTE2MiwxMyAr
MTI2LDEyIEBAIHByaXZhdGU6CiAgICAgdm9pZCBjcmVhdGVDb250ZXh0KCk7CiAgICAgYm9vbCBp
bnN0YWxsRE9NV2luZG93KCk7CiAKLSAgICBzdGF0aWMgSXNvbGF0ZWRDb250ZXh0RGF0YSogdG9J
c29sYXRlZENvbnRleHREYXRhKHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+KTsKKyAgICBzdGF0aWMg
VjhET01XaW5kb3dTaGVsbCogZW50ZXJlZElzb2xhdGVkV29ybGRDb250ZXh0KCk7CiAKICAgICBG
cmFtZSogbV9mcmFtZTsKICAgICBSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiBtX3dvcmxkOwogCiAg
ICAgT3duUHRyPFY4UGVyQ29udGV4dERhdGE+IG1fcGVyQ29udGV4dERhdGE7Ci0gICAgT3duUHRy
PElzb2xhdGVkQ29udGV4dERhdGE+IG1faXNvbGF0ZWRDb250ZXh0RGF0YTsKIAogICAgIFNjb3Bl
ZFBlcnNpc3RlbnQ8djg6OkNvbnRleHQ+IG1fY29udGV4dDsKICAgICBTY29wZWRQZXJzaXN0ZW50
PHY4OjpPYmplY3Q+IG1fZ2xvYmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhET01XcmFwcGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdy
YXBwZXIuaAppbmRleCBjNTQ1YTg2M2Q3MjA1MzhjZDNlNGUzYjhkMzZkYzU1OWZjNmZhNzBlLi5h
ZDFiY2FmZDljZTBkY2MxZTFhZDE3YWE2ZWQ2MWZjNTJiZGIwMzEwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaApAQCAtMTE4LDE0ICsxMTgsMTQgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAgICAgICByZXR1cm4gKndyYXBwZXI7CiAgICAg
ICAgICAgICB9CiAKLSAgICAgICAgICAgIFY4RE9NV2luZG93U2hlbGw6Oklzb2xhdGVkQ29udGV4
dERhdGEqIGlzb2xhdGVkRGF0YSA9IFY4RE9NV2luZG93U2hlbGw6OmVudGVyZWRJc29sYXRlZENv
bnRleHREYXRhKCk7Ci0gICAgICAgICAgICBpZiAoTElLRUxZKCFpc29sYXRlZERhdGEpKSB7Cisg
ICAgICAgICAgICBWOERPTVdpbmRvd1NoZWxsKiBjb250ZXh0ID0gVjhET01XaW5kb3dTaGVsbDo6
Z2V0RW50ZXJlZCgpOworICAgICAgICAgICAgaWYgKExJS0VMWSghY29udGV4dCkpIHsKICAgICAg
ICAgICAgICAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Piogd3JhcHBlciA9IG5vZGUtPndy
YXBwZXIoKTsKICAgICAgICAgICAgICAgICBpZiAoIXdyYXBwZXIpCiAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KCk7CiAgICAgICAgICAgICAgICAgcmV0
dXJuICp3cmFwcGVyOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgRE9NRGF0YVN0b3JlKiBz
dG9yZSA9IGlzb2xhdGVkRGF0YS0+d29ybGQoKS0+ZG9tRGF0YVN0b3JlKCk7CisgICAgICAgICAg
ICBET01EYXRhU3RvcmUqIHN0b3JlID0gY29udGV4dC0+d29ybGQoKS0+ZG9tRGF0YVN0b3JlKCk7
CiAgICAgICAgICAgICBET01Ob2RlTWFwcGluZyYgZG9tTm9kZU1hcCA9IG5vZGUtPmlzQWN0aXZl
Tm9kZSgpID8gc3RvcmUtPmFjdGl2ZURvbU5vZGVNYXAoKSA6IHN0b3JlLT5kb21Ob2RlTWFwKCk7
CiAgICAgICAgICAgICByZXR1cm4gZG9tTm9kZU1hcC5nZXQobm9kZSk7CiAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmxkQ29udGV4dEhhbmRsZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JsZENvbnRleHRIYW5kbGUuY3BwCmlu
ZGV4IDA2OWFjMzYxNTk1ODAxMTMxOTU2MzhiMTVlMDg5MjEwYTRjM2MxMDEuLjE4MDI4MGFiYzFj
MTMzOTM3ZWIxNTQ1MjgzMjA3ZDdlNzBiNWMxZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1dvcmxkQ29udGV4dEhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvV29ybGRDb250ZXh0SGFuZGxlLmNwcApAQCAtNDIsMTMgKzQyLDE0IEBAIFdv
cmxkQ29udGV4dEhhbmRsZTo6V29ybGRDb250ZXh0SGFuZGxlKFdvcmxkVG9Vc2Ugd29ybGRUb1Vz
ZSkKICAgICBpZiAod29ybGRUb1VzZSA9PSBVc2VNYWluV29ybGQpCiAgICAgICAgIHJldHVybjsK
IAotICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gaXNvbGF0ZWRDb250ZXh0ID0gVjhET01XaW5k
b3dTaGVsbDo6ZW50ZXJlZElzb2xhdGVkQ29udGV4dCgpOwotICAgIGlmIChMSUtFTFkoaXNvbGF0
ZWRDb250ZXh0LklzRW1wdHkoKSkpIHsKKyAgICBWOERPTVdpbmRvd1NoZWxsKiBzaGVsbCA9IFY4
RE9NV2luZG93U2hlbGw6OmdldEVudGVyZWQoKTsKKyAgICBpZiAoTElLRUxZKCFzaGVsbCkpIHsK
ICAgICAgICAgbV93b3JsZFRvVXNlID0gVXNlTWFpbldvcmxkOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgbV9jb250ZXh0ID0gU2hhcmVkUGVyc2lzdGVudDx2ODo6Q29udGV4dD46OmNy
ZWF0ZShpc29sYXRlZENvbnRleHQpOworICAgIEFTU0VSVCghc2hlbGwtPmNvbnRleHQoKS5Jc0Vt
cHR5KCkpOworICAgIG1fY29udGV4dCA9IFNoYXJlZFBlcnNpc3RlbnQ8djg6OkNvbnRleHQ+Ojpj
cmVhdGUoc2hlbGwtPmNvbnRleHQoKSk7CiB9CiAKIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gV29y
bGRDb250ZXh0SGFuZGxlOjphZGp1c3RlZENvbnRleHQoU2NyaXB0Q29udHJvbGxlciogc2NyaXB0
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RG9jdW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RG9jdW1lbnRDdXN0b20uY3BwCmluZGV4IGRhNDIzNmM5N2ZkZTRhYmIwNDA3MGQ5ZmJjZTVlNzg2
Y2YzOWIwZmYuLmQ2ODU3YmI5NjY2MDg4OGNlNmVlOTBlYmM3OThiY2E4ZGZkMjNkMzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudEN1
c3RvbS5jcHAKQEAgLTEwOCw3ICsxMDgsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChE
b2N1bWVudCogaW1wbCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvbnRleAogICAg
IHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4RG9jdW1lbnQ6OndyYXAoaW1wbCwg
Y3JlYXRpb25Db250ZXh0LCBpc29sYXRlLCBmb3JjZU5ld09iamVjdCk7CiAgICAgaWYgKHdyYXBw
ZXIuSXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gd3JhcHBlcjsKLSAgICBpZiAoVjhET01XaW5k
b3dTaGVsbDo6ZW50ZXJlZElzb2xhdGVkQ29udGV4dCgpLklzRW1wdHkoKSkgeworICAgIGlmICgh
VjhET01XaW5kb3dTaGVsbDo6Z2V0RW50ZXJlZCgpKSB7CiAgICAgICAgIGlmIChGcmFtZSogZnJh
bWUgPSBpbXBsLT5mcmFtZSgpKQogICAgICAgICAgICAgZnJhbWUtPnNjcmlwdCgpLT53aW5kb3dT
aGVsbCgpLT51cGRhdGVEb2N1bWVudFdyYXBwZXIod3JhcHBlcik7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50Q3VzdG9t
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1
c3RvbS5jcHAKaW5kZXggMGU3YTNhZDEzOGVhZjJiODVkYThkOTdhNWY5M2UxMTU5ZDEwMGQ5Yi4u
ZTUwYTI2MDNlNDQ3YTFmNjM0YzliNmYzYTliY2M4OGE4MjQ4M2FkNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50Q3VzdG9tLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0
b20uY3BwCkBAIC0xODMsNyArMTgzLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSFRN
TERvY3VtZW50KiBpbXBsLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGNyZWF0aW9uQ28KICAgICB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOEhUTUxEb2N1bWVudDo6d3JhcChpbXBs
LCBjcmVhdGlvbkNvbnRleHQsIGlzb2xhdGUsIGZvcmNlTmV3T2JqZWN0KTsKICAgICBpZiAod3Jh
cHBlci5Jc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiB3cmFwcGVyOwotICAgIGlmIChWOERPTVdp
bmRvd1NoZWxsOjplbnRlcmVkSXNvbGF0ZWRDb250ZXh0KCkuSXNFbXB0eSgpKSB7CisgICAgaWYg
KCFWOERPTVdpbmRvd1NoZWxsOjpnZXRFbnRlcmVkKCkpIHsKICAgICAgICAgaWYgKEZyYW1lKiBm
cmFtZSA9IGltcGwtPmZyYW1lKCkpCiAgICAgICAgICAgICBmcmFtZS0+c2NyaXB0KCktPndpbmRv
d1NoZWxsKCktPnVwZGF0ZURvY3VtZW50V3JhcHBlcih3cmFwcGVyKTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdEb2N1bWVudEN1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdEb2N1bWVudEN1
c3RvbS5jcHAKaW5kZXggYmY0N2Q1Zjc0ZDViMDk5MmE5NzhiYzUxNmY3OTQzYzU5YjNkNmFmMS4u
ZGExNjZhN2FmZmYzYjdhYzU5NWEwMjgyYmVlZjk3NTgwZTVjYTgzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHRG9jdW1lbnRDdXN0b20uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNWR0RvY3VtZW50Q3VzdG9t
LmNwcApAQCAtNDUsNyArNDUsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChTVkdEb2N1
bWVudCogaW1wbCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvbgogICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4U1ZHRG9jdW1lbnQ6OndyYXAoaW1wbCwgY3Jl
YXRpb25Db250ZXh0LCBpc29sYXRlLCBmb3JjZU5ld09iamVjdCk7CiAgICAgaWYgKHdyYXBwZXIu
SXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gd3JhcHBlcjsKLSAgICBpZiAoVjhET01XaW5kb3dT
aGVsbDo6ZW50ZXJlZElzb2xhdGVkQ29udGV4dCgpLklzRW1wdHkoKSkgeworICAgIGlmICghVjhE
T01XaW5kb3dTaGVsbDo6Z2V0RW50ZXJlZCgpKSB7CiAgICAgICAgIGlmIChGcmFtZSogZnJhbWUg
PSBpbXBsLT5mcmFtZSgpKQogICAgICAgICAgICAgZnJhbWUtPnNjcmlwdCgpLT53aW5kb3dTaGVs
bCgpLT51cGRhdGVEb2N1bWVudFdyYXBwZXIod3JhcHBlcik7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDb25zdHJ1
Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVx
dWVzdENvbnN0cnVjdG9yLmNwcAppbmRleCBlOTQ4NWY5MWEwNmNjNGFiZWQwZWRhOTY1ZjhlYzZi
YzU3ZjI3YWVlLi4wNTBiN2ZiNGQzODZhNzFmOTdjYmVhNGE5NTllMTJiYWY3YTc3OTNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVz
dENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yLmNwcApAQCAtNTUsOCArNTUsOCBAQCB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhYTUxIdHRwUmVxdWVzdDo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJgogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBn
ZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAKICAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+
IHNlY3VyaXR5T3JpZ2luOwotICAgIGlmIChWOERPTVdpbmRvd1NoZWxsOjpJc29sYXRlZENvbnRl
eHREYXRhKiBpc29sYXRlZENvbnRleHREYXRhID0gVjhET01XaW5kb3dTaGVsbDo6ZW50ZXJlZElz
b2xhdGVkQ29udGV4dERhdGEoKSkKLSAgICAgICAgc2VjdXJpdHlPcmlnaW4gPSBpc29sYXRlZENv
bnRleHREYXRhLT5zZWN1cml0eU9yaWdpbigpOworICAgIGlmIChWOERPTVdpbmRvd1NoZWxsKiBp
c29sYXRlZFdvcmxkU2hlbGwgPSBWOERPTVdpbmRvd1NoZWxsOjpnZXRFbnRlcmVkKCkpCisgICAg
ICAgIHNlY3VyaXR5T3JpZ2luID0gaXNvbGF0ZWRXb3JsZFNoZWxsLT5pc29sYXRlZFdvcmxkU2Vj
dXJpdHlPcmlnaW4oKTsKIAogICAgIFJlZlB0cjxYTUxIdHRwUmVxdWVzdD4geG1sSHR0cFJlcXVl
c3QgPSBYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlKGNvbnRleHQsIHNlY3VyaXR5T3JpZ2luKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>