<?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>238398</bug_id>
          
          <creation_ts>2022-03-25 16:27:57 -0700</creation_ts>
          <short_desc>[GTK][WPE] Support CSS accent-color</short_desc>
          <delta_ts>2022-10-17 18:27:37 -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>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=246667</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alice Mikhaylenko">alicem</reporter>
          <assigned_to name="Alice Mikhaylenko">alicem</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pdr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1855278</commentid>
    <comment_count>0</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-03-25 16:27:57 -0700</bug_when>
    <thetext>See the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855280</commentid>
    <comment_count>1</comment_count>
      <attachid>455809</attachid>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-03-25 16:32:59 -0700</bug_when>
    <thetext>Created attachment 455809
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855284</commentid>
    <comment_count>2</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-03-25 16:36:19 -0700</bug_when>
    <thetext>&gt; # accent-color is currently only supported on Cocoa platforms

Oops, forgot to change this line. But I wonder if those tests actually pass...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855369</commentid>
    <comment_count>3</comment_count>
      <attachid>455840</attachid>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-03-26 04:29:10 -0700</bug_when>
    <thetext>Created attachment 455840
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855375</commentid>
    <comment_count>4</comment_count>
      <attachid>455843</attachid>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-03-26 06:13:23 -0700</bug_when>
    <thetext>Created attachment 455843
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855379</commentid>
    <comment_count>5</comment_count>
      <attachid>455843</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-03-26 06:54:47 -0700</bug_when>
    <thetext>Comment on attachment 455843
Patch

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

&gt; Source/WebCore/platform/adwaita/ThemeAdwaita.cpp:266
&gt; +        if (states.states().contains(ControlStates::States::Hovered)
&gt; +            &amp;&amp; states.states().contains(ControlStates::States::Enabled))

Use a single line here

&gt; Source/WebCore/platform/adwaita/ThemeAdwaita.cpp:298
&gt; +        if (states.states().contains(ControlStates::States::Hovered)
&gt; +            &amp;&amp; states.states().contains(ControlStates::States::Enabled))

Ditto.

&gt; Source/WebCore/platform/adwaita/ThemeAdwaita.cpp:350
&gt; +        if (states.states().contains(ControlStates::States::Hovered)
&gt; +            &amp;&amp; states.states().contains(ControlStates::States::Enabled))

Ditto.

&gt; Source/WebCore/platform/adwaita/ThemeAdwaita.cpp:367
&gt; +        if (states.states().contains(ControlStates::States::Hovered)
&gt; +            &amp;&amp; states.states().contains(ControlStates::States::Enabled))

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855387</commentid>
    <comment_count>6</comment_count>
      <attachid>455848</attachid>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-03-26 07:34:48 -0700</bug_when>
    <thetext>Created attachment 455848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855391</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-03-26 08:33:33 -0700</bug_when>
    <thetext>r=me, but you&apos;ll have to write my name in the changelog manually. I can&apos;t use the r+ dropdown due to bug #238323.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855394</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-03-26 08:40:14 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #7)
&gt; r=me, but you&apos;ll have to write my name in the changelog manually. I can&apos;t
&gt; use the r+ dropdown due to bug #238323.

