<?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>214240</bug_id>
          
          <creation_ts>2020-07-12 13:47:36 -0700</creation_ts>
          <short_desc>Replace single argument makeSimpleColor uses with their implementation</short_desc>
          <delta_ts>2020-07-13 12:43:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1670913</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-07-12 13:47:36 -0700</bug_when>
    <thetext>Replace single argument makeSimpleColor uses with their implementation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670914</commentid>
    <comment_count>1</comment_count>
      <attachid>404114</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-07-12 13:49:06 -0700</bug_when>
    <thetext>Created attachment 404114
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670933</commentid>
    <comment_count>2</comment_count>
      <attachid>404120</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-07-12 16:27:20 -0700</bug_when>
    <thetext>Created attachment 404120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670949</commentid>
    <comment_count>3</comment_count>
      <attachid>404125</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-07-12 19:10:45 -0700</bug_when>
    <thetext>Created attachment 404125
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671117</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-13 12:42:50 -0700</bug_when>
    <thetext>Committed r264311: &lt;https://trac.webkit.org/changeset/264311&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404125.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671118</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-13 12:43:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/65493873&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404114</attachid>
            <date>2020-07-12 13:49:06 -0700</date>
            <delta_ts>2020-07-12 16:27:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214240-20200712134905.patch</filename>
            <type>text/plain</type>
            <size>18199</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NDI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDIwLTA3LTEyICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBSZXBsYWNlIHNpbmdsZSBhcmd1bWVu
