<?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>232562</bug_id>
          
          <creation_ts>2021-11-01 05:36:17 -0700</creation_ts>
          <short_desc>Use Style::ScopeOrdinal for finding the right scope for ::part matching</short_desc>
          <delta_ts>2021-11-03 04:00:21 -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>CSS</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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1810589</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-01 05:36:17 -0700</bug_when>
    <thetext>Get rid of the awkward shadowHostInPartRuleScope state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810590</commentid>
    <comment_count>1</comment_count>
      <attachid>442969</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-01 05:45:17 -0700</bug_when>
    <thetext>Created attachment 442969
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810591</commentid>
    <comment_count>2</comment_count>
      <attachid>442970</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-01 05:47:31 -0700</bug_when>
    <thetext>Created attachment 442970
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810592</commentid>
    <comment_count>3</comment_count>
      <attachid>442971</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-01 06:01:30 -0700</bug_when>
    <thetext>Created attachment 442971
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810638</commentid>
    <comment_count>4</comment_count>
      <attachid>442981</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-01 09:15:46 -0700</bug_when>
    <thetext>Created attachment 442981
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810662</commentid>
    <comment_count>5</comment_count>
      <attachid>442986</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-01 09:53:07 -0700</bug_when>
    <thetext>Created attachment 442986
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810687</commentid>
    <comment_count>6</comment_count>
      <attachid>442992</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-01 10:46:38 -0700</bug_when>
    <thetext>Created attachment 442992
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811237</commentid>
    <comment_count>7</comment_count>
      <attachid>442992</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-02 13:18:02 -0700</bug_when>
    <thetext>Comment on attachment 442992
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        We are passing the scope ordinal to the selector checker so we can use it consistently to find

are already passing? Or new in this patch?

&gt; Source/WebCore/style/StyleScopeOrdinal.h:51
&gt; +
&gt; +

Extra blank line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811428</commentid>
    <comment_count>8</comment_count>
      <attachid>443184</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-03 03:14:42 -0700</bug_when>
    <thetext>Created attachment 443184
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811431</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-03 03:59:27 -0700</bug_when>
    <thetext>Committed r285202 (243828@main): &lt;https://commits.webkit.org/243828@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 443184.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811432</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-03 04:00:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/84968497&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442969</attachid>
            <date>2021-11-01 05:45:17 -0700</date>
            <delta_ts>2021-11-01 05:47:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232562-20211101144516.patch</filename>
            <type>text/plain</type>
            <size>17933</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjE1YmQzZDdiZmNmZTRj
MGFjZGQ5ZGY2ZjFiZjZiZjEzZTQ3ZmQzYi4uMmFlYWIwZTE1N2U1ZWIwZGQ4OGQ4MTdhMmQ1MGIy
ZTc4MTEzNDkzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIxLTExLTAxICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgU3R5bGU6OlNjb3Bl
T3JkaW5hbCBmb3IgZmluZGluZyB0aGUgcmlnaHQgc2NvcGUgZm9yIDo6cGFydCBtYXRjaGluZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTYyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgYXJlIHBh
c3NpbmcgU3R5bGU6OlNjb3BlT3JkaW5hbCB0b3QgaGUgc2VsZWN0b3IgY2hlY2tlciBzbyB3ZSBj
YW4gdXNlIGl0IGNvbnNpc3RlbnRseSB0byBmaW5kCisgICAgICAgIHRoZSByaWdodCBzY29wZS4K
KworICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
ZWxlY3Rvcjo6c2VsZWN0b3JUZXh0IGNvbnN0KToKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3Iu
aDoKKworICAgICAgICBSZW1vdmUgU2hhZG93UGFydERlc2NlbmRhbnQgcmVsYXRpb25zLCBpdCBu
byBsb25nZXIgZG9lcyBhbnl0aGluZyB1bmlxdWUgb3ZlciBTaGFkb3dEZXNjZW5kYW50LgorCisg
ICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxl
Y3RvckNoZWNrZXI6Om1hdGNoUmVjdXJzaXZlbHkgY29uc3QpOgorCisgICAgICAgIEZpbmQgdGhl
IHJpZ2h0IHNjb3BlIGJhc2VkIG9uIHRoZSBzY29wZSBvcmRpbmFsLgorCisgICAgICAgIChXZWJD
b3JlOjpjYW5NYXRjaEhvdmVyT3JBY3RpdmVJblF1aXJrc01vZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZSBjb25zdCk6CisKKyAgICAgICAgRmluZCB0aGUg
cmlnaHQgc2NvcGUgYmFzZWQgb24gdGhlIHNjb3BlIG9yZGluYWwuCisKKyAgICAgICAgKiBjc3Mv
U2VsZWN0b3JDaGVja2VyLmg6CisgICAgICAgICogY3NzL1NlbGVjdG9yRmlsdGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbGxlY3RTZWxlY3Rvckhhc2hlcyk6CisgICAgICAgICogY3NzL3Bh
cnNlci9DU1NTZWxlY3RvclBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rv
clBhcnNlcjo6c3BsaXRDb21wb3VuZEF0SW1wbGljaXRTaGFkb3dDcm9zc2luZ0NvbWJpbmF0b3Ip
OgorICAgICAgICAqIGNzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNlbGVjdG9yQ29tcGlsZXI6OmZyYWdtZW50UmVsYXRpb25Gb3JTZWxlY3RvclJlbGF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OmNvbnN0cnVjdEZyYWdtZW50
c0ludGVybmFsKToKKyAgICAgICAgKiBzdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoUGFydFBz
ZXVkb0VsZW1lbnRSdWxlc0ZvclNjb3BlKToKKworICAgICAgICBDb21wdXRlIHRoZSBzY29wZSBv
cmRpbmFsIGZvciBuZXN0ZWQgc2NvcGVzLgorICAgICAgICBNYWtlIGl0ZXJhdGl2ZSBpbnN0ZWFk
IG9mIHJlY3Vyc2l2ZS4KKworICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkVsZW1lbnRSdWxlQ29s
bGVjdG9yOjpydWxlTWF0Y2hlcyk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1
bGVDb2xsZWN0b3I6Om1hdGNoQWxsUnVsZXMpOgorICAgICAgICAqIHN0eWxlL0VsZW1lbnRSdWxl
Q29sbGVjdG9yLmg6CisgICAgICAgICogc3R5bGUvUnVsZUZlYXR1cmUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGU6OlJ1bGVGZWF0dXJlU2V0Ojpjb21wdXRlTmV4dE1hdGNoRWxlbWVudCk6
CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZU9yZGluYWwuaDoKKworICAgICAgICBXZSBub3cg
dXNlIHZhbHVlcyBsZXNzIHRoYW4gQ29udGFpbmluZ0hvc3QgdG8gcHJlc2VudCBlbmNsb3Npbmcg
c2NvcGVzLCBzaW1pbGFyIHRvIHNsb3R0ZWQgbWF0Y2hpbmcuCisKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlOjpvcGVyYXRvci0tKToKKwogMjAyMS0xMS0wMSAgRGFuaWVsIEtvbGVzYSAgPGRrb2xl
c2FAaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggYnVpbGQgd2l0aCBHQ0MgOC40IG9uIFVidW50
dSAxOC4wNApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKaW5kZXggNmNmN2RlNTg3OTFmMTdk
N2EwMTI0ZmFlMDhlZWQ1NGI5NTQ2YjE2Zi4uNDg4NmJkMDc1NzI0ZjIzYWRlNGYzYmJlNzRmZTkw
NzA4M2E1ZDdlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBAIC04MjIsNyArODIy
LDYgQEAgU3RyaW5nIENTU1NlbGVjdG9yOjpzZWxlY3RvclRleHQoY29uc3QgU3RyaW5nJiByaWdo
dFNpZGUpIGNvbnN0CiAgICAgICAgICAgICBGQUxMVEhST1VHSDsKICNlbmRpZgogICAgICAgICBj
YXNlIENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50OgotICAgICAgICBjYXNlIENTU1NlbGVj
dG9yOjpTaGFkb3dQYXJ0RGVzY2VuZGFudDoKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hh
ZG93U2xvdHRlZDoKICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHJpZ2h0U2lkZSk7CiAgICAg
ICAgICAgICByZXR1cm4gdGFnSGlzdG9yeS0+c2VsZWN0b3JUZXh0KGJ1aWxkZXIudG9TdHJpbmco
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCmluZGV4IDNkYzYxNjQwYWZiMDhiZjYxZmUzNTk1
ODk3N2IxY2M5YzNjMjEwNmYuLjM3ZGQxMzk2MTQ4YzAzNGI3OWI1N2EyZDIxOTJlMmVhODBiZWYy
NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCkBAIC04Nyw3ICs4Nyw2IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgICAgIERpcmVjdEFkamFjZW50LAogICAgICAgICAgICAgSW5k
aXJlY3RBZGphY2VudCwKICAgICAgICAgICAgIFNoYWRvd0Rlc2NlbmRhbnQsCi0gICAgICAgICAg
ICBTaGFkb3dQYXJ0RGVzY2VuZGFudCwKICAgICAgICAgICAgIFNoYWRvd1Nsb3R0ZWQKICAgICAg
ICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAppbmRleCBlZGY1ZjFi
Mjc1MTA3MDhhYzNmODg0ZTZlOWRiOWM5Mzg5ODQ0YjllLi5mNjJkNDMyMjQ2ZDE3MjBhMDg3Njcw
MzIxM2ZkMzE5OWZjNzgyODFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0
b3JDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNw
cApAQCAtMzE2LDggKzMxNiw3IEBAIFNlbGVjdG9yQ2hlY2tlcjo6TWF0Y2hSZXN1bHQgU2VsZWN0
b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5KENoZWNraW5nQ29udGV4dCYKIAogICAgICAgICBu
ZXh0Q29udGV4dC5wc2V1ZG9JZCA9IFBzZXVkb0lkOjpOb25lOwogCi0gICAgICAgIGJvb2wgbmV4
dElzUGFydCA9IGxlZnRTZWxlY3Rvci0+bWF0Y2goKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxl
bWVudCAmJiBsZWZ0U2VsZWN0b3ItPnBzZXVkb0VsZW1lbnRUeXBlKCkgPT0gQ1NTU2VsZWN0b3I6
OlBzZXVkb0VsZW1lbnRQYXJ0OwotICAgICAgICBib29sIGFsbG93TXVsdGlwbGVQc2V1ZG9FbGVt
ZW50cyA9IHJlbGF0aW9uID09IENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50ICYmIG5leHRJ
c1BhcnQ7CisgICAgICAgIGJvb2wgYWxsb3dNdWx0aXBsZVBzZXVkb0VsZW1lbnRzID0gcmVsYXRp
b24gPT0gQ1NTU2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQ7CiAgICAgICAgIC8vIFZpcnR1YWwg
cHNldWRvIGVsZW1lbnQgaXMgb25seSBlZmZlY3RpdmUgaW4gdGhlIHJpZ2h0bW9zdCBmcmFnbWVu
dC4KICAgICAgICAgaWYgKCFhbGxvd011bHRpcGxlUHNldWRvRWxlbWVudHMpCiAgICAgICAgICAg
ICBuZXh0Q29udGV4dC5wc2V1ZG9FbGVtZW50RWZmZWN0aXZlID0gZmFsc2U7CkBAIC00MDcsMTMg
KzQwNiwxNSBAQCBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoUmVzdWx0IFNlbGVjdG9yQ2hlY2tlcjo6
bWF0Y2hSZWN1cnNpdmVseShDaGVja2luZ0NvbnRleHQmCiAKICAgICAgICAgICAgIHJldHVybiBN
YXRjaFJlc3VsdDo6dXBkYXRlV2l0aE1hdGNoVHlwZShyZXN1bHQsIG1hdGNoVHlwZSk7CiAgICAg
ICAgIH0KLSAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50OgotICAgIGNhc2Ug
Q1NTU2VsZWN0b3I6OlNoYWRvd1BhcnREZXNjZW5kYW50OiB7Ci0gICAgICAgIC8vIFdoZW4gbWF0
Y2hpbmcgZm9vOjpwYXJ0KGJhcikgd2Ugc2tpcCBkaXJlY3RseSB0byB0aGUgdHJlZSBvZiBlbGVt
ZW50ICdmb28nLgotICAgICAgICBhdXRvKiBzaGFkb3dIb3N0ID0gcmVsYXRpb24gPT0gQ1NTU2Vs
ZWN0b3I6OlNoYWRvd1BhcnREZXNjZW5kYW50ID8gY2hlY2tpbmdDb250ZXh0LnNoYWRvd0hvc3RJ
blBhcnRSdWxlU2NvcGUgOiBjb250ZXh0LmVsZW1lbnQtPnNoYWRvd0hvc3QoKTsKLSAgICAgICAg
aWYgKCFzaGFkb3dIb3N0KQorICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQ6
IHsKKyAgICAgICAgYXV0byogaG9zdCA9IGNvbnRleHQuZWxlbWVudC0+c2hhZG93SG9zdCgpOwor
ICAgICAgICAvLyBXZSBjb250aW51ZSBtYXRjaGluZyBpbiB0aGUgc2NvcGUgd2hlcmUgdGhpcyBy
dWxlIGNhbWUgZnJvbS4KKyAgICAgICAgZm9yIChhdXRvIHNjb3BlRGVwdGggPSBjaGVja2luZ0Nv
bnRleHQuc3R5bGVTY29wZU9yZGluYWw7IGhvc3QgJiYgc2NvcGVEZXB0aCAhPSBTdHlsZTo6U2Nv
cGVPcmRpbmFsOjpDb250YWluaW5nSG9zdDsgKytzY29wZURlcHRoKQorICAgICAgICAgICAgaG9z
dCA9IGhvc3QtPnNoYWRvd0hvc3QoKTsKKyAgICAgICAgaWYgKCFob3N0KQogICAgICAgICAgICAg
cmV0dXJuIE1hdGNoUmVzdWx0OjpmYWlscyhNYXRjaDo6U2VsZWN0b3JGYWlsc0NvbXBsZXRlbHkp
OwotICAgICAgICBuZXh0Q29udGV4dC5lbGVtZW50ID0gc2hhZG93SG9zdDsKKworICAgICAgICBu
ZXh0Q29udGV4dC5lbGVtZW50ID0gaG9zdDsKICAgICAgICAgbmV4dENvbnRleHQuZmlyc3RTZWxl
Y3Rvck9mVGhlRnJhZ21lbnQgPSBuZXh0Q29udGV4dC5zZWxlY3RvcjsKICAgICAgICAgbmV4dENv
bnRleHQuaXNTdWJqZWN0T3JBZGphY2VudEVsZW1lbnQgPSBmYWxzZTsKICAgICAgICAgUHNldWRv
SWRTZXQgaWdub3JlRHluYW1pY1BzZXVkbzsKQEAgLTQyMywxMyArNDI0LDEwIEBAIFNlbGVjdG9y
Q2hlY2tlcjo6TWF0Y2hSZXN1bHQgU2VsZWN0b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5KENo
ZWNraW5nQ29udGV4dCYKICAgICB9CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93U2xvdHRl
ZDogewogICAgICAgICBhdXRvKiBzbG90ID0gY29udGV4dC5lbGVtZW50LT5hc3NpZ25lZFNsb3Qo
KTsKLSAgICAgICAgaWYgKCFzbG90KQotICAgICAgICAgICAgcmV0dXJuIE1hdGNoUmVzdWx0Ojpm
YWlscyhNYXRjaDo6U2VsZWN0b3JGYWlsc0NvbXBsZXRlbHkpOwogICAgICAgICAvLyBXZSBjb250
aW51ZSBtYXRjaGluZyBpbiB0aGUgc2NvcGUgd2hlcmUgdGhpcyBydWxlIGNhbWUgZnJvbS4KLSAg
ICAgICAgYXV0byBzY29wZURlcHRoID0gc3RhdGljX2Nhc3Q8aW50PihjaGVja2luZ0NvbnRleHQu
c3R5bGVTY29wZU9yZGluYWwpOwotICAgICAgICB3aGlsZSAoLS1zY29wZURlcHRoICYmIHNsb3Qt
PmFzc2lnbmVkU2xvdCgpKQorICAgICAgICBmb3IgKGF1dG8gc2NvcGVEZXB0aCA9IGNoZWNraW5n
Q29udGV4dC5zdHlsZVNjb3BlT3JkaW5hbDsgc2xvdCAmJiBzY29wZURlcHRoICE9IFN0eWxlOjpT
Y29wZU9yZGluYWw6OkZpcnN0U2xvdDsgLS1zY29wZURlcHRoKQogICAgICAgICAgICAgc2xvdCA9
IHNsb3QtPmFzc2lnbmVkU2xvdCgpOwotICAgICAgICBpZiAoc2NvcGVEZXB0aCkKKyAgICAgICAg
aWYgKCFzbG90KQogICAgICAgICAgICAgcmV0dXJuIE1hdGNoUmVzdWx0OjpmYWlscyhNYXRjaDo6
U2VsZWN0b3JGYWlsc0NvbXBsZXRlbHkpOwogCiAgICAgICAgIG5leHRDb250ZXh0LmVsZW1lbnQg
PSBzbG90OwpAQCAtNjE1LDcgKzYxMyw3IEBAIHN0YXRpYyBib29sIGNhbk1hdGNoSG92ZXJPckFj
dGl2ZUluUXVpcmtzTW9kZShjb25zdCBTZWxlY3RvckNoZWNrZXI6OkxvY2FsQ29udGV4CiAgICAg
ICAgIH0KIAogICAgICAgICBhdXRvIHJlbGF0aW9uID0gc2VsZWN0b3ItPnJlbGF0aW9uKCk7Ci0g
ICAgICAgIGlmIChyZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6U2hhZG93RGVzY2VuZGFudCB8fCBy
ZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6U2hhZG93UGFydERlc2NlbmRhbnQpCisgICAgICAgIGlm
IChyZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6U2hhZG93RGVzY2VuZGFudCkKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogCiAgICAgICAgIGlmIChyZWxhdGlvbiAhPSBDU1NTZWxlY3Rvcjo6U3Vi
c2VsZWN0b3IpCkBAIC0xMTcxLDExICsxMTY5LDEzIEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpj
aGVja09uZShDaGVja2luZ0NvbnRleHQmIGNoZWNraW5nQ29udGV4dCwgY29uc3QgTG9jYWxDb250
CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRQYXJ0OiB7CiAgICAgICAg
ICAgICBhdXRvIHRyYW5zbGF0ZVBhcnROYW1lVG9SdWxlU2NvcGUgPSBbJl0oQXRvbVN0cmluZyBw
YXJ0TmFtZSkgewogICAgICAgICAgICAgICAgIFZlY3RvcjxBdG9tU3RyaW5nLCAxPiBtYXBwZWRO
YW1lcyB7IHBhcnROYW1lIH07Ci0gICAgICAgICAgICAgICAgZm9yIChhdXRvKiBzaGFkb3dSb290
ID0gZWxlbWVudC5jb250YWluaW5nU2hhZG93Um9vdCgpOyBzaGFkb3dSb290OyBzaGFkb3dSb290
ID0gc2hhZG93Um9vdC0+aG9zdCgpLT5jb250YWluaW5nU2hhZG93Um9vdCgpKSB7CisgICAgICAg
ICAgICAgICAgLy8gTmVnYXRpdmUgZm9yIHN0eWxlIGNvbWluZyBmcm9tIGhvc3Qgc2NvcGUuCisg
ICAgICAgICAgICAgICAgYXV0byBzY29wZURlcHRoID0gY2hlY2tpbmdDb250ZXh0LnN0eWxlU2Nv
cGVPcmRpbmFsOworICAgICAgICAgICAgICAgIGZvciAoYXV0byogc2hhZG93Um9vdCA9IGVsZW1l
bnQuY29udGFpbmluZ1NoYWRvd1Jvb3QoKTsgc2hhZG93Um9vdDsgc2hhZG93Um9vdCA9IHNoYWRv
d1Jvb3QtPmhvc3QoKS0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKSwgKytzY29wZURlcHRoKSB7CiAg
ICAgICAgICAgICAgICAgICAgIC8vIEFwcGx5IG1hcHBpbmdzIHVwIHRvIHRoZSBzY29wZSB0aGUg
cnVsZXMgYXJlIGNvbWluZyBmcm9tLgotICAgICAgICAgICAgICAgICAgICBpZiAoc2hhZG93Um9v
dC0+aG9zdCgpID09IGNoZWNraW5nQ29udGV4dC5zaGFkb3dIb3N0SW5QYXJ0UnVsZVNjb3BlKQor
ICAgICAgICAgICAgICAgICAgICBpZiAoc2NvcGVEZXB0aCA9PSBTdHlsZTo6U2NvcGVPcmRpbmFs
OjpDb250YWluaW5nSG9zdCkKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgICAgICAgICBWZWN0b3I8QXRvbVN0cmluZywg
MT4gbmV3TWFwcGVkTmFtZXM7CiAgICAgICAgICAgICAgICAgICAgIGZvciAoYXV0byYgbmFtZSA6
IG1hcHBlZE5hbWVzKQogICAgICAgICAgICAgICAgICAgICAgICAgbmV3TWFwcGVkTmFtZXMuYXBw
ZW5kVmVjdG9yKHNoYWRvd1Jvb3QtPnBhcnRNYXBwaW5ncygpLmdldChuYW1lKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgKaW5kZXggM2NjMDdhYWZlMTQxNjhjMTQ0ZThhOWQ1OGNi
ZjI3YmY5ZTM2MWMwNi4uNTc4MzYyMmMwYzYwZTE2NWUzNjNjYzBiNDI3MmE2NmRiYTdlMjMzMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuaApAQCAtOTUsNyArOTUsNiBAQCBwdWJs
aWM6CiAgICAgICAgIEF0b21TdHJpbmcgbmFtZUZvckhpZ2h0bGlnaHRQc2V1ZG9FbGVtZW50Owog
ICAgICAgICBjb25zdCBDb250YWluZXJOb2RlKiBzY29wZSB7IG51bGxwdHIgfTsKICAgICAgICAg
Ym9vbCBpc01hdGNoaW5nSG9zdFBzZXVkb0NsYXNzIHsgZmFsc2UgfTsKLSAgICAgICAgY29uc3Qg
RWxlbWVudCogc2hhZG93SG9zdEluUGFydFJ1bGVTY29wZSB7IG51bGxwdHIgfTsKICAgICAgICAg
U3R5bGU6OlNjb3BlT3JkaW5hbCBzdHlsZVNjb3BlT3JkaW5hbCB7IFN0eWxlOjpTY29wZU9yZGlu
YWw6OkVsZW1lbnQgfTsKIAogICAgICAgICAvLyBGSVhNRTogSXQgd291bGQgYmUgbmljZXIgdG8g
aGF2ZSBhIHNlcGFyYXRlIG9iamVjdCBmb3IgcmV0dXJuIHZhbHVlcy4gVGhpcyByZXF1aXJlcyBz
b21lIG1vcmUgd29yayBpbiB0aGUgc2VsZWN0b3IgY29tcGlsZXIuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JGaWx0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1Nl
bGVjdG9yRmlsdGVyLmNwcAppbmRleCA2YjkzZDI0NmNiNmI5NWFjMDExZTA3OWI4MWFmMjdkODc4
ZDZlMWZhLi44OTVlOWZjNWEyYTZlOTA0OWNiNWJjMTMxYTBlMWJmNDg4YWFiOTcwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JGaWx0ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TZWxlY3RvckZpbHRlci5jcHAKQEAgLTE5NCw3ICsxOTQsNiBAQCBzdGF0aWMg
Q29sbGVjdGVkU2VsZWN0b3JIYXNoZXMgY29sbGVjdFNlbGVjdG9ySGFzaGVzKGNvbnN0IENTU1Nl
bGVjdG9yJiByaWdodG1vcwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpEaXJlY3RBZGphY2Vu
dDoKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6SW5kaXJlY3RBZGphY2VudDoKICAgICAgICAg
Y2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93RGVzY2VuZGFudDoKLSAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6U2hhZG93UGFydERlc2NlbmRhbnQ6CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNo
YWRvd1Nsb3R0ZWQ6CiAgICAgICAgICAgICBza2lwT3ZlclN1YnNlbGVjdG9ycyA9IHRydWU7CiAg
ICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTU2VsZWN0b3JQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxl
Y3RvclBhcnNlci5jcHAKaW5kZXggNWJhMTMxYjU4ODU5OGY1YTI3YmEzOGFhNjRhMDczNDk0MTFh
YzlhYS4uMmMyMDAzMjEwMzY3NzcwYmM4YmM4ZDg5MDRlMTVlMjY0YTk0MDVhOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5jcHAKQEAgLTEwOTMs
OCArMTA5Myw2IEBAIHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0
b3JQYXJzZXI6OnNwbGl0Q29tcG91bmRBdEltcGxpY2l0U2hhCiAgICAgYXV0byByZWxhdGlvbiA9
IFsmXSB7CiAgICAgICAgIGlmIChpc1Nsb3R0ZWQpCiAgICAgICAgICAgICByZXR1cm4gQ1NTU2Vs
ZWN0b3I6OlNoYWRvd1Nsb3R0ZWQ7Ci0gICAgICAgIGlmIChpc1BhcnQpCi0gICAgICAgICAgICBy
ZXR1cm4gQ1NTU2VsZWN0b3I6OlNoYWRvd1BhcnREZXNjZW5kYW50OwogICAgICAgICByZXR1cm4g
Q1NTU2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQ7CiAgICAgfSgpOwogICAgIHNlY29uZENvbXBv
dW5kLT5hcHBlbmRUYWdIaXN0b3J5KHJlbGF0aW9uLCBXVEZNb3ZlKGNvbXBvdW5kU2VsZWN0b3Ip
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcAppbmRleCBmZTQx
MTg4Njc0MDRlYTI5NzgyMzc5MmY5ZWQyMzk5NTY5Y2MxMDZiLi44NWM4ODA4Y2UwYTI2MDBhODgw
NDk5Yjg5OWFjNTk4Y2E1NDA1NDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQv
U2VsZWN0b3JDb21waWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9y
Q29tcGlsZXIuY3BwCkBAIC01MDAsNyArNTAwLDYgQEAgc3RhdGljIGlubGluZSBGcmFnbWVudFJl
bGF0aW9uIGZyYWdtZW50UmVsYXRpb25Gb3JTZWxlY3RvclJlbGF0aW9uKENTU1NlbGVjdG9yOjoK
ICAgICAgICAgcmV0dXJuIEZyYWdtZW50UmVsYXRpb246OkluZGlyZWN0QWRqYWNlbnQ7CiAgICAg
Y2FzZSBDU1NTZWxlY3Rvcjo6U3Vic2VsZWN0b3I6CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hh
ZG93RGVzY2VuZGFudDoKLSAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dQYXJ0RGVzY2VuZGFu
dDoKICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dTbG90dGVkOgogICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICB9CkBAIC0xMjg3LDcgKzEyODYsNyBAQCBzdGF0aWMgRnVuY3Rp
b25UeXBlIGNvbnN0cnVjdEZyYWdtZW50c0ludGVybmFsKGNvbnN0IENTU1NlbGVjdG9yKiByb290
U2VsZWN0b3IsCiAgICAgICAgIGlmIChyZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6U3Vic2VsZWN0
b3IpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBpZiAoKHJlbGF0aW9uID09IENT
U1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50IHx8IHJlbGF0aW9uID09IENTU1NlbGVjdG9yOjpT
aGFkb3dQYXJ0RGVzY2VuZGFudCkgJiYgIXNlbGVjdG9yLT5pc0xhc3RJblRhZ0hpc3RvcnkoKSkK
KyAgICAgICAgaWYgKHJlbGF0aW9uID09IENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50ICYm
ICFzZWxlY3Rvci0+aXNMYXN0SW5UYWdIaXN0b3J5KCkpCiAgICAgICAgICAgICByZXR1cm4gRnVu
Y3Rpb25UeXBlOjpDYW5ub3RDb21waWxlOwogCiAgICAgICAgIGlmIChyZWxhdGlvbiA9PSBDU1NT
ZWxlY3Rvcjo6U2hhZG93U2xvdHRlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRS
dWxlQ29sbGVjdG9yLmNwcAppbmRleCA1ZjIxOThkMmYwY2ZiMzkxMzQwYzEzZTNjZTBhZDg3MDE0
OWI0NjFlLi44ZmUxYjc5MDgzNDBiYzkxNzRkM2U2Y2E3ZDZiYTlmNjNlMjY0ZWVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCkBAIC0zMDUsMjEg
KzMwNSwyMyBAQCB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaFBhcnRQc2V1ZG9FbGVt
ZW50UnVsZXMoKQogCiB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaFBhcnRQc2V1ZG9F
bGVtZW50UnVsZXNGb3JTY29wZShjb25zdCBTaGFkb3dSb290JiBzY29wZVNoYWRvd1Jvb3QpCiB7
Ci0gICAgYXV0byYgc2hhZG93SG9zdCA9ICpzY29wZVNoYWRvd1Jvb3QuaG9zdCgpOwotICAgIHsK
LSAgICAgICAgU2V0Rm9yU2NvcGU8UmVmUHRyPGNvbnN0IEVsZW1lbnQ+PiBwYXJ0TWF0Y2hpbmdT
Y29wZShtX3NoYWRvd0hvc3RJblBhcnRSdWxlU2NvcGUsICZzaGFkb3dIb3N0KTsKKyAgICBhdXRv
KiBob3N0ID0gc2NvcGVTaGFkb3dSb290Lmhvc3QoKTsKKyAgICBhdXRvIHN0eWxlU2NvcGVPcmRp
bmFsID0gU2NvcGVPcmRpbmFsOjpDb250YWluaW5nSG9zdDsKIAotICAgICAgICBhdXRvJiBob3N0
QXV0aG9yUnVsZXMgPSBTY29wZTo6Zm9yTm9kZShzaGFkb3dIb3N0KS5yZXNvbHZlcigpLnJ1bGVT
ZXRzKCkuYXV0aG9yU3R5bGUoKTsKLSAgICAgICAgTWF0Y2hSZXF1ZXN0IGhvc3RBdXRob3JSZXF1
ZXN0IHsgJmhvc3RBdXRob3JSdWxlcywgU2NvcGVPcmRpbmFsOjpDb250YWluaW5nSG9zdCB9Owot
ICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QoJmhvc3RBdXRob3JSdWxlcy5wYXJ0
UHNldWRvRWxlbWVudFJ1bGVzKCksIGhvc3RBdXRob3JSZXF1ZXN0KTsKLSAgICB9CisgICAgZm9y
ICg7IGhvc3Q7IGhvc3QgPSBob3N0LT5zaGFkb3dIb3N0KCksIC0tc3R5bGVTY29wZU9yZGluYWwp
IHsKKyAgICAgICAgYXV0byYgc3R5bGVTY29wZSA9IFNjb3BlOjpmb3JOb2RlKCpob3N0KTsKKyAg
ICAgICAgaWYgKCFzdHlsZVNjb3BlLnJlc29sdmVyKCkucnVsZVNldHMoKS5pc0F1dGhvclN0eWxl
RGVmaW5lZCgpKQorICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAvLyBFbGVtZW50IG1heSBi
ZSBleHBvc2VkIHRvIHN0eWxpbmcgZnJvbSBlbmNsb3Npbmcgc2NvcGVzIHZpYSBleHBvcnRwYXJ0
cyBhdHRyaWJ1dGVzLgotICAgIGlmIChzY29wZVNoYWRvd1Jvb3QucGFydE1hcHBpbmdzKCkuaXNF
bXB0eSgpKQotICAgICAgICByZXR1cm47CisgICAgICAgIGF1dG8mIGhvc3RBdXRob3JSdWxlcyA9
IHN0eWxlU2NvcGUucmVzb2x2ZXIoKS5ydWxlU2V0cygpLmF1dGhvclN0eWxlKCk7CisKKyAgICAg
ICAgTWF0Y2hSZXF1ZXN0IHNjb3BlTWF0Y2hSZXF1ZXN0KCZob3N0QXV0aG9yUnVsZXMsIHN0eWxl
U2NvcGVPcmRpbmFsKTsKKyAgICAgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KCZob3N0
QXV0aG9yUnVsZXMucGFydFBzZXVkb0VsZW1lbnRSdWxlcygpLCBzY29wZU1hdGNoUmVxdWVzdCk7
CiAKLSAgICBpZiAoYXV0byogcGFyZW50U2NvcGVTaGFkb3dSb290ID0gc2hhZG93SG9zdC5jb250
YWluaW5nU2hhZG93Um9vdCgpKQotICAgICAgICBtYXRjaFBhcnRQc2V1ZG9FbGVtZW50UnVsZXNG
b3JTY29wZSgqcGFyZW50U2NvcGVTaGFkb3dSb290KTsKKyAgICAgICAgLy8gRWxlbWVudCBtYXkg
b25seSBiZSBleHBvc2VkIHRvIHN0eWxpbmcgZnJvbSBlbmNsb3Npbmcgc2NvcGVzIHZpYSBleHBv
cnRwYXJ0cyBhdHRyaWJ1dGVzLgorICAgICAgICBpZiAoaG9zdC0+c2hhZG93Um9vdCgpLT5wYXJ0
TWFwcGluZ3MoKS5pc0VtcHR5KCkpCisgICAgICAgICAgICBicmVhazsKKyAgICB9CiB9CiAKIHZv
aWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OmNvbGxlY3RNYXRjaGluZ1NoYWRvd1BzZXVkb0VsZW1l
bnRSdWxlcyhjb25zdCBNYXRjaFJlcXVlc3QmIG1hdGNoUmVxdWVzdCkKQEAgLTQzMCw3ICs0MzIs
NiBAQCBpbmxpbmUgYm9vbCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6cnVsZU1hdGNoZXMoY29uc3Qg
UnVsZURhdGEmIHJ1bGVEYXRhLCB1bnNpZ25lZAogICAgIGNvbnRleHQuc2Nyb2xsYmFyU3RhdGUg
PSBtX3BzZXVkb0VsZW1lbnRSZXF1ZXN0LnNjcm9sbGJhclN0YXRlOwogICAgIGNvbnRleHQubmFt
ZUZvckhpZ2h0bGlnaHRQc2V1ZG9FbGVtZW50ID0gbV9wc2V1ZG9FbGVtZW50UmVxdWVzdC5oaWdo
bGlnaHROYW1lOwogICAgIGNvbnRleHQuaXNNYXRjaGluZ0hvc3RQc2V1ZG9DbGFzcyA9IG1faXNN
YXRjaGluZ0hvc3RQc2V1ZG9DbGFzczsKLSAgICBjb250ZXh0LnNoYWRvd0hvc3RJblBhcnRSdWxl
U2NvcGUgPSBtX3NoYWRvd0hvc3RJblBhcnRSdWxlU2NvcGUuZ2V0KCk7CiAgICAgY29udGV4dC5z
dHlsZVNjb3BlT3JkaW5hbCA9IHN0eWxlU2NvcGVPcmRpbmFsOwogCiAgICAgYm9vbCBzZWxlY3Rv
ck1hdGNoZXM7CkBAIC01NDgsOCArNTQ5LDggQEAgdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6
bWF0Y2hBbGxSdWxlcyhib29sIG1hdGNoQXV0aG9yQW5kVXNlclN0eWxlcywgYm9vbCBpbmMKICAg
ICAgICAgLy8gSW5saW5lIHN0eWxlIGJlaGF2ZXMgYXMgaWYgaXQgaGFzIGhpZ2hlciBzcGVjaWZp
Y2l0eSB0aGFuIGFueSBydWxlLgogICAgICAgICBhZGRFbGVtZW50SW5saW5lU3R5bGVQcm9wZXJ0
aWVzKGluY2x1ZGVTTUlMUHJvcGVydGllcyk7CiAKLSAgICAgICAgLy8gUnVsZXMgZnJvbSB0aGUg
aG9zdCBzY29wZSBvdmVycmlkZSBpbmxpbmUgc3R5bGUuCi0gICAgICAgIHRyYW5zZmVyTWF0Y2hl
ZFJ1bGVzKERlY2xhcmF0aW9uT3JpZ2luOjpBdXRob3IsIFNjb3BlT3JkaW5hbDo6Q29udGFpbmlu
Z0hvc3QpOworICAgICAgICAvLyBSdWxlcyBmcm9tIHRoZSBob3N0IHNjb3BlcyBvdmVycmlkZSBp
bmxpbmUgc3R5bGUuCisgICAgICAgIHRyYW5zZmVyTWF0Y2hlZFJ1bGVzKERlY2xhcmF0aW9uT3Jp
Z2luOjpBdXRob3IpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRS
dWxlQ29sbGVjdG9yLmgKaW5kZXggY2QzNTI1NDQ0OTIwZmE3MmQwMzBhMjlkNTdiMDllZWZhYmMx
N2VmNC4uZDA3MzM4NDdiNGQ0ZWUxMzZmMWNiZmI2YmM5YTBjMTU4MDYzNGEwZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCkBAIC0xNjMsNyArMTYzLDYg
QEAgcHJpdmF0ZToKICAgICBQc2V1ZG9FbGVtZW50UmVxdWVzdCBtX3BzZXVkb0VsZW1lbnRSZXF1
ZXN0IHsgUHNldWRvSWQ6Ok5vbmUgfTsKICAgICBTZWxlY3RvckNoZWNrZXI6Ok1vZGUgbV9tb2Rl
IHsgU2VsZWN0b3JDaGVja2VyOjpNb2RlOjpSZXNvbHZpbmdTdHlsZSB9OwogICAgIGJvb2wgbV9p
c01hdGNoaW5nSG9zdFBzZXVkb0NsYXNzIHsgZmFsc2UgfTsKLSAgICBSZWZQdHI8Y29uc3QgRWxl
bWVudD4gbV9zaGFkb3dIb3N0SW5QYXJ0UnVsZVNjb3BlOwogCiAgICAgVmVjdG9yPE1hdGNoZWRS
dWxlLCA2ND4gbV9tYXRjaGVkUnVsZXM7CiAgICAgc2l6ZV90IG1fbWF0Y2hlZFJ1bGVUcmFuc2Zl
ckluZGV4IHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZUZlYXR1
cmUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZUZlYXR1cmUuY3BwCmluZGV4IGJlMzNl
ZjIzZTQ1NmNjZDY2ZWZkMDU5YmNlMDIzYzUxYThhMDAyM2MuLmQzNzAyNzA2YjFlN2VmYzFkOWU0
NGQ1OGY0YmE5YWU0YmI4YWM2NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1
bGVGZWF0dXJlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlRmVhdHVyZS5jcHAK
QEAgLTg0LDcgKzg0LDYgQEAgTWF0Y2hFbGVtZW50IFJ1bGVGZWF0dXJlU2V0Ojpjb21wdXRlTmV4
dE1hdGNoRWxlbWVudChNYXRjaEVsZW1lbnQgbWF0Y2hFbGVtZW50LAogICAgICAgICAgICAgICAg
IHJldHVybiBNYXRjaEVsZW1lbnQ6OkFueVNpYmxpbmc7CiAgICAgICAgICAgICByZXR1cm4gbWF0
Y2hFbGVtZW50ID09IE1hdGNoRWxlbWVudDo6U3ViamVjdCA/IE1hdGNoRWxlbWVudDo6RGlyZWN0
U2libGluZyA6IE1hdGNoRWxlbWVudDo6SW5kaXJlY3RTaWJsaW5nOwogICAgICAgICBjYXNlIENT
U1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50OgotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpT
aGFkb3dQYXJ0RGVzY2VuZGFudDoKICAgICAgICAgICAgIHJldHVybiBNYXRjaEVsZW1lbnQ6Okhv
c3Q7CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd1Nsb3R0ZWQ6CiAgICAgICAgICAg
ICAvLyBGSVhNRTogSW1wbGVtZW50IGFjY3VyYXRlIGludmFsaWRhdGlvbi4KQEAgLTEwMSw3ICsx
MDAsNiBAQCBNYXRjaEVsZW1lbnQgUnVsZUZlYXR1cmVTZXQ6OmNvbXB1dGVOZXh0TWF0Y2hFbGVt
ZW50KE1hdGNoRWxlbWVudCBtYXRjaEVsZW1lbnQsCiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6RGly
ZWN0QWRqYWNlbnQ6CiAgICAgICAgIHJldHVybiBtYXRjaEVsZW1lbnQgPT0gTWF0Y2hFbGVtZW50
OjpQYXJlbnQgPyBNYXRjaEVsZW1lbnQ6OlBhcmVudFNpYmxpbmcgOiBNYXRjaEVsZW1lbnQ6OkFu
Y2VzdG9yU2libGluZzsKICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50Ogot
ICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd1BhcnREZXNjZW5kYW50OgogICAgICAgICByZXR1
cm4gTWF0Y2hFbGVtZW50OjpIb3N0OwogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd1Nsb3R0
ZWQ6CiAgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgYWNjdXJhdGUgaW52YWxpZGF0aW9uLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZU9yZGluYWwuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGVPcmRpbmFsLmgKaW5kZXggMTVlOTY4ZGI2NDMw
NTA4NTgxYjM5OGRmNzM1YjVjNjZjZDZhNGVhOS4uMzY4N2IwMmJhZmYyZmZjNWJhNDEzNzRkYzEx
ZDQ0NjlhZThkNzE2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29w
ZU9yZGluYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlT3JkaW5hbC5o
CkBAIC0zMCw3ICszMCw3IEBAIG5hbWVzcGFjZSBTdHlsZSB7CiAvLyBUaGlzIGlzIHVzZWQgdG8g
aWRlbnRpZnkgc3R5bGUgc2NvcGVzIHRoYXQgY2FuIGFmZmVjdCBhbiBlbGVtZW50LgogLy8gU2Nv
cGVzIGFyZSBpbiB0cmVlLW9mLXRyZWVzIG9yZGVyLiBTdHlsZXMgZnJvbSBlYXJsaWVyIHNjb3Bl
cyB3aW4gb3ZlciBsYXRlciBvbmVzIChtb2R1bG8gIWltcG9ydGFudCkuCiBlbnVtIGNsYXNzIFNj
b3BlT3JkaW5hbCA6IGludCB7Ci0gICAgQ29udGFpbmluZ0hvc3QgPSAtMSwgLy8gOjpwYXJ0IHJ1
bGVzIGFuZCBhdXRob3ItZXhwb3NlZCBVQSBwc2V1ZG8gY2xhc3NlcyBmcm9tIHRoZSBob3N0IHRy
ZWUgc2NvcGUuCisgICAgQ29udGFpbmluZ0hvc3QgPSAtMSwgLy8gOjpwYXJ0IHJ1bGVzIGFuZCBh
dXRob3ItZXhwb3NlZCBVQSBwc2V1ZG8gY2xhc3NlcyBmcm9tIHRoZSBob3N0IHRyZWUgc2NvcGUu
IFZhbHVlcyBsZXNzIHRoYW4gQ29udGFpbmluZ0hvc3QgaW5kaWNhdGUgZW5jbG9zaW5nIHNjb3Bl
cy4KICAgICBFbGVtZW50ID0gMCwgLy8gTm9ybWFsIHJ1bGVzIGluIHRoZSBzYW1lIHRyZWUgd2hl
cmUgdGhlIGVsZW1lbnQgaXMuCiAgICAgRmlyc3RTbG90ID0gMSwgLy8gOjpzbG90dGVkIHJ1bGVz
IGluIHRoZSBwYXJlbnQncyBzaGFkb3cgdHJlZS4gVmFsdWVzIGdyZWF0ZXIgdGhhbiBGaXJzdFNs
b3QgaW5kaWNhdGUgc3Vic2VxdWVudCBzbG90cyBpbiB0aGUgY2hhaW4uCiAgICAgU2hhZG93ID0g
c3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSwgLy8gOmhvc3QgcnVsZXMgaW4gZWxlbWVu
dCdzIG93biBzaGFkb3cgdHJlZS4KQEAgLTQyLDUgKzQyLDEyIEBAIGlubGluZSBTY29wZU9yZGlu
YWwmIG9wZXJhdG9yKysoU2NvcGVPcmRpbmFsJiBvcmRpbmFsKQogICAgIHJldHVybiBvcmRpbmFs
ID0gc3RhdGljX2Nhc3Q8U2NvcGVPcmRpbmFsPihzdGF0aWNfY2FzdDxpbnQ+KG9yZGluYWwpICsg
MSk7CiB9CiAKK2lubGluZSBTY29wZU9yZGluYWwmIG9wZXJhdG9yLS0oU2NvcGVPcmRpbmFsJiBv
cmRpbmFsKQoreworICAgIEFTU0VSVChvcmRpbmFsIDwgU2NvcGVPcmRpbmFsOjpTaGFkb3cpOwor
ICAgIHJldHVybiBvcmRpbmFsID0gc3RhdGljX2Nhc3Q8U2NvcGVPcmRpbmFsPihzdGF0aWNfY2Fz
dDxpbnQ+KG9yZGluYWwpIC0gMSk7Cit9CisKKwogfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442970</attachid>
            <date>2021-11-01 05:47:31 -0700</date>
            <delta_ts>2021-11-01 06:01:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232562-20211101144730.patch</filename>
            <type>text/plain</type>
            <size>18313</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjE1YmQzZDdiZmNmZTRj
