<?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>115319</bug_id>
          
          <creation_ts>2013-04-27 19:40:53 -0700</creation_ts>
          <short_desc>[WK2] Threads get stuck in NetworkProcess when canceling loads in WebProcess</short_desc>
          <delta_ts>2013-04-30 12:20:29 -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>WebKit2</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>882279</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-04-27 19:40:53 -0700</bug_when>
    <thetext>WebResourceLoader is not always correct when second-guessing whether to send a response to DidReceiveResponseWithCertificateInfo.

&lt;rdar://problem/13757687&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882280</commentid>
    <comment_count>1</comment_count>
      <attachid>199926</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-04-27 19:49:58 -0700</bug_when>
    <thetext>Created attachment 199926
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882283</commentid>
    <comment_count>2</comment_count>
      <attachid>199926</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-27 20:21:56 -0700</bug_when>
    <thetext>Comment on attachment 199926
proposed fix

Clearing flags on attachment: 199926

Committed r149251: &lt;http://trac.webkit.org/changeset/149251&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882284</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-27 20:21:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882651</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-04-29 09:50:35 -0700</bug_when>
    <thetext>This re-introduced the crashed fixed in https://bugs.webkit.org/show_bug.cgi?id=115061

Also:
&quot;...alrady canceled...&quot; ?  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882688</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-04-29 11:10:52 -0700</bug_when>
    <thetext>Sadly, this means that the bug is much harder to fix - the null check being necessary means that we can&apos;t send messages back.

Re-added the null check in &lt;http://trac.webkit.org/r149298&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883135</commentid>
    <comment_count>6</comment_count>
      <attachid>200126</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-04-30 10:11:48 -0700</bug_when>
    <thetext>Created attachment 200126
Patch v2

This patch was originally written by Alexey, reviewed by me, then tweaked and tested heavily by me... so I&apos;ll give him a chance to review back!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883137</commentid>
    <comment_count>7</comment_count>
      <attachid>200126</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-04-30 10:15:24 -0700</bug_when>
    <thetext>Comment on attachment 200126
Patch v2

View in context: https://bugs.webkit.org/attachment.cgi?id=200126&amp;action=review

&gt; Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp:112
&gt; +    // If m_coreLoader becomse null as a result of the didReceiveResponse callback, we can&apos;t use the send function(). 

Typo: becomse</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883198</commentid>
    <comment_count>8</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-04-30 12:20:29 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/149389</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199926</attachid>
            <date>2013-04-27 19:49:58 -0700</date>
            <delta_ts>2013-04-30 10:11:48 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>ThreadLeak.txt</filename>
            <type>text/plain</type>
            <size>5574</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0OTI1MCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEzLTA0LTI3ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8x
