<?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>147985</bug_id>
          
          <creation_ts>2015-08-13 12:47:57 -0700</creation_ts>
          <short_desc>[Cocoa] Downloads do not start if policy decision is made asynchronously</short_desc>
          <delta_ts>2015-08-14 14:08:37 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</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="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1117326</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2015-08-13 12:47:57 -0700</bug_when>
    <thetext>[Cocoa] Downloads do not start if policy decision is made asynchronously</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117329</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2015-08-13 12:49:43 -0700</bug_when>
    <thetext>rdar://problem/22222453</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117337</commentid>
    <comment_count>2</comment_count>
      <attachid>258919</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2015-08-13 13:04:00 -0700</bug_when>
    <thetext>Created attachment 258919
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117421</commentid>
    <comment_count>3</comment_count>
      <attachid>258919</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-08-13 15:38:21 -0700</bug_when>
    <thetext>Comment on attachment 258919
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        asynchronously. If a client chooses to download a response asynchronously, we can no longer convert the
&gt; +        connection to a download, so we should start a new download instead.

This is surely not a permanent solution to this, is it? In the general case, it is not possible to start a new download.

We need to delay responding to willSendRequest until the decision is made.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117426</commentid>
    <comment_count>4</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2015-08-13 15:42:14 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 258919 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=258919&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:11
&gt; &gt; +        asynchronously. If a client chooses to download a response asynchronously, we can no longer convert the
&gt; &gt; +        connection to a download, so we should start a new download instead.
&gt; 
&gt; This is surely not a permanent solution to this, is it? In the general case,
&gt; it is not possible to start a new download.
&gt; 
&gt; We need to delay responding to willSendRequest until the decision is made.

didReceiveResponse in this case, but you&apos;re right, that&apos;s the correct solution. This is a stopgap measure until that solution can be implemented. I included more information about this in the linked radar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117427</commentid>
    <comment_count>5</comment_count>
      <attachid>258942</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2015-08-13 15:44:36 -0700</bug_when>
    <thetext>Created attachment 258942
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117715</commentid>
    <comment_count>6</comment_count>
      <attachid>258942</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-08-14 12:33:11 -0700</bug_when>
    <thetext>Comment on attachment 258942
Patch

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

&gt; Source/WebCore/loader/SubresourceLoader.cpp:80
&gt; +    , m_callingDidReceiveResponse(false)

Default value can be in the class declaration in the header.

&gt; Source/WebCore/loader/SubresourceLoader.h:129
&gt; +    bool m_callingDidReceiveResponse;

...right here.

&gt; Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm:292
&gt;          // The resource has already been cached, start a new download.

Inaccurate comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117754</commentid>
    <comment_count>7</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2015-08-14 14:08:37 -0700</bug_when>
    <thetext>Committed r188486: &lt;http://trac.webkit.org/changeset/188486&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258919</attachid>
            <date>2015-08-13 13:04:00 -0700</date>
            <delta_ts>2015-08-13 15:44:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147985-20150813130343.patch</filename>
            <type>text/plain</type>
            <size>17130</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4Mjk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDBlMDFmOGJjYzdhNDk5
MTI1YTk3YzNjMjhhZDI2NWZlZTYzODk4NC4uMjM1OTIxNWFmZDZjMmUxMjJjYjU5YmUzMGY3Zjcy
MmZiZmRjYzgxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE1LTA4LTEzICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIERvd25sb2FkcyBk
byBub3Qgc3RhcnQgaWYgcG9saWN5IGRlY2lzaW9uIGlzIG1hZGUgYXN5bmNocm9ub3VzbHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Nzk4NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0J3Mgb25seSBw
b3NzaWJsZSB0byBjb252ZXJ0IGEgTlNVUkxDb25uZWN0aW9uIHRvIGEgZG93bmxvYWQgd2hpbGUg
dGhlIGNvbm5lY3Rpb24gZGVsZWdhdGUncworICAgICAgICAtY29ubmVjdGlvbjpkaWRSZWNlaXZl
UmVzcG9uc2U6IGlzIGJlaW5nIGNhbGxlZC4gSG93ZXZlciwgV2ViS2l0IGNsaWVudHMgY2FuIGRl
Y2lkZSBjb250ZW50IHBvbGljeQorICAgICAgICBhc3luY2hyb25vdXNseS4gSWYgYSBjbGllbnQg
Y2hvb3NlcyB0byBkb3dubG9hZCBhIHJlc3BvbnNlIGFzeW5jaHJvbm91c2x5LCB3ZSBjYW4gbm8g
bG9uZ2VyIGNvbnZlcnQgdGhlCisgICAgICAgIGNvbm5lY3Rpb24gdG8gYSBkb3dubG9hZCwgc28g
d2Ugc2hvdWxkIHN0YXJ0IGEgbmV3IGRvd25sb2FkIGluc3RlYWQuCisKKyAgICAgICAgTmV3IEFQ
SSB0ZXN0OiBfV0tEb3dubG9hZC5Bc3luY2hyb25vdXNEb3dubG9hZFBvbGljeQorCisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDogVXBkYXRlZCB0byBpbmNsdWRlIFN1YnJlc291cmNlTG9hZGVy
LmguCisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50TG9hZGVyOjptYWluUmVzb3VyY2VMb2FkZXIpOiBVcGRhdGVkIHRvIHJldHVy
biBhIFN1YnJlc291cmNlTG9hZGVyLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6
OmNvbnRpbnVlQWZ0ZXJDb250ZW50UG9saWN5KTogQ2FzdCBtYWluUmVzb3VyY2VMb2FkZXIoKSB0
byBhIFJlc291cmNlTG9hZGVyIHNpbmNlCisgICAgICAgIGRpZEZhaWwoKSBpcyBwcml2YXRlIGlu
IFN1YnJlc291cmNlTG9hZGVyLgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgor
ICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTdWJyZXNvdXJjZUxvYWRlcjo6U3VicmVzb3VyY2VMb2FkZXIpOiBJbml0aWFsaXplZCBtX2Nh
bGxpbmdEaWRSZWNlaXZlUmVzcG9uc2UgdG8gZmFsc2UuCisgICAgICAgIChXZWJDb3JlOjpTdWJy
ZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKTogVXNlZCBUZW1wb3JhcnlDaGFuZ2U8
PiB0byBzZXQgbV9jYWxsaW5nRGlkUmVjZWl2ZVJlc3BvbnNlIHRvIHRydWUuCisgICAgICAgICog
bG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVIb3N0LmNwcDogVXBkYXRlZCB0byBpbmNsdWRlIFN1YnJlc291cmNlTG9h
ZGVyLmguCisgICAgICAgICogbG9hZGVyL21hYy9Eb2N1bWVudExvYWRlck1hYy5jcHA6IERpdHRv
LgorCiAyMDE1LTA4LTExICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXaW5dIFN3aXRjaCBXaW5kb3dzIGJ1aWxkIHRvIFZpc3VhbCBTdHVkaW8gMjAxNQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCmluZGV4IDQ5NDNiYWY5M2VjM2ViMGQ5ZjJlMjJlN2NlMjA2NGU2NmRlMzQ4
MWIuLjViNDA5Zjc0NDA4NjE1OGE5YTQ5OGNkOTdmMGFmOTEwYmY1Mzg3N2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNS0wOC0xMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0Bh
cHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBEb3dubG9hZHMgZG8gbm90IHN0YXJ0IGlmIHBv
bGljeSBkZWNpc2lvbiBpcyBtYWRlIGFzeW5jaHJvbm91c2x5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc5ODUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50Lm1tOgorICAgICAgICAoV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmNvbnZlcnRNYWlu
UmVzb3VyY2VMb2FkVG9Eb3dubG9hZCk6IFN0YXJ0ZWQgYSBuZXcgZG93bmxvYWQgaWYgdGhlIG1h
aW4gcmVzb3VyY2UgbG9hZGVyIGlzIG5vdCBjYWxsaW5nIGRpZFJlY2VpdmVSZXNwb25zZS4KKwog
MjAxNS0wOC0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFs
aWduIFdlYktpdDEncyBQYWdlQ2FjaGUgc2l6ZSB3aXRoIFdlYktpdDIncwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CmluZGV4IDk1MTQzZjBkNTg1YWE4NTIyYmJhODczODZkZjUzMzdlMDEyZjRmYmEuLjdmOTg2Nzgz
M2E3NDYyOTAyYWZiMWIzNGMzYmM5Mjc4OGRhN2Q0ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNS0wOC0xMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisK
KyAgICAgICAgW0NvY29hXSBEb3dubG9hZHMgZG8gbm90IHN0YXJ0IGlmIHBvbGljeSBkZWNpc2lv
biBpcyBtYWRlIGFzeW5jaHJvbm91c2x5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDc5ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNw
cDogVXBkYXRlZCB0byBpbmNsdWRlIFN1YnJlc291cmNlTG9hZGVyLmguCisKIDIwMTUtMDgtMTAg
IFBlciBBcm5lIFZvbGxhbiAgPHBlYXZvQG91dGxvb2suY29tPgogCiAgICAgICAgIFtXaW5dIFNt
YWxsIHJlcGFpbnQgaXNzdWVzIHdoZW4gZGV2aWNlIHNjYWxlIGZhY3RvciAhPSAxLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CmluZGV4IGQ5Mzc0MjJjMDFjMTZhYjMyNzNlODc0NjU0YjliMzI4Mzk2ZWI3ZTcuLmMzN2VjOTM2
NjVhZDQ4NGI1MDliY2FhNWMzZTU1OTY5MDc4MjJlZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxNS0wOC0xMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAg
ICAgW0NvY29hXSBEb3dubG9hZHMgZG8gbm90IHN0YXJ0IGlmIHBvbGljeSBkZWNpc2lvbiBpcyBt
YWRlIGFzeW5jaHJvbm91c2x5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDc5ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkZyYW1lOjpjb252ZXJ0TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQpOiBTdGFy
dGVkIGEgbmV3IGRvd25sb2FkIGlmIHRoZSBtYWluIHJlc291cmNlIGxvYWRlciBpcyBub3QgY2Fs
bGluZyBkaWRSZWNlaXZlUmVzcG9uc2UuCisKIDIwMTUtMDgtMTEgIEFuZHkgRXN0ZXMgIDxhZXN0
ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFRyaWVkIGFnYWluIHRvIGZpeCB0aGUgaU9TIGJ1aWxk
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggZWI0ODRlMTc4Y2I0NGY5OTE4ZWQyYzU0YmFm
YmZmY2IxMDMxOGE4ZC4uOTBmZWMxZmI0NWYxODQ0MjY3Yjc2ZGVkNDc0MTZmYmNlNzQ1MWI0MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xMjQsNyArMTI0LDYgQEAKICNpbmNsdWRlICJS
ZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0LmgiCiAjaW5jbHVkZSAiUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRl
ICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU1ZHRG9jdW1lbnRFeHRlbnNp
b25zLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgpAQCAtMTQ3LDYgKzE0Niw3IEBACiAjaW5j
bHVkZSAiU3R5bGVSZXNvbHZlci5oIgogI2luY2x1ZGUgIlN0eWxlU2hlZXRDb250ZW50cy5oIgog
I2luY2x1ZGUgIlN0eWxlU2hlZXRMaXN0LmgiCisjaW5jbHVkZSAiU3VicmVzb3VyY2VMb2FkZXIu
aCIKICNpbmNsdWRlICJUZXh0Tm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlRleHRSZXNvdXJj
ZURlY29kZXIuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1Tb3VyY2UuaCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDQzMGRmMDY2ZjM0NzRmZGU2MjIyMjI4OGQ3
YmMxOTg4MmEwMjBlOTQuLjhjYTk3YmE3OWU5NzI3NGQzY2M4MTNkNTI3OTYwNmJmZTc5YjY1NTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMTU0LDcgKzE1
NCw3IEBAIEZyYW1lTG9hZGVyKiBEb2N1bWVudExvYWRlcjo6ZnJhbWVMb2FkZXIoKSBjb25zdAog
ICAgIHJldHVybiAmbV9mcmFtZS0+bG9hZGVyKCk7CiB9CiAKLVJlc291cmNlTG9hZGVyKiBEb2N1
bWVudExvYWRlcjo6bWFpblJlc291cmNlTG9hZGVyKCkgY29uc3QKK1N1YnJlc291cmNlTG9hZGVy
KiBEb2N1bWVudExvYWRlcjo6bWFpblJlc291cmNlTG9hZGVyKCkgY29uc3QKIHsKICAgICByZXR1
cm4gbV9tYWluUmVzb3VyY2UgPyBtX21haW5SZXNvdXJjZS0+bG9hZGVyKCkgOiAwOwogfQpAQCAt
NzI5LDcgKzcyOSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNvbnRpbnVlQWZ0ZXJDb250ZW50
UG9saWN5KFBvbGljeUFjdGlvbiBwb2xpY3kpCiAKICAgICAgICAgLy8gSXQgbWlnaHQgaGF2ZSBn
b25lIG1pc3NpbmcKICAgICAgICAgaWYgKG1haW5SZXNvdXJjZUxvYWRlcigpKQotICAgICAgICAg
ICAgbWFpblJlc291cmNlTG9hZGVyKCktPmRpZEZhaWwoaW50ZXJydXB0ZWRGb3JQb2xpY3lDaGFu
Z2VFcnJvcigpKTsKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PFJlc291cmNlTG9hZGVyKj4obWFp
blJlc291cmNlTG9hZGVyKCkpLT5kaWRGYWlsKGludGVycnVwdGVkRm9yUG9saWN5Q2hhbmdlRXJy
b3IoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgY2FzZSBQb2xpY3lJZ25vcmU6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCmluZGV4IDFkNzEwMTA5ZjAwZDMzZmEz
ODZmMTdkMTdiM2UzMTQxN2I2MzNkYTUuLmY1ZTk3ZGE5ZTY2NTMxNGYyZWI0YzQ1YWNjNTdmMDZh
NjFiNzY3YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCkBAIC03MCw2
ICs3MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNz
IFJlc291cmNlTG9hZGVyOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKKyAgICBjbGFzcyBTdWJy
ZXNvdXJjZUxvYWRlcjsKICAgICBjbGFzcyBTdWJzdGl0dXRlUmVzb3VyY2U7CiAKICNpZiBFTkFC
TEUoQ09OVEVOVF9GSUxURVJJTkcpCkBAIC05NCw3ICs5NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIGRldGFjaEZyb21GcmFtZSgp
OwogCiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWRlcigpIGNv
bnN0OwotICAgICAgICBXRUJDT1JFX0VYUE9SVCBSZXNvdXJjZUxvYWRlciogbWFpblJlc291cmNl
TG9hZGVyKCkgY29uc3Q7CisgICAgICAgIFdFQkNPUkVfRVhQT1JUIFN1YnJlc291cmNlTG9hZGVy
KiBtYWluUmVzb3VyY2VMb2FkZXIoKSBjb25zdDsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgUGFz
c1JlZlB0cjxTaGFyZWRCdWZmZXI+IG1haW5SZXNvdXJjZURhdGEoKSBjb25zdDsKICAgICAgICAg
CiAgICAgICAgIERvY3VtZW50V3JpdGVyJiB3cml0ZXIoKSBjb25zdCB7IHJldHVybiBtX3dyaXRl
cjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKaW5kZXgg
ZjAwY2E5MDM0ZDM0MTk4YWYyZTI5NjFlZGVhOGUxMzk1OTA0NTQwOS4uN2U2MGI3OTNhMmU4YWU4
ZTQzZjU1ZDhkMWYzMWVkZjRiN2Q3ZmY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3Vi
cmVzb3VyY2VMb2FkZXIuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSA8d3RmL1JlZi5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuaD4KICNpbmNsdWRlIDx3dGYv
U3RkTGliRXh0cmFzLmg+CisjaW5jbHVkZSA8d3RmL1RlbXBvcmFyeUNoYW5nZS5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKElPUykKQEAgLTc2LDYgKzc3
LDcgQEAgU3VicmVzb3VyY2VMb2FkZXI6OlN1YnJlc291cmNlTG9hZGVyKEZyYW1lKiBmcmFtZSwg
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBjb24KICAgICAsIG1fbG9hZGluZ011bHRpcGFydENv
bnRlbnQoZmFsc2UpCiAgICAgLCBtX3N0YXRlKFVuaW5pdGlhbGl6ZWQpCiAgICAgLCBtX3JlcXVl
c3RDb3VudFRyYWNrZXIoc3RkOjptYWtlX3VuaXF1ZTxSZXF1ZXN0Q291bnRUcmFja2VyPihmcmFt
ZS0+ZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKSwgcmVzb3VyY2UpKQorICAgICwg
bV9jYWxsaW5nRGlkUmVjZWl2ZVJlc3BvbnNlKGZhbHNlKQogewogI2lmbmRlZiBOREVCVUcKICAg
ICBzdWJyZXNvdXJjZUxvYWRlckNvdW50ZXIuaW5jcmVtZW50KCk7CkBAIC0yMDIsNiArMjA0LDgg
QEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogICAgIEFTU0VSVCghcmVzcG9uc2UuaXNOdWxsKCkpOwog
ICAgIEFTU0VSVChtX3N0YXRlID09IEluaXRpYWxpemVkKTsKIAorICAgIFRlbXBvcmFyeUNoYW5n
ZTxib29sPiBjYWxsaW5nRGlkUmVjZWl2ZVJlc3BvbnNlKG1fY2FsbGluZ0RpZFJlY2VpdmVSZXNw
b25zZSwgdHJ1ZSk7CisKICAgICAvLyBSZWZlcmVuY2UgdGhlIG9iamVjdCBpbiB0aGlzIG1ldGhv
ZCBzaW5jZSB0aGUgYWRkaXRpb25hbCBwcm9jZXNzaW5nIGNhbiBkbwogICAgIC8vIGFueXRoaW5n
IGluY2x1ZGluZyByZW1vdmluZyB0aGUgbGFzdCByZWZlcmVuY2UgdG8gdGhpcyBvYmplY3Q7IG9u
ZSBleGFtcGxlIG9mIHRoaXMgaXMgMzI2NjIxNi4KICAgICBSZWY8U3VicmVzb3VyY2VMb2FkZXI+
IHByb3RlY3QoKnRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJl
c291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIu
aAppbmRleCA2OWEyNDIyOTcyMWZmNmNhOTg5OTNhNjk5NzcwMThmZWVkOGQ1Y2Q4Li5jNmMyOGM4
YTljOGNkMTJlNjdmMTQxMmQyYzY1NjRjYzNjNjg0NTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvU3VicmVzb3VyY2VMb2FkZXIuaApAQCAtNTgsNiArNTgsOCBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGlPU09yaWdpbmFsUmVxdWVzdCgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIG1faU9TT3JpZ2luYWxSZXF1ZXN0OyB9CiAjZW5kaWYKIAorICAgIGJv
b2wgY2FsbGluZ0RpZFJlY2VpdmVSZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGluZ0Rp
ZFJlY2VpdmVSZXNwb25zZTsgfQorCiBwcml2YXRlOgogICAgIFN1YnJlc291cmNlTG9hZGVyKEZy
YW1lKiwgQ2FjaGVkUmVzb3VyY2UqLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmKTsKIApA
QCAtMTI0LDYgKzEyNiw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2xvYWRpbmdNdWx0aXBhcnRD
b250ZW50OwogICAgIFN1YnJlc291cmNlTG9hZGVyU3RhdGUgbV9zdGF0ZTsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8UmVxdWVzdENvdW50VHJhY2tlcj4gbV9yZXF1ZXN0Q291bnRUcmFja2VyOworICAg
IGJvb2wgbV9jYWxsaW5nRGlkUmVjZWl2ZVJlc3BvbnNlOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5jcHAK
aW5kZXggYjcxMGEyNTY3MWMzZTJmMDJlZGY3ZWQ4OThlMTBhNzM1YzQ1ZDc2Yi4uNTJlMTQwYmIx
YzRkOWM4YWVkMzBlZWY4NDE4MTAyNTAzOWIwM2JlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuY3BwCkBAIC0zOSw5
ICszOSw5IEBACiAjaW5jbHVkZSAiTWFpbkZyYW1lLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NFdmVu
dC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VMb2Fk
ZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5o
IgorI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL21hYy9Eb2N1bWVudExvYWRlck1h
Yy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvbWFjL0RvY3VtZW50TG9hZGVyTWFjLmNwcApp
bmRleCBiNjk3YzRhMTg1MTJjNjM3NWYyNGI0ZDE3OGIzNmRjYTM1MzI1YjUyLi43ZTc0ZjIwZjk3
MmIwNzhmZTg2MmI1ODFjMjg5YmVlZTVkMGExMmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvbWFjL0RvY3VtZW50TG9hZGVyTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvbWFjL0RvY3VtZW50TG9hZGVyTWFjLmNwcApAQCAtMjksNyArMjksNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAKLSNpbmNsdWRlICJS
ZXNvdXJjZUxvYWRlci5oIgorI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQppbmRleCAxMTNmYTgwNjdjNjE4YTQ4ODhh
YWNhMjI5MzQxNjRhZTZlOGE0YTgxLi5jMzQ4ODBiNTY3MDY4ZDUxOWQ0YmVjMmNmNzYwYWY4NTY0
MzUyYmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQpAQCAtMTExLDEwICsxMTEsMTAgQEAKICNpbXBvcnQg
PFdlYkNvcmUvUHJvdGVjdGlvblNwYWNlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJy
b3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KLSNpbXBvcnQgPFdlYkNv
cmUvUmVzb3VyY2VMb2FkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1NjcmlwdENvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUv
U2hhcmVkQnVmZmVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL1N1YnJlc291cmNlTG9hZGVyLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVPYmpDRXh0cmFzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dl
YlNjcmlwdE9iamVjdFByaXZhdGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2lkZ2V0Lmg+CkBAIC0y
ODYsOCArMjg2LDkgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGV0YWNoZWRGcm9tUGFy
ZW50MygpCiB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojpjb252ZXJ0TWFpblJlc291cmNlTG9h
ZFRvRG93bmxvYWQoRG9jdW1lbnRMb2FkZXIqIGRvY3VtZW50TG9hZGVyLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewog
ICAgIFdlYlZpZXcgKndlYlZpZXcgPSBnZXRXZWJWaWV3KG1fd2ViRnJhbWUuZ2V0KCkpOworICAg
IFN1YnJlc291cmNlTG9hZGVyKiBtYWluUmVzb3VyY2VMb2FkZXIgPSBkb2N1bWVudExvYWRlci0+
bWFpblJlc291cmNlTG9hZGVyKCk7CiAKLSAgICBpZiAoIWRvY3VtZW50TG9hZGVyLT5tYWluUmVz
b3VyY2VMb2FkZXIoKSkgeworICAgIGlmICghbWFpblJlc291cmNlTG9hZGVyIHx8ICFtYWluUmVz
b3VyY2VMb2FkZXItPmNhbGxpbmdEaWRSZWNlaXZlUmVzcG9uc2UoKSkgewogICAgICAgICAvLyBU
aGUgcmVzb3VyY2UgaGFzIGFscmVhZHkgYmVlbiBjYWNoZWQsIHN0YXJ0IGEgbmV3IGRvd25sb2Fk
LgogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3Rp
YyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgpAQCAtMjk3LDcgKzI5OCw3IEBA
IHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmNvbnZlcnRNYWluUmVzb3VyY2VMb2FkVG9Eb3du
bG9hZChEb2N1bWVudExvYWRlciogZG9jCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBS
ZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gZG9jdW1lbnRMb2FkZXItPm1haW5SZXNvdXJjZUxvYWRl
cigpLT5oYW5kbGUoKTsKKyAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gbWFpblJlc291cmNl
TG9hZGVyLT5oYW5kbGUoKTsKIAogI2lmIFVTRShDRk5FVFdPUkspCiAgICAgQVNTRVJUKFtXZWJE
b3dubG9hZCByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9kb3dubG9hZFdpdGhMb2FkaW5n
Q0ZVUkxDb25uZWN0aW9uOnJlcXVlc3Q6cmVzcG9uc2U6ZGVsZWdhdGU6cHJveHk6KV0pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwCmluZGV4IGE4MjUzZDM0ZDFhYWY0NzU2YTI0ZWJjZjcwMzA3YTUxMmY5ZTc2
NmYuLjI0ZWYxOWNkYjc3YzdjNDQwMjg4NzA5Mjg2NjQxMDE3MDUzNGE1YjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5jcHAKQEAgLTc5LDkgKzc5LDkgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1BvbGljeUNoZWNr
ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlcldpZGdldC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VIYW5kbGUuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZGVyLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JpcHRDb250cm9sbGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9TZXR0aW5ncy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU3VicmVzb3VyY2VMb2FkZXIuaD4KIAog
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAKaW5kZXggZjE4
ZGU1MTZhMjk1ZDFhOWRlODllNGUzOTBkYmE1OWNhMjhiYzAxMy4uNWIzMzE1MzUyYTQwYmE5NTY4
NTYwMWE1OWJjZjI0ZjhiZjUwOGU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViRnJhbWUuY3BwCkBAIC03MCw5ICs3MCw5IEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9QYWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5Eb2N1bWVudC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUmVuZGVyVHJlZUFzVGV4dC5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VM
b2FkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NjcmlwdENvbnRyb2xsZXIuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TdWJyZXNvdXJj
ZUxvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dEl0ZXJhdG9yLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9UZXh0UmVzb3VyY2VEZWNvZGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5n
QnVpbGRlci5oPgpAQCAtMjc0LDE1ICsyNzQsMTYgQEAgdm9pZCBXZWJGcmFtZTo6Y29udmVydE1h
aW5SZXNvdXJjZUxvYWRUb0Rvd25sb2FkKERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRlciwK
ICAgICB1aW50NjRfdCBwb2xpY3lEb3dubG9hZElEID0gbV9wb2xpY3lEb3dubG9hZElEOwogICAg
IG1fcG9saWN5RG93bmxvYWRJRCA9IDA7CiAKLSAgICBSZXNvdXJjZUxvYWRlciogbWFpblJlc291
cmNlTG9hZGVyID0gZG9jdW1lbnRMb2FkZXItPm1haW5SZXNvdXJjZUxvYWRlcigpOworICAgIFN1
YnJlc291cmNlTG9hZGVyKiBtYWluUmVzb3VyY2VMb2FkZXIgPSBkb2N1bWVudExvYWRlci0+bWFp
blJlc291cmNlTG9hZGVyKCk7CiAKICAgICBhdXRvJiB3ZWJQcm9jZXNzID0gV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCk7CiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKICAgICBpZiAod2ViUHJv
Y2Vzcy51c2VzTmV0d29ya1Byb2Nlc3MoKSkgewotICAgICAgICAvLyBVc2UgMCB0byBpbmRpY2F0
ZSB0aGF0IHRoZXJlIGlzIG5vIG1haW4gcmVzb3VyY2UgbG9hZGVyLgotICAgICAgICAvLyBUaGlz
IGNhbiBoYXBwZW4gaWYgdGhlIG1haW4gcmVzb3VyY2UgaXMgaW4gdGhlIFdlYkNvcmUgbWVtb3J5
IGNhY2hlLgorICAgICAgICAvLyBVc2UgMCB0byBpbmRpY2F0ZSB0aGF0IHRoZSByZXNvdXJjZSBs
b2FkIGNhbid0IGJlIGNvbnZlcnRlZCBhbmQgYSBuZXcgZG93bmxvYWQgbXVzdCBiZSBzdGFydGVk
LgorICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlcmUgaXMgbm8gbG9hZGVyIGJlY2F1
c2UgdGhlIG1haW4gcmVzb3VyY2UgaXMgaW4gdGhlIFdlYkNvcmUgbWVtb3J5IGNhY2hlLAorICAg
ICAgICAvLyBvciBiZWNhdXNlIHRoZSBjb252ZXJzaW9uIHdhcyBhdHRlbXB0ZWQgd2hlbiBub3Qg
Y2FsbGluZyBTdWJyZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKCkuCiAgICAgICAg
IHVpbnQ2NF90IG1haW5SZXNvdXJjZUxvYWRJZGVudGlmaWVyOwotICAgICAgICBpZiAobWFpblJl
c291cmNlTG9hZGVyKQorICAgICAgICBpZiAobWFpblJlc291cmNlTG9hZGVyICYmIG1haW5SZXNv
dXJjZUxvYWRlci0+Y2FsbGluZ0RpZFJlY2VpdmVSZXNwb25zZSgpKQogICAgICAgICAgICAgbWFp
blJlc291cmNlTG9hZElkZW50aWZpZXIgPSBtYWluUmVzb3VyY2VMb2FkZXItPmlkZW50aWZpZXIo
KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbWFpblJlc291cmNlTG9hZElkZW50aWZpZXIg
PSAwOwpAQCAtMjkyLDcgKzI5Myw3IEBAIHZvaWQgV2ViRnJhbWU6OmNvbnZlcnRNYWluUmVzb3Vy
Y2VMb2FkVG9Eb3dubG9hZChEb2N1bWVudExvYWRlciogZG9jdW1lbnRMb2FkZXIsCiAgICAgfQog
I2VuZGlmCiAKLSAgICBpZiAoIW1haW5SZXNvdXJjZUxvYWRlcikgeworICAgIGlmICghbWFpblJl
c291cmNlTG9hZGVyIHx8ICFtYWluUmVzb3VyY2VMb2FkZXItPmNhbGxpbmdEaWRSZWNlaXZlUmVz
cG9uc2UoKSkgewogICAgICAgICAvLyBUaGUgbWFpbiByZXNvdXJjZSBoYXMgYWxyZWFkeSBiZWVu
IGxvYWRlZC4gU3RhcnQgYSBuZXcgZG93bmxvYWQgaW5zdGVhZC4KICAgICAgICAgd2ViUHJvY2Vz
cy5kb3dubG9hZE1hbmFnZXIoKS5zdGFydERvd25sb2FkKHBvbGljeURvd25sb2FkSUQsIHJlcXVl
c3QpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggYjVjYmQwYmVjMzljYzRkZTQwOWQyODA2NDZhNzhhOWFmYjUxNjcx
ZS4uYWRlODQwMzIxZGYzNjViOTc2ZDY1YzgxNjQ4MzBlMmE2ODYxZWIwMSAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDE1LTA4LTEzICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29j
b2FdIERvd25sb2FkcyBkbyBub3Qgc3RhcnQgaWYgcG9saWN5IGRlY2lzaW9uIGlzIG1hZGUgYXN5
bmNocm9ub3VzbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0Nzk4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZGVkIGEgbmV3IEFQSSB0ZXN0LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyQ29jb2EvRG93bmxvYWQubW06CisgICAgICAgICgtW0FzeW5jaHJvbm91c0Rvd25s
b2FkTmF2aWdhdGlvbkRlbGVnYXRlIHdlYlZpZXc6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJl
c3BvbnNlOmRlY2lzaW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bQXN5bmNocm9ub3VzRG93bmxv
YWREZWxlZ2F0ZSBfZG93bmxvYWREaWRTdGFydDpdKToKKyAgICAgICAgKFRFU1QpOgorCiAyMDE1
LTA4LTExICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtX
aW5dIFN3aXRjaCBXaW5kb3dzIGJ1aWxkIHRvIFZpc3VhbCBTdHVkaW8gMjAxNQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvRG93bmxvYWQubW0gYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Eb3dubG9hZC5tbQppbmRleCA5
MjI3MjIwZDFjNjY2ZGM1MzlhODgyMTI5NWIyNjY0MzZlN2RjZTgzLi5jM2Y3YmVlZjhmMDQ0NjRi
ZDQ5M2JiMmMyZjc2NjYxNTIyOTA1MTVjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDJDb2NvYS9Eb3dubG9hZC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDJDb2NvYS9Eb3dubG9hZC5tbQpAQCAtMjY1LDUgKzI2NSwzNCBAQCBURVNU
KF9XS0Rvd25sb2FkLCBPcmlnaW5hdGluZ1dlYlZpZXcpCiAgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZpc0RvbmUpOwogfQogCitAaW50ZXJmYWNlIEFzeW5jaHJvbm91c0Rvd25sb2FkTmF2
aWdhdGlvbkRlbGVnYXRlIDogTlNPYmplY3QgPFdLTmF2aWdhdGlvbkRlbGVnYXRlPgorQGVuZAor
CitAaW1wbGVtZW50YXRpb24gQXN5bmNocm9ub3VzRG93bmxvYWROYXZpZ2F0aW9uRGVsZWdhdGUK
Ky0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uUmVzcG9uc2U6KFdLTmF2aWdhdGlvblJlc3BvbnNlICopbmF2aWdhdGlvblJlc3BvbnNl
IGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3kpKWRl
Y2lzaW9uSGFuZGxlcgoreworICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1
ZXVlKCksIF4geworICAgICAgICBkZWNpc2lvbkhhbmRsZXIoX1dLTmF2aWdhdGlvblJlc3BvbnNl
UG9saWN5QmVjb21lRG93bmxvYWQpOworICAgIH0pOworfQorQGVuZAorCitAaW50ZXJmYWNlIEFz
eW5jaHJvbm91c0Rvd25sb2FkRGVsZWdhdGUgOiBOU09iamVjdCA8X1dLRG93bmxvYWREZWxlZ2F0
ZT4KK0BlbmQKKworQGltcGxlbWVudGF0aW9uIEFzeW5jaHJvbm91c0Rvd25sb2FkRGVsZWdhdGUK
KworLSAodm9pZClfZG93bmxvYWREaWRTdGFydDooX1dLRG93bmxvYWQgKilkb3dubG9hZAorewor
ICAgIGlzRG9uZSA9IHRydWU7Cit9CisKK0BlbmQKKworVEVTVChfV0tEb3dubG9hZCwgQXN5bmNo
cm9ub3VzRG93bmxvYWRQb2xpY3kpCit7CisgICAgcnVuVGVzdChhZG9wdE5TKFtbQXN5bmNocm9u
b3VzRG93bmxvYWROYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKS5nZXQoKSwgYWRvcHRO
UyhbW0FzeW5jaHJvbm91c0Rvd25sb2FkRGVsZWdhdGUgYWxsb2NdIGluaXRdKS5nZXQoKSwgc291
cmNlVVJMKTsKK30KKwogI2VuZGlmCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258942</attachid>
            <date>2015-08-13 15:44:36 -0700</date>
            <delta_ts>2015-08-14 12:33:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147985-20150813154418.patch</filename>
            <type>text/plain</type>
            <size>17768</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4Mjk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDBlMDFmOGJjYzdhNDk5
MTI1YTk3YzNjMjhhZDI2NWZlZTYzODk4NC4uMjM1OTIxNWFmZDZjMmUxMjJjYjU5YmUzMGY3Zjcy
MmZiZmRjYzgxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE1LTA4LTEzICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIERvd25sb2FkcyBk
byBub3Qgc3RhcnQgaWYgcG9saWN5IGRlY2lzaW9uIGlzIG1hZGUgYXN5bmNocm9ub3VzbHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Nzk4NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0J3Mgb25seSBw
b3NzaWJsZSB0byBjb252ZXJ0IGEgTlNVUkxDb25uZWN0aW9uIHRvIGEgZG93bmxvYWQgd2hpbGUg
dGhlIGNvbm5lY3Rpb24gZGVsZWdhdGUncworICAgICAgICAtY29ubmVjdGlvbjpkaWRSZWNlaXZl
UmVzcG9uc2U6IGlzIGJlaW5nIGNhbGxlZC4gSG93ZXZlciwgV2ViS2l0IGNsaWVudHMgY2FuIGRl
Y2lkZSBjb250ZW50IHBvbGljeQorICAgICAgICBhc3luY2hyb25vdXNseS4gSWYgYSBjbGllbnQg
Y2hvb3NlcyB0byBkb3dubG9hZCBhIHJlc3BvbnNlIGFzeW5jaHJvbm91c2x5LCB3ZSBjYW4gbm8g
bG9uZ2VyIGNvbnZlcnQgdGhlCisgICAgICAgIGNvbm5lY3Rpb24gdG8gYSBkb3dubG9hZCwgc28g
d2Ugc2hvdWxkIHN0YXJ0IGEgbmV3IGRvd25sb2FkIGluc3RlYWQuCisKKyAgICAgICAgTmV3IEFQ
SSB0ZXN0OiBfV0tEb3dubG9hZC5Bc3luY2hyb25vdXNEb3dubG9hZFBvbGljeQorCisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDogVXBkYXRlZCB0byBpbmNsdWRlIFN1YnJlc291cmNlTG9hZGVy
LmguCisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50TG9hZGVyOjptYWluUmVzb3VyY2VMb2FkZXIpOiBVcGRhdGVkIHRvIHJldHVy
biBhIFN1YnJlc291cmNlTG9hZGVyLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6
OmNvbnRpbnVlQWZ0ZXJDb250ZW50UG9saWN5KTogQ2FzdCBtYWluUmVzb3VyY2VMb2FkZXIoKSB0
byBhIFJlc291cmNlTG9hZGVyIHNpbmNlCisgICAgICAgIGRpZEZhaWwoKSBpcyBwcml2YXRlIGlu
IFN1YnJlc291cmNlTG9hZGVyLgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgor
ICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTdWJyZXNvdXJjZUxvYWRlcjo6U3VicmVzb3VyY2VMb2FkZXIpOiBJbml0aWFsaXplZCBtX2Nh
bGxpbmdEaWRSZWNlaXZlUmVzcG9uc2UgdG8gZmFsc2UuCisgICAgICAgIChXZWJDb3JlOjpTdWJy
ZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKTogVXNlZCBUZW1wb3JhcnlDaGFuZ2U8
PiB0byBzZXQgbV9jYWxsaW5nRGlkUmVjZWl2ZVJlc3BvbnNlIHRvIHRydWUuCisgICAgICAgICog
bG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVIb3N0LmNwcDogVXBkYXRlZCB0byBpbmNsdWRlIFN1YnJlc291cmNlTG9h
ZGVyLmguCisgICAgICAgICogbG9hZGVyL21hYy9Eb2N1bWVudExvYWRlck1hYy5jcHA6IERpdHRv
LgorCiAyMDE1LTA4LTExICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXaW5dIFN3aXRjaCBXaW5kb3dzIGJ1aWxkIHRvIFZpc3VhbCBTdHVkaW8gMjAxNQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCmluZGV4IDQ5NDNiYWY5M2VjM2ViMGQ5ZjJlMjJlN2NlMjA2NGU2NmRlMzQ4
MWIuLjViNDA5Zjc0NDA4NjE1OGE5YTQ5OGNkOTdmMGFmOTEwYmY1Mzg3N2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNS0wOC0xMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0Bh
cHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBEb3dubG9hZHMgZG8gbm90IHN0YXJ0IGlmIHBv
bGljeSBkZWNpc2lvbiBpcyBtYWRlIGFzeW5jaHJvbm91c2x5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc5ODUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50Lm1tOgorICAgICAgICAoV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmNvbnZlcnRNYWlu
UmVzb3VyY2VMb2FkVG9Eb3dubG9hZCk6IFN0YXJ0ZWQgYSBuZXcgZG93bmxvYWQgaWYgdGhlIG1h
aW4gcmVzb3VyY2UgbG9hZGVyIGlzIG5vdCBjYWxsaW5nIGRpZFJlY2VpdmVSZXNwb25zZS4KKwog
MjAxNS0wOC0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFs
aWduIFdlYktpdDEncyBQYWdlQ2FjaGUgc2l6ZSB3aXRoIFdlYktpdDIncwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CmluZGV4IDk1MTQzZjBkNTg1YWE4NTIyYmJhODczODZkZjUzMzdlMDEyZjRmYmEuLjdmOTg2Nzgz
M2E3NDYyOTAyYWZiMWIzNGMzYmM5Mjc4OGRhN2Q0ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNS0wOC0xMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisK
KyAgICAgICAgW0NvY29hXSBEb3dubG9hZHMgZG8gbm90IHN0YXJ0IGlmIHBvbGljeSBkZWNpc2lv
biBpcyBtYWRlIGFzeW5jaHJvbm91c2x5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDc5ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNw
cDogVXBkYXRlZCB0byBpbmNsdWRlIFN1YnJlc291cmNlTG9hZGVyLmguCisKIDIwMTUtMDgtMTAg
IFBlciBBcm5lIFZvbGxhbiAgPHBlYXZvQG91dGxvb2suY29tPgogCiAgICAgICAgIFtXaW5dIFNt
YWxsIHJlcGFpbnQgaXNzdWVzIHdoZW4gZGV2aWNlIHNjYWxlIGZhY3RvciAhPSAxLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CmluZGV4IGQ5Mzc0MjJjMDFjMTZhYjMyNzNlODc0NjU0YjliMzI4Mzk2ZWI3ZTcuLjFiMTEzMmM2
Y2I5YjI0NWE2ZDhlMzMzNWJmMzg0ZmY3OWNmMDEzZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAxNS0wOC0xMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAg
ICAgW0NvY29hXSBEb3dubG9hZHMgZG8gbm90IHN0YXJ0IGlmIHBvbGljeSBkZWNpc2lvbiBpcyBt
YWRlIGFzeW5jaHJvbm91c2x5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDc5ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHA6IFVw
ZGF0ZWQgdG8gaW5jbHVkZSBTdWJyZXNvdXJjZUxvYWRlci5oLgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJGcmFtZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lOjpjb252
ZXJ0TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQpOiBTdGFydGVkIGEgbmV3IGRvd25sb2FkIGlm
IHRoZSBtYWluIHJlc291cmNlIGxvYWRlciBpcyBub3QgY2FsbGluZyBkaWRSZWNlaXZlUmVzcG9u
c2UuCisKIDIwMTUtMDgtMTEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAg
ICAgIFRyaWVkIGFnYWluIHRvIGZpeCB0aGUgaU9TIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKaW5kZXggZWI0ODRlMTc4Y2I0NGY5OTE4ZWQyYzU0YmFmYmZmY2IxMDMxOGE4ZC4uOTBmZWMx
ZmI0NWYxODQ0MjY3Yjc2ZGVkNDc0MTZmYmNlNzQ1MWI0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCkBAIC0xMjQsNyArMTI0LDYgQEAKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyV2lkZ2V0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgiCi0j
aW5jbHVkZSAiUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmgiCiAjaW5jbHVkZSAiU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgiCiAjaW5jbHVkZSAiU1ZH
RWxlbWVudC5oIgpAQCAtMTQ3LDYgKzE0Niw3IEBACiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5o
IgogI2luY2x1ZGUgIlN0eWxlU2hlZXRDb250ZW50cy5oIgogI2luY2x1ZGUgIlN0eWxlU2hlZXRM
aXN0LmgiCisjaW5jbHVkZSAiU3VicmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJUZXh0Tm9k
ZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlRleHRSZXNvdXJjZURlY29kZXIuaCIKICNpbmNsdWRl
ICJUcmFuc2Zvcm1Tb3VyY2UuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwCmluZGV4IDQzMGRmMDY2ZjM0NzRmZGU2MjIyMjI4OGQ3YmMxOTg4MmEwMjBlOTQuLjhjYTk3
YmE3OWU5NzI3NGQzY2M4MTNkNTI3OTYwNmJmZTc5YjY1NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMTU0LDcgKzE1NCw3IEBAIEZyYW1lTG9hZGVyKiBE
b2N1bWVudExvYWRlcjo6ZnJhbWVMb2FkZXIoKSBjb25zdAogICAgIHJldHVybiAmbV9mcmFtZS0+
bG9hZGVyKCk7CiB9CiAKLVJlc291cmNlTG9hZGVyKiBEb2N1bWVudExvYWRlcjo6bWFpblJlc291
cmNlTG9hZGVyKCkgY29uc3QKK1N1YnJlc291cmNlTG9hZGVyKiBEb2N1bWVudExvYWRlcjo6bWFp
blJlc291cmNlTG9hZGVyKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9tYWluUmVzb3VyY2UgPyBt
X21haW5SZXNvdXJjZS0+bG9hZGVyKCkgOiAwOwogfQpAQCAtNzI5LDcgKzcyOSw3IEBAIHZvaWQg
RG9jdW1lbnRMb2FkZXI6OmNvbnRpbnVlQWZ0ZXJDb250ZW50UG9saWN5KFBvbGljeUFjdGlvbiBw
b2xpY3kpCiAKICAgICAgICAgLy8gSXQgbWlnaHQgaGF2ZSBnb25lIG1pc3NpbmcKICAgICAgICAg
aWYgKG1haW5SZXNvdXJjZUxvYWRlcigpKQotICAgICAgICAgICAgbWFpblJlc291cmNlTG9hZGVy
KCktPmRpZEZhaWwoaW50ZXJydXB0ZWRGb3JQb2xpY3lDaGFuZ2VFcnJvcigpKTsKKyAgICAgICAg
ICAgIHN0YXRpY19jYXN0PFJlc291cmNlTG9hZGVyKj4obWFpblJlc291cmNlTG9hZGVyKCkpLT5k
aWRGYWlsKGludGVycnVwdGVkRm9yUG9saWN5Q2hhbmdlRXJyb3IoKSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAgICAgY2FzZSBQb2xpY3lJZ25vcmU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudExvYWRlci5oCmluZGV4IDFkNzEwMTA5ZjAwZDMzZmEzODZmMTdkMTdiM2UzMTQxN2I2MzNk
YTUuLmY1ZTk3ZGE5ZTY2NTMxNGYyZWI0YzQ1YWNjNTdmMDZhNjFiNzY3YmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCkBAIC03MCw2ICs3MCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFJlc291cmNlTG9hZGVyOwogICAg
IGNsYXNzIFNoYXJlZEJ1ZmZlcjsKKyAgICBjbGFzcyBTdWJyZXNvdXJjZUxvYWRlcjsKICAgICBj
bGFzcyBTdWJzdGl0dXRlUmVzb3VyY2U7CiAKICNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcp
CkBAIC05NCw3ICs5NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgV0VCQ09SRV9F
WFBPUlQgdmlydHVhbCB2b2lkIGRldGFjaEZyb21GcmFtZSgpOwogCiAgICAgICAgIFdFQkNPUkVf
RVhQT1JUIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWRlcigpIGNvbnN0OwotICAgICAgICBXRUJDT1JF
X0VYUE9SVCBSZXNvdXJjZUxvYWRlciogbWFpblJlc291cmNlTG9hZGVyKCkgY29uc3Q7CisgICAg
ICAgIFdFQkNPUkVfRVhQT1JUIFN1YnJlc291cmNlTG9hZGVyKiBtYWluUmVzb3VyY2VMb2FkZXIo
KSBjb25zdDsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+
IG1haW5SZXNvdXJjZURhdGEoKSBjb25zdDsKICAgICAgICAgCiAgICAgICAgIERvY3VtZW50V3Jp
dGVyJiB3cml0ZXIoKSBjb25zdCB7IHJldHVybiBtX3dyaXRlcjsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZjAwY2E5MDM0ZDM0MTk4YWYyZTI5
NjFlZGVhOGUxMzk1OTA0NTQwOS4uN2U2MGI3OTNhMmU4YWU4ZTQzZjU1ZDhkMWYzMWVkZjRiN2Q3
ZmY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCkBA
IC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkTGVha0NvdW50ZXIuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CisjaW5j
bHVkZSA8d3RmL1RlbXBvcmFyeUNoYW5nZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KIAogI2lmIFBMQVRGT1JNKElPUykKQEAgLTc2LDYgKzc3LDcgQEAgU3VicmVzb3VyY2VMb2Fk
ZXI6OlN1YnJlc291cmNlTG9hZGVyKEZyYW1lKiBmcmFtZSwgQ2FjaGVkUmVzb3VyY2UqIHJlc291
cmNlLCBjb24KICAgICAsIG1fbG9hZGluZ011bHRpcGFydENvbnRlbnQoZmFsc2UpCiAgICAgLCBt
X3N0YXRlKFVuaW5pdGlhbGl6ZWQpCiAgICAgLCBtX3JlcXVlc3RDb3VudFRyYWNrZXIoc3RkOjpt
YWtlX3VuaXF1ZTxSZXF1ZXN0Q291bnRUcmFja2VyPihmcmFtZS0+ZG9jdW1lbnQoKS0+Y2FjaGVk
UmVzb3VyY2VMb2FkZXIoKSwgcmVzb3VyY2UpKQorICAgICwgbV9jYWxsaW5nRGlkUmVjZWl2ZVJl
c3BvbnNlKGZhbHNlKQogewogI2lmbmRlZiBOREVCVUcKICAgICBzdWJyZXNvdXJjZUxvYWRlckNv
dW50ZXIuaW5jcmVtZW50KCk7CkBAIC0yMDIsNiArMjA0LDggQEAgdm9pZCBTdWJyZXNvdXJjZUxv
YWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
KQogICAgIEFTU0VSVCghcmVzcG9uc2UuaXNOdWxsKCkpOwogICAgIEFTU0VSVChtX3N0YXRlID09
IEluaXRpYWxpemVkKTsKIAorICAgIFRlbXBvcmFyeUNoYW5nZTxib29sPiBjYWxsaW5nRGlkUmVj
ZWl2ZVJlc3BvbnNlKG1fY2FsbGluZ0RpZFJlY2VpdmVSZXNwb25zZSwgdHJ1ZSk7CisKICAgICAv
LyBSZWZlcmVuY2UgdGhlIG9iamVjdCBpbiB0aGlzIG1ldGhvZCBzaW5jZSB0aGUgYWRkaXRpb25h
bCBwcm9jZXNzaW5nIGNhbiBkbwogICAgIC8vIGFueXRoaW5nIGluY2x1ZGluZyByZW1vdmluZyB0
aGUgbGFzdCByZWZlcmVuY2UgdG8gdGhpcyBvYmplY3Q7IG9uZSBleGFtcGxlIG9mIHRoaXMgaXMg
MzI2NjIxNi4KICAgICBSZWY8U3VicmVzb3VyY2VMb2FkZXI+IHByb3RlY3QoKnRoaXMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuaAppbmRleCA2OWEyNDIyOTcyMWZm
NmNhOTg5OTNhNjk5NzcwMThmZWVkOGQ1Y2Q4Li5jNmMyOGM4YTljOGNkMTJlNjdmMTQxMmQyYzY1
NjRjYzNjNjg0NTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3Vy
Y2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIu
aApAQCAtNTgsNiArNTgsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIGlPU09yaWdpbmFsUmVxdWVzdCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faU9T
T3JpZ2luYWxSZXF1ZXN0OyB9CiAjZW5kaWYKIAorICAgIGJvb2wgY2FsbGluZ0RpZFJlY2VpdmVS
ZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGluZ0RpZFJlY2VpdmVSZXNwb25zZTsgfQor
CiBwcml2YXRlOgogICAgIFN1YnJlc291cmNlTG9hZGVyKEZyYW1lKiwgQ2FjaGVkUmVzb3VyY2Uq
LCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmKTsKIApAQCAtMTI0LDYgKzEyNiw3IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX2xvYWRpbmdNdWx0aXBhcnRDb250ZW50OwogICAgIFN1YnJlc291
cmNlTG9hZGVyU3RhdGUgbV9zdGF0ZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVxdWVzdENvdW50
VHJhY2tlcj4gbV9yZXF1ZXN0Q291bnRUcmFja2VyOworICAgIGJvb2wgbV9jYWxsaW5nRGlkUmVj
ZWl2ZVJlc3BvbnNlOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5jcHAKaW5kZXggYjcxMGEyNTY3MWMzZTJm
MDJlZGY3ZWQ4OThlMTBhNzM1YzQ1ZDc2Yi4uNTJlMTQwYmIxYzRkOWM4YWVkMzBlZWY4NDE4MTAy
NTAzOWIwM2JlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2Fj
aGUvQXBwbGljYXRpb25DYWNoZUhvc3QuY3BwCkBAIC0zOSw5ICszOSw5IEBACiAjaW5jbHVkZSAi
TWFpbkZyYW1lLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NFdmVudC5oIgogI2luY2x1ZGUgIlJlc291
cmNlSGFuZGxlLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJSZXNv
dXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIlN1YnJlc291
cmNlTG9hZGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL21hYy9Eb2N1bWVudExvYWRlck1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvbWFjL0RvY3VtZW50TG9hZGVyTWFjLmNwcAppbmRleCBiNjk3YzRhMTg1MTJjNjM3
NWYyNGI0ZDE3OGIzNmRjYTM1MzI1YjUyLi43ZTc0ZjIwZjk3MmIwNzhmZTg2MmI1ODFjMjg5YmVl
ZTVkMGExMmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvbWFjL0RvY3VtZW50
TG9hZGVyTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvbWFjL0RvY3VtZW50TG9h
ZGVyTWFjLmNwcApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAKLSNpbmNsdWRlICJSZXNvdXJjZUxvYWRlci5oIgorI2lu
Y2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5tbQppbmRleCAxMTNmYTgwNjdjNjE4YTQ4ODhhYWNhMjI5MzQxNjRhZTZlOGE0YTgx
Li5jMzQ4ODBiNTY3MDY4ZDUxOWQ0YmVjMmNmNzYwYWY4NTY0MzUyYmEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5tbQpAQCAtMTExLDEwICsxMTEsMTAgQEAKICNpbXBvcnQgPFdlYkNvcmUvUHJvdGVjdGlvblNw
YWNlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQgPFdlYkNv
cmUvUmVzb3VyY2VIYW5kbGUuaD4KLSNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VMb2FkZXIuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Nj
cmlwdENvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CisjaW1w
b3J0IDxXZWJDb3JlL1N1YnJlc291cmNlTG9hZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNv
cmVPYmpDRXh0cmFzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYlNjcmlwdE9iamVjdFByaXZhdGUu
aD4KICNpbXBvcnQgPFdlYkNvcmUvV2lkZ2V0Lmg+CkBAIC0yODYsOCArMjg2LDkgQEAgdm9pZCBX
ZWJGcmFtZUxvYWRlckNsaWVudDo6ZGV0YWNoZWRGcm9tUGFyZW50MygpCiB2b2lkIFdlYkZyYW1l
TG9hZGVyQ2xpZW50Ojpjb252ZXJ0TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQoRG9jdW1lbnRM
b2FkZXIqIGRvY3VtZW50TG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewogICAgIFdlYlZpZXcgKndlYlZpZXcg
PSBnZXRXZWJWaWV3KG1fd2ViRnJhbWUuZ2V0KCkpOworICAgIFN1YnJlc291cmNlTG9hZGVyKiBt
YWluUmVzb3VyY2VMb2FkZXIgPSBkb2N1bWVudExvYWRlci0+bWFpblJlc291cmNlTG9hZGVyKCk7
CiAKLSAgICBpZiAoIWRvY3VtZW50TG9hZGVyLT5tYWluUmVzb3VyY2VMb2FkZXIoKSkgeworICAg
IGlmICghbWFpblJlc291cmNlTG9hZGVyIHx8ICFtYWluUmVzb3VyY2VMb2FkZXItPmNhbGxpbmdE
aWRSZWNlaXZlUmVzcG9uc2UoKSkgewogICAgICAgICAvLyBUaGUgcmVzb3VyY2UgaGFzIGFscmVh
ZHkgYmVlbiBjYWNoZWQsIHN0YXJ0IGEgbmV3IGRvd25sb2FkLgogI3ByYWdtYSBjbGFuZyBkaWFn
bm9zdGljIHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0
ZWQtZGVjbGFyYXRpb25zIgpAQCAtMjk3LDcgKzI5OCw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJD
bGllbnQ6OmNvbnZlcnRNYWluUmVzb3VyY2VMb2FkVG9Eb3dubG9hZChEb2N1bWVudExvYWRlciog
ZG9jCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxl
ID0gZG9jdW1lbnRMb2FkZXItPm1haW5SZXNvdXJjZUxvYWRlcigpLT5oYW5kbGUoKTsKKyAgICBS
ZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gbWFpblJlc291cmNlTG9hZGVyLT5oYW5kbGUoKTsKIAog
I2lmIFVTRShDRk5FVFdPUkspCiAgICAgQVNTRVJUKFtXZWJEb3dubG9hZCByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKF9kb3dubG9hZFdpdGhMb2FkaW5nQ0ZVUkxDb25uZWN0aW9uOnJlcXVl
c3Q6cmVzcG9uc2U6ZGVsZWdhdGU6cHJveHk6KV0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IGE4
MjUzZDM0ZDFhYWY0NzU2YTI0ZWJjZjcwMzA3YTUxMmY5ZTc2NmYuLjI0ZWYxOWNkYjc3YzdjNDQw
Mjg4NzA5Mjg2NjQxMDE3MDUzNGE1YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTc5LDkgKzc5
LDkgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1BvbGljeUNoZWNrZXIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1JlbmRlcldpZGdldC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4K
LSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9T
Y3JpcHRDb250cm9sbGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXR0aW5ncy5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvU3VicmVzb3VyY2VMb2FkZXIuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZDg1NWJi
ZDc5NWViYjI4ZGNjZjdmMjQ1NjZiOGFiZDc3OTAwYjhlNS4uNzc2Njc4MTlhMGU2NDJkNWFlODgw
ZGUwNDRkNGI0OTExOGI0NWRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC00MCw2ICs0MCw3IEBACiAj
aW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVz
b3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkZXIuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL1N1YnJlc291cmNlTG9hZGVyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
RnJhbWUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNw
cAppbmRleCBmMThkZTUxNmEyOTVkMWE5ZGU4OWU0ZTM5MGRiYTU5Y2EyOGJjMDEzLi41YjMzMTUz
NTJhNDBiYTk1Njg1NjAxYTU5YmNmMjRmOGJmNTA4ZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAKQEAgLTcwLDkgKzcwLDkgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL1BhZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRvY3VtZW50Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJUcmVlQXNUZXh0Lmg+Ci0jaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZUxvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2NyaXB0Q29udHJvbGxlci5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1N1YnJlc291cmNlTG9hZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0SXRlcmF0b3IuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1RleHRSZXNvdXJjZURlY29kZXIuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdCdWlsZGVyLmg+CkBAIC0yNzQsMTUgKzI3NCwxNiBAQCB2b2lkIFdlYkZyYW1l
Ojpjb252ZXJ0TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQoRG9jdW1lbnRMb2FkZXIqIGRvY3Vt
ZW50TG9hZGVyLAogICAgIHVpbnQ2NF90IHBvbGljeURvd25sb2FkSUQgPSBtX3BvbGljeURvd25s
b2FkSUQ7CiAgICAgbV9wb2xpY3lEb3dubG9hZElEID0gMDsKIAotICAgIFJlc291cmNlTG9hZGVy
KiBtYWluUmVzb3VyY2VMb2FkZXIgPSBkb2N1bWVudExvYWRlci0+bWFpblJlc291cmNlTG9hZGVy
KCk7CisgICAgU3VicmVzb3VyY2VMb2FkZXIqIG1haW5SZXNvdXJjZUxvYWRlciA9IGRvY3VtZW50
TG9hZGVyLT5tYWluUmVzb3VyY2VMb2FkZXIoKTsKIAogICAgIGF1dG8mIHdlYlByb2Nlc3MgPSBX
ZWJQcm9jZXNzOjpzaW5nbGV0b24oKTsKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQogICAg
IGlmICh3ZWJQcm9jZXNzLnVzZXNOZXR3b3JrUHJvY2VzcygpKSB7Ci0gICAgICAgIC8vIFVzZSAw
IHRvIGluZGljYXRlIHRoYXQgdGhlcmUgaXMgbm8gbWFpbiByZXNvdXJjZSBsb2FkZXIuCi0gICAg
ICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgbWFpbiByZXNvdXJjZSBpcyBpbiB0aGUgV2Vi
Q29yZSBtZW1vcnkgY2FjaGUuCisgICAgICAgIC8vIFVzZSAwIHRvIGluZGljYXRlIHRoYXQgdGhl
IHJlc291cmNlIGxvYWQgY2FuJ3QgYmUgY29udmVydGVkIGFuZCBhIG5ldyBkb3dubG9hZCBtdXN0
IGJlIHN0YXJ0ZWQuCisgICAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGVyZSBpcyBubyBs
b2FkZXIgYmVjYXVzZSB0aGUgbWFpbiByZXNvdXJjZSBpcyBpbiB0aGUgV2ViQ29yZSBtZW1vcnkg
Y2FjaGUsCisgICAgICAgIC8vIG9yIGJlY2F1c2UgdGhlIGNvbnZlcnNpb24gd2FzIGF0dGVtcHRl
ZCB3aGVuIG5vdCBjYWxsaW5nIFN1YnJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2Uo
KS4KICAgICAgICAgdWludDY0X3QgbWFpblJlc291cmNlTG9hZElkZW50aWZpZXI7Ci0gICAgICAg
IGlmIChtYWluUmVzb3VyY2VMb2FkZXIpCisgICAgICAgIGlmIChtYWluUmVzb3VyY2VMb2FkZXIg
JiYgbWFpblJlc291cmNlTG9hZGVyLT5jYWxsaW5nRGlkUmVjZWl2ZVJlc3BvbnNlKCkpCiAgICAg
ICAgICAgICBtYWluUmVzb3VyY2VMb2FkSWRlbnRpZmllciA9IG1haW5SZXNvdXJjZUxvYWRlci0+
aWRlbnRpZmllcigpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBtYWluUmVzb3VyY2VMb2Fk
SWRlbnRpZmllciA9IDA7CkBAIC0yOTIsNyArMjkzLDcgQEAgdm9pZCBXZWJGcmFtZTo6Y29udmVy
dE1haW5SZXNvdXJjZUxvYWRUb0Rvd25sb2FkKERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRl
ciwKICAgICB9CiAjZW5kaWYKIAotICAgIGlmICghbWFpblJlc291cmNlTG9hZGVyKSB7CisgICAg
aWYgKCFtYWluUmVzb3VyY2VMb2FkZXIgfHwgIW1haW5SZXNvdXJjZUxvYWRlci0+Y2FsbGluZ0Rp
ZFJlY2VpdmVSZXNwb25zZSgpKSB7CiAgICAgICAgIC8vIFRoZSBtYWluIHJlc291cmNlIGhhcyBh
bHJlYWR5IGJlZW4gbG9hZGVkLiBTdGFydCBhIG5ldyBkb3dubG9hZCBpbnN0ZWFkLgogICAgICAg
ICB3ZWJQcm9jZXNzLmRvd25sb2FkTWFuYWdlcigpLnN0YXJ0RG93bmxvYWQocG9saWN5RG93bmxv
YWRJRCwgcmVxdWVzdCk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiNWNiZDBiZWMzOWNjNGRlNDA5ZDI4MDY0NmE3
OGE5YWZiNTE2NzFlLi5hZGU4NDAzMjFkZjM2NWI5NzZkNjVjODE2NDgzMGUyYTY4NjFlYjAxIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTUtMDgtMTMgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisg
ICAgICAgIFtDb2NvYV0gRG93bmxvYWRzIGRvIG5vdCBzdGFydCBpZiBwb2xpY3kgZGVjaXNpb24g
aXMgbWFkZSBhc3luY2hyb25vdXNseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ3OTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgYSBuZXcgQVBJIHRlc3QuCisKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Eb3dubG9hZC5tbToKKyAgICAgICAgKC1bQXN5bmNo
cm9ub3VzRG93bmxvYWROYXZpZ2F0aW9uRGVsZWdhdGUgd2ViVmlldzpkZWNpZGVQb2xpY3lGb3JO
YXZpZ2F0aW9uUmVzcG9uc2U6ZGVjaXNpb25IYW5kbGVyOl0pOgorICAgICAgICAoLVtBc3luY2hy
b25vdXNEb3dubG9hZERlbGVnYXRlIF9kb3dubG9hZERpZFN0YXJ0Ol0pOgorICAgICAgICAoVEVT
VCk6CisKIDIwMTUtMDgtMTEgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAK
ICAgICAgICAgW1dpbl0gU3dpdGNoIFdpbmRvd3MgYnVpbGQgdG8gVmlzdWFsIFN0dWRpbyAyMDE1
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Eb3du
bG9hZC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0Rvd25sb2Fk
Lm1tCmluZGV4IDkyMjcyMjBkMWM2NjZkYzUzOWE4ODIxMjk1YjI2NjQzNmU3ZGNlODMuLmMzZjdi
ZWVmOGYwNDQ2NGJkNDkzYmIyYzJmNzY2NjE1MjI5MDUxNWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0Rvd25sb2FkLm1tCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0Rvd25sb2FkLm1tCkBAIC0yNjUsNSArMjY1
LDM0IEBAIFRFU1QoX1dLRG93bmxvYWQsIE9yaWdpbmF0aW5nV2ViVmlldykKICAgICBUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpydW4oJmlzRG9uZSk7CiB9CiAKK0BpbnRlcmZhY2UgQXN5bmNocm9ub3Vz
RG93bmxvYWROYXZpZ2F0aW9uRGVsZWdhdGUgOiBOU09iamVjdCA8V0tOYXZpZ2F0aW9uRGVsZWdh
dGU+CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBBc3luY2hyb25vdXNEb3dubG9hZE5hdmlnYXRp
b25EZWxlZ2F0ZQorLSAodm9pZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRlY2lkZVBv
bGljeUZvck5hdmlnYXRpb25SZXNwb25zZTooV0tOYXZpZ2F0aW9uUmVzcG9uc2UgKiluYXZpZ2F0
aW9uUmVzcG9uc2UgZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShXS05hdmlnYXRpb25SZXNwb25z
ZVBvbGljeSkpZGVjaXNpb25IYW5kbGVyCit7CisgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hf
Z2V0X21haW5fcXVldWUoKSwgXiB7CisgICAgICAgIGRlY2lzaW9uSGFuZGxlcihfV0tOYXZpZ2F0
aW9uUmVzcG9uc2VQb2xpY3lCZWNvbWVEb3dubG9hZCk7CisgICAgfSk7Cit9CitAZW5kCisKK0Bp
bnRlcmZhY2UgQXN5bmNocm9ub3VzRG93bmxvYWREZWxlZ2F0ZSA6IE5TT2JqZWN0IDxfV0tEb3du
bG9hZERlbGVnYXRlPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gQXN5bmNocm9ub3VzRG93bmxv
YWREZWxlZ2F0ZQorCistICh2b2lkKV9kb3dubG9hZERpZFN0YXJ0OihfV0tEb3dubG9hZCAqKWRv
d25sb2FkCit7CisgICAgaXNEb25lID0gdHJ1ZTsKK30KKworQGVuZAorCitURVNUKF9XS0Rvd25s
b2FkLCBBc3luY2hyb25vdXNEb3dubG9hZFBvbGljeSkKK3sKKyAgICBydW5UZXN0KGFkb3B0TlMo
W1tBc3luY2hyb25vdXNEb3dubG9hZE5hdmlnYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pLmdl
dCgpLCBhZG9wdE5TKFtbQXN5bmNocm9ub3VzRG93bmxvYWREZWxlZ2F0ZSBhbGxvY10gaW5pdF0p
LmdldCgpLCBzb3VyY2VVUkwpOworfQorCiAjZW5kaWYKICNlbmRpZgo=
</data>
<flag name="review"
          id="284130"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>