MGFjZGQ5ZGY2ZjFiZjZiZjEzZTQ3ZmQzYi4uYzc3MTMyYjlhMzJjYWU4YWM2NTkzMmQ1NmFiZWIy
YzBiNWM1ZmEyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIxLTExLTAxICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgU3R5bGU6OlNjb3Bl
T3JkaW5hbCBmb3IgZmluZGluZyB0aGUgcmlnaHQgc2NvcGUgZm9yIDo6cGFydCBtYXRjaGluZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTYyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgYXJlIHBh
c3NpbmcgU3R5bGU6OlNjb3BlT3JkaW5hbCB0b3QgaGUgc2VsZWN0b3IgY2hlY2tlciBzbyB3ZSBj
YW4gdXNlIGl0IGNvbnNpc3RlbnRseSB0byBmaW5kCisgICAgICAgIHRoZSByaWdodCBzY29wZS4K
KworICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
ZWxlY3Rvcjo6c2VsZWN0b3JUZXh0IGNvbnN0KToKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3Iu
aDoKKworICAgICAgICBSZW1vdmUgU2hhZG93UGFydERlc2NlbmRhbnQgcmVsYXRpb25zLCBpdCBu
byBsb25nZXIgZG9lcyBhbnl0aGluZyB1bmlxdWUgb3ZlciBTaGFkb3dEZXNjZW5kYW50LgorCisg
ICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxl
Y3RvckNoZWNrZXI6Om1hdGNoUmVjdXJzaXZlbHkgY29uc3QpOgorCisgICAgICAgIEZpbmQgdGhl
IHJpZ2h0IHNjb3BlIGJhc2VkIG9uIHRoZSBzY29wZSBvcmRpbmFsLgorCisgICAgICAgIChXZWJD
b3JlOjpjYW5NYXRjaEhvdmVyT3JBY3RpdmVJblF1aXJrc01vZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZSBjb25zdCk6CisKKyAgICAgICAgRmluZCB0aGUg
cmlnaHQgc2NvcGUgYmFzZWQgb24gdGhlIHNjb3BlIG9yZGluYWwuCisKKyAgICAgICAgKiBjc3Mv
U2VsZWN0b3JDaGVja2VyLmg6CisgICAgICAgICogY3NzL1NlbGVjdG9yRmlsdGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbGxlY3RTZWxlY3Rvckhhc2hlcyk6CisgICAgICAgICogY3NzL3Bh
cnNlci9DU1NTZWxlY3RvclBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rv
clBhcnNlcjo6c3BsaXRDb21wb3VuZEF0SW1wbGljaXRTaGFkb3dDcm9zc2luZ0NvbWJpbmF0b3Ip
OgorICAgICAgICAqIGNzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNlbGVjdG9yQ29tcGlsZXI6OmZyYWdtZW50UmVsYXRpb25Gb3JTZWxlY3RvclJlbGF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OmNvbnN0cnVjdEZyYWdtZW50
c0ludGVybmFsKToKKyAgICAgICAgKiBzdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoUGFydFBz
ZXVkb0VsZW1lbnRSdWxlc0ZvclNjb3BlKToKKworICAgICAgICBDb21wdXRlIHRoZSBzY29wZSBv
cmRpbmFsIGZvciBuZXN0ZWQgc2NvcGVzLgorICAgICAgICBNYWtlIGl0ZXJhdGl2ZSBpbnN0ZWFk
IG9mIHJlY3Vyc2l2ZS4KKworICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkVsZW1lbnRSdWxlQ29s
bGVjdG9yOjpydWxlTWF0Y2hlcyk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1
bGVDb2xsZWN0b3I6Om1hdGNoQWxsUnVsZXMpOgorICAgICAgICAqIHN0eWxlL0VsZW1lbnRSdWxl
Q29sbGVjdG9yLmg6CisgICAgICAgICogc3R5bGUvUnVsZUZlYXR1cmUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGU6OlJ1bGVGZWF0dXJlU2V0Ojpjb21wdXRlTmV4dE1hdGNoRWxlbWVudCk6
CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZU9yZGluYWwuaDoKKworICAgICAgICBXZSBub3cg
dXNlIHZhbHVlcyBsZXNzIHRoYW4gQ29udGFpbmluZ0hvc3QgdG8gcHJlc2VudCBlbmNsb3Npbmcg
c2NvcGVzLCBzaW1pbGFyIHRvIHNsb3R0ZWQgbWF0Y2hpbmcuCisKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlOjpvcGVyYXRvci0tKToKKwogMjAyMS0xMS0wMSAgRGFuaWVsIEtvbGVzYSAgPGRrb2xl
c2FAaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggYnVpbGQgd2l0aCBHQ0MgOC40IG9uIFVidW50
dSAxOC4wNApAQCAtMTQ5NSw2ICsxNTQ2LDcgQEAKICAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9y
Q2hlY2tlcjo6bWF0Y2hSZWN1cnNpdmVseSBjb25zdCk6CiAKICAgICAgICAgRmluZCB0aGUgcmln
aHQgc2NvcGUgdG8gY29udGludWUgbWF0Y2hpbmcgb24gU2hhZG93U2xvdHRlZCByZWxhdGlvbi4g
UGFzcyBpbiB0aGUgc2NvcGUgb3JkaW5hbCB0byBmaW5kIHRoZSBzY29wZS4KKyAgICAgICAgU2lt
cGxpZnkgdGhlIGFsbG93TXVsdGlwbGVQc2V1ZG9FbGVtZW50cyB0ZXN0cywgdGhlIHBhcnNlciB0
YWtlcyBjYXJlIHRoYXQgb25seSBsZWdhbCBjYXNlcyBjb21lIHRocm91Z2guCiAKICAgICAgICAg
KFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUgY29uc3QpOgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yLmNwcAppbmRleCA2Y2Y3ZGU1ODc5MWYxN2Q3YTAxMjRmYWUwOGVlZDU0Yjk1
NDZiMTZmLi40ODg2YmQwNzU3MjRmMjNhZGU0ZjNiYmU3NGZlOTA3MDgzYTVkN2VhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTgyMiw3ICs4MjIsNiBAQCBTdHJpbmcgQ1NTU2Vs
ZWN0b3I6OnNlbGVjdG9yVGV4dChjb25zdCBTdHJpbmcmIHJpZ2h0U2lkZSkgY29uc3QKICAgICAg
ICAgICAgIEZBTExUSFJPVUdIOwogI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNo
YWRvd0Rlc2NlbmRhbnQ6Ci0gICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd1BhcnREZXNj
ZW5kYW50OgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dTbG90dGVkOgogICAgICAg
ICAgICAgYnVpbGRlci5hcHBlbmQocmlnaHRTaWRlKTsKICAgICAgICAgICAgIHJldHVybiB0YWdI
aXN0b3J5LT5zZWxlY3RvclRleHQoYnVpbGRlci50b1N0cmluZygpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yLmgKaW5kZXggM2RjNjE2NDBhZmIwOGJmNjFmZTM1OTU4OTc3YjFjYzljM2MyMTA2Zi4u
MzdkZDEzOTYxNDhjMDM0Yjc5YjU3YTJkMjE5MmUyZWE4MGJlZjI0YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1NlbGVjdG9yLmgKQEAgLTg3LDcgKzg3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICAgICAgRGlyZWN0QWRqYWNlbnQsCiAgICAgICAgICAgICBJbmRpcmVjdEFkamFjZW50LAogICAg
ICAgICAgICAgU2hhZG93RGVzY2VuZGFudCwKLSAgICAgICAgICAgIFNoYWRvd1BhcnREZXNjZW5k
YW50LAogICAgICAgICAgICAgU2hhZG93U2xvdHRlZAogICAgICAgICB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IGVkZjVmMWIyNzUxMDcwOGFjM2Y4ODRlNmU5
ZGI5YzkzODk4NDRiOWUuLmY2MmQ0MzIyNDZkMTcyMGEwODc2NzAzMjEzZmQzMTk5ZmM3ODI4MWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCkBAIC0zMTYsOCArMzE2LDcg
QEAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaFJlc3VsdCBTZWxlY3RvckNoZWNrZXI6Om1hdGNoUmVj
dXJzaXZlbHkoQ2hlY2tpbmdDb250ZXh0JgogCiAgICAgICAgIG5leHRDb250ZXh0LnBzZXVkb0lk
ID0gUHNldWRvSWQ6Ok5vbmU7CiAKLSAgICAgICAgYm9vbCBuZXh0SXNQYXJ0ID0gbGVmdFNlbGVj
dG9yLT5tYXRjaCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50ICYmIGxlZnRTZWxlY3Rv
ci0+cHNldWRvRWxlbWVudFR5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFBhcnQ7
Ci0gICAgICAgIGJvb2wgYWxsb3dNdWx0aXBsZVBzZXVkb0VsZW1lbnRzID0gcmVsYXRpb24gPT0g
Q1NTU2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQgJiYgbmV4dElzUGFydDsKKyAgICAgICAgYm9v
bCBhbGxvd011bHRpcGxlUHNldWRvRWxlbWVudHMgPSByZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6
U2hhZG93RGVzY2VuZGFudDsKICAgICAgICAgLy8gVmlydHVhbCBwc2V1ZG8gZWxlbWVudCBpcyBv
bmx5IGVmZmVjdGl2ZSBpbiB0aGUgcmlnaHRtb3N0IGZyYWdtZW50LgogICAgICAgICBpZiAoIWFs
bG93TXVsdGlwbGVQc2V1ZG9FbGVtZW50cykKICAgICAgICAgICAgIG5leHRDb250ZXh0LnBzZXVk
b0VsZW1lbnRFZmZlY3RpdmUgPSBmYWxzZTsKQEAgLTQwNywxMyArNDA2LDE1IEBAIFNlbGVjdG9y
Q2hlY2tlcjo6TWF0Y2hSZXN1bHQgU2VsZWN0b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5KENo
ZWNraW5nQ29udGV4dCYKIAogICAgICAgICAgICAgcmV0dXJuIE1hdGNoUmVzdWx0Ojp1cGRhdGVX
aXRoTWF0Y2hUeXBlKHJlc3VsdCwgbWF0Y2hUeXBlKTsKICAgICAgICAgfQotICAgIGNhc2UgQ1NT
U2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQ6Ci0gICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93
UGFydERlc2NlbmRhbnQ6IHsKLSAgICAgICAgLy8gV2hlbiBtYXRjaGluZyBmb286OnBhcnQoYmFy
KSB3ZSBza2lwIGRpcmVjdGx5IHRvIHRoZSB0cmVlIG9mIGVsZW1lbnQgJ2ZvbycuCi0gICAgICAg
IGF1dG8qIHNoYWRvd0hvc3QgPSByZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6U2hhZG93UGFydERl
c2NlbmRhbnQgPyBjaGVja2luZ0NvbnRleHQuc2hhZG93SG9zdEluUGFydFJ1bGVTY29wZSA6IGNv
bnRleHQuZWxlbWVudC0+c2hhZG93SG9zdCgpOwotICAgICAgICBpZiAoIXNoYWRvd0hvc3QpCisg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93RGVzY2VuZGFudDogeworICAgICAgICBhdXRvKiBo
b3N0ID0gY29udGV4dC5lbGVtZW50LT5zaGFkb3dIb3N0KCk7CisgICAgICAgIC8vIFdlIGNvbnRp
bnVlIG1hdGNoaW5nIGluIHRoZSBzY29wZSB3aGVyZSB0aGlzIHJ1bGUgY2FtZSBmcm9tLgorICAg
ICAgICBmb3IgKGF1dG8gc2NvcGVEZXB0aCA9IGNoZWNraW5nQ29udGV4dC5zdHlsZVNjb3BlT3Jk
aW5hbDsgaG9zdCAmJiBzY29wZURlcHRoICE9IFN0eWxlOjpTY29wZU9yZGluYWw6OkNvbnRhaW5p
bmdIb3N0OyArK3Njb3BlRGVwdGgpCisgICAgICAgICAgICBob3N0ID0gaG9zdC0+c2hhZG93SG9z
dCgpOworICAgICAgICBpZiAoIWhvc3QpCiAgICAgICAgICAgICByZXR1cm4gTWF0Y2hSZXN1bHQ6
OmZhaWxzKE1hdGNoOjpTZWxlY3RvckZhaWxzQ29tcGxldGVseSk7Ci0gICAgICAgIG5leHRDb250
ZXh0LmVsZW1lbnQgPSBzaGFkb3dIb3N0OworCisgICAgICAgIG5leHRDb250ZXh0LmVsZW1lbnQg
PSBob3N0OwogICAgICAgICBuZXh0Q29udGV4dC5maXJzdFNlbGVjdG9yT2ZUaGVGcmFnbWVudCA9
IG5leHRDb250ZXh0LnNlbGVjdG9yOwogICAgICAgICBuZXh0Q29udGV4dC5pc1N1YmplY3RPckFk
amFjZW50RWxlbWVudCA9IGZhbHNlOwogICAgICAgICBQc2V1ZG9JZFNldCBpZ25vcmVEeW5hbWlj
UHNldWRvOwpAQCAtNDIzLDEzICs0MjQsMTAgQEAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaFJlc3Vs
dCBTZWxlY3RvckNoZWNrZXI6Om1hdGNoUmVjdXJzaXZlbHkoQ2hlY2tpbmdDb250ZXh0JgogICAg
IH0KICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dTbG90dGVkOiB7CiAgICAgICAgIGF1dG8q
IHNsb3QgPSBjb250ZXh0LmVsZW1lbnQtPmFzc2lnbmVkU2xvdCgpOwotICAgICAgICBpZiAoIXNs
b3QpCi0gICAgICAgICAgICByZXR1cm4gTWF0Y2hSZXN1bHQ6OmZhaWxzKE1hdGNoOjpTZWxlY3Rv
ckZhaWxzQ29tcGxldGVseSk7CiAgICAgICAgIC8vIFdlIGNvbnRpbnVlIG1hdGNoaW5nIGluIHRo
ZSBzY29wZSB3aGVyZSB0aGlzIHJ1bGUgY2FtZSBmcm9tLgotICAgICAgICBhdXRvIHNjb3BlRGVw
dGggPSBzdGF0aWNfY2FzdDxpbnQ+KGNoZWNraW5nQ29udGV4dC5zdHlsZVNjb3BlT3JkaW5hbCk7
Ci0gICAgICAgIHdoaWxlICgtLXNjb3BlRGVwdGggJiYgc2xvdC0+YXNzaWduZWRTbG90KCkpCisg
ICAgICAgIGZvciAoYXV0byBzY29wZURlcHRoID0gY2hlY2tpbmdDb250ZXh0LnN0eWxlU2NvcGVP
cmRpbmFsOyBzbG90ICYmIHNjb3BlRGVwdGggIT0gU3R5bGU6OlNjb3BlT3JkaW5hbDo6Rmlyc3RT
bG90OyAtLXNjb3BlRGVwdGgpCiAgICAgICAgICAgICBzbG90ID0gc2xvdC0+YXNzaWduZWRTbG90
KCk7Ci0gICAgICAgIGlmIChzY29wZURlcHRoKQorICAgICAgICBpZiAoIXNsb3QpCiAgICAgICAg
ICAgICByZXR1cm4gTWF0Y2hSZXN1bHQ6OmZhaWxzKE1hdGNoOjpTZWxlY3RvckZhaWxzQ29tcGxl
dGVseSk7CiAKICAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudCA9IHNsb3Q7CkBAIC02MTUsNyAr
NjEzLDcgQEAgc3RhdGljIGJvb2wgY2FuTWF0Y2hIb3Zlck9yQWN0aXZlSW5RdWlya3NNb2RlKGNv
bnN0IFNlbGVjdG9yQ2hlY2tlcjo6TG9jYWxDb250ZXgKICAgICAgICAgfQogCiAgICAgICAgIGF1
dG8gcmVsYXRpb24gPSBzZWxlY3Rvci0+cmVsYXRpb24oKTsKLSAgICAgICAgaWYgKHJlbGF0aW9u
ID09IENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50IHx8IHJlbGF0aW9uID09IENTU1NlbGVj
dG9yOjpTaGFkb3dQYXJ0RGVzY2VuZGFudCkKKyAgICAgICAgaWYgKHJlbGF0aW9uID09IENTU1Nl
bGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAg
ICAgICAgaWYgKHJlbGF0aW9uICE9IENTU1NlbGVjdG9yOjpTdWJzZWxlY3RvcikKQEAgLTExNzEs
MTEgKzExNjksMTMgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKENoZWNraW5nQ29u
dGV4dCYgY2hlY2tpbmdDb250ZXh0LCBjb25zdCBMb2NhbENvbnQKICAgICAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvRWxlbWVudFBhcnQ6IHsKICAgICAgICAgICAgIGF1dG8gdHJhbnNsYXRl
UGFydE5hbWVUb1J1bGVTY29wZSA9IFsmXShBdG9tU3RyaW5nIHBhcnROYW1lKSB7CiAgICAgICAg
ICAgICAgICAgVmVjdG9yPEF0b21TdHJpbmcsIDE+IG1hcHBlZE5hbWVzIHsgcGFydE5hbWUgfTsK
LSAgICAgICAgICAgICAgICBmb3IgKGF1dG8qIHNoYWRvd1Jvb3QgPSBlbGVtZW50LmNvbnRhaW5p
bmdTaGFkb3dSb290KCk7IHNoYWRvd1Jvb3Q7IHNoYWRvd1Jvb3QgPSBzaGFkb3dSb290LT5ob3N0
KCktPmNvbnRhaW5pbmdTaGFkb3dSb290KCkpIHsKKyAgICAgICAgICAgICAgICAvLyBOZWdhdGl2
ZSBmb3Igc3R5bGUgY29taW5nIGZyb20gaG9zdCBzY29wZS4KKyAgICAgICAgICAgICAgICBhdXRv
IHNjb3BlRGVwdGggPSBjaGVja2luZ0NvbnRleHQuc3R5bGVTY29wZU9yZGluYWw7CisgICAgICAg
ICAgICAgICAgZm9yIChhdXRvKiBzaGFkb3dSb290ID0gZWxlbWVudC5jb250YWluaW5nU2hhZG93
Um9vdCgpOyBzaGFkb3dSb290OyBzaGFkb3dSb290ID0gc2hhZG93Um9vdC0+aG9zdCgpLT5jb250
YWluaW5nU2hhZG93Um9vdCgpLCArK3Njb3BlRGVwdGgpIHsKICAgICAgICAgICAgICAgICAgICAg
Ly8gQXBwbHkgbWFwcGluZ3MgdXAgdG8gdGhlIHNjb3BlIHRoZSBydWxlcyBhcmUgY29taW5nIGZy
b20uCi0gICAgICAgICAgICAgICAgICAgIGlmIChzaGFkb3dSb290LT5ob3N0KCkgPT0gY2hlY2tp
bmdDb250ZXh0LnNoYWRvd0hvc3RJblBhcnRSdWxlU2NvcGUpCisgICAgICAgICAgICAgICAgICAg
IGlmIChzY29wZURlcHRoID09IFN0eWxlOjpTY29wZU9yZGluYWw6OkNvbnRhaW5pbmdIb3N0KQog
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIAorCiAg
ICAgICAgICAgICAgICAgICAgIFZlY3RvcjxBdG9tU3RyaW5nLCAxPiBuZXdNYXBwZWROYW1lczsK
ICAgICAgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBuYW1lIDogbWFwcGVkTmFtZXMpCiAgICAg
ICAgICAgICAgICAgICAgICAgICBuZXdNYXBwZWROYW1lcy5hcHBlbmRWZWN0b3Ioc2hhZG93Um9v
dC0+cGFydE1hcHBpbmdzKCkuZ2V0KG5hbWUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TZWxlY3RvckNoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNr
ZXIuaAppbmRleCAzY2MwN2FhZmUxNDE2OGMxNDRlOGE5ZDU4Y2JmMjdiZjllMzYxYzA2Li41Nzgz
NjIyYzBjNjBlMTY1ZTM2M2NjMGI0MjcyYTY2ZGJhN2UyMzMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1Nl
bGVjdG9yQ2hlY2tlci5oCkBAIC05NSw3ICs5NSw2IEBAIHB1YmxpYzoKICAgICAgICAgQXRvbVN0
cmluZyBuYW1lRm9ySGlnaHRsaWdodFBzZXVkb0VsZW1lbnQ7CiAgICAgICAgIGNvbnN0IENvbnRh
aW5lck5vZGUqIHNjb3BlIHsgbnVsbHB0ciB9OwogICAgICAgICBib29sIGlzTWF0Y2hpbmdIb3N0
UHNldWRvQ2xhc3MgeyBmYWxzZSB9OwotICAgICAgICBjb25zdCBFbGVtZW50KiBzaGFkb3dIb3N0
SW5QYXJ0UnVsZVNjb3BlIHsgbnVsbHB0ciB9OwogICAgICAgICBTdHlsZTo6U2NvcGVPcmRpbmFs
IHN0eWxlU2NvcGVPcmRpbmFsIHsgU3R5bGU6OlNjb3BlT3JkaW5hbDo6RWxlbWVudCB9OwogCiAg
ICAgICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBuaWNlciB0byBoYXZlIGEgc2VwYXJhdGUgb2Jq
ZWN0IGZvciByZXR1cm4gdmFsdWVzLiBUaGlzIHJlcXVpcmVzIHNvbWUgbW9yZSB3b3JrIGluIHRo
ZSBzZWxlY3RvciBjb21waWxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxl
Y3RvckZpbHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JGaWx0ZXIuY3BwCmlu
ZGV4IDZiOTNkMjQ2Y2I2Yjk1YWMwMTFlMDc5YjgxYWYyN2Q4NzhkNmUxZmEuLjg5NWU5ZmM1YTJh
NmU5MDQ5Y2I1YmMxMzFhMGUxYmY0ODhhYWI5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TZWxlY3RvckZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9y
RmlsdGVyLmNwcApAQCAtMTk0LDcgKzE5NCw2IEBAIHN0YXRpYyBDb2xsZWN0ZWRTZWxlY3Rvckhh
c2hlcyBjb2xsZWN0U2VsZWN0b3JIYXNoZXMoY29uc3QgQ1NTU2VsZWN0b3ImIHJpZ2h0bW9zCiAg
ICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkRpcmVjdEFkamFjZW50OgogICAgICAgICBjYXNlIENT
U1NlbGVjdG9yOjpJbmRpcmVjdEFkamFjZW50OgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpT
aGFkb3dEZXNjZW5kYW50OgotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dQYXJ0RGVz
Y2VuZGFudDoKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93U2xvdHRlZDoKICAgICAg
ICAgICAgIHNraXBPdmVyU3Vic2VsZWN0b3JzID0gdHJ1ZTsKICAgICAgICAgICAgIGJyZWFrOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAppbmRl
eCA1YmExMzFiNTg4NTk4ZjVhMjdiYTM4YWE2NGEwNzM0OTQxMWFjOWFhLi4yYzIwMDMyMTAzNjc3
NzBiYzhiYzhkODkwNGUxNWUyNjRhOTQwNWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcApAQCAtMTA5Myw4ICsxMDkzLDYgQEAgc3RkOjp1
bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBDU1NTZWxlY3RvclBhcnNlcjo6c3BsaXRDb21w
b3VuZEF0SW1wbGljaXRTaGEKICAgICBhdXRvIHJlbGF0aW9uID0gWyZdIHsKICAgICAgICAgaWYg
KGlzU2xvdHRlZCkKICAgICAgICAgICAgIHJldHVybiBDU1NTZWxlY3Rvcjo6U2hhZG93U2xvdHRl
ZDsKLSAgICAgICAgaWYgKGlzUGFydCkKLSAgICAgICAgICAgIHJldHVybiBDU1NTZWxlY3Rvcjo6
U2hhZG93UGFydERlc2NlbmRhbnQ7CiAgICAgICAgIHJldHVybiBDU1NTZWxlY3Rvcjo6U2hhZG93
RGVzY2VuZGFudDsKICAgICB9KCk7CiAgICAgc2Vjb25kQ29tcG91bmQtPmFwcGVuZFRhZ0hpc3Rv
cnkocmVsYXRpb24sIFdURk1vdmUoY29tcG91bmRTZWxlY3RvcikpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCmluZGV4IGZlNDExODg2NzQwNGVhMjk3ODIzNzky
ZjllZDIzOTk1NjljYzEwNmIuLjg1Yzg4MDhjZTBhMjYwMGE4ODA0OTliODk5YWM1OThjYTU0MDU0
NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKQEAgLTUw
MCw3ICs1MDAsNiBAQCBzdGF0aWMgaW5saW5lIEZyYWdtZW50UmVsYXRpb24gZnJhZ21lbnRSZWxh
dGlvbkZvclNlbGVjdG9yUmVsYXRpb24oQ1NTU2VsZWN0b3I6OgogICAgICAgICByZXR1cm4gRnJh
Z21lbnRSZWxhdGlvbjo6SW5kaXJlY3RBZGphY2VudDsKICAgICBjYXNlIENTU1NlbGVjdG9yOjpT
dWJzZWxlY3RvcjoKICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50OgotICAg
IGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd1BhcnREZXNjZW5kYW50OgogICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlNoYWRvd1Nsb3R0ZWQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
IH0KQEAgLTEyODcsNyArMTI4Niw3IEBAIHN0YXRpYyBGdW5jdGlvblR5cGUgY29uc3RydWN0RnJh
Z21lbnRzSW50ZXJuYWwoY29uc3QgQ1NTU2VsZWN0b3IqIHJvb3RTZWxlY3RvciwKICAgICAgICAg
aWYgKHJlbGF0aW9uID09IENTU1NlbGVjdG9yOjpTdWJzZWxlY3RvcikKICAgICAgICAgICAgIGNv
bnRpbnVlOwogCi0gICAgICAgIGlmICgocmVsYXRpb24gPT0gQ1NTU2VsZWN0b3I6OlNoYWRvd0Rl
c2NlbmRhbnQgfHwgcmVsYXRpb24gPT0gQ1NTU2VsZWN0b3I6OlNoYWRvd1BhcnREZXNjZW5kYW50
KSAmJiAhc2VsZWN0b3ItPmlzTGFzdEluVGFnSGlzdG9yeSgpKQorICAgICAgICBpZiAocmVsYXRp
b24gPT0gQ1NTU2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQgJiYgIXNlbGVjdG9yLT5pc0xhc3RJ
blRhZ0hpc3RvcnkoKSkKICAgICAgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OkNhbm5vdENv
bXBpbGU7CiAKICAgICAgICAgaWYgKHJlbGF0aW9uID09IENTU1NlbGVjdG9yOjpTaGFkb3dTbG90
dGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCmlu
ZGV4IDVmMjE5OGQyZjBjZmIzOTEzNDBjMTNlM2NlMGFkODcwMTQ5YjQ2MWUuLjhmZTFiNzkwODM0
MGJjOTE3NGQzZTZjYTdkNmJhOWY2M2UyNjRlZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKQEAgLTMwNSwyMSArMzA1LDIzIEBAIHZvaWQgRWxl
bWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoUGFydFBzZXVkb0VsZW1lbnRSdWxlcygpCiAKIHZvaWQg
RWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoUGFydFBzZXVkb0VsZW1lbnRSdWxlc0ZvclNjb3Bl
KGNvbnN0IFNoYWRvd1Jvb3QmIHNjb3BlU2hhZG93Um9vdCkKIHsKLSAgICBhdXRvJiBzaGFkb3dI
b3N0ID0gKnNjb3BlU2hhZG93Um9vdC5ob3N0KCk7Ci0gICAgewotICAgICAgICBTZXRGb3JTY29w
ZTxSZWZQdHI8Y29uc3QgRWxlbWVudD4+IHBhcnRNYXRjaGluZ1Njb3BlKG1fc2hhZG93SG9zdElu
UGFydFJ1bGVTY29wZSwgJnNoYWRvd0hvc3QpOworICAgIGF1dG8qIGhvc3QgPSBzY29wZVNoYWRv
d1Jvb3QuaG9zdCgpOworICAgIGF1dG8gc3R5bGVTY29wZU9yZGluYWwgPSBTY29wZU9yZGluYWw6
OkNvbnRhaW5pbmdIb3N0OwogCi0gICAgICAgIGF1dG8mIGhvc3RBdXRob3JSdWxlcyA9IFNjb3Bl
Ojpmb3JOb2RlKHNoYWRvd0hvc3QpLnJlc29sdmVyKCkucnVsZVNldHMoKS5hdXRob3JTdHlsZSgp
OwotICAgICAgICBNYXRjaFJlcXVlc3QgaG9zdEF1dGhvclJlcXVlc3QgeyAmaG9zdEF1dGhvclJ1
bGVzLCBTY29wZU9yZGluYWw6OkNvbnRhaW5pbmdIb3N0IH07Ci0gICAgICAgIGNvbGxlY3RNYXRj
aGluZ1J1bGVzRm9yTGlzdCgmaG9zdEF1dGhvclJ1bGVzLnBhcnRQc2V1ZG9FbGVtZW50UnVsZXMo
KSwgaG9zdEF1dGhvclJlcXVlc3QpOwotICAgIH0KKyAgICBmb3IgKDsgaG9zdDsgaG9zdCA9IGhv
c3QtPnNoYWRvd0hvc3QoKSwgLS1zdHlsZVNjb3BlT3JkaW5hbCkgeworICAgICAgICBhdXRvJiBz
dHlsZVNjb3BlID0gU2NvcGU6OmZvck5vZGUoKmhvc3QpOworICAgICAgICBpZiAoIXN0eWxlU2Nv
cGUucmVzb2x2ZXIoKS5ydWxlU2V0cygpLmlzQXV0aG9yU3R5bGVEZWZpbmVkKCkpCisgICAgICAg
ICAgICBjb250aW51ZTsKIAotICAgIC8vIEVsZW1lbnQgbWF5IGJlIGV4cG9zZWQgdG8gc3R5bGlu
ZyBmcm9tIGVuY2xvc2luZyBzY29wZXMgdmlhIGV4cG9ydHBhcnRzIGF0dHJpYnV0ZXMuCi0gICAg
aWYgKHNjb3BlU2hhZG93Um9vdC5wYXJ0TWFwcGluZ3MoKS5pc0VtcHR5KCkpCi0gICAgICAgIHJl
dHVybjsKKyAgICAgICAgYXV0byYgaG9zdEF1dGhvclJ1bGVzID0gc3R5bGVTY29wZS5yZXNvbHZl
cigpLnJ1bGVTZXRzKCkuYXV0aG9yU3R5bGUoKTsKKworICAgICAgICBNYXRjaFJlcXVlc3Qgc2Nv
cGVNYXRjaFJlcXVlc3QoJmhvc3RBdXRob3JSdWxlcywgc3R5bGVTY29wZU9yZGluYWwpOworICAg
ICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QoJmhvc3RBdXRob3JSdWxlcy5wYXJ0UHNl
dWRvRWxlbWVudFJ1bGVzKCksIHNjb3BlTWF0Y2hSZXF1ZXN0KTsKIAotICAgIGlmIChhdXRvKiBw
YXJlbnRTY29wZVNoYWRvd1Jvb3QgPSBzaGFkb3dIb3N0LmNvbnRhaW5pbmdTaGFkb3dSb290KCkp
Ci0gICAgICAgIG1hdGNoUGFydFBzZXVkb0VsZW1lbnRSdWxlc0ZvclNjb3BlKCpwYXJlbnRTY29w
ZVNoYWRvd1Jvb3QpOworICAgICAgICAvLyBFbGVtZW50IG1heSBvbmx5IGJlIGV4cG9zZWQgdG8g
c3R5bGluZyBmcm9tIGVuY2xvc2luZyBzY29wZXMgdmlhIGV4cG9ydHBhcnRzIGF0dHJpYnV0ZXMu
CisgICAgICAgIGlmIChob3N0LT5zaGFkb3dSb290KCktPnBhcnRNYXBwaW5ncygpLmlzRW1wdHko
KSkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KIH0KIAogdm9pZCBFbGVtZW50UnVsZUNvbGxl
Y3Rvcjo6Y29sbGVjdE1hdGNoaW5nU2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKGNvbnN0IE1hdGNo
UmVxdWVzdCYgbWF0Y2hSZXF1ZXN0KQpAQCAtNDMwLDcgKzQzMiw2IEBAIGlubGluZSBib29sIEVs
ZW1lbnRSdWxlQ29sbGVjdG9yOjpydWxlTWF0Y2hlcyhjb25zdCBSdWxlRGF0YSYgcnVsZURhdGEs
IHVuc2lnbmVkCiAgICAgY29udGV4dC5zY3JvbGxiYXJTdGF0ZSA9IG1fcHNldWRvRWxlbWVudFJl
cXVlc3Quc2Nyb2xsYmFyU3RhdGU7CiAgICAgY29udGV4dC5uYW1lRm9ySGlnaHRsaWdodFBzZXVk
b0VsZW1lbnQgPSBtX3BzZXVkb0VsZW1lbnRSZXF1ZXN0LmhpZ2hsaWdodE5hbWU7CiAgICAgY29u
dGV4dC5pc01hdGNoaW5nSG9zdFBzZXVkb0NsYXNzID0gbV9pc01hdGNoaW5nSG9zdFBzZXVkb0Ns
YXNzOwotICAgIGNvbnRleHQuc2hhZG93SG9zdEluUGFydFJ1bGVTY29wZSA9IG1fc2hhZG93SG9z
dEluUGFydFJ1bGVTY29wZS5nZXQoKTsKICAgICBjb250ZXh0LnN0eWxlU2NvcGVPcmRpbmFsID0g
c3R5bGVTY29wZU9yZGluYWw7CiAKICAgICBib29sIHNlbGVjdG9yTWF0Y2hlczsKQEAgLTU0OCw4
ICs1NDksOCBAQCB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaEFsbFJ1bGVzKGJvb2wg
bWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzLCBib29sIGluYwogICAgICAgICAvLyBJbmxpbmUgc3R5
bGUgYmVoYXZlcyBhcyBpZiBpdCBoYXMgaGlnaGVyIHNwZWNpZmljaXR5IHRoYW4gYW55IHJ1bGUu
CiAgICAgICAgIGFkZEVsZW1lbnRJbmxpbmVTdHlsZVByb3BlcnRpZXMoaW5jbHVkZVNNSUxQcm9w
ZXJ0aWVzKTsKIAotICAgICAgICAvLyBSdWxlcyBmcm9tIHRoZSBob3N0IHNjb3BlIG92ZXJyaWRl
IGlubGluZSBzdHlsZS4KLSAgICAgICAgdHJhbnNmZXJNYXRjaGVkUnVsZXMoRGVjbGFyYXRpb25P
cmlnaW46OkF1dGhvciwgU2NvcGVPcmRpbmFsOjpDb250YWluaW5nSG9zdCk7CisgICAgICAgIC8v
IFJ1bGVzIGZyb20gdGhlIGhvc3Qgc2NvcGVzIG92ZXJyaWRlIGlubGluZSBzdHlsZS4KKyAgICAg
ICAgdHJhbnNmZXJNYXRjaGVkUnVsZXMoRGVjbGFyYXRpb25PcmlnaW46OkF1dGhvcik7CiAgICAg
fQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxl
Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaAppbmRl
eCBjZDM1MjU0NDQ5MjBmYTcyZDAzMGEyOWQ1N2IwOWVlZmFiYzE3ZWY0Li5kMDczMzg0N2I0ZDRl
ZTEzNmYxY2JmYjZiYzlhMGMxNTgwNjM0YTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0Vs
ZW1lbnRSdWxlQ29sbGVjdG9yLmgKQEAgLTE2Myw3ICsxNjMsNiBAQCBwcml2YXRlOgogICAgIFBz
ZXVkb0VsZW1lbnRSZXF1ZXN0IG1fcHNldWRvRWxlbWVudFJlcXVlc3QgeyBQc2V1ZG9JZDo6Tm9u
ZSB9OwogICAgIFNlbGVjdG9yQ2hlY2tlcjo6TW9kZSBtX21vZGUgeyBTZWxlY3RvckNoZWNrZXI6
Ok1vZGU6OlJlc29sdmluZ1N0eWxlIH07CiAgICAgYm9vbCBtX2lzTWF0Y2hpbmdIb3N0UHNldWRv
Q2xhc3MgeyBmYWxzZSB9OwotICAgIFJlZlB0cjxjb25zdCBFbGVtZW50PiBtX3NoYWRvd0hvc3RJ
blBhcnRSdWxlU2NvcGU7CiAKICAgICBWZWN0b3I8TWF0Y2hlZFJ1bGUsIDY0PiBtX21hdGNoZWRS
dWxlczsKICAgICBzaXplX3QgbV9tYXRjaGVkUnVsZVRyYW5zZmVySW5kZXggeyAwIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlRmVhdHVyZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9SdWxlRmVhdHVyZS5jcHAKaW5kZXggYmUzM2VmMjNlNDU2Y2NkNjZlZmQwNTli
Y2UwMjNjNTFhOGEwMDIzYy4uZDM3MDI3MDZiMWU3ZWZjMWQ5ZTQ0ZDU4ZjRiYTlhZTRiYjhhYzY2
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZUZlYXR1cmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVGZWF0dXJlLmNwcApAQCAtODQsNyArODQsNiBAQCBN
YXRjaEVsZW1lbnQgUnVsZUZlYXR1cmVTZXQ6OmNvbXB1dGVOZXh0TWF0Y2hFbGVtZW50KE1hdGNo
RWxlbWVudCBtYXRjaEVsZW1lbnQsCiAgICAgICAgICAgICAgICAgcmV0dXJuIE1hdGNoRWxlbWVu
dDo6QW55U2libGluZzsKICAgICAgICAgICAgIHJldHVybiBtYXRjaEVsZW1lbnQgPT0gTWF0Y2hF
bGVtZW50OjpTdWJqZWN0ID8gTWF0Y2hFbGVtZW50OjpEaXJlY3RTaWJsaW5nIDogTWF0Y2hFbGVt
ZW50OjpJbmRpcmVjdFNpYmxpbmc7CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd0Rl
c2NlbmRhbnQ6Ci0gICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd1BhcnREZXNjZW5kYW50
OgogICAgICAgICAgICAgcmV0dXJuIE1hdGNoRWxlbWVudDo6SG9zdDsKICAgICAgICAgY2FzZSBD
U1NTZWxlY3Rvcjo6U2hhZG93U2xvdHRlZDoKICAgICAgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQgYWNjdXJhdGUgaW52YWxpZGF0aW9uLgpAQCAtMTAxLDcgKzEwMCw2IEBAIE1hdGNoRWxlbWVu
dCBSdWxlRmVhdHVyZVNldDo6Y29tcHV0ZU5leHRNYXRjaEVsZW1lbnQoTWF0Y2hFbGVtZW50IG1h
dGNoRWxlbWVudCwKICAgICBjYXNlIENTU1NlbGVjdG9yOjpEaXJlY3RBZGphY2VudDoKICAgICAg
ICAgcmV0dXJuIG1hdGNoRWxlbWVudCA9PSBNYXRjaEVsZW1lbnQ6OlBhcmVudCA/IE1hdGNoRWxl
bWVudDo6UGFyZW50U2libGluZyA6IE1hdGNoRWxlbWVudDo6QW5jZXN0b3JTaWJsaW5nOwogICAg
IGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQ6Ci0gICAgY2FzZSBDU1NTZWxlY3Rv
cjo6U2hhZG93UGFydERlc2NlbmRhbnQ6CiAgICAgICAgIHJldHVybiBNYXRjaEVsZW1lbnQ6Okhv
c3Q7CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93U2xvdHRlZDoKICAgICAgICAgLy8gRklY
TUU6IEltcGxlbWVudCBhY2N1cmF0ZSBpbnZhbGlkYXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlT3JkaW5hbC5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVTY29wZU9yZGluYWwuaAppbmRleCAxNWU5NjhkYjY0MzA1MDg1ODFiMzk4ZGY3MzViNWM2
NmNkNmE0ZWE5Li4zNjg3YjAyYmFmZjJmZmM1YmE0MTM3NGRjMTFkNDQ2OWFlOGQ3MTZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlT3JkaW5hbC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGVPcmRpbmFsLmgKQEAgLTMwLDcgKzMwLDcgQEAg
bmFtZXNwYWNlIFN0eWxlIHsKIC8vIFRoaXMgaXMgdXNlZCB0byBpZGVudGlmeSBzdHlsZSBzY29w
ZXMgdGhhdCBjYW4gYWZmZWN0IGFuIGVsZW1lbnQuCiAvLyBTY29wZXMgYXJlIGluIHRyZWUtb2Yt
dHJlZXMgb3JkZXIuIFN0eWxlcyBmcm9tIGVhcmxpZXIgc2NvcGVzIHdpbiBvdmVyIGxhdGVyIG9u
ZXMgKG1vZHVsbyAhaW1wb3J0YW50KS4KIGVudW0gY2xhc3MgU2NvcGVPcmRpbmFsIDogaW50IHsK
LSAgICBDb250YWluaW5nSG9zdCA9IC0xLCAvLyA6OnBhcnQgcnVsZXMgYW5kIGF1dGhvci1leHBv
c2VkIFVBIHBzZXVkbyBjbGFzc2VzIGZyb20gdGhlIGhvc3QgdHJlZSBzY29wZS4KKyAgICBDb250
YWluaW5nSG9zdCA9IC0xLCAvLyA6OnBhcnQgcnVsZXMgYW5kIGF1dGhvci1leHBvc2VkIFVBIHBz
ZXVkbyBjbGFzc2VzIGZyb20gdGhlIGhvc3QgdHJlZSBzY29wZS4gVmFsdWVzIGxlc3MgdGhhbiBD
b250YWluaW5nSG9zdCBpbmRpY2F0ZSBlbmNsb3Npbmcgc2NvcGVzLgogICAgIEVsZW1lbnQgPSAw
LCAvLyBOb3JtYWwgcnVsZXMgaW4gdGhlIHNhbWUgdHJlZSB3aGVyZSB0aGUgZWxlbWVudCBpcy4K
ICAgICBGaXJzdFNsb3QgPSAxLCAvLyA6OnNsb3R0ZWQgcnVsZXMgaW4gdGhlIHBhcmVudCdzIHNo
YWRvdyB0cmVlLiBWYWx1ZXMgZ3JlYXRlciB0aGFuIEZpcnN0U2xvdCBpbmRpY2F0ZSBzdWJzZXF1
ZW50IHNsb3RzIGluIHRoZSBjaGFpbi4KICAgICBTaGFkb3cgPSBzdGQ6Om51bWVyaWNfbGltaXRz
PGludD46Om1heCgpLCAvLyA6aG9zdCBydWxlcyBpbiBlbGVtZW50J3Mgb3duIHNoYWRvdyB0cmVl
LgpAQCAtNDIsNSArNDIsMTIgQEAgaW5saW5lIFNjb3BlT3JkaW5hbCYgb3BlcmF0b3IrKyhTY29w
ZU9yZGluYWwmIG9yZGluYWwpCiAgICAgcmV0dXJuIG9yZGluYWwgPSBzdGF0aWNfY2FzdDxTY29w
ZU9yZGluYWw+KHN0YXRpY19jYXN0PGludD4ob3JkaW5hbCkgKyAxKTsKIH0KIAoraW5saW5lIFNj
b3BlT3JkaW5hbCYgb3BlcmF0b3ItLShTY29wZU9yZGluYWwmIG9yZGluYWwpCit7CisgICAgQVNT
RVJUKG9yZGluYWwgPCBTY29wZU9yZGluYWw6OlNoYWRvdyk7CisgICAgcmV0dXJuIG9yZGluYWwg
PSBzdGF0aWNfY2FzdDxTY29wZU9yZGluYWw+KHN0YXRpY19jYXN0PGludD4ob3JkaW5hbCkgLSAx
KTsKK30KKworCiB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442971</attachid>
            <date>2021-11-01 06:01:30 -0700</date>
            <delta_ts>2021-11-01 09:20:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232562-20211101150129.patch</filename>
            <type>text/plain</type>
            <size>18313</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjE1YmQzZDdiZmNmZTRj
