<?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>182685</bug_id>
          
          <creation_ts>2018-02-11 23:27:11 -0800</creation_ts>
          <short_desc>CanvasRenderingContext2DBase: use CanvasBase more extensively</short_desc>
          <delta_ts>2019-11-01 05:56:16 -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>Canvas</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>
          <dependson>182503</dependson>
          <blocked>183720</blocked>
    
    <blocked>182686</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aperez</cc>
    
    <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>clord</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1398318</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-02-11 23:27:11 -0800</bug_when>
    <thetext>In CanvasRenderingContext2DBase, instead of downcasting the CanvasBase object to HTMLCanvasElement, call CanvasBase methods introduced in bug #182503, making it possible for OffscreenCanvas to leverage this class properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398319</commentid>
    <comment_count>1</comment_count>
      <attachid>333582</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-02-11 23:28:47 -0800</bug_when>
    <thetext>Created attachment 333582
WIP patch

Depends on changes in bug #182503.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402851</commentid>
    <comment_count>2</comment_count>
      <attachid>334802</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-03-01 01:48:02 -0800</bug_when>
    <thetext>Created attachment 334802
Patch

Reviewable, but still depends on bug #182503.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575489</commentid>
    <comment_count>3</comment_count>
      <attachid>379890</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2019-10-01 04:17:36 -0700</bug_when>
    <thetext>Created attachment 379890
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1578577</commentid>
    <comment_count>4</comment_count>
      <attachid>380621</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2019-10-10 02:58:14 -0700</bug_when>
    <thetext>Created attachment 380621
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580921</commentid>
    <comment_count>5</comment_count>
      <attachid>381184</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2019-10-17 02:34:05 -0700</bug_when>
    <thetext>Created attachment 381184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586311</commentid>
    <comment_count>6</comment_count>
      <attachid>382568</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2019-11-01 02:35:02 -0700</bug_when>
    <thetext>Created attachment 382568
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586316</commentid>
    <comment_count>7</comment_count>
      <attachid>382568</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2019-11-01 04:08:17 -0700</bug_when>
    <thetext>Comment on attachment 382568
Patch

Patch LGTM. Let&apos;s wait until all the EWS bots pass before setting cq+ :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586323</commentid>
    <comment_count>8</comment_count>
      <attachid>382568</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-01 05:55:35 -0700</bug_when>
    <thetext>Comment on attachment 382568
Patch

Clearing flags on attachment: 382568

Committed r251914: &lt;https://trac.webkit.org/changeset/251914&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586324</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-01 05:55:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586325</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-01 05:56:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/56814353&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333582</attachid>
            <date>2018-02-11 23:28:47 -0800</date>
            <delta_ts>2018-03-01 01:48:02 -0800</delta_ts>
            <desc>WIP patch</desc>
            <filename>b182685.patch</filename>
            <type>text/plain</type>
            <size>11847</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyREJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEQmFzZS5jcHAKaW5kZXggOWQxMDljOGExYzcuLjBkYTAzYjJlMDQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0
MkRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkRCYXNlLmNwcApAQCAtMTcwLDggKzE3MCw3IEBAIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyREJhc2U6On5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlKCkKIGJvb2wgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6aXNBY2NlbGVyYXRlZCgpIGNvbnN0CiB7CiAjaWYgVVNF
KElPU1VSRkFDRV9DQU5WQVNfQkFDS0lOR19TVE9SRSkgfHwgRU5BQkxFKEFDQ0VMRVJBVEVEXzJE
X0NBTlZBUykKLSAgICBhdXRvJiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4o
Y2FudmFzQmFzZSgpKTsKLSAgICBpZiAoIWNhbnZhcy5oYXNDcmVhdGVkSW1hZ2VCdWZmZXIoKSkK
KyAgICBpZiAoIWNhbnZhc0Jhc2UoKS5oYXNDcmVhdGVkSW1hZ2VCdWZmZXIoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGF1dG8qIGNvbnRleHQgPSBkcmF3aW5nQ29udGV4dCgpOwogICAg
IHJldHVybiBjb250ZXh0ICYmIGNvbnRleHQtPmlzQWNjZWxlcmF0ZWRDb250ZXh0KCk7CkBAIC00
MDQsMTQgKzQwMywxMiBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnNldFN0
cm9rZVN0eWxlKENhbnZhc1N0eWxlIHN0eWxlKQogICAgIGlmIChzdGF0ZSgpLnN0cm9rZVN0eWxl
LmlzVmFsaWQoKSAmJiBzdGF0ZSgpLnN0cm9rZVN0eWxlLmlzRXF1aXZhbGVudENvbG9yKHN0eWxl
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENh
bnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UoKSk7Ci0KICAgICBpZiAoc3R5bGUuaXNDdXJyZW50Q29s
b3IoKSkgewogICAgICAgICBpZiAoc3R5bGUuaGFzT3ZlcnJpZGVBbHBoYSgpKSB7CiAgICAgICAg
ICAgICAvLyBGSVhNRTogU2hvdWxkIG5vdCB1c2UgUkdCQTMyIGhlcmUuCi0gICAgICAgICAgICBz
dHlsZSA9IENhbnZhc1N0eWxlKGNvbG9yV2l0aE92ZXJyaWRlQWxwaGEoY3VycmVudENvbG9yKCZj
YW52YXMpLnJnYigpLCBzdHlsZS5vdmVycmlkZUFscGhhKCkpKTsKKyAgICAgICAgICAgIHN0eWxl
ID0gQ2FudmFzU3R5bGUoY29sb3JXaXRoT3ZlcnJpZGVBbHBoYShjdXJyZW50Q29sb3IoJmNhbnZh
c0Jhc2UoKSkucmdiKCksIHN0eWxlLm92ZXJyaWRlQWxwaGEoKSkpOwogICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgIHN0eWxlID0gQ2FudmFzU3R5bGUoY3VycmVudENvbG9yKCZjYW52YXMpKTsK
KyAgICAgICAgICAgIHN0eWxlID0gQ2FudmFzU3R5bGUoY3VycmVudENvbG9yKCZjYW52YXNCYXNl
KCkpKTsKICAgICB9IGVsc2UKICAgICAgICAgY2hlY2tPcmlnaW4oc3R5bGUuY2FudmFzUGF0dGVy
bigpLmdldCgpKTsKIApAQCAtNDMzLDE0ICs0MzAsMTIgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkRCYXNlOjpzZXRGaWxsU3R5bGUoQ2FudmFzU3R5bGUgc3R5bGUpCiAgICAgaWYgKHN0
YXRlKCkuZmlsbFN0eWxlLmlzVmFsaWQoKSAmJiBzdGF0ZSgpLmZpbGxTdHlsZS5pc0VxdWl2YWxl
bnRDb2xvcihzdHlsZSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGF1dG8mIGNhbnZhcyA9IGRv
d25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKCkpOwotCiAgICAgaWYgKHN0eWxl
LmlzQ3VycmVudENvbG9yKCkpIHsKICAgICAgICAgaWYgKHN0eWxlLmhhc092ZXJyaWRlQWxwaGEo
KSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCBub3QgdXNlIFJHQkEzMiBoZXJlLgot
ICAgICAgICAgICAgc3R5bGUgPSBDYW52YXNTdHlsZShjb2xvcldpdGhPdmVycmlkZUFscGhhKGN1
cnJlbnRDb2xvcigmY2FudmFzKS5yZ2IoKSwgc3R5bGUub3ZlcnJpZGVBbHBoYSgpKSk7CisgICAg
ICAgICAgICBzdHlsZSA9IENhbnZhc1N0eWxlKGNvbG9yV2l0aE92ZXJyaWRlQWxwaGEoY3VycmVu
dENvbG9yKCZjYW52YXNCYXNlKCkpLnJnYigpLCBzdHlsZS5vdmVycmlkZUFscGhhKCkpKTsKICAg
ICAgICAgfSBlbHNlCi0gICAgICAgICAgICBzdHlsZSA9IENhbnZhc1N0eWxlKGN1cnJlbnRDb2xv
cigmY2FudmFzKSk7CisgICAgICAgICAgICBzdHlsZSA9IENhbnZhc1N0eWxlKGN1cnJlbnRDb2xv
cigmY2FudmFzQmFzZSgpKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIGNoZWNrT3JpZ2luKHN0eWxl
LmNhbnZhc1BhdHRlcm4oKS5nZXQoKSk7CiAKQEAgLTY3Myw4ICs2NjgsNyBAQCBTdHJpbmcgQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6c2hhZG93Q29sb3IoKSBjb25zdAogCiB2b2lkIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnNldFNoYWRvd0NvbG9yKGNvbnN0IFN0cmluZyYg
Y29sb3JTdHJpbmcpCiB7Ci0gICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0Vs
ZW1lbnQ+KGNhbnZhc0Jhc2UoKSk7Ci0gICAgQ29sb3IgY29sb3IgPSBwYXJzZUNvbG9yT3JDdXJy
ZW50Q29sb3IoY29sb3JTdHJpbmcsICZjYW52YXMpOworICAgIENvbG9yIGNvbG9yID0gcGFyc2VD
b2xvck9yQ3VycmVudENvbG9yKGNvbG9yU3RyaW5nLCAmY2FudmFzQmFzZSgpKTsKICAgICBpZiAo
IWNvbG9yLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChzdGF0ZSgpLnNoYWRv
d0NvbG9yID09IGNvbG9yKQpAQCAtOTMxLDggKzkyNSw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEQmFzZTo6cmVzZXRUcmFuc2Zvcm0oKQogCiAgICAgcmVhbGl6ZVNhdmVzKCk7CiAK
LSAgICBhdXRvJiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFz
ZSgpKTsKLSAgICBjLT5zZXRDVE0oY2FudmFzLmJhc2VUcmFuc2Zvcm0oKSk7CisgICAgYy0+c2V0
Q1RNKGNhbnZhc0Jhc2UoKS5iYXNlVHJhbnNmb3JtKCkpOwogICAgIG1vZGlmaWFibGVTdGF0ZSgp
LnRyYW5zZm9ybSA9IEFmZmluZVRyYW5zZm9ybSgpOwogCiAgICAgaWYgKGhhc0ludmVydGlibGVU
cmFuc2Zvcm0pCkBAIC0xMzQ1LDggKzEzMzgsNyBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2U6OnNldFNoYWRvdyhmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0LCBmbG9hdCBibAog
ewogICAgIENvbG9yIGNvbG9yID0gQ29sb3I6OnRyYW5zcGFyZW50OwogICAgIGlmICghY29sb3JT
dHJpbmcuaXNOdWxsKCkpIHsKLSAgICAgICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENh
bnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UoKSk7Ci0gICAgICAgIGNvbG9yID0gcGFyc2VDb2xvck9y
Q3VycmVudENvbG9yKGNvbG9yU3RyaW5nLCAmY2FudmFzKTsKKyAgICAgICAgY29sb3IgPSBwYXJz
ZUNvbG9yT3JDdXJyZW50Q29sb3IoY29sb3JTdHJpbmcsICZjYW52YXNCYXNlKCkpOwogICAgICAg
ICBpZiAoIWNvbG9yLmlzVmFsaWQoKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0x
NzMwLDcgKzE3MjIsNyBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmNsZWFy
Q2FudmFzKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYy0+c2F2ZSgpOwotICAgIGF1dG8mIGNh
bnZhcyA9IGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKCkpOworICAgIGF1
dG8mIGNhbnZhcyA9IGNhbnZhc0Jhc2UoKTsKICAgICBjLT5zZXRDVE0oY2FudmFzLmJhc2VUcmFu
c2Zvcm0oKSk7CiAgICAgYy0+Y2xlYXJSZWN0KEZsb2F0UmVjdCgwLCAwLCBjYW52YXMud2lkdGgo
KSwgY2FudmFzLmhlaWdodCgpKSk7CiAgICAgYy0+cmVzdG9yZSgpOwpAQCAtMTczOSw5ICsxNzMx
LDggQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpjbGVhckNhbnZhcygpCiBQ
YXRoIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnRyYW5zZm9ybUFyZWFUb0RldmljZShj
b25zdCBQYXRoJiBwYXRoKSBjb25zdAogewogICAgIFBhdGggdHJhbnNmb3JtZWQocGF0aCk7Ci0g
ICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2Uo
KSk7CiAgICAgdHJhbnNmb3JtZWQudHJhbnNmb3JtKHN0YXRlKCkudHJhbnNmb3JtKTsKLSAgICB0
cmFuc2Zvcm1lZC50cmFuc2Zvcm0oY2FudmFzLmJhc2VUcmFuc2Zvcm0oKSk7CisgICAgdHJhbnNm
b3JtZWQudHJhbnNmb3JtKGNhbnZhc0Jhc2UoKS5iYXNlVHJhbnNmb3JtKCkpOwogICAgIHJldHVy
biB0cmFuc2Zvcm1lZDsKIH0KIApAQCAtMTc1NSwxNCArMTc0NiwxNCBAQCBQYXRoIENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyREJhc2U6OnRyYW5zZm9ybUFyZWFUb0RldmljZShjb25zdCBGbG9hdFJl
Y3QmIHJlY3QpCiBib29sIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnJlY3RDb250YWlu
c0NhbnZhcyhjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0CiB7CiAgICAgRmxvYXRRdWFkIHF1
YWQocmVjdCk7Ci0gICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+
KGNhbnZhc0Jhc2UoKSk7CisgICAgYXV0byYgY2FudmFzID0gY2FudmFzQmFzZSgpOwogICAgIEZs
b2F0UXVhZCBjYW52YXNRdWFkKEZsb2F0UmVjdCgwLCAwLCBjYW52YXMud2lkdGgoKSwgY2FudmFz
LmhlaWdodCgpKSk7CiAgICAgcmV0dXJuIHN0YXRlKCkudHJhbnNmb3JtLm1hcFF1YWQocXVhZCku
Y29udGFpbnNRdWFkKGNhbnZhc1F1YWQpOwogfQogCiB0ZW1wbGF0ZTxjbGFzcyBUPiBJbnRSZWN0
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmNhbGN1bGF0ZUNvbXBvc2l0aW5nQnVmZmVy
UmVjdChjb25zdCBUJiBhcmVhLCBJbnRTaXplKiBjcm9wcGVkT2Zmc2V0KQogewotICAgIGF1dG8m
IGNhbnZhcyA9IGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKCkpOworICAg
IGF1dG8mIGNhbnZhcyA9IGNhbnZhc0Jhc2UoKTsKIAogICAgIEludFJlY3QgY2FudmFzUmVjdCgw
LCAwLCBjYW52YXMud2lkdGgoKSwgY2FudmFzLmhlaWdodCgpKTsKICAgICBjYW52YXNSZWN0ID0g
Y2FudmFzLmJhc2VUcmFuc2Zvcm0oKS5tYXBSZWN0KGNhbnZhc1JlY3QpOwpAQCAtMTc4Miw3ICsx
NzczLDcgQEAgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlOjpjcmVhdGVDb21wb3NpdGluZ0J1ZmYKIAogdm9pZCBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkRCYXNlOjpjb21wb3NpdGVCdWZmZXIoSW1hZ2VCdWZmZXImIGJ1ZmZlciwgY29uc3Qg
SW50UmVjdCYgYnVmZmVyUmVjdCwgQ29tcG9zaXRlT3BlcmF0b3Igb3ApCiB7Ci0gICAgYXV0byYg
Y2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UoKSk7CisgICAg
YXV0byYgY2FudmFzID0gY2FudmFzQmFzZSgpOwogICAgIEludFJlY3QgY2FudmFzUmVjdCgwLCAw
LCBjYW52YXMud2lkdGgoKSwgY2FudmFzLmhlaWdodCgpKTsKICAgICBjYW52YXNSZWN0ID0gY2Fu
dmFzLmJhc2VUcmFuc2Zvcm0oKS5tYXBSZWN0KGNhbnZhc1JlY3QpOwogCkBAIC0xOTg4LDggKzE5
NzksNyBAQCBFeGNlcHRpb25PcjxSZWZQdHI8Q2FudmFzUGF0dGVybj4+IENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyREJhc2U6OmNyZWF0ZVBhdHRlcm4oSQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyREJhc2U6OmRpZERyYXdFbnRpcmVDYW52YXMoKQogewotICAgIGF1dG8mIGNhbnZhcyA9
IGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKCkpOwotICAgIGRpZERyYXco
RmxvYXRSZWN0KEZsb2F0UG9pbnQ6Onplcm8oKSwgY2FudmFzLnNpemUoKSksIENhbnZhc0RpZERy
YXdBcHBseUNsaXApOworICAgIGRpZERyYXcoRmxvYXRSZWN0KEZsb2F0UG9pbnQ6Onplcm8oKSwg
Y2FudmFzQmFzZSgpLnNpemUoKSksIENhbnZhc0RpZERyYXdBcHBseUNsaXApOwogfQogCiB2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmRpZERyYXcoY29uc3QgRmxvYXRSZWN0JiBy
LCB1bnNpZ25lZCBvcHRpb25zKQpAQCAtMjAwMiw3ICsxOTkyLDcgQEAgdm9pZCBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkRCYXNlOjpkaWREcmF3KGNvbnN0IEZsb2F0UmVjdCYgciwgdW5zaWduZWQg
b3B0aW9ucykKIAogI2lmIEVOQUJMRShBQ0NFTEVSQVRFRF8yRF9DQU5WQVMpCiAgICAgLy8gSWYg
d2UgYXJlIGRyYXdpbmcgdG8gaGFyZHdhcmUgYW5kIHdlIGhhdmUgYSBjb21wb3NpdGVkIGxheWVy
LCBqdXN0IGNhbGwgY29udGVudENoYW5nZWQoKS4KLSAgICBpZiAoaXNBY2NlbGVyYXRlZCgpKSB7
CisgICAgaWYgKGlzQWNjZWxlcmF0ZWQoKSAmJiBpczxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFz
QmFzZSgpKSkgewogICAgICAgICBhdXRvJiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxl
bWVudD4oY2FudmFzQmFzZSgpKTsKICAgICAgICAgUmVuZGVyQm94KiByZW5kZXJCb3ggPSBjYW52
YXMucmVuZGVyQm94KCk7CiAgICAgICAgIGlmIChyZW5kZXJCb3ggJiYgcmVuZGVyQm94LT5oYXNB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nKCkpIHsKQEAgLTIwMzQsOCArMjAyNCw3IEBAIHZvaWQgQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6ZGlkRHJhdyhjb25zdCBGbG9hdFJlY3QmIHIsIHVu
c2lnbmVkIG9wdGlvbnMpCiAgICAgICAgIC8vIHdlJ2QgaGF2ZSB0byBrZWVwIHRoZSBjbGlwIHBh
dGggYXJvdW5kLgogICAgIH0KIAotICAgIGF1dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhUTUxDYW52
YXNFbGVtZW50PihjYW52YXNCYXNlKCkpOwotICAgIGNhbnZhcy5kaWREcmF3KGRpcnR5UmVjdCk7
CisgICAgY2FudmFzQmFzZSgpLmRpZERyYXcoZGlydHlSZWN0KTsKIH0KIAogdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRUcmFja3NEaXNwbGF5TGlzdFJlcGxheShib29sIHRy
YWNrc0Rpc3BsYXlMaXN0UmVwbGF5KQpAQCAtMjA2OSw3ICsyMDU4LDcgQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpwYWludFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZhcygpCiAg
ICAgICAgIGlmICghbV9yZWNvcmRpbmdDb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuOwogCi0g
ICAgICAgIGF1dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNC
YXNlKCkpOworICAgICAgICBhdXRvJiBjYW52YXMgPSBjYW52YXNCYXNlKCk7CiAKICAgICAgICAg
RmxvYXRSZWN0IGNsaXAoRmxvYXRQb2ludDo6emVybygpLCBjYW52YXMuc2l6ZSgpKTsKICAgICAg
ICAgRGlzcGxheUxpc3Q6OlJlcGxheWVyIHJlcGxheWVyKCpjYW52YXMuZHJhd2luZ0NvbnRleHQo
KSwgbV9yZWNvcmRpbmdDb250ZXh0LT5kaXNwbGF5TGlzdCk7CkBAIC0yMDg2LDE0ICsyMDc1LDEz
IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6cGFpbnRSZW5kZXJpbmdSZXN1
bHRzVG9DYW52YXMoKQogCiBHcmFwaGljc0NvbnRleHQqIENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
REJhc2U6OmRyYXdpbmdDb250ZXh0KCkgY29uc3QKIHsKLSAgICBhdXRvJiBjYW52YXMgPSBkb3du
Y2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKICAgICBpZiAoVU5MSUtFTFko
bV91c2VzRGlzcGxheUxpc3REcmF3aW5nKSkgewogICAgICAgICBpZiAoIW1fcmVjb3JkaW5nQ29u
dGV4dCkKLSAgICAgICAgICAgIG1fcmVjb3JkaW5nQ29udGV4dCA9IHN0ZDo6bWFrZV91bmlxdWU8
RGlzcGxheUxpc3REcmF3aW5nQ29udGV4dD4oRmxvYXRSZWN0KEZsb2F0UG9pbnQ6Onplcm8oKSwg
Y2FudmFzLnNpemUoKSkpOworICAgICAgICAgICAgbV9yZWNvcmRpbmdDb250ZXh0ID0gc3RkOjpt
YWtlX3VuaXF1ZTxEaXNwbGF5TGlzdERyYXdpbmdDb250ZXh0PihGbG9hdFJlY3QoRmxvYXRQb2lu
dDo6emVybygpLCBjYW52YXNCYXNlKCkuc2l6ZSgpKSk7CiAgICAgICAgIHJldHVybiAmbV9yZWNv
cmRpbmdDb250ZXh0LT5jb250ZXh0OwogICAgIH0KIAotICAgIHJldHVybiBjYW52YXMuZHJhd2lu
Z0NvbnRleHQoKTsKKyAgICByZXR1cm4gY2FudmFzQmFzZSgpLmRyYXdpbmdDb250ZXh0KCk7CiB9
CiAKIHN0YXRpYyBSZWZQdHI8SW1hZ2VEYXRhPiBjcmVhdGVFbXB0eUltYWdlRGF0YShjb25zdCBJ
bnRTaXplJiBzaXplKQpAQCAtMjE2MSw5ICsyMTQ5LDggQEAgRXhjZXB0aW9uT3I8UmVmUHRyPElt
YWdlRGF0YT4+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmdldEltYWdlRGF0YShJbWFn
ZUIKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBJbnRSZWN0IGltYWdlRGF0YVJlY3Qg
PSBlbmNsb3NpbmdJbnRSZWN0KGxvZ2ljYWxSZWN0KTsKLSAgICBhdXRvJiBjYW52YXMgPSBkb3du
Y2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKIAotICAgIEltYWdlQnVmZmVy
KiBidWZmZXIgPSBjYW52YXMuYnVmZmVyKCk7CisgICAgSW1hZ2VCdWZmZXIqIGJ1ZmZlciA9IGNh
bnZhc0Jhc2UoKS5idWZmZXIoKTsKICAgICBpZiAoIWJ1ZmZlcikKICAgICAgICAgcmV0dXJuIGNy
ZWF0ZUVtcHR5SW1hZ2VEYXRhKGltYWdlRGF0YVJlY3Quc2l6ZSgpKTsKIApAQCAtMjE5NCw5ICsy
MTgxLDcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpwdXRJbWFnZURhdGEo
SW1hZ2VEYXRhJiBkYXRhLCBmbG9hdCBkeCwgZmxvYXQKIAogdm9pZCBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkRCYXNlOjpwdXRJbWFnZURhdGEoSW1hZ2VEYXRhJiBkYXRhLCBJbWFnZUJ1ZmZlcjo6
Q29vcmRpbmF0ZVN5c3RlbSBjb29yZGluYXRlU3lzdGVtLCBmbG9hdCBkeCwgZmxvYXQgZHksIGZs
b2F0IGRpcnR5WCwgZmxvYXQgZGlydHlZLCBmbG9hdCBkaXJ0eVdpZHRoLCBmbG9hdCBkaXJ0eUhl
aWdodCkKIHsKLSAgICBhdXRvJiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4o
Y2FudmFzQmFzZSgpKTsKLQotICAgIEltYWdlQnVmZmVyKiBidWZmZXIgPSBjYW52YXMuYnVmZmVy
KCk7CisgICAgSW1hZ2VCdWZmZXIqIGJ1ZmZlciA9IGNhbnZhc0Jhc2UoKS5idWZmZXIoKTsKICAg
ICBpZiAoIWJ1ZmZlcikKICAgICAgICAgcmV0dXJuOwogCkBAIC0yMjQ5LDkgKzIyMzQsOSBAQCB2
b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmluZmxhdGVTdHJva2VSZWN0KEZsb2F0
UmVjdCYgcmVjdCkgY29uc3QKIAogUGxhdGZvcm1MYXllciogQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEQmFzZTo6cGxhdGZvcm1MYXllcigpIGNvbnN0CiB7Ci0gICAgYXV0byYgY2FudmFzID0gZG93
bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UoKSk7Ci0KLSAgICByZXR1cm4gY2Fu
dmFzLmJ1ZmZlcigpID8gY2FudmFzLmJ1ZmZlcigpLT5wbGF0Zm9ybUxheWVyKCkgOiBudWxscHRy
OworICAgIGlmIChhdXRvKiBidWZmZXIgPSBjYW52YXNCYXNlKCkuYnVmZmVyKCkpCisgICAgICAg
IHJldHVybiBidWZmZXItPnBsYXRmb3JtTGF5ZXIoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0K
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNT
dHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAKaW5k
ZXggNzkxNTY4Y2NkZTMuLjk3MGFkNjUyNzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzU3R5bGUuY3BwCkBAIC01NiwyMCArNTYsMjQgQEAgc3RhdGljIENvbG9yIHBhcnNl
Q29sb3IoY29uc3QgU3RyaW5nJiBjb2xvclN0cmluZykKICAgICByZXR1cm4gQ1NTUGFyc2VyOjpw
YXJzZVN5c3RlbUNvbG9yKGNvbG9yU3RyaW5nKTsKIH0KIAotQ29sb3IgY3VycmVudENvbG9yKEhU
TUxDYW52YXNFbGVtZW50KiBjYW52YXMpCitDb2xvciBjdXJyZW50Q29sb3IoQ2FudmFzQmFzZSog
Y2FudmFzQmFzZSkKIHsKLSAgICBpZiAoIWNhbnZhcyB8fCAhY2FudmFzLT5pc0Nvbm5lY3RlZCgp
IHx8ICFjYW52YXMtPmlubGluZVN0eWxlKCkpCisgICAgaWYgKCFpczxIVE1MQ2FudmFzRWxlbWVu
dD4oY2FudmFzQmFzZSkpCiAgICAgICAgIHJldHVybiBDb2xvcjo6YmxhY2s7Ci0gICAgQ29sb3Ig
Y29sb3IgPSBDU1NQYXJzZXI6OnBhcnNlQ29sb3IoY2FudmFzLT5pbmxpbmVTdHlsZSgpLT5nZXRQ
cm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5Q29sb3IpKTsKKworICAgIGF1dG8mIGNhbnZhcyA9IGRv
d25jYXN0PEhUTUxDYW52YXNFbGVtZW50PigqY2FudmFzQmFzZSk7CisgICAgaWYgKCFjYW52YXMu
aXNDb25uZWN0ZWQoKSB8fCAhY2FudmFzLmlubGluZVN0eWxlKCkpCisgICAgICAgIHJldHVybiBD
b2xvcjo6YmxhY2s7CisgICAgQ29sb3IgY29sb3IgPSBDU1NQYXJzZXI6OnBhcnNlQ29sb3IoY2Fu
dmFzLmlubGluZVN0eWxlKCktPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlDb2xvcikpOwog
ICAgIGlmICghY29sb3IuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gQ29sb3I6OmJsYWNrOwog
ICAgIHJldHVybiBjb2xvcjsKIH0KIAotQ29sb3IgcGFyc2VDb2xvck9yQ3VycmVudENvbG9yKGNv
bnN0IFN0cmluZyYgY29sb3JTdHJpbmcsIEhUTUxDYW52YXNFbGVtZW50KiBjYW52YXMpCitDb2xv
ciBwYXJzZUNvbG9yT3JDdXJyZW50Q29sb3IoY29uc3QgU3RyaW5nJiBjb2xvclN0cmluZywgQ2Fu
dmFzQmFzZSogY2FudmFzQmFzZSkKIHsKICAgICBpZiAoaXNDdXJyZW50Q29sb3JTdHJpbmcoY29s
b3JTdHJpbmcpKQotICAgICAgICByZXR1cm4gY3VycmVudENvbG9yKGNhbnZhcyk7CisgICAgICAg
IHJldHVybiBjdXJyZW50Q29sb3IoY2FudmFzQmFzZSk7CiAKICAgICByZXR1cm4gcGFyc2VDb2xv
cihjb2xvclN0cmluZyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUu
aAppbmRleCAxMjMxOWZkMmQ1NS4uMGJlMjgwOTQzYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzU3R5bGUuaApAQCAtMzMsOSArMzMsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK2NsYXNzIENhbnZhc0Jhc2U7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEdyYXBoaWNz
Q29udGV4dDsKLWNsYXNzIEhUTUxDYW52YXNFbGVtZW50OwogCiBjbGFzcyBDYW52YXNTdHlsZSB7
CiBwdWJsaWM6CkBAIC05NSw4ICs5NSw4IEBAIHByaXZhdGU6CiAgICAgVmFyaWFudDxJbnZhbGlk
LCBDb2xvciwgQ01ZS0FDb2xvciwgUmVmUHRyPENhbnZhc0dyYWRpZW50PiwgUmVmUHRyPENhbnZh
c1BhdHRlcm4+LCBDdXJyZW50Q29sb3I+IG1fc3R5bGU7CiB9OwogCi1Db2xvciBjdXJyZW50Q29s
b3IoSFRNTENhbnZhc0VsZW1lbnQqKTsKLUNvbG9yIHBhcnNlQ29sb3JPckN1cnJlbnRDb2xvcihj
b25zdCBTdHJpbmcmIGNvbG9yU3RyaW5nLCBIVE1MQ2FudmFzRWxlbWVudCopOworQ29sb3IgY3Vy
cmVudENvbG9yKENhbnZhc0Jhc2UqKTsKK0NvbG9yIHBhcnNlQ29sb3JPckN1cnJlbnRDb2xvcihj
b25zdCBTdHJpbmcmIGNvbG9yU3RyaW5nLCBDYW52YXNCYXNlKik7CiAKIGlubGluZSBDYW52YXNT
dHlsZTo6Q2FudmFzU3R5bGUoKQogICAgIDogbV9zdHlsZShJbnZhbGlkIHsgfSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334802</attachid>
            <date>2018-03-01 01:48:02 -0800</date>
            <delta_ts>2019-10-01 04:17:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Bug-182685.patch</filename>
            <type>text/plain</type>
            <size>15201</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">RnJvbSA3ZmRmNmI3NzU3MzBkYzdiYWZmNzUzNWNiM2NmMmRkOWQ5OTAwMGNmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBaYW4gRG9iZXJzZWsgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgpE
YXRlOiBUaHUsIDEgTWFyIDIwMTggMTA6NDU6MDUgKzAxMDAKU3ViamVjdDogW1BBVENIIHhzZXJ2
ZXJdIEJ1ZyAjMTgyNjg1LgoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8IDQ2ICsrKysrKysrKysrKysrKysKIC4uLi9odG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcCAgIHwgNjMgKysrKysrKysrLS0tLS0tLS0t
LS0tLQogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwICAgICAgICAg
fCAxNCArKystLQogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaCAgICAg
ICAgICAgfCAgNiArLS0KIDQgZmlsZXMgY2hhbmdlZCwgODIgaW5zZXJ0aW9ucygrKSwgNDcgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDI3Mzk0NjJmMWY2Li4yZWNkMjY0ZjdkOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSw1ICsxLDUxIEBACiAyMDE4LTAzLTAxICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJz
ZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOiB1
c2UgQ2FudmFzQmFzZSBtb3JlIGV4dGVuc2l2ZWx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI2ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLCBz
dG9wIGRvd25jYXN0aW5nIHRoZSBDYW52YXNCYXNlIG9iamVjdAorICAgICAgICB0byBIVE1MQ2Fu
dmFzRWxlbWVudCB3aGVyZSBub3QgbmVjZXNzYXJ5LCBhbmQgd2hlcmUgbmVjZXNzYXJ5LCBkbyBz
bworICAgICAgICBhZnRlciB0ZXN0aW5nIHRoYXQgdGhlIENhbnZhc0Jhc2Ugb2JqZWN0IGlzIGlu
ZGVlZCBhIEhUTUxDYW52YXNFbGVtZW50LgorCisgICAgICAgIEFsbCB0aGUgZnVuY3Rpb25hbGl0
eSB0aGF0IHByZXZpb3VzbHkgcmVxdWlyZWQgZG93bmNhc3RpbmcgaGFzIG5vdyBtb3ZlZAorICAg
ICAgICBpbnRvIHRoZSBDYW52YXNCYXNlIGNsYXNzLiBDb21iaW5lZCB3aXRoIHRoZXNlIGNoYW5n
ZXMsIHRoaXMgd2lsbCBhbGxvdworICAgICAgICBPZmZzY3JlZW5DYW52YXMgdG8gbGV2ZXJhZ2Ug
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZSBmb3IgMkQKKyAgICAgICAgcmFzdGVyaXphdGlv
bi4KKworICAgICAgICBDYW52YXNTdHlsZSBpcyBzaW1pbGFybHkgbW9kaWZpZWQgdG8gd29yayBv
biBDYW52YXNCYXNlIG9iamVjdHMsIG9ubHkKKyAgICAgICAgcmV0cmlldmluZyBjdXJyZW50IGNv
bG9yIHZhbHVlIGZyb20gdGhlIGlubGluZSBzdHlsZSBvbmx5IGluIGNhc2Ugb2YKKyAgICAgICAg
YW4gSFRNTENhbnZhc0VsZW1lbnQgZGVyaXZhdGl2ZS4KKworICAgICAgICBObyBuZXcgdGVzdHMg
LS0gbm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkRCYXNlOjppc0FjY2VsZXJhdGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnNldFN0cm9rZVN0eWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnNldEZpbGxTdHlsZSk6
CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRTaGFk
b3dDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNl
OjpyZXNldFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlOjpzZXRTaGFkb3cpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEQmFzZTo6Y2xlYXJDYW52YXMpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEQmFzZTo6dHJhbnNmb3JtQXJlYVRvRGV2aWNlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnJlY3RDb250YWluc0Nh
bnZhcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRC
YXNlOjpjYWxjdWxhdGVDb21wb3NpdGluZ0J1ZmZlclJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6Y29tcG9zaXRlQnVmZmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmRpZERyYXdFbnRpcmVDYW52
YXMpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6ZGlk
RHJhdyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpw
YWludFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZhcyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpkcmF3aW5nQ29udGV4dCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpnZXRJbWFnZURhdGEgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6cHV0SW1h
Z2VEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6
OnBsYXRmb3JtTGF5ZXIgY29uc3QpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmN1cnJlbnRDb2xvcik6CisgICAgICAgIChXZWJDb3Jl
OjpwYXJzZUNvbG9yT3JDdXJyZW50Q29sb3IpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZh
c1N0eWxlLmg6CisKKzIwMTgtMDMtMDEgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEu
Y29tPgorCiAgICAgICAgIE1vdmUgSW1hZ2VCdWZmZXItcmVsYXRlZCBmdW5jdGlvbmFsaXR5IGZy
b20gSFRNTENhbnZhc0VsZW1lbnQgdG8gQ2FudmFzQmFzZQogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyNTAzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAK
aW5kZXggOWQxMDljOGExYzcuLjBkYTAzYjJlMDQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcApA
QCAtMTcwLDggKzE3MCw3IEBAIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6On5DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlKCkKIGJvb2wgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFz
ZTo6aXNBY2NlbGVyYXRlZCgpIGNvbnN0CiB7CiAjaWYgVVNFKElPU1VSRkFDRV9DQU5WQVNfQkFD
S0lOR19TVE9SRSkgfHwgRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NBTlZBUykKLSAgICBhdXRvJiBj
YW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKLSAgICBp
ZiAoIWNhbnZhcy5oYXNDcmVhdGVkSW1hZ2VCdWZmZXIoKSkKKyAgICBpZiAoIWNhbnZhc0Jhc2Uo
KS5oYXNDcmVhdGVkSW1hZ2VCdWZmZXIoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGF1
dG8qIGNvbnRleHQgPSBkcmF3aW5nQ29udGV4dCgpOwogICAgIHJldHVybiBjb250ZXh0ICYmIGNv
bnRleHQtPmlzQWNjZWxlcmF0ZWRDb250ZXh0KCk7CkBAIC00MDQsMTQgKzQwMywxMiBAQCB2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnNldFN0cm9rZVN0eWxlKENhbnZhc1N0eWxl
IHN0eWxlKQogICAgIGlmIChzdGF0ZSgpLnN0cm9rZVN0eWxlLmlzVmFsaWQoKSAmJiBzdGF0ZSgp
LnN0cm9rZVN0eWxlLmlzRXF1aXZhbGVudENvbG9yKHN0eWxlKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jh
c2UoKSk7Ci0KICAgICBpZiAoc3R5bGUuaXNDdXJyZW50Q29sb3IoKSkgewogICAgICAgICBpZiAo
c3R5bGUuaGFzT3ZlcnJpZGVBbHBoYSgpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxk
IG5vdCB1c2UgUkdCQTMyIGhlcmUuCi0gICAgICAgICAgICBzdHlsZSA9IENhbnZhc1N0eWxlKGNv
bG9yV2l0aE92ZXJyaWRlQWxwaGEoY3VycmVudENvbG9yKCZjYW52YXMpLnJnYigpLCBzdHlsZS5v
dmVycmlkZUFscGhhKCkpKTsKKyAgICAgICAgICAgIHN0eWxlID0gQ2FudmFzU3R5bGUoY29sb3JX
aXRoT3ZlcnJpZGVBbHBoYShjdXJyZW50Q29sb3IoJmNhbnZhc0Jhc2UoKSkucmdiKCksIHN0eWxl
Lm92ZXJyaWRlQWxwaGEoKSkpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHN0eWxlID0g
Q2FudmFzU3R5bGUoY3VycmVudENvbG9yKCZjYW52YXMpKTsKKyAgICAgICAgICAgIHN0eWxlID0g
Q2FudmFzU3R5bGUoY3VycmVudENvbG9yKCZjYW52YXNCYXNlKCkpKTsKICAgICB9IGVsc2UKICAg
ICAgICAgY2hlY2tPcmlnaW4oc3R5bGUuY2FudmFzUGF0dGVybigpLmdldCgpKTsKIApAQCAtNDMz
LDE0ICs0MzAsMTIgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRGaWxs
U3R5bGUoQ2FudmFzU3R5bGUgc3R5bGUpCiAgICAgaWYgKHN0YXRlKCkuZmlsbFN0eWxlLmlzVmFs
aWQoKSAmJiBzdGF0ZSgpLmZpbGxTdHlsZS5pc0VxdWl2YWxlbnRDb2xvcihzdHlsZSkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGF1dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhUTUxDYW52YXNFbGVt
ZW50PihjYW52YXNCYXNlKCkpOwotCiAgICAgaWYgKHN0eWxlLmlzQ3VycmVudENvbG9yKCkpIHsK
ICAgICAgICAgaWYgKHN0eWxlLmhhc092ZXJyaWRlQWxwaGEoKSkgewogICAgICAgICAgICAgLy8g
RklYTUU6IFNob3VsZCBub3QgdXNlIFJHQkEzMiBoZXJlLgotICAgICAgICAgICAgc3R5bGUgPSBD
YW52YXNTdHlsZShjb2xvcldpdGhPdmVycmlkZUFscGhhKGN1cnJlbnRDb2xvcigmY2FudmFzKS5y
Z2IoKSwgc3R5bGUub3ZlcnJpZGVBbHBoYSgpKSk7CisgICAgICAgICAgICBzdHlsZSA9IENhbnZh
c1N0eWxlKGNvbG9yV2l0aE92ZXJyaWRlQWxwaGEoY3VycmVudENvbG9yKCZjYW52YXNCYXNlKCkp
LnJnYigpLCBzdHlsZS5vdmVycmlkZUFscGhhKCkpKTsKICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICBzdHlsZSA9IENhbnZhc1N0eWxlKGN1cnJlbnRDb2xvcigmY2FudmFzKSk7CisgICAgICAg
ICAgICBzdHlsZSA9IENhbnZhc1N0eWxlKGN1cnJlbnRDb2xvcigmY2FudmFzQmFzZSgpKSk7CiAg
ICAgfSBlbHNlCiAgICAgICAgIGNoZWNrT3JpZ2luKHN0eWxlLmNhbnZhc1BhdHRlcm4oKS5nZXQo
KSk7CiAKQEAgLTY3Myw4ICs2NjgsNyBAQCBTdHJpbmcgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
QmFzZTo6c2hhZG93Q29sb3IoKSBjb25zdAogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
REJhc2U6OnNldFNoYWRvd0NvbG9yKGNvbnN0IFN0cmluZyYgY29sb3JTdHJpbmcpCiB7Ci0gICAg
YXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UoKSk7
Ci0gICAgQ29sb3IgY29sb3IgPSBwYXJzZUNvbG9yT3JDdXJyZW50Q29sb3IoY29sb3JTdHJpbmcs
ICZjYW52YXMpOworICAgIENvbG9yIGNvbG9yID0gcGFyc2VDb2xvck9yQ3VycmVudENvbG9yKGNv
bG9yU3RyaW5nLCAmY2FudmFzQmFzZSgpKTsKICAgICBpZiAoIWNvbG9yLmlzVmFsaWQoKSkKICAg
ICAgICAgcmV0dXJuOwogICAgIGlmIChzdGF0ZSgpLnNoYWRvd0NvbG9yID09IGNvbG9yKQpAQCAt
OTMxLDggKzkyNSw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6cmVzZXRU
cmFuc2Zvcm0oKQogCiAgICAgcmVhbGl6ZVNhdmVzKCk7CiAKLSAgICBhdXRvJiBjYW52YXMgPSBk
b3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKLSAgICBjLT5zZXRDVE0o
Y2FudmFzLmJhc2VUcmFuc2Zvcm0oKSk7CisgICAgYy0+c2V0Q1RNKGNhbnZhc0Jhc2UoKS5iYXNl
VHJhbnNmb3JtKCkpOwogICAgIG1vZGlmaWFibGVTdGF0ZSgpLnRyYW5zZm9ybSA9IEFmZmluZVRy
YW5zZm9ybSgpOwogCiAgICAgaWYgKGhhc0ludmVydGlibGVUcmFuc2Zvcm0pCkBAIC0xMzQ1LDgg
KzEzMzgsNyBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnNldFNoYWRvdyhm
bG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0LCBmbG9hdCBibAogewogICAgIENvbG9yIGNvbG9yID0g
Q29sb3I6OnRyYW5zcGFyZW50OwogICAgIGlmICghY29sb3JTdHJpbmcuaXNOdWxsKCkpIHsKLSAg
ICAgICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jh
c2UoKSk7Ci0gICAgICAgIGNvbG9yID0gcGFyc2VDb2xvck9yQ3VycmVudENvbG9yKGNvbG9yU3Ry
aW5nLCAmY2FudmFzKTsKKyAgICAgICAgY29sb3IgPSBwYXJzZUNvbG9yT3JDdXJyZW50Q29sb3Io
Y29sb3JTdHJpbmcsICZjYW52YXNCYXNlKCkpOwogICAgICAgICBpZiAoIWNvbG9yLmlzVmFsaWQo
KSkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xNzMwLDcgKzE3MjIsNyBAQCB2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmNsZWFyQ2FudmFzKCkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgYy0+c2F2ZSgpOwotICAgIGF1dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhUTUxD
YW52YXNFbGVtZW50PihjYW52YXNCYXNlKCkpOworICAgIGF1dG8mIGNhbnZhcyA9IGNhbnZhc0Jh
c2UoKTsKICAgICBjLT5zZXRDVE0oY2FudmFzLmJhc2VUcmFuc2Zvcm0oKSk7CiAgICAgYy0+Y2xl
YXJSZWN0KEZsb2F0UmVjdCgwLCAwLCBjYW52YXMud2lkdGgoKSwgY2FudmFzLmhlaWdodCgpKSk7
CiAgICAgYy0+cmVzdG9yZSgpOwpAQCAtMTczOSw5ICsxNzMxLDggQEAgdm9pZCBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkRCYXNlOjpjbGVhckNhbnZhcygpCiBQYXRoIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyREJhc2U6OnRyYW5zZm9ybUFyZWFUb0RldmljZShjb25zdCBQYXRoJiBwYXRoKSBjb25z
dAogewogICAgIFBhdGggdHJhbnNmb3JtZWQocGF0aCk7Ci0gICAgYXV0byYgY2FudmFzID0gZG93
bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UoKSk7CiAgICAgdHJhbnNmb3JtZWQu
dHJhbnNmb3JtKHN0YXRlKCkudHJhbnNmb3JtKTsKLSAgICB0cmFuc2Zvcm1lZC50cmFuc2Zvcm0o
Y2FudmFzLmJhc2VUcmFuc2Zvcm0oKSk7CisgICAgdHJhbnNmb3JtZWQudHJhbnNmb3JtKGNhbnZh
c0Jhc2UoKS5iYXNlVHJhbnNmb3JtKCkpOwogICAgIHJldHVybiB0cmFuc2Zvcm1lZDsKIH0KIApA
QCAtMTc1NSwxNCArMTc0NiwxNCBAQCBQYXRoIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6
OnRyYW5zZm9ybUFyZWFUb0RldmljZShjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiBib29sIENhbnZh
c1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnJlY3RDb250YWluc0NhbnZhcyhjb25zdCBGbG9hdFJl
Y3QmIHJlY3QpIGNvbnN0CiB7CiAgICAgRmxvYXRRdWFkIHF1YWQocmVjdCk7Ci0gICAgYXV0byYg
Y2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UoKSk7CisgICAg
YXV0byYgY2FudmFzID0gY2FudmFzQmFzZSgpOwogICAgIEZsb2F0UXVhZCBjYW52YXNRdWFkKEZs
b2F0UmVjdCgwLCAwLCBjYW52YXMud2lkdGgoKSwgY2FudmFzLmhlaWdodCgpKSk7CiAgICAgcmV0
dXJuIHN0YXRlKCkudHJhbnNmb3JtLm1hcFF1YWQocXVhZCkuY29udGFpbnNRdWFkKGNhbnZhc1F1
YWQpOwogfQogCiB0ZW1wbGF0ZTxjbGFzcyBUPiBJbnRSZWN0IENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2U6OmNhbGN1bGF0ZUNvbXBvc2l0aW5nQnVmZmVyUmVjdChjb25zdCBUJiBhcmVhLCBJ
bnRTaXplKiBjcm9wcGVkT2Zmc2V0KQogewotICAgIGF1dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhU
TUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKCkpOworICAgIGF1dG8mIGNhbnZhcyA9IGNhbnZh
c0Jhc2UoKTsKIAogICAgIEludFJlY3QgY2FudmFzUmVjdCgwLCAwLCBjYW52YXMud2lkdGgoKSwg
Y2FudmFzLmhlaWdodCgpKTsKICAgICBjYW52YXNSZWN0ID0gY2FudmFzLmJhc2VUcmFuc2Zvcm0o
KS5tYXBSZWN0KGNhbnZhc1JlY3QpOwpAQCAtMTc4Miw3ICsxNzczLDcgQEAgc3RkOjp1bmlxdWVf
cHRyPEltYWdlQnVmZmVyPiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpjcmVhdGVDb21w
b3NpdGluZ0J1ZmYKIAogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpjb21wb3Np
dGVCdWZmZXIoSW1hZ2VCdWZmZXImIGJ1ZmZlciwgY29uc3QgSW50UmVjdCYgYnVmZmVyUmVjdCwg
Q29tcG9zaXRlT3BlcmF0b3Igb3ApCiB7Ci0gICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRN
TENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UoKSk7CisgICAgYXV0byYgY2FudmFzID0gY2FudmFz
QmFzZSgpOwogICAgIEludFJlY3QgY2FudmFzUmVjdCgwLCAwLCBjYW52YXMud2lkdGgoKSwgY2Fu
dmFzLmhlaWdodCgpKTsKICAgICBjYW52YXNSZWN0ID0gY2FudmFzLmJhc2VUcmFuc2Zvcm0oKS5t
YXBSZWN0KGNhbnZhc1JlY3QpOwogCkBAIC0xOTg4LDggKzE5NzksNyBAQCBFeGNlcHRpb25PcjxS
ZWZQdHI8Q2FudmFzUGF0dGVybj4+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmNyZWF0
ZVBhdHRlcm4oSQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmRpZERyYXdF
bnRpcmVDYW52YXMoKQogewotICAgIGF1dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhUTUxDYW52YXNF
bGVtZW50PihjYW52YXNCYXNlKCkpOwotICAgIGRpZERyYXcoRmxvYXRSZWN0KEZsb2F0UG9pbnQ6
Onplcm8oKSwgY2FudmFzLnNpemUoKSksIENhbnZhc0RpZERyYXdBcHBseUNsaXApOworICAgIGRp
ZERyYXcoRmxvYXRSZWN0KEZsb2F0UG9pbnQ6Onplcm8oKSwgY2FudmFzQmFzZSgpLnNpemUoKSks
IENhbnZhc0RpZERyYXdBcHBseUNsaXApOwogfQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2U6OmRpZERyYXcoY29uc3QgRmxvYXRSZWN0JiByLCB1bnNpZ25lZCBvcHRpb25zKQpA
QCAtMjAwMiw3ICsxOTkyLDcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpk
aWREcmF3KGNvbnN0IEZsb2F0UmVjdCYgciwgdW5zaWduZWQgb3B0aW9ucykKIAogI2lmIEVOQUJM
RShBQ0NFTEVSQVRFRF8yRF9DQU5WQVMpCiAgICAgLy8gSWYgd2UgYXJlIGRyYXdpbmcgdG8gaGFy
ZHdhcmUgYW5kIHdlIGhhdmUgYSBjb21wb3NpdGVkIGxheWVyLCBqdXN0IGNhbGwgY29udGVudENo
YW5nZWQoKS4KLSAgICBpZiAoaXNBY2NlbGVyYXRlZCgpKSB7CisgICAgaWYgKGlzQWNjZWxlcmF0
ZWQoKSAmJiBpczxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKSkgewogICAgICAgICBh
dXRvJiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsK
ICAgICAgICAgUmVuZGVyQm94KiByZW5kZXJCb3ggPSBjYW52YXMucmVuZGVyQm94KCk7CiAgICAg
ICAgIGlmIChyZW5kZXJCb3ggJiYgcmVuZGVyQm94LT5oYXNBY2NlbGVyYXRlZENvbXBvc2l0aW5n
KCkpIHsKQEAgLTIwMzQsOCArMjAyNCw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
QmFzZTo6ZGlkRHJhdyhjb25zdCBGbG9hdFJlY3QmIHIsIHVuc2lnbmVkIG9wdGlvbnMpCiAgICAg
ICAgIC8vIHdlJ2QgaGF2ZSB0byBrZWVwIHRoZSBjbGlwIHBhdGggYXJvdW5kLgogICAgIH0KIAot
ICAgIGF1dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNl
KCkpOwotICAgIGNhbnZhcy5kaWREcmF3KGRpcnR5UmVjdCk7CisgICAgY2FudmFzQmFzZSgpLmRp
ZERyYXcoZGlydHlSZWN0KTsKIH0KIAogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNl
OjpzZXRUcmFja3NEaXNwbGF5TGlzdFJlcGxheShib29sIHRyYWNrc0Rpc3BsYXlMaXN0UmVwbGF5
KQpAQCAtMjA2OSw3ICsyMDU4LDcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNl
OjpwYWludFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZhcygpCiAgICAgICAgIGlmICghbV9yZWNvcmRp
bmdDb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGF1dG8mIGNhbnZhcyA9
IGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKCkpOworICAgICAgICBhdXRv
JiBjYW52YXMgPSBjYW52YXNCYXNlKCk7CiAKICAgICAgICAgRmxvYXRSZWN0IGNsaXAoRmxvYXRQ
b2ludDo6emVybygpLCBjYW52YXMuc2l6ZSgpKTsKICAgICAgICAgRGlzcGxheUxpc3Q6OlJlcGxh
eWVyIHJlcGxheWVyKCpjYW52YXMuZHJhd2luZ0NvbnRleHQoKSwgbV9yZWNvcmRpbmdDb250ZXh0
LT5kaXNwbGF5TGlzdCk7CkBAIC0yMDg2LDE0ICsyMDc1LDEzIEBAIHZvaWQgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEQmFzZTo6cGFpbnRSZW5kZXJpbmdSZXN1bHRzVG9DYW52YXMoKQogCiBHcmFw
aGljc0NvbnRleHQqIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmRyYXdpbmdDb250ZXh0
KCkgY29uc3QKIHsKLSAgICBhdXRvJiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVu
dD4oY2FudmFzQmFzZSgpKTsKICAgICBpZiAoVU5MSUtFTFkobV91c2VzRGlzcGxheUxpc3REcmF3
aW5nKSkgewogICAgICAgICBpZiAoIW1fcmVjb3JkaW5nQ29udGV4dCkKLSAgICAgICAgICAgIG1f
cmVjb3JkaW5nQ29udGV4dCA9IHN0ZDo6bWFrZV91bmlxdWU8RGlzcGxheUxpc3REcmF3aW5nQ29u
dGV4dD4oRmxvYXRSZWN0KEZsb2F0UG9pbnQ6Onplcm8oKSwgY2FudmFzLnNpemUoKSkpOworICAg
ICAgICAgICAgbV9yZWNvcmRpbmdDb250ZXh0ID0gc3RkOjptYWtlX3VuaXF1ZTxEaXNwbGF5TGlz
dERyYXdpbmdDb250ZXh0PihGbG9hdFJlY3QoRmxvYXRQb2ludDo6emVybygpLCBjYW52YXNCYXNl
KCkuc2l6ZSgpKSk7CiAgICAgICAgIHJldHVybiAmbV9yZWNvcmRpbmdDb250ZXh0LT5jb250ZXh0
OwogICAgIH0KIAotICAgIHJldHVybiBjYW52YXMuZHJhd2luZ0NvbnRleHQoKTsKKyAgICByZXR1
cm4gY2FudmFzQmFzZSgpLmRyYXdpbmdDb250ZXh0KCk7CiB9CiAKIHN0YXRpYyBSZWZQdHI8SW1h
Z2VEYXRhPiBjcmVhdGVFbXB0eUltYWdlRGF0YShjb25zdCBJbnRTaXplJiBzaXplKQpAQCAtMjE2
MSw5ICsyMTQ5LDggQEAgRXhjZXB0aW9uT3I8UmVmUHRyPEltYWdlRGF0YT4+IENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyREJhc2U6OmdldEltYWdlRGF0YShJbWFnZUIKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAKICAgICBJbnRSZWN0IGltYWdlRGF0YVJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGxv
Z2ljYWxSZWN0KTsKLSAgICBhdXRvJiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVu
dD4oY2FudmFzQmFzZSgpKTsKIAotICAgIEltYWdlQnVmZmVyKiBidWZmZXIgPSBjYW52YXMuYnVm
ZmVyKCk7CisgICAgSW1hZ2VCdWZmZXIqIGJ1ZmZlciA9IGNhbnZhc0Jhc2UoKS5idWZmZXIoKTsK
ICAgICBpZiAoIWJ1ZmZlcikKICAgICAgICAgcmV0dXJuIGNyZWF0ZUVtcHR5SW1hZ2VEYXRhKGlt
YWdlRGF0YVJlY3Quc2l6ZSgpKTsKIApAQCAtMjE5NCw5ICsyMTgxLDcgQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpwdXRJbWFnZURhdGEoSW1hZ2VEYXRhJiBkYXRhLCBmbG9h
dCBkeCwgZmxvYXQKIAogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpwdXRJbWFn
ZURhdGEoSW1hZ2VEYXRhJiBkYXRhLCBJbWFnZUJ1ZmZlcjo6Q29vcmRpbmF0ZVN5c3RlbSBjb29y
ZGluYXRlU3lzdGVtLCBmbG9hdCBkeCwgZmxvYXQgZHksIGZsb2F0IGRpcnR5WCwgZmxvYXQgZGly
dHlZLCBmbG9hdCBkaXJ0eVdpZHRoLCBmbG9hdCBkaXJ0eUhlaWdodCkKIHsKLSAgICBhdXRvJiBj
YW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKLQotICAg
IEltYWdlQnVmZmVyKiBidWZmZXIgPSBjYW52YXMuYnVmZmVyKCk7CisgICAgSW1hZ2VCdWZmZXIq
IGJ1ZmZlciA9IGNhbnZhc0Jhc2UoKS5idWZmZXIoKTsKICAgICBpZiAoIWJ1ZmZlcikKICAgICAg
ICAgcmV0dXJuOwogCkBAIC0yMjQ5LDkgKzIyMzQsOSBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyREJhc2U6OmluZmxhdGVTdHJva2VSZWN0KEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKIAog
UGxhdGZvcm1MYXllciogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6cGxhdGZvcm1MYXll
cigpIGNvbnN0CiB7Ci0gICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1l
bnQ+KGNhbnZhc0Jhc2UoKSk7Ci0KLSAgICByZXR1cm4gY2FudmFzLmJ1ZmZlcigpID8gY2FudmFz
LmJ1ZmZlcigpLT5wbGF0Zm9ybUxheWVyKCkgOiBudWxscHRyOworICAgIGlmIChhdXRvKiBidWZm
ZXIgPSBjYW52YXNCYXNlKCkuYnVmZmVyKCkpCisgICAgICAgIHJldHVybiBidWZmZXItPnBsYXRm
b3JtTGF5ZXIoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAKaW5kZXggNzkxNTY4Y2NkZTMuLjk3MGFk
NjUyNzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHls
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwCkBA
IC01NiwyMCArNTYsMjQgQEAgc3RhdGljIENvbG9yIHBhcnNlQ29sb3IoY29uc3QgU3RyaW5nJiBj
b2xvclN0cmluZykKICAgICByZXR1cm4gQ1NTUGFyc2VyOjpwYXJzZVN5c3RlbUNvbG9yKGNvbG9y
U3RyaW5nKTsKIH0KIAotQ29sb3IgY3VycmVudENvbG9yKEhUTUxDYW52YXNFbGVtZW50KiBjYW52
YXMpCitDb2xvciBjdXJyZW50Q29sb3IoQ2FudmFzQmFzZSogY2FudmFzQmFzZSkKIHsKLSAgICBp
ZiAoIWNhbnZhcyB8fCAhY2FudmFzLT5pc0Nvbm5lY3RlZCgpIHx8ICFjYW52YXMtPmlubGluZVN0
eWxlKCkpCisgICAgaWYgKCFpczxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSkpCiAgICAg
ICAgIHJldHVybiBDb2xvcjo6YmxhY2s7Ci0gICAgQ29sb3IgY29sb3IgPSBDU1NQYXJzZXI6OnBh
cnNlQ29sb3IoY2FudmFzLT5pbmxpbmVTdHlsZSgpLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3Bl
cnR5Q29sb3IpKTsKKworICAgIGF1dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhUTUxDYW52YXNFbGVt
ZW50PigqY2FudmFzQmFzZSk7CisgICAgaWYgKCFjYW52YXMuaXNDb25uZWN0ZWQoKSB8fCAhY2Fu
dmFzLmlubGluZVN0eWxlKCkpCisgICAgICAgIHJldHVybiBDb2xvcjo6YmxhY2s7CisgICAgQ29s
b3IgY29sb3IgPSBDU1NQYXJzZXI6OnBhcnNlQ29sb3IoY2FudmFzLmlubGluZVN0eWxlKCktPmdl
dFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlDb2xvcikpOwogICAgIGlmICghY29sb3IuaXNWYWxp
ZCgpKQogICAgICAgICByZXR1cm4gQ29sb3I6OmJsYWNrOwogICAgIHJldHVybiBjb2xvcjsKIH0K
IAotQ29sb3IgcGFyc2VDb2xvck9yQ3VycmVudENvbG9yKGNvbnN0IFN0cmluZyYgY29sb3JTdHJp
bmcsIEhUTUxDYW52YXNFbGVtZW50KiBjYW52YXMpCitDb2xvciBwYXJzZUNvbG9yT3JDdXJyZW50
Q29sb3IoY29uc3QgU3RyaW5nJiBjb2xvclN0cmluZywgQ2FudmFzQmFzZSogY2FudmFzQmFzZSkK
IHsKICAgICBpZiAoaXNDdXJyZW50Q29sb3JTdHJpbmcoY29sb3JTdHJpbmcpKQotICAgICAgICBy
ZXR1cm4gY3VycmVudENvbG9yKGNhbnZhcyk7CisgICAgICAgIHJldHVybiBjdXJyZW50Q29sb3Io
Y2FudmFzQmFzZSk7CiAKICAgICByZXR1cm4gcGFyc2VDb2xvcihjb2xvclN0cmluZyk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaAppbmRleCAxMjMxOWZkMmQ1NS4u
MGJlMjgwOTQzYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1N0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaApA
QCAtMzMsOSArMzMsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENhbnZhc0Jh
c2U7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKLWNsYXNzIEhUTUxD
YW52YXNFbGVtZW50OwogCiBjbGFzcyBDYW52YXNTdHlsZSB7CiBwdWJsaWM6CkBAIC05NSw4ICs5
NSw4IEBAIHByaXZhdGU6CiAgICAgVmFyaWFudDxJbnZhbGlkLCBDb2xvciwgQ01ZS0FDb2xvciwg
UmVmUHRyPENhbnZhc0dyYWRpZW50PiwgUmVmUHRyPENhbnZhc1BhdHRlcm4+LCBDdXJyZW50Q29s
b3I+IG1fc3R5bGU7CiB9OwogCi1Db2xvciBjdXJyZW50Q29sb3IoSFRNTENhbnZhc0VsZW1lbnQq
KTsKLUNvbG9yIHBhcnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb25zdCBTdHJpbmcmIGNvbG9yU3Ry
aW5nLCBIVE1MQ2FudmFzRWxlbWVudCopOworQ29sb3IgY3VycmVudENvbG9yKENhbnZhc0Jhc2Uq
KTsKK0NvbG9yIHBhcnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb25zdCBTdHJpbmcmIGNvbG9yU3Ry
aW5nLCBDYW52YXNCYXNlKik7CiAKIGlubGluZSBDYW52YXNTdHlsZTo6Q2FudmFzU3R5bGUoKQog
ICAgIDogbV9zdHlsZShJbnZhbGlkIHsgfSkKLS0gCjIuMTEuMAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379890</attachid>
            <date>2019-10-01 04:17:36 -0700</date>
            <delta_ts>2019-10-10 02:57:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182685-20191001121735.patch</filename>
            <type>text/plain</type>
            <size>9363</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDVmNGM5YTE0YTc1M2U1
