<?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>187874</bug_id>
          
          <creation_ts>2018-07-20 16:44:00 -0700</creation_ts>
          <short_desc>[Curl] Fix issue that extra cookie is added when redirect happens.</short_desc>
          <delta_ts>2018-08-28 13:51:27 -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>Platform</component>
          <version>WebKit 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="Basuke Suzuki">basuke</reporter>
          <assigned_to name="Basuke Suzuki">basuke</assigned_to>
          <cc>achristensen</cc>
    
    <cc>basuke</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>galpeter</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1443949</commentid>
    <comment_count>0</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-07-20 16:44:00 -0700</bug_when>
    <thetext>The implementation modified original request to add cookie headers. That caused the issues when redirect happens which was shared while redirecting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454026</commentid>
    <comment_count>1</comment_count>
      <attachid>348185</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-08-27 12:18:04 -0700</bug_when>
    <thetext>Created attachment 348185
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454237</commentid>
    <comment_count>2</comment_count>
      <attachid>348185</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-27 17:36:20 -0700</bug_when>
    <thetext>Comment on attachment 348185
PATCH

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

&gt; LayoutTests/http/tests/cookies/multiple-redirect-and-set-cookie.php:3
&gt; + * This is test for https://bugs.webkit.org/show_bug.cgi?id=187874 .

Probably not necessary.  version control can be used for anyone who wants to find this out

&gt; Source/WebCore/platform/network/curl/ResourceHandleCurl.cpp:136
&gt; -Ref&lt;CurlRequest&gt; ResourceHandle::createCurlRequest(ResourceRequest&amp; request, RequestStatus status)
&gt; +Ref&lt;CurlRequest&gt; ResourceHandle::createCurlRequest(ResourceRequest request, RequestStatus status)

This could probably be a ResourceRequest&amp;&amp;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454462</commentid>
    <comment_count>3</comment_count>
      <attachid>348313</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-08-28 11:11:58 -0700</bug_when>
    <thetext>Created attachment 348313
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454464</commentid>
    <comment_count>4</comment_count>
      <attachid>348313</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-08-28 11:13:14 -0700</bug_when>
    <thetext>Comment on attachment 348313
PATCH

Alex, right. Simple copying was a little bit uncomfortable for me. Thanks for that advice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454510</commentid>
    <comment_count>5</comment_count>
      <attachid>348313</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-28 13:02:54 -0700</bug_when>
    <thetext>Comment on attachment 348313
PATCH

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

&gt; Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp:136
&gt; +    return CurlRequest::create(request, *this, CurlRequest::ShouldSuspend::Yes);

This could also probably take a ResourceRequest&amp;&amp;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454514</commentid>
    <comment_count>6</comment_count>
      <attachid>348313</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-08-28 13:23:02 -0700</bug_when>
    <thetext>Comment on attachment 348313
PATCH

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

thanks for r+.

&gt;&gt; Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp:136
&gt;&gt; +    return CurlRequest::create(request, *this, CurlRequest::ShouldSuspend::Yes);
&gt; 
&gt; This could also probably take a ResourceRequest&amp;&amp;

I&apos;ll open other bug for this. I&apos;m taking a look into CurlRequest in detail and researching who gonna deref-ing the instance. If I understand correctly, if the object was deleted in main thread, there&apos;s no need to isolateCopy for the argument&apos;s ResourceRequest even if they referred from worker thread. So by calling deref() from main thread, the need of isolatedCopy() can be removed and we can store moved request directly. Please correct me if something wrong, Alex.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454532</commentid>
    <comment_count>7</comment_count>
      <attachid>348313</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-28 13:50:27 -0700</bug_when>
    <thetext>Comment on attachment 348313
PATCH

Clearing flags on attachment: 348313

Committed r235437: &lt;https://trac.webkit.org/changeset/235437&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454533</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-28 13:50:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454534</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-28 13:51:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/43812677&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348185</attachid>
            <date>2018-08-27 12:18:04 -0700</date>
            <delta_ts>2018-08-28 11:11:58 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>187874.diff</filename>
            <type>text/plain</type>
            <size>10766</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxNzc5ODNmNDk0ZC4uMTdiOThkNzczOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxOC0wOC0yNyAgQmFzdWtlIFN1enVraSAgPEJhc3VrZS5TdXp1a2lAc29ueS5jb20+CisKKyAg