dCBtYWtlU2ltcGxlQ29sb3IgdXNlcyB3aXRoIHRoZWlyIGltcGxlbWVudGF0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQyNDAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNzcy9TdHlsZUNvbG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQ29sb3I6OmNvbG9yRnJvbUtleXdvcmQpOgor
ICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VIU0xQYXJhbWV0ZXJz
KToKKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW06CisgICAgICAgIChX
ZWJDb3JlOjpEYXRhRGV0ZWN0aW9uOjpkZXRlY3RDb250ZW50SW5SYW5nZSk6CisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRTaGFkb3cpOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZh
c1N0eWxlOjpDYW52YXNTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNTdHlsZTo6aXNF
cXVpdmFsZW50IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb2xvcjo6bGlnaHRlbmVkIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbG9yOjpkYXJrZW5lZCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlQ29sb3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5jcHA6CisgICAgICAgIChXZWJDb3JlOjptYWtl
U2ltcGxlQ29sb3JGcm9tQVJHQkNGQXJyYXkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJP
cGVyYXRpb25zOjp0cmFuc2Zvcm1Db2xvciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0
ZXJPcGVyYXRpb25zOjppbnZlcnNlVHJhbnNmb3JtQ29sb3IgY29uc3QpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL21hYy9Db2xvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1ha2VT
aW1wbGVDb2xvckZyb21OU0NvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbG9yRnJvbU5TQ29s
b3IpOgorICAgICAgICAoV2ViQ29yZTo6c2VtYW50aWNDb2xvckZyb21OU0NvbG9yKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vUGxhdGZvcm1Db250ZXh0RGlyZWN0MkQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Db250ZXh0RGlyZWN0MkQ6OmJydXNoV2l0aENvbG9y
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvQ29sb3JJT1MubW06CisgICAgICAgIChXZWJDb3Jl
Ojpjb2xvckZyb21VSUNvbG9yKToKKwogMjAyMC0wNy0xMiAgU2FtIFdlaW5pZyAgPHdlaW5pZ0Bh
cHBsZS5jb20+CiAKICAgICAgICAgVGlkeSB1cCBjb2xvciB1c2FnZSBpbiBhY2Nlc3NpYmlsaXR5
IGNvZGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUNvbG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVDb2xvci5jcHAJKHJldmlzaW9uIDI2NDI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUNvbG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDEsNyArNDEsNyBAQCBDb2xvciBTdHlsZUNvbG9yOjpjb2xvckZyb21LZXl3b3JkKENTU1ZhCiB7
CiAgICAgaWYgKGNvbnN0IGNoYXIqIHZhbHVlTmFtZSA9IGdldFZhbHVlTmFtZShrZXl3b3JkKSkg
ewogICAgICAgICBpZiAoY29uc3QgTmFtZWRDb2xvciogbmFtZWRDb2xvciA9IGZpbmRDb2xvcih2
YWx1ZU5hbWUsIHN0cmxlbih2YWx1ZU5hbWUpKSkKLSAgICAgICAgICAgIHJldHVybiBtYWtlU2lt
cGxlQ29sb3IoYXNTUkdCQShQYWNrZWQ6OkFSR0IgeyBuYW1lZENvbG9yLT5BUkdCVmFsdWUgfSkp
OworICAgICAgICAgICAgcmV0dXJuIGFzU1JHQkEoUGFja2VkOjpBUkdCIHsgbmFtZWRDb2xvci0+
QVJHQlZhbHVlIH0pOwogICAgIH0KIAogICAgIHJldHVybiBSZW5kZXJUaGVtZTo6c2luZ2xldG9u
KCkuc3lzdGVtQ29sb3Ioa2V5d29yZCwgb3B0aW9ucyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCShyZXZp
c2lvbiAyNjQyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFy
c2VySGVscGVycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0MSw3ICs2NDEsNyBAQCBzdGF0aWMg
Q29sb3IgcGFyc2VIU0xQYXJhbWV0ZXJzKENTU1BhcnNlCiAgICAgaWYgKCFhcmdzLmF0RW5kKCkp
CiAgICAgICAgIHJldHVybiBDb2xvcigpOwogCi0gICAgcmV0dXJuIG1ha2VTaW1wbGVDb2xvcih0
b1NSR0JBKEhTTEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbG9yQXJyYXlbMF0pLCBz
dGF0aWNfY2FzdDxmbG9hdD4oY29sb3JBcnJheVsxXSksIHN0YXRpY19jYXN0PGZsb2F0Pihjb2xv
ckFycmF5WzJdKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGFscGhhKSB9KSk7CisgICAgcmV0dXJuIGNv
bnZlcnRUb0NvbXBvbmVudEJ5dGVzKHRvU1JHQkEoSFNMQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxm
bG9hdD4oY29sb3JBcnJheVswXSksIHN0YXRpY19jYXN0PGZsb2F0Pihjb2xvckFycmF5WzFdKSwg
c3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbG9yQXJyYXlbMl0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oYWxw
aGEpIH0pKTsKIH0KIAogc3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5jdGlvblBhcmFtZXRlcnMo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2NvY29hL0RhdGFEZXRlY3Rpb24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRp
dGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tCShyZXZpc2lvbiAyNjQyODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW0JKHdvcmtpbmcgY29weSkKQEAg
LTYyNyw3ICs2MjcsNyBAQCBOU0FycmF5ICpEYXRhRGV0ZWN0aW9uOjpkZXRlY3RDb250ZW50SW5S
CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzbyB0aGUgY29sb3Igd2lsbCBhcHBlYXIgb24g
bGlnaHQgYW5kIGRhcmsgYmFja2dyb3VuZHMsIHNpbmNlIG9ubHkgb25lIGNvbG9yIGNhbiBiZSBz
cGVjaWZpZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICBoc2xhLmxpZ2h0bmVzcyA9IDAuNWY7
CiAgICAgICAgICAgICAgICAgICAgICAgICBoc2xhLmFscGhhICo9IDAuMzhmOwotICAgICAgICAg
ICAgICAgICAgICAgICAgYXV0byB1bmRlcmxpbmVDb2xvciA9IG1ha2VTaW1wbGVDb2xvcih0b1NS
R0JBKGhzbGEpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8gdW5kZXJsaW5lQ29sb3Ig
PSBjb252ZXJ0VG9Db21wb25lbnRCeXRlcyh0b1NSR0JBKGhzbGEpKTsKIAogICAgICAgICAgICAg
ICAgICAgICAgICAgYW5jaG9yRWxlbWVudC0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUNvbG9yLCBDU1NWYWx1ZUN1cnJlbnRjb2xvcik7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBhbmNob3JFbGVtZW50LT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VGV4dERl
Y29yYXRpb25Db2xvciwgc2VyaWFsaXphdGlvbkZvckNTUyh1bmRlcmxpbmVDb2xvcikpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFz
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAJKHJldmlzaW9uIDI2NDI4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzE1LDE3ICsxMzE1LDE3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEQmFzZTo6c2V0U2gKIAogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRT
aGFkb3coZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCwgZmxvYXQgYmx1ciwgZmxvYXQgZ3JheUxl
dmVsLCBmbG9hdCBhbHBoYSkKIHsKLSAgICBzZXRTaGFkb3coRmxvYXRTaXplKHdpZHRoLCBoZWln
aHQpLCBibHVyLCBtYWtlU2ltcGxlQ29sb3IoU1JHQkEgeyBncmF5TGV2ZWwsIGdyYXlMZXZlbCwg
Z3JheUxldmVsLCBhbHBoYSB9KSk7CisgICAgc2V0U2hhZG93KEZsb2F0U2l6ZSh3aWR0aCwgaGVp
Z2h0KSwgYmx1ciwgY29udmVydFRvQ29tcG9uZW50Qnl0ZXMoU1JHQkEgeyBncmF5TGV2ZWwsIGdy
YXlMZXZlbCwgZ3JheUxldmVsLCBhbHBoYSB9KSk7CiB9CiAKIHZvaWQgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEQmFzZTo6c2V0U2hhZG93KGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQsIGZsb2F0
IGJsdXIsIGZsb2F0IHIsIGZsb2F0IGcsIGZsb2F0IGIsIGZsb2F0IGEpCiB7Ci0gICAgc2V0U2hh
ZG93KEZsb2F0U2l6ZSh3aWR0aCwgaGVpZ2h0KSwgYmx1ciwgbWFrZVNpbXBsZUNvbG9yKFNSR0JB
IHsgciwgZywgYiwgYSB9KSk7CisgICAgc2V0U2hhZG93KEZsb2F0U2l6ZSh3aWR0aCwgaGVpZ2h0
KSwgYmx1ciwgY29udmVydFRvQ29tcG9uZW50Qnl0ZXMoU1JHQkEgeyByLCBnLCBiLCBhIH0pKTsK
IH0KIAogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRTaGFkb3coZmxvYXQg
d2lkdGgsIGZsb2F0IGhlaWdodCwgZmxvYXQgYmx1ciwgZmxvYXQgYywgZmxvYXQgbSwgZmxvYXQg
eSwgZmxvYXQgaywgZmxvYXQgYSkKIHsKLSAgICBzZXRTaGFkb3coRmxvYXRTaXplKHdpZHRoLCBo
ZWlnaHQpLCBibHVyLCBtYWtlU2ltcGxlQ29sb3IodG9TUkdCQShDTVlLQSB7IGMsIG0sIHksIGss
IGEgfSkpKTsKKyAgICBzZXRTaGFkb3coRmxvYXRTaXplKHdpZHRoLCBoZWlnaHQpLCBibHVyLCBj
b252ZXJ0VG9Db21wb25lbnRCeXRlcyh0b1NSR0JBKENNWUtBIHsgYywgbSwgeSwgaywgYSB9KSkp
OwogfQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmNsZWFyU2hhZG93KCkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAJKHJldmlz
aW9uIDI2NDI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTQsMTIgKzk0LDEyIEBAIENhbnZhc1N0eWxlOjpDYW52YXNT
dHlsZShDb2xvciBjb2xvcikKIH0KIAogQ2FudmFzU3R5bGU6OkNhbnZhc1N0eWxlKGNvbnN0IFNS
R0JBPGZsb2F0PiYgY29sb3JDb21wb25lbnRzKQotICAgIDogbV9zdHlsZShtYWtlU2ltcGxlQ29s
b3IoY29sb3JDb21wb25lbnRzKSkKKyAgICA6IG1fc3R5bGUoY29udmVydFRvQ29tcG9uZW50Qnl0
ZXMoY29sb3JDb21wb25lbnRzKSkKIHsKIH0KIAogQ2FudmFzU3R5bGU6OkNhbnZhc1N0eWxlKGNv
bnN0IENNWUtBPGZsb2F0PiYgY29sb3JDb21wb25lbnRzKQotICAgIDogbV9zdHlsZShDTVlLQUNv
bG9yIHsgbWFrZVNpbXBsZUNvbG9yKHRvU1JHQkEoY29sb3JDb21wb25lbnRzKSksIGNvbG9yQ29t
cG9uZW50cyB9KQorICAgIDogbV9zdHlsZShDTVlLQUNvbG9yIHsgY29udmVydFRvQ29tcG9uZW50
Qnl0ZXModG9TUkdCQShjb2xvckNvbXBvbmVudHMpKSwgY29sb3JDb21wb25lbnRzIH0pCiB7CiB9
CiAKQEAgLTE1NSw3ICsxNTUsNyBAQCBib29sIENhbnZhc1N0eWxlOjppc0VxdWl2YWxlbnRDb2xv
cihjb25zCiAKIGJvb2wgQ2FudmFzU3R5bGU6OmlzRXF1aXZhbGVudChjb25zdCBTUkdCQTxmbG9h
dD4mIGNvbXBvbmVudHMpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRp
dmU8Q29sb3I+KG1fc3R5bGUpICYmIFdURjo6Z2V0PENvbG9yPihtX3N0eWxlKSA9PSBtYWtlU2lt
cGxlQ29sb3IoY29tcG9uZW50cyk7CisgICAgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8
Q29sb3I+KG1fc3R5bGUpICYmIFdURjo6Z2V0PENvbG9yPihtX3N0eWxlKSA9PSBjb252ZXJ0VG9D
b21wb25lbnRCeXRlcyhjb21wb25lbnRzKTsKIH0KIAogYm9vbCBDYW52YXNTdHlsZTo6aXNFcXVp
dmFsZW50KGNvbnN0IENNWUtBPGZsb2F0PiYgY29tcG9uZW50cykgY29uc3QKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAJKHJldmlzaW9uIDI2NDI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTEsNyArOTEsNyBAQCBDb2xvciBDb2xvcjo6bGlnaHRlbmVkKCkgY29uc3QKIAog
ICAgIGZsb2F0IG11bHRpcGxpZXIgPSBzdGQ6Om1pbigxLjBmLCB2ICsgMC4zM2YpIC8gdjsKIAot
ICAgIHJldHVybiBtYWtlU2ltcGxlQ29sb3IoU1JHQkEgeyBtdWx0aXBsaWVyICogciwgbXVsdGlw
bGllciAqIGcsIG11bHRpcGxpZXIgKiBiLCBhIH0pOworICAgIHJldHVybiBjb252ZXJ0VG9Db21w
b25lbnRCeXRlcyhTUkdCQSB7IG11bHRpcGxpZXIgKiByLCBtdWx0aXBsaWVyICogZywgbXVsdGlw
bGllciAqIGIsIGEgfSk7CiB9CiAKIENvbG9yIENvbG9yOjpkYXJrZW5lZCgpIGNvbnN0CkBAIC0x
MDUsNyArMTA1LDcgQEAgQ29sb3IgQ29sb3I6OmRhcmtlbmVkKCkgY29uc3QKICAgICBmbG9hdCB2
ID0gc3RkOjptYXgoeyByLCBnLCBiIH0pOwogICAgIGZsb2F0IG11bHRpcGxpZXIgPSBzdGQ6Om1h
eCgwLjBmLCAodiAtIDAuMzNmKSAvIHYpOwogCi0gICAgcmV0dXJuIG1ha2VTaW1wbGVDb2xvcihT
UkdCQSB7IG11bHRpcGxpZXIgKiByLCBtdWx0aXBsaWVyICogZywgbXVsdGlwbGllciAqIGIsIGEg
fSk7CisgICAgcmV0dXJuIGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKFNSR0JBIHsgbXVsdGlwbGll
ciAqIHIsIG11bHRpcGxpZXIgKiBnLCBtdWx0aXBsaWVyICogYiwgYSB9KTsKIH0KIAogZmxvYXQg
Q29sb3I6OmxpZ2h0bmVzcygpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TaW1wbGVDb2xvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1NpbXBsZUNvbG9yLmgJKHJldmlzaW9uIDI2NDI4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUNvbG9yLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQxLDE0ICs0MSw0IEBAIGNvbnN0ZXhwciBDb2xvckJ1aWxkZXI8U1JHQkE8dWludDhfdD4+IG0K
ICAgICByZXR1cm4gY2xhbXBUb0NvbXBvbmVudEJ5dGVzPFNSR0JBPihyLCBnLCBiLCBhKTsKIH0K
IAotY29uc3RleHByIENvbG9yQnVpbGRlcjxTUkdCQTx1aW50OF90Pj4gbWFrZVNpbXBsZUNvbG9y
KFNSR0JBPHVpbnQ4X3Q+IHNSR0JBKQotewotICAgIHJldHVybiBzUkdCQTsKLX0KLQotaW5saW5l
IENvbG9yQnVpbGRlcjxTUkdCQTx1aW50OF90Pj4gbWFrZVNpbXBsZUNvbG9yKGNvbnN0IFNSR0JB
PGZsb2F0PiYgc1JHQkEpCi17Ci0gICAgcmV0dXJuIGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKHNS
R0JBKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmNwcAkocmV2aXNpb24gMjY0Mjg0KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0luYmFuZFRl
eHRUcmFja1ByaXZhdGVBVkYuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MCw3ICs4MCw3IEBAIHN0
YXRpYyBPcHRpb25hbDxTUkdCQTx1aW50OF90Pj4gbWFrZVNpbXAKICAgICAgICAgY29tcG9uZW50
QXJyYXlbaV0gPSBjb21wb25lbnQ7CiAgICAgfQogCi0gICAgcmV0dXJuIG1ha2VTaW1wbGVDb2xv
cihTUkdCQSB7IGNvbXBvbmVudEFycmF5WzFdLCBjb21wb25lbnRBcnJheVsyXSwgY29tcG9uZW50
QXJyYXlbM10sIGNvbXBvbmVudEFycmF5WzBdIH0pOworICAgIHJldHVybiBjb252ZXJ0VG9Db21w
b25lbnRCeXRlcyhTUkdCQSB7IGNvbXBvbmVudEFycmF5WzFdLCBjb21wb25lbnRBcnJheVsyXSwg
Y29tcG9uZW50QXJyYXlbM10sIGNvbXBvbmVudEFycmF5WzBdIH0pOwogfQogCiBSZWY8SW5iYW5k
R2VuZXJpY0N1ZT4gSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRjo6cHJvY2Vzc0N1ZUF0dHJpYnV0
ZXMoQ0ZBdHRyaWJ1dGVkU3RyaW5nUmVmIGF0dHJpYnV0ZWRTdHJpbmcpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbnMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmls
dGVyT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDI2NDI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTExNyw3ICsxMTcsNyBAQCBib29sIEZpbHRlck9wZXJhdGlvbnM6OnRyYW5zZm9ybUNv
bG9yKENvCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgY29sb3IgPSBt
YWtlU2ltcGxlQ29sb3Ioc1JHQkFDb2xvcik7CisgICAgY29sb3IgPSBjb252ZXJ0VG9Db21wb25l
bnRCeXRlcyhzUkdCQUNvbG9yKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTM2LDcgKzEz
Niw3IEBAIGJvb2wgRmlsdGVyT3BlcmF0aW9uczo6aW52ZXJzZVRyYW5zZm9ybUMKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBjb2xvciA9IG1ha2VTaW1wbGVDb2xvcihz
UkdCQUNvbG9yKTsKKyAgICBjb2xvciA9IGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKHNSR0JBQ29s
b3IpOwogICAgIHJldHVybiB0cnVlOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvQ29sb3JNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbG9yTWFjLm1tCShyZXZpc2lvbiAyNjQyODQpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29sb3JNYWMubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTYyLDExICs2MiwxMiBAQCBib29sIHVzZXNUZXN0TW9kZUZvY3VzUmluZ0NvbG9y
KCkKICAgICByZXR1cm4gdXNlT2xkQXF1YUZvY3VzUmluZ0NvbG9yOwogfQogCi1zdGF0aWMgU1JH
QkE8dWludDhfdD4gbWFrZVNpbXBsZUNvbG9yRnJvbU5TQ29sb3IoTlNDb2xvciAqY29sb3IpCitz
dGF0aWMgT3B0aW9uYWw8U1JHQkE8dWludDhfdD4+IG1ha2VTaW1wbGVDb2xvckZyb21OU0NvbG9y
KE5TQ29sb3IgKmNvbG9yKQogewogICAgIC8vIEZJWE1FOiBFeHRlbmRlZENvbG9yIC0gbmVlZHMg
dG8gaGFuZGxlIGNvbG9yIHNwYWNlcy4KIAotICAgIEFTU0VSVF9BUkcoY29sb3IsIGNvbG9yKTsK
KyAgICBpZiAoIWNvbG9yKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCiAgICAgQ0dG
bG9hdCByZWRDb21wb25lbnQ7CiAgICAgQ0dGbG9hdCBncmVlbkNvbXBvbmVudDsKQEAgLTk3LDI2
ICs5OCwxNiBAQCBzdGF0aWMgU1JHQkE8dWludDhfdD4gbWFrZVNpbXBsZUNvbG9yRnJvCiAgICAg
W3JnYkNvbG9yIGdldFJlZDomcmVkQ29tcG9uZW50IGdyZWVuOiZncmVlbkNvbXBvbmVudCBibHVl
OiZibHVlQ29tcG9uZW50IGFscGhhOiZhbHBoYV07CiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBU
SU9OUwogCi0gICAgcmV0dXJuIG1ha2VTaW1wbGVDb2xvcihTUkdCQSB7IHN0YXRpY19jYXN0PGZs
b2F0PihyZWRDb21wb25lbnQpLCBzdGF0aWNfY2FzdDxmbG9hdD4oZ3JlZW5Db21wb25lbnQpLCBz
dGF0aWNfY2FzdDxmbG9hdD4oYmx1ZUNvbXBvbmVudCksIHN0YXRpY19jYXN0PGZsb2F0PihhbHBo
YSkgfSk7CisgICAgcmV0dXJuIGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKFNSR0JBIHsgc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KHJlZENvbXBvbmVudCksIHN0YXRpY19jYXN0PGZsb2F0PihncmVlbkNvbXBv
bmVudCksIHN0YXRpY19jYXN0PGZsb2F0PihibHVlQ29tcG9uZW50KSwgc3RhdGljX2Nhc3Q8Zmxv
YXQ+KGFscGhhKSB9KTsKIH0KIAogQ29sb3IgY29sb3JGcm9tTlNDb2xvcihOU0NvbG9yICpjb2xv
cikKIHsKLSAgICBpZiAoIWNvbG9yKQotICAgICAgICByZXR1cm4geyB9OwotCi0gICAgLy8gRklY
TUU6IEV4dGVuZGVkQ29sb3IgLSBuZWVkcyB0byBoYW5kbGUgY29sb3Igc3BhY2VzLgotCiAgICAg
cmV0dXJuIG1ha2VTaW1wbGVDb2xvckZyb21OU0NvbG9yKGNvbG9yKTsKIH0KIAogQ29sb3Igc2Vt
YW50aWNDb2xvckZyb21OU0NvbG9yKE5TQ29sb3IgKmNvbG9yKQogewotICAgIGlmICghY29sb3Ip
Ci0gICAgICAgIHJldHVybiB7IH07Ci0KLSAgICAvLyBGSVhNRTogRXh0ZW5kZWRDb2xvciAtIG5l
ZWRzIHRvIGhhbmRsZSBjb2xvciBzcGFjZXMuCi0KICAgICByZXR1cm4gQ29sb3IobWFrZVNpbXBs
ZUNvbG9yRnJvbU5TQ29sb3IoY29sb3IpLCBDb2xvcjo6U2VtYW50aWMpOwogfQogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUGxhdGZvcm1Db250ZXh0RGlyZWN0
MkQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9QbGF0Zm9ybUNvbnRleHREaXJlY3QyRC5jcHAJKHJldmlzaW9uIDI2NDI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9QbGF0Zm9ybUNvbnRleHREaXJlY3QyRC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFBsYXRmb3JtQ29udGV4
dERpcmVjdDJEOjpzZXRBY3RpdmVMCiAKIENPTVB0cjxJRDJEMVNvbGlkQ29sb3JCcnVzaD4gUGxh
dGZvcm1Db250ZXh0RGlyZWN0MkQ6OmJydXNoV2l0aENvbG9yKGNvbnN0IEQyRDFfQ09MT1JfRiYg
Y29sb3IpCiB7Ci0gICAgYXV0byBjb2xvcktleSA9IG1ha2VTaW1wbGVDb2xvcihTUkdCQSB7IGNv
bG9yLnIsIGNvbG9yLmcsIGNvbG9yLmIsIGNvbG9yLmEgfSk7CisgICAgYXV0byBjb2xvcktleSA9
IGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKFNSR0JBIHsgY29sb3IuciwgY29sb3IuZywgY29sb3Iu
YiwgY29sb3IuYSB9KTsKIAogICAgIGlmICghY29sb3JLZXkpIHsKICAgICAgICAgaWYgKCFtX3pl
cm9CcnVzaCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9Db2xvcklPUy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvQ29sb3JJT1MubW0JKHJl
dmlzaW9uIDI2NDI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9Db2xvcklPUy5t
bQkod29ya2luZyBjb3B5KQpAQCAtNDcsNyArNDcsNyBAQCBDb2xvciBjb2xvckZyb21VSUNvbG9y
KFVJQ29sb3IgKmNvbG9yKQogCiAgICAgW2NvbG9yIGdldFJlZDomcmVkQ29tcG9uZW50IGdyZWVu
OiZncmVlbkNvbXBvbmVudCBibHVlOiZibHVlQ29tcG9uZW50IGFscGhhOiZhbHBoYV07CiAKLSAg
ICByZXR1cm4gbWFrZVNpbXBsZUNvbG9yKFNSR0JBIHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHJlZENv
bXBvbmVudCksIHN0YXRpY19jYXN0PGZsb2F0PihncmVlbkNvbXBvbmVudCksIHN0YXRpY19jYXN0
PGZsb2F0PihibHVlQ29tcG9uZW50KSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGFscGhhKSB9KTsKKyAg
ICByZXR1cm4gY29udmVydFRvQ29tcG9uZW50Qnl0ZXMoU1JHQkEgeyBzdGF0aWNfY2FzdDxmbG9h
dD4ocmVkQ29tcG9uZW50KSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdyZWVuQ29tcG9uZW50KSwgc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KGJsdWVDb21wb25lbnQpLCBzdGF0aWNfY2FzdDxmbG9hdD4oYWxwaGEp
IH0pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24g
MjY0Mjg0KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxMyBAQAorMjAyMC0wNy0xMiAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgUmVwbGFjZSBzaW5nbGUgYXJndW1lbnQgbWFrZVNpbXBsZUNvbG9yIHVzZXMgd2l0
aCB0aGVpciBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE0MjQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRDb2xvci5jcHA6CisgICAg
ICAgICh3ZWJraXRDb2xvclRvV2ViQ29yZUNvbG9yKToKKwogMjAyMC0wNy0xMiAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI2MTE1Mik6IDkg
YmxvY2tzIG9mIGNyaXRpY2FsIHNhbmRib3hpbmcgY29kZSBkaXNhYmxlZCBiZWNhdXNlIHRoZXkg
YXJlIGd1YXJkZWQgd2l0aCBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJP
Q0VTU19CWV9BVURJVF9UT0tFTikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93
cGUvV2ViS2l0Q29sb3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0Q29sb3IuY3BwCShyZXZpc2lvbiAyNjQyODQpCisrKyBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdENvbG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NzUsNyArNzUsNyBAQCBHX0RFRklORV9CT1hFRF9UWVBFKFdlYktpdENvbG9yLCB3ZWJraXRfCiAK
IGNvbnN0IFdlYkNvcmU6OkNvbG9yIHdlYmtpdENvbG9yVG9XZWJDb3JlQ29sb3IoV2ViS2l0Q29s
b3IqIGNvbG9yKQogewotICAgIHJldHVybiBXZWJDb3JlOjptYWtlU2ltcGxlQ29sb3IoV2ViQ29y
ZTo6U1JHQkEgeyBzdGF0aWNfY2FzdDxmbG9hdD4oY29sb3ItPnJlZCksIHN0YXRpY19jYXN0PGZs
b2F0Pihjb2xvci0+Z3JlZW4pLCBzdGF0aWNfY2FzdDxmbG9hdD4oY29sb3ItPmJsdWUpLCBzdGF0
aWNfY2FzdDxmbG9hdD4oY29sb3ItPmFscGhhKSB9KTsKKyAgICByZXR1cm4gV2ViQ29yZTo6Y29u
dmVydFRvQ29tcG9uZW50Qnl0ZXMoV2ViQ29yZTo6U1JHQkEgeyBzdGF0aWNfY2FzdDxmbG9hdD4o
Y29sb3ItPnJlZCksIHN0YXRpY19jYXN0PGZsb2F0Pihjb2xvci0+Z3JlZW4pLCBzdGF0aWNfY2Fz
dDxmbG9hdD4oY29sb3ItPmJsdWUpLCBzdGF0aWNfY2FzdDxmbG9hdD4oY29sb3ItPmFscGhhKSB9
KTsKIH0KIAogdm9pZCB3ZWJraXRDb2xvckZpbGxGcm9tV2ViQ29yZUNvbG9yKGNvbnN0IFdlYkNv
cmU6OkNvbG9yJiB3ZWJDb3JlQ29sb3IsIFdlYktpdENvbG9yKiBjb2xvcikKSW5kZXg6IFRvb2xz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NDI4
NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisy
MDIwLTA3LTEyICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBSZXBs
YWNlIHNpbmdsZSBhcmd1bWVudCBtYWtlU2ltcGxlQ29sb3IgdXNlcyB3aXRoIHRoZWlyIGltcGxl
bWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTQyNDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db2xvclRlc3RzLmNwcDoKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIwLTA3LTExICBTYW0gV2VpbmlnICA8d2Vpbmln
QGFwcGxlLmNvbT4gYW5kIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZWxhbmRpbmcgIk1ha2UgaGFzaGVyIHdvcmsgd2l0aCB0dXBsZS1saWtlIGNsYXNzZXMi
CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29sb3JUZXN0cy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbG9yVGVz
dHMuY3BwCShyZXZpc2lvbiAyNjQyODQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YkNvcmUvQ29sb3JUZXN0cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgVEVT
VChDb2xvciwgUkdCVG9IU0xfV2hpdGUpCiAgICAgCiAgICAgRVhQRUNUX0ZMT0FUX0VRKGNvbG9y
LmxpZ2h0bmVzcygpLCBoc2xhQ29sb3IubGlnaHRuZXNzKTsKICAgICAKLSAgICBhdXRvIHJvdW5k
VHJpcHBlZENvbG9yID0gbWFrZVNpbXBsZUNvbG9yKHRvU1JHQkEoaHNsYUNvbG9yKSk7CisgICAg
YXV0byByb3VuZFRyaXBwZWRDb2xvciA9IGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKHRvU1JHQkEo
aHNsYUNvbG9yKSk7CiAgICAgRVhQRUNUX0VRKGNvbG9yLCByb3VuZFRyaXBwZWRDb2xvcik7CiB9
CiAKQEAgLTYyLDcgKzYyLDcgQEAgVEVTVChDb2xvciwgUkdCVG9IU0xfQmxhY2spCiAKICAgICBF
WFBFQ1RfRkxPQVRfRVEoY29sb3IubGlnaHRuZXNzKCksIGhzbGFDb2xvci5saWdodG5lc3MpOwog
Ci0gICAgYXV0byByb3VuZFRyaXBwZWRDb2xvciA9IG1ha2VTaW1wbGVDb2xvcih0b1NSR0JBKGhz
bGFDb2xvcikpOworICAgIGF1dG8gcm91bmRUcmlwcGVkQ29sb3IgPSBjb252ZXJ0VG9Db21wb25l
bnRCeXRlcyh0b1NSR0JBKGhzbGFDb2xvcikpOwogICAgIEVYUEVDVF9FUShjb2xvciwgcm91bmRU
cmlwcGVkQ29sb3IpOwogfQogCkBAIC03OCw3ICs3OCw3IEBAIFRFU1QoQ29sb3IsIFJHQlRvSFNM
X1JlZCkKIAogICAgIEVYUEVDVF9GTE9BVF9FUShjb2xvci5saWdodG5lc3MoKSwgaHNsYUNvbG9y
LmxpZ2h0bmVzcyk7CiAKLSAgICBhdXRvIHJvdW5kVHJpcHBlZENvbG9yID0gbWFrZVNpbXBsZUNv
bG9yKHRvU1JHQkEoaHNsYUNvbG9yKSk7CisgICAgYXV0byByb3VuZFRyaXBwZWRDb2xvciA9IGNv
bnZlcnRUb0NvbXBvbmVudEJ5dGVzKHRvU1JHQkEoaHNsYUNvbG9yKSk7CiAgICAgRVhQRUNUX0VR
KGNvbG9yLCByb3VuZFRyaXBwZWRDb2xvcik7CiB9CiAKQEAgLTk0LDcgKzk0LDcgQEAgVEVTVChD
b2xvciwgUkdCVG9IU0xfR3JlZW4pCiAKICAgICBFWFBFQ1RfRkxPQVRfRVEoY29sb3IubGlnaHRu
ZXNzKCksIGhzbGFDb2xvci5saWdodG5lc3MpOwogCi0gICAgYXV0byByb3VuZFRyaXBwZWRDb2xv
ciA9IG1ha2VTaW1wbGVDb2xvcih0b1NSR0JBKGhzbGFDb2xvcikpOworICAgIGF1dG8gcm91bmRU
cmlwcGVkQ29sb3IgPSBjb252ZXJ0VG9Db21wb25lbnRCeXRlcyh0b1NSR0JBKGhzbGFDb2xvcikp
OwogICAgIEVYUEVDVF9FUShjb2xvciwgcm91bmRUcmlwcGVkQ29sb3IpOwogfQogCkBAIC0xMTAs
NyArMTEwLDcgQEAgVEVTVChDb2xvciwgUkdCVG9IU0xfQmx1ZSkKIAogICAgIEVYUEVDVF9GTE9B
VF9FUShjb2xvci5saWdodG5lc3MoKSwgaHNsYUNvbG9yLmxpZ2h0bmVzcyk7CiAKLSAgICBhdXRv
IHJvdW5kVHJpcHBlZENvbG9yID0gbWFrZVNpbXBsZUNvbG9yKHRvU1JHQkEoaHNsYUNvbG9yKSk7
CisgICAgYXV0byByb3VuZFRyaXBwZWRDb2xvciA9IGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKHRv
U1JHQkEoaHNsYUNvbG9yKSk7CiAgICAgRVhQRUNUX0VRKGNvbG9yLCByb3VuZFRyaXBwZWRDb2xv
cik7CiB9CiAKQEAgLTEyNiw3ICsxMjYsNyBAQCBURVNUKENvbG9yLCBSR0JUb0hTTF9EYXJrR3Jh
eSkKICAgICAKICAgICBFWFBFQ1RfRkxPQVRfRVEoY29sb3IubGlnaHRuZXNzKCksIGhzbGFDb2xv
ci5saWdodG5lc3MpOwogCi0gICAgYXV0byByb3VuZFRyaXBwZWRDb2xvciA9IG1ha2VTaW1wbGVD
b2xvcih0b1NSR0JBKGhzbGFDb2xvcikpOworICAgIGF1dG8gcm91bmRUcmlwcGVkQ29sb3IgPSBj
b252ZXJ0VG9Db21wb25lbnRCeXRlcyh0b1NSR0JBKGhzbGFDb2xvcikpOwogICAgIEVYUEVDVF9F
UShjb2xvciwgcm91bmRUcmlwcGVkQ29sb3IpOwogfQogCkBAIC0xNDIsNyArMTQyLDcgQEAgVEVT
VChDb2xvciwgUkdCVG9IU0xfR3JheSkKIAogICAgIEVYUEVDVF9GTE9BVF9FUShjb2xvci5saWdo
dG5lc3MoKSwgaHNsYUNvbG9yLmxpZ2h0bmVzcyk7CiAKLSAgICBhdXRvIHJvdW5kVHJpcHBlZENv
bG9yID0gbWFrZVNpbXBsZUNvbG9yKHRvU1JHQkEoaHNsYUNvbG9yKSk7CisgICAgYXV0byByb3Vu
ZFRyaXBwZWRDb2xvciA9IGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKHRvU1JHQkEoaHNsYUNvbG9y
KSk7CiAgICAgRVhQRUNUX0VRKGNvbG9yLCByb3VuZFRyaXBwZWRDb2xvcik7CiB9CiAKQEAgLTE1
OCw3ICsxNTgsNyBAQCBURVNUKENvbG9yLCBSR0JUb0hTTF9MaWdodEdyYXkpCiAKICAgICBFWFBF
Q1RfRkxPQVRfRVEoY29sb3IubGlnaHRuZXNzKCksIGhzbGFDb2xvci5saWdodG5lc3MpOwogCi0g
ICAgYXV0byByb3VuZFRyaXBwZWRDb2xvciA9IG1ha2VTaW1wbGVDb2xvcih0b1NSR0JBKGhzbGFD
b2xvcikpOworICAgIGF1dG8gcm91bmRUcmlwcGVkQ29sb3IgPSBjb252ZXJ0VG9Db21wb25lbnRC
eXRlcyh0b1NSR0JBKGhzbGFDb2xvcikpOwogICAgIEVYUEVDVF9FUShjb2xvciwgcm91bmRUcmlw
cGVkQ29sb3IpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404120</attachid>
            <date>2020-07-12 16:27:20 -0700</date>
            <delta_ts>2020-07-12 19:10:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214240-20200712162719.patch</filename>
            <type>text/plain</type>
            <size>21917</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NDI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDIwLTA3LTEyICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBSZXBsYWNlIHNpbmdsZSBhcmd1bWVu