N2E0YmJkYWZkNmQ5MGQ3NDgyYjA3MzAzNS4uOTQyNWNjNDU0M2VjNmQ2ZmUwMDYxNzk4ZGI5MWUw
MDBhMzNkZmYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTA4LTIxICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBDYW52YXNSZW5kZXJp
bmdDb250ZXh0MkRCYXNlOiB1c2UgQ2FudmFzQmFzZSBtb3JlIGV4dGVuc2l2ZWx5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI2ODUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDYW52YXNSZW5kZXJp
bmdDb250ZXh0MkRCYXNlLCBzdG9wIGRvd25jYXN0aW5nIHRoZSBDYW52YXNCYXNlIG9iamVjdAor
ICAgICAgICB0byBIVE1MQ2FudmFzRWxlbWVudCB3aGVyZSBub3QgbmVjZXNzYXJ5LCBhbmQgd2hl
cmUgbmVjZXNzYXJ5LCBkbyBzbworICAgICAgICBhZnRlciB0ZXN0aW5nIHRoYXQgdGhlIENhbnZh
c0Jhc2Ugb2JqZWN0IGlzIGluZGVlZCBhIEhUTUxDYW52YXNFbGVtZW50LgorCisgICAgICAgIEFs
bCB0aGUgZnVuY3Rpb25hbGl0eSB0aGF0IHByZXZpb3VzbHkgcmVxdWlyZWQgZG93bmNhc3Rpbmcg
aGFzIG5vdyBtb3ZlZAorICAgICAgICBpbnRvIHRoZSBDYW52YXNCYXNlIGNsYXNzLiBDb21iaW5l
ZCB3aXRoIHRoZXNlIGNoYW5nZXMsIHRoaXMgd2lsbCBhbGxvdworICAgICAgICBPZmZzY3JlZW5D
YW52YXMgdG8gbGV2ZXJhZ2UgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZSBmb3IgMkQKKyAg
ICAgICAgcmFzdGVyaXphdGlvbi4KKworICAgICAgICBDYW52YXNTdHlsZSBpcyBzaW1pbGFybHkg
bW9kaWZpZWQgdG8gd29yayBvbiBDYW52YXNCYXNlIG9iamVjdHMsIG9ubHkKKyAgICAgICAgcmV0
cmlldmluZyBjdXJyZW50IGNvbG9yIHZhbHVlIGZyb20gdGhlIGlubGluZSBzdHlsZSBvbmx5IGlu
IGNhc2Ugb2YKKyAgICAgICAgYW4gSFRNTENhbnZhc0VsZW1lbnQgZGVyaXZhdGl2ZS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMgLS0gbm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRTdHJva2VTdHlsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRGaWxsU3R5
bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6c2V0
U2hhZG93Q29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
QmFzZTo6c2V0U2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2U6OmRpZERyYXcpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEQmFzZTo6Z2V0SW1hZ2VEYXRhIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZh
c1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnB1dEltYWdlRGF0YSk6CisgICAgICAgIChXZWJDb3Jl
OjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpwbGF0Zm9ybUxheWVyIGNvbnN0KToKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
dXJyZW50Q29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDb2xvck9yQ3VycmVudENvbG9y
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oOgorCiAyMDE5LTA4LTIxICBa
YW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBNb3ZlIEltYWdl
QnVmZmVyLXJlbGF0ZWQgZnVuY3Rpb25hbGl0eSBmcm9tIEhUTUxDYW52YXNFbGVtZW50IHRvIENh
bnZhc0Jhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyREJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAKaW5kZXggMzk3NTM0YTY3ZTJmMDkzNzk4MTNl
OTQ2ZDY0NWJmMzYyMDMzMmQ2MS4uM2RiNTg4OWU3NmExM2I4MTNjYTY4MGY1OWY5Njc2ODM1MWMy
ZGQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAKQEAgLTQwMiwxNCArNDAyLDEyIEBAIHZvaWQg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6c2V0U3Ryb2tlU3R5bGUoQ2FudmFzU3R5bGUg
c3R5bGUpCiAgICAgaWYgKHN0YXRlKCkuc3Ryb2tlU3R5bGUuaXNWYWxpZCgpICYmIHN0YXRlKCku
c3Ryb2tlU3R5bGUuaXNFcXVpdmFsZW50Q29sb3Ioc3R5bGUpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBpZiAoc3R5bGUuaXNDdXJyZW50Q29sb3IoKSAmJiBpczxIVE1MQ2FudmFzRWxlbWVudD4o
Y2FudmFzQmFzZSgpKSkgewotICAgICAgICBhdXRvJiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2Fu
dmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKLQorICAgIGlmIChzdHlsZS5pc0N1cnJlbnRDb2xv
cigpKSB7CiAgICAgICAgIGlmIChzdHlsZS5oYXNPdmVycmlkZUFscGhhKCkpIHsKICAgICAgICAg
ICAgIC8vIEZJWE1FOiBTaG91bGQgbm90IHVzZSBSR0JBMzIgaGVyZS4KLSAgICAgICAgICAgIHN0
eWxlID0gQ2FudmFzU3R5bGUoY29sb3JXaXRoT3ZlcnJpZGVBbHBoYShjdXJyZW50Q29sb3IoJmNh
bnZhcykucmdiKCksIHN0eWxlLm92ZXJyaWRlQWxwaGEoKSkpOworICAgICAgICAgICAgc3R5bGUg
PSBDYW52YXNTdHlsZShjb2xvcldpdGhPdmVycmlkZUFscGhhKGN1cnJlbnRDb2xvcigmY2FudmFz
QmFzZSgpKS5yZ2IoKSwgc3R5bGUub3ZlcnJpZGVBbHBoYSgpKSk7CiAgICAgICAgIH0gZWxzZQot
ICAgICAgICAgICAgc3R5bGUgPSBDYW52YXNTdHlsZShjdXJyZW50Q29sb3IoJmNhbnZhcykpOwor
ICAgICAgICAgICAgc3R5bGUgPSBDYW52YXNTdHlsZShjdXJyZW50Q29sb3IoJmNhbnZhc0Jhc2Uo
KSkpOwogICAgIH0gZWxzZQogICAgICAgICBjaGVja09yaWdpbihzdHlsZS5jYW52YXNQYXR0ZXJu
KCkuZ2V0KCkpOwogCkBAIC00MzEsMTQgKzQyOSwxMiBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyREJhc2U6OnNldEZpbGxTdHlsZShDYW52YXNTdHlsZSBzdHlsZSkKICAgICBpZiAoc3Rh
dGUoKS5maWxsU3R5bGUuaXNWYWxpZCgpICYmIHN0YXRlKCkuZmlsbFN0eWxlLmlzRXF1aXZhbGVu
dENvbG9yKHN0eWxlKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHN0eWxlLmlzQ3VycmVu
dENvbG9yKCkgJiYgaXM8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UoKSkpIHsKLSAgICAg
ICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2Uo
KSk7Ci0KKyAgICBpZiAoc3R5bGUuaXNDdXJyZW50Q29sb3IoKSkgewogICAgICAgICBpZiAoc3R5
bGUuaGFzT3ZlcnJpZGVBbHBoYSgpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIG5v
dCB1c2UgUkdCQTMyIGhlcmUuCi0gICAgICAgICAgICBzdHlsZSA9IENhbnZhc1N0eWxlKGNvbG9y
V2l0aE92ZXJyaWRlQWxwaGEoY3VycmVudENvbG9yKCZjYW52YXMpLnJnYigpLCBzdHlsZS5vdmVy
cmlkZUFscGhhKCkpKTsKKyAgICAgICAgICAgIHN0eWxlID0gQ2FudmFzU3R5bGUoY29sb3JXaXRo
T3ZlcnJpZGVBbHBoYShjdXJyZW50Q29sb3IoJmNhbnZhc0Jhc2UoKSkucmdiKCksIHN0eWxlLm92
ZXJyaWRlQWxwaGEoKSkpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHN0eWxlID0gQ2Fu
dmFzU3R5bGUoY3VycmVudENvbG9yKCZjYW52YXMpKTsKKyAgICAgICAgICAgIHN0eWxlID0gQ2Fu
dmFzU3R5bGUoY3VycmVudENvbG9yKCZjYW52YXNCYXNlKCkpKTsKICAgICB9IGVsc2UKICAgICAg
ICAgY2hlY2tPcmlnaW4oc3R5bGUuY2FudmFzUGF0dGVybigpLmdldCgpKTsKIApAQCAtNjcxLDgg
KzY2Nyw3IEBAIFN0cmluZyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzaGFkb3dDb2xv
cigpIGNvbnN0CiAKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6c2V0U2hhZG93
Q29sb3IoY29uc3QgU3RyaW5nJiBjb2xvclN0cmluZykKIHsKLSAgICBhdXRvJiBjYW52YXMgPSBk
b3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKLSAgICBDb2xvciBjb2xv
ciA9IHBhcnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb2xvclN0cmluZywgJmNhbnZhcyk7CisgICAg
Q29sb3IgY29sb3IgPSBwYXJzZUNvbG9yT3JDdXJyZW50Q29sb3IoY29sb3JTdHJpbmcsICZjYW52
YXNCYXNlKCkpOwogICAgIGlmICghY29sb3IuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CiAg
ICAgaWYgKHN0YXRlKCkuc2hhZG93Q29sb3IgPT0gY29sb3IpCkBAIC0xMzM5LDggKzEzMzQsNyBA
QCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnNldFNoYWRvdyhmbG9hdCB3aWR0
aCwgZmxvYXQgaGVpZ2h0LCBmbG9hdCBibAogewogICAgIENvbG9yIGNvbG9yID0gQ29sb3I6OnRy
YW5zcGFyZW50OwogICAgIGlmICghY29sb3JTdHJpbmcuaXNOdWxsKCkpIHsKLSAgICAgICAgYXV0
byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UoKSk7Ci0g
ICAgICAgIGNvbG9yID0gcGFyc2VDb2xvck9yQ3VycmVudENvbG9yKGNvbG9yU3RyaW5nLCAmY2Fu
dmFzKTsKKyAgICAgICAgY29sb3IgPSBwYXJzZUNvbG9yT3JDdXJyZW50Q29sb3IoY29sb3JTdHJp
bmcsICZjYW52YXNCYXNlKCkpOwogICAgICAgICBpZiAoIWNvbG9yLmlzVmFsaWQoKSkKICAgICAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC0yMDM2LDcgKzIwMzAsNyBAQCB2b2lkIENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyREJhc2U6OmRpZERyYXcoY29uc3QgRmxvYXRSZWN0JiByLCB1bnNpZ25l
ZCBvcHRpb25zKQogCiAjaWYgRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NBTlZBUykKICAgICAvLyBJ
ZiB3ZSBhcmUgZHJhd2luZyB0byBoYXJkd2FyZSBhbmQgd2UgaGF2ZSBhIGNvbXBvc2l0ZWQgbGF5
ZXIsIGp1c3QgY2FsbCBjb250ZW50Q2hhbmdlZCgpLgotICAgIGlmIChpc0FjY2VsZXJhdGVkKCkp
IHsKKyAgICBpZiAoaXNBY2NlbGVyYXRlZCgpICYmIGlzPEhUTUxDYW52YXNFbGVtZW50PihjYW52
YXNCYXNlKCkpKSB7CiAgICAgICAgIGF1dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhUTUxDYW52YXNF
bGVtZW50PihjYW52YXNCYXNlKCkpOwogICAgICAgICBSZW5kZXJCb3gqIHJlbmRlckJveCA9IGNh
bnZhcy5yZW5kZXJCb3goKTsKICAgICAgICAgaWYgKHJlbmRlckJveCAmJiByZW5kZXJCb3gtPmhh
c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSkgewpAQCAtMjE5Nyw5ICsyMTkxLDggQEAgRXhjZXB0
aW9uT3I8UmVmUHRyPEltYWdlRGF0YT4+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6Omdl
dEltYWdlRGF0YShJbWFnZUIKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBJbnRSZWN0
IGltYWdlRGF0YVJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGxvZ2ljYWxSZWN0KTsKLSAgICBhdXRv
JiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKIAot
ICAgIEltYWdlQnVmZmVyKiBidWZmZXIgPSBjYW52YXMuYnVmZmVyKCk7CisgICAgSW1hZ2VCdWZm
ZXIqIGJ1ZmZlciA9IGNhbnZhc0Jhc2UoKS5idWZmZXIoKTsKICAgICBpZiAoIWJ1ZmZlcikKICAg
ICAgICAgcmV0dXJuIGNyZWF0ZUVtcHR5SW1hZ2VEYXRhKGltYWdlRGF0YVJlY3Quc2l6ZSgpKTsK
IApAQCAtMjIzMCw5ICsyMjIzLDcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNl
OjpwdXRJbWFnZURhdGEoSW1hZ2VEYXRhJiBkYXRhLCBmbG9hdCBkeCwgZmxvYXQKIAogdm9pZCBD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpwdXRJbWFnZURhdGEoSW1hZ2VEYXRhJiBkYXRh
LCBJbWFnZUJ1ZmZlcjo6Q29vcmRpbmF0ZVN5c3RlbSBjb29yZGluYXRlU3lzdGVtLCBmbG9hdCBk
eCwgZmxvYXQgZHksIGZsb2F0IGRpcnR5WCwgZmxvYXQgZGlydHlZLCBmbG9hdCBkaXJ0eVdpZHRo
LCBmbG9hdCBkaXJ0eUhlaWdodCkKIHsKLSAgICBhdXRvJiBjYW52YXMgPSBkb3duY2FzdDxIVE1M
Q2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKLQotICAgIEltYWdlQnVmZmVyKiBidWZmZXIg
PSBjYW52YXMuYnVmZmVyKCk7CisgICAgSW1hZ2VCdWZmZXIqIGJ1ZmZlciA9IGNhbnZhc0Jhc2Uo
KS5idWZmZXIoKTsKICAgICBpZiAoIWJ1ZmZlcikKICAgICAgICAgcmV0dXJuOwogCkBAIC0yMjg1
LDkgKzIyNzYsMTAgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjppbmZsYXRl
U3Ryb2tlUmVjdChGbG9hdFJlY3QmIHJlY3QpIGNvbnN0CiAKIFBsYXRmb3JtTGF5ZXIqIENhbnZh
c1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdAogewotICAgIGF1
dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKCkpOwor
ICAgIGlmIChhdXRvKiBidWZmZXIgPSBjYW52YXNCYXNlKCkuYnVmZmVyKCkpCisgICAgICAgIHJl
dHVybiBidWZmZXItPnBsYXRmb3JtTGF5ZXIoKTsKIAotICAgIHJldHVybiBjYW52YXMuYnVmZmVy
KCkgPyBjYW52YXMuYnVmZmVyKCktPnBsYXRmb3JtTGF5ZXIoKSA6IG51bGxwdHI7CisgICAgcmV0
dXJuIG51bGxwdHI7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzU3R5bGUuY3BwCmluZGV4IGNhNmYzNWRlMDIwNjJiN2ViMGU2ZTIyNTAzZDc2Y2FjZGNkZjA4
MWMuLjczNDBjZjlkODIwOWZhM2M2MWJmNTIwNzA3Nzk1ZDQ3YjMxNTY0MGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAKQEAgLTU2LDIwICs1NiwyNCBAQCBz
dGF0aWMgQ29sb3IgcGFyc2VDb2xvcihjb25zdCBTdHJpbmcmIGNvbG9yU3RyaW5nKQogICAgIHJl
dHVybiBDU1NQYXJzZXI6OnBhcnNlU3lzdGVtQ29sb3IoY29sb3JTdHJpbmcsIG51bGxwdHIpOwog
fQogCi1Db2xvciBjdXJyZW50Q29sb3IoSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZhcykKK0NvbG9y
IGN1cnJlbnRDb2xvcihDYW52YXNCYXNlKiBjYW52YXNCYXNlKQogewotICAgIGlmICghY2FudmFz
IHx8ICFjYW52YXMtPmlzQ29ubmVjdGVkKCkgfHwgIWNhbnZhcy0+aW5saW5lU3R5bGUoKSkKKyAg
ICBpZiAoIWlzPEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKSkKICAgICAgICAgcmV0dXJu
IENvbG9yOjpibGFjazsKLSAgICBDb2xvciBjb2xvciA9IENTU1BhcnNlcjo6cGFyc2VDb2xvcihj
YW52YXMtPmlubGluZVN0eWxlKCktPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlDb2xvcikp
OworCisgICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KCpjYW52
YXNCYXNlKTsKKyAgICBpZiAoIWNhbnZhcy5pc0Nvbm5lY3RlZCgpIHx8ICFjYW52YXMuaW5saW5l
U3R5bGUoKSkKKyAgICAgICAgcmV0dXJuIENvbG9yOjpibGFjazsKKyAgICBDb2xvciBjb2xvciA9
IENTU1BhcnNlcjo6cGFyc2VDb2xvcihjYW52YXMuaW5saW5lU3R5bGUoKS0+Z2V0UHJvcGVydHlW
YWx1ZShDU1NQcm9wZXJ0eUNvbG9yKSk7CiAgICAgaWYgKCFjb2xvci5pc1ZhbGlkKCkpCiAgICAg
ICAgIHJldHVybiBDb2xvcjo6YmxhY2s7CiAgICAgcmV0dXJuIGNvbG9yOwogfQogCi1Db2xvciBw
YXJzZUNvbG9yT3JDdXJyZW50Q29sb3IoY29uc3QgU3RyaW5nJiBjb2xvclN0cmluZywgSFRNTENh
bnZhc0VsZW1lbnQqIGNhbnZhcykKK0NvbG9yIHBhcnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb25z
dCBTdHJpbmcmIGNvbG9yU3RyaW5nLCBDYW52YXNCYXNlKiBjYW52YXNCYXNlKQogewogICAgIGlm
IChpc0N1cnJlbnRDb2xvclN0cmluZyhjb2xvclN0cmluZykpCi0gICAgICAgIHJldHVybiBjdXJy
ZW50Q29sb3IoY2FudmFzKTsKKyAgICAgICAgcmV0dXJuIGN1cnJlbnRDb2xvcihjYW52YXNCYXNl
KTsKIAogICAgIHJldHVybiBwYXJzZUNvbG9yKGNvbG9yU3RyaW5nKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oCmluZGV4IDQwNDZhYmNiNGU1NzA3Yjk2MWQ4NmE4
NDZiZjQ0MGYyYTMwZWRiZWEuLjRiY2EzZGM1Zjk1OGQwYTAxZjI2NDU1MzRkOGZmMTY2NmZkYTJj
NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaApAQCAtMzUsNyAr
MzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgR3Jh
cGhpY3NDb250ZXh0OwotY2xhc3MgSFRNTENhbnZhc0VsZW1lbnQ7CitjbGFzcyBDYW52YXNCYXNl
OwogCiBjbGFzcyBDYW52YXNTdHlsZSB7CiBwdWJsaWM6CkBAIC04OSw4ICs4OSw4IEBAIHByaXZh
dGU6CiAgICAgVmFyaWFudDxJbnZhbGlkLCBDb2xvciwgQ01ZS0FDb2xvciwgUmVmUHRyPENhbnZh
c0dyYWRpZW50PiwgUmVmUHRyPENhbnZhc1BhdHRlcm4+LCBDdXJyZW50Q29sb3I+IG1fc3R5bGU7
CiB9OwogCi1Db2xvciBjdXJyZW50Q29sb3IoSFRNTENhbnZhc0VsZW1lbnQqKTsKLUNvbG9yIHBh
cnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb25zdCBTdHJpbmcmIGNvbG9yU3RyaW5nLCBIVE1MQ2Fu
dmFzRWxlbWVudCopOworQ29sb3IgY3VycmVudENvbG9yKENhbnZhc0Jhc2UqKTsKK0NvbG9yIHBh
cnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb25zdCBTdHJpbmcmIGNvbG9yU3RyaW5nLCBDYW52YXNC
YXNlKik7CiAKIGlubGluZSBDYW52YXNTdHlsZTo6Q2FudmFzU3R5bGUoKQogICAgIDogbV9zdHls
ZShJbnZhbGlkIHsgfSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380621</attachid>
            <date>2019-10-10 02:58:14 -0700</date>
            <delta_ts>2019-10-17 02:34:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182685-20191010105813.patch</filename>
            <type>text/plain</type>
            <size>9363</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzQ3ZGIyNTdmZWVkNzA0