ICAgICAgW0N1cmxdIEZpeCBpc3N1ZSB0aGF0IGV4dHJhIGNvb2tpZSBpcyBhZGRlZCB3aGVuIHJl
ZGlyZWN0IGhhcHBlbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xODc4NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9tdWx0aXBsZS1yZWRpcmVjdC1hbmQtc2V0LWNv
b2tpZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9t
dWx0aXBsZS1yZWRpcmVjdC1hbmQtc2V0LWNvb2tpZS5waHA6IEFkZGVkLgorCiAyMDE4LTA4LTI0
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBsaWJ3ZWJydGMg
UGVlckNvbm5lY3Rpb246OkFkZFRyYWNrIHNvbWV0aW1lcyBmYWlsCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvbXVsdGlwbGUtcmVkaXJlY3QtYW5kLXNldC1jb29r
aWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL211bHRpcGxl
LXJlZGlyZWN0LWFuZC1zZXQtY29va2llLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMC4uY2M4MGIwYmU0ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvbXVsdGlwbGUtcmVkaXJlY3QtYW5kLXNldC1jb29r
aWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK0Nvb2tpZTogNDIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9tdWx0aXBsZS1yZWRpcmVjdC1hbmQtc2V0LWNv
b2tpZS5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvbXVsdGlwbGUtcmVkaXJl
Y3QtYW5kLXNldC1jb29raWUucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwLi41ZWIzZTFjOGZlOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9tdWx0aXBsZS1yZWRpcmVjdC1hbmQtc2V0LWNvb2tpZS5waHAKQEAgLTAsMCAr
MSw3NSBAQAorPD9waHAKKy8qCisgKiBUaGlzIGlzIHRlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODc4NzQgLgorICovCisKKyRleHBpcmUgPSB0aW1lKCkg
KyAzMDsKKyRzdGVwID0gZW1wdHkoJF9HRVRbJ3N0ZXAnXSkgPyAnJyA6ICRfR0VUWydzdGVwJ107
CiskY29va2llX25hbWUgPSBlbXB0eSgkX0dFVFsnY29va2llX25hbWUnXSkgPyBtZDUoX19GSUxF
X18gLiB0aW1lKCkpIDogJF9HRVRbJ2Nvb2tpZV9uYW1lJ107CisKK2lmICghJHN0ZXApIHsKKyAg
ICAvLyBTdGVwIDA6IFNldCBjb29raWUgZm9yIGZvbGxvd2luZyByZXF1ZXN0LgorICAgIHNldGNv
b2tpZSgkY29va2llX25hbWUsICdub3Qgc3VyZSwgYnV0IHNvbWV0aGluZycsICRleHBpcmUpOwor
ICAgIHN0ZXAwKCk7Cit9IGVsc2VpZiAoJHN0ZXAgPT0gMSkgeworICAgIC8vIFN0ZXAgMTogUmVx
dWVzdCBjYXVzZWQgYnkgSlMuIEl0IGlzIHNlbnQgd2l0aCBDb29raWUgaGVhZGVyIHdpdGggdmFs
dWUgb2Ygc3RlcCAwLgorICAgIHNldGNvb2tpZSgkY29va2llX25hbWUsICc0MicsICRleHBpcmUp
OworICAgIHJlZGlyZWN0X3RvX3N0ZXAoMik7Cit9IGVsc2VpZiAoJHN0ZXAgPT0gMikgeworICAg
IC8vIFN0ZXAgMjogUmVkaXJlY3RlZCByZXF1ZXN0IHNob3VsZCBoYXZlIG9ubHkgQ29va2llIGhl
YWRlciB3aXRoIHVwZGF0ZSB2YWx1ZS8KKyAgICBzdGVwMigkX0NPT0tJRVskY29va2llX25hbWVd
KTsKK30gZWxzZSB7CisgICAgZGllKCJFcnJvcjogdW5rbm93biBzdGVwOiB7JHN0ZXB9Iik7Cit9
CisKK2V4aXQoMCk7CisKK2Z1bmN0aW9uIHJlZGlyZWN0X3RvX3N0ZXAoJHN0ZXApIHsKKyAgICBo
ZWFkZXIoIkhUVFAvMS4wIDMwMiBGb3VuZCIpOworICAgIGhlYWRlcignTG9jYXRpb246ICcgLiBy
ZWRpcmVjdF91cmwoJHN0ZXApKTsKK30KKworZnVuY3Rpb24gcmVkaXJlY3RfdXJsKCRzdGVwKSB7
CisgICAgZ2xvYmFsICRjb29raWVfbmFtZTsKKyAgICByZXR1cm4gImh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9jb29raWVzLyIgLiBiYXNlbmFtZShfX0ZJTEVfXykgLiAiP3N0ZXA9eyRzdGVwfSZjb29r
aWVfbmFtZT17JGNvb2tpZV9uYW1lfSI7Cit9CisKK2Z1bmN0aW9uIHN0ZXAwKCkgeworPz4KKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPHNj
cmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorCitmdW5jdGlvbiBnb3Rv
U3RlcDEoKSB7CisgICAgd2luZG93LmxvY2F0aW9uID0gIjw/cGhwIGVjaG8gcmVkaXJlY3RfdXJs
KDEpOyA/PiI7Cit9Cis8L3NjcmlwdD4KKworPGJvZHkgb25sb2FkPSJnb3RvU3RlcDEoKSI+Cis8
L2JvZHk+Cis8L2h0bWw+Cis8P3BocAorfQorCitmdW5jdGlvbiBzdGVwMigkcmVzdWx0KSB7Cis/
PgorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8c2NyaXB0PgorZnVuY3Rpb24gZmluaXNoKCkgeworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9Cis8L3NjcmlwdD4KKworPGJv
ZHkgb25sb2FkPSJmaW5pc2goKSI+CitDb29raWU6IDw/cGhwIGVjaG8gJHJlc3VsdDsgPz4KKzwv
Ym9keT4KKzwvaHRtbD4KKzw/cGhwCit9Cis/PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQxMDY0M2Q5NTM5Li43
NzlmYmI0YTIxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTA4LTI3ICBCYXN1
a2UgU3V6dWtpICA8QmFzdWtlLlN1enVraUBzb255LmNvbT4KKworICAgICAgICBbQ3VybF0gRml4
IGlzc3VlIHRoYXQgZXh0cmEgY29va2llIGlzIGFkZGVkIHdoZW4gcmVkaXJlY3QgaGFwcGVucy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Nzg3NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gaW5p
dGlhbCByZXF1ZXN0IGhhcyBjb29raWUgc2V0IGFuZCByZWRpcmVjdCBoYXBwZW5zLCBpdCBhZGQg
ZXh0cmEgQ29va2llIGhlYWRlciB0byB0aGF0CisgICAgICAgIGFiZCByZXF1ZXN0IHdhcyBicm9r
ZW4uIEp1c3Qgc3RvcCBtb2RpZnlpbmcgdGhlIG9yaWdpbmFsIHJlcXVlc3QgYnkgcGFzc2luZyBh
IHZhbHVlLgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvY29va2llcy9tdWx0aXBsZS1yZWRp
cmVjdC1hbmQtc2V0LWNvb2tpZS5waHAKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VI
YW5kbGVDdXJsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpjcmVhdGVD
dXJsUmVxdWVzdCk6CisKIDIwMTgtMDgtMjQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIGxpYndlYnJ0YyBQZWVyQ29ubmVjdGlvbjo6QWRkVHJhY2sgc29tZXRp
bWVzIGZhaWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGUuaAppbmRleCBmMzYwOWQwZWE2Mi4uYTI4ZjY5MjUyYzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAgLTI1OSw3ICsyNTks
NyBAQCBwcml2YXRlOgogICAgIH07CiAKICAgICB2b2lkIGFkZENhY2hlVmFsaWRhdGlvbkhlYWRl
cnMoUmVzb3VyY2VSZXF1ZXN0Jik7Ci0gICAgUmVmPEN1cmxSZXF1ZXN0PiBjcmVhdGVDdXJsUmVx
dWVzdChSZXNvdXJjZVJlcXVlc3QmLCBSZXF1ZXN0U3RhdHVzID0gUmVxdWVzdFN0YXR1czo6TmV3
UmVxdWVzdCk7CisgICAgUmVmPEN1cmxSZXF1ZXN0PiBjcmVhdGVDdXJsUmVxdWVzdChSZXNvdXJj
ZVJlcXVlc3QsIFJlcXVlc3RTdGF0dXMgPSBSZXF1ZXN0U3RhdHVzOjpOZXdSZXF1ZXN0KTsKIAog
ICAgIGJvb2wgc2hvdWxkUmVkaXJlY3RBc0dFVChjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBib29s
IGNyb3NzT3JpZ2luKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNwcAppbmRleCA2ZTBhNmU0NWJlNS4u
N2FlNjBmNTg0YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3BwCkBAIC0xMzMsNyArMTMzLDcgQEAg
dm9pZCBSZXNvdXJjZUhhbmRsZTo6YWRkQ2FjaGVWYWxpZGF0aW9uSGVhZGVycyhSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QpCiAgICAgfQogfQogCi1SZWY8Q3VybFJlcXVlc3Q+IFJlc291cmNlSGFu
ZGxlOjpjcmVhdGVDdXJsUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlcXVlc3RT
dGF0dXMgc3RhdHVzKQorUmVmPEN1cmxSZXF1ZXN0PiBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlQ3Vy
bFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFJlcXVlc3RTdGF0dXMgc3RhdHVzKQog
ewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjZiODcyMjIyOGEu
LmYwZDE3ODk0MzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTA4LTI3ICBCYXN1
a2UgU3V6dWtpICA8QmFzdWtlLlN1enVraUBzb255LmNvbT4KKworICAgICAgICBbQ3VybF0gRml4
IGlzc3VlIHRoYXQgZXh0cmEgY29va2llIGlzIGFkZGVkIHdoZW4gcmVkaXJlY3QgaGFwcGVucy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Nzg3NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gaW5p
dGlhbCByZXF1ZXN0IGhhcyBjb29raWUgc2V0IGFuZCByZWRpcmVjdCBoYXBwZW5zLCBpdCBhZGQg
ZXh0cmEgQ29va2llIGhlYWRlciB0byB0aGF0CisgICAgICAgIGFiZCByZXF1ZXN0IHdhcyBicm9r
ZW4uIEp1c3Qgc3RvcCBtb2RpZnlpbmcgdGhlIG9yaWdpbmFsIHJlcXVlc3QgYnkgcGFzc2luZyBh
IHZhbHVlLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tD
dXJsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ3VybDo6Y3JlYXRlQ3Vy
bFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDdXJsOjp3aWxsUGVy
Zm9ybUhUVFBSZWRpcmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0N1
cmw6OnJlc3RhcnRXaXRoQ3JlZGVudGlhbCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY3Vy
bC9OZXR3b3JrRGF0YVRhc2tDdXJsLmg6CisKIDIwMTgtMDgtMjQgIEJhc3VrZSBTdXp1a2kgIDxC
YXN1a2UuU3V6dWtpQHNvbnkuY29tPgogCiAgICAgICAgIFtDdXJsXSBNYXRjaCB0aGUgaW50ZXJm
YWNlIHVzZWQgaW4gTmV0d29ya0RhdGFUYXNrIGFuZCBSZXNvdXJjZUhhbmRsZS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tDdXJs
LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tD
dXJsLmNwcAppbmRleCBiMDYyM2UzNzMzZC4uYzkyMzIwNmZjYmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tDdXJsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5j
cHAKQEAgLTEyNiwxNiArMTI2LDE0IEBAIE5ldHdvcmtEYXRhVGFzazo6U3RhdGUgTmV0d29ya0Rh
dGFUYXNrQ3VybDo6c3RhdGUoKSBjb25zdAogICAgIHJldHVybiBtX3N0YXRlOwogfQogCi1SZWY8
Q3VybFJlcXVlc3Q+IE5ldHdvcmtEYXRhVGFza0N1cmw6OmNyZWF0ZUN1cmxSZXF1ZXN0KGNvbnN0
IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVxdWVzdFN0YXR1cyBzdGF0dXMpCitSZWY8Q3Vy
bFJlcXVlc3Q+IE5ldHdvcmtEYXRhVGFza0N1cmw6OmNyZWF0ZUN1cmxSZXF1ZXN0KFJlc291cmNl
UmVxdWVzdCByZXF1ZXN0LCBSZXF1ZXN0U3RhdHVzIHN0YXR1cykKIHsKLSAgICBtX2N1cnJlbnRS
ZXF1ZXN0ID0gcmVxdWVzdDsKLQogICAgIGlmIChzdGF0dXMgPT0gUmVxdWVzdFN0YXR1czo6TmV3
UmVxdWVzdCkKLSAgICAgICAgYXBwZW5kQ29va2llSGVhZGVyKG1fY3VycmVudFJlcXVlc3QpOwor
ICAgICAgICBhcHBlbmRDb29raWVIZWFkZXIocmVxdWVzdCk7CiAKICAgICAvLyBDcmVhdGVzIGEg
Q3VybFJlcXVlc3QgaW4gc3VzcGVuZGVkIHN0YXRlLgogICAgIC8vIFRoZW4sIE5ldHdvcmtEYXRh
VGFza0N1cmw6OnJlc3VtZSgpIHdpbGwgYmUgY2FsbGVkIGFuZCBjb21tdW5pY2F0aW9uIHJlc3Vt
ZXMuCi0gICAgcmV0dXJuIEN1cmxSZXF1ZXN0OjpjcmVhdGUobV9jdXJyZW50UmVxdWVzdCwgKnRo
aXMsIEN1cmxSZXF1ZXN0OjpTaG91bGRTdXNwZW5kOjpZZXMpOworICAgIHJldHVybiBDdXJsUmVx
dWVzdDo6Y3JlYXRlKHJlcXVlc3QsICp0aGlzLCBDdXJsUmVxdWVzdDo6U2hvdWxkU3VzcGVuZDo6
WWVzKTsKIH0KIAogdm9pZCBOZXR3b3JrRGF0YVRhc2tDdXJsOjpjdXJsRGlkU2VuZERhdGEoQ3Vy
bFJlcXVlc3QmLCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxCeXRlc1NlbnQsIHVuc2lnbmVkIGxv
bmcgbG9uZyB0b3RhbEJ5dGVzRXhwZWN0ZWRUb1NlbmQpCkBAIC0yNDMsNyArMjQxLDcgQEAgdm9p
ZCBOZXR3b3JrRGF0YVRhc2tDdXJsOjp3aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlvbigpCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCA9IG1fY3Vy
cmVudFJlcXVlc3Q7CisgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QgPSBtX2ZpcnN0UmVxdWVz
dDsKICAgICBVUkwgcmVkaXJlY3RlZFVSTCA9IFVSTChtX3Jlc3BvbnNlLnVybCgpLCBtX3Jlc3Bv
bnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6TG9jYXRpb24pKTsKICAgICBpZiAo
IXJlZGlyZWN0ZWRVUkwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkgJiYgcmVxdWVzdC51cmwoKS5o
YXNGcmFnbWVudElkZW50aWZpZXIoKSkKICAgICAgICAgcmVkaXJlY3RlZFVSTC5zZXRGcmFnbWVu
dElkZW50aWZpZXIocmVxdWVzdC51cmwoKS5mcmFnbWVudElkZW50aWZpZXIoKSk7CkBAIC0yNTMs
NyArMjUxLDcgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDdXJsOjp3aWxsUGVyZm9ybUhUVFBSZWRp
cmVjdGlvbigpCiAgICAgaWYgKG1fc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRp
cmVjdCAmJiAhcmVxdWVzdC51cmwoKS5wcm90b2NvbElzKCJodHRwcyIpICYmIHByb3RvY29sSXMo
cmVxdWVzdC5odHRwUmVmZXJyZXIoKSwgImh0dHBzIikpCiAgICAgICAgIHJlcXVlc3QuY2xlYXJI
VFRQUmVmZXJyZXIoKTsKIAotICAgIGJvb2wgaXNDcm9zc09yaWdpbiA9ICFwcm90b2NvbEhvc3RB
bmRQb3J0QXJlRXF1YWwobV9jdXJyZW50UmVxdWVzdC51cmwoKSwgcmVxdWVzdC51cmwoKSk7Cisg
ICAgYm9vbCBpc0Nyb3NzT3JpZ2luID0gIXByb3RvY29sSG9zdEFuZFBvcnRBcmVFcXVhbChtX2Zp
cnN0UmVxdWVzdC51cmwoKSwgcmVxdWVzdC51cmwoKSk7CiAgICAgaWYgKCFlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShyZXF1ZXN0Lmh0dHBNZXRob2QoKSwgImdldCIpKSB7CiAgICAgICAg
IC8vIENoYW5nZSByZXF1ZXN0IG1ldGhvZCB0byBHRVQgaWYgY2hhbmdlIHdhcyBtYWRlIGR1cmlu
ZyBhIHByZXZpb3VzIHJlZGlyZWN0aW9uIG9yIGlmIGN1cnJlbnQgcmVkaXJlY3Rpb24gc2F5cyBz
by4KICAgICAgICAgaWYgKCFyZXF1ZXN0LnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSB8
fCBzaG91bGRSZWRpcmVjdEFzR0VUKHJlcXVlc3QsIGlzQ3Jvc3NPcmlnaW4pKSB7CkBAIC0zNjIs
MTIgKzM2MCwxMyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza0N1cmw6OnRyeUh0dHBBdXRoZW50aWNh
dGlvbihBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYmIGNoYWxsZQogCiB2b2lkIE5ldHdvcmtEYXRh
VGFza0N1cmw6OnJlc3RhcnRXaXRoQ3JlZGVudGlhbChjb25zdCBDcmVkZW50aWFsJiBjcmVkZW50
aWFsKQogewotICAgIGlmIChtX2N1cmxSZXF1ZXN0KQotICAgICAgICBtX2N1cmxSZXF1ZXN0LT5j
YW5jZWwoKTsKKyAgICBBU1NFUlQobV9jdXJsUmVxdWVzdCk7CisKKyAgICBhdXRvIHByZXZpb3Vz
UmVxdWVzdCA9IG1fY3VybFJlcXVlc3QtPnJlc291cmNlUmVxdWVzdCgpOworICAgIG1fY3VybFJl
cXVlc3QtPmNhbmNlbCgpOwogCi0gICAgbV9jdXJsUmVxdWVzdCA9IGNyZWF0ZUN1cmxSZXF1ZXN0
KG1fY3VycmVudFJlcXVlc3QsIFJlcXVlc3RTdGF0dXM6OlJldXNlZFJlcXVlc3QpOwotICAgIGlm
ICghY3JlZGVudGlhbC5pc0VtcHR5KCkpCi0gICAgICAgIG1fY3VybFJlcXVlc3QtPnNldFVzZXJQ
YXNzKGNyZWRlbnRpYWwudXNlcigpLCBjcmVkZW50aWFsLnBhc3N3b3JkKCkpOworICAgIG1fY3Vy
bFJlcXVlc3QgPSBjcmVhdGVDdXJsUmVxdWVzdChwcmV2aW91c1JlcXVlc3QsIFJlcXVlc3RTdGF0
dXM6OlJldXNlZFJlcXVlc3QpOworICAgIG1fY3VybFJlcXVlc3QtPnNldFVzZXJQYXNzKGNyZWRl
bnRpYWwudXNlcigpLCBjcmVkZW50aWFsLnBhc3N3b3JkKCkpOwogICAgIG1fY3VybFJlcXVlc3Qt
PnN0YXJ0KCk7CiAKICAgICBpZiAobV9zdGF0ZSAhPSBTdGF0ZTo6U3VzcGVuZGVkKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNr
Q3VybC5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFz
a0N1cmwuaAppbmRleCBkOTU1ZjlhMDgzNi4uZWVjYjM1M2ExNmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tDdXJsLmgKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuaApA
QCAtNjIsNyArNjIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgaW52YWxpZGF0ZUFuZENhbmNlbCgp
IG92ZXJyaWRlOwogICAgIE5ldHdvcmtEYXRhVGFzazo6U3RhdGUgc3RhdGUoKSBjb25zdCBvdmVy
cmlkZTsKIAotICAgIFJlZjxXZWJDb3JlOjpDdXJsUmVxdWVzdD4gY3JlYXRlQ3VybFJlcXVlc3Qo
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgUmVxdWVzdFN0YXR1cyA9IFJlcXVlc3RT
dGF0dXM6Ok5ld1JlcXVlc3QpOworICAgIFJlZjxXZWJDb3JlOjpDdXJsUmVxdWVzdD4gY3JlYXRl
Q3VybFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0LCBSZXF1ZXN0U3RhdHVzID0gUmVx
dWVzdFN0YXR1czo6TmV3UmVxdWVzdCk7CiAgICAgdm9pZCBjdXJsRGlkU2VuZERhdGEoV2ViQ29y
ZTo6Q3VybFJlcXVlc3QmLCB1bnNpZ25lZCBsb25nIGxvbmcsIHVuc2lnbmVkIGxvbmcgbG9uZykg
b3ZlcnJpZGU7CiAgICAgdm9pZCBjdXJsRGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkNvcmU6OkN1cmxS
ZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6Q3VybFJlc3BvbnNlJikgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBjdXJsRGlkUmVjZWl2ZUJ1ZmZlcihXZWJDb3JlOjpDdXJsUmVxdWVzdCYsIFJlZjxXZWJDb3Jl
OjpTaGFyZWRCdWZmZXI+JiYpIG92ZXJyaWRlOwpAQCAtODAsNyArODAsNiBAQCBwcml2YXRlOgog
CiAgICAgU3RhdGUgbV9zdGF0ZSB7IFN0YXRlOjpTdXNwZW5kZWQgfTsKIAotICAgIFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCBtX2N1cnJlbnRSZXF1ZXN0OwogICAgIFJlZlB0cjxXZWJDb3JlOjpD
dXJsUmVxdWVzdD4gbV9jdXJsUmVxdWVzdDsKICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
IG1fcmVzcG9uc2U7CiAgICAgdW5zaWduZWQgbV9yZWRpcmVjdENvdW50IHsgMCB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348313</attachid>
            <date>2018-08-28 11:11:58 -0700</date>
            <delta_ts>2018-08-28 13:50:27 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>187874.diff</filename>
            <type>text/plain</type>
            <size>13993</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxNzc5ODNmNDk0ZC4uMTdiOThkNzczOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxOC0wOC0yNyAgQmFzdWtlIFN1enVraSAgPEJhc3VrZS5TdXp1a2lAc29ueS5jb20+CisKKyAg