MGFjZGQ5ZGY2ZjFiZjZiZjEzZTQ3ZmQzYi4uMmYxNzYzYTEyNzAxMGQ0ZDZhNTM0ZDZmYjdiOWUz
NDNmOGE2ZTEyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIxLTExLTAxICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgU3R5bGU6OlNjb3Bl
T3JkaW5hbCBmb3IgZmluZGluZyB0aGUgcmlnaHQgc2NvcGUgZm9yIDo6cGFydCBtYXRjaGluZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTYyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgYXJlIHBh
c3NpbmcgU3R5bGU6OlNjb3BlT3JkaW5hbCB0byB0aGUgc2VsZWN0b3IgY2hlY2tlciBzbyB3ZSBj
YW4gdXNlIGl0IGNvbnNpc3RlbnRseSB0byBmaW5kCisgICAgICAgIHRoZSByaWdodCBzY29wZS4K
KworICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
ZWxlY3Rvcjo6c2VsZWN0b3JUZXh0IGNvbnN0KToKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3Iu
aDoKKworICAgICAgICBSZW1vdmUgU2hhZG93UGFydERlc2NlbmRhbnQgcmVsYXRpb25zLCBpdCBu
byBsb25nZXIgZG9lcyBhbnl0aGluZyB1bmlxdWUgb3ZlciBTaGFkb3dEZXNjZW5kYW50LgorCisg
ICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxl
Y3RvckNoZWNrZXI6Om1hdGNoUmVjdXJzaXZlbHkgY29uc3QpOgorCisgICAgICAgIEZpbmQgdGhl
IHJpZ2h0IHNjb3BlIGJhc2VkIG9uIHRoZSBzY29wZSBvcmRpbmFsLgorCisgICAgICAgIChXZWJD
b3JlOjpjYW5NYXRjaEhvdmVyT3JBY3RpdmVJblF1aXJrc01vZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZSBjb25zdCk6CisKKyAgICAgICAgRmluZCB0aGUg
cmlnaHQgc2NvcGUgYmFzZWQgb24gdGhlIHNjb3BlIG9yZGluYWwuCisKKyAgICAgICAgKiBjc3Mv
U2VsZWN0b3JDaGVja2VyLmg6CisgICAgICAgICogY3NzL1NlbGVjdG9yRmlsdGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbGxlY3RTZWxlY3Rvckhhc2hlcyk6CisgICAgICAgICogY3NzL3Bh
cnNlci9DU1NTZWxlY3RvclBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rv
clBhcnNlcjo6c3BsaXRDb21wb3VuZEF0SW1wbGljaXRTaGFkb3dDcm9zc2luZ0NvbWJpbmF0b3Ip
OgorICAgICAgICAqIGNzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNlbGVjdG9yQ29tcGlsZXI6OmZyYWdtZW50UmVsYXRpb25Gb3JTZWxlY3RvclJlbGF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OmNvbnN0cnVjdEZyYWdtZW50
c0ludGVybmFsKToKKyAgICAgICAgKiBzdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoUGFydFBz
ZXVkb0VsZW1lbnRSdWxlc0ZvclNjb3BlKToKKworICAgICAgICBDb21wdXRlIHRoZSBzY29wZSBv
cmRpbmFsIGZvciBuZXN0ZWQgc2NvcGVzLgorICAgICAgICBNYWtlIGl0ZXJhdGl2ZSBpbnN0ZWFk
IG9mIHJlY3Vyc2l2ZS4KKworICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkVsZW1lbnRSdWxlQ29s
bGVjdG9yOjpydWxlTWF0Y2hlcyk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1
bGVDb2xsZWN0b3I6Om1hdGNoQWxsUnVsZXMpOgorICAgICAgICAqIHN0eWxlL0VsZW1lbnRSdWxl
Q29sbGVjdG9yLmg6CisgICAgICAgICogc3R5bGUvUnVsZUZlYXR1cmUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGU6OlJ1bGVGZWF0dXJlU2V0Ojpjb21wdXRlTmV4dE1hdGNoRWxlbWVudCk6
CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZU9yZGluYWwuaDoKKworICAgICAgICBXZSBub3cg
dXNlIHZhbHVlcyBsZXNzIHRoYW4gQ29udGFpbmluZ0hvc3QgdG8gcHJlc2VudCBlbmNsb3Npbmcg
c2NvcGVzLCBzaW1pbGFyIHRvIHNsb3R0ZWQgbWF0Y2hpbmcuCisKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlOjpvcGVyYXRvci0tKToKKwogMjAyMS0xMS0wMSAgRGFuaWVsIEtvbGVzYSAgPGRrb2xl
c2FAaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggYnVpbGQgd2l0aCBHQ0MgOC40IG9uIFVidW50
dSAxOC4wNApAQCAtMTQ5NSw2ICsxNTQ2LDcgQEAKICAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9y
Q2hlY2tlcjo6bWF0Y2hSZWN1cnNpdmVseSBjb25zdCk6CiAKICAgICAgICAgRmluZCB0aGUgcmln
aHQgc2NvcGUgdG8gY29udGludWUgbWF0Y2hpbmcgb24gU2hhZG93U2xvdHRlZCByZWxhdGlvbi4g
UGFzcyBpbiB0aGUgc2NvcGUgb3JkaW5hbCB0byBmaW5kIHRoZSBzY29wZS4KKyAgICAgICAgU2lt
cGxpZnkgdGhlIGFsbG93TXVsdGlwbGVQc2V1ZG9FbGVtZW50cyB0ZXN0cywgdGhlIHBhcnNlciB0
YWtlcyBjYXJlIHRoYXQgb25seSBsZWdhbCBjYXNlcyBjb21lIHRocm91Z2guCiAKICAgICAgICAg
KFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUgY29uc3QpOgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yLmNwcAppbmRleCA2Y2Y3ZGU1ODc5MWYxN2Q3YTAxMjRmYWUwOGVlZDU0Yjk1
NDZiMTZmLi40ODg2YmQwNzU3MjRmMjNhZGU0ZjNiYmU3NGZlOTA3MDgzYTVkN2VhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTgyMiw3ICs4MjIsNiBAQCBTdHJpbmcgQ1NTU2Vs
ZWN0b3I6OnNlbGVjdG9yVGV4dChjb25zdCBTdHJpbmcmIHJpZ2h0U2lkZSkgY29uc3QKICAgICAg
ICAgICAgIEZBTExUSFJPVUdIOwogI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNo
YWRvd0Rlc2NlbmRhbnQ6Ci0gICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd1BhcnREZXNj
ZW5kYW50OgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dTbG90dGVkOgogICAgICAg
ICAgICAgYnVpbGRlci5hcHBlbmQocmlnaHRTaWRlKTsKICAgICAgICAgICAgIHJldHVybiB0YWdI
aXN0b3J5LT5zZWxlY3RvclRleHQoYnVpbGRlci50b1N0cmluZygpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yLmgKaW5kZXggM2RjNjE2NDBhZmIwOGJmNjFmZTM1OTU4OTc3YjFjYzljM2MyMTA2Zi4u
MzdkZDEzOTYxNDhjMDM0Yjc5YjU3YTJkMjE5MmUyZWE4MGJlZjI0YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1NlbGVjdG9yLmgKQEAgLTg3LDcgKzg3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICAgICAgRGlyZWN0QWRqYWNlbnQsCiAgICAgICAgICAgICBJbmRpcmVjdEFkamFjZW50LAogICAg
ICAgICAgICAgU2hhZG93RGVzY2VuZGFudCwKLSAgICAgICAgICAgIFNoYWRvd1BhcnREZXNjZW5k
YW50LAogICAgICAgICAgICAgU2hhZG93U2xvdHRlZAogICAgICAgICB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IGVkZjVmMWIyNzUxMDcwOGFjM2Y4ODRlNmU5
ZGI5YzkzODk4NDRiOWUuLmY2MmQ0MzIyNDZkMTcyMGEwODc2NzAzMjEzZmQzMTk5ZmM3ODI4MWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCkBAIC0zMTYsOCArMzE2LDcg
QEAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaFJlc3VsdCBTZWxlY3RvckNoZWNrZXI6Om1hdGNoUmVj
dXJzaXZlbHkoQ2hlY2tpbmdDb250ZXh0JgogCiAgICAgICAgIG5leHRDb250ZXh0LnBzZXVkb0lk
ID0gUHNldWRvSWQ6Ok5vbmU7CiAKLSAgICAgICAgYm9vbCBuZXh0SXNQYXJ0ID0gbGVmdFNlbGVj
dG9yLT5tYXRjaCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50ICYmIGxlZnRTZWxlY3Rv
ci0+cHNldWRvRWxlbWVudFR5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFBhcnQ7
Ci0gICAgICAgIGJvb2wgYWxsb3dNdWx0aXBsZVBzZXVkb0VsZW1lbnRzID0gcmVsYXRpb24gPT0g
Q1NTU2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQgJiYgbmV4dElzUGFydDsKKyAgICAgICAgYm9v
bCBhbGxvd011bHRpcGxlUHNldWRvRWxlbWVudHMgPSByZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6
U2hhZG93RGVzY2VuZGFudDsKICAgICAgICAgLy8gVmlydHVhbCBwc2V1ZG8gZWxlbWVudCBpcyBv
bmx5IGVmZmVjdGl2ZSBpbiB0aGUgcmlnaHRtb3N0IGZyYWdtZW50LgogICAgICAgICBpZiAoIWFs
bG93TXVsdGlwbGVQc2V1ZG9FbGVtZW50cykKICAgICAgICAgICAgIG5leHRDb250ZXh0LnBzZXVk
b0VsZW1lbnRFZmZlY3RpdmUgPSBmYWxzZTsKQEAgLTQwNywxMyArNDA2LDE1IEBAIFNlbGVjdG9y
Q2hlY2tlcjo6TWF0Y2hSZXN1bHQgU2VsZWN0b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5KENo
ZWNraW5nQ29udGV4dCYKIAogICAgICAgICAgICAgcmV0dXJuIE1hdGNoUmVzdWx0Ojp1cGRhdGVX
aXRoTWF0Y2hUeXBlKHJlc3VsdCwgbWF0Y2hUeXBlKTsKICAgICAgICAgfQotICAgIGNhc2UgQ1NT
U2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQ6Ci0gICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93
UGFydERlc2NlbmRhbnQ6IHsKLSAgICAgICAgLy8gV2hlbiBtYXRjaGluZyBmb286OnBhcnQoYmFy
KSB3ZSBza2lwIGRpcmVjdGx5IHRvIHRoZSB0cmVlIG9mIGVsZW1lbnQgJ2ZvbycuCi0gICAgICAg
IGF1dG8qIHNoYWRvd0hvc3QgPSByZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6U2hhZG93UGFydERl
c2NlbmRhbnQgPyBjaGVja2luZ0NvbnRleHQuc2hhZG93SG9zdEluUGFydFJ1bGVTY29wZSA6IGNv
bnRleHQuZWxlbWVudC0+c2hhZG93SG9zdCgpOwotICAgICAgICBpZiAoIXNoYWRvd0hvc3QpCisg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93RGVzY2VuZGFudDogeworICAgICAgICBhdXRvKiBo
b3N0ID0gY29udGV4dC5lbGVtZW50LT5zaGFkb3dIb3N0KCk7CisgICAgICAgIC8vIFdlIGNvbnRp
bnVlIG1hdGNoaW5nIGluIHRoZSBzY29wZSB3aGVyZSB0aGlzIHJ1bGUgY2FtZSBmcm9tLgorICAg
ICAgICBmb3IgKGF1dG8gc2NvcGVEZXB0aCA9IGNoZWNraW5nQ29udGV4dC5zdHlsZVNjb3BlT3Jk
aW5hbDsgaG9zdCAmJiBzY29wZURlcHRoICE9IFN0eWxlOjpTY29wZU9yZGluYWw6OkNvbnRhaW5p
bmdIb3N0OyArK3Njb3BlRGVwdGgpCisgICAgICAgICAgICBob3N0ID0gaG9zdC0+c2hhZG93SG9z
dCgpOworICAgICAgICBpZiAoIWhvc3QpCiAgICAgICAgICAgICByZXR1cm4gTWF0Y2hSZXN1bHQ6
OmZhaWxzKE1hdGNoOjpTZWxlY3RvckZhaWxzQ29tcGxldGVseSk7Ci0gICAgICAgIG5leHRDb250
ZXh0LmVsZW1lbnQgPSBzaGFkb3dIb3N0OworCisgICAgICAgIG5leHRDb250ZXh0LmVsZW1lbnQg
PSBob3N0OwogICAgICAgICBuZXh0Q29udGV4dC5maXJzdFNlbGVjdG9yT2ZUaGVGcmFnbWVudCA9
IG5leHRDb250ZXh0LnNlbGVjdG9yOwogICAgICAgICBuZXh0Q29udGV4dC5pc1N1YmplY3RPckFk
amFjZW50RWxlbWVudCA9IGZhbHNlOwogICAgICAgICBQc2V1ZG9JZFNldCBpZ25vcmVEeW5hbWlj
UHNldWRvOwpAQCAtNDIzLDEzICs0MjQsMTAgQEAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaFJlc3Vs
dCBTZWxlY3RvckNoZWNrZXI6Om1hdGNoUmVjdXJzaXZlbHkoQ2hlY2tpbmdDb250ZXh0JgogICAg
IH0KICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dTbG90dGVkOiB7CiAgICAgICAgIGF1dG8q
IHNsb3QgPSBjb250ZXh0LmVsZW1lbnQtPmFzc2lnbmVkU2xvdCgpOwotICAgICAgICBpZiAoIXNs
b3QpCi0gICAgICAgICAgICByZXR1cm4gTWF0Y2hSZXN1bHQ6OmZhaWxzKE1hdGNoOjpTZWxlY3Rv
ckZhaWxzQ29tcGxldGVseSk7CiAgICAgICAgIC8vIFdlIGNvbnRpbnVlIG1hdGNoaW5nIGluIHRo
ZSBzY29wZSB3aGVyZSB0aGlzIHJ1bGUgY2FtZSBmcm9tLgotICAgICAgICBhdXRvIHNjb3BlRGVw
dGggPSBzdGF0aWNfY2FzdDxpbnQ+KGNoZWNraW5nQ29udGV4dC5zdHlsZVNjb3BlT3JkaW5hbCk7
Ci0gICAgICAgIHdoaWxlICgtLXNjb3BlRGVwdGggJiYgc2xvdC0+YXNzaWduZWRTbG90KCkpCisg
ICAgICAgIGZvciAoYXV0byBzY29wZURlcHRoID0gY2hlY2tpbmdDb250ZXh0LnN0eWxlU2NvcGVP
cmRpbmFsOyBzbG90ICYmIHNjb3BlRGVwdGggIT0gU3R5bGU6OlNjb3BlT3JkaW5hbDo6Rmlyc3RT
bG90OyAtLXNjb3BlRGVwdGgpCiAgICAgICAgICAgICBzbG90ID0gc2xvdC0+YXNzaWduZWRTbG90
KCk7Ci0gICAgICAgIGlmIChzY29wZURlcHRoKQorICAgICAgICBpZiAoIXNsb3QpCiAgICAgICAg
ICAgICByZXR1cm4gTWF0Y2hSZXN1bHQ6OmZhaWxzKE1hdGNoOjpTZWxlY3RvckZhaWxzQ29tcGxl
dGVseSk7CiAKICAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudCA9IHNsb3Q7CkBAIC02MTUsNyAr
NjEzLDcgQEAgc3RhdGljIGJvb2wgY2FuTWF0Y2hIb3Zlck9yQWN0aXZlSW5RdWlya3NNb2RlKGNv
bnN0IFNlbGVjdG9yQ2hlY2tlcjo6TG9jYWxDb250ZXgKICAgICAgICAgfQogCiAgICAgICAgIGF1
dG8gcmVsYXRpb24gPSBzZWxlY3Rvci0+cmVsYXRpb24oKTsKLSAgICAgICAgaWYgKHJlbGF0aW9u
ID09IENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50IHx8IHJlbGF0aW9uID09IENTU1NlbGVj
dG9yOjpTaGFkb3dQYXJ0RGVzY2VuZGFudCkKKyAgICAgICAgaWYgKHJlbGF0aW9uID09IENTU1Nl
bGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAg
ICAgICAgaWYgKHJlbGF0aW9uICE9IENTU1NlbGVjdG9yOjpTdWJzZWxlY3RvcikKQEAgLTExNzEs
MTEgKzExNjksMTMgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKENoZWNraW5nQ29u
dGV4dCYgY2hlY2tpbmdDb250ZXh0LCBjb25zdCBMb2NhbENvbnQKICAgICAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvRWxlbWVudFBhcnQ6IHsKICAgICAgICAgICAgIGF1dG8gdHJhbnNsYXRl
UGFydE5hbWVUb1J1bGVTY29wZSA9IFsmXShBdG9tU3RyaW5nIHBhcnROYW1lKSB7CiAgICAgICAg
ICAgICAgICAgVmVjdG9yPEF0b21TdHJpbmcsIDE+IG1hcHBlZE5hbWVzIHsgcGFydE5hbWUgfTsK
LSAgICAgICAgICAgICAgICBmb3IgKGF1dG8qIHNoYWRvd1Jvb3QgPSBlbGVtZW50LmNvbnRhaW5p
bmdTaGFkb3dSb290KCk7IHNoYWRvd1Jvb3Q7IHNoYWRvd1Jvb3QgPSBzaGFkb3dSb290LT5ob3N0
KCktPmNvbnRhaW5pbmdTaGFkb3dSb290KCkpIHsKKyAgICAgICAgICAgICAgICAvLyBOZWdhdGl2
ZSBmb3Igc3R5bGUgY29taW5nIGZyb20gaG9zdCBzY29wZS4KKyAgICAgICAgICAgICAgICBhdXRv
IHNjb3BlRGVwdGggPSBjaGVja2luZ0NvbnRleHQuc3R5bGVTY29wZU9yZGluYWw7CisgICAgICAg
ICAgICAgICAgZm9yIChhdXRvKiBzaGFkb3dSb290ID0gZWxlbWVudC5jb250YWluaW5nU2hhZG93
Um9vdCgpOyBzaGFkb3dSb290OyBzaGFkb3dSb290ID0gc2hhZG93Um9vdC0+aG9zdCgpLT5jb250
YWluaW5nU2hhZG93Um9vdCgpLCArK3Njb3BlRGVwdGgpIHsKICAgICAgICAgICAgICAgICAgICAg
Ly8gQXBwbHkgbWFwcGluZ3MgdXAgdG8gdGhlIHNjb3BlIHRoZSBydWxlcyBhcmUgY29taW5nIGZy
b20uCi0gICAgICAgICAgICAgICAgICAgIGlmIChzaGFkb3dSb290LT5ob3N0KCkgPT0gY2hlY2tp
bmdDb250ZXh0LnNoYWRvd0hvc3RJblBhcnRSdWxlU2NvcGUpCisgICAgICAgICAgICAgICAgICAg
IGlmIChzY29wZURlcHRoID09IFN0eWxlOjpTY29wZU9yZGluYWw6OkNvbnRhaW5pbmdIb3N0KQog
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIAorCiAg
ICAgICAgICAgICAgICAgICAgIFZlY3RvcjxBdG9tU3RyaW5nLCAxPiBuZXdNYXBwZWROYW1lczsK
ICAgICAgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBuYW1lIDogbWFwcGVkTmFtZXMpCiAgICAg
ICAgICAgICAgICAgICAgICAgICBuZXdNYXBwZWROYW1lcy5hcHBlbmRWZWN0b3Ioc2hhZG93Um9v
dC0+cGFydE1hcHBpbmdzKCkuZ2V0KG5hbWUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TZWxlY3RvckNoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNr
ZXIuaAppbmRleCAzY2MwN2FhZmUxNDE2OGMxNDRlOGE5ZDU4Y2JmMjdiZjllMzYxYzA2Li41Nzgz
NjIyYzBjNjBlMTY1ZTM2M2NjMGI0MjcyYTY2ZGJhN2UyMzMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1Nl
bGVjdG9yQ2hlY2tlci5oCkBAIC05NSw3ICs5NSw2IEBAIHB1YmxpYzoKICAgICAgICAgQXRvbVN0
cmluZyBuYW1lRm9ySGlnaHRsaWdodFBzZXVkb0VsZW1lbnQ7CiAgICAgICAgIGNvbnN0IENvbnRh
aW5lck5vZGUqIHNjb3BlIHsgbnVsbHB0ciB9OwogICAgICAgICBib29sIGlzTWF0Y2hpbmdIb3N0
UHNldWRvQ2xhc3MgeyBmYWxzZSB9OwotICAgICAgICBjb25zdCBFbGVtZW50KiBzaGFkb3dIb3N0
SW5QYXJ0UnVsZVNjb3BlIHsgbnVsbHB0ciB9OwogICAgICAgICBTdHlsZTo6U2NvcGVPcmRpbmFs
IHN0eWxlU2NvcGVPcmRpbmFsIHsgU3R5bGU6OlNjb3BlT3JkaW5hbDo6RWxlbWVudCB9OwogCiAg
ICAgICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBuaWNlciB0byBoYXZlIGEgc2VwYXJhdGUgb2Jq
ZWN0IGZvciByZXR1cm4gdmFsdWVzLiBUaGlzIHJlcXVpcmVzIHNvbWUgbW9yZSB3b3JrIGluIHRo
ZSBzZWxlY3RvciBjb21waWxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxl
Y3RvckZpbHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JGaWx0ZXIuY3BwCmlu
ZGV4IDZiOTNkMjQ2Y2I2Yjk1YWMwMTFlMDc5YjgxYWYyN2Q4NzhkNmUxZmEuLjg5NWU5ZmM1YTJh
NmU5MDQ5Y2I1YmMxMzFhMGUxYmY0ODhhYWI5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TZWxlY3RvckZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9y
RmlsdGVyLmNwcApAQCAtMTk0LDcgKzE5NCw2IEBAIHN0YXRpYyBDb2xsZWN0ZWRTZWxlY3Rvckhh
c2hlcyBjb2xsZWN0U2VsZWN0b3JIYXNoZXMoY29uc3QgQ1NTU2VsZWN0b3ImIHJpZ2h0bW9zCiAg
ICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkRpcmVjdEFkamFjZW50OgogICAgICAgICBjYXNlIENT
U1NlbGVjdG9yOjpJbmRpcmVjdEFkamFjZW50OgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpT
aGFkb3dEZXNjZW5kYW50OgotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dQYXJ0RGVz
Y2VuZGFudDoKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93U2xvdHRlZDoKICAgICAg
ICAgICAgIHNraXBPdmVyU3Vic2VsZWN0b3JzID0gdHJ1ZTsKICAgICAgICAgICAgIGJyZWFrOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAppbmRl
eCA1YmExMzFiNTg4NTk4ZjVhMjdiYTM4YWE2NGEwNzM0OTQxMWFjOWFhLi4yYzIwMDMyMTAzNjc3
NzBiYzhiYzhkODkwNGUxNWUyNjRhOTQwNWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcApAQCAtMTA5Myw4ICsxMDkzLDYgQEAgc3RkOjp1
bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBDU1NTZWxlY3RvclBhcnNlcjo6c3BsaXRDb21w
b3VuZEF0SW1wbGljaXRTaGEKICAgICBhdXRvIHJlbGF0aW9uID0gWyZdIHsKICAgICAgICAgaWYg
KGlzU2xvdHRlZCkKICAgICAgICAgICAgIHJldHVybiBDU1NTZWxlY3Rvcjo6U2hhZG93U2xvdHRl
ZDsKLSAgICAgICAgaWYgKGlzUGFydCkKLSAgICAgICAgICAgIHJldHVybiBDU1NTZWxlY3Rvcjo6
U2hhZG93UGFydERlc2NlbmRhbnQ7CiAgICAgICAgIHJldHVybiBDU1NTZWxlY3Rvcjo6U2hhZG93
RGVzY2VuZGFudDsKICAgICB9KCk7CiAgICAgc2Vjb25kQ29tcG91bmQtPmFwcGVuZFRhZ0hpc3Rv
cnkocmVsYXRpb24sIFdURk1vdmUoY29tcG91bmRTZWxlY3RvcikpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCmluZGV4IGZlNDExODg2NzQwNGVhMjk3ODIzNzky
ZjllZDIzOTk1NjljYzEwNmIuLjg1Yzg4MDhjZTBhMjYwMGE4ODA0OTliODk5YWM1OThjYTU0MDU0
NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKQEAgLTUw
MCw3ICs1MDAsNiBAQCBzdGF0aWMgaW5saW5lIEZyYWdtZW50UmVsYXRpb24gZnJhZ21lbnRSZWxh
dGlvbkZvclNlbGVjdG9yUmVsYXRpb24oQ1NTU2VsZWN0b3I6OgogICAgICAgICByZXR1cm4gRnJh
Z21lbnRSZWxhdGlvbjo6SW5kaXJlY3RBZGphY2VudDsKICAgICBjYXNlIENTU1NlbGVjdG9yOjpT
dWJzZWxlY3RvcjoKICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50OgotICAg
IGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd1BhcnREZXNjZW5kYW50OgogICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlNoYWRvd1Nsb3R0ZWQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
IH0KQEAgLTEyODcsNyArMTI4Niw3IEBAIHN0YXRpYyBGdW5jdGlvblR5cGUgY29uc3RydWN0RnJh
Z21lbnRzSW50ZXJuYWwoY29uc3QgQ1NTU2VsZWN0b3IqIHJvb3RTZWxlY3RvciwKICAgICAgICAg
aWYgKHJlbGF0aW9uID09IENTU1NlbGVjdG9yOjpTdWJzZWxlY3RvcikKICAgICAgICAgICAgIGNv
bnRpbnVlOwogCi0gICAgICAgIGlmICgocmVsYXRpb24gPT0gQ1NTU2VsZWN0b3I6OlNoYWRvd0Rl
c2NlbmRhbnQgfHwgcmVsYXRpb24gPT0gQ1NTU2VsZWN0b3I6OlNoYWRvd1BhcnREZXNjZW5kYW50
KSAmJiAhc2VsZWN0b3ItPmlzTGFzdEluVGFnSGlzdG9yeSgpKQorICAgICAgICBpZiAocmVsYXRp
b24gPT0gQ1NTU2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQgJiYgIXNlbGVjdG9yLT5pc0xhc3RJ
blRhZ0hpc3RvcnkoKSkKICAgICAgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OkNhbm5vdENv
bXBpbGU7CiAKICAgICAgICAgaWYgKHJlbGF0aW9uID09IENTU1NlbGVjdG9yOjpTaGFkb3dTbG90
dGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCmlu
ZGV4IDVmMjE5OGQyZjBjZmIzOTEzNDBjMTNlM2NlMGFkODcwMTQ5YjQ2MWUuLjhmZTFiNzkwODM0
MGJjOTE3NGQzZTZjYTdkNmJhOWY2M2UyNjRlZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKQEAgLTMwNSwyMSArMzA1LDIzIEBAIHZvaWQgRWxl
bWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoUGFydFBzZXVkb0VsZW1lbnRSdWxlcygpCiAKIHZvaWQg
RWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoUGFydFBzZXVkb0VsZW1lbnRSdWxlc0ZvclNjb3Bl
KGNvbnN0IFNoYWRvd1Jvb3QmIHNjb3BlU2hhZG93Um9vdCkKIHsKLSAgICBhdXRvJiBzaGFkb3dI
b3N0ID0gKnNjb3BlU2hhZG93Um9vdC5ob3N0KCk7Ci0gICAgewotICAgICAgICBTZXRGb3JTY29w
ZTxSZWZQdHI8Y29uc3QgRWxlbWVudD4+IHBhcnRNYXRjaGluZ1Njb3BlKG1fc2hhZG93SG9zdElu
UGFydFJ1bGVTY29wZSwgJnNoYWRvd0hvc3QpOworICAgIGF1dG8qIGhvc3QgPSBzY29wZVNoYWRv
d1Jvb3QuaG9zdCgpOworICAgIGF1dG8gc3R5bGVTY29wZU9yZGluYWwgPSBTY29wZU9yZGluYWw6
OkNvbnRhaW5pbmdIb3N0OwogCi0gICAgICAgIGF1dG8mIGhvc3RBdXRob3JSdWxlcyA9IFNjb3Bl
Ojpmb3JOb2RlKHNoYWRvd0hvc3QpLnJlc29sdmVyKCkucnVsZVNldHMoKS5hdXRob3JTdHlsZSgp
OwotICAgICAgICBNYXRjaFJlcXVlc3QgaG9zdEF1dGhvclJlcXVlc3QgeyAmaG9zdEF1dGhvclJ1
bGVzLCBTY29wZU9yZGluYWw6OkNvbnRhaW5pbmdIb3N0IH07Ci0gICAgICAgIGNvbGxlY3RNYXRj
aGluZ1J1bGVzRm9yTGlzdCgmaG9zdEF1dGhvclJ1bGVzLnBhcnRQc2V1ZG9FbGVtZW50UnVsZXMo
KSwgaG9zdEF1dGhvclJlcXVlc3QpOwotICAgIH0KKyAgICBmb3IgKDsgaG9zdDsgaG9zdCA9IGhv
c3QtPnNoYWRvd0hvc3QoKSwgLS1zdHlsZVNjb3BlT3JkaW5hbCkgeworICAgICAgICBhdXRvJiBz
dHlsZVNjb3BlID0gU2NvcGU6OmZvck5vZGUoKmhvc3QpOworICAgICAgICBpZiAoIXN0eWxlU2Nv
cGUucmVzb2x2ZXIoKS5ydWxlU2V0cygpLmlzQXV0aG9yU3R5bGVEZWZpbmVkKCkpCisgICAgICAg
ICAgICBjb250aW51ZTsKIAotICAgIC8vIEVsZW1lbnQgbWF5IGJlIGV4cG9zZWQgdG8gc3R5bGlu
ZyBmcm9tIGVuY2xvc2luZyBzY29wZXMgdmlhIGV4cG9ydHBhcnRzIGF0dHJpYnV0ZXMuCi0gICAg
aWYgKHNjb3BlU2hhZG93Um9vdC5wYXJ0TWFwcGluZ3MoKS5pc0VtcHR5KCkpCi0gICAgICAgIHJl
dHVybjsKKyAgICAgICAgYXV0byYgaG9zdEF1dGhvclJ1bGVzID0gc3R5bGVTY29wZS5yZXNvbHZl
cigpLnJ1bGVTZXRzKCkuYXV0aG9yU3R5bGUoKTsKKworICAgICAgICBNYXRjaFJlcXVlc3Qgc2Nv
cGVNYXRjaFJlcXVlc3QoJmhvc3RBdXRob3JSdWxlcywgc3R5bGVTY29wZU9yZGluYWwpOworICAg
ICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QoJmhvc3RBdXRob3JSdWxlcy5wYXJ0UHNl
dWRvRWxlbWVudFJ1bGVzKCksIHNjb3BlTWF0Y2hSZXF1ZXN0KTsKIAotICAgIGlmIChhdXRvKiBw
YXJlbnRTY29wZVNoYWRvd1Jvb3QgPSBzaGFkb3dIb3N0LmNvbnRhaW5pbmdTaGFkb3dSb290KCkp
Ci0gICAgICAgIG1hdGNoUGFydFBzZXVkb0VsZW1lbnRSdWxlc0ZvclNjb3BlKCpwYXJlbnRTY29w
ZVNoYWRvd1Jvb3QpOworICAgICAgICAvLyBFbGVtZW50IG1heSBvbmx5IGJlIGV4cG9zZWQgdG8g
c3R5bGluZyBmcm9tIGVuY2xvc2luZyBzY29wZXMgdmlhIGV4cG9ydHBhcnRzIGF0dHJpYnV0ZXMu
CisgICAgICAgIGlmIChob3N0LT5zaGFkb3dSb290KCktPnBhcnRNYXBwaW5ncygpLmlzRW1wdHko
KSkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KIH0KIAogdm9pZCBFbGVtZW50UnVsZUNvbGxl
Y3Rvcjo6Y29sbGVjdE1hdGNoaW5nU2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKGNvbnN0IE1hdGNo
UmVxdWVzdCYgbWF0Y2hSZXF1ZXN0KQpAQCAtNDMwLDcgKzQzMiw2IEBAIGlubGluZSBib29sIEVs
ZW1lbnRSdWxlQ29sbGVjdG9yOjpydWxlTWF0Y2hlcyhjb25zdCBSdWxlRGF0YSYgcnVsZURhdGEs
IHVuc2lnbmVkCiAgICAgY29udGV4dC5zY3JvbGxiYXJTdGF0ZSA9IG1fcHNldWRvRWxlbWVudFJl
cXVlc3Quc2Nyb2xsYmFyU3RhdGU7CiAgICAgY29udGV4dC5uYW1lRm9ySGlnaHRsaWdodFBzZXVk
b0VsZW1lbnQgPSBtX3BzZXVkb0VsZW1lbnRSZXF1ZXN0LmhpZ2hsaWdodE5hbWU7CiAgICAgY29u
dGV4dC5pc01hdGNoaW5nSG9zdFBzZXVkb0NsYXNzID0gbV9pc01hdGNoaW5nSG9zdFBzZXVkb0Ns
YXNzOwotICAgIGNvbnRleHQuc2hhZG93SG9zdEluUGFydFJ1bGVTY29wZSA9IG1fc2hhZG93SG9z
dEluUGFydFJ1bGVTY29wZS5nZXQoKTsKICAgICBjb250ZXh0LnN0eWxlU2NvcGVPcmRpbmFsID0g
c3R5bGVTY29wZU9yZGluYWw7CiAKICAgICBib29sIHNlbGVjdG9yTWF0Y2hlczsKQEAgLTU0OCw4
ICs1NDksOCBAQCB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaEFsbFJ1bGVzKGJvb2wg
bWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzLCBib29sIGluYwogICAgICAgICAvLyBJbmxpbmUgc3R5
bGUgYmVoYXZlcyBhcyBpZiBpdCBoYXMgaGlnaGVyIHNwZWNpZmljaXR5IHRoYW4gYW55IHJ1bGUu
CiAgICAgICAgIGFkZEVsZW1lbnRJbmxpbmVTdHlsZVByb3BlcnRpZXMoaW5jbHVkZVNNSUxQcm9w
ZXJ0aWVzKTsKIAotICAgICAgICAvLyBSdWxlcyBmcm9tIHRoZSBob3N0IHNjb3BlIG92ZXJyaWRl
IGlubGluZSBzdHlsZS4KLSAgICAgICAgdHJhbnNmZXJNYXRjaGVkUnVsZXMoRGVjbGFyYXRpb25P
cmlnaW46OkF1dGhvciwgU2NvcGVPcmRpbmFsOjpDb250YWluaW5nSG9zdCk7CisgICAgICAgIC8v
IFJ1bGVzIGZyb20gdGhlIGhvc3Qgc2NvcGVzIG92ZXJyaWRlIGlubGluZSBzdHlsZS4KKyAgICAg
ICAgdHJhbnNmZXJNYXRjaGVkUnVsZXMoRGVjbGFyYXRpb25PcmlnaW46OkF1dGhvcik7CiAgICAg
fQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxl
Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaAppbmRl
eCBjZDM1MjU0NDQ5MjBmYTcyZDAzMGEyOWQ1N2IwOWVlZmFiYzE3ZWY0Li5kMDczMzg0N2I0ZDRl
ZTEzNmYxY2JmYjZiYzlhMGMxNTgwNjM0YTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0Vs
ZW1lbnRSdWxlQ29sbGVjdG9yLmgKQEAgLTE2Myw3ICsxNjMsNiBAQCBwcml2YXRlOgogICAgIFBz
ZXVkb0VsZW1lbnRSZXF1ZXN0IG1fcHNldWRvRWxlbWVudFJlcXVlc3QgeyBQc2V1ZG9JZDo6Tm9u
ZSB9OwogICAgIFNlbGVjdG9yQ2hlY2tlcjo6TW9kZSBtX21vZGUgeyBTZWxlY3RvckNoZWNrZXI6
Ok1vZGU6OlJlc29sdmluZ1N0eWxlIH07CiAgICAgYm9vbCBtX2lzTWF0Y2hpbmdIb3N0UHNldWRv
Q2xhc3MgeyBmYWxzZSB9OwotICAgIFJlZlB0cjxjb25zdCBFbGVtZW50PiBtX3NoYWRvd0hvc3RJ
blBhcnRSdWxlU2NvcGU7CiAKICAgICBWZWN0b3I8TWF0Y2hlZFJ1bGUsIDY0PiBtX21hdGNoZWRS
dWxlczsKICAgICBzaXplX3QgbV9tYXRjaGVkUnVsZVRyYW5zZmVySW5kZXggeyAwIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlRmVhdHVyZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9SdWxlRmVhdHVyZS5jcHAKaW5kZXggYmUzM2VmMjNlNDU2Y2NkNjZlZmQwNTli
Y2UwMjNjNTFhOGEwMDIzYy4uZDM3MDI3MDZiMWU3ZWZjMWQ5ZTQ0ZDU4ZjRiYTlhZTRiYjhhYzY2
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZUZlYXR1cmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVGZWF0dXJlLmNwcApAQCAtODQsNyArODQsNiBAQCBN
YXRjaEVsZW1lbnQgUnVsZUZlYXR1cmVTZXQ6OmNvbXB1dGVOZXh0TWF0Y2hFbGVtZW50KE1hdGNo
RWxlbWVudCBtYXRjaEVsZW1lbnQsCiAgICAgICAgICAgICAgICAgcmV0dXJuIE1hdGNoRWxlbWVu
dDo6QW55U2libGluZzsKICAgICAgICAgICAgIHJldHVybiBtYXRjaEVsZW1lbnQgPT0gTWF0Y2hF
bGVtZW50OjpTdWJqZWN0ID8gTWF0Y2hFbGVtZW50OjpEaXJlY3RTaWJsaW5nIDogTWF0Y2hFbGVt
ZW50OjpJbmRpcmVjdFNpYmxpbmc7CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd0Rl
c2NlbmRhbnQ6Ci0gICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd1BhcnREZXNjZW5kYW50
OgogICAgICAgICAgICAgcmV0dXJuIE1hdGNoRWxlbWVudDo6SG9zdDsKICAgICAgICAgY2FzZSBD
U1NTZWxlY3Rvcjo6U2hhZG93U2xvdHRlZDoKICAgICAgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQgYWNjdXJhdGUgaW52YWxpZGF0aW9uLgpAQCAtMTAxLDcgKzEwMCw2IEBAIE1hdGNoRWxlbWVu
dCBSdWxlRmVhdHVyZVNldDo6Y29tcHV0ZU5leHRNYXRjaEVsZW1lbnQoTWF0Y2hFbGVtZW50IG1h
dGNoRWxlbWVudCwKICAgICBjYXNlIENTU1NlbGVjdG9yOjpEaXJlY3RBZGphY2VudDoKICAgICAg
ICAgcmV0dXJuIG1hdGNoRWxlbWVudCA9PSBNYXRjaEVsZW1lbnQ6OlBhcmVudCA/IE1hdGNoRWxl
bWVudDo6UGFyZW50U2libGluZyA6IE1hdGNoRWxlbWVudDo6QW5jZXN0b3JTaWJsaW5nOwogICAg
IGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQ6Ci0gICAgY2FzZSBDU1NTZWxlY3Rv
cjo6U2hhZG93UGFydERlc2NlbmRhbnQ6CiAgICAgICAgIHJldHVybiBNYXRjaEVsZW1lbnQ6Okhv
c3Q7CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93U2xvdHRlZDoKICAgICAgICAgLy8gRklY
TUU6IEltcGxlbWVudCBhY2N1cmF0ZSBpbnZhbGlkYXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlT3JkaW5hbC5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVTY29wZU9yZGluYWwuaAppbmRleCAxNWU5NjhkYjY0MzA1MDg1ODFiMzk4ZGY3MzViNWM2
NmNkNmE0ZWE5Li4zNjg3YjAyYmFmZjJmZmM1YmE0MTM3NGRjMTFkNDQ2OWFlOGQ3MTZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlT3JkaW5hbC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGVPcmRpbmFsLmgKQEAgLTMwLDcgKzMwLDcgQEAg
bmFtZXNwYWNlIFN0eWxlIHsKIC8vIFRoaXMgaXMgdXNlZCB0byBpZGVudGlmeSBzdHlsZSBzY29w
ZXMgdGhhdCBjYW4gYWZmZWN0IGFuIGVsZW1lbnQuCiAvLyBTY29wZXMgYXJlIGluIHRyZWUtb2Yt
dHJlZXMgb3JkZXIuIFN0eWxlcyBmcm9tIGVhcmxpZXIgc2NvcGVzIHdpbiBvdmVyIGxhdGVyIG9u
ZXMgKG1vZHVsbyAhaW1wb3J0YW50KS4KIGVudW0gY2xhc3MgU2NvcGVPcmRpbmFsIDogaW50IHsK
LSAgICBDb250YWluaW5nSG9zdCA9IC0xLCAvLyA6OnBhcnQgcnVsZXMgYW5kIGF1dGhvci1leHBv
c2VkIFVBIHBzZXVkbyBjbGFzc2VzIGZyb20gdGhlIGhvc3QgdHJlZSBzY29wZS4KKyAgICBDb250
YWluaW5nSG9zdCA9IC0xLCAvLyA6OnBhcnQgcnVsZXMgYW5kIGF1dGhvci1leHBvc2VkIFVBIHBz
ZXVkbyBjbGFzc2VzIGZyb20gdGhlIGhvc3QgdHJlZSBzY29wZS4gVmFsdWVzIGxlc3MgdGhhbiBD
b250YWluaW5nSG9zdCBpbmRpY2F0ZSBlbmNsb3Npbmcgc2NvcGVzLgogICAgIEVsZW1lbnQgPSAw
LCAvLyBOb3JtYWwgcnVsZXMgaW4gdGhlIHNhbWUgdHJlZSB3aGVyZSB0aGUgZWxlbWVudCBpcy4K
ICAgICBGaXJzdFNsb3QgPSAxLCAvLyA6OnNsb3R0ZWQgcnVsZXMgaW4gdGhlIHBhcmVudCdzIHNo
YWRvdyB0cmVlLiBWYWx1ZXMgZ3JlYXRlciB0aGFuIEZpcnN0U2xvdCBpbmRpY2F0ZSBzdWJzZXF1
ZW50IHNsb3RzIGluIHRoZSBjaGFpbi4KICAgICBTaGFkb3cgPSBzdGQ6Om51bWVyaWNfbGltaXRz
PGludD46Om1heCgpLCAvLyA6aG9zdCBydWxlcyBpbiBlbGVtZW50J3Mgb3duIHNoYWRvdyB0cmVl
LgpAQCAtNDIsNSArNDIsMTIgQEAgaW5saW5lIFNjb3BlT3JkaW5hbCYgb3BlcmF0b3IrKyhTY29w
ZU9yZGluYWwmIG9yZGluYWwpCiAgICAgcmV0dXJuIG9yZGluYWwgPSBzdGF0aWNfY2FzdDxTY29w
ZU9yZGluYWw+KHN0YXRpY19jYXN0PGludD4ob3JkaW5hbCkgKyAxKTsKIH0KIAoraW5saW5lIFNj
b3BlT3JkaW5hbCYgb3BlcmF0b3ItLShTY29wZU9yZGluYWwmIG9yZGluYWwpCit7CisgICAgQVNT
RVJUKG9yZGluYWwgPCBTY29wZU9yZGluYWw6OlNoYWRvdyk7CisgICAgcmV0dXJuIG9yZGluYWwg
PSBzdGF0aWNfY2FzdDxTY29wZU9yZGluYWw+KHN0YXRpY19jYXN0PGludD4ob3JkaW5hbCkgLSAx
KTsKK30KKworCiB9CiB9Cg==
</data>
<flag name="commit-queue"
          id="467596"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442981</attachid>
            <date>2021-11-01 09:15:46 -0700</date>
            <delta_ts>2021-11-01 09:57:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232562-20211101181544.patch</filename>
            <type>text/plain</type>
            <size>16265</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjE1YmQzZDdiZmNmZTRj
