<?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>220561</bug_id>
          
          <creation_ts>2021-01-12 13:32:36 -0800</creation_ts>
          <short_desc>Payment Request API - PaymentDetailsUpdate requires &quot;total&quot;</short_desc>
          <delta_ts>2021-01-19 13:43:38 -0800</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>Safari 14</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>macOS 10.15</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>nickgzzjr</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>aestes</cc>
    
    <cc>hi</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1719107</commentid>
    <comment_count>0</comment_count>
    <who name="">nickgzzjr</who>
    <bug_when>2021-01-12 13:32:36 -0800</bug_when>
    <thetext>Calling event.updateWith inside the onshippingaddresschange or onshippingoptionchange event handlers with a PaymentDetailsUpdate object requires “total” to be included. When “total” is not included an error “RangeError: &quot;&quot; is not a valid currency code.&quot; is thrown. 

I expect “total” to NOT be required in the PaymentDetailsUpdate. Note: “total” should be required for PaymentDetailsInit but not for PaymentDetailsUpdate. Note: “newTotal” is required in the ApplePayJS API when using ApplePayShippingContactUpdate.

Simple example:

request.onshippingaddresschange = event =&gt; {
    const paymentDetailsUpdate = {};
    event.updateWith(paymentDetailsUpdate);
};

The above example will throw an error.

Though the PaymentDetailsUpdate can be more complex. 
For example, I might want to include an error in the PaymentDetailsUpdate:

const paymentDetailsUpdate = {
    &quot;error&quot;: &quot;Can&apos;t ship to this address.&quot;
}

This won’t work unless I include the total as such:

const paymentDetailsUpdate = {
    &quot;total&quot;: {
        &quot;label&quot;: &quot;My Merchant&quot;,
        &quot;amount&quot;: {
            &quot;value&quot;: &quot;27.50&quot;,
            &quot;currency&quot;: &quot;USD&quot;
        }
    },
    &quot;error&quot;: &quot;Can&apos;t ship to this address.&quot;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719630</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-14 10:11:10 -0800</bug_when>
    <thetext>&lt;rdar://problem/73204405&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720031</commentid>
    <comment_count>2</comment_count>
      <attachid>417741</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-01-15 14:36:38 -0800</bug_when>
    <thetext>Created attachment 417741
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720052</commentid>
    <comment_count>3</comment_count>
      <attachid>417741</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2021-01-15 15:10:37 -0800</bug_when>
    <thetext>Comment on attachment 417741
Patch

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

&gt; LayoutTests/http/tests/paymentrequest/updateWith-error.https.html:33
&gt; +const applePay = {
&gt; +    supportedMethods: &quot;https://apple.com/apple-pay&quot;,
&gt; +    data: {
&gt; +        version: 2,
&gt; +        merchantIdentifier: &apos;&apos;,
&gt; +        merchantCapabilities: [&apos;supports3DS&apos;],
&gt; +        supportedNetworks: [&apos;visa&apos;, &apos;masterCard&apos;],
&gt; +        countryCode: &apos;US&apos;,
&gt; +    },
&gt; +};
&gt; +const validMethods = [applePay];
&gt; +const validAmount = {
&gt; +    currency: &quot;USD&quot;,
&gt; +    value: &quot;5.00&quot;,
&gt; +};
&gt; +const validTotal = {
&gt; +    label: &quot;label&quot;,
&gt; +    amount: validAmount,
&gt; +};
&gt; +const validDetails = {
&gt; +    total: validTotal,
&gt; +};

You could use what&apos;s in `http/tests/paymentrequest/resources/helpers.js` for most/all of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720058</commentid>
    <comment_count>4</comment_count>
      <attachid>417745</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-01-15 15:32:54 -0800</bug_when>
    <thetext>Created attachment 417745
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720673</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-19 13:43:37 -0800</bug_when>
    <thetext>Committed r271615: &lt;https://trac.webkit.org/changeset/271615&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417745.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417741</attachid>
            <date>2021-01-15 14:36:38 -0800</date>
            <delta_ts>2021-01-15 15:32:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220561-20210115153637.patch</filename>
            <type>text/plain</type>
            <size>6615</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjMmIxNWVjYmMxNThiZjk5MDE1YjdmMzBlZjZiZjBjY2U0MDcwZTU5Li4y
NjFmMDgwODFkNmM3MTgwNTVlNmU2Y2M1ODViZmJkOTViM2UyZTdkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMjEtMDEtMTUgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFBheW1lbnQgUmVxdWVzdCBBUEkgLSBQYXltZW50RGV0YWlsc1VwZGF0ZSBy
ZXF1aXJlcyAidG90YWwiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjA1NjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzczMjA0NDA1PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVz
dHMvcGF5bWVudHJlcXVlc3QvdXBkYXRlV2l0aC1lcnJvci5odHRwcy5odG1sCisKKyAgICAgICAg
KiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRlLmg6CisgICAgICAg
ICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6c2V0dGxlRGV0YWlsc1Byb21pc2UpOgorICAgICAgICBV
c2UgYE9wdGlvbmFsYCBmb3IgYHRvdGFsYCBzbyB0aGF0IGl0J3MgcG9zc2libGUgdG8ga25vdyB3
aGVuIGl0J3MgcHJvdmlkZWQgb3Igbm90LgorICAgICAgICBPbmx5IGF0dGVtcHQgdG8gcGFyc2Ug
dGhlIGB0b3RhbGAgd2hlbiBpdCdzIHByb3ZpZGVkLgorCiAyMDIxLTAxLTE1ICBKZXIgTm9ibGUg
IDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFBsYXliYWNrIGZhaWxzIGF0IG1hcmtl
dHdhdGNoLmNvbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9QYXltZW50RGV0YWlsc1VwZGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXlt
ZW50cmVxdWVzdC9QYXltZW50RGV0YWlsc1VwZGF0ZS5oCmluZGV4IDEyMTI3NzVmMmYxZTZmOWYy
ZDQ0Mjc3ODEzNDFhNDZhMDg1ZGVlMWIuLjc3Yjk2MjA4M2EwNTAzOGRkYTBmZjE5YWQzZDBmNmM0
NzBjMjYyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudERldGFpbHNVcGRhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRlLmgKQEAgLTMxLDEzICszMSwxNCBAQAog
I2luY2x1ZGUgIlBheWVyRXJyb3JGaWVsZHMuaCIKICNpbmNsdWRlICJQYXltZW50RGV0YWlsc0Jh
c2UuaCIKICNpbmNsdWRlICJQYXltZW50SXRlbS5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIHN0cnVjdCBQYXltZW50RGV0YWlsc1VwZGF0ZSBmaW5hbCA6IFBheW1lbnREZXRhaWxzQmFz
ZSB7CiAgICAgU3RyaW5nIGVycm9yOwotICAgIFBheW1lbnRJdGVtIHRvdGFsOworICAgIE9wdGlv
bmFsPFBheW1lbnRJdGVtPiB0b3RhbDsKICAgICBBZGRyZXNzRXJyb3JzIHNoaXBwaW5nQWRkcmVz
c0Vycm9yczsKICAgICBQYXllckVycm9yRmllbGRzIHBheWVyRXJyb3JzOwogICAgIEpTQzo6U3Ry
b25nPEpTQzo6SlNPYmplY3Q+IHBheW1lbnRNZXRob2RFcnJvcnM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCmlu
ZGV4IGZkMzZhOTJmNGMwZDUzYzgxYjM0ZTM4ZjM0ZTM2ZTc3ZGEyNmI4MjEuLjY4OWQ1Y2E2M2Mz
MzJhNDlkMDUwZDc1MjdjODVlYmM2ODI5MjQ4NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCkBAIC02NTMs
MTAgKzY1MywxMiBAQCB2b2lkIFBheW1lbnRSZXF1ZXN0OjpzZXR0bGVEZXRhaWxzUHJvbWlzZShV
cGRhdGVSZWFzb24gcmVhc29uKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byB0
b3RhbFJlc3VsdCA9IGNoZWNrQW5kQ2Fub25pY2FsaXplVG90YWwoZGV0YWlsc1VwZGF0ZS50b3Rh
bC5hbW91bnQpOwotICAgIGlmICh0b3RhbFJlc3VsdC5oYXNFeGNlcHRpb24oKSkgewotICAgICAg
ICBhYm9ydFdpdGhFeGNlcHRpb24odG90YWxSZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpKTsKLSAg
ICAgICAgcmV0dXJuOworICAgIGlmIChkZXRhaWxzVXBkYXRlLnRvdGFsKSB7CisgICAgICAgIGF1
dG8gdG90YWxSZXN1bHQgPSBjaGVja0FuZENhbm9uaWNhbGl6ZVRvdGFsKGRldGFpbHNVcGRhdGUu
dG90YWwtPmFtb3VudCk7CisgICAgICAgIGlmICh0b3RhbFJlc3VsdC5oYXNFeGNlcHRpb24oKSkg
eworICAgICAgICAgICAgYWJvcnRXaXRoRXhjZXB0aW9uKHRvdGFsUmVzdWx0LnJlbGVhc2VFeGNl
cHRpb24oKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KICAgICB9CiAKICAgICBh
dXRvIGRldGFpbHNSZXN1bHQgPSBjaGVja0FuZENhbm9uaWNhbGl6ZURldGFpbHMoKmNvbnRleHQu
Z2xvYmFsT2JqZWN0KCksIGRldGFpbHNVcGRhdGUsIG1fb3B0aW9ucy5yZXF1ZXN0U2hpcHBpbmcs
IFNob3VsZFZhbGlkYXRlUGF5bWVudE1ldGhvZElkZW50aWZpZXI6Olllcyk7CkBAIC02NjcsNyAr
NjY5LDcgQEAgdm9pZCBQYXltZW50UmVxdWVzdDo6c2V0dGxlRGV0YWlsc1Byb21pc2UoVXBkYXRl
UmVhc29uIHJlYXNvbikKIAogICAgIGF1dG8gc2hpcHBpbmdPcHRpb25BbmRNb2RpZmllckRhdGEg
PSBkZXRhaWxzUmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpOwogCi0gICAgbV9kZXRhaWxzLnRv
dGFsID0gV1RGTW92ZShkZXRhaWxzVXBkYXRlLnRvdGFsKTsKKyAgICBtX2RldGFpbHMudG90YWwg
PSBkZXRhaWxzVXBkYXRlLnRvdGFsID8gV1RGTW92ZSgqZGV0YWlsc1VwZGF0ZS50b3RhbCkgOiBQ
YXltZW50SXRlbSgpOwogICAgIG1fZGV0YWlscy5kaXNwbGF5SXRlbXMgPSBXVEZNb3ZlKGRldGFp
bHNVcGRhdGUuZGlzcGxheUl0ZW1zKTsKICAgICBpZiAobV9vcHRpb25zLnJlcXVlc3RTaGlwcGlu
ZykgewogICAgICAgICBtX2RldGFpbHMuc2hpcHBpbmdPcHRpb25zID0gV1RGTW92ZShkZXRhaWxz
VXBkYXRlLnNoaXBwaW5nT3B0aW9ucyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDViNzhjMzM1NGZlZTI5MjYwNTMyODE0
MGQyNTRmYTIyYzVhZGY3MC4uZTliNjdlMzU3ODc4ZTMzZWM3NDUxOThlZDU3OGFkNDMzMWUxNjA5
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTAxLTE1ICBEZXZpbiBSb3Vzc28gIDxkcm91
c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBQYXltZW50IFJlcXVlc3QgQVBJIC0gUGF5bWVudERl
dGFpbHNVcGRhdGUgcmVxdWlyZXMgInRvdGFsIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNTYxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MzIw
NDQwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvdXBkYXRlV2l0aC1lcnJvci5odHRwcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3VwZGF0ZVdpdGgtZXJy
b3IuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAyMS0wMS0xNSAgSmVyIE5vYmxlICA8
amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBQbGF5YmFjayBmYWlscyBhdCBtYXJrZXR3
YXRjaC5jb20KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVl
c3QvdXBkYXRlV2l0aC1lcnJvci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3VwZGF0ZVdpdGgtZXJyb3IuaHR0cHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmU4NDFhNjlmNWM3MWYxOTc0NWUwOTFjMTNlN2YwMTljNWY3N2QwM2MKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3Vw
ZGF0ZVdpdGgtZXJyb3IuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNT
IENhbGxpbmcgYHVwZGF0ZVdpdGhgIGluc2lkZSBgc2hpcHBpbmdhZGRyZXNzY2hhbmdlYCB3aXRo
b3V0IGEgYHRvdGFsYCBzaG91bGQgbm90IHRocm93LgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3VwZGF0ZVdpdGgtZXJyb3IuaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvdXBkYXRlV2l0aC1lcnJvci5o
dHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4YjFkZWQwMWZjZTRiNjY5NDI2YWRjZmI1NTg2M2IzMWNj
YzRmNzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRy
ZXF1ZXN0L3VwZGF0ZVdpdGgtZXJyb3IuaHR0cHMuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBmb3IgcHJv
dmlkaW5nIGBlcnJvcmAgdG8gYFBheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQucHJvdG90eXBlLnVw
ZGF0ZVdpdGhgLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9wYXltZW50LXJlcXVl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0Pgorc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVl
LCBleHBsaWNpdF90aW1lb3V0OiB0cnVlIH0pOworCitjb25zdCBhcHBsZVBheSA9IHsKKyAgICBz
dXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5IiwKKyAgICBkYXRh
OiB7CisgICAgICAgIHZlcnNpb246IDIsCisgICAgICAgIG1lcmNoYW50SWRlbnRpZmllcjogJycs
CisgICAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbJ3N1cHBvcnRzM0RTJ10sCisgICAgICAg
IHN1cHBvcnRlZE5ldHdvcmtzOiBbJ3Zpc2EnLCAnbWFzdGVyQ2FyZCddLAorICAgICAgICBjb3Vu
dHJ5Q29kZTogJ1VTJywKKyAgICB9LAorfTsKK2NvbnN0IHZhbGlkTWV0aG9kcyA9IFthcHBsZVBh
eV07Citjb25zdCB2YWxpZEFtb3VudCA9IHsKKyAgICBjdXJyZW5jeTogIlVTRCIsCisgICAgdmFs
dWU6ICI1LjAwIiwKK307Citjb25zdCB2YWxpZFRvdGFsID0geworICAgIGxhYmVsOiAibGFiZWwi
LAorICAgIGFtb3VudDogdmFsaWRBbW91bnQsCit9OworY29uc3QgdmFsaWREZXRhaWxzID0gewor
ICAgIHRvdGFsOiB2YWxpZFRvdGFsLAorfTsKKwordXNlcl9hY3RpdmF0aW9uX3Rlc3QoKHRlc3Qp
ID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICBsZXQgcmVxdWVzdCA9
IG5ldyBQYXltZW50UmVxdWVzdCh2YWxpZE1ldGhvZHMsIHZhbGlkRGV0YWlscyk7CisgICAgcmVx
dWVzdC5hZGRFdmVudExpc3RlbmVyKCJtZXJjaGFudHZhbGlkYXRpb24iLCAoZXZlbnQpID0+IHsK
KyAgICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsKKyAgICB9KTsKKyAgICByZXF1ZXN0LmFkZEV2
ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5nZSIsIChldmVudCkgPT4geworICAgICAg
ICB0cnkgeworICAgICAgICAgICAgZXZlbnQudXBkYXRlV2l0aCh7ZXJyb3I6ICJUZXN0In0pOwor
ICAgICAgICB9IGNhdGNoIHsKKyAgICAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIlNob3VsZCBu
b3QgdGhyb3cgd2hlbiBgdG90YWxgIGlzIG5vdCBwcm92aWRlZC4iKTsKKyAgICAgICAgfQorICAg
ICAgICByZXF1ZXN0LmFib3J0KCkudGhlbihyZXNvbHZlLCByZWplY3QpOworICAgIH0pOworICAg
IHJlcXVlc3Quc2hvdygpLmNhdGNoKCgpID0+IHsgLyogaWdub3JlIGFib3J0ICovIH0pOworfSks
ICJDYWxsaW5nIGB1cGRhdGVXaXRoYCBpbnNpZGUgYHNoaXBwaW5nYWRkcmVzc2NoYW5nZWAgd2l0
aG91dCBhIGB0b3RhbGAgc2hvdWxkIG5vdCB0aHJvdy4iKTsKKworZG9uZSgpOworPC9zY3JpcHQ+
CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417745</attachid>
            <date>2021-01-15 15:32:54 -0800</date>
            <delta_ts>2021-01-19 13:43:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220561-20210115163254.patch</filename>
            <type>text/plain</type>
            <size>6115</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjMmIxNWVjYmMxNThiZjk5MDE1YjdmMzBlZjZiZjBjY2U0MDcwZTU5Li40
M2E5NThmZjQ4ZTJhNDE4YWJlZDNiYjY1OGYwNDI1NzQzMDlmNWMyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMjEtMDEtMTUgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFBheW1lbnQgUmVxdWVzdCBBUEkgLSBQYXltZW50RGV0YWlsc1VwZGF0ZSBy
ZXF1aXJlcyAidG90YWwiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjA1NjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzczMjA0NDA1PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IEFuZHkgRXN0ZXMuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9w
YXltZW50cmVxdWVzdC91cGRhdGVXaXRoLWVycm9yLmh0dHBzLmh0bWwKKworICAgICAgICAqIE1v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudERldGFpbHNVcGRhdGUuaDoKKyAgICAgICAgKiBN
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBheW1lbnRSZXF1ZXN0OjpzZXR0bGVEZXRhaWxzUHJvbWlzZSk6CisgICAgICAgIFVzZSBg
T3B0aW9uYWxgIGZvciBgdG90YWxgIHNvIHRoYXQgaXQncyBwb3NzaWJsZSB0byBrbm93IHdoZW4g
aXQncyBwcm92aWRlZCBvciBub3QuCisgICAgICAgIE9ubHkgYXR0ZW1wdCB0byBwYXJzZSB0aGUg
YHRvdGFsYCB3aGVuIGl0J3MgcHJvdmlkZWQuCisKIDIwMjEtMDEtMTUgIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUGxheWJhY2sgZmFpbHMgYXQgbWFya2V0d2F0
Y2guY29tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L1BheW1lbnREZXRhaWxzVXBkYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRlLmgKaW5kZXggMTIxMjc3NWYyZjFlNmY5ZjJkNDQy
Nzc4MTM0MWE0NmEwODVkZWUxYi4uNzdiOTYyMDgzYTA1MDM4ZGRhMGZmMTlhZDNkMGY2YzQ3MGMy
NjIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50RGV0YWlsc1VwZGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudERldGFpbHNVcGRhdGUuaApAQCAtMzEsMTMgKzMxLDE0IEBACiAjaW5j
bHVkZSAiUGF5ZXJFcnJvckZpZWxkcy5oIgogI2luY2x1ZGUgIlBheW1lbnREZXRhaWxzQmFzZS5o
IgogI2luY2x1ZGUgIlBheW1lbnRJdGVtLmgiCisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RydWN0IFBheW1lbnREZXRhaWxzVXBkYXRlIGZpbmFsIDogUGF5bWVudERldGFpbHNCYXNlIHsK
ICAgICBTdHJpbmcgZXJyb3I7Ci0gICAgUGF5bWVudEl0ZW0gdG90YWw7CisgICAgT3B0aW9uYWw8
UGF5bWVudEl0ZW0+IHRvdGFsOwogICAgIEFkZHJlc3NFcnJvcnMgc2hpcHBpbmdBZGRyZXNzRXJy
b3JzOwogICAgIFBheWVyRXJyb3JGaWVsZHMgcGF5ZXJFcnJvcnM7CiAgICAgSlNDOjpTdHJvbmc8
SlNDOjpKU09iamVjdD4gcGF5bWVudE1ldGhvZEVycm9yczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKaW5kZXgg
ZmQzNmE5MmY0YzBkNTNjODFiMzRlMzhmMzRlMzZlNzdkYTI2YjgyMS4uNjg5ZDVjYTYzYzMzMmE0
OWQwNTBkNzUyN2M4NWViYzY4MjkyNDg1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKQEAgLTY1MywxMCAr
NjUzLDEyIEBAIHZvaWQgUGF5bWVudFJlcXVlc3Q6OnNldHRsZURldGFpbHNQcm9taXNlKFVwZGF0
ZVJlYXNvbiByZWFzb24pCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIHRvdGFs
UmVzdWx0ID0gY2hlY2tBbmRDYW5vbmljYWxpemVUb3RhbChkZXRhaWxzVXBkYXRlLnRvdGFsLmFt
b3VudCk7Ci0gICAgaWYgKHRvdGFsUmVzdWx0Lmhhc0V4Y2VwdGlvbigpKSB7Ci0gICAgICAgIGFi
b3J0V2l0aEV4Y2VwdGlvbih0b3RhbFJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCkpOwotICAgICAg
ICByZXR1cm47CisgICAgaWYgKGRldGFpbHNVcGRhdGUudG90YWwpIHsKKyAgICAgICAgYXV0byB0
b3RhbFJlc3VsdCA9IGNoZWNrQW5kQ2Fub25pY2FsaXplVG90YWwoZGV0YWlsc1VwZGF0ZS50b3Rh
bC0+YW1vdW50KTsKKyAgICAgICAgaWYgKHRvdGFsUmVzdWx0Lmhhc0V4Y2VwdGlvbigpKSB7Cisg
ICAgICAgICAgICBhYm9ydFdpdGhFeGNlcHRpb24odG90YWxSZXN1bHQucmVsZWFzZUV4Y2VwdGlv
bigpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGF1dG8g
ZGV0YWlsc1Jlc3VsdCA9IGNoZWNrQW5kQ2Fub25pY2FsaXplRGV0YWlscygqY29udGV4dC5nbG9i
YWxPYmplY3QoKSwgZGV0YWlsc1VwZGF0ZSwgbV9vcHRpb25zLnJlcXVlc3RTaGlwcGluZywgU2hv
dWxkVmFsaWRhdGVQYXltZW50TWV0aG9kSWRlbnRpZmllcjo6WWVzKTsKQEAgLTY2Nyw3ICs2Njks
NyBAQCB2b2lkIFBheW1lbnRSZXF1ZXN0OjpzZXR0bGVEZXRhaWxzUHJvbWlzZShVcGRhdGVSZWFz
b24gcmVhc29uKQogCiAgICAgYXV0byBzaGlwcGluZ09wdGlvbkFuZE1vZGlmaWVyRGF0YSA9IGRl
dGFpbHNSZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCk7CiAKLSAgICBtX2RldGFpbHMudG90YWwg
PSBXVEZNb3ZlKGRldGFpbHNVcGRhdGUudG90YWwpOworICAgIG1fZGV0YWlscy50b3RhbCA9IGRl
dGFpbHNVcGRhdGUudG90YWwgPyBXVEZNb3ZlKCpkZXRhaWxzVXBkYXRlLnRvdGFsKSA6IFBheW1l
bnRJdGVtKCk7CiAgICAgbV9kZXRhaWxzLmRpc3BsYXlJdGVtcyA9IFdURk1vdmUoZGV0YWlsc1Vw
ZGF0ZS5kaXNwbGF5SXRlbXMpOwogICAgIGlmIChtX29wdGlvbnMucmVxdWVzdFNoaXBwaW5nKSB7
CiAgICAgICAgIG1fZGV0YWlscy5zaGlwcGluZ09wdGlvbnMgPSBXVEZNb3ZlKGRldGFpbHNVcGRh
dGUuc2hpcHBpbmdPcHRpb25zKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNWI3OGMzMzU0ZmVlMjkyNjA1MzI4MTQwZDI1
NGZhMjJjNWFkZjcwLi44ZDI2MTRlMTEzNmM4OGYwMTUzMGUxZDA2NzM1ZTZmZGRjMTg1Mjc4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDEtMTUgIERldmluIFJvdXNzbyAgPGRyb3Vzc29A
YXBwbGUuY29tPgorCisgICAgICAgIFBheW1lbnQgUmVxdWVzdCBBUEkgLSBQYXltZW50RGV0YWls
c1VwZGF0ZSByZXF1aXJlcyAidG90YWwiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjA1NjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzczMjA0NDA1
PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFuZHkgRXN0ZXMuCisKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3BheW1lbnRyZXF1ZXN0L3VwZGF0ZVdpdGgtZXJyb3IuaHR0cHMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC91cGRhdGVXaXRoLWVycm9yLmh0dHBz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMjEtMDEtMTUgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CiAKICAgICAgICAgUGxheWJhY2sgZmFpbHMgYXQgbWFya2V0d2F0Y2guY29t
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3VwZGF0
ZVdpdGgtZXJyb3IuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
YXltZW50cmVxdWVzdC91cGRhdGVXaXRoLWVycm9yLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lODQxYTY5ZjVjNzFmMTk3NDVlMDkxYzEzZTdmMDE5YzVmNzdkMDNjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC91cGRhdGVXaXRo
LWVycm9yLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBDYWxsaW5n
IGB1cGRhdGVXaXRoYCBpbnNpZGUgYHNoaXBwaW5nYWRkcmVzc2NoYW5nZWAgd2l0aG91dCBhIGB0
b3RhbGAgc2hvdWxkIG5vdCB0aHJvdy4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wYXltZW50cmVxdWVzdC91cGRhdGVXaXRoLWVycm9yLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3VwZGF0ZVdpdGgtZXJyb3IuaHR0cHMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NTA0YzFjODMwN2Q3ZTU4Nzc1YzJiODY3NDMyOTI1YzQ5MTg0NmNkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC91
cGRhdGVXaXRoLWVycm9yLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgZm9yIHByb3ZpZGluZyBg
ZXJyb3JgIHRvIGBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LnByb3RvdHlwZS51cGRhdGVXaXRo
YC48L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvcGF5bWVudC1yZXF1ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxib2R5PgorPHNjcmlwdD4KK3NldHVwKHsgZXhwbGljaXRfZG9uZTogdHJ1ZSwgZXhwbGlj
aXRfdGltZW91dDogdHJ1ZSB9KTsKKwordXNlcl9hY3RpdmF0aW9uX3Rlc3QoKHRlc3QpID0+IG5l
dyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICBsZXQgcmVxdWVzdCA9IG5ldyBQ
YXltZW50UmVxdWVzdChbdmFsaWRQYXltZW50TWV0aG9kKCldLCB2YWxpZFBheW1lbnREZXRhaWxz
KCkpOworICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigibWVyY2hhbnR2YWxpZGF0aW9uIiwg
KGV2ZW50KSA9PiB7CisgICAgICAgIGV2ZW50LmNvbXBsZXRlKHsgfSk7CisgICAgfSk7CisgICAg
cmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJzaGlwcGluZ2FkZHJlc3NjaGFuZ2UiLCAoZXZlbnQp
ID0+IHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGV2ZW50LnVwZGF0ZVdpdGgoe2Vycm9y
OiAiVGVzdCJ9KTsKKyAgICAgICAgfSBjYXRjaCB7CisgICAgICAgICAgICBhc3NlcnRfdW5yZWFj
aGVkKCJTaG91bGQgbm90IHRocm93IHdoZW4gYHRvdGFsYCBpcyBub3QgcHJvdmlkZWQuIik7Cisg
ICAgICAgIH0KKyAgICAgICAgcmVxdWVzdC5hYm9ydCgpLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsK
KyAgICB9KTsKKyAgICByZXF1ZXN0LnNob3coKS5jYXRjaCgoKSA9PiB7IC8qIGlnbm9yZSBhYm9y
dCAqLyB9KTsKK30pLCAiQ2FsbGluZyBgdXBkYXRlV2l0aGAgaW5zaWRlIGBzaGlwcGluZ2FkZHJl
c3NjaGFuZ2VgIHdpdGhvdXQgYSBgdG90YWxgIHNob3VsZCBub3QgdGhyb3cuIik7CisKK2RvbmUo
KTsKKzwvc2NyaXB0PgorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>