<?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>227505</bug_id>
          
          <creation_ts>2021-06-29 13:59:50 -0700</creation_ts>
          <short_desc>Move BottomControlsBarHeight and InsideMargin to be computed at runtime</short_desc>
          <delta_ts>2021-07-03 14:29:41 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>amir_mark</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>philipj</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1773526</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-06-29 13:59:50 -0700</bug_when>
    <thetext>Move BottomControlsBarHeight to a layout trait</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773528</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-29 14:02:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/79932256&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773533</commentid>
    <comment_count>2</comment_count>
      <attachid>432525</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-06-29 14:05:15 -0700</bug_when>
    <thetext>Created attachment 432525
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773605</commentid>
    <comment_count>3</comment_count>
      <attachid>432525</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-29 16:06:29 -0700</bug_when>
    <thetext>Comment on attachment 432525
Patch

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

&gt; Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js:220
&gt; +        this.bottomControlsBar.y = Math.max(0, this.height - this.layoutTraits.inlineBottomControlsBarHeight() - InsideMargin);

Not knowing nothing about nothing, can we instead query a CSS variable for something like this and get rid of both BottomControlsBarHeight and InsideMargin and just have the platform&apos;s css do it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773611</commentid>
    <comment_count>4</comment_count>
      <attachid>432550</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-06-29 16:18:27 -0700</bug_when>
    <thetext>Created attachment 432550
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773975</commentid>
    <comment_count>5</comment_count>
      <attachid>432650</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-06-30 19:21:58 -0700</bug_when>
    <thetext>Created attachment 432650
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774012</commentid>
    <comment_count>6</comment_count>
      <attachid>432650</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-06-30 23:48:49 -0700</bug_when>
    <thetext>Comment on attachment 432650
Patch

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

r=mews

&gt; Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js:133
&gt; +        const inlineInsideMargin = this.computedValueForStylePropertyInPx(&quot;--inline-controls-inside-margin&quot;);

Can we maybe cache this value somewhere so that we don&apos;t have to get the computed style more than once?  We don&apos;t expect this value to change so there&apos;s not much benefit to requesting it more than once.

&gt; Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js:219
&gt; +        const inlineBottomControlsBarHeight = this.computedValueForStylePropertyInPx(&quot;--inline-controls-bar-height&quot;);

ditto (:133)

&gt; Source/WebCore/Modules/modern-media-controls/controls/layout-node.js:241
&gt; +            return null;

NIT: maybe the fallback value should be `0` so that it&apos;s still valid px value (and therefore able to be used in math operations)?

&gt; Source/WebCore/Modules/modern-media-controls/controls/layout-node.js:244
&gt; +        return parseFloat(value);

Not sure which is better, but you also could do this with
```
    window.getComputedStyle(this.element).getPropertyCSSValue(propertyName).getFloatValue(CSSPrimitiveValue.CSS_PX)
```

&gt; Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js:63
&gt; +        const inlineInsideMargin = this.computedValueForStylePropertyInPx(&quot;--inline-controls-inside-margin&quot;);
&gt; +        const inlineBottomControlsBarHeight = this.computedValueForStylePropertyInPx(&quot;--inline-controls-bar-height&quot;);

ditto (inline-media-controls.js:133)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774209</commentid>
    <comment_count>7</comment_count>
      <attachid>432650</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-07-01 12:28:47 -0700</bug_when>
    <thetext>Comment on attachment 432650
Patch

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

&gt;&gt; Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js:133
&gt;&gt; +        const inlineInsideMargin = this.computedValueForStylePropertyInPx(&quot;--inline-controls-inside-margin&quot;);
&gt; 
&gt; Can we maybe cache this value somewhere so that we don&apos;t have to get the computed style more than once?  We don&apos;t expect this value to change so there&apos;s not much benefit to requesting it more than once.

Good point.

&gt;&gt; Source/WebCore/Modules/modern-media-controls/controls/layout-node.js:241
&gt;&gt; +            return null;
&gt; 
&gt; NIT: maybe the fallback value should be `0` so that it&apos;s still valid px value (and therefore able to be used in math operations)?

Agreed.

&gt;&gt; Source/WebCore/Modules/modern-media-controls/controls/layout-node.js:244
&gt;&gt; +        return parseFloat(value);
&gt; 
&gt; Not sure which is better, but you also could do this with
&gt; ```
&gt;     window.getComputedStyle(this.element).getPropertyCSSValue(propertyName).getFloatValue(CSSPrimitiveValue.CSS_PX)
&gt; ```

OK!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774212</commentid>
    <comment_count>8</comment_count>
      <attachid>432650</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-07-01 12:34:12 -0700</bug_when>
    <thetext>Comment on attachment 432650
Patch

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

&gt;&gt;&gt; Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js:133
&gt;&gt;&gt; +        const inlineInsideMargin = this.computedValueForStylePropertyInPx(&quot;--inline-controls-inside-margin&quot;);
&gt;&gt; 
&gt;&gt; Can we maybe cache this value somewhere so that we don&apos;t have to get the computed style more than once?  We don&apos;t expect this value to change so there&apos;s not much benefit to requesting it more than once.
&gt; 
&gt; Good point.

It seems like it will only be called once per InlineMediaControls, so I don&apos;t see any reason to cache it unless we see some performance concern.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774225</commentid>
    <comment_count>9</comment_count>
      <attachid>432650</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-07-01 13:01:17 -0700</bug_when>
    <thetext>Comment on attachment 432650
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js:133
&gt;&gt;&gt;&gt; +        const inlineInsideMargin = this.computedValueForStylePropertyInPx(&quot;--inline-controls-inside-margin&quot;);
&gt;&gt;&gt; 
&gt;&gt;&gt; Can we maybe cache this value somewhere so that we don&apos;t have to get the computed style more than once?  We don&apos;t expect this value to change so there&apos;s not much benefit to requesting it more than once.
&gt;&gt; 
&gt;&gt; Good point.
&gt; 
&gt; It seems like it will only be called once per InlineMediaControls, so I don&apos;t see any reason to cache it unless we see some performance concern.

This is called in every `layout`, which I think can happen pretty frequently.  Though I think it may depend on the state of the video, page, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774231</commentid>
    <comment_count>10</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-07-01 13:28:57 -0700</bug_when>
    <thetext>Committed r279481 (239334@main): &lt;https://commits.webkit.org/239334@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774311</commentid>
    <comment_count>11</comment_count>
    <who name="Amir Mark Jr">amir_mark</who>
    <bug_when>2021-07-01 17:22:38 -0700</bug_when>
    <thetext>Reverted r279481 for reason:

Broke a pre-existing test

Committed r279489 (239341@main): &lt;https://commits.webkit.org/239341@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774635</commentid>
    <comment_count>12</comment_count>
      <attachid>432837</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-07-02 18:14:18 -0700</bug_when>
    <thetext>Created attachment 432837
EWS test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774698</commentid>
    <comment_count>13</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-07-03 14:29:41 -0700</bug_when>
    <thetext>Committed r279547 (239383@main): &lt;https://commits.webkit.org/239383@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432525</attachid>
            <date>2021-06-29 14:05:15 -0700</date>
            <delta_ts>2021-06-29 16:18:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227505-20210630070514.patch</filename>
            <type>text/plain</type>
            <size>4475</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZiZDM4NDRiMzEwM2Ri