MGFjZGQ5ZGY2ZjFiZjZiZjEzZTQ3ZmQzYi4uMmE1M2Q4MjBhYTk1MWQ5NDNjZDc2YTg4NzkzYmY3
YmE3M2QyYTBjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIxLTExLTAxICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgU3R5bGU6OlNjb3Bl
T3JkaW5hbCBmb3IgZmluZGluZyB0aGUgcmlnaHQgc2NvcGUgZm9yIDo6cGFydCBtYXRjaGluZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTYyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgYXJlIHBh
c3NpbmcgdGhlIHNjb3BlIG9yZGluYWwgdG8gdGhlIHNlbGVjdG9yIGNoZWNrZXIgc28gd2UgY2Fu
IHVzZSBpdCBjb25zaXN0ZW50bHkgdG8gZmluZAorICAgICAgICB0aGUgcmlnaHQgc2NvcGUuCisK
KyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNl
bGVjdG9yQ2hlY2tlcjo6bWF0Y2hSZWN1cnNpdmVseSBjb25zdCk6CisKKyAgICAgICAgRmluZCB0
aGUgcmlnaHQgc2NvcGUgYmFzZWQgb24gdGhlIHNjb3BlIG9yZGluYWwuCisgICAgICAgIFNpbXBs
aWZ5IGFsbG93TXVsdGlwbGVQc2V1ZG9FbGVtZW50cyBjaGVjaywgaW52YWxpZCBjYXNlcyBhcmUg
bm90IGFsbG93ZWQgYnkgdGhlIHBhcnNlci4KKworICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JD
aGVja2VyOjpjaGVja09uZSBjb25zdCk6CisKKyAgICAgICAgRmluZCB0aGUgcmlnaHQgc2NvcGUg
YmFzZWQgb24gdGhlIHNjb3BlIG9yZGluYWwuCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVj
a2VyLmg6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoKKyAgICAgICAgKiBzdHlsZS9FbGVt
ZW50UnVsZUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1
bGVDb2xsZWN0b3I6Om1hdGNoUGFydFBzZXVkb0VsZW1lbnRSdWxlc0ZvclNjb3BlKToKKworICAg
ICAgICBDb21wdXRlIHRoZSBzY29wZSBvcmRpbmFsIGZvciBuZXN0ZWQgc2NvcGVzLgorICAgICAg
ICBNYWtlIGl0ZXJhdGl2ZSBpbnN0ZWFkIG9mIHJlY3Vyc2l2ZS4KKworICAgICAgICAoV2ViQ29y
ZTo6U3R5bGU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjpydWxlTWF0Y2hlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoQWxsUnVsZXMpOgorCisg
ICAgICAgIEZsdXNoIGFsbCByZW1haW5pbmcgcnVsZXMuCisKKyAgICAgICAgKiBzdHlsZS9FbGVt
ZW50UnVsZUNvbGxlY3Rvci5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlU2NvcGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGU6OlNjb3BlOjpmb3JPcmRpbmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlOjphc3NpZ25lZFNsb3RGb3JTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZTo6aG9zdEZvclNjb3BlKToKKworICAgICAgICBBZGQgaGVscGVycy4KKworICAgICAgICAqIHN0
eWxlL1N0eWxlU2NvcGUuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZVNjb3BlT3JkaW5hbC5oOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6Om9wZXJhdG9yLS0pOgorCisgICAgICAgIFdlIG5vdyB1
c2UgdmFsdWVzIGxlc3MgdGhhbiBDb250YWluaW5nSG9zdCB0byBwcmVzZW50IGVuY2xvc2luZyBz
Y29wZXMsIHNpbWlsYXIgdG8gc2xvdHRlZCBtYXRjaGluZy4KKwogMjAyMS0xMS0wMSAgRGFuaWVs
IEtvbGVzYSAgPGRrb2xlc2FAaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggYnVpbGQgd2l0aCBH
Q0MgOC40IG9uIFVidW50dSAxOC4wNApAQCAtMTQ5NSw2ICsxNTQyLDcgQEAKICAgICAgICAgKFdl
YkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2hSZWN1cnNpdmVseSBjb25zdCk6CiAKICAgICAg
ICAgRmluZCB0aGUgcmlnaHQgc2NvcGUgdG8gY29udGludWUgbWF0Y2hpbmcgb24gU2hhZG93U2xv
dHRlZCByZWxhdGlvbi4gUGFzcyBpbiB0aGUgc2NvcGUgb3JkaW5hbCB0byBmaW5kIHRoZSBzY29w
ZS4KKyAgICAgICAgU2ltcGxpZnkgdGhlIGFsbG93TXVsdGlwbGVQc2V1ZG9FbGVtZW50cyB0ZXN0
cywgdGhlIHBhcnNlciB0YWtlcyBjYXJlIHRoYXQgb25seSBsZWdhbCBjYXNlcyBjb21lIHRocm91
Z2guCiAKICAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUgY29uc3Qp
OgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IGVkZjVmMWIyNzUx
MDcwOGFjM2Y4ODRlNmU5ZGI5YzkzODk4NDRiOWUuLjIxZDlmYTRjY2UyMDQ3MTMwY2Q5NzFlMTJm
YjYzM2EwMzYyYWRhMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNo
ZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCkBA
IC0zMTYsOCArMzE2LDcgQEAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaFJlc3VsdCBTZWxlY3RvckNo
ZWNrZXI6Om1hdGNoUmVjdXJzaXZlbHkoQ2hlY2tpbmdDb250ZXh0JgogCiAgICAgICAgIG5leHRD
b250ZXh0LnBzZXVkb0lkID0gUHNldWRvSWQ6Ok5vbmU7CiAKLSAgICAgICAgYm9vbCBuZXh0SXNQ
YXJ0ID0gbGVmdFNlbGVjdG9yLT5tYXRjaCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50
ICYmIGxlZnRTZWxlY3Rvci0+cHNldWRvRWxlbWVudFR5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNl
dWRvRWxlbWVudFBhcnQ7Ci0gICAgICAgIGJvb2wgYWxsb3dNdWx0aXBsZVBzZXVkb0VsZW1lbnRz
ID0gcmVsYXRpb24gPT0gQ1NTU2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQgJiYgbmV4dElzUGFy
dDsKKyAgICAgICAgYm9vbCBhbGxvd011bHRpcGxlUHNldWRvRWxlbWVudHMgPSByZWxhdGlvbiA9
PSBDU1NTZWxlY3Rvcjo6U2hhZG93RGVzY2VuZGFudDsKICAgICAgICAgLy8gVmlydHVhbCBwc2V1
ZG8gZWxlbWVudCBpcyBvbmx5IGVmZmVjdGl2ZSBpbiB0aGUgcmlnaHRtb3N0IGZyYWdtZW50Lgog
ICAgICAgICBpZiAoIWFsbG93TXVsdGlwbGVQc2V1ZG9FbGVtZW50cykKICAgICAgICAgICAgIG5l
eHRDb250ZXh0LnBzZXVkb0VsZW1lbnRFZmZlY3RpdmUgPSBmYWxzZTsKQEAgLTQwOSwxMSArNDA4
LDE0IEBAIFNlbGVjdG9yQ2hlY2tlcjo6TWF0Y2hSZXN1bHQgU2VsZWN0b3JDaGVja2VyOjptYXRj
aFJlY3Vyc2l2ZWx5KENoZWNraW5nQ29udGV4dCYKICAgICAgICAgfQogICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQ6CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93UGFy
dERlc2NlbmRhbnQ6IHsKLSAgICAgICAgLy8gV2hlbiBtYXRjaGluZyBmb286OnBhcnQoYmFyKSB3
ZSBza2lwIGRpcmVjdGx5IHRvIHRoZSB0cmVlIG9mIGVsZW1lbnQgJ2ZvbycuCi0gICAgICAgIGF1
dG8qIHNoYWRvd0hvc3QgPSByZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6U2hhZG93UGFydERlc2Nl
bmRhbnQgPyBjaGVja2luZ0NvbnRleHQuc2hhZG93SG9zdEluUGFydFJ1bGVTY29wZSA6IGNvbnRl
eHQuZWxlbWVudC0+c2hhZG93SG9zdCgpOwotICAgICAgICBpZiAoIXNoYWRvd0hvc3QpCisgICAg
ICAgIC8vIENvbnRpbnVlIG1hdGNoaW5nIGluIHRoZSBzY29wZSB3aGVyZSB0aGlzIHJ1bGUgY2Ft
ZSBmcm9tLgorICAgICAgICBhdXRvKiBob3N0ID0gcmVsYXRpb24gPT0gQ1NTU2VsZWN0b3I6OlNo
YWRvd1BhcnREZXNjZW5kYW50CisgICAgICAgICAgICA/IFN0eWxlOjpob3N0Rm9yU2NvcGVPcmRp
bmFsKCpjb250ZXh0LmVsZW1lbnQsIGNoZWNraW5nQ29udGV4dC5zdHlsZVNjb3BlT3JkaW5hbCkK
KyAgICAgICAgICAgIDogY29udGV4dC5lbGVtZW50LT5zaGFkb3dIb3N0KCk7CisgICAgICAgIGlm
ICghaG9zdCkKICAgICAgICAgICAgIHJldHVybiBNYXRjaFJlc3VsdDo6ZmFpbHMoTWF0Y2g6OlNl
bGVjdG9yRmFpbHNDb21wbGV0ZWx5KTsKLSAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudCA9IHNo
YWRvd0hvc3Q7CisKKyAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudCA9IGhvc3Q7CiAgICAgICAg
IG5leHRDb250ZXh0LmZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50ID0gbmV4dENvbnRleHQuc2Vs
ZWN0b3I7CiAgICAgICAgIG5leHRDb250ZXh0LmlzU3ViamVjdE9yQWRqYWNlbnRFbGVtZW50ID0g
ZmFsc2U7CiAgICAgICAgIFBzZXVkb0lkU2V0IGlnbm9yZUR5bmFtaWNQc2V1ZG87CkBAIC00MjIs
MTQgKzQyNCw5IEBAIFNlbGVjdG9yQ2hlY2tlcjo6TWF0Y2hSZXN1bHQgU2VsZWN0b3JDaGVja2Vy
OjptYXRjaFJlY3Vyc2l2ZWx5KENoZWNraW5nQ29udGV4dCYKICAgICAgICAgcmV0dXJuIE1hdGNo
UmVzdWx0Ojp1cGRhdGVXaXRoTWF0Y2hUeXBlKHJlc3VsdCwgbWF0Y2hUeXBlKTsKICAgICB9CiAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93U2xvdHRlZDogewotICAgICAgICBhdXRvKiBzbG90
ID0gY29udGV4dC5lbGVtZW50LT5hc3NpZ25lZFNsb3QoKTsKLSAgICAgICAgaWYgKCFzbG90KQot
ICAgICAgICAgICAgcmV0dXJuIE1hdGNoUmVzdWx0OjpmYWlscyhNYXRjaDo6U2VsZWN0b3JGYWls
c0NvbXBsZXRlbHkpOwogICAgICAgICAvLyBXZSBjb250aW51ZSBtYXRjaGluZyBpbiB0aGUgc2Nv
cGUgd2hlcmUgdGhpcyBydWxlIGNhbWUgZnJvbS4KLSAgICAgICAgYXV0byBzY29wZURlcHRoID0g
c3RhdGljX2Nhc3Q8aW50PihjaGVja2luZ0NvbnRleHQuc3R5bGVTY29wZU9yZGluYWwpOwotICAg
ICAgICB3aGlsZSAoLS1zY29wZURlcHRoICYmIHNsb3QtPmFzc2lnbmVkU2xvdCgpKQotICAgICAg
ICAgICAgc2xvdCA9IHNsb3QtPmFzc2lnbmVkU2xvdCgpOwotICAgICAgICBpZiAoc2NvcGVEZXB0
aCkKKyAgICAgICAgYXV0byBzbG90ID0gU3R5bGU6OmFzc2lnbmVkU2xvdEZvclNjb3BlT3JkaW5h
bCgqY29udGV4dC5lbGVtZW50LCBjaGVja2luZ0NvbnRleHQuc3R5bGVTY29wZU9yZGluYWwpOwor
ICAgICAgICBpZiAoIXNsb3QpCiAgICAgICAgICAgICByZXR1cm4gTWF0Y2hSZXN1bHQ6OmZhaWxz
KE1hdGNoOjpTZWxlY3RvckZhaWxzQ29tcGxldGVseSk7CiAKICAgICAgICAgbmV4dENvbnRleHQu
ZWxlbWVudCA9IHNsb3Q7CkBAIC0xMTcxLDExICsxMTY4LDEzIEBAIGJvb2wgU2VsZWN0b3JDaGVj
a2VyOjpjaGVja09uZShDaGVja2luZ0NvbnRleHQmIGNoZWNraW5nQ29udGV4dCwgY29uc3QgTG9j
YWxDb250CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRQYXJ0OiB7CiAg
ICAgICAgICAgICBhdXRvIHRyYW5zbGF0ZVBhcnROYW1lVG9SdWxlU2NvcGUgPSBbJl0oQXRvbVN0
cmluZyBwYXJ0TmFtZSkgewogICAgICAgICAgICAgICAgIFZlY3RvcjxBdG9tU3RyaW5nLCAxPiBt
YXBwZWROYW1lcyB7IHBhcnROYW1lIH07CisgICAgICAgICAgICAgICAgYXV0byogcnVsZVNjb3Bl
SG9zdCA9IFN0eWxlOjpob3N0Rm9yU2NvcGVPcmRpbmFsKCpjb250ZXh0LmVsZW1lbnQsIGNoZWNr
aW5nQ29udGV4dC5zdHlsZVNjb3BlT3JkaW5hbCk7CisKICAgICAgICAgICAgICAgICBmb3IgKGF1
dG8qIHNoYWRvd1Jvb3QgPSBlbGVtZW50LmNvbnRhaW5pbmdTaGFkb3dSb290KCk7IHNoYWRvd1Jv
b3Q7IHNoYWRvd1Jvb3QgPSBzaGFkb3dSb290LT5ob3N0KCktPmNvbnRhaW5pbmdTaGFkb3dSb290
KCkpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gQXBwbHkgbWFwcGluZ3MgdXAgdG8gdGhlIHNj
b3BlIHRoZSBydWxlcyBhcmUgY29taW5nIGZyb20uCi0gICAgICAgICAgICAgICAgICAgIGlmIChz
aGFkb3dSb290LT5ob3N0KCkgPT0gY2hlY2tpbmdDb250ZXh0LnNoYWRvd0hvc3RJblBhcnRSdWxl
U2NvcGUpCisgICAgICAgICAgICAgICAgICAgIGlmIChzaGFkb3dSb290LT5ob3N0KCkgPT0gcnVs
ZVNjb3BlSG9zdCkKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
ICAgICAgICAKKwogICAgICAgICAgICAgICAgICAgICBWZWN0b3I8QXRvbVN0cmluZywgMT4gbmV3
TWFwcGVkTmFtZXM7CiAgICAgICAgICAgICAgICAgICAgIGZvciAoYXV0byYgbmFtZSA6IG1hcHBl
ZE5hbWVzKQogICAgICAgICAgICAgICAgICAgICAgICAgbmV3TWFwcGVkTmFtZXMuYXBwZW5kVmVj
dG9yKHNoYWRvd1Jvb3QtPnBhcnRNYXBwaW5ncygpLmdldChuYW1lKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U2VsZWN0b3JDaGVja2VyLmgKaW5kZXggM2NjMDdhYWZlMTQxNjhjMTQ0ZThhOWQ1OGNiZjI3YmY5
ZTM2MWMwNi4uNTc4MzYyMmMwYzYwZTE2NWUzNjNjYzBiNDI3MmE2NmRiYTdlMjMzMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuaApAQCAtOTUsNyArOTUsNiBAQCBwdWJsaWM6CiAg
ICAgICAgIEF0b21TdHJpbmcgbmFtZUZvckhpZ2h0bGlnaHRQc2V1ZG9FbGVtZW50OwogICAgICAg
ICBjb25zdCBDb250YWluZXJOb2RlKiBzY29wZSB7IG51bGxwdHIgfTsKICAgICAgICAgYm9vbCBp
c01hdGNoaW5nSG9zdFBzZXVkb0NsYXNzIHsgZmFsc2UgfTsKLSAgICAgICAgY29uc3QgRWxlbWVu
dCogc2hhZG93SG9zdEluUGFydFJ1bGVTY29wZSB7IG51bGxwdHIgfTsKICAgICAgICAgU3R5bGU6
OlNjb3BlT3JkaW5hbCBzdHlsZVNjb3BlT3JkaW5hbCB7IFN0eWxlOjpTY29wZU9yZGluYWw6OkVs
ZW1lbnQgfTsKIAogICAgICAgICAvLyBGSVhNRTogSXQgd291bGQgYmUgbmljZXIgdG8gaGF2ZSBh
IHNlcGFyYXRlIG9iamVjdCBmb3IgcmV0dXJuIHZhbHVlcy4gVGhpcyByZXF1aXJlcyBzb21lIG1v
cmUgd29yayBpbiB0aGUgc2VsZWN0b3IgY29tcGlsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93Um9vdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaApp
bmRleCBiYjk5NmIyN2JjMTU3MGEyNDk0NTI2MDI5MDEwNTE5ZDM3MjEyODY3Li5hMmU1YWVkY2Nh
ZTdlMDUxYTNhZWRiOTRiMzFmOTNmYzdiNjEyY2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2hhZG93Um9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgK
QEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50RnJhZ21lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiU3R5bGVTY29w
ZU9yZGluYWwuaCIKICNpZiBFTkFCTEUoUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkKICNpbmNsdWRl
ICJIVE1MVmlkZW9FbGVtZW50LmgiCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0Vs
ZW1lbnRSdWxlQ29sbGVjdG9yLmNwcAppbmRleCA1ZjIxOThkMmYwY2ZiMzkxMzQwYzEzZTNjZTBh
ZDg3MDE0OWI0NjFlLi44ZmUxYjc5MDgzNDBiYzkxNzRkM2U2Y2E3ZDZiYTlmNjNlMjY0ZWVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCkBAIC0z
MDUsMjEgKzMwNSwyMyBAQCB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaFBhcnRQc2V1
ZG9FbGVtZW50UnVsZXMoKQogCiB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaFBhcnRQ
c2V1ZG9FbGVtZW50UnVsZXNGb3JTY29wZShjb25zdCBTaGFkb3dSb290JiBzY29wZVNoYWRvd1Jv
b3QpCiB7Ci0gICAgYXV0byYgc2hhZG93SG9zdCA9ICpzY29wZVNoYWRvd1Jvb3QuaG9zdCgpOwot
ICAgIHsKLSAgICAgICAgU2V0Rm9yU2NvcGU8UmVmUHRyPGNvbnN0IEVsZW1lbnQ+PiBwYXJ0TWF0
Y2hpbmdTY29wZShtX3NoYWRvd0hvc3RJblBhcnRSdWxlU2NvcGUsICZzaGFkb3dIb3N0KTsKKyAg
ICBhdXRvKiBob3N0ID0gc2NvcGVTaGFkb3dSb290Lmhvc3QoKTsKKyAgICBhdXRvIHN0eWxlU2Nv
cGVPcmRpbmFsID0gU2NvcGVPcmRpbmFsOjpDb250YWluaW5nSG9zdDsKIAotICAgICAgICBhdXRv
JiBob3N0QXV0aG9yUnVsZXMgPSBTY29wZTo6Zm9yTm9kZShzaGFkb3dIb3N0KS5yZXNvbHZlcigp
LnJ1bGVTZXRzKCkuYXV0aG9yU3R5bGUoKTsKLSAgICAgICAgTWF0Y2hSZXF1ZXN0IGhvc3RBdXRo
b3JSZXF1ZXN0IHsgJmhvc3RBdXRob3JSdWxlcywgU2NvcGVPcmRpbmFsOjpDb250YWluaW5nSG9z
dCB9OwotICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QoJmhvc3RBdXRob3JSdWxl
cy5wYXJ0UHNldWRvRWxlbWVudFJ1bGVzKCksIGhvc3RBdXRob3JSZXF1ZXN0KTsKLSAgICB9Cisg
ICAgZm9yICg7IGhvc3Q7IGhvc3QgPSBob3N0LT5zaGFkb3dIb3N0KCksIC0tc3R5bGVTY29wZU9y
ZGluYWwpIHsKKyAgICAgICAgYXV0byYgc3R5bGVTY29wZSA9IFNjb3BlOjpmb3JOb2RlKCpob3N0
KTsKKyAgICAgICAgaWYgKCFzdHlsZVNjb3BlLnJlc29sdmVyKCkucnVsZVNldHMoKS5pc0F1dGhv
clN0eWxlRGVmaW5lZCgpKQorICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAvLyBFbGVtZW50
IG1heSBiZSBleHBvc2VkIHRvIHN0eWxpbmcgZnJvbSBlbmNsb3Npbmcgc2NvcGVzIHZpYSBleHBv
cnRwYXJ0cyBhdHRyaWJ1dGVzLgotICAgIGlmIChzY29wZVNoYWRvd1Jvb3QucGFydE1hcHBpbmdz
KCkuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47CisgICAgICAgIGF1dG8mIGhvc3RBdXRob3JS
dWxlcyA9IHN0eWxlU2NvcGUucmVzb2x2ZXIoKS5ydWxlU2V0cygpLmF1dGhvclN0eWxlKCk7CisK
KyAgICAgICAgTWF0Y2hSZXF1ZXN0IHNjb3BlTWF0Y2hSZXF1ZXN0KCZob3N0QXV0aG9yUnVsZXMs
IHN0eWxlU2NvcGVPcmRpbmFsKTsKKyAgICAgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0
KCZob3N0QXV0aG9yUnVsZXMucGFydFBzZXVkb0VsZW1lbnRSdWxlcygpLCBzY29wZU1hdGNoUmVx
dWVzdCk7CiAKLSAgICBpZiAoYXV0byogcGFyZW50U2NvcGVTaGFkb3dSb290ID0gc2hhZG93SG9z
dC5jb250YWluaW5nU2hhZG93Um9vdCgpKQotICAgICAgICBtYXRjaFBhcnRQc2V1ZG9FbGVtZW50
UnVsZXNGb3JTY29wZSgqcGFyZW50U2NvcGVTaGFkb3dSb290KTsKKyAgICAgICAgLy8gRWxlbWVu
dCBtYXkgb25seSBiZSBleHBvc2VkIHRvIHN0eWxpbmcgZnJvbSBlbmNsb3Npbmcgc2NvcGVzIHZp
YSBleHBvcnRwYXJ0cyBhdHRyaWJ1dGVzLgorICAgICAgICBpZiAoaG9zdC0+c2hhZG93Um9vdCgp
LT5wYXJ0TWFwcGluZ3MoKS5pc0VtcHR5KCkpCisgICAgICAgICAgICBicmVhazsKKyAgICB9CiB9
CiAKIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OmNvbGxlY3RNYXRjaGluZ1NoYWRvd1BzZXVk
b0VsZW1lbnRSdWxlcyhjb25zdCBNYXRjaFJlcXVlc3QmIG1hdGNoUmVxdWVzdCkKQEAgLTQzMCw3
ICs0MzIsNiBAQCBpbmxpbmUgYm9vbCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6cnVsZU1hdGNoZXMo
Y29uc3QgUnVsZURhdGEmIHJ1bGVEYXRhLCB1bnNpZ25lZAogICAgIGNvbnRleHQuc2Nyb2xsYmFy
U3RhdGUgPSBtX3BzZXVkb0VsZW1lbnRSZXF1ZXN0LnNjcm9sbGJhclN0YXRlOwogICAgIGNvbnRl
eHQubmFtZUZvckhpZ2h0bGlnaHRQc2V1ZG9FbGVtZW50ID0gbV9wc2V1ZG9FbGVtZW50UmVxdWVz
dC5oaWdobGlnaHROYW1lOwogICAgIGNvbnRleHQuaXNNYXRjaGluZ0hvc3RQc2V1ZG9DbGFzcyA9
IG1faXNNYXRjaGluZ0hvc3RQc2V1ZG9DbGFzczsKLSAgICBjb250ZXh0LnNoYWRvd0hvc3RJblBh
cnRSdWxlU2NvcGUgPSBtX3NoYWRvd0hvc3RJblBhcnRSdWxlU2NvcGUuZ2V0KCk7CiAgICAgY29u
dGV4dC5zdHlsZVNjb3BlT3JkaW5hbCA9IHN0eWxlU2NvcGVPcmRpbmFsOwogCiAgICAgYm9vbCBz
ZWxlY3Rvck1hdGNoZXM7CkBAIC01NDgsOCArNTQ5LDggQEAgdm9pZCBFbGVtZW50UnVsZUNvbGxl
Y3Rvcjo6bWF0Y2hBbGxSdWxlcyhib29sIG1hdGNoQXV0aG9yQW5kVXNlclN0eWxlcywgYm9vbCBp
bmMKICAgICAgICAgLy8gSW5saW5lIHN0eWxlIGJlaGF2ZXMgYXMgaWYgaXQgaGFzIGhpZ2hlciBz
cGVjaWZpY2l0eSB0aGFuIGFueSBydWxlLgogICAgICAgICBhZGRFbGVtZW50SW5saW5lU3R5bGVQ
cm9wZXJ0aWVzKGluY2x1ZGVTTUlMUHJvcGVydGllcyk7CiAKLSAgICAgICAgLy8gUnVsZXMgZnJv
bSB0aGUgaG9zdCBzY29wZSBvdmVycmlkZSBpbmxpbmUgc3R5bGUuCi0gICAgICAgIHRyYW5zZmVy
TWF0Y2hlZFJ1bGVzKERlY2xhcmF0aW9uT3JpZ2luOjpBdXRob3IsIFNjb3BlT3JkaW5hbDo6Q29u
dGFpbmluZ0hvc3QpOworICAgICAgICAvLyBSdWxlcyBmcm9tIHRoZSBob3N0IHNjb3BlcyBvdmVy
cmlkZSBpbmxpbmUgc3R5bGUuCisgICAgICAgIHRyYW5zZmVyTWF0Y2hlZFJ1bGVzKERlY2xhcmF0
aW9uT3JpZ2luOjpBdXRob3IpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0Vs
ZW1lbnRSdWxlQ29sbGVjdG9yLmgKaW5kZXggY2QzNTI1NDQ0OTIwZmE3MmQwMzBhMjlkNTdiMDll
ZWZhYmMxN2VmNC4uZDA3MzM4NDdiNGQ0ZWUxMzZmMWNiZmI2YmM5YTBjMTU4MDYzNGEwZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCkBAIC0xNjMsNyAr
MTYzLDYgQEAgcHJpdmF0ZToKICAgICBQc2V1ZG9FbGVtZW50UmVxdWVzdCBtX3BzZXVkb0VsZW1l
bnRSZXF1ZXN0IHsgUHNldWRvSWQ6Ok5vbmUgfTsKICAgICBTZWxlY3RvckNoZWNrZXI6Ok1vZGUg
bV9tb2RlIHsgU2VsZWN0b3JDaGVja2VyOjpNb2RlOjpSZXNvbHZpbmdTdHlsZSB9OwogICAgIGJv
b2wgbV9pc01hdGNoaW5nSG9zdFBzZXVkb0NsYXNzIHsgZmFsc2UgfTsKLSAgICBSZWZQdHI8Y29u
c3QgRWxlbWVudD4gbV9zaGFkb3dIb3N0SW5QYXJ0UnVsZVNjb3BlOwogCiAgICAgVmVjdG9yPE1h
dGNoZWRSdWxlLCA2ND4gbV9tYXRjaGVkUnVsZXM7CiAgICAgc2l6ZV90IG1fbWF0Y2hlZFJ1bGVU
cmFuc2ZlckluZGV4IHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAppbmRleCA1
ZDcwNjFmMTUzNmMwMjlkMTA0MGZhMjI5MmI2NmRmZDE5MzVkMjMzLi5jZGI5NjQ3YTRhYTQ3YmRh
ZmY3MjcwNzkxYmM1ZjgwYzcxYTAxODM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNw
cApAQCAtMTg1LDMxICsxODUsMTggQEAgU2NvcGUmIFNjb3BlOjpmb3JOb2RlKE5vZGUmIG5vZGUp
CiAKIFNjb3BlKiBTY29wZTo6Zm9yT3JkaW5hbChFbGVtZW50JiBlbGVtZW50LCBTY29wZU9yZGlu
YWwgb3JkaW5hbCkKIHsKLSAgICBzd2l0Y2ggKG9yZGluYWwpIHsKLSAgICBjYXNlIFNjb3BlT3Jk
aW5hbDo6RWxlbWVudDoKKyAgICBpZiAob3JkaW5hbCA9PSBTY29wZU9yZGluYWw6OkVsZW1lbnQp
CiAgICAgICAgIHJldHVybiAmZm9yTm9kZShlbGVtZW50KTsKLSAgICBjYXNlIFNjb3BlT3JkaW5h
bDo6Q29udGFpbmluZ0hvc3Q6IHsKLSAgICAgICAgYXV0byogY29udGFpbmluZ1NoYWRvd1Jvb3Qg
PSBlbGVtZW50LmNvbnRhaW5pbmdTaGFkb3dSb290KCk7Ci0gICAgICAgIGlmICghY29udGFpbmlu
Z1NoYWRvd1Jvb3QpCi0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgcmV0dXJu
ICZmb3JOb2RlKCpjb250YWluaW5nU2hhZG93Um9vdC0+aG9zdCgpKTsKLSAgICB9Ci0gICAgY2Fz
ZSBTY29wZU9yZGluYWw6OlNoYWRvdzogeworICAgIGlmIChvcmRpbmFsID09IFNjb3BlT3JkaW5h
bDo6U2hhZG93KSB7CiAgICAgICAgIGF1dG8qIHNoYWRvd1Jvb3QgPSBlbGVtZW50LnNoYWRvd1Jv
b3QoKTsKLSAgICAgICAgaWYgKCFzaGFkb3dSb290KQotICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7Ci0gICAgICAgIHJldHVybiAmc2hhZG93Um9vdC0+c3R5bGVTY29wZSgpOwotICAgIH0KLSAg
ICBkZWZhdWx0OiB7Ci0gICAgICAgIEFTU0VSVChvcmRpbmFsID49IFNjb3BlT3JkaW5hbDo6Rmly
c3RTbG90KTsKLSAgICAgICAgYXV0byBzbG90SW5kZXggPSBTY29wZU9yZGluYWw6OkZpcnN0U2xv
dDsKLSAgICAgICAgZm9yIChhdXRvKiBzbG90ID0gZWxlbWVudC5hc3NpZ25lZFNsb3QoKTsgc2xv
dDsgc2xvdCA9IHNsb3QtPmFzc2lnbmVkU2xvdCgpLCArK3Nsb3RJbmRleCkgewotICAgICAgICAg
ICAgaWYgKHNsb3RJbmRleCA9PSBvcmRpbmFsKQotICAgICAgICAgICAgICAgIHJldHVybiAmZm9y
Tm9kZSgqc2xvdCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAg
IHJldHVybiBzaGFkb3dSb290ID8gJnNoYWRvd1Jvb3QtPnN0eWxlU2NvcGUoKSA6IG51bGxwdHI7
CiAgICAgfQorICAgIGlmIChvcmRpbmFsIDw9IFNjb3BlT3JkaW5hbDo6Q29udGFpbmluZ0hvc3Qp
IHsKKyAgICAgICAgYXV0byogaG9zdCA9IGhvc3RGb3JTY29wZU9yZGluYWwoZWxlbWVudCwgb3Jk
aW5hbCkKKyAgICAgICAgcmV0dXJuIGhvc3QgPyAmZm9yTm9kZSgqaG9zdCkgOiBudWxscHRyOwog
ICAgIH0KKyAgICBhdXRvKiBzbG90ID0gYXNzaWduZWRTbG90Rm9yU2NvcGVPcmRpbmFsKGVsZW1l
bnQsIG9yZGluYWwpOworICAgIHJldHVybiBzbG90ID8gJmZvck5vZGUoKnNsb3QpIDogbnVsbHB0
cjsKIH0KIAogdm9pZCBTY29wZTo6c2V0UHJlZmVycmVkU3R5bGVzaGVldFNldE5hbWUoY29uc3Qg
U3RyaW5nJiBuYW1lKQpAQCAtNzg5LDUgKzc3NiwyMyBAQCBib29sIFNjb3BlOjppc0ZvclVzZXJB
Z2VudFNoYWRvd1RyZWUoKSBjb25zdAogICAgIHJldHVybiBtX3NoYWRvd1Jvb3QgJiYgbV9zaGFk
b3dSb290LT5tb2RlKCkgPT0gU2hhZG93Um9vdE1vZGU6OlVzZXJBZ2VudDsKIH0KIAorSFRNTFNs
b3RFbGVtZW50KiBhc3NpZ25lZFNsb3RGb3JTY29wZShjb25zdCBFbGVtZW50JiBlbGVtZW50LCBT
Y29wZU9yZGluYWwgc2NvcGVPcmRpbmFsKQoreworICAgIEFTU0VSVChzY29wZU9yZGluYWwgPj0g
U2NvcGVPcmRpbmFsOjpGaXJzdFNsb3QpOworICAgIGF1dG8qIHNsb3QgPSBlbGVtZW50LmFzc2ln
bmVkU2xvdCgpOworICAgIGZvciAoYXV0byBzY29wZURlcHRoID0gU2NvcGVPcmRpbmFsOjpGaXJz
dFNsb3Q7IHNsb3QgJiYgc2NvcGVEZXB0aCAhPSBzY29wZU9yZGluYWw7ICsrc2NvcGVEZXB0aCkK
KyAgICAgICAgc2xvdCA9IHNsb3QtPmFzc2lnbmVkU2xvdCgpOworICAgIHJldHVybiBzbG90Owor
fQorCitFbGVtZW50KiBob3N0Rm9yU2NvcGUoY29uc3QgRWxlbWVudCYgZWxlbWVudCwgU2NvcGVP
cmRpbmFsIHNjb3BlT3JkaW5hbCkKK3sKKyAgICBBU1NFUlQoc2NvcGVPcmRpbmFsIDw9IFNjb3Bl
T3JkaW5hbDo6Q29udGFpbmluZ0hvc3QpOworICAgIGF1dG8qIGhvc3QgPSBlbGVtZW50LnNoYWRv
d0hvc3QoKTsKKyAgICBmb3IgKGF1dG8gc2NvcGVEZXB0aCA9IFNjb3BlT3JkaW5hbDo6Q29udGFp
bmluZ0hvc3Q7IGhvc3QgJiYgc2NvcGVEZXB0aCAhPSBzY29wZU9yZGluYWw7IC0tc2NvcGVEZXB0
aCkKKyAgICAgICAgaG9zdCA9IGhvc3QtPnNoYWRvd0hvc3QoKTsKKyAgICByZXR1cm4gaG9zdDsK
K30KKwogfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5o
IGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5oCmluZGV4IGE2ZWY1MTIwNDZmYzEx
OTcxYTQxN2E2ZWY1YTg1NzcwNGM4OWFiYjkuLjAyNjNjZTRhNWE1ZTYwNmY2NGZlZDQ0MWYzZTY0
NTBiMTkxOTE2OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmgKQEAgLTQ1LDYgKzQ1LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ1NTU3R5bGVTaGVldDsKIGNsYXNzIERvY3Vt
ZW50OwogY2xhc3MgRWxlbWVudDsKK2NsYXNzIEhUTUxTbG90RWxlbWVudDsKIGNsYXNzIE5vZGU7
CiBjbGFzcyBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb247CiBjbGFzcyBTdHlsZVNoZWV0OwpAQCAtMjAz
LDYgKzIwNCw5IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxSZXNvbHZlclNoYXJpbmdLZXksIFJl
ZjxSZXNvbHZlcj4+IG1fc2hhcmVkU2hhZG93VHJlZVJlc29sdmVyczsKIH07CiAKK0hUTUxTbG90
RWxlbWVudCogYXNzaWduZWRTbG90Rm9yU2NvcGVPcmRpbmFsKGNvbnN0IEVsZW1lbnQmLCBTY29w
ZU9yZGluYWwpOworRWxlbWVudCogaG9zdEZvclNjb3BlT3JkaW5hbChjb25zdCBFbGVtZW50Jiwg
U2NvcGVPcmRpbmFsKTsKKwogaW5saW5lIGJvb2wgU2NvcGU6Omhhc1BlbmRpbmdTaGVldHMoKSBj
b25zdAogewogICAgIHJldHVybiBoYXNQZW5kaW5nU2hlZXRzQmVmb3JlQm9keSgpIHx8ICFtX2Vs
ZW1lbnRzSW5Cb2R5V2l0aFBlbmRpbmdTaGVldHMuaXNFbXB0eSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZU9yZGluYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlU2NvcGVPcmRpbmFsLmgKaW5kZXggMTVlOTY4ZGI2NDMwNTA4NTgxYjM5OGRmNzM1
YjVjNjZjZDZhNGVhOS4uMzY4N2IwMmJhZmYyZmZjNWJhNDEzNzRkYzExZDQ0NjlhZThkNzE2ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZU9yZGluYWwuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlT3JkaW5hbC5oCkBAIC0zMCw3ICszMCw3
IEBAIG5hbWVzcGFjZSBTdHlsZSB7CiAvLyBUaGlzIGlzIHVzZWQgdG8gaWRlbnRpZnkgc3R5bGUg
c2NvcGVzIHRoYXQgY2FuIGFmZmVjdCBhbiBlbGVtZW50LgogLy8gU2NvcGVzIGFyZSBpbiB0cmVl
LW9mLXRyZWVzIG9yZGVyLiBTdHlsZXMgZnJvbSBlYXJsaWVyIHNjb3BlcyB3aW4gb3ZlciBsYXRl
ciBvbmVzIChtb2R1bG8gIWltcG9ydGFudCkuCiBlbnVtIGNsYXNzIFNjb3BlT3JkaW5hbCA6IGlu
dCB7Ci0gICAgQ29udGFpbmluZ0hvc3QgPSAtMSwgLy8gOjpwYXJ0IHJ1bGVzIGFuZCBhdXRob3It
ZXhwb3NlZCBVQSBwc2V1ZG8gY2xhc3NlcyBmcm9tIHRoZSBob3N0IHRyZWUgc2NvcGUuCisgICAg
Q29udGFpbmluZ0hvc3QgPSAtMSwgLy8gOjpwYXJ0IHJ1bGVzIGFuZCBhdXRob3ItZXhwb3NlZCBV
QSBwc2V1ZG8gY2xhc3NlcyBmcm9tIHRoZSBob3N0IHRyZWUgc2NvcGUuIFZhbHVlcyBsZXNzIHRo
YW4gQ29udGFpbmluZ0hvc3QgaW5kaWNhdGUgZW5jbG9zaW5nIHNjb3Blcy4KICAgICBFbGVtZW50
ID0gMCwgLy8gTm9ybWFsIHJ1bGVzIGluIHRoZSBzYW1lIHRyZWUgd2hlcmUgdGhlIGVsZW1lbnQg
aXMuCiAgICAgRmlyc3RTbG90ID0gMSwgLy8gOjpzbG90dGVkIHJ1bGVzIGluIHRoZSBwYXJlbnQn
cyBzaGFkb3cgdHJlZS4gVmFsdWVzIGdyZWF0ZXIgdGhhbiBGaXJzdFNsb3QgaW5kaWNhdGUgc3Vi
c2VxdWVudCBzbG90cyBpbiB0aGUgY2hhaW4uCiAgICAgU2hhZG93ID0gc3RkOjpudW1lcmljX2xp
bWl0czxpbnQ+OjptYXgoKSwgLy8gOmhvc3QgcnVsZXMgaW4gZWxlbWVudCdzIG93biBzaGFkb3cg
dHJlZS4KQEAgLTQyLDUgKzQyLDEyIEBAIGlubGluZSBTY29wZU9yZGluYWwmIG9wZXJhdG9yKyso
U2NvcGVPcmRpbmFsJiBvcmRpbmFsKQogICAgIHJldHVybiBvcmRpbmFsID0gc3RhdGljX2Nhc3Q8
U2NvcGVPcmRpbmFsPihzdGF0aWNfY2FzdDxpbnQ+KG9yZGluYWwpICsgMSk7CiB9CiAKK2lubGlu
ZSBTY29wZU9yZGluYWwmIG9wZXJhdG9yLS0oU2NvcGVPcmRpbmFsJiBvcmRpbmFsKQoreworICAg
IEFTU0VSVChvcmRpbmFsIDwgU2NvcGVPcmRpbmFsOjpTaGFkb3cpOworICAgIHJldHVybiBvcmRp
bmFsID0gc3RhdGljX2Nhc3Q8U2NvcGVPcmRpbmFsPihzdGF0aWNfY2FzdDxpbnQ+KG9yZGluYWwp
IC0gMSk7Cit9CisKKwogfQogfQo=
</data>
<flag name="commit-queue"
          id="467604"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442986</attachid>
            <date>2021-11-01 09:53:07 -0700</date>
            <delta_ts>2021-11-01 10:46:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232562-20211101185305.patch</filename>
            <type>text/plain</type>
            <size>16294</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjE1YmQzZDdiZmNmZTRj