NzgyNjFhNzRkOTkxYzA3YWYzOWUzYmQyNy4uYTg2MDQyYzg0Yzc3ODY5YTdjYmFhYTI3MzM2ZWQ1
YjEyZjFlZjE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTEwLTA0ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBDYW52YXNSZW5kZXJp
bmdDb250ZXh0MkRCYXNlOiB1c2UgQ2FudmFzQmFzZSBtb3JlIGV4dGVuc2l2ZWx5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI2ODUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDYW52YXNSZW5kZXJp
bmdDb250ZXh0MkRCYXNlLCBzdG9wIGRvd25jYXN0aW5nIHRoZSBDYW52YXNCYXNlIG9iamVjdAor
ICAgICAgICB0byBIVE1MQ2FudmFzRWxlbWVudCB3aGVyZSBub3QgbmVjZXNzYXJ5LCBhbmQgd2hl
cmUgbmVjZXNzYXJ5LCBkbyBzbworICAgICAgICBhZnRlciB0ZXN0aW5nIHRoYXQgdGhlIENhbnZh
c0Jhc2Ugb2JqZWN0IGlzIGluZGVlZCBhIEhUTUxDYW52YXNFbGVtZW50LgorCisgICAgICAgIEFs
bCB0aGUgZnVuY3Rpb25hbGl0eSB0aGF0IHByZXZpb3VzbHkgcmVxdWlyZWQgZG93bmNhc3Rpbmcg
aGFzIG5vdyBtb3ZlZAorICAgICAgICBpbnRvIHRoZSBDYW52YXNCYXNlIGNsYXNzLiBDb21iaW5l
ZCB3aXRoIHRoZXNlIGNoYW5nZXMsIHRoaXMgd2lsbCBhbGxvdworICAgICAgICBPZmZzY3JlZW5D
YW52YXMgdG8gbGV2ZXJhZ2UgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZSBmb3IgMkQKKyAg
ICAgICAgcmFzdGVyaXphdGlvbi4KKworICAgICAgICBDYW52YXNTdHlsZSBpcyBzaW1pbGFybHkg
bW9kaWZpZWQgdG8gd29yayBvbiBDYW52YXNCYXNlIG9iamVjdHMsIG9ubHkKKyAgICAgICAgcmV0
cmlldmluZyBjdXJyZW50IGNvbG9yIHZhbHVlIGZyb20gdGhlIGlubGluZSBzdHlsZSBvbmx5IGlu
IGNhc2Ugb2YKKyAgICAgICAgYW4gSFRNTENhbnZhc0VsZW1lbnQgZGVyaXZhdGl2ZS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMgLS0gbm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRTdHJva2VTdHlsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRGaWxsU3R5
bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6c2V0
U2hhZG93Q29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
QmFzZTo6c2V0U2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2U6OmRpZERyYXcpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEQmFzZTo6Z2V0SW1hZ2VEYXRhIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZh
c1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnB1dEltYWdlRGF0YSk6CisgICAgICAgIChXZWJDb3Jl
OjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpwbGF0Zm9ybUxheWVyIGNvbnN0KToKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
dXJyZW50Q29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDb2xvck9yQ3VycmVudENvbG9y
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oOgorCiAyMDE5LTEwLTA0ICBa
YW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBNb3ZlIEltYWdl
QnVmZmVyLXJlbGF0ZWQgZnVuY3Rpb25hbGl0eSBmcm9tIEhUTUxDYW52YXNFbGVtZW50IHRvIENh
bnZhc0Jhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyREJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAKaW5kZXggMzk3NTM0YTY3ZTJmMDkzNzk4MTNl
OTQ2ZDY0NWJmMzYyMDMzMmQ2MS4uM2RiNTg4OWU3NmExM2I4MTNjYTY4MGY1OWY5Njc2ODM1MWMy
ZGQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAKQEAgLTQwMiwxNCArNDAyLDEyIEBAIHZvaWQg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6c2V0U3Ryb2tlU3R5bGUoQ2FudmFzU3R5bGUg
c3R5bGUpCiAgICAgaWYgKHN0YXRlKCkuc3Ryb2tlU3R5bGUuaXNWYWxpZCgpICYmIHN0YXRlKCku
c3Ryb2tlU3R5bGUuaXNFcXVpdmFsZW50Q29sb3Ioc3R5bGUpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBpZiAoc3R5bGUuaXNDdXJyZW50Q29sb3IoKSAmJiBpczxIVE1MQ2FudmFzRWxlbWVudD4o
Y2FudmFzQmFzZSgpKSkgewotICAgICAgICBhdXRvJiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2Fu
dmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKLQorICAgIGlmIChzdHlsZS5pc0N1cnJlbnRDb2xv
cigpKSB7CiAgICAgICAgIGlmIChzdHlsZS5oYXNPdmVycmlkZUFscGhhKCkpIHsKICAgICAgICAg
ICAgIC8vIEZJWE1FOiBTaG91bGQgbm90IHVzZSBSR0JBMzIgaGVyZS4KLSAgICAgICAgICAgIHN0
eWxlID0gQ2FudmFzU3R5bGUoY29sb3JXaXRoT3ZlcnJpZGVBbHBoYShjdXJyZW50Q29sb3IoJmNh
bnZhcykucmdiKCksIHN0eWxlLm92ZXJyaWRlQWxwaGEoKSkpOworICAgICAgICAgICAgc3R5bGUg
PSBDYW52YXNTdHlsZShjb2xvcldpdGhPdmVycmlkZUFscGhhKGN1cnJlbnRDb2xvcigmY2FudmFz
QmFzZSgpKS5yZ2IoKSwgc3R5bGUub3ZlcnJpZGVBbHBoYSgpKSk7CiAgICAgICAgIH0gZWxzZQot
ICAgICAgICAgICAgc3R5bGUgPSBDYW52YXNTdHlsZShjdXJyZW50Q29sb3IoJmNhbnZhcykpOwor
ICAgICAgICAgICAgc3R5bGUgPSBDYW52YXNTdHlsZShjdXJyZW50Q29sb3IoJmNhbnZhc0Jhc2Uo
KSkpOwogICAgIH0gZWxzZQogICAgICAgICBjaGVja09yaWdpbihzdHlsZS5jYW52YXNQYXR0ZXJu
KCkuZ2V0KCkpOwogCkBAIC00MzEsMTQgKzQyOSwxMiBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyREJhc2U6OnNldEZpbGxTdHlsZShDYW52YXNTdHlsZSBzdHlsZSkKICAgICBpZiAoc3Rh
dGUoKS5maWxsU3R5bGUuaXNWYWxpZCgpICYmIHN0YXRlKCkuZmlsbFN0eWxlLmlzRXF1aXZhbGVu
dENvbG9yKHN0eWxlKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHN0eWxlLmlzQ3VycmVu
dENvbG9yKCkgJiYgaXM8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UoKSkpIHsKLSAgICAg
ICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2Uo
KSk7Ci0KKyAgICBpZiAoc3R5bGUuaXNDdXJyZW50Q29sb3IoKSkgewogICAgICAgICBpZiAoc3R5
bGUuaGFzT3ZlcnJpZGVBbHBoYSgpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIG5v
dCB1c2UgUkdCQTMyIGhlcmUuCi0gICAgICAgICAgICBzdHlsZSA9IENhbnZhc1N0eWxlKGNvbG9y
V2l0aE92ZXJyaWRlQWxwaGEoY3VycmVudENvbG9yKCZjYW52YXMpLnJnYigpLCBzdHlsZS5vdmVy
cmlkZUFscGhhKCkpKTsKKyAgICAgICAgICAgIHN0eWxlID0gQ2FudmFzU3R5bGUoY29sb3JXaXRo
T3ZlcnJpZGVBbHBoYShjdXJyZW50Q29sb3IoJmNhbnZhc0Jhc2UoKSkucmdiKCksIHN0eWxlLm92
ZXJyaWRlQWxwaGEoKSkpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHN0eWxlID0gQ2Fu
dmFzU3R5bGUoY3VycmVudENvbG9yKCZjYW52YXMpKTsKKyAgICAgICAgICAgIHN0eWxlID0gQ2Fu
dmFzU3R5bGUoY3VycmVudENvbG9yKCZjYW52YXNCYXNlKCkpKTsKICAgICB9IGVsc2UKICAgICAg
ICAgY2hlY2tPcmlnaW4oc3R5bGUuY2FudmFzUGF0dGVybigpLmdldCgpKTsKIApAQCAtNjcxLDgg
KzY2Nyw3IEBAIFN0cmluZyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzaGFkb3dDb2xv
cigpIGNvbnN0CiAKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6c2V0U2hhZG93
Q29sb3IoY29uc3QgU3RyaW5nJiBjb2xvclN0cmluZykKIHsKLSAgICBhdXRvJiBjYW52YXMgPSBk
b3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKLSAgICBDb2xvciBjb2xv
ciA9IHBhcnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb2xvclN0cmluZywgJmNhbnZhcyk7CisgICAg
Q29sb3IgY29sb3IgPSBwYXJzZUNvbG9yT3JDdXJyZW50Q29sb3IoY29sb3JTdHJpbmcsICZjYW52
YXNCYXNlKCkpOwogICAgIGlmICghY29sb3IuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CiAg
ICAgaWYgKHN0YXRlKCkuc2hhZG93Q29sb3IgPT0gY29sb3IpCkBAIC0xMzM5LDggKzEzMzQsNyBA
QCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnNldFNoYWRvdyhmbG9hdCB3aWR0
aCwgZmxvYXQgaGVpZ2h0LCBmbG9hdCBibAogewogICAgIENvbG9yIGNvbG9yID0gQ29sb3I6OnRy
YW5zcGFyZW50OwogICAgIGlmICghY29sb3JTdHJpbmcuaXNOdWxsKCkpIHsKLSAgICAgICAgYXV0
byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UoKSk7Ci0g
ICAgICAgIGNvbG9yID0gcGFyc2VDb2xvck9yQ3VycmVudENvbG9yKGNvbG9yU3RyaW5nLCAmY2Fu
dmFzKTsKKyAgICAgICAgY29sb3IgPSBwYXJzZUNvbG9yT3JDdXJyZW50Q29sb3IoY29sb3JTdHJp
bmcsICZjYW52YXNCYXNlKCkpOwogICAgICAgICBpZiAoIWNvbG9yLmlzVmFsaWQoKSkKICAgICAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC0yMDM2LDcgKzIwMzAsNyBAQCB2b2lkIENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyREJhc2U6OmRpZERyYXcoY29uc3QgRmxvYXRSZWN0JiByLCB1bnNpZ25l
ZCBvcHRpb25zKQogCiAjaWYgRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NBTlZBUykKICAgICAvLyBJ
ZiB3ZSBhcmUgZHJhd2luZyB0byBoYXJkd2FyZSBhbmQgd2UgaGF2ZSBhIGNvbXBvc2l0ZWQgbGF5
ZXIsIGp1c3QgY2FsbCBjb250ZW50Q2hhbmdlZCgpLgotICAgIGlmIChpc0FjY2VsZXJhdGVkKCkp
IHsKKyAgICBpZiAoaXNBY2NlbGVyYXRlZCgpICYmIGlzPEhUTUxDYW52YXNFbGVtZW50PihjYW52
YXNCYXNlKCkpKSB7CiAgICAgICAgIGF1dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhUTUxDYW52YXNF
bGVtZW50PihjYW52YXNCYXNlKCkpOwogICAgICAgICBSZW5kZXJCb3gqIHJlbmRlckJveCA9IGNh
bnZhcy5yZW5kZXJCb3goKTsKICAgICAgICAgaWYgKHJlbmRlckJveCAmJiByZW5kZXJCb3gtPmhh
c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSkgewpAQCAtMjE5Nyw5ICsyMTkxLDggQEAgRXhjZXB0
aW9uT3I8UmVmUHRyPEltYWdlRGF0YT4+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6Omdl
dEltYWdlRGF0YShJbWFnZUIKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBJbnRSZWN0
IGltYWdlRGF0YVJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGxvZ2ljYWxSZWN0KTsKLSAgICBhdXRv
JiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKIAot
ICAgIEltYWdlQnVmZmVyKiBidWZmZXIgPSBjYW52YXMuYnVmZmVyKCk7CisgICAgSW1hZ2VCdWZm
ZXIqIGJ1ZmZlciA9IGNhbnZhc0Jhc2UoKS5idWZmZXIoKTsKICAgICBpZiAoIWJ1ZmZlcikKICAg
ICAgICAgcmV0dXJuIGNyZWF0ZUVtcHR5SW1hZ2VEYXRhKGltYWdlRGF0YVJlY3Quc2l6ZSgpKTsK
IApAQCAtMjIzMCw5ICsyMjIzLDcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNl
OjpwdXRJbWFnZURhdGEoSW1hZ2VEYXRhJiBkYXRhLCBmbG9hdCBkeCwgZmxvYXQKIAogdm9pZCBD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpwdXRJbWFnZURhdGEoSW1hZ2VEYXRhJiBkYXRh
LCBJbWFnZUJ1ZmZlcjo6Q29vcmRpbmF0ZVN5c3RlbSBjb29yZGluYXRlU3lzdGVtLCBmbG9hdCBk
eCwgZmxvYXQgZHksIGZsb2F0IGRpcnR5WCwgZmxvYXQgZGlydHlZLCBmbG9hdCBkaXJ0eVdpZHRo
LCBmbG9hdCBkaXJ0eUhlaWdodCkKIHsKLSAgICBhdXRvJiBjYW52YXMgPSBkb3duY2FzdDxIVE1M
Q2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKLQotICAgIEltYWdlQnVmZmVyKiBidWZmZXIg
PSBjYW52YXMuYnVmZmVyKCk7CisgICAgSW1hZ2VCdWZmZXIqIGJ1ZmZlciA9IGNhbnZhc0Jhc2Uo
KS5idWZmZXIoKTsKICAgICBpZiAoIWJ1ZmZlcikKICAgICAgICAgcmV0dXJuOwogCkBAIC0yMjg1
LDkgKzIyNzYsMTAgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjppbmZsYXRl
U3Ryb2tlUmVjdChGbG9hdFJlY3QmIHJlY3QpIGNvbnN0CiAKIFBsYXRmb3JtTGF5ZXIqIENhbnZh
c1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdAogewotICAgIGF1
dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKCkpOwor
ICAgIGlmIChhdXRvKiBidWZmZXIgPSBjYW52YXNCYXNlKCkuYnVmZmVyKCkpCisgICAgICAgIHJl
dHVybiBidWZmZXItPnBsYXRmb3JtTGF5ZXIoKTsKIAotICAgIHJldHVybiBjYW52YXMuYnVmZmVy
KCkgPyBjYW52YXMuYnVmZmVyKCktPnBsYXRmb3JtTGF5ZXIoKSA6IG51bGxwdHI7CisgICAgcmV0
dXJuIG51bGxwdHI7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzU3R5bGUuY3BwCmluZGV4IGNhNmYzNWRlMDIwNjJiN2ViMGU2ZTIyNTAzZDc2Y2FjZGNkZjA4
MWMuLjczNDBjZjlkODIwOWZhM2M2MWJmNTIwNzA3Nzk1ZDQ3YjMxNTY0MGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAKQEAgLTU2LDIwICs1NiwyNCBAQCBz
dGF0aWMgQ29sb3IgcGFyc2VDb2xvcihjb25zdCBTdHJpbmcmIGNvbG9yU3RyaW5nKQogICAgIHJl
dHVybiBDU1NQYXJzZXI6OnBhcnNlU3lzdGVtQ29sb3IoY29sb3JTdHJpbmcsIG51bGxwdHIpOwog
fQogCi1Db2xvciBjdXJyZW50Q29sb3IoSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZhcykKK0NvbG9y
IGN1cnJlbnRDb2xvcihDYW52YXNCYXNlKiBjYW52YXNCYXNlKQogewotICAgIGlmICghY2FudmFz
IHx8ICFjYW52YXMtPmlzQ29ubmVjdGVkKCkgfHwgIWNhbnZhcy0+aW5saW5lU3R5bGUoKSkKKyAg
ICBpZiAoIWlzPEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKSkKICAgICAgICAgcmV0dXJu
IENvbG9yOjpibGFjazsKLSAgICBDb2xvciBjb2xvciA9IENTU1BhcnNlcjo6cGFyc2VDb2xvcihj
YW52YXMtPmlubGluZVN0eWxlKCktPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlDb2xvcikp
OworCisgICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KCpjYW52
YXNCYXNlKTsKKyAgICBpZiAoIWNhbnZhcy5pc0Nvbm5lY3RlZCgpIHx8ICFjYW52YXMuaW5saW5l
U3R5bGUoKSkKKyAgICAgICAgcmV0dXJuIENvbG9yOjpibGFjazsKKyAgICBDb2xvciBjb2xvciA9
IENTU1BhcnNlcjo6cGFyc2VDb2xvcihjYW52YXMuaW5saW5lU3R5bGUoKS0+Z2V0UHJvcGVydHlW
YWx1ZShDU1NQcm9wZXJ0eUNvbG9yKSk7CiAgICAgaWYgKCFjb2xvci5pc1ZhbGlkKCkpCiAgICAg
ICAgIHJldHVybiBDb2xvcjo6YmxhY2s7CiAgICAgcmV0dXJuIGNvbG9yOwogfQogCi1Db2xvciBw
YXJzZUNvbG9yT3JDdXJyZW50Q29sb3IoY29uc3QgU3RyaW5nJiBjb2xvclN0cmluZywgSFRNTENh
bnZhc0VsZW1lbnQqIGNhbnZhcykKK0NvbG9yIHBhcnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb25z
dCBTdHJpbmcmIGNvbG9yU3RyaW5nLCBDYW52YXNCYXNlKiBjYW52YXNCYXNlKQogewogICAgIGlm
IChpc0N1cnJlbnRDb2xvclN0cmluZyhjb2xvclN0cmluZykpCi0gICAgICAgIHJldHVybiBjdXJy
ZW50Q29sb3IoY2FudmFzKTsKKyAgICAgICAgcmV0dXJuIGN1cnJlbnRDb2xvcihjYW52YXNCYXNl
KTsKIAogICAgIHJldHVybiBwYXJzZUNvbG9yKGNvbG9yU3RyaW5nKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oCmluZGV4IDQwNDZhYmNiNGU1NzA3Yjk2MWQ4NmE4
NDZiZjQ0MGYyYTMwZWRiZWEuLjRiY2EzZGM1Zjk1OGQwYTAxZjI2NDU1MzRkOGZmMTY2NmZkYTJj
NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaApAQCAtMzUsNyAr
MzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgR3Jh
cGhpY3NDb250ZXh0OwotY2xhc3MgSFRNTENhbnZhc0VsZW1lbnQ7CitjbGFzcyBDYW52YXNCYXNl
OwogCiBjbGFzcyBDYW52YXNTdHlsZSB7CiBwdWJsaWM6CkBAIC04OSw4ICs4OSw4IEBAIHByaXZh
dGU6CiAgICAgVmFyaWFudDxJbnZhbGlkLCBDb2xvciwgQ01ZS0FDb2xvciwgUmVmUHRyPENhbnZh
c0dyYWRpZW50PiwgUmVmUHRyPENhbnZhc1BhdHRlcm4+LCBDdXJyZW50Q29sb3I+IG1fc3R5bGU7
CiB9OwogCi1Db2xvciBjdXJyZW50Q29sb3IoSFRNTENhbnZhc0VsZW1lbnQqKTsKLUNvbG9yIHBh
cnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb25zdCBTdHJpbmcmIGNvbG9yU3RyaW5nLCBIVE1MQ2Fu
dmFzRWxlbWVudCopOworQ29sb3IgY3VycmVudENvbG9yKENhbnZhc0Jhc2UqKTsKK0NvbG9yIHBh
cnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb25zdCBTdHJpbmcmIGNvbG9yU3RyaW5nLCBDYW52YXNC
YXNlKik7CiAKIGlubGluZSBDYW52YXNTdHlsZTo6Q2FudmFzU3R5bGUoKQogICAgIDogbV9zdHls
ZShJbnZhbGlkIHsgfSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381184</attachid>
            <date>2019-10-17 02:34:05 -0700</date>
            <delta_ts>2019-11-01 02:31:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182685-20191017113404.patch</filename>
            <type>text/plain</type>
            <size>9363</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTUzOTlkNjM2NDExYTJm
