<?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>162357</bug_id>
          
          <creation_ts>2016-09-21 13:44:18 -0700</creation_ts>
          <short_desc>support openPaymentSetup API on ApplePaySession object</short_desc>
          <delta_ts>2016-09-22 09:00:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>japhet</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mkwst</cc>
    
    <cc>ossy</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1232166</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-09-21 13:44:18 -0700</bug_when>
    <thetext>support openPaymentSetup API on ApplePaySession object</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232172</commentid>
    <comment_count>1</comment_count>
      <attachid>289475</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-09-21 13:54:25 -0700</bug_when>
    <thetext>Created attachment 289475
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232173</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-21 13:55:31 -0700</bug_when>
    <thetext>Attachment 289475 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:226:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/Modules/applepay/PaymentCoordinatorClient.h:45:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/WebProcess/ApplePay/WebPaymentCoordinator.cpp:94:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/Modules/applepay/PaymentCoordinator.cpp:63:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/WebProcess/ApplePay/WebPaymentCoordinator.h:59:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/WebProcess/ApplePay/WebPaymentCoordinator.h:88:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:98:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit/mac/WebCoreSupport/WebPaymentCoordinatorClient.mm:58:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/Modules/applepay/PaymentCoordinator.h:52:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit/mac/WebCoreSupport/WebPaymentCoordinatorClient.h:42:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/loader/EmptyClients.cpp:61:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 11 in 20 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232210</commentid>
    <comment_count>3</comment_count>
      <attachid>289475</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-09-21 15:38:02 -0700</bug_when>
    <thetext>Comment on attachment 289475
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        Perform security checks and then call into the PaymentCoordiantor. In its completion handler, we resolve the promise.

COORDINATOR

&gt; Source/WebCore/Modules/applepay/ApplePaySession.cpp:779
&gt; +        window.printErrorMessage(&quot;Must call ApplePaySession.openPaymemntSetup from a user gesture handler.&quot;);

PAYMENT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232214</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-09-21 15:54:07 -0700</bug_when>
    <thetext>Committed r206238: &lt;http://trac.webkit.org/changeset/206238&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232313</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-09-21 22:27:49 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Committed r206238: &lt;http://trac.webkit.org/changeset/206238&gt;

One of the unreviewed fix after this patch broke the iOS build:
https://build.webkit.org/builders/Apple%20iOS%2010%20Release%20%28Build%29/builds/189</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232450</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-09-22 09:00:57 -0700</bug_when>
    <thetext>just to document, fixed by https://trac.webkit.org/changeset/206258</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289475</attachid>
            <date>2016-09-21 13:54:25 -0700</date>
            <delta_ts>2016-09-21 15:38:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162357-20160921135137.patch</filename>
            <type>text/plain</type>
            <size>24289</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTY0MzY1NjAyMjc1ZjU2