MGFjZGQ5ZGY2ZjFiZjZiZjEzZTQ3ZmQzYi4uZGIxNmQzOGVmZTMxZjFkMmVkOWFlMDA0NGIxMzVj
MmNlYTczNTI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIxLTExLTAxICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgU3R5bGU6OlNjb3Bl
T3JkaW5hbCBmb3IgZmluZGluZyB0aGUgcmlnaHQgc2NvcGUgZm9yIDo6cGFydCBtYXRjaGluZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTYyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgYXJlIHBh
c3NpbmcgdGhlIHNjb3BlIG9yZGluYWwgdG8gdGhlIHNlbGVjdG9yIGNoZWNrZXIgc28gd2UgY2Fu
IHVzZSBpdCBjb25zaXN0ZW50bHkgdG8gZmluZAorICAgICAgICB0aGUgcmlnaHQgc2NvcGUuCisK
KyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNl
bGVjdG9yQ2hlY2tlcjo6bWF0Y2hSZWN1cnNpdmVseSBjb25zdCk6CisKKyAgICAgICAgRmluZCB0
aGUgcmlnaHQgc2NvcGUgYmFzZWQgb24gdGhlIHNjb3BlIG9yZGluYWwuCisgICAgICAgIFNpbXBs
aWZ5IGFsbG93TXVsdGlwbGVQc2V1ZG9FbGVtZW50cyBjaGVjaywgaW52YWxpZCBjYXNlcyBhcmUg
bm90IGFsbG93ZWQgYnkgdGhlIHBhcnNlci4KKworICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JD
aGVja2VyOjpjaGVja09uZSBjb25zdCk6CisKKyAgICAgICAgRmluZCB0aGUgcmlnaHQgc2NvcGUg
YmFzZWQgb24gdGhlIHNjb3BlIG9yZGluYWwuCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVj
a2VyLmg6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoKKyAgICAgICAgKiBzdHlsZS9FbGVt
ZW50UnVsZUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1
bGVDb2xsZWN0b3I6Om1hdGNoUGFydFBzZXVkb0VsZW1lbnRSdWxlc0ZvclNjb3BlKToKKworICAg
ICAgICBDb21wdXRlIHRoZSBzY29wZSBvcmRpbmFsIGZvciBuZXN0ZWQgc2NvcGVzLgorICAgICAg
ICBNYWtlIGl0ZXJhdGl2ZSBpbnN0ZWFkIG9mIHJlY3Vyc2l2ZS4KKworICAgICAgICAoV2ViQ29y
ZTo6U3R5bGU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjpydWxlTWF0Y2hlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoQWxsUnVsZXMpOgorCisg
ICAgICAgIEZsdXNoIGFsbCByZW1haW5pbmcgcnVsZXMuCisKKyAgICAgICAgKiBzdHlsZS9FbGVt
ZW50UnVsZUNvbGxlY3Rvci5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlU2NvcGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGU6OlNjb3BlOjpmb3JPcmRpbmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlOjphc3NpZ25lZFNsb3RGb3JTY29wZU9yZGluYWwpOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGU6Omhvc3RGb3JTY29wZU9yZGluYWwpOgorCisgICAgICAgIEFkZCBoZWxwZXJzLgor
CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlU2Nv
cGVPcmRpbmFsLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6b3BlcmF0b3ItLSk6CisKKyAg
ICAgICAgV2Ugbm93IHVzZSB2YWx1ZXMgbGVzcyB0aGFuIENvbnRhaW5pbmdIb3N0IHRvIHByZXNl
bnQgZW5jbG9zaW5nIHNjb3Blcywgc2ltaWxhciB0byBzbG90dGVkIG1hdGNoaW5nLgorCiAyMDIx
LTExLTAxICBEYW5pZWwgS29sZXNhICA8ZGtvbGVzYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZp
eCBidWlsZCB3aXRoIEdDQyA4LjQgb24gVWJ1bnR1IDE4LjA0CkBAIC0xNDk1LDYgKzE1NDIsNyBA
QAogICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5IGNv
bnN0KToKIAogICAgICAgICBGaW5kIHRoZSByaWdodCBzY29wZSB0byBjb250aW51ZSBtYXRjaGlu
ZyBvbiBTaGFkb3dTbG90dGVkIHJlbGF0aW9uLiBQYXNzIGluIHRoZSBzY29wZSBvcmRpbmFsIHRv
IGZpbmQgdGhlIHNjb3BlLgorICAgICAgICBTaW1wbGlmeSB0aGUgYWxsb3dNdWx0aXBsZVBzZXVk
b0VsZW1lbnRzIHRlc3RzLCB0aGUgcGFyc2VyIHRha2VzIGNhcmUgdGhhdCBvbmx5IGxlZ2FsIGNh
c2VzIGNvbWUgdGhyb3VnaC4KIAogICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2VyOjpj
aGVja09uZSBjb25zdCk6CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3Rv
ckNoZWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKaW5k
ZXggZWRmNWYxYjI3NTEwNzA4YWMzZjg4NGU2ZTlkYjljOTM4OTg0NGI5ZS4uMjFkOWZhNGNjZTIw
NDcxMzBjZDk3MWUxMmZiNjMzYTAzNjJhZGExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9y
Q2hlY2tlci5jcHAKQEAgLTMxNiw4ICszMTYsNyBAQCBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoUmVz
dWx0IFNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2hSZWN1cnNpdmVseShDaGVja2luZ0NvbnRleHQmCiAK
ICAgICAgICAgbmV4dENvbnRleHQucHNldWRvSWQgPSBQc2V1ZG9JZDo6Tm9uZTsKIAotICAgICAg
ICBib29sIG5leHRJc1BhcnQgPSBsZWZ0U2VsZWN0b3ItPm1hdGNoKCkgPT0gQ1NTU2VsZWN0b3I6
OlBzZXVkb0VsZW1lbnQgJiYgbGVmdFNlbGVjdG9yLT5wc2V1ZG9FbGVtZW50VHlwZSgpID09IENT
U1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50UGFydDsKLSAgICAgICAgYm9vbCBhbGxvd011bHRpcGxl
UHNldWRvRWxlbWVudHMgPSByZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6U2hhZG93RGVzY2VuZGFu
dCAmJiBuZXh0SXNQYXJ0OworICAgICAgICBib29sIGFsbG93TXVsdGlwbGVQc2V1ZG9FbGVtZW50
cyA9IHJlbGF0aW9uID09IENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50OwogICAgICAgICAv
LyBWaXJ0dWFsIHBzZXVkbyBlbGVtZW50IGlzIG9ubHkgZWZmZWN0aXZlIGluIHRoZSByaWdodG1v
c3QgZnJhZ21lbnQuCiAgICAgICAgIGlmICghYWxsb3dNdWx0aXBsZVBzZXVkb0VsZW1lbnRzKQog
ICAgICAgICAgICAgbmV4dENvbnRleHQucHNldWRvRWxlbWVudEVmZmVjdGl2ZSA9IGZhbHNlOwpA
QCAtNDA5LDExICs0MDgsMTQgQEAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaFJlc3VsdCBTZWxlY3Rv
ckNoZWNrZXI6Om1hdGNoUmVjdXJzaXZlbHkoQ2hlY2tpbmdDb250ZXh0JgogICAgICAgICB9CiAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93RGVzY2VuZGFudDoKICAgICBjYXNlIENTU1NlbGVj
dG9yOjpTaGFkb3dQYXJ0RGVzY2VuZGFudDogewotICAgICAgICAvLyBXaGVuIG1hdGNoaW5nIGZv
bzo6cGFydChiYXIpIHdlIHNraXAgZGlyZWN0bHkgdG8gdGhlIHRyZWUgb2YgZWxlbWVudCAnZm9v
Jy4KLSAgICAgICAgYXV0byogc2hhZG93SG9zdCA9IHJlbGF0aW9uID09IENTU1NlbGVjdG9yOjpT
aGFkb3dQYXJ0RGVzY2VuZGFudCA/IGNoZWNraW5nQ29udGV4dC5zaGFkb3dIb3N0SW5QYXJ0UnVs
ZVNjb3BlIDogY29udGV4dC5lbGVtZW50LT5zaGFkb3dIb3N0KCk7Ci0gICAgICAgIGlmICghc2hh
ZG93SG9zdCkKKyAgICAgICAgLy8gQ29udGludWUgbWF0Y2hpbmcgaW4gdGhlIHNjb3BlIHdoZXJl
IHRoaXMgcnVsZSBjYW1lIGZyb20uCisgICAgICAgIGF1dG8qIGhvc3QgPSByZWxhdGlvbiA9PSBD
U1NTZWxlY3Rvcjo6U2hhZG93UGFydERlc2NlbmRhbnQKKyAgICAgICAgICAgID8gU3R5bGU6Omhv
c3RGb3JTY29wZU9yZGluYWwoKmNvbnRleHQuZWxlbWVudCwgY2hlY2tpbmdDb250ZXh0LnN0eWxl
U2NvcGVPcmRpbmFsKQorICAgICAgICAgICAgOiBjb250ZXh0LmVsZW1lbnQtPnNoYWRvd0hvc3Qo
KTsKKyAgICAgICAgaWYgKCFob3N0KQogICAgICAgICAgICAgcmV0dXJuIE1hdGNoUmVzdWx0Ojpm
YWlscyhNYXRjaDo6U2VsZWN0b3JGYWlsc0NvbXBsZXRlbHkpOwotICAgICAgICBuZXh0Q29udGV4
dC5lbGVtZW50ID0gc2hhZG93SG9zdDsKKworICAgICAgICBuZXh0Q29udGV4dC5lbGVtZW50ID0g
aG9zdDsKICAgICAgICAgbmV4dENvbnRleHQuZmlyc3RTZWxlY3Rvck9mVGhlRnJhZ21lbnQgPSBu
ZXh0Q29udGV4dC5zZWxlY3RvcjsKICAgICAgICAgbmV4dENvbnRleHQuaXNTdWJqZWN0T3JBZGph
Y2VudEVsZW1lbnQgPSBmYWxzZTsKICAgICAgICAgUHNldWRvSWRTZXQgaWdub3JlRHluYW1pY1Bz
ZXVkbzsKQEAgLTQyMiwxNCArNDI0LDkgQEAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaFJlc3VsdCBT
ZWxlY3RvckNoZWNrZXI6Om1hdGNoUmVjdXJzaXZlbHkoQ2hlY2tpbmdDb250ZXh0JgogICAgICAg
ICByZXR1cm4gTWF0Y2hSZXN1bHQ6OnVwZGF0ZVdpdGhNYXRjaFR5cGUocmVzdWx0LCBtYXRjaFR5
cGUpOwogICAgIH0KICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dTbG90dGVkOiB7Ci0gICAg
ICAgIGF1dG8qIHNsb3QgPSBjb250ZXh0LmVsZW1lbnQtPmFzc2lnbmVkU2xvdCgpOwotICAgICAg
ICBpZiAoIXNsb3QpCi0gICAgICAgICAgICByZXR1cm4gTWF0Y2hSZXN1bHQ6OmZhaWxzKE1hdGNo
OjpTZWxlY3RvckZhaWxzQ29tcGxldGVseSk7CiAgICAgICAgIC8vIFdlIGNvbnRpbnVlIG1hdGNo
aW5nIGluIHRoZSBzY29wZSB3aGVyZSB0aGlzIHJ1bGUgY2FtZSBmcm9tLgotICAgICAgICBhdXRv
IHNjb3BlRGVwdGggPSBzdGF0aWNfY2FzdDxpbnQ+KGNoZWNraW5nQ29udGV4dC5zdHlsZVNjb3Bl
T3JkaW5hbCk7Ci0gICAgICAgIHdoaWxlICgtLXNjb3BlRGVwdGggJiYgc2xvdC0+YXNzaWduZWRT
bG90KCkpCi0gICAgICAgICAgICBzbG90ID0gc2xvdC0+YXNzaWduZWRTbG90KCk7Ci0gICAgICAg
IGlmIChzY29wZURlcHRoKQorICAgICAgICBhdXRvIHNsb3QgPSBTdHlsZTo6YXNzaWduZWRTbG90
Rm9yU2NvcGVPcmRpbmFsKCpjb250ZXh0LmVsZW1lbnQsIGNoZWNraW5nQ29udGV4dC5zdHlsZVNj
b3BlT3JkaW5hbCk7CisgICAgICAgIGlmICghc2xvdCkKICAgICAgICAgICAgIHJldHVybiBNYXRj
aFJlc3VsdDo6ZmFpbHMoTWF0Y2g6OlNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5KTsKIAogICAgICAg
ICBuZXh0Q29udGV4dC5lbGVtZW50ID0gc2xvdDsKQEAgLTExNzEsMTEgKzExNjgsMTMgQEAgYm9v
bCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKENoZWNraW5nQ29udGV4dCYgY2hlY2tpbmdDb250
ZXh0LCBjb25zdCBMb2NhbENvbnQKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxl
bWVudFBhcnQ6IHsKICAgICAgICAgICAgIGF1dG8gdHJhbnNsYXRlUGFydE5hbWVUb1J1bGVTY29w
ZSA9IFsmXShBdG9tU3RyaW5nIHBhcnROYW1lKSB7CiAgICAgICAgICAgICAgICAgVmVjdG9yPEF0
b21TdHJpbmcsIDE+IG1hcHBlZE5hbWVzIHsgcGFydE5hbWUgfTsKKyAgICAgICAgICAgICAgICBh
dXRvKiBydWxlU2NvcGVIb3N0ID0gU3R5bGU6Omhvc3RGb3JTY29wZU9yZGluYWwoKmNvbnRleHQu
ZWxlbWVudCwgY2hlY2tpbmdDb250ZXh0LnN0eWxlU2NvcGVPcmRpbmFsKTsKKwogICAgICAgICAg
ICAgICAgIGZvciAoYXV0byogc2hhZG93Um9vdCA9IGVsZW1lbnQuY29udGFpbmluZ1NoYWRvd1Jv
b3QoKTsgc2hhZG93Um9vdDsgc2hhZG93Um9vdCA9IHNoYWRvd1Jvb3QtPmhvc3QoKS0+Y29udGFp
bmluZ1NoYWRvd1Jvb3QoKSkgewogICAgICAgICAgICAgICAgICAgICAvLyBBcHBseSBtYXBwaW5n
cyB1cCB0byB0aGUgc2NvcGUgdGhlIHJ1bGVzIGFyZSBjb21pbmcgZnJvbS4KLSAgICAgICAgICAg
ICAgICAgICAgaWYgKHNoYWRvd1Jvb3QtPmhvc3QoKSA9PSBjaGVja2luZ0NvbnRleHQuc2hhZG93
SG9zdEluUGFydFJ1bGVTY29wZSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNoYWRvd1Jvb3Qt
Pmhvc3QoKSA9PSBydWxlU2NvcGVIb3N0KQogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAgICAgIFZlY3RvcjxBdG9t
U3RyaW5nLCAxPiBuZXdNYXBwZWROYW1lczsKICAgICAgICAgICAgICAgICAgICAgZm9yIChhdXRv
JiBuYW1lIDogbWFwcGVkTmFtZXMpCiAgICAgICAgICAgICAgICAgICAgICAgICBuZXdNYXBwZWRO
YW1lcy5hcHBlbmRWZWN0b3Ioc2hhZG93Um9vdC0+cGFydE1hcHBpbmdzKCkuZ2V0KG5hbWUpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuaAppbmRleCAzY2MwN2FhZmUxNDE2OGMxNDRl
OGE5ZDU4Y2JmMjdiZjllMzYxYzA2Li41NzgzNjIyYzBjNjBlMTY1ZTM2M2NjMGI0MjcyYTY2ZGJh
N2UyMzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oCkBAIC05NSw3ICs5NSw2
IEBAIHB1YmxpYzoKICAgICAgICAgQXRvbVN0cmluZyBuYW1lRm9ySGlnaHRsaWdodFBzZXVkb0Vs
ZW1lbnQ7CiAgICAgICAgIGNvbnN0IENvbnRhaW5lck5vZGUqIHNjb3BlIHsgbnVsbHB0ciB9Owog
ICAgICAgICBib29sIGlzTWF0Y2hpbmdIb3N0UHNldWRvQ2xhc3MgeyBmYWxzZSB9OwotICAgICAg
ICBjb25zdCBFbGVtZW50KiBzaGFkb3dIb3N0SW5QYXJ0UnVsZVNjb3BlIHsgbnVsbHB0ciB9Owog
ICAgICAgICBTdHlsZTo6U2NvcGVPcmRpbmFsIHN0eWxlU2NvcGVPcmRpbmFsIHsgU3R5bGU6OlNj
b3BlT3JkaW5hbDo6RWxlbWVudCB9OwogCiAgICAgICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBu
aWNlciB0byBoYXZlIGEgc2VwYXJhdGUgb2JqZWN0IGZvciByZXR1cm4gdmFsdWVzLiBUaGlzIHJl
cXVpcmVzIHNvbWUgbW9yZSB3b3JrIGluIHRoZSBzZWxlY3RvciBjb21waWxlci4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2hhZG93Um9vdC5oCmluZGV4IGJiOTk2YjI3YmMxNTcwYTI0OTQ1MjYwMjkwMTA1MTlkMzcyMTI4
NjcuLmEyZTVhZWRjY2FlN2UwNTFhM2FlZGI5NGIzMWY5M2ZjN2I2MTJjZTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NoYWRvd1Jvb3QuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAj
aW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNs
dWRlICJTdHlsZVNjb3BlT3JkaW5hbC5oIgogI2lmIEVOQUJMRShQSUNUVVJFX0lOX1BJQ1RVUkVf
QVBJKQogI2luY2x1ZGUgIkhUTUxWaWRlb0VsZW1lbnQuaCIKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCmluZGV4IDVmMjE5OGQyZjBjZmIz
OTEzNDBjMTNlM2NlMGFkODcwMTQ5YjQ2MWUuLjhmZTFiNzkwODM0MGJjOTE3NGQzZTZjYTdkNmJh
OWY2M2UyNjRlZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxl
Q29sbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxl
Y3Rvci5jcHAKQEAgLTMwNSwyMSArMzA1LDIzIEBAIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6
Om1hdGNoUGFydFBzZXVkb0VsZW1lbnRSdWxlcygpCiAKIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0
b3I6Om1hdGNoUGFydFBzZXVkb0VsZW1lbnRSdWxlc0ZvclNjb3BlKGNvbnN0IFNoYWRvd1Jvb3Qm
IHNjb3BlU2hhZG93Um9vdCkKIHsKLSAgICBhdXRvJiBzaGFkb3dIb3N0ID0gKnNjb3BlU2hhZG93
Um9vdC5ob3N0KCk7Ci0gICAgewotICAgICAgICBTZXRGb3JTY29wZTxSZWZQdHI8Y29uc3QgRWxl
bWVudD4+IHBhcnRNYXRjaGluZ1Njb3BlKG1fc2hhZG93SG9zdEluUGFydFJ1bGVTY29wZSwgJnNo
YWRvd0hvc3QpOworICAgIGF1dG8qIGhvc3QgPSBzY29wZVNoYWRvd1Jvb3QuaG9zdCgpOworICAg
IGF1dG8gc3R5bGVTY29wZU9yZGluYWwgPSBTY29wZU9yZGluYWw6OkNvbnRhaW5pbmdIb3N0Owog
Ci0gICAgICAgIGF1dG8mIGhvc3RBdXRob3JSdWxlcyA9IFNjb3BlOjpmb3JOb2RlKHNoYWRvd0hv
c3QpLnJlc29sdmVyKCkucnVsZVNldHMoKS5hdXRob3JTdHlsZSgpOwotICAgICAgICBNYXRjaFJl
cXVlc3QgaG9zdEF1dGhvclJlcXVlc3QgeyAmaG9zdEF1dGhvclJ1bGVzLCBTY29wZU9yZGluYWw6
OkNvbnRhaW5pbmdIb3N0IH07Ci0gICAgICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdCgm
aG9zdEF1dGhvclJ1bGVzLnBhcnRQc2V1ZG9FbGVtZW50UnVsZXMoKSwgaG9zdEF1dGhvclJlcXVl
c3QpOwotICAgIH0KKyAgICBmb3IgKDsgaG9zdDsgaG9zdCA9IGhvc3QtPnNoYWRvd0hvc3QoKSwg
LS1zdHlsZVNjb3BlT3JkaW5hbCkgeworICAgICAgICBhdXRvJiBzdHlsZVNjb3BlID0gU2NvcGU6
OmZvck5vZGUoKmhvc3QpOworICAgICAgICBpZiAoIXN0eWxlU2NvcGUucmVzb2x2ZXIoKS5ydWxl
U2V0cygpLmlzQXV0aG9yU3R5bGVEZWZpbmVkKCkpCisgICAgICAgICAgICBjb250aW51ZTsKIAot
ICAgIC8vIEVsZW1lbnQgbWF5IGJlIGV4cG9zZWQgdG8gc3R5bGluZyBmcm9tIGVuY2xvc2luZyBz
Y29wZXMgdmlhIGV4cG9ydHBhcnRzIGF0dHJpYnV0ZXMuCi0gICAgaWYgKHNjb3BlU2hhZG93Um9v
dC5wYXJ0TWFwcGluZ3MoKS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgYXV0
byYgaG9zdEF1dGhvclJ1bGVzID0gc3R5bGVTY29wZS5yZXNvbHZlcigpLnJ1bGVTZXRzKCkuYXV0
aG9yU3R5bGUoKTsKKworICAgICAgICBNYXRjaFJlcXVlc3Qgc2NvcGVNYXRjaFJlcXVlc3QoJmhv
c3RBdXRob3JSdWxlcywgc3R5bGVTY29wZU9yZGluYWwpOworICAgICAgICBjb2xsZWN0TWF0Y2hp
bmdSdWxlc0Zvckxpc3QoJmhvc3RBdXRob3JSdWxlcy5wYXJ0UHNldWRvRWxlbWVudFJ1bGVzKCks
IHNjb3BlTWF0Y2hSZXF1ZXN0KTsKIAotICAgIGlmIChhdXRvKiBwYXJlbnRTY29wZVNoYWRvd1Jv
b3QgPSBzaGFkb3dIb3N0LmNvbnRhaW5pbmdTaGFkb3dSb290KCkpCi0gICAgICAgIG1hdGNoUGFy
dFBzZXVkb0VsZW1lbnRSdWxlc0ZvclNjb3BlKCpwYXJlbnRTY29wZVNoYWRvd1Jvb3QpOworICAg
ICAgICAvLyBFbGVtZW50IG1heSBvbmx5IGJlIGV4cG9zZWQgdG8gc3R5bGluZyBmcm9tIGVuY2xv
c2luZyBzY29wZXMgdmlhIGV4cG9ydHBhcnRzIGF0dHJpYnV0ZXMuCisgICAgICAgIGlmIChob3N0
LT5zaGFkb3dSb290KCktPnBhcnRNYXBwaW5ncygpLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIGJy
ZWFrOworICAgIH0KIH0KIAogdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6Y29sbGVjdE1hdGNo
aW5nU2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKGNvbnN0IE1hdGNoUmVxdWVzdCYgbWF0Y2hSZXF1
ZXN0KQpAQCAtNDMwLDcgKzQzMiw2IEBAIGlubGluZSBib29sIEVsZW1lbnRSdWxlQ29sbGVjdG9y
OjpydWxlTWF0Y2hlcyhjb25zdCBSdWxlRGF0YSYgcnVsZURhdGEsIHVuc2lnbmVkCiAgICAgY29u
dGV4dC5zY3JvbGxiYXJTdGF0ZSA9IG1fcHNldWRvRWxlbWVudFJlcXVlc3Quc2Nyb2xsYmFyU3Rh
dGU7CiAgICAgY29udGV4dC5uYW1lRm9ySGlnaHRsaWdodFBzZXVkb0VsZW1lbnQgPSBtX3BzZXVk
b0VsZW1lbnRSZXF1ZXN0LmhpZ2hsaWdodE5hbWU7CiAgICAgY29udGV4dC5pc01hdGNoaW5nSG9z
dFBzZXVkb0NsYXNzID0gbV9pc01hdGNoaW5nSG9zdFBzZXVkb0NsYXNzOwotICAgIGNvbnRleHQu
c2hhZG93SG9zdEluUGFydFJ1bGVTY29wZSA9IG1fc2hhZG93SG9zdEluUGFydFJ1bGVTY29wZS5n
ZXQoKTsKICAgICBjb250ZXh0LnN0eWxlU2NvcGVPcmRpbmFsID0gc3R5bGVTY29wZU9yZGluYWw7
CiAKICAgICBib29sIHNlbGVjdG9yTWF0Y2hlczsKQEAgLTU0OCw4ICs1NDksOCBAQCB2b2lkIEVs
ZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaEFsbFJ1bGVzKGJvb2wgbWF0Y2hBdXRob3JBbmRVc2Vy
U3R5bGVzLCBib29sIGluYwogICAgICAgICAvLyBJbmxpbmUgc3R5bGUgYmVoYXZlcyBhcyBpZiBp
dCBoYXMgaGlnaGVyIHNwZWNpZmljaXR5IHRoYW4gYW55IHJ1bGUuCiAgICAgICAgIGFkZEVsZW1l
bnRJbmxpbmVTdHlsZVByb3BlcnRpZXMoaW5jbHVkZVNNSUxQcm9wZXJ0aWVzKTsKIAotICAgICAg
ICAvLyBSdWxlcyBmcm9tIHRoZSBob3N0IHNjb3BlIG92ZXJyaWRlIGlubGluZSBzdHlsZS4KLSAg
ICAgICAgdHJhbnNmZXJNYXRjaGVkUnVsZXMoRGVjbGFyYXRpb25PcmlnaW46OkF1dGhvciwgU2Nv
cGVPcmRpbmFsOjpDb250YWluaW5nSG9zdCk7CisgICAgICAgIC8vIFJ1bGVzIGZyb20gdGhlIGhv
c3Qgc2NvcGVzIG92ZXJyaWRlIGlubGluZSBzdHlsZS4KKyAgICAgICAgdHJhbnNmZXJNYXRjaGVk
UnVsZXMoRGVjbGFyYXRpb25PcmlnaW46OkF1dGhvcik7CiAgICAgfQogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaAppbmRleCBjZDM1MjU0NDQ5MjBmYTcy
ZDAzMGEyOWQ1N2IwOWVlZmFiYzE3ZWY0Li5kMDczMzg0N2I0ZDRlZTEzNmYxY2JmYjZiYzlhMGMx
NTgwNjM0YTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNv
bGxlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9y
LmgKQEAgLTE2Myw3ICsxNjMsNiBAQCBwcml2YXRlOgogICAgIFBzZXVkb0VsZW1lbnRSZXF1ZXN0
IG1fcHNldWRvRWxlbWVudFJlcXVlc3QgeyBQc2V1ZG9JZDo6Tm9uZSB9OwogICAgIFNlbGVjdG9y
Q2hlY2tlcjo6TW9kZSBtX21vZGUgeyBTZWxlY3RvckNoZWNrZXI6Ok1vZGU6OlJlc29sdmluZ1N0
eWxlIH07CiAgICAgYm9vbCBtX2lzTWF0Y2hpbmdIb3N0UHNldWRvQ2xhc3MgeyBmYWxzZSB9Owot
ICAgIFJlZlB0cjxjb25zdCBFbGVtZW50PiBtX3NoYWRvd0hvc3RJblBhcnRSdWxlU2NvcGU7CiAK
ICAgICBWZWN0b3I8TWF0Y2hlZFJ1bGUsIDY0PiBtX21hdGNoZWRSdWxlczsKICAgICBzaXplX3Qg
bV9tYXRjaGVkUnVsZVRyYW5zZmVySW5kZXggeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2Nv
cGUuY3BwCmluZGV4IDVkNzA2MWYxNTM2YzAyOWQxMDQwZmEyMjkyYjY2ZGZkMTkzNWQyMzMuLjIy
YjJhN2U5NWIyYThlODBlM2Q2ZTI1ZTM0NDI5Yjk1OTczYzhlMGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlU2NvcGUuY3BwCkBAIC0xODUsMzEgKzE4NSwxOCBAQCBTY29wZSYgU2NvcGU6OmZvck5v
ZGUoTm9kZSYgbm9kZSkKIAogU2NvcGUqIFNjb3BlOjpmb3JPcmRpbmFsKEVsZW1lbnQmIGVsZW1l
bnQsIFNjb3BlT3JkaW5hbCBvcmRpbmFsKQogewotICAgIHN3aXRjaCAob3JkaW5hbCkgewotICAg
IGNhc2UgU2NvcGVPcmRpbmFsOjpFbGVtZW50OgorICAgIGlmIChvcmRpbmFsID09IFNjb3BlT3Jk
aW5hbDo6RWxlbWVudCkKICAgICAgICAgcmV0dXJuICZmb3JOb2RlKGVsZW1lbnQpOwotICAgIGNh
c2UgU2NvcGVPcmRpbmFsOjpDb250YWluaW5nSG9zdDogewotICAgICAgICBhdXRvKiBjb250YWlu
aW5nU2hhZG93Um9vdCA9IGVsZW1lbnQuY29udGFpbmluZ1NoYWRvd1Jvb3QoKTsKLSAgICAgICAg
aWYgKCFjb250YWluaW5nU2hhZG93Um9vdCkKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwot
ICAgICAgICByZXR1cm4gJmZvck5vZGUoKmNvbnRhaW5pbmdTaGFkb3dSb290LT5ob3N0KCkpOwot
ICAgIH0KLSAgICBjYXNlIFNjb3BlT3JkaW5hbDo6U2hhZG93OiB7CisgICAgaWYgKG9yZGluYWwg
PT0gU2NvcGVPcmRpbmFsOjpTaGFkb3cpIHsKICAgICAgICAgYXV0byogc2hhZG93Um9vdCA9IGVs
ZW1lbnQuc2hhZG93Um9vdCgpOwotICAgICAgICBpZiAoIXNoYWRvd1Jvb3QpCi0gICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgcmV0dXJuICZzaGFkb3dSb290LT5zdHlsZVNjb3Bl
KCk7Ci0gICAgfQotICAgIGRlZmF1bHQ6IHsKLSAgICAgICAgQVNTRVJUKG9yZGluYWwgPj0gU2Nv
cGVPcmRpbmFsOjpGaXJzdFNsb3QpOwotICAgICAgICBhdXRvIHNsb3RJbmRleCA9IFNjb3BlT3Jk
aW5hbDo6Rmlyc3RTbG90OwotICAgICAgICBmb3IgKGF1dG8qIHNsb3QgPSBlbGVtZW50LmFzc2ln
bmVkU2xvdCgpOyBzbG90OyBzbG90ID0gc2xvdC0+YXNzaWduZWRTbG90KCksICsrc2xvdEluZGV4
KSB7Ci0gICAgICAgICAgICBpZiAoc2xvdEluZGV4ID09IG9yZGluYWwpCi0gICAgICAgICAgICAg
ICAgcmV0dXJuICZmb3JOb2RlKCpzbG90KTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICAgICAgcmV0dXJuIHNoYWRvd1Jvb3QgPyAmc2hhZG93Um9vdC0+c3R5bGVTY29w
ZSgpIDogbnVsbHB0cjsKICAgICB9CisgICAgaWYgKG9yZGluYWwgPD0gU2NvcGVPcmRpbmFsOjpD
b250YWluaW5nSG9zdCkgeworICAgICAgICBhdXRvKiBob3N0ID0gaG9zdEZvclNjb3BlT3JkaW5h
bChlbGVtZW50LCBvcmRpbmFsKTsKKyAgICAgICAgcmV0dXJuIGhvc3QgPyAmZm9yTm9kZSgqaG9z
dCkgOiBudWxscHRyOwogICAgIH0KKyAgICBhdXRvKiBzbG90ID0gYXNzaWduZWRTbG90Rm9yU2Nv
cGVPcmRpbmFsKGVsZW1lbnQsIG9yZGluYWwpOworICAgIHJldHVybiBzbG90ID8gJmZvck5vZGUo
KnNsb3QpIDogbnVsbHB0cjsKIH0KIAogdm9pZCBTY29wZTo6c2V0UHJlZmVycmVkU3R5bGVzaGVl
dFNldE5hbWUoY29uc3QgU3RyaW5nJiBuYW1lKQpAQCAtNzg5LDUgKzc3NiwyMyBAQCBib29sIFNj
b3BlOjppc0ZvclVzZXJBZ2VudFNoYWRvd1RyZWUoKSBjb25zdAogICAgIHJldHVybiBtX3NoYWRv
d1Jvb3QgJiYgbV9zaGFkb3dSb290LT5tb2RlKCkgPT0gU2hhZG93Um9vdE1vZGU6OlVzZXJBZ2Vu
dDsKIH0KIAorSFRNTFNsb3RFbGVtZW50KiBhc3NpZ25lZFNsb3RGb3JTY29wZU9yZGluYWwoY29u
c3QgRWxlbWVudCYgZWxlbWVudCwgU2NvcGVPcmRpbmFsIHNjb3BlT3JkaW5hbCkKK3sKKyAgICBB
U1NFUlQoc2NvcGVPcmRpbmFsID49IFNjb3BlT3JkaW5hbDo6Rmlyc3RTbG90KTsKKyAgICBhdXRv
KiBzbG90ID0gZWxlbWVudC5hc3NpZ25lZFNsb3QoKTsKKyAgICBmb3IgKGF1dG8gc2NvcGVEZXB0
aCA9IFNjb3BlT3JkaW5hbDo6Rmlyc3RTbG90OyBzbG90ICYmIHNjb3BlRGVwdGggIT0gc2NvcGVP
cmRpbmFsOyArK3Njb3BlRGVwdGgpCisgICAgICAgIHNsb3QgPSBzbG90LT5hc3NpZ25lZFNsb3Qo
KTsKKyAgICByZXR1cm4gc2xvdDsKK30KKworRWxlbWVudCogaG9zdEZvclNjb3BlT3JkaW5hbChj
b25zdCBFbGVtZW50JiBlbGVtZW50LCBTY29wZU9yZGluYWwgc2NvcGVPcmRpbmFsKQoreworICAg
IEFTU0VSVChzY29wZU9yZGluYWwgPD0gU2NvcGVPcmRpbmFsOjpDb250YWluaW5nSG9zdCk7Cisg
ICAgYXV0byogaG9zdCA9IGVsZW1lbnQuc2hhZG93SG9zdCgpOworICAgIGZvciAoYXV0byBzY29w
ZURlcHRoID0gU2NvcGVPcmRpbmFsOjpDb250YWluaW5nSG9zdDsgaG9zdCAmJiBzY29wZURlcHRo
ICE9IHNjb3BlT3JkaW5hbDsgLS1zY29wZURlcHRoKQorICAgICAgICBob3N0ID0gaG9zdC0+c2hh
ZG93SG9zdCgpOworICAgIHJldHVybiBob3N0OworfQorCiB9CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVNjb3BlLmgKaW5kZXggYTZlZjUxMjA0NmZjMTE5NzFhNDE3YTZlZjVhODU3NzA0Yzg5YWJiOS4u
MDI2M2NlNGE1YTVlNjA2ZjY0ZmVkNDQxZjNlNjQ1MGIxOTE5MTY5OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlU2NvcGUuaApAQCAtNDUsNiArNDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBDU1NTdHlsZVNoZWV0OwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFbGVtZW50OworY2xhc3Mg
SFRNTFNsb3RFbGVtZW50OwogY2xhc3MgTm9kZTsKIGNsYXNzIFByb2Nlc3NpbmdJbnN0cnVjdGlv
bjsKIGNsYXNzIFN0eWxlU2hlZXQ7CkBAIC0yMDMsNiArMjA0LDkgQEAgcHJpdmF0ZToKICAgICBI
YXNoTWFwPFJlc29sdmVyU2hhcmluZ0tleSwgUmVmPFJlc29sdmVyPj4gbV9zaGFyZWRTaGFkb3dU
cmVlUmVzb2x2ZXJzOwogfTsKIAorSFRNTFNsb3RFbGVtZW50KiBhc3NpZ25lZFNsb3RGb3JTY29w
ZU9yZGluYWwoY29uc3QgRWxlbWVudCYsIFNjb3BlT3JkaW5hbCk7CitFbGVtZW50KiBob3N0Rm9y
U2NvcGVPcmRpbmFsKGNvbnN0IEVsZW1lbnQmLCBTY29wZU9yZGluYWwpOworCiBpbmxpbmUgYm9v
bCBTY29wZTo6aGFzUGVuZGluZ1NoZWV0cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGhhc1BlbmRp
bmdTaGVldHNCZWZvcmVCb2R5KCkgfHwgIW1fZWxlbWVudHNJbkJvZHlXaXRoUGVuZGluZ1NoZWV0
cy5pc0VtcHR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3Bl
T3JkaW5hbC5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZU9yZGluYWwuaAppbmRl
eCAxNWU5NjhkYjY0MzA1MDg1ODFiMzk4ZGY3MzViNWM2NmNkNmE0ZWE5Li4zNjg3YjAyYmFmZjJm
ZmM1YmE0MTM3NGRjMTFkNDQ2OWFlOGQ3MTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZVNjb3BlT3JkaW5hbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxl
U2NvcGVPcmRpbmFsLmgKQEAgLTMwLDcgKzMwLDcgQEAgbmFtZXNwYWNlIFN0eWxlIHsKIC8vIFRo
aXMgaXMgdXNlZCB0byBpZGVudGlmeSBzdHlsZSBzY29wZXMgdGhhdCBjYW4gYWZmZWN0IGFuIGVs
ZW1lbnQuCiAvLyBTY29wZXMgYXJlIGluIHRyZWUtb2YtdHJlZXMgb3JkZXIuIFN0eWxlcyBmcm9t
IGVhcmxpZXIgc2NvcGVzIHdpbiBvdmVyIGxhdGVyIG9uZXMgKG1vZHVsbyAhaW1wb3J0YW50KS4K
IGVudW0gY2xhc3MgU2NvcGVPcmRpbmFsIDogaW50IHsKLSAgICBDb250YWluaW5nSG9zdCA9IC0x
LCAvLyA6OnBhcnQgcnVsZXMgYW5kIGF1dGhvci1leHBvc2VkIFVBIHBzZXVkbyBjbGFzc2VzIGZy
b20gdGhlIGhvc3QgdHJlZSBzY29wZS4KKyAgICBDb250YWluaW5nSG9zdCA9IC0xLCAvLyA6OnBh
cnQgcnVsZXMgYW5kIGF1dGhvci1leHBvc2VkIFVBIHBzZXVkbyBjbGFzc2VzIGZyb20gdGhlIGhv
c3QgdHJlZSBzY29wZS4gVmFsdWVzIGxlc3MgdGhhbiBDb250YWluaW5nSG9zdCBpbmRpY2F0ZSBl
bmNsb3Npbmcgc2NvcGVzLgogICAgIEVsZW1lbnQgPSAwLCAvLyBOb3JtYWwgcnVsZXMgaW4gdGhl
IHNhbWUgdHJlZSB3aGVyZSB0aGUgZWxlbWVudCBpcy4KICAgICBGaXJzdFNsb3QgPSAxLCAvLyA6
OnNsb3R0ZWQgcnVsZXMgaW4gdGhlIHBhcmVudCdzIHNoYWRvdyB0cmVlLiBWYWx1ZXMgZ3JlYXRl
ciB0aGFuIEZpcnN0U2xvdCBpbmRpY2F0ZSBzdWJzZXF1ZW50IHNsb3RzIGluIHRoZSBjaGFpbi4K
ICAgICBTaGFkb3cgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpLCAvLyA6aG9zdCBy
dWxlcyBpbiBlbGVtZW50J3Mgb3duIHNoYWRvdyB0cmVlLgpAQCAtNDIsNSArNDIsMTIgQEAgaW5s
aW5lIFNjb3BlT3JkaW5hbCYgb3BlcmF0b3IrKyhTY29wZU9yZGluYWwmIG9yZGluYWwpCiAgICAg
cmV0dXJuIG9yZGluYWwgPSBzdGF0aWNfY2FzdDxTY29wZU9yZGluYWw+KHN0YXRpY19jYXN0PGlu
dD4ob3JkaW5hbCkgKyAxKTsKIH0KIAoraW5saW5lIFNjb3BlT3JkaW5hbCYgb3BlcmF0b3ItLShT
Y29wZU9yZGluYWwmIG9yZGluYWwpCit7CisgICAgQVNTRVJUKG9yZGluYWwgPCBTY29wZU9yZGlu
YWw6OlNoYWRvdyk7CisgICAgcmV0dXJuIG9yZGluYWwgPSBzdGF0aWNfY2FzdDxTY29wZU9yZGlu
YWw+KHN0YXRpY19jYXN0PGludD4ob3JkaW5hbCkgLSAxKTsKK30KKworCiB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442992</attachid>
            <date>2021-11-01 10:46:38 -0700</date>
            <delta_ts>2021-11-03 03:14:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232562-20211101194634.patch</filename>
            <type>text/plain</type>
            <size>15914</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjE1YmQzZDdiZmNmZTRj