NWU5YjRhMTdhZDE4ZGNhMDE4YmZjODQ0Ny4uZDFlMWVlNjVlMGJhNjRhNzIwMjc1ZmU0MTVmN2Qy
MjhiYTU4M2VhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA2LTI5ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIEJvdHRvbUNvbnRyb2xz
QmFySGVpZ2h0IHRvIGEgbGF5b3V0IHRyYWl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc1MDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5OTMy
MjU2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1v
dmUgYSBKUyBjb25zdGFudCBpbnRvIGEgbGF5b3V0IHRyYWl0IHNvIHRoYXQgc3ViY2xhc3NlcyBj
YW4gY2hhbmdlCisgICAgICAgIHRoZSB2YWx1ZS4KKworICAgICAgICBObyBjaGFuZ2UgaW4gYmVo
YXZpb3VyLgorCisgICAgICAgICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJv
bHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzOgorICAgICAgICAoSW5saW5lTWVkaWFDb250cm9s
cy5wcm90b3R5cGUubGF5b3V0KToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9sYXlvdXQtdHJhaXRzLmpzOgorICAgICAgICAoTGF5b3V0VHJhaXRzLnBy
b3RvdHlwZS5pbmxpbmVCb3R0b21Db250cm9sc0JhckhlaWdodCk6CisgICAgICAgIChMYXlvdXRU
cmFpdHMpOgorICAgICAgICAqIE1vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xz
L21lZGlhLWNvbnRyb2xzLmNzczoKKyAgICAgICAgKDpob3N0KGF1ZGlvKSwgOmhvc3QodmlkZW8u
bWVkaWEtZG9jdW1lbnQuYXVkaW8pLCAqKToKKwogMjAyMS0wNi0yOCAgU2FtIFdlaW5pZyAgPHdl
aW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgW01vZGVybiBNZWRpYSBDb250cm9sc10gU3VwcG9y
dCBjdXN0b21pemluZyB0aGUgbWVkaWEgY29udHJvbHMgdmlhIFdlYktpdEFkZGl0aW9ucwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzCmlu
ZGV4IDZiMmM2NWFjZTBlYjkyZWIyY2M3MWFkNzFkMDMwYTViZDFiMTQ5ZWQuLjczM2M5NTQ5Nzgy
Y2RhZDZiMTMxNTRkNjJhZGVhNDBjNmYzZTk4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2lubGluZS1tZWRpYS1jb250
cm9scy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9jb250cm9scy9pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKQEAgLTI0LDcgKzI0LDYgQEAKICAq
LwogCiBjb25zdCBJbnNpZGVNYXJnaW4gPSA2OyAvLyBNaW5pbXVtIG1hcmdpbiB0byBndWFyYW50
ZWUgYXJvdW5kIGFsbCBjb250cm9scywgdGhpcyBjb25zdGFudCBuZWVkcyB0byBzdGF5IGluIHN5
bmMgd2l0aCB0aGUgLS1pbmxpbmUtY29udHJvbHMtaW5zaWRlLW1hcmdpbiBDU1MgdmFyaWFibGUu
Ci1jb25zdCBCb3R0b21Db250cm9sc0JhckhlaWdodCA9IDMxOyAvLyBUaGlzIGNvbnN0YW50IG5l
ZWRzIHRvIHN0YXkgaW4gc3luYyB3aXRoIHRoZSAtLWlubGluZS1jb250cm9scy1iYXItaGVpZ2h0
IENTUyB2YXJpYWJsZS4KIAogY2xhc3MgSW5saW5lTWVkaWFDb250cm9scyBleHRlbmRzIE1lZGlh
Q29udHJvbHMKIHsKQEAgLTIxOCw3ICsyMTcsNyBAQCBjbGFzcyBJbmxpbmVNZWRpYUNvbnRyb2xz
IGV4dGVuZHMgTWVkaWFDb250cm9scwogCiAgICAgICAgIC8vIEVuc3VyZSB3ZSBwb3NpdGlvbiB0
aGUgYm90dG9tIGNvbnRyb2xzIGJhciBhdCB0aGUgYm90dG9tIG9mIHRoZSBmcmFtZSwgYWNjb3Vu
dGluZyBmb3IKICAgICAgICAgLy8gdGhlIGluc2lkZSBtYXJnaW4sIHVubGVzcyB0aGlzIHdvdWxk
IHlpZWxkIGEgcG9zaXRpb24gb3V0c2lkZSBvZiB0aGUgZnJhbWUuCi0gICAgICAgIHRoaXMuYm90
dG9tQ29udHJvbHNCYXIueSA9IE1hdGgubWF4KDAsIHRoaXMuaGVpZ2h0IC0gQm90dG9tQ29udHJv
bHNCYXJIZWlnaHQgLSBJbnNpZGVNYXJnaW4pOworICAgICAgICB0aGlzLmJvdHRvbUNvbnRyb2xz
QmFyLnkgPSBNYXRoLm1heCgwLCB0aGlzLmhlaWdodCAtIHRoaXMubGF5b3V0VHJhaXRzLmlubGlu
ZUJvdHRvbUNvbnRyb2xzQmFySGVpZ2h0KCkgLSBJbnNpZGVNYXJnaW4pOwogCiAgICAgICAgIHRo
aXMuYm90dG9tQ29udHJvbHNCYXIuY2hpbGRyZW4gPSBjb250cm9sc0JhckNoaWxkcmVuOwogICAg
ICAgICBpZiAoIXRoaXMuX3Nob3VsZFVzZUF1ZGlvTGF5b3V0ICYmICF0aGlzLl9zaG91bGRVc2VT
aW5nbGVCYXJMYXlvdXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtdHJhaXRzLmpzIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LXRyYWl0cy5q
cwppbmRleCA4NTA1OTBhYmRlMzFjMTQyNTcwZGM2MTBjZjFiYmQzZWMzNDJjZDE2Li43Y2VmMjIy
MTFiNTM3MDU2ODBmNjNhZTg2YWY4ODYyOTYyYmVjMTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtdHJhaXRz
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nv
bnRyb2xzL2xheW91dC10cmFpdHMuanMKQEAgLTc1LDIxICs3NSwyNyBAQCBjbGFzcyBMYXlvdXRU
cmFpdHMKICAgICB7CiAgICAgICAgIHRocm93ICJEZXJpdmVkIGNsYXNzIG11c3QgaW1wbGVtZW50
IHRoaXMgZnVuY3Rpb24uIjsKICAgICB9Ci0gICAgCisKICAgICBwbGF5UGF1c2VCdXR0b25TY2Fs
ZUZhY3RvcigpCiAgICAgewogICAgICAgICB0aHJvdyAiRGVyaXZlZCBjbGFzcyBtdXN0IGltcGxl
bWVudCB0aGlzIGZ1bmN0aW9uLiI7CiAgICAgfQotICAgIAorCiAgICAgY29udHJvbHNEZXBlbmRP
blBhZ2VTY2FsZUZhY3RvcigpCiAgICAgewogICAgICAgICB0aHJvdyAiRGVyaXZlZCBjbGFzcyBt
dXN0IGltcGxlbWVudCB0aGlzIGZ1bmN0aW9uLiI7CiAgICAgfQotICAgIAorCiAgICAgcHJvbW90
ZVN1Yk1lbnVzV2hlblNob3dpbmdNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnUoKQogICAgIHsKICAg
ICAgICAgdGhyb3cgIkRlcml2ZWQgY2xhc3MgbXVzdCBpbXBsZW1lbnQgdGhpcyBmdW5jdGlvbi4i
OwogICAgIH0KKworICAgIGlubGluZUJvdHRvbUNvbnRyb2xzQmFySGVpZ2h0KCkKKyAgICB7Cisg
ICAgICAgIC8vIFRoaXMgY29uc3RhbnQgbmVlZHMgdG8gc3RheSBpbiBzeW5jIHdpdGggdGhlIC0t
aW5saW5lLWNvbnRyb2xzLWJhci1oZWlnaHQgQ1NTIHZhcmlhYmxlLgorICAgICAgICByZXR1cm4g
MzE7CisgICAgfQogfQogCiBMYXlvdXRUcmFpdHMuTW9kZSA9IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21lZGlhLWNv
bnRyb2xzLmNzcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L2NvbnRyb2xzL21lZGlhLWNvbnRyb2xzLmNzcwppbmRleCA0ODEzODYxMjVhMjE3YWJjOTg1YzNj
ZTdhOTYzMDIwYjAyN2RjNjdjLi45Yzk1YzU3ZTkyMTkyYjlmYWYyNTA2MWI2OTU1ZGQwNWFjNTIy
NWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9tZWRpYS1jb250cm9scy5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWVkaWEtY29udHJvbHMuY3NzCkBA
IC00NSw3ICs0NSw3IEBACiB9CiAKIDpob3N0KGF1ZGlvKSwgOmhvc3QodmlkZW8ubWVkaWEtZG9j
dW1lbnQuYXVkaW8pLCAqIHsKLSAgICAvKiBUaGlzIGNvbnN0YW50IG5lZWRzIHRvIHN0YXkgaW4g
c3luYyB3aXRoIHRoZSBCb3R0b21Db250cm9sc0JhckhlaWdodCBKUyBjb25zdGFudC4gKi8KKyAg
ICAvKiBUaGlzIGNvbnN0YW50IG5lZWRzIHRvIHN0YXkgaW4gc3luYyB3aXRoIHRoZSBpbmxpbmVC
b3R0b21Db250cm9sc0JhckhlaWdodCBsYXlvdXQgdHJhaXQuICovCiAgICAgLS1pbmxpbmUtY29u
dHJvbHMtYmFyLWhlaWdodDogMzFweDsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432550</attachid>
            <date>2021-06-29 16:18:27 -0700</date>
            <delta_ts>2021-06-30 19:21:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227505-20210630091825.patch</filename>
            <type>text/plain</type>
            <size>5409</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZiZDM4NDRiMzEwM2Ri