ICAgICAgW0N1cmxdIEZpeCBpc3N1ZSB0aGF0IGV4dHJhIGNvb2tpZSBpcyBhZGRlZCB3aGVuIHJl
ZGlyZWN0IGhhcHBlbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xODc4NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9tdWx0aXBsZS1yZWRpcmVjdC1hbmQtc2V0LWNv
b2tpZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9t
dWx0aXBsZS1yZWRpcmVjdC1hbmQtc2V0LWNvb2tpZS5waHA6IEFkZGVkLgorCiAyMDE4LTA4LTI0
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBsaWJ3ZWJydGMg
UGVlckNvbm5lY3Rpb246OkFkZFRyYWNrIHNvbWV0aW1lcyBmYWlsCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvbXVsdGlwbGUtcmVkaXJlY3QtYW5kLXNldC1jb29r
aWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL211bHRpcGxl
LXJlZGlyZWN0LWFuZC1zZXQtY29va2llLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMC4uY2M4MGIwYmU0ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvbXVsdGlwbGUtcmVkaXJlY3QtYW5kLXNldC1jb29r
aWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK0Nvb2tpZTogNDIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9tdWx0aXBsZS1yZWRpcmVjdC1hbmQtc2V0LWNv
b2tpZS5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvbXVsdGlwbGUtcmVkaXJl
Y3QtYW5kLXNldC1jb29raWUucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwLi5mOWYzNGZjMzM3NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9tdWx0aXBsZS1yZWRpcmVjdC1hbmQtc2V0LWNvb2tpZS5waHAKQEAgLTAsMCAr
MSw3MiBAQAorPD9waHAKKworJGV4cGlyZSA9IHRpbWUoKSArIDMwOworJHN0ZXAgPSBlbXB0eSgk
X0dFVFsnc3RlcCddKSA/ICcnIDogJF9HRVRbJ3N0ZXAnXTsKKyRjb29raWVfbmFtZSA9IGVtcHR5
KCRfR0VUWydjb29raWVfbmFtZSddKSA/IG1kNShfX0ZJTEVfXyAuIHRpbWUoKSkgOiAkX0dFVFsn
Y29va2llX25hbWUnXTsKKworaWYgKCEkc3RlcCkgeworICAgIC8vIFN0ZXAgMDogU2V0IGNvb2tp
ZSBmb3IgZm9sbG93aW5nIHJlcXVlc3QuCisgICAgc2V0Y29va2llKCRjb29raWVfbmFtZSwgJ25v
dCBzdXJlLCBidXQgc29tZXRoaW5nJywgJGV4cGlyZSk7CisgICAgc3RlcDAoKTsKK30gZWxzZWlm
ICgkc3RlcCA9PSAxKSB7CisgICAgLy8gU3RlcCAxOiBSZXF1ZXN0IGNhdXNlZCBieSBKUy4gSXQg
aXMgc2VudCB3aXRoIENvb2tpZSBoZWFkZXIgd2l0aCB2YWx1ZSBvZiBzdGVwIDAuCisgICAgc2V0
Y29va2llKCRjb29raWVfbmFtZSwgJzQyJywgJGV4cGlyZSk7CisgICAgcmVkaXJlY3RfdG9fc3Rl
cCgyKTsKK30gZWxzZWlmICgkc3RlcCA9PSAyKSB7CisgICAgLy8gU3RlcCAyOiBSZWRpcmVjdGVk
IHJlcXVlc3Qgc2hvdWxkIGhhdmUgb25seSBDb29raWUgaGVhZGVyIHdpdGggdXBkYXRlIHZhbHVl
LworICAgIHN0ZXAyKCRfQ09PS0lFWyRjb29raWVfbmFtZV0pOworfSBlbHNlIHsKKyAgICBkaWUo
IkVycm9yOiB1bmtub3duIHN0ZXA6IHskc3RlcH0iKTsKK30KKworZXhpdCgwKTsKKworZnVuY3Rp
b24gcmVkaXJlY3RfdG9fc3RlcCgkc3RlcCkgeworICAgIGhlYWRlcigiSFRUUC8xLjAgMzAyIEZv
dW5kIik7CisgICAgaGVhZGVyKCdMb2NhdGlvbjogJyAuIHJlZGlyZWN0X3VybCgkc3RlcCkpOwor
fQorCitmdW5jdGlvbiByZWRpcmVjdF91cmwoJHN0ZXApIHsKKyAgICBnbG9iYWwgJGNvb2tpZV9u
YW1lOworICAgIHJldHVybiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2Nvb2tpZXMvIiAuIGJhc2Vu
YW1lKF9fRklMRV9fKSAuICI/c3RlcD17JHN0ZXB9JmNvb2tpZV9uYW1lPXskY29va2llX25hbWV9
IjsKK30KKworZnVuY3Rpb24gc3RlcDAoKSB7Cis/PgorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7Cit9CisKK2Z1bmN0aW9uIGdvdG9TdGVwMSgpIHsKKyAgICB3aW5kb3cu
bG9jYXRpb24gPSAiPD9waHAgZWNobyByZWRpcmVjdF91cmwoMSk7ID8+IjsKK30KKzwvc2NyaXB0
PgorCis8Ym9keSBvbmxvYWQ9ImdvdG9TdGVwMSgpIj4KKzwvYm9keT4KKzwvaHRtbD4KKzw/cGhw
Cit9CisKK2Z1bmN0aW9uIHN0ZXAyKCRyZXN1bHQpIHsKKz8+Cis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBm
aW5pc2goKSB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKK30KKzwvc2NyaXB0PgorCis8Ym9keSBvbmxvYWQ9ImZpbmlzaCgpIj4K
K0Nvb2tpZTogPD9waHAgZWNobyAkcmVzdWx0OyA/PgorPC9ib2R5PgorPC9odG1sPgorPD9waHAK
K30KKz8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggZDEwNjQzZDk1MzkuLjc3OWZiYjRhMjFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTkgQEAKKzIwMTgtMDgtMjcgIEJhc3VrZSBTdXp1a2kgIDxCYXN1a2UuU3V6
dWtpQHNvbnkuY29tPgorCisgICAgICAgIFtDdXJsXSBGaXggaXNzdWUgdGhhdCBleHRyYSBjb29r
aWUgaXMgYWRkZWQgd2hlbiByZWRpcmVjdCBoYXBwZW5zLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3ODc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBpbml0aWFsIHJlcXVlc3QgaGFzIGNvb2tp
ZSBzZXQgYW5kIHJlZGlyZWN0IGhhcHBlbnMsIGl0IGFkZCBleHRyYSBDb29raWUgaGVhZGVyIHRv
IHRoYXQKKyAgICAgICAgYWJkIHJlcXVlc3Qgd2FzIGJyb2tlbi4gSnVzdCBzdG9wIG1vZGlmeWlu
ZyB0aGUgb3JpZ2luYWwgcmVxdWVzdCBieSBwYXNzaW5nIGEgdmFsdWUuCisKKyAgICAgICAgVGVz
dDogaHR0cC90ZXN0cy9jb29raWVzL211bHRpcGxlLXJlZGlyZWN0LWFuZC1zZXQtY29va2llLnBo
cAorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmNyZWF0ZUN1cmxSZXF1ZXN0KToKKwogMjAxOC0w
OC0yNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgbGlid2Vi
cnRjIFBlZXJDb25uZWN0aW9uOjpBZGRUcmFjayBzb21ldGltZXMgZmFpbApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4IGYzNjA5ZDBl
YTYyLi45MGIwZmRhNTNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZUhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuaApAQCAtMjU5LDcgKzI1OSw3IEBAIHByaXZhdGU6CiAgICAgfTsK
IAogICAgIHZvaWQgYWRkQ2FjaGVWYWxpZGF0aW9uSGVhZGVycyhSZXNvdXJjZVJlcXVlc3QmKTsK
LSAgICBSZWY8Q3VybFJlcXVlc3Q+IGNyZWF0ZUN1cmxSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYs
IFJlcXVlc3RTdGF0dXMgPSBSZXF1ZXN0U3RhdHVzOjpOZXdSZXF1ZXN0KTsKKyAgICBSZWY8Q3Vy
bFJlcXVlc3Q+IGNyZWF0ZUN1cmxSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmLCBSZXF1ZXN0U3Rh
dHVzID0gUmVxdWVzdFN0YXR1czo6TmV3UmVxdWVzdCk7CiAKICAgICBib29sIHNob3VsZFJlZGly
ZWN0QXNHRVQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgYm9vbCBjcm9zc09yaWdpbik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhh
bmRsZUN1cmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291
cmNlSGFuZGxlQ3VybC5jcHAKaW5kZXggNmUwYTZlNDViZTUuLjU1YWE5YjcwOWJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVD
dXJsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3Vy
Y2VIYW5kbGVDdXJsLmNwcApAQCAtNzUsMTMgKzc1LDEzIEBAIGJvb2wgUmVzb3VyY2VIYW5kbGU6
OnN0YXJ0KCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgLy8gT25seSBhbGxvdyB0aGUg
UE9TVCBhbmQgR0VUIG1ldGhvZHMgZm9yIG5vbi1IVFRQIHJlcXVlc3RzLgotICAgIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCA9IGZpcnN0UmVxdWVzdCgpOworICAgIGF1dG8gcmVxdWVz
dCA9IGZpcnN0UmVxdWVzdCgpOwogICAgIGlmICghcmVxdWVzdC51cmwoKS5wcm90b2NvbElzSW5I
VFRQRmFtaWx5KCkgJiYgcmVxdWVzdC5odHRwTWV0aG9kKCkgIT0gIkdFVCIgJiYgcmVxdWVzdC5o
dHRwTWV0aG9kKCkgIT0gIlBPU1QiKSB7CiAgICAgICAgIHNjaGVkdWxlRmFpbHVyZShJbnZhbGlk
VVJMRmFpbHVyZSk7IC8vIEVycm9yIG11c3Qgbm90IGJlIHJlcG9ydGVkIGltbWVkaWF0ZWx5CiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIGQtPm1fY3VybFJlcXVlc3QgPSBjcmVh
dGVDdXJsUmVxdWVzdChkLT5tX2ZpcnN0UmVxdWVzdCk7CisgICAgZC0+bV9jdXJsUmVxdWVzdCA9
IGNyZWF0ZUN1cmxSZXF1ZXN0KFdURk1vdmUocmVxdWVzdCkpOwogCiAgICAgaWYgKGF1dG8gY3Jl
ZGVudGlhbCA9IGdldENyZWRlbnRpYWwoZC0+bV9maXJzdFJlcXVlc3QsIGZhbHNlKSkKICAgICAg
ICAgZC0+bV9jdXJsUmVxdWVzdC0+c2V0VXNlclBhc3MoY3JlZGVudGlhbC0+Zmlyc3QsIGNyZWRl
bnRpYWwtPnNlY29uZCk7CkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6
YWRkQ2FjaGVWYWxpZGF0aW9uSGVhZGVycyhSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiAgICAg
fQogfQogCi1SZWY8Q3VybFJlcXVlc3Q+IFJlc291cmNlSGFuZGxlOjpjcmVhdGVDdXJsUmVxdWVz
dChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlcXVlc3RTdGF0dXMgc3RhdHVzKQorUmVmPEN1
cmxSZXF1ZXN0PiBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlQ3VybFJlcXVlc3QoUmVzb3VyY2VSZXF1
ZXN0JiYgcmVxdWVzdCwgUmVxdWVzdFN0YXR1cyBzdGF0dXMpCiB7CiAgICAgQVNTRVJUKGlzTWFp
blRocmVhZCgpKTsKIApAQCAtMzczLDcgKzM3Myw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnJl
c3RhcnRSZXF1ZXN0V2l0aENyZWRlbnRpYWwoY29uc3QgU3RyaW5nJiB1c2VyLCBjb25zdCBTdHJp
CiAgICAgYXV0byBwcmV2aW91c1JlcXVlc3QgPSBkLT5tX2N1cmxSZXF1ZXN0LT5yZXNvdXJjZVJl
cXVlc3QoKTsKICAgICBkLT5tX2N1cmxSZXF1ZXN0LT5jYW5jZWwoKTsKIAotICAgIGQtPm1fY3Vy
bFJlcXVlc3QgPSBjcmVhdGVDdXJsUmVxdWVzdChwcmV2aW91c1JlcXVlc3QsIFJlcXVlc3RTdGF0
dXM6OlJldXNlZFJlcXVlc3QpOworICAgIGQtPm1fY3VybFJlcXVlc3QgPSBjcmVhdGVDdXJsUmVx
dWVzdChXVEZNb3ZlKHByZXZpb3VzUmVxdWVzdCksIFJlcXVlc3RTdGF0dXM6OlJldXNlZFJlcXVl
c3QpOwogICAgIGQtPm1fY3VybFJlcXVlc3QtPnNldFVzZXJQYXNzKHVzZXIsIHBhc3N3b3JkKTsK
ICAgICBkLT5tX2N1cmxSZXF1ZXN0LT5zdGFydCgpOwogfQpAQCAtMzk1LDcgKzM5NSw3IEBAIHZv
aWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3
b3JraW5nQ29udGV4dCogY29udGV4CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBoYW5k
bGUtPmQtPm1fY3VybFJlcXVlc3QgPSBoYW5kbGUtPmNyZWF0ZUN1cmxSZXF1ZXN0KGxvY2FsUmVx
dWVzdCk7CisgICAgaGFuZGxlLT5kLT5tX2N1cmxSZXF1ZXN0ID0gaGFuZGxlLT5jcmVhdGVDdXJs
UmVxdWVzdChXVEZNb3ZlKGxvY2FsUmVxdWVzdCkpOwogICAgIGhhbmRsZS0+ZC0+bV9jdXJsUmVx
dWVzdC0+c3RhcnQoKTsKIAogICAgIGRvIHsKQEAgLTUwNCwxMyArNTA0LDE0IEBAIHZvaWQgUmVz
b3VyY2VIYW5kbGU6OmNvbnRpbnVlQWZ0ZXJXaWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0
JiYgcmVxdWVzdCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGF1dG8gc2hvdWxkRm9y
d2FyZENyZWRlbnRpYWwgPSBwcm90b2NvbEhvc3RBbmRQb3J0QXJlRXF1YWwocmVxdWVzdC51cmwo
KSwgZGVsZWdhdGUoKS0+cmVzcG9uc2UoKS51cmwoKSk7CisgICAgYXV0byBjcmVkZW50aWFsID0g
Z2V0Q3JlZGVudGlhbChyZXF1ZXN0LCB0cnVlKTsKKwogICAgIGQtPm1fY3VybFJlcXVlc3QtPmNh
bmNlbCgpOwotICAgIGQtPm1fY3VybFJlcXVlc3QgPSBjcmVhdGVDdXJsUmVxdWVzdChyZXF1ZXN0
KTsKKyAgICBkLT5tX2N1cmxSZXF1ZXN0ID0gY3JlYXRlQ3VybFJlcXVlc3QoV1RGTW92ZShyZXF1
ZXN0KSk7CiAKLSAgICBpZiAocHJvdG9jb2xIb3N0QW5kUG9ydEFyZUVxdWFsKHJlcXVlc3QudXJs
KCksIGRlbGVnYXRlKCktPnJlc3BvbnNlKCkudXJsKCkpKSB7Ci0gICAgICAgIGlmIChhdXRvIGNy
ZWRlbnRpYWwgPSBnZXRDcmVkZW50aWFsKHJlcXVlc3QsIHRydWUpKQotICAgICAgICAgICAgZC0+
bV9jdXJsUmVxdWVzdC0+c2V0VXNlclBhc3MoY3JlZGVudGlhbC0+Zmlyc3QsIGNyZWRlbnRpYWwt
PnNlY29uZCk7Ci0gICAgfQorICAgIGlmIChzaG91bGRGb3J3YXJkQ3JlZGVudGlhbCAmJiBjcmVk
ZW50aWFsKQorICAgICAgICBkLT5tX2N1cmxSZXF1ZXN0LT5zZXRVc2VyUGFzcyhjcmVkZW50aWFs
LT5maXJzdCwgY3JlZGVudGlhbC0+c2Vjb25kKTsKIAogICAgIGQtPm1fY3VybFJlcXVlc3QtPnN0
YXJ0KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY2Yjg3MjIyMjhhLi5mMGQxNzg5NDMwYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOSBAQAorMjAxOC0wOC0yNyAgQmFzdWtlIFN1enVraSAgPEJhc3VrZS5TdXp1
a2lAc29ueS5jb20+CisKKyAgICAgICAgW0N1cmxdIEZpeCBpc3N1ZSB0aGF0IGV4dHJhIGNvb2tp
ZSBpcyBhZGRlZCB3aGVuIHJlZGlyZWN0IGhhcHBlbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODc4NzQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGluaXRpYWwgcmVxdWVzdCBoYXMgY29va2ll
IHNldCBhbmQgcmVkaXJlY3QgaGFwcGVucywgaXQgYWRkIGV4dHJhIENvb2tpZSBoZWFkZXIgdG8g
dGhhdAorICAgICAgICBhYmQgcmVxdWVzdCB3YXMgYnJva2VuLiBKdXN0IHN0b3AgbW9kaWZ5aW5n
IHRoZSBvcmlnaW5hbCByZXF1ZXN0IGJ5IHBhc3NpbmcgYSB2YWx1ZS4KKworICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHA6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtEYXRhVGFza0N1cmw6OmNyZWF0ZUN1cmxSZXF1ZXN0KToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0RhdGFUYXNrQ3VybDo6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb24pOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDdXJsOjpyZXN0YXJ0V2l0aENyZWRlbnRp
YWwpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5o
OgorCiAyMDE4LTA4LTI0ICBCYXN1a2UgU3V6dWtpICA8QmFzdWtlLlN1enVraUBzb255LmNvbT4K
IAogICAgICAgICBbQ3VybF0gTWF0Y2ggdGhlIGludGVyZmFjZSB1c2VkIGluIE5ldHdvcmtEYXRh
VGFzayBhbmQgUmVzb3VyY2VIYW5kbGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHAKaW5kZXggYjA2MjNlMzcz
M2QuLjE1Y2JhZWE2OTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuY3BwCkBAIC02MSw3ICs2MSw3IEBAIE5l
dHdvcmtEYXRhVGFza0N1cmw6Ok5ldHdvcmtEYXRhVGFza0N1cmwoTmV0d29ya1Nlc3Npb24mIHNl
c3Npb24sIE5ldHdvcmtEYXRhVGFzCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBtX2N1cmxSZXF1
ZXN0ID0gY3JlYXRlQ3VybFJlcXVlc3QocmVxdWVzdCk7CisgICAgbV9jdXJsUmVxdWVzdCA9IGNy
ZWF0ZUN1cmxSZXF1ZXN0KFdURk1vdmUocmVxdWVzdCkpOwogICAgIGlmICghbV9pbml0aWFsQ3Jl
ZGVudGlhbC5pc0VtcHR5KCkpCiAgICAgICAgIG1fY3VybFJlcXVlc3QtPnNldFVzZXJQYXNzKG1f
aW5pdGlhbENyZWRlbnRpYWwudXNlcigpLCBtX2luaXRpYWxDcmVkZW50aWFsLnBhc3N3b3JkKCkp
OwogICAgIG1fY3VybFJlcXVlc3QtPnN0YXJ0KCk7CkBAIC0xMjYsMTYgKzEyNiwxNCBAQCBOZXR3
b3JrRGF0YVRhc2s6OlN0YXRlIE5ldHdvcmtEYXRhVGFza0N1cmw6OnN0YXRlKCkgY29uc3QKICAg
ICByZXR1cm4gbV9zdGF0ZTsKIH0KIAotUmVmPEN1cmxSZXF1ZXN0PiBOZXR3b3JrRGF0YVRhc2tD
dXJsOjpjcmVhdGVDdXJsUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJl
cXVlc3RTdGF0dXMgc3RhdHVzKQorUmVmPEN1cmxSZXF1ZXN0PiBOZXR3b3JrRGF0YVRhc2tDdXJs
OjpjcmVhdGVDdXJsUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBSZXF1ZXN0U3Rh
dHVzIHN0YXR1cykKIHsKLSAgICBtX2N1cnJlbnRSZXF1ZXN0ID0gcmVxdWVzdDsKLQogICAgIGlm
IChzdGF0dXMgPT0gUmVxdWVzdFN0YXR1czo6TmV3UmVxdWVzdCkKLSAgICAgICAgYXBwZW5kQ29v
a2llSGVhZGVyKG1fY3VycmVudFJlcXVlc3QpOworICAgICAgICBhcHBlbmRDb29raWVIZWFkZXIo
cmVxdWVzdCk7CiAKICAgICAvLyBDcmVhdGVzIGEgQ3VybFJlcXVlc3QgaW4gc3VzcGVuZGVkIHN0
YXRlLgogICAgIC8vIFRoZW4sIE5ldHdvcmtEYXRhVGFza0N1cmw6OnJlc3VtZSgpIHdpbGwgYmUg
Y2FsbGVkIGFuZCBjb21tdW5pY2F0aW9uIHJlc3VtZXMuCi0gICAgcmV0dXJuIEN1cmxSZXF1ZXN0
OjpjcmVhdGUobV9jdXJyZW50UmVxdWVzdCwgKnRoaXMsIEN1cmxSZXF1ZXN0OjpTaG91bGRTdXNw
ZW5kOjpZZXMpOworICAgIHJldHVybiBDdXJsUmVxdWVzdDo6Y3JlYXRlKHJlcXVlc3QsICp0aGlz
LCBDdXJsUmVxdWVzdDo6U2hvdWxkU3VzcGVuZDo6WWVzKTsKIH0KIAogdm9pZCBOZXR3b3JrRGF0
YVRhc2tDdXJsOjpjdXJsRGlkU2VuZERhdGEoQ3VybFJlcXVlc3QmLCB1bnNpZ25lZCBsb25nIGxv
bmcgdG90YWxCeXRlc1NlbnQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzRXhwZWN0ZWRU
b1NlbmQpCkBAIC0yNDMsNyArMjQxLDcgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDdXJsOjp3aWxs
UGVyZm9ybUhUVFBSZWRpcmVjdGlvbigpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCA9IG1fY3VycmVudFJlcXVlc3Q7CisgICAgUmVzb3VyY2VS
ZXF1ZXN0IHJlcXVlc3QgPSBtX2ZpcnN0UmVxdWVzdDsKICAgICBVUkwgcmVkaXJlY3RlZFVSTCA9
IFVSTChtX3Jlc3BvbnNlLnVybCgpLCBtX3Jlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVh
ZGVyTmFtZTo6TG9jYXRpb24pKTsKICAgICBpZiAoIXJlZGlyZWN0ZWRVUkwuaGFzRnJhZ21lbnRJ
ZGVudGlmaWVyKCkgJiYgcmVxdWVzdC51cmwoKS5oYXNGcmFnbWVudElkZW50aWZpZXIoKSkKICAg
ICAgICAgcmVkaXJlY3RlZFVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIocmVxdWVzdC51cmwoKS5m
cmFnbWVudElkZW50aWZpZXIoKSk7CkBAIC0yNTMsNyArMjUxLDcgQEAgdm9pZCBOZXR3b3JrRGF0
YVRhc2tDdXJsOjp3aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlvbigpCiAgICAgaWYgKG1fc2hvdWxk
Q2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCAmJiAhcmVxdWVzdC51cmwoKS5wcm90
b2NvbElzKCJodHRwcyIpICYmIHByb3RvY29sSXMocmVxdWVzdC5odHRwUmVmZXJyZXIoKSwgImh0
dHBzIikpCiAgICAgICAgIHJlcXVlc3QuY2xlYXJIVFRQUmVmZXJyZXIoKTsKIAotICAgIGJvb2wg
aXNDcm9zc09yaWdpbiA9ICFwcm90b2NvbEhvc3RBbmRQb3J0QXJlRXF1YWwobV9jdXJyZW50UmVx
dWVzdC51cmwoKSwgcmVxdWVzdC51cmwoKSk7CisgICAgYm9vbCBpc0Nyb3NzT3JpZ2luID0gIXBy
b3RvY29sSG9zdEFuZFBvcnRBcmVFcXVhbChtX2ZpcnN0UmVxdWVzdC51cmwoKSwgcmVxdWVzdC51
cmwoKSk7CiAgICAgaWYgKCFlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZXF1ZXN0Lmh0
dHBNZXRob2QoKSwgImdldCIpKSB7CiAgICAgICAgIC8vIENoYW5nZSByZXF1ZXN0IG1ldGhvZCB0
byBHRVQgaWYgY2hhbmdlIHdhcyBtYWRlIGR1cmluZyBhIHByZXZpb3VzIHJlZGlyZWN0aW9uIG9y
IGlmIGN1cnJlbnQgcmVkaXJlY3Rpb24gc2F5cyBzby4KICAgICAgICAgaWYgKCFyZXF1ZXN0LnVy
bCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSB8fCBzaG91bGRSZWRpcmVjdEFzR0VUKHJlcXVl
c3QsIGlzQ3Jvc3NPcmlnaW4pKSB7CkBAIC0yOTUsNyArMjkzLDggQEAgdm9pZCBOZXR3b3JrRGF0
YVRhc2tDdXJsOjp3aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlvbigpCiAgICAgICAgIGlmIChtX2N1
cmxSZXF1ZXN0KQogICAgICAgICAgICAgbV9jdXJsUmVxdWVzdC0+Y2FuY2VsKCk7CiAKLSAgICAg
ICAgbV9jdXJsUmVxdWVzdCA9IGNyZWF0ZUN1cmxSZXF1ZXN0KG5ld1JlcXVlc3QpOworICAgICAg
ICBhdXRvIHJlcXVlc3RDb3B5ID0gbmV3UmVxdWVzdDsKKyAgICAgICAgbV9jdXJsUmVxdWVzdCA9
IGNyZWF0ZUN1cmxSZXF1ZXN0KFdURk1vdmUocmVxdWVzdENvcHkpKTsKICAgICAgICAgaWYgKGRp
ZENoYW5nZUNyZWRlbnRpYWwgJiYgIW1faW5pdGlhbENyZWRlbnRpYWwuaXNFbXB0eSgpKQogICAg
ICAgICAgICAgbV9jdXJsUmVxdWVzdC0+c2V0VXNlclBhc3MobV9pbml0aWFsQ3JlZGVudGlhbC51
c2VyKCksIG1faW5pdGlhbENyZWRlbnRpYWwucGFzc3dvcmQoKSk7CiAgICAgICAgIG1fY3VybFJl
cXVlc3QtPnN0YXJ0KCk7CkBAIC0zNjIsMTIgKzM2MSwxMyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFz
a0N1cmw6OnRyeUh0dHBBdXRoZW50aWNhdGlvbihBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYmIGNo
YWxsZQogCiB2b2lkIE5ldHdvcmtEYXRhVGFza0N1cmw6OnJlc3RhcnRXaXRoQ3JlZGVudGlhbChj
b25zdCBDcmVkZW50aWFsJiBjcmVkZW50aWFsKQogewotICAgIGlmIChtX2N1cmxSZXF1ZXN0KQot
ICAgICAgICBtX2N1cmxSZXF1ZXN0LT5jYW5jZWwoKTsKKyAgICBBU1NFUlQobV9jdXJsUmVxdWVz
dCk7CisKKyAgICBhdXRvIHByZXZpb3VzUmVxdWVzdCA9IG1fY3VybFJlcXVlc3QtPnJlc291cmNl
UmVxdWVzdCgpOworICAgIG1fY3VybFJlcXVlc3QtPmNhbmNlbCgpOwogCi0gICAgbV9jdXJsUmVx
dWVzdCA9IGNyZWF0ZUN1cmxSZXF1ZXN0KG1fY3VycmVudFJlcXVlc3QsIFJlcXVlc3RTdGF0dXM6
OlJldXNlZFJlcXVlc3QpOwotICAgIGlmICghY3JlZGVudGlhbC5pc0VtcHR5KCkpCi0gICAgICAg
IG1fY3VybFJlcXVlc3QtPnNldFVzZXJQYXNzKGNyZWRlbnRpYWwudXNlcigpLCBjcmVkZW50aWFs
LnBhc3N3b3JkKCkpOworICAgIG1fY3VybFJlcXVlc3QgPSBjcmVhdGVDdXJsUmVxdWVzdChXVEZN
b3ZlKHByZXZpb3VzUmVxdWVzdCksIFJlcXVlc3RTdGF0dXM6OlJldXNlZFJlcXVlc3QpOworICAg
IG1fY3VybFJlcXVlc3QtPnNldFVzZXJQYXNzKGNyZWRlbnRpYWwudXNlcigpLCBjcmVkZW50aWFs
LnBhc3N3b3JkKCkpOwogICAgIG1fY3VybFJlcXVlc3QtPnN0YXJ0KCk7CiAKICAgICBpZiAobV9z
dGF0ZSAhPSBTdGF0ZTo6U3VzcGVuZGVkKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5oIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuaAppbmRleCBkOTU1ZjlhMDgz
Ni4uMmE1MjFlZjk1ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y3VybC9OZXR3b3JrRGF0YVRhc2tDdXJsLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuaApAQCAtNjIsNyArNjIsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgaW52YWxpZGF0ZUFuZENhbmNlbCgpIG92ZXJyaWRlOwogICAgIE5ldHdvcmtE
YXRhVGFzazo6U3RhdGUgc3RhdGUoKSBjb25zdCBvdmVycmlkZTsKIAotICAgIFJlZjxXZWJDb3Jl
OjpDdXJsUmVxdWVzdD4gY3JlYXRlQ3VybFJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiwgUmVxdWVzdFN0YXR1cyA9IFJlcXVlc3RTdGF0dXM6Ok5ld1JlcXVlc3QpOworICAg
IFJlZjxXZWJDb3JlOjpDdXJsUmVxdWVzdD4gY3JlYXRlQ3VybFJlcXVlc3QoV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiYsIFJlcXVlc3RTdGF0dXMgPSBSZXF1ZXN0U3RhdHVzOjpOZXdSZXF1ZXN0
KTsKICAgICB2b2lkIGN1cmxEaWRTZW5kRGF0YShXZWJDb3JlOjpDdXJsUmVxdWVzdCYsIHVuc2ln
bmVkIGxvbmcgbG9uZywgdW5zaWduZWQgbG9uZyBsb25nKSBvdmVycmlkZTsKICAgICB2b2lkIGN1
cmxEaWRSZWNlaXZlUmVzcG9uc2UoV2ViQ29yZTo6Q3VybFJlcXVlc3QmLCBjb25zdCBXZWJDb3Jl
OjpDdXJsUmVzcG9uc2UmKSBvdmVycmlkZTsKICAgICB2b2lkIGN1cmxEaWRSZWNlaXZlQnVmZmVy
KFdlYkNvcmU6OkN1cmxSZXF1ZXN0JiwgUmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJikgb3Zl
cnJpZGU7CkBAIC04MCw3ICs4MCw2IEBAIHByaXZhdGU6CiAKICAgICBTdGF0ZSBtX3N0YXRlIHsg
U3RhdGU6OlN1c3BlbmRlZCB9OwogCi0gICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IG1fY3Vy
cmVudFJlcXVlc3Q7CiAgICAgUmVmUHRyPFdlYkNvcmU6OkN1cmxSZXF1ZXN0PiBtX2N1cmxSZXF1
ZXN0OwogICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgbV9yZXNwb25zZTsKICAgICB1bnNp
Z25lZCBtX3JlZGlyZWN0Q291bnQgeyAwIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>