Mzc1NzY4Nz4gVGhyZWFkcyBnZXQgc3R1Y2sgaW4gTmV0d29ya1Byb2Nlc3Mgd2hlbiBjYW5jZWxp
bmcgbG9hZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExNTMxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFdlYlJlc291cmNlTG9hZGVyIHdhcyBzZWNvbmQtZ3Vlc3NpbmcgTmV0d29ya1Byb2Nlc3MgYXMg
dG8gd2hldGhlciBpdCBuZWVkcyBhIHJlc3BvbnNlCisgICAgICAgIHRvIERpZFJlY2VpdmVSZXNw
b25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8sIGFuZCBpdCB3YXMgZ3Vlc3Npbmcgd3JvbmcgaWYgdGhl
IGxvYWQgd2FzCisgICAgICAgIGFscmFkeSBjYW5jZWxlZCBvbiBXZWJQcm9jZXNzIHNpZGUuCisK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZUFz
eW5jKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNl
V2l0aENlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLm1lc3NhZ2VzLmluOgorCiAyMDEzLTA0LTI3ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZ3Jlc3Npb24gdGVzdHMgdGhhdCByZWZlcmVuY2Ug
YSBub24tbG9jYWwgcmVzb3VyY2UgY3Jhc2ggd2l0aCBOZXR3b3JrUHJvY2VzcyBlbmFibGVkCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHAJKHJldmlzaW9uIDE0OTI0NSkKKysrIFNvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE1Miw3ICsxNTIsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJl
CiAgICAgaWYgKEZvcm1EYXRhKiBmb3JtRGF0YSA9IHJlcXVlc3QoKS5odHRwQm9keSgpKQogICAg
ICAgICBmb3JtRGF0YS0+cmVtb3ZlR2VuZXJhdGVkRmlsZXNJZk5lZWRlZCgpOwogCi0gICAgc2Vu
ZEFib3J0aW5nT25GYWlsdXJlKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2
ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhyZXNwb25zZSwgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8ocmVzcG9uc2UpKSk7CisgICAgc2VuZEFib3J0aW5nT25GYWlsdXJlKE1lc3NhZ2VzOjpX
ZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhy
ZXNwb25zZSwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2UpLCBpc0xvYWRpbmdNYWlu
UmVzb3VyY2UoKSkpOwogCiAgICAgaWYgKCFpc0xvYWRpbmdNYWluUmVzb3VyY2UoKSkgewogICAg
ICAgICAvLyBGb3IgbWFpbiByZXNvdXJjZXMsIHRoZSB3ZWIgcHJvY2VzcyBpcyByZXNwb25zaWJs
ZSBmb3Igc2VuZGluZyBiYWNrIGEgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpDb250aW51ZURpZFJl
Y2VpdmVSZXNwb25zZSBtZXNzYWdlLgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCShyZXZpc2lvbiAxNDky
NDUpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05OSw3ICs5OSw3IEBAIHZvaWQgV2ViUmVzb3VyY2VM
b2FkZXI6OmRpZFNlbmREYXRhKHVpbnQKICAgICBtX2NvcmVMb2FkZXItPmRpZFNlbmREYXRhKGJ5
dGVzU2VudCwgdG90YWxCeXRlc1RvQmVTZW50KTsKIH0KIAotdm9pZCBXZWJSZXNvdXJjZUxvYWRl
cjo6ZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmlj
YXRlSW5mbykKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhD
ZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51
ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiB7CiAgICAgTE9HKE5ldHdvcmssICIoV2ViUHJv
Y2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0
ZUluZm8gZm9yICclcycuIFN0YXR1cyAlZC4iLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmluZygp
LnV0ZjgoKS5kYXRhKCksIHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpOwogCkBAIC0xMDksMTAg
KzEwOSw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb24KICAgICBy
ZXNwb25zZUNvcHkuc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNh
dGVDaGFpbigpKTsKICAgICBtX2NvcmVMb2FkZXItPmRpZFJlY2VpdmVSZXNwb25zZShyZXNwb25z
ZUNvcHkpOwogCi0gICAgaWYgKCFtX2NvcmVMb2FkZXIpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGlmIChtX2NvcmVMb2FkZXIgPT0gbV9jb3JlTG9hZGVyLT5kb2N1bWVudExvYWRlcigpLT5tYWlu
UmVzb3VyY2VMb2FkZXIoKSkKKyAgICBpZiAobmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25z
ZU1lc3NhZ2UpCiAgICAgICAgIHNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6
Q29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UoKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCShyZXZp
c2lvbiAxNDkyNDUpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgog
CiAgICAgdm9pZCB3aWxsU2VuZFJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CiAg
ICAgdm9pZCBkaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0
ZXNUb0JlU2VudCk7Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyYpOworICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRl
SW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdl
KTsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2Um
LCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKTsKICAgICB2b2lkIGRpZEZpbmlzaFJlc291cmNl
TG9hZChkb3VibGUgZmluaXNoVGltZSk7CiAgICAgdm9pZCBkaWRGYWlsUmVzb3VyY2VMb2FkKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVz
c2FnZXMuaW4JKHJldmlzaW9uIDE0OTI0NSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAt
MjcsNyArMjcsNyBAQCBtZXNzYWdlcyAtPiBXZWJSZXNvdXJjZUxvYWRlciBMZWdhY3lSZWNlCiAg
ICAgLy8gRklYTUUgKE5ldHdvcmtQcm9jZXNzKTogV2UnbGwgbmVlZCBtdWNoIG1vcmUgZ3JhbnVs
YXJpdHkgZm9yIHJlc3BvbnNlIG1lc3NhZ2VzLgogICAgIFdpbGxTZW5kUmVxdWVzdChXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZWRp
cmVjdFJlc3BvbnNlKQogICAgIERpZFNlbmREYXRhKHVpbnQ2NF90IGJ5dGVzU2VudCwgdWludDY0
X3QgdG90YWxCeXRlc1RvQmVTZW50KQotICAgIERpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZp
Y2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgV2ViS2l0OjpQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8pCisgICAgRGlkUmVjZWl2ZVJlc3Bv
bnNlV2l0aENlcnRpZmljYXRlSW5mbyhXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNl
LCBXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBu
ZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKICAgICBEaWRSZWNlaXZlRGF0
YShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgp
CiAgICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIERpZEZh
aWxSZXNvdXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>200126</attachid>
            <date>2013-04-30 10:11:48 -0700</date>
            <delta_ts>2013-04-30 10:15:24 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>12607</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0ZWI4MzI5Li4wYzVjMDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkg
QEAKKzIwMTMtMDQtMzAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIFtXSzJdIFRocmVhZHMgZ2V0IHN0dWNrIGluIE5ldHdvcmtQcm9jZXNzIHdoZW4gY2FuY2Vs
aW5nIGxvYWRzIGluIFdlYlByb2Nlc3MuCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMzc1NzY4
Nz4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTUzMTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZENsb3NlKTogQ2FsbCBhYm9ydCgp
IG9uIGFsbCBsb2FkZXJzCisgICAgICAgICAgaW5zdGVhZCBvZiBjb25uZWN0aW9uVG9XZWJQcm9j
ZXNzRGlkQ2xvc2UoKQorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6cmVtb3ZlTG9hZElkZW50aWZpZXIpOiBJbnN0ZWFkIG9mIHJlbW92aW5nCisgICAgICAg
ICAgdGhlIGxvYWRlciBmcm9tIHRoZSBzY2hlZHVsZXIsIGNhbGwgYWJvcnQoKSB3aGljaCB3aWxs
IGFsc28gZW5kIHVwIHJlbW92aW5nIGl0LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2No
ZWR1bGFibGVMb2FkZXIuaDogQWRkIGEgdmlydHVhbCBhYm9ydCgpIGNhbGwuCisKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnNlbmRBYm9ydGluZ09uRmFpbHVyZSk6IEFkZGVk
IGEgbWVzc2FnZUZsYWdzIGFyZ3VtZW50IHNvIAorICAgICAgICAgIGNhbGxlcnMgY2FuIHBhc3Mg
RGlzcGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yU3luY1JlcGx5LgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmFib3J0KTogQ29tYmluZWQgImFib3J0SW5Qcm9n
cmVzc0xvYWQiIGFuZCAiY2xlYW51cCIgdG8KKyAgICAgICAgICBiZSBhIGdlbmVyYWwgcHVycG9z
ZSAiY2FuY2VsIgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZFJl
Y2VpdmVCdWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6Ondp
bGxTZW5kUmVxdWVzdEFzeW5jKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9h
ZGVyOjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlQXN5bmMpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5oOgorCisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvU3luY05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OlN5bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmFib3J0KToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9TeW5jTmV0d29ya1Jlc291cmNlTG9hZGVyLmg6CisKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZW1vdmUpOiBSZW1vdmUgYW4gb2Jzb2xl
dGUvaW5jb3JyZWN0IGNvbW1lbnQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2Vi
UmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRlcjo6
ZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyk6IEFkZCBjb21tZW50IHN0cmVz
c2luZworICAgICAgICAgIHRoZSBpbXBvcnRhbmNlIG9mIHRoaXMgbnVsbCBjaGVjayBzbyBpdCdz
IG5vdCByZW1vdmVkIGFnYWluLgorCiAyMDEzLTA0LTI5ICBCcmFkeSBFaWRzb24gIDxiZWlkc29u
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBXZSBzZWUgYXV0aGVudGljYXRpb24g
Y2hhbGxlbmdlIHNoZWV0cyBmb3IgZmF2aWNvbiByZXF1ZXN0cy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcAppbmRleCBkNWE0MmNiLi43MTIzMDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuY3BwCkBAIC05OCwxMSArOTgsMTEgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6ZGlkQ2xvc2UoQ29yZUlQQzo6Q29ubmVjdGlvbiopCiAKICAgICBIYXNoTWFwPFJl
c291cmNlTG9hZElkZW50aWZpZXIsIFJlZlB0cjxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+ID46Oml0
ZXJhdG9yIGVuZCA9IG1fbmV0d29ya1Jlc291cmNlTG9hZGVycy5lbmQoKTsKICAgICBmb3IgKEhh
c2hNYXA8UmVzb3VyY2VMb2FkSWRlbnRpZmllciwgUmVmUHRyPE5ldHdvcmtSZXNvdXJjZUxvYWRl
cj4gPjo6aXRlcmF0b3IgaSA9IG1fbmV0d29ya1Jlc291cmNlTG9hZGVycy5iZWdpbigpOyBpICE9
IGVuZDsgKytpKQotICAgICAgICBpLT52YWx1ZS0+Y29ubmVjdGlvblRvV2ViUHJvY2Vzc0RpZENs
b3NlKCk7CisgICAgICAgIGktPnZhbHVlLT5hYm9ydCgpOwogCiAgICAgSGFzaE1hcDxSZXNvdXJj
ZUxvYWRJZGVudGlmaWVyLCBSZWZQdHI8U3luY05ldHdvcmtSZXNvdXJjZUxvYWRlcj4gPjo6aXRl
cmF0b3Igc3luY0VuZCA9IG1fc3luY05ldHdvcmtSZXNvdXJjZUxvYWRlcnMuZW5kKCk7CiAgICAg
Zm9yIChIYXNoTWFwPFJlc291cmNlTG9hZElkZW50aWZpZXIsIFJlZlB0cjxTeW5jTmV0d29ya1Jl
c291cmNlTG9hZGVyPiA+OjppdGVyYXRvciBpID0gbV9zeW5jTmV0d29ya1Jlc291cmNlTG9hZGVy
cy5iZWdpbigpOyBpICE9IHN5bmNFbmQ7ICsraSkKLSAgICAgICAgaS0+dmFsdWUtPmNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3NEaWRDbG9zZSgpOworICAgICAgICBpLT52YWx1ZS0+YWJvcnQoKTsKIAog
ICAgIE5ldHdvcmtCbG9iUmVnaXN0cnk6OnNoYXJlZCgpLmNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NE
aWRDbG9zZSh0aGlzKTsKIApAQCAtMTM5LDcgKzEzOSw5IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6OnJlbW92ZUxvYWRJZGVudGlmaWVyKFJlc291cmNlTG9hZElkZW50aWZp
ZXIKICAgICBpZiAoIWxvYWRlcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgTmV0d29ya1Byb2Nl
c3M6OnNoYXJlZCgpLm5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS5yZW1vdmVMb2FkZXIo
bG9hZGVyLmdldCgpKTsKKyAgICAvLyBBYm9ydCB0aGUgbG9hZCBub3csIGFzIHRoZSBXZWJQcm9j
ZXNzIHdvbid0IGJlIGFibGUgdG8gcmVzcG9uZCB0byBtZXNzYWdlcyBhbnltb3JlIHdoaWNoIG1p
Z2h0IGxlYWQKKyAgICAvLyB0byBsZWFrZWQgbG9hZGVyIHJlc291cmNlcyAoY29ubmVjdGlvbnMs
IHRocmVhZHMsIGV0YykuCisgICAgbG9hZGVyLT5hYm9ydCgpOwogfQogCiB2b2lkIE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpzZXJ2ZVBlbmRpbmdSZXF1ZXN0cyh1aW50MzJfdCByZXNv
dXJjZUxvYWRQcmlvcml0eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDQ1ZmY3NjkuLmM2NTc2ZGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcApAQCAtMTA4LDQwICsxMDgsMjAgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VM
b2FkZXI6OmNsZWFudXAoKQogICAgIH0KIH0KIAotdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6
OmNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NEaWRDbG9zZSgpCit0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBi
b29sIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c2VuZEFib3J0aW5nT25GYWlsdXJlKGNvbnN0IFUm
IG1lc3NhZ2UsIHVuc2lnbmVkIG1lc3NhZ2VTZW5kRmxhZ3MpCiB7Ci0gICAgQVNTRVJUKGlzTWFp
blRocmVhZCgpKTsKLQotICAgIC8vIElmIHRoaXMgbG9hZGVyIGFscmVhZHkgaGFzIGEgcmVzb3Vy
Y2UgaGFuZGxlIHRoZW4gaXQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyBvbiBhIGJhY2tncm91bmQg
dGhyZWFkLgotICAgIC8vIE9uIHRoYXQgdGhyZWFkIGl0IHdpbGwgbm90aWNlIHRoYXQgaXRzIGNv
bm5lY3Rpb24gdG8gaXRzIFdlYlByb2Nlc3MgaGFzIGJlZW4gaW52YWxpZGF0ZWQgYW5kIGl0IHdp
bGwgImdyYWNlZnVsbHkiIGFib3J0LgotICAgIGlmIChtX2hhbmRsZSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgY2xlYW51cCgpOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBVPiBib29sIE5ldHdv
cmtSZXNvdXJjZUxvYWRlcjo6c2VuZEFib3J0aW5nT25GYWlsdXJlKGNvbnN0IFUmIG1lc3NhZ2Up
Ci17Ci0gICAgYm9vbCByZXN1bHQgPSBzZW5kKG1lc3NhZ2UpOworICAgIGJvb2wgcmVzdWx0ID0g
Y29ubmVjdGlvbigpLT5zZW5kKG1lc3NhZ2UsIGRlc3RpbmF0aW9uSUQoKSwgbWVzc2FnZVNlbmRG
bGFncyk7CiAgICAgaWYgKCFyZXN1bHQpCi0gICAgICAgIGFib3J0SW5Qcm9ncmVzc0xvYWQoKTsK
KyAgICAgICAgYWJvcnQoKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi10ZW1wbGF0ZTx0eXBl
bmFtZSBVPiBib29sIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c2VuZFN5bmNBYm9ydGluZ09uRmFp
bHVyZShjb25zdCBVJiBtZXNzYWdlLCBjb25zdCB0eXBlbmFtZSBVOjpSZXBseSYgcmVwbHkpCit2
b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6YWJvcnQoKQogewotICAgIGJvb2wgcmVzdWx0ID0g
c2VuZFN5bmMobWVzc2FnZSwgcmVwbHkpOwotICAgIGlmICghcmVzdWx0KQotICAgICAgICBhYm9y
dEluUHJvZ3Jlc3NMb2FkKCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotdm9pZCBOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI6OmFib3J0SW5Qcm9ncmVzc0xvYWQoKQotewotICAgIEFTU0VSVChtX2hh
bmRsZSk7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgIG1faGFuZGxlLT5jYW5j
ZWwoKTsKKyAgICBpZiAobV9oYW5kbGUpCisgICAgICAgIG1faGFuZGxlLT5jYW5jZWwoKTsKIAog
ICAgIGNsZWFudXAoKTsKIH0KQEAgLTE4Nyw3ICsxNjcsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlcjo6ZGlkUmVjZWl2ZUJ1ZmZlcihSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBQYXNzUmVm
UHRyPAogICAgIHRyeUdldFNoYXJlYWJsZUhhbmRsZUZyb21TaGFyZWRCdWZmZXIoc2hhcmVhYmxl
UmVzb3VyY2VIYW5kbGUsIGJ1ZmZlci5nZXQoKSk7CiAgICAgaWYgKCFzaGFyZWFibGVSZXNvdXJj
ZUhhbmRsZS5pc051bGwoKSkgewogICAgICAgICAvLyBTaW5jZSB3ZSdyZSBkZWxpdmVyaW5nIHRo
aXMgcmVzb3VyY2UgYnkgb3Vyc2VsdmVzIGFsbCBhdCBvbmNlLCB3ZSdsbCBhYm9ydCB0aGUgcmVz
b3VyY2UgaGFuZGxlIHNpbmNlIHdlIGRvbid0IG5lZWQgYW55bW9yZSBjYWxsYmFja3MgZnJvbSBS
ZXNvdXJjZUhhbmRsZS4KLSAgICAgICAgYWJvcnRJblByb2dyZXNzTG9hZCgpOworICAgICAgICBh
Ym9ydCgpOwogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVj
ZWl2ZVJlc291cmNlKHNoYXJlYWJsZVJlc291cmNlSGFuZGxlLCBjdXJyZW50VGltZSgpKSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC0yMzIsNyArMjEyLDcgQEAgdm9pZCBOZXR3b3JrUmVz
b3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdEFzeW5jKFJlc291cmNlSGFuZGxlKiBoYW5kbGUs
IGNvbnN0IFIKIAogICAgIC8vIFRoaXMgbWVzc2FnZSBpcyBEaXNwYXRjaE1lc3NhZ2VFdmVuV2hl
bldhaXRpbmdGb3JTeW5jUmVwbHkgdG8gYXZvaWQgYSBzaXR1YXRpb24gd2hlcmUgdGhlIE5ldHdv
cmtQcm9jZXNzIGlzIGRlYWRsb2NrZWQgd2FpdGluZyBmb3IgNiBjb25uZWN0aW9ucwogICAgIC8v
IHRvIGNvbXBsZXRlIHdoaWxlIHRoZSBXZWJQcm9jZXNzIGlzIHdhaXRpbmcgZm9yIGEgN3RoIHRv
IGNvbXBsZXRlLgotICAgIGNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUmVzb3VyY2VM
b2FkZXI6OldpbGxTZW5kUmVxdWVzdChyZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKSwgZGVzdGlu
YXRpb25JRCgpLCBDb3JlSVBDOjpEaXNwYXRjaE1lc3NhZ2VFdmVuV2hlbldhaXRpbmdGb3JTeW5j
UmVwbHkpOworICAgIHNlbmRBYm9ydGluZ09uRmFpbHVyZShNZXNzYWdlczo6V2ViUmVzb3VyY2VM
b2FkZXI6OldpbGxTZW5kUmVxdWVzdChyZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKSwgQ29yZUlQ
Qzo6RGlzcGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yU3luY1JlcGx5KTsKIH0KIAogdm9p
ZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0KGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgbmV3UmVxdWVzdCkKQEAgLTMyNSw3ICszMDUsNyBAQCB2b2lkIE5ldHdv
cmtSZXNvdXJjZUxvYWRlcjo6Y2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZUFz
eW5jKFJlc291cmNlSAogCiAgICAgLy8gVGhpcyBtZXNzYWdlIGlzIERpc3BhdGNoTWVzc2FnZUV2
ZW5XaGVuV2FpdGluZ0ZvclN5bmNSZXBseSB0byBhdm9pZCBhIHNpdHVhdGlvbiB3aGVyZSB0aGUg
TmV0d29ya1Byb2Nlc3MgaXMgZGVhZGxvY2tlZAogICAgIC8vIHdhaXRpbmcgZm9yIDYgY29ubmVj
dGlvbnMgdG8gY29tcGxldGUgd2hpbGUgdGhlIFdlYlByb2Nlc3MgaXMgd2FpdGluZyBmb3IgYSA3
dGggdG8gY29tcGxldGUuCi0gICAgY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJSZXNv
dXJjZUxvYWRlcjo6Q2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShwcm90ZWN0
aW9uU3BhY2UpLCBkZXN0aW5hdGlvbklEKCksIENvcmVJUEM6OkRpc3BhdGNoTWVzc2FnZUV2ZW5X
aGVuV2FpdGluZ0ZvclN5bmNSZXBseSk7CisgICAgc2VuZEFib3J0aW5nT25GYWlsdXJlKE1lc3Nh
Z2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6Q2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25T
cGFjZShwcm90ZWN0aW9uU3BhY2UpLCBDb3JlSVBDOjpEaXNwYXRjaE1lc3NhZ2VFdmVuV2hlbldh
aXRpbmdGb3JTeW5jUmVwbHkpOwogfQogCiB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y29u
dGludWVDYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKGJvb2wgcmVzdWx0KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuaAppbmRleCBmOTkwNjhmLi43YjZmZjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaApAQCAtNjMsOCArNjMs
OCBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqIGhhbmRsZSgpIGNvbnN0
IHsgcmV0dXJuIG1faGFuZGxlLmdldCgpOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnQoKSBP
VkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdGlvblRvV2ViUHJvY2Vzc0RpZENsb3Nl
KCkgT1ZFUlJJREU7Ci0gICAgICAgIAorICAgIHZpcnR1YWwgdm9pZCBhYm9ydCgpIE9WRVJSSURF
OworCiAgICAgLy8gUmVzb3VyY2VIYW5kbGVDbGllbnQgbWV0aG9kcwogICAgIHZpcnR1YWwgdm9p
ZCB3aWxsU2VuZFJlcXVlc3RBc3luYyhXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSosIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2Um
IHJlZGlyZWN0UmVzcG9uc2UpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRTZW5kRGF0
YShXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSosIHVuc2lnbmVkIGxvbmcgbG9uZyBieXRlc1NlbnQs
IHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzVG9CZVNlbnQpIE9WRVJSSURFOwpAQCAtMTE2
LDkgKzExNiw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdm9pZCBwbGF0Zm9ybURpZFJlY2VpdmVS
ZXNwb25zZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CiAKLSAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBVPiBib29sIHNlbmRBYm9ydGluZ09uRmFpbHVyZShjb25zdCBVJiBtZXNzYWdl
KTsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBib29sIHNlbmRTeW5jQWJvcnRpbmdPbkZhaWx1
cmUoY29uc3QgVSYgbWVzc2FnZSwgY29uc3QgdHlwZW5hbWUgVTo6UmVwbHkmIHJlcGx5KTsKLSAg
ICB2b2lkIGFib3J0SW5Qcm9ncmVzc0xvYWQoKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBi
b29sIHNlbmRBYm9ydGluZ09uRmFpbHVyZShjb25zdCBVJiBtZXNzYWdlLCB1bnNpZ25lZCBtZXNz
YWdlU2VuZEZsYWdzID0gMCk7CiAKICAgICBSZWZQdHI8UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ+
IG1fbmV0d29ya2luZ0NvbnRleHQ7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlJlc291cmNlSGFuZGxl
PiBtX2hhbmRsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1Nj
aGVkdWxhYmxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9TY2hlZHVs
YWJsZUxvYWRlci5oCmluZGV4IDE4ZTlmYTQuLmI3YzgxNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL1NjaGVkdWxhYmxlTG9hZGVyLmgKKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvU2NoZWR1bGFibGVMb2FkZXIuaApAQCAtNTYsMTAgKzU2LDEw
IEBAIHB1YmxpYzoKICAgICBib29sIGlzTG9hZGluZ01haW5SZXNvdXJjZSgpIGNvbnN0IHsgcmV0
dXJuIG1faXNMb2FkaW5nTWFpblJlc291cmNlOyB9CiAKICAgICBOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyogY29ubmVjdGlvblRvV2ViUHJvY2VzcygpIGNvbnN0IHsgcmV0dXJuIG1fY29u
bmVjdGlvbi5nZXQoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBjb25uZWN0aW9uVG9XZWJQcm9jZXNz
RGlkQ2xvc2UoKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnQoKSA9IDA7Ci0gICAgCisg
ICAgdmlydHVhbCB2b2lkIGFib3J0KCkgPSAwOworCiAgICAgdmlydHVhbCBib29sIGlzU3luY2hy
b25vdXMoKSB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdm9pZCBzZXRIb3N0UmVjb3JkKEhvc3RS
ZWNvcmQqIGhvc3RSZWNvcmQpIHsgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsgbV9ob3N0UmVjb3Jk
ID0gaG9zdFJlY29yZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvU3luY05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9TeW5jTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA1N2I5NTM2Li4wMmIw
NWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9TeW5jTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9T
eW5jTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNzEsMTAgKzcxLDggQEAgdm9pZCBTeW5j
TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydCgpCiAgICAgbV9kZWxheWVkUmVwbHktPnNlbmQo
ZXJyb3IsIHJlc3BvbnNlLCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKCh1aW50OF90KilkYXRhLmRh
dGEoKSwgZGF0YS5zaXplKCkpKTsKIH0KIAotdm9pZCBTeW5jTmV0d29ya1Jlc291cmNlTG9hZGVy
Ojpjb25uZWN0aW9uVG9XZWJQcm9jZXNzRGlkQ2xvc2UoKQordm9pZCBTeW5jTmV0d29ya1Jlc291
cmNlTG9hZGVyOjphYm9ydCgpCiB7Ci0gICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICAK
ICAgICBjbGVhbnVwKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL1N5bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL1N5bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXIuaAppbmRleCBkNmJhZTBmLi5hNjA5
MjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9TeW5jTmV0d29y
a1Jlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvU3lu
Y05ldHdvcmtSZXNvdXJjZUxvYWRlci5oCkBAIC00Miw4ICs0Miw4IEBAIHB1YmxpYzoKICAgICB9
CiAKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnQoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQg
Y29ubmVjdGlvblRvV2ViUHJvY2Vzc0RpZENsb3NlKCkgT1ZFUlJJREU7Ci0gICAgCisgICAgdmly
dHVhbCB2b2lkIGFib3J0KCkgT1ZFUlJJREU7CisKICAgICB2aXJ0dWFsIGJvb2wgaXNTeW5jaHJv
bm91cygpIE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRTY2hlZHVs
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9h
ZFNjaGVkdWxlci5jcHAKaW5kZXggN2EwZjZkZi4uYTUzZjFkYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZFNj
aGVkdWxlci5jcHAKQEAgLTE2OSw4ICsxNjksNiBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFNjaGVk
dWxlcjo6cmVtb3ZlKFJlc291cmNlTG9hZGVyKiByZXNvdXJjZUxvYWRlcikKICAgICBpZiAoIWxv
YWRlcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8gRklYTUUgKE5ldHdvcmtQcm9jZXNzKTog
V2Ugc2hvdWxkIG9ubHkgdGVsbCB0aGUgTmV0d29ya1Byb2Nlc3MgdG8gcmVtb3ZlIGxvYWQgaWRl
bnRpZmllcnMgZm9yIFJlc291cmNlTG9hZGVycyB0aGF0IHdlcmUgbmV2ZXIgc3RhcnRlZC4KLSAg
ICAvLyBJZiBhIHJlc291cmNlIGxvYWQgd2FzIGFjdHVhbGx5IHN0YXJ0ZWQgd2l0aGluIHRoZSBO
ZXR3b3JrUHJvY2VzcyB0aGVuIHRoZSBOZXR3b3JrUHJvY2VzcyBoYW5kbGVzIGNsZWFyaW5nIG91
dCB0aGUgaWRlbnRpZmllci4KICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5uZXR3b3JrQ29ubmVj
dGlvbigpLT5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjpSZW1vdmVMb2FkSWRlbnRpZmllcihpZGVudGlmaWVyKSwgMCk7CiAKICAgICAv
LyBJdCdzIHBvc3NpYmxlIHRoYXQgdGhpcyBXZWJSZXNvdXJjZUxvYWRlciBtaWdodCBiZSBqdXN0
IGFib3V0IHRvIG1lc3NhZ2UgYmFjayB0byB0aGUgTmV0d29ya1Byb2Nlc3MgKGUuZy4gQ29udGlu
dWVXaWxsU2VuZFJlcXVlc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAppbmRleCAwN2FhYjM4Li5mODMwMThiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTEwOSw2ICsxMDksNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVy
OjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVz
cAogICAgIHJlc3BvbnNlQ29weS5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlSW5mby5j
ZXJ0aWZpY2F0ZUNoYWluKCkpOwogICAgIG1fY29yZUxvYWRlci0+ZGlkUmVjZWl2ZVJlc3BvbnNl
KHJlc3BvbnNlQ29weSk7CiAKKyAgICAvLyBJZiBtX2NvcmVMb2FkZXIgYmVjb21zZSBudWxsIGFz
IGEgcmVzdWx0IG9mIHRoZSBkaWRSZWNlaXZlUmVzcG9uc2UgY2FsbGJhY2ssIHdlIGNhbid0IHVz
ZSB0aGUgc2VuZCBmdW5jdGlvbigpLiAKICAgICBpZiAoIW1fY29yZUxvYWRlcikKICAgICAgICAg
cmV0dXJuOwogCg==
</data>
<flag name="review"
          id="221644"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>