I missed that you already got r+ from Carlos. Once you have r+, you don&apos;t have to request review again: you can either manually write in his name, or else download the patch using &apos;webkit-patch apply-from-bug&apos; which will do so for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855404</commentid>
    <comment_count>9</comment_count>
      <attachid>455852</attachid>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-03-26 11:47:32 -0700</bug_when>
    <thetext>Created attachment 455852
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855405</commentid>
    <comment_count>10</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-03-26 11:48:10 -0700</bug_when>
    <thetext>Err, I&apos;ve manually written in the name and it still has r?. Let&apos;s try this again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855406</commentid>
    <comment_count>11</comment_count>
      <attachid>455853</attachid>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-03-26 11:48:30 -0700</bug_when>
    <thetext>Created attachment 455853
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855431</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-03-26 18:17:13 -0700</bug_when>
    <thetext>(In reply to Alexander Mikhaylenko from comment #10)
&gt; Err, I&apos;ve manually written in the name and it still has r?. Let&apos;s try this
&gt; again.

&apos;webkit-patch upload --no-review&apos; works, or you could always just unset the flag yourself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855447</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-27 04:54:48 -0700</bug_when>
    <thetext>Committed r291950 (248917@main): &lt;https://commits.webkit.org/248917@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455853.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455809</attachid>
            <date>2022-03-25 16:32:59 -0700</date>
            <delta_ts>2022-03-26 04:29:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238398-20220326033301.patch</filename>
            <type>text/plain</type>
            <size>22218</size>
            <attacher name="Alice Mikhaylenko">alicem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZkMGY0OTkwMmU5ZDUxOTgzZWYyM2Ey
YmRhMTJiZWEwZGNhNGFmMGIuLmVlNDgyNjFjZTc0YmRjMjQzOTk4ZDU0ZjI3MDg1OTVjYmM3OTNl
NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDMtMjUgIEFsZXhhbmRlciBNaWtoYXlsZW5r
byAgPGFsZXhtQGdub21lLm9yZz4KKworICAgICAgICBbR1RLXVtXUEVdIFN1cHBvcnQgQ1NTIGFj
Y2VudC1jb2xvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM4Mzk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWw6
IEVuYWJsZSBhY2NlbnQtY29sb3IgZm9yIEdUSyBhbmQgV1BFLgorCiAyMDIyLTAzLTIzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSW5saW5lIFN0cmluZyhBU0NJ
SUxpdGVyYWwpIGNvbnN0cnVjdG9yIHNvIHRoZSBjb21waWxlciBjYW4gb3B0aW1pemUgb3V0IHN0
cmxlbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggMGU2NWE1MDZjMTkwNzc3NzhkZjIzNWZiYTkwY2U1Zjc0Y2Uw
ZGE0My4uNTIwMTgwYTgzMDEwYzI2ZGY0NTc3ZTc4NjkxZTJmMzdkNTdmYTQxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAzLTI1ICBBbGV4YW5kZXIgTWlraGF5bGVua28gIDxh
bGV4bUBnbm9tZS5vcmc+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0IENTUyBhY2NlbnQt
Y29sb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
ODM5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBhY2NlbnQtY29sb3Igc3VwcG9ydCBmb3IgcHJvZ3Jlc3MsIHJhbmdlIGFuZCBlbnRyaWVzLgor
ICAgICAgICBVcGRhdGUgY2hlY2sgYW5kIHJhZGlvIHN0eWxlcyBzbyB0aGF0IHRoZXkgY2FuIHVz
ZSBhY2NlbnQgY29sb3IgYXMgd2VsbC4KKworICAgICAgICAqIHBsYXRmb3JtL2Fkd2FpdGEvVGhl
bWVBZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lQWR3YWl0YTo6cGFpbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6VGhlbWVBZHdhaXRhOjpwYWludENoZWNrYm94KToKKyAgICAgICAg
KFdlYkNvcmU6OlRoZW1lQWR3YWl0YTo6cGFpbnRSYWRpbyk6CisgICAgICAgICogcGxhdGZvcm0v
YWR3YWl0YS9UaGVtZUFkd2FpdGEuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVB
ZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldFN5c3RlbUFjY2VudENvbG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OmdldEFjY2VudENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lQWR3YWl0YTo6cGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpwYWludFRleHRGaWVs
ZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OnBhaW50UHJvZ3Jlc3NC
YXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpwYWludFNsaWRlclRy
YWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRTbGlkZXJU
aHVtYik6CisKIDIwMjItMDMtMjUgIEFsZXhhbmRlciBNaWtoYXlsZW5rbyAgPGFsZXhtQGdub21l
Lm9yZz4KIAogICAgICAgICBbR1RLXVtXUEVdIFVwZGF0ZSB3aWRnZXQgc3R5bGUgdG8gbWF0Y2gg
bGliYWR3YWl0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dl
YlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVy
ZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRleCAyZWM3YjQwZjI0NzFi
ZWZjM2RiODI5MDFiZmYwNTA3NDA0ZmE4OTllLi5lZTk5NGVlZmExNzA0NTk1Zjc3Y2Q4MjNhNjcy
MzlhZjBmMDc4ZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMv
V2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMv
UHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApAQCAtMzUsMTAgKzM1
LDEwIEBAIEFjY2VudENvbG9yRW5hYmxlZDoKICAgICAgICJQTEFURk9STShDT0NPQSkiIDogdHJ1
ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJLaXQ6Ci0gICAgICAiUExBVEZPUk0oQ09D
T0EpIiA6IHRydWUKKyAgICAgICJQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQ
TEFURk9STShXUEUpIjogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJDb3JlOgot
ICAgICAgIlBMQVRGT1JNKENPQ09BKSIgOiB0cnVlCisgICAgICAiUExBVEZPUk0oQ09DT0EpIHx8
IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKSI6IHRydWUKICAgICAgIGRlZmF1bHQ6IGZh
bHNlCiAKIEFjY2Vzc0hhbmRsZUVuYWJsZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5jcHAKaW5kZXggMmZkNjJhZWE2NGMxYTgyNGIwMDY3YjI0
YzBjN2JkNGU2N2QwYTU5MC4uNWVmYjM3NzkzMjYxNTRmMDY1Y2UxMTg0MjhlYjNmY2YwZGJiZGJm
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFkd2Fp
dGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fkd2FpdGEvVGhlbWVBZHdhaXRh
LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlRoZW1lQWR3YWl0YS5oIgogCiAjaW5j
bHVkZSAiQ29sb3IuaCIKKyNpbmNsdWRlICJDb2xvckJsZW5kaW5nLmgiCiAjaW5jbHVkZSAiQ29u
dHJvbFN0YXRlcy5oIgogI2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIKICNpbmNsdWRlICJH
cmFwaGljc0NvbnRleHQuaCIKQEAgLTUwLDI2ICs1MSwyNSBAQCBzdGF0aWMgY29uc3RleHByIGF1
dG8gYnV0dG9uQm9yZGVyQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMCwgMCwgMCwgNTAg
fTsKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBidXR0b25CYWNrZ3JvdW5kQ29sb3JMaWdodCA9IFNS
R0JBPHVpbnQ4X3Q+IHsgMjQ0LCAyNDQsIDI0NCB9Owogc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1
dHRvbkJhY2tncm91bmRQcmVzc2VkQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjE0LCAy
MTQsIDIxNCB9Owogc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1dHRvbkJhY2tncm91bmRIb3ZlcmVk
Q29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjQ4LCAyNDgsIDI0OCB9Owotc3RhdGljIGNv
bnN0ZXhwciBhdXRvIHRvZ2dsZUJhY2tncm91bmRDb2xvckxpZ2h0ID0gQ29sb3I6OndoaXRlOwot
c3RhdGljIGNvbnN0ZXhwciBhdXRvIHRvZ2dsZUJhY2tncm91bmRIb3ZlcmVkQ29sb3JMaWdodCA9
IFNSR0JBPHVpbnQ4X3Q+IHsgMjE0LCAyMTQsIDIxNCB9Oworc3RhdGljIGNvbnN0ZXhwciBhdXRv
IHRvZ2dsZUJvcmRlckNvbG9yTGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDUwIH07
CitzdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yTGlnaHQgPSBT
UkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDgwIH07CiAKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBi
dXR0b25Cb3JkZXJDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDI1NSwgMjU1LCAyNTUsIDUw
IH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uQmFja2dyb3VuZENvbG9yRGFyayA9IFNS
R0JBPHVpbnQ4X3Q+IHsgNTIsIDUyLCA1MiB9Owogc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1dHRv
bkJhY2tncm91bmRQcmVzc2VkQ29sb3JEYXJrID0gU1JHQkE8dWludDhfdD4geyAzMCwgMzAsIDMw
IH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uQmFja2dyb3VuZEhvdmVyZWRDb2xvckRh
cmsgPSBTUkdCQTx1aW50OF90PiB7IDYwLCA2MCwgNjAgfTsKLXN0YXRpYyBjb25zdGV4cHIgYXV0
byB0b2dnbGVCYWNrZ3JvdW5kQ29sb3JEYXJrID0gU1JHQkE8dWludDhfdD4geyA0NSwgNDUsIDQ1
IH07Ci1zdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvckRh
cmsgPSBTUkdCQTx1aW50OF90PiB7IDYwLCA2MCwgNjAgfTsKK3N0YXRpYyBjb25zdGV4cHIgYXV0
byB0b2dnbGVCb3JkZXJDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDI1NSwgMjU1LCAyNTUs
IDUwIH07CitzdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yRGFy
ayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgODAgfTsKIAogc3RhdGljIGNvbnN0
IGRvdWJsZSB0b2dnbGVTaXplID0gMTQuOworc3RhdGljIGNvbnN0IGludCB0b2dnbGVCb3JkZXJT
aXplID0gMjsKIHN0YXRpYyBjb25zdCBpbnQgdG9nZ2xlRm9jdXNPZmZzZXQgPSAyOwogCi1zdGF0
aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMCwg
MCwgMCwgMjAwIH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gc3BpbkJ1dHRvbkJvcmRlckNvbG9y
TGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDI1IH07CiBzdGF0aWMgY29uc3RleHBy
IGF1dG8gc3BpbkJ1dHRvbkJhY2tncm91bmRDb2xvckxpZ2h0ID0gQ29sb3I6OndoaXRlOwogc3Rh
dGljIGNvbnN0ZXhwciBhdXRvIHNwaW5CdXR0b25CYWNrZ3JvdW5kSG92ZXJlZENvbG9yTGlnaHQg
PSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDUwIH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8g
c3BpbkJ1dHRvbkJhY2tncm91bmRQcmVzc2VkQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsg
MCwgMCwgMCwgNzAgfTsKIAotc3RhdGljIGNvbnN0ZXhwciBhdXRvIHRvZ2dsZUNvbG9yRGFyayA9
IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgMjAwIH07CiBzdGF0aWMgY29uc3RleHBy
IGF1dG8gc3BpbkJ1dHRvbkJvcmRlckNvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAy
NTUsIDI1NSwgMjUgfTsKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBzcGluQnV0dG9uQmFja2dyb3Vu
ZENvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgNDUsIDQ1LCA0NSB9Owogc3RhdGljIGNvbnN0
ZXhwciBhdXRvIHNwaW5CdXR0b25CYWNrZ3JvdW5kSG92ZXJlZENvbG9yRGFyayA9IFNSR0JBPHVp
bnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgNTAgfTsKQEAgLTIwMSwxNCArMjAxLDE0IEBAIExlbmd0
aEJveCBUaGVtZUFkd2FpdGE6OmNvbnRyb2xCb3JkZXIoQ29udHJvbFBhcnQgcGFydCwgY29uc3Qg
Rm9udENhc2NhZGUmIGZvbnQsCiAgICAgcmV0dXJuIFRoZW1lOjpjb250cm9sQm9yZGVyKHBhcnQs
IGZvbnQsIHpvb21lZEJveCwgem9vbUZhY3Rvcik7CiB9CiAKLXZvaWQgVGhlbWVBZHdhaXRhOjpw
YWludChDb250cm9sUGFydCBwYXJ0LCBDb250cm9sU3RhdGVzJiBzdGF0ZXMsIEdyYXBoaWNzQ29u
dGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBmbG9hdCwgU2Nyb2xs
VmlldyosIGZsb2F0LCBmbG9hdCwgYm9vbCwgYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSwgY29uc3Qg
Q29sb3ImKQordm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50KENvbnRyb2xQYXJ0IHBhcnQsIENvbnRy
b2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJl
Y3QmIHpvb21lZFJlY3QsIGZsb2F0LCBTY3JvbGxWaWV3KiwgZmxvYXQsIGZsb2F0LCBib29sLCBi
b29sIHVzZURhcmtBcHBlYXJhbmNlLCBjb25zdCBDb2xvciYgZWZmZWN0aXZlQWNjZW50Q29sb3Ip
CiB7CiAgICAgc3dpdGNoIChwYXJ0KSB7CiAgICAgY2FzZSBDaGVja2JveFBhcnQ6Ci0gICAgICAg
IHBhaW50Q2hlY2tib3goc3RhdGVzLCBjb250ZXh0LCB6b29tZWRSZWN0LCB1c2VEYXJrQXBwZWFy
YW5jZSk7CisgICAgICAgIHBhaW50Q2hlY2tib3goc3RhdGVzLCBjb250ZXh0LCB6b29tZWRSZWN0
LCB1c2VEYXJrQXBwZWFyYW5jZSwgZWZmZWN0aXZlQWNjZW50Q29sb3IpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFJhZGlvUGFydDoKLSAgICAgICAgcGFpbnRSYWRpbyhzdGF0ZXMsIGNvbnRl
eHQsIHpvb21lZFJlY3QsIHVzZURhcmtBcHBlYXJhbmNlKTsKKyAgICAgICAgcGFpbnRSYWRpbyhz
dGF0ZXMsIGNvbnRleHQsIHpvb21lZFJlY3QsIHVzZURhcmtBcHBlYXJhbmNlLCBlZmZlY3RpdmVB
Y2NlbnRDb2xvcik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUHVzaEJ1dHRvblBhcnQ6CiAg
ICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoKQEAgLTIyNCw3ICsyMjQsNyBAQCB2b2lkIFRoZW1l
QWR3YWl0YTo6cGFpbnQoQ29udHJvbFBhcnQgcGFydCwgQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBH
cmFwaGljc0NvbnRleAogICAgIH0KIH0KIAotdm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50Q2hlY2ti
b3goQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4
dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBib29sIHVzZURhcmtBcHBlYXJhbmNlKQor
dm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50Q2hlY2tib3goQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBH
cmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRS
ZWN0LCBib29sIHVzZURhcmtBcHBlYXJhbmNlLCBjb25zdCBDb2xvciYgZWZmZWN0aXZlQWNjZW50
Q29sb3IpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGdyYXBo
aWNzQ29udGV4dCk7CiAKQEAgLTIzOCw0OCArMjM4LDM4IEBAIHZvaWQgVGhlbWVBZHdhaXRhOjpw
YWludENoZWNrYm94KENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBncmFw
aGljCiAgICAgICAgICAgICBmaWVsZFJlY3QubW92ZSgwLCAoem9vbWVkUmVjdC5oZWlnaHQoKSAt
IGZpZWxkUmVjdC5oZWlnaHQoKSkgLyAyLjApOwogICAgIH0KIAotICAgIFNSR0JBPHVpbnQ4X3Q+
IGJ1dHRvbkJvcmRlckNvbG9yOwotICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUJhY2tncm91bmRD
b2xvcjsKLSAgICBTUkdCQTx1aW50OF90PiB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yOwot
ICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUNvbG9yOworICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2ds
ZUJvcmRlckNvbG9yOworICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUJvcmRlckhvdmVyQ29sb3I7
CiAKICAgICBpZiAodXNlRGFya0FwcGVhcmFuY2UpIHsKLSAgICAgICAgYnV0dG9uQm9yZGVyQ29s
b3IgPSBidXR0b25Cb3JkZXJDb2xvckRhcms7Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRDb2xv
ciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckRhcms7Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRI
b3ZlcmVkQ29sb3IgPSB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yRGFyazsKLSAgICAgICAg
dG9nZ2xlQ29sb3IgPSB0b2dnbGVDb2xvckRhcms7CisgICAgICAgIHRvZ2dsZUJvcmRlckNvbG9y
ID0gdG9nZ2xlQm9yZGVyQ29sb3JEYXJrOworICAgICAgICB0b2dnbGVCb3JkZXJIb3ZlckNvbG9y
ID0gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yRGFyazsKICAgICB9IGVsc2UgewotICAgICAgICBi
dXR0b25Cb3JkZXJDb2xvciA9IGJ1dHRvbkJvcmRlckNvbG9yTGlnaHQ7Ci0gICAgICAgIHRvZ2ds
ZUJhY2tncm91bmRDb2xvciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckxpZ2h0OwotICAgICAgICB0
b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yID0gdG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xv
ckxpZ2h0OwotICAgICAgICB0b2dnbGVDb2xvciA9IHRvZ2dsZUNvbG9yTGlnaHQ7CisgICAgICAg
IHRvZ2dsZUJvcmRlckNvbG9yID0gdG9nZ2xlQm9yZGVyQ29sb3JMaWdodDsKKyAgICAgICAgdG9n
Z2xlQm9yZGVySG92ZXJDb2xvciA9IHRvZ2dsZUJvcmRlckhvdmVyZWRDb2xvckxpZ2h0OwogICAg
IH0KIAorICAgIENvbG9yIGFjY2VudENvbG9yID0gZWZmZWN0aXZlQWNjZW50Q29sb3IuaXNWYWxp
ZCgpID8gZWZmZWN0aXZlQWNjZW50Q29sb3IgOiBtX2FjY2VudENvbG9yOworICAgIENvbG9yIGZv
cmVncm91bmRDb2xvciA9IGFjY2VudENvbG9yLmx1bWluYW5jZSgpID4gMC41ID8gQ29sb3IoU1JH
QkE8dWludDhfdD4geyAwLCAwLCAwLCAyMDQgfSkgOiBDb2xvcjo6d2hpdGU7CisgICAgQ29sb3Ig
YWNjZW50SG92ZXJDb2xvciA9IGJsZW5kU291cmNlT3ZlcihhY2NlbnRDb2xvciwgZm9yZWdyb3Vu
ZENvbG9yLmNvbG9yV2l0aEFscGhhTXVsdGlwbGllZEJ5KDAuMSkpOworCiAgICAgaWYgKCFzdGF0
ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKICAg
ICAgICAgZ3JhcGhpY3NDb250ZXh0LmJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIoZGlzYWJsZWRPcGFj
aXR5KTsKIAogICAgIEZsb2F0U2l6ZSBjb3JuZXIoMiwgMik7CiAgICAgUGF0aCBwYXRoOwotICAg
IHBhdGguYWRkUm91bmRlZFJlY3QoZmllbGRSZWN0LCBjb3JuZXIpOwotICAgIGZpZWxkUmVjdC5p
bmZsYXRlKC1idXR0b25Cb3JkZXJTaXplKTsKLSAgICBjb3JuZXIuZXhwYW5kKC1idXR0b25Cb3Jk
ZXJTaXplLCAtYnV0dG9uQm9yZGVyU2l6ZSk7Ci0gICAgcGF0aC5hZGRSb3VuZGVkUmVjdChmaWVs
ZFJlY3QsIGNvcm5lcik7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxl
OjpFdmVuT2RkKTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGJ1dHRvbkJvcmRl
ckNvbG9yKTsKLSAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7Ci0gICAgcGF0aC5j
bGVhcigpOwotCi0gICAgcGF0aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJlY3QsIGNvcm5lcik7Ci0g
ICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKLSAgICBp
ZiAoc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6SG92ZXJl
ZCkKLSAgICAgICAgJiYgc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0
YXRlczo6RW5hYmxlZCkpCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IodG9n
Z2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvcik7Ci0gICAgZWxzZQotICAgICAgICBncmFwaGljc0Nv
bnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJhY2tncm91bmRDb2xvcik7Ci0gICAgZ3JhcGhpY3ND
b250ZXh0LmZpbGxQYXRoKHBhdGgpOwotICAgIHBhdGguY2xlYXIoKTsKIAogICAgIGlmIChzdGF0
ZXMuc3RhdGVzKCkuY29udGFpbnNBbnkoeyBDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkNoZWNrZWQs
IENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6SW5kZXRlcm1pbmF0ZSB9KSkgeworICAgICAgICBwYXRo
LmFkZFJvdW5kZWRSZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKKyAgICAgICAgZ3JhcGhpY3NDb250
ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKKyAgICAgICAgaWYgKHN0YXRlcy5z
dGF0ZXMoKS5jb250YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkhvdmVyZWQpCisgICAgICAg
ICAgICAmJiBzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpF
bmFibGVkKSkKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoYWNjZW50
SG92ZXJDb2xvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5z
ZXRGaWxsQ29sb3IoYWNjZW50Q29sb3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBh
dGgocGF0aCk7CisgICAgICAgIHBhdGguY2xlYXIoKTsKKwogICAgICAgICBHcmFwaGljc0NvbnRl
eHRTdGF0ZVNhdmVyIGNoZWNrZWRTdGF0ZVNhdmVyKGdyYXBoaWNzQ29udGV4dCk7CiAgICAgICAg
IGdyYXBoaWNzQ29udGV4dC50cmFuc2xhdGUoZmllbGRSZWN0LngoKSwgZmllbGRSZWN0LnkoKSk7
CiAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zY2FsZShGbG9hdFNpemU6Om5hcnJvd1ByZWNpc2lv
bihmaWVsZFJlY3Qud2lkdGgoKSAvIHRvZ2dsZVNpemUsIGZpZWxkUmVjdC5oZWlnaHQoKSAvIHRv
Z2dsZVNpemUpKTsKQEAgLTI5NCwxMCArMjg0LDIzIEBAIHZvaWQgVGhlbWVBZHdhaXRhOjpwYWlu
dENoZWNrYm94KENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBncmFwaGlj
CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgcGF0aC5hZGRSb3VuZGVkUmVjdChGbG9hdFJl
Y3QoMiwgNSwgMTAsIDQpLCBjb3JuZXIpOwogCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRG
aWxsQ29sb3IodG9nZ2xlQ29sb3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENv
bG9yKGZvcmVncm91bmRDb2xvcik7CiAKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxQYXRo
KHBhdGgpOwogICAgICAgICBwYXRoLmNsZWFyKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcGF0
aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJlY3QsIGNvcm5lcik7CisgICAgICAgIGZpZWxkUmVjdC5p
bmZsYXRlKC10b2dnbGVCb3JkZXJTaXplKTsKKyAgICAgICAgY29ybmVyLmV4cGFuZCgtYnV0dG9u
Qm9yZGVyU2l6ZSwgLWJ1dHRvbkJvcmRlclNpemUpOworICAgICAgICBwYXRoLmFkZFJvdW5kZWRS
ZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxS
dWxlKFdpbmRSdWxlOjpFdmVuT2RkKTsKKyAgICAgICAgaWYgKHN0YXRlcy5zdGF0ZXMoKS5jb250
YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkhvdmVyZWQpCisgICAgICAgICAgICAmJiBzdGF0
ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKKyAg
ICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IodG9nZ2xlQm9yZGVySG92ZXJD
b2xvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxs
Q29sb3IodG9nZ2xlQm9yZGVyQ29sb3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBh
dGgocGF0aCk7CisgICAgICAgIHBhdGguY2xlYXIoKTsKICAgICB9CiAKICAgICBpZiAoc3RhdGVz
LnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6Rm9jdXNlZCkpCkBAIC0z
MDcsNyArMzEwLDcgQEAgdm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50Q2hlY2tib3goQ29udHJvbFN0
YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWMKICAgICAgICAgZ3JhcGhpY3ND
b250ZXh0LmVuZFRyYW5zcGFyZW5jeUxheWVyKCk7CiB9CiAKLXZvaWQgVGhlbWVBZHdhaXRhOjpw
YWludFJhZGlvKENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBncmFwaGlj
c0NvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgem9vbWVkUmVjdCwgYm9vbCB1c2VEYXJrQXBwZWFy
YW5jZSkKK3ZvaWQgVGhlbWVBZHdhaXRhOjpwYWludFJhZGlvKENvbnRyb2xTdGF0ZXMmIHN0YXRl
cywgR3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgem9v
bWVkUmVjdCwgYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSwgY29uc3QgQ29sb3ImIGVmZmVjdGl2ZUFj
Y2VudENvbG9yKQogewogICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihn
cmFwaGljc0NvbnRleHQpOwogICAgIEZsb2F0UmVjdCBmaWVsZFJlY3QgPSB6b29tZWRSZWN0OwpA
QCAtMzIwLDUwICszMjMsNTMgQEAgdm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50UmFkaW8oQ29udHJv
bFN0YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ28KICAgICAgICAgICAg
IGZpZWxkUmVjdC5tb3ZlKDAsICh6b29tZWRSZWN0LmhlaWdodCgpIC0gZmllbGRSZWN0LmhlaWdo
dCgpKSAvIDIuMCk7CiAgICAgfQogCi0gICAgU1JHQkE8dWludDhfdD4gYnV0dG9uQm9yZGVyQ29s
b3I7Ci0gICAgU1JHQkE8dWludDhfdD4gdG9nZ2xlQmFja2dyb3VuZENvbG9yOwotICAgIFNSR0JB
PHVpbnQ4X3Q+IHRvZ2dsZUJhY2tncm91bmRIb3ZlcmVkQ29sb3I7Ci0gICAgU1JHQkE8dWludDhf
dD4gdG9nZ2xlQ29sb3I7CisgICAgU1JHQkE8dWludDhfdD4gdG9nZ2xlQm9yZGVyQ29sb3I7Cisg
ICAgU1JHQkE8dWludDhfdD4gdG9nZ2xlQm9yZGVySG92ZXJDb2xvcjsKIAogICAgIGlmICh1c2VE
YXJrQXBwZWFyYW5jZSkgewotICAgICAgICBidXR0b25Cb3JkZXJDb2xvciA9IGJ1dHRvbkJvcmRl
ckNvbG9yRGFyazsKLSAgICAgICAgdG9nZ2xlQmFja2dyb3VuZENvbG9yID0gdG9nZ2xlQmFja2dy
b3VuZENvbG9yRGFyazsKLSAgICAgICAgdG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvciA9IHRv
Z2dsZUJhY2tncm91bmRIb3ZlcmVkQ29sb3JEYXJrOwotICAgICAgICB0b2dnbGVDb2xvciA9IHRv
Z2dsZUNvbG9yRGFyazsKKyAgICAgICAgdG9nZ2xlQm9yZGVyQ29sb3IgPSB0b2dnbGVCb3JkZXJD
b2xvckRhcms7CisgICAgICAgIHRvZ2dsZUJvcmRlckhvdmVyQ29sb3IgPSB0b2dnbGVCb3JkZXJI
b3ZlcmVkQ29sb3JEYXJrOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGJ1dHRvbkJvcmRlckNvbG9y
ID0gYnV0dG9uQm9yZGVyQ29sb3JMaWdodDsKLSAgICAgICAgdG9nZ2xlQmFja2dyb3VuZENvbG9y
ID0gdG9nZ2xlQmFja2dyb3VuZENvbG9yTGlnaHQ7Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRI
b3ZlcmVkQ29sb3IgPSB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yTGlnaHQ7Ci0gICAgICAg
IHRvZ2dsZUNvbG9yID0gdG9nZ2xlQ29sb3JMaWdodDsKKyAgICAgICAgdG9nZ2xlQm9yZGVyQ29s
b3IgPSB0b2dnbGVCb3JkZXJDb2xvckxpZ2h0OworICAgICAgICB0b2dnbGVCb3JkZXJIb3ZlckNv
bG9yID0gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yTGlnaHQ7CiAgICAgfQogCisgICAgQ29sb3Ig
YWNjZW50Q29sb3IgPSBlZmZlY3RpdmVBY2NlbnRDb2xvci5pc1ZhbGlkKCkgPyBlZmZlY3RpdmVB
Y2NlbnRDb2xvciA6IG1fYWNjZW50Q29sb3I7CisgICAgQ29sb3IgZm9yZWdyb3VuZENvbG9yID0g
YWNjZW50Q29sb3IubHVtaW5hbmNlKCkgPiAwLjUgPyBDb2xvcihTUkdCQTx1aW50OF90PiB7IDAs
IDAsIDAsIDIwNCB9KSA6IENvbG9yOjp3aGl0ZTsKKyAgICBDb2xvciBhY2NlbnRIb3ZlckNvbG9y
ID0gYmxlbmRTb3VyY2VPdmVyKGFjY2VudENvbG9yLCBmb3JlZ3JvdW5kQ29sb3IuY29sb3JXaXRo
QWxwaGFNdWx0aXBsaWVkQnkoMC4xKSk7CisKICAgICBpZiAoIXN0YXRlcy5zdGF0ZXMoKS5jb250
YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkVuYWJsZWQpKQogICAgICAgICBncmFwaGljc0Nv
bnRleHQuYmVnaW5UcmFuc3BhcmVuY3lMYXllcihkaXNhYmxlZE9wYWNpdHkpOwogCiAgICAgUGF0
aCBwYXRoOwotICAgIHBhdGguYWRkRWxsaXBzZShmaWVsZFJlY3QpOwotICAgIGZpZWxkUmVjdC5p
bmZsYXRlKC1idXR0b25Cb3JkZXJTaXplKTsKLSAgICBwYXRoLmFkZEVsbGlwc2UoZmllbGRSZWN0
KTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbFJ1bGUoV2luZFJ1bGU6OkV2ZW5PZGQpOwot
ICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoYnV0dG9uQm9yZGVyQ29sb3IpOwotICAg
IGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChwYXRoKTsKLSAgICBwYXRoLmNsZWFyKCk7CiAKLSAg
ICBwYXRoLmFkZEVsbGlwc2UoZmllbGRSZWN0KTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0Rmls
bFJ1bGUoV2luZFJ1bGU6Ok5vblplcm8pOwotICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFp
bnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpIb3ZlcmVkKQotICAgICAgICAmJiBzdGF0ZXMuc3Rh
dGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKLSAgICAgICAg
Z3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcih0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9y
KTsKLSAgICBlbHNlCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IodG9nZ2xl
QmFja2dyb3VuZENvbG9yKTsKLSAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7Ci0g
ICAgcGF0aC5jbGVhcigpOworICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnNBbnkoeyBD
b250cm9sU3RhdGVzOjpTdGF0ZXM6OkNoZWNrZWQsIENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6SW5k
ZXRlcm1pbmF0ZSB9KSkgeworICAgICAgICBwYXRoLmFkZEVsbGlwc2UoZmllbGRSZWN0KTsKKyAg
ICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKKyAg
ICAgICAgaWYgKHN0YXRlcy5zdGF0ZXMoKS5jb250YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6
OkhvdmVyZWQpCisgICAgICAgICAgICAmJiBzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJv
bFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5z
ZXRGaWxsQ29sb3IoYWNjZW50SG92ZXJDb2xvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoYWNjZW50Q29sb3IpOworICAgICAgICBncmFw
aGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7CisgICAgICAgIHBhdGguY2xlYXIoKTsKIAotICAg
IGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpDaGVj
a2VkKSkgewogICAgICAgICBmaWVsZFJlY3QuaW5mbGF0ZSgtKGZpZWxkUmVjdC53aWR0aCgpIC0g
ZmllbGRSZWN0LndpZHRoKCkgKiAwLjcwKSk7CiAgICAgICAgIHBhdGguYWRkRWxsaXBzZShmaWVs
ZFJlY3QpOwotICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUNvbG9y
KTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihmb3JlZ3JvdW5kQ29sb3Ip
OwogICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7CisgICAgICAgIGZpZWxkUmVjdC5p
bmZsYXRlKC10b2dnbGVCb3JkZXJTaXplKTsKKyAgICAgICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxk
UmVjdCk7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsUnVsZShXaW5kUnVsZTo6RXZl
bk9kZCk7CisgICAgICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRl
czo6U3RhdGVzOjpIb3ZlcmVkKQorICAgICAgICAgICAgJiYgc3RhdGVzLnN0YXRlcygpLmNvbnRh
aW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6RW5hYmxlZCkpCisgICAgICAgICAgICBncmFwaGlj
c0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJvcmRlckhvdmVyQ29sb3IpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJvcmRl
ckNvbG9yKTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxQYXRoKHBhdGgpOworICAgICAg
ICBwYXRoLmNsZWFyKCk7CiAgICAgfQogCiAgICAgaWYgKHN0YXRlcy5zdGF0ZXMoKS5jb250YWlu
cyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkZvY3VzZWQpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFkd2FpdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Fkd2FpdGEvVGhlbWVBZHdhaXRhLmgKaW5kZXggNWU2YTk3YWRkMDQxOTg4MDM4NDQ0
ZjVkYWEwNjRkMzc1MDQ1YzVjOC4uZDdmZjljMDk2MTIyZmY3ZmJiMmZiMTYzMjRhY2JjMzY3YmQx
YTY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFk
d2FpdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0
YS5oCkBAIC01Miw4ICs1Miw4IEBAIHByaXZhdGU6CiAgICAgTGVuZ3RoQm94IGNvbnRyb2xCb3Jk
ZXIoQ29udHJvbFBhcnQsIGNvbnN0IEZvbnRDYXNjYWRlJiwgY29uc3QgTGVuZ3RoQm94JiwgZmxv
YXQpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgcGFpbnQoQ29udHJvbFBhcnQsIENvbnRyb2xTdGF0
ZXMmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBmbG9hdCwgU2Nyb2xsVmll
dyosIGZsb2F0LCBmbG9hdCwgYm9vbCwgYm9vbCwgY29uc3QgQ29sb3ImKSBmaW5hbDsKIAotICAg
IHZvaWQgcGFpbnRDaGVja2JveChDb250cm9sU3RhdGVzJiwgR3JhcGhpY3NDb250ZXh0JiwgY29u
c3QgRmxvYXRSZWN0JiwgYm9vbCk7Ci0gICAgdm9pZCBwYWludFJhZGlvKENvbnRyb2xTdGF0ZXMm
LCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBib29sKTsKKyAgICB2b2lkIHBh
aW50Q2hlY2tib3goQ29udHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0
UmVjdCYsIGJvb2wsIGNvbnN0IENvbG9yJik7CisgICAgdm9pZCBwYWludFJhZGlvKENvbnRyb2xT
dGF0ZXMmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBib29sLCBjb25zdCBD
b2xvciYpOwogICAgIHZvaWQgcGFpbnRCdXR0b24oQ29udHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29u
dGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYsIGJvb2wpOwogICAgIHZvaWQgcGFpbnRTcGluQnV0dG9u
KENvbnRyb2xTdGF0ZXMmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBib29s
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3
YWl0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNw
cAppbmRleCA4ZWRlMDg2NjBmYzY2OGRmOGQ5MTQ1NzE4NGMyN2FlYWQyYWU2OGUzLi45YzNjM2Fm
YjY2NzI3YzM5MDdhMTViMjQzOGI1OWUyMTZhOWQ5OTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcApAQCAtOTMsMTEgKzkzLDIwIEBAIHN0
YXRpYyBjb25zdGV4cHIgYXV0byBidXR0b25UZXh0RGlzYWJsZWRDb2xvckxpZ2h0ID0gU1JHQkE8
dWludDhfdD4geyAwLCAwLCAwLCAxCiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uVGV4dENv
bG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSB9Owogc3RhdGljIGNvbnN0
ZXhwciBhdXRvIGJ1dHRvblRleHREaXNhYmxlZENvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsg
MjU1LCAyNTUsIDI1NSwgMTI3IH07CiAKLXN0YXRpYyBpbmxpbmUgQ29sb3IgZ2V0QWNjZW50Q29s
b3IoKQorc3RhdGljIGlubGluZSBDb2xvciBnZXRTeXN0ZW1BY2NlbnRDb2xvcigpCiB7CiAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PFRoZW1lQWR3YWl0YSY+KFRoZW1lOjpzaW5nbGV0b24oKSkuYWNj
ZW50Q29sb3IoKTsKIH0KIAorc3RhdGljIGlubGluZSBDb2xvciBnZXRBY2NlbnRDb2xvcihjb25z
dCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCkKK3sKKyAgICBhdXRvIGFjY2VudENvbG9yID0g
cmVuZGVyT2JqZWN0LnN0eWxlKCkuZWZmZWN0aXZlQWNjZW50Q29sb3IoKTsKKyAgICBpZiAoYWNj
ZW50Q29sb3IuaXNWYWxpZCgpKQorICAgICAgICByZXR1cm4gYWNjZW50Q29sb3I7CisKKyAgICBy
ZXR1cm4gZ2V0U3lzdGVtQWNjZW50Q29sb3IoKTsKK30KKwogI2lmICFQTEFURk9STShHVEspCiBS
ZW5kZXJUaGVtZSYgUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpCiB7CkBAIC0xMzQsNyArMTQzLDcg
QEAgYm9vbCBSZW5kZXJUaGVtZUFkd2FpdGE6OnNob3VsZEhhdmVDYXBzTG9ja0luZGljYXRvcihj
b25zdCBIVE1MSW5wdXRFbGVtZW50JiBlbGUKIAogQ29sb3IgUmVuZGVyVGhlbWVBZHdhaXRhOjpw
bGF0Zm9ybUFjdGl2ZVNlbGVjdGlvbkJhY2tncm91bmRDb2xvcihPcHRpb25TZXQ8U3R5bGVDb2xv
ck9wdGlvbnM+KSBjb25zdAogewotICAgIHJldHVybiBnZXRBY2NlbnRDb2xvcigpLmNvbG9yV2l0
aEFscGhhTXVsdGlwbGllZEJ5KDAuMyk7CisgICAgcmV0dXJuIGdldFN5c3RlbUFjY2VudENvbG9y
KCkuY29sb3JXaXRoQWxwaGFNdWx0aXBsaWVkQnkoMC4zKTsKIH0KIAogQ29sb3IgUmVuZGVyVGhl
bWVBZHdhaXRhOjpwbGF0Zm9ybUluYWN0aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKE9wdGlv
blNldDxTdHlsZUNvbG9yT3B0aW9ucz4gb3B0aW9ucykgY29uc3QKQEAgLTI4NCw3ICsyOTMsNyBA
QCBib29sIFJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRUZXh0RmllbGQoY29uc3QgUmVuZGVyT2Jq
ZWN0JiByZW5kZXJPYmplY3QsIGNvbnN0CiAgICAgcGF0aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJl
Y3QsIGNvcm5lcik7CiAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpF
dmVuT2RkKTsKICAgICBpZiAoZW5hYmxlZCAmJiBpc0ZvY3VzZWQocmVuZGVyT2JqZWN0KSkKLSAg
ICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihnZXRBY2NlbnRDb2xvcigpKTsKKyAg
ICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihnZXRBY2NlbnRDb2xvcihyZW5kZXJP
YmplY3QpKTsKICAgICBlbHNlCiAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3Io
dGV4dEZpZWxkQm9yZGVyQ29sb3IpOwogICAgIGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChwYXRo
KTsKQEAgLTQ3MSw3ICs0ODAsOCBAQCBib29sIFJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRQcm9n
cmVzc0Jhcihjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29ucwogCiAgICAgcGF0
aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJlY3QsIGNvcm5lcik7CiAgICAgZ3JhcGhpY3NDb250ZXh0
LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0
RmlsbENvbG9yKGdldEFjY2VudENvbG9yKCkpOworCisgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZp
bGxDb2xvcihnZXRBY2NlbnRDb2xvcihyZW5kZXJPYmplY3QpKTsKICAgICBncmFwaGljc0NvbnRl
eHQuZmlsbFBhdGgocGF0aCk7CiAKICAgICByZXR1cm4gZmFsc2U7CkBAIC01NDAsNyArNTUwLDcg
QEAgYm9vbCBSZW5kZXJUaGVtZUFkd2FpdGE6OnBhaW50U2xpZGVyVHJhY2soY29uc3QgUmVuZGVy
T2JqZWN0JiByZW5kZXJPYmplY3QsIGNvbnMKIAogICAgIHBhdGguYWRkUm91bmRlZFJlY3QoRmxv
YXRSb3VuZGVkUmVjdChyYW5nZVJlY3QsIGNvcm5lcnMpKTsKICAgICBncmFwaGljc0NvbnRleHQu
c2V0RmlsbFJ1bGUoV2luZFJ1bGU6Ok5vblplcm8pOwotICAgIGdyYXBoaWNzQ29udGV4dC5zZXRG
aWxsQ29sb3IoZ2V0QWNjZW50Q29sb3IoKSk7CisgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxD
b2xvcihnZXRBY2NlbnRDb2xvcihyZW5kZXJPYmplY3QpKTsKICAgICBncmFwaGljc0NvbnRleHQu
ZmlsbFBhdGgocGF0aCk7CiAKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKQEAgLTU5Nyw3
ICs2MDcsNyBAQCBib29sIFJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRTbGlkZXJUaHVtYihjb25z
dCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29ucwogICAgIHBhdGguYWRkRWxsaXBzZShm
aWVsZFJlY3QpOwogICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsUnVsZShXaW5kUnVsZTo6RXZl
bk9kZCk7CiAgICAgaWYgKGlzRW5hYmxlZChyZW5kZXJPYmplY3QpICYmIGlzUHJlc3NlZChyZW5k
ZXJPYmplY3QpKQotICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFjY2Vu
dENvbG9yKCkpOworICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFjY2Vu
dENvbG9yKHJlbmRlck9iamVjdCkpOwogICAgIGVsc2UKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0
LnNldEZpbGxDb2xvcihzbGlkZXJUaHVtYkJvcmRlckNvbG9yKTsKICAgICBncmFwaGljc0NvbnRl
eHQuZmlsbFBhdGgocGF0aCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDY3NGRiODk2MjA2ODI3YjI3MDAwZTJiODJkMGE5
Y2ExZjQwNzNlMC4uZmI5OGI0MjQ4MjAxMmRlOThlYzBmNWFkZjZlYzM1NjcyNjE5MzhjYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDIyLTAzLTI1ICBBbGV4YW5kZXIgTWlraGF5bGVua28gIDxh
bGV4bUBnbm9tZS5vcmc+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0IENTUyBhY2NlbnQt
Y29sb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
ODM5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6IEVuYWJsZSBhY2NlbnQtY29sb3IgdGVzdHMg
Zm9yIEdUSy4KKwogMjAyMi0wMy0yNSAgQWxleGFuZGVyIE1pa2hheWxlbmtvICA8YWxleG1AZ25v
bWUub3JnPgogCiAgICAgICAgIFtHVEtdW1dQRV0gVXBkYXRlIHdpZGdldCBzdHlsZSB0byBtYXRj
aCBsaWJhZHdhaXRhCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDRkYjQ3YTQzMDU0MmVlYmRkNjVhNTgxOWViNWM0NmI5MTQwYmIxODEuLmU5MDkxZTE5NzNl
MTdlY2I5MmJkZjhlOGViNDIzOTI3Zjc0MDViYjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMSw2ICszMSwxNCBAQCBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvdDQyNS1oc2xhLW9uc2NyZWVuLW11bHRpcGxlLWJv
eGVzLQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJl
ZGRlZC1jb250ZW50L3RoZS1lbWJlZC1lbGVtZW50L2VtYmVkLXJlcHJlc2VudC1ub3RoaW5nLTAy
Lmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtYXJlYS1lbGVtZW50L2FyZWEtY29vcmRzLmh0bWwg
WyBQYXNzIF0KIAorIyBhY2NlbnQtY29sb3IgaXMgY3VycmVudGx5IG9ubHkgc3VwcG9ydGVkIG9u
IENvY29hIHBsYXRmb3JtcworZmFzdC9jc3MvYWNjZW50LWNvbG9yL2NoZWNrYm94Lmh0bWwgWyBQ
YXNzIF0KK2Zhc3QvY3NzL2FjY2VudC1jb2xvci9wcm9ncmVzcy5odG1sIFsgUGFzcyBdCitmYXN0
L2Nzcy9hY2NlbnQtY29sb3IvcmFkaW8uaHRtbCBbIFBhc3MgXQorZmFzdC9jc3MvYWNjZW50LWNv
bG9yL3NlbGVjdC5odG1sIFsgUGFzcyBdCitmYXN0L2Nzcy9hY2NlbnQtY29sb3IvdGV4dC5odG1s
IFsgUGFzcyBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdWkvYWNj
ZW50LWNvbG9yLWNoZWNrYm94LWNoZWNrZWQtMDAxLnRlbnRhdGl2ZS5odG1sIFsgUGFzcyBdCisK
ICMgU29tZSBBcHBsZSBwb3J0cyBkb24ndCBzdXBwb3J0IFJUTCBzY3JvbGxiYXJzLgogZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtYWx0ZXJuYXRlLWJvZHktZGlyLWF0dHItZG9lcy1ub3Qt
dXBkYXRlLXNjcm9sbGJhci1wbGFjZW1lbnQuaHRtbCBbIFBhc3MgXQogZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtaWZyYW1lLXNjcm9sbGVkLmh0bWwgWyBQYXNzIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455840</attachid>
            <date>2022-03-26 04:29:10 -0700</date>
            <delta_ts>2022-03-26 06:14:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238398-20220326152913.patch</filename>
            <type>text/plain</type>
            <size>22198</size>
            <attacher name="Alice Mikhaylenko">alicem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZkMGY0OTkwMmU5ZDUxOTgzZWYyM2Ey
YmRhMTJiZWEwZGNhNGFmMGIuLmVlNDgyNjFjZTc0YmRjMjQzOTk4ZDU0ZjI3MDg1OTVjYmM3OTNl
NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDMtMjUgIEFsZXhhbmRlciBNaWtoYXlsZW5r
byAgPGFsZXhtQGdub21lLm9yZz4KKworICAgICAgICBbR1RLXVtXUEVdIFN1cHBvcnQgQ1NTIGFj
Y2VudC1jb2xvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM4Mzk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWw6
IEVuYWJsZSBhY2NlbnQtY29sb3IgZm9yIEdUSyBhbmQgV1BFLgorCiAyMDIyLTAzLTIzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSW5saW5lIFN0cmluZyhBU0NJ
SUxpdGVyYWwpIGNvbnN0cnVjdG9yIHNvIHRoZSBjb21waWxlciBjYW4gb3B0aW1pemUgb3V0IHN0
cmxlbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggMGU2NWE1MDZjMTkwNzc3NzhkZjIzNWZiYTkwY2U1Zjc0Y2Uw
ZGE0My4uNTIwMTgwYTgzMDEwYzI2ZGY0NTc3ZTc4NjkxZTJmMzdkNTdmYTQxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAzLTI1ICBBbGV4YW5kZXIgTWlraGF5bGVua28gIDxh
bGV4bUBnbm9tZS5vcmc+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0IENTUyBhY2NlbnQt
Y29sb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
ODM5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBhY2NlbnQtY29sb3Igc3VwcG9ydCBmb3IgcHJvZ3Jlc3MsIHJhbmdlIGFuZCBlbnRyaWVzLgor
ICAgICAgICBVcGRhdGUgY2hlY2sgYW5kIHJhZGlvIHN0eWxlcyBzbyB0aGF0IHRoZXkgY2FuIHVz
ZSBhY2NlbnQgY29sb3IgYXMgd2VsbC4KKworICAgICAgICAqIHBsYXRmb3JtL2Fkd2FpdGEvVGhl
bWVBZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lQWR3YWl0YTo6cGFpbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6VGhlbWVBZHdhaXRhOjpwYWludENoZWNrYm94KToKKyAgICAgICAg
KFdlYkNvcmU6OlRoZW1lQWR3YWl0YTo6cGFpbnRSYWRpbyk6CisgICAgICAgICogcGxhdGZvcm0v
YWR3YWl0YS9UaGVtZUFkd2FpdGEuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVB
ZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldFN5c3RlbUFjY2VudENvbG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OmdldEFjY2VudENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lQWR3YWl0YTo6cGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpwYWludFRleHRGaWVs
ZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OnBhaW50UHJvZ3Jlc3NC
YXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpwYWludFNsaWRlclRy
YWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRTbGlkZXJU
aHVtYik6CisKIDIwMjItMDMtMjUgIEFsZXhhbmRlciBNaWtoYXlsZW5rbyAgPGFsZXhtQGdub21l
Lm9yZz4KIAogICAgICAgICBbR1RLXVtXUEVdIFVwZGF0ZSB3aWRnZXQgc3R5bGUgdG8gbWF0Y2gg
bGliYWR3YWl0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dl
YlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVy
ZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRleCAyZWM3YjQwZjI0NzFi
ZWZjM2RiODI5MDFiZmYwNTA3NDA0ZmE4OTllLi5lZTk5NGVlZmExNzA0NTk1Zjc3Y2Q4MjNhNjcy
MzlhZjBmMDc4ZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMv
V2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMv
UHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApAQCAtMzUsMTAgKzM1
LDEwIEBAIEFjY2VudENvbG9yRW5hYmxlZDoKICAgICAgICJQTEFURk9STShDT0NPQSkiIDogdHJ1
ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJLaXQ6Ci0gICAgICAiUExBVEZPUk0oQ09D
T0EpIiA6IHRydWUKKyAgICAgICJQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQ
TEFURk9STShXUEUpIjogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJDb3JlOgot
ICAgICAgIlBMQVRGT1JNKENPQ09BKSIgOiB0cnVlCisgICAgICAiUExBVEZPUk0oQ09DT0EpIHx8
IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKSI6IHRydWUKICAgICAgIGRlZmF1bHQ6IGZh
bHNlCiAKIEFjY2Vzc0hhbmRsZUVuYWJsZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5jcHAKaW5kZXggMmZkNjJhZWE2NGMxYTgyNGIwMDY3YjI0
YzBjN2JkNGU2N2QwYTU5MC4uNWVmYjM3NzkzMjYxNTRmMDY1Y2UxMTg0MjhlYjNmY2YwZGJiZGJm
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFkd2Fp
dGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fkd2FpdGEvVGhlbWVBZHdhaXRh
LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlRoZW1lQWR3YWl0YS5oIgogCiAjaW5j
bHVkZSAiQ29sb3IuaCIKKyNpbmNsdWRlICJDb2xvckJsZW5kaW5nLmgiCiAjaW5jbHVkZSAiQ29u
dHJvbFN0YXRlcy5oIgogI2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIKICNpbmNsdWRlICJH
cmFwaGljc0NvbnRleHQuaCIKQEAgLTUwLDI2ICs1MSwyNSBAQCBzdGF0aWMgY29uc3RleHByIGF1
dG8gYnV0dG9uQm9yZGVyQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMCwgMCwgMCwgNTAg
fTsKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBidXR0b25CYWNrZ3JvdW5kQ29sb3JMaWdodCA9IFNS
R0JBPHVpbnQ4X3Q+IHsgMjQ0LCAyNDQsIDI0NCB9Owogc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1
dHRvbkJhY2tncm91bmRQcmVzc2VkQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjE0LCAy
MTQsIDIxNCB9Owogc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1dHRvbkJhY2tncm91bmRIb3ZlcmVk
Q29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjQ4LCAyNDgsIDI0OCB9Owotc3RhdGljIGNv
bnN0ZXhwciBhdXRvIHRvZ2dsZUJhY2tncm91bmRDb2xvckxpZ2h0ID0gQ29sb3I6OndoaXRlOwot
c3RhdGljIGNvbnN0ZXhwciBhdXRvIHRvZ2dsZUJhY2tncm91bmRIb3ZlcmVkQ29sb3JMaWdodCA9
IFNSR0JBPHVpbnQ4X3Q+IHsgMjE0LCAyMTQsIDIxNCB9Oworc3RhdGljIGNvbnN0ZXhwciBhdXRv
IHRvZ2dsZUJvcmRlckNvbG9yTGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDUwIH07
CitzdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yTGlnaHQgPSBT
UkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDgwIH07CiAKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBi
dXR0b25Cb3JkZXJDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDI1NSwgMjU1LCAyNTUsIDUw
IH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uQmFja2dyb3VuZENvbG9yRGFyayA9IFNS
R0JBPHVpbnQ4X3Q+IHsgNTIsIDUyLCA1MiB9Owogc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1dHRv
bkJhY2tncm91bmRQcmVzc2VkQ29sb3JEYXJrID0gU1JHQkE8dWludDhfdD4geyAzMCwgMzAsIDMw
IH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uQmFja2dyb3VuZEhvdmVyZWRDb2xvckRh
cmsgPSBTUkdCQTx1aW50OF90PiB7IDYwLCA2MCwgNjAgfTsKLXN0YXRpYyBjb25zdGV4cHIgYXV0
byB0b2dnbGVCYWNrZ3JvdW5kQ29sb3JEYXJrID0gU1JHQkE8dWludDhfdD4geyA0NSwgNDUsIDQ1
IH07Ci1zdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvckRh
cmsgPSBTUkdCQTx1aW50OF90PiB7IDYwLCA2MCwgNjAgfTsKK3N0YXRpYyBjb25zdGV4cHIgYXV0
byB0b2dnbGVCb3JkZXJDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDI1NSwgMjU1LCAyNTUs
IDUwIH07CitzdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yRGFy
ayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgODAgfTsKIAogc3RhdGljIGNvbnN0
IGRvdWJsZSB0b2dnbGVTaXplID0gMTQuOworc3RhdGljIGNvbnN0IGludCB0b2dnbGVCb3JkZXJT
aXplID0gMjsKIHN0YXRpYyBjb25zdCBpbnQgdG9nZ2xlRm9jdXNPZmZzZXQgPSAyOwogCi1zdGF0
aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMCwg
MCwgMCwgMjAwIH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gc3BpbkJ1dHRvbkJvcmRlckNvbG9y
TGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDI1IH07CiBzdGF0aWMgY29uc3RleHBy
IGF1dG8gc3BpbkJ1dHRvbkJhY2tncm91bmRDb2xvckxpZ2h0ID0gQ29sb3I6OndoaXRlOwogc3Rh
dGljIGNvbnN0ZXhwciBhdXRvIHNwaW5CdXR0b25CYWNrZ3JvdW5kSG92ZXJlZENvbG9yTGlnaHQg
PSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDUwIH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8g
c3BpbkJ1dHRvbkJhY2tncm91bmRQcmVzc2VkQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsg
MCwgMCwgMCwgNzAgfTsKIAotc3RhdGljIGNvbnN0ZXhwciBhdXRvIHRvZ2dsZUNvbG9yRGFyayA9
IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgMjAwIH07CiBzdGF0aWMgY29uc3RleHBy
IGF1dG8gc3BpbkJ1dHRvbkJvcmRlckNvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAy
NTUsIDI1NSwgMjUgfTsKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBzcGluQnV0dG9uQmFja2dyb3Vu
ZENvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgNDUsIDQ1LCA0NSB9Owogc3RhdGljIGNvbnN0
ZXhwciBhdXRvIHNwaW5CdXR0b25CYWNrZ3JvdW5kSG92ZXJlZENvbG9yRGFyayA9IFNSR0JBPHVp
bnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgNTAgfTsKQEAgLTIwMSwxNCArMjAxLDE0IEBAIExlbmd0
aEJveCBUaGVtZUFkd2FpdGE6OmNvbnRyb2xCb3JkZXIoQ29udHJvbFBhcnQgcGFydCwgY29uc3Qg
Rm9udENhc2NhZGUmIGZvbnQsCiAgICAgcmV0dXJuIFRoZW1lOjpjb250cm9sQm9yZGVyKHBhcnQs
IGZvbnQsIHpvb21lZEJveCwgem9vbUZhY3Rvcik7CiB9CiAKLXZvaWQgVGhlbWVBZHdhaXRhOjpw
YWludChDb250cm9sUGFydCBwYXJ0LCBDb250cm9sU3RhdGVzJiBzdGF0ZXMsIEdyYXBoaWNzQ29u
dGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBmbG9hdCwgU2Nyb2xs
VmlldyosIGZsb2F0LCBmbG9hdCwgYm9vbCwgYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSwgY29uc3Qg
Q29sb3ImKQordm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50KENvbnRyb2xQYXJ0IHBhcnQsIENvbnRy
b2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJl
Y3QmIHpvb21lZFJlY3QsIGZsb2F0LCBTY3JvbGxWaWV3KiwgZmxvYXQsIGZsb2F0LCBib29sLCBi
b29sIHVzZURhcmtBcHBlYXJhbmNlLCBjb25zdCBDb2xvciYgZWZmZWN0aXZlQWNjZW50Q29sb3Ip
CiB7CiAgICAgc3dpdGNoIChwYXJ0KSB7CiAgICAgY2FzZSBDaGVja2JveFBhcnQ6Ci0gICAgICAg
IHBhaW50Q2hlY2tib3goc3RhdGVzLCBjb250ZXh0LCB6b29tZWRSZWN0LCB1c2VEYXJrQXBwZWFy
YW5jZSk7CisgICAgICAgIHBhaW50Q2hlY2tib3goc3RhdGVzLCBjb250ZXh0LCB6b29tZWRSZWN0
LCB1c2VEYXJrQXBwZWFyYW5jZSwgZWZmZWN0aXZlQWNjZW50Q29sb3IpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFJhZGlvUGFydDoKLSAgICAgICAgcGFpbnRSYWRpbyhzdGF0ZXMsIGNvbnRl
eHQsIHpvb21lZFJlY3QsIHVzZURhcmtBcHBlYXJhbmNlKTsKKyAgICAgICAgcGFpbnRSYWRpbyhz
dGF0ZXMsIGNvbnRleHQsIHpvb21lZFJlY3QsIHVzZURhcmtBcHBlYXJhbmNlLCBlZmZlY3RpdmVB
Y2NlbnRDb2xvcik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUHVzaEJ1dHRvblBhcnQ6CiAg
ICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoKQEAgLTIyNCw3ICsyMjQsNyBAQCB2b2lkIFRoZW1l
QWR3YWl0YTo6cGFpbnQoQ29udHJvbFBhcnQgcGFydCwgQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBH
cmFwaGljc0NvbnRleAogICAgIH0KIH0KIAotdm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50Q2hlY2ti
b3goQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4
dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBib29sIHVzZURhcmtBcHBlYXJhbmNlKQor
dm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50Q2hlY2tib3goQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBH
cmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRS
ZWN0LCBib29sIHVzZURhcmtBcHBlYXJhbmNlLCBjb25zdCBDb2xvciYgZWZmZWN0aXZlQWNjZW50
Q29sb3IpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGdyYXBo
aWNzQ29udGV4dCk7CiAKQEAgLTIzOCw0OCArMjM4LDM4IEBAIHZvaWQgVGhlbWVBZHdhaXRhOjpw
YWludENoZWNrYm94KENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBncmFw
aGljCiAgICAgICAgICAgICBmaWVsZFJlY3QubW92ZSgwLCAoem9vbWVkUmVjdC5oZWlnaHQoKSAt
IGZpZWxkUmVjdC5oZWlnaHQoKSkgLyAyLjApOwogICAgIH0KIAotICAgIFNSR0JBPHVpbnQ4X3Q+
IGJ1dHRvbkJvcmRlckNvbG9yOwotICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUJhY2tncm91bmRD
b2xvcjsKLSAgICBTUkdCQTx1aW50OF90PiB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yOwot
ICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUNvbG9yOworICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2ds
ZUJvcmRlckNvbG9yOworICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUJvcmRlckhvdmVyQ29sb3I7
CiAKICAgICBpZiAodXNlRGFya0FwcGVhcmFuY2UpIHsKLSAgICAgICAgYnV0dG9uQm9yZGVyQ29s
b3IgPSBidXR0b25Cb3JkZXJDb2xvckRhcms7Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRDb2xv
ciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckRhcms7Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRI
b3ZlcmVkQ29sb3IgPSB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yRGFyazsKLSAgICAgICAg
dG9nZ2xlQ29sb3IgPSB0b2dnbGVDb2xvckRhcms7CisgICAgICAgIHRvZ2dsZUJvcmRlckNvbG9y
ID0gdG9nZ2xlQm9yZGVyQ29sb3JEYXJrOworICAgICAgICB0b2dnbGVCb3JkZXJIb3ZlckNvbG9y
ID0gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yRGFyazsKICAgICB9IGVsc2UgewotICAgICAgICBi
dXR0b25Cb3JkZXJDb2xvciA9IGJ1dHRvbkJvcmRlckNvbG9yTGlnaHQ7Ci0gICAgICAgIHRvZ2ds
ZUJhY2tncm91bmRDb2xvciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckxpZ2h0OwotICAgICAgICB0
b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yID0gdG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xv
ckxpZ2h0OwotICAgICAgICB0b2dnbGVDb2xvciA9IHRvZ2dsZUNvbG9yTGlnaHQ7CisgICAgICAg
IHRvZ2dsZUJvcmRlckNvbG9yID0gdG9nZ2xlQm9yZGVyQ29sb3JMaWdodDsKKyAgICAgICAgdG9n
Z2xlQm9yZGVySG92ZXJDb2xvciA9IHRvZ2dsZUJvcmRlckhvdmVyZWRDb2xvckxpZ2h0OwogICAg
IH0KIAorICAgIENvbG9yIGFjY2VudENvbG9yID0gZWZmZWN0aXZlQWNjZW50Q29sb3IuaXNWYWxp
ZCgpID8gZWZmZWN0aXZlQWNjZW50Q29sb3IgOiBtX2FjY2VudENvbG9yOworICAgIENvbG9yIGZv
cmVncm91bmRDb2xvciA9IGFjY2VudENvbG9yLmx1bWluYW5jZSgpID4gMC41ID8gQ29sb3IoU1JH
QkE8dWludDhfdD4geyAwLCAwLCAwLCAyMDQgfSkgOiBDb2xvcjo6d2hpdGU7CisgICAgQ29sb3Ig
YWNjZW50SG92ZXJDb2xvciA9IGJsZW5kU291cmNlT3ZlcihhY2NlbnRDb2xvciwgZm9yZWdyb3Vu
ZENvbG9yLmNvbG9yV2l0aEFscGhhTXVsdGlwbGllZEJ5KDAuMSkpOworCiAgICAgaWYgKCFzdGF0
ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKICAg
ICAgICAgZ3JhcGhpY3NDb250ZXh0LmJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIoZGlzYWJsZWRPcGFj
aXR5KTsKIAogICAgIEZsb2F0U2l6ZSBjb3JuZXIoMiwgMik7CiAgICAgUGF0aCBwYXRoOwotICAg
IHBhdGguYWRkUm91bmRlZFJlY3QoZmllbGRSZWN0LCBjb3JuZXIpOwotICAgIGZpZWxkUmVjdC5p
bmZsYXRlKC1idXR0b25Cb3JkZXJTaXplKTsKLSAgICBjb3JuZXIuZXhwYW5kKC1idXR0b25Cb3Jk
ZXJTaXplLCAtYnV0dG9uQm9yZGVyU2l6ZSk7Ci0gICAgcGF0aC5hZGRSb3VuZGVkUmVjdChmaWVs
ZFJlY3QsIGNvcm5lcik7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxl
OjpFdmVuT2RkKTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGJ1dHRvbkJvcmRl
ckNvbG9yKTsKLSAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7Ci0gICAgcGF0aC5j
bGVhcigpOwotCi0gICAgcGF0aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJlY3QsIGNvcm5lcik7Ci0g
ICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKLSAgICBp
ZiAoc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6SG92ZXJl
ZCkKLSAgICAgICAgJiYgc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0
YXRlczo6RW5hYmxlZCkpCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IodG9n
Z2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvcik7Ci0gICAgZWxzZQotICAgICAgICBncmFwaGljc0Nv
bnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJhY2tncm91bmRDb2xvcik7Ci0gICAgZ3JhcGhpY3ND
b250ZXh0LmZpbGxQYXRoKHBhdGgpOwotICAgIHBhdGguY2xlYXIoKTsKIAogICAgIGlmIChzdGF0
ZXMuc3RhdGVzKCkuY29udGFpbnNBbnkoeyBDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkNoZWNrZWQs
IENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6SW5kZXRlcm1pbmF0ZSB9KSkgeworICAgICAgICBwYXRo
LmFkZFJvdW5kZWRSZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKKyAgICAgICAgZ3JhcGhpY3NDb250
ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKKyAgICAgICAgaWYgKHN0YXRlcy5z
dGF0ZXMoKS5jb250YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkhvdmVyZWQpCisgICAgICAg
ICAgICAmJiBzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpF
bmFibGVkKSkKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoYWNjZW50
SG92ZXJDb2xvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5z
ZXRGaWxsQ29sb3IoYWNjZW50Q29sb3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBh
dGgocGF0aCk7CisgICAgICAgIHBhdGguY2xlYXIoKTsKKwogICAgICAgICBHcmFwaGljc0NvbnRl
eHRTdGF0ZVNhdmVyIGNoZWNrZWRTdGF0ZVNhdmVyKGdyYXBoaWNzQ29udGV4dCk7CiAgICAgICAg
IGdyYXBoaWNzQ29udGV4dC50cmFuc2xhdGUoZmllbGRSZWN0LngoKSwgZmllbGRSZWN0LnkoKSk7
CiAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zY2FsZShGbG9hdFNpemU6Om5hcnJvd1ByZWNpc2lv
bihmaWVsZFJlY3Qud2lkdGgoKSAvIHRvZ2dsZVNpemUsIGZpZWxkUmVjdC5oZWlnaHQoKSAvIHRv
Z2dsZVNpemUpKTsKQEAgLTI5NCwxMCArMjg0LDIzIEBAIHZvaWQgVGhlbWVBZHdhaXRhOjpwYWlu
dENoZWNrYm94KENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBncmFwaGlj
CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgcGF0aC5hZGRSb3VuZGVkUmVjdChGbG9hdFJl
Y3QoMiwgNSwgMTAsIDQpLCBjb3JuZXIpOwogCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRG
aWxsQ29sb3IodG9nZ2xlQ29sb3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENv
bG9yKGZvcmVncm91bmRDb2xvcik7CiAKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxQYXRo
KHBhdGgpOwogICAgICAgICBwYXRoLmNsZWFyKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcGF0
aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJlY3QsIGNvcm5lcik7CisgICAgICAgIGZpZWxkUmVjdC5p
bmZsYXRlKC10b2dnbGVCb3JkZXJTaXplKTsKKyAgICAgICAgY29ybmVyLmV4cGFuZCgtYnV0dG9u
Qm9yZGVyU2l6ZSwgLWJ1dHRvbkJvcmRlclNpemUpOworICAgICAgICBwYXRoLmFkZFJvdW5kZWRS
ZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxS
dWxlKFdpbmRSdWxlOjpFdmVuT2RkKTsKKyAgICAgICAgaWYgKHN0YXRlcy5zdGF0ZXMoKS5jb250
YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkhvdmVyZWQpCisgICAgICAgICAgICAmJiBzdGF0
ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKKyAg
ICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IodG9nZ2xlQm9yZGVySG92ZXJD
b2xvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxs
Q29sb3IodG9nZ2xlQm9yZGVyQ29sb3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBh
dGgocGF0aCk7CisgICAgICAgIHBhdGguY2xlYXIoKTsKICAgICB9CiAKICAgICBpZiAoc3RhdGVz
LnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6Rm9jdXNlZCkpCkBAIC0z
MDcsNyArMzEwLDcgQEAgdm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50Q2hlY2tib3goQ29udHJvbFN0
YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWMKICAgICAgICAgZ3JhcGhpY3ND
b250ZXh0LmVuZFRyYW5zcGFyZW5jeUxheWVyKCk7CiB9CiAKLXZvaWQgVGhlbWVBZHdhaXRhOjpw
YWludFJhZGlvKENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBncmFwaGlj
c0NvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgem9vbWVkUmVjdCwgYm9vbCB1c2VEYXJrQXBwZWFy
YW5jZSkKK3ZvaWQgVGhlbWVBZHdhaXRhOjpwYWludFJhZGlvKENvbnRyb2xTdGF0ZXMmIHN0YXRl
cywgR3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgem9v
bWVkUmVjdCwgYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSwgY29uc3QgQ29sb3ImIGVmZmVjdGl2ZUFj
Y2VudENvbG9yKQogewogICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihn
cmFwaGljc0NvbnRleHQpOwogICAgIEZsb2F0UmVjdCBmaWVsZFJlY3QgPSB6b29tZWRSZWN0OwpA
QCAtMzIwLDUwICszMjMsNTMgQEAgdm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50UmFkaW8oQ29udHJv
bFN0YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ28KICAgICAgICAgICAg
IGZpZWxkUmVjdC5tb3ZlKDAsICh6b29tZWRSZWN0LmhlaWdodCgpIC0gZmllbGRSZWN0LmhlaWdo
dCgpKSAvIDIuMCk7CiAgICAgfQogCi0gICAgU1JHQkE8dWludDhfdD4gYnV0dG9uQm9yZGVyQ29s
b3I7Ci0gICAgU1JHQkE8dWludDhfdD4gdG9nZ2xlQmFja2dyb3VuZENvbG9yOwotICAgIFNSR0JB
PHVpbnQ4X3Q+IHRvZ2dsZUJhY2tncm91bmRIb3ZlcmVkQ29sb3I7Ci0gICAgU1JHQkE8dWludDhf
dD4gdG9nZ2xlQ29sb3I7CisgICAgU1JHQkE8dWludDhfdD4gdG9nZ2xlQm9yZGVyQ29sb3I7Cisg
ICAgU1JHQkE8dWludDhfdD4gdG9nZ2xlQm9yZGVySG92ZXJDb2xvcjsKIAogICAgIGlmICh1c2VE
YXJrQXBwZWFyYW5jZSkgewotICAgICAgICBidXR0b25Cb3JkZXJDb2xvciA9IGJ1dHRvbkJvcmRl
ckNvbG9yRGFyazsKLSAgICAgICAgdG9nZ2xlQmFja2dyb3VuZENvbG9yID0gdG9nZ2xlQmFja2dy
b3VuZENvbG9yRGFyazsKLSAgICAgICAgdG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvciA9IHRv
Z2dsZUJhY2tncm91bmRIb3ZlcmVkQ29sb3JEYXJrOwotICAgICAgICB0b2dnbGVDb2xvciA9IHRv
Z2dsZUNvbG9yRGFyazsKKyAgICAgICAgdG9nZ2xlQm9yZGVyQ29sb3IgPSB0b2dnbGVCb3JkZXJD
b2xvckRhcms7CisgICAgICAgIHRvZ2dsZUJvcmRlckhvdmVyQ29sb3IgPSB0b2dnbGVCb3JkZXJI
b3ZlcmVkQ29sb3JEYXJrOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGJ1dHRvbkJvcmRlckNvbG9y
ID0gYnV0dG9uQm9yZGVyQ29sb3JMaWdodDsKLSAgICAgICAgdG9nZ2xlQmFja2dyb3VuZENvbG9y
ID0gdG9nZ2xlQmFja2dyb3VuZENvbG9yTGlnaHQ7Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRI
b3ZlcmVkQ29sb3IgPSB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yTGlnaHQ7Ci0gICAgICAg
IHRvZ2dsZUNvbG9yID0gdG9nZ2xlQ29sb3JMaWdodDsKKyAgICAgICAgdG9nZ2xlQm9yZGVyQ29s
b3IgPSB0b2dnbGVCb3JkZXJDb2xvckxpZ2h0OworICAgICAgICB0b2dnbGVCb3JkZXJIb3ZlckNv
bG9yID0gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yTGlnaHQ7CiAgICAgfQogCisgICAgQ29sb3Ig
YWNjZW50Q29sb3IgPSBlZmZlY3RpdmVBY2NlbnRDb2xvci5pc1ZhbGlkKCkgPyBlZmZlY3RpdmVB
Y2NlbnRDb2xvciA6IG1fYWNjZW50Q29sb3I7CisgICAgQ29sb3IgZm9yZWdyb3VuZENvbG9yID0g
YWNjZW50Q29sb3IubHVtaW5hbmNlKCkgPiAwLjUgPyBDb2xvcihTUkdCQTx1aW50OF90PiB7IDAs
IDAsIDAsIDIwNCB9KSA6IENvbG9yOjp3aGl0ZTsKKyAgICBDb2xvciBhY2NlbnRIb3ZlckNvbG9y
ID0gYmxlbmRTb3VyY2VPdmVyKGFjY2VudENvbG9yLCBmb3JlZ3JvdW5kQ29sb3IuY29sb3JXaXRo
QWxwaGFNdWx0aXBsaWVkQnkoMC4xKSk7CisKICAgICBpZiAoIXN0YXRlcy5zdGF0ZXMoKS5jb250
YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkVuYWJsZWQpKQogICAgICAgICBncmFwaGljc0Nv
bnRleHQuYmVnaW5UcmFuc3BhcmVuY3lMYXllcihkaXNhYmxlZE9wYWNpdHkpOwogCiAgICAgUGF0
aCBwYXRoOwotICAgIHBhdGguYWRkRWxsaXBzZShmaWVsZFJlY3QpOwotICAgIGZpZWxkUmVjdC5p
bmZsYXRlKC1idXR0b25Cb3JkZXJTaXplKTsKLSAgICBwYXRoLmFkZEVsbGlwc2UoZmllbGRSZWN0
KTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbFJ1bGUoV2luZFJ1bGU6OkV2ZW5PZGQpOwot
ICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoYnV0dG9uQm9yZGVyQ29sb3IpOwotICAg
IGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChwYXRoKTsKLSAgICBwYXRoLmNsZWFyKCk7CiAKLSAg
ICBwYXRoLmFkZEVsbGlwc2UoZmllbGRSZWN0KTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0Rmls
bFJ1bGUoV2luZFJ1bGU6Ok5vblplcm8pOwotICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFp
bnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpIb3ZlcmVkKQotICAgICAgICAmJiBzdGF0ZXMuc3Rh
dGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKLSAgICAgICAg
Z3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcih0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9y
KTsKLSAgICBlbHNlCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IodG9nZ2xl
QmFja2dyb3VuZENvbG9yKTsKLSAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7Ci0g
ICAgcGF0aC5jbGVhcigpOworICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnNBbnkoeyBD
b250cm9sU3RhdGVzOjpTdGF0ZXM6OkNoZWNrZWQsIENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6SW5k
ZXRlcm1pbmF0ZSB9KSkgeworICAgICAgICBwYXRoLmFkZEVsbGlwc2UoZmllbGRSZWN0KTsKKyAg
ICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKKyAg
ICAgICAgaWYgKHN0YXRlcy5zdGF0ZXMoKS5jb250YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6
OkhvdmVyZWQpCisgICAgICAgICAgICAmJiBzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJv
bFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5z
ZXRGaWxsQ29sb3IoYWNjZW50SG92ZXJDb2xvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoYWNjZW50Q29sb3IpOworICAgICAgICBncmFw
aGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7CisgICAgICAgIHBhdGguY2xlYXIoKTsKIAotICAg
IGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpDaGVj
a2VkKSkgewogICAgICAgICBmaWVsZFJlY3QuaW5mbGF0ZSgtKGZpZWxkUmVjdC53aWR0aCgpIC0g
ZmllbGRSZWN0LndpZHRoKCkgKiAwLjcwKSk7CiAgICAgICAgIHBhdGguYWRkRWxsaXBzZShmaWVs
ZFJlY3QpOwotICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUNvbG9y
KTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihmb3JlZ3JvdW5kQ29sb3Ip
OwogICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7CisgICAgICAgIGZpZWxkUmVjdC5p
bmZsYXRlKC10b2dnbGVCb3JkZXJTaXplKTsKKyAgICAgICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxk
UmVjdCk7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsUnVsZShXaW5kUnVsZTo6RXZl
bk9kZCk7CisgICAgICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRl
czo6U3RhdGVzOjpIb3ZlcmVkKQorICAgICAgICAgICAgJiYgc3RhdGVzLnN0YXRlcygpLmNvbnRh
aW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6RW5hYmxlZCkpCisgICAgICAgICAgICBncmFwaGlj
c0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJvcmRlckhvdmVyQ29sb3IpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJvcmRl
ckNvbG9yKTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxQYXRoKHBhdGgpOworICAgICAg
ICBwYXRoLmNsZWFyKCk7CiAgICAgfQogCiAgICAgaWYgKHN0YXRlcy5zdGF0ZXMoKS5jb250YWlu
cyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkZvY3VzZWQpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFkd2FpdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Fkd2FpdGEvVGhlbWVBZHdhaXRhLmgKaW5kZXggNWU2YTk3YWRkMDQxOTg4MDM4NDQ0
ZjVkYWEwNjRkMzc1MDQ1YzVjOC4uZDdmZjljMDk2MTIyZmY3ZmJiMmZiMTYzMjRhY2JjMzY3YmQx
YTY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFk
d2FpdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0
YS5oCkBAIC01Miw4ICs1Miw4IEBAIHByaXZhdGU6CiAgICAgTGVuZ3RoQm94IGNvbnRyb2xCb3Jk
ZXIoQ29udHJvbFBhcnQsIGNvbnN0IEZvbnRDYXNjYWRlJiwgY29uc3QgTGVuZ3RoQm94JiwgZmxv
YXQpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgcGFpbnQoQ29udHJvbFBhcnQsIENvbnRyb2xTdGF0
ZXMmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBmbG9hdCwgU2Nyb2xsVmll
dyosIGZsb2F0LCBmbG9hdCwgYm9vbCwgYm9vbCwgY29uc3QgQ29sb3ImKSBmaW5hbDsKIAotICAg
IHZvaWQgcGFpbnRDaGVja2JveChDb250cm9sU3RhdGVzJiwgR3JhcGhpY3NDb250ZXh0JiwgY29u
c3QgRmxvYXRSZWN0JiwgYm9vbCk7Ci0gICAgdm9pZCBwYWludFJhZGlvKENvbnRyb2xTdGF0ZXMm
LCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBib29sKTsKKyAgICB2b2lkIHBh
aW50Q2hlY2tib3goQ29udHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0
UmVjdCYsIGJvb2wsIGNvbnN0IENvbG9yJik7CisgICAgdm9pZCBwYWludFJhZGlvKENvbnRyb2xT
dGF0ZXMmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBib29sLCBjb25zdCBD
b2xvciYpOwogICAgIHZvaWQgcGFpbnRCdXR0b24oQ29udHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29u
dGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYsIGJvb2wpOwogICAgIHZvaWQgcGFpbnRTcGluQnV0dG9u
KENvbnRyb2xTdGF0ZXMmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBib29s
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3
YWl0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNw
cAppbmRleCA4ZWRlMDg2NjBmYzY2OGRmOGQ5MTQ1NzE4NGMyN2FlYWQyYWU2OGUzLi45YzNjM2Fm
YjY2NzI3YzM5MDdhMTViMjQzOGI1OWUyMTZhOWQ5OTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcApAQCAtOTMsMTEgKzkzLDIwIEBAIHN0
YXRpYyBjb25zdGV4cHIgYXV0byBidXR0b25UZXh0RGlzYWJsZWRDb2xvckxpZ2h0ID0gU1JHQkE8
dWludDhfdD4geyAwLCAwLCAwLCAxCiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uVGV4dENv
bG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSB9Owogc3RhdGljIGNvbnN0
ZXhwciBhdXRvIGJ1dHRvblRleHREaXNhYmxlZENvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsg
MjU1LCAyNTUsIDI1NSwgMTI3IH07CiAKLXN0YXRpYyBpbmxpbmUgQ29sb3IgZ2V0QWNjZW50Q29s
b3IoKQorc3RhdGljIGlubGluZSBDb2xvciBnZXRTeXN0ZW1BY2NlbnRDb2xvcigpCiB7CiAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PFRoZW1lQWR3YWl0YSY+KFRoZW1lOjpzaW5nbGV0b24oKSkuYWNj
ZW50Q29sb3IoKTsKIH0KIAorc3RhdGljIGlubGluZSBDb2xvciBnZXRBY2NlbnRDb2xvcihjb25z
dCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCkKK3sKKyAgICBhdXRvIGFjY2VudENvbG9yID0g
cmVuZGVyT2JqZWN0LnN0eWxlKCkuZWZmZWN0aXZlQWNjZW50Q29sb3IoKTsKKyAgICBpZiAoYWNj
ZW50Q29sb3IuaXNWYWxpZCgpKQorICAgICAgICByZXR1cm4gYWNjZW50Q29sb3I7CisKKyAgICBy
ZXR1cm4gZ2V0U3lzdGVtQWNjZW50Q29sb3IoKTsKK30KKwogI2lmICFQTEFURk9STShHVEspCiBS
ZW5kZXJUaGVtZSYgUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpCiB7CkBAIC0xMzQsNyArMTQzLDcg
QEAgYm9vbCBSZW5kZXJUaGVtZUFkd2FpdGE6OnNob3VsZEhhdmVDYXBzTG9ja0luZGljYXRvcihj
b25zdCBIVE1MSW5wdXRFbGVtZW50JiBlbGUKIAogQ29sb3IgUmVuZGVyVGhlbWVBZHdhaXRhOjpw
bGF0Zm9ybUFjdGl2ZVNlbGVjdGlvbkJhY2tncm91bmRDb2xvcihPcHRpb25TZXQ8U3R5bGVDb2xv
ck9wdGlvbnM+KSBjb25zdAogewotICAgIHJldHVybiBnZXRBY2NlbnRDb2xvcigpLmNvbG9yV2l0
aEFscGhhTXVsdGlwbGllZEJ5KDAuMyk7CisgICAgcmV0dXJuIGdldFN5c3RlbUFjY2VudENvbG9y
KCkuY29sb3JXaXRoQWxwaGFNdWx0aXBsaWVkQnkoMC4zKTsKIH0KIAogQ29sb3IgUmVuZGVyVGhl
bWVBZHdhaXRhOjpwbGF0Zm9ybUluYWN0aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKE9wdGlv
blNldDxTdHlsZUNvbG9yT3B0aW9ucz4gb3B0aW9ucykgY29uc3QKQEAgLTI4NCw3ICsyOTMsNyBA
QCBib29sIFJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRUZXh0RmllbGQoY29uc3QgUmVuZGVyT2Jq
ZWN0JiByZW5kZXJPYmplY3QsIGNvbnN0CiAgICAgcGF0aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJl
Y3QsIGNvcm5lcik7CiAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpF
dmVuT2RkKTsKICAgICBpZiAoZW5hYmxlZCAmJiBpc0ZvY3VzZWQocmVuZGVyT2JqZWN0KSkKLSAg
ICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihnZXRBY2NlbnRDb2xvcigpKTsKKyAg
ICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihnZXRBY2NlbnRDb2xvcihyZW5kZXJP
YmplY3QpKTsKICAgICBlbHNlCiAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3Io
dGV4dEZpZWxkQm9yZGVyQ29sb3IpOwogICAgIGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChwYXRo
KTsKQEAgLTQ3MSw3ICs0ODAsOCBAQCBib29sIFJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRQcm9n
cmVzc0Jhcihjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29ucwogCiAgICAgcGF0
aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJlY3QsIGNvcm5lcik7CiAgICAgZ3JhcGhpY3NDb250ZXh0
LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0
RmlsbENvbG9yKGdldEFjY2VudENvbG9yKCkpOworCisgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZp
bGxDb2xvcihnZXRBY2NlbnRDb2xvcihyZW5kZXJPYmplY3QpKTsKICAgICBncmFwaGljc0NvbnRl
eHQuZmlsbFBhdGgocGF0aCk7CiAKICAgICByZXR1cm4gZmFsc2U7CkBAIC01NDAsNyArNTUwLDcg
QEAgYm9vbCBSZW5kZXJUaGVtZUFkd2FpdGE6OnBhaW50U2xpZGVyVHJhY2soY29uc3QgUmVuZGVy
T2JqZWN0JiByZW5kZXJPYmplY3QsIGNvbnMKIAogICAgIHBhdGguYWRkUm91bmRlZFJlY3QoRmxv
YXRSb3VuZGVkUmVjdChyYW5nZVJlY3QsIGNvcm5lcnMpKTsKICAgICBncmFwaGljc0NvbnRleHQu
c2V0RmlsbFJ1bGUoV2luZFJ1bGU6Ok5vblplcm8pOwotICAgIGdyYXBoaWNzQ29udGV4dC5zZXRG
aWxsQ29sb3IoZ2V0QWNjZW50Q29sb3IoKSk7CisgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxD
b2xvcihnZXRBY2NlbnRDb2xvcihyZW5kZXJPYmplY3QpKTsKICAgICBncmFwaGljc0NvbnRleHQu
ZmlsbFBhdGgocGF0aCk7CiAKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKQEAgLTU5Nyw3
ICs2MDcsNyBAQCBib29sIFJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRTbGlkZXJUaHVtYihjb25z
dCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29ucwogICAgIHBhdGguYWRkRWxsaXBzZShm
aWVsZFJlY3QpOwogICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsUnVsZShXaW5kUnVsZTo6RXZl
bk9kZCk7CiAgICAgaWYgKGlzRW5hYmxlZChyZW5kZXJPYmplY3QpICYmIGlzUHJlc3NlZChyZW5k
ZXJPYmplY3QpKQotICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFjY2Vu
dENvbG9yKCkpOworICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFjY2Vu
dENvbG9yKHJlbmRlck9iamVjdCkpOwogICAgIGVsc2UKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0
LnNldEZpbGxDb2xvcihzbGlkZXJUaHVtYkJvcmRlckNvbG9yKTsKICAgICBncmFwaGljc0NvbnRl
eHQuZmlsbFBhdGgocGF0aCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDY3NGRiODk2MjA2ODI3YjI3MDAwZTJiODJkMGE5
Y2ExZjQwNzNlMC4uZmI5OGI0MjQ4MjAxMmRlOThlYzBmNWFkZjZlYzM1NjcyNjE5MzhjYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDIyLTAzLTI1ICBBbGV4YW5kZXIgTWlraGF5bGVua28gIDxh
bGV4bUBnbm9tZS5vcmc+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0IENTUyBhY2NlbnQt
Y29sb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
ODM5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6IEVuYWJsZSBhY2NlbnQtY29sb3IgdGVzdHMg
Zm9yIEdUSy4KKwogMjAyMi0wMy0yNSAgQWxleGFuZGVyIE1pa2hheWxlbmtvICA8YWxleG1AZ25v
bWUub3JnPgogCiAgICAgICAgIFtHVEtdW1dQRV0gVXBkYXRlIHdpZGdldCBzdHlsZSB0byBtYXRj
aCBsaWJhZHdhaXRhCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDRkYjQ3YTQzMDU0MmVlYmRkNjVhNTgxOWViNWM0NmI5MTQwYmIxODEuLjkwNTQ0NzAxZTli
NzU2ZDFmYjYzMTAzOTc3NWRjZGI5NzQxM2M1MWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMSw2ICszMSwxNCBAQCBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvdDQyNS1oc2xhLW9uc2NyZWVuLW11bHRpcGxlLWJv
eGVzLQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJl
ZGRlZC1jb250ZW50L3RoZS1lbWJlZC1lbGVtZW50L2VtYmVkLXJlcHJlc2VudC1ub3RoaW5nLTAy
Lmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtYXJlYS1lbGVtZW50L2FyZWEtY29vcmRzLmh0bWwg
WyBQYXNzIF0KIAorZmFzdC9jc3MvYWNjZW50LWNvbG9yL2NoZWNrYm94Lmh0bWwgWyBQYXNzIF0K
K2Zhc3QvY3NzL2FjY2VudC1jb2xvci9wcm9ncmVzcy5odG1sIFsgUGFzcyBdCitmYXN0L2Nzcy9h
Y2NlbnQtY29sb3IvcmFkaW8uaHRtbCBbIFBhc3MgXQorZmFzdC9jc3MvYWNjZW50LWNvbG9yL3Jh
bmdlLmh0bWwgWyBQYXNzIF0KK2Zhc3QvY3NzL2FjY2VudC1jb2xvci9zZWxlY3QuaHRtbCBbIFBh
c3MgXQorZmFzdC9jc3MvYWNjZW50LWNvbG9yL3RleHQuaHRtbCBbIFBhc3MgXQoraW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXVpL2FjY2VudC1jb2xvci1jaGVja2JveC1j
aGVja2VkLTAwMS50ZW50YXRpdmUuaHRtbCBbIFBhc3MgXQorCiAjIFNvbWUgQXBwbGUgcG9ydHMg
ZG9uJ3Qgc3VwcG9ydCBSVEwgc2Nyb2xsYmFycy4KIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWFsdGVybmF0ZS1ib2R5LWRpci1hdHRyLWRvZXMtbm90LXVwZGF0ZS1zY3JvbGxiYXItcGxh
Y2VtZW50Lmh0bWwgWyBQYXNzIF0KIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFt
ZS1zY3JvbGxlZC5odG1sIFsgUGFzcyBdCg==
</data>
<flag name="commit-queue"
          id="483941"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455843</attachid>
            <date>2022-03-26 06:13:23 -0700</date>
            <delta_ts>2022-03-26 07:34:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238398-20220326171326.patch</filename>
            <type>text/plain</type>
            <size>22154</size>
            <attacher name="Alice Mikhaylenko">alicem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZkMGY0OTkwMmU5ZDUxOTgzZWYyM2Ey
YmRhMTJiZWEwZGNhNGFmMGIuLmVlNDgyNjFjZTc0YmRjMjQzOTk4ZDU0ZjI3MDg1OTVjYmM3OTNl
NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDMtMjUgIEFsZXhhbmRlciBNaWtoYXlsZW5r
byAgPGFsZXhtQGdub21lLm9yZz4KKworICAgICAgICBbR1RLXVtXUEVdIFN1cHBvcnQgQ1NTIGFj
Y2VudC1jb2xvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM4Mzk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWw6
IEVuYWJsZSBhY2NlbnQtY29sb3IgZm9yIEdUSyBhbmQgV1BFLgorCiAyMDIyLTAzLTIzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSW5saW5lIFN0cmluZyhBU0NJ
SUxpdGVyYWwpIGNvbnN0cnVjdG9yIHNvIHRoZSBjb21waWxlciBjYW4gb3B0aW1pemUgb3V0IHN0
cmxlbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggMGU2NWE1MDZjMTkwNzc3NzhkZjIzNWZiYTkwY2U1Zjc0Y2Uw
ZGE0My4uNTIwMTgwYTgzMDEwYzI2ZGY0NTc3ZTc4NjkxZTJmMzdkNTdmYTQxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAzLTI1ICBBbGV4YW5kZXIgTWlraGF5bGVua28gIDxh
bGV4bUBnbm9tZS5vcmc+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0IENTUyBhY2NlbnQt
Y29sb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
ODM5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBhY2NlbnQtY29sb3Igc3VwcG9ydCBmb3IgcHJvZ3Jlc3MsIHJhbmdlIGFuZCBlbnRyaWVzLgor
ICAgICAgICBVcGRhdGUgY2hlY2sgYW5kIHJhZGlvIHN0eWxlcyBzbyB0aGF0IHRoZXkgY2FuIHVz
ZSBhY2NlbnQgY29sb3IgYXMgd2VsbC4KKworICAgICAgICAqIHBsYXRmb3JtL2Fkd2FpdGEvVGhl
bWVBZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lQWR3YWl0YTo6cGFpbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6VGhlbWVBZHdhaXRhOjpwYWludENoZWNrYm94KToKKyAgICAgICAg
KFdlYkNvcmU6OlRoZW1lQWR3YWl0YTo6cGFpbnRSYWRpbyk6CisgICAgICAgICogcGxhdGZvcm0v
YWR3YWl0YS9UaGVtZUFkd2FpdGEuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVB
ZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldFN5c3RlbUFjY2VudENvbG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OmdldEFjY2VudENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lQWR3YWl0YTo6cGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpwYWludFRleHRGaWVs
ZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OnBhaW50UHJvZ3Jlc3NC
YXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpwYWludFNsaWRlclRy
YWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRTbGlkZXJU
aHVtYik6CisKIDIwMjItMDMtMjUgIEFsZXhhbmRlciBNaWtoYXlsZW5rbyAgPGFsZXhtQGdub21l
Lm9yZz4KIAogICAgICAgICBbR1RLXVtXUEVdIFVwZGF0ZSB3aWRnZXQgc3R5bGUgdG8gbWF0Y2gg
bGliYWR3YWl0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dl
YlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVy
ZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRleCAyZWM3YjQwZjI0NzFi
ZWZjM2RiODI5MDFiZmYwNTA3NDA0ZmE4OTllLi5lZTk5NGVlZmExNzA0NTk1Zjc3Y2Q4MjNhNjcy
MzlhZjBmMDc4ZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMv
V2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMv
UHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApAQCAtMzUsMTAgKzM1
LDEwIEBAIEFjY2VudENvbG9yRW5hYmxlZDoKICAgICAgICJQTEFURk9STShDT0NPQSkiIDogdHJ1
ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJLaXQ6Ci0gICAgICAiUExBVEZPUk0oQ09D
T0EpIiA6IHRydWUKKyAgICAgICJQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQ
TEFURk9STShXUEUpIjogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJDb3JlOgot
ICAgICAgIlBMQVRGT1JNKENPQ09BKSIgOiB0cnVlCisgICAgICAiUExBVEZPUk0oQ09DT0EpIHx8
IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKSI6IHRydWUKICAgICAgIGRlZmF1bHQ6IGZh
bHNlCiAKIEFjY2Vzc0hhbmRsZUVuYWJsZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5jcHAKaW5kZXggMmZkNjJhZWE2NGMxYTgyNGIwMDY3YjI0
YzBjN2JkNGU2N2QwYTU5MC4uNWVmYjM3NzkzMjYxNTRmMDY1Y2UxMTg0MjhlYjNmY2YwZGJiZGJm
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFkd2Fp
dGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fkd2FpdGEvVGhlbWVBZHdhaXRh
LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlRoZW1lQWR3YWl0YS5oIgogCiAjaW5j
bHVkZSAiQ29sb3IuaCIKKyNpbmNsdWRlICJDb2xvckJsZW5kaW5nLmgiCiAjaW5jbHVkZSAiQ29u
dHJvbFN0YXRlcy5oIgogI2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIKICNpbmNsdWRlICJH
cmFwaGljc0NvbnRleHQuaCIKQEAgLTUwLDI2ICs1MSwyNSBAQCBzdGF0aWMgY29uc3RleHByIGF1
dG8gYnV0dG9uQm9yZGVyQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMCwgMCwgMCwgNTAg
fTsKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBidXR0b25CYWNrZ3JvdW5kQ29sb3JMaWdodCA9IFNS
R0JBPHVpbnQ4X3Q+IHsgMjQ0LCAyNDQsIDI0NCB9Owogc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1
dHRvbkJhY2tncm91bmRQcmVzc2VkQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjE0LCAy
MTQsIDIxNCB9Owogc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1dHRvbkJhY2tncm91bmRIb3ZlcmVk
Q29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjQ4LCAyNDgsIDI0OCB9Owotc3RhdGljIGNv
bnN0ZXhwciBhdXRvIHRvZ2dsZUJhY2tncm91bmRDb2xvckxpZ2h0ID0gQ29sb3I6OndoaXRlOwot
c3RhdGljIGNvbnN0ZXhwciBhdXRvIHRvZ2dsZUJhY2tncm91bmRIb3ZlcmVkQ29sb3JMaWdodCA9
IFNSR0JBPHVpbnQ4X3Q+IHsgMjE0LCAyMTQsIDIxNCB9Oworc3RhdGljIGNvbnN0ZXhwciBhdXRv
IHRvZ2dsZUJvcmRlckNvbG9yTGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDUwIH07
CitzdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yTGlnaHQgPSBT
UkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDgwIH07CiAKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBi
dXR0b25Cb3JkZXJDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDI1NSwgMjU1LCAyNTUsIDUw
IH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uQmFja2dyb3VuZENvbG9yRGFyayA9IFNS
R0JBPHVpbnQ4X3Q+IHsgNTIsIDUyLCA1MiB9Owogc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1dHRv
bkJhY2tncm91bmRQcmVzc2VkQ29sb3JEYXJrID0gU1JHQkE8dWludDhfdD4geyAzMCwgMzAsIDMw
IH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uQmFja2dyb3VuZEhvdmVyZWRDb2xvckRh
cmsgPSBTUkdCQTx1aW50OF90PiB7IDYwLCA2MCwgNjAgfTsKLXN0YXRpYyBjb25zdGV4cHIgYXV0
byB0b2dnbGVCYWNrZ3JvdW5kQ29sb3JEYXJrID0gU1JHQkE8dWludDhfdD4geyA0NSwgNDUsIDQ1
IH07Ci1zdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvckRh
cmsgPSBTUkdCQTx1aW50OF90PiB7IDYwLCA2MCwgNjAgfTsKK3N0YXRpYyBjb25zdGV4cHIgYXV0
byB0b2dnbGVCb3JkZXJDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDI1NSwgMjU1LCAyNTUs
IDUwIH07CitzdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yRGFy
ayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgODAgfTsKIAogc3RhdGljIGNvbnN0
IGRvdWJsZSB0b2dnbGVTaXplID0gMTQuOworc3RhdGljIGNvbnN0IGludCB0b2dnbGVCb3JkZXJT
aXplID0gMjsKIHN0YXRpYyBjb25zdCBpbnQgdG9nZ2xlRm9jdXNPZmZzZXQgPSAyOwogCi1zdGF0
aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMCwg
MCwgMCwgMjAwIH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gc3BpbkJ1dHRvbkJvcmRlckNvbG9y
TGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDI1IH07CiBzdGF0aWMgY29uc3RleHBy
IGF1dG8gc3BpbkJ1dHRvbkJhY2tncm91bmRDb2xvckxpZ2h0ID0gQ29sb3I6OndoaXRlOwogc3Rh
dGljIGNvbnN0ZXhwciBhdXRvIHNwaW5CdXR0b25CYWNrZ3JvdW5kSG92ZXJlZENvbG9yTGlnaHQg
PSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDUwIH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8g
c3BpbkJ1dHRvbkJhY2tncm91bmRQcmVzc2VkQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsg
MCwgMCwgMCwgNzAgfTsKIAotc3RhdGljIGNvbnN0ZXhwciBhdXRvIHRvZ2dsZUNvbG9yRGFyayA9
IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgMjAwIH07CiBzdGF0aWMgY29uc3RleHBy
IGF1dG8gc3BpbkJ1dHRvbkJvcmRlckNvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAy
NTUsIDI1NSwgMjUgfTsKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBzcGluQnV0dG9uQmFja2dyb3Vu
ZENvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgNDUsIDQ1LCA0NSB9Owogc3RhdGljIGNvbnN0
ZXhwciBhdXRvIHNwaW5CdXR0b25CYWNrZ3JvdW5kSG92ZXJlZENvbG9yRGFyayA9IFNSR0JBPHVp
bnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgNTAgfTsKQEAgLTIwMSwxNCArMjAxLDE0IEBAIExlbmd0
aEJveCBUaGVtZUFkd2FpdGE6OmNvbnRyb2xCb3JkZXIoQ29udHJvbFBhcnQgcGFydCwgY29uc3Qg
Rm9udENhc2NhZGUmIGZvbnQsCiAgICAgcmV0dXJuIFRoZW1lOjpjb250cm9sQm9yZGVyKHBhcnQs
IGZvbnQsIHpvb21lZEJveCwgem9vbUZhY3Rvcik7CiB9CiAKLXZvaWQgVGhlbWVBZHdhaXRhOjpw
YWludChDb250cm9sUGFydCBwYXJ0LCBDb250cm9sU3RhdGVzJiBzdGF0ZXMsIEdyYXBoaWNzQ29u
dGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBmbG9hdCwgU2Nyb2xs
VmlldyosIGZsb2F0LCBmbG9hdCwgYm9vbCwgYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSwgY29uc3Qg
Q29sb3ImKQordm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50KENvbnRyb2xQYXJ0IHBhcnQsIENvbnRy
b2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJl
Y3QmIHpvb21lZFJlY3QsIGZsb2F0LCBTY3JvbGxWaWV3KiwgZmxvYXQsIGZsb2F0LCBib29sLCBi
b29sIHVzZURhcmtBcHBlYXJhbmNlLCBjb25zdCBDb2xvciYgZWZmZWN0aXZlQWNjZW50Q29sb3Ip
CiB7CiAgICAgc3dpdGNoIChwYXJ0KSB7CiAgICAgY2FzZSBDaGVja2JveFBhcnQ6Ci0gICAgICAg
IHBhaW50Q2hlY2tib3goc3RhdGVzLCBjb250ZXh0LCB6b29tZWRSZWN0LCB1c2VEYXJrQXBwZWFy
YW5jZSk7CisgICAgICAgIHBhaW50Q2hlY2tib3goc3RhdGVzLCBjb250ZXh0LCB6b29tZWRSZWN0
LCB1c2VEYXJrQXBwZWFyYW5jZSwgZWZmZWN0aXZlQWNjZW50Q29sb3IpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFJhZGlvUGFydDoKLSAgICAgICAgcGFpbnRSYWRpbyhzdGF0ZXMsIGNvbnRl
eHQsIHpvb21lZFJlY3QsIHVzZURhcmtBcHBlYXJhbmNlKTsKKyAgICAgICAgcGFpbnRSYWRpbyhz
dGF0ZXMsIGNvbnRleHQsIHpvb21lZFJlY3QsIHVzZURhcmtBcHBlYXJhbmNlLCBlZmZlY3RpdmVB
Y2NlbnRDb2xvcik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUHVzaEJ1dHRvblBhcnQ6CiAg
ICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoKQEAgLTIyNCw3ICsyMjQsNyBAQCB2b2lkIFRoZW1l
QWR3YWl0YTo6cGFpbnQoQ29udHJvbFBhcnQgcGFydCwgQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBH
cmFwaGljc0NvbnRleAogICAgIH0KIH0KIAotdm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50Q2hlY2ti
b3goQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4
dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBib29sIHVzZURhcmtBcHBlYXJhbmNlKQor
dm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50Q2hlY2tib3goQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBH
cmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRS
ZWN0LCBib29sIHVzZURhcmtBcHBlYXJhbmNlLCBjb25zdCBDb2xvciYgZWZmZWN0aXZlQWNjZW50
Q29sb3IpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGdyYXBo
aWNzQ29udGV4dCk7CiAKQEAgLTIzOCw0OCArMjM4LDM4IEBAIHZvaWQgVGhlbWVBZHdhaXRhOjpw
YWludENoZWNrYm94KENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBncmFw
aGljCiAgICAgICAgICAgICBmaWVsZFJlY3QubW92ZSgwLCAoem9vbWVkUmVjdC5oZWlnaHQoKSAt
IGZpZWxkUmVjdC5oZWlnaHQoKSkgLyAyLjApOwogICAgIH0KIAotICAgIFNSR0JBPHVpbnQ4X3Q+
IGJ1dHRvbkJvcmRlckNvbG9yOwotICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUJhY2tncm91bmRD
b2xvcjsKLSAgICBTUkdCQTx1aW50OF90PiB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yOwot
ICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUNvbG9yOworICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2ds
ZUJvcmRlckNvbG9yOworICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUJvcmRlckhvdmVyQ29sb3I7
CiAKICAgICBpZiAodXNlRGFya0FwcGVhcmFuY2UpIHsKLSAgICAgICAgYnV0dG9uQm9yZGVyQ29s
b3IgPSBidXR0b25Cb3JkZXJDb2xvckRhcms7Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRDb2xv
ciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckRhcms7Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRI
b3ZlcmVkQ29sb3IgPSB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yRGFyazsKLSAgICAgICAg
dG9nZ2xlQ29sb3IgPSB0b2dnbGVDb2xvckRhcms7CisgICAgICAgIHRvZ2dsZUJvcmRlckNvbG9y
ID0gdG9nZ2xlQm9yZGVyQ29sb3JEYXJrOworICAgICAgICB0b2dnbGVCb3JkZXJIb3ZlckNvbG9y
ID0gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yRGFyazsKICAgICB9IGVsc2UgewotICAgICAgICBi
dXR0b25Cb3JkZXJDb2xvciA9IGJ1dHRvbkJvcmRlckNvbG9yTGlnaHQ7Ci0gICAgICAgIHRvZ2ds
ZUJhY2tncm91bmRDb2xvciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckxpZ2h0OwotICAgICAgICB0
b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yID0gdG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xv
ckxpZ2h0OwotICAgICAgICB0b2dnbGVDb2xvciA9IHRvZ2dsZUNvbG9yTGlnaHQ7CisgICAgICAg
IHRvZ2dsZUJvcmRlckNvbG9yID0gdG9nZ2xlQm9yZGVyQ29sb3JMaWdodDsKKyAgICAgICAgdG9n
Z2xlQm9yZGVySG92ZXJDb2xvciA9IHRvZ2dsZUJvcmRlckhvdmVyZWRDb2xvckxpZ2h0OwogICAg
IH0KIAorICAgIENvbG9yIGFjY2VudENvbG9yID0gZWZmZWN0aXZlQWNjZW50Q29sb3IuaXNWYWxp
ZCgpID8gZWZmZWN0aXZlQWNjZW50Q29sb3IgOiBtX2FjY2VudENvbG9yOworICAgIENvbG9yIGZv
cmVncm91bmRDb2xvciA9IGFjY2VudENvbG9yLmx1bWluYW5jZSgpID4gMC41ID8gQ29sb3IoU1JH
QkE8dWludDhfdD4geyAwLCAwLCAwLCAyMDQgfSkgOiBDb2xvcjo6d2hpdGU7CisgICAgQ29sb3Ig
YWNjZW50SG92ZXJDb2xvciA9IGJsZW5kU291cmNlT3ZlcihhY2NlbnRDb2xvciwgZm9yZWdyb3Vu
ZENvbG9yLmNvbG9yV2l0aEFscGhhTXVsdGlwbGllZEJ5KDAuMSkpOworCiAgICAgaWYgKCFzdGF0
ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKICAg
ICAgICAgZ3JhcGhpY3NDb250ZXh0LmJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIoZGlzYWJsZWRPcGFj
aXR5KTsKIAogICAgIEZsb2F0U2l6ZSBjb3JuZXIoMiwgMik7CiAgICAgUGF0aCBwYXRoOwotICAg
IHBhdGguYWRkUm91bmRlZFJlY3QoZmllbGRSZWN0LCBjb3JuZXIpOwotICAgIGZpZWxkUmVjdC5p
bmZsYXRlKC1idXR0b25Cb3JkZXJTaXplKTsKLSAgICBjb3JuZXIuZXhwYW5kKC1idXR0b25Cb3Jk
ZXJTaXplLCAtYnV0dG9uQm9yZGVyU2l6ZSk7Ci0gICAgcGF0aC5hZGRSb3VuZGVkUmVjdChmaWVs
ZFJlY3QsIGNvcm5lcik7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxl
OjpFdmVuT2RkKTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGJ1dHRvbkJvcmRl
ckNvbG9yKTsKLSAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7Ci0gICAgcGF0aC5j
bGVhcigpOwotCi0gICAgcGF0aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJlY3QsIGNvcm5lcik7Ci0g
ICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKLSAgICBp
ZiAoc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6SG92ZXJl
ZCkKLSAgICAgICAgJiYgc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0
YXRlczo6RW5hYmxlZCkpCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IodG9n
Z2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvcik7Ci0gICAgZWxzZQotICAgICAgICBncmFwaGljc0Nv
bnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJhY2tncm91bmRDb2xvcik7Ci0gICAgZ3JhcGhpY3ND
b250ZXh0LmZpbGxQYXRoKHBhdGgpOwotICAgIHBhdGguY2xlYXIoKTsKIAogICAgIGlmIChzdGF0
ZXMuc3RhdGVzKCkuY29udGFpbnNBbnkoeyBDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkNoZWNrZWQs
IENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6SW5kZXRlcm1pbmF0ZSB9KSkgeworICAgICAgICBwYXRo
LmFkZFJvdW5kZWRSZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKKyAgICAgICAgZ3JhcGhpY3NDb250
ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKKyAgICAgICAgaWYgKHN0YXRlcy5z
dGF0ZXMoKS5jb250YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkhvdmVyZWQpCisgICAgICAg
ICAgICAmJiBzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpF
bmFibGVkKSkKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoYWNjZW50
SG92ZXJDb2xvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5z
ZXRGaWxsQ29sb3IoYWNjZW50Q29sb3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBh
dGgocGF0aCk7CisgICAgICAgIHBhdGguY2xlYXIoKTsKKwogICAgICAgICBHcmFwaGljc0NvbnRl
eHRTdGF0ZVNhdmVyIGNoZWNrZWRTdGF0ZVNhdmVyKGdyYXBoaWNzQ29udGV4dCk7CiAgICAgICAg
IGdyYXBoaWNzQ29udGV4dC50cmFuc2xhdGUoZmllbGRSZWN0LngoKSwgZmllbGRSZWN0LnkoKSk7
CiAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zY2FsZShGbG9hdFNpemU6Om5hcnJvd1ByZWNpc2lv
bihmaWVsZFJlY3Qud2lkdGgoKSAvIHRvZ2dsZVNpemUsIGZpZWxkUmVjdC5oZWlnaHQoKSAvIHRv
Z2dsZVNpemUpKTsKQEAgLTI5NCwxMCArMjg0LDIzIEBAIHZvaWQgVGhlbWVBZHdhaXRhOjpwYWlu
dENoZWNrYm94KENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBncmFwaGlj
CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgcGF0aC5hZGRSb3VuZGVkUmVjdChGbG9hdFJl
Y3QoMiwgNSwgMTAsIDQpLCBjb3JuZXIpOwogCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRG
aWxsQ29sb3IodG9nZ2xlQ29sb3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENv
bG9yKGZvcmVncm91bmRDb2xvcik7CiAKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxQYXRo
KHBhdGgpOwogICAgICAgICBwYXRoLmNsZWFyKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcGF0
aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJlY3QsIGNvcm5lcik7CisgICAgICAgIGZpZWxkUmVjdC5p
bmZsYXRlKC10b2dnbGVCb3JkZXJTaXplKTsKKyAgICAgICAgY29ybmVyLmV4cGFuZCgtYnV0dG9u
Qm9yZGVyU2l6ZSwgLWJ1dHRvbkJvcmRlclNpemUpOworICAgICAgICBwYXRoLmFkZFJvdW5kZWRS
ZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxS
dWxlKFdpbmRSdWxlOjpFdmVuT2RkKTsKKyAgICAgICAgaWYgKHN0YXRlcy5zdGF0ZXMoKS5jb250
YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkhvdmVyZWQpCisgICAgICAgICAgICAmJiBzdGF0
ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKKyAg
ICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IodG9nZ2xlQm9yZGVySG92ZXJD
b2xvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxs
Q29sb3IodG9nZ2xlQm9yZGVyQ29sb3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBh
dGgocGF0aCk7CisgICAgICAgIHBhdGguY2xlYXIoKTsKICAgICB9CiAKICAgICBpZiAoc3RhdGVz
LnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6Rm9jdXNlZCkpCkBAIC0z
MDcsNyArMzEwLDcgQEAgdm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50Q2hlY2tib3goQ29udHJvbFN0
YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWMKICAgICAgICAgZ3JhcGhpY3ND
b250ZXh0LmVuZFRyYW5zcGFyZW5jeUxheWVyKCk7CiB9CiAKLXZvaWQgVGhlbWVBZHdhaXRhOjpw
YWludFJhZGlvKENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBncmFwaGlj
c0NvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgem9vbWVkUmVjdCwgYm9vbCB1c2VEYXJrQXBwZWFy
YW5jZSkKK3ZvaWQgVGhlbWVBZHdhaXRhOjpwYWludFJhZGlvKENvbnRyb2xTdGF0ZXMmIHN0YXRl
cywgR3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgem9v
bWVkUmVjdCwgYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSwgY29uc3QgQ29sb3ImIGVmZmVjdGl2ZUFj
Y2VudENvbG9yKQogewogICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihn
cmFwaGljc0NvbnRleHQpOwogICAgIEZsb2F0UmVjdCBmaWVsZFJlY3QgPSB6b29tZWRSZWN0OwpA
QCAtMzIwLDUwICszMjMsNTMgQEAgdm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50UmFkaW8oQ29udHJv
bFN0YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ28KICAgICAgICAgICAg
IGZpZWxkUmVjdC5tb3ZlKDAsICh6b29tZWRSZWN0LmhlaWdodCgpIC0gZmllbGRSZWN0LmhlaWdo
dCgpKSAvIDIuMCk7CiAgICAgfQogCi0gICAgU1JHQkE8dWludDhfdD4gYnV0dG9uQm9yZGVyQ29s
b3I7Ci0gICAgU1JHQkE8dWludDhfdD4gdG9nZ2xlQmFja2dyb3VuZENvbG9yOwotICAgIFNSR0JB
PHVpbnQ4X3Q+IHRvZ2dsZUJhY2tncm91bmRIb3ZlcmVkQ29sb3I7Ci0gICAgU1JHQkE8dWludDhf
dD4gdG9nZ2xlQ29sb3I7CisgICAgU1JHQkE8dWludDhfdD4gdG9nZ2xlQm9yZGVyQ29sb3I7Cisg
ICAgU1JHQkE8dWludDhfdD4gdG9nZ2xlQm9yZGVySG92ZXJDb2xvcjsKIAogICAgIGlmICh1c2VE
YXJrQXBwZWFyYW5jZSkgewotICAgICAgICBidXR0b25Cb3JkZXJDb2xvciA9IGJ1dHRvbkJvcmRl
ckNvbG9yRGFyazsKLSAgICAgICAgdG9nZ2xlQmFja2dyb3VuZENvbG9yID0gdG9nZ2xlQmFja2dy
b3VuZENvbG9yRGFyazsKLSAgICAgICAgdG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvciA9IHRv
Z2dsZUJhY2tncm91bmRIb3ZlcmVkQ29sb3JEYXJrOwotICAgICAgICB0b2dnbGVDb2xvciA9IHRv
Z2dsZUNvbG9yRGFyazsKKyAgICAgICAgdG9nZ2xlQm9yZGVyQ29sb3IgPSB0b2dnbGVCb3JkZXJD
b2xvckRhcms7CisgICAgICAgIHRvZ2dsZUJvcmRlckhvdmVyQ29sb3IgPSB0b2dnbGVCb3JkZXJI
b3ZlcmVkQ29sb3JEYXJrOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGJ1dHRvbkJvcmRlckNvbG9y
ID0gYnV0dG9uQm9yZGVyQ29sb3JMaWdodDsKLSAgICAgICAgdG9nZ2xlQmFja2dyb3VuZENvbG9y
ID0gdG9nZ2xlQmFja2dyb3VuZENvbG9yTGlnaHQ7Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRI
b3ZlcmVkQ29sb3IgPSB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yTGlnaHQ7Ci0gICAgICAg
IHRvZ2dsZUNvbG9yID0gdG9nZ2xlQ29sb3JMaWdodDsKKyAgICAgICAgdG9nZ2xlQm9yZGVyQ29s
b3IgPSB0b2dnbGVCb3JkZXJDb2xvckxpZ2h0OworICAgICAgICB0b2dnbGVCb3JkZXJIb3ZlckNv
bG9yID0gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yTGlnaHQ7CiAgICAgfQogCisgICAgQ29sb3Ig
YWNjZW50Q29sb3IgPSBlZmZlY3RpdmVBY2NlbnRDb2xvci5pc1ZhbGlkKCkgPyBlZmZlY3RpdmVB
Y2NlbnRDb2xvciA6IG1fYWNjZW50Q29sb3I7CisgICAgQ29sb3IgZm9yZWdyb3VuZENvbG9yID0g
YWNjZW50Q29sb3IubHVtaW5hbmNlKCkgPiAwLjUgPyBDb2xvcihTUkdCQTx1aW50OF90PiB7IDAs
IDAsIDAsIDIwNCB9KSA6IENvbG9yOjp3aGl0ZTsKKyAgICBDb2xvciBhY2NlbnRIb3ZlckNvbG9y
ID0gYmxlbmRTb3VyY2VPdmVyKGFjY2VudENvbG9yLCBmb3JlZ3JvdW5kQ29sb3IuY29sb3JXaXRo
QWxwaGFNdWx0aXBsaWVkQnkoMC4xKSk7CisKICAgICBpZiAoIXN0YXRlcy5zdGF0ZXMoKS5jb250
YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkVuYWJsZWQpKQogICAgICAgICBncmFwaGljc0Nv
bnRleHQuYmVnaW5UcmFuc3BhcmVuY3lMYXllcihkaXNhYmxlZE9wYWNpdHkpOwogCiAgICAgUGF0
aCBwYXRoOwotICAgIHBhdGguYWRkRWxsaXBzZShmaWVsZFJlY3QpOwotICAgIGZpZWxkUmVjdC5p
bmZsYXRlKC1idXR0b25Cb3JkZXJTaXplKTsKLSAgICBwYXRoLmFkZEVsbGlwc2UoZmllbGRSZWN0
KTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbFJ1bGUoV2luZFJ1bGU6OkV2ZW5PZGQpOwot
ICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoYnV0dG9uQm9yZGVyQ29sb3IpOwotICAg
IGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChwYXRoKTsKLSAgICBwYXRoLmNsZWFyKCk7CiAKLSAg
ICBwYXRoLmFkZEVsbGlwc2UoZmllbGRSZWN0KTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0Rmls
bFJ1bGUoV2luZFJ1bGU6Ok5vblplcm8pOwotICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFp
bnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpIb3ZlcmVkKQotICAgICAgICAmJiBzdGF0ZXMuc3Rh
dGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKLSAgICAgICAg
Z3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcih0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9y
KTsKLSAgICBlbHNlCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IodG9nZ2xl
QmFja2dyb3VuZENvbG9yKTsKLSAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7Ci0g
ICAgcGF0aC5jbGVhcigpOworICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnNBbnkoeyBD
b250cm9sU3RhdGVzOjpTdGF0ZXM6OkNoZWNrZWQsIENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6SW5k
ZXRlcm1pbmF0ZSB9KSkgeworICAgICAgICBwYXRoLmFkZEVsbGlwc2UoZmllbGRSZWN0KTsKKyAg
ICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKKyAg
ICAgICAgaWYgKHN0YXRlcy5zdGF0ZXMoKS5jb250YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6
OkhvdmVyZWQpCisgICAgICAgICAgICAmJiBzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJv
bFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5z
ZXRGaWxsQ29sb3IoYWNjZW50SG92ZXJDb2xvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoYWNjZW50Q29sb3IpOworICAgICAgICBncmFw
aGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7CisgICAgICAgIHBhdGguY2xlYXIoKTsKIAotICAg
IGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpDaGVj
a2VkKSkgewogICAgICAgICBmaWVsZFJlY3QuaW5mbGF0ZSgtKGZpZWxkUmVjdC53aWR0aCgpIC0g
ZmllbGRSZWN0LndpZHRoKCkgKiAwLjcwKSk7CiAgICAgICAgIHBhdGguYWRkRWxsaXBzZShmaWVs
ZFJlY3QpOwotICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUNvbG9y
KTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihmb3JlZ3JvdW5kQ29sb3Ip
OwogICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7CisgICAgICAgIGZpZWxkUmVjdC5p
bmZsYXRlKC10b2dnbGVCb3JkZXJTaXplKTsKKyAgICAgICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxk
UmVjdCk7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsUnVsZShXaW5kUnVsZTo6RXZl
bk9kZCk7CisgICAgICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRl
czo6U3RhdGVzOjpIb3ZlcmVkKQorICAgICAgICAgICAgJiYgc3RhdGVzLnN0YXRlcygpLmNvbnRh
aW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6RW5hYmxlZCkpCisgICAgICAgICAgICBncmFwaGlj
c0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJvcmRlckhvdmVyQ29sb3IpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJvcmRl
ckNvbG9yKTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxQYXRoKHBhdGgpOworICAgICAg
ICBwYXRoLmNsZWFyKCk7CiAgICAgfQogCiAgICAgaWYgKHN0YXRlcy5zdGF0ZXMoKS5jb250YWlu
cyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkZvY3VzZWQpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFkd2FpdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Fkd2FpdGEvVGhlbWVBZHdhaXRhLmgKaW5kZXggNWU2YTk3YWRkMDQxOTg4MDM4NDQ0
ZjVkYWEwNjRkMzc1MDQ1YzVjOC4uZDdmZjljMDk2MTIyZmY3ZmJiMmZiMTYzMjRhY2JjMzY3YmQx
YTY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFk
d2FpdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0
YS5oCkBAIC01Miw4ICs1Miw4IEBAIHByaXZhdGU6CiAgICAgTGVuZ3RoQm94IGNvbnRyb2xCb3Jk
ZXIoQ29udHJvbFBhcnQsIGNvbnN0IEZvbnRDYXNjYWRlJiwgY29uc3QgTGVuZ3RoQm94JiwgZmxv
YXQpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgcGFpbnQoQ29udHJvbFBhcnQsIENvbnRyb2xTdGF0
ZXMmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBmbG9hdCwgU2Nyb2xsVmll
dyosIGZsb2F0LCBmbG9hdCwgYm9vbCwgYm9vbCwgY29uc3QgQ29sb3ImKSBmaW5hbDsKIAotICAg
IHZvaWQgcGFpbnRDaGVja2JveChDb250cm9sU3RhdGVzJiwgR3JhcGhpY3NDb250ZXh0JiwgY29u
c3QgRmxvYXRSZWN0JiwgYm9vbCk7Ci0gICAgdm9pZCBwYWludFJhZGlvKENvbnRyb2xTdGF0ZXMm
LCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBib29sKTsKKyAgICB2b2lkIHBh
aW50Q2hlY2tib3goQ29udHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0
UmVjdCYsIGJvb2wsIGNvbnN0IENvbG9yJik7CisgICAgdm9pZCBwYWludFJhZGlvKENvbnRyb2xT
dGF0ZXMmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBib29sLCBjb25zdCBD
b2xvciYpOwogICAgIHZvaWQgcGFpbnRCdXR0b24oQ29udHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29u
dGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYsIGJvb2wpOwogICAgIHZvaWQgcGFpbnRTcGluQnV0dG9u
KENvbnRyb2xTdGF0ZXMmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBib29s
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3
YWl0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNw
cAppbmRleCA4ZWRlMDg2NjBmYzY2OGRmOGQ5MTQ1NzE4NGMyN2FlYWQyYWU2OGUzLi45YzNjM2Fm
YjY2NzI3YzM5MDdhMTViMjQzOGI1OWUyMTZhOWQ5OTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcApAQCAtOTMsMTEgKzkzLDIwIEBAIHN0
YXRpYyBjb25zdGV4cHIgYXV0byBidXR0b25UZXh0RGlzYWJsZWRDb2xvckxpZ2h0ID0gU1JHQkE8
dWludDhfdD4geyAwLCAwLCAwLCAxCiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uVGV4dENv
bG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSB9Owogc3RhdGljIGNvbnN0
ZXhwciBhdXRvIGJ1dHRvblRleHREaXNhYmxlZENvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsg
MjU1LCAyNTUsIDI1NSwgMTI3IH07CiAKLXN0YXRpYyBpbmxpbmUgQ29sb3IgZ2V0QWNjZW50Q29s
b3IoKQorc3RhdGljIGlubGluZSBDb2xvciBnZXRTeXN0ZW1BY2NlbnRDb2xvcigpCiB7CiAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PFRoZW1lQWR3YWl0YSY+KFRoZW1lOjpzaW5nbGV0b24oKSkuYWNj
ZW50Q29sb3IoKTsKIH0KIAorc3RhdGljIGlubGluZSBDb2xvciBnZXRBY2NlbnRDb2xvcihjb25z
dCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCkKK3sKKyAgICBhdXRvIGFjY2VudENvbG9yID0g
cmVuZGVyT2JqZWN0LnN0eWxlKCkuZWZmZWN0aXZlQWNjZW50Q29sb3IoKTsKKyAgICBpZiAoYWNj
ZW50Q29sb3IuaXNWYWxpZCgpKQorICAgICAgICByZXR1cm4gYWNjZW50Q29sb3I7CisKKyAgICBy
ZXR1cm4gZ2V0U3lzdGVtQWNjZW50Q29sb3IoKTsKK30KKwogI2lmICFQTEFURk9STShHVEspCiBS
ZW5kZXJUaGVtZSYgUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpCiB7CkBAIC0xMzQsNyArMTQzLDcg
QEAgYm9vbCBSZW5kZXJUaGVtZUFkd2FpdGE6OnNob3VsZEhhdmVDYXBzTG9ja0luZGljYXRvcihj
b25zdCBIVE1MSW5wdXRFbGVtZW50JiBlbGUKIAogQ29sb3IgUmVuZGVyVGhlbWVBZHdhaXRhOjpw
bGF0Zm9ybUFjdGl2ZVNlbGVjdGlvbkJhY2tncm91bmRDb2xvcihPcHRpb25TZXQ8U3R5bGVDb2xv
ck9wdGlvbnM+KSBjb25zdAogewotICAgIHJldHVybiBnZXRBY2NlbnRDb2xvcigpLmNvbG9yV2l0
aEFscGhhTXVsdGlwbGllZEJ5KDAuMyk7CisgICAgcmV0dXJuIGdldFN5c3RlbUFjY2VudENvbG9y
KCkuY29sb3JXaXRoQWxwaGFNdWx0aXBsaWVkQnkoMC4zKTsKIH0KIAogQ29sb3IgUmVuZGVyVGhl
bWVBZHdhaXRhOjpwbGF0Zm9ybUluYWN0aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKE9wdGlv
blNldDxTdHlsZUNvbG9yT3B0aW9ucz4gb3B0aW9ucykgY29uc3QKQEAgLTI4NCw3ICsyOTMsNyBA
QCBib29sIFJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRUZXh0RmllbGQoY29uc3QgUmVuZGVyT2Jq
ZWN0JiByZW5kZXJPYmplY3QsIGNvbnN0CiAgICAgcGF0aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJl
Y3QsIGNvcm5lcik7CiAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpF
dmVuT2RkKTsKICAgICBpZiAoZW5hYmxlZCAmJiBpc0ZvY3VzZWQocmVuZGVyT2JqZWN0KSkKLSAg
ICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihnZXRBY2NlbnRDb2xvcigpKTsKKyAg
ICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihnZXRBY2NlbnRDb2xvcihyZW5kZXJP
YmplY3QpKTsKICAgICBlbHNlCiAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3Io
dGV4dEZpZWxkQm9yZGVyQ29sb3IpOwogICAgIGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChwYXRo
KTsKQEAgLTQ3MSw3ICs0ODAsOCBAQCBib29sIFJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRQcm9n
cmVzc0Jhcihjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29ucwogCiAgICAgcGF0
aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJlY3QsIGNvcm5lcik7CiAgICAgZ3JhcGhpY3NDb250ZXh0
LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0
RmlsbENvbG9yKGdldEFjY2VudENvbG9yKCkpOworCisgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZp
bGxDb2xvcihnZXRBY2NlbnRDb2xvcihyZW5kZXJPYmplY3QpKTsKICAgICBncmFwaGljc0NvbnRl
eHQuZmlsbFBhdGgocGF0aCk7CiAKICAgICByZXR1cm4gZmFsc2U7CkBAIC01NDAsNyArNTUwLDcg
QEAgYm9vbCBSZW5kZXJUaGVtZUFkd2FpdGE6OnBhaW50U2xpZGVyVHJhY2soY29uc3QgUmVuZGVy
T2JqZWN0JiByZW5kZXJPYmplY3QsIGNvbnMKIAogICAgIHBhdGguYWRkUm91bmRlZFJlY3QoRmxv
YXRSb3VuZGVkUmVjdChyYW5nZVJlY3QsIGNvcm5lcnMpKTsKICAgICBncmFwaGljc0NvbnRleHQu
c2V0RmlsbFJ1bGUoV2luZFJ1bGU6Ok5vblplcm8pOwotICAgIGdyYXBoaWNzQ29udGV4dC5zZXRG
aWxsQ29sb3IoZ2V0QWNjZW50Q29sb3IoKSk7CisgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxD
b2xvcihnZXRBY2NlbnRDb2xvcihyZW5kZXJPYmplY3QpKTsKICAgICBncmFwaGljc0NvbnRleHQu
ZmlsbFBhdGgocGF0aCk7CiAKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKQEAgLTU5Nyw3
ICs2MDcsNyBAQCBib29sIFJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRTbGlkZXJUaHVtYihjb25z
dCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29ucwogICAgIHBhdGguYWRkRWxsaXBzZShm
aWVsZFJlY3QpOwogICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsUnVsZShXaW5kUnVsZTo6RXZl
bk9kZCk7CiAgICAgaWYgKGlzRW5hYmxlZChyZW5kZXJPYmplY3QpICYmIGlzUHJlc3NlZChyZW5k
ZXJPYmplY3QpKQotICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFjY2Vu
dENvbG9yKCkpOworICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFjY2Vu
dENvbG9yKHJlbmRlck9iamVjdCkpOwogICAgIGVsc2UKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0
LnNldEZpbGxDb2xvcihzbGlkZXJUaHVtYkJvcmRlckNvbG9yKTsKICAgICBncmFwaGljc0NvbnRl
eHQuZmlsbFBhdGgocGF0aCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDY3NGRiODk2MjA2ODI3YjI3MDAwZTJiODJkMGE5
Y2ExZjQwNzNlMC4uZmI5OGI0MjQ4MjAxMmRlOThlYzBmNWFkZjZlYzM1NjcyNjE5MzhjYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDIyLTAzLTI1ICBBbGV4YW5kZXIgTWlraGF5bGVua28gIDxh
bGV4bUBnbm9tZS5vcmc+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0IENTUyBhY2NlbnQt
Y29sb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
ODM5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6IEVuYWJsZSBhY2NlbnQtY29sb3IgdGVzdHMg
Zm9yIEdUSy4KKwogMjAyMi0wMy0yNSAgQWxleGFuZGVyIE1pa2hheWxlbmtvICA8YWxleG1AZ25v
bWUub3JnPgogCiAgICAgICAgIFtHVEtdW1dQRV0gVXBkYXRlIHdpZGdldCBzdHlsZSB0byBtYXRj
aCBsaWJhZHdhaXRhCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDRkYjQ3YTQzMDU0MmVlYmRkNjVhNTgxOWViNWM0NmI5MTQwYmIxODEuLjYzNmU1ZTAzNjAx
OWY4YTQ4M2MyZDU3NjkwNjhiMzFlMDJhYjg5MmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMSw2ICszMSwxMyBAQCBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvdDQyNS1oc2xhLW9uc2NyZWVuLW11bHRpcGxlLWJv
eGVzLQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJl
ZGRlZC1jb250ZW50L3RoZS1lbWJlZC1lbGVtZW50L2VtYmVkLXJlcHJlc2VudC1ub3RoaW5nLTAy
Lmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtYXJlYS1lbGVtZW50L2FyZWEtY29vcmRzLmh0bWwg
WyBQYXNzIF0KIAorZmFzdC9jc3MvYWNjZW50LWNvbG9yL2NoZWNrYm94Lmh0bWwgWyBQYXNzIF0K
K2Zhc3QvY3NzL2FjY2VudC1jb2xvci9wcm9ncmVzcy5odG1sIFsgUGFzcyBdCitmYXN0L2Nzcy9h
Y2NlbnQtY29sb3IvcmFkaW8uaHRtbCBbIFBhc3MgXQorZmFzdC9jc3MvYWNjZW50LWNvbG9yL3Jh
bmdlLmh0bWwgWyBQYXNzIF0KK2Zhc3QvY3NzL2FjY2VudC1jb2xvci90ZXh0Lmh0bWwgWyBQYXNz
IF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy11aS9hY2NlbnQtY29s
b3ItY2hlY2tib3gtY2hlY2tlZC0wMDEudGVudGF0aXZlLmh0bWwgWyBQYXNzIF0KKwogIyBTb21l
IEFwcGxlIHBvcnRzIGRvbid0IHN1cHBvcnQgUlRMIHNjcm9sbGJhcnMuCiBmYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1hbHRlcm5hdGUtYm9keS1kaXItYXR0ci1kb2VzLW5vdC11cGRhdGUt
c2Nyb2xsYmFyLXBsYWNlbWVudC5odG1sIFsgUGFzcyBdCiBmYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1pZnJhbWUtc2Nyb2xsZWQuaHRtbCBbIFBhc3MgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455848</attachid>
            <date>2022-03-26 07:34:48 -0700</date>
            <delta_ts>2022-03-26 11:47:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238398-20220326183450.patch</filename>
            <type>text/plain</type>
            <size>22102</size>
            <attacher name="Alice Mikhaylenko">alicem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZkMGY0OTkwMmU5ZDUxOTgzZWYyM2Ey
YmRhMTJiZWEwZGNhNGFmMGIuLmVlNDgyNjFjZTc0YmRjMjQzOTk4ZDU0ZjI3MDg1OTVjYmM3OTNl
NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDMtMjUgIEFsZXhhbmRlciBNaWtoYXlsZW5r
byAgPGFsZXhtQGdub21lLm9yZz4KKworICAgICAgICBbR1RLXVtXUEVdIFN1cHBvcnQgQ1NTIGFj
Y2VudC1jb2xvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM4Mzk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWw6
IEVuYWJsZSBhY2NlbnQtY29sb3IgZm9yIEdUSyBhbmQgV1BFLgorCiAyMDIyLTAzLTIzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSW5saW5lIFN0cmluZyhBU0NJ
SUxpdGVyYWwpIGNvbnN0cnVjdG9yIHNvIHRoZSBjb21waWxlciBjYW4gb3B0aW1pemUgb3V0IHN0
cmxlbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggMGU2NWE1MDZjMTkwNzc3NzhkZjIzNWZiYTkwY2U1Zjc0Y2Uw
ZGE0My4uNTIwMTgwYTgzMDEwYzI2ZGY0NTc3ZTc4NjkxZTJmMzdkNTdmYTQxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAzLTI1ICBBbGV4YW5kZXIgTWlraGF5bGVua28gIDxh
bGV4bUBnbm9tZS5vcmc+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0IENTUyBhY2NlbnQt
Y29sb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
ODM5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBhY2NlbnQtY29sb3Igc3VwcG9ydCBmb3IgcHJvZ3Jlc3MsIHJhbmdlIGFuZCBlbnRyaWVzLgor
ICAgICAgICBVcGRhdGUgY2hlY2sgYW5kIHJhZGlvIHN0eWxlcyBzbyB0aGF0IHRoZXkgY2FuIHVz
ZSBhY2NlbnQgY29sb3IgYXMgd2VsbC4KKworICAgICAgICAqIHBsYXRmb3JtL2Fkd2FpdGEvVGhl
bWVBZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lQWR3YWl0YTo6cGFpbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6VGhlbWVBZHdhaXRhOjpwYWludENoZWNrYm94KToKKyAgICAgICAg
KFdlYkNvcmU6OlRoZW1lQWR3YWl0YTo6cGFpbnRSYWRpbyk6CisgICAgICAgICogcGxhdGZvcm0v
YWR3YWl0YS9UaGVtZUFkd2FpdGEuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVB
ZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldFN5c3RlbUFjY2VudENvbG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OmdldEFjY2VudENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lQWR3YWl0YTo6cGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpwYWludFRleHRGaWVs
ZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OnBhaW50UHJvZ3Jlc3NC
YXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpwYWludFNsaWRlclRy
YWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRTbGlkZXJU
aHVtYik6CisKIDIwMjItMDMtMjUgIEFsZXhhbmRlciBNaWtoYXlsZW5rbyAgPGFsZXhtQGdub21l
Lm9yZz4KIAogICAgICAgICBbR1RLXVtXUEVdIFVwZGF0ZSB3aWRnZXQgc3R5bGUgdG8gbWF0Y2gg
bGliYWR3YWl0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dl
YlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVy
ZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRleCAyZWM3YjQwZjI0NzFi
ZWZjM2RiODI5MDFiZmYwNTA3NDA0ZmE4OTllLi5lZTk5NGVlZmExNzA0NTk1Zjc3Y2Q4MjNhNjcy
MzlhZjBmMDc4ZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMv
V2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMv
UHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApAQCAtMzUsMTAgKzM1
LDEwIEBAIEFjY2VudENvbG9yRW5hYmxlZDoKICAgICAgICJQTEFURk9STShDT0NPQSkiIDogdHJ1
ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJLaXQ6Ci0gICAgICAiUExBVEZPUk0oQ09D
T0EpIiA6IHRydWUKKyAgICAgICJQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQ
TEFURk9STShXUEUpIjogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJDb3JlOgot
ICAgICAgIlBMQVRGT1JNKENPQ09BKSIgOiB0cnVlCisgICAgICAiUExBVEZPUk0oQ09DT0EpIHx8
IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKSI6IHRydWUKICAgICAgIGRlZmF1bHQ6IGZh
bHNlCiAKIEFjY2Vzc0hhbmRsZUVuYWJsZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5jcHAKaW5kZXggMmZkNjJhZWE2NGMxYTgyNGIwMDY3YjI0
YzBjN2JkNGU2N2QwYTU5MC4uNWQzMDczMzdhNjE1NWMwYjJmODBmY2Y0NTE5MzcxZmYyYTJhMjQ3
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFkd2Fp
dGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fkd2FpdGEvVGhlbWVBZHdhaXRh
LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlRoZW1lQWR3YWl0YS5oIgogCiAjaW5j
bHVkZSAiQ29sb3IuaCIKKyNpbmNsdWRlICJDb2xvckJsZW5kaW5nLmgiCiAjaW5jbHVkZSAiQ29u
dHJvbFN0YXRlcy5oIgogI2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIKICNpbmNsdWRlICJH
cmFwaGljc0NvbnRleHQuaCIKQEAgLTUwLDI2ICs1MSwyNSBAQCBzdGF0aWMgY29uc3RleHByIGF1
dG8gYnV0dG9uQm9yZGVyQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMCwgMCwgMCwgNTAg
fTsKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBidXR0b25CYWNrZ3JvdW5kQ29sb3JMaWdodCA9IFNS
R0JBPHVpbnQ4X3Q+IHsgMjQ0LCAyNDQsIDI0NCB9Owogc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1
dHRvbkJhY2tncm91bmRQcmVzc2VkQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjE0LCAy
MTQsIDIxNCB9Owogc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1dHRvbkJhY2tncm91bmRIb3ZlcmVk
Q29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjQ4LCAyNDgsIDI0OCB9Owotc3RhdGljIGNv
bnN0ZXhwciBhdXRvIHRvZ2dsZUJhY2tncm91bmRDb2xvckxpZ2h0ID0gQ29sb3I6OndoaXRlOwot
c3RhdGljIGNvbnN0ZXhwciBhdXRvIHRvZ2dsZUJhY2tncm91bmRIb3ZlcmVkQ29sb3JMaWdodCA9
IFNSR0JBPHVpbnQ4X3Q+IHsgMjE0LCAyMTQsIDIxNCB9Oworc3RhdGljIGNvbnN0ZXhwciBhdXRv
IHRvZ2dsZUJvcmRlckNvbG9yTGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDUwIH07
CitzdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yTGlnaHQgPSBT
UkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDgwIH07CiAKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBi
dXR0b25Cb3JkZXJDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDI1NSwgMjU1LCAyNTUsIDUw
IH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uQmFja2dyb3VuZENvbG9yRGFyayA9IFNS
R0JBPHVpbnQ4X3Q+IHsgNTIsIDUyLCA1MiB9Owogc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1dHRv
bkJhY2tncm91bmRQcmVzc2VkQ29sb3JEYXJrID0gU1JHQkE8dWludDhfdD4geyAzMCwgMzAsIDMw
IH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uQmFja2dyb3VuZEhvdmVyZWRDb2xvckRh
cmsgPSBTUkdCQTx1aW50OF90PiB7IDYwLCA2MCwgNjAgfTsKLXN0YXRpYyBjb25zdGV4cHIgYXV0
byB0b2dnbGVCYWNrZ3JvdW5kQ29sb3JEYXJrID0gU1JHQkE8dWludDhfdD4geyA0NSwgNDUsIDQ1
IH07Ci1zdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvckRh
cmsgPSBTUkdCQTx1aW50OF90PiB7IDYwLCA2MCwgNjAgfTsKK3N0YXRpYyBjb25zdGV4cHIgYXV0
byB0b2dnbGVCb3JkZXJDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDI1NSwgMjU1LCAyNTUs
IDUwIH07CitzdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yRGFy
ayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgODAgfTsKIAogc3RhdGljIGNvbnN0
IGRvdWJsZSB0b2dnbGVTaXplID0gMTQuOworc3RhdGljIGNvbnN0IGludCB0b2dnbGVCb3JkZXJT
aXplID0gMjsKIHN0YXRpYyBjb25zdCBpbnQgdG9nZ2xlRm9jdXNPZmZzZXQgPSAyOwogCi1zdGF0
aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMCwg
MCwgMCwgMjAwIH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gc3BpbkJ1dHRvbkJvcmRlckNvbG9y
TGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDI1IH07CiBzdGF0aWMgY29uc3RleHBy
IGF1dG8gc3BpbkJ1dHRvbkJhY2tncm91bmRDb2xvckxpZ2h0ID0gQ29sb3I6OndoaXRlOwogc3Rh
dGljIGNvbnN0ZXhwciBhdXRvIHNwaW5CdXR0b25CYWNrZ3JvdW5kSG92ZXJlZENvbG9yTGlnaHQg
PSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDUwIH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8g
c3BpbkJ1dHRvbkJhY2tncm91bmRQcmVzc2VkQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsg
MCwgMCwgMCwgNzAgfTsKIAotc3RhdGljIGNvbnN0ZXhwciBhdXRvIHRvZ2dsZUNvbG9yRGFyayA9
IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgMjAwIH07CiBzdGF0aWMgY29uc3RleHBy
IGF1dG8gc3BpbkJ1dHRvbkJvcmRlckNvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAy
NTUsIDI1NSwgMjUgfTsKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBzcGluQnV0dG9uQmFja2dyb3Vu
ZENvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgNDUsIDQ1LCA0NSB9Owogc3RhdGljIGNvbnN0
ZXhwciBhdXRvIHNwaW5CdXR0b25CYWNrZ3JvdW5kSG92ZXJlZENvbG9yRGFyayA9IFNSR0JBPHVp
bnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgNTAgfTsKQEAgLTIwMSwxNCArMjAxLDE0IEBAIExlbmd0
aEJveCBUaGVtZUFkd2FpdGE6OmNvbnRyb2xCb3JkZXIoQ29udHJvbFBhcnQgcGFydCwgY29uc3Qg
Rm9udENhc2NhZGUmIGZvbnQsCiAgICAgcmV0dXJuIFRoZW1lOjpjb250cm9sQm9yZGVyKHBhcnQs
IGZvbnQsIHpvb21lZEJveCwgem9vbUZhY3Rvcik7CiB9CiAKLXZvaWQgVGhlbWVBZHdhaXRhOjpw
YWludChDb250cm9sUGFydCBwYXJ0LCBDb250cm9sU3RhdGVzJiBzdGF0ZXMsIEdyYXBoaWNzQ29u
dGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBmbG9hdCwgU2Nyb2xs
VmlldyosIGZsb2F0LCBmbG9hdCwgYm9vbCwgYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSwgY29uc3Qg
Q29sb3ImKQordm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50KENvbnRyb2xQYXJ0IHBhcnQsIENvbnRy
b2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJl
Y3QmIHpvb21lZFJlY3QsIGZsb2F0LCBTY3JvbGxWaWV3KiwgZmxvYXQsIGZsb2F0LCBib29sLCBi
b29sIHVzZURhcmtBcHBlYXJhbmNlLCBjb25zdCBDb2xvciYgZWZmZWN0aXZlQWNjZW50Q29sb3Ip
CiB7CiAgICAgc3dpdGNoIChwYXJ0KSB7CiAgICAgY2FzZSBDaGVja2JveFBhcnQ6Ci0gICAgICAg
IHBhaW50Q2hlY2tib3goc3RhdGVzLCBjb250ZXh0LCB6b29tZWRSZWN0LCB1c2VEYXJrQXBwZWFy
YW5jZSk7CisgICAgICAgIHBhaW50Q2hlY2tib3goc3RhdGVzLCBjb250ZXh0LCB6b29tZWRSZWN0
LCB1c2VEYXJrQXBwZWFyYW5jZSwgZWZmZWN0aXZlQWNjZW50Q29sb3IpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFJhZGlvUGFydDoKLSAgICAgICAgcGFpbnRSYWRpbyhzdGF0ZXMsIGNvbnRl
eHQsIHpvb21lZFJlY3QsIHVzZURhcmtBcHBlYXJhbmNlKTsKKyAgICAgICAgcGFpbnRSYWRpbyhz
dGF0ZXMsIGNvbnRleHQsIHpvb21lZFJlY3QsIHVzZURhcmtBcHBlYXJhbmNlLCBlZmZlY3RpdmVB
Y2NlbnRDb2xvcik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUHVzaEJ1dHRvblBhcnQ6CiAg
ICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoKQEAgLTIyNCw3ICsyMjQsNyBAQCB2b2lkIFRoZW1l
QWR3YWl0YTo6cGFpbnQoQ29udHJvbFBhcnQgcGFydCwgQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBH
cmFwaGljc0NvbnRleAogICAgIH0KIH0KIAotdm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50Q2hlY2ti
b3goQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4
dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBib29sIHVzZURhcmtBcHBlYXJhbmNlKQor
dm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50Q2hlY2tib3goQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBH
cmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRS
ZWN0LCBib29sIHVzZURhcmtBcHBlYXJhbmNlLCBjb25zdCBDb2xvciYgZWZmZWN0aXZlQWNjZW50
Q29sb3IpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGdyYXBo
aWNzQ29udGV4dCk7CiAKQEAgLTIzOCw0OCArMjM4LDM3IEBAIHZvaWQgVGhlbWVBZHdhaXRhOjpw
YWludENoZWNrYm94KENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBncmFw
aGljCiAgICAgICAgICAgICBmaWVsZFJlY3QubW92ZSgwLCAoem9vbWVkUmVjdC5oZWlnaHQoKSAt
IGZpZWxkUmVjdC5oZWlnaHQoKSkgLyAyLjApOwogICAgIH0KIAotICAgIFNSR0JBPHVpbnQ4X3Q+
IGJ1dHRvbkJvcmRlckNvbG9yOwotICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUJhY2tncm91bmRD
b2xvcjsKLSAgICBTUkdCQTx1aW50OF90PiB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yOwot
ICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUNvbG9yOworICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2ds
ZUJvcmRlckNvbG9yOworICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUJvcmRlckhvdmVyQ29sb3I7
CiAKICAgICBpZiAodXNlRGFya0FwcGVhcmFuY2UpIHsKLSAgICAgICAgYnV0dG9uQm9yZGVyQ29s
b3IgPSBidXR0b25Cb3JkZXJDb2xvckRhcms7Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRDb2xv
ciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckRhcms7Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRI
b3ZlcmVkQ29sb3IgPSB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yRGFyazsKLSAgICAgICAg
dG9nZ2xlQ29sb3IgPSB0b2dnbGVDb2xvckRhcms7CisgICAgICAgIHRvZ2dsZUJvcmRlckNvbG9y
ID0gdG9nZ2xlQm9yZGVyQ29sb3JEYXJrOworICAgICAgICB0b2dnbGVCb3JkZXJIb3ZlckNvbG9y
ID0gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yRGFyazsKICAgICB9IGVsc2UgewotICAgICAgICBi
dXR0b25Cb3JkZXJDb2xvciA9IGJ1dHRvbkJvcmRlckNvbG9yTGlnaHQ7Ci0gICAgICAgIHRvZ2ds
ZUJhY2tncm91bmRDb2xvciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckxpZ2h0OwotICAgICAgICB0
b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yID0gdG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xv
ckxpZ2h0OwotICAgICAgICB0b2dnbGVDb2xvciA9IHRvZ2dsZUNvbG9yTGlnaHQ7CisgICAgICAg
IHRvZ2dsZUJvcmRlckNvbG9yID0gdG9nZ2xlQm9yZGVyQ29sb3JMaWdodDsKKyAgICAgICAgdG9n
Z2xlQm9yZGVySG92ZXJDb2xvciA9IHRvZ2dsZUJvcmRlckhvdmVyZWRDb2xvckxpZ2h0OwogICAg
IH0KIAorICAgIENvbG9yIGFjY2VudENvbG9yID0gZWZmZWN0aXZlQWNjZW50Q29sb3IuaXNWYWxp
ZCgpID8gZWZmZWN0aXZlQWNjZW50Q29sb3IgOiBtX2FjY2VudENvbG9yOworICAgIENvbG9yIGZv
cmVncm91bmRDb2xvciA9IGFjY2VudENvbG9yLmx1bWluYW5jZSgpID4gMC41ID8gQ29sb3IoU1JH
QkE8dWludDhfdD4geyAwLCAwLCAwLCAyMDQgfSkgOiBDb2xvcjo6d2hpdGU7CisgICAgQ29sb3Ig
YWNjZW50SG92ZXJDb2xvciA9IGJsZW5kU291cmNlT3ZlcihhY2NlbnRDb2xvciwgZm9yZWdyb3Vu
ZENvbG9yLmNvbG9yV2l0aEFscGhhTXVsdGlwbGllZEJ5KDAuMSkpOworCiAgICAgaWYgKCFzdGF0
ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKICAg
ICAgICAgZ3JhcGhpY3NDb250ZXh0LmJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIoZGlzYWJsZWRPcGFj
aXR5KTsKIAogICAgIEZsb2F0U2l6ZSBjb3JuZXIoMiwgMik7CiAgICAgUGF0aCBwYXRoOwotICAg
IHBhdGguYWRkUm91bmRlZFJlY3QoZmllbGRSZWN0LCBjb3JuZXIpOwotICAgIGZpZWxkUmVjdC5p
bmZsYXRlKC1idXR0b25Cb3JkZXJTaXplKTsKLSAgICBjb3JuZXIuZXhwYW5kKC1idXR0b25Cb3Jk
ZXJTaXplLCAtYnV0dG9uQm9yZGVyU2l6ZSk7Ci0gICAgcGF0aC5hZGRSb3VuZGVkUmVjdChmaWVs
ZFJlY3QsIGNvcm5lcik7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxl
OjpFdmVuT2RkKTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGJ1dHRvbkJvcmRl
ckNvbG9yKTsKLSAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7Ci0gICAgcGF0aC5j
bGVhcigpOwotCi0gICAgcGF0aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJlY3QsIGNvcm5lcik7Ci0g
ICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKLSAgICBp
ZiAoc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6SG92ZXJl
ZCkKLSAgICAgICAgJiYgc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0
YXRlczo6RW5hYmxlZCkpCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IodG9n
Z2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvcik7Ci0gICAgZWxzZQotICAgICAgICBncmFwaGljc0Nv
bnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJhY2tncm91bmRDb2xvcik7Ci0gICAgZ3JhcGhpY3ND
b250ZXh0LmZpbGxQYXRoKHBhdGgpOwotICAgIHBhdGguY2xlYXIoKTsKIAogICAgIGlmIChzdGF0
ZXMuc3RhdGVzKCkuY29udGFpbnNBbnkoeyBDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkNoZWNrZWQs
IENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6SW5kZXRlcm1pbmF0ZSB9KSkgeworICAgICAgICBwYXRo
LmFkZFJvdW5kZWRSZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKKyAgICAgICAgZ3JhcGhpY3NDb250
ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKKyAgICAgICAgaWYgKHN0YXRlcy5z
dGF0ZXMoKS5jb250YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkhvdmVyZWQpICYmIHN0YXRl
cy5zdGF0ZXMoKS5jb250YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkVuYWJsZWQpKQorICAg
ICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihhY2NlbnRIb3ZlckNvbG9yKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihh
Y2NlbnRDb2xvcik7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChwYXRoKTsKKyAg
ICAgICAgcGF0aC5jbGVhcigpOworCiAgICAgICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIg
Y2hlY2tlZFN0YXRlU2F2ZXIoZ3JhcGhpY3NDb250ZXh0KTsKICAgICAgICAgZ3JhcGhpY3NDb250
ZXh0LnRyYW5zbGF0ZShmaWVsZFJlY3QueCgpLCBmaWVsZFJlY3QueSgpKTsKICAgICAgICAgZ3Jh
cGhpY3NDb250ZXh0LnNjYWxlKEZsb2F0U2l6ZTo6bmFycm93UHJlY2lzaW9uKGZpZWxkUmVjdC53
aWR0aCgpIC8gdG9nZ2xlU2l6ZSwgZmllbGRSZWN0LmhlaWdodCgpIC8gdG9nZ2xlU2l6ZSkpOwpA
QCAtMjk0LDEwICsyODMsMjIgQEAgdm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50Q2hlY2tib3goQ29u
dHJvbFN0YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWMKICAgICAgICAgfSBl
bHNlCiAgICAgICAgICAgICBwYXRoLmFkZFJvdW5kZWRSZWN0KEZsb2F0UmVjdCgyLCA1LCAxMCwg
NCksIGNvcm5lcik7CiAKLSAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcih0b2dn
bGVDb2xvcik7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoZm9yZWdyb3Vu
ZENvbG9yKTsKIAogICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7CiAgICAg
ICAgIHBhdGguY2xlYXIoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBwYXRoLmFkZFJvdW5kZWRS
ZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKKyAgICAgICAgZmllbGRSZWN0LmluZmxhdGUoLXRvZ2ds
ZUJvcmRlclNpemUpOworICAgICAgICBjb3JuZXIuZXhwYW5kKC1idXR0b25Cb3JkZXJTaXplLCAt
YnV0dG9uQm9yZGVyU2l6ZSk7CisgICAgICAgIHBhdGguYWRkUm91bmRlZFJlY3QoZmllbGRSZWN0
LCBjb3JuZXIpOworICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbFJ1bGUoV2luZFJ1bGU6
OkV2ZW5PZGQpOworICAgICAgICBpZiAoc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xT
dGF0ZXM6OlN0YXRlczo6SG92ZXJlZCkgJiYgc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRy
b2xTdGF0ZXM6OlN0YXRlczo6RW5hYmxlZCkpCisgICAgICAgICAgICBncmFwaGljc0NvbnRleHQu
c2V0RmlsbENvbG9yKHRvZ2dsZUJvcmRlckhvdmVyQ29sb3IpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJvcmRlckNvbG9yKTsK
KyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxQYXRoKHBhdGgpOworICAgICAgICBwYXRoLmNs
ZWFyKCk7CiAgICAgfQogCiAgICAgaWYgKHN0YXRlcy5zdGF0ZXMoKS5jb250YWlucyhDb250cm9s
U3RhdGVzOjpTdGF0ZXM6OkZvY3VzZWQpKQpAQCAtMzA3LDcgKzMwOCw3IEBAIHZvaWQgVGhlbWVB
ZHdhaXRhOjpwYWludENoZWNrYm94KENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250
ZXh0JiBncmFwaGljCiAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5lbmRUcmFuc3BhcmVuY3lMYXll
cigpOwogfQogCi12b2lkIFRoZW1lQWR3YWl0YTo6cGFpbnRSYWRpbyhDb250cm9sU3RhdGVzJiBz
dGF0ZXMsIEdyYXBoaWNzQ29udGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBGbG9hdFJlY3Qm
IHpvb21lZFJlY3QsIGJvb2wgdXNlRGFya0FwcGVhcmFuY2UpCit2b2lkIFRoZW1lQWR3YWl0YTo6
cGFpbnRSYWRpbyhDb250cm9sU3RhdGVzJiBzdGF0ZXMsIEdyYXBoaWNzQ29udGV4dCYgZ3JhcGhp
Y3NDb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHpvb21lZFJlY3QsIGJvb2wgdXNlRGFya0FwcGVh
cmFuY2UsIGNvbnN0IENvbG9yJiBlZmZlY3RpdmVBY2NlbnRDb2xvcikKIHsKICAgICBHcmFwaGlj
c0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoZ3JhcGhpY3NDb250ZXh0KTsKICAgICBGbG9h
dFJlY3QgZmllbGRSZWN0ID0gem9vbWVkUmVjdDsKQEAgLTMyMCw1MCArMzIxLDUxIEBAIHZvaWQg
VGhlbWVBZHdhaXRhOjpwYWludFJhZGlvKENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3ND
b250ZXh0JiBncmFwaGljc0NvCiAgICAgICAgICAgICBmaWVsZFJlY3QubW92ZSgwLCAoem9vbWVk
UmVjdC5oZWlnaHQoKSAtIGZpZWxkUmVjdC5oZWlnaHQoKSkgLyAyLjApOwogICAgIH0KIAotICAg
IFNSR0JBPHVpbnQ4X3Q+IGJ1dHRvbkJvcmRlckNvbG9yOwotICAgIFNSR0JBPHVpbnQ4X3Q+IHRv
Z2dsZUJhY2tncm91bmRDb2xvcjsKLSAgICBTUkdCQTx1aW50OF90PiB0b2dnbGVCYWNrZ3JvdW5k
SG92ZXJlZENvbG9yOwotICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUNvbG9yOworICAgIFNSR0JB
PHVpbnQ4X3Q+IHRvZ2dsZUJvcmRlckNvbG9yOworICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUJv
cmRlckhvdmVyQ29sb3I7CiAKICAgICBpZiAodXNlRGFya0FwcGVhcmFuY2UpIHsKLSAgICAgICAg
YnV0dG9uQm9yZGVyQ29sb3IgPSBidXR0b25Cb3JkZXJDb2xvckRhcms7Ci0gICAgICAgIHRvZ2ds
ZUJhY2tncm91bmRDb2xvciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckRhcms7Ci0gICAgICAgIHRv
Z2dsZUJhY2tncm91bmRIb3ZlcmVkQ29sb3IgPSB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9y
RGFyazsKLSAgICAgICAgdG9nZ2xlQ29sb3IgPSB0b2dnbGVDb2xvckRhcms7CisgICAgICAgIHRv
Z2dsZUJvcmRlckNvbG9yID0gdG9nZ2xlQm9yZGVyQ29sb3JEYXJrOworICAgICAgICB0b2dnbGVC
b3JkZXJIb3ZlckNvbG9yID0gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yRGFyazsKICAgICB9IGVs
c2UgewotICAgICAgICBidXR0b25Cb3JkZXJDb2xvciA9IGJ1dHRvbkJvcmRlckNvbG9yTGlnaHQ7
Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRDb2xvciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckxp
Z2h0OwotICAgICAgICB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yID0gdG9nZ2xlQmFja2dy
b3VuZEhvdmVyZWRDb2xvckxpZ2h0OwotICAgICAgICB0b2dnbGVDb2xvciA9IHRvZ2dsZUNvbG9y
TGlnaHQ7CisgICAgICAgIHRvZ2dsZUJvcmRlckNvbG9yID0gdG9nZ2xlQm9yZGVyQ29sb3JMaWdo
dDsKKyAgICAgICAgdG9nZ2xlQm9yZGVySG92ZXJDb2xvciA9IHRvZ2dsZUJvcmRlckhvdmVyZWRD
b2xvckxpZ2h0OwogICAgIH0KIAorICAgIENvbG9yIGFjY2VudENvbG9yID0gZWZmZWN0aXZlQWNj
ZW50Q29sb3IuaXNWYWxpZCgpID8gZWZmZWN0aXZlQWNjZW50Q29sb3IgOiBtX2FjY2VudENvbG9y
OworICAgIENvbG9yIGZvcmVncm91bmRDb2xvciA9IGFjY2VudENvbG9yLmx1bWluYW5jZSgpID4g
MC41ID8gQ29sb3IoU1JHQkE8dWludDhfdD4geyAwLCAwLCAwLCAyMDQgfSkgOiBDb2xvcjo6d2hp
dGU7CisgICAgQ29sb3IgYWNjZW50SG92ZXJDb2xvciA9IGJsZW5kU291cmNlT3ZlcihhY2NlbnRD
b2xvciwgZm9yZWdyb3VuZENvbG9yLmNvbG9yV2l0aEFscGhhTXVsdGlwbGllZEJ5KDAuMSkpOwor
CiAgICAgaWYgKCFzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVz
OjpFbmFibGVkKSkKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmJlZ2luVHJhbnNwYXJlbmN5TGF5
ZXIoZGlzYWJsZWRPcGFjaXR5KTsKIAogICAgIFBhdGggcGF0aDsKLSAgICBwYXRoLmFkZEVsbGlw
c2UoZmllbGRSZWN0KTsKLSAgICBmaWVsZFJlY3QuaW5mbGF0ZSgtYnV0dG9uQm9yZGVyU2l6ZSk7
Ci0gICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LnNl
dEZpbGxSdWxlKFdpbmRSdWxlOjpFdmVuT2RkKTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0Rmls
bENvbG9yKGJ1dHRvbkJvcmRlckNvbG9yKTsKLSAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgo
cGF0aCk7Ci0gICAgcGF0aC5jbGVhcigpOwogCi0gICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVj
dCk7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsK
LSAgICBpZiAoc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6
SG92ZXJlZCkKLSAgICAgICAgJiYgc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0
ZXM6OlN0YXRlczo6RW5hYmxlZCkpCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29s
b3IodG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvcik7Ci0gICAgZWxzZQotICAgICAgICBncmFw
aGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJhY2tncm91bmRDb2xvcik7Ci0gICAgZ3Jh
cGhpY3NDb250ZXh0LmZpbGxQYXRoKHBhdGgpOwotICAgIHBhdGguY2xlYXIoKTsKKyAgICBpZiAo
c3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zQW55KHsgQ29udHJvbFN0YXRlczo6U3RhdGVzOjpDaGVj
a2VkLCBDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkluZGV0ZXJtaW5hdGUgfSkpIHsKKyAgICAgICAg
cGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRG
aWxsUnVsZShXaW5kUnVsZTo6Tm9uWmVybyk7CisgICAgICAgIGlmIChzdGF0ZXMuc3RhdGVzKCku
Y29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpIb3ZlcmVkKSAmJiBzdGF0ZXMuc3RhdGVz
KCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKKyAgICAgICAgICAg
IGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoYWNjZW50SG92ZXJDb2xvcik7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoYWNjZW50Q29s
b3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7CisgICAgICAgIHBh
dGguY2xlYXIoKTsKIAotICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0
YXRlczo6U3RhdGVzOjpDaGVja2VkKSkgewogICAgICAgICBmaWVsZFJlY3QuaW5mbGF0ZSgtKGZp
ZWxkUmVjdC53aWR0aCgpIC0gZmllbGRSZWN0LndpZHRoKCkgKiAwLjcwKSk7CiAgICAgICAgIHBh
dGguYWRkRWxsaXBzZShmaWVsZFJlY3QpOwotICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0Rmls
bENvbG9yKHRvZ2dsZUNvbG9yKTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xv
cihmb3JlZ3JvdW5kQ29sb3IpOwogICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0
aCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7Cisg
ICAgICAgIGZpZWxkUmVjdC5pbmZsYXRlKC10b2dnbGVCb3JkZXJTaXplKTsKKyAgICAgICAgcGF0
aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxs
UnVsZShXaW5kUnVsZTo6RXZlbk9kZCk7CisgICAgICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkuY29u
dGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpIb3ZlcmVkKSAmJiBzdGF0ZXMuc3RhdGVzKCku
Y29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKKyAgICAgICAgICAgIGdy
YXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IodG9nZ2xlQm9yZGVySG92ZXJDb2xvcik7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IodG9nZ2xl
Qm9yZGVyQ29sb3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7Cisg
ICAgICAgIHBhdGguY2xlYXIoKTsKICAgICB9CiAKICAgICBpZiAoc3RhdGVzLnN0YXRlcygpLmNv
bnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6Rm9jdXNlZCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFkd2FpdGEuaAppbmRleCA1ZTZhOTdhZGQwNDE5ODgw
Mzg0NDRmNWRhYTA2NGQzNzUwNDVjNWM4Li5kN2ZmOWMwOTYxMjJmZjdmYmIyZmIxNjMyNGFjYmMz
NjdiZDFhNjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hZHdhaXRhL1Ro
ZW1lQWR3YWl0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fkd2FpdGEvVGhlbWVB
ZHdhaXRhLmgKQEAgLTUyLDggKzUyLDggQEAgcHJpdmF0ZToKICAgICBMZW5ndGhCb3ggY29udHJv
bEJvcmRlcihDb250cm9sUGFydCwgY29uc3QgRm9udENhc2NhZGUmLCBjb25zdCBMZW5ndGhCb3gm
LCBmbG9hdCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBwYWludChDb250cm9sUGFydCwgQ29udHJv
bFN0YXRlcyYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYsIGZsb2F0LCBTY3Jv
bGxWaWV3KiwgZmxvYXQsIGZsb2F0LCBib29sLCBib29sLCBjb25zdCBDb2xvciYpIGZpbmFsOwog
Ci0gICAgdm9pZCBwYWludENoZWNrYm94KENvbnRyb2xTdGF0ZXMmLCBHcmFwaGljc0NvbnRleHQm
LCBjb25zdCBGbG9hdFJlY3QmLCBib29sKTsKLSAgICB2b2lkIHBhaW50UmFkaW8oQ29udHJvbFN0
YXRlcyYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYsIGJvb2wpOworICAgIHZv
aWQgcGFpbnRDaGVja2JveChDb250cm9sU3RhdGVzJiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3Qg
RmxvYXRSZWN0JiwgYm9vbCwgY29uc3QgQ29sb3ImKTsKKyAgICB2b2lkIHBhaW50UmFkaW8oQ29u
dHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYsIGJvb2wsIGNv
bnN0IENvbG9yJik7CiAgICAgdm9pZCBwYWludEJ1dHRvbihDb250cm9sU3RhdGVzJiwgR3JhcGhp
Y3NDb250ZXh0JiwgY29uc3QgRmxvYXRSZWN0JiwgYm9vbCk7CiAgICAgdm9pZCBwYWludFNwaW5C
dXR0b24oQ29udHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYs
IGJvb2wpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVBZHdhaXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2Fp
dGEuY3BwCmluZGV4IDhlZGUwODY2MGZjNjY4ZGY4ZDkxNDU3MTg0YzI3YWVhZDJhZTY4ZTMuLjlj
M2MzYWZiNjY3MjdjMzkwN2ExNWIyNDM4YjU5ZTIxNmE5ZDk5MjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCkBAIC05MywxMSArOTMsMjAg
QEAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1dHRvblRleHREaXNhYmxlZENvbG9yTGlnaHQgPSBT
UkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDEKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBidXR0b25U
ZXh0Q29sb3JEYXJrID0gU1JHQkE8dWludDhfdD4geyAyNTUsIDI1NSwgMjU1IH07CiBzdGF0aWMg
Y29uc3RleHByIGF1dG8gYnV0dG9uVGV4dERpc2FibGVkQ29sb3JEYXJrID0gU1JHQkE8dWludDhf
dD4geyAyNTUsIDI1NSwgMjU1LCAxMjcgfTsKIAotc3RhdGljIGlubGluZSBDb2xvciBnZXRBY2Nl
bnRDb2xvcigpCitzdGF0aWMgaW5saW5lIENvbG9yIGdldFN5c3RlbUFjY2VudENvbG9yKCkKIHsK
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VGhlbWVBZHdhaXRhJj4oVGhlbWU6OnNpbmdsZXRvbigp
KS5hY2NlbnRDb2xvcigpOwogfQogCitzdGF0aWMgaW5saW5lIENvbG9yIGdldEFjY2VudENvbG9y
KGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyT2JqZWN0KQoreworICAgIGF1dG8gYWNjZW50Q29s
b3IgPSByZW5kZXJPYmplY3Quc3R5bGUoKS5lZmZlY3RpdmVBY2NlbnRDb2xvcigpOworICAgIGlm
IChhY2NlbnRDb2xvci5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiBhY2NlbnRDb2xvcjsKKwor
ICAgIHJldHVybiBnZXRTeXN0ZW1BY2NlbnRDb2xvcigpOworfQorCiAjaWYgIVBMQVRGT1JNKEdU
SykKIFJlbmRlclRoZW1lJiBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkKIHsKQEAgLTEzNCw3ICsx
NDMsNyBAQCBib29sIFJlbmRlclRoZW1lQWR3YWl0YTo6c2hvdWxkSGF2ZUNhcHNMb2NrSW5kaWNh
dG9yKGNvbnN0IEhUTUxJbnB1dEVsZW1lbnQmIGVsZQogCiBDb2xvciBSZW5kZXJUaGVtZUFkd2Fp
dGE6OnBsYXRmb3JtQWN0aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKE9wdGlvblNldDxTdHls
ZUNvbG9yT3B0aW9ucz4pIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGdldEFjY2VudENvbG9yKCkuY29s
b3JXaXRoQWxwaGFNdWx0aXBsaWVkQnkoMC4zKTsKKyAgICByZXR1cm4gZ2V0U3lzdGVtQWNjZW50
Q29sb3IoKS5jb2xvcldpdGhBbHBoYU11bHRpcGxpZWRCeSgwLjMpOwogfQogCiBDb2xvciBSZW5k
ZXJUaGVtZUFkd2FpdGE6OnBsYXRmb3JtSW5hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3Io
T3B0aW9uU2V0PFN0eWxlQ29sb3JPcHRpb25zPiBvcHRpb25zKSBjb25zdApAQCAtMjg0LDcgKzI5
Myw3IEBAIGJvb2wgUmVuZGVyVGhlbWVBZHdhaXRhOjpwYWludFRleHRGaWVsZChjb25zdCBSZW5k
ZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29uc3QKICAgICBwYXRoLmFkZFJvdW5kZWRSZWN0KGZp
ZWxkUmVjdCwgY29ybmVyKTsKICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbFJ1bGUoV2luZFJ1
bGU6OkV2ZW5PZGQpOwogICAgIGlmIChlbmFibGVkICYmIGlzRm9jdXNlZChyZW5kZXJPYmplY3Qp
KQotICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFjY2VudENvbG9yKCkp
OworICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFjY2VudENvbG9yKHJl
bmRlck9iamVjdCkpOwogICAgIGVsc2UKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxD
b2xvcih0ZXh0RmllbGRCb3JkZXJDb2xvcik7CiAgICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxQYXRo
KHBhdGgpOwpAQCAtNDcxLDcgKzQ4MCw4IEBAIGJvb2wgUmVuZGVyVGhlbWVBZHdhaXRhOjpwYWlu
dFByb2dyZXNzQmFyKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyT2JqZWN0LCBjb25zCiAKICAg
ICBwYXRoLmFkZFJvdW5kZWRSZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKICAgICBncmFwaGljc0Nv
bnRleHQuc2V0RmlsbFJ1bGUoV2luZFJ1bGU6Ok5vblplcm8pOwotICAgIGdyYXBoaWNzQ29udGV4
dC5zZXRGaWxsQ29sb3IoZ2V0QWNjZW50Q29sb3IoKSk7CisKKyAgICBncmFwaGljc0NvbnRleHQu
c2V0RmlsbENvbG9yKGdldEFjY2VudENvbG9yKHJlbmRlck9iamVjdCkpOwogICAgIGdyYXBoaWNz
Q29udGV4dC5maWxsUGF0aChwYXRoKTsKIAogICAgIHJldHVybiBmYWxzZTsKQEAgLTU0MCw3ICs1
NTAsNyBAQCBib29sIFJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRTbGlkZXJUcmFjayhjb25zdCBS
ZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29ucwogCiAgICAgcGF0aC5hZGRSb3VuZGVkUmVj
dChGbG9hdFJvdW5kZWRSZWN0KHJhbmdlUmVjdCwgY29ybmVycykpOwogICAgIGdyYXBoaWNzQ29u
dGV4dC5zZXRGaWxsUnVsZShXaW5kUnVsZTo6Tm9uWmVybyk7Ci0gICAgZ3JhcGhpY3NDb250ZXh0
LnNldEZpbGxDb2xvcihnZXRBY2NlbnRDb2xvcigpKTsKKyAgICBncmFwaGljc0NvbnRleHQuc2V0
RmlsbENvbG9yKGdldEFjY2VudENvbG9yKHJlbmRlck9iamVjdCkpOwogICAgIGdyYXBoaWNzQ29u
dGV4dC5maWxsUGF0aChwYXRoKTsKIAogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQpAQCAt
NTk3LDcgKzYwNyw3IEBAIGJvb2wgUmVuZGVyVGhlbWVBZHdhaXRhOjpwYWludFNsaWRlclRodW1i
KGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyT2JqZWN0LCBjb25zCiAgICAgcGF0aC5hZGRFbGxp
cHNlKGZpZWxkUmVjdCk7CiAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxl
OjpFdmVuT2RkKTsKICAgICBpZiAoaXNFbmFibGVkKHJlbmRlck9iamVjdCkgJiYgaXNQcmVzc2Vk
KHJlbmRlck9iamVjdCkpCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoZ2V0
QWNjZW50Q29sb3IoKSk7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoZ2V0
QWNjZW50Q29sb3IocmVuZGVyT2JqZWN0KSk7CiAgICAgZWxzZQogICAgICAgICBncmFwaGljc0Nv
bnRleHQuc2V0RmlsbENvbG9yKHNsaWRlclRodW1iQm9yZGVyQ29sb3IpOwogICAgIGdyYXBoaWNz
Q29udGV4dC5maWxsUGF0aChwYXRoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNjc0ZGI4OTYyMDY4MjdiMjcwMDBlMmI4
MmQwYTljYTFmNDA3M2UwLi5mYjk4YjQyNDgyMDEyZGU5OGVjMGY1YWRmNmVjMzU2NzI2MTkzOGNh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDMtMjUgIEFsZXhhbmRlciBNaWtoYXlsZW5r
byAgPGFsZXhtQGdub21lLm9yZz4KKworICAgICAgICBbR1RLXVtXUEVdIFN1cHBvcnQgQ1NTIGFj
Y2VudC1jb2xvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM4Mzk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczogRW5hYmxlIGFjY2VudC1jb2xvciB0
ZXN0cyBmb3IgR1RLLgorCiAyMDIyLTAzLTI1ICBBbGV4YW5kZXIgTWlraGF5bGVua28gIDxhbGV4
bUBnbm9tZS5vcmc+CiAKICAgICAgICAgW0dUS11bV1BFXSBVcGRhdGUgd2lkZ2V0IHN0eWxlIHRv
IG1hdGNoIGxpYmFkd2FpdGEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggNGRiNDdhNDMwNTQyZWViZGQ2NWE1ODE5ZWI1YzQ2YjkxNDBiYjE4MS4uNjM2ZTVl
MDM2MDE5ZjhhNDgzYzJkNTc2OTA2OGIzMWUwMmFiODkyZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTMxLDYgKzMxLDEzIEBAIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci90NDI1LWhzbGEtb25zY3JlZW4tbXVsdGlw
bGUtYm94ZXMtCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2VtYmVkZGVkLWNvbnRlbnQvdGhlLWVtYmVkLWVsZW1lbnQvZW1iZWQtcmVwcmVzZW50LW5vdGhp
bmctMDIuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1hcmVhLWVsZW1lbnQvYXJlYS1jb29yZHMu
aHRtbCBbIFBhc3MgXQogCitmYXN0L2Nzcy9hY2NlbnQtY29sb3IvY2hlY2tib3guaHRtbCBbIFBh
c3MgXQorZmFzdC9jc3MvYWNjZW50LWNvbG9yL3Byb2dyZXNzLmh0bWwgWyBQYXNzIF0KK2Zhc3Qv
Y3NzL2FjY2VudC1jb2xvci9yYWRpby5odG1sIFsgUGFzcyBdCitmYXN0L2Nzcy9hY2NlbnQtY29s
b3IvcmFuZ2UuaHRtbCBbIFBhc3MgXQorZmFzdC9jc3MvYWNjZW50LWNvbG9yL3RleHQuaHRtbCBb
IFBhc3MgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXVpL2FjY2Vu
dC1jb2xvci1jaGVja2JveC1jaGVja2VkLTAwMS50ZW50YXRpdmUuaHRtbCBbIFBhc3MgXQorCiAj
IFNvbWUgQXBwbGUgcG9ydHMgZG9uJ3Qgc3VwcG9ydCBSVEwgc2Nyb2xsYmFycy4KIGZhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFsdGVybmF0ZS1ib2R5LWRpci1hdHRyLWRvZXMtbm90LXVw
ZGF0ZS1zY3JvbGxiYXItcGxhY2VtZW50Lmh0bWwgWyBQYXNzIF0KIGZhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sIFsgUGFzcyBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455852</attachid>
            <date>2022-03-26 11:47:32 -0700</date>
            <delta_ts>2022-03-26 11:48:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238398-20220326224735.patch</filename>
            <type>text/plain</type>
            <size>22120</size>
            <attacher name="Alice Mikhaylenko">alicem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZkMGY0OTkwMmU5ZDUxOTgzZWYyM2Ey
YmRhMTJiZWEwZGNhNGFmMGIuLjgwM2Q0MWZkMjBmZTVjZDgwZDcwMjY5YWNlNWI2Mjg3ZjUwMGI5
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDMtMjUgIEFsZXhhbmRlciBNaWtoYXlsZW5r
byAgPGFsZXhtQGdub21lLm9yZz4KKworICAgICAgICBbR1RLXVtXUEVdIFN1cHBvcnQgQ1NTIGFj
Y2VudC1jb2xvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM4Mzk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2FybG9zIEdhcmNpYSBDYW1wb3MuCisK
KyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
LnlhbWw6IEVuYWJsZSBhY2NlbnQtY29sb3IgZm9yIEdUSyBhbmQgV1BFLgorCiAyMDIyLTAzLTIz
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSW5saW5lIFN0cmlu
ZyhBU0NJSUxpdGVyYWwpIGNvbnN0cnVjdG9yIHNvIHRoZSBjb21waWxlciBjYW4gb3B0aW1pemUg
b3V0IHN0cmxlbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGU2NWE1MDZjMTkwNzc3NzhkZjIzNWZiYTkwY2U1
Zjc0Y2UwZGE0My4uY2YzNDg4ZTI3ODE5YTJmZmRiNDQ4NDc4ZjE5ZDg5ZDdkMjllMzQ4ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAzLTI1ICBBbGV4YW5kZXIgTWlraGF5bGVu
a28gIDxhbGV4bUBnbm9tZS5vcmc+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0IENTUyBh
Y2NlbnQtY29sb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzODM5OAorCisgICAgICAgIFJldmlld2VkIGJ5IENhcmxvcyBHYXJjaWEgQ2FtcG9zLgor
CisgICAgICAgIEFkZCBhY2NlbnQtY29sb3Igc3VwcG9ydCBmb3IgcHJvZ3Jlc3MsIHJhbmdlIGFu
ZCBlbnRyaWVzLgorICAgICAgICBVcGRhdGUgY2hlY2sgYW5kIHJhZGlvIHN0eWxlcyBzbyB0aGF0
IHRoZXkgY2FuIHVzZSBhY2NlbnQgY29sb3IgYXMgd2VsbC4KKworICAgICAgICAqIHBsYXRmb3Jt
L2Fkd2FpdGEvVGhlbWVBZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lQWR3YWl0
YTo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6VGhlbWVBZHdhaXRhOjpwYWludENoZWNrYm94
KToKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lQWR3YWl0YTo6cGFpbnRSYWRpbyk6CisgICAgICAg
ICogcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFkd2FpdGEuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWVBZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldFN5c3RlbUFjY2Vu
dENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OmdldEFjY2VudENvbG9yKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6cGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25CYWNrZ3Jv
dW5kQ29sb3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpw
YWludFRleHRGaWVsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OnBh
aW50UHJvZ3Jlc3NCYXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpw
YWludFNsaWRlclRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6
cGFpbnRTbGlkZXJUaHVtYik6CisKIDIwMjItMDMtMjUgIEFsZXhhbmRlciBNaWtoYXlsZW5rbyAg
PGFsZXhtQGdub21lLm9yZz4KIAogICAgICAgICBbR1RLXVtXUEVdIFVwZGF0ZSB3aWRnZXQgc3R5
bGUgdG8gbWF0Y2ggbGliYWR3YWl0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRzL1By
ZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RGL1Nj
cmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRleCAy
ZWM3YjQwZjI0NzFiZWZjM2RiODI5MDFiZmYwNTA3NDA0ZmE4OTllLi5lZTk5NGVlZmExNzA0NTk1
Zjc3Y2Q4MjNhNjcyMzlhZjBmMDc4ZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMv
UHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3VyY2Uv
V1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApA
QCAtMzUsMTAgKzM1LDEwIEBAIEFjY2VudENvbG9yRW5hYmxlZDoKICAgICAgICJQTEFURk9STShD
T0NPQSkiIDogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJLaXQ6Ci0gICAgICAi
UExBVEZPUk0oQ09DT0EpIiA6IHRydWUKKyAgICAgICJQTEFURk9STShDT0NPQSkgfHwgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShXUEUpIjogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAg
ICBXZWJDb3JlOgotICAgICAgIlBMQVRGT1JNKENPQ09BKSIgOiB0cnVlCisgICAgICAiUExBVEZP
Uk0oQ09DT0EpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKSI6IHRydWUKICAgICAg
IGRlZmF1bHQ6IGZhbHNlCiAKIEFjY2Vzc0hhbmRsZUVuYWJsZWQ6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5jcHAKaW5kZXggMmZkNjJhZWE2NGMx
YTgyNGIwMDY3YjI0YzBjN2JkNGU2N2QwYTU5MC4uNWQzMDczMzdhNjE1NWMwYjJmODBmY2Y0NTE5
MzcxZmYyYTJhMjQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYWR3YWl0
YS9UaGVtZUFkd2FpdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fkd2FpdGEv
VGhlbWVBZHdhaXRhLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlRoZW1lQWR3YWl0
YS5oIgogCiAjaW5jbHVkZSAiQ29sb3IuaCIKKyNpbmNsdWRlICJDb2xvckJsZW5kaW5nLmgiCiAj
aW5jbHVkZSAiQ29udHJvbFN0YXRlcy5oIgogI2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIK
ICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKQEAgLTUwLDI2ICs1MSwyNSBAQCBzdGF0aWMg
Y29uc3RleHByIGF1dG8gYnV0dG9uQm9yZGVyQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsg
MCwgMCwgMCwgNTAgfTsKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBidXR0b25CYWNrZ3JvdW5kQ29s
b3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjQ0LCAyNDQsIDI0NCB9Owogc3RhdGljIGNvbnN0
ZXhwciBhdXRvIGJ1dHRvbkJhY2tncm91bmRQcmVzc2VkQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4
X3Q+IHsgMjE0LCAyMTQsIDIxNCB9Owogc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1dHRvbkJhY2tn
cm91bmRIb3ZlcmVkQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjQ4LCAyNDgsIDI0OCB9
Owotc3RhdGljIGNvbnN0ZXhwciBhdXRvIHRvZ2dsZUJhY2tncm91bmRDb2xvckxpZ2h0ID0gQ29s
b3I6OndoaXRlOwotc3RhdGljIGNvbnN0ZXhwciBhdXRvIHRvZ2dsZUJhY2tncm91bmRIb3ZlcmVk
Q29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjE0LCAyMTQsIDIxNCB9Oworc3RhdGljIGNv
bnN0ZXhwciBhdXRvIHRvZ2dsZUJvcmRlckNvbG9yTGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAs
IDAsIDAsIDUwIH07CitzdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQm9yZGVySG92ZXJlZENv
bG9yTGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDgwIH07CiAKIHN0YXRpYyBjb25z
dGV4cHIgYXV0byBidXR0b25Cb3JkZXJDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDI1NSwg
MjU1LCAyNTUsIDUwIH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uQmFja2dyb3VuZENv
bG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgNTIsIDUyLCA1MiB9Owogc3RhdGljIGNvbnN0ZXhw
ciBhdXRvIGJ1dHRvbkJhY2tncm91bmRQcmVzc2VkQ29sb3JEYXJrID0gU1JHQkE8dWludDhfdD4g
eyAzMCwgMzAsIDMwIH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uQmFja2dyb3VuZEhv
dmVyZWRDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDYwLCA2MCwgNjAgfTsKLXN0YXRpYyBj
b25zdGV4cHIgYXV0byB0b2dnbGVCYWNrZ3JvdW5kQ29sb3JEYXJrID0gU1JHQkE8dWludDhfdD4g
eyA0NSwgNDUsIDQ1IH07Ci1zdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQmFja2dyb3VuZEhv
dmVyZWRDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDYwLCA2MCwgNjAgfTsKK3N0YXRpYyBj
b25zdGV4cHIgYXV0byB0b2dnbGVCb3JkZXJDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDI1
NSwgMjU1LCAyNTUsIDUwIH07CitzdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQm9yZGVySG92
ZXJlZENvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgODAgfTsKIAog
c3RhdGljIGNvbnN0IGRvdWJsZSB0b2dnbGVTaXplID0gMTQuOworc3RhdGljIGNvbnN0IGludCB0
b2dnbGVCb3JkZXJTaXplID0gMjsKIHN0YXRpYyBjb25zdCBpbnQgdG9nZ2xlRm9jdXNPZmZzZXQg
PSAyOwogCi1zdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQ29sb3JMaWdodCA9IFNSR0JBPHVp
bnQ4X3Q+IHsgMCwgMCwgMCwgMjAwIH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gc3BpbkJ1dHRv
bkJvcmRlckNvbG9yTGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDI1IH07CiBzdGF0
aWMgY29uc3RleHByIGF1dG8gc3BpbkJ1dHRvbkJhY2tncm91bmRDb2xvckxpZ2h0ID0gQ29sb3I6
OndoaXRlOwogc3RhdGljIGNvbnN0ZXhwciBhdXRvIHNwaW5CdXR0b25CYWNrZ3JvdW5kSG92ZXJl
ZENvbG9yTGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDUwIH07CiBzdGF0aWMgY29u
c3RleHByIGF1dG8gc3BpbkJ1dHRvbkJhY2tncm91bmRQcmVzc2VkQ29sb3JMaWdodCA9IFNSR0JB
PHVpbnQ4X3Q+IHsgMCwgMCwgMCwgNzAgfTsKIAotc3RhdGljIGNvbnN0ZXhwciBhdXRvIHRvZ2ds
ZUNvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgMjAwIH07CiBzdGF0
aWMgY29uc3RleHByIGF1dG8gc3BpbkJ1dHRvbkJvcmRlckNvbG9yRGFyayA9IFNSR0JBPHVpbnQ4
X3Q+IHsgMjU1LCAyNTUsIDI1NSwgMjUgfTsKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBzcGluQnV0
dG9uQmFja2dyb3VuZENvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgNDUsIDQ1LCA0NSB9Owog
c3RhdGljIGNvbnN0ZXhwciBhdXRvIHNwaW5CdXR0b25CYWNrZ3JvdW5kSG92ZXJlZENvbG9yRGFy
ayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgNTAgfTsKQEAgLTIwMSwxNCArMjAx
LDE0IEBAIExlbmd0aEJveCBUaGVtZUFkd2FpdGE6OmNvbnRyb2xCb3JkZXIoQ29udHJvbFBhcnQg
cGFydCwgY29uc3QgRm9udENhc2NhZGUmIGZvbnQsCiAgICAgcmV0dXJuIFRoZW1lOjpjb250cm9s
Qm9yZGVyKHBhcnQsIGZvbnQsIHpvb21lZEJveCwgem9vbUZhY3Rvcik7CiB9CiAKLXZvaWQgVGhl
bWVBZHdhaXRhOjpwYWludChDb250cm9sUGFydCBwYXJ0LCBDb250cm9sU3RhdGVzJiBzdGF0ZXMs
IEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBm
bG9hdCwgU2Nyb2xsVmlldyosIGZsb2F0LCBmbG9hdCwgYm9vbCwgYm9vbCB1c2VEYXJrQXBwZWFy
YW5jZSwgY29uc3QgQ29sb3ImKQordm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50KENvbnRyb2xQYXJ0
IHBhcnQsIENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBj
b25zdCBGbG9hdFJlY3QmIHpvb21lZFJlY3QsIGZsb2F0LCBTY3JvbGxWaWV3KiwgZmxvYXQsIGZs
b2F0LCBib29sLCBib29sIHVzZURhcmtBcHBlYXJhbmNlLCBjb25zdCBDb2xvciYgZWZmZWN0aXZl
QWNjZW50Q29sb3IpCiB7CiAgICAgc3dpdGNoIChwYXJ0KSB7CiAgICAgY2FzZSBDaGVja2JveFBh
cnQ6Ci0gICAgICAgIHBhaW50Q2hlY2tib3goc3RhdGVzLCBjb250ZXh0LCB6b29tZWRSZWN0LCB1
c2VEYXJrQXBwZWFyYW5jZSk7CisgICAgICAgIHBhaW50Q2hlY2tib3goc3RhdGVzLCBjb250ZXh0
LCB6b29tZWRSZWN0LCB1c2VEYXJrQXBwZWFyYW5jZSwgZWZmZWN0aXZlQWNjZW50Q29sb3IpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFJhZGlvUGFydDoKLSAgICAgICAgcGFpbnRSYWRpbyhz
dGF0ZXMsIGNvbnRleHQsIHpvb21lZFJlY3QsIHVzZURhcmtBcHBlYXJhbmNlKTsKKyAgICAgICAg
cGFpbnRSYWRpbyhzdGF0ZXMsIGNvbnRleHQsIHpvb21lZFJlY3QsIHVzZURhcmtBcHBlYXJhbmNl
LCBlZmZlY3RpdmVBY2NlbnRDb2xvcik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUHVzaEJ1
dHRvblBhcnQ6CiAgICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoKQEAgLTIyNCw3ICsyMjQsNyBA
QCB2b2lkIFRoZW1lQWR3YWl0YTo6cGFpbnQoQ29udHJvbFBhcnQgcGFydCwgQ29udHJvbFN0YXRl
cyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleAogICAgIH0KIH0KIAotdm9pZCBUaGVtZUFkd2FpdGE6
OnBhaW50Q2hlY2tib3goQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdy
YXBoaWNzQ29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBib29sIHVzZURhcmtB
cHBlYXJhbmNlKQordm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50Q2hlY2tib3goQ29udHJvbFN0YXRl
cyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgRmxvYXRS
ZWN0JiB6b29tZWRSZWN0LCBib29sIHVzZURhcmtBcHBlYXJhbmNlLCBjb25zdCBDb2xvciYgZWZm
ZWN0aXZlQWNjZW50Q29sb3IpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0
ZVNhdmVyKGdyYXBoaWNzQ29udGV4dCk7CiAKQEAgLTIzOCw0OCArMjM4LDM3IEBAIHZvaWQgVGhl
bWVBZHdhaXRhOjpwYWludENoZWNrYm94KENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3ND
b250ZXh0JiBncmFwaGljCiAgICAgICAgICAgICBmaWVsZFJlY3QubW92ZSgwLCAoem9vbWVkUmVj
dC5oZWlnaHQoKSAtIGZpZWxkUmVjdC5oZWlnaHQoKSkgLyAyLjApOwogICAgIH0KIAotICAgIFNS
R0JBPHVpbnQ4X3Q+IGJ1dHRvbkJvcmRlckNvbG9yOwotICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2ds
ZUJhY2tncm91bmRDb2xvcjsKLSAgICBTUkdCQTx1aW50OF90PiB0b2dnbGVCYWNrZ3JvdW5kSG92
ZXJlZENvbG9yOwotICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUNvbG9yOworICAgIFNSR0JBPHVp
bnQ4X3Q+IHRvZ2dsZUJvcmRlckNvbG9yOworICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUJvcmRl
ckhvdmVyQ29sb3I7CiAKICAgICBpZiAodXNlRGFya0FwcGVhcmFuY2UpIHsKLSAgICAgICAgYnV0
dG9uQm9yZGVyQ29sb3IgPSBidXR0b25Cb3JkZXJDb2xvckRhcms7Ci0gICAgICAgIHRvZ2dsZUJh
Y2tncm91bmRDb2xvciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckRhcms7Ci0gICAgICAgIHRvZ2ds
ZUJhY2tncm91bmRIb3ZlcmVkQ29sb3IgPSB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yRGFy
azsKLSAgICAgICAgdG9nZ2xlQ29sb3IgPSB0b2dnbGVDb2xvckRhcms7CisgICAgICAgIHRvZ2ds
ZUJvcmRlckNvbG9yID0gdG9nZ2xlQm9yZGVyQ29sb3JEYXJrOworICAgICAgICB0b2dnbGVCb3Jk
ZXJIb3ZlckNvbG9yID0gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yRGFyazsKICAgICB9IGVsc2Ug
ewotICAgICAgICBidXR0b25Cb3JkZXJDb2xvciA9IGJ1dHRvbkJvcmRlckNvbG9yTGlnaHQ7Ci0g
ICAgICAgIHRvZ2dsZUJhY2tncm91bmRDb2xvciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckxpZ2h0
OwotICAgICAgICB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yID0gdG9nZ2xlQmFja2dyb3Vu
ZEhvdmVyZWRDb2xvckxpZ2h0OwotICAgICAgICB0b2dnbGVDb2xvciA9IHRvZ2dsZUNvbG9yTGln
aHQ7CisgICAgICAgIHRvZ2dsZUJvcmRlckNvbG9yID0gdG9nZ2xlQm9yZGVyQ29sb3JMaWdodDsK
KyAgICAgICAgdG9nZ2xlQm9yZGVySG92ZXJDb2xvciA9IHRvZ2dsZUJvcmRlckhvdmVyZWRDb2xv
ckxpZ2h0OwogICAgIH0KIAorICAgIENvbG9yIGFjY2VudENvbG9yID0gZWZmZWN0aXZlQWNjZW50
Q29sb3IuaXNWYWxpZCgpID8gZWZmZWN0aXZlQWNjZW50Q29sb3IgOiBtX2FjY2VudENvbG9yOwor
ICAgIENvbG9yIGZvcmVncm91bmRDb2xvciA9IGFjY2VudENvbG9yLmx1bWluYW5jZSgpID4gMC41
ID8gQ29sb3IoU1JHQkE8dWludDhfdD4geyAwLCAwLCAwLCAyMDQgfSkgOiBDb2xvcjo6d2hpdGU7
CisgICAgQ29sb3IgYWNjZW50SG92ZXJDb2xvciA9IGJsZW5kU291cmNlT3ZlcihhY2NlbnRDb2xv
ciwgZm9yZWdyb3VuZENvbG9yLmNvbG9yV2l0aEFscGhhTXVsdGlwbGllZEJ5KDAuMSkpOworCiAg
ICAgaWYgKCFzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpF
bmFibGVkKSkKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIo
ZGlzYWJsZWRPcGFjaXR5KTsKIAogICAgIEZsb2F0U2l6ZSBjb3JuZXIoMiwgMik7CiAgICAgUGF0
aCBwYXRoOwotICAgIHBhdGguYWRkUm91bmRlZFJlY3QoZmllbGRSZWN0LCBjb3JuZXIpOwotICAg
IGZpZWxkUmVjdC5pbmZsYXRlKC1idXR0b25Cb3JkZXJTaXplKTsKLSAgICBjb3JuZXIuZXhwYW5k
KC1idXR0b25Cb3JkZXJTaXplLCAtYnV0dG9uQm9yZGVyU2l6ZSk7Ci0gICAgcGF0aC5hZGRSb3Vu
ZGVkUmVjdChmaWVsZFJlY3QsIGNvcm5lcik7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxS
dWxlKFdpbmRSdWxlOjpFdmVuT2RkKTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9y
KGJ1dHRvbkJvcmRlckNvbG9yKTsKLSAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7
Ci0gICAgcGF0aC5jbGVhcigpOwotCi0gICAgcGF0aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJlY3Qs
IGNvcm5lcik7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25a
ZXJvKTsKLSAgICBpZiAoc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0
YXRlczo6SG92ZXJlZCkKLSAgICAgICAgJiYgc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRy
b2xTdGF0ZXM6OlN0YXRlczo6RW5hYmxlZCkpCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRG
aWxsQ29sb3IodG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvcik7Ci0gICAgZWxzZQotICAgICAg
ICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJhY2tncm91bmRDb2xvcik7Ci0g
ICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxQYXRoKHBhdGgpOwotICAgIHBhdGguY2xlYXIoKTsKIAog
ICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnNBbnkoeyBDb250cm9sU3RhdGVzOjpTdGF0
ZXM6OkNoZWNrZWQsIENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6SW5kZXRlcm1pbmF0ZSB9KSkgewor
ICAgICAgICBwYXRoLmFkZFJvdW5kZWRSZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKKyAgICAgICAg
Z3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKKyAgICAgICAg
aWYgKHN0YXRlcy5zdGF0ZXMoKS5jb250YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkhvdmVy
ZWQpICYmIHN0YXRlcy5zdGF0ZXMoKS5jb250YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkVu
YWJsZWQpKQorICAgICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihhY2NlbnRI
b3ZlckNvbG9yKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNl
dEZpbGxDb2xvcihhY2NlbnRDb2xvcik7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5maWxsUGF0
aChwYXRoKTsKKyAgICAgICAgcGF0aC5jbGVhcigpOworCiAgICAgICAgIEdyYXBoaWNzQ29udGV4
dFN0YXRlU2F2ZXIgY2hlY2tlZFN0YXRlU2F2ZXIoZ3JhcGhpY3NDb250ZXh0KTsKICAgICAgICAg
Z3JhcGhpY3NDb250ZXh0LnRyYW5zbGF0ZShmaWVsZFJlY3QueCgpLCBmaWVsZFJlY3QueSgpKTsK
ICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNjYWxlKEZsb2F0U2l6ZTo6bmFycm93UHJlY2lzaW9u
KGZpZWxkUmVjdC53aWR0aCgpIC8gdG9nZ2xlU2l6ZSwgZmllbGRSZWN0LmhlaWdodCgpIC8gdG9n
Z2xlU2l6ZSkpOwpAQCAtMjk0LDEwICsyODMsMjIgQEAgdm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50
Q2hlY2tib3goQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWMK
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBwYXRoLmFkZFJvdW5kZWRSZWN0KEZsb2F0UmVj
dCgyLCA1LCAxMCwgNCksIGNvcm5lcik7CiAKLSAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZp
bGxDb2xvcih0b2dnbGVDb2xvcik7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29s
b3IoZm9yZWdyb3VuZENvbG9yKTsKIAogICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgo
cGF0aCk7CiAgICAgICAgIHBhdGguY2xlYXIoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBwYXRo
LmFkZFJvdW5kZWRSZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKKyAgICAgICAgZmllbGRSZWN0Lmlu
ZmxhdGUoLXRvZ2dsZUJvcmRlclNpemUpOworICAgICAgICBjb3JuZXIuZXhwYW5kKC1idXR0b25C
b3JkZXJTaXplLCAtYnV0dG9uQm9yZGVyU2l6ZSk7CisgICAgICAgIHBhdGguYWRkUm91bmRlZFJl
Y3QoZmllbGRSZWN0LCBjb3JuZXIpOworICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbFJ1
bGUoV2luZFJ1bGU6OkV2ZW5PZGQpOworICAgICAgICBpZiAoc3RhdGVzLnN0YXRlcygpLmNvbnRh
aW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6SG92ZXJlZCkgJiYgc3RhdGVzLnN0YXRlcygpLmNv
bnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6RW5hYmxlZCkpCisgICAgICAgICAgICBncmFw
aGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJvcmRlckhvdmVyQ29sb3IpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJv
cmRlckNvbG9yKTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxQYXRoKHBhdGgpOworICAg
ICAgICBwYXRoLmNsZWFyKCk7CiAgICAgfQogCiAgICAgaWYgKHN0YXRlcy5zdGF0ZXMoKS5jb250
YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkZvY3VzZWQpKQpAQCAtMzA3LDcgKzMwOCw3IEBA
IHZvaWQgVGhlbWVBZHdhaXRhOjpwYWludENoZWNrYm94KENvbnRyb2xTdGF0ZXMmIHN0YXRlcywg
R3JhcGhpY3NDb250ZXh0JiBncmFwaGljCiAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5lbmRUcmFu
c3BhcmVuY3lMYXllcigpOwogfQogCi12b2lkIFRoZW1lQWR3YWl0YTo6cGFpbnRSYWRpbyhDb250
cm9sU3RhdGVzJiBzdGF0ZXMsIEdyYXBoaWNzQ29udGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBjb25z
dCBGbG9hdFJlY3QmIHpvb21lZFJlY3QsIGJvb2wgdXNlRGFya0FwcGVhcmFuY2UpCit2b2lkIFRo
ZW1lQWR3YWl0YTo6cGFpbnRSYWRpbyhDb250cm9sU3RhdGVzJiBzdGF0ZXMsIEdyYXBoaWNzQ29u
dGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHpvb21lZFJlY3QsIGJvb2wg
dXNlRGFya0FwcGVhcmFuY2UsIGNvbnN0IENvbG9yJiBlZmZlY3RpdmVBY2NlbnRDb2xvcikKIHsK
ICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoZ3JhcGhpY3NDb250ZXh0
KTsKICAgICBGbG9hdFJlY3QgZmllbGRSZWN0ID0gem9vbWVkUmVjdDsKQEAgLTMyMCw1MCArMzIx
LDUxIEBAIHZvaWQgVGhlbWVBZHdhaXRhOjpwYWludFJhZGlvKENvbnRyb2xTdGF0ZXMmIHN0YXRl
cywgR3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvCiAgICAgICAgICAgICBmaWVsZFJlY3QubW92
ZSgwLCAoem9vbWVkUmVjdC5oZWlnaHQoKSAtIGZpZWxkUmVjdC5oZWlnaHQoKSkgLyAyLjApOwog
ICAgIH0KIAotICAgIFNSR0JBPHVpbnQ4X3Q+IGJ1dHRvbkJvcmRlckNvbG9yOwotICAgIFNSR0JB
PHVpbnQ4X3Q+IHRvZ2dsZUJhY2tncm91bmRDb2xvcjsKLSAgICBTUkdCQTx1aW50OF90PiB0b2dn
bGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yOwotICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUNvbG9y
OworICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUJvcmRlckNvbG9yOworICAgIFNSR0JBPHVpbnQ4
X3Q+IHRvZ2dsZUJvcmRlckhvdmVyQ29sb3I7CiAKICAgICBpZiAodXNlRGFya0FwcGVhcmFuY2Up
IHsKLSAgICAgICAgYnV0dG9uQm9yZGVyQ29sb3IgPSBidXR0b25Cb3JkZXJDb2xvckRhcms7Ci0g
ICAgICAgIHRvZ2dsZUJhY2tncm91bmRDb2xvciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckRhcms7
Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRIb3ZlcmVkQ29sb3IgPSB0b2dnbGVCYWNrZ3JvdW5k
SG92ZXJlZENvbG9yRGFyazsKLSAgICAgICAgdG9nZ2xlQ29sb3IgPSB0b2dnbGVDb2xvckRhcms7
CisgICAgICAgIHRvZ2dsZUJvcmRlckNvbG9yID0gdG9nZ2xlQm9yZGVyQ29sb3JEYXJrOworICAg
ICAgICB0b2dnbGVCb3JkZXJIb3ZlckNvbG9yID0gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yRGFy
azsKICAgICB9IGVsc2UgewotICAgICAgICBidXR0b25Cb3JkZXJDb2xvciA9IGJ1dHRvbkJvcmRl
ckNvbG9yTGlnaHQ7Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRDb2xvciA9IHRvZ2dsZUJhY2tn
cm91bmRDb2xvckxpZ2h0OwotICAgICAgICB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yID0g
dG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvckxpZ2h0OwotICAgICAgICB0b2dnbGVDb2xvciA9
IHRvZ2dsZUNvbG9yTGlnaHQ7CisgICAgICAgIHRvZ2dsZUJvcmRlckNvbG9yID0gdG9nZ2xlQm9y
ZGVyQ29sb3JMaWdodDsKKyAgICAgICAgdG9nZ2xlQm9yZGVySG92ZXJDb2xvciA9IHRvZ2dsZUJv
cmRlckhvdmVyZWRDb2xvckxpZ2h0OwogICAgIH0KIAorICAgIENvbG9yIGFjY2VudENvbG9yID0g
ZWZmZWN0aXZlQWNjZW50Q29sb3IuaXNWYWxpZCgpID8gZWZmZWN0aXZlQWNjZW50Q29sb3IgOiBt
X2FjY2VudENvbG9yOworICAgIENvbG9yIGZvcmVncm91bmRDb2xvciA9IGFjY2VudENvbG9yLmx1
bWluYW5jZSgpID4gMC41ID8gQ29sb3IoU1JHQkE8dWludDhfdD4geyAwLCAwLCAwLCAyMDQgfSkg
OiBDb2xvcjo6d2hpdGU7CisgICAgQ29sb3IgYWNjZW50SG92ZXJDb2xvciA9IGJsZW5kU291cmNl
T3ZlcihhY2NlbnRDb2xvciwgZm9yZWdyb3VuZENvbG9yLmNvbG9yV2l0aEFscGhhTXVsdGlwbGll
ZEJ5KDAuMSkpOworCiAgICAgaWYgKCFzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0
YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmJlZ2luVHJh
bnNwYXJlbmN5TGF5ZXIoZGlzYWJsZWRPcGFjaXR5KTsKIAogICAgIFBhdGggcGF0aDsKLSAgICBw
YXRoLmFkZEVsbGlwc2UoZmllbGRSZWN0KTsKLSAgICBmaWVsZFJlY3QuaW5mbGF0ZSgtYnV0dG9u
Qm9yZGVyU2l6ZSk7Ci0gICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7Ci0gICAgZ3JhcGhp
Y3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpFdmVuT2RkKTsKLSAgICBncmFwaGljc0Nv
bnRleHQuc2V0RmlsbENvbG9yKGJ1dHRvbkJvcmRlckNvbG9yKTsKLSAgICBncmFwaGljc0NvbnRl
eHQuZmlsbFBhdGgocGF0aCk7Ci0gICAgcGF0aC5jbGVhcigpOwogCi0gICAgcGF0aC5hZGRFbGxp
cHNlKGZpZWxkUmVjdCk7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxl
OjpOb25aZXJvKTsKLSAgICBpZiAoc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0
ZXM6OlN0YXRlczo6SG92ZXJlZCkKLSAgICAgICAgJiYgc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5z
KENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6RW5hYmxlZCkpCi0gICAgICAgIGdyYXBoaWNzQ29udGV4
dC5zZXRGaWxsQ29sb3IodG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvcik7Ci0gICAgZWxzZQot
ICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJhY2tncm91bmRDb2xv
cik7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxQYXRoKHBhdGgpOwotICAgIHBhdGguY2xlYXIo
KTsKKyAgICBpZiAoc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zQW55KHsgQ29udHJvbFN0YXRlczo6
U3RhdGVzOjpDaGVja2VkLCBDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkluZGV0ZXJtaW5hdGUgfSkp
IHsKKyAgICAgICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7CisgICAgICAgIGdyYXBoaWNz
Q29udGV4dC5zZXRGaWxsUnVsZShXaW5kUnVsZTo6Tm9uWmVybyk7CisgICAgICAgIGlmIChzdGF0
ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpIb3ZlcmVkKSAmJiBz
dGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkK
KyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoYWNjZW50SG92ZXJDb2xv
cik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29s
b3IoYWNjZW50Q29sb3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7
CisgICAgICAgIHBhdGguY2xlYXIoKTsKIAotICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFp
bnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpDaGVja2VkKSkgewogICAgICAgICBmaWVsZFJlY3Qu
aW5mbGF0ZSgtKGZpZWxkUmVjdC53aWR0aCgpIC0gZmllbGRSZWN0LndpZHRoKCkgKiAwLjcwKSk7
CiAgICAgICAgIHBhdGguYWRkRWxsaXBzZShmaWVsZFJlY3QpOwotICAgICAgICBncmFwaGljc0Nv
bnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUNvbG9yKTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0
LnNldEZpbGxDb2xvcihmb3JlZ3JvdW5kQ29sb3IpOwogICAgICAgICBncmFwaGljc0NvbnRleHQu
ZmlsbFBhdGgocGF0aCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcGF0aC5hZGRFbGxpcHNlKGZp
ZWxkUmVjdCk7CisgICAgICAgIGZpZWxkUmVjdC5pbmZsYXRlKC10b2dnbGVCb3JkZXJTaXplKTsK
KyAgICAgICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7CisgICAgICAgIGdyYXBoaWNzQ29u
dGV4dC5zZXRGaWxsUnVsZShXaW5kUnVsZTo6RXZlbk9kZCk7CisgICAgICAgIGlmIChzdGF0ZXMu
c3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpIb3ZlcmVkKSAmJiBzdGF0
ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKKyAg
ICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IodG9nZ2xlQm9yZGVySG92ZXJD
b2xvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxs
Q29sb3IodG9nZ2xlQm9yZGVyQ29sb3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBh
dGgocGF0aCk7CisgICAgICAgIHBhdGguY2xlYXIoKTsKICAgICB9CiAKICAgICBpZiAoc3RhdGVz
LnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6Rm9jdXNlZCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFkd2FpdGEuaAppbmRleCA1ZTZh
OTdhZGQwNDE5ODgwMzg0NDRmNWRhYTA2NGQzNzUwNDVjNWM4Li5kN2ZmOWMwOTYxMjJmZjdmYmIy
ZmIxNjMyNGFjYmMzNjdiZDFhNjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fk
d2FpdGEvVGhlbWVBZHdhaXRhLmgKQEAgLTUyLDggKzUyLDggQEAgcHJpdmF0ZToKICAgICBMZW5n
dGhCb3ggY29udHJvbEJvcmRlcihDb250cm9sUGFydCwgY29uc3QgRm9udENhc2NhZGUmLCBjb25z
dCBMZW5ndGhCb3gmLCBmbG9hdCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBwYWludChDb250cm9s
UGFydCwgQ29udHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYs
IGZsb2F0LCBTY3JvbGxWaWV3KiwgZmxvYXQsIGZsb2F0LCBib29sLCBib29sLCBjb25zdCBDb2xv
ciYpIGZpbmFsOwogCi0gICAgdm9pZCBwYWludENoZWNrYm94KENvbnRyb2xTdGF0ZXMmLCBHcmFw
aGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBib29sKTsKLSAgICB2b2lkIHBhaW50UmFk
aW8oQ29udHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYsIGJv
b2wpOworICAgIHZvaWQgcGFpbnRDaGVja2JveChDb250cm9sU3RhdGVzJiwgR3JhcGhpY3NDb250
ZXh0JiwgY29uc3QgRmxvYXRSZWN0JiwgYm9vbCwgY29uc3QgQ29sb3ImKTsKKyAgICB2b2lkIHBh
aW50UmFkaW8oQ29udHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVj
dCYsIGJvb2wsIGNvbnN0IENvbG9yJik7CiAgICAgdm9pZCBwYWludEJ1dHRvbihDb250cm9sU3Rh
dGVzJiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRSZWN0JiwgYm9vbCk7CiAgICAgdm9p
ZCBwYWludFNwaW5CdXR0b24oQ29udHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0
IEZsb2F0UmVjdCYsIGJvb2wpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUFkd2FpdGEuY3BwCmluZGV4IDhlZGUwODY2MGZjNjY4ZGY4ZDkxNDU3MTg0YzI3YWVh
ZDJhZTY4ZTMuLjljM2MzYWZiNjY3MjdjMzkwN2ExNWIyNDM4YjU5ZTIxNmE5ZDk5MjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCkBAIC05
MywxMSArOTMsMjAgQEAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1dHRvblRleHREaXNhYmxlZENv
bG9yTGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDEKIHN0YXRpYyBjb25zdGV4cHIg
YXV0byBidXR0b25UZXh0Q29sb3JEYXJrID0gU1JHQkE8dWludDhfdD4geyAyNTUsIDI1NSwgMjU1
IH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uVGV4dERpc2FibGVkQ29sb3JEYXJrID0g
U1JHQkE8dWludDhfdD4geyAyNTUsIDI1NSwgMjU1LCAxMjcgfTsKIAotc3RhdGljIGlubGluZSBD
b2xvciBnZXRBY2NlbnRDb2xvcigpCitzdGF0aWMgaW5saW5lIENvbG9yIGdldFN5c3RlbUFjY2Vu
dENvbG9yKCkKIHsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VGhlbWVBZHdhaXRhJj4oVGhlbWU6
OnNpbmdsZXRvbigpKS5hY2NlbnRDb2xvcigpOwogfQogCitzdGF0aWMgaW5saW5lIENvbG9yIGdl
dEFjY2VudENvbG9yKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyT2JqZWN0KQoreworICAgIGF1
dG8gYWNjZW50Q29sb3IgPSByZW5kZXJPYmplY3Quc3R5bGUoKS5lZmZlY3RpdmVBY2NlbnRDb2xv
cigpOworICAgIGlmIChhY2NlbnRDb2xvci5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiBhY2Nl
bnRDb2xvcjsKKworICAgIHJldHVybiBnZXRTeXN0ZW1BY2NlbnRDb2xvcigpOworfQorCiAjaWYg
IVBMQVRGT1JNKEdUSykKIFJlbmRlclRoZW1lJiBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkKIHsK
QEAgLTEzNCw3ICsxNDMsNyBAQCBib29sIFJlbmRlclRoZW1lQWR3YWl0YTo6c2hvdWxkSGF2ZUNh
cHNMb2NrSW5kaWNhdG9yKGNvbnN0IEhUTUxJbnB1dEVsZW1lbnQmIGVsZQogCiBDb2xvciBSZW5k
ZXJUaGVtZUFkd2FpdGE6OnBsYXRmb3JtQWN0aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKE9w
dGlvblNldDxTdHlsZUNvbG9yT3B0aW9ucz4pIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGdldEFjY2Vu
dENvbG9yKCkuY29sb3JXaXRoQWxwaGFNdWx0aXBsaWVkQnkoMC4zKTsKKyAgICByZXR1cm4gZ2V0
U3lzdGVtQWNjZW50Q29sb3IoKS5jb2xvcldpdGhBbHBoYU11bHRpcGxpZWRCeSgwLjMpOwogfQog
CiBDb2xvciBSZW5kZXJUaGVtZUFkd2FpdGE6OnBsYXRmb3JtSW5hY3RpdmVTZWxlY3Rpb25CYWNr
Z3JvdW5kQ29sb3IoT3B0aW9uU2V0PFN0eWxlQ29sb3JPcHRpb25zPiBvcHRpb25zKSBjb25zdApA
QCAtMjg0LDcgKzI5Myw3IEBAIGJvb2wgUmVuZGVyVGhlbWVBZHdhaXRhOjpwYWludFRleHRGaWVs
ZChjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29uc3QKICAgICBwYXRoLmFkZFJv
dW5kZWRSZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKICAgICBncmFwaGljc0NvbnRleHQuc2V0Rmls
bFJ1bGUoV2luZFJ1bGU6OkV2ZW5PZGQpOwogICAgIGlmIChlbmFibGVkICYmIGlzRm9jdXNlZChy
ZW5kZXJPYmplY3QpKQotICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFj
Y2VudENvbG9yKCkpOworICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFj
Y2VudENvbG9yKHJlbmRlck9iamVjdCkpOwogICAgIGVsc2UKICAgICAgICAgZ3JhcGhpY3NDb250
ZXh0LnNldEZpbGxDb2xvcih0ZXh0RmllbGRCb3JkZXJDb2xvcik7CiAgICAgZ3JhcGhpY3NDb250
ZXh0LmZpbGxQYXRoKHBhdGgpOwpAQCAtNDcxLDcgKzQ4MCw4IEBAIGJvb2wgUmVuZGVyVGhlbWVB
ZHdhaXRhOjpwYWludFByb2dyZXNzQmFyKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyT2JqZWN0
LCBjb25zCiAKICAgICBwYXRoLmFkZFJvdW5kZWRSZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKICAg
ICBncmFwaGljc0NvbnRleHQuc2V0RmlsbFJ1bGUoV2luZFJ1bGU6Ok5vblplcm8pOwotICAgIGdy
YXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoZ2V0QWNjZW50Q29sb3IoKSk7CisKKyAgICBncmFw
aGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFjY2VudENvbG9yKHJlbmRlck9iamVjdCkpOwog
ICAgIGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChwYXRoKTsKIAogICAgIHJldHVybiBmYWxzZTsK
QEAgLTU0MCw3ICs1NTAsNyBAQCBib29sIFJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRTbGlkZXJU
cmFjayhjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29ucwogCiAgICAgcGF0aC5h
ZGRSb3VuZGVkUmVjdChGbG9hdFJvdW5kZWRSZWN0KHJhbmdlUmVjdCwgY29ybmVycykpOwogICAg
IGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsUnVsZShXaW5kUnVsZTo6Tm9uWmVybyk7Ci0gICAgZ3Jh
cGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihnZXRBY2NlbnRDb2xvcigpKTsKKyAgICBncmFwaGlj
c0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFjY2VudENvbG9yKHJlbmRlck9iamVjdCkpOwogICAg
IGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChwYXRoKTsKIAogI2lmIEVOQUJMRShEQVRBTElTVF9F
TEVNRU5UKQpAQCAtNTk3LDcgKzYwNyw3IEBAIGJvb2wgUmVuZGVyVGhlbWVBZHdhaXRhOjpwYWlu
dFNsaWRlclRodW1iKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyT2JqZWN0LCBjb25zCiAgICAg
cGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7CiAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxS
dWxlKFdpbmRSdWxlOjpFdmVuT2RkKTsKICAgICBpZiAoaXNFbmFibGVkKHJlbmRlck9iamVjdCkg
JiYgaXNQcmVzc2VkKHJlbmRlck9iamVjdCkpCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRG
aWxsQ29sb3IoZ2V0QWNjZW50Q29sb3IoKSk7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRG
aWxsQ29sb3IoZ2V0QWNjZW50Q29sb3IocmVuZGVyT2JqZWN0KSk7CiAgICAgZWxzZQogICAgICAg
ICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHNsaWRlclRodW1iQm9yZGVyQ29sb3IpOwog
ICAgIGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChwYXRoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNjc0ZGI4OTYyMDY4
MjdiMjcwMDBlMmI4MmQwYTljYTFmNDA3M2UwLi4xZTFhZjU1MjM1MDRiZGNjMzgyNTE3NTg1YWNj
YTE1NGFkNGQ4NWIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDMtMjUgIEFsZXhhbmRl
ciBNaWtoYXlsZW5rbyAgPGFsZXhtQGdub21lLm9yZz4KKworICAgICAgICBbR1RLXVtXUEVdIFN1
cHBvcnQgQ1NTIGFjY2VudC1jb2xvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM4Mzk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2FybG9zIEdhcmNp
YSBDYW1wb3MuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczogRW5h
YmxlIGFjY2VudC1jb2xvciB0ZXN0cyBmb3IgR1RLLgorCiAyMDIyLTAzLTI1ICBBbGV4YW5kZXIg
TWlraGF5bGVua28gIDxhbGV4bUBnbm9tZS5vcmc+CiAKICAgICAgICAgW0dUS11bV1BFXSBVcGRh
dGUgd2lkZ2V0IHN0eWxlIHRvIG1hdGNoIGxpYmFkd2FpdGEKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNGRiNDdhNDMwNTQyZWViZGQ2NWE1ODE5ZWI1YzQ2
YjkxNDBiYjE4MS4uNjM2ZTVlMDM2MDE5ZjhhNDgzYzJkNTc2OTA2OGIzMWUwMmFiODkyZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTMxLDYgKzMxLDEz
IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci90NDI1LWhz
bGEtb25zY3JlZW4tbXVsdGlwbGUtYm94ZXMtCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWVtYmVkLWVsZW1lbnQvZW1i
ZWQtcmVwcmVzZW50LW5vdGhpbmctMDIuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1hcmVhLWVs
ZW1lbnQvYXJlYS1jb29yZHMuaHRtbCBbIFBhc3MgXQogCitmYXN0L2Nzcy9hY2NlbnQtY29sb3Iv
Y2hlY2tib3guaHRtbCBbIFBhc3MgXQorZmFzdC9jc3MvYWNjZW50LWNvbG9yL3Byb2dyZXNzLmh0
bWwgWyBQYXNzIF0KK2Zhc3QvY3NzL2FjY2VudC1jb2xvci9yYWRpby5odG1sIFsgUGFzcyBdCitm
YXN0L2Nzcy9hY2NlbnQtY29sb3IvcmFuZ2UuaHRtbCBbIFBhc3MgXQorZmFzdC9jc3MvYWNjZW50
LWNvbG9yL3RleHQuaHRtbCBbIFBhc3MgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXVpL2FjY2VudC1jb2xvci1jaGVja2JveC1jaGVja2VkLTAwMS50ZW50YXRpdmUu
aHRtbCBbIFBhc3MgXQorCiAjIFNvbWUgQXBwbGUgcG9ydHMgZG9uJ3Qgc3VwcG9ydCBSVEwgc2Ny
b2xsYmFycy4KIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFsdGVybmF0ZS1ib2R5LWRp
ci1hdHRyLWRvZXMtbm90LXVwZGF0ZS1zY3JvbGxiYXItcGxhY2VtZW50Lmh0bWwgWyBQYXNzIF0K
IGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sIFsgUGFz
cyBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455853</attachid>
            <date>2022-03-26 11:48:30 -0700</date>
            <delta_ts>2022-03-27 04:54:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238398-20220326224833.patch</filename>
            <type>text/plain</type>
            <size>22120</size>
            <attacher name="Alice Mikhaylenko">alicem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZkMGY0OTkwMmU5ZDUxOTgzZWYyM2Ey
YmRhMTJiZWEwZGNhNGFmMGIuLjgwM2Q0MWZkMjBmZTVjZDgwZDcwMjY5YWNlNWI2Mjg3ZjUwMGI5
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDMtMjUgIEFsZXhhbmRlciBNaWtoYXlsZW5r
byAgPGFsZXhtQGdub21lLm9yZz4KKworICAgICAgICBbR1RLXVtXUEVdIFN1cHBvcnQgQ1NTIGFj
Y2VudC1jb2xvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM4Mzk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2FybG9zIEdhcmNpYSBDYW1wb3MuCisK
KyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
LnlhbWw6IEVuYWJsZSBhY2NlbnQtY29sb3IgZm9yIEdUSyBhbmQgV1BFLgorCiAyMDIyLTAzLTIz
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSW5saW5lIFN0cmlu
ZyhBU0NJSUxpdGVyYWwpIGNvbnN0cnVjdG9yIHNvIHRoZSBjb21waWxlciBjYW4gb3B0aW1pemUg
b3V0IHN0cmxlbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGU2NWE1MDZjMTkwNzc3NzhkZjIzNWZiYTkwY2U1
Zjc0Y2UwZGE0My4uY2YzNDg4ZTI3ODE5YTJmZmRiNDQ4NDc4ZjE5ZDg5ZDdkMjllMzQ4ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAzLTI1ICBBbGV4YW5kZXIgTWlraGF5bGVu
a28gIDxhbGV4bUBnbm9tZS5vcmc+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0IENTUyBh
Y2NlbnQtY29sb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzODM5OAorCisgICAgICAgIFJldmlld2VkIGJ5IENhcmxvcyBHYXJjaWEgQ2FtcG9zLgor
CisgICAgICAgIEFkZCBhY2NlbnQtY29sb3Igc3VwcG9ydCBmb3IgcHJvZ3Jlc3MsIHJhbmdlIGFu
ZCBlbnRyaWVzLgorICAgICAgICBVcGRhdGUgY2hlY2sgYW5kIHJhZGlvIHN0eWxlcyBzbyB0aGF0
IHRoZXkgY2FuIHVzZSBhY2NlbnQgY29sb3IgYXMgd2VsbC4KKworICAgICAgICAqIHBsYXRmb3Jt
L2Fkd2FpdGEvVGhlbWVBZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lQWR3YWl0
YTo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6VGhlbWVBZHdhaXRhOjpwYWludENoZWNrYm94
KToKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lQWR3YWl0YTo6cGFpbnRSYWRpbyk6CisgICAgICAg
ICogcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFkd2FpdGEuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWVBZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldFN5c3RlbUFjY2Vu
dENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OmdldEFjY2VudENvbG9yKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6cGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25CYWNrZ3Jv
dW5kQ29sb3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpw
YWludFRleHRGaWVsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OnBh
aW50UHJvZ3Jlc3NCYXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpw
YWludFNsaWRlclRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6
cGFpbnRTbGlkZXJUaHVtYik6CisKIDIwMjItMDMtMjUgIEFsZXhhbmRlciBNaWtoYXlsZW5rbyAg
PGFsZXhtQGdub21lLm9yZz4KIAogICAgICAgICBbR1RLXVtXUEVdIFVwZGF0ZSB3aWRnZXQgc3R5
bGUgdG8gbWF0Y2ggbGliYWR3YWl0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRzL1By
ZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RGL1Nj
cmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRleCAy
ZWM3YjQwZjI0NzFiZWZjM2RiODI5MDFiZmYwNTA3NDA0ZmE4OTllLi5lZTk5NGVlZmExNzA0NTk1
Zjc3Y2Q4MjNhNjcyMzlhZjBmMDc4ZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMv
UHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3VyY2Uv
V1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApA
QCAtMzUsMTAgKzM1LDEwIEBAIEFjY2VudENvbG9yRW5hYmxlZDoKICAgICAgICJQTEFURk9STShD
T0NPQSkiIDogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJLaXQ6Ci0gICAgICAi
UExBVEZPUk0oQ09DT0EpIiA6IHRydWUKKyAgICAgICJQTEFURk9STShDT0NPQSkgfHwgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShXUEUpIjogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAg
ICBXZWJDb3JlOgotICAgICAgIlBMQVRGT1JNKENPQ09BKSIgOiB0cnVlCisgICAgICAiUExBVEZP
Uk0oQ09DT0EpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKSI6IHRydWUKICAgICAg
IGRlZmF1bHQ6IGZhbHNlCiAKIEFjY2Vzc0hhbmRsZUVuYWJsZWQ6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5jcHAKaW5kZXggMmZkNjJhZWE2NGMx
YTgyNGIwMDY3YjI0YzBjN2JkNGU2N2QwYTU5MC4uNWQzMDczMzdhNjE1NWMwYjJmODBmY2Y0NTE5
MzcxZmYyYTJhMjQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYWR3YWl0
YS9UaGVtZUFkd2FpdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fkd2FpdGEv
VGhlbWVBZHdhaXRhLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlRoZW1lQWR3YWl0
YS5oIgogCiAjaW5jbHVkZSAiQ29sb3IuaCIKKyNpbmNsdWRlICJDb2xvckJsZW5kaW5nLmgiCiAj
aW5jbHVkZSAiQ29udHJvbFN0YXRlcy5oIgogI2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIK
ICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKQEAgLTUwLDI2ICs1MSwyNSBAQCBzdGF0aWMg
Y29uc3RleHByIGF1dG8gYnV0dG9uQm9yZGVyQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsg
MCwgMCwgMCwgNTAgfTsKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBidXR0b25CYWNrZ3JvdW5kQ29s
b3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjQ0LCAyNDQsIDI0NCB9Owogc3RhdGljIGNvbnN0
ZXhwciBhdXRvIGJ1dHRvbkJhY2tncm91bmRQcmVzc2VkQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4
X3Q+IHsgMjE0LCAyMTQsIDIxNCB9Owogc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1dHRvbkJhY2tn
cm91bmRIb3ZlcmVkQ29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjQ4LCAyNDgsIDI0OCB9
Owotc3RhdGljIGNvbnN0ZXhwciBhdXRvIHRvZ2dsZUJhY2tncm91bmRDb2xvckxpZ2h0ID0gQ29s
b3I6OndoaXRlOwotc3RhdGljIGNvbnN0ZXhwciBhdXRvIHRvZ2dsZUJhY2tncm91bmRIb3ZlcmVk
Q29sb3JMaWdodCA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjE0LCAyMTQsIDIxNCB9Oworc3RhdGljIGNv
bnN0ZXhwciBhdXRvIHRvZ2dsZUJvcmRlckNvbG9yTGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAs
IDAsIDAsIDUwIH07CitzdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQm9yZGVySG92ZXJlZENv
bG9yTGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDgwIH07CiAKIHN0YXRpYyBjb25z
dGV4cHIgYXV0byBidXR0b25Cb3JkZXJDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDI1NSwg
MjU1LCAyNTUsIDUwIH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uQmFja2dyb3VuZENv
bG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgNTIsIDUyLCA1MiB9Owogc3RhdGljIGNvbnN0ZXhw
ciBhdXRvIGJ1dHRvbkJhY2tncm91bmRQcmVzc2VkQ29sb3JEYXJrID0gU1JHQkE8dWludDhfdD4g
eyAzMCwgMzAsIDMwIH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uQmFja2dyb3VuZEhv
dmVyZWRDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDYwLCA2MCwgNjAgfTsKLXN0YXRpYyBj
b25zdGV4cHIgYXV0byB0b2dnbGVCYWNrZ3JvdW5kQ29sb3JEYXJrID0gU1JHQkE8dWludDhfdD4g
eyA0NSwgNDUsIDQ1IH07Ci1zdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQmFja2dyb3VuZEhv
dmVyZWRDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDYwLCA2MCwgNjAgfTsKK3N0YXRpYyBj
b25zdGV4cHIgYXV0byB0b2dnbGVCb3JkZXJDb2xvckRhcmsgPSBTUkdCQTx1aW50OF90PiB7IDI1
NSwgMjU1LCAyNTUsIDUwIH07CitzdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQm9yZGVySG92
ZXJlZENvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgODAgfTsKIAog
c3RhdGljIGNvbnN0IGRvdWJsZSB0b2dnbGVTaXplID0gMTQuOworc3RhdGljIGNvbnN0IGludCB0
b2dnbGVCb3JkZXJTaXplID0gMjsKIHN0YXRpYyBjb25zdCBpbnQgdG9nZ2xlRm9jdXNPZmZzZXQg
PSAyOwogCi1zdGF0aWMgY29uc3RleHByIGF1dG8gdG9nZ2xlQ29sb3JMaWdodCA9IFNSR0JBPHVp
bnQ4X3Q+IHsgMCwgMCwgMCwgMjAwIH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gc3BpbkJ1dHRv
bkJvcmRlckNvbG9yTGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDI1IH07CiBzdGF0
aWMgY29uc3RleHByIGF1dG8gc3BpbkJ1dHRvbkJhY2tncm91bmRDb2xvckxpZ2h0ID0gQ29sb3I6
OndoaXRlOwogc3RhdGljIGNvbnN0ZXhwciBhdXRvIHNwaW5CdXR0b25CYWNrZ3JvdW5kSG92ZXJl
ZENvbG9yTGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDUwIH07CiBzdGF0aWMgY29u
c3RleHByIGF1dG8gc3BpbkJ1dHRvbkJhY2tncm91bmRQcmVzc2VkQ29sb3JMaWdodCA9IFNSR0JB
PHVpbnQ4X3Q+IHsgMCwgMCwgMCwgNzAgfTsKIAotc3RhdGljIGNvbnN0ZXhwciBhdXRvIHRvZ2ds
ZUNvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgMjAwIH07CiBzdGF0
aWMgY29uc3RleHByIGF1dG8gc3BpbkJ1dHRvbkJvcmRlckNvbG9yRGFyayA9IFNSR0JBPHVpbnQ4
X3Q+IHsgMjU1LCAyNTUsIDI1NSwgMjUgfTsKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBzcGluQnV0
dG9uQmFja2dyb3VuZENvbG9yRGFyayA9IFNSR0JBPHVpbnQ4X3Q+IHsgNDUsIDQ1LCA0NSB9Owog
c3RhdGljIGNvbnN0ZXhwciBhdXRvIHNwaW5CdXR0b25CYWNrZ3JvdW5kSG92ZXJlZENvbG9yRGFy
ayA9IFNSR0JBPHVpbnQ4X3Q+IHsgMjU1LCAyNTUsIDI1NSwgNTAgfTsKQEAgLTIwMSwxNCArMjAx
LDE0IEBAIExlbmd0aEJveCBUaGVtZUFkd2FpdGE6OmNvbnRyb2xCb3JkZXIoQ29udHJvbFBhcnQg
cGFydCwgY29uc3QgRm9udENhc2NhZGUmIGZvbnQsCiAgICAgcmV0dXJuIFRoZW1lOjpjb250cm9s
Qm9yZGVyKHBhcnQsIGZvbnQsIHpvb21lZEJveCwgem9vbUZhY3Rvcik7CiB9CiAKLXZvaWQgVGhl
bWVBZHdhaXRhOjpwYWludChDb250cm9sUGFydCBwYXJ0LCBDb250cm9sU3RhdGVzJiBzdGF0ZXMs
IEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBm
bG9hdCwgU2Nyb2xsVmlldyosIGZsb2F0LCBmbG9hdCwgYm9vbCwgYm9vbCB1c2VEYXJrQXBwZWFy
YW5jZSwgY29uc3QgQ29sb3ImKQordm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50KENvbnRyb2xQYXJ0
IHBhcnQsIENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBj
b25zdCBGbG9hdFJlY3QmIHpvb21lZFJlY3QsIGZsb2F0LCBTY3JvbGxWaWV3KiwgZmxvYXQsIGZs
b2F0LCBib29sLCBib29sIHVzZURhcmtBcHBlYXJhbmNlLCBjb25zdCBDb2xvciYgZWZmZWN0aXZl
QWNjZW50Q29sb3IpCiB7CiAgICAgc3dpdGNoIChwYXJ0KSB7CiAgICAgY2FzZSBDaGVja2JveFBh
cnQ6Ci0gICAgICAgIHBhaW50Q2hlY2tib3goc3RhdGVzLCBjb250ZXh0LCB6b29tZWRSZWN0LCB1
c2VEYXJrQXBwZWFyYW5jZSk7CisgICAgICAgIHBhaW50Q2hlY2tib3goc3RhdGVzLCBjb250ZXh0
LCB6b29tZWRSZWN0LCB1c2VEYXJrQXBwZWFyYW5jZSwgZWZmZWN0aXZlQWNjZW50Q29sb3IpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFJhZGlvUGFydDoKLSAgICAgICAgcGFpbnRSYWRpbyhz
dGF0ZXMsIGNvbnRleHQsIHpvb21lZFJlY3QsIHVzZURhcmtBcHBlYXJhbmNlKTsKKyAgICAgICAg
cGFpbnRSYWRpbyhzdGF0ZXMsIGNvbnRleHQsIHpvb21lZFJlY3QsIHVzZURhcmtBcHBlYXJhbmNl
LCBlZmZlY3RpdmVBY2NlbnRDb2xvcik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUHVzaEJ1
dHRvblBhcnQ6CiAgICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoKQEAgLTIyNCw3ICsyMjQsNyBA
QCB2b2lkIFRoZW1lQWR3YWl0YTo6cGFpbnQoQ29udHJvbFBhcnQgcGFydCwgQ29udHJvbFN0YXRl
cyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleAogICAgIH0KIH0KIAotdm9pZCBUaGVtZUFkd2FpdGE6
OnBhaW50Q2hlY2tib3goQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdy
YXBoaWNzQ29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBib29sIHVzZURhcmtB
cHBlYXJhbmNlKQordm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50Q2hlY2tib3goQ29udHJvbFN0YXRl
cyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgRmxvYXRS
ZWN0JiB6b29tZWRSZWN0LCBib29sIHVzZURhcmtBcHBlYXJhbmNlLCBjb25zdCBDb2xvciYgZWZm
ZWN0aXZlQWNjZW50Q29sb3IpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0
ZVNhdmVyKGdyYXBoaWNzQ29udGV4dCk7CiAKQEAgLTIzOCw0OCArMjM4LDM3IEBAIHZvaWQgVGhl
bWVBZHdhaXRhOjpwYWludENoZWNrYm94KENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3ND
b250ZXh0JiBncmFwaGljCiAgICAgICAgICAgICBmaWVsZFJlY3QubW92ZSgwLCAoem9vbWVkUmVj
dC5oZWlnaHQoKSAtIGZpZWxkUmVjdC5oZWlnaHQoKSkgLyAyLjApOwogICAgIH0KIAotICAgIFNS
R0JBPHVpbnQ4X3Q+IGJ1dHRvbkJvcmRlckNvbG9yOwotICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2ds
ZUJhY2tncm91bmRDb2xvcjsKLSAgICBTUkdCQTx1aW50OF90PiB0b2dnbGVCYWNrZ3JvdW5kSG92
ZXJlZENvbG9yOwotICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUNvbG9yOworICAgIFNSR0JBPHVp
bnQ4X3Q+IHRvZ2dsZUJvcmRlckNvbG9yOworICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUJvcmRl
ckhvdmVyQ29sb3I7CiAKICAgICBpZiAodXNlRGFya0FwcGVhcmFuY2UpIHsKLSAgICAgICAgYnV0
dG9uQm9yZGVyQ29sb3IgPSBidXR0b25Cb3JkZXJDb2xvckRhcms7Ci0gICAgICAgIHRvZ2dsZUJh
Y2tncm91bmRDb2xvciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckRhcms7Ci0gICAgICAgIHRvZ2ds
ZUJhY2tncm91bmRIb3ZlcmVkQ29sb3IgPSB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yRGFy
azsKLSAgICAgICAgdG9nZ2xlQ29sb3IgPSB0b2dnbGVDb2xvckRhcms7CisgICAgICAgIHRvZ2ds
ZUJvcmRlckNvbG9yID0gdG9nZ2xlQm9yZGVyQ29sb3JEYXJrOworICAgICAgICB0b2dnbGVCb3Jk
ZXJIb3ZlckNvbG9yID0gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yRGFyazsKICAgICB9IGVsc2Ug
ewotICAgICAgICBidXR0b25Cb3JkZXJDb2xvciA9IGJ1dHRvbkJvcmRlckNvbG9yTGlnaHQ7Ci0g
ICAgICAgIHRvZ2dsZUJhY2tncm91bmRDb2xvciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckxpZ2h0
OwotICAgICAgICB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yID0gdG9nZ2xlQmFja2dyb3Vu
ZEhvdmVyZWRDb2xvckxpZ2h0OwotICAgICAgICB0b2dnbGVDb2xvciA9IHRvZ2dsZUNvbG9yTGln
aHQ7CisgICAgICAgIHRvZ2dsZUJvcmRlckNvbG9yID0gdG9nZ2xlQm9yZGVyQ29sb3JMaWdodDsK
KyAgICAgICAgdG9nZ2xlQm9yZGVySG92ZXJDb2xvciA9IHRvZ2dsZUJvcmRlckhvdmVyZWRDb2xv
ckxpZ2h0OwogICAgIH0KIAorICAgIENvbG9yIGFjY2VudENvbG9yID0gZWZmZWN0aXZlQWNjZW50
Q29sb3IuaXNWYWxpZCgpID8gZWZmZWN0aXZlQWNjZW50Q29sb3IgOiBtX2FjY2VudENvbG9yOwor
ICAgIENvbG9yIGZvcmVncm91bmRDb2xvciA9IGFjY2VudENvbG9yLmx1bWluYW5jZSgpID4gMC41
ID8gQ29sb3IoU1JHQkE8dWludDhfdD4geyAwLCAwLCAwLCAyMDQgfSkgOiBDb2xvcjo6d2hpdGU7
CisgICAgQ29sb3IgYWNjZW50SG92ZXJDb2xvciA9IGJsZW5kU291cmNlT3ZlcihhY2NlbnRDb2xv
ciwgZm9yZWdyb3VuZENvbG9yLmNvbG9yV2l0aEFscGhhTXVsdGlwbGllZEJ5KDAuMSkpOworCiAg
ICAgaWYgKCFzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpF
bmFibGVkKSkKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIo
ZGlzYWJsZWRPcGFjaXR5KTsKIAogICAgIEZsb2F0U2l6ZSBjb3JuZXIoMiwgMik7CiAgICAgUGF0
aCBwYXRoOwotICAgIHBhdGguYWRkUm91bmRlZFJlY3QoZmllbGRSZWN0LCBjb3JuZXIpOwotICAg
IGZpZWxkUmVjdC5pbmZsYXRlKC1idXR0b25Cb3JkZXJTaXplKTsKLSAgICBjb3JuZXIuZXhwYW5k
KC1idXR0b25Cb3JkZXJTaXplLCAtYnV0dG9uQm9yZGVyU2l6ZSk7Ci0gICAgcGF0aC5hZGRSb3Vu
ZGVkUmVjdChmaWVsZFJlY3QsIGNvcm5lcik7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxS
dWxlKFdpbmRSdWxlOjpFdmVuT2RkKTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9y
KGJ1dHRvbkJvcmRlckNvbG9yKTsKLSAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7
Ci0gICAgcGF0aC5jbGVhcigpOwotCi0gICAgcGF0aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJlY3Qs
IGNvcm5lcik7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25a
ZXJvKTsKLSAgICBpZiAoc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0
YXRlczo6SG92ZXJlZCkKLSAgICAgICAgJiYgc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRy
b2xTdGF0ZXM6OlN0YXRlczo6RW5hYmxlZCkpCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRG
aWxsQ29sb3IodG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvcik7Ci0gICAgZWxzZQotICAgICAg
ICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJhY2tncm91bmRDb2xvcik7Ci0g
ICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxQYXRoKHBhdGgpOwotICAgIHBhdGguY2xlYXIoKTsKIAog
ICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnNBbnkoeyBDb250cm9sU3RhdGVzOjpTdGF0
ZXM6OkNoZWNrZWQsIENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6SW5kZXRlcm1pbmF0ZSB9KSkgewor
ICAgICAgICBwYXRoLmFkZFJvdW5kZWRSZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKKyAgICAgICAg
Z3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKKyAgICAgICAg
aWYgKHN0YXRlcy5zdGF0ZXMoKS5jb250YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkhvdmVy
ZWQpICYmIHN0YXRlcy5zdGF0ZXMoKS5jb250YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkVu
YWJsZWQpKQorICAgICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihhY2NlbnRI
b3ZlckNvbG9yKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNl
dEZpbGxDb2xvcihhY2NlbnRDb2xvcik7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5maWxsUGF0
aChwYXRoKTsKKyAgICAgICAgcGF0aC5jbGVhcigpOworCiAgICAgICAgIEdyYXBoaWNzQ29udGV4
dFN0YXRlU2F2ZXIgY2hlY2tlZFN0YXRlU2F2ZXIoZ3JhcGhpY3NDb250ZXh0KTsKICAgICAgICAg
Z3JhcGhpY3NDb250ZXh0LnRyYW5zbGF0ZShmaWVsZFJlY3QueCgpLCBmaWVsZFJlY3QueSgpKTsK
ICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNjYWxlKEZsb2F0U2l6ZTo6bmFycm93UHJlY2lzaW9u
KGZpZWxkUmVjdC53aWR0aCgpIC8gdG9nZ2xlU2l6ZSwgZmllbGRSZWN0LmhlaWdodCgpIC8gdG9n
Z2xlU2l6ZSkpOwpAQCAtMjk0LDEwICsyODMsMjIgQEAgdm9pZCBUaGVtZUFkd2FpdGE6OnBhaW50
Q2hlY2tib3goQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBoaWMK
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBwYXRoLmFkZFJvdW5kZWRSZWN0KEZsb2F0UmVj
dCgyLCA1LCAxMCwgNCksIGNvcm5lcik7CiAKLSAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZp
bGxDb2xvcih0b2dnbGVDb2xvcik7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29s
b3IoZm9yZWdyb3VuZENvbG9yKTsKIAogICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgo
cGF0aCk7CiAgICAgICAgIHBhdGguY2xlYXIoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBwYXRo
LmFkZFJvdW5kZWRSZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKKyAgICAgICAgZmllbGRSZWN0Lmlu
ZmxhdGUoLXRvZ2dsZUJvcmRlclNpemUpOworICAgICAgICBjb3JuZXIuZXhwYW5kKC1idXR0b25C
b3JkZXJTaXplLCAtYnV0dG9uQm9yZGVyU2l6ZSk7CisgICAgICAgIHBhdGguYWRkUm91bmRlZFJl
Y3QoZmllbGRSZWN0LCBjb3JuZXIpOworICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbFJ1
bGUoV2luZFJ1bGU6OkV2ZW5PZGQpOworICAgICAgICBpZiAoc3RhdGVzLnN0YXRlcygpLmNvbnRh
aW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6SG92ZXJlZCkgJiYgc3RhdGVzLnN0YXRlcygpLmNv
bnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6RW5hYmxlZCkpCisgICAgICAgICAgICBncmFw
aGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJvcmRlckhvdmVyQ29sb3IpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJv
cmRlckNvbG9yKTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxQYXRoKHBhdGgpOworICAg
ICAgICBwYXRoLmNsZWFyKCk7CiAgICAgfQogCiAgICAgaWYgKHN0YXRlcy5zdGF0ZXMoKS5jb250
YWlucyhDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkZvY3VzZWQpKQpAQCAtMzA3LDcgKzMwOCw3IEBA
IHZvaWQgVGhlbWVBZHdhaXRhOjpwYWludENoZWNrYm94KENvbnRyb2xTdGF0ZXMmIHN0YXRlcywg
R3JhcGhpY3NDb250ZXh0JiBncmFwaGljCiAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5lbmRUcmFu
c3BhcmVuY3lMYXllcigpOwogfQogCi12b2lkIFRoZW1lQWR3YWl0YTo6cGFpbnRSYWRpbyhDb250
cm9sU3RhdGVzJiBzdGF0ZXMsIEdyYXBoaWNzQ29udGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBjb25z
dCBGbG9hdFJlY3QmIHpvb21lZFJlY3QsIGJvb2wgdXNlRGFya0FwcGVhcmFuY2UpCit2b2lkIFRo
ZW1lQWR3YWl0YTo6cGFpbnRSYWRpbyhDb250cm9sU3RhdGVzJiBzdGF0ZXMsIEdyYXBoaWNzQ29u
dGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHpvb21lZFJlY3QsIGJvb2wg
dXNlRGFya0FwcGVhcmFuY2UsIGNvbnN0IENvbG9yJiBlZmZlY3RpdmVBY2NlbnRDb2xvcikKIHsK
ICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoZ3JhcGhpY3NDb250ZXh0
KTsKICAgICBGbG9hdFJlY3QgZmllbGRSZWN0ID0gem9vbWVkUmVjdDsKQEAgLTMyMCw1MCArMzIx
LDUxIEBAIHZvaWQgVGhlbWVBZHdhaXRhOjpwYWludFJhZGlvKENvbnRyb2xTdGF0ZXMmIHN0YXRl
cywgR3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvCiAgICAgICAgICAgICBmaWVsZFJlY3QubW92
ZSgwLCAoem9vbWVkUmVjdC5oZWlnaHQoKSAtIGZpZWxkUmVjdC5oZWlnaHQoKSkgLyAyLjApOwog
ICAgIH0KIAotICAgIFNSR0JBPHVpbnQ4X3Q+IGJ1dHRvbkJvcmRlckNvbG9yOwotICAgIFNSR0JB
PHVpbnQ4X3Q+IHRvZ2dsZUJhY2tncm91bmRDb2xvcjsKLSAgICBTUkdCQTx1aW50OF90PiB0b2dn
bGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yOwotICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUNvbG9y
OworICAgIFNSR0JBPHVpbnQ4X3Q+IHRvZ2dsZUJvcmRlckNvbG9yOworICAgIFNSR0JBPHVpbnQ4
X3Q+IHRvZ2dsZUJvcmRlckhvdmVyQ29sb3I7CiAKICAgICBpZiAodXNlRGFya0FwcGVhcmFuY2Up
IHsKLSAgICAgICAgYnV0dG9uQm9yZGVyQ29sb3IgPSBidXR0b25Cb3JkZXJDb2xvckRhcms7Ci0g
ICAgICAgIHRvZ2dsZUJhY2tncm91bmRDb2xvciA9IHRvZ2dsZUJhY2tncm91bmRDb2xvckRhcms7
Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRIb3ZlcmVkQ29sb3IgPSB0b2dnbGVCYWNrZ3JvdW5k
SG92ZXJlZENvbG9yRGFyazsKLSAgICAgICAgdG9nZ2xlQ29sb3IgPSB0b2dnbGVDb2xvckRhcms7
CisgICAgICAgIHRvZ2dsZUJvcmRlckNvbG9yID0gdG9nZ2xlQm9yZGVyQ29sb3JEYXJrOworICAg
ICAgICB0b2dnbGVCb3JkZXJIb3ZlckNvbG9yID0gdG9nZ2xlQm9yZGVySG92ZXJlZENvbG9yRGFy
azsKICAgICB9IGVsc2UgewotICAgICAgICBidXR0b25Cb3JkZXJDb2xvciA9IGJ1dHRvbkJvcmRl
ckNvbG9yTGlnaHQ7Ci0gICAgICAgIHRvZ2dsZUJhY2tncm91bmRDb2xvciA9IHRvZ2dsZUJhY2tn
cm91bmRDb2xvckxpZ2h0OwotICAgICAgICB0b2dnbGVCYWNrZ3JvdW5kSG92ZXJlZENvbG9yID0g
dG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvckxpZ2h0OwotICAgICAgICB0b2dnbGVDb2xvciA9
IHRvZ2dsZUNvbG9yTGlnaHQ7CisgICAgICAgIHRvZ2dsZUJvcmRlckNvbG9yID0gdG9nZ2xlQm9y
ZGVyQ29sb3JMaWdodDsKKyAgICAgICAgdG9nZ2xlQm9yZGVySG92ZXJDb2xvciA9IHRvZ2dsZUJv
cmRlckhvdmVyZWRDb2xvckxpZ2h0OwogICAgIH0KIAorICAgIENvbG9yIGFjY2VudENvbG9yID0g
ZWZmZWN0aXZlQWNjZW50Q29sb3IuaXNWYWxpZCgpID8gZWZmZWN0aXZlQWNjZW50Q29sb3IgOiBt
X2FjY2VudENvbG9yOworICAgIENvbG9yIGZvcmVncm91bmRDb2xvciA9IGFjY2VudENvbG9yLmx1
bWluYW5jZSgpID4gMC41ID8gQ29sb3IoU1JHQkE8dWludDhfdD4geyAwLCAwLCAwLCAyMDQgfSkg
OiBDb2xvcjo6d2hpdGU7CisgICAgQ29sb3IgYWNjZW50SG92ZXJDb2xvciA9IGJsZW5kU291cmNl
T3ZlcihhY2NlbnRDb2xvciwgZm9yZWdyb3VuZENvbG9yLmNvbG9yV2l0aEFscGhhTXVsdGlwbGll
ZEJ5KDAuMSkpOworCiAgICAgaWYgKCFzdGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0
YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmJlZ2luVHJh
bnNwYXJlbmN5TGF5ZXIoZGlzYWJsZWRPcGFjaXR5KTsKIAogICAgIFBhdGggcGF0aDsKLSAgICBw
YXRoLmFkZEVsbGlwc2UoZmllbGRSZWN0KTsKLSAgICBmaWVsZFJlY3QuaW5mbGF0ZSgtYnV0dG9u
Qm9yZGVyU2l6ZSk7Ci0gICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7Ci0gICAgZ3JhcGhp
Y3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpFdmVuT2RkKTsKLSAgICBncmFwaGljc0Nv
bnRleHQuc2V0RmlsbENvbG9yKGJ1dHRvbkJvcmRlckNvbG9yKTsKLSAgICBncmFwaGljc0NvbnRl
eHQuZmlsbFBhdGgocGF0aCk7Ci0gICAgcGF0aC5jbGVhcigpOwogCi0gICAgcGF0aC5hZGRFbGxp
cHNlKGZpZWxkUmVjdCk7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxl
OjpOb25aZXJvKTsKLSAgICBpZiAoc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0
ZXM6OlN0YXRlczo6SG92ZXJlZCkKLSAgICAgICAgJiYgc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5z
KENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6RW5hYmxlZCkpCi0gICAgICAgIGdyYXBoaWNzQ29udGV4
dC5zZXRGaWxsQ29sb3IodG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvcik7Ci0gICAgZWxzZQot
ICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJhY2tncm91bmRDb2xv
cik7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxQYXRoKHBhdGgpOwotICAgIHBhdGguY2xlYXIo
KTsKKyAgICBpZiAoc3RhdGVzLnN0YXRlcygpLmNvbnRhaW5zQW55KHsgQ29udHJvbFN0YXRlczo6
U3RhdGVzOjpDaGVja2VkLCBDb250cm9sU3RhdGVzOjpTdGF0ZXM6OkluZGV0ZXJtaW5hdGUgfSkp
IHsKKyAgICAgICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7CisgICAgICAgIGdyYXBoaWNz
Q29udGV4dC5zZXRGaWxsUnVsZShXaW5kUnVsZTo6Tm9uWmVybyk7CisgICAgICAgIGlmIChzdGF0
ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpIb3ZlcmVkKSAmJiBz
dGF0ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkK
KyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoYWNjZW50SG92ZXJDb2xv
cik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29s
b3IoYWNjZW50Q29sb3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7
CisgICAgICAgIHBhdGguY2xlYXIoKTsKIAotICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkuY29udGFp
bnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpDaGVja2VkKSkgewogICAgICAgICBmaWVsZFJlY3Qu
aW5mbGF0ZSgtKGZpZWxkUmVjdC53aWR0aCgpIC0gZmllbGRSZWN0LndpZHRoKCkgKiAwLjcwKSk7
CiAgICAgICAgIHBhdGguYWRkRWxsaXBzZShmaWVsZFJlY3QpOwotICAgICAgICBncmFwaGljc0Nv
bnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUNvbG9yKTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0
LnNldEZpbGxDb2xvcihmb3JlZ3JvdW5kQ29sb3IpOwogICAgICAgICBncmFwaGljc0NvbnRleHQu
ZmlsbFBhdGgocGF0aCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcGF0aC5hZGRFbGxpcHNlKGZp
ZWxkUmVjdCk7CisgICAgICAgIGZpZWxkUmVjdC5pbmZsYXRlKC10b2dnbGVCb3JkZXJTaXplKTsK
KyAgICAgICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7CisgICAgICAgIGdyYXBoaWNzQ29u
dGV4dC5zZXRGaWxsUnVsZShXaW5kUnVsZTo6RXZlbk9kZCk7CisgICAgICAgIGlmIChzdGF0ZXMu
c3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpIb3ZlcmVkKSAmJiBzdGF0
ZXMuc3RhdGVzKCkuY29udGFpbnMoQ29udHJvbFN0YXRlczo6U3RhdGVzOjpFbmFibGVkKSkKKyAg
ICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IodG9nZ2xlQm9yZGVySG92ZXJD
b2xvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxs
Q29sb3IodG9nZ2xlQm9yZGVyQ29sb3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBh
dGgocGF0aCk7CisgICAgICAgIHBhdGguY2xlYXIoKTsKICAgICB9CiAKICAgICBpZiAoc3RhdGVz
LnN0YXRlcygpLmNvbnRhaW5zKENvbnRyb2xTdGF0ZXM6OlN0YXRlczo6Rm9jdXNlZCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFkd2FpdGEuaAppbmRleCA1ZTZh
OTdhZGQwNDE5ODgwMzg0NDRmNWRhYTA2NGQzNzUwNDVjNWM4Li5kN2ZmOWMwOTYxMjJmZjdmYmIy
ZmIxNjMyNGFjYmMzNjdiZDFhNjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fk
d2FpdGEvVGhlbWVBZHdhaXRhLmgKQEAgLTUyLDggKzUyLDggQEAgcHJpdmF0ZToKICAgICBMZW5n
dGhCb3ggY29udHJvbEJvcmRlcihDb250cm9sUGFydCwgY29uc3QgRm9udENhc2NhZGUmLCBjb25z
dCBMZW5ndGhCb3gmLCBmbG9hdCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBwYWludChDb250cm9s
UGFydCwgQ29udHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYs
IGZsb2F0LCBTY3JvbGxWaWV3KiwgZmxvYXQsIGZsb2F0LCBib29sLCBib29sLCBjb25zdCBDb2xv
ciYpIGZpbmFsOwogCi0gICAgdm9pZCBwYWludENoZWNrYm94KENvbnRyb2xTdGF0ZXMmLCBHcmFw
aGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBib29sKTsKLSAgICB2b2lkIHBhaW50UmFk
aW8oQ29udHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYsIGJv
b2wpOworICAgIHZvaWQgcGFpbnRDaGVja2JveChDb250cm9sU3RhdGVzJiwgR3JhcGhpY3NDb250
ZXh0JiwgY29uc3QgRmxvYXRSZWN0JiwgYm9vbCwgY29uc3QgQ29sb3ImKTsKKyAgICB2b2lkIHBh
aW50UmFkaW8oQ29udHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVj
dCYsIGJvb2wsIGNvbnN0IENvbG9yJik7CiAgICAgdm9pZCBwYWludEJ1dHRvbihDb250cm9sU3Rh
dGVzJiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRSZWN0JiwgYm9vbCk7CiAgICAgdm9p
ZCBwYWludFNwaW5CdXR0b24oQ29udHJvbFN0YXRlcyYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0
IEZsb2F0UmVjdCYsIGJvb2wpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUFkd2FpdGEuY3BwCmluZGV4IDhlZGUwODY2MGZjNjY4ZGY4ZDkxNDU3MTg0YzI3YWVh
ZDJhZTY4ZTMuLjljM2MzYWZiNjY3MjdjMzkwN2ExNWIyNDM4YjU5ZTIxNmE5ZDk5MjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCkBAIC05
MywxMSArOTMsMjAgQEAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGJ1dHRvblRleHREaXNhYmxlZENv
bG9yTGlnaHQgPSBTUkdCQTx1aW50OF90PiB7IDAsIDAsIDAsIDEKIHN0YXRpYyBjb25zdGV4cHIg
YXV0byBidXR0b25UZXh0Q29sb3JEYXJrID0gU1JHQkE8dWludDhfdD4geyAyNTUsIDI1NSwgMjU1
IH07CiBzdGF0aWMgY29uc3RleHByIGF1dG8gYnV0dG9uVGV4dERpc2FibGVkQ29sb3JEYXJrID0g
U1JHQkE8dWludDhfdD4geyAyNTUsIDI1NSwgMjU1LCAxMjcgfTsKIAotc3RhdGljIGlubGluZSBD
b2xvciBnZXRBY2NlbnRDb2xvcigpCitzdGF0aWMgaW5saW5lIENvbG9yIGdldFN5c3RlbUFjY2Vu
dENvbG9yKCkKIHsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VGhlbWVBZHdhaXRhJj4oVGhlbWU6
OnNpbmdsZXRvbigpKS5hY2NlbnRDb2xvcigpOwogfQogCitzdGF0aWMgaW5saW5lIENvbG9yIGdl
dEFjY2VudENvbG9yKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyT2JqZWN0KQoreworICAgIGF1
dG8gYWNjZW50Q29sb3IgPSByZW5kZXJPYmplY3Quc3R5bGUoKS5lZmZlY3RpdmVBY2NlbnRDb2xv
cigpOworICAgIGlmIChhY2NlbnRDb2xvci5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiBhY2Nl
bnRDb2xvcjsKKworICAgIHJldHVybiBnZXRTeXN0ZW1BY2NlbnRDb2xvcigpOworfQorCiAjaWYg
IVBMQVRGT1JNKEdUSykKIFJlbmRlclRoZW1lJiBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkKIHsK
QEAgLTEzNCw3ICsxNDMsNyBAQCBib29sIFJlbmRlclRoZW1lQWR3YWl0YTo6c2hvdWxkSGF2ZUNh
cHNMb2NrSW5kaWNhdG9yKGNvbnN0IEhUTUxJbnB1dEVsZW1lbnQmIGVsZQogCiBDb2xvciBSZW5k
ZXJUaGVtZUFkd2FpdGE6OnBsYXRmb3JtQWN0aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKE9w
dGlvblNldDxTdHlsZUNvbG9yT3B0aW9ucz4pIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGdldEFjY2Vu
dENvbG9yKCkuY29sb3JXaXRoQWxwaGFNdWx0aXBsaWVkQnkoMC4zKTsKKyAgICByZXR1cm4gZ2V0
U3lzdGVtQWNjZW50Q29sb3IoKS5jb2xvcldpdGhBbHBoYU11bHRpcGxpZWRCeSgwLjMpOwogfQog
CiBDb2xvciBSZW5kZXJUaGVtZUFkd2FpdGE6OnBsYXRmb3JtSW5hY3RpdmVTZWxlY3Rpb25CYWNr
Z3JvdW5kQ29sb3IoT3B0aW9uU2V0PFN0eWxlQ29sb3JPcHRpb25zPiBvcHRpb25zKSBjb25zdApA
QCAtMjg0LDcgKzI5Myw3IEBAIGJvb2wgUmVuZGVyVGhlbWVBZHdhaXRhOjpwYWludFRleHRGaWVs
ZChjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29uc3QKICAgICBwYXRoLmFkZFJv
dW5kZWRSZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKICAgICBncmFwaGljc0NvbnRleHQuc2V0Rmls
bFJ1bGUoV2luZFJ1bGU6OkV2ZW5PZGQpOwogICAgIGlmIChlbmFibGVkICYmIGlzRm9jdXNlZChy
ZW5kZXJPYmplY3QpKQotICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFj
Y2VudENvbG9yKCkpOworICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFj
Y2VudENvbG9yKHJlbmRlck9iamVjdCkpOwogICAgIGVsc2UKICAgICAgICAgZ3JhcGhpY3NDb250
ZXh0LnNldEZpbGxDb2xvcih0ZXh0RmllbGRCb3JkZXJDb2xvcik7CiAgICAgZ3JhcGhpY3NDb250
ZXh0LmZpbGxQYXRoKHBhdGgpOwpAQCAtNDcxLDcgKzQ4MCw4IEBAIGJvb2wgUmVuZGVyVGhlbWVB
ZHdhaXRhOjpwYWludFByb2dyZXNzQmFyKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyT2JqZWN0
LCBjb25zCiAKICAgICBwYXRoLmFkZFJvdW5kZWRSZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKICAg
ICBncmFwaGljc0NvbnRleHQuc2V0RmlsbFJ1bGUoV2luZFJ1bGU6Ok5vblplcm8pOwotICAgIGdy
YXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoZ2V0QWNjZW50Q29sb3IoKSk7CisKKyAgICBncmFw
aGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFjY2VudENvbG9yKHJlbmRlck9iamVjdCkpOwog
ICAgIGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChwYXRoKTsKIAogICAgIHJldHVybiBmYWxzZTsK
QEAgLTU0MCw3ICs1NTAsNyBAQCBib29sIFJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRTbGlkZXJU
cmFjayhjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29ucwogCiAgICAgcGF0aC5h
ZGRSb3VuZGVkUmVjdChGbG9hdFJvdW5kZWRSZWN0KHJhbmdlUmVjdCwgY29ybmVycykpOwogICAg
IGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsUnVsZShXaW5kUnVsZTo6Tm9uWmVybyk7Ci0gICAgZ3Jh
cGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihnZXRBY2NlbnRDb2xvcigpKTsKKyAgICBncmFwaGlj
c0NvbnRleHQuc2V0RmlsbENvbG9yKGdldEFjY2VudENvbG9yKHJlbmRlck9iamVjdCkpOwogICAg
IGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChwYXRoKTsKIAogI2lmIEVOQUJMRShEQVRBTElTVF9F
TEVNRU5UKQpAQCAtNTk3LDcgKzYwNyw3IEBAIGJvb2wgUmVuZGVyVGhlbWVBZHdhaXRhOjpwYWlu
dFNsaWRlclRodW1iKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyT2JqZWN0LCBjb25zCiAgICAg
cGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7CiAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxS
dWxlKFdpbmRSdWxlOjpFdmVuT2RkKTsKICAgICBpZiAoaXNFbmFibGVkKHJlbmRlck9iamVjdCkg
JiYgaXNQcmVzc2VkKHJlbmRlck9iamVjdCkpCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRG
aWxsQ29sb3IoZ2V0QWNjZW50Q29sb3IoKSk7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRG
aWxsQ29sb3IoZ2V0QWNjZW50Q29sb3IocmVuZGVyT2JqZWN0KSk7CiAgICAgZWxzZQogICAgICAg
ICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHNsaWRlclRodW1iQm9yZGVyQ29sb3IpOwog
ICAgIGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChwYXRoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNjc0ZGI4OTYyMDY4
MjdiMjcwMDBlMmI4MmQwYTljYTFmNDA3M2UwLi4xZTFhZjU1MjM1MDRiZGNjMzgyNTE3NTg1YWNj
YTE1NGFkNGQ4NWIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDMtMjUgIEFsZXhhbmRl
ciBNaWtoYXlsZW5rbyAgPGFsZXhtQGdub21lLm9yZz4KKworICAgICAgICBbR1RLXVtXUEVdIFN1
cHBvcnQgQ1NTIGFjY2VudC1jb2xvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM4Mzk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2FybG9zIEdhcmNp
YSBDYW1wb3MuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczogRW5h
YmxlIGFjY2VudC1jb2xvciB0ZXN0cyBmb3IgR1RLLgorCiAyMDIyLTAzLTI1ICBBbGV4YW5kZXIg
TWlraGF5bGVua28gIDxhbGV4bUBnbm9tZS5vcmc+CiAKICAgICAgICAgW0dUS11bV1BFXSBVcGRh
dGUgd2lkZ2V0IHN0eWxlIHRvIG1hdGNoIGxpYmFkd2FpdGEKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNGRiNDdhNDMwNTQyZWViZGQ2NWE1ODE5ZWI1YzQ2
YjkxNDBiYjE4MS4uNjM2ZTVlMDM2MDE5ZjhhNDgzYzJkNTc2OTA2OGIzMWUwMmFiODkyZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTMxLDYgKzMxLDEz
IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci90NDI1LWhz
bGEtb25zY3JlZW4tbXVsdGlwbGUtYm94ZXMtCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWVtYmVkLWVsZW1lbnQvZW1i
ZWQtcmVwcmVzZW50LW5vdGhpbmctMDIuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1hcmVhLWVs
ZW1lbnQvYXJlYS1jb29yZHMuaHRtbCBbIFBhc3MgXQogCitmYXN0L2Nzcy9hY2NlbnQtY29sb3Iv
Y2hlY2tib3guaHRtbCBbIFBhc3MgXQorZmFzdC9jc3MvYWNjZW50LWNvbG9yL3Byb2dyZXNzLmh0
bWwgWyBQYXNzIF0KK2Zhc3QvY3NzL2FjY2VudC1jb2xvci9yYWRpby5odG1sIFsgUGFzcyBdCitm
YXN0L2Nzcy9hY2NlbnQtY29sb3IvcmFuZ2UuaHRtbCBbIFBhc3MgXQorZmFzdC9jc3MvYWNjZW50
LWNvbG9yL3RleHQuaHRtbCBbIFBhc3MgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXVpL2FjY2VudC1jb2xvci1jaGVja2JveC1jaGVja2VkLTAwMS50ZW50YXRpdmUu
aHRtbCBbIFBhc3MgXQorCiAjIFNvbWUgQXBwbGUgcG9ydHMgZG9uJ3Qgc3VwcG9ydCBSVEwgc2Ny
b2xsYmFycy4KIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFsdGVybmF0ZS1ib2R5LWRp
ci1hdHRyLWRvZXMtbm90LXVwZGF0ZS1zY3JvbGxiYXItcGxhY2VtZW50Lmh0bWwgWyBQYXNzIF0K
IGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sIFsgUGFz
cyBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>