dCBtYWtlU2ltcGxlQ29sb3IgdXNlcyB3aXRoIHRoZWlyIGltcGxlbWVudGF0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQyNDAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNzcy9TdHlsZUNvbG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQ29sb3I6OmNvbG9yRnJvbUtleXdvcmQpOgor
ICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VIU0xQYXJhbWV0ZXJz
KToKKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW06CisgICAgICAgIChX
ZWJDb3JlOjpEYXRhRGV0ZWN0aW9uOjpkZXRlY3RDb250ZW50SW5SYW5nZSk6CisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRTaGFkb3cpOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZh
c1N0eWxlOjpDYW52YXNTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNTdHlsZTo6aXNF
cXVpdmFsZW50IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb2xvcjo6bGlnaHRlbmVkIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbG9yOjpkYXJrZW5lZCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlQ29sb3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5jcHA6CisgICAgICAgIChXZWJDb3JlOjptYWtl
U2ltcGxlQ29sb3JGcm9tQVJHQkNGQXJyYXkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJP
cGVyYXRpb25zOjp0cmFuc2Zvcm1Db2xvciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0
ZXJPcGVyYXRpb25zOjppbnZlcnNlVHJhbnNmb3JtQ29sb3IgY29uc3QpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL21hYy9Db2xvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1ha2VT
aW1wbGVDb2xvckZyb21OU0NvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbG9yRnJvbU5TQ29s
b3IpOgorICAgICAgICAoV2ViQ29yZTo6c2VtYW50aWNDb2xvckZyb21OU0NvbG9yKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vUGxhdGZvcm1Db250ZXh0RGlyZWN0MkQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Db250ZXh0RGlyZWN0MkQ6OmJydXNoV2l0aENvbG9y
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvQ29sb3JJT1MubW06CisgICAgICAgIChXZWJDb3Jl
Ojpjb2xvckZyb21VSUNvbG9yKToKKwogMjAyMC0wNy0xMiAgU2FtIFdlaW5pZyAgPHdlaW5pZ0Bh
cHBsZS5jb20+CiAKICAgICAgICAgVGlkeSB1cCBjb2xvciB1c2FnZSBpbiBhY2Nlc3NpYmlsaXR5
IGNvZGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUNvbG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVDb2xvci5jcHAJKHJldmlzaW9uIDI2NDI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUNvbG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDEsNyArNDEsNyBAQCBDb2xvciBTdHlsZUNvbG9yOjpjb2xvckZyb21LZXl3b3JkKENTU1ZhCiB7
CiAgICAgaWYgKGNvbnN0IGNoYXIqIHZhbHVlTmFtZSA9IGdldFZhbHVlTmFtZShrZXl3b3JkKSkg
ewogICAgICAgICBpZiAoY29uc3QgTmFtZWRDb2xvciogbmFtZWRDb2xvciA9IGZpbmRDb2xvcih2
YWx1ZU5hbWUsIHN0cmxlbih2YWx1ZU5hbWUpKSkKLSAgICAgICAgICAgIHJldHVybiBtYWtlU2lt
cGxlQ29sb3IoYXNTUkdCQShQYWNrZWQ6OkFSR0IgeyBuYW1lZENvbG9yLT5BUkdCVmFsdWUgfSkp
OworICAgICAgICAgICAgcmV0dXJuIGFzU1JHQkEoUGFja2VkOjpBUkdCIHsgbmFtZWRDb2xvci0+
QVJHQlZhbHVlIH0pOwogICAgIH0KIAogICAgIHJldHVybiBSZW5kZXJUaGVtZTo6c2luZ2xldG9u
KCkuc3lzdGVtQ29sb3Ioa2V5d29yZCwgb3B0aW9ucyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCShyZXZp
c2lvbiAyNjQyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFy
c2VySGVscGVycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0MSw3ICs2NDEsNyBAQCBzdGF0aWMg
Q29sb3IgcGFyc2VIU0xQYXJhbWV0ZXJzKENTU1BhcnNlCiAgICAgaWYgKCFhcmdzLmF0RW5kKCkp
CiAgICAgICAgIHJldHVybiBDb2xvcigpOwogCi0gICAgcmV0dXJuIG1ha2VTaW1wbGVDb2xvcih0
b1NSR0JBKEhTTEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbG9yQXJyYXlbMF0pLCBz
dGF0aWNfY2FzdDxmbG9hdD4oY29sb3JBcnJheVsxXSksIHN0YXRpY19jYXN0PGZsb2F0Pihjb2xv
ckFycmF5WzJdKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGFscGhhKSB9KSk7CisgICAgcmV0dXJuIGNv
bnZlcnRUb0NvbXBvbmVudEJ5dGVzKHRvU1JHQkEoSFNMQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxm
bG9hdD4oY29sb3JBcnJheVswXSksIHN0YXRpY19jYXN0PGZsb2F0Pihjb2xvckFycmF5WzFdKSwg
c3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbG9yQXJyYXlbMl0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oYWxw
aGEpIH0pKTsKIH0KIAogc3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5jdGlvblBhcmFtZXRlcnMo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2NvY29hL0RhdGFEZXRlY3Rpb24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRp
dGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tCShyZXZpc2lvbiAyNjQyODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW0JKHdvcmtpbmcgY29weSkKQEAg
LTYyNyw3ICs2MjcsNyBAQCBOU0FycmF5ICpEYXRhRGV0ZWN0aW9uOjpkZXRlY3RDb250ZW50SW5S
CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzbyB0aGUgY29sb3Igd2lsbCBhcHBlYXIgb24g
bGlnaHQgYW5kIGRhcmsgYmFja2dyb3VuZHMsIHNpbmNlIG9ubHkgb25lIGNvbG9yIGNhbiBiZSBz
cGVjaWZpZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICBoc2xhLmxpZ2h0bmVzcyA9IDAuNWY7
CiAgICAgICAgICAgICAgICAgICAgICAgICBoc2xhLmFscGhhICo9IDAuMzhmOwotICAgICAgICAg
ICAgICAgICAgICAgICAgYXV0byB1bmRlcmxpbmVDb2xvciA9IG1ha2VTaW1wbGVDb2xvcih0b1NS
R0JBKGhzbGEpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8gdW5kZXJsaW5lQ29sb3Ig
PSBjb252ZXJ0VG9Db21wb25lbnRCeXRlcyh0b1NSR0JBKGhzbGEpKTsKIAogICAgICAgICAgICAg
ICAgICAgICAgICAgYW5jaG9yRWxlbWVudC0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUNvbG9yLCBDU1NWYWx1ZUN1cnJlbnRjb2xvcik7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBhbmNob3JFbGVtZW50LT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VGV4dERl
Y29yYXRpb25Db2xvciwgc2VyaWFsaXphdGlvbkZvckNTUyh1bmRlcmxpbmVDb2xvcikpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFz
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAJKHJldmlzaW9uIDI2NDI4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzE1LDE3ICsxMzE1LDE3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEQmFzZTo6c2V0U2gKIAogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRT
aGFkb3coZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCwgZmxvYXQgYmx1ciwgZmxvYXQgZ3JheUxl
dmVsLCBmbG9hdCBhbHBoYSkKIHsKLSAgICBzZXRTaGFkb3coRmxvYXRTaXplKHdpZHRoLCBoZWln
aHQpLCBibHVyLCBtYWtlU2ltcGxlQ29sb3IoU1JHQkEgeyBncmF5TGV2ZWwsIGdyYXlMZXZlbCwg
Z3JheUxldmVsLCBhbHBoYSB9KSk7CisgICAgc2V0U2hhZG93KEZsb2F0U2l6ZSh3aWR0aCwgaGVp
Z2h0KSwgYmx1ciwgY29udmVydFRvQ29tcG9uZW50Qnl0ZXMoU1JHQkEgeyBncmF5TGV2ZWwsIGdy
YXlMZXZlbCwgZ3JheUxldmVsLCBhbHBoYSB9KSk7CiB9CiAKIHZvaWQgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEQmFzZTo6c2V0U2hhZG93KGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQsIGZsb2F0
IGJsdXIsIGZsb2F0IHIsIGZsb2F0IGcsIGZsb2F0IGIsIGZsb2F0IGEpCiB7Ci0gICAgc2V0U2hh
ZG93KEZsb2F0U2l6ZSh3aWR0aCwgaGVpZ2h0KSwgYmx1ciwgbWFrZVNpbXBsZUNvbG9yKFNSR0JB
IHsgciwgZywgYiwgYSB9KSk7CisgICAgc2V0U2hhZG93KEZsb2F0U2l6ZSh3aWR0aCwgaGVpZ2h0
KSwgYmx1ciwgY29udmVydFRvQ29tcG9uZW50Qnl0ZXMoU1JHQkEgeyByLCBnLCBiLCBhIH0pKTsK
IH0KIAogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRTaGFkb3coZmxvYXQg
d2lkdGgsIGZsb2F0IGhlaWdodCwgZmxvYXQgYmx1ciwgZmxvYXQgYywgZmxvYXQgbSwgZmxvYXQg
eSwgZmxvYXQgaywgZmxvYXQgYSkKIHsKLSAgICBzZXRTaGFkb3coRmxvYXRTaXplKHdpZHRoLCBo
ZWlnaHQpLCBibHVyLCBtYWtlU2ltcGxlQ29sb3IodG9TUkdCQShDTVlLQSB7IGMsIG0sIHksIGss
IGEgfSkpKTsKKyAgICBzZXRTaGFkb3coRmxvYXRTaXplKHdpZHRoLCBoZWlnaHQpLCBibHVyLCBj
b252ZXJ0VG9Db21wb25lbnRCeXRlcyh0b1NSR0JBKENNWUtBIHsgYywgbSwgeSwgaywgYSB9KSkp
OwogfQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmNsZWFyU2hhZG93KCkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAJKHJldmlz
aW9uIDI2NDI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTQsMTIgKzk0LDEyIEBAIENhbnZhc1N0eWxlOjpDYW52YXNT
dHlsZShDb2xvciBjb2xvcikKIH0KIAogQ2FudmFzU3R5bGU6OkNhbnZhc1N0eWxlKGNvbnN0IFNS
R0JBPGZsb2F0PiYgY29sb3JDb21wb25lbnRzKQotICAgIDogbV9zdHlsZShtYWtlU2ltcGxlQ29s
b3IoY29sb3JDb21wb25lbnRzKSkKKyAgICA6IG1fc3R5bGUoY29udmVydFRvQ29tcG9uZW50Qnl0
ZXMoY29sb3JDb21wb25lbnRzKSkKIHsKIH0KIAogQ2FudmFzU3R5bGU6OkNhbnZhc1N0eWxlKGNv
bnN0IENNWUtBPGZsb2F0PiYgY29sb3JDb21wb25lbnRzKQotICAgIDogbV9zdHlsZShDTVlLQUNv
bG9yIHsgbWFrZVNpbXBsZUNvbG9yKHRvU1JHQkEoY29sb3JDb21wb25lbnRzKSksIGNvbG9yQ29t
cG9uZW50cyB9KQorICAgIDogbV9zdHlsZShDTVlLQUNvbG9yIHsgY29udmVydFRvQ29tcG9uZW50
Qnl0ZXModG9TUkdCQShjb2xvckNvbXBvbmVudHMpKSwgY29sb3JDb21wb25lbnRzIH0pCiB7CiB9
CiAKQEAgLTE1NSw3ICsxNTUsNyBAQCBib29sIENhbnZhc1N0eWxlOjppc0VxdWl2YWxlbnRDb2xv
cihjb25zCiAKIGJvb2wgQ2FudmFzU3R5bGU6OmlzRXF1aXZhbGVudChjb25zdCBTUkdCQTxmbG9h
dD4mIGNvbXBvbmVudHMpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRp
dmU8Q29sb3I+KG1fc3R5bGUpICYmIFdURjo6Z2V0PENvbG9yPihtX3N0eWxlKSA9PSBtYWtlU2lt
cGxlQ29sb3IoY29tcG9uZW50cyk7CisgICAgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8
Q29sb3I+KG1fc3R5bGUpICYmIFdURjo6Z2V0PENvbG9yPihtX3N0eWxlKSA9PSBjb252ZXJ0VG9D
b21wb25lbnRCeXRlcyhjb21wb25lbnRzKTsKIH0KIAogYm9vbCBDYW52YXNTdHlsZTo6aXNFcXVp
dmFsZW50KGNvbnN0IENNWUtBPGZsb2F0PiYgY29tcG9uZW50cykgY29uc3QKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAJKHJldmlzaW9uIDI2NDI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTEsNyArOTEsNyBAQCBDb2xvciBDb2xvcjo6bGlnaHRlbmVkKCkgY29uc3QKIAog
ICAgIGZsb2F0IG11bHRpcGxpZXIgPSBzdGQ6Om1pbigxLjBmLCB2ICsgMC4zM2YpIC8gdjsKIAot
ICAgIHJldHVybiBtYWtlU2ltcGxlQ29sb3IoU1JHQkEgeyBtdWx0aXBsaWVyICogciwgbXVsdGlw
bGllciAqIGcsIG11bHRpcGxpZXIgKiBiLCBhIH0pOworICAgIHJldHVybiBjb252ZXJ0VG9Db21w
b25lbnRCeXRlcyhTUkdCQSB7IG11bHRpcGxpZXIgKiByLCBtdWx0aXBsaWVyICogZywgbXVsdGlw
bGllciAqIGIsIGEgfSk7CiB9CiAKIENvbG9yIENvbG9yOjpkYXJrZW5lZCgpIGNvbnN0CkBAIC0x
MDUsNyArMTA1LDcgQEAgQ29sb3IgQ29sb3I6OmRhcmtlbmVkKCkgY29uc3QKICAgICBmbG9hdCB2
ID0gc3RkOjptYXgoeyByLCBnLCBiIH0pOwogICAgIGZsb2F0IG11bHRpcGxpZXIgPSBzdGQ6Om1h
eCgwLjBmLCAodiAtIDAuMzNmKSAvIHYpOwogCi0gICAgcmV0dXJuIG1ha2VTaW1wbGVDb2xvcihT
UkdCQSB7IG11bHRpcGxpZXIgKiByLCBtdWx0aXBsaWVyICogZywgbXVsdGlwbGllciAqIGIsIGEg
fSk7CisgICAgcmV0dXJuIGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKFNSR0JBIHsgbXVsdGlwbGll
ciAqIHIsIG11bHRpcGxpZXIgKiBnLCBtdWx0aXBsaWVyICogYiwgYSB9KTsKIH0KIAogZmxvYXQg
Q29sb3I6OmxpZ2h0bmVzcygpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Db2xvclV0aWxpdGllcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0NvbG9yVXRpbGl0aWVzLmgJKHJldmlzaW9uIDI2NDI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yVXRpbGl0aWVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMzLDEwICszMywxNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHRlbXBsYXRl
PHR5cGVuYW1lPiBzdHJ1Y3QgU1JHQkE7CiAKKy8vIENvbG9yIGludHJvc3BlY3Rpb24KKwogZmxv
YXQgbGlnaHRuZXNzKGNvbnN0IFNSR0JBPGZsb2F0PiYpOwogZmxvYXQgbHVtaW5hbmNlKGNvbnN0
IFNSR0JBPGZsb2F0PiYpOwogZmxvYXQgY29udHJhc3RSYXRpbyhjb25zdCBTUkdCQTxmbG9hdD4m
LCBjb25zdCBTUkdCQTxmbG9hdD4mKTsKIAordGVtcGxhdGU8dHlwZW5hbWUgQ29sb3JUeXBlPiBj
b25zdGV4cHIgYm9vbCBpc0JsYWNrKGNvbnN0IENvbG9yVHlwZSYpOwordGVtcGxhdGU8dHlwZW5h
bWUgQ29sb3JUeXBlPiBjb25zdGV4cHIgYm9vbCBpc1doaXRlKGNvbnN0IENvbG9yVHlwZSYpOwor
CisvLyBBbHBoYSBwcmVtdWx0aXBsaWNhdGlvbgorCiBTUkdCQTxmbG9hdD4gcHJlbXVsdGlwbGll
ZChjb25zdCBTUkdCQTxmbG9hdD4mKTsKIFNSR0JBPGZsb2F0PiB1bnByZW11bHRpcGxpZWQoY29u
c3QgU1JHQkE8ZmxvYXQ+Jik7CiAKQEAgLTQ0LDMzICs1MSwzMCBAQCBTUkdCQTx1aW50OF90PiBw
cmVtdWx0aXBsaWVkRmxvb3JpbmcoU1JHCiBTUkdCQTx1aW50OF90PiBwcmVtdWx0aXBsaWVkQ2Vp
bGluZyhTUkdCQTx1aW50OF90Pik7CiBTUkdCQTx1aW50OF90PiB1bnByZW11bHRpcGxpZWQoU1JH
QkE8dWludDhfdD4pOwogCisvLyBDb21wb25lbnQgY29udmVyc2lvbjogZmxvYXQgKDAuMCAtIDEu
MCkgPC0+IHVpbnQ4X3QgKDAgLSAyNTUpCisKIHVpbnQ4X3QgY29udmVydFByZXNjYWxlZFRvQ29t
cG9uZW50Qnl0ZShmbG9hdCk7CiAKIHVpbnQ4X3QgY29udmVydFRvQ29tcG9uZW50Qnl0ZShmbG9h
dCk7CiBjb25zdGV4cHIgZmxvYXQgY29udmVydFRvQ29tcG9uZW50RmxvYXQodWludDhfdCk7Ci0K
IGNvbnN0ZXhwciB1aW50OF90IGNsYW1wVG9Db21wb25lbnRCeXRlKGludCk7CiBjb25zdGV4cHIg
dWludDhfdCBjbGFtcFRvQ29tcG9uZW50RmxvYXQoZmxvYXQpOwotCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBUIGNvbnZlcnRDb21wb25lbnRCeXRlVG8odWludDhfdCk7CiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBUIGNvbnZlcnRDb21wb25lbnRGbG9hdFRvKGZsb2F0KTsKLQogdGVtcGxhdGU8dGVtcGxh
dGU8dHlwZW5hbWU+IHR5cGVuYW1lIENvbG9yVHlwZT4gQ29sb3JUeXBlPHVpbnQ4X3Q+IGNvbnZl
cnRUb0NvbXBvbmVudEJ5dGVzKGNvbnN0IENvbG9yVHlwZTxmbG9hdD4mKTsKIHRlbXBsYXRlPHRl
bXBsYXRlPHR5cGVuYW1lPiB0eXBlbmFtZSBDb2xvclR5cGU+IGNvbnN0ZXhwciBDb2xvclR5cGU8
ZmxvYXQ+IGNvbnZlcnRUb0NvbXBvbmVudEZsb2F0cyhjb25zdCBDb2xvclR5cGU8dWludDhfdD4m
KTsKLQogdGVtcGxhdGU8dGVtcGxhdGU8dHlwZW5hbWU+IHR5cGVuYW1lIENvbG9yVHlwZT4gY29u
c3RleHByIENvbG9yVHlwZTx1aW50OF90PiBjbGFtcFRvQ29tcG9uZW50Qnl0ZXMoaW50IHIsIGlu
dCBnLCBpbnQgYiwgaW50IGEpOwogdGVtcGxhdGU8dGVtcGxhdGU8dHlwZW5hbWU+IHR5cGVuYW1l
IENvbG9yVHlwZT4gY29uc3RleHByIENvbG9yVHlwZTxmbG9hdD4gY2xhbXBUb0NvbXBvbmVudEZs
b2F0cyhmbG9hdCByLCBmbG9hdCBnLCBmbG9hdCBiLCBmbG9hdCBhKTsKIAotdGVtcGxhdGU8dHlw
ZW5hbWUgQ29sb3JUeXBlLCB0eXBlbmFtZSBGdW5jdG9yPiBDb2xvclR5cGUgY29sb3JCeU1vZGlm
aW5nRWFjaE5vbkFscGhhQ29tcG9uZW50KGNvbnN0IENvbG9yVHlwZSYsIEZ1bmN0b3ImJik7Cisv
LyBDb2xvciBtdXRhdGlvbgogCit0ZW1wbGF0ZTx0eXBlbmFtZSBDb2xvclR5cGUsIHR5cGVuYW1l
IEZ1bmN0b3I+IENvbG9yVHlwZSBjb2xvckJ5TW9kaWZpbmdFYWNoTm9uQWxwaGFDb21wb25lbnQo
Y29uc3QgQ29sb3JUeXBlJiwgRnVuY3RvciYmKTsKIHRlbXBsYXRlPHR5cGVuYW1lIENvbG9yVHlw
ZT4gY29uc3RleHByIENvbG9yVHlwZSBjb2xvcldpdGhPdmVycmlkZW5BbHBoYShjb25zdCBDb2xv
clR5cGUmLCB1aW50OF90IG92ZXJyaWRlQWxwaGEpOwogdGVtcGxhdGU8dHlwZW5hbWUgQ29sb3JU
eXBlPiBDb2xvclR5cGUgY29sb3JXaXRoT3ZlcnJpZGVuQWxwaGEoY29uc3QgQ29sb3JUeXBlJiwg
ZmxvYXQgb3ZlcnJpZGVBbHBoYSk7Ci0KIHRlbXBsYXRlPHR5cGVuYW1lIENvbG9yVHlwZT4gY29u
c3RleHByIENvbG9yVHlwZSBpbnZlcnRlZENvbG9yV2l0aE92ZXJyaWRlbkFscGhhKGNvbnN0IENv
bG9yVHlwZSYsIHVpbnQ4X3Qgb3ZlcnJpZGVBbHBoYSk7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb2xv
clR5cGU+IENvbG9yVHlwZSBpbnZlcnRlZENvbG9yV2l0aE92ZXJyaWRlbkFscGhhKGNvbnN0IENv
bG9yVHlwZSYsIGZsb2F0IG92ZXJyaWRlQWxwaGEpOwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBDb2xv
clR5cGU+IGNvbnN0ZXhwciBib29sIGlzQmxhY2soY29uc3QgQ29sb3JUeXBlJik7Ci10ZW1wbGF0
ZTx0eXBlbmFtZSBDb2xvclR5cGU+IGNvbnN0ZXhwciBib29sIGlzV2hpdGUoY29uc3QgQ29sb3JU
eXBlJik7CisvLyBDb2xvciBtYXRoIGhlbHBlcnMKIAogY29uc3RleHByIHVpbnQxNl90IGZhc3RN
dWx0aXBseUJ5MjU1KHVpbnQxNl90KTsKIGNvbnN0ZXhwciB1aW50MTZfdCBmYXN0RGl2aWRlQnky
NTUodWludDE2X3QpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2lt
cGxlQ29sb3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9TaW1wbGVDb2xvci5oCShyZXZpc2lvbiAyNjQyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9TaW1wbGVDb2xvci5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxNCArNDEs
NCBAQCBjb25zdGV4cHIgQ29sb3JCdWlsZGVyPFNSR0JBPHVpbnQ4X3Q+PiBtCiAgICAgcmV0dXJu
IGNsYW1wVG9Db21wb25lbnRCeXRlczxTUkdCQT4ociwgZywgYiwgYSk7CiB9CiAKLWNvbnN0ZXhw
ciBDb2xvckJ1aWxkZXI8U1JHQkE8dWludDhfdD4+IG1ha2VTaW1wbGVDb2xvcihTUkdCQTx1aW50
OF90PiBzUkdCQSkKLXsKLSAgICByZXR1cm4gc1JHQkE7Ci19Ci0KLWlubGluZSBDb2xvckJ1aWxk
ZXI8U1JHQkE8dWludDhfdD4+IG1ha2VTaW1wbGVDb2xvcihjb25zdCBTUkdCQTxmbG9hdD4mIHNS
R0JBKQotewotICAgIHJldHVybiBjb252ZXJ0VG9Db21wb25lbnRCeXRlcyhzUkdCQSk7Ci19Ci0K
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vSW5i
YW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5jcHAJKHJldmlzaW9uIDI2NDI4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9JbmJhbmRUZXh0VHJhY2tQcml2
YXRlQVZGLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODAsNyArODAsNyBAQCBzdGF0aWMgT3B0aW9u
YWw8U1JHQkE8dWludDhfdD4+IG1ha2VTaW1wCiAgICAgICAgIGNvbXBvbmVudEFycmF5W2ldID0g
Y29tcG9uZW50OwogICAgIH0KIAotICAgIHJldHVybiBtYWtlU2ltcGxlQ29sb3IoU1JHQkEgeyBj
b21wb25lbnRBcnJheVsxXSwgY29tcG9uZW50QXJyYXlbMl0sIGNvbXBvbmVudEFycmF5WzNdLCBj
b21wb25lbnRBcnJheVswXSB9KTsKKyAgICByZXR1cm4gY29udmVydFRvQ29tcG9uZW50Qnl0ZXMo
U1JHQkEgeyBjb21wb25lbnRBcnJheVsxXSwgY29tcG9uZW50QXJyYXlbMl0sIGNvbXBvbmVudEFy
cmF5WzNdLCBjb21wb25lbnRBcnJheVswXSB9KTsKIH0KIAogUmVmPEluYmFuZEdlbmVyaWNDdWU+
IEluYmFuZFRleHRUcmFja1ByaXZhdGVBVkY6OnByb2Nlc3NDdWVBdHRyaWJ1dGVzKENGQXR0cmli
dXRlZFN0cmluZ1JlZiBhdHRyaWJ1dGVkU3RyaW5nKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vTmF0aXZlSW1hZ2VDYWlyby5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vTmF0aXZlSW1hZ2VDYWlyby5j
cHAJKHJldmlzaW9uIDI2NDI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL05hdGl2ZUltYWdlQ2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCw3
IEBAIENvbG9yIG5hdGl2ZUltYWdlU2luZ2xlUGl4ZWxTb2xpZENvbG9yKGMKICAgICAgICAgcmV0
dXJuIENvbG9yKCk7CiAKICAgICB1bnNpZ25lZCogcGl4ZWwgPSByZWludGVycHJldF9jYXN0X3B0
cjx1bnNpZ25lZCo+KGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X2RhdGEoaW1hZ2UuZ2V0KCkpKTsK
LSAgICByZXR1cm4gbWFrZVNpbXBsZUNvbG9yKHVucHJlbXVsdGlwbGllZChhc1NSR0JBKFBhY2tl
ZDo6QVJHQiB7ICpwaXhlbCB9KSkpOworICAgIHJldHVybiB1bnByZW11bHRpcGxpZWQoYXNTUkdC
QShQYWNrZWQ6OkFSR0IgeyAqcGl4ZWwgfSkpOwogfQogCiB2b2lkIGRyYXdOYXRpdmVJbWFnZShj
b25zdCBOYXRpdmVJbWFnZVB0ciYgaW1hZ2UsIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29u
c3QgRmxvYXRSZWN0JiBkZXN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBJ
bnRTaXplJiBpbWFnZVNpemUsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRpb25zJiBvcHRpb25zKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVy
YXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyNjQyODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbnMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNyArMTE3LDcgQEAgYm9vbCBGaWx0ZXJPcGVyYXRpb25z
Ojp0cmFuc2Zvcm1Db2xvcihDbwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAot
ICAgIGNvbG9yID0gbWFrZVNpbXBsZUNvbG9yKHNSR0JBQ29sb3IpOworICAgIGNvbG9yID0gY29u
dmVydFRvQ29tcG9uZW50Qnl0ZXMoc1JHQkFDb2xvcik7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
QEAgLTEzNiw3ICsxMzYsNyBAQCBib29sIEZpbHRlck9wZXJhdGlvbnM6OmludmVyc2VUcmFuc2Zv
cm1DCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgY29sb3IgPSBtYWtl
U2ltcGxlQ29sb3Ioc1JHQkFDb2xvcik7CisgICAgY29sb3IgPSBjb252ZXJ0VG9Db21wb25lbnRC
eXRlcyhzUkdCQUNvbG9yKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbG9yTWFjLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db2xvck1hYy5tbQkocmV2aXNpb24g
MjY0Mjg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbG9yTWFj
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MiwxMSArNjIsMTIgQEAgYm9vbCB1c2VzVGVzdE1vZGVG
b2N1c1JpbmdDb2xvcigpCiAgICAgcmV0dXJuIHVzZU9sZEFxdWFGb2N1c1JpbmdDb2xvcjsKIH0K
IAotc3RhdGljIFNSR0JBPHVpbnQ4X3Q+IG1ha2VTaW1wbGVDb2xvckZyb21OU0NvbG9yKE5TQ29s
b3IgKmNvbG9yKQorc3RhdGljIE9wdGlvbmFsPFNSR0JBPHVpbnQ4X3Q+PiBtYWtlU2ltcGxlQ29s
b3JGcm9tTlNDb2xvcihOU0NvbG9yICpjb2xvcikKIHsKICAgICAvLyBGSVhNRTogRXh0ZW5kZWRD
b2xvciAtIG5lZWRzIHRvIGhhbmRsZSBjb2xvciBzcGFjZXMuCiAKLSAgICBBU1NFUlRfQVJHKGNv
bG9yLCBjb2xvcik7CisgICAgaWYgKCFjb2xvcikKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKIAogICAgIENHRmxvYXQgcmVkQ29tcG9uZW50OwogICAgIENHRmxvYXQgZ3JlZW5Db21wb25l
bnQ7CkBAIC05NywyNiArOTgsMTYgQEAgc3RhdGljIFNSR0JBPHVpbnQ4X3Q+IG1ha2VTaW1wbGVD
b2xvckZybwogICAgIFtyZ2JDb2xvciBnZXRSZWQ6JnJlZENvbXBvbmVudCBncmVlbjomZ3JlZW5D
b21wb25lbnQgYmx1ZTomYmx1ZUNvbXBvbmVudCBhbHBoYTomYWxwaGFdOwogICAgIEVORF9CTE9D
S19PQkpDX0VYQ0VQVElPTlMKIAotICAgIHJldHVybiBtYWtlU2ltcGxlQ29sb3IoU1JHQkEgeyBz
dGF0aWNfY2FzdDxmbG9hdD4ocmVkQ29tcG9uZW50KSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdyZWVu
Q29tcG9uZW50KSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGJsdWVDb21wb25lbnQpLCBzdGF0aWNfY2Fz
dDxmbG9hdD4oYWxwaGEpIH0pOworICAgIHJldHVybiBjb252ZXJ0VG9Db21wb25lbnRCeXRlcyhT
UkdCQSB7IHN0YXRpY19jYXN0PGZsb2F0PihyZWRDb21wb25lbnQpLCBzdGF0aWNfY2FzdDxmbG9h
dD4oZ3JlZW5Db21wb25lbnQpLCBzdGF0aWNfY2FzdDxmbG9hdD4oYmx1ZUNvbXBvbmVudCksIHN0
YXRpY19jYXN0PGZsb2F0PihhbHBoYSkgfSk7CiB9CiAKIENvbG9yIGNvbG9yRnJvbU5TQ29sb3Io
TlNDb2xvciAqY29sb3IpCiB7Ci0gICAgaWYgKCFjb2xvcikKLSAgICAgICAgcmV0dXJuIHsgfTsK
LQotICAgIC8vIEZJWE1FOiBFeHRlbmRlZENvbG9yIC0gbmVlZHMgdG8gaGFuZGxlIGNvbG9yIHNw
YWNlcy4KLQogICAgIHJldHVybiBtYWtlU2ltcGxlQ29sb3JGcm9tTlNDb2xvcihjb2xvcik7CiB9
CiAKIENvbG9yIHNlbWFudGljQ29sb3JGcm9tTlNDb2xvcihOU0NvbG9yICpjb2xvcikKIHsKLSAg
ICBpZiAoIWNvbG9yKQotICAgICAgICByZXR1cm4geyB9OwotCi0gICAgLy8gRklYTUU6IEV4dGVu
ZGVkQ29sb3IgLSBuZWVkcyB0byBoYW5kbGUgY29sb3Igc3BhY2VzLgotCiAgICAgcmV0dXJuIENv
bG9yKG1ha2VTaW1wbGVDb2xvckZyb21OU0NvbG9yKGNvbG9yKSwgQ29sb3I6OlNlbWFudGljKTsK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1BsYXRmb3Jt
Q29udGV4dERpcmVjdDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vUGxhdGZvcm1Db250ZXh0RGlyZWN0MkQuY3BwCShyZXZpc2lvbiAyNjQy
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUGxhdGZvcm1Db250
ZXh0RGlyZWN0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzIsNyArMTMyLDcgQEAgdm9pZCBQ
bGF0Zm9ybUNvbnRleHREaXJlY3QyRDo6c2V0QWN0aXZlTAogCiBDT01QdHI8SUQyRDFTb2xpZENv
bG9yQnJ1c2g+IFBsYXRmb3JtQ29udGV4dERpcmVjdDJEOjpicnVzaFdpdGhDb2xvcihjb25zdCBE
MkQxX0NPTE9SX0YmIGNvbG9yKQogewotICAgIGF1dG8gY29sb3JLZXkgPSBtYWtlU2ltcGxlQ29s
b3IoU1JHQkEgeyBjb2xvci5yLCBjb2xvci5nLCBjb2xvci5iLCBjb2xvci5hIH0pOworICAgIGF1
dG8gY29sb3JLZXkgPSBjb252ZXJ0VG9Db21wb25lbnRCeXRlcyhTUkdCQSB7IGNvbG9yLnIsIGNv
bG9yLmcsIGNvbG9yLmIsIGNvbG9yLmEgfSk7CiAKICAgICBpZiAoIWNvbG9yS2V5KSB7CiAgICAg
ICAgIGlmICghbV96ZXJvQnJ1c2gpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
Q29sb3JJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0Nv
bG9ySU9TLm1tCShyZXZpc2lvbiAyNjQyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvQ29sb3JJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3LDcgQEAgQ29sb3IgY29s
b3JGcm9tVUlDb2xvcihVSUNvbG9yICpjb2xvcikKIAogICAgIFtjb2xvciBnZXRSZWQ6JnJlZENv
bXBvbmVudCBncmVlbjomZ3JlZW5Db21wb25lbnQgYmx1ZTomYmx1ZUNvbXBvbmVudCBhbHBoYTom
YWxwaGFdOwogCi0gICAgcmV0dXJuIG1ha2VTaW1wbGVDb2xvcihTUkdCQSB7IHN0YXRpY19jYXN0
PGZsb2F0PihyZWRDb21wb25lbnQpLCBzdGF0aWNfY2FzdDxmbG9hdD4oZ3JlZW5Db21wb25lbnQp
LCBzdGF0aWNfY2FzdDxmbG9hdD4oYmx1ZUNvbXBvbmVudCksIHN0YXRpY19jYXN0PGZsb2F0Pihh
bHBoYSkgfSk7CisgICAgcmV0dXJuIGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKFNSR0JBIHsgc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KHJlZENvbXBvbmVudCksIHN0YXRpY19jYXN0PGZsb2F0PihncmVlbkNv
bXBvbmVudCksIHN0YXRpY19jYXN0PGZsb2F0PihibHVlQ29tcG9uZW50KSwgc3RhdGljX2Nhc3Q8
ZmxvYXQ+KGFscGhhKSB9KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI2NDI4NCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDctMTIgIFNhbSBXZWluaWcgIDx3ZWluaWdA
YXBwbGUuY29tPgorCisgICAgICAgIFJlcGxhY2Ugc2luZ2xlIGFyZ3VtZW50IG1ha2VTaW1wbGVD
b2xvciB1c2VzIHdpdGggdGhlaXIgaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDI0MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0Q29s
b3IuY3BwOgorICAgICAgICAod2Via2l0Q29sb3JUb1dlYkNvcmVDb2xvcik6CisKIDIwMjAtMDct
MTIgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHIyNjExNTIpOiA5IGJsb2NrcyBvZiBjcml0aWNhbCBzYW5kYm94aW5nIGNvZGUgZGlzYWJsZWQg
YmVjYXVzZSB0aGV5IGFyZSBndWFyZGVkIHdpdGggSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhU
RU5TSU9OX1RPX1BST0NFU1NfQllfQVVESVRfVE9LRU4pCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvd3BlL1dlYktpdENvbG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdENvbG9yLmNwcAkocmV2aXNpb24gMjY0Mjg0KQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRDb2xvci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTc1LDcgKzc1LDcgQEAgR19ERUZJTkVfQk9YRURfVFlQRShXZWJLaXRDb2xv
ciwgd2Via2l0XwogCiBjb25zdCBXZWJDb3JlOjpDb2xvciB3ZWJraXRDb2xvclRvV2ViQ29yZUNv
bG9yKFdlYktpdENvbG9yKiBjb2xvcikKIHsKLSAgICByZXR1cm4gV2ViQ29yZTo6bWFrZVNpbXBs
ZUNvbG9yKFdlYkNvcmU6OlNSR0JBIHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbG9yLT5yZWQpLCBz
dGF0aWNfY2FzdDxmbG9hdD4oY29sb3ItPmdyZWVuKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbG9y
LT5ibHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbG9yLT5hbHBoYSkgfSk7CisgICAgcmV0dXJu
IFdlYkNvcmU6OmNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKFdlYkNvcmU6OlNSR0JBIHsgc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KGNvbG9yLT5yZWQpLCBzdGF0aWNfY2FzdDxmbG9hdD4oY29sb3ItPmdyZWVu
KSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbG9yLT5ibHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNv
bG9yLT5hbHBoYSkgfSk7CiB9CiAKIHZvaWQgd2Via2l0Q29sb3JGaWxsRnJvbVdlYkNvcmVDb2xv
cihjb25zdCBXZWJDb3JlOjpDb2xvciYgd2ViQ29yZUNvbG9yLCBXZWJLaXRDb2xvciogY29sb3Ip
CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNjQyODUpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxMyBAQAorMjAyMC0wNy0xMiAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgUmVwbGFjZSBzaW5nbGUgYXJndW1lbnQgbWFrZVNpbXBsZUNvbG9yIHVzZXMgd2l0
aCB0aGVpciBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE0MjQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29sb3JUZXN0cy5j
cHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAyMC0wNy0xMSAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+IGFuZCBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVsYW5kaW5nICJNYWtlIGhhc2hlciB3b3JrIHdpdGggdHVwbGUt
bGlrZSBjbGFzc2VzIgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0Nv
bG9yVGVzdHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
Q29yZS9Db2xvclRlc3RzLmNwcAkocmV2aXNpb24gMjY0Mjg0KQorKysgVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJDb3JlL0NvbG9yVGVzdHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3
ICs0Niw3IEBAIFRFU1QoQ29sb3IsIFJHQlRvSFNMX1doaXRlKQogICAgIAogICAgIEVYUEVDVF9G
TE9BVF9FUShjb2xvci5saWdodG5lc3MoKSwgaHNsYUNvbG9yLmxpZ2h0bmVzcyk7CiAgICAgCi0g
ICAgYXV0byByb3VuZFRyaXBwZWRDb2xvciA9IG1ha2VTaW1wbGVDb2xvcih0b1NSR0JBKGhzbGFD
b2xvcikpOworICAgIGF1dG8gcm91bmRUcmlwcGVkQ29sb3IgPSBjb252ZXJ0VG9Db21wb25lbnRC
eXRlcyh0b1NSR0JBKGhzbGFDb2xvcikpOwogICAgIEVYUEVDVF9FUShjb2xvciwgcm91bmRUcmlw
cGVkQ29sb3IpOwogfQogCkBAIC02Miw3ICs2Miw3IEBAIFRFU1QoQ29sb3IsIFJHQlRvSFNMX0Js
YWNrKQogCiAgICAgRVhQRUNUX0ZMT0FUX0VRKGNvbG9yLmxpZ2h0bmVzcygpLCBoc2xhQ29sb3Iu
bGlnaHRuZXNzKTsKIAotICAgIGF1dG8gcm91bmRUcmlwcGVkQ29sb3IgPSBtYWtlU2ltcGxlQ29s
b3IodG9TUkdCQShoc2xhQ29sb3IpKTsKKyAgICBhdXRvIHJvdW5kVHJpcHBlZENvbG9yID0gY29u
dmVydFRvQ29tcG9uZW50Qnl0ZXModG9TUkdCQShoc2xhQ29sb3IpKTsKICAgICBFWFBFQ1RfRVEo
Y29sb3IsIHJvdW5kVHJpcHBlZENvbG9yKTsKIH0KIApAQCAtNzgsNyArNzgsNyBAQCBURVNUKENv
bG9yLCBSR0JUb0hTTF9SZWQpCiAKICAgICBFWFBFQ1RfRkxPQVRfRVEoY29sb3IubGlnaHRuZXNz
KCksIGhzbGFDb2xvci5saWdodG5lc3MpOwogCi0gICAgYXV0byByb3VuZFRyaXBwZWRDb2xvciA9
IG1ha2VTaW1wbGVDb2xvcih0b1NSR0JBKGhzbGFDb2xvcikpOworICAgIGF1dG8gcm91bmRUcmlw
cGVkQ29sb3IgPSBjb252ZXJ0VG9Db21wb25lbnRCeXRlcyh0b1NSR0JBKGhzbGFDb2xvcikpOwog
ICAgIEVYUEVDVF9FUShjb2xvciwgcm91bmRUcmlwcGVkQ29sb3IpOwogfQogCkBAIC05NCw3ICs5
NCw3IEBAIFRFU1QoQ29sb3IsIFJHQlRvSFNMX0dyZWVuKQogCiAgICAgRVhQRUNUX0ZMT0FUX0VR
KGNvbG9yLmxpZ2h0bmVzcygpLCBoc2xhQ29sb3IubGlnaHRuZXNzKTsKIAotICAgIGF1dG8gcm91
bmRUcmlwcGVkQ29sb3IgPSBtYWtlU2ltcGxlQ29sb3IodG9TUkdCQShoc2xhQ29sb3IpKTsKKyAg
ICBhdXRvIHJvdW5kVHJpcHBlZENvbG9yID0gY29udmVydFRvQ29tcG9uZW50Qnl0ZXModG9TUkdC
QShoc2xhQ29sb3IpKTsKICAgICBFWFBFQ1RfRVEoY29sb3IsIHJvdW5kVHJpcHBlZENvbG9yKTsK
IH0KIApAQCAtMTEwLDcgKzExMCw3IEBAIFRFU1QoQ29sb3IsIFJHQlRvSFNMX0JsdWUpCiAKICAg
ICBFWFBFQ1RfRkxPQVRfRVEoY29sb3IubGlnaHRuZXNzKCksIGhzbGFDb2xvci5saWdodG5lc3Mp
OwogCi0gICAgYXV0byByb3VuZFRyaXBwZWRDb2xvciA9IG1ha2VTaW1wbGVDb2xvcih0b1NSR0JB
KGhzbGFDb2xvcikpOworICAgIGF1dG8gcm91bmRUcmlwcGVkQ29sb3IgPSBjb252ZXJ0VG9Db21w
b25lbnRCeXRlcyh0b1NSR0JBKGhzbGFDb2xvcikpOwogICAgIEVYUEVDVF9FUShjb2xvciwgcm91
bmRUcmlwcGVkQ29sb3IpOwogfQogCkBAIC0xMjYsNyArMTI2LDcgQEAgVEVTVChDb2xvciwgUkdC
VG9IU0xfRGFya0dyYXkpCiAgICAgCiAgICAgRVhQRUNUX0ZMT0FUX0VRKGNvbG9yLmxpZ2h0bmVz
cygpLCBoc2xhQ29sb3IubGlnaHRuZXNzKTsKIAotICAgIGF1dG8gcm91bmRUcmlwcGVkQ29sb3Ig
PSBtYWtlU2ltcGxlQ29sb3IodG9TUkdCQShoc2xhQ29sb3IpKTsKKyAgICBhdXRvIHJvdW5kVHJp
cHBlZENvbG9yID0gY29udmVydFRvQ29tcG9uZW50Qnl0ZXModG9TUkdCQShoc2xhQ29sb3IpKTsK
ICAgICBFWFBFQ1RfRVEoY29sb3IsIHJvdW5kVHJpcHBlZENvbG9yKTsKIH0KIApAQCAtMTQyLDcg
KzE0Miw3IEBAIFRFU1QoQ29sb3IsIFJHQlRvSFNMX0dyYXkpCiAKICAgICBFWFBFQ1RfRkxPQVRf
RVEoY29sb3IubGlnaHRuZXNzKCksIGhzbGFDb2xvci5saWdodG5lc3MpOwogCi0gICAgYXV0byBy
b3VuZFRyaXBwZWRDb2xvciA9IG1ha2VTaW1wbGVDb2xvcih0b1NSR0JBKGhzbGFDb2xvcikpOwor
ICAgIGF1dG8gcm91bmRUcmlwcGVkQ29sb3IgPSBjb252ZXJ0VG9Db21wb25lbnRCeXRlcyh0b1NS
R0JBKGhzbGFDb2xvcikpOwogICAgIEVYUEVDVF9FUShjb2xvciwgcm91bmRUcmlwcGVkQ29sb3Ip
OwogfQogCkBAIC0xNTgsNyArMTU4LDcgQEAgVEVTVChDb2xvciwgUkdCVG9IU0xfTGlnaHRHcmF5
KQogCiAgICAgRVhQRUNUX0ZMT0FUX0VRKGNvbG9yLmxpZ2h0bmVzcygpLCBoc2xhQ29sb3IubGln
aHRuZXNzKTsKIAotICAgIGF1dG8gcm91bmRUcmlwcGVkQ29sb3IgPSBtYWtlU2ltcGxlQ29sb3Io
dG9TUkdCQShoc2xhQ29sb3IpKTsKKyAgICBhdXRvIHJvdW5kVHJpcHBlZENvbG9yID0gY29udmVy
dFRvQ29tcG9uZW50Qnl0ZXModG9TUkdCQShoc2xhQ29sb3IpKTsKICAgICBFWFBFQ1RfRVEoY29s
b3IsIHJvdW5kVHJpcHBlZENvbG9yKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404125</attachid>
            <date>2020-07-12 19:10:45 -0700</date>
            <delta_ts>2020-07-13 12:42:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214240-20200712191044.patch</filename>
            <type>text/plain</type>
            <size>19415</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NDI4OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDIwLTA3LTEyICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBSZXBsYWNlIHNpbmdsZSBhcmd1bWVu