MGFjZGQ5ZGY2ZjFiZjZiZjEzZTQ3ZmQzYi4uOTc0MDkzNzZlYzE1ZTNjZDIzZmM5NWVmYTRmOTRm
NzMzODVkNWVkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIxLTExLTAxICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgU3R5bGU6OlNjb3Bl
T3JkaW5hbCBmb3IgZmluZGluZyB0aGUgcmlnaHQgc2NvcGUgZm9yIDo6cGFydCBtYXRjaGluZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTYyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgYXJlIHBh
c3NpbmcgdGhlIHNjb3BlIG9yZGluYWwgdG8gdGhlIHNlbGVjdG9yIGNoZWNrZXIgc28gd2UgY2Fu
IHVzZSBpdCBjb25zaXN0ZW50bHkgdG8gZmluZAorICAgICAgICB0aGUgcmlnaHQgc2NvcGUuCisK
KyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNl
bGVjdG9yQ2hlY2tlcjo6bWF0Y2hSZWN1cnNpdmVseSBjb25zdCk6CisKKyAgICAgICAgRmluZCB0
aGUgcmlnaHQgc2NvcGUgYmFzZWQgb24gdGhlIHNjb3BlIG9yZGluYWwuCisgICAgICAgIFNpbXBs
aWZ5IGFsbG93TXVsdGlwbGVQc2V1ZG9FbGVtZW50cyBjaGVjaywgaW52YWxpZCBjYXNlcyBhcmUg
bm90IGFsbG93ZWQgYnkgdGhlIHBhcnNlci4KKworICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JD
aGVja2VyOjpjaGVja09uZSBjb25zdCk6CisKKyAgICAgICAgRmluZCB0aGUgcmlnaHQgc2NvcGUg
YmFzZWQgb24gdGhlIHNjb3BlIG9yZGluYWwuCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVj
a2VyLmg6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoKKyAgICAgICAgKiBzdHlsZS9FbGVt
ZW50UnVsZUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1
bGVDb2xsZWN0b3I6Om1hdGNoUGFydFBzZXVkb0VsZW1lbnRSdWxlc0ZvclNjb3BlKToKKworICAg
ICAgICBDb21wdXRlIHRoZSBzY29wZSBvcmRpbmFsIGZvciBuZXN0ZWQgc2NvcGVzLgorICAgICAg
ICBNYWtlIGl0ZXJhdGl2ZSBpbnN0ZWFkIG9mIHJlY3Vyc2l2ZS4KKworICAgICAgICAoV2ViQ29y
ZTo6U3R5bGU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjpydWxlTWF0Y2hlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoQWxsUnVsZXMpOgorCisg
ICAgICAgIEZsdXNoIGFsbCByZW1haW5pbmcgcnVsZXMuCisKKyAgICAgICAgKiBzdHlsZS9FbGVt
ZW50UnVsZUNvbGxlY3Rvci5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlU2NvcGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGU6OlNjb3BlOjpmb3JPcmRpbmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlOjphc3NpZ25lZFNsb3RGb3JTY29wZU9yZGluYWwpOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGU6Omhvc3RGb3JTY29wZU9yZGluYWwpOgorCisgICAgICAgIEFkZCBoZWxwZXJzLgor
CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlU2Nv
cGVPcmRpbmFsLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6b3BlcmF0b3ItLSk6CisKKyAg
ICAgICAgV2Ugbm93IHVzZSB2YWx1ZXMgbGVzcyB0aGFuIENvbnRhaW5pbmdIb3N0IHRvIHByZXNl
bnQgZW5jbG9zaW5nIHNjb3Blcywgc2ltaWxhciB0byBzbG90dGVkIG1hdGNoaW5nLgorCiAyMDIx
LTExLTAxICBEYW5pZWwgS29sZXNhICA8ZGtvbGVzYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZp
eCBidWlsZCB3aXRoIEdDQyA4LjQgb24gVWJ1bnR1IDE4LjA0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxl
Y3RvckNoZWNrZXIuY3BwCmluZGV4IGVkZjVmMWIyNzUxMDcwOGFjM2Y4ODRlNmU5ZGI5YzkzODk4
NDRiOWUuLjIxZDlmYTRjY2UyMDQ3MTMwY2Q5NzFlMTJmYjYzM2EwMzYyYWRhMWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCkBAIC0zMTYsOCArMzE2LDcgQEAgU2VsZWN0
b3JDaGVja2VyOjpNYXRjaFJlc3VsdCBTZWxlY3RvckNoZWNrZXI6Om1hdGNoUmVjdXJzaXZlbHko
Q2hlY2tpbmdDb250ZXh0JgogCiAgICAgICAgIG5leHRDb250ZXh0LnBzZXVkb0lkID0gUHNldWRv
SWQ6Ok5vbmU7CiAKLSAgICAgICAgYm9vbCBuZXh0SXNQYXJ0ID0gbGVmdFNlbGVjdG9yLT5tYXRj
aCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50ICYmIGxlZnRTZWxlY3Rvci0+cHNldWRv
RWxlbWVudFR5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFBhcnQ7Ci0gICAgICAg
IGJvb2wgYWxsb3dNdWx0aXBsZVBzZXVkb0VsZW1lbnRzID0gcmVsYXRpb24gPT0gQ1NTU2VsZWN0
b3I6OlNoYWRvd0Rlc2NlbmRhbnQgJiYgbmV4dElzUGFydDsKKyAgICAgICAgYm9vbCBhbGxvd011
bHRpcGxlUHNldWRvRWxlbWVudHMgPSByZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6U2hhZG93RGVz
Y2VuZGFudDsKICAgICAgICAgLy8gVmlydHVhbCBwc2V1ZG8gZWxlbWVudCBpcyBvbmx5IGVmZmVj
dGl2ZSBpbiB0aGUgcmlnaHRtb3N0IGZyYWdtZW50LgogICAgICAgICBpZiAoIWFsbG93TXVsdGlw
bGVQc2V1ZG9FbGVtZW50cykKICAgICAgICAgICAgIG5leHRDb250ZXh0LnBzZXVkb0VsZW1lbnRF
ZmZlY3RpdmUgPSBmYWxzZTsKQEAgLTQwOSwxMSArNDA4LDE0IEBAIFNlbGVjdG9yQ2hlY2tlcjo6
TWF0Y2hSZXN1bHQgU2VsZWN0b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5KENoZWNraW5nQ29u
dGV4dCYKICAgICAgICAgfQogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQ6
CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93UGFydERlc2NlbmRhbnQ6IHsKLSAgICAgICAg
Ly8gV2hlbiBtYXRjaGluZyBmb286OnBhcnQoYmFyKSB3ZSBza2lwIGRpcmVjdGx5IHRvIHRoZSB0
cmVlIG9mIGVsZW1lbnQgJ2ZvbycuCi0gICAgICAgIGF1dG8qIHNoYWRvd0hvc3QgPSByZWxhdGlv
biA9PSBDU1NTZWxlY3Rvcjo6U2hhZG93UGFydERlc2NlbmRhbnQgPyBjaGVja2luZ0NvbnRleHQu
c2hhZG93SG9zdEluUGFydFJ1bGVTY29wZSA6IGNvbnRleHQuZWxlbWVudC0+c2hhZG93SG9zdCgp
OwotICAgICAgICBpZiAoIXNoYWRvd0hvc3QpCisgICAgICAgIC8vIENvbnRpbnVlIG1hdGNoaW5n
IGluIHRoZSBzY29wZSB3aGVyZSB0aGlzIHJ1bGUgY2FtZSBmcm9tLgorICAgICAgICBhdXRvKiBo
b3N0ID0gcmVsYXRpb24gPT0gQ1NTU2VsZWN0b3I6OlNoYWRvd1BhcnREZXNjZW5kYW50CisgICAg
ICAgICAgICA/IFN0eWxlOjpob3N0Rm9yU2NvcGVPcmRpbmFsKCpjb250ZXh0LmVsZW1lbnQsIGNo
ZWNraW5nQ29udGV4dC5zdHlsZVNjb3BlT3JkaW5hbCkKKyAgICAgICAgICAgIDogY29udGV4dC5l
bGVtZW50LT5zaGFkb3dIb3N0KCk7CisgICAgICAgIGlmICghaG9zdCkKICAgICAgICAgICAgIHJl
dHVybiBNYXRjaFJlc3VsdDo6ZmFpbHMoTWF0Y2g6OlNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5KTsK
LSAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudCA9IHNoYWRvd0hvc3Q7CisKKyAgICAgICAgbmV4
dENvbnRleHQuZWxlbWVudCA9IGhvc3Q7CiAgICAgICAgIG5leHRDb250ZXh0LmZpcnN0U2VsZWN0
b3JPZlRoZUZyYWdtZW50ID0gbmV4dENvbnRleHQuc2VsZWN0b3I7CiAgICAgICAgIG5leHRDb250
ZXh0LmlzU3ViamVjdE9yQWRqYWNlbnRFbGVtZW50ID0gZmFsc2U7CiAgICAgICAgIFBzZXVkb0lk
U2V0IGlnbm9yZUR5bmFtaWNQc2V1ZG87CkBAIC00MjIsMTQgKzQyNCw5IEBAIFNlbGVjdG9yQ2hl
Y2tlcjo6TWF0Y2hSZXN1bHQgU2VsZWN0b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5KENoZWNr
aW5nQ29udGV4dCYKICAgICAgICAgcmV0dXJuIE1hdGNoUmVzdWx0Ojp1cGRhdGVXaXRoTWF0Y2hU
eXBlKHJlc3VsdCwgbWF0Y2hUeXBlKTsKICAgICB9CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hh
ZG93U2xvdHRlZDogewotICAgICAgICBhdXRvKiBzbG90ID0gY29udGV4dC5lbGVtZW50LT5hc3Np
Z25lZFNsb3QoKTsKLSAgICAgICAgaWYgKCFzbG90KQotICAgICAgICAgICAgcmV0dXJuIE1hdGNo
UmVzdWx0OjpmYWlscyhNYXRjaDo6U2VsZWN0b3JGYWlsc0NvbXBsZXRlbHkpOwogICAgICAgICAv
LyBXZSBjb250aW51ZSBtYXRjaGluZyBpbiB0aGUgc2NvcGUgd2hlcmUgdGhpcyBydWxlIGNhbWUg
ZnJvbS4KLSAgICAgICAgYXV0byBzY29wZURlcHRoID0gc3RhdGljX2Nhc3Q8aW50PihjaGVja2lu
Z0NvbnRleHQuc3R5bGVTY29wZU9yZGluYWwpOwotICAgICAgICB3aGlsZSAoLS1zY29wZURlcHRo
ICYmIHNsb3QtPmFzc2lnbmVkU2xvdCgpKQotICAgICAgICAgICAgc2xvdCA9IHNsb3QtPmFzc2ln
bmVkU2xvdCgpOwotICAgICAgICBpZiAoc2NvcGVEZXB0aCkKKyAgICAgICAgYXV0byBzbG90ID0g
U3R5bGU6OmFzc2lnbmVkU2xvdEZvclNjb3BlT3JkaW5hbCgqY29udGV4dC5lbGVtZW50LCBjaGVj
a2luZ0NvbnRleHQuc3R5bGVTY29wZU9yZGluYWwpOworICAgICAgICBpZiAoIXNsb3QpCiAgICAg
ICAgICAgICByZXR1cm4gTWF0Y2hSZXN1bHQ6OmZhaWxzKE1hdGNoOjpTZWxlY3RvckZhaWxzQ29t
cGxldGVseSk7CiAKICAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudCA9IHNsb3Q7CkBAIC0xMTcx
LDExICsxMTY4LDEzIEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShDaGVja2luZ0Nv
bnRleHQmIGNoZWNraW5nQ29udGV4dCwgY29uc3QgTG9jYWxDb250CiAgICAgICAgIGNhc2UgQ1NT
U2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRQYXJ0OiB7CiAgICAgICAgICAgICBhdXRvIHRyYW5zbGF0
ZVBhcnROYW1lVG9SdWxlU2NvcGUgPSBbJl0oQXRvbVN0cmluZyBwYXJ0TmFtZSkgewogICAgICAg
ICAgICAgICAgIFZlY3RvcjxBdG9tU3RyaW5nLCAxPiBtYXBwZWROYW1lcyB7IHBhcnROYW1lIH07
CisgICAgICAgICAgICAgICAgYXV0byogcnVsZVNjb3BlSG9zdCA9IFN0eWxlOjpob3N0Rm9yU2Nv
cGVPcmRpbmFsKCpjb250ZXh0LmVsZW1lbnQsIGNoZWNraW5nQ29udGV4dC5zdHlsZVNjb3BlT3Jk
aW5hbCk7CisKICAgICAgICAgICAgICAgICBmb3IgKGF1dG8qIHNoYWRvd1Jvb3QgPSBlbGVtZW50
LmNvbnRhaW5pbmdTaGFkb3dSb290KCk7IHNoYWRvd1Jvb3Q7IHNoYWRvd1Jvb3QgPSBzaGFkb3dS
b290LT5ob3N0KCktPmNvbnRhaW5pbmdTaGFkb3dSb290KCkpIHsKICAgICAgICAgICAgICAgICAg
ICAgLy8gQXBwbHkgbWFwcGluZ3MgdXAgdG8gdGhlIHNjb3BlIHRoZSBydWxlcyBhcmUgY29taW5n
IGZyb20uCi0gICAgICAgICAgICAgICAgICAgIGlmIChzaGFkb3dSb290LT5ob3N0KCkgPT0gY2hl
Y2tpbmdDb250ZXh0LnNoYWRvd0hvc3RJblBhcnRSdWxlU2NvcGUpCisgICAgICAgICAgICAgICAg
ICAgIGlmIChzaGFkb3dSb290LT5ob3N0KCkgPT0gcnVsZVNjb3BlSG9zdCkKICAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAg
ICAgICAgICBWZWN0b3I8QXRvbVN0cmluZywgMT4gbmV3TWFwcGVkTmFtZXM7CiAgICAgICAgICAg
ICAgICAgICAgIGZvciAoYXV0byYgbmFtZSA6IG1hcHBlZE5hbWVzKQogICAgICAgICAgICAgICAg
ICAgICAgICAgbmV3TWFwcGVkTmFtZXMuYXBwZW5kVmVjdG9yKHNoYWRvd1Jvb3QtPnBhcnRNYXBw
aW5ncygpLmdldChuYW1lKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0
b3JDaGVja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgKaW5kZXgg
M2NjMDdhYWZlMTQxNjhjMTQ0ZThhOWQ1OGNiZjI3YmY5ZTM2MWMwNi4uNTc4MzYyMmMwYzYwZTE2
NWUzNjNjYzBiNDI3MmE2NmRiYTdlMjMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1NlbGVjdG9yQ2hlY2tlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNr
ZXIuaApAQCAtOTUsNyArOTUsNiBAQCBwdWJsaWM6CiAgICAgICAgIEF0b21TdHJpbmcgbmFtZUZv
ckhpZ2h0bGlnaHRQc2V1ZG9FbGVtZW50OwogICAgICAgICBjb25zdCBDb250YWluZXJOb2RlKiBz
Y29wZSB7IG51bGxwdHIgfTsKICAgICAgICAgYm9vbCBpc01hdGNoaW5nSG9zdFBzZXVkb0NsYXNz
IHsgZmFsc2UgfTsKLSAgICAgICAgY29uc3QgRWxlbWVudCogc2hhZG93SG9zdEluUGFydFJ1bGVT
Y29wZSB7IG51bGxwdHIgfTsKICAgICAgICAgU3R5bGU6OlNjb3BlT3JkaW5hbCBzdHlsZVNjb3Bl
T3JkaW5hbCB7IFN0eWxlOjpTY29wZU9yZGluYWw6OkVsZW1lbnQgfTsKIAogICAgICAgICAvLyBG
SVhNRTogSXQgd291bGQgYmUgbmljZXIgdG8gaGF2ZSBhIHNlcGFyYXRlIG9iamVjdCBmb3IgcmV0
dXJuIHZhbHVlcy4gVGhpcyByZXF1aXJlcyBzb21lIG1vcmUgd29yayBpbiB0aGUgc2VsZWN0b3Ig
Y29tcGlsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAppbmRleCBiYjk5NmIyN2JjMTU3MGEyNDk0
NTI2MDI5MDEwNTE5ZDM3MjEyODY3Li5hMmU1YWVkY2NhZTdlMDUxYTNhZWRiOTRiMzFmOTNmYzdi
NjEyY2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNs
dWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50RnJhZ21lbnQuaCIKICNpbmNsdWRl
ICJFbGVtZW50LmgiCisjaW5jbHVkZSAiU3R5bGVTY29wZU9yZGluYWwuaCIKICNpZiBFTkFCTEUo
UElDVFVSRV9JTl9QSUNUVVJFX0FQSSkKICNpbmNsdWRlICJIVE1MVmlkZW9FbGVtZW50LmgiCiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVj
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcApp
bmRleCA1ZjIxOThkMmYwY2ZiMzkxMzQwYzEzZTNjZTBhZDg3MDE0OWI0NjFlLi44ZmUxYjc5MDgz
NDBiYzkxNzRkM2U2Y2E3ZDZiYTlmNjNlMjY0ZWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCkBAIC0zMDUsMjEgKzMwNSwyMyBAQCB2b2lkIEVs
ZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaFBhcnRQc2V1ZG9FbGVtZW50UnVsZXMoKQogCiB2b2lk
IEVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaFBhcnRQc2V1ZG9FbGVtZW50UnVsZXNGb3JTY29w
ZShjb25zdCBTaGFkb3dSb290JiBzY29wZVNoYWRvd1Jvb3QpCiB7Ci0gICAgYXV0byYgc2hhZG93
SG9zdCA9ICpzY29wZVNoYWRvd1Jvb3QuaG9zdCgpOwotICAgIHsKLSAgICAgICAgU2V0Rm9yU2Nv
cGU8UmVmUHRyPGNvbnN0IEVsZW1lbnQ+PiBwYXJ0TWF0Y2hpbmdTY29wZShtX3NoYWRvd0hvc3RJ
blBhcnRSdWxlU2NvcGUsICZzaGFkb3dIb3N0KTsKKyAgICBhdXRvKiBob3N0ID0gc2NvcGVTaGFk
b3dSb290Lmhvc3QoKTsKKyAgICBhdXRvIHN0eWxlU2NvcGVPcmRpbmFsID0gU2NvcGVPcmRpbmFs
OjpDb250YWluaW5nSG9zdDsKIAotICAgICAgICBhdXRvJiBob3N0QXV0aG9yUnVsZXMgPSBTY29w
ZTo6Zm9yTm9kZShzaGFkb3dIb3N0KS5yZXNvbHZlcigpLnJ1bGVTZXRzKCkuYXV0aG9yU3R5bGUo
KTsKLSAgICAgICAgTWF0Y2hSZXF1ZXN0IGhvc3RBdXRob3JSZXF1ZXN0IHsgJmhvc3RBdXRob3JS
dWxlcywgU2NvcGVPcmRpbmFsOjpDb250YWluaW5nSG9zdCB9OwotICAgICAgICBjb2xsZWN0TWF0
Y2hpbmdSdWxlc0Zvckxpc3QoJmhvc3RBdXRob3JSdWxlcy5wYXJ0UHNldWRvRWxlbWVudFJ1bGVz
KCksIGhvc3RBdXRob3JSZXF1ZXN0KTsKLSAgICB9CisgICAgZm9yICg7IGhvc3Q7IGhvc3QgPSBo
b3N0LT5zaGFkb3dIb3N0KCksIC0tc3R5bGVTY29wZU9yZGluYWwpIHsKKyAgICAgICAgYXV0byYg
c3R5bGVTY29wZSA9IFNjb3BlOjpmb3JOb2RlKCpob3N0KTsKKyAgICAgICAgaWYgKCFzdHlsZVNj
b3BlLnJlc29sdmVyKCkucnVsZVNldHMoKS5pc0F1dGhvclN0eWxlRGVmaW5lZCgpKQorICAgICAg
ICAgICAgY29udGludWU7CiAKLSAgICAvLyBFbGVtZW50IG1heSBiZSBleHBvc2VkIHRvIHN0eWxp
bmcgZnJvbSBlbmNsb3Npbmcgc2NvcGVzIHZpYSBleHBvcnRwYXJ0cyBhdHRyaWJ1dGVzLgotICAg
IGlmIChzY29wZVNoYWRvd1Jvb3QucGFydE1hcHBpbmdzKCkuaXNFbXB0eSgpKQotICAgICAgICBy
ZXR1cm47CisgICAgICAgIGF1dG8mIGhvc3RBdXRob3JSdWxlcyA9IHN0eWxlU2NvcGUucmVzb2x2
ZXIoKS5ydWxlU2V0cygpLmF1dGhvclN0eWxlKCk7CisKKyAgICAgICAgTWF0Y2hSZXF1ZXN0IHNj
b3BlTWF0Y2hSZXF1ZXN0KCZob3N0QXV0aG9yUnVsZXMsIHN0eWxlU2NvcGVPcmRpbmFsKTsKKyAg
ICAgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KCZob3N0QXV0aG9yUnVsZXMucGFydFBz
ZXVkb0VsZW1lbnRSdWxlcygpLCBzY29wZU1hdGNoUmVxdWVzdCk7CiAKLSAgICBpZiAoYXV0byog
cGFyZW50U2NvcGVTaGFkb3dSb290ID0gc2hhZG93SG9zdC5jb250YWluaW5nU2hhZG93Um9vdCgp
KQotICAgICAgICBtYXRjaFBhcnRQc2V1ZG9FbGVtZW50UnVsZXNGb3JTY29wZSgqcGFyZW50U2Nv
cGVTaGFkb3dSb290KTsKKyAgICAgICAgLy8gRWxlbWVudCBtYXkgb25seSBiZSBleHBvc2VkIHRv
IHN0eWxpbmcgZnJvbSBlbmNsb3Npbmcgc2NvcGVzIHZpYSBleHBvcnRwYXJ0cyBhdHRyaWJ1dGVz
LgorICAgICAgICBpZiAoaG9zdC0+c2hhZG93Um9vdCgpLT5wYXJ0TWFwcGluZ3MoKS5pc0VtcHR5
KCkpCisgICAgICAgICAgICBicmVhazsKKyAgICB9CiB9CiAKIHZvaWQgRWxlbWVudFJ1bGVDb2xs
ZWN0b3I6OmNvbGxlY3RNYXRjaGluZ1NoYWRvd1BzZXVkb0VsZW1lbnRSdWxlcyhjb25zdCBNYXRj
aFJlcXVlc3QmIG1hdGNoUmVxdWVzdCkKQEAgLTQzMCw3ICs0MzIsNiBAQCBpbmxpbmUgYm9vbCBF
bGVtZW50UnVsZUNvbGxlY3Rvcjo6cnVsZU1hdGNoZXMoY29uc3QgUnVsZURhdGEmIHJ1bGVEYXRh
LCB1bnNpZ25lZAogICAgIGNvbnRleHQuc2Nyb2xsYmFyU3RhdGUgPSBtX3BzZXVkb0VsZW1lbnRS
ZXF1ZXN0LnNjcm9sbGJhclN0YXRlOwogICAgIGNvbnRleHQubmFtZUZvckhpZ2h0bGlnaHRQc2V1
ZG9FbGVtZW50ID0gbV9wc2V1ZG9FbGVtZW50UmVxdWVzdC5oaWdobGlnaHROYW1lOwogICAgIGNv
bnRleHQuaXNNYXRjaGluZ0hvc3RQc2V1ZG9DbGFzcyA9IG1faXNNYXRjaGluZ0hvc3RQc2V1ZG9D
bGFzczsKLSAgICBjb250ZXh0LnNoYWRvd0hvc3RJblBhcnRSdWxlU2NvcGUgPSBtX3NoYWRvd0hv
c3RJblBhcnRSdWxlU2NvcGUuZ2V0KCk7CiAgICAgY29udGV4dC5zdHlsZVNjb3BlT3JkaW5hbCA9
IHN0eWxlU2NvcGVPcmRpbmFsOwogCiAgICAgYm9vbCBzZWxlY3Rvck1hdGNoZXM7CkBAIC01NDgs
OCArNTQ5LDggQEAgdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hBbGxSdWxlcyhib29s
IG1hdGNoQXV0aG9yQW5kVXNlclN0eWxlcywgYm9vbCBpbmMKICAgICAgICAgLy8gSW5saW5lIHN0
eWxlIGJlaGF2ZXMgYXMgaWYgaXQgaGFzIGhpZ2hlciBzcGVjaWZpY2l0eSB0aGFuIGFueSBydWxl
LgogICAgICAgICBhZGRFbGVtZW50SW5saW5lU3R5bGVQcm9wZXJ0aWVzKGluY2x1ZGVTTUlMUHJv
cGVydGllcyk7CiAKLSAgICAgICAgLy8gUnVsZXMgZnJvbSB0aGUgaG9zdCBzY29wZSBvdmVycmlk
ZSBpbmxpbmUgc3R5bGUuCi0gICAgICAgIHRyYW5zZmVyTWF0Y2hlZFJ1bGVzKERlY2xhcmF0aW9u
T3JpZ2luOjpBdXRob3IsIFNjb3BlT3JkaW5hbDo6Q29udGFpbmluZ0hvc3QpOworICAgICAgICAv
LyBSdWxlcyBmcm9tIHRoZSBob3N0IHNjb3BlcyBvdmVycmlkZSBpbmxpbmUgc3R5bGUuCisgICAg
ICAgIHRyYW5zZmVyTWF0Y2hlZFJ1bGVzKERlY2xhcmF0aW9uT3JpZ2luOjpBdXRob3IpOwogICAg
IH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xs
ZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmgKaW5k
ZXggY2QzNTI1NDQ0OTIwZmE3MmQwMzBhMjlkNTdiMDllZWZhYmMxN2VmNC4uZDA3MzM4NDdiNGQ0
ZWUxMzZmMWNiZmI2YmM5YTBjMTU4MDYzNGEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9F
bGVtZW50UnVsZUNvbGxlY3Rvci5oCkBAIC0xNjMsNyArMTYzLDYgQEAgcHJpdmF0ZToKICAgICBQ
c2V1ZG9FbGVtZW50UmVxdWVzdCBtX3BzZXVkb0VsZW1lbnRSZXF1ZXN0IHsgUHNldWRvSWQ6Ok5v
bmUgfTsKICAgICBTZWxlY3RvckNoZWNrZXI6Ok1vZGUgbV9tb2RlIHsgU2VsZWN0b3JDaGVja2Vy
OjpNb2RlOjpSZXNvbHZpbmdTdHlsZSB9OwogICAgIGJvb2wgbV9pc01hdGNoaW5nSG9zdFBzZXVk
b0NsYXNzIHsgZmFsc2UgfTsKLSAgICBSZWZQdHI8Y29uc3QgRWxlbWVudD4gbV9zaGFkb3dIb3N0
SW5QYXJ0UnVsZVNjb3BlOwogCiAgICAgVmVjdG9yPE1hdGNoZWRSdWxlLCA2ND4gbV9tYXRjaGVk
UnVsZXM7CiAgICAgc2l6ZV90IG1fbWF0Y2hlZFJ1bGVUcmFuc2ZlckluZGV4IHsgMCB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAppbmRleCA1ZDcwNjFmMTUzNmMwMjlkMTA0MGZhMjI5
MmI2NmRmZDE5MzVkMjMzLi4yMmIyYTdlOTViMmE4ZTgwZTNkNmUyNWUzNDQyOWI5NTk3M2M4ZTBi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcApAQCAtMTg1LDMxICsxODUsMTggQEAg
U2NvcGUmIFNjb3BlOjpmb3JOb2RlKE5vZGUmIG5vZGUpCiAKIFNjb3BlKiBTY29wZTo6Zm9yT3Jk
aW5hbChFbGVtZW50JiBlbGVtZW50LCBTY29wZU9yZGluYWwgb3JkaW5hbCkKIHsKLSAgICBzd2l0
Y2ggKG9yZGluYWwpIHsKLSAgICBjYXNlIFNjb3BlT3JkaW5hbDo6RWxlbWVudDoKKyAgICBpZiAo
b3JkaW5hbCA9PSBTY29wZU9yZGluYWw6OkVsZW1lbnQpCiAgICAgICAgIHJldHVybiAmZm9yTm9k
ZShlbGVtZW50KTsKLSAgICBjYXNlIFNjb3BlT3JkaW5hbDo6Q29udGFpbmluZ0hvc3Q6IHsKLSAg
ICAgICAgYXV0byogY29udGFpbmluZ1NoYWRvd1Jvb3QgPSBlbGVtZW50LmNvbnRhaW5pbmdTaGFk
b3dSb290KCk7Ci0gICAgICAgIGlmICghY29udGFpbmluZ1NoYWRvd1Jvb3QpCi0gICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgcmV0dXJuICZmb3JOb2RlKCpjb250YWluaW5nU2hh
ZG93Um9vdC0+aG9zdCgpKTsKLSAgICB9Ci0gICAgY2FzZSBTY29wZU9yZGluYWw6OlNoYWRvdzog
eworICAgIGlmIChvcmRpbmFsID09IFNjb3BlT3JkaW5hbDo6U2hhZG93KSB7CiAgICAgICAgIGF1
dG8qIHNoYWRvd1Jvb3QgPSBlbGVtZW50LnNoYWRvd1Jvb3QoKTsKLSAgICAgICAgaWYgKCFzaGFk
b3dSb290KQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIHJldHVybiAmc2hh
ZG93Um9vdC0+c3R5bGVTY29wZSgpOwotICAgIH0KLSAgICBkZWZhdWx0OiB7Ci0gICAgICAgIEFT
U0VSVChvcmRpbmFsID49IFNjb3BlT3JkaW5hbDo6Rmlyc3RTbG90KTsKLSAgICAgICAgYXV0byBz
bG90SW5kZXggPSBTY29wZU9yZGluYWw6OkZpcnN0U2xvdDsKLSAgICAgICAgZm9yIChhdXRvKiBz
bG90ID0gZWxlbWVudC5hc3NpZ25lZFNsb3QoKTsgc2xvdDsgc2xvdCA9IHNsb3QtPmFzc2lnbmVk
U2xvdCgpLCArK3Nsb3RJbmRleCkgewotICAgICAgICAgICAgaWYgKHNsb3RJbmRleCA9PSBvcmRp
bmFsKQotICAgICAgICAgICAgICAgIHJldHVybiAmZm9yTm9kZSgqc2xvdCk7Ci0gICAgICAgIH0K
LSAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBzaGFkb3dSb290ID8gJnNo
YWRvd1Jvb3QtPnN0eWxlU2NvcGUoKSA6IG51bGxwdHI7CiAgICAgfQorICAgIGlmIChvcmRpbmFs
IDw9IFNjb3BlT3JkaW5hbDo6Q29udGFpbmluZ0hvc3QpIHsKKyAgICAgICAgYXV0byogaG9zdCA9
IGhvc3RGb3JTY29wZU9yZGluYWwoZWxlbWVudCwgb3JkaW5hbCk7CisgICAgICAgIHJldHVybiBo
b3N0ID8gJmZvck5vZGUoKmhvc3QpIDogbnVsbHB0cjsKICAgICB9CisgICAgYXV0byogc2xvdCA9
IGFzc2lnbmVkU2xvdEZvclNjb3BlT3JkaW5hbChlbGVtZW50LCBvcmRpbmFsKTsKKyAgICByZXR1
cm4gc2xvdCA/ICZmb3JOb2RlKCpzbG90KSA6IG51bGxwdHI7CiB9CiAKIHZvaWQgU2NvcGU6OnNl
dFByZWZlcnJlZFN0eWxlc2hlZXRTZXROYW1lKGNvbnN0IFN0cmluZyYgbmFtZSkKQEAgLTc4OSw1
ICs3NzYsMjMgQEAgYm9vbCBTY29wZTo6aXNGb3JVc2VyQWdlbnRTaGFkb3dUcmVlKCkgY29uc3QK
ICAgICByZXR1cm4gbV9zaGFkb3dSb290ICYmIG1fc2hhZG93Um9vdC0+bW9kZSgpID09IFNoYWRv
d1Jvb3RNb2RlOjpVc2VyQWdlbnQ7CiB9CiAKK0hUTUxTbG90RWxlbWVudCogYXNzaWduZWRTbG90
Rm9yU2NvcGVPcmRpbmFsKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIFNjb3BlT3JkaW5hbCBzY29w
ZU9yZGluYWwpCit7CisgICAgQVNTRVJUKHNjb3BlT3JkaW5hbCA+PSBTY29wZU9yZGluYWw6OkZp
cnN0U2xvdCk7CisgICAgYXV0byogc2xvdCA9IGVsZW1lbnQuYXNzaWduZWRTbG90KCk7CisgICAg
Zm9yIChhdXRvIHNjb3BlRGVwdGggPSBTY29wZU9yZGluYWw6OkZpcnN0U2xvdDsgc2xvdCAmJiBz
Y29wZURlcHRoICE9IHNjb3BlT3JkaW5hbDsgKytzY29wZURlcHRoKQorICAgICAgICBzbG90ID0g
c2xvdC0+YXNzaWduZWRTbG90KCk7CisgICAgcmV0dXJuIHNsb3Q7Cit9CisKK0VsZW1lbnQqIGhv
c3RGb3JTY29wZU9yZGluYWwoY29uc3QgRWxlbWVudCYgZWxlbWVudCwgU2NvcGVPcmRpbmFsIHNj
b3BlT3JkaW5hbCkKK3sKKyAgICBBU1NFUlQoc2NvcGVPcmRpbmFsIDw9IFNjb3BlT3JkaW5hbDo6
Q29udGFpbmluZ0hvc3QpOworICAgIGF1dG8qIGhvc3QgPSBlbGVtZW50LnNoYWRvd0hvc3QoKTsK
KyAgICBmb3IgKGF1dG8gc2NvcGVEZXB0aCA9IFNjb3BlT3JkaW5hbDo6Q29udGFpbmluZ0hvc3Q7
IGhvc3QgJiYgc2NvcGVEZXB0aCAhPSBzY29wZU9yZGluYWw7IC0tc2NvcGVEZXB0aCkKKyAgICAg
ICAgaG9zdCA9IGhvc3QtPnNoYWRvd0hvc3QoKTsKKyAgICByZXR1cm4gaG9zdDsKK30KKwogfQog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5oIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5oCmluZGV4IGE2ZWY1MTIwNDZmYzExOTcxYTQxN2E2
ZWY1YTg1NzcwNGM4OWFiYjkuLjAyNjNjZTRhNWE1ZTYwNmY2NGZlZDQ0MWYzZTY0NTBiMTkxOTE2
OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgQ1NTU3R5bGVTaGVldDsKIGNsYXNzIERvY3VtZW50OwogY2xh
c3MgRWxlbWVudDsKK2NsYXNzIEhUTUxTbG90RWxlbWVudDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQ
cm9jZXNzaW5nSW5zdHJ1Y3Rpb247CiBjbGFzcyBTdHlsZVNoZWV0OwpAQCAtMjAzLDYgKzIwNCw5
IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxSZXNvbHZlclNoYXJpbmdLZXksIFJlZjxSZXNvbHZl
cj4+IG1fc2hhcmVkU2hhZG93VHJlZVJlc29sdmVyczsKIH07CiAKK0hUTUxTbG90RWxlbWVudCog
YXNzaWduZWRTbG90Rm9yU2NvcGVPcmRpbmFsKGNvbnN0IEVsZW1lbnQmLCBTY29wZU9yZGluYWwp
OworRWxlbWVudCogaG9zdEZvclNjb3BlT3JkaW5hbChjb25zdCBFbGVtZW50JiwgU2NvcGVPcmRp
bmFsKTsKKwogaW5saW5lIGJvb2wgU2NvcGU6Omhhc1BlbmRpbmdTaGVldHMoKSBjb25zdAogewog
ICAgIHJldHVybiBoYXNQZW5kaW5nU2hlZXRzQmVmb3JlQm9keSgpIHx8ICFtX2VsZW1lbnRzSW5C
b2R5V2l0aFBlbmRpbmdTaGVldHMuaXNFbXB0eSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVTY29wZU9yZGluYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxl
U2NvcGVPcmRpbmFsLmgKaW5kZXggMTVlOTY4ZGI2NDMwNTA4NTgxYjM5OGRmNzM1YjVjNjZjZDZh
NGVhOS4uMzY4N2IwMmJhZmYyZmZjNWJhNDEzNzRkYzExZDQ0NjlhZThkNzE2ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZU9yZGluYWwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlT3JkaW5hbC5oCkBAIC0zMCw3ICszMCw3IEBAIG5hbWVz
cGFjZSBTdHlsZSB7CiAvLyBUaGlzIGlzIHVzZWQgdG8gaWRlbnRpZnkgc3R5bGUgc2NvcGVzIHRo
YXQgY2FuIGFmZmVjdCBhbiBlbGVtZW50LgogLy8gU2NvcGVzIGFyZSBpbiB0cmVlLW9mLXRyZWVz
IG9yZGVyLiBTdHlsZXMgZnJvbSBlYXJsaWVyIHNjb3BlcyB3aW4gb3ZlciBsYXRlciBvbmVzICht
b2R1bG8gIWltcG9ydGFudCkuCiBlbnVtIGNsYXNzIFNjb3BlT3JkaW5hbCA6IGludCB7Ci0gICAg
Q29udGFpbmluZ0hvc3QgPSAtMSwgLy8gOjpwYXJ0IHJ1bGVzIGFuZCBhdXRob3ItZXhwb3NlZCBV
QSBwc2V1ZG8gY2xhc3NlcyBmcm9tIHRoZSBob3N0IHRyZWUgc2NvcGUuCisgICAgQ29udGFpbmlu
Z0hvc3QgPSAtMSwgLy8gOjpwYXJ0IHJ1bGVzIGFuZCBhdXRob3ItZXhwb3NlZCBVQSBwc2V1ZG8g
Y2xhc3NlcyBmcm9tIHRoZSBob3N0IHRyZWUgc2NvcGUuIFZhbHVlcyBsZXNzIHRoYW4gQ29udGFp
bmluZ0hvc3QgaW5kaWNhdGUgZW5jbG9zaW5nIHNjb3Blcy4KICAgICBFbGVtZW50ID0gMCwgLy8g
Tm9ybWFsIHJ1bGVzIGluIHRoZSBzYW1lIHRyZWUgd2hlcmUgdGhlIGVsZW1lbnQgaXMuCiAgICAg
Rmlyc3RTbG90ID0gMSwgLy8gOjpzbG90dGVkIHJ1bGVzIGluIHRoZSBwYXJlbnQncyBzaGFkb3cg
dHJlZS4gVmFsdWVzIGdyZWF0ZXIgdGhhbiBGaXJzdFNsb3QgaW5kaWNhdGUgc3Vic2VxdWVudCBz
bG90cyBpbiB0aGUgY2hhaW4uCiAgICAgU2hhZG93ID0gc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+
OjptYXgoKSwgLy8gOmhvc3QgcnVsZXMgaW4gZWxlbWVudCdzIG93biBzaGFkb3cgdHJlZS4KQEAg
LTQyLDUgKzQyLDEyIEBAIGlubGluZSBTY29wZU9yZGluYWwmIG9wZXJhdG9yKysoU2NvcGVPcmRp
bmFsJiBvcmRpbmFsKQogICAgIHJldHVybiBvcmRpbmFsID0gc3RhdGljX2Nhc3Q8U2NvcGVPcmRp
bmFsPihzdGF0aWNfY2FzdDxpbnQ+KG9yZGluYWwpICsgMSk7CiB9CiAKK2lubGluZSBTY29wZU9y
ZGluYWwmIG9wZXJhdG9yLS0oU2NvcGVPcmRpbmFsJiBvcmRpbmFsKQoreworICAgIEFTU0VSVChv
cmRpbmFsIDwgU2NvcGVPcmRpbmFsOjpTaGFkb3cpOworICAgIHJldHVybiBvcmRpbmFsID0gc3Rh
dGljX2Nhc3Q8U2NvcGVPcmRpbmFsPihzdGF0aWNfY2FzdDxpbnQ+KG9yZGluYWwpIC0gMSk7Cit9
CisKKwogfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443184</attachid>
            <date>2021-11-03 03:14:42 -0700</date>
            <delta_ts>2021-11-03 03:59:29 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-232562-20211103121440.patch</filename>
            <type>text/plain</type>
            <size>15918</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjE1YmQzZDdiZmNmZTRj