NWU5YjRhMTdhZDE4ZGNhMDE4YmZjODQ0Ny4uZDFlMWVlNjVlMGJhNjRhNzIwMjc1ZmU0MTVmN2Qy
MjhiYTU4M2VhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA2LTI5ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIEJvdHRvbUNvbnRyb2xz
QmFySGVpZ2h0IHRvIGEgbGF5b3V0IHRyYWl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc1MDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5OTMy
MjU2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1v
dmUgYSBKUyBjb25zdGFudCBpbnRvIGEgbGF5b3V0IHRyYWl0IHNvIHRoYXQgc3ViY2xhc3NlcyBj
YW4gY2hhbmdlCisgICAgICAgIHRoZSB2YWx1ZS4KKworICAgICAgICBObyBjaGFuZ2UgaW4gYmVo
YXZpb3VyLgorCisgICAgICAgICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJv
bHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzOgorICAgICAgICAoSW5saW5lTWVkaWFDb250cm9s
cy5wcm90b3R5cGUubGF5b3V0KToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9sYXlvdXQtdHJhaXRzLmpzOgorICAgICAgICAoTGF5b3V0VHJhaXRzLnBy
b3RvdHlwZS5pbmxpbmVCb3R0b21Db250cm9sc0JhckhlaWdodCk6CisgICAgICAgIChMYXlvdXRU
cmFpdHMpOgorICAgICAgICAqIE1vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xz
L21lZGlhLWNvbnRyb2xzLmNzczoKKyAgICAgICAgKDpob3N0KGF1ZGlvKSwgOmhvc3QodmlkZW8u
bWVkaWEtZG9jdW1lbnQuYXVkaW8pLCAqKToKKwogMjAyMS0wNi0yOCAgU2FtIFdlaW5pZyAgPHdl
aW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgW01vZGVybiBNZWRpYSBDb250cm9sc10gU3VwcG9y
dCBjdXN0b21pemluZyB0aGUgbWVkaWEgY29udHJvbHMgdmlhIFdlYktpdEFkZGl0aW9ucwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzCmlu
ZGV4IDZiMmM2NWFjZTBlYjkyZWIyY2M3MWFkNzFkMDMwYTViZDFiMTQ5ZWQuLjczM2M5NTQ5Nzgy
Y2RhZDZiMTMxNTRkNjJhZGVhNDBjNmYzZTk4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2lubGluZS1tZWRpYS1jb250
cm9scy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9jb250cm9scy9pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKQEAgLTI0LDcgKzI0LDYgQEAKICAq
LwogCiBjb25zdCBJbnNpZGVNYXJnaW4gPSA2OyAvLyBNaW5pbXVtIG1hcmdpbiB0byBndWFyYW50
ZWUgYXJvdW5kIGFsbCBjb250cm9scywgdGhpcyBjb25zdGFudCBuZWVkcyB0byBzdGF5IGluIHN5
bmMgd2l0aCB0aGUgLS1pbmxpbmUtY29udHJvbHMtaW5zaWRlLW1hcmdpbiBDU1MgdmFyaWFibGUu
Ci1jb25zdCBCb3R0b21Db250cm9sc0JhckhlaWdodCA9IDMxOyAvLyBUaGlzIGNvbnN0YW50IG5l
ZWRzIHRvIHN0YXkgaW4gc3luYyB3aXRoIHRoZSAtLWlubGluZS1jb250cm9scy1iYXItaGVpZ2h0
IENTUyB2YXJpYWJsZS4KIAogY2xhc3MgSW5saW5lTWVkaWFDb250cm9scyBleHRlbmRzIE1lZGlh
Q29udHJvbHMKIHsKQEAgLTIxOCw3ICsyMTcsNyBAQCBjbGFzcyBJbmxpbmVNZWRpYUNvbnRyb2xz
IGV4dGVuZHMgTWVkaWFDb250cm9scwogCiAgICAgICAgIC8vIEVuc3VyZSB3ZSBwb3NpdGlvbiB0
aGUgYm90dG9tIGNvbnRyb2xzIGJhciBhdCB0aGUgYm90dG9tIG9mIHRoZSBmcmFtZSwgYWNjb3Vu
dGluZyBmb3IKICAgICAgICAgLy8gdGhlIGluc2lkZSBtYXJnaW4sIHVubGVzcyB0aGlzIHdvdWxk
IHlpZWxkIGEgcG9zaXRpb24gb3V0c2lkZSBvZiB0aGUgZnJhbWUuCi0gICAgICAgIHRoaXMuYm90
dG9tQ29udHJvbHNCYXIueSA9IE1hdGgubWF4KDAsIHRoaXMuaGVpZ2h0IC0gQm90dG9tQ29udHJv
bHNCYXJIZWlnaHQgLSBJbnNpZGVNYXJnaW4pOworICAgICAgICB0aGlzLmJvdHRvbUNvbnRyb2xz
QmFyLnkgPSBNYXRoLm1heCgwLCB0aGlzLmhlaWdodCAtIHRoaXMubGF5b3V0VHJhaXRzLmlubGlu
ZUJvdHRvbUNvbnRyb2xzQmFySGVpZ2h0KCkgLSBJbnNpZGVNYXJnaW4pOwogCiAgICAgICAgIHRo
aXMuYm90dG9tQ29udHJvbHNCYXIuY2hpbGRyZW4gPSBjb250cm9sc0JhckNoaWxkcmVuOwogICAg
ICAgICBpZiAoIXRoaXMuX3Nob3VsZFVzZUF1ZGlvTGF5b3V0ICYmICF0aGlzLl9zaG91bGRVc2VT
aW5nbGVCYXJMYXlvdXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtdHJhaXRzLmpzIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LXRyYWl0cy5q
cwppbmRleCA4NTA1OTBhYmRlMzFjMTQyNTcwZGM2MTBjZjFiYmQzZWMzNDJjZDE2Li43Y2VmMjIy
MTFiNTM3MDU2ODBmNjNhZTg2YWY4ODYyOTYyYmVjMTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtdHJhaXRz
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nv
bnRyb2xzL2xheW91dC10cmFpdHMuanMKQEAgLTc1LDIxICs3NSwyNyBAQCBjbGFzcyBMYXlvdXRU
cmFpdHMKICAgICB7CiAgICAgICAgIHRocm93ICJEZXJpdmVkIGNsYXNzIG11c3QgaW1wbGVtZW50
IHRoaXMgZnVuY3Rpb24uIjsKICAgICB9Ci0gICAgCisKICAgICBwbGF5UGF1c2VCdXR0b25TY2Fs
ZUZhY3RvcigpCiAgICAgewogICAgICAgICB0aHJvdyAiRGVyaXZlZCBjbGFzcyBtdXN0IGltcGxl
bWVudCB0aGlzIGZ1bmN0aW9uLiI7CiAgICAgfQotICAgIAorCiAgICAgY29udHJvbHNEZXBlbmRP
blBhZ2VTY2FsZUZhY3RvcigpCiAgICAgewogICAgICAgICB0aHJvdyAiRGVyaXZlZCBjbGFzcyBt
dXN0IGltcGxlbWVudCB0aGlzIGZ1bmN0aW9uLiI7CiAgICAgfQotICAgIAorCiAgICAgcHJvbW90
ZVN1Yk1lbnVzV2hlblNob3dpbmdNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnUoKQogICAgIHsKICAg
ICAgICAgdGhyb3cgIkRlcml2ZWQgY2xhc3MgbXVzdCBpbXBsZW1lbnQgdGhpcyBmdW5jdGlvbi4i
OwogICAgIH0KKworICAgIGlubGluZUJvdHRvbUNvbnRyb2xzQmFySGVpZ2h0KCkKKyAgICB7Cisg
ICAgICAgIC8vIFRoaXMgY29uc3RhbnQgbmVlZHMgdG8gc3RheSBpbiBzeW5jIHdpdGggdGhlIC0t
aW5saW5lLWNvbnRyb2xzLWJhci1oZWlnaHQgQ1NTIHZhcmlhYmxlLgorICAgICAgICByZXR1cm4g
MzE7CisgICAgfQogfQogCiBMYXlvdXRUcmFpdHMuTW9kZSA9IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21hY29zLWlu
bGluZS1tZWRpYS1jb250cm9scy5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21hY29zLWlubGluZS1tZWRpYS1jb250cm9scy5qcwppbmRl
eCA5YjI3ZWIxYzhhNDJhODc3MGU2YjdiMmQwYmYwNWE1ODg2YjJjZTBjLi5hZWFhODIwZGQyZWFi
MTE4NzkwYTNiODYxYjE1NzI3ZTQzZTk3YTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tYWNvcy1pbmxpbmUtbWVkaWEt
Y29udHJvbHMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvY29udHJvbHMvbWFjb3MtaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzCkBAIC02MCw3ICs2
MCw3IEBAIGNsYXNzIE1hY09TSW5saW5lTWVkaWFDb250cm9scyBleHRlbmRzIElubGluZU1lZGlh
Q29udHJvbHMKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB0aGlzLl92b2x1bWVTbGlk
ZXJDb250YWluZXIueCA9IHRoaXMucmlnaHRDb250YWluZXIueCArIHRoaXMubXV0ZUJ1dHRvbi54
OwotICAgICAgICB0aGlzLl92b2x1bWVTbGlkZXJDb250YWluZXIueSA9IHRoaXMuYm90dG9tQ29u
dHJvbHNCYXIueSAtIEJvdHRvbUNvbnRyb2xzQmFySGVpZ2h0IC0gSW5zaWRlTWFyZ2luOworICAg
ICAgICB0aGlzLl92b2x1bWVTbGlkZXJDb250YWluZXIueSA9IHRoaXMuYm90dG9tQ29udHJvbHNC
YXIueSAtIHRoaXMubGF5b3V0VHJhaXRzLmlubGluZUJvdHRvbUNvbnRyb2xzQmFySGVpZ2h0KCkg
LSBJbnNpZGVNYXJnaW47CiAgICAgfQogCiAgICAgZ2V0IHByZWZlcnJlZE11dGVCdXR0b25TdHls
ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9tZWRpYS1jb250cm9scy5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tZWRpYS1jb250cm9scy5jc3MKaW5kZXgg
NDgxMzg2MTI1YTIxN2FiYzk4NWMzY2U3YTk2MzAyMGIwMjdkYzY3Yy4uOWM5NWM1N2U5MjE5MmI5
ZmFmMjUwNjFiNjk1NWRkMDVhYzUyMjVhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWVkaWEtY29udHJvbHMuY3NzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xz
L21lZGlhLWNvbnRyb2xzLmNzcwpAQCAtNDUsNyArNDUsNyBAQAogfQogCiA6aG9zdChhdWRpbyks
IDpob3N0KHZpZGVvLm1lZGlhLWRvY3VtZW50LmF1ZGlvKSwgKiB7Ci0gICAgLyogVGhpcyBjb25z
dGFudCBuZWVkcyB0byBzdGF5IGluIHN5bmMgd2l0aCB0aGUgQm90dG9tQ29udHJvbHNCYXJIZWln
aHQgSlMgY29uc3RhbnQuICovCisgICAgLyogVGhpcyBjb25zdGFudCBuZWVkcyB0byBzdGF5IGlu
IHN5bmMgd2l0aCB0aGUgaW5saW5lQm90dG9tQ29udHJvbHNCYXJIZWlnaHQgbGF5b3V0IHRyYWl0
LiAqLwogICAgIC0taW5saW5lLWNvbnRyb2xzLWJhci1oZWlnaHQ6IDMxcHg7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432650</attachid>
            <date>2021-06-30 19:21:58 -0700</date>
            <delta_ts>2021-06-30 23:48:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227505-20210701122157.patch</filename>
            <type>text/plain</type>
            <size>6692</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZiZDM4NDRiMzEwM2Ri
NWU5YjRhMTdhZDE4ZGNhMDE4YmZjODQ0Ny4uOWRkYWMxYjA1YzFhZmJmNDJkYTk2Zjg0M2IyZWZi
MGIyY2UwMjZkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA2LTI5ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIEJvdHRvbUNvbnRyb2xz
QmFySGVpZ2h0IGFuZCBJbnNpZGVNYXJnaW4gdG8gYmUgY29tcHV0ZWQgYXQgcnVudGltZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTA1CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS83OTkzMjI1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBSYXRoZXIgdGhhbiBoYXZpbmcgdHdvIEpTIGNvbnN0YW50
cyB0aGF0IGhhdmUgdG8gYmUga2VwdCBpbiBzeW5jCisgICAgICAgIHdpdGggQ1NTLCBzaW1wbHkg
cmV0cmlldmUgdGhlIHZhbHVlIGZyb20gdGhlIGNvbXB1dGVkIHN0eWxlLgorCisgICAgICAgIE5v
IGNoYW5nZSBpbiBiZWhhdmlvdXIuCisKKyAgICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9jb250cm9scy9pbmxpbmUtbWVkaWEtY29udHJvbHMuanM6CisgICAgICAgIChJbmxp
bmVNZWRpYUNvbnRyb2xzLnByb3RvdHlwZS5sYXlvdXQpOgorICAgICAgICAqIE1vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21lZGlhLWNvbnRyb2xzLmNzczoKKyAgICAgICAg
KDpob3N0KGF1ZGlvKSwgOmhvc3QodmlkZW8ubWVkaWEtZG9jdW1lbnQuYXVkaW8pLCAqKToKKyAg
ICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtbm9k
ZS5qczogQWRkIHR3byBoZWxwZXJzIHRvCisgICAgICAgIHJldHJpdmUgY29tcHV0ZWQgc3R5bGUg
dmFsdWVzLgorCiAyMDIxLTA2LTI4ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbTW9kZXJuIE1lZGlhIENvbnRyb2xzXSBTdXBwb3J0IGN1c3RvbWl6aW5nIHRoZSBt
ZWRpYSBjb250cm9scyB2aWEgV2ViS2l0QWRkaXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9pbmxpbmUtbWVkaWEt
Y29udHJvbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9jb250cm9scy9pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKaW5kZXggNmIyYzY1YWNlMGViOTJl
YjJjYzcxYWQ3MWQwMzBhNWJkMWIxNDllZC4uODIzZjZjOGYwNWNlNjk4YjliMjA5NGZiODA2MDNl
YTE1ZWRiZWEyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvY29udHJvbHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2lubGluZS1t
ZWRpYS1jb250cm9scy5qcwpAQCAtMjMsOSArMjMsNiBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwog
Ci1jb25zdCBJbnNpZGVNYXJnaW4gPSA2OyAvLyBNaW5pbXVtIG1hcmdpbiB0byBndWFyYW50ZWUg
YXJvdW5kIGFsbCBjb250cm9scywgdGhpcyBjb25zdGFudCBuZWVkcyB0byBzdGF5IGluIHN5bmMg
d2l0aCB0aGUgLS1pbmxpbmUtY29udHJvbHMtaW5zaWRlLW1hcmdpbiBDU1MgdmFyaWFibGUuCi1j
b25zdCBCb3R0b21Db250cm9sc0JhckhlaWdodCA9IDMxOyAvLyBUaGlzIGNvbnN0YW50IG5lZWRz
IHRvIHN0YXkgaW4gc3luYyB3aXRoIHRoZSAtLWlubGluZS1jb250cm9scy1iYXItaGVpZ2h0IENT
UyB2YXJpYWJsZS4KLQogY2xhc3MgSW5saW5lTWVkaWFDb250cm9scyBleHRlbmRzIE1lZGlhQ29u
dHJvbHMKIHsKIApAQCAtMTMzLDcgKzEzMCw4IEBAIGNsYXNzIElubGluZU1lZGlhQ29udHJvbHMg
ZXh0ZW5kcyBNZWRpYUNvbnRyb2xzCiAgICAgICAgIHRoaXMudG9wTGVmdENvbnRyb2xzQmFyLnZp
c2libGUgPSB0aGlzLl90b3BMZWZ0Q29udHJvbHNCYXJDb250YWluZXIuY2hpbGRyZW4uc29tZShi
dXR0b24gPT4gYnV0dG9uLnZpc2libGUpOwogCiAgICAgICAgIC8vIENvbXB1dGUgdGhlIHZpc2li
bGUgc2l6ZSBmb3IgdGhlIGNvbnRyb2xzIGJhci4KLSAgICAgICAgdGhpcy5ib3R0b21Db250cm9s
c0Jhci53aWR0aCA9IHRoaXMuX3Nob3VsZFVzZUF1ZGlvTGF5b3V0ID8gdGhpcy53aWR0aCA6ICh0
aGlzLndpZHRoIC0gMiAqIEluc2lkZU1hcmdpbik7CisgICAgICAgIGNvbnN0IGlubGluZUluc2lk
ZU1hcmdpbiA9IHRoaXMuY29tcHV0ZWRWYWx1ZUZvclN0eWxlUHJvcGVydHlJblB4KCItLWlubGlu
ZS1jb250cm9scy1pbnNpZGUtbWFyZ2luIik7CisgICAgICAgIHRoaXMuYm90dG9tQ29udHJvbHNC
YXIud2lkdGggPSB0aGlzLl9zaG91bGRVc2VBdWRpb0xheW91dCA/IHRoaXMud2lkdGggOiAodGhp
cy53aWR0aCAtIDIgKiBpbmxpbmVJbnNpZGVNYXJnaW4pOwogCiAgICAgICAgIC8vIENvbXB1dGUg
dGhlIGFic29sdXRlIG1pbmltdW0gd2lkdGggdG8gZGlzcGxheSB0aGUgY2VudGVyIGNvbnRyb2wg
KHN0YXR1cyBsYWJlbCBvciB0aW1lIGNvbnRyb2wpLgogICAgICAgICBjb25zdCBjZW50ZXJDb250
cm9sID0gdGhpcy5zdGF0dXNMYWJlbC5lbmFibGVkID8gdGhpcy5zdGF0dXNMYWJlbCA6IHRoaXMu
dGltZUNvbnRyb2w7CkBAIC0yMTgsNyArMjE2LDggQEAgY2xhc3MgSW5saW5lTWVkaWFDb250cm9s
cyBleHRlbmRzIE1lZGlhQ29udHJvbHMKIAogICAgICAgICAvLyBFbnN1cmUgd2UgcG9zaXRpb24g
dGhlIGJvdHRvbSBjb250cm9scyBiYXIgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZnJhbWUsIGFjY291
bnRpbmcgZm9yCiAgICAgICAgIC8vIHRoZSBpbnNpZGUgbWFyZ2luLCB1bmxlc3MgdGhpcyB3b3Vs
ZCB5aWVsZCBhIHBvc2l0aW9uIG91dHNpZGUgb2YgdGhlIGZyYW1lLgotICAgICAgICB0aGlzLmJv
dHRvbUNvbnRyb2xzQmFyLnkgPSBNYXRoLm1heCgwLCB0aGlzLmhlaWdodCAtIEJvdHRvbUNvbnRy
b2xzQmFySGVpZ2h0IC0gSW5zaWRlTWFyZ2luKTsKKyAgICAgICAgY29uc3QgaW5saW5lQm90dG9t
Q29udHJvbHNCYXJIZWlnaHQgPSB0aGlzLmNvbXB1dGVkVmFsdWVGb3JTdHlsZVByb3BlcnR5SW5Q
eCgiLS1pbmxpbmUtY29udHJvbHMtYmFyLWhlaWdodCIpOworICAgICAgICB0aGlzLmJvdHRvbUNv
bnRyb2xzQmFyLnkgPSBNYXRoLm1heCgwLCB0aGlzLmhlaWdodCAtIGlubGluZUJvdHRvbUNvbnRy
b2xzQmFySGVpZ2h0IC0gaW5saW5lSW5zaWRlTWFyZ2luKTsKIAogICAgICAgICB0aGlzLmJvdHRv
bUNvbnRyb2xzQmFyLmNoaWxkcmVuID0gY29udHJvbHNCYXJDaGlsZHJlbjsKICAgICAgICAgaWYg
KCF0aGlzLl9zaG91bGRVc2VBdWRpb0xheW91dCAmJiAhdGhpcy5fc2hvdWxkVXNlU2luZ2xlQmFy
TGF5b3V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvY29udHJvbHMvbGF5b3V0LW5vZGUuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtbm9kZS5qcwppbmRleCBjZDdi
NzRjODkyYzgwZTVlNTllZmNjMzgzZTNkYTc3MzAyNWM3MDk5Li42NjYwMTUxMjFkMjRjMzgyMjZj
YzM3ZTU5ZDc3ZDVlNmY1YTA3ZDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtbm9kZS5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQt
bm9kZS5qcwpAQCAtMjI5LDYgKzIyOSwyMSBAQCBjbGFzcyBMYXlvdXROb2RlCiAgICAgICAgICAg
ICB0aGlzLl91cGRhdGVEaXJ0eVN0YXRlKCk7CiAgICAgfQogCisgICAgY29tcHV0ZWRWYWx1ZUZv
clN0eWxlUHJvcGVydHkocHJvcGVydHlOYW1lKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0
eU5hbWUpOworICAgIH0KKworICAgIGNvbXB1dGVkVmFsdWVGb3JTdHlsZVByb3BlcnR5SW5QeChw
cm9wZXJ0eU5hbWUpCisgICAgeworICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY29tcHV0ZWRW
YWx1ZUZvclN0eWxlUHJvcGVydHkocHJvcGVydHlOYW1lKTsKKyAgICAgICAgaWYgKCF2YWx1ZSkK
KyAgICAgICAgICAgIHJldHVybiBudWxsOworICAgICAgICBpZiAoIXZhbHVlLmVuZHNXaXRoKCJw
eCIpKQorICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgIHJldHVybiBwYXJzZUZsb2F0
KHZhbHVlKTsKKyAgICB9CisKICAgICAvLyBQcm90ZWN0ZWQKIAogICAgIGxheW91dCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250
cm9scy9tYWNvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tYWNvcy1pbmxpbmUtbWVkaWEtY29u
dHJvbHMuanMKaW5kZXggOWIyN2ViMWM4YTQyYTg3NzBlNmI3YjJkMGJmMDVhNTg4NmIyY2UwYy4u
ZTk1YTllYzYxZmI4MmYyYjM1MDE5YTIxNTQ0YmU0OTI0YTUyOTlmMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWFjb3Mt
aW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21hY29zLWlubGluZS1tZWRpYS1jb250cm9scy5q
cwpAQCAtNTksOCArNTksMTEgQEAgY2xhc3MgTWFjT1NJbmxpbmVNZWRpYUNvbnRyb2xzIGV4dGVu
ZHMgSW5saW5lTWVkaWFDb250cm9scwogICAgICAgICBpZiAoIXRoaXMuX3ZvbHVtZVNsaWRlckNv
bnRhaW5lcikKICAgICAgICAgICAgIHJldHVybjsKIAorICAgICAgICBjb25zdCBpbmxpbmVJbnNp
ZGVNYXJnaW4gPSB0aGlzLmNvbXB1dGVkVmFsdWVGb3JTdHlsZVByb3BlcnR5SW5QeCgiLS1pbmxp
bmUtY29udHJvbHMtaW5zaWRlLW1hcmdpbiIpOworICAgICAgICBjb25zdCBpbmxpbmVCb3R0b21D
b250cm9sc0JhckhlaWdodCA9IHRoaXMuY29tcHV0ZWRWYWx1ZUZvclN0eWxlUHJvcGVydHlJblB4
KCItLWlubGluZS1jb250cm9scy1iYXItaGVpZ2h0Iik7CisKICAgICAgICAgdGhpcy5fdm9sdW1l
U2xpZGVyQ29udGFpbmVyLnggPSB0aGlzLnJpZ2h0Q29udGFpbmVyLnggKyB0aGlzLm11dGVCdXR0
b24ueDsKLSAgICAgICAgdGhpcy5fdm9sdW1lU2xpZGVyQ29udGFpbmVyLnkgPSB0aGlzLmJvdHRv
bUNvbnRyb2xzQmFyLnkgLSBCb3R0b21Db250cm9sc0JhckhlaWdodCAtIEluc2lkZU1hcmdpbjsK
KyAgICAgICAgdGhpcy5fdm9sdW1lU2xpZGVyQ29udGFpbmVyLnkgPSB0aGlzLmJvdHRvbUNvbnRy
b2xzQmFyLnkgLSBpbmxpbmVCb3R0b21Db250cm9sc0JhckhlaWdodCAtIGlubGluZUluc2lkZU1h
cmdpbjsKICAgICB9CiAKICAgICBnZXQgcHJlZmVycmVkTXV0ZUJ1dHRvblN0eWxlKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRy
b2xzL21lZGlhLWNvbnRyb2xzLmNzcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21lZGlhLWNvbnRyb2xzLmNzcwppbmRleCA0ODEzODYxMjVh
MjE3YWJjOTg1YzNjZTdhOTYzMDIwYjAyN2RjNjdjLi4wNWQwODJhMWFjODAyYmYzNGQzMGYyNTg5
MTg5NTNmNmUyMGM2M2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9jb250cm9scy9tZWRpYS1jb250cm9scy5jc3MKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWVkaWEtY29u
dHJvbHMuY3NzCkBAIC0zNyw3ICszNyw2IEBACiB9CiAKICogewotICAgIC8qIFRoaXMgY29uc3Rh
bnQgbmVlZHMgdG8gc3RheSBpbiBzeW5jIHdpdGggdGhlIEluc2lkZU1hcmdpbiBKUyBjb25zdGFu
dC4gKi8KICAgICAtLWlubGluZS1jb250cm9scy1pbnNpZGUtbWFyZ2luOiA2cHg7CiAgICAgLS1m
dWxsc2NyZWVuLWNvbnRyb2xzLWJhci1oZWlnaHQ6IDc1cHg7CiAgICAgLS1wcmltYXJ5LWdseXBo
LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpOwpAQCAtNDUsNyArNDQsNiBAQAogfQog
CiA6aG9zdChhdWRpbyksIDpob3N0KHZpZGVvLm1lZGlhLWRvY3VtZW50LmF1ZGlvKSwgKiB7Ci0g
ICAgLyogVGhpcyBjb25zdGFudCBuZWVkcyB0byBzdGF5IGluIHN5bmMgd2l0aCB0aGUgQm90dG9t
Q29udHJvbHNCYXJIZWlnaHQgSlMgY29uc3RhbnQuICovCiAgICAgLS1pbmxpbmUtY29udHJvbHMt
YmFyLWhlaWdodDogMzFweDsKIH0KIAo=
</data>
<flag name="review"
          id="454678"
          type_id="1"
          status="+"
          setter="hi"
    />
    <flag name="commit-queue"
          id="454686"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432837</attachid>
            <date>2021-07-02 18:14:18 -0700</date>
            <delta_ts>2021-07-02 18:14:18 -0700</delta_ts>
            <desc>EWS test</desc>
            <filename>bug-227505-20210703111416.patch</filename>
            <type>text/plain</type>
            <size>12665</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDczNzA1Njk2NDQzMDc0
MmIxMjkwODE2YzFmODE2Y2FhZDljOTA5Yi4uYzJmNzM2MjBjNDY0ZTFhYzgzMjBjMTlmMmU1NTdm
NjgzNDBkYTZhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA3LTAxICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIEJvdHRvbUNvbnRyb2xz
QmFySGVpZ2h0IGFuZCBJbnNpZGVNYXJnaW4gdG8gYmUgY29tcHV0ZWQgYXQgcnVudGltZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTA1CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS83OTkzMjI1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBEZXZp
biBSb3Vzc28uCisKKyAgICAgICAgUmF0aGVyIHRoYW4gaGF2aW5nIHR3byBKUyBjb25zdGFudHMg
dGhhdCBoYXZlIHRvIGJlIGtlcHQgaW4gc3luYworICAgICAgICB3aXRoIENTUywgc2ltcGx5IHJl
dHJpZXZlIHRoZSB2YWx1ZSBmcm9tIHRoZSBjb21wdXRlZCBzdHlsZS4KKworICAgICAgICBObyBj
aGFuZ2UgaW4gYmVoYXZpb3VyLgorCisgICAgICAgICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvY29udHJvbHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzOgorICAgICAgICAoSW5saW5l
TWVkaWFDb250cm9scy5wcm90b3R5cGUubGF5b3V0KToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9jb250cm9scy9tZWRpYS1jb250cm9scy5jc3M6CisgICAgICAgICg6
aG9zdChhdWRpbyksIDpob3N0KHZpZGVvLm1lZGlhLWRvY3VtZW50LmF1ZGlvKSwgKik6CisgICAg
ICAgICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LW5vZGUu
anM6IEFkZCB0d28gaGVscGVycyB0bworICAgICAgICByZXRyaXZlIGNvbXB1dGVkIHN0eWxlIHZh
bHVlcy4KKwogMjAyMS0wNy0wMiAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0xGQ11bVEZDXSBLZWVwIHRyYWNrIG9mIGJvdGggdGhlIGZpeGVkIGFuZCBwZXJjZW50
IG1heGltdW0gdmFsdWVzIGZvciBlYWNoIGNvbHVtbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaW5saW5lLW1lZGlhLWNv
bnRyb2xzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
Y29udHJvbHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzCmluZGV4IDZiMmM2NWFjZTBlYjkyZWIy
Y2M3MWFkNzFkMDMwYTViZDFiMTQ5ZWQuLjgwN2I2MzJhNTFiZTM4ZjM5YTExNmUxZjIyMDIxZGVj
ZThiMDI4MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL2NvbnRyb2xzL2lubGluZS1tZWRpYS1jb250cm9scy5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9pbmxpbmUtbWVk
aWEtY29udHJvbHMuanMKQEAgLTIzLDkgKzIzLDYgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAot
Y29uc3QgSW5zaWRlTWFyZ2luID0gNjsgLy8gTWluaW11bSBtYXJnaW4gdG8gZ3VhcmFudGVlIGFy
b3VuZCBhbGwgY29udHJvbHMsIHRoaXMgY29uc3RhbnQgbmVlZHMgdG8gc3RheSBpbiBzeW5jIHdp
dGggdGhlIC0taW5saW5lLWNvbnRyb2xzLWluc2lkZS1tYXJnaW4gQ1NTIHZhcmlhYmxlLgotY29u
c3QgQm90dG9tQ29udHJvbHNCYXJIZWlnaHQgPSAzMTsgLy8gVGhpcyBjb25zdGFudCBuZWVkcyB0
byBzdGF5IGluIHN5bmMgd2l0aCB0aGUgLS1pbmxpbmUtY29udHJvbHMtYmFyLWhlaWdodCBDU1Mg
dmFyaWFibGUuCi0KIGNsYXNzIElubGluZU1lZGlhQ29udHJvbHMgZXh0ZW5kcyBNZWRpYUNvbnRy
b2xzCiB7CiAKQEAgLTEzMyw3ICsxMzAsOSBAQCBjbGFzcyBJbmxpbmVNZWRpYUNvbnRyb2xzIGV4
dGVuZHMgTWVkaWFDb250cm9scwogICAgICAgICB0aGlzLnRvcExlZnRDb250cm9sc0Jhci52aXNp
YmxlID0gdGhpcy5fdG9wTGVmdENvbnRyb2xzQmFyQ29udGFpbmVyLmNoaWxkcmVuLnNvbWUoYnV0
dG9uID0+IGJ1dHRvbi52aXNpYmxlKTsKIAogICAgICAgICAvLyBDb21wdXRlIHRoZSB2aXNpYmxl
IHNpemUgZm9yIHRoZSBjb250cm9scyBiYXIuCi0gICAgICAgIHRoaXMuYm90dG9tQ29udHJvbHNC
YXIud2lkdGggPSB0aGlzLl9zaG91bGRVc2VBdWRpb0xheW91dCA/IHRoaXMud2lkdGggOiAodGhp
cy53aWR0aCAtIDIgKiBJbnNpZGVNYXJnaW4pOworICAgICAgICBpZiAoIXRoaXMuX2lubGluZUlu
c2lkZU1hcmdpbikKKyAgICAgICAgICAgIHRoaXMuX2lubGluZUluc2lkZU1hcmdpbiA9IHRoaXMu
Y29tcHV0ZWRWYWx1ZUZvclN0eWxlUHJvcGVydHlJblB4KCItLWlubGluZS1jb250cm9scy1pbnNp
ZGUtbWFyZ2luIik7CisgICAgICAgIHRoaXMuYm90dG9tQ29udHJvbHNCYXIud2lkdGggPSB0aGlz
Ll9zaG91bGRVc2VBdWRpb0xheW91dCA/IHRoaXMud2lkdGggOiAodGhpcy53aWR0aCAtIDIgKiB0
aGlzLl9pbmxpbmVJbnNpZGVNYXJnaW4pOwogCiAgICAgICAgIC8vIENvbXB1dGUgdGhlIGFic29s
dXRlIG1pbmltdW0gd2lkdGggdG8gZGlzcGxheSB0aGUgY2VudGVyIGNvbnRyb2wgKHN0YXR1cyBs
YWJlbCBvciB0aW1lIGNvbnRyb2wpLgogICAgICAgICBjb25zdCBjZW50ZXJDb250cm9sID0gdGhp
cy5zdGF0dXNMYWJlbC5lbmFibGVkID8gdGhpcy5zdGF0dXNMYWJlbCA6IHRoaXMudGltZUNvbnRy
b2w7CkBAIC0yMTgsNyArMjE3LDkgQEAgY2xhc3MgSW5saW5lTWVkaWFDb250cm9scyBleHRlbmRz
IE1lZGlhQ29udHJvbHMKIAogICAgICAgICAvLyBFbnN1cmUgd2UgcG9zaXRpb24gdGhlIGJvdHRv
bSBjb250cm9scyBiYXIgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZnJhbWUsIGFjY291bnRpbmcgZm9y
CiAgICAgICAgIC8vIHRoZSBpbnNpZGUgbWFyZ2luLCB1bmxlc3MgdGhpcyB3b3VsZCB5aWVsZCBh
IHBvc2l0aW9uIG91dHNpZGUgb2YgdGhlIGZyYW1lLgotICAgICAgICB0aGlzLmJvdHRvbUNvbnRy
b2xzQmFyLnkgPSBNYXRoLm1heCgwLCB0aGlzLmhlaWdodCAtIEJvdHRvbUNvbnRyb2xzQmFySGVp
Z2h0IC0gSW5zaWRlTWFyZ2luKTsKKyAgICAgICAgaWYgKCF0aGlzLl9pbmxpbmVCb3R0b21Db250
cm9sc0JhckhlaWdodCkKKyAgICAgICAgICAgIHRoaXMuX2lubGluZUJvdHRvbUNvbnRyb2xzQmFy
SGVpZ2h0ID0gdGhpcy5jb21wdXRlZFZhbHVlRm9yU3R5bGVQcm9wZXJ0eUluUHgoIi0taW5saW5l
LWNvbnRyb2xzLWJhci1oZWlnaHQiKTsKKyAgICAgICAgdGhpcy5ib3R0b21Db250cm9sc0Jhci55
ID0gTWF0aC5tYXgoMCwgdGhpcy5oZWlnaHQgLSB0aGlzLl9pbmxpbmVCb3R0b21Db250cm9sc0Jh
ckhlaWdodCAtIHRoaXMuX2lubGluZUluc2lkZU1hcmdpbik7CiAKICAgICAgICAgdGhpcy5ib3R0
b21Db250cm9sc0Jhci5jaGlsZHJlbiA9IGNvbnRyb2xzQmFyQ2hpbGRyZW47CiAgICAgICAgIGlm
ICghdGhpcy5fc2hvdWxkVXNlQXVkaW9MYXlvdXQgJiYgIXRoaXMuX3Nob3VsZFVzZVNpbmdsZUJh
ckxheW91dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL2NvbnRyb2xzL2xheW91dC1ub2RlLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LW5vZGUuanMKaW5kZXggY2Q3
Yjc0Yzg5MmM4MGU1ZTU5ZWZjYzM4M2UzZGE3NzMwMjVjNzA5OS4uYmY3NWQ5YTE0MDk4ZTJiMDg4
NDUwOWQ1ZGE0MmE2ZTI1ODk4NTJkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LW5vZGUuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0
LW5vZGUuanMKQEAgLTIyOSw2ICsyMjksMjEgQEAgY2xhc3MgTGF5b3V0Tm9kZQogICAgICAgICAg
ICAgdGhpcy5fdXBkYXRlRGlydHlTdGF0ZSgpOwogICAgIH0KIAorICAgIGNvbXB1dGVkVmFsdWVG
b3JTdHlsZVByb3BlcnR5KHByb3BlcnR5TmFtZSkKKyAgICB7CisgICAgICAgIHJldHVybiB3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUocHJvcGVy
dHlOYW1lKTsKKyAgICB9CisKKyAgICBjb21wdXRlZFZhbHVlRm9yU3R5bGVQcm9wZXJ0eUluUHgo
cHJvcGVydHlOYW1lKQorICAgIHsKKyAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmNvbXB1dGVk
VmFsdWVGb3JTdHlsZVByb3BlcnR5KHByb3BlcnR5TmFtZSk7CisgICAgICAgIGlmICghdmFsdWUp
CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgaWYgKCF2YWx1ZS5lbmRzV2l0aCgicHgi
KSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1
ZSk7CisgICAgfQorCiAgICAgLy8gUHJvdGVjdGVkCiAKICAgICBsYXlvdXQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMv
bWFjb3MtaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWFjb3MtaW5saW5lLW1lZGlhLWNvbnRyb2xz
LmpzCmluZGV4IDliMjdlYjFjOGE0MmE4NzcwZTZiN2IyZDBiZjA1YTU4ODZiMmNlMGMuLmRmNzcz
ZWJlYmJmMDZkNzRkMTg0NjM0ZGFkNzI0MTRmZGU1YTljYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21hY29zLWlubGlu
ZS1tZWRpYS1jb250cm9scy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1t
ZWRpYS1jb250cm9scy9jb250cm9scy9tYWNvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMuanMKQEAg
LTU5LDggKzU5LDEzIEBAIGNsYXNzIE1hY09TSW5saW5lTWVkaWFDb250cm9scyBleHRlbmRzIElu
bGluZU1lZGlhQ29udHJvbHMKICAgICAgICAgaWYgKCF0aGlzLl92b2x1bWVTbGlkZXJDb250YWlu
ZXIpCiAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgaWYgKCF0aGlzLl9pbmxpbmVJbnNp
ZGVNYXJnaW4pCisgICAgICAgICAgICB0aGlzLl9pbmxpbmVJbnNpZGVNYXJnaW4gPSB0aGlzLmNv
bXB1dGVkVmFsdWVGb3JTdHlsZVByb3BlcnR5SW5QeCgiLS1pbmxpbmUtY29udHJvbHMtaW5zaWRl
LW1hcmdpbiIpOworICAgICAgICBpZiAoIXRoaXMuX2lubGluZUJvdHRvbUNvbnRyb2xzQmFySGVp
Z2h0KQorICAgICAgICAgICAgdGhpcy5faW5saW5lQm90dG9tQ29udHJvbHNCYXJIZWlnaHQgPSB0
aGlzLmNvbXB1dGVkVmFsdWVGb3JTdHlsZVByb3BlcnR5SW5QeCgiLS1pbmxpbmUtY29udHJvbHMt
YmFyLWhlaWdodCIpOworCiAgICAgICAgIHRoaXMuX3ZvbHVtZVNsaWRlckNvbnRhaW5lci54ID0g
dGhpcy5yaWdodENvbnRhaW5lci54ICsgdGhpcy5tdXRlQnV0dG9uLng7Ci0gICAgICAgIHRoaXMu
X3ZvbHVtZVNsaWRlckNvbnRhaW5lci55ID0gdGhpcy5ib3R0b21Db250cm9sc0Jhci55IC0gQm90
dG9tQ29udHJvbHNCYXJIZWlnaHQgLSBJbnNpZGVNYXJnaW47CisgICAgICAgIHRoaXMuX3ZvbHVt
ZVNsaWRlckNvbnRhaW5lci55ID0gdGhpcy5ib3R0b21Db250cm9sc0Jhci55IC0gdGhpcy5faW5s
aW5lQm90dG9tQ29udHJvbHNCYXJIZWlnaHQgLSB0aGlzLl9pbmxpbmVJbnNpZGVNYXJnaW47CiAg
ICAgfQogCiAgICAgZ2V0IHByZWZlcnJlZE11dGVCdXR0b25TdHlsZSgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tZWRp
YS1jb250cm9scy5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9tZWRpYS1jb250cm9scy5jc3MKaW5kZXggNDgxMzg2MTI1YTIxN2FiYzk4
NWMzY2U3YTk2MzAyMGIwMjdkYzY3Yy4uMDVkMDgyYTFhYzgwMmJmMzRkMzBmMjU4OTE4OTUzZjZl
MjBjNjNiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvY29udHJvbHMvbWVkaWEtY29udHJvbHMuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21lZGlhLWNvbnRyb2xzLmNz
cwpAQCAtMzcsNyArMzcsNiBAQAogfQogCiAqIHsKLSAgICAvKiBUaGlzIGNvbnN0YW50IG5lZWRz
IHRvIHN0YXkgaW4gc3luYyB3aXRoIHRoZSBJbnNpZGVNYXJnaW4gSlMgY29uc3RhbnQuICovCiAg
ICAgLS1pbmxpbmUtY29udHJvbHMtaW5zaWRlLW1hcmdpbjogNnB4OwogICAgIC0tZnVsbHNjcmVl
bi1jb250cm9scy1iYXItaGVpZ2h0OiA3NXB4OwogICAgIC0tcHJpbWFyeS1nbHlwaC1jb2xvcjog
cmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTsKQEAgLTQ1LDcgKzQ0LDYgQEAKIH0KIAogOmhvc3Qo
YXVkaW8pLCA6aG9zdCh2aWRlby5tZWRpYS1kb2N1bWVudC5hdWRpbyksICogewotICAgIC8qIFRo
aXMgY29uc3RhbnQgbmVlZHMgdG8gc3RheSBpbiBzeW5jIHdpdGggdGhlIEJvdHRvbUNvbnRyb2xz
QmFySGVpZ2h0IEpTIGNvbnN0YW50LiAqLwogICAgIC0taW5saW5lLWNvbnRyb2xzLWJhci1oZWln
aHQ6IDMxcHg7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRp
YS1jb250cm9scy9pb3MtaW5saW5lLW1lZGlhLWNvbnRyb2xzL2lvcy1pbmxpbmUtbWVkaWEtY29u
dHJvbHMtY29udHJvbHMtYmFyLXN0eWxlcy5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL2lvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMvaW9zLWlubGluZS1tZWRp
YS1jb250cm9scy1jb250cm9scy1iYXItc3R5bGVzLmh0bWwKaW5kZXggNWFiOTc2MWM4NGJhMjk2
ODEyMmY1OWEwZmQ3NjdjMjExM2FhY2RmMi4uOGM2OTAyYjkxYWZlNDI0ZTAzNjcwNmMwOWUxYmFk
ZDhhMWYzMDQxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2lvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMvaW9zLWlubGluZS1tZWRpYS1jb250cm9s
cy1jb250cm9scy1iYXItc3R5bGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL2lvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMvaW9zLWlubGluZS1tZWRp
YS1jb250cm9scy1jb250cm9scy1iYXItc3R5bGVzLmh0bWwKQEAgLTIwLDI3ICsyMCwzMyBAQCB3
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiBjb25zdCBtZWRpYUNvbnRyb2xzID0gbmV3IElP
U0lubGluZU1lZGlhQ29udHJvbHMoeyB3aWR0aDogNjgwLCBoZWlnaHQ6IDMwMCB9KTsKIAogbGV0
IHN0eWxlLCBib3VuZHM7CitsZXQgZnJhbWVDb3VudCA9IDA7CiBzY2hlZHVsZXIuZnJhbWVEaWRG
aXJlID0gZnVuY3Rpb24oKQogewotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobWVkaWFD
b250cm9scy5lbGVtZW50KTsKLQotICAgIHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUo
bWVkaWFDb250cm9scy5ib3R0b21Db250cm9sc0Jhci5lbGVtZW50KTsKLSAgICBib3VuZHMgPSBt
ZWRpYUNvbnRyb2xzLmJvdHRvbUNvbnRyb2xzQmFyLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCk7Ci0gICAgCi0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdHlsZS5sZWZ0IiwgIjZw
eCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3R5bGUuYm90dG9tIiwgIjZweCIpOwot
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3R5bGUud2lkdGgiLCAiNjY4cHgiKTsKLSAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInN0eWxlLmhlaWdodCIsICIzMXB4Iik7Ci0KLSAgICBzaG91
bGRCZSgiYm91bmRzLmxlZnQiLCAiNiIpOwotICAgIHNob3VsZEJlKCJib3VuZHMudG9wIiwgIjI2
MyIpOwotICAgIHNob3VsZEJlKCJib3VuZHMud2lkdGgiLCAiNjY4Iik7Ci0gICAgc2hvdWxkQmUo
ImJvdW5kcy5oZWlnaHQiLCAiMzEiKTsKLQotICAgIG1lZGlhQ29udHJvbHMuZWxlbWVudC5yZW1v
dmUoKTsKLQotICAgIGRlYnVnKCIiKTsKLSAgICBmaW5pc2hNZWRpYUNvbnRyb2xzVGVzdCgpOwor
ICAgIGlmIChmcmFtZUNvdW50ID09IDApCisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQobWVkaWFDb250cm9scy5lbGVtZW50KTsKKyAgICBlbHNlIGlmIChmcmFtZUNvdW50ID09IDMp
IHsKKyAgICAgICAgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShtZWRpYUNvbnRyb2xz
LmJvdHRvbUNvbnRyb2xzQmFyLmVsZW1lbnQpOworICAgICAgICBib3VuZHMgPSBtZWRpYUNvbnRy
b2xzLmJvdHRvbUNvbnRyb2xzQmFyLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisK
KyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdHlsZS5sZWZ0IiwgIjZweCIpOworICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN0eWxlLmJvdHRvbSIsICI2cHgiKTsKKyAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdHlsZS53aWR0aCIsICI2NjhweCIpOworICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN0eWxlLmhlaWdodCIsICIzMXB4Iik7CisKKyAgICAg
ICAgc2hvdWxkQmUoImJvdW5kcy5sZWZ0IiwgIjYiKTsKKyAgICAgICAgc2hvdWxkQmUoImJvdW5k
cy50b3AiLCAiMjYzIik7CisgICAgICAgIHNob3VsZEJlKCJib3VuZHMud2lkdGgiLCAiNjY4Iik7
CisgICAgICAgIHNob3VsZEJlKCJib3VuZHMuaGVpZ2h0IiwgIjMxIik7CisKKyAgICAgICAgbWVk
aWFDb250cm9scy5lbGVtZW50LnJlbW92ZSgpOworCisgICAgICAgIGRlYnVnKCIiKTsKKyAgICAg
ICAgZmluaXNoTWVkaWFDb250cm9sc1Rlc3QoKTsKKyAgICB9CisKKyAgICBtZWRpYUNvbnRyb2xz
Lm5lZWRzTGF5b3V0ID0gdHJ1ZTsKKyAgICBmcmFtZUNvdW50Kys7CiB9OwogCiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9pb3Mt
aW5saW5lLW1lZGlhLWNvbnRyb2xzL2lvcy1pbmxpbmUtbWVkaWEtZHJvcHBpbmctY29udHJvbHMu
aHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9pb3MtaW5saW5l
LW1lZGlhLWNvbnRyb2xzL2lvcy1pbmxpbmUtbWVkaWEtZHJvcHBpbmctY29udHJvbHMuaHRtbApp
bmRleCBiZGFjZjExYjgyMjVhMjAyYmMzOWJjYjliNzU5Mzg3YTY3OTgxZDVmLi4zOGNkODdiNmIx
MGVhNDQ0YjJkZTAzMjAwYzY4MTkzNzhhZjhmMjg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9t
ZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvaW9zLWlubGluZS1tZWRpYS1jb250cm9scy9pb3Mt
aW5saW5lLW1lZGlhLWRyb3BwaW5nLWNvbnRyb2xzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVk
aWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2lvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMvaW9zLWlu
bGluZS1tZWRpYS1kcm9wcGluZy1jb250cm9scy5odG1sCkBAIC0zMiw2ICszMiw3IEBAIGZ1bmN0
aW9uIHJlYWR5KCkKIH0KIAogc2hvdWxkQmVjb21lRXF1YWwoInJlYWR5KCkiLCAidHJ1ZSIsICgp
ID0+IHsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG1lZGlhQ29udHJvbHMuZWxlbWVu
dCk7CiAgICAgZGVidWcoIiIpOwogICAgIHdoaWxlIChkcm9wcGFibGVDb250cm9scy5sZW5ndGgp
IHsKICAgICAgICAgZm9yIChsZXQgaSA9IGRyb3BwYWJsZUNvbnRyb2xzLmxlbmd0aCAtIDE7IGkg
Pj0gMDsgLS1pKSB7CkBAIC00Myw2ICs0NCw3IEBAIHNob3VsZEJlY29tZUVxdWFsKCJyZWFkeSgp
IiwgInRydWUiLCAoKSA9PiB7CiAKICAgICAgICAgbWVkaWFDb250cm9scy53aWR0aC0tOwogICAg
IH0KKyAgICBtZWRpYUNvbnRyb2xzLmVsZW1lbnQucmVtb3ZlKCk7CiAgICAgZGVidWcoIiIpOwog
ICAgIGZpbmlzaEpTVGVzdCgpOwogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtaW5saW5lLW1lZGlhLWNvbnRyb2xzL21hY29zLWlu
bGluZS1tZWRpYS1jb250cm9scy1jb250cm9scy1iYXItc3R5bGVzLmh0bWwgYi9MYXlvdXRUZXN0
cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtaW5saW5lLW1lZGlhLWNvbnRyb2xz
L21hY29zLWlubGluZS1tZWRpYS1jb250cm9scy1jb250cm9scy1iYXItc3R5bGVzLmh0bWwKaW5k
ZXggOWVjMzZhOGFmZTk0YzYyMDIwNDAyNWYyMWQ1OTA1YTFkODgxMWFmZS4uNDYzNjg3YjU2MDM4
OGUxYmFmZDhkZWM5YWY1NWFjYjVkNzMxMDRmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVk
aWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWlubGluZS1tZWRpYS1jb250cm9scy9tYWNv
cy1pbmxpbmUtbWVkaWEtY29udHJvbHMtY29udHJvbHMtYmFyLXN0eWxlcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1pbmxpbmUtbWVkaWEt
Y29udHJvbHMvbWFjb3MtaW5saW5lLW1lZGlhLWNvbnRyb2xzLWNvbnRyb2xzLWJhci1zdHlsZXMu
aHRtbApAQCAtOSw3ICs5LDYgQEAKICAgICB0b3A6IDA7CiAgICAgbGVmdDogMDsKIH0KLSAgICAK
IDwvc3R5bGU+CiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAKQEAgLTIwLDI3ICsx
OSwzMyBAQCB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiBjb25zdCBtZWRpYUNvbnRyb2xz
ID0gbmV3IE1hY09TSW5saW5lTWVkaWFDb250cm9scyh7IHdpZHRoOiA2ODAsIGhlaWdodDogMzAw
IH0pOwogCiBsZXQgc3R5bGUsIGJvdW5kczsKK2xldCBmcmFtZUNvdW50ID0gMDsKIHNjaGVkdWxl
ci5mcmFtZURpZEZpcmUgPSBmdW5jdGlvbigpCiB7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChtZWRpYUNvbnRyb2xzLmVsZW1lbnQpOwotCi0gICAgc3R5bGUgPSB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShtZWRpYUNvbnRyb2xzLmJvdHRvbUNvbnRyb2xzQmFyLmVsZW1lbnQpOwotICAg
IGJvdW5kcyA9IG1lZGlhQ29udHJvbHMuYm90dG9tQ29udHJvbHNCYXIuZWxlbWVudC5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKTsKLSAgICAKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN0eWxl
LmxlZnQiLCAiNnB4Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdHlsZS5ib3R0b20i
LCAiNnB4Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdHlsZS53aWR0aCIsICI2Njhw
eCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3R5bGUuaGVpZ2h0IiwgIjMxcHgiKTsK
LQotICAgIHNob3VsZEJlKCJib3VuZHMubGVmdCIsICI2Iik7Ci0gICAgc2hvdWxkQmUoImJvdW5k
cy50b3AiLCAiMjYzIik7Ci0gICAgc2hvdWxkQmUoImJvdW5kcy53aWR0aCIsICI2NjgiKTsKLSAg
ICBzaG91bGRCZSgiYm91bmRzLmhlaWdodCIsICIzMSIpOwotCi0gICAgbWVkaWFDb250cm9scy5l
bGVtZW50LnJlbW92ZSgpOwotCi0gICAgZGVidWcoIiIpOwotICAgIGZpbmlzaE1lZGlhQ29udHJv
bHNUZXN0KCk7CisgICAgaWYgKGZyYW1lQ291bnQgPT0gMCkKKyAgICAgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChtZWRpYUNvbnRyb2xzLmVsZW1lbnQpOworICAgIGVsc2UgaWYgKGZyYW1l
Q291bnQgPT0gMykgeworICAgICAgICBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG1l
ZGlhQ29udHJvbHMuYm90dG9tQ29udHJvbHNCYXIuZWxlbWVudCk7CisgICAgICAgIGJvdW5kcyA9
IG1lZGlhQ29udHJvbHMuYm90dG9tQ29udHJvbHNCYXIuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVu
dFJlY3QoKTsKKworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN0eWxlLmxlZnQiLCAi
NnB4Iik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3R5bGUuYm90dG9tIiwgIjZw
eCIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN0eWxlLndpZHRoIiwgIjY2OHB4
Iik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3R5bGUuaGVpZ2h0IiwgIjMxcHgi
KTsKKworICAgICAgICBzaG91bGRCZSgiYm91bmRzLmxlZnQiLCAiNiIpOworICAgICAgICBzaG91
bGRCZSgiYm91bmRzLnRvcCIsICIyNjMiKTsKKyAgICAgICAgc2hvdWxkQmUoImJvdW5kcy53aWR0
aCIsICI2NjgiKTsKKyAgICAgICAgc2hvdWxkQmUoImJvdW5kcy5oZWlnaHQiLCAiMzEiKTsKKwor
ICAgICAgICBtZWRpYUNvbnRyb2xzLmVsZW1lbnQucmVtb3ZlKCk7CisKKyAgICAgICAgZGVidWco
IiIpOworICAgICAgICBmaW5pc2hNZWRpYUNvbnRyb2xzVGVzdCgpOworICAgIH0KKworICAgIG1l
ZGlhQ29udHJvbHMubmVlZHNMYXlvdXQgPSB0cnVlOworICAgIGZyYW1lQ291bnQrKzsKIH07CiAK
IDwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>