NzkxMmYzYjUzMjZjYjBmZTEzM2QxOTdkOC4uZTIxNGQyNmQyYTA1NzEyNDI0MjZiYmRmNTZkZTk4
MDJiODgxOTc3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTEwLTA0ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBDYW52YXNSZW5kZXJp
bmdDb250ZXh0MkRCYXNlOiB1c2UgQ2FudmFzQmFzZSBtb3JlIGV4dGVuc2l2ZWx5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI2ODUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDYW52YXNSZW5kZXJp
bmdDb250ZXh0MkRCYXNlLCBzdG9wIGRvd25jYXN0aW5nIHRoZSBDYW52YXNCYXNlIG9iamVjdAor
ICAgICAgICB0byBIVE1MQ2FudmFzRWxlbWVudCB3aGVyZSBub3QgbmVjZXNzYXJ5LCBhbmQgd2hl
cmUgbmVjZXNzYXJ5LCBkbyBzbworICAgICAgICBhZnRlciB0ZXN0aW5nIHRoYXQgdGhlIENhbnZh
c0Jhc2Ugb2JqZWN0IGlzIGluZGVlZCBhIEhUTUxDYW52YXNFbGVtZW50LgorCisgICAgICAgIEFs
bCB0aGUgZnVuY3Rpb25hbGl0eSB0aGF0IHByZXZpb3VzbHkgcmVxdWlyZWQgZG93bmNhc3Rpbmcg
aGFzIG5vdyBtb3ZlZAorICAgICAgICBpbnRvIHRoZSBDYW52YXNCYXNlIGNsYXNzLiBDb21iaW5l
ZCB3aXRoIHRoZXNlIGNoYW5nZXMsIHRoaXMgd2lsbCBhbGxvdworICAgICAgICBPZmZzY3JlZW5D
YW52YXMgdG8gbGV2ZXJhZ2UgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZSBmb3IgMkQKKyAg
ICAgICAgcmFzdGVyaXphdGlvbi4KKworICAgICAgICBDYW52YXNTdHlsZSBpcyBzaW1pbGFybHkg
bW9kaWZpZWQgdG8gd29yayBvbiBDYW52YXNCYXNlIG9iamVjdHMsIG9ubHkKKyAgICAgICAgcmV0
cmlldmluZyBjdXJyZW50IGNvbG9yIHZhbHVlIGZyb20gdGhlIGlubGluZSBzdHlsZSBvbmx5IGlu
IGNhc2Ugb2YKKyAgICAgICAgYW4gSFRNTENhbnZhc0VsZW1lbnQgZGVyaXZhdGl2ZS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMgLS0gbm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRTdHJva2VTdHlsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRGaWxsU3R5
bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6c2V0
U2hhZG93Q29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
QmFzZTo6c2V0U2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2U6OmRpZERyYXcpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEQmFzZTo6Z2V0SW1hZ2VEYXRhIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZh
c1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnB1dEltYWdlRGF0YSk6CisgICAgICAgIChXZWJDb3Jl
OjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpwbGF0Zm9ybUxheWVyIGNvbnN0KToKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
dXJyZW50Q29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDb2xvck9yQ3VycmVudENvbG9y
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oOgorCiAyMDE5LTEwLTA0ICBa
YW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBNb3ZlIEltYWdl
QnVmZmVyLXJlbGF0ZWQgZnVuY3Rpb25hbGl0eSBmcm9tIEhUTUxDYW52YXNFbGVtZW50IHRvIENh
bnZhc0Jhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyREJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAKaW5kZXggMzk3NTM0YTY3ZTJmMDkzNzk4MTNl
OTQ2ZDY0NWJmMzYyMDMzMmQ2MS4uM2RiNTg4OWU3NmExM2I4MTNjYTY4MGY1OWY5Njc2ODM1MWMy
ZGQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAKQEAgLTQwMiwxNCArNDAyLDEyIEBAIHZvaWQg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6c2V0U3Ryb2tlU3R5bGUoQ2FudmFzU3R5bGUg
c3R5bGUpCiAgICAgaWYgKHN0YXRlKCkuc3Ryb2tlU3R5bGUuaXNWYWxpZCgpICYmIHN0YXRlKCku
c3Ryb2tlU3R5bGUuaXNFcXVpdmFsZW50Q29sb3Ioc3R5bGUpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBpZiAoc3R5bGUuaXNDdXJyZW50Q29sb3IoKSAmJiBpczxIVE1MQ2FudmFzRWxlbWVudD4o
Y2FudmFzQmFzZSgpKSkgewotICAgICAgICBhdXRvJiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2Fu
dmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKLQorICAgIGlmIChzdHlsZS5pc0N1cnJlbnRDb2xv
cigpKSB7CiAgICAgICAgIGlmIChzdHlsZS5oYXNPdmVycmlkZUFscGhhKCkpIHsKICAgICAgICAg
ICAgIC8vIEZJWE1FOiBTaG91bGQgbm90IHVzZSBSR0JBMzIgaGVyZS4KLSAgICAgICAgICAgIHN0
eWxlID0gQ2FudmFzU3R5bGUoY29sb3JXaXRoT3ZlcnJpZGVBbHBoYShjdXJyZW50Q29sb3IoJmNh
bnZhcykucmdiKCksIHN0eWxlLm92ZXJyaWRlQWxwaGEoKSkpOworICAgICAgICAgICAgc3R5bGUg
PSBDYW52YXNTdHlsZShjb2xvcldpdGhPdmVycmlkZUFscGhhKGN1cnJlbnRDb2xvcigmY2FudmFz
QmFzZSgpKS5yZ2IoKSwgc3R5bGUub3ZlcnJpZGVBbHBoYSgpKSk7CiAgICAgICAgIH0gZWxzZQot
ICAgICAgICAgICAgc3R5bGUgPSBDYW52YXNTdHlsZShjdXJyZW50Q29sb3IoJmNhbnZhcykpOwor
ICAgICAgICAgICAgc3R5bGUgPSBDYW52YXNTdHlsZShjdXJyZW50Q29sb3IoJmNhbnZhc0Jhc2Uo
KSkpOwogICAgIH0gZWxzZQogICAgICAgICBjaGVja09yaWdpbihzdHlsZS5jYW52YXNQYXR0ZXJu
KCkuZ2V0KCkpOwogCkBAIC00MzEsMTQgKzQyOSwxMiBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyREJhc2U6OnNldEZpbGxTdHlsZShDYW52YXNTdHlsZSBzdHlsZSkKICAgICBpZiAoc3Rh
dGUoKS5maWxsU3R5bGUuaXNWYWxpZCgpICYmIHN0YXRlKCkuZmlsbFN0eWxlLmlzRXF1aXZhbGVu
dENvbG9yKHN0eWxlKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHN0eWxlLmlzQ3VycmVu
dENvbG9yKCkgJiYgaXM8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UoKSkpIHsKLSAgICAg
ICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2Uo
KSk7Ci0KKyAgICBpZiAoc3R5bGUuaXNDdXJyZW50Q29sb3IoKSkgewogICAgICAgICBpZiAoc3R5
bGUuaGFzT3ZlcnJpZGVBbHBoYSgpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIG5v
dCB1c2UgUkdCQTMyIGhlcmUuCi0gICAgICAgICAgICBzdHlsZSA9IENhbnZhc1N0eWxlKGNvbG9y
V2l0aE92ZXJyaWRlQWxwaGEoY3VycmVudENvbG9yKCZjYW52YXMpLnJnYigpLCBzdHlsZS5vdmVy
cmlkZUFscGhhKCkpKTsKKyAgICAgICAgICAgIHN0eWxlID0gQ2FudmFzU3R5bGUoY29sb3JXaXRo
T3ZlcnJpZGVBbHBoYShjdXJyZW50Q29sb3IoJmNhbnZhc0Jhc2UoKSkucmdiKCksIHN0eWxlLm92
ZXJyaWRlQWxwaGEoKSkpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHN0eWxlID0gQ2Fu
dmFzU3R5bGUoY3VycmVudENvbG9yKCZjYW52YXMpKTsKKyAgICAgICAgICAgIHN0eWxlID0gQ2Fu
dmFzU3R5bGUoY3VycmVudENvbG9yKCZjYW52YXNCYXNlKCkpKTsKICAgICB9IGVsc2UKICAgICAg
ICAgY2hlY2tPcmlnaW4oc3R5bGUuY2FudmFzUGF0dGVybigpLmdldCgpKTsKIApAQCAtNjcxLDgg
KzY2Nyw3IEBAIFN0cmluZyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzaGFkb3dDb2xv
cigpIGNvbnN0CiAKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6c2V0U2hhZG93
Q29sb3IoY29uc3QgU3RyaW5nJiBjb2xvclN0cmluZykKIHsKLSAgICBhdXRvJiBjYW52YXMgPSBk
b3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKLSAgICBDb2xvciBjb2xv
ciA9IHBhcnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb2xvclN0cmluZywgJmNhbnZhcyk7CisgICAg
Q29sb3IgY29sb3IgPSBwYXJzZUNvbG9yT3JDdXJyZW50Q29sb3IoY29sb3JTdHJpbmcsICZjYW52
YXNCYXNlKCkpOwogICAgIGlmICghY29sb3IuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CiAg
ICAgaWYgKHN0YXRlKCkuc2hhZG93Q29sb3IgPT0gY29sb3IpCkBAIC0xMzM5LDggKzEzMzQsNyBA
QCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnNldFNoYWRvdyhmbG9hdCB3aWR0
aCwgZmxvYXQgaGVpZ2h0LCBmbG9hdCBibAogewogICAgIENvbG9yIGNvbG9yID0gQ29sb3I6OnRy
YW5zcGFyZW50OwogICAgIGlmICghY29sb3JTdHJpbmcuaXNOdWxsKCkpIHsKLSAgICAgICAgYXV0
byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UoKSk7Ci0g
ICAgICAgIGNvbG9yID0gcGFyc2VDb2xvck9yQ3VycmVudENvbG9yKGNvbG9yU3RyaW5nLCAmY2Fu
dmFzKTsKKyAgICAgICAgY29sb3IgPSBwYXJzZUNvbG9yT3JDdXJyZW50Q29sb3IoY29sb3JTdHJp
bmcsICZjYW52YXNCYXNlKCkpOwogICAgICAgICBpZiAoIWNvbG9yLmlzVmFsaWQoKSkKICAgICAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC0yMDM2LDcgKzIwMzAsNyBAQCB2b2lkIENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyREJhc2U6OmRpZERyYXcoY29uc3QgRmxvYXRSZWN0JiByLCB1bnNpZ25l
ZCBvcHRpb25zKQogCiAjaWYgRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NBTlZBUykKICAgICAvLyBJ
ZiB3ZSBhcmUgZHJhd2luZyB0byBoYXJkd2FyZSBhbmQgd2UgaGF2ZSBhIGNvbXBvc2l0ZWQgbGF5
ZXIsIGp1c3QgY2FsbCBjb250ZW50Q2hhbmdlZCgpLgotICAgIGlmIChpc0FjY2VsZXJhdGVkKCkp
IHsKKyAgICBpZiAoaXNBY2NlbGVyYXRlZCgpICYmIGlzPEhUTUxDYW52YXNFbGVtZW50PihjYW52
YXNCYXNlKCkpKSB7CiAgICAgICAgIGF1dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhUTUxDYW52YXNF
bGVtZW50PihjYW52YXNCYXNlKCkpOwogICAgICAgICBSZW5kZXJCb3gqIHJlbmRlckJveCA9IGNh
bnZhcy5yZW5kZXJCb3goKTsKICAgICAgICAgaWYgKHJlbmRlckJveCAmJiByZW5kZXJCb3gtPmhh
c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSkgewpAQCAtMjE5Nyw5ICsyMTkxLDggQEAgRXhjZXB0
aW9uT3I8UmVmUHRyPEltYWdlRGF0YT4+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6Omdl
dEltYWdlRGF0YShJbWFnZUIKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBJbnRSZWN0
IGltYWdlRGF0YVJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGxvZ2ljYWxSZWN0KTsKLSAgICBhdXRv
JiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKIAot
ICAgIEltYWdlQnVmZmVyKiBidWZmZXIgPSBjYW52YXMuYnVmZmVyKCk7CisgICAgSW1hZ2VCdWZm
ZXIqIGJ1ZmZlciA9IGNhbnZhc0Jhc2UoKS5idWZmZXIoKTsKICAgICBpZiAoIWJ1ZmZlcikKICAg
ICAgICAgcmV0dXJuIGNyZWF0ZUVtcHR5SW1hZ2VEYXRhKGltYWdlRGF0YVJlY3Quc2l6ZSgpKTsK
IApAQCAtMjIzMCw5ICsyMjIzLDcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNl
OjpwdXRJbWFnZURhdGEoSW1hZ2VEYXRhJiBkYXRhLCBmbG9hdCBkeCwgZmxvYXQKIAogdm9pZCBD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpwdXRJbWFnZURhdGEoSW1hZ2VEYXRhJiBkYXRh
LCBJbWFnZUJ1ZmZlcjo6Q29vcmRpbmF0ZVN5c3RlbSBjb29yZGluYXRlU3lzdGVtLCBmbG9hdCBk
eCwgZmxvYXQgZHksIGZsb2F0IGRpcnR5WCwgZmxvYXQgZGlydHlZLCBmbG9hdCBkaXJ0eVdpZHRo
LCBmbG9hdCBkaXJ0eUhlaWdodCkKIHsKLSAgICBhdXRvJiBjYW52YXMgPSBkb3duY2FzdDxIVE1M
Q2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKLQotICAgIEltYWdlQnVmZmVyKiBidWZmZXIg
PSBjYW52YXMuYnVmZmVyKCk7CisgICAgSW1hZ2VCdWZmZXIqIGJ1ZmZlciA9IGNhbnZhc0Jhc2Uo
KS5idWZmZXIoKTsKICAgICBpZiAoIWJ1ZmZlcikKICAgICAgICAgcmV0dXJuOwogCkBAIC0yMjg1
LDkgKzIyNzYsMTAgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjppbmZsYXRl
U3Ryb2tlUmVjdChGbG9hdFJlY3QmIHJlY3QpIGNvbnN0CiAKIFBsYXRmb3JtTGF5ZXIqIENhbnZh
c1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdAogewotICAgIGF1
dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKCkpOwor
ICAgIGlmIChhdXRvKiBidWZmZXIgPSBjYW52YXNCYXNlKCkuYnVmZmVyKCkpCisgICAgICAgIHJl
dHVybiBidWZmZXItPnBsYXRmb3JtTGF5ZXIoKTsKIAotICAgIHJldHVybiBjYW52YXMuYnVmZmVy
KCkgPyBjYW52YXMuYnVmZmVyKCktPnBsYXRmb3JtTGF5ZXIoKSA6IG51bGxwdHI7CisgICAgcmV0
dXJuIG51bGxwdHI7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzU3R5bGUuY3BwCmluZGV4IGNhNmYzNWRlMDIwNjJiN2ViMGU2ZTIyNTAzZDc2Y2FjZGNkZjA4
MWMuLjczNDBjZjlkODIwOWZhM2M2MWJmNTIwNzA3Nzk1ZDQ3YjMxNTY0MGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAKQEAgLTU2LDIwICs1NiwyNCBAQCBz
dGF0aWMgQ29sb3IgcGFyc2VDb2xvcihjb25zdCBTdHJpbmcmIGNvbG9yU3RyaW5nKQogICAgIHJl
dHVybiBDU1NQYXJzZXI6OnBhcnNlU3lzdGVtQ29sb3IoY29sb3JTdHJpbmcsIG51bGxwdHIpOwog
fQogCi1Db2xvciBjdXJyZW50Q29sb3IoSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZhcykKK0NvbG9y
IGN1cnJlbnRDb2xvcihDYW52YXNCYXNlKiBjYW52YXNCYXNlKQogewotICAgIGlmICghY2FudmFz
IHx8ICFjYW52YXMtPmlzQ29ubmVjdGVkKCkgfHwgIWNhbnZhcy0+aW5saW5lU3R5bGUoKSkKKyAg
ICBpZiAoIWlzPEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKSkKICAgICAgICAgcmV0dXJu
IENvbG9yOjpibGFjazsKLSAgICBDb2xvciBjb2xvciA9IENTU1BhcnNlcjo6cGFyc2VDb2xvcihj
YW52YXMtPmlubGluZVN0eWxlKCktPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlDb2xvcikp
OworCisgICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KCpjYW52
YXNCYXNlKTsKKyAgICBpZiAoIWNhbnZhcy5pc0Nvbm5lY3RlZCgpIHx8ICFjYW52YXMuaW5saW5l
U3R5bGUoKSkKKyAgICAgICAgcmV0dXJuIENvbG9yOjpibGFjazsKKyAgICBDb2xvciBjb2xvciA9
IENTU1BhcnNlcjo6cGFyc2VDb2xvcihjYW52YXMuaW5saW5lU3R5bGUoKS0+Z2V0UHJvcGVydHlW
YWx1ZShDU1NQcm9wZXJ0eUNvbG9yKSk7CiAgICAgaWYgKCFjb2xvci5pc1ZhbGlkKCkpCiAgICAg
ICAgIHJldHVybiBDb2xvcjo6YmxhY2s7CiAgICAgcmV0dXJuIGNvbG9yOwogfQogCi1Db2xvciBw
YXJzZUNvbG9yT3JDdXJyZW50Q29sb3IoY29uc3QgU3RyaW5nJiBjb2xvclN0cmluZywgSFRNTENh
bnZhc0VsZW1lbnQqIGNhbnZhcykKK0NvbG9yIHBhcnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb25z
dCBTdHJpbmcmIGNvbG9yU3RyaW5nLCBDYW52YXNCYXNlKiBjYW52YXNCYXNlKQogewogICAgIGlm
IChpc0N1cnJlbnRDb2xvclN0cmluZyhjb2xvclN0cmluZykpCi0gICAgICAgIHJldHVybiBjdXJy
ZW50Q29sb3IoY2FudmFzKTsKKyAgICAgICAgcmV0dXJuIGN1cnJlbnRDb2xvcihjYW52YXNCYXNl
KTsKIAogICAgIHJldHVybiBwYXJzZUNvbG9yKGNvbG9yU3RyaW5nKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oCmluZGV4IDQwNDZhYmNiNGU1NzA3Yjk2MWQ4NmE4
NDZiZjQ0MGYyYTMwZWRiZWEuLjRiY2EzZGM1Zjk1OGQwYTAxZjI2NDU1MzRkOGZmMTY2NmZkYTJj
NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaApAQCAtMzUsNyAr
MzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgR3Jh
cGhpY3NDb250ZXh0OwotY2xhc3MgSFRNTENhbnZhc0VsZW1lbnQ7CitjbGFzcyBDYW52YXNCYXNl
OwogCiBjbGFzcyBDYW52YXNTdHlsZSB7CiBwdWJsaWM6CkBAIC04OSw4ICs4OSw4IEBAIHByaXZh
dGU6CiAgICAgVmFyaWFudDxJbnZhbGlkLCBDb2xvciwgQ01ZS0FDb2xvciwgUmVmUHRyPENhbnZh
c0dyYWRpZW50PiwgUmVmUHRyPENhbnZhc1BhdHRlcm4+LCBDdXJyZW50Q29sb3I+IG1fc3R5bGU7
CiB9OwogCi1Db2xvciBjdXJyZW50Q29sb3IoSFRNTENhbnZhc0VsZW1lbnQqKTsKLUNvbG9yIHBh
cnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb25zdCBTdHJpbmcmIGNvbG9yU3RyaW5nLCBIVE1MQ2Fu
dmFzRWxlbWVudCopOworQ29sb3IgY3VycmVudENvbG9yKENhbnZhc0Jhc2UqKTsKK0NvbG9yIHBh
cnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb25zdCBTdHJpbmcmIGNvbG9yU3RyaW5nLCBDYW52YXNC
YXNlKik7CiAKIGlubGluZSBDYW52YXNTdHlsZTo6Q2FudmFzU3R5bGUoKQogICAgIDogbV9zdHls
ZShJbnZhbGlkIHsgfSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382568</attachid>
            <date>2019-11-01 02:35:02 -0700</date>
            <delta_ts>2019-11-01 05:55:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182685-20191101093500.patch</filename>
            <type>text/plain</type>
            <size>9413</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxOTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzAwMjk0MDA0ODc4Y2E0