MGFjZGQ5ZGY2ZjFiZjZiZjEzZTQ3ZmQzYi4uZjZkMzZhZDE3NWY4MGViYzQ4MzI0ZWUwMzhkMTMy
OTI5YWI4OWI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIxLTExLTAxICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgU3R5bGU6OlNjb3Bl
T3JkaW5hbCBmb3IgZmluZGluZyB0aGUgcmlnaHQgc2NvcGUgZm9yIDo6cGFydCBtYXRjaGluZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTYyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFdlIGFyZSBhbHJl
YWR5IHBhc3NpbmcgdGhlIHNjb3BlIG9yZGluYWwgdG8gdGhlIHNlbGVjdG9yIGNoZWNrZXIgc28g
d2UgY2FuIHVzZSBpdCBjb25zaXN0ZW50bHkgdG8gZmluZAorICAgICAgICB0aGUgcmlnaHQgc2Nv
cGUuCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2hSZWN1cnNpdmVseSBjb25zdCk6CisKKyAgICAgICAg
RmluZCB0aGUgcmlnaHQgc2NvcGUgYmFzZWQgb24gdGhlIHNjb3BlIG9yZGluYWwuCisgICAgICAg
IFNpbXBsaWZ5IGFsbG93TXVsdGlwbGVQc2V1ZG9FbGVtZW50cyBjaGVjaywgaW52YWxpZCBjYXNl
cyBhcmUgbm90IGFsbG93ZWQgYnkgdGhlIHBhcnNlci4KKworICAgICAgICAoV2ViQ29yZTo6U2Vs
ZWN0b3JDaGVja2VyOjpjaGVja09uZSBjb25zdCk6CisKKyAgICAgICAgRmluZCB0aGUgcmlnaHQg
c2NvcGUgYmFzZWQgb24gdGhlIHNjb3BlIG9yZGluYWwuCisKKyAgICAgICAgKiBjc3MvU2VsZWN0
b3JDaGVja2VyLmg6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoKKyAgICAgICAgKiBzdHls
ZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6RWxl
bWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoUGFydFBzZXVkb0VsZW1lbnRSdWxlc0ZvclNjb3BlKToK
KworICAgICAgICBDb21wdXRlIHRoZSBzY29wZSBvcmRpbmFsIGZvciBuZXN0ZWQgc2NvcGVzLgor
ICAgICAgICBNYWtlIGl0ZXJhdGl2ZSBpbnN0ZWFkIG9mIHJlY3Vyc2l2ZS4KKworICAgICAgICAo
V2ViQ29yZTo6U3R5bGU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjpydWxlTWF0Y2hlcyk6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoQWxsUnVsZXMp
OgorCisgICAgICAgIEZsdXNoIGFsbCByZW1haW5pbmcgcnVsZXMuCisKKyAgICAgICAgKiBzdHls
ZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlU2NvcGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlNjb3BlOjpmb3JPcmRpbmFsKToKKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlOjphc3NpZ25lZFNsb3RGb3JTY29wZU9yZGluYWwpOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGU6Omhvc3RGb3JTY29wZU9yZGluYWwpOgorCisgICAgICAgIEFkZCBoZWxw
ZXJzLgorCisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5oOgorICAgICAgICAqIHN0eWxlL1N0
eWxlU2NvcGVPcmRpbmFsLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6b3BlcmF0b3ItLSk6
CisKKyAgICAgICAgV2Ugbm93IHVzZSB2YWx1ZXMgbGVzcyB0aGFuIENvbnRhaW5pbmdIb3N0IHRv
IHByZXNlbnQgZW5jbG9zaW5nIHNjb3Blcywgc2ltaWxhciB0byBzbG90dGVkIG1hdGNoaW5nLgor
CiAyMDIxLTExLTAxICBEYW5pZWwgS29sZXNhICA8ZGtvbGVzYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIEZpeCBidWlsZCB3aXRoIEdDQyA4LjQgb24gVWJ1bnR1IDE4LjA0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IGVkZjVmMWIyNzUxMDcwOGFjM2Y4ODRlNmU5ZGI5
YzkzODk4NDRiOWUuLjIxZDlmYTRjY2UyMDQ3MTMwY2Q5NzFlMTJmYjYzM2EwMzYyYWRhMWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCkBAIC0zMTYsOCArMzE2LDcgQEAg
U2VsZWN0b3JDaGVja2VyOjpNYXRjaFJlc3VsdCBTZWxlY3RvckNoZWNrZXI6Om1hdGNoUmVjdXJz
aXZlbHkoQ2hlY2tpbmdDb250ZXh0JgogCiAgICAgICAgIG5leHRDb250ZXh0LnBzZXVkb0lkID0g
UHNldWRvSWQ6Ok5vbmU7CiAKLSAgICAgICAgYm9vbCBuZXh0SXNQYXJ0ID0gbGVmdFNlbGVjdG9y
LT5tYXRjaCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50ICYmIGxlZnRTZWxlY3Rvci0+
cHNldWRvRWxlbWVudFR5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFBhcnQ7Ci0g
ICAgICAgIGJvb2wgYWxsb3dNdWx0aXBsZVBzZXVkb0VsZW1lbnRzID0gcmVsYXRpb24gPT0gQ1NT
U2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQgJiYgbmV4dElzUGFydDsKKyAgICAgICAgYm9vbCBh
bGxvd011bHRpcGxlUHNldWRvRWxlbWVudHMgPSByZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6U2hh
ZG93RGVzY2VuZGFudDsKICAgICAgICAgLy8gVmlydHVhbCBwc2V1ZG8gZWxlbWVudCBpcyBvbmx5
IGVmZmVjdGl2ZSBpbiB0aGUgcmlnaHRtb3N0IGZyYWdtZW50LgogICAgICAgICBpZiAoIWFsbG93
TXVsdGlwbGVQc2V1ZG9FbGVtZW50cykKICAgICAgICAgICAgIG5leHRDb250ZXh0LnBzZXVkb0Vs
ZW1lbnRFZmZlY3RpdmUgPSBmYWxzZTsKQEAgLTQwOSwxMSArNDA4LDE0IEBAIFNlbGVjdG9yQ2hl
Y2tlcjo6TWF0Y2hSZXN1bHQgU2VsZWN0b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5KENoZWNr
aW5nQ29udGV4dCYKICAgICAgICAgfQogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd0Rlc2Nl
bmRhbnQ6CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93UGFydERlc2NlbmRhbnQ6IHsKLSAg
ICAgICAgLy8gV2hlbiBtYXRjaGluZyBmb286OnBhcnQoYmFyKSB3ZSBza2lwIGRpcmVjdGx5IHRv
IHRoZSB0cmVlIG9mIGVsZW1lbnQgJ2ZvbycuCi0gICAgICAgIGF1dG8qIHNoYWRvd0hvc3QgPSBy
ZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6U2hhZG93UGFydERlc2NlbmRhbnQgPyBjaGVja2luZ0Nv
bnRleHQuc2hhZG93SG9zdEluUGFydFJ1bGVTY29wZSA6IGNvbnRleHQuZWxlbWVudC0+c2hhZG93
SG9zdCgpOwotICAgICAgICBpZiAoIXNoYWRvd0hvc3QpCisgICAgICAgIC8vIENvbnRpbnVlIG1h
dGNoaW5nIGluIHRoZSBzY29wZSB3aGVyZSB0aGlzIHJ1bGUgY2FtZSBmcm9tLgorICAgICAgICBh
dXRvKiBob3N0ID0gcmVsYXRpb24gPT0gQ1NTU2VsZWN0b3I6OlNoYWRvd1BhcnREZXNjZW5kYW50
CisgICAgICAgICAgICA/IFN0eWxlOjpob3N0Rm9yU2NvcGVPcmRpbmFsKCpjb250ZXh0LmVsZW1l
bnQsIGNoZWNraW5nQ29udGV4dC5zdHlsZVNjb3BlT3JkaW5hbCkKKyAgICAgICAgICAgIDogY29u
dGV4dC5lbGVtZW50LT5zaGFkb3dIb3N0KCk7CisgICAgICAgIGlmICghaG9zdCkKICAgICAgICAg
ICAgIHJldHVybiBNYXRjaFJlc3VsdDo6ZmFpbHMoTWF0Y2g6OlNlbGVjdG9yRmFpbHNDb21wbGV0
ZWx5KTsKLSAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudCA9IHNoYWRvd0hvc3Q7CisKKyAgICAg
ICAgbmV4dENvbnRleHQuZWxlbWVudCA9IGhvc3Q7CiAgICAgICAgIG5leHRDb250ZXh0LmZpcnN0
U2VsZWN0b3JPZlRoZUZyYWdtZW50ID0gbmV4dENvbnRleHQuc2VsZWN0b3I7CiAgICAgICAgIG5l
eHRDb250ZXh0LmlzU3ViamVjdE9yQWRqYWNlbnRFbGVtZW50ID0gZmFsc2U7CiAgICAgICAgIFBz
ZXVkb0lkU2V0IGlnbm9yZUR5bmFtaWNQc2V1ZG87CkBAIC00MjIsMTQgKzQyNCw5IEBAIFNlbGVj
dG9yQ2hlY2tlcjo6TWF0Y2hSZXN1bHQgU2VsZWN0b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5
KENoZWNraW5nQ29udGV4dCYKICAgICAgICAgcmV0dXJuIE1hdGNoUmVzdWx0Ojp1cGRhdGVXaXRo
TWF0Y2hUeXBlKHJlc3VsdCwgbWF0Y2hUeXBlKTsKICAgICB9CiAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6U2hhZG93U2xvdHRlZDogewotICAgICAgICBhdXRvKiBzbG90ID0gY29udGV4dC5lbGVtZW50
LT5hc3NpZ25lZFNsb3QoKTsKLSAgICAgICAgaWYgKCFzbG90KQotICAgICAgICAgICAgcmV0dXJu
IE1hdGNoUmVzdWx0OjpmYWlscyhNYXRjaDo6U2VsZWN0b3JGYWlsc0NvbXBsZXRlbHkpOwogICAg
ICAgICAvLyBXZSBjb250aW51ZSBtYXRjaGluZyBpbiB0aGUgc2NvcGUgd2hlcmUgdGhpcyBydWxl
IGNhbWUgZnJvbS4KLSAgICAgICAgYXV0byBzY29wZURlcHRoID0gc3RhdGljX2Nhc3Q8aW50Pihj
aGVja2luZ0NvbnRleHQuc3R5bGVTY29wZU9yZGluYWwpOwotICAgICAgICB3aGlsZSAoLS1zY29w
ZURlcHRoICYmIHNsb3QtPmFzc2lnbmVkU2xvdCgpKQotICAgICAgICAgICAgc2xvdCA9IHNsb3Qt
PmFzc2lnbmVkU2xvdCgpOwotICAgICAgICBpZiAoc2NvcGVEZXB0aCkKKyAgICAgICAgYXV0byBz
bG90ID0gU3R5bGU6OmFzc2lnbmVkU2xvdEZvclNjb3BlT3JkaW5hbCgqY29udGV4dC5lbGVtZW50
LCBjaGVja2luZ0NvbnRleHQuc3R5bGVTY29wZU9yZGluYWwpOworICAgICAgICBpZiAoIXNsb3Qp
CiAgICAgICAgICAgICByZXR1cm4gTWF0Y2hSZXN1bHQ6OmZhaWxzKE1hdGNoOjpTZWxlY3RvckZh
aWxzQ29tcGxldGVseSk7CiAKICAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudCA9IHNsb3Q7CkBA
IC0xMTcxLDExICsxMTY4LDEzIEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShDaGVj
a2luZ0NvbnRleHQmIGNoZWNraW5nQ29udGV4dCwgY29uc3QgTG9jYWxDb250CiAgICAgICAgIGNh
c2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRQYXJ0OiB7CiAgICAgICAgICAgICBhdXRvIHRy
YW5zbGF0ZVBhcnROYW1lVG9SdWxlU2NvcGUgPSBbJl0oQXRvbVN0cmluZyBwYXJ0TmFtZSkgewog
ICAgICAgICAgICAgICAgIFZlY3RvcjxBdG9tU3RyaW5nLCAxPiBtYXBwZWROYW1lcyB7IHBhcnRO
YW1lIH07CisgICAgICAgICAgICAgICAgYXV0byogcnVsZVNjb3BlSG9zdCA9IFN0eWxlOjpob3N0
Rm9yU2NvcGVPcmRpbmFsKCpjb250ZXh0LmVsZW1lbnQsIGNoZWNraW5nQ29udGV4dC5zdHlsZVNj
b3BlT3JkaW5hbCk7CisKICAgICAgICAgICAgICAgICBmb3IgKGF1dG8qIHNoYWRvd1Jvb3QgPSBl
bGVtZW50LmNvbnRhaW5pbmdTaGFkb3dSb290KCk7IHNoYWRvd1Jvb3Q7IHNoYWRvd1Jvb3QgPSBz
aGFkb3dSb290LT5ob3N0KCktPmNvbnRhaW5pbmdTaGFkb3dSb290KCkpIHsKICAgICAgICAgICAg
ICAgICAgICAgLy8gQXBwbHkgbWFwcGluZ3MgdXAgdG8gdGhlIHNjb3BlIHRoZSBydWxlcyBhcmUg
Y29taW5nIGZyb20uCi0gICAgICAgICAgICAgICAgICAgIGlmIChzaGFkb3dSb290LT5ob3N0KCkg
PT0gY2hlY2tpbmdDb250ZXh0LnNoYWRvd0hvc3RJblBhcnRSdWxlU2NvcGUpCisgICAgICAgICAg
ICAgICAgICAgIGlmIChzaGFkb3dSb290LT5ob3N0KCkgPT0gcnVsZVNjb3BlSG9zdCkKICAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAKKwogICAgICAg
ICAgICAgICAgICAgICBWZWN0b3I8QXRvbVN0cmluZywgMT4gbmV3TWFwcGVkTmFtZXM7CiAgICAg
ICAgICAgICAgICAgICAgIGZvciAoYXV0byYgbmFtZSA6IG1hcHBlZE5hbWVzKQogICAgICAgICAg
ICAgICAgICAgICAgICAgbmV3TWFwcGVkTmFtZXMuYXBwZW5kVmVjdG9yKHNoYWRvd1Jvb3QtPnBh
cnRNYXBwaW5ncygpLmdldChuYW1lKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U2VsZWN0b3JDaGVja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgK
aW5kZXggM2NjMDdhYWZlMTQxNjhjMTQ0ZThhOWQ1OGNiZjI3YmY5ZTM2MWMwNi4uNTc4MzYyMmMw
YzYwZTE2NWUzNjNjYzBiNDI3MmE2NmRiYTdlMjMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3Rv
ckNoZWNrZXIuaApAQCAtOTUsNyArOTUsNiBAQCBwdWJsaWM6CiAgICAgICAgIEF0b21TdHJpbmcg
bmFtZUZvckhpZ2h0bGlnaHRQc2V1ZG9FbGVtZW50OwogICAgICAgICBjb25zdCBDb250YWluZXJO
b2RlKiBzY29wZSB7IG51bGxwdHIgfTsKICAgICAgICAgYm9vbCBpc01hdGNoaW5nSG9zdFBzZXVk
b0NsYXNzIHsgZmFsc2UgfTsKLSAgICAgICAgY29uc3QgRWxlbWVudCogc2hhZG93SG9zdEluUGFy
dFJ1bGVTY29wZSB7IG51bGxwdHIgfTsKICAgICAgICAgU3R5bGU6OlNjb3BlT3JkaW5hbCBzdHls
ZVNjb3BlT3JkaW5hbCB7IFN0eWxlOjpTY29wZU9yZGluYWw6OkVsZW1lbnQgfTsKIAogICAgICAg
ICAvLyBGSVhNRTogSXQgd291bGQgYmUgbmljZXIgdG8gaGF2ZSBhIHNlcGFyYXRlIG9iamVjdCBm
b3IgcmV0dXJuIHZhbHVlcy4gVGhpcyByZXF1aXJlcyBzb21lIG1vcmUgd29yayBpbiB0aGUgc2Vs
ZWN0b3IgY29tcGlsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9v
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAppbmRleCBiYjk5NmIyN2JjMTU3
MGEyNDk0NTI2MDI5MDEwNTE5ZDM3MjEyODY3Li5hMmU1YWVkY2NhZTdlMDUxYTNhZWRiOTRiMzFm
OTNmYzdiNjEyY2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKQEAgLTI5LDYgKzI5LDcgQEAK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50RnJhZ21lbnQuaCIKICNp
bmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiU3R5bGVTY29wZU9yZGluYWwuaCIKICNpZiBF
TkFCTEUoUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkKICNpbmNsdWRlICJIVE1MVmlkZW9FbGVtZW50
LmgiCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxl
Q29sbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9y
LmNwcAppbmRleCA1ZjIxOThkMmYwY2ZiMzkxMzQwYzEzZTNjZTBhZDg3MDE0OWI0NjFlLi44ZmUx
Yjc5MDgzNDBiYzkxNzRkM2U2Y2E3ZDZiYTlmNjNlMjY0ZWVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCkBAIC0zMDUsMjEgKzMwNSwyMyBAQCB2
b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaFBhcnRQc2V1ZG9FbGVtZW50UnVsZXMoKQog
CiB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaFBhcnRQc2V1ZG9FbGVtZW50UnVsZXNG
b3JTY29wZShjb25zdCBTaGFkb3dSb290JiBzY29wZVNoYWRvd1Jvb3QpCiB7Ci0gICAgYXV0byYg
c2hhZG93SG9zdCA9ICpzY29wZVNoYWRvd1Jvb3QuaG9zdCgpOwotICAgIHsKLSAgICAgICAgU2V0
Rm9yU2NvcGU8UmVmUHRyPGNvbnN0IEVsZW1lbnQ+PiBwYXJ0TWF0Y2hpbmdTY29wZShtX3NoYWRv
d0hvc3RJblBhcnRSdWxlU2NvcGUsICZzaGFkb3dIb3N0KTsKKyAgICBhdXRvKiBob3N0ID0gc2Nv
cGVTaGFkb3dSb290Lmhvc3QoKTsKKyAgICBhdXRvIHN0eWxlU2NvcGVPcmRpbmFsID0gU2NvcGVP
cmRpbmFsOjpDb250YWluaW5nSG9zdDsKIAotICAgICAgICBhdXRvJiBob3N0QXV0aG9yUnVsZXMg
PSBTY29wZTo6Zm9yTm9kZShzaGFkb3dIb3N0KS5yZXNvbHZlcigpLnJ1bGVTZXRzKCkuYXV0aG9y
U3R5bGUoKTsKLSAgICAgICAgTWF0Y2hSZXF1ZXN0IGhvc3RBdXRob3JSZXF1ZXN0IHsgJmhvc3RB
dXRob3JSdWxlcywgU2NvcGVPcmRpbmFsOjpDb250YWluaW5nSG9zdCB9OwotICAgICAgICBjb2xs
ZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QoJmhvc3RBdXRob3JSdWxlcy5wYXJ0UHNldWRvRWxlbWVu
dFJ1bGVzKCksIGhvc3RBdXRob3JSZXF1ZXN0KTsKLSAgICB9CisgICAgZm9yICg7IGhvc3Q7IGhv
c3QgPSBob3N0LT5zaGFkb3dIb3N0KCksIC0tc3R5bGVTY29wZU9yZGluYWwpIHsKKyAgICAgICAg
YXV0byYgc3R5bGVTY29wZSA9IFNjb3BlOjpmb3JOb2RlKCpob3N0KTsKKyAgICAgICAgaWYgKCFz
dHlsZVNjb3BlLnJlc29sdmVyKCkucnVsZVNldHMoKS5pc0F1dGhvclN0eWxlRGVmaW5lZCgpKQor
ICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAvLyBFbGVtZW50IG1heSBiZSBleHBvc2VkIHRv
IHN0eWxpbmcgZnJvbSBlbmNsb3Npbmcgc2NvcGVzIHZpYSBleHBvcnRwYXJ0cyBhdHRyaWJ1dGVz
LgotICAgIGlmIChzY29wZVNoYWRvd1Jvb3QucGFydE1hcHBpbmdzKCkuaXNFbXB0eSgpKQotICAg
ICAgICByZXR1cm47CisgICAgICAgIGF1dG8mIGhvc3RBdXRob3JSdWxlcyA9IHN0eWxlU2NvcGUu
cmVzb2x2ZXIoKS5ydWxlU2V0cygpLmF1dGhvclN0eWxlKCk7CisKKyAgICAgICAgTWF0Y2hSZXF1
ZXN0IHNjb3BlTWF0Y2hSZXF1ZXN0KCZob3N0QXV0aG9yUnVsZXMsIHN0eWxlU2NvcGVPcmRpbmFs
KTsKKyAgICAgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KCZob3N0QXV0aG9yUnVsZXMu
cGFydFBzZXVkb0VsZW1lbnRSdWxlcygpLCBzY29wZU1hdGNoUmVxdWVzdCk7CiAKLSAgICBpZiAo
YXV0byogcGFyZW50U2NvcGVTaGFkb3dSb290ID0gc2hhZG93SG9zdC5jb250YWluaW5nU2hhZG93
Um9vdCgpKQotICAgICAgICBtYXRjaFBhcnRQc2V1ZG9FbGVtZW50UnVsZXNGb3JTY29wZSgqcGFy
ZW50U2NvcGVTaGFkb3dSb290KTsKKyAgICAgICAgLy8gRWxlbWVudCBtYXkgb25seSBiZSBleHBv
c2VkIHRvIHN0eWxpbmcgZnJvbSBlbmNsb3Npbmcgc2NvcGVzIHZpYSBleHBvcnRwYXJ0cyBhdHRy
aWJ1dGVzLgorICAgICAgICBpZiAoaG9zdC0+c2hhZG93Um9vdCgpLT5wYXJ0TWFwcGluZ3MoKS5p
c0VtcHR5KCkpCisgICAgICAgICAgICBicmVhazsKKyAgICB9CiB9CiAKIHZvaWQgRWxlbWVudFJ1
bGVDb2xsZWN0b3I6OmNvbGxlY3RNYXRjaGluZ1NoYWRvd1BzZXVkb0VsZW1lbnRSdWxlcyhjb25z
dCBNYXRjaFJlcXVlc3QmIG1hdGNoUmVxdWVzdCkKQEAgLTQzMCw3ICs0MzIsNiBAQCBpbmxpbmUg
Ym9vbCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6cnVsZU1hdGNoZXMoY29uc3QgUnVsZURhdGEmIHJ1
bGVEYXRhLCB1bnNpZ25lZAogICAgIGNvbnRleHQuc2Nyb2xsYmFyU3RhdGUgPSBtX3BzZXVkb0Vs
ZW1lbnRSZXF1ZXN0LnNjcm9sbGJhclN0YXRlOwogICAgIGNvbnRleHQubmFtZUZvckhpZ2h0bGln
aHRQc2V1ZG9FbGVtZW50ID0gbV9wc2V1ZG9FbGVtZW50UmVxdWVzdC5oaWdobGlnaHROYW1lOwog
ICAgIGNvbnRleHQuaXNNYXRjaGluZ0hvc3RQc2V1ZG9DbGFzcyA9IG1faXNNYXRjaGluZ0hvc3RQ
c2V1ZG9DbGFzczsKLSAgICBjb250ZXh0LnNoYWRvd0hvc3RJblBhcnRSdWxlU2NvcGUgPSBtX3No
YWRvd0hvc3RJblBhcnRSdWxlU2NvcGUuZ2V0KCk7CiAgICAgY29udGV4dC5zdHlsZVNjb3BlT3Jk
aW5hbCA9IHN0eWxlU2NvcGVPcmRpbmFsOwogCiAgICAgYm9vbCBzZWxlY3Rvck1hdGNoZXM7CkBA
IC01NDgsOCArNTQ5LDggQEAgdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hBbGxSdWxl
cyhib29sIG1hdGNoQXV0aG9yQW5kVXNlclN0eWxlcywgYm9vbCBpbmMKICAgICAgICAgLy8gSW5s
aW5lIHN0eWxlIGJlaGF2ZXMgYXMgaWYgaXQgaGFzIGhpZ2hlciBzcGVjaWZpY2l0eSB0aGFuIGFu
eSBydWxlLgogICAgICAgICBhZGRFbGVtZW50SW5saW5lU3R5bGVQcm9wZXJ0aWVzKGluY2x1ZGVT
TUlMUHJvcGVydGllcyk7CiAKLSAgICAgICAgLy8gUnVsZXMgZnJvbSB0aGUgaG9zdCBzY29wZSBv
dmVycmlkZSBpbmxpbmUgc3R5bGUuCi0gICAgICAgIHRyYW5zZmVyTWF0Y2hlZFJ1bGVzKERlY2xh
cmF0aW9uT3JpZ2luOjpBdXRob3IsIFNjb3BlT3JkaW5hbDo6Q29udGFpbmluZ0hvc3QpOworICAg
ICAgICAvLyBSdWxlcyBmcm9tIHRoZSBob3N0IHNjb3BlcyBvdmVycmlkZSBpbmxpbmUgc3R5bGUu
CisgICAgICAgIHRyYW5zZmVyTWF0Y2hlZFJ1bGVzKERlY2xhcmF0aW9uT3JpZ2luOjpBdXRob3Ip
OwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1
bGVDb2xsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9y
LmgKaW5kZXggY2QzNTI1NDQ0OTIwZmE3MmQwMzBhMjlkNTdiMDllZWZhYmMxN2VmNC4uZDA3MzM4
NDdiNGQ0ZWUxMzZmMWNiZmI2YmM5YTBjMTU4MDYzNGEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCkBAIC0xNjMsNyArMTYzLDYgQEAgcHJpdmF0ZToK
ICAgICBQc2V1ZG9FbGVtZW50UmVxdWVzdCBtX3BzZXVkb0VsZW1lbnRSZXF1ZXN0IHsgUHNldWRv
SWQ6Ok5vbmUgfTsKICAgICBTZWxlY3RvckNoZWNrZXI6Ok1vZGUgbV9tb2RlIHsgU2VsZWN0b3JD
aGVja2VyOjpNb2RlOjpSZXNvbHZpbmdTdHlsZSB9OwogICAgIGJvb2wgbV9pc01hdGNoaW5nSG9z
dFBzZXVkb0NsYXNzIHsgZmFsc2UgfTsKLSAgICBSZWZQdHI8Y29uc3QgRWxlbWVudD4gbV9zaGFk
b3dIb3N0SW5QYXJ0UnVsZVNjb3BlOwogCiAgICAgVmVjdG9yPE1hdGNoZWRSdWxlLCA2ND4gbV9t
YXRjaGVkUnVsZXM7CiAgICAgc2l6ZV90IG1fbWF0Y2hlZFJ1bGVUcmFuc2ZlckluZGV4IHsgMCB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAppbmRleCA1ZDcwNjFmMTUzNmMwMjlkMTA0
MGZhMjI5MmI2NmRmZDE5MzVkMjMzLi4yMmIyYTdlOTViMmE4ZTgwZTNkNmUyNWUzNDQyOWI5NTk3
M2M4ZTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcApAQCAtMTg1LDMxICsxODUs
MTggQEAgU2NvcGUmIFNjb3BlOjpmb3JOb2RlKE5vZGUmIG5vZGUpCiAKIFNjb3BlKiBTY29wZTo6
Zm9yT3JkaW5hbChFbGVtZW50JiBlbGVtZW50LCBTY29wZU9yZGluYWwgb3JkaW5hbCkKIHsKLSAg
ICBzd2l0Y2ggKG9yZGluYWwpIHsKLSAgICBjYXNlIFNjb3BlT3JkaW5hbDo6RWxlbWVudDoKKyAg
ICBpZiAob3JkaW5hbCA9PSBTY29wZU9yZGluYWw6OkVsZW1lbnQpCiAgICAgICAgIHJldHVybiAm
Zm9yTm9kZShlbGVtZW50KTsKLSAgICBjYXNlIFNjb3BlT3JkaW5hbDo6Q29udGFpbmluZ0hvc3Q6
IHsKLSAgICAgICAgYXV0byogY29udGFpbmluZ1NoYWRvd1Jvb3QgPSBlbGVtZW50LmNvbnRhaW5p
bmdTaGFkb3dSb290KCk7Ci0gICAgICAgIGlmICghY29udGFpbmluZ1NoYWRvd1Jvb3QpCi0gICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgcmV0dXJuICZmb3JOb2RlKCpjb250YWlu
aW5nU2hhZG93Um9vdC0+aG9zdCgpKTsKLSAgICB9Ci0gICAgY2FzZSBTY29wZU9yZGluYWw6OlNo
YWRvdzogeworICAgIGlmIChvcmRpbmFsID09IFNjb3BlT3JkaW5hbDo6U2hhZG93KSB7CiAgICAg
ICAgIGF1dG8qIHNoYWRvd1Jvb3QgPSBlbGVtZW50LnNoYWRvd1Jvb3QoKTsKLSAgICAgICAgaWYg
KCFzaGFkb3dSb290KQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIHJldHVy
biAmc2hhZG93Um9vdC0+c3R5bGVTY29wZSgpOwotICAgIH0KLSAgICBkZWZhdWx0OiB7Ci0gICAg
ICAgIEFTU0VSVChvcmRpbmFsID49IFNjb3BlT3JkaW5hbDo6Rmlyc3RTbG90KTsKLSAgICAgICAg
YXV0byBzbG90SW5kZXggPSBTY29wZU9yZGluYWw6OkZpcnN0U2xvdDsKLSAgICAgICAgZm9yIChh
dXRvKiBzbG90ID0gZWxlbWVudC5hc3NpZ25lZFNsb3QoKTsgc2xvdDsgc2xvdCA9IHNsb3QtPmFz
c2lnbmVkU2xvdCgpLCArK3Nsb3RJbmRleCkgewotICAgICAgICAgICAgaWYgKHNsb3RJbmRleCA9
PSBvcmRpbmFsKQotICAgICAgICAgICAgICAgIHJldHVybiAmZm9yTm9kZSgqc2xvdCk7Ci0gICAg
ICAgIH0KLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBzaGFkb3dSb290
ID8gJnNoYWRvd1Jvb3QtPnN0eWxlU2NvcGUoKSA6IG51bGxwdHI7CiAgICAgfQorICAgIGlmIChv
cmRpbmFsIDw9IFNjb3BlT3JkaW5hbDo6Q29udGFpbmluZ0hvc3QpIHsKKyAgICAgICAgYXV0byog
aG9zdCA9IGhvc3RGb3JTY29wZU9yZGluYWwoZWxlbWVudCwgb3JkaW5hbCk7CisgICAgICAgIHJl
dHVybiBob3N0ID8gJmZvck5vZGUoKmhvc3QpIDogbnVsbHB0cjsKICAgICB9CisgICAgYXV0byog
c2xvdCA9IGFzc2lnbmVkU2xvdEZvclNjb3BlT3JkaW5hbChlbGVtZW50LCBvcmRpbmFsKTsKKyAg
ICByZXR1cm4gc2xvdCA/ICZmb3JOb2RlKCpzbG90KSA6IG51bGxwdHI7CiB9CiAKIHZvaWQgU2Nv
cGU6OnNldFByZWZlcnJlZFN0eWxlc2hlZXRTZXROYW1lKGNvbnN0IFN0cmluZyYgbmFtZSkKQEAg
LTc4OSw1ICs3NzYsMjMgQEAgYm9vbCBTY29wZTo6aXNGb3JVc2VyQWdlbnRTaGFkb3dUcmVlKCkg
Y29uc3QKICAgICByZXR1cm4gbV9zaGFkb3dSb290ICYmIG1fc2hhZG93Um9vdC0+bW9kZSgpID09
IFNoYWRvd1Jvb3RNb2RlOjpVc2VyQWdlbnQ7CiB9CiAKK0hUTUxTbG90RWxlbWVudCogYXNzaWdu
ZWRTbG90Rm9yU2NvcGVPcmRpbmFsKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIFNjb3BlT3JkaW5h
bCBzY29wZU9yZGluYWwpCit7CisgICAgQVNTRVJUKHNjb3BlT3JkaW5hbCA+PSBTY29wZU9yZGlu
YWw6OkZpcnN0U2xvdCk7CisgICAgYXV0byogc2xvdCA9IGVsZW1lbnQuYXNzaWduZWRTbG90KCk7
CisgICAgZm9yIChhdXRvIHNjb3BlRGVwdGggPSBTY29wZU9yZGluYWw6OkZpcnN0U2xvdDsgc2xv
dCAmJiBzY29wZURlcHRoICE9IHNjb3BlT3JkaW5hbDsgKytzY29wZURlcHRoKQorICAgICAgICBz
bG90ID0gc2xvdC0+YXNzaWduZWRTbG90KCk7CisgICAgcmV0dXJuIHNsb3Q7Cit9CisKK0VsZW1l
bnQqIGhvc3RGb3JTY29wZU9yZGluYWwoY29uc3QgRWxlbWVudCYgZWxlbWVudCwgU2NvcGVPcmRp
bmFsIHNjb3BlT3JkaW5hbCkKK3sKKyAgICBBU1NFUlQoc2NvcGVPcmRpbmFsIDw9IFNjb3BlT3Jk
aW5hbDo6Q29udGFpbmluZ0hvc3QpOworICAgIGF1dG8qIGhvc3QgPSBlbGVtZW50LnNoYWRvd0hv
c3QoKTsKKyAgICBmb3IgKGF1dG8gc2NvcGVEZXB0aCA9IFNjb3BlT3JkaW5hbDo6Q29udGFpbmlu
Z0hvc3Q7IGhvc3QgJiYgc2NvcGVEZXB0aCAhPSBzY29wZU9yZGluYWw7IC0tc2NvcGVEZXB0aCkK
KyAgICAgICAgaG9zdCA9IGhvc3QtPnNoYWRvd0hvc3QoKTsKKyAgICByZXR1cm4gaG9zdDsKK30K
KwogfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5oIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5oCmluZGV4IGE2ZWY1MTIwNDZmYzExOTcx
YTQxN2E2ZWY1YTg1NzcwNGM4OWFiYjkuLjAyNjNjZTRhNWE1ZTYwNmY2NGZlZDQ0MWYzZTY0NTBi
MTkxOTE2OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmgKQEAgLTQ1LDYgKzQ1LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ1NTU3R5bGVTaGVldDsKIGNsYXNzIERvY3VtZW50
OwogY2xhc3MgRWxlbWVudDsKK2NsYXNzIEhUTUxTbG90RWxlbWVudDsKIGNsYXNzIE5vZGU7CiBj
bGFzcyBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb247CiBjbGFzcyBTdHlsZVNoZWV0OwpAQCAtMjAzLDYg
KzIwNCw5IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxSZXNvbHZlclNoYXJpbmdLZXksIFJlZjxS
ZXNvbHZlcj4+IG1fc2hhcmVkU2hhZG93VHJlZVJlc29sdmVyczsKIH07CiAKK0hUTUxTbG90RWxl
bWVudCogYXNzaWduZWRTbG90Rm9yU2NvcGVPcmRpbmFsKGNvbnN0IEVsZW1lbnQmLCBTY29wZU9y
ZGluYWwpOworRWxlbWVudCogaG9zdEZvclNjb3BlT3JkaW5hbChjb25zdCBFbGVtZW50JiwgU2Nv
cGVPcmRpbmFsKTsKKwogaW5saW5lIGJvb2wgU2NvcGU6Omhhc1BlbmRpbmdTaGVldHMoKSBjb25z
dAogewogICAgIHJldHVybiBoYXNQZW5kaW5nU2hlZXRzQmVmb3JlQm9keSgpIHx8ICFtX2VsZW1l
bnRzSW5Cb2R5V2l0aFBlbmRpbmdTaGVldHMuaXNFbXB0eSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZU9yZGluYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlU2NvcGVPcmRpbmFsLmgKaW5kZXggMTVlOTY4ZGI2NDMwNTA4NTgxYjM5OGRmNzM1YjVj
NjZjZDZhNGVhOS4uOWFhMzNjYzExMTZjMTA3MTY5YWJlNjk4MTc1YjkyZThmYjQyYjQ1OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZU9yZGluYWwuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlT3JkaW5hbC5oCkBAIC0zMCw3ICszMCw3IEBA
IG5hbWVzcGFjZSBTdHlsZSB7CiAvLyBUaGlzIGlzIHVzZWQgdG8gaWRlbnRpZnkgc3R5bGUgc2Nv
cGVzIHRoYXQgY2FuIGFmZmVjdCBhbiBlbGVtZW50LgogLy8gU2NvcGVzIGFyZSBpbiB0cmVlLW9m
LXRyZWVzIG9yZGVyLiBTdHlsZXMgZnJvbSBlYXJsaWVyIHNjb3BlcyB3aW4gb3ZlciBsYXRlciBv
bmVzIChtb2R1bG8gIWltcG9ydGFudCkuCiBlbnVtIGNsYXNzIFNjb3BlT3JkaW5hbCA6IGludCB7
Ci0gICAgQ29udGFpbmluZ0hvc3QgPSAtMSwgLy8gOjpwYXJ0IHJ1bGVzIGFuZCBhdXRob3ItZXhw
b3NlZCBVQSBwc2V1ZG8gY2xhc3NlcyBmcm9tIHRoZSBob3N0IHRyZWUgc2NvcGUuCisgICAgQ29u
dGFpbmluZ0hvc3QgPSAtMSwgLy8gOjpwYXJ0IHJ1bGVzIGFuZCBhdXRob3ItZXhwb3NlZCBVQSBw
c2V1ZG8gY2xhc3NlcyBmcm9tIHRoZSBob3N0IHRyZWUgc2NvcGUuIFZhbHVlcyBsZXNzIHRoYW4g
Q29udGFpbmluZ0hvc3QgaW5kaWNhdGUgZW5jbG9zaW5nIHNjb3Blcy4KICAgICBFbGVtZW50ID0g
MCwgLy8gTm9ybWFsIHJ1bGVzIGluIHRoZSBzYW1lIHRyZWUgd2hlcmUgdGhlIGVsZW1lbnQgaXMu
CiAgICAgRmlyc3RTbG90ID0gMSwgLy8gOjpzbG90dGVkIHJ1bGVzIGluIHRoZSBwYXJlbnQncyBz
aGFkb3cgdHJlZS4gVmFsdWVzIGdyZWF0ZXIgdGhhbiBGaXJzdFNsb3QgaW5kaWNhdGUgc3Vic2Vx
dWVudCBzbG90cyBpbiB0aGUgY2hhaW4uCiAgICAgU2hhZG93ID0gc3RkOjpudW1lcmljX2xpbWl0
czxpbnQ+OjptYXgoKSwgLy8gOmhvc3QgcnVsZXMgaW4gZWxlbWVudCdzIG93biBzaGFkb3cgdHJl
ZS4KQEAgLTQyLDUgKzQyLDExIEBAIGlubGluZSBTY29wZU9yZGluYWwmIG9wZXJhdG9yKysoU2Nv
cGVPcmRpbmFsJiBvcmRpbmFsKQogICAgIHJldHVybiBvcmRpbmFsID0gc3RhdGljX2Nhc3Q8U2Nv
cGVPcmRpbmFsPihzdGF0aWNfY2FzdDxpbnQ+KG9yZGluYWwpICsgMSk7CiB9CiAKK2lubGluZSBT
Y29wZU9yZGluYWwmIG9wZXJhdG9yLS0oU2NvcGVPcmRpbmFsJiBvcmRpbmFsKQoreworICAgIEFT
U0VSVChvcmRpbmFsIDwgU2NvcGVPcmRpbmFsOjpTaGFkb3cpOworICAgIHJldHVybiBvcmRpbmFs
ID0gc3RhdGljX2Nhc3Q8U2NvcGVPcmRpbmFsPihzdGF0aWNfY2FzdDxpbnQ+KG9yZGluYWwpIC0g
MSk7Cit9CisKIH0KIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>