dCBtYWtlU2ltcGxlQ29sb3IgdXNlcyB3aXRoIHRoZWlyIGltcGxlbWVudGF0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQyNDAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgbWFrZVNpbXBs
ZUNvbG9yIG92ZXJsb2FkcyB0aGF0IHRvb2sgU1JHQkE8dWludDhfdD4gYW5kIFNSR0JBPGZsb2F0
PjoKKyAgICAgICAgLSBtYWtlU2ltcGxlQ29sb3IoU1JHQkE8dWludDhfdD4pIHdhcyBhIG5vLW9w
LCBzbyBpcyByZXBsYWNlZCB3aXRoIG5vdGhpbmcuCisgICAgICAgIC0gbWFrZVNpbXBsZUNvbG9y
KFNSR0JBPGZsb2F0PikgaXMgcmVwbGFjZWQgYnkgdGhlIGZ1bmN0aW9uIGl0IGNhbGxlZCwgY29u
dmVydFRvQ29tcG9uZW50Qnl0ZXMoKS4KKworICAgICAgICAqIGNzcy9TdHlsZUNvbG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQ29sb3I6OmNvbG9yRnJvbUtleXdvcmQpOgorICAgICAg
ICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VIU0xQYXJhbWV0ZXJzKToKKyAg
ICAgICAgKiBlZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW06CisgICAgICAgIChXZWJDb3Jl
OjpEYXRhRGV0ZWN0aW9uOjpkZXRlY3RDb250ZW50SW5SYW5nZSk6CisgICAgICAgICogaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRTaGFkb3cpOgorICAgICAgICAqIGh0
bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1N0eWxl
OjpDYW52YXNTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNTdHlsZTo6aXNFcXVpdmFs
ZW50IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDb2xvcjo6bGlnaHRlbmVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbG9yOjpkYXJrZW5lZCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2lt
cGxlQ29sb3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vSW5i
YW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5jcHA6CisgICAgICAgIChXZWJDb3JlOjptYWtlU2ltcGxl
Q29sb3JGcm9tQVJHQkNGQXJyYXkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvRmlsdGVyT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJPcGVyYXRp
b25zOjp0cmFuc2Zvcm1Db2xvciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJPcGVy
YXRpb25zOjppbnZlcnNlVHJhbnNmb3JtQ29sb3IgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Db2xvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1ha2VTaW1wbGVD
b2xvckZyb21OU0NvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbG9yRnJvbU5TQ29sb3IpOgor
ICAgICAgICAoV2ViQ29yZTo6c2VtYW50aWNDb2xvckZyb21OU0NvbG9yKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy93aW4vUGxhdGZvcm1Db250ZXh0RGlyZWN0MkQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1Db250ZXh0RGlyZWN0MkQ6OmJydXNoV2l0aENvbG9yKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3MvQ29sb3JJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpjb2xv
ckZyb21VSUNvbG9yKToKKwogMjAyMC0wNy0xMiAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5G
dWppaUBzb255LmNvbT4KIAogICAgICAgICBbV2luQ2Fpcm9dW0NsYW5nXSBVbnJldmlld2VkIGJ1
aWxkIGZpeCBmb3IgcjI2NDI3MgpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQ29sb3Iu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUNvbG9yLmNwcAkocmV2
aXNpb24gMjY0Mjg5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQ29sb3IuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBAIENvbG9yIFN0eWxlQ29sb3I6OmNvbG9yRnJvbUtl
eXdvcmQoQ1NTVmEKIHsKICAgICBpZiAoY29uc3QgY2hhciogdmFsdWVOYW1lID0gZ2V0VmFsdWVO
YW1lKGtleXdvcmQpKSB7CiAgICAgICAgIGlmIChjb25zdCBOYW1lZENvbG9yKiBuYW1lZENvbG9y
ID0gZmluZENvbG9yKHZhbHVlTmFtZSwgc3RybGVuKHZhbHVlTmFtZSkpKQotICAgICAgICAgICAg
cmV0dXJuIG1ha2VTaW1wbGVDb2xvcihhc1NSR0JBKFBhY2tlZDo6QVJHQiB7IG5hbWVkQ29sb3It
PkFSR0JWYWx1ZSB9KSk7CisgICAgICAgICAgICByZXR1cm4gYXNTUkdCQShQYWNrZWQ6OkFSR0Ig
eyBuYW1lZENvbG9yLT5BUkdCVmFsdWUgfSk7CiAgICAgfQogCiAgICAgcmV0dXJuIFJlbmRlclRo
ZW1lOjpzaW5nbGV0b24oKS5zeXN0ZW1Db2xvcihrZXl3b3JkLCBvcHRpb25zKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVs
cGVycy5jcHAJKHJldmlzaW9uIDI2NDI4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQxLDcgKzY0
MSw3IEBAIHN0YXRpYyBDb2xvciBwYXJzZUhTTFBhcmFtZXRlcnMoQ1NTUGFyc2UKICAgICBpZiAo
IWFyZ3MuYXRFbmQoKSkKICAgICAgICAgcmV0dXJuIENvbG9yKCk7CiAKLSAgICByZXR1cm4gbWFr
ZVNpbXBsZUNvbG9yKHRvU1JHQkEoSFNMQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4oY29s
b3JBcnJheVswXSksIHN0YXRpY19jYXN0PGZsb2F0Pihjb2xvckFycmF5WzFdKSwgc3RhdGljX2Nh
c3Q8ZmxvYXQ+KGNvbG9yQXJyYXlbMl0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oYWxwaGEpIH0pKTsK
KyAgICByZXR1cm4gY29udmVydFRvQ29tcG9uZW50Qnl0ZXModG9TUkdCQShIU0xBPGZsb2F0PiB7
IHN0YXRpY19jYXN0PGZsb2F0Pihjb2xvckFycmF5WzBdKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNv
bG9yQXJyYXlbMV0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oY29sb3JBcnJheVsyXSksIHN0YXRpY19j
YXN0PGZsb2F0PihhbHBoYSkgfSkpOwogfQogCiBzdGF0aWMgQ29sb3IgcGFyc2VDb2xvckZ1bmN0
aW9uUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW0JKHJldmlzaW9uIDI2NDI4
OSkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbQkod29y
a2luZyBjb3B5KQpAQCAtNjI3LDcgKzYyNyw3IEBAIE5TQXJyYXkgKkRhdGFEZXRlY3Rpb246OmRl
dGVjdENvbnRlbnRJblIKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNvIHRoZSBjb2xvciB3
aWxsIGFwcGVhciBvbiBsaWdodCBhbmQgZGFyayBiYWNrZ3JvdW5kcywgc2luY2Ugb25seSBvbmUg
Y29sb3IgY2FuIGJlIHNwZWNpZmllZC4KICAgICAgICAgICAgICAgICAgICAgICAgIGhzbGEubGln
aHRuZXNzID0gMC41ZjsKICAgICAgICAgICAgICAgICAgICAgICAgIGhzbGEuYWxwaGEgKj0gMC4z
OGY7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhdXRvIHVuZGVybGluZUNvbG9yID0gbWFrZVNp
bXBsZUNvbG9yKHRvU1JHQkEoaHNsYSkpOworICAgICAgICAgICAgICAgICAgICAgICAgYXV0byB1
bmRlcmxpbmVDb2xvciA9IGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKHRvU1JHQkEoaHNsYSkpOwog
CiAgICAgICAgICAgICAgICAgICAgICAgICBhbmNob3JFbGVtZW50LT5zZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5Q29sb3IsIENTU1ZhbHVlQ3VycmVudGNvbG9yKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgIGFuY2hvckVsZW1lbnQtPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NT
UHJvcGVydHlUZXh0RGVjb3JhdGlvbkNvbG9yLCBzZXJpYWxpemF0aW9uRm9yQ1NTKHVuZGVybGlu
ZUNvbG9yKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkRCYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcAkocmV2aXNpb24gMjY0Mjg5KQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFz
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMTUsMTcgKzEzMTUsMTcgQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRTaAogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2U6OnNldFNoYWRvdyhmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0LCBmbG9hdCBibHVy
LCBmbG9hdCBncmF5TGV2ZWwsIGZsb2F0IGFscGhhKQogewotICAgIHNldFNoYWRvdyhGbG9hdFNp
emUod2lkdGgsIGhlaWdodCksIGJsdXIsIG1ha2VTaW1wbGVDb2xvcihTUkdCQSB7IGdyYXlMZXZl
bCwgZ3JheUxldmVsLCBncmF5TGV2ZWwsIGFscGhhIH0pKTsKKyAgICBzZXRTaGFkb3coRmxvYXRT
aXplKHdpZHRoLCBoZWlnaHQpLCBibHVyLCBjb252ZXJ0VG9Db21wb25lbnRCeXRlcyhTUkdCQSB7
IGdyYXlMZXZlbCwgZ3JheUxldmVsLCBncmF5TGV2ZWwsIGFscGhhIH0pKTsKIH0KIAogdm9pZCBD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpzZXRTaGFkb3coZmxvYXQgd2lkdGgsIGZsb2F0
IGhlaWdodCwgZmxvYXQgYmx1ciwgZmxvYXQgciwgZmxvYXQgZywgZmxvYXQgYiwgZmxvYXQgYSkK
IHsKLSAgICBzZXRTaGFkb3coRmxvYXRTaXplKHdpZHRoLCBoZWlnaHQpLCBibHVyLCBtYWtlU2lt
cGxlQ29sb3IoU1JHQkEgeyByLCBnLCBiLCBhIH0pKTsKKyAgICBzZXRTaGFkb3coRmxvYXRTaXpl
KHdpZHRoLCBoZWlnaHQpLCBibHVyLCBjb252ZXJ0VG9Db21wb25lbnRCeXRlcyhTUkdCQSB7IHIs
IGcsIGIsIGEgfSkpOwogfQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnNl
dFNoYWRvdyhmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0LCBmbG9hdCBibHVyLCBmbG9hdCBjLCBm
bG9hdCBtLCBmbG9hdCB5LCBmbG9hdCBrLCBmbG9hdCBhKQogewotICAgIHNldFNoYWRvdyhGbG9h
dFNpemUod2lkdGgsIGhlaWdodCksIGJsdXIsIG1ha2VTaW1wbGVDb2xvcih0b1NSR0JBKENNWUtB
IHsgYywgbSwgeSwgaywgYSB9KSkpOworICAgIHNldFNoYWRvdyhGbG9hdFNpemUod2lkdGgsIGhl
aWdodCksIGJsdXIsIGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKHRvU1JHQkEoQ01ZS0EgeyBjLCBt
LCB5LCBrLCBhIH0pKSk7CiB9CiAKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6
Y2xlYXJTaGFkb3coKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5
bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0
eWxlLmNwcAkocmV2aXNpb24gMjY0Mjg5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzU3R5bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NCwxMiArOTQsMTIgQEAgQ2FudmFz
U3R5bGU6OkNhbnZhc1N0eWxlKENvbG9yIGNvbG9yKQogfQogCiBDYW52YXNTdHlsZTo6Q2FudmFz
U3R5bGUoY29uc3QgU1JHQkE8ZmxvYXQ+JiBjb2xvckNvbXBvbmVudHMpCi0gICAgOiBtX3N0eWxl
KG1ha2VTaW1wbGVDb2xvcihjb2xvckNvbXBvbmVudHMpKQorICAgIDogbV9zdHlsZShjb252ZXJ0
VG9Db21wb25lbnRCeXRlcyhjb2xvckNvbXBvbmVudHMpKQogewogfQogCiBDYW52YXNTdHlsZTo6
Q2FudmFzU3R5bGUoY29uc3QgQ01ZS0E8ZmxvYXQ+JiBjb2xvckNvbXBvbmVudHMpCi0gICAgOiBt
X3N0eWxlKENNWUtBQ29sb3IgeyBtYWtlU2ltcGxlQ29sb3IodG9TUkdCQShjb2xvckNvbXBvbmVu
dHMpKSwgY29sb3JDb21wb25lbnRzIH0pCisgICAgOiBtX3N0eWxlKENNWUtBQ29sb3IgeyBjb252
ZXJ0VG9Db21wb25lbnRCeXRlcyh0b1NSR0JBKGNvbG9yQ29tcG9uZW50cykpLCBjb2xvckNvbXBv
bmVudHMgfSkKIHsKIH0KIApAQCAtMTU1LDcgKzE1NSw3IEBAIGJvb2wgQ2FudmFzU3R5bGU6Omlz
RXF1aXZhbGVudENvbG9yKGNvbnMKIAogYm9vbCBDYW52YXNTdHlsZTo6aXNFcXVpdmFsZW50KGNv
bnN0IFNSR0JBPGZsb2F0PiYgY29tcG9uZW50cykgY29uc3QKIHsKLSAgICByZXR1cm4gV1RGOjpo
b2xkc19hbHRlcm5hdGl2ZTxDb2xvcj4obV9zdHlsZSkgJiYgV1RGOjpnZXQ8Q29sb3I+KG1fc3R5
bGUpID09IG1ha2VTaW1wbGVDb2xvcihjb21wb25lbnRzKTsKKyAgICByZXR1cm4gV1RGOjpob2xk
c19hbHRlcm5hdGl2ZTxDb2xvcj4obV9zdHlsZSkgJiYgV1RGOjpnZXQ8Q29sb3I+KG1fc3R5bGUp
ID09IGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKGNvbXBvbmVudHMpOwogfQogCiBib29sIENhbnZh
c1N0eWxlOjppc0VxdWl2YWxlbnQoY29uc3QgQ01ZS0E8ZmxvYXQ+JiBjb21wb25lbnRzKSBjb25z
dApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcAkocmV2
aXNpb24gMjY0Mjg5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3Iu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw3ICs5MSw3IEBAIENvbG9yIENvbG9yOjpsaWdodGVu
ZWQoKSBjb25zdAogCiAgICAgZmxvYXQgbXVsdGlwbGllciA9IHN0ZDo6bWluKDEuMGYsIHYgKyAw
LjMzZikgLyB2OwogCi0gICAgcmV0dXJuIG1ha2VTaW1wbGVDb2xvcihTUkdCQSB7IG11bHRpcGxp
ZXIgKiByLCBtdWx0aXBsaWVyICogZywgbXVsdGlwbGllciAqIGIsIGEgfSk7CisgICAgcmV0dXJu
IGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKFNSR0JBIHsgbXVsdGlwbGllciAqIHIsIG11bHRpcGxp
ZXIgKiBnLCBtdWx0aXBsaWVyICogYiwgYSB9KTsKIH0KIAogQ29sb3IgQ29sb3I6OmRhcmtlbmVk
KCkgY29uc3QKQEAgLTEwNSw3ICsxMDUsNyBAQCBDb2xvciBDb2xvcjo6ZGFya2VuZWQoKSBjb25z
dAogICAgIGZsb2F0IHYgPSBzdGQ6Om1heCh7IHIsIGcsIGIgfSk7CiAgICAgZmxvYXQgbXVsdGlw
bGllciA9IHN0ZDo6bWF4KDAuMGYsICh2IC0gMC4zM2YpIC8gdik7CiAKLSAgICByZXR1cm4gbWFr
ZVNpbXBsZUNvbG9yKFNSR0JBIHsgbXVsdGlwbGllciAqIHIsIG11bHRpcGxpZXIgKiBnLCBtdWx0
aXBsaWVyICogYiwgYSB9KTsKKyAgICByZXR1cm4gY29udmVydFRvQ29tcG9uZW50Qnl0ZXMoU1JH
QkEgeyBtdWx0aXBsaWVyICogciwgbXVsdGlwbGllciAqIGcsIG11bHRpcGxpZXIgKiBiLCBhIH0p
OwogfQogCiBmbG9hdCBDb2xvcjo6bGlnaHRuZXNzKCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUNvbG9yLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlQ29sb3IuaAkocmV2aXNpb24gMjY0Mjg5
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlQ29sb3IuaAkod29y
a2luZyBjb3B5KQpAQCAtNDEsMTQgKzQxLDQgQEAgY29uc3RleHByIENvbG9yQnVpbGRlcjxTUkdC
QTx1aW50OF90Pj4gbQogICAgIHJldHVybiBjbGFtcFRvQ29tcG9uZW50Qnl0ZXM8U1JHQkE+KHIs
IGcsIGIsIGEpOwogfQogCi1jb25zdGV4cHIgQ29sb3JCdWlsZGVyPFNSR0JBPHVpbnQ4X3Q+PiBt
YWtlU2ltcGxlQ29sb3IoU1JHQkE8dWludDhfdD4gc1JHQkEpCi17Ci0gICAgcmV0dXJuIHNSR0JB
OwotfQotCi1pbmxpbmUgQ29sb3JCdWlsZGVyPFNSR0JBPHVpbnQ4X3Q+PiBtYWtlU2ltcGxlQ29s
b3IoY29uc3QgU1JHQkE8ZmxvYXQ+JiBzUkdCQSkKLXsKLSAgICByZXR1cm4gY29udmVydFRvQ29t
cG9uZW50Qnl0ZXMoc1JHQkEpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vSW5iYW5kVGV4dFRy
YWNrUHJpdmF0ZUFWRi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuY3BwCShyZXZp
c2lvbiAyNjQyODkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgw
LDcgKzgwLDcgQEAgc3RhdGljIE9wdGlvbmFsPFNSR0JBPHVpbnQ4X3Q+PiBtYWtlU2ltcAogICAg
ICAgICBjb21wb25lbnRBcnJheVtpXSA9IGNvbXBvbmVudDsKICAgICB9CiAKLSAgICByZXR1cm4g
bWFrZVNpbXBsZUNvbG9yKFNSR0JBIHsgY29tcG9uZW50QXJyYXlbMV0sIGNvbXBvbmVudEFycmF5
WzJdLCBjb21wb25lbnRBcnJheVszXSwgY29tcG9uZW50QXJyYXlbMF0gfSk7CisgICAgcmV0dXJu
IGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKFNSR0JBIHsgY29tcG9uZW50QXJyYXlbMV0sIGNvbXBv
bmVudEFycmF5WzJdLCBjb21wb25lbnRBcnJheVszXSwgY29tcG9uZW50QXJyYXlbMF0gfSk7CiB9
CiAKIFJlZjxJbmJhbmRHZW5lcmljQ3VlPiBJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGOjpwcm9j
ZXNzQ3VlQXR0cmlidXRlcyhDRkF0dHJpYnV0ZWRTdHJpbmdSZWYgYXR0cmlidXRlZFN0cmluZykK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL05hdGl2ZUltYWdl
Q2Fpcm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL05hdGl2ZUltYWdlQ2Fpcm8uY3BwCShyZXZpc2lvbiAyNjQyODkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9OYXRpdmVJbWFnZUNhaXJvLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTQsNyArNTQsNyBAQCBDb2xvciBuYXRpdmVJbWFnZVNpbmdsZVBpeGVs
U29saWRDb2xvcihjCiAgICAgICAgIHJldHVybiBDb2xvcigpOwogCiAgICAgdW5zaWduZWQqIHBp
eGVsID0gcmVpbnRlcnByZXRfY2FzdF9wdHI8dW5zaWduZWQqPihjYWlyb19pbWFnZV9zdXJmYWNl
X2dldF9kYXRhKGltYWdlLmdldCgpKSk7Ci0gICAgcmV0dXJuIG1ha2VTaW1wbGVDb2xvcih1bnBy
ZW11bHRpcGxpZWQoYXNTUkdCQShQYWNrZWQ6OkFSR0IgeyAqcGl4ZWwgfSkpKTsKKyAgICByZXR1
cm4gdW5wcmVtdWx0aXBsaWVkKGFzU1JHQkEoUGFja2VkOjpBUkdCIHsgKnBpeGVsIH0pKTsKIH0K
IAogdm9pZCBkcmF3TmF0aXZlSW1hZ2UoY29uc3QgTmF0aXZlSW1hZ2VQdHImIGltYWdlLCBHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZs
b2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgSW50U2l6ZSYgaW1hZ2VTaXplLCBjb25zdCBJbWFnZVBh
aW50aW5nT3B0aW9ucyYgb3B0aW9ucykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVyYXRpb25zLmNwcAko
cmV2aXNpb24gMjY0Mjg5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GaWx0ZXJPcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE3LDcgKzExNyw3
IEBAIGJvb2wgRmlsdGVyT3BlcmF0aW9uczo6dHJhbnNmb3JtQ29sb3IoQ28KICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBjb2xvciA9IG1ha2VTaW1wbGVDb2xvcihzUkdC
QUNvbG9yKTsKKyAgICBjb2xvciA9IGNvbnZlcnRUb0NvbXBvbmVudEJ5dGVzKHNSR0JBQ29sb3Ip
OwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0xMzYsNyArMTM2LDcgQEAgYm9vbCBGaWx0ZXJP
cGVyYXRpb25zOjppbnZlcnNlVHJhbnNmb3JtQwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIH0KIAotICAgIGNvbG9yID0gbWFrZVNpbXBsZUNvbG9yKHNSR0JBQ29sb3IpOworICAgIGNv
bG9yID0gY29udmVydFRvQ29tcG9uZW50Qnl0ZXMoc1JHQkFDb2xvcik7CiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db2xv
ck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvQ29sb3JNYWMubW0JKHJldmlzaW9uIDI2NDI4OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9Db2xvck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjIsMTEgKzYy
LDEyIEBAIGJvb2wgdXNlc1Rlc3RNb2RlRm9jdXNSaW5nQ29sb3IoKQogICAgIHJldHVybiB1c2VP
bGRBcXVhRm9jdXNSaW5nQ29sb3I7CiB9CiAKLXN0YXRpYyBTUkdCQTx1aW50OF90PiBtYWtlU2lt
cGxlQ29sb3JGcm9tTlNDb2xvcihOU0NvbG9yICpjb2xvcikKK3N0YXRpYyBPcHRpb25hbDxTUkdC
QTx1aW50OF90Pj4gbWFrZVNpbXBsZUNvbG9yRnJvbU5TQ29sb3IoTlNDb2xvciAqY29sb3IpCiB7
CiAgICAgLy8gRklYTUU6IEV4dGVuZGVkQ29sb3IgLSBuZWVkcyB0byBoYW5kbGUgY29sb3Igc3Bh
Y2VzLgogCi0gICAgQVNTRVJUX0FSRyhjb2xvciwgY29sb3IpOworICAgIGlmICghY29sb3IpCisg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICBDR0Zsb2F0IHJlZENvbXBvbmVudDsK
ICAgICBDR0Zsb2F0IGdyZWVuQ29tcG9uZW50OwpAQCAtOTcsMjYgKzk4LDE2IEBAIHN0YXRpYyBT
UkdCQTx1aW50OF90PiBtYWtlU2ltcGxlQ29sb3JGcm8KICAgICBbcmdiQ29sb3IgZ2V0UmVkOiZy
ZWRDb21wb25lbnQgZ3JlZW46JmdyZWVuQ29tcG9uZW50IGJsdWU6JmJsdWVDb21wb25lbnQgYWxw
aGE6JmFscGhhXTsKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TCiAKLSAgICByZXR1cm4g
bWFrZVNpbXBsZUNvbG9yKFNSR0JBIHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHJlZENvbXBvbmVudCks
IHN0YXRpY19jYXN0PGZsb2F0PihncmVlbkNvbXBvbmVudCksIHN0YXRpY19jYXN0PGZsb2F0Pihi
bHVlQ29tcG9uZW50KSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGFscGhhKSB9KTsKKyAgICByZXR1cm4g
Y29udmVydFRvQ29tcG9uZW50Qnl0ZXMoU1JHQkEgeyBzdGF0aWNfY2FzdDxmbG9hdD4ocmVkQ29t
cG9uZW50KSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdyZWVuQ29tcG9uZW50KSwgc3RhdGljX2Nhc3Q8
ZmxvYXQ+KGJsdWVDb21wb25lbnQpLCBzdGF0aWNfY2FzdDxmbG9hdD4oYWxwaGEpIH0pOwogfQog
CiBDb2xvciBjb2xvckZyb21OU0NvbG9yKE5TQ29sb3IgKmNvbG9yKQogewotICAgIGlmICghY29s
b3IpCi0gICAgICAgIHJldHVybiB7IH07Ci0KLSAgICAvLyBGSVhNRTogRXh0ZW5kZWRDb2xvciAt
IG5lZWRzIHRvIGhhbmRsZSBjb2xvciBzcGFjZXMuCi0KICAgICByZXR1cm4gbWFrZVNpbXBsZUNv
bG9yRnJvbU5TQ29sb3IoY29sb3IpOwogfQogCiBDb2xvciBzZW1hbnRpY0NvbG9yRnJvbU5TQ29s
b3IoTlNDb2xvciAqY29sb3IpCiB7Ci0gICAgaWYgKCFjb2xvcikKLSAgICAgICAgcmV0dXJuIHsg
fTsKLQotICAgIC8vIEZJWE1FOiBFeHRlbmRlZENvbG9yIC0gbmVlZHMgdG8gaGFuZGxlIGNvbG9y
IHNwYWNlcy4KLQogICAgIHJldHVybiBDb2xvcihtYWtlU2ltcGxlQ29sb3JGcm9tTlNDb2xvcihj
b2xvciksIENvbG9yOjpTZW1hbnRpYyk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9QbGF0Zm9ybUNvbnRleHREaXJlY3QyRC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1BsYXRmb3JtQ29udGV4dERp
cmVjdDJELmNwcAkocmV2aXNpb24gMjY0Mjg5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1BsYXRmb3JtQ29udGV4dERpcmVjdDJELmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTMyLDcgKzEzMiw3IEBAIHZvaWQgUGxhdGZvcm1Db250ZXh0RGlyZWN0MkQ6OnNldEFjdGl2
ZUwKIAogQ09NUHRyPElEMkQxU29saWRDb2xvckJydXNoPiBQbGF0Zm9ybUNvbnRleHREaXJlY3Qy
RDo6YnJ1c2hXaXRoQ29sb3IoY29uc3QgRDJEMV9DT0xPUl9GJiBjb2xvcikKIHsKLSAgICBhdXRv
IGNvbG9yS2V5ID0gbWFrZVNpbXBsZUNvbG9yKFNSR0JBIHsgY29sb3IuciwgY29sb3IuZywgY29s
b3IuYiwgY29sb3IuYSB9KTsKKyAgICBhdXRvIGNvbG9yS2V5ID0gY29udmVydFRvQ29tcG9uZW50
Qnl0ZXMoU1JHQkEgeyBjb2xvci5yLCBjb2xvci5nLCBjb2xvci5iLCBjb2xvci5hIH0pOwogCiAg
ICAgaWYgKCFjb2xvcktleSkgewogICAgICAgICBpZiAoIW1femVyb0JydXNoKQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0NvbG9ySU9TLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9Db2xvcklPUy5tbQkocmV2aXNpb24gMjY0Mjg5KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0NvbG9ySU9TLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC00Nyw3ICs0Nyw3IEBAIENvbG9yIGNvbG9yRnJvbVVJQ29sb3IoVUlDb2xvciAqY29sb3IpCiAK
ICAgICBbY29sb3IgZ2V0UmVkOiZyZWRDb21wb25lbnQgZ3JlZW46JmdyZWVuQ29tcG9uZW50IGJs
dWU6JmJsdWVDb21wb25lbnQgYWxwaGE6JmFscGhhXTsKIAotICAgIHJldHVybiBtYWtlU2ltcGxl
Q29sb3IoU1JHQkEgeyBzdGF0aWNfY2FzdDxmbG9hdD4ocmVkQ29tcG9uZW50KSwgc3RhdGljX2Nh
c3Q8ZmxvYXQ+KGdyZWVuQ29tcG9uZW50KSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGJsdWVDb21wb25l
bnQpLCBzdGF0aWNfY2FzdDxmbG9hdD4oYWxwaGEpIH0pOworICAgIHJldHVybiBjb252ZXJ0VG9D
b21wb25lbnRCeXRlcyhTUkdCQSB7IHN0YXRpY19jYXN0PGZsb2F0PihyZWRDb21wb25lbnQpLCBz
dGF0aWNfY2FzdDxmbG9hdD4oZ3JlZW5Db21wb25lbnQpLCBzdGF0aWNfY2FzdDxmbG9hdD4oYmx1
ZUNvbXBvbmVudCksIHN0YXRpY19jYXN0PGZsb2F0PihhbHBoYSkgfSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjQyODkpCisrKyBTb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA3
LTEyICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBSZXBsYWNlIHNp
bmdsZSBhcmd1bWVudCBtYWtlU2ltcGxlQ29sb3IgdXNlcyB3aXRoIHRoZWlyIGltcGxlbWVudGF0
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQy
NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvd3BlL1dlYktpdENvbG9yLmNwcDoKKyAgICAgICAgKHdlYmtpdENvbG9yVG9X
ZWJDb3JlQ29sb3IpOgorICAgICAgICBSZXBsYWNlIG1ha2VTaW1wbGVDb2xvciB3aXRoIGNvbnZl
cnRUb0NvbXBvbmVudEJ5dGVzLgorCiAyMDIwLTA3LTEyICBTYWlkIEFib3UtSGFsbGF3YSAgPHNh
Ym91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXTogQSBIRUlGIGltYWdlLCBz
ZWxlY3RlZCBmcm9tIHRoZSBPcGVuUGFuZWwsIHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4gYWNj
ZXB0ZWQgTUlNRSB0eXBlCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dl
YktpdENvbG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
d3BlL1dlYktpdENvbG9yLmNwcAkocmV2aXNpb24gMjY0Mjg5KQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRDb2xvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc1LDcg
Kzc1LDcgQEAgR19ERUZJTkVfQk9YRURfVFlQRShXZWJLaXRDb2xvciwgd2Via2l0XwogCiBjb25z
dCBXZWJDb3JlOjpDb2xvciB3ZWJraXRDb2xvclRvV2ViQ29yZUNvbG9yKFdlYktpdENvbG9yKiBj
b2xvcikKIHsKLSAgICByZXR1cm4gV2ViQ29yZTo6bWFrZVNpbXBsZUNvbG9yKFdlYkNvcmU6OlNS
R0JBIHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbG9yLT5yZWQpLCBzdGF0aWNfY2FzdDxmbG9hdD4o
Y29sb3ItPmdyZWVuKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbG9yLT5ibHVlKSwgc3RhdGljX2Nh
c3Q8ZmxvYXQ+KGNvbG9yLT5hbHBoYSkgfSk7CisgICAgcmV0dXJuIFdlYkNvcmU6OmNvbnZlcnRU
b0NvbXBvbmVudEJ5dGVzKFdlYkNvcmU6OlNSR0JBIHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbG9y
LT5yZWQpLCBzdGF0aWNfY2FzdDxmbG9hdD4oY29sb3ItPmdyZWVuKSwgc3RhdGljX2Nhc3Q8Zmxv
YXQ+KGNvbG9yLT5ibHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbG9yLT5hbHBoYSkgfSk7CiB9
CiAKIHZvaWQgd2Via2l0Q29sb3JGaWxsRnJvbVdlYkNvcmVDb2xvcihjb25zdCBXZWJDb3JlOjpD
b2xvciYgd2ViQ29yZUNvbG9yLCBXZWJLaXRDb2xvciogY29sb3IpCkluZGV4OiBUb29scy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjQyODkpCisr
KyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0w
Ny0xMiAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVwbGFjZSBz
aW5nbGUgYXJndW1lbnQgbWFrZVNpbXBsZUNvbG9yIHVzZXMgd2l0aCB0aGVpciBpbXBsZW1lbnRh
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0
MjQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29sb3JUZXN0cy5jcHA6CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgUmVwbGFjZSBtYWtlU2ltcGxlQ29sb3Igd2l0aCBj
b252ZXJ0VG9Db21wb25lbnRCeXRlcy4KKwogMjAyMC0wNy0xMiAgU2FpZCBBYm91LUhhbGxhd2Eg
IDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU106IEEgSEVJRiBpbWFn
ZSwgc2VsZWN0ZWQgZnJvbSB0aGUgT3BlblBhbmVsLCBzaG91bGQgYmUgY29udmVydGVkIHRvIGFu
IGFjY2VwdGVkIE1JTUUgdHlwZQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJD
b3JlL0NvbG9yVGVzdHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViQ29yZS9Db2xvclRlc3RzLmNwcAkocmV2aXNpb24gMjY0Mjg5KQorKysgVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbG9yVGVzdHMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00Niw3ICs0Niw3IEBAIFRFU1QoQ29sb3IsIFJHQlRvSFNMX1doaXRlKQogICAgIAogICAgIEVY
UEVDVF9GTE9BVF9FUShjb2xvci5saWdodG5lc3MoKSwgaHNsYUNvbG9yLmxpZ2h0bmVzcyk7CiAg
ICAgCi0gICAgYXV0byByb3VuZFRyaXBwZWRDb2xvciA9IG1ha2VTaW1wbGVDb2xvcih0b1NSR0JB
KGhzbGFDb2xvcikpOworICAgIGF1dG8gcm91bmRUcmlwcGVkQ29sb3IgPSBjb252ZXJ0VG9Db21w
b25lbnRCeXRlcyh0b1NSR0JBKGhzbGFDb2xvcikpOwogICAgIEVYUEVDVF9FUShjb2xvciwgcm91
bmRUcmlwcGVkQ29sb3IpOwogfQogCkBAIC02Miw3ICs2Miw3IEBAIFRFU1QoQ29sb3IsIFJHQlRv
SFNMX0JsYWNrKQogCiAgICAgRVhQRUNUX0ZMT0FUX0VRKGNvbG9yLmxpZ2h0bmVzcygpLCBoc2xh
Q29sb3IubGlnaHRuZXNzKTsKIAotICAgIGF1dG8gcm91bmRUcmlwcGVkQ29sb3IgPSBtYWtlU2lt
cGxlQ29sb3IodG9TUkdCQShoc2xhQ29sb3IpKTsKKyAgICBhdXRvIHJvdW5kVHJpcHBlZENvbG9y
ID0gY29udmVydFRvQ29tcG9uZW50Qnl0ZXModG9TUkdCQShoc2xhQ29sb3IpKTsKICAgICBFWFBF
Q1RfRVEoY29sb3IsIHJvdW5kVHJpcHBlZENvbG9yKTsKIH0KIApAQCAtNzgsNyArNzgsNyBAQCBU
RVNUKENvbG9yLCBSR0JUb0hTTF9SZWQpCiAKICAgICBFWFBFQ1RfRkxPQVRfRVEoY29sb3IubGln
aHRuZXNzKCksIGhzbGFDb2xvci5saWdodG5lc3MpOwogCi0gICAgYXV0byByb3VuZFRyaXBwZWRD
b2xvciA9IG1ha2VTaW1wbGVDb2xvcih0b1NSR0JBKGhzbGFDb2xvcikpOworICAgIGF1dG8gcm91
bmRUcmlwcGVkQ29sb3IgPSBjb252ZXJ0VG9Db21wb25lbnRCeXRlcyh0b1NSR0JBKGhzbGFDb2xv
cikpOwogICAgIEVYUEVDVF9FUShjb2xvciwgcm91bmRUcmlwcGVkQ29sb3IpOwogfQogCkBAIC05
NCw3ICs5NCw3IEBAIFRFU1QoQ29sb3IsIFJHQlRvSFNMX0dyZWVuKQogCiAgICAgRVhQRUNUX0ZM
T0FUX0VRKGNvbG9yLmxpZ2h0bmVzcygpLCBoc2xhQ29sb3IubGlnaHRuZXNzKTsKIAotICAgIGF1
dG8gcm91bmRUcmlwcGVkQ29sb3IgPSBtYWtlU2ltcGxlQ29sb3IodG9TUkdCQShoc2xhQ29sb3Ip
KTsKKyAgICBhdXRvIHJvdW5kVHJpcHBlZENvbG9yID0gY29udmVydFRvQ29tcG9uZW50Qnl0ZXMo
dG9TUkdCQShoc2xhQ29sb3IpKTsKICAgICBFWFBFQ1RfRVEoY29sb3IsIHJvdW5kVHJpcHBlZENv
bG9yKTsKIH0KIApAQCAtMTEwLDcgKzExMCw3IEBAIFRFU1QoQ29sb3IsIFJHQlRvSFNMX0JsdWUp
CiAKICAgICBFWFBFQ1RfRkxPQVRfRVEoY29sb3IubGlnaHRuZXNzKCksIGhzbGFDb2xvci5saWdo
dG5lc3MpOwogCi0gICAgYXV0byByb3VuZFRyaXBwZWRDb2xvciA9IG1ha2VTaW1wbGVDb2xvcih0
b1NSR0JBKGhzbGFDb2xvcikpOworICAgIGF1dG8gcm91bmRUcmlwcGVkQ29sb3IgPSBjb252ZXJ0
VG9Db21wb25lbnRCeXRlcyh0b1NSR0JBKGhzbGFDb2xvcikpOwogICAgIEVYUEVDVF9FUShjb2xv
ciwgcm91bmRUcmlwcGVkQ29sb3IpOwogfQogCkBAIC0xMjYsNyArMTI2LDcgQEAgVEVTVChDb2xv
ciwgUkdCVG9IU0xfRGFya0dyYXkpCiAgICAgCiAgICAgRVhQRUNUX0ZMT0FUX0VRKGNvbG9yLmxp
Z2h0bmVzcygpLCBoc2xhQ29sb3IubGlnaHRuZXNzKTsKIAotICAgIGF1dG8gcm91bmRUcmlwcGVk
Q29sb3IgPSBtYWtlU2ltcGxlQ29sb3IodG9TUkdCQShoc2xhQ29sb3IpKTsKKyAgICBhdXRvIHJv
dW5kVHJpcHBlZENvbG9yID0gY29udmVydFRvQ29tcG9uZW50Qnl0ZXModG9TUkdCQShoc2xhQ29s
b3IpKTsKICAgICBFWFBFQ1RfRVEoY29sb3IsIHJvdW5kVHJpcHBlZENvbG9yKTsKIH0KIApAQCAt
MTQyLDcgKzE0Miw3IEBAIFRFU1QoQ29sb3IsIFJHQlRvSFNMX0dyYXkpCiAKICAgICBFWFBFQ1Rf
RkxPQVRfRVEoY29sb3IubGlnaHRuZXNzKCksIGhzbGFDb2xvci5saWdodG5lc3MpOwogCi0gICAg
YXV0byByb3VuZFRyaXBwZWRDb2xvciA9IG1ha2VTaW1wbGVDb2xvcih0b1NSR0JBKGhzbGFDb2xv
cikpOworICAgIGF1dG8gcm91bmRUcmlwcGVkQ29sb3IgPSBjb252ZXJ0VG9Db21wb25lbnRCeXRl
cyh0b1NSR0JBKGhzbGFDb2xvcikpOwogICAgIEVYUEVDVF9FUShjb2xvciwgcm91bmRUcmlwcGVk
Q29sb3IpOwogfQogCkBAIC0xNTgsNyArMTU4LDcgQEAgVEVTVChDb2xvciwgUkdCVG9IU0xfTGln
aHRHcmF5KQogCiAgICAgRVhQRUNUX0ZMT0FUX0VRKGNvbG9yLmxpZ2h0bmVzcygpLCBoc2xhQ29s
b3IubGlnaHRuZXNzKTsKIAotICAgIGF1dG8gcm91bmRUcmlwcGVkQ29sb3IgPSBtYWtlU2ltcGxl
Q29sb3IodG9TUkdCQShoc2xhQ29sb3IpKTsKKyAgICBhdXRvIHJvdW5kVHJpcHBlZENvbG9yID0g
Y29udmVydFRvQ29tcG9uZW50Qnl0ZXModG9TUkdCQShoc2xhQ29sb3IpKTsKICAgICBFWFBFQ1Rf
RVEoY29sb3IsIHJvdW5kVHJpcHBlZENvbG9yKTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>