ZTgzZjkwYWFhYzQzODkzMmNlNGE2Nzc5Mi4uOTI0MzVmNGFiMTAwNzFiMzVjYzM5Mzc1MWRlZDE4
NzBmODY2ZGRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTEwLTA0ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4gIGFuZCAgQ2hyaXMgTG9yZCAgPGNsb3Jk
QGlnYWxpYS5jb20+CisKKyAgICAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTogdXNl
IENhbnZhc0Jhc2UgbW9yZSBleHRlbnNpdmVseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyNjg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSW4gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZSwgc3Rv
cCBkb3duY2FzdGluZyB0aGUgQ2FudmFzQmFzZSBvYmplY3QKKyAgICAgICAgdG8gSFRNTENhbnZh
c0VsZW1lbnQgd2hlcmUgbm90IG5lY2Vzc2FyeSwgYW5kIHdoZXJlIG5lY2Vzc2FyeSwgZG8gc28K
KyAgICAgICAgYWZ0ZXIgdGVzdGluZyB0aGF0IHRoZSBDYW52YXNCYXNlIG9iamVjdCBpcyBpbmRl
ZWQgYSBIVE1MQ2FudmFzRWxlbWVudC4KKworICAgICAgICBBbGwgdGhlIGZ1bmN0aW9uYWxpdHkg
dGhhdCBwcmV2aW91c2x5IHJlcXVpcmVkIGRvd25jYXN0aW5nIGhhcyBub3cgbW92ZWQKKyAgICAg
ICAgaW50byB0aGUgQ2FudmFzQmFzZSBjbGFzcy4gQ29tYmluZWQgd2l0aCB0aGVzZSBjaGFuZ2Vz
LCB0aGlzIHdpbGwgYWxsb3cKKyAgICAgICAgT2Zmc2NyZWVuQ2FudmFzIHRvIGxldmVyYWdlIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UgZm9yIDJECisgICAgICAgIHJhc3Rlcml6YXRpb24u
CisKKyAgICAgICAgQ2FudmFzU3R5bGUgaXMgc2ltaWxhcmx5IG1vZGlmaWVkIHRvIHdvcmsgb24g
Q2FudmFzQmFzZSBvYmplY3RzLCBvbmx5CisgICAgICAgIHJldHJpZXZpbmcgY3VycmVudCBjb2xv
ciB2YWx1ZSBmcm9tIHRoZSBpbmxpbmUgc3R5bGUgb25seSBpbiBjYXNlIG9mCisgICAgICAgIGFu
IEhUTUxDYW52YXNFbGVtZW50IGRlcml2YXRpdmUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC0t
IG5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyREJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEQmFzZTo6c2V0U3Ryb2tlU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6c2V0RmlsbFN0eWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnNldFNoYWRvd0NvbG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnNldFNoYWRvdyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpkaWREcmF3KToK
KyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmdldEltYWdl
RGF0YSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRC
YXNlOjpwdXRJbWFnZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEQmFzZTo6cGxhdGZvcm1MYXllciBjb25zdCk6CisgICAgICAgICogaHRtbC9jYW52YXMv
Q2FudmFzU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3VycmVudENvbG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OnBhcnNlQ29sb3JPckN1cnJlbnRDb2xvcik6CisgICAgICAgICogaHRtbC9j
YW52YXMvQ2FudmFzU3R5bGUuaDoKKwogMjAxOS0xMC0wNCAgQ2hyaXMgTG9yZCAgPGNsb3JkQGln
YWxpYS5jb20+CiAKICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGFuZCBjYW5jZWxBbmlt
YXRpb25GcmFtZSBzaG91bGQgYmUgcHJlc2VudCBvbiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkRCYXNlLmNwcAppbmRleCAzOTc1MzRhNjdlMmYwOTM3OTgxM2U5NDZkNjQ1
YmYzNjIwMzMyZDYxLi4zZGI1ODg5ZTc2YTEzYjgxM2NhNjgwZjU5Zjk2NzY4MzUxYzJkZDhlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkRCYXNlLmNwcApAQCAtNDAyLDE0ICs0MDIsMTIgQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRTdHJva2VTdHlsZShDYW52YXNTdHlsZSBzdHlsZSkK
ICAgICBpZiAoc3RhdGUoKS5zdHJva2VTdHlsZS5pc1ZhbGlkKCkgJiYgc3RhdGUoKS5zdHJva2VT
dHlsZS5pc0VxdWl2YWxlbnRDb2xvcihzdHlsZSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlm
IChzdHlsZS5pc0N1cnJlbnRDb2xvcigpICYmIGlzPEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNC
YXNlKCkpKSB7Ci0gICAgICAgIGF1dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhUTUxDYW52YXNFbGVt
ZW50PihjYW52YXNCYXNlKCkpOwotCisgICAgaWYgKHN0eWxlLmlzQ3VycmVudENvbG9yKCkpIHsK
ICAgICAgICAgaWYgKHN0eWxlLmhhc092ZXJyaWRlQWxwaGEoKSkgewogICAgICAgICAgICAgLy8g
RklYTUU6IFNob3VsZCBub3QgdXNlIFJHQkEzMiBoZXJlLgotICAgICAgICAgICAgc3R5bGUgPSBD
YW52YXNTdHlsZShjb2xvcldpdGhPdmVycmlkZUFscGhhKGN1cnJlbnRDb2xvcigmY2FudmFzKS5y
Z2IoKSwgc3R5bGUub3ZlcnJpZGVBbHBoYSgpKSk7CisgICAgICAgICAgICBzdHlsZSA9IENhbnZh
c1N0eWxlKGNvbG9yV2l0aE92ZXJyaWRlQWxwaGEoY3VycmVudENvbG9yKCZjYW52YXNCYXNlKCkp
LnJnYigpLCBzdHlsZS5vdmVycmlkZUFscGhhKCkpKTsKICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICBzdHlsZSA9IENhbnZhc1N0eWxlKGN1cnJlbnRDb2xvcigmY2FudmFzKSk7CisgICAgICAg
ICAgICBzdHlsZSA9IENhbnZhc1N0eWxlKGN1cnJlbnRDb2xvcigmY2FudmFzQmFzZSgpKSk7CiAg
ICAgfSBlbHNlCiAgICAgICAgIGNoZWNrT3JpZ2luKHN0eWxlLmNhbnZhc1BhdHRlcm4oKS5nZXQo
KSk7CiAKQEAgLTQzMSwxNCArNDI5LDEyIEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
QmFzZTo6c2V0RmlsbFN0eWxlKENhbnZhc1N0eWxlIHN0eWxlKQogICAgIGlmIChzdGF0ZSgpLmZp
bGxTdHlsZS5pc1ZhbGlkKCkgJiYgc3RhdGUoKS5maWxsU3R5bGUuaXNFcXVpdmFsZW50Q29sb3Io
c3R5bGUpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoc3R5bGUuaXNDdXJyZW50Q29sb3Io
KSAmJiBpczxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKSkgewotICAgICAgICBhdXRv
JiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKLQor
ICAgIGlmIChzdHlsZS5pc0N1cnJlbnRDb2xvcigpKSB7CiAgICAgICAgIGlmIChzdHlsZS5oYXNP
dmVycmlkZUFscGhhKCkpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgbm90IHVzZSBS
R0JBMzIgaGVyZS4KLSAgICAgICAgICAgIHN0eWxlID0gQ2FudmFzU3R5bGUoY29sb3JXaXRoT3Zl
cnJpZGVBbHBoYShjdXJyZW50Q29sb3IoJmNhbnZhcykucmdiKCksIHN0eWxlLm92ZXJyaWRlQWxw
aGEoKSkpOworICAgICAgICAgICAgc3R5bGUgPSBDYW52YXNTdHlsZShjb2xvcldpdGhPdmVycmlk
ZUFscGhhKGN1cnJlbnRDb2xvcigmY2FudmFzQmFzZSgpKS5yZ2IoKSwgc3R5bGUub3ZlcnJpZGVB
bHBoYSgpKSk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgc3R5bGUgPSBDYW52YXNTdHls
ZShjdXJyZW50Q29sb3IoJmNhbnZhcykpOworICAgICAgICAgICAgc3R5bGUgPSBDYW52YXNTdHls
ZShjdXJyZW50Q29sb3IoJmNhbnZhc0Jhc2UoKSkpOwogICAgIH0gZWxzZQogICAgICAgICBjaGVj
a09yaWdpbihzdHlsZS5jYW52YXNQYXR0ZXJuKCkuZ2V0KCkpOwogCkBAIC02NzEsOCArNjY3LDcg
QEAgU3RyaW5nIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnNoYWRvd0NvbG9yKCkgY29u
c3QKIAogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRTaGFkb3dDb2xvcihj
b25zdCBTdHJpbmcmIGNvbG9yU3RyaW5nKQogewotICAgIGF1dG8mIGNhbnZhcyA9IGRvd25jYXN0
PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKCkpOwotICAgIENvbG9yIGNvbG9yID0gcGFy
c2VDb2xvck9yQ3VycmVudENvbG9yKGNvbG9yU3RyaW5nLCAmY2FudmFzKTsKKyAgICBDb2xvciBj
b2xvciA9IHBhcnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb2xvclN0cmluZywgJmNhbnZhc0Jhc2Uo
KSk7CiAgICAgaWYgKCFjb2xvci5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAo
c3RhdGUoKS5zaGFkb3dDb2xvciA9PSBjb2xvcikKQEAgLTEzMzksOCArMTMzNCw3IEBAIHZvaWQg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6c2V0U2hhZG93KGZsb2F0IHdpZHRoLCBmbG9h
dCBoZWlnaHQsIGZsb2F0IGJsCiB7CiAgICAgQ29sb3IgY29sb3IgPSBDb2xvcjo6dHJhbnNwYXJl
bnQ7CiAgICAgaWYgKCFjb2xvclN0cmluZy5pc051bGwoKSkgewotICAgICAgICBhdXRvJiBjYW52
YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSgpKTsKLSAgICAgICAg
Y29sb3IgPSBwYXJzZUNvbG9yT3JDdXJyZW50Q29sb3IoY29sb3JTdHJpbmcsICZjYW52YXMpOwor
ICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JPckN1cnJlbnRDb2xvcihjb2xvclN0cmluZywgJmNh
bnZhc0Jhc2UoKSk7CiAgICAgICAgIGlmICghY29sb3IuaXNWYWxpZCgpKQogICAgICAgICAgICAg
cmV0dXJuOwogICAgIH0KQEAgLTIwMzYsNyArMjAzMCw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEQmFzZTo6ZGlkRHJhdyhjb25zdCBGbG9hdFJlY3QmIHIsIHVuc2lnbmVkIG9wdGlv
bnMpCiAKICNpZiBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKQogICAgIC8vIElmIHdlIGFy
ZSBkcmF3aW5nIHRvIGhhcmR3YXJlIGFuZCB3ZSBoYXZlIGEgY29tcG9zaXRlZCBsYXllciwganVz
dCBjYWxsIGNvbnRlbnRDaGFuZ2VkKCkuCi0gICAgaWYgKGlzQWNjZWxlcmF0ZWQoKSkgeworICAg
IGlmIChpc0FjY2VsZXJhdGVkKCkgJiYgaXM8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2Uo
KSkpIHsKICAgICAgICAgYXV0byYgY2FudmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+
KGNhbnZhc0Jhc2UoKSk7CiAgICAgICAgIFJlbmRlckJveCogcmVuZGVyQm94ID0gY2FudmFzLnJl
bmRlckJveCgpOwogICAgICAgICBpZiAocmVuZGVyQm94ICYmIHJlbmRlckJveC0+aGFzQWNjZWxl
cmF0ZWRDb21wb3NpdGluZygpKSB7CkBAIC0yMTk3LDkgKzIxOTEsOCBAQCBFeGNlcHRpb25PcjxS
ZWZQdHI8SW1hZ2VEYXRhPj4gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6Z2V0SW1hZ2VE
YXRhKEltYWdlQgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIEludFJlY3QgaW1hZ2VE
YXRhUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QobG9naWNhbFJlY3QpOwotICAgIGF1dG8mIGNhbnZh
cyA9IGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKCkpOwogCi0gICAgSW1h
Z2VCdWZmZXIqIGJ1ZmZlciA9IGNhbnZhcy5idWZmZXIoKTsKKyAgICBJbWFnZUJ1ZmZlciogYnVm
ZmVyID0gY2FudmFzQmFzZSgpLmJ1ZmZlcigpOwogICAgIGlmICghYnVmZmVyKQogICAgICAgICBy
ZXR1cm4gY3JlYXRlRW1wdHlJbWFnZURhdGEoaW1hZ2VEYXRhUmVjdC5zaXplKCkpOwogCkBAIC0y
MjMwLDkgKzIyMjMsNyBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnB1dElt
YWdlRGF0YShJbWFnZURhdGEmIGRhdGEsIGZsb2F0IGR4LCBmbG9hdAogCiB2b2lkIENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyREJhc2U6OnB1dEltYWdlRGF0YShJbWFnZURhdGEmIGRhdGEsIEltYWdl
QnVmZmVyOjpDb29yZGluYXRlU3lzdGVtIGNvb3JkaW5hdGVTeXN0ZW0sIGZsb2F0IGR4LCBmbG9h
dCBkeSwgZmxvYXQgZGlydHlYLCBmbG9hdCBkaXJ0eVksIGZsb2F0IGRpcnR5V2lkdGgsIGZsb2F0
IGRpcnR5SGVpZ2h0KQogewotICAgIGF1dG8mIGNhbnZhcyA9IGRvd25jYXN0PEhUTUxDYW52YXNF
bGVtZW50PihjYW52YXNCYXNlKCkpOwotCi0gICAgSW1hZ2VCdWZmZXIqIGJ1ZmZlciA9IGNhbnZh
cy5idWZmZXIoKTsKKyAgICBJbWFnZUJ1ZmZlciogYnVmZmVyID0gY2FudmFzQmFzZSgpLmJ1ZmZl
cigpOwogICAgIGlmICghYnVmZmVyKQogICAgICAgICByZXR1cm47CiAKQEAgLTIyODUsOSArMjI3
NiwxMCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmluZmxhdGVTdHJva2VS
ZWN0KEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKIAogUGxhdGZvcm1MYXllciogQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEQmFzZTo6cGxhdGZvcm1MYXllcigpIGNvbnN0CiB7Ci0gICAgYXV0byYgY2Fu
dmFzID0gZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UoKSk7CisgICAgaWYg
KGF1dG8qIGJ1ZmZlciA9IGNhbnZhc0Jhc2UoKS5idWZmZXIoKSkKKyAgICAgICAgcmV0dXJuIGJ1
ZmZlci0+cGxhdGZvcm1MYXllcigpOwogCi0gICAgcmV0dXJuIGNhbnZhcy5idWZmZXIoKSA/IGNh
bnZhcy5idWZmZXIoKS0+cGxhdGZvcm1MYXllcigpIDogbnVsbHB0cjsKKyAgICByZXR1cm4gbnVs
bHB0cjsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHls
ZS5jcHAKaW5kZXggY2E2ZjM1ZGUwMjA2MmI3ZWIwZTZlMjI1MDNkNzZjYWNkY2RmMDgxYy4uNzM0
MGNmOWQ4MjA5ZmEzYzYxYmY1MjA3MDc3OTVkNDdiMzE1NjQwZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcApAQCAtNTYsMjAgKzU2LDI0IEBAIHN0YXRpYyBD
b2xvciBwYXJzZUNvbG9yKGNvbnN0IFN0cmluZyYgY29sb3JTdHJpbmcpCiAgICAgcmV0dXJuIENT
U1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xvcihjb2xvclN0cmluZywgbnVsbHB0cik7CiB9CiAKLUNv
bG9yIGN1cnJlbnRDb2xvcihIVE1MQ2FudmFzRWxlbWVudCogY2FudmFzKQorQ29sb3IgY3VycmVu
dENvbG9yKENhbnZhc0Jhc2UqIGNhbnZhc0Jhc2UpCiB7Ci0gICAgaWYgKCFjYW52YXMgfHwgIWNh
bnZhcy0+aXNDb25uZWN0ZWQoKSB8fCAhY2FudmFzLT5pbmxpbmVTdHlsZSgpKQorICAgIGlmICgh
aXM8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2UpKQogICAgICAgICByZXR1cm4gQ29sb3I6
OmJsYWNrOwotICAgIENvbG9yIGNvbG9yID0gQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKGNhbnZhcy0+
aW5saW5lU3R5bGUoKS0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eUNvbG9yKSk7CisKKyAg
ICBhdXRvJiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oKmNhbnZhc0Jhc2Up
OworICAgIGlmICghY2FudmFzLmlzQ29ubmVjdGVkKCkgfHwgIWNhbnZhcy5pbmxpbmVTdHlsZSgp
KQorICAgICAgICByZXR1cm4gQ29sb3I6OmJsYWNrOworICAgIENvbG9yIGNvbG9yID0gQ1NTUGFy
c2VyOjpwYXJzZUNvbG9yKGNhbnZhcy5pbmxpbmVTdHlsZSgpLT5nZXRQcm9wZXJ0eVZhbHVlKENT
U1Byb3BlcnR5Q29sb3IpKTsKICAgICBpZiAoIWNvbG9yLmlzVmFsaWQoKSkKICAgICAgICAgcmV0
dXJuIENvbG9yOjpibGFjazsKICAgICByZXR1cm4gY29sb3I7CiB9CiAKLUNvbG9yIHBhcnNlQ29s
b3JPckN1cnJlbnRDb2xvcihjb25zdCBTdHJpbmcmIGNvbG9yU3RyaW5nLCBIVE1MQ2FudmFzRWxl
bWVudCogY2FudmFzKQorQ29sb3IgcGFyc2VDb2xvck9yQ3VycmVudENvbG9yKGNvbnN0IFN0cmlu
ZyYgY29sb3JTdHJpbmcsIENhbnZhc0Jhc2UqIGNhbnZhc0Jhc2UpCiB7CiAgICAgaWYgKGlzQ3Vy
cmVudENvbG9yU3RyaW5nKGNvbG9yU3RyaW5nKSkKLSAgICAgICAgcmV0dXJuIGN1cnJlbnRDb2xv
cihjYW52YXMpOworICAgICAgICByZXR1cm4gY3VycmVudENvbG9yKGNhbnZhc0Jhc2UpOwogCiAg
ICAgcmV0dXJuIHBhcnNlQ29sb3IoY29sb3JTdHJpbmcpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1N0eWxlLmgKaW5kZXggNDA0NmFiY2I0ZTU3MDdiOTYxZDg2YTg0NmJmNDQw
ZjJhMzBlZGJlYS4uNGJjYTNkYzVmOTU4ZDBhMDFmMjY0NTUzNGQ4ZmYxNjY2ZmRhMmM3OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oCkBAIC0zNSw3ICszNSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBHcmFwaGljc0Nv
bnRleHQ7Ci1jbGFzcyBIVE1MQ2FudmFzRWxlbWVudDsKK2NsYXNzIENhbnZhc0Jhc2U7CiAKIGNs
YXNzIENhbnZhc1N0eWxlIHsKIHB1YmxpYzoKQEAgLTg5LDggKzg5LDggQEAgcHJpdmF0ZToKICAg
ICBWYXJpYW50PEludmFsaWQsIENvbG9yLCBDTVlLQUNvbG9yLCBSZWZQdHI8Q2FudmFzR3JhZGll
bnQ+LCBSZWZQdHI8Q2FudmFzUGF0dGVybj4sIEN1cnJlbnRDb2xvcj4gbV9zdHlsZTsKIH07CiAK
LUNvbG9yIGN1cnJlbnRDb2xvcihIVE1MQ2FudmFzRWxlbWVudCopOwotQ29sb3IgcGFyc2VDb2xv
ck9yQ3VycmVudENvbG9yKGNvbnN0IFN0cmluZyYgY29sb3JTdHJpbmcsIEhUTUxDYW52YXNFbGVt
ZW50Kik7CitDb2xvciBjdXJyZW50Q29sb3IoQ2FudmFzQmFzZSopOworQ29sb3IgcGFyc2VDb2xv
ck9yQ3VycmVudENvbG9yKGNvbnN0IFN0cmluZyYgY29sb3JTdHJpbmcsIENhbnZhc0Jhc2UqKTsK
IAogaW5saW5lIENhbnZhc1N0eWxlOjpDYW52YXNTdHlsZSgpCiAgICAgOiBtX3N0eWxlKEludmFs
aWQgeyB9KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>