MjA2ZTVhM2M1YjczZTMxODlmNWZkN2U2OS4uZGE5MWE3YWU3MmQ1ZWY5ZGUxNjgwNzIxYTczZmUy
OTA4MWJmMzc2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE2LTA5LTIxICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgc3VwcG9ydCBvcGVu
UGF5bWVudFNldHVwIEFQSSBvbiBBcHBsZVBheVNlc3Npb24gb2JqZWN0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjIzNTcKKyAgICAgICAgcmRhcjov
L3Byb2JsZW0vMjY3NzY5MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6b3BlblBheW1lbnRTZXR1cCk6CisgICAgICAg
IFBlcmZvcm0gc2VjdXJpdHkgY2hlY2tzIGFuZCB0aGVuIGNhbGwgaW50byB0aGUgUGF5bWVudENv
b3JkaWFudG9yLiBJbiBpdHMgY29tcGxldGlvbiBoYW5kbGVyLCB3ZSByZXNvbHZlIHRoZSBwcm9t
aXNlLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaDoKKyAg
ICAgICAgQWRkIG5ldyBtZW1iZXJzLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVNlc3Npb24uaWRsOgorICAgICAgICBBZGQgb3BlblBheW1lbnRTZXR1cCBkZWNsYXJhdGlv
bi4KKworICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cCk6
CisgICAgICAgIENhbGwgdGhyb3VnaCB0byB0aGUgY2xpZW50cy4KKworICAgICAgICAqIE1vZHVs
ZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmg6CisgICAgICAgICogTW9kdWxlcy9hcHBs
ZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaDoKKyAgICAgICAgQWRkIG5ldyBtZW1iZXJz
LgorCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAgICAgIEFkZCBuZXcg
c3R1Yi4KKworICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmg6CisgICAg
ICAgIEFkZCBTUEkgZGVjbGFyYXRpb24uCisKIDIwMTYtMDktMjEgIEtlaXRoIE1pbGxlciAgPGtl
aXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgQXR0ZW1wdCB0byBmaXggd2luZG93cyBi
dWlsZCBhZnRlciByMjA2MjIyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDhmNmI4NzQyOTNiMGFmZjY4
Y2NmODRmMjIwMWQ4OTQ0MmY4ZThkZTcuLjM4NTE4NGQ0NTJlZGZmNTc1MzBkOWU5OWJkNzM5YTQ4
M2VkMTY5NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNi0wOS0yMSAg
QW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQg
b3BlblBheW1lbnRTZXR1cCBBUEkgb24gQXBwbGVQYXlTZXNzaW9uIG9iamVjdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyMzU3CisgICAgICAgIHJk
YXI6Ly9wcm9ibGVtLzI2Nzc2OTM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIG9wZW5QYXltZW50U2V0dXAgc3R1Yi4KKworICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oOgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5tbToKKyAgICAgICAgKFdl
YlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6b3BlblBheW1lbnRTZXR1cCk6CisKIDIwMTYtMDkt
MTkgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBF
TkFCTEUoVEVYVF9BVVRPU0laSU5HKSBhdXRvbWF0aWMgdGV4dCBzaXplIGFkanVzdG1lbnQgY29k
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IDIzMjI5MzY0MTExOWNjZWU2OTRlYzhhNjM2NTRhOTI1ZjMxODkzNjYu
LmMxNzMyYTg1ZjlmOTNlMDc2ZjQ0NzVkZTI1OGVlYzI0N2I0YjM4ZmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw0MSBAQAorMjAxNi0wOS0yMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBw
bGUuY29tPgorCisgICAgICAgIHN1cHBvcnQgb3BlblBheW1lbnRTZXR1cCBBUEkgb24gQXBwbGVQ
YXlTZXNzaW9uIG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTYyMzU3CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzI2Nzc2OTM5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQXBw
bGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6b3BlblBheW1lbnRTZXR1cCk6CisgICAgICAgIENh
bGwgdGhyb3VnaCB0byBwbGF0Zm9ybU9wZW5QYXltZW50U2V0dXAsIGFuZCBpbiB0aGUgY29tcGxl
dGlvbiBoYW5kbGVyLCBzZW5kIGJhY2sgYSBPcGVuUGF5bWVudFNldHVwUmVwbHkgbWVzc2FnZS4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eS5oOgorICAgICAgICBBZGQgbmV3IG1lbWJlcnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQXBw
bGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgIEFk
ZCBPcGVuUGF5bWVudFNldHVwIG1lc3NhZ2UuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQXBwbGVQ
YXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtT3BlblBheW1lbnRTZXR1
cCk6CisgICAgICAgIEFsbG9jYXRlIGEgUEtQYXNzTGlicmFyeSBhbmQgY2FsbCBvcGVuUGF5bWVu
dFNldHVwRm9yTWVyY2hhbnRJZGVudGlmaWVyOmRvbWFpbjpjb21wbGV0aW9uOiBvbiBpdC4KKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVPcGVuUGF5bWVudFNldHVwUmVwbHlJRCk6CisgICAg
ICAgIE5ldyBoZWxwZXIgZnVuY3Rpb24gdG8gZ2VuZXJhdGUgYSByZXBseSBJRC4KKworICAgICAg
ICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3I6Om9wZW5QYXltZW50U2V0dXApOgorICAg
ICAgICBBZGQgdGhlIGNvbXBsZXRpb24gaGFuZGxlciB0byBtX3BlbmRpbmdPcGVuUGF5bWVudFNl
dHVwQ2FsbGJhY2tzIGFuZCBzZW5kIGEgT3BlblBheW1lbnRTZXR1cCBtZXNzYWdlIHRvIHRoZSBV
SSBwcm9jZXNzLgorCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6b3Bl
blBheW1lbnRTZXR1cFJlcGx5KToKKyAgICAgICAgR3JhYiB0aGUgY2FsbGJhY2sgZ2l2ZW4gaXRz
IElEIGFuZCBpbnZva2UgaXQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBh
eW1lbnRDb29yZGluYXRvci5oOgorICAgICAgICBBZGQgbmV3IG1lbWJlcnMuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5tZXNzYWdlcy5pbjoK
KyAgICAgICAgQWRkIE9wZW5QYXltZW50U2V0dXBSZXBseSBtZXNzYWdlLgorCiAyMDE2LTA5LTIx
ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVr
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcAppbmRleCBjOGMwNjkyNTBj
ZTJiYjYzNDkyNWMwZmRjZTMwZmVjZmM1Y2YwODZjLi5hMzBmNDc0MDZkMTNkZTI2NzFmMjk0OGMz
OTBhN2FhNGZlOWFiYTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCkBAIC03NjMsNiArNzYzLDMyIEBAIHZvaWQgQXBwbGVQ
YXlTZXNzaW9uOjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBzY3JpCiAgICAgfSk7CiB9CiAKK3ZvaWQgQXBwbGVQYXlTZXNzaW9uOjpvcGVuUGF5
bWVudFNldHVwKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBSZWY8RGVmZXJyZWRXcmFwcGVyPiYm
IHBhc3NlZFByb21pc2UsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGF1dG8mIGRvY3VtZW50
ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOworICAgIERPTVdp
bmRvdyYgd2luZG93ID0gKmRvY3VtZW50LmRvbVdpbmRvdygpOworCisgICAgU3RyaW5nIGVycm9y
TWVzc2FnZTsKKyAgICBpZiAoIWNhbkNhbGxBcHBsZVBheVNlc3Npb25BUElzKGRvY3VtZW50LCBl
cnJvck1lc3NhZ2UpKSB7CisgICAgICAgIHdpbmRvdy5wcmludEVycm9yTWVzc2FnZShlcnJvck1l
c3NhZ2UpOworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGlmICghU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKCkpIHsKKyAgICAgICAgd2luZG93LnByaW50RXJyb3JNZXNzYWdlKCJNdXN0IGNhbGwgQXBw
bGVQYXlTZXNzaW9uLm9wZW5QYXltZW1udFNldHVwIGZyb20gYSB1c2VyIGdlc3R1cmUgaGFuZGxl
ci4iKTsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBSZWZQdHI8RGVmZXJyZWRXcmFwcGVyPiBwcm9taXNlKFdURk1vdmUocGFz
c2VkUHJvbWlzZSkpOworICAgIGF1dG8mIHBheW1lbnRDb29yZGluYXRvciA9IGRvY3VtZW50LmZy
YW1lKCktPm1haW5GcmFtZSgpLnBheW1lbnRDb29yZGluYXRvcigpOworCisgICAgcGF5bWVudENv
b3JkaW5hdG9yLm9wZW5QYXltZW50U2V0dXAobWVyY2hhbnRJZGVudGlmaWVyLCBkb2N1bWVudC5k
b21haW4oKSwgW3Byb21pc2VdKGJvb2wgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgcHJvbWlz
ZS0+cmVzb2x2ZShyZXN1bHQpOworICAgIH0pOworfQorCiB2b2lkIEFwcGxlUGF5U2Vzc2lvbjo6
YmVnaW4oRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgYXV0byYgZG9jdW1lbnQgPSAqZG93bmNh
c3Q8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaAppbmRleCBmNjMzOWI0Y2Jj
YmEyZGU2MWI5NDRhZTI4OWQ3MjRkN2UxMThlNDhkLi5iY2VjMDY5Y2NmMzUzOWEyMGFhNGJlMzM5
ZGRlY2I1NzM5ZTMxOTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlTZXNzaW9uLmgKQEAgLTY0LDYgKzY0LDcgQEAgcHVibGljOgogICAgIHN0YXRp
YyBib29sIHN1cHBvcnRzVmVyc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgdW5zaWduZWQg
dmVyc2lvbiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHN0YXRpYyBib29sIGNhbk1ha2VQYXltZW50
cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHN0YXRpYyB2
b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgUmVmPERlZmVycmVkV3JhcHBlcj4m
JiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHN0YXRpYyB2b2lkIG9wZW5QYXltZW50U2V0dXAoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBS
ZWY8RGVmZXJyZWRXcmFwcGVyPiYmLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICB2b2lkIGJlZ2lu
KEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIGFib3J0KEV4Y2VwdGlvbkNvZGUmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmlkbApp
bmRleCBkOTY4NDNkNjlmODNhNGVjMTczOTRkZjEyOTEzYzU4OGMyZDEwMTExLi45NzkzNmY5NmQy
MGY3OWMzYTJlOGI4NWU4NGE1YmQ3ODBlYTUzOGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsCkBAIC00Myw2ICs0Myw3IEBA
CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJhaXNlc0V4Y2VwdGlvbl0g
c3RhdGljIGJvb2xlYW4gc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIGxvbmcgdmVyc2lvbik7CiAg
ICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJhaXNlc0V4Y2VwdGlvbl0gc3Rh
dGljIGJvb2xlYW4gY2FuTWFrZVBheW1lbnRzKCk7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsIFJhaXNlc0V4Y2VwdGlvbl0gc3RhdGljIFByb21pc2UgY2FuTWFrZVBheW1l
bnRzV2l0aEFjdGl2ZUNhcmQoRE9NU3RyaW5nIG1lcmNoYW50SWRlbnRpZmllcik7CisgICAgW0Nh
bGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJhaXNlc0V4Y2VwdGlvbl0gc3RhdGljIFBy
b21pc2Ugb3BlblBheW1lbnRTZXR1cChET01TdHJpbmcgbWVyY2hhbnRJZGVudGlmaWVyKTsKIAog
ICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgYmVnaW4oKTsKICAgICBbUmFpc2VzRXhjZXB0aW9u
XSB2b2lkIGFib3J0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAKaW5kZXggYzc5OWY3NjViNDBkYzc0OTVkZTE0NmU1
N2ViNzY3ZjJjYTkyNDRiNS4uMGQ0YmRiZTcyZjNhYTM1ZDU0NDcwY2EzMzBhODAxMDdlNTliNWM4
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29v
cmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVu
dENvb3JkaW5hdG9yLmNwcApAQCAtNjAsNiArNjAsMTEgQEAgdm9pZCBQYXltZW50Q29vcmRpbmF0
b3I6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJ
ZGUKICAgICBtX2NsaWVudC5jYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChtZXJjaGFudElk
ZW50aWZpZXIsIGRvbWFpbk5hbWUsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAor
dm9pZCBQYXltZW50Q29vcmRpbmF0b3I6Om9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBt
ZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgc3RkOjpmdW5jdGlv
bjx2b2lkIChib29sKT4gY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgbV9jbGllbnQub3BlblBh
eW1lbnRTZXR1cChtZXJjaGFudElkZW50aWZpZXIsIGRvbWFpbk5hbWUsIFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKK30KKwogYm9vbCBQYXltZW50Q29vcmRpbmF0b3I6OmJlZ2luUGF5bWVu
dFNlc3Npb24oQXBwbGVQYXlTZXNzaW9uJiBwYXltZW50U2Vzc2lvbiwgY29uc3QgVVJMJiBvcmln
aW5hdGluZ1VSTCwgY29uc3QgVmVjdG9yPFVSTD4mIGxpbmtJY29uVVJMcywgY29uc3QgUGF5bWVu
dFJlcXVlc3QmIHBheW1lbnRSZXF1ZXN0KQogewogICAgIEFTU0VSVCghbV9hY3RpdmVTZXNzaW9u
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENv
b3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29y
ZGluYXRvci5oCmluZGV4IGQyN2MxY2QyODRiNTZiYmNlMzlmMzFlMDVmMGFlMGI4MDcyMGJiYjIu
LjdjOGIyMzRjNTdiZWM3OTE5NTkzZmMzZmQ5OGQ1MTM5ZTU4MjRkYTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuaApAQCAt
NDksNiArNDksNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQg
dmVyc2lvbik7CiAgICAgYm9vbCBjYW5NYWtlUGF5bWVudHMoKTsKICAgICB2b2lkIGNhbk1ha2VQ
YXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoYm9vbCk+IGNvbXBs
ZXRpb25IYW5kbGVyKTsKKyAgICB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBt
ZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgc3RkOjpmdW5jdGlv
bjx2b2lkIChib29sKT4gY29tcGxldGlvbkhhbmRsZXIpOwogCiAgICAgYm9vbCBoYXNBY3RpdmVT
ZXNzaW9uKCkgY29uc3QgeyByZXR1cm4gbV9hY3RpdmVTZXNzaW9uOyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNs
aWVudC5oCmluZGV4IGUwZTBkZWNjZWQ2NmE4NmJlOWU2NWUwNTg5YTk4ZjQxMjM1NTUxOGUuLmZj
ZjdlMTkxN2NhZmYwYjBhMWNlY2MyNjVjNThlNDJmNjJmYmJlYzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGll
bnQuaApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRz
VmVyc2lvbih1bnNpZ25lZCB2ZXJzaW9uKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGNhbk1ha2VQ
YXltZW50cygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2
ZUNhcmQoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9t
YWluTmFtZSwgc3RkOjpmdW5jdGlvbjx2b2lkIChib29sKT4gY29tcGxldGlvbkhhbmRsZXIpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgb3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNo
YW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBzdGQ6OmZ1bmN0aW9uPHZv
aWQgKGJvb2wpPiBjb21wbGV0aW9uSGFuZGxlcikgPSAwOwogCiAgICAgdmlydHVhbCBib29sIHNo
b3dQYXltZW50VUkoY29uc3QgVVJMJiBvcmlnaW5hdGluZ1VSTCwgY29uc3QgVmVjdG9yPFVSTD4m
IGxpbmtJY29uVVJMcywgY29uc3QgUGF5bWVudFJlcXVlc3QmKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0IFBheW1lbnRNZXJjaGFudFNlc3Np
b24mKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IGJhYmUx
ODMzMDExY2FmNTVkZjUxYTY4NTY3NDhhMzQ0ZDNiMmExOGMuLjBlNGZiZTk2NzI2NGFiYmM3ODU5
ZjcxNTI2MzY0NzQxOWMzNGQ1NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMu
Y3BwCkBAIC01OCw2ICs1OCw4IEBAIGNsYXNzIEVtcHR5UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
IGZpbmFsIDogcHVibGljIFBheW1lbnRDb29yZGluYXRvckNsaWVudCB7CiAgICAgYm9vbCBzdXBw
b3J0c1ZlcnNpb24odW5zaWduZWQpIG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9v
bCBjYW5NYWtlUGF5bWVudHMoKSBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZvaWQg
Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5n
Jiwgc3RkOjpmdW5jdGlvbjx2b2lkIChib29sKT4gY29tcGxldGlvbkhhbmRsZXIpIG92ZXJyaWRl
IHsgY2FsbE9uTWFpblRocmVhZChbY29tcGxldGlvbkhhbmRsZXJdIHsgY29tcGxldGlvbkhhbmRs
ZXIoZmFsc2UpOyB9KTsgfQorICAgIHZvaWQgb3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcm
LCBjb25zdCBTdHJpbmcmLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGJvb2wpPiBjb21wbGV0aW9uSGFu
ZGxlcikgb3ZlcnJpZGUgeyBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0aW9uSGFuZGxlcl0geyBj
b21wbGV0aW9uSGFuZGxlcihmYWxzZSk7IH0pOyB9CisKICAgICBib29sIHNob3dQYXltZW50VUko
Y29uc3QgVVJMJiwgY29uc3QgVmVjdG9yPFVSTD4mLCBjb25zdCBQYXltZW50UmVxdWVzdCYpIG92
ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdm9pZCBjb21wbGV0ZU1lcmNoYW50VmFsaWRh
dGlvbihjb25zdCBQYXltZW50TWVyY2hhbnRTZXNzaW9uJikgb3ZlcnJpZGUgeyB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCmluZGV4IDJhNjNj
ZjUyNDFkZGM5OTM1OTljYTg5YWFmZWJlZWI4MjkyYzk1YmEuLmE4YTQ0NjVjOTQyOTcyNWJiOTk4
MTY5NTFjOTc1OGEyMTU0MzY5ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L2NvY29hL1Bhc3NLaXRTUEkuaApAQCAtMjMyLDMgKzIzMiwxMSBAQCB0eXBlZGVmIE5TX0VOVU0o
TlNJbnRlZ2VyLCBQS1BheW1lbnRCdXR0b25UeXBlKSB7CiAKIGV4dGVybiAiQyIKIHZvaWQgUEtE
cmF3QXBwbGVQYXlCdXR0b24oX05vbm51bGwgQ0dDb250ZXh0UmVmLCBDR1JlY3QgZHJhd1JlY3Qs
IENHRmxvYXQgc2NhbGUsIFBLUGF5bWVudEJ1dHRvblR5cGUsIFBLUGF5bWVudEJ1dHRvblN0eWxl
LCBOU1N0cmluZyAqIF9OdWxsYWJsZSBsYW5ndWFnZUNvZGUpOworCitOU19BU1NVTUVfTk9OTlVM
TF9CRUdJTgorCitAaW50ZXJmYWNlIFBLUGFzc0xpYnJhcnkgKCkKKy0gKHZvaWQpb3BlblBheW1l
bnRTZXR1cEZvck1lcmNoYW50SWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlmaWVyIGRvbWFp
bjooTlNTdHJpbmcgKilkb21haW4gY29tcGxldGlvbjoodm9pZCheKShCT09MIHN1Y2Nlc3MpKWNv
bXBsZXRpb247CitAZW5kCisKK05TX0FTU1VNRV9OT05OVUxMX0VORApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0
b3JDbGllbnQuaAppbmRleCA2YWJhMzU4Y2I3OTJhMTM3M2YwMTk0OTM4OTFkYmIzMDMxYjEyMWM2
Li5jZmZjMTEzYWRlYjM3NzQ0MGE0NzhiZjEwZjk5ZDgwYzc1NTkwMDMwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29v
cmRpbmF0b3JDbGllbnQuaApAQCAtMzksNiArMzksNyBAQCBwcml2YXRlOgogICAgIGJvb2wgc3Vw
cG9ydHNWZXJzaW9uKHVuc2lnbmVkKSBvdmVycmlkZTsKICAgICBib29sIGNhbk1ha2VQYXltZW50
cygpIG92ZXJyaWRlOwogICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29u
c3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgc3RkOjpmdW5jdGlvbjx2b2lkIChib29sKT4gY29t
cGxldGlvbkhhbmRsZXIpIG92ZXJyaWRlOworICAgIHZvaWQgb3BlblBheW1lbnRTZXR1cChjb25z
dCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBz
dGQ6OmZ1bmN0aW9uPHZvaWQgKGJvb2wpPiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJpZGU7CiAg
ICAgYm9vbCBzaG93UGF5bWVudFVJKGNvbnN0IFdlYkNvcmU6OlVSTCYsIGNvbnN0IFZlY3RvcjxX
ZWJDb3JlOjpVUkw+JiBsaW5rSWNvblVSTHMsIGNvbnN0IFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihjb25zdCBX
ZWJDb3JlOjpQYXltZW50TWVyY2hhbnRTZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21w
bGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9u
U3RhdHVzLCBPcHRpb25hbDxXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRl
bXM+IG5ld1RvdGFsQW5kSXRlbXMpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
Lm1tCmluZGV4IGJiYjU4MWIxNDcyMjQ1MTE4ZmU1ZmQ5ZTFjZGQxMTM4MDY3Yzg1N2MuLjgwYjRm
N2Y0ZmQyY2U1ZjFiYmMxYWFhZTAzOWFkNmEyZWJhM2Y4MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0
b3JDbGllbnQubW0KQEAgLTU1LDYgKzU1LDEzIEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9y
Q2xpZW50OjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmLCBjCiAg
ICAgfSk7CiB9CiAKK3ZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50OjpvcGVuUGF5bWVu
dFNldHVwKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIHN0ZDo6ZnVuY3Rpb248dm9pZCAo
Ym9vbCk+IGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGNhbGxPbk1haW5UaHJlYWQoW2NvbXBs
ZXRpb25IYW5kbGVyXSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICB9
KTsKK30KKwogYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OnNob3dQYXltZW50VUko
Y29uc3QgV2ViQ29yZTo6VVJMJiwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OlVSTD4mLCBjb25zdCBX
ZWJDb3JlOjpQYXltZW50UmVxdWVzdCYpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
clByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggYTkwMjZlZDNiNzY3Y2FiYWQ1Zjg4YjJhNGM0NDVi
Y2NlZDRhYjgwNi4uNGZlOTQ1ZjI3YjgxYjI2ZmYyN2E5NjY3ODhhZDliOTI3N2I1MmJmOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXBwbGVQYXkv
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwCkBAIC03NSw2ICs3NSwxOCBAQCB2b2lkIFdl
YlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChj
b25zdCBTdHJpbmcmIG1lcgogICAgIH0pOwogfQogCit2b2lkIFdlYlBheW1lbnRDb29yZGluYXRv
clByb3h5OjpvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVy
LCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIHVpbnQ2NF90IHJlcXVlc3RJRCkKK3sKKyAgICBh
dXRvIHdlYWtUaGlzID0gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCk7CisgICAgcGxh
dGZvcm1PcGVuUGF5bWVudFNldHVwKG1lcmNoYW50SWRlbnRpZmllciwgZG9tYWluTmFtZSwgW3dl
YWtUaGlzLCByZXF1ZXN0SURdKGJvb2wgcmVzdWx0KSB7CisgICAgICAgIGF1dG8gcGF5bWVudENv
b3JkaW5hdG9yUHJveHkgPSB3ZWFrVGhpcy5nZXQoKTsKKyAgICAgICAgaWYgKCFwYXltZW50Q29v
cmRpbmF0b3JQcm94eSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBwYXltZW50Q29v
cmRpbmF0b3JQcm94eS0+bV93ZWJQYWdlUHJveHkuc2VuZChNZXNzYWdlczo6V2ViUGF5bWVudENv
b3JkaW5hdG9yOjpPcGVuUGF5bWVudFNldHVwUmVwbHkocmVxdWVzdElELCByZXN1bHQpKTsKKyAg
ICB9KTsKK30KKwogdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6c2hvd1BheW1lbnRV
SShjb25zdCBTdHJpbmcmIG9yaWdpbmF0aW5nVVJMU3RyaW5nLCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgbGlua0ljb25VUkxTdHJpbmdzLCBjb25zdCBXZWJDb3JlOjpQYXltZW50UmVxdWVzdCYgcGF5
bWVudFJlcXVlc3QsIGJvb2wmIHJlc3VsdCkKIHsKICAgICAvLyBGSVhNRTogTWFrZSB0aGlzIGEg
bWVzc2FnZSBjaGVjay4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BcHBs
ZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgKaW5kZXggMTU3YWE2Y2E4
ZDg1MDg5ODllNjdhMWZiMjFlMjc1NDBlZjM4ZWFhMi4uYTFiOGRkY2VmMzkxNmFkMzRlYTRmMjQw
NWFjMTFhOTdiNTc4NTY0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Fw
cGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgKQEAgLTc3LDYg
Kzc3LDcgQEAgcHJpdmF0ZToKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzLgogICAgIHZvaWQgY2Fu
TWFrZVBheW1lbnRzKGJvb2wmIHJlcGx5KTsKICAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhB
Y3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IGRvbWFpbk5hbWUsIHVpbnQ2NF90IHJlcXVlc3RJRCk7CisgICAgdm9pZCBvcGVuUGF5bWVudFNl
dHVwKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFp
bk5hbWUsIHVpbnQ2NF90IHJlcXVlc3RJRCk7CiAgICAgdm9pZCBzaG93UGF5bWVudFVJKGNvbnN0
IFN0cmluZyYgb3JpZ2luYXRpbmdVUkxTdHJpbmcsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsaW5r
SWNvblVSTFN0cmluZ3MsIGNvbnN0IFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0JiwgYm9vbCYgcmVz
dWx0KTsKICAgICB2b2lkIGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6
OlBheW1lbnRNZXJjaGFudFNlc3Npb24mKTsKICAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRo
b2RTZWxlY3Rpb24odWludDMyX3Qgb3BhcXVlU3RhdHVzLCBjb25zdCBPcHRpb25hbDxXZWJDb3Jl
OjpQYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+Jik7CkBAIC05NCw2ICs5NSw3IEBA
IHByaXZhdGU6CiAKICAgICBib29sIHBsYXRmb3JtQ2FuTWFrZVBheW1lbnRzKCk7CiAgICAgdm9p
ZCBwbGF0Zm9ybUNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVy
Y2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIHN0ZDo6ZnVuY3Rpb248
dm9pZCAoYm9vbCk+IGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICB2b2lkIHBsYXRmb3JtT3BlblBh
eW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiBkb21haW5OYW1lLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGJvb2wpPiBjb21wbGV0aW9uSGFuZGxl
cik7CiAgICAgdm9pZCBwbGF0Zm9ybVNob3dQYXltZW50VUkoY29uc3QgV2ViQ29yZTo6VVJMJiBv
cmlnaW5hdGluZ1VSTCwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OlVSTD4mIGxpbmtJY29uVVJMcywg
Y29uc3QgV2ViQ29yZTo6UGF5bWVudFJlcXVlc3QmLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGJvb2wp
PiBjb21wbGV0aW9uSGFuZGxlcik7CiAgICAgdm9pZCBwbGF0Zm9ybUNvbXBsZXRlTWVyY2hhbnRW
YWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlBheW1lbnRNZXJjaGFudFNlc3Npb24mKTsKICAgICB2
b2lkIHBsYXRmb3JtQ29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihXZWJDb3JlOjpQYXlt
ZW50QXV0aG9yaXphdGlvblN0YXR1cywgY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudFJl
cXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
clByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGM0ODNlYjhkZTRkYzZhN2NmY2VmZDFhYTczYTkyNGNj
ZTdiMjg3MzguLjg1ZWFiNGM2NGVjZWNjZDA5NzVhZTg0NDc4ZWY5NDkyM2ZjNGFhZTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXBw
bGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KQEAgLTI4LDYgKzI4
LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkgewogCiAgICAgQ2Fu
TWFrZVBheW1lbnRzKCkgLT4gKGJvb2wgcmVzdWx0KQogICAgIENhbk1ha2VQYXltZW50c1dpdGhB
Y3RpdmVDYXJkKFN0cmluZyBtZXJjaGFudElkZW50aWZpZXIsIFN0cmluZyBkb21haW5OYW1lLCB1
aW50NjRfdCByZXF1ZXN0SUQpCisgICAgT3BlblBheW1lbnRTZXR1cChTdHJpbmcgbWVyY2hhbnRJ
ZGVudGlmaWVyLCBTdHJpbmcgZG9tYWluTmFtZSwgdWludDY0X3QgcmVxdWVzdElEKQogCiAgICAg
U2hvd1BheW1lbnRVSShTdHJpbmcgb3JpZ2luYXRpbmdVUkxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+
IGxpbmtJY29uVVJMU3RyaW5ncywgV2ViQ29yZTo6UGF5bWVudFJlcXVlc3QgcGF5bWVudFJlcXVl
c3QpIC0+IChib29sIHJlc3VsdCkKICAgICBDb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihXZWJD
b3JlOjpQYXltZW50TWVyY2hhbnRTZXNzaW9uIHBheW1lbnRNZXJjaGFudFNlc3Npb24pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXBw
bGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQppbmRleCAzMmVk
MmJmMDQ1ZDVkZDVhOWU4ZWNjYzEyYmFhZWJmN2E5ZTRlMTYwLi5hYzZhNmExMWIyMjUxMDZhM2Yw
MTg2MzllMGNhZWNmODY1MzhjMGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHlDb2NvYS5tbQpAQCAtNDIsNiArNDIsNyBAQCBTT0ZUX0xJTktfUFJJVkFURV9G
UkFNRVdPUksoUGFzc0tpdCkKIFNPRlRfTElOS19GUkFNRVdPUksoUGFzc0tpdCkKICNlbmRpZgog
CitTT0ZUX0xJTktfQ0xBU1MoUGFzc0tpdCwgUEtQYXNzTGlicmFyeSk7CiBTT0ZUX0xJTktfQ0xB
U1MoUGFzc0tpdCwgUEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyKTsKIFNPRlRf
TElOS19DTEFTUyhQYXNzS2l0LCBQS1BheW1lbnRNZXJjaGFudFNlc3Npb24pOwogU09GVF9MSU5L
X0NMQVNTKFBhc3NLaXQsIFBLUGF5bWVudFJlcXVlc3QpOwpAQCAtMjIyLDYgKzIyMywyMyBAQCB2
b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNhbk1ha2VQYXltZW50c1dp
dGhBY3RpdmVDYXJkKGNvbnN0IFN0cgogICAgIH0pOwogfQogCit2b2lkIFdlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5OjpwbGF0Zm9ybU9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJj
aGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgc3RkOjpmdW5jdGlvbjx2
b2lkIChib29sKT4gY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byBwYXNzTGlicmFyeSA9
IGFkb3B0TlMoW2FsbG9jUEtQYXNzTGlicmFyeUluc3RhbmNlKCkgaW5pdF0pOworICAgIGlmICgh
W3Bhc3NMaWJyYXJ5IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iob3BlblBheW1lbnRTZXR1
cEZvck1lcmNoYW50SWRlbnRpZmllcjpkb21haW46Y29tcGxldGlvbjopXSkgeworICAgICAgICBS
dW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2NvbXBsZXRpb25IYW5kbGVyXSB7CisgICAgICAgICAg
ICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgW3Bhc3NMaWJyYXJ5IG9wZW5QYXltZW50U2V0dXBGb3JNZXJjaGFudElk
ZW50aWZpZXI6bWVyY2hhbnRJZGVudGlmaWVyIGRvbWFpbjpkb21haW5OYW1lIGNvbXBsZXRpb246
W2NvbXBsZXRpb25IYW5kbGVyXShCT09MIHJlc3VsdCkgeworICAgICAgICBSdW5Mb29wOjptYWlu
KCkuZGlzcGF0Y2goW2NvbXBsZXRpb25IYW5kbGVyLCByZXN1bHRdIHsKKyAgICAgICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKHJlc3VsdCk7CisgICAgICAgIH0pOworICAgIH1dOworfQorCiBzdGF0
aWMgUEtBZGRyZXNzRmllbGQgdG9QS0FkZHJlc3NGaWVsZChjb25zdCBXZWJDb3JlOjpQYXltZW50
UmVxdWVzdDo6Q29udGFjdEZpZWxkcyYgY29udGFjdEZpZWxkcykKIHsKICAgICBQS0FkZHJlc3NG
aWVsZCByZXN1bHQgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9B
cHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4IDllNjczNjZhZTJk
ZTgxYmUwZTY2YjVhMzUzMDVmZjhjNjg4ZGU4Y2YuLjFmZjU5YmVkY2UzM2Y3NTFkOTMwODNhYjA1
ODA2ZTNkNjlkM2U4NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXBw
bGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHAKQEAgLTg0LDYgKzg0LDIx
IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZl
Q2FyZChjb25zdCBTdHJpbmcmIG1lcmNoYW50CiAgICAgbV93ZWJQYWdlLnNlbmQoTWVzc2FnZXM6
OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpDYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2Fy
ZChtZXJjaGFudElkZW50aWZpZXIsIGRvbWFpbk5hbWUsIHJlcGx5SUQpKTsKIH0KIAorc3RhdGlj
IHVpbnQ2NF90IGdlbmVyYXRlT3BlblBheW1lbnRTZXR1cFJlcGx5SUQoKQoreworICAgIHN0YXRp
YyB1aW50NjRfdCBvcGVuUGF5bWVudFNldHVwUmVwbHlJRDsKKworICAgIHJldHVybiArK29wZW5Q
YXltZW50U2V0dXBSZXBseUlEOworfQorCit2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvcjo6b3Bl
blBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiBkb21haW5OYW1lLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGJvb2wpPiBjb21wbGV0aW9uSGFu
ZGxlcikKK3sKKyAgICBhdXRvIHJlcGx5SUQgPSBnZW5lcmF0ZU9wZW5QYXltZW50U2V0dXBSZXBs
eUlEKCk7CisKKyAgICBtX3BlbmRpbmdPcGVuUGF5bWVudFNldHVwQ2FsbGJhY2tzLmFkZChyZXBs
eUlELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgbV93ZWJQYWdlLnNlbmQoTWVz
c2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpPcGVuUGF5bWVudFNldHVwKG1lcmNo
YW50SWRlbnRpZmllciwgZG9tYWluTmFtZSwgcmVwbHlJRCkpOworfQorCiBib29sIFdlYlBheW1l
bnRDb29yZGluYXRvcjo6c2hvd1BheW1lbnRVSShjb25zdCBXZWJDb3JlOjpVUkwmIG9yaWdpbmF0
aW5nVVJMLCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6VVJMPiYgbGlua0ljb25VUkxzLCBjb25zdCBX
ZWJDb3JlOjpQYXltZW50UmVxdWVzdCYgcGF5bWVudFJlcXVlc3QpCiB7CiAgICAgVmVjdG9yPFN0
cmluZz4gbGlua0ljb25VUkxTdHJpbmdzOwpAQCAtMTY4LDYgKzE4MywxMiBAQCB2b2lkIFdlYlBh
eW1lbnRDb29yZGluYXRvcjo6Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseSh1aW50
NjRfdCByZXF1ZXN0SQogICAgIGNhbGxiYWNrKGNhbk1ha2VQYXltZW50cyk7CiB9CiAKK3ZvaWQg
V2ViUGF5bWVudENvb3JkaW5hdG9yOjpvcGVuUGF5bWVudFNldHVwUmVwbHkodWludDY0X3QgcmVx
dWVzdElELCBib29sIHJlc3VsdCkKK3sKKyAgICBhdXRvIGNhbGxiYWNrID0gbV9wZW5kaW5nT3Bl
blBheW1lbnRTZXR1cENhbGxiYWNrcy50YWtlKHJlcXVlc3RJRCk7CisgICAgY2FsbGJhY2socmVz
dWx0KTsKK30KKwogV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yJiBXZWJQYXltZW50Q29vcmRp
bmF0b3I6OnBheW1lbnRDb29yZGluYXRvcigpCiB7CiAgICAgcmV0dXJuIG1fd2ViUGFnZS5tYWlu
RnJhbWUoKS0+cGF5bWVudENvb3JkaW5hdG9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaAppbmRleCAy
NTdjZTViMmQ4MjZmMmM2NjQ1MDczNTA3MWIyZTkwMzAxMTU0NzUyLi4zNmIyYWE0NzE3ZjYyZTYy
MWNkZjk5NDkzZjRhMjE5NmY4MmY5NGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmgKQEAgLTU2LDYg
KzU2LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCB2ZXJz
aW9uKSBvdmVycmlkZTsKICAgICBib29sIGNhbk1ha2VQYXltZW50cygpIG92ZXJyaWRlOwogICAg
IHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiBtZXJjaGFu
dElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgc3RkOjpmdW5jdGlvbjx2b2lk
IChib29sKT4gY29tcGxldGlvbkhhbmRsZXIpIG92ZXJyaWRlOworICAgIHZvaWQgb3BlblBheW1l
bnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBk
b21haW5OYW1lLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGJvb2wpPiBjb21wbGV0aW9uSGFuZGxlcikg
b3ZlcnJpZGU7CiAgICAgYm9vbCBzaG93UGF5bWVudFVJKGNvbnN0IFdlYkNvcmU6OlVSTCYgb3Jp
Z2luYXRpbmdVUkwsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpVUkw+JiBsaW5rSWNvblVSTHMsIGNv
bnN0IFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wbGV0
ZU1lcmNoYW50VmFsaWRhdGlvbihjb25zdCBXZWJDb3JlOjpQYXltZW50TWVyY2hhbnRTZXNzaW9u
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKFdl
YkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzLCBPcHRpb25hbDxXZWJDb3JlOjpQYXlt
ZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+IG5ld1RvdGFsQW5kSXRlbXMpIG92ZXJyaWRl
OwpAQCAtNzcsMTIgKzc4LDE0IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRTZWxlY3RQYXltZW50
TWV0aG9kKGNvbnN0IFdlYkNvcmU6OlBheW1lbnRNZXRob2QmKTsKICAgICB2b2lkIGRpZENhbmNl
bFBheW1lbnQoKTsKICAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkUmVwbHko
dWludDY0X3QgcmVxdWVzdElELCBib29sIGNhbk1ha2VQYXltZW50cyk7CisgICAgdm9pZCBvcGVu
UGF5bWVudFNldHVwUmVwbHkodWludDY0X3QgcmVxdWVzdElELCBib29sIHJlc3VsdCk7CiAKICAg
ICBXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3ImIHBheW1lbnRDb29yZGluYXRvcigpOwogCiAg
ICAgV2ViUGFnZSYgbV93ZWJQYWdlOwogCiAgICAgSGFzaE1hcDx1aW50NjRfdCwgc3RkOjpmdW5j
dGlvbjx2b2lkIChib29sKT4+IG1fcGVuZGluZ0Nhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJk
Q2FsbGJhY2tzOworICAgIEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoYm9v
bCk+PiBtX3BlbmRpbmdPcGVuUGF5bWVudFNldHVwQ2FsbGJhY2tzOwogfTsKIAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRp
bmF0b3IubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0FwcGxlUGF5L1dl
YlBheW1lbnRDb29yZGluYXRvci5tZXNzYWdlcy5pbgppbmRleCBmNTM3OTdkZmJkODY4NTlmMTBj
ZDJiNTU0OTMxODVkZDE3N2FlZWNjLi5jNzQyZTAxOWIzMmE2NmY3NzQ1ZGMxMDFiMDViYjIxZTA2
ZjRjZGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0FwcGxlUGF5L1dl
YlBheW1lbnRDb29yZGluYXRvci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5tZXNzYWdlcy5pbgpAQCAtMzMs
NiArMzMsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYXltZW50Q29vcmRpbmF0b3IgewogICAgIERpZFNl
bGVjdFBheW1lbnRNZXRob2QoV2ViQ29yZTo6UGF5bWVudE1ldGhvZCBwYXltZW50TWV0aG9kKQog
ICAgIERpZENhbmNlbFBheW1lbnQoKQogICAgIENhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJk
UmVwbHkodWludDY0X3QgcmVxdWVzdElELCBib29sIGNhbk1ha2VQYXltZW50cykKKyAgICBPcGVu
UGF5bWVudFNldHVwUmVwbHkodWludDY0X3QgcmVxdWVzdElELCBib29sIHJlc3VsdCkKIH0KIAog
I2VuZGlmCg==
</data>
<flag name="review"
          id="312720"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>