<?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>228310</bug_id>
          
          <creation_ts>2021-07-26 17:14:19 -0700</creation_ts>
          <short_desc>[Modern Media Controls] [macOS] Overflow button still shows as `on` even after contextmenu is dismissed</short_desc>
          <delta_ts>2021-08-02 17:37:11 -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>Media</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=228725</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>calvaris</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>jer.noble</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1779644</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-07-26 17:14:19 -0700</bug_when>
    <thetext># STEPS TO REPRODUCE
1. go to any page with a `&lt;video&gt;`
2. click the &gt;&gt; overflow button
3. dismiss the contextmenu (e.g. click outside, escape, etc.)

# EXPECTED
the &gt;&gt; overflow button would no longer be white

# ACTUAL
the &gt;&gt; overflow button is still white</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779645</commentid>
    <comment_count>1</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-07-26 17:16:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/81124786&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779646</commentid>
    <comment_count>2</comment_count>
      <attachid>434260</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-07-26 17:24:31 -0700</bug_when>
    <thetext>Created attachment 434260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779654</commentid>
    <comment_count>3</comment_count>
      <attachid>434260</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-26 17:37:54 -0700</bug_when>
    <thetext>Comment on attachment 434260
Patch

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

&gt; Source/WebKit/WebProcess/WebPage/WebContextMenu.cpp:71
&gt; +    m_page-&gt;shouldWaitForContextMenuToShow();

Nit - `shouldWaitForContextMenuToShow()` sounds a bit like the name of a const getter. Perhaps something along the lines of `startWaitingForContextMenuToShow()`?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779796</commentid>
    <comment_count>4</comment_count>
      <attachid>434260</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-07-27 11:21:58 -0700</bug_when>
    <thetext>Comment on attachment 434260
Patch

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

&gt; Source/WebCore/ChangeLog:21
&gt; +        as that&apos;s the signal to the `MediaController` that the contextmenu interaction is ove, which

s/ove/over/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779806</commentid>
    <comment_count>5</comment_count>
      <attachid>434303</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-07-27 11:49:46 -0700</bug_when>
    <thetext>Created attachment 434303
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779809</commentid>
    <comment_count>6</comment_count>
      <attachid>434305</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-07-27 11:54:07 -0700</bug_when>
    <thetext>Created attachment 434305
Patch

oops forgot new test files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779835</commentid>
    <comment_count>7</comment_count>
      <attachid>434315</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-07-27 14:24:31 -0700</bug_when>
    <thetext>Created attachment 434315
Patch

fix test expectations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779946</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-27 20:56:52 -0700</bug_when>
    <thetext>Committed r280374 (240018@main): &lt;https://commits.webkit.org/240018@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 434315.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434260</attachid>
            <date>2021-07-26 17:24:31 -0700</date>
            <delta_ts>2021-07-27 11:49:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228310-20210726172430.patch</filename>
            <type>text/plain</type>
            <size>20309</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0NjcyZDUxMzQ0Yjg1NTc2ZGY3NTNlODFhNzFlNmU3YjJjMDc2OTg2Li45
ZjExNjFmMWQ0YjJiMDRhNzA5NThlNTY0ZTZiY2M4MmVlZDA2YjA2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMjEtMDctMjYgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFtNb2Rlcm4gTWVkaWEgQ29udHJvbHNdIFttYWNPU10gT3ZlcmZsb3cgYnV0
dG9uIHN0aWxsIHNob3dzIGFzIGBvbmAgZXZlbiBhZnRlciBjb250ZXh0bWVudSBpcyBkaXNtaXNz
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODMx
MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODExMjQ3ODY+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogbWVkaWEvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1jb250ZXh0LW1lbnUtYnV0
dG9uLXN0YXRlLmh0bWwKKworICAgICAgICAqIHBhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmg6
CisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVyOjpkaWREaXNtaXNzQ29udGV4dE1lbnUpOiBBZGRl
ZC4KKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51UHJvdmlkZXIuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRleHRNZW51UHJvdmlkZXI6OmRpZERpc21pc3NDb250ZXh0TWVudSk6IEFkZGVkLgor
ICAgICAgICBBZGQgcGx1bWJpbmcgZnJvbSBXZWJLaXQgdG8gdGhlIGBDb250ZXh0TWVudVByb3Zp
ZGVyYCBmb3Igd2hlbiB0aGUgY29udGV4dG1lbnUgaXMgZGlzbWlzc2VkLgorCisgICAgICAgICog
TW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbHNDb250ZXh0TWVudVByb3ZpZGVyOjpkaWREaXNtaXNzQ29udGV4
dE1lbnUpOiBBZGRlZC4KKyAgICAgICAgV2hlbiB0aGUgY29udGV4dG1lbnUgaXMgZGlzbWlzc2Vk
LCBpbnZva2UgdGhlIGNhbGxiYWNrIHByb3ZpZGVkIHRvIGBNZWRpYUNvbnRyb2xzSG9zdDo6c2hv
d01lZGlhQ29udHJvbHNDb250ZXh0TWVudWAKKyAgICAgICAgYXMgdGhhdCdzIHRoZSBzaWduYWwg
dG8gdGhlIGBNZWRpYUNvbnRyb2xsZXJgIHRoYXQgdGhlIGNvbnRleHRtZW51IGludGVyYWN0aW9u
IGlzIG92ZSwgd2hpY2gKKyAgICAgICAgYWRqdXN0cyB0aGUgYG9uYCBzdGF0ZSBvZiB0aGUgYEJ1
dHRvbmAuCisKIDIwMjEtMDctMjYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAK
ICAgICAgICAgW0NvY29hXSBQbGF5YmFjayBzdGFsbHMgb24gYmlsaWJpbGkuY29tCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IGMxNjIwNGIwMWYzMzBjYWVkNDFkMmVjZWJjODk3Y2YwYTViNzJhZDcuLjJlMjA2OWViOGMy
ZjdjYTQ1NDYwNzg0ODI3NGQxYmExNTA3YTA0NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAK
KzIwMjEtMDctMjYgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAg
IFtNb2Rlcm4gTWVkaWEgQ29udHJvbHNdIFttYWNPU10gT3ZlcmZsb3cgYnV0dG9uIHN0aWxsIHNo
b3dzIGFzIGBvbmAgZXZlbiBhZnRlciBjb250ZXh0bWVudSBpcyBkaXNtaXNzZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODMxMAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vODExMjQ3ODY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUGlwZSBhbG9uZyB0aGUgYC1bTlNNZW51RGVsZWdhdGUgbWVudURp
ZENsb3NlOl1gIHNpZ25hbCB0byB0aGUgV2ViUHJvY2VzcyBzbyB0aGUgYFdlYkNvcmU6OkNvbnRl
eHRNZW51UHJvdmlkZXJgCisgICAgICAgIGNhbiBoYW5kbGUgaXQgaWYgbmVlZGVkLgorCisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHRNZW51UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJDb250ZXh0TWVudVByb3h5Ojp1c2VDb250ZXh0TWVudUl0ZW1zKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW06CisgICAgICAgICgtW1dLTWVu
dURlbGVnYXRlIG1lbnVXaWxsT3BlbjpdKToKKyAgICAgICAgKC1bV0tNZW51RGVsZWdhdGUgbWVu
dURpZENsb3NlOl0pOgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUHJveHk6OnNob3dDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6ZGlkU2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpk
aWREaXNtaXNzQ29udGV4dE1lbnUpOiBBZGRlZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJDb250ZXh0TWVudS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51
OjpzaG93KToKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OnNob3VsZFdhaXRGb3JDb250ZXh0TWVudVRvU2hvdyk6IEFkZGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjb250ZXh0TWVudVNob3dpbmcpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjb250ZXh0TWVudUhpZGRlbik6IERlbGV0ZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpkaWRTaG93Q29udGV4dE1lbnUpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZTo6ZGlkRGlzbWlzc0NvbnRleHRNZW51KTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6Om1vdXNlRXZlbnQpOgorICAgICAgICBEcml2ZS1ieTogUmVuYW1lIGBjb250ZXh0
TWVudVNob3dpbmdgIHRvIGBzaG91bGRXYWl0Rm9yQ29udGV4dE1lbnVUb1Nob3dgIGZvciBjbGFy
aXR5LgorCiAyMDIxLTA3LTI2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtDb2NvYV0gUGxheWJhY2sgc3RhbGxzIG9uIGJpbGliaWxpLmNvbQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xz
SG9zdC5jcHAKaW5kZXggOWMwOWZlOGNiOTY3ZWVjYjk0ZGJmOGI2ZDliOWIzODZmOGMwMzkzZi4u
ZDhhYWE5NGMyNjI0YjliNjdjODljNjBmMjVkMTJmNTkxMGNjMmU5NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hv
c3QuY3BwCkBAIC0zODgsNiArMzg4LDEyIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtZW51LT5h
cHBlbmRJdGVtKGl0ZW0pOwogICAgIH0KIAorICAgIHZvaWQgZGlkRGlzbWlzc0NvbnRleHRNZW51
KCkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIGlmIChtX2NhbGxiYWNrKQorICAgICAgICAgICAg
bV9jYWxsYmFjayhDb250ZXh0TWVudUl0ZW1UYWdOb0FjdGlvbik7CisgICAgfQorCiAgICAgdm9p
ZCBjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChDb250ZXh0TWVudUFjdGlvbiBhY3Rpb24sIGNvbnN0
IFN0cmluZyYpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBtX2NhbGxiYWNrKGFjdGlvbiAtIENv
bnRleHRNZW51SXRlbUJhc2VDdXN0b21UYWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IGM0ZTQzZTg4ZGZkOWY4NzUzOTYwZWQ5M2UzZTJj
NGZkZTFjZWQwOGEuLjIwYzkxOTg5NTYwMTBhNDU0Yzk1YWI5YzNmNzYzODc2Yzk2MWY3MDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKQEAgLTE3
Miw2ICsxNzIsMTIgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVu
dShFdmVudCYgZXZlbnQpCiAgICAgZXZlbnQuc2V0RGVmYXVsdEhhbmRsZWQoKTsKIH0KIAordm9p
ZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmRpZERpc21pc3NDb250ZXh0TWVudSgpCit7CisgICAg
aWYgKG1fbWVudVByb3ZpZGVyKQorICAgICAgICBtX21lbnVQcm92aWRlci0+ZGlkRGlzbWlzc0Nv
bnRleHRNZW51KCk7Cit9CisKIHN0YXRpYyB2b2lkIG9wZW5OZXdXaW5kb3coY29uc3QgVVJMJiB1
cmxUb0xvYWQsIEZyYW1lJiBmcmFtZSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91
bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KQogewogICAgIFBhZ2UqIG9sZFBhZ2UgPSBmcmFtZS5w
YWdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJv
bGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAppbmRl
eCAxZTI5MzEwNTA2NjQ1MGI0NGIwYTM1MjcxZDZkMTQyNTJhN2IyOWJhLi42ZmUyYmQzYTg2N2Ey
N2FhYzhiNzRiNDFlMzNlYjVkMTg3NmU0MDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29u
dGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTU2LDYgKzU2LDcgQEAgcHVibGljOgogICAgIHZvaWQg
c2hvd0NvbnRleHRNZW51KEV2ZW50JiwgQ29udGV4dE1lbnVQcm92aWRlciYpOwogCiAgICAgdm9p
ZCBwb3B1bGF0ZSgpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkRGlzbWlzc0NvbnRleHRN
ZW51KCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChD
b250ZXh0TWVudUFjdGlvbiwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgdm9pZCBhZGRJbnNw
ZWN0RWxlbWVudEl0ZW0oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZXh0TWVudVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51UHJvdmlk
ZXIuaAppbmRleCAyM2JlZDY4NTk0YWJhMmY0MGIzNzQ3YTgxMzVkNTNiZTgxNjljYWI1Li5mMTU4
NzAyYjM4YjBhMjc0ZTNjMmQwNmM3YWVlMWJiYjU5NmIyMTIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnRleHRNZW51UHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NvbnRleHRNZW51UHJvdmlkZXIuaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB+Q29udGV4dE1lbnVQcm92aWRlcigpIHsgfTsKIAogICAgIHZpcnR1YWwgdm9pZCBw
b3B1bGF0ZUNvbnRleHRNZW51KENvbnRleHRNZW51KikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBk
aWREaXNtaXNzQ29udGV4dE1lbnUoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgY29udGV4dE1lbnVJ
dGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVBY3Rpb24sIGNvbnN0IFN0cmluZyYgdGl0bGUpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgY29udGV4dE1lbnVDbGVhcmVkKCkgPSAwOwogICAgIHZpcnR1YWwg
Q29udGV4dE1lbnVDb250ZXh0OjpUeXBlIGNvbnRleHRNZW51Q29udGV4dFR5cGUoKSB7IHJldHVy
biBDb250ZXh0TWVudUNvbnRleHQ6OlR5cGU6OkNvbnRleHRNZW51OyB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJDb250ZXh0TWVudVByb3h5LmNwcAppbmRleCAyZGI2MzFjZTUz
NzcwMTJlYjlmYTBjMjMxN2IzYmZlZGZkNTEyNTkxLi5mNGRmMmExZDk4NWI2NzRkNDcyOTJmNmEx
ODAxNTIzMTA5MGVjOWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJD
b250ZXh0TWVudVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb250
ZXh0TWVudVByb3h5LmNwcApAQCAtNzMsNyArNzMsNyBAQCB2b2lkIFdlYkNvbnRleHRNZW51UHJv
eHk6OnVzZUNvbnRleHRNZW51SXRlbXMoVmVjdG9yPFJlZjxXZWJDb250ZXh0TWVudUl0ZW0+PiYm
CiAgICAgc2hvd0NvbnRleHRNZW51V2l0aEl0ZW1zKFdURk1vdmUoaXRlbXMpKTsKIAogICAgIC8v
IE5vIG1hdHRlciB0aGUgcmVzdWx0IG9mIHNob3dDb250ZXh0TWVudVdpdGhJdGVtcywgYWx3YXlz
IG5vdGlmeSB0aGUgV2ViUHJvY2VzcyB0aGF0IHRoZSBtZW51IGlzIGhpZGRlbiBzbyBpdCBzdGFy
dHMgaGFuZGxpbmcgbW91c2UgZXZlbnRzIGFnYWluLgotICAgIHBhZ2UtPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2U6OkNvbnRleHRNZW51SGlkZGVuKCkpOworICAgIHBhZ2UtPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2U6OkRpZFNob3dDb250ZXh0TWVudSgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBmNzQzNzYw
MjI4NzMzNmZiZmY3NDg3M2VhMDQ5Nzc5NDUxZjMwY2VhLi45ZDUzMmFhMzJkYmMwZjk1N2E4ZDlj
ZDZlY2ZmZmQ2N2QwM2M0OThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKQEAgLTY4MjYsNyArNjgyNiw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzaG93Q29udGV4
dE1lbnUoQ29udGV4dE1lbnVDb250ZXh0RGF0YSYmIGNvbnRleHRNZW51Q29udGV4dERhCiAgICAg
Ly8gY2FuIGhhbmcgdGhlIHBhZ2UgLyBXZWJEcml2ZXIgdGVzdC4gUHJldGVuZCB0byBzaG93IGFu
ZCBpbW1lZGlhdGVseSBkaXNtaXNzIHRoZSBjb250ZXh0IG1lbnUuCiAgICAgaWYgKGF1dG8qIGF1
dG9tYXRpb25TZXNzaW9uID0gcHJvY2VzcygpLnByb2Nlc3NQb29sKCkuYXV0b21hdGlvblNlc3Np
b24oKSkgewogICAgICAgICBpZiAobV9jb250cm9sbGVkQnlBdXRvbWF0aW9uICYmIGF1dG9tYXRp
b25TZXNzaW9uLT5pc1NpbXVsYXRpbmdVc2VySW50ZXJhY3Rpb24oKSkgewotICAgICAgICAgICAg
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6Q29udGV4dE1lbnVIaWRkZW4oKSk7CisgICAgICAgICAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRTaG93Q29udGV4dE1lbnUoKSk7CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CkBAIC02ODQyLDYgKzY4NDIsMjEgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OnNob3dDb250ZXh0TWVudShDb250ZXh0TWVudUNvbnRleHREYXRhJiYg
Y29udGV4dE1lbnVDb250ZXh0RGEKICAgICBtX2FjdGl2ZUNvbnRleHRNZW51LT5zaG93KCk7CiB9
CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRTaG93Q29udGV4dE1lbnUoKQoreworICAgIC8vIERv
bid0IHNlbmQgYE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRTaG93Q29udGV4dE1lbnVgIGFzIHRoYXQg
c2hvdWxkJ3ZlIGFscmVhZHkgYmVlbiBlYWdlcmx5CisgICAgLy8gc2VudCB3aGVuIHJlcXVlc3Rp
bmcgdGhlIGNvbnRleHQgbWVudSB0byBzaG93LCByZWdhcmRsZXNzIG9mIHRoZSByZXN1bHQgb2Yg
dGhhdCByZXF1ZXN0LgorCisgICAgcGFnZUNsaWVudCgpLmRpZFNob3dDb250ZXh0TWVudSgpOwor
fQorCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRGlzbWlzc0NvbnRleHRNZW51KCkKK3sKKyAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWREaXNtaXNzQ29udGV4dE1lbnUoKSk7CisKKyAgICBw
YWdlQ2xpZW50KCkuZGlkRGlzbWlzc0NvbnRleHRNZW51KCk7Cit9CisKIHZvaWQgV2ViUGFnZVBy
b3h5Ojpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRh
JiBpdGVtKQogewogICAgIC8vIEFwcGxpY2F0aW9uIGN1c3RvbSBpdGVtcyBkb24ndCBuZWVkIHRv
IHJvdW5kLXRyaXAgdGhyb3VnaCB0byBXZWJDb3JlIGluIHRoZSBXZWJQcm9jZXNzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBiMTM5MWJiNTgwNTYyMWQyODRhNzJm
YTliMGE4MmVjZTA0ZTgzMWI1Li5hZmQxOTJlMmNlMmNiYTg2YzQzZDc2MzViNzllN2IyNzBmYTEx
ZjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTMxNCw2ICsx
MzE0LDggQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAgICAgLy8gQ2Fs
bGVkIGJ5IHRoZSBXZWJDb250ZXh0TWVudVByb3h5LgorICAgIHZvaWQgZGlkU2hvd0NvbnRleHRN
ZW51KCk7CisgICAgdm9pZCBkaWREaXNtaXNzQ29udGV4dE1lbnUoKTsKICAgICB2b2lkIGNvbnRl
eHRNZW51SXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmKTsKICAgICB2
b2lkIGhhbmRsZUNvbnRleHRNZW51S2V5RXZlbnQoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbQppbmRleCAz
ZTAwOTBiNTg3NWIzNDg4N2MzYWVlZDQ1ZWIzMzMzZTM0NTJhNDEzLi45MmRhNTM3ODc5ODFlZmE2
M2ViOWVmYTUwZDZkMjY4N2NhYzdmYTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbQpAQCAtMTcxLDEyICsxNzEsMTIg
QEAgLShpbnN0YW5jZXR5cGUpaW5pdFdpdGhNZW51UHJveHk6KFdlYktpdDo6V2ViQ29udGV4dE1l
bnVQcm94eU1hYyYpbWVudVByb3h5CiAKIC0gKHZvaWQpbWVudVdpbGxPcGVuOihOU01lbnUgKilt
ZW51CiB7Ci0gICAgX21lbnVQcm94eS0+cGFnZSgpLT5wYWdlQ2xpZW50KCkuZGlkU2hvd0NvbnRl
eHRNZW51KCk7CisgICAgX21lbnVQcm94eS0+cGFnZSgpLT5kaWRTaG93Q29udGV4dE1lbnUoKTsK
IH0KIAogLSAodm9pZCltZW51RGlkQ2xvc2U6KE5TTWVudSAqKW1lbnUKIHsKLSAgICBfbWVudVBy
b3h5LT5wYWdlKCktPnBhZ2VDbGllbnQoKS5kaWREaXNtaXNzQ29udGV4dE1lbnUoKTsKKyAgICBf
bWVudVByb3h5LT5wYWdlKCktPmRpZERpc21pc3NDb250ZXh0TWVudSgpOwogfQogCiBAZW5kCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVu
dS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5j
cHAKaW5kZXggZTMwZTNiZGEwMTZmMzBlNTQ3NTIwY2E3MjUwZGI2MWRmOGU3NDcyZC4uOTc0YTU1
ZjEzZGU2N2I0MmYwOGJiZTNkMmNhYTNiNjZiOGM3ODMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcApAQCAtNjgsNyArNjgs
NyBAQCB2b2lkIFdlYkNvbnRleHRNZW51OjpzaG93KCkKICAgICBDb250ZXh0TWVudUNvbnRleHRE
YXRhIGNvbnRleHRNZW51Q29udGV4dERhdGEobWVudUxvY2F0aW9uLCBtZW51SXRlbXMsIGNvbnRy
b2xsZXIuY29udGV4dCgpKTsKIAogICAgIC8vIE1hcmsgdGhlIFdlYlBhZ2UgaGFzIGhhdmluZyBh
IHNob3duIGNvbnRleHQgbWVudSB0aGVuIG5vdGlmeSB0aGUgVUlQcm9jZXNzLgotICAgIG1fcGFn
ZS0+Y29udGV4dE1lbnVTaG93aW5nKCk7CisgICAgbV9wYWdlLT5zaG91bGRXYWl0Rm9yQ29udGV4
dE1lbnVUb1Nob3coKTsKICAgICBtX3BhZ2UtPmZsdXNoUGVuZGluZ0VkaXRvclN0YXRlVXBkYXRl
KCk7CiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dDb250ZXh0
TWVudShjb250ZXh0TWVudUNvbnRleHREYXRhLCBVc2VyRGF0YShXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS50cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhLmdldCgpKS5nZXQoKSkpKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
ODdjMDNlY2E5NjhhMTc1MmY1ZjNjZWFjOTA4NWZmN2Q5M2I1NTFjYy4uNTc0ZmQ0YmY5MjllN2Rl
NGNjODgzMmY3OTRiYmE2OGI3NDIyNjk4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI4NTcsNiArMjg1NywyMCBAQCBwcml2YXRlOgogICAg
IGNvbnN0IFdlYkV2ZW50KiBtX3ByZXZpb3VzQ3VycmVudEV2ZW50OwogfTsKIAorI2lmIEVOQUJM
RShDT05URVhUX01FTlVTKQorCit2b2lkIFdlYlBhZ2U6OmRpZFNob3dDb250ZXh0TWVudSgpCit7
CisgICAgbV93YWl0aW5nRm9yQ29udGV4dE1lbnVUb1Nob3cgPSBmYWxzZTsKK30KKwordm9pZCBX
ZWJQYWdlOjpkaWREaXNtaXNzQ29udGV4dE1lbnUoKQoreworICAgIGNvcmVQYWdlKCktPmNvbnRl
eHRNZW51Q29udHJvbGxlcigpLmRpZERpc21pc3NDb250ZXh0TWVudSgpOworfQorCisjZW5kaWYg
Ly8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCisKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VX0VWRU5U
KQogc3RhdGljIGJvb2wgaXNDb250ZXh0Q2xpY2soY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBl
dmVudCkKIHsKQEAgLTI5NjIsNyArMjk3Niw3IEBAIHZvaWQgV2ViUGFnZTo6bW91c2VFdmVudChj
b25zdCBXZWJNb3VzZUV2ZW50JiBtb3VzZUV2ZW50LCBzdGQ6Om9wdGlvbmFsPFNhbmRib3hFCiAK
ICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICAvLyBEb24ndCB0cnkgdG8gaGFuZGxlIGFu
eSBwZW5kaW5nIG1vdXNlIGV2ZW50cyBpZiBhIGNvbnRleHQgbWVudSBpcyBzaG93aW5nLgotICAg
IGlmIChtX2lzU2hvd2luZ0NvbnRleHRNZW51KQorICAgIGlmIChtX3dhaXRpbmdGb3JDb250ZXh0
TWVudVRvU2hvdykKICAgICAgICAgc2hvdWxkSGFuZGxlRXZlbnQgPSBmYWxzZTsKICNlbmRpZgog
I2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKaW5kZXggMDA0MjI3NWY1YTZkNTk2MTZhMGRkZjBlOWJlMjhlNDhjMmMwYzFh
Yy4uNWFmZjU2MWFlN2RiYzFkMDU3ZjkwZTA1Yjg2OTNiNGVlODIxZjgxYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTA0OSw3ICsxMDQ5LDcgQEAg
cHVibGljOgogICAgIHZvaWQgc2ltdWxhdGVNb3VzZU1vdGlvbihXZWJDb3JlOjpJbnRQb2ludCwg
V2FsbFRpbWUpOwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgdm9pZCBjb250ZXh0
TWVudVNob3dpbmcoKSB7IG1faXNTaG93aW5nQ29udGV4dE1lbnUgPSB0cnVlOyB9CisgICAgdm9p
ZCBzaG91bGRXYWl0Rm9yQ29udGV4dE1lbnVUb1Nob3coKSB7IG1fd2FpdGluZ0ZvckNvbnRleHRN
ZW51VG9TaG93ID0gdHJ1ZTsgfQogI2VuZGlmCiAKICAgICBib29sIHdoZWVsRXZlbnQoY29uc3Qg
V2ViV2hlZWxFdmVudCYsIE9wdGlvblNldDxXZWJDb3JlOjpXaGVlbEV2ZW50UHJvY2Vzc2luZ1N0
ZXBzPik7CkBAIC0xNjE5LDcgKzE2MTksOCBAQCBwcml2YXRlOgogICAgIHZvaWQgdG91Y2hXaXRo
SWRlbnRpZmllcldhc1JlbW92ZWQoV2ViQ29yZTo6UG9pbnRlcklEKTsKIAogI2lmIEVOQUJMRShD
T05URVhUX01FTlVTKQotICAgIHZvaWQgY29udGV4dE1lbnVIaWRkZW4oKSB7IG1faXNTaG93aW5n
Q29udGV4dE1lbnUgPSBmYWxzZTsgfQorICAgIHZvaWQgZGlkU2hvd0NvbnRleHRNZW51KCk7Cisg
ICAgdm9pZCBkaWREaXNtaXNzQ29udGV4dE1lbnUoKTsKICNlbmRpZgogI2lmIEVOQUJMRShDT05U
RVhUX01FTlVfRVZFTlQpCiAgICAgdm9pZCBjb250ZXh0TWVudUZvcktleUV2ZW50KCk7CkBAIC0y
MTcxLDcgKzIxNzIsNyBAQCBwcml2YXRlOgogICAgIE9wdGlvblNldDxXZWJDb3JlOjpBY3Rpdml0
eVN0YXRlOjpGbGFnPiBtX2xhc3RBY3Rpdml0eVN0YXRlQ2hhbmdlczsKIAogI2lmIEVOQUJMRShD
T05URVhUX01FTlVTKQotICAgIGJvb2wgbV9pc1Nob3dpbmdDb250ZXh0TWVudSB7IGZhbHNlIH07
CisgICAgYm9vbCBtX3dhaXRpbmdGb3JDb250ZXh0TWVudVRvU2hvdyB7IGZhbHNlIH07CiAjZW5k
aWYKIAogICAgIFJlZlB0cjxXZWJDb3JlOjpFbGVtZW50PiBtX2ZvY3VzZWRFbGVtZW50OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4KaW5kZXggMjJjMGI4M2NhN2Y1ODUyYzE1MGFiOWExMGZiM2ZkMWVhNzczMzZhOC4uZDg4ZWYw
ZWJiNWJhYTE0ZDQ0ZTBlOWMxOTkyNmI2MzY1ZWZlMTA5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0xNjQsMTEg
KzE2NCw2IEBAIEdlbmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51bTp1aW50OF90IFdl
YktpdDo6U3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlCiAgICAgRGlkRW5kRGF0ZVRpbWVQaWNr
ZXIoKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgQ29udGV4dE1l
bnVIaWRkZW4oKQotICAgIENvbnRleHRNZW51Rm9yS2V5RXZlbnQoKQotI2VuZGlmCi0KICAgICBT
Y3JvbGxCeSh1aW50MzJfdCBzY3JvbGxEaXJlY3Rpb24sIHVpbnQzMl90IHNjcm9sbEdyYW51bGFy
aXR5KQogICAgIENlbnRlclNlbGVjdGlvbkluVmlzaWJsZUFyZWEoKQogCkBAIC0zNDUsNyArMzQw
LDEwIEBAIEdlbmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51bTp1aW50OF90IFdlYktp
dDo6U3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlCiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKICAgICAjIENvbnRleHQgbWVudS4KKyAgICBEaWRTaG93Q29udGV4dE1lbnUoKQorICAgIERp
ZERpc21pc3NDb250ZXh0TWVudSgpCiAgICAgRGlkU2VsZWN0SXRlbUZyb21BY3RpdmVDb250ZXh0
TWVudShXZWJLaXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGEgbWVudUl0ZW0pCisgICAgQ29udGV4
dE1lbnVGb3JLZXlFdmVudCgpCiAjZW5kaWYKIAogICAgICMgT3BlbiBwYW5lbC4KZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjYzE0OGU1ZGVjMzU5
ZWZlODVlNzU3OTkyMDE3NTg0NmQ3ZTA4OWIxLi4wNTc2MGZkZGQ4ZjEzYmQ5ZGQ3MTU2MGQyOTQ4
ZmJmMGFlNTU1ZDVjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDctMjYgIERldmluIFJvdXNzbyAgPGRyb3Vz
c29AYXBwbGUuY29tPgorCisgICAgICAgIFtNb2Rlcm4gTWVkaWEgQ29udHJvbHNdIFttYWNPU10g
T3ZlcmZsb3cgYnV0dG9uIHN0aWxsIHNob3dzIGFzIGBvbmAgZXZlbiBhZnRlciBjb250ZXh0bWVu
dSBpcyBkaXNtaXNzZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyODMxMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODExMjQ3ODY+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW06CisgICAgICAgICgtW1Rlc3RSdW5uZXJX
S1dlYlZpZXcgZGlzbWlzc0FjdGl2ZU1lbnVdKToKKyAgICAgICAgKC1bVGVzdFJ1bm5lcldLV2Vi
VmlldyBpbW1lZGlhdGVseURpc21pc3NDb250ZXh0TWVudUlmTmVlZGVkXSk6CisgICAgICAgICgt
W1Rlc3RSdW5uZXJXS1dlYlZpZXcgX2Rpc21pc3NBbGxDb250ZXh0TWVudUludGVyYWN0aW9uc10p
OiBBZGRlZC4KKwogMjAyMS0wNy0yNSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TXSBVbmlmaWVkIGZpZWxkIGlzIHVuc2VsZWN0ZWQgYWZ0ZXIg
Zm9jdXNpbmcgVVJMIGJhciBpZiB0ZXh0IHdhcyBzZWxlY3RlZCBpbiBhIGZpeGVkIHBvc2l0aW9u
IGNvbnRhaW5lcgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0
UnVubmVyV0tXZWJWaWV3Lm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVu
bmVyV0tXZWJWaWV3Lm1tCmluZGV4IDU1ZjUzZTBmMWFmOTI5NjRmMzc0OTdlMTBlNTYyMDAwNTE0
ZGJiNWMuLjJlNmQ0YzFlMWRkMmIwZTdmYTk2ZTBmMDcwNWQ0ZDRhYzVkNjU0ZjAgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5tbQor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW0K
QEAgLTE4NSw2ICsxODUsNyBAQCAtICh2b2lkKV9kaWRIaWRlTWVudQogLSAodm9pZClkaXNtaXNz
QWN0aXZlTWVudQogewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgW3NlbGYgX2Rpc21p
c3NBbGxDb250ZXh0TWVudUludGVyYWN0aW9uc107CiAgICAgW3NlbGYgcmVzaWduRmlyc3RSZXNw
b25kZXJdOwogI2Vsc2UKICAgICBhdXRvIG1lbnUgPSByZXRhaW5QdHIoc2VsZi5fYWN0aXZlTWVu
dSk7CkBAIC0yNTMsNiArMjU0LDExIEBAIC0gKHZvaWQpaW1tZWRpYXRlbHlEaXNtaXNzQ29udGV4
dE1lbnVJZk5lZWRlZAogCiAgICAgc2VsZi5zaG93aW5nQ29udGV4dE1lbnUgPSBOTzsKIAorICAg
IFtzZWxmIF9kaXNtaXNzQWxsQ29udGV4dE1lbnVJbnRlcmFjdGlvbnNdOworfQorCistICh2b2lk
KV9kaXNtaXNzQWxsQ29udGV4dE1lbnVJbnRlcmFjdGlvbnMKK3sKICNpZiBQTEFURk9STShJT1Mp
CiAgICAgZm9yIChpZCA8VUlJbnRlcmFjdGlvbj4gaW50ZXJhY3Rpb24gaW4gc2VsZi5jb250ZW50
Vmlldy5pbnRlcmFjdGlvbnMpIHsKICAgICAgICAgaWYgKFtpbnRlcmFjdGlvbiBpc0tpbmRPZkNs
YXNzOlVJQ29udGV4dE1lbnVJbnRlcmFjdGlvbi5jbGFzc10pCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2JjM2YyOWQ1NmJl
NDlmODNiNzA4Zjc0NDI2NzdkNGQ4MTdjZjRiNi4uMDUwOGUwZjNkMjY0ZmQ5OGFkNzQwNjRhNzU0
YTAyZmU5ZGFkMzM4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA3LTI2ICBEZXZpbiBS
b3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9kZXJuIE1lZGlhIENvbnRy
b2xzXSBbbWFjT1NdIE92ZXJmbG93IGJ1dHRvbiBzdGlsbCBzaG93cyBhcyBgb25gIGV2ZW4gYWZ0
ZXIgY29udGV4dG1lbnUgaXMgZGlzbWlzc2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjgzMTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgxMTI0
Nzg2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
bWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJv
bGxlci1jb250ZXh0LW1lbnUtYnV0dG9uLXN0YXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1l
ZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xs
ZXItY29udGV4dC1tZW51LWJ1dHRvbi1zdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIx
LTA3LTI2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2Nv
YV0gUGxheWJhY2sgc3RhbGxzIG9uIGJpbGliaWxpLmNvbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29u
dHJvbGxlci1jb250ZXh0LW1lbnUtYnV0dG9uLXN0YXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNv
bnRyb2xsZXItY29udGV4dC1tZW51LWJ1dHRvbi1zdGF0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzQwOGQ3OGJhNmEyNTEzMDRiMmI2NWE3MjFjMzk2ZjEwNDg2YzJhNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250
cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItY29udGV4dC1tZW51LWJ1dHRvbi1zdGF0ZS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdGluZyB0aGF0IGBNZWRpYUNvbnRyb2xsZXIucHJv
dG90eXBlLnNob3dNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnVgIHByb3Blcmx5IG1hcmtzIHRoZSBg
QnV0dG9uYCBhcyBgb25gLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBz
aGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpIGJlY2FtZSBkaWZmZXJl
bnQgZnJvbSBudWxsCitQQVNTIHNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignYnV0dG9uLm92ZXJm
bG93JykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggYmVjYW1lIGRpZmZlcmVudCBmcm9t
IDAKK1RhcHBpbmcgb3ZlcmZsb3cgYnV0dG9uLi4uCitQQVNTIHNoYWRvd1Jvb3QucXVlcnlTZWxl
Y3RvcignYnV0dG9uLm92ZXJmbG93JykuY2xhc3NMaXN0LmNvbnRhaW5zKCdvbicpIGJlY2FtZSB0
cnVlCitEaXNtaXNzaW5nIGNvbnRleHRtZW51Li4uCitQQVNTIHNoYWRvd1Jvb3QucXVlcnlTZWxl
Y3RvcignYnV0dG9uLm92ZXJmbG93JykuY2xhc3NMaXN0LmNvbnRhaW5zKCdvbicpIGJlY2FtZSBm
YWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRp
YS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItY29udGV4dC1tZW51LWJ1dHRvbi1zdGF0ZS5o
dG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRy
b2xsZXIvbWVkaWEtY29udHJvbGxlci1jb250ZXh0LW1lbnUtYnV0dG9uLXN0YXRlLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmY0NTJjMmE2ZjFjODVmNDczZTk2Nzc1OWI1MjZkYTM0YjI4N2M5MQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRp
YS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItY29udGV4dC1tZW51LWJ1dHRvbi1zdGF0ZS5o
dG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL21lZGlhLWNvbnRyb2xzLXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8dmlkZW8g
c3JjPSIuLi8uLi9jb250ZW50L3Rlc3QubXA0IiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBs
ZWZ0OiAwOyB0b3A6IDA7IHdpZHRoOiA2MDBweDsiIGNvbnRyb2xzIGF1dG9wbGF5PjwvdmlkZW8+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworZGVzY3JpcHRpb24oIlRlc3RpbmcgdGhhdCBgTWVkaWFDb250cm9sbGVyLnBy
b3RvdHlwZS5zaG93TWVkaWFDb250cm9sc0NvbnRleHRNZW51YCBwcm9wZXJseSBtYXJrcyB0aGUg
YEJ1dHRvbmAgYXMgYG9uYC4iKTsKKworY29uc3QgbWVkaWEgPSBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCJ2aWRlbyIpOworY29uc3Qgc2hhZG93Um9vdCA9IHdpbmRvdy5pbnRlcm5hbHMuc2hhZG93
Um9vdChtZWRpYSk7CisKK21lZGlhLmFkZEV2ZW50TGlzdGVuZXIoInBsYXkiLCBhc3luYyBmdW5j
dGlvbigpIHsKKyAgICBtZWRpYS5wYXVzZSgpOworCisgICAgYXdhaXQgc2hvdWxkQmVjb21lRGlm
ZmVyZW50KCJzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpIiwgIm51
bGwiKTsKKworICAgIGF3YWl0IHNob3VsZEJlY29tZURpZmZlcmVudCgic2hhZG93Um9vdC5xdWVy
eVNlbGVjdG9yKCdidXR0b24ub3ZlcmZsb3cnKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0
aCIsICIwIik7CisKKyAgICBkZWJ1ZygiVGFwcGluZyBvdmVyZmxvdyBidXR0b24uLi4iKTsKKyAg
ICBhd2FpdCBwcmVzc09uRWxlbWVudChzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbi5v
dmVyZmxvdyIpKTsKKyAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yQ29udGV4dE1lbnVUb1Nob3co
KTsKKyAgICBhd2FpdCBzaG91bGRCZWNvbWVFcXVhbCgic2hhZG93Um9vdC5xdWVyeVNlbGVjdG9y
KCdidXR0b24ub3ZlcmZsb3cnKS5jbGFzc0xpc3QuY29udGFpbnMoJ29uJykiLCAidHJ1ZSIpOwor
CisgICAgZGVidWcoIkRpc21pc3NpbmcgY29udGV4dG1lbnUuLi4iKTsKKyAgICBhd2FpdCBuZXcg
UHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIHRlc3RSdW5uZXIucnVuVUlT
Y3JpcHQoYAorICAgICAgICAgICAgdWlDb250cm9sbGVyLmRpc21pc3NNZW51KCk7CisgICAgICAg
ICAgICB1aUNvbnRyb2xsZXIudWlTY3JpcHRDb21wbGV0ZSgpOworICAgICAgICBgLCByZXNvbHZl
KTsKKyAgICB9KTsKKyAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yQ29udGV4dE1lbnVUb0hpZGUo
KTsKKyAgICBhd2FpdCBzaG91bGRCZWNvbWVFcXVhbCgic2hhZG93Um9vdC5xdWVyeVNlbGVjdG9y
KCdidXR0b24ub3ZlcmZsb3cnKS5jbGFzc0xpc3QuY29udGFpbnMoJ29uJykiLCAiZmFsc2UiKTsK
KworICAgIG1lZGlhLnJlbW92ZSgpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434303</attachid>
            <date>2021-07-27 11:49:46 -0700</date>
            <delta_ts>2021-07-27 11:54:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228310-20210727114911.patch</filename>
            <type>text/plain</type>
            <size>19999</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4YzE1NWY3ZmMyZTg0ODJhNjAyNjEyZDdlYzBlY2YzMGQ4ZDg3NDBmLi5k
Y2QwYWNkZjY4YWJhZjBiNzE5ZjNkNDc5N2IxNjk1MjZhMWJmYzM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMjEtMDctMjYgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFtNb2Rlcm4gTWVkaWEgQ29udHJvbHNdIFttYWNPU10gT3ZlcmZsb3cgYnV0
dG9uIHN0aWxsIHNob3dzIGFzIGBvbmAgZXZlbiBhZnRlciBjb250ZXh0bWVudSBpcyBkaXNtaXNz
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODMx
MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODExMjQ3ODY+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgV2Vuc29uIEhzaWVoLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21vZGVybi1tZWRpYS1jb250
cm9scy9vdmVyZmxvdy1idXR0b24vb3ZlcmZsb3ctYnV0dG9uLWNvbnRleHQtbWVudS1zdGF0ZS5o
dG1sCisKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oOgorICAgICAgICAq
IHBhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
eHRNZW51Q29udHJvbGxlcjo6ZGlkRGlzbWlzc0NvbnRleHRNZW51KTogQWRkZWQuCisgICAgICAg
ICogcGFnZS9Db250ZXh0TWVudVByb3ZpZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0
TWVudVByb3ZpZGVyOjpkaWREaXNtaXNzQ29udGV4dE1lbnUpOiBBZGRlZC4KKyAgICAgICAgQWRk
IHBsdW1iaW5nIGZyb20gV2ViS2l0IHRvIHRoZSBgQ29udGV4dE1lbnVQcm92aWRlcmAgZm9yIHdo
ZW4gdGhlIGNvbnRleHRtZW51IGlzIGRpc21pc3NlZC4KKworICAgICAgICAqIE1vZHVsZXMvbWVk
aWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUNvbnRyb2xzQ29udGV4dE1lbnVQcm92aWRlcjo6ZGlkRGlzbWlzc0NvbnRleHRNZW51KTogQWRk
ZWQuCisgICAgICAgIFdoZW4gdGhlIGNvbnRleHRtZW51IGlzIGRpc21pc3NlZCwgaW52b2tlIHRo
ZSBjYWxsYmFjayBwcm92aWRlZCB0byBgTWVkaWFDb250cm9sc0hvc3Q6OnNob3dNZWRpYUNvbnRy
b2xzQ29udGV4dE1lbnVgCisgICAgICAgIGFzIHRoYXQncyB0aGUgc2lnbmFsIHRvIHRoZSBgTWVk
aWFDb250cm9sbGVyYCB0aGF0IHRoZSBjb250ZXh0bWVudSBpbnRlcmFjdGlvbiBpcyBvdmVyLAor
ICAgICAgICB3aGljaCBhZGp1c3RzIHRoZSBgb25gIHN0YXRlIG9mIHRoZSBgQnV0dG9uYC4KKwog
MjAyMS0wNy0yNiAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgogCiAgICAgICAg
IFZpZGVvIHBhdXNlcyBhZnRlciBzY3J1YmJpbmcgd2l0aCBUb3VjaCBCYXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
MTQxNzVjMmEzMGI5NjI5MWY4NjE4Yjc4Njk4MTNiZDRkNzhlZWI2Ny4uNmMwMWI4MzYwODQ0OWE3
Yjc1MjE2NDRmYTkyZjMyZjRhY2E0YThiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAy
MS0wNy0yNiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgW01v
ZGVybiBNZWRpYSBDb250cm9sc10gW21hY09TXSBPdmVyZmxvdyBidXR0b24gc3RpbGwgc2hvd3Mg
YXMgYG9uYCBldmVuIGFmdGVyIGNvbnRleHRtZW51IGlzIGRpc21pc3NlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4MzEwCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS84MTEyNDc4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWgu
CisKKyAgICAgICAgUGlwZSBhbG9uZyB0aGUgYC1bTlNNZW51RGVsZWdhdGUgbWVudURpZENsb3Nl
Ol1gIHNpZ25hbCB0byB0aGUgV2ViUHJvY2VzcyBzbyB0aGUgYFdlYkNvcmU6OkNvbnRleHRNZW51
UHJvdmlkZXJgCisgICAgICAgIGNhbiBoYW5kbGUgaXQgaWYgbmVlZGVkLgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYkNvbnRleHRNZW51UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJD
b250ZXh0TWVudVByb3h5Ojp1c2VDb250ZXh0TWVudUl0ZW1zKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW06CisgICAgICAgICgtW1dLTWVudURlbGVn
YXRlIG1lbnVXaWxsT3BlbjpdKToKKyAgICAgICAgKC1bV0tNZW51RGVsZWdhdGUgbWVudURpZENs
b3NlOl0pOgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnNob3dDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlk
U2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWREaXNt
aXNzQ29udGV4dE1lbnUpOiBBZGRlZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJDb250ZXh0TWVudS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51OjpzaG93
KToKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OnN0YXJ0V2FpdGluZ0ZvckNvbnRleHRNZW51VG9TaG93KTogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNvbnRleHRNZW51U2hvd2luZyk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNvbnRleHRNZW51SGlkZGVuKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OmRpZFNob3dDb250ZXh0TWVudSk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpkaWREaXNtaXNzQ29udGV4dE1lbnUpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6bW91c2VFdmVudCk6CisgICAgICAgIERyaXZlLWJ5OiBSZW5hbWUgYG1fY29udGV4dE1l
bnVTaG93aW5nYCB0byBgbV93YWl0aW5nRm9yQ29udGV4dE1lbnVUb1Nob3dgIGZvciBjbGFyaXR5
LgorCiAyMDIxLTA3LTI2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJFR1JFU1NJT046IFtpT1NdIEFTU0VSVElPTiBGQUlMRUQ6ICFtX21lc3NhZ2VSZWNlaXZl
ck1hcENvdW50IHVuZGVyIFdlYktpdDo6UmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyOjp+UmVt
b3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuY3BwCmluZGV4IDljMDlm
ZThjYjk2N2VlY2I5NGRiZjhiNmQ5YjliMzg2ZjhjMDM5M2YuLjlhZDEyMTVlMTE5MDA3YzY2MjVk
NTg1NGEyMGQxZGMzMjhjNmFhMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcApAQCAtMzg4LDYgKzM4
OCwxMiBAQCBwcml2YXRlOgogICAgICAgICAgICAgbWVudS0+YXBwZW5kSXRlbShpdGVtKTsKICAg
ICB9CiAKKyAgICB2b2lkIGRpZERpc21pc3NDb250ZXh0TWVudSgpIG92ZXJyaWRlCisgICAgewor
ICAgICAgICBpZiAobV9jYWxsYmFjaykKKyAgICAgICAgICAgIG1fY2FsbGJhY2soQ29udGV4dE1l
bnVJdGVtVGFnTm9BY3Rpb24pOworICAgIH0KKwogICAgIHZvaWQgY29udGV4dE1lbnVJdGVtU2Vs
ZWN0ZWQoQ29udGV4dE1lbnVBY3Rpb24gYWN0aW9uLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZQog
ICAgIHsKICAgICAgICAgbV9jYWxsYmFjayhhY3Rpb24gLSBDb250ZXh0TWVudUl0ZW1CYXNlQ3Vz
dG9tVGFnKTsKQEAgLTQ1NSwxNCArNDYxLDggQEAgcHJpdmF0ZToKIGJvb2wgTWVkaWFDb250cm9s
c0hvc3Q6OnNob3dNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnUoSFRNTEVsZW1lbnQmIHRhcmdldCwg
U3RyaW5nJiYgb3B0aW9uc0pTT05TdHJpbmcsIFJlZjxWb2lkQ2FsbGJhY2s+JiYgY2FsbGJhY2sp
CiB7CiAjaWYgVVNFKFVJQ09OVEVYVE1FTlUpIHx8IChFTkFCTEUoQ09OVEVYVF9NRU5VUykgJiYg
VVNFKEFDQ0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUykpCi0gICAgaWYgKG1fc2hvd01lZGlhQ29u
dHJvbHNDb250ZXh0TWVudUNhbGxiYWNrKSB7Ci0jaWYgVVNFKFVJQ09OVEVYVE1FTlUpCisgICAg
aWYgKG1fc2hvd01lZGlhQ29udHJvbHNDb250ZXh0TWVudUNhbGxiYWNrKQogICAgICAgICByZXR1
cm4gZmFsc2U7Ci0jZWxpZiAoRU5BQkxFKENPTlRFWFRfTUVOVVMpICYmIFVTRShBQ0NFU1NJQklM
SVRZX0NPTlRFWFRfTUVOVVMpKQotICAgICAgICAvLyBGSVhNRTogYGNvbnRleHRNZW51Q2xlYXJl
ZGAgaXMgaW52b2tlZCBiZXR3ZWVuIHNob3cgYW5kIGl0ZW0gc2VsZWN0ZWQgc28gd2UgbWF5IGhh
dmUgYSBwZW5kaW5nIGNhbGxiYWNrLgotICAgICAgICBzdGQ6OmV4Y2hhbmdlKG1fc2hvd01lZGlh
Q29udHJvbHNDb250ZXh0TWVudUNhbGxiYWNrLCBudWxscHRyKS0+aGFuZGxlRXZlbnQoKTsKLSNl
bmRpZgotICAgIH0KIAogICAgIG1fc2hvd01lZGlhQ29udHJvbHNDb250ZXh0TWVudUNhbGxiYWNr
ID0gV1RGTW92ZShjYWxsYmFjayk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcAppbmRleCBjNGU0M2U4OGRmZDlmODc1Mzk2MGVkOTNlM2UyYzRmZGUx
Y2VkMDhhLi4yMGM5MTk4OTU2MDEwYTQ1NGM5NWFiOWMzZjc2Mzg3NmM5NjFmNzA4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCkBAIC0xNzIsNiAr
MTcyLDEyIEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93Q29udGV4dE1lbnUoRXZl
bnQmIGV2ZW50KQogICAgIGV2ZW50LnNldERlZmF1bHRIYW5kbGVkKCk7CiB9CiAKK3ZvaWQgQ29u
dGV4dE1lbnVDb250cm9sbGVyOjpkaWREaXNtaXNzQ29udGV4dE1lbnUoKQoreworICAgIGlmICht
X21lbnVQcm92aWRlcikKKyAgICAgICAgbV9tZW51UHJvdmlkZXItPmRpZERpc21pc3NDb250ZXh0
TWVudSgpOworfQorCiBzdGF0aWMgdm9pZCBvcGVuTmV3V2luZG93KGNvbnN0IFVSTCYgdXJsVG9M
b2FkLCBGcmFtZSYgZnJhbWUsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgc2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeSkKIHsKICAgICBQYWdlKiBvbGRQYWdlID0gZnJhbWUucGFnZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggMWUy
OTMxMDUwNjY0NTBiNDRiMGEzNTI3MWQ2ZDE0MjUyYTdiMjliYS4uNmZlMmJkM2E4NjdhMjdhYWM4
Yjc0YjQxZTMzZWI1ZDE4NzZlNDA3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZXh0TWVudUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRN
ZW51Q29udHJvbGxlci5oCkBAIC01Niw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNob3dD
b250ZXh0TWVudShFdmVudCYsIENvbnRleHRNZW51UHJvdmlkZXImKTsKIAogICAgIHZvaWQgcG9w
dWxhdGUoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZERpc21pc3NDb250ZXh0TWVudSgp
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4
dE1lbnVBY3Rpb24sIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAgIHZvaWQgYWRkSW5zcGVjdEVs
ZW1lbnRJdGVtKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVQcm92aWRlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudVByb3ZpZGVyLmgK
aW5kZXggMjNiZWQ2ODU5NGFiYTJmNDBiMzc0N2E4MTM1ZDUzYmU4MTY5Y2FiNS4uZjE1ODcwMmIz
OGIwYTI3NGUzYzJkMDZjN2FlZTFiYmI1OTZiMjEyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9Db250ZXh0TWVudVByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZXh0TWVudVByb3ZpZGVyLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgfkNvbnRleHRNZW51UHJvdmlkZXIoKSB7IH07CiAKICAgICB2aXJ0dWFsIHZvaWQgcG9wdWxh
dGVDb250ZXh0TWVudShDb250ZXh0TWVudSopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRGlz
bWlzc0NvbnRleHRNZW51KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51SXRlbVNl
bGVjdGVkKENvbnRleHRNZW51QWN0aW9uLCBjb25zdCBTdHJpbmcmIHRpdGxlKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGNvbnRleHRNZW51Q2xlYXJlZCgpID0gMDsKICAgICB2aXJ0dWFsIENvbnRl
eHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0TWVudUNvbnRleHRUeXBlKCkgeyByZXR1cm4gQ29u
dGV4dE1lbnVDb250ZXh0OjpUeXBlOjpDb250ZXh0TWVudTsgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvbnRleHRNZW51UHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94eS5jcHAKaW5kZXggMmRiNjMxY2U1Mzc3MDEy
ZWI5ZmEwYzIzMTdiM2JmZWRmZDUxMjU5MS4uZjRkZjJhMWQ5ODViNjc0ZDQ3MjkyZjZhMTgwMTUy
MzEwOTBlYzljYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29udGV4
dE1lbnVQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29udGV4dE1l
bnVQcm94eS5jcHAKQEAgLTczLDcgKzczLDcgQEAgdm9pZCBXZWJDb250ZXh0TWVudVByb3h5Ojp1
c2VDb250ZXh0TWVudUl0ZW1zKFZlY3RvcjxSZWY8V2ViQ29udGV4dE1lbnVJdGVtPj4mJgogICAg
IHNob3dDb250ZXh0TWVudVdpdGhJdGVtcyhXVEZNb3ZlKGl0ZW1zKSk7CiAKICAgICAvLyBObyBt
YXR0ZXIgdGhlIHJlc3VsdCBvZiBzaG93Q29udGV4dE1lbnVXaXRoSXRlbXMsIGFsd2F5cyBub3Rp
ZnkgdGhlIFdlYlByb2Nlc3MgdGhhdCB0aGUgbWVudSBpcyBoaWRkZW4gc28gaXQgc3RhcnRzIGhh
bmRsaW5nIG1vdXNlIGV2ZW50cyBhZ2Fpbi4KLSAgICBwYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpDb250ZXh0TWVudUhpZGRlbigpKTsKKyAgICBwYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpEaWRTaG93Q29udGV4dE1lbnUoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYjhjZmQ4MmU2ODll
YzE2OWIwNTdlOGM4ZTZhNWI5MDM2MWRhNWJiNC4uOGQ0MWU0NTIzZjQ3ZjkyMTA1MjU5YzYzMDYw
NTE1ZWY0ZmM5OGMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CkBAIC02ODI4LDcgKzY4MjgsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd0NvbnRleHRNZW51
KENvbnRleHRNZW51Q29udGV4dERhdGEmJiBjb250ZXh0TWVudUNvbnRleHREYQogICAgIC8vIGNh
biBoYW5nIHRoZSBwYWdlIC8gV2ViRHJpdmVyIHRlc3QuIFByZXRlbmQgdG8gc2hvdyBhbmQgaW1t
ZWRpYXRlbHkgZGlzbWlzcyB0aGUgY29udGV4dCBtZW51LgogICAgIGlmIChhdXRvKiBhdXRvbWF0
aW9uU2Vzc2lvbiA9IHByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLmF1dG9tYXRpb25TZXNzaW9uKCkp
IHsKICAgICAgICAgaWYgKG1fY29udHJvbGxlZEJ5QXV0b21hdGlvbiAmJiBhdXRvbWF0aW9uU2Vz
c2lvbi0+aXNTaW11bGF0aW5nVXNlckludGVyYWN0aW9uKCkpIHsKLSAgICAgICAgICAgIHNlbmQo
TWVzc2FnZXM6OldlYlBhZ2U6OkNvbnRleHRNZW51SGlkZGVuKCkpOworICAgICAgICAgICAgc2Vu
ZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkU2hvd0NvbnRleHRNZW51KCkpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAgICAgfQpAQCAtNjg0NCw2ICs2ODQ0LDIxIEBAIHZvaWQgV2Vi
UGFnZVByb3h5OjpzaG93Q29udGV4dE1lbnUoQ29udGV4dE1lbnVDb250ZXh0RGF0YSYmIGNvbnRl
eHRNZW51Q29udGV4dERhCiAgICAgbV9hY3RpdmVDb250ZXh0TWVudS0+c2hvdygpOwogfQogCit2
b2lkIFdlYlBhZ2VQcm94eTo6ZGlkU2hvd0NvbnRleHRNZW51KCkKK3sKKyAgICAvLyBEb24ndCBz
ZW5kIGBNZXNzYWdlczo6V2ViUGFnZTo6RGlkU2hvd0NvbnRleHRNZW51YCBhcyB0aGF0IHNob3Vs
ZCd2ZSBhbHJlYWR5IGJlZW4gZWFnZXJseQorICAgIC8vIHNlbnQgd2hlbiByZXF1ZXN0aW5nIHRo
ZSBjb250ZXh0IG1lbnUgdG8gc2hvdywgcmVnYXJkbGVzcyBvZiB0aGUgcmVzdWx0IG9mIHRoYXQg
cmVxdWVzdC4KKworICAgIHBhZ2VDbGllbnQoKS5kaWRTaG93Q29udGV4dE1lbnUoKTsKK30KKwor
dm9pZCBXZWJQYWdlUHJveHk6OmRpZERpc21pc3NDb250ZXh0TWVudSgpCit7CisgICAgc2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6RGlkRGlzbWlzc0NvbnRleHRNZW51KCkpOworCisgICAgcGFnZUNs
aWVudCgpLmRpZERpc21pc3NDb250ZXh0TWVudSgpOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6
Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRl
bSkKIHsKICAgICAvLyBBcHBsaWNhdGlvbiBjdXN0b20gaXRlbXMgZG9uJ3QgbmVlZCB0byByb3Vu
ZC10cmlwIHRocm91Z2ggdG8gV2ViQ29yZSBpbiB0aGUgV2ViUHJvY2Vzcy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYjEzOTFiYjU4MDU2MjFkMjg0YTcyZmE5YjBh
ODJlY2UwNGU4MzFiNS4uYWZkMTkyZTJjZTJjYmE4NmM0M2Q3NjM1Yjc5ZTdiMjcwZmExMWYxZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEzMTQsNiArMTMxNCw4
IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQogICAgIC8vIENhbGxlZCBi
eSB0aGUgV2ViQ29udGV4dE1lbnVQcm94eS4KKyAgICB2b2lkIGRpZFNob3dDb250ZXh0TWVudSgp
OworICAgIHZvaWQgZGlkRGlzbWlzc0NvbnRleHRNZW51KCk7CiAgICAgdm9pZCBjb250ZXh0TWVu
dUl0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJik7CiAgICAgdm9pZCBo
YW5kbGVDb250ZXh0TWVudUtleUV2ZW50KCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KaW5kZXggM2UwMDkw
YjU4NzViMzQ4ODdjM2FlZWQ0NWViMzMzM2UzNDUyYTQxMy4uOTJkYTUzNzg3OTgxZWZhNjNlYjll
ZmE1MGQ2ZDI2ODdjYWM3ZmE1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KQEAgLTE3MSwxMiArMTcxLDEyIEBAIC0o
aW5zdGFuY2V0eXBlKWluaXRXaXRoTWVudVByb3h5OihXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJv
eHlNYWMmKW1lbnVQcm94eQogCiAtICh2b2lkKW1lbnVXaWxsT3BlbjooTlNNZW51ICopbWVudQog
ewotICAgIF9tZW51UHJveHktPnBhZ2UoKS0+cGFnZUNsaWVudCgpLmRpZFNob3dDb250ZXh0TWVu
dSgpOworICAgIF9tZW51UHJveHktPnBhZ2UoKS0+ZGlkU2hvd0NvbnRleHRNZW51KCk7CiB9CiAK
IC0gKHZvaWQpbWVudURpZENsb3NlOihOU01lbnUgKiltZW51CiB7Ci0gICAgX21lbnVQcm94eS0+
cGFnZSgpLT5wYWdlQ2xpZW50KCkuZGlkRGlzbWlzc0NvbnRleHRNZW51KCk7CisgICAgX21lbnVQ
cm94eS0+cGFnZSgpLT5kaWREaXNtaXNzQ29udGV4dE1lbnUoKTsKIH0KIAogQGVuZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCmlu
ZGV4IGUzMGUzYmRhMDE2ZjMwZTU0NzUyMGNhNzI1MGRiNjFkZjhlNzQ3MmQuLjI4NjczMGEzODNk
NmNjY2E4NDMxNjU4NWFiMzFhMDdhMjRlNWZjOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKQEAgLTY4LDcgKzY4LDcgQEAg
dm9pZCBXZWJDb250ZXh0TWVudTo6c2hvdygpCiAgICAgQ29udGV4dE1lbnVDb250ZXh0RGF0YSBj
b250ZXh0TWVudUNvbnRleHREYXRhKG1lbnVMb2NhdGlvbiwgbWVudUl0ZW1zLCBjb250cm9sbGVy
LmNvbnRleHQoKSk7CiAKICAgICAvLyBNYXJrIHRoZSBXZWJQYWdlIGhhcyBoYXZpbmcgYSBzaG93
biBjb250ZXh0IG1lbnUgdGhlbiBub3RpZnkgdGhlIFVJUHJvY2Vzcy4KLSAgICBtX3BhZ2UtPmNv
bnRleHRNZW51U2hvd2luZygpOworICAgIG1fcGFnZS0+c3RhcnRXYWl0aW5nRm9yQ29udGV4dE1l
bnVUb1Nob3coKTsKICAgICBtX3BhZ2UtPmZsdXNoUGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlKCk7
CiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dDb250ZXh0TWVu
dShjb250ZXh0TWVudUNvbnRleHREYXRhLCBVc2VyRGF0YShXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS50cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhLmdldCgpKS5nZXQoKSkpKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggODdj
MDNlY2E5NjhhMTc1MmY1ZjNjZWFjOTA4NWZmN2Q5M2I1NTFjYy4uNTc0ZmQ0YmY5MjllN2RlNGNj
ODgzMmY3OTRiYmE2OGI3NDIyNjk4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI4NTcsNiArMjg1NywyMCBAQCBwcml2YXRlOgogICAgIGNv
bnN0IFdlYkV2ZW50KiBtX3ByZXZpb3VzQ3VycmVudEV2ZW50OwogfTsKIAorI2lmIEVOQUJMRShD
T05URVhUX01FTlVTKQorCit2b2lkIFdlYlBhZ2U6OmRpZFNob3dDb250ZXh0TWVudSgpCit7Cisg
ICAgbV93YWl0aW5nRm9yQ29udGV4dE1lbnVUb1Nob3cgPSBmYWxzZTsKK30KKwordm9pZCBXZWJQ
YWdlOjpkaWREaXNtaXNzQ29udGV4dE1lbnUoKQoreworICAgIGNvcmVQYWdlKCktPmNvbnRleHRN
ZW51Q29udHJvbGxlcigpLmRpZERpc21pc3NDb250ZXh0TWVudSgpOworfQorCisjZW5kaWYgLy8g
RU5BQkxFKENPTlRFWFRfTUVOVVMpCisKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VX0VWRU5UKQog
c3RhdGljIGJvb2wgaXNDb250ZXh0Q2xpY2soY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVu
dCkKIHsKQEAgLTI5NjIsNyArMjk3Niw3IEBAIHZvaWQgV2ViUGFnZTo6bW91c2VFdmVudChjb25z
dCBXZWJNb3VzZUV2ZW50JiBtb3VzZUV2ZW50LCBzdGQ6Om9wdGlvbmFsPFNhbmRib3hFCiAKICNp
ZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICAvLyBEb24ndCB0cnkgdG8gaGFuZGxlIGFueSBw
ZW5kaW5nIG1vdXNlIGV2ZW50cyBpZiBhIGNvbnRleHQgbWVudSBpcyBzaG93aW5nLgotICAgIGlm
IChtX2lzU2hvd2luZ0NvbnRleHRNZW51KQorICAgIGlmIChtX3dhaXRpbmdGb3JDb250ZXh0TWVu
dVRvU2hvdykKICAgICAgICAgc2hvdWxkSGFuZGxlRXZlbnQgPSBmYWxzZTsKICNlbmRpZgogI2lm
IEVOQUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKaW5kZXggMDA0MjI3NWY1YTZkNTk2MTZhMGRkZjBlOWJlMjhlNDhjMmMwYzFhYy4u
NWFhNzczOGYzNzAyMzJiZGEyM2VmNWQ4Yzg5YzkwNzRlNDRlOTlhYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTA0OSw3ICsxMDQ5LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2ltdWxhdGVNb3VzZU1vdGlvbihXZWJDb3JlOjpJbnRQb2ludCwgV2Fs
bFRpbWUpOwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgdm9pZCBjb250ZXh0TWVu
dVNob3dpbmcoKSB7IG1faXNTaG93aW5nQ29udGV4dE1lbnUgPSB0cnVlOyB9CisgICAgdm9pZCBz
dGFydFdhaXRpbmdGb3JDb250ZXh0TWVudVRvU2hvdygpIHsgbV93YWl0aW5nRm9yQ29udGV4dE1l
bnVUb1Nob3cgPSB0cnVlOyB9CiAjZW5kaWYKIAogICAgIGJvb2wgd2hlZWxFdmVudChjb25zdCBX
ZWJXaGVlbEV2ZW50JiwgT3B0aW9uU2V0PFdlYkNvcmU6OldoZWVsRXZlbnRQcm9jZXNzaW5nU3Rl
cHM+KTsKQEAgLTE2MTksNyArMTYxOSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCB0b3VjaFdpdGhJ
ZGVudGlmaWVyV2FzUmVtb3ZlZChXZWJDb3JlOjpQb2ludGVySUQpOwogCiAjaWYgRU5BQkxFKENP
TlRFWFRfTUVOVVMpCi0gICAgdm9pZCBjb250ZXh0TWVudUhpZGRlbigpIHsgbV9pc1Nob3dpbmdD
b250ZXh0TWVudSA9IGZhbHNlOyB9CisgICAgdm9pZCBkaWRTaG93Q29udGV4dE1lbnUoKTsKKyAg
ICB2b2lkIGRpZERpc21pc3NDb250ZXh0TWVudSgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENPTlRF
WFRfTUVOVV9FVkVOVCkKICAgICB2b2lkIGNvbnRleHRNZW51Rm9yS2V5RXZlbnQoKTsKQEAgLTIx
NzEsNyArMjE3Miw3IEBAIHByaXZhdGU6CiAgICAgT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5
U3RhdGU6OkZsYWc+IG1fbGFzdEFjdGl2aXR5U3RhdGVDaGFuZ2VzOwogCiAjaWYgRU5BQkxFKENP
TlRFWFRfTUVOVVMpCi0gICAgYm9vbCBtX2lzU2hvd2luZ0NvbnRleHRNZW51IHsgZmFsc2UgfTsK
KyAgICBib29sIG1fd2FpdGluZ0ZvckNvbnRleHRNZW51VG9TaG93IHsgZmFsc2UgfTsKICNlbmRp
ZgogCiAgICAgUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+IG1fZm9jdXNlZEVsZW1lbnQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5p
bgppbmRleCAyMmMwYjgzY2E3ZjU4NTJjMTUwYWI5YTEwZmIzZmQxZWE3NzMzNmE4Li5kODhlZjBl
YmI1YmFhMTRkNDRlMGU5YzE5OTI2YjYzNjVlZmUxMDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTE2NCwxMSAr
MTY0LDYgQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2Vi
S2l0OjpTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUKICAgICBEaWRFbmREYXRlVGltZVBpY2tl
cigpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICBDb250ZXh0TWVu
dUhpZGRlbigpCi0gICAgQ29udGV4dE1lbnVGb3JLZXlFdmVudCgpCi0jZW5kaWYKLQogICAgIFNj
cm9sbEJ5KHVpbnQzMl90IHNjcm9sbERpcmVjdGlvbiwgdWludDMyX3Qgc2Nyb2xsR3JhbnVsYXJp
dHkpCiAgICAgQ2VudGVyU2VsZWN0aW9uSW5WaXNpYmxlQXJlYSgpCiAKQEAgLTM0NSw3ICszNDAs
MTAgQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0
OjpTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUKIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVT
KQogICAgICMgQ29udGV4dCBtZW51LgorICAgIERpZFNob3dDb250ZXh0TWVudSgpCisgICAgRGlk
RGlzbWlzc0NvbnRleHRNZW51KCkKICAgICBEaWRTZWxlY3RJdGVtRnJvbUFjdGl2ZUNvbnRleHRN
ZW51KFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YSBtZW51SXRlbSkKKyAgICBDb250ZXh0
TWVudUZvcktleUV2ZW50KCkKICNlbmRpZgogCiAgICAgIyBPcGVuIHBhbmVsLgpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDZmYzQ1NDc5NDU4MDc4
NzA4YmI2MWY2YmM4YzdhYjFhMDVjNTdmZmIuLjM5YzM4ZTVlMTNlNGY3Mjk0NGQyYWZjOWVlZDU4
NTU4MmE2NGZlMWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wNy0yNiAgRGV2aW4gUm91c3NvICA8ZHJvdXNz
b0BhcHBsZS5jb20+CisKKyAgICAgICAgW01vZGVybiBNZWRpYSBDb250cm9sc10gW21hY09TXSBP
dmVyZmxvdyBidXR0b24gc3RpbGwgc2hvd3MgYXMgYG9uYCBldmVuIGFmdGVyIGNvbnRleHRtZW51
IGlzIGRpc21pc3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI4MzEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MTEyNDc4Nj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWguCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW06CisgICAgICAgICgtW1Rlc3RSdW5uZXJXS1dl
YlZpZXcgZGlzbWlzc0FjdGl2ZU1lbnVdKToKKyAgICAgICAgKC1bVGVzdFJ1bm5lcldLV2ViVmll
dyBpbW1lZGlhdGVseURpc21pc3NDb250ZXh0TWVudUlmTmVlZGVkXSk6CisgICAgICAgICgtW1Rl
c3RSdW5uZXJXS1dlYlZpZXcgX2Rpc21pc3NBbGxDb250ZXh0TWVudUludGVyYWN0aW9uc10pOiBB
ZGRlZC4KKwogMjAyMS0wNy0yNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFdLVXNlckNvbnRlbnRDb250cm9sbGVyLnJlbW92ZUFsbFNjcmlw
dE1lc3NhZ2VIYW5kbGVycygpIGRvZXNuJ3QgcmVsZWFzZSB0aGUgbWVzc2FnZSBoYW5kbGVycwpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJW
aWV3Lm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3
Lm1tCmluZGV4IDU1ZjUzZTBmMWFmOTI5NjRmMzc0OTdlMTBlNTYyMDAwNTE0ZGJiNWMuLjJlNmQ0
YzFlMWRkMmIwZTdmYTk2ZTBmMDcwNWQ0ZDRhYzVkNjU0ZjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5tbQorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW0KQEAgLTE4NSw2ICsx
ODUsNyBAQCAtICh2b2lkKV9kaWRIaWRlTWVudQogLSAodm9pZClkaXNtaXNzQWN0aXZlTWVudQog
ewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgW3NlbGYgX2Rpc21pc3NBbGxDb250ZXh0
TWVudUludGVyYWN0aW9uc107CiAgICAgW3NlbGYgcmVzaWduRmlyc3RSZXNwb25kZXJdOwogI2Vs
c2UKICAgICBhdXRvIG1lbnUgPSByZXRhaW5QdHIoc2VsZi5fYWN0aXZlTWVudSk7CkBAIC0yNTMs
NiArMjU0LDExIEBAIC0gKHZvaWQpaW1tZWRpYXRlbHlEaXNtaXNzQ29udGV4dE1lbnVJZk5lZWRl
ZAogCiAgICAgc2VsZi5zaG93aW5nQ29udGV4dE1lbnUgPSBOTzsKIAorICAgIFtzZWxmIF9kaXNt
aXNzQWxsQ29udGV4dE1lbnVJbnRlcmFjdGlvbnNdOworfQorCistICh2b2lkKV9kaXNtaXNzQWxs
Q29udGV4dE1lbnVJbnRlcmFjdGlvbnMKK3sKICNpZiBQTEFURk9STShJT1MpCiAgICAgZm9yIChp
ZCA8VUlJbnRlcmFjdGlvbj4gaW50ZXJhY3Rpb24gaW4gc2VsZi5jb250ZW50Vmlldy5pbnRlcmFj
dGlvbnMpIHsKICAgICAgICAgaWYgKFtpbnRlcmFjdGlvbiBpc0tpbmRPZkNsYXNzOlVJQ29udGV4
dE1lbnVJbnRlcmFjdGlvbi5jbGFzc10pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGIyNmQzY2JmMzhlNDdmYzVhZmQ4MzIy
Y2QyODAyY2YwZDU2MDUzZS4uZTFhMWMzNjE2NTBkZWRjOTIxYTc5NDY3Y2Y1Y2M4NTJmNjQyYTVi
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA3LTI2ICBEZXZpbiBSb3Vzc28gIDxkcm91
c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9kZXJuIE1lZGlhIENvbnRyb2xzXSBbbWFjT1Nd
IE92ZXJmbG93IGJ1dHRvbiBzdGlsbCBzaG93cyBhcyBgb25gIGV2ZW4gYWZ0ZXIgY29udGV4dG1l
bnUgaXMgZGlzbWlzc2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjgzMTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgxMTI0Nzg2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IFdlbnNvbiBIc2llaC4KKworICAgICAgICAqIG1lZGlhL21vZGVybi1t
ZWRpYS1jb250cm9scy9vdmVyZmxvdy1idXR0b24vb3ZlcmZsb3ctYnV0dG9uLWNvbnRleHQtbWVu
dS1zdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvb3ZlcmZsb3ctYnV0dG9uL292ZXJmbG93LWJ1dHRvbi1jb250ZXh0LW1lbnUtc3RhdGUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKworICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9s
cy9vdmVyZmxvdy1zdXBwb3J0L3BsYXliYWNrLXNwZWVkLmh0bWw6CisgICAgICAgICogbWVkaWEv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL3RyYWNrcy1zdXBwb3J0L2NsaWNrLXRyYWNrLWluLWNvbnRl
eHRtZW51Lmh0bWw6CisgICAgICAgIEFkanVzdCBob3cgdGhlc2UgdGVzdHMgd2FpdCBmb3IgYW5k
IGRpc21pc3MgdGhlIGNvbnRleHRtZW51LgorCiAyMDIxLTA3LTI2ICBKZWFuLVl2ZXMgQXZlbmFy
ZCAgPGp5YUBhcHBsZS5jb20+CiAKICAgICAgICAgVmlkZW8gcGF1c2VzIGFmdGVyIHNjcnViYmlu
ZyB3aXRoIFRvdWNoIEJhcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1cHBvcnQvcGxheWJhY2stc3BlZWQuaHRtbCBiL0xheW91
dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1zdXBwb3J0L3BsYXli
YWNrLXNwZWVkLmh0bWwKaW5kZXggNGRhOGY4MjVjY2UxMDEwMmIzZDc1MzE1YWZmNTdhMjc3NmYy
YjRjYi4uMjJkZWRmZWZhMjg5NGRiZGY3NzMwZDIzMGZjZGJhN2M0NjE3ZTM0YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1cHBv
cnQvcGxheWJhY2stc3BlZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvb3ZlcmZsb3ctc3VwcG9ydC9wbGF5YmFjay1zcGVlZC5odG1sCkBAIC0zMCw2
ICszMCwxMyBAQCBtZWRpYS5hZGRFdmVudExpc3RlbmVyKCJwbGF5IiwgZnVuY3Rpb24oKSB7CiAg
ICAgICAgICAgICBjaGVja2VkSXRlbXMgPSBjb250ZXh0bWVudVswXS5jaGlsZHJlbi5maWx0ZXIo
KGl0ZW0pID0+IGl0ZW0uY2hlY2tlZCk7CiAgICAgICAgICAgICBzaG91bGRCZSgiY2hlY2tlZEl0
ZW1zLmxlbmd0aCIsICIxIik7CiAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNo
ZWNrZWRJdGVtc1swXS50aXRsZSIsIGAxJHttdWx0aXBsaWNhdGlvblNpZ259YCk7CisKKyAgICAg
ICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAKKyAgICAgICAgICAgICAgICAgICAgdWlD
b250cm9sbGVyLmRpc21pc3NNZW51KCk7CisgICAgICAgICAgICAgICAgICAgIHVpQ29udHJvbGxl
ci51aVNjcmlwdENvbXBsZXRlKCk7CisgICAgICAgICAgICAgICAgYCwgcmVzb2x2ZSk7CisgICAg
ICAgICAgICB9KTsKICAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JDb250ZXh0TWVu
dVRvSGlkZSgpOwogCiAgICAgICAgICAgICBkZWJ1ZygiQ2hhbmdpbmcgcGxheWJhY2sgc3BlZWQg
dmlhIEphdmFTY3JpcHQuLi4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVy
bi1tZWRpYS1jb250cm9scy90cmFja3Mtc3VwcG9ydC9jbGljay10cmFjay1pbi1jb250ZXh0bWVu
dS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3RyYWNrcy1z
dXBwb3J0L2NsaWNrLXRyYWNrLWluLWNvbnRleHRtZW51Lmh0bWwKaW5kZXggOWNlYTkxZTcyNzMz
MjhkMmFhZWRmZmVmYjg4Y2RlNjU3YzA3YzM3Ni4uMTYzY2QzNzBlMTFmOGIxOTE5ZDgwYmM4NDJk
YWZlZDY1MTcyMGRhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL3RyYWNrcy1zdXBwb3J0L2NsaWNrLXRyYWNrLWluLWNvbnRleHRtZW51Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3RyYWNrcy1zdXBw
b3J0L2NsaWNrLXRyYWNrLWluLWNvbnRleHRtZW51Lmh0bWwKQEAgLTQzLDE0ICs0MywxNCBAQCBm
dW5jdGlvbiBjbGlja09uVHJhY2tzQnV0dG9uKGNvbnRpbnVhdGlvbikKIGFzeW5jIGZ1bmN0aW9u
IGNsaWNrT25GcmVuY2hBdWRpb1RyYWNrKCkKIHsKICAgICBkZWJ1ZygiU2VsZWN0aW5nICdGcmVu
Y2gnIHRyYWNrLi4uIik7Ci0gICAgYXdhaXQgZ2V0VHJhY2tzQ29udGV4dE1lbnUoKTsKKyAgICBh
d2FpdCBVSUhlbHBlci53YWl0Rm9yQ29udGV4dE1lbnVUb1Nob3coKTsKICAgICBhd2FpdCBVSUhl
bHBlci5jaG9vc2VNZW51QWN0aW9uKCJGcmVuY2ggU291bmQiKTsKIH0KIAogYXN5bmMgZnVuY3Rp
b24gY2xpY2tPblNwYW5pc2hBdWRpb1RyYWNrKCkKIHsKICAgICBkZWJ1ZygiU2VsZWN0aW5nICdT
cGFuaXNoJyB0cmFjay4uLiIpOwotICAgIGF3YWl0IGdldFRyYWNrc0NvbnRleHRNZW51KCk7Cisg
ICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckNvbnRleHRNZW51VG9TaG93KCk7CiAgICAgYXdhaXQg
VUlIZWxwZXIuY2hvb3NlTWVudUFjdGlvbigiU3BhbmlzaCBTb3VuZCIpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434305</attachid>
            <date>2021-07-27 11:54:07 -0700</date>
            <delta_ts>2021-07-27 14:24:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228310-20210727115406.patch</filename>
            <type>text/plain</type>
            <size>23388</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4YzE1NWY3ZmMyZTg0ODJhNjAyNjEyZDdlYzBlY2YzMGQ4ZDg3NDBmLi5k
Y2QwYWNkZjY4YWJhZjBiNzE5ZjNkNDc5N2IxNjk1MjZhMWJmYzM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMjEtMDctMjYgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFtNb2Rlcm4gTWVkaWEgQ29udHJvbHNdIFttYWNPU10gT3ZlcmZsb3cgYnV0
dG9uIHN0aWxsIHNob3dzIGFzIGBvbmAgZXZlbiBhZnRlciBjb250ZXh0bWVudSBpcyBkaXNtaXNz
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODMx
MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODExMjQ3ODY+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgV2Vuc29uIEhzaWVoLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21vZGVybi1tZWRpYS1jb250
cm9scy9vdmVyZmxvdy1idXR0b24vb3ZlcmZsb3ctYnV0dG9uLWNvbnRleHQtbWVudS1zdGF0ZS5o
dG1sCisKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oOgorICAgICAgICAq
IHBhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
eHRNZW51Q29udHJvbGxlcjo6ZGlkRGlzbWlzc0NvbnRleHRNZW51KTogQWRkZWQuCisgICAgICAg
ICogcGFnZS9Db250ZXh0TWVudVByb3ZpZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0
TWVudVByb3ZpZGVyOjpkaWREaXNtaXNzQ29udGV4dE1lbnUpOiBBZGRlZC4KKyAgICAgICAgQWRk
IHBsdW1iaW5nIGZyb20gV2ViS2l0IHRvIHRoZSBgQ29udGV4dE1lbnVQcm92aWRlcmAgZm9yIHdo
ZW4gdGhlIGNvbnRleHRtZW51IGlzIGRpc21pc3NlZC4KKworICAgICAgICAqIE1vZHVsZXMvbWVk
aWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUNvbnRyb2xzQ29udGV4dE1lbnVQcm92aWRlcjo6ZGlkRGlzbWlzc0NvbnRleHRNZW51KTogQWRk
ZWQuCisgICAgICAgIFdoZW4gdGhlIGNvbnRleHRtZW51IGlzIGRpc21pc3NlZCwgaW52b2tlIHRo
ZSBjYWxsYmFjayBwcm92aWRlZCB0byBgTWVkaWFDb250cm9sc0hvc3Q6OnNob3dNZWRpYUNvbnRy
b2xzQ29udGV4dE1lbnVgCisgICAgICAgIGFzIHRoYXQncyB0aGUgc2lnbmFsIHRvIHRoZSBgTWVk
aWFDb250cm9sbGVyYCB0aGF0IHRoZSBjb250ZXh0bWVudSBpbnRlcmFjdGlvbiBpcyBvdmVyLAor
ICAgICAgICB3aGljaCBhZGp1c3RzIHRoZSBgb25gIHN0YXRlIG9mIHRoZSBgQnV0dG9uYC4KKwog
MjAyMS0wNy0yNiAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgogCiAgICAgICAg
IFZpZGVvIHBhdXNlcyBhZnRlciBzY3J1YmJpbmcgd2l0aCBUb3VjaCBCYXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
MTQxNzVjMmEzMGI5NjI5MWY4NjE4Yjc4Njk4MTNiZDRkNzhlZWI2Ny4uNmMwMWI4MzYwODQ0OWE3
Yjc1MjE2NDRmYTkyZjMyZjRhY2E0YThiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAy
MS0wNy0yNiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgW01v
ZGVybiBNZWRpYSBDb250cm9sc10gW21hY09TXSBPdmVyZmxvdyBidXR0b24gc3RpbGwgc2hvd3Mg
YXMgYG9uYCBldmVuIGFmdGVyIGNvbnRleHRtZW51IGlzIGRpc21pc3NlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4MzEwCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS84MTEyNDc4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWgu
CisKKyAgICAgICAgUGlwZSBhbG9uZyB0aGUgYC1bTlNNZW51RGVsZWdhdGUgbWVudURpZENsb3Nl
Ol1gIHNpZ25hbCB0byB0aGUgV2ViUHJvY2VzcyBzbyB0aGUgYFdlYkNvcmU6OkNvbnRleHRNZW51
UHJvdmlkZXJgCisgICAgICAgIGNhbiBoYW5kbGUgaXQgaWYgbmVlZGVkLgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYkNvbnRleHRNZW51UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJD
b250ZXh0TWVudVByb3h5Ojp1c2VDb250ZXh0TWVudUl0ZW1zKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW06CisgICAgICAgICgtW1dLTWVudURlbGVn
YXRlIG1lbnVXaWxsT3BlbjpdKToKKyAgICAgICAgKC1bV0tNZW51RGVsZWdhdGUgbWVudURpZENs
b3NlOl0pOgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnNob3dDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlk
U2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWREaXNt
aXNzQ29udGV4dE1lbnUpOiBBZGRlZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJDb250ZXh0TWVudS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51OjpzaG93
KToKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OnN0YXJ0V2FpdGluZ0ZvckNvbnRleHRNZW51VG9TaG93KTogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNvbnRleHRNZW51U2hvd2luZyk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNvbnRleHRNZW51SGlkZGVuKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OmRpZFNob3dDb250ZXh0TWVudSk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpkaWREaXNtaXNzQ29udGV4dE1lbnUpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6bW91c2VFdmVudCk6CisgICAgICAgIERyaXZlLWJ5OiBSZW5hbWUgYG1fY29udGV4dE1l
bnVTaG93aW5nYCB0byBgbV93YWl0aW5nRm9yQ29udGV4dE1lbnVUb1Nob3dgIGZvciBjbGFyaXR5
LgorCiAyMDIxLTA3LTI2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJFR1JFU1NJT046IFtpT1NdIEFTU0VSVElPTiBGQUlMRUQ6ICFtX21lc3NhZ2VSZWNlaXZl
ck1hcENvdW50IHVuZGVyIFdlYktpdDo6UmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyOjp+UmVt
b3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuY3BwCmluZGV4IDljMDlm
ZThjYjk2N2VlY2I5NGRiZjhiNmQ5YjliMzg2ZjhjMDM5M2YuLjlhZDEyMTVlMTE5MDA3YzY2MjVk
NTg1NGEyMGQxZGMzMjhjNmFhMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcApAQCAtMzg4LDYgKzM4
OCwxMiBAQCBwcml2YXRlOgogICAgICAgICAgICAgbWVudS0+YXBwZW5kSXRlbShpdGVtKTsKICAg
ICB9CiAKKyAgICB2b2lkIGRpZERpc21pc3NDb250ZXh0TWVudSgpIG92ZXJyaWRlCisgICAgewor
ICAgICAgICBpZiAobV9jYWxsYmFjaykKKyAgICAgICAgICAgIG1fY2FsbGJhY2soQ29udGV4dE1l
bnVJdGVtVGFnTm9BY3Rpb24pOworICAgIH0KKwogICAgIHZvaWQgY29udGV4dE1lbnVJdGVtU2Vs
ZWN0ZWQoQ29udGV4dE1lbnVBY3Rpb24gYWN0aW9uLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZQog
ICAgIHsKICAgICAgICAgbV9jYWxsYmFjayhhY3Rpb24gLSBDb250ZXh0TWVudUl0ZW1CYXNlQ3Vz
dG9tVGFnKTsKQEAgLTQ1NSwxNCArNDYxLDggQEAgcHJpdmF0ZToKIGJvb2wgTWVkaWFDb250cm9s
c0hvc3Q6OnNob3dNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnUoSFRNTEVsZW1lbnQmIHRhcmdldCwg
U3RyaW5nJiYgb3B0aW9uc0pTT05TdHJpbmcsIFJlZjxWb2lkQ2FsbGJhY2s+JiYgY2FsbGJhY2sp
CiB7CiAjaWYgVVNFKFVJQ09OVEVYVE1FTlUpIHx8IChFTkFCTEUoQ09OVEVYVF9NRU5VUykgJiYg
VVNFKEFDQ0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUykpCi0gICAgaWYgKG1fc2hvd01lZGlhQ29u
dHJvbHNDb250ZXh0TWVudUNhbGxiYWNrKSB7Ci0jaWYgVVNFKFVJQ09OVEVYVE1FTlUpCisgICAg
aWYgKG1fc2hvd01lZGlhQ29udHJvbHNDb250ZXh0TWVudUNhbGxiYWNrKQogICAgICAgICByZXR1
cm4gZmFsc2U7Ci0jZWxpZiAoRU5BQkxFKENPTlRFWFRfTUVOVVMpICYmIFVTRShBQ0NFU1NJQklM
SVRZX0NPTlRFWFRfTUVOVVMpKQotICAgICAgICAvLyBGSVhNRTogYGNvbnRleHRNZW51Q2xlYXJl
ZGAgaXMgaW52b2tlZCBiZXR3ZWVuIHNob3cgYW5kIGl0ZW0gc2VsZWN0ZWQgc28gd2UgbWF5IGhh
dmUgYSBwZW5kaW5nIGNhbGxiYWNrLgotICAgICAgICBzdGQ6OmV4Y2hhbmdlKG1fc2hvd01lZGlh
Q29udHJvbHNDb250ZXh0TWVudUNhbGxiYWNrLCBudWxscHRyKS0+aGFuZGxlRXZlbnQoKTsKLSNl
bmRpZgotICAgIH0KIAogICAgIG1fc2hvd01lZGlhQ29udHJvbHNDb250ZXh0TWVudUNhbGxiYWNr
ID0gV1RGTW92ZShjYWxsYmFjayk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcAppbmRleCBjNGU0M2U4OGRmZDlmODc1Mzk2MGVkOTNlM2UyYzRmZGUx
Y2VkMDhhLi4yMGM5MTk4OTU2MDEwYTQ1NGM5NWFiOWMzZjc2Mzg3NmM5NjFmNzA4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCkBAIC0xNzIsNiAr
MTcyLDEyIEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93Q29udGV4dE1lbnUoRXZl
bnQmIGV2ZW50KQogICAgIGV2ZW50LnNldERlZmF1bHRIYW5kbGVkKCk7CiB9CiAKK3ZvaWQgQ29u
dGV4dE1lbnVDb250cm9sbGVyOjpkaWREaXNtaXNzQ29udGV4dE1lbnUoKQoreworICAgIGlmICht
X21lbnVQcm92aWRlcikKKyAgICAgICAgbV9tZW51UHJvdmlkZXItPmRpZERpc21pc3NDb250ZXh0
TWVudSgpOworfQorCiBzdGF0aWMgdm9pZCBvcGVuTmV3V2luZG93KGNvbnN0IFVSTCYgdXJsVG9M
b2FkLCBGcmFtZSYgZnJhbWUsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgc2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeSkKIHsKICAgICBQYWdlKiBvbGRQYWdlID0gZnJhbWUucGFnZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggMWUy
OTMxMDUwNjY0NTBiNDRiMGEzNTI3MWQ2ZDE0MjUyYTdiMjliYS4uNmZlMmJkM2E4NjdhMjdhYWM4
Yjc0YjQxZTMzZWI1ZDE4NzZlNDA3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZXh0TWVudUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRN
ZW51Q29udHJvbGxlci5oCkBAIC01Niw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNob3dD
b250ZXh0TWVudShFdmVudCYsIENvbnRleHRNZW51UHJvdmlkZXImKTsKIAogICAgIHZvaWQgcG9w
dWxhdGUoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZERpc21pc3NDb250ZXh0TWVudSgp
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4
dE1lbnVBY3Rpb24sIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAgIHZvaWQgYWRkSW5zcGVjdEVs
ZW1lbnRJdGVtKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVQcm92aWRlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudVByb3ZpZGVyLmgK
aW5kZXggMjNiZWQ2ODU5NGFiYTJmNDBiMzc0N2E4MTM1ZDUzYmU4MTY5Y2FiNS4uZjE1ODcwMmIz
OGIwYTI3NGUzYzJkMDZjN2FlZTFiYmI1OTZiMjEyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9Db250ZXh0TWVudVByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZXh0TWVudVByb3ZpZGVyLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgfkNvbnRleHRNZW51UHJvdmlkZXIoKSB7IH07CiAKICAgICB2aXJ0dWFsIHZvaWQgcG9wdWxh
dGVDb250ZXh0TWVudShDb250ZXh0TWVudSopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRGlz
bWlzc0NvbnRleHRNZW51KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51SXRlbVNl
bGVjdGVkKENvbnRleHRNZW51QWN0aW9uLCBjb25zdCBTdHJpbmcmIHRpdGxlKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGNvbnRleHRNZW51Q2xlYXJlZCgpID0gMDsKICAgICB2aXJ0dWFsIENvbnRl
eHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0TWVudUNvbnRleHRUeXBlKCkgeyByZXR1cm4gQ29u
dGV4dE1lbnVDb250ZXh0OjpUeXBlOjpDb250ZXh0TWVudTsgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvbnRleHRNZW51UHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94eS5jcHAKaW5kZXggMmRiNjMxY2U1Mzc3MDEy
ZWI5ZmEwYzIzMTdiM2JmZWRmZDUxMjU5MS4uZjRkZjJhMWQ5ODViNjc0ZDQ3MjkyZjZhMTgwMTUy
MzEwOTBlYzljYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29udGV4
dE1lbnVQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29udGV4dE1l
bnVQcm94eS5jcHAKQEAgLTczLDcgKzczLDcgQEAgdm9pZCBXZWJDb250ZXh0TWVudVByb3h5Ojp1
c2VDb250ZXh0TWVudUl0ZW1zKFZlY3RvcjxSZWY8V2ViQ29udGV4dE1lbnVJdGVtPj4mJgogICAg
IHNob3dDb250ZXh0TWVudVdpdGhJdGVtcyhXVEZNb3ZlKGl0ZW1zKSk7CiAKICAgICAvLyBObyBt
YXR0ZXIgdGhlIHJlc3VsdCBvZiBzaG93Q29udGV4dE1lbnVXaXRoSXRlbXMsIGFsd2F5cyBub3Rp
ZnkgdGhlIFdlYlByb2Nlc3MgdGhhdCB0aGUgbWVudSBpcyBoaWRkZW4gc28gaXQgc3RhcnRzIGhh
bmRsaW5nIG1vdXNlIGV2ZW50cyBhZ2Fpbi4KLSAgICBwYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpDb250ZXh0TWVudUhpZGRlbigpKTsKKyAgICBwYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpEaWRTaG93Q29udGV4dE1lbnUoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYjhjZmQ4MmU2ODll
YzE2OWIwNTdlOGM4ZTZhNWI5MDM2MWRhNWJiNC4uOGQ0MWU0NTIzZjQ3ZjkyMTA1MjU5YzYzMDYw
NTE1ZWY0ZmM5OGMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CkBAIC02ODI4LDcgKzY4MjgsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd0NvbnRleHRNZW51
KENvbnRleHRNZW51Q29udGV4dERhdGEmJiBjb250ZXh0TWVudUNvbnRleHREYQogICAgIC8vIGNh
biBoYW5nIHRoZSBwYWdlIC8gV2ViRHJpdmVyIHRlc3QuIFByZXRlbmQgdG8gc2hvdyBhbmQgaW1t
ZWRpYXRlbHkgZGlzbWlzcyB0aGUgY29udGV4dCBtZW51LgogICAgIGlmIChhdXRvKiBhdXRvbWF0
aW9uU2Vzc2lvbiA9IHByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLmF1dG9tYXRpb25TZXNzaW9uKCkp
IHsKICAgICAgICAgaWYgKG1fY29udHJvbGxlZEJ5QXV0b21hdGlvbiAmJiBhdXRvbWF0aW9uU2Vz
c2lvbi0+aXNTaW11bGF0aW5nVXNlckludGVyYWN0aW9uKCkpIHsKLSAgICAgICAgICAgIHNlbmQo
TWVzc2FnZXM6OldlYlBhZ2U6OkNvbnRleHRNZW51SGlkZGVuKCkpOworICAgICAgICAgICAgc2Vu
ZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkU2hvd0NvbnRleHRNZW51KCkpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAgICAgfQpAQCAtNjg0NCw2ICs2ODQ0LDIxIEBAIHZvaWQgV2Vi
UGFnZVByb3h5OjpzaG93Q29udGV4dE1lbnUoQ29udGV4dE1lbnVDb250ZXh0RGF0YSYmIGNvbnRl
eHRNZW51Q29udGV4dERhCiAgICAgbV9hY3RpdmVDb250ZXh0TWVudS0+c2hvdygpOwogfQogCit2
b2lkIFdlYlBhZ2VQcm94eTo6ZGlkU2hvd0NvbnRleHRNZW51KCkKK3sKKyAgICAvLyBEb24ndCBz
ZW5kIGBNZXNzYWdlczo6V2ViUGFnZTo6RGlkU2hvd0NvbnRleHRNZW51YCBhcyB0aGF0IHNob3Vs
ZCd2ZSBhbHJlYWR5IGJlZW4gZWFnZXJseQorICAgIC8vIHNlbnQgd2hlbiByZXF1ZXN0aW5nIHRo
ZSBjb250ZXh0IG1lbnUgdG8gc2hvdywgcmVnYXJkbGVzcyBvZiB0aGUgcmVzdWx0IG9mIHRoYXQg
cmVxdWVzdC4KKworICAgIHBhZ2VDbGllbnQoKS5kaWRTaG93Q29udGV4dE1lbnUoKTsKK30KKwor
dm9pZCBXZWJQYWdlUHJveHk6OmRpZERpc21pc3NDb250ZXh0TWVudSgpCit7CisgICAgc2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6RGlkRGlzbWlzc0NvbnRleHRNZW51KCkpOworCisgICAgcGFnZUNs
aWVudCgpLmRpZERpc21pc3NDb250ZXh0TWVudSgpOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6
Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRl
bSkKIHsKICAgICAvLyBBcHBsaWNhdGlvbiBjdXN0b20gaXRlbXMgZG9uJ3QgbmVlZCB0byByb3Vu
ZC10cmlwIHRocm91Z2ggdG8gV2ViQ29yZSBpbiB0aGUgV2ViUHJvY2Vzcy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYjEzOTFiYjU4MDU2MjFkMjg0YTcyZmE5YjBh
ODJlY2UwNGU4MzFiNS4uYWZkMTkyZTJjZTJjYmE4NmM0M2Q3NjM1Yjc5ZTdiMjcwZmExMWYxZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEzMTQsNiArMTMxNCw4
IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQogICAgIC8vIENhbGxlZCBi
eSB0aGUgV2ViQ29udGV4dE1lbnVQcm94eS4KKyAgICB2b2lkIGRpZFNob3dDb250ZXh0TWVudSgp
OworICAgIHZvaWQgZGlkRGlzbWlzc0NvbnRleHRNZW51KCk7CiAgICAgdm9pZCBjb250ZXh0TWVu
dUl0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJik7CiAgICAgdm9pZCBo
YW5kbGVDb250ZXh0TWVudUtleUV2ZW50KCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KaW5kZXggM2UwMDkw
YjU4NzViMzQ4ODdjM2FlZWQ0NWViMzMzM2UzNDUyYTQxMy4uOTJkYTUzNzg3OTgxZWZhNjNlYjll
ZmE1MGQ2ZDI2ODdjYWM3ZmE1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KQEAgLTE3MSwxMiArMTcxLDEyIEBAIC0o
aW5zdGFuY2V0eXBlKWluaXRXaXRoTWVudVByb3h5OihXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJv
eHlNYWMmKW1lbnVQcm94eQogCiAtICh2b2lkKW1lbnVXaWxsT3BlbjooTlNNZW51ICopbWVudQog
ewotICAgIF9tZW51UHJveHktPnBhZ2UoKS0+cGFnZUNsaWVudCgpLmRpZFNob3dDb250ZXh0TWVu
dSgpOworICAgIF9tZW51UHJveHktPnBhZ2UoKS0+ZGlkU2hvd0NvbnRleHRNZW51KCk7CiB9CiAK
IC0gKHZvaWQpbWVudURpZENsb3NlOihOU01lbnUgKiltZW51CiB7Ci0gICAgX21lbnVQcm94eS0+
cGFnZSgpLT5wYWdlQ2xpZW50KCkuZGlkRGlzbWlzc0NvbnRleHRNZW51KCk7CisgICAgX21lbnVQ
cm94eS0+cGFnZSgpLT5kaWREaXNtaXNzQ29udGV4dE1lbnUoKTsKIH0KIAogQGVuZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCmlu
ZGV4IGUzMGUzYmRhMDE2ZjMwZTU0NzUyMGNhNzI1MGRiNjFkZjhlNzQ3MmQuLjI4NjczMGEzODNk
NmNjY2E4NDMxNjU4NWFiMzFhMDdhMjRlNWZjOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKQEAgLTY4LDcgKzY4LDcgQEAg
dm9pZCBXZWJDb250ZXh0TWVudTo6c2hvdygpCiAgICAgQ29udGV4dE1lbnVDb250ZXh0RGF0YSBj
b250ZXh0TWVudUNvbnRleHREYXRhKG1lbnVMb2NhdGlvbiwgbWVudUl0ZW1zLCBjb250cm9sbGVy
LmNvbnRleHQoKSk7CiAKICAgICAvLyBNYXJrIHRoZSBXZWJQYWdlIGhhcyBoYXZpbmcgYSBzaG93
biBjb250ZXh0IG1lbnUgdGhlbiBub3RpZnkgdGhlIFVJUHJvY2Vzcy4KLSAgICBtX3BhZ2UtPmNv
bnRleHRNZW51U2hvd2luZygpOworICAgIG1fcGFnZS0+c3RhcnRXYWl0aW5nRm9yQ29udGV4dE1l
bnVUb1Nob3coKTsKICAgICBtX3BhZ2UtPmZsdXNoUGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlKCk7
CiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dDb250ZXh0TWVu
dShjb250ZXh0TWVudUNvbnRleHREYXRhLCBVc2VyRGF0YShXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS50cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhLmdldCgpKS5nZXQoKSkpKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggODdj
MDNlY2E5NjhhMTc1MmY1ZjNjZWFjOTA4NWZmN2Q5M2I1NTFjYy4uNTc0ZmQ0YmY5MjllN2RlNGNj
ODgzMmY3OTRiYmE2OGI3NDIyNjk4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI4NTcsNiArMjg1NywyMCBAQCBwcml2YXRlOgogICAgIGNv
bnN0IFdlYkV2ZW50KiBtX3ByZXZpb3VzQ3VycmVudEV2ZW50OwogfTsKIAorI2lmIEVOQUJMRShD
T05URVhUX01FTlVTKQorCit2b2lkIFdlYlBhZ2U6OmRpZFNob3dDb250ZXh0TWVudSgpCit7Cisg
ICAgbV93YWl0aW5nRm9yQ29udGV4dE1lbnVUb1Nob3cgPSBmYWxzZTsKK30KKwordm9pZCBXZWJQ
YWdlOjpkaWREaXNtaXNzQ29udGV4dE1lbnUoKQoreworICAgIGNvcmVQYWdlKCktPmNvbnRleHRN
ZW51Q29udHJvbGxlcigpLmRpZERpc21pc3NDb250ZXh0TWVudSgpOworfQorCisjZW5kaWYgLy8g
RU5BQkxFKENPTlRFWFRfTUVOVVMpCisKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VX0VWRU5UKQog
c3RhdGljIGJvb2wgaXNDb250ZXh0Q2xpY2soY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVu
dCkKIHsKQEAgLTI5NjIsNyArMjk3Niw3IEBAIHZvaWQgV2ViUGFnZTo6bW91c2VFdmVudChjb25z
dCBXZWJNb3VzZUV2ZW50JiBtb3VzZUV2ZW50LCBzdGQ6Om9wdGlvbmFsPFNhbmRib3hFCiAKICNp
ZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICAvLyBEb24ndCB0cnkgdG8gaGFuZGxlIGFueSBw
ZW5kaW5nIG1vdXNlIGV2ZW50cyBpZiBhIGNvbnRleHQgbWVudSBpcyBzaG93aW5nLgotICAgIGlm
IChtX2lzU2hvd2luZ0NvbnRleHRNZW51KQorICAgIGlmIChtX3dhaXRpbmdGb3JDb250ZXh0TWVu
dVRvU2hvdykKICAgICAgICAgc2hvdWxkSGFuZGxlRXZlbnQgPSBmYWxzZTsKICNlbmRpZgogI2lm
IEVOQUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKaW5kZXggMDA0MjI3NWY1YTZkNTk2MTZhMGRkZjBlOWJlMjhlNDhjMmMwYzFhYy4u
NWFhNzczOGYzNzAyMzJiZGEyM2VmNWQ4Yzg5YzkwNzRlNDRlOTlhYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTA0OSw3ICsxMDQ5LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2ltdWxhdGVNb3VzZU1vdGlvbihXZWJDb3JlOjpJbnRQb2ludCwgV2Fs
bFRpbWUpOwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgdm9pZCBjb250ZXh0TWVu
dVNob3dpbmcoKSB7IG1faXNTaG93aW5nQ29udGV4dE1lbnUgPSB0cnVlOyB9CisgICAgdm9pZCBz
dGFydFdhaXRpbmdGb3JDb250ZXh0TWVudVRvU2hvdygpIHsgbV93YWl0aW5nRm9yQ29udGV4dE1l
bnVUb1Nob3cgPSB0cnVlOyB9CiAjZW5kaWYKIAogICAgIGJvb2wgd2hlZWxFdmVudChjb25zdCBX
ZWJXaGVlbEV2ZW50JiwgT3B0aW9uU2V0PFdlYkNvcmU6OldoZWVsRXZlbnRQcm9jZXNzaW5nU3Rl
cHM+KTsKQEAgLTE2MTksNyArMTYxOSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCB0b3VjaFdpdGhJ
ZGVudGlmaWVyV2FzUmVtb3ZlZChXZWJDb3JlOjpQb2ludGVySUQpOwogCiAjaWYgRU5BQkxFKENP
TlRFWFRfTUVOVVMpCi0gICAgdm9pZCBjb250ZXh0TWVudUhpZGRlbigpIHsgbV9pc1Nob3dpbmdD
b250ZXh0TWVudSA9IGZhbHNlOyB9CisgICAgdm9pZCBkaWRTaG93Q29udGV4dE1lbnUoKTsKKyAg
ICB2b2lkIGRpZERpc21pc3NDb250ZXh0TWVudSgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENPTlRF
WFRfTUVOVV9FVkVOVCkKICAgICB2b2lkIGNvbnRleHRNZW51Rm9yS2V5RXZlbnQoKTsKQEAgLTIx
NzEsNyArMjE3Miw3IEBAIHByaXZhdGU6CiAgICAgT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5
U3RhdGU6OkZsYWc+IG1fbGFzdEFjdGl2aXR5U3RhdGVDaGFuZ2VzOwogCiAjaWYgRU5BQkxFKENP
TlRFWFRfTUVOVVMpCi0gICAgYm9vbCBtX2lzU2hvd2luZ0NvbnRleHRNZW51IHsgZmFsc2UgfTsK
KyAgICBib29sIG1fd2FpdGluZ0ZvckNvbnRleHRNZW51VG9TaG93IHsgZmFsc2UgfTsKICNlbmRp
ZgogCiAgICAgUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+IG1fZm9jdXNlZEVsZW1lbnQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5p
bgppbmRleCAyMmMwYjgzY2E3ZjU4NTJjMTUwYWI5YTEwZmIzZmQxZWE3NzMzNmE4Li5kODhlZjBl
YmI1YmFhMTRkNDRlMGU5YzE5OTI2YjYzNjVlZmUxMDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTE2NCwxMSAr
MTY0LDYgQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2Vi
S2l0OjpTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUKICAgICBEaWRFbmREYXRlVGltZVBpY2tl
cigpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICBDb250ZXh0TWVu
dUhpZGRlbigpCi0gICAgQ29udGV4dE1lbnVGb3JLZXlFdmVudCgpCi0jZW5kaWYKLQogICAgIFNj
cm9sbEJ5KHVpbnQzMl90IHNjcm9sbERpcmVjdGlvbiwgdWludDMyX3Qgc2Nyb2xsR3JhbnVsYXJp
dHkpCiAgICAgQ2VudGVyU2VsZWN0aW9uSW5WaXNpYmxlQXJlYSgpCiAKQEAgLTM0NSw3ICszNDAs
MTAgQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0
OjpTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUKIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVT
KQogICAgICMgQ29udGV4dCBtZW51LgorICAgIERpZFNob3dDb250ZXh0TWVudSgpCisgICAgRGlk
RGlzbWlzc0NvbnRleHRNZW51KCkKICAgICBEaWRTZWxlY3RJdGVtRnJvbUFjdGl2ZUNvbnRleHRN
ZW51KFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YSBtZW51SXRlbSkKKyAgICBDb250ZXh0
TWVudUZvcktleUV2ZW50KCkKICNlbmRpZgogCiAgICAgIyBPcGVuIHBhbmVsLgpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDZmYzQ1NDc5NDU4MDc4
NzA4YmI2MWY2YmM4YzdhYjFhMDVjNTdmZmIuLjM5YzM4ZTVlMTNlNGY3Mjk0NGQyYWZjOWVlZDU4
NTU4MmE2NGZlMWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wNy0yNiAgRGV2aW4gUm91c3NvICA8ZHJvdXNz
b0BhcHBsZS5jb20+CisKKyAgICAgICAgW01vZGVybiBNZWRpYSBDb250cm9sc10gW21hY09TXSBP
dmVyZmxvdyBidXR0b24gc3RpbGwgc2hvd3MgYXMgYG9uYCBldmVuIGFmdGVyIGNvbnRleHRtZW51
IGlzIGRpc21pc3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI4MzEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MTEyNDc4Nj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWguCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW06CisgICAgICAgICgtW1Rlc3RSdW5uZXJXS1dl
YlZpZXcgZGlzbWlzc0FjdGl2ZU1lbnVdKToKKyAgICAgICAgKC1bVGVzdFJ1bm5lcldLV2ViVmll
dyBpbW1lZGlhdGVseURpc21pc3NDb250ZXh0TWVudUlmTmVlZGVkXSk6CisgICAgICAgICgtW1Rl
c3RSdW5uZXJXS1dlYlZpZXcgX2Rpc21pc3NBbGxDb250ZXh0TWVudUludGVyYWN0aW9uc10pOiBB
ZGRlZC4KKwogMjAyMS0wNy0yNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFdLVXNlckNvbnRlbnRDb250cm9sbGVyLnJlbW92ZUFsbFNjcmlw
dE1lc3NhZ2VIYW5kbGVycygpIGRvZXNuJ3QgcmVsZWFzZSB0aGUgbWVzc2FnZSBoYW5kbGVycwpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJW
aWV3Lm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3
Lm1tCmluZGV4IDU1ZjUzZTBmMWFmOTI5NjRmMzc0OTdlMTBlNTYyMDAwNTE0ZGJiNWMuLjJlNmQ0
YzFlMWRkMmIwZTdmYTk2ZTBmMDcwNWQ0ZDRhYzVkNjU0ZjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5tbQorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW0KQEAgLTE4NSw2ICsx
ODUsNyBAQCAtICh2b2lkKV9kaWRIaWRlTWVudQogLSAodm9pZClkaXNtaXNzQWN0aXZlTWVudQog
ewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgW3NlbGYgX2Rpc21pc3NBbGxDb250ZXh0
TWVudUludGVyYWN0aW9uc107CiAgICAgW3NlbGYgcmVzaWduRmlyc3RSZXNwb25kZXJdOwogI2Vs
c2UKICAgICBhdXRvIG1lbnUgPSByZXRhaW5QdHIoc2VsZi5fYWN0aXZlTWVudSk7CkBAIC0yNTMs
NiArMjU0LDExIEBAIC0gKHZvaWQpaW1tZWRpYXRlbHlEaXNtaXNzQ29udGV4dE1lbnVJZk5lZWRl
ZAogCiAgICAgc2VsZi5zaG93aW5nQ29udGV4dE1lbnUgPSBOTzsKIAorICAgIFtzZWxmIF9kaXNt
aXNzQWxsQ29udGV4dE1lbnVJbnRlcmFjdGlvbnNdOworfQorCistICh2b2lkKV9kaXNtaXNzQWxs
Q29udGV4dE1lbnVJbnRlcmFjdGlvbnMKK3sKICNpZiBQTEFURk9STShJT1MpCiAgICAgZm9yIChp
ZCA8VUlJbnRlcmFjdGlvbj4gaW50ZXJhY3Rpb24gaW4gc2VsZi5jb250ZW50Vmlldy5pbnRlcmFj
dGlvbnMpIHsKICAgICAgICAgaWYgKFtpbnRlcmFjdGlvbiBpc0tpbmRPZkNsYXNzOlVJQ29udGV4
dE1lbnVJbnRlcmFjdGlvbi5jbGFzc10pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGIyNmQzY2JmMzhlNDdmYzVhZmQ4MzIy
Y2QyODAyY2YwZDU2MDUzZS4uZTFhMWMzNjE2NTBkZWRjOTIxYTc5NDY3Y2Y1Y2M4NTJmNjQyYTVi
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA3LTI2ICBEZXZpbiBSb3Vzc28gIDxkcm91
c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9kZXJuIE1lZGlhIENvbnRyb2xzXSBbbWFjT1Nd
IE92ZXJmbG93IGJ1dHRvbiBzdGlsbCBzaG93cyBhcyBgb25gIGV2ZW4gYWZ0ZXIgY29udGV4dG1l
bnUgaXMgZGlzbWlzc2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjgzMTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgxMTI0Nzg2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IFdlbnNvbiBIc2llaC4KKworICAgICAgICAqIG1lZGlhL21vZGVybi1t
ZWRpYS1jb250cm9scy9vdmVyZmxvdy1idXR0b24vb3ZlcmZsb3ctYnV0dG9uLWNvbnRleHQtbWVu
dS1zdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvb3ZlcmZsb3ctYnV0dG9uL292ZXJmbG93LWJ1dHRvbi1jb250ZXh0LW1lbnUtc3RhdGUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKworICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9s
cy9vdmVyZmxvdy1zdXBwb3J0L3BsYXliYWNrLXNwZWVkLmh0bWw6CisgICAgICAgICogbWVkaWEv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL3RyYWNrcy1zdXBwb3J0L2NsaWNrLXRyYWNrLWluLWNvbnRl
eHRtZW51Lmh0bWw6CisgICAgICAgIEFkanVzdCBob3cgdGhlc2UgdGVzdHMgd2FpdCBmb3IgYW5k
IGRpc21pc3MgdGhlIGNvbnRleHRtZW51LgorCiAyMDIxLTA3LTI2ICBKZWFuLVl2ZXMgQXZlbmFy
ZCAgPGp5YUBhcHBsZS5jb20+CiAKICAgICAgICAgVmlkZW8gcGF1c2VzIGFmdGVyIHNjcnViYmlu
ZyB3aXRoIFRvdWNoIEJhcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL292ZXJmbG93LWJ1dHRvbi9vdmVyZmxvdy1idXR0b24tY29udGV4dC1tZW51
LXN0YXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250
cm9scy9vdmVyZmxvdy1idXR0b24vb3ZlcmZsb3ctYnV0dG9uLWNvbnRleHQtbWVudS1zdGF0ZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE5ODJkZjMzMjc0MTc5ZGU0MzIyNGZjNjZkZTg1OTQz
NjhkNWZjNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRp
YS1jb250cm9scy9vdmVyZmxvdy1idXR0b24vb3ZlcmZsb3ctYnV0dG9uLWNvbnRleHQtbWVudS1z
dGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdGluZyB0aGF0IHRoZSBvdmVy
ZmxvdyBidXR0b24gaXMgcHJvcGVybHkgbWFya2VkIGFzIGBvbmAgb25seSB3aGVuIHRoZSBjb250
ZXh0IG1lbnUgaXMgc2hvd2luZy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1Mgc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCdidXR0b24ub3ZlcmZsb3cnKSBiZWNhbWUgZGlm
ZmVyZW50IGZyb20gbnVsbAorUEFTUyBzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5v
dmVyZmxvdycpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIGJlY2FtZSBkaWZmZXJlbnQg
ZnJvbSAwCitUYXBwaW5nIG92ZXJmbG93IGJ1dHRvbi4uLgorUEFTUyBzaGFkb3dSb290LnF1ZXJ5
U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpLmNsYXNzTGlzdC5jb250YWlucygnb24nKSBiZWNh
bWUgdHJ1ZQorRGlzbWlzc2luZyBjb250ZXh0bWVudS4uLgorUEFTUyBzaGFkb3dSb290LnF1ZXJ5
U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpLmNsYXNzTGlzdC5jb250YWlucygnb24nKSBiZWNh
bWUgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
b3ZlcmZsb3ctYnV0dG9uL292ZXJmbG93LWJ1dHRvbi1jb250ZXh0LW1lbnUtc3RhdGUuaHRtbCBi
L0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1idXR0b24v
b3ZlcmZsb3ctYnV0dG9uLWNvbnRleHQtbWVudS1zdGF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4MGVm
ZTlhZmIwMTZlZDU1ODNkMDI0N2Q0NzY3ZDQ1NzlmYjcwN2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctYnV0dG9uL292
ZXJmbG93LWJ1dHRvbi1jb250ZXh0LW1lbnUtc3RhdGUuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tZWRpYS1jb250cm9scy11dGls
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHZpZGVvIHNyYz0iLi4vLi4vY29udGVudC90ZXN0
Lm1wNCIgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgdG9wOiAwOyB3aWR0aDog
NjAwcHg7IiBjb250cm9scyBhdXRvcGxheT48L3ZpZGVvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPgorCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Rlc2NyaXB0aW9u
KCJUZXN0aW5nIHRoYXQgdGhlIG92ZXJmbG93IGJ1dHRvbiBpcyBwcm9wZXJseSBtYXJrZWQgYXMg
YG9uYCBvbmx5IHdoZW4gdGhlIGNvbnRleHQgbWVudSBpcyBzaG93aW5nLiIpOworCitjb25zdCBt
ZWRpYSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvIik7Citjb25zdCBzaGFkb3dSb290
ID0gd2luZG93LmludGVybmFscy5zaGFkb3dSb290KG1lZGlhKTsKKworbWVkaWEuYWRkRXZlbnRM
aXN0ZW5lcigicGxheSIsIGFzeW5jIGZ1bmN0aW9uKCkgeworICAgIG1lZGlhLnBhdXNlKCk7CisK
KyAgICBhd2FpdCBzaG91bGRCZWNvbWVEaWZmZXJlbnQoInNoYWRvd1Jvb3QucXVlcnlTZWxlY3Rv
cignYnV0dG9uLm92ZXJmbG93JykiLCAibnVsbCIpOworCisgICAgYXdhaXQgc2hvdWxkQmVjb21l
RGlmZmVyZW50KCJzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpLmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIiwgIjAiKTsKKworICAgIGRlYnVnKCJUYXBwaW5n
IG92ZXJmbG93IGJ1dHRvbi4uLiIpOworICAgIGF3YWl0IHByZXNzT25FbGVtZW50KHNoYWRvd1Jv
b3QucXVlcnlTZWxlY3RvcigiYnV0dG9uLm92ZXJmbG93IikpOworICAgIGF3YWl0IFVJSGVscGVy
LndhaXRGb3JDb250ZXh0TWVudVRvU2hvdygpOworICAgIGF3YWl0IHNob3VsZEJlY29tZUVxdWFs
KCJzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpLmNsYXNzTGlzdC5j
b250YWlucygnb24nKSIsICJ0cnVlIik7CisKKyAgICBkZWJ1ZygiRGlzbWlzc2luZyBjb250ZXh0
bWVudS4uLiIpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsK
KyAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgCisgICAgICAgICAgICB1aUNvbnRyb2xs
ZXIuZGlzbWlzc01lbnUoKTsKKyAgICAgICAgICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENvbXBs
ZXRlKCk7CisgICAgICAgIGAsIHJlc29sdmUpOworICAgIH0pOworICAgIGF3YWl0IFVJSGVscGVy
LndhaXRGb3JDb250ZXh0TWVudVRvSGlkZSgpOworICAgIGF3YWl0IHNob3VsZEJlY29tZUVxdWFs
KCJzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpLmNsYXNzTGlzdC5j
b250YWlucygnb24nKSIsICJmYWxzZSIpOworCisgICAgbWVkaWEucmVtb3ZlKCk7CisgICAgZmlu
aXNoSlNUZXN0KCk7Cit9KTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctc3VwcG9ydC9w
bGF5YmFjay1zcGVlZC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL292ZXJmbG93LXN1cHBvcnQvcGxheWJhY2stc3BlZWQuaHRtbAppbmRleCA0ZGE4ZjgyNWNj
ZTEwMTAyYjNkNzUzMTVhZmY1N2EyNzc2ZjJiNGNiLi4yMmRlZGZlZmEyODk0ZGJkZjc3MzBkMjMw
ZmNkYmE3YzQ2MTdlMzRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvb3ZlcmZsb3ctc3VwcG9ydC9wbGF5YmFjay1zcGVlZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1zdXBwb3J0L3Bs
YXliYWNrLXNwZWVkLmh0bWwKQEAgLTMwLDYgKzMwLDEzIEBAIG1lZGlhLmFkZEV2ZW50TGlzdGVu
ZXIoInBsYXkiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGNoZWNrZWRJdGVtcyA9IGNvbnRl
eHRtZW51WzBdLmNoaWxkcmVuLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5jaGVja2VkKTsKICAgICAg
ICAgICAgIHNob3VsZEJlKCJjaGVja2VkSXRlbXMubGVuZ3RoIiwgIjEiKTsKICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiY2hlY2tlZEl0ZW1zWzBdLnRpdGxlIiwgYDEke211bHRp
cGxpY2F0aW9uU2lnbn1gKTsKKworICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29s
dmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQo
YAorICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIuZGlzbWlzc01lbnUoKTsKKyAgICAg
ICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoKTsKKyAgICAgICAg
ICAgICAgICBgLCByZXNvbHZlKTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIud2FpdEZvckNvbnRleHRNZW51VG9IaWRlKCk7CiAKICAgICAgICAgICAgIGRlYnVn
KCJDaGFuZ2luZyBwbGF5YmFjayBzcGVlZCB2aWEgSmF2YVNjcmlwdC4uLiIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3RyYWNrcy1zdXBwb3J0
L2NsaWNrLXRyYWNrLWluLWNvbnRleHRtZW51Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvdHJhY2tzLXN1cHBvcnQvY2xpY2stdHJhY2staW4tY29udGV4dG1l
bnUuaHRtbAppbmRleCA5Y2VhOTFlNzI3MzMyOGQyYWFlZGZmZWZiODhjZGU2NTdjMDdjMzc2Li4x
NjNjZDM3MGUxMWY4YjE5MTlkODBiYzg0MmRhZmVkNjUxNzIwZGEwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvdHJhY2tzLXN1cHBvcnQvY2xpY2st
dHJhY2staW4tY29udGV4dG1lbnUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvdHJhY2tzLXN1cHBvcnQvY2xpY2stdHJhY2staW4tY29udGV4dG1lbnUu
aHRtbApAQCAtNDMsMTQgKzQzLDE0IEBAIGZ1bmN0aW9uIGNsaWNrT25UcmFja3NCdXR0b24oY29u
dGludWF0aW9uKQogYXN5bmMgZnVuY3Rpb24gY2xpY2tPbkZyZW5jaEF1ZGlvVHJhY2soKQogewog
ICAgIGRlYnVnKCJTZWxlY3RpbmcgJ0ZyZW5jaCcgdHJhY2suLi4iKTsKLSAgICBhd2FpdCBnZXRU
cmFja3NDb250ZXh0TWVudSgpOworICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JDb250ZXh0TWVu
dVRvU2hvdygpOwogICAgIGF3YWl0IFVJSGVscGVyLmNob29zZU1lbnVBY3Rpb24oIkZyZW5jaCBT
b3VuZCIpOwogfQogCiBhc3luYyBmdW5jdGlvbiBjbGlja09uU3BhbmlzaEF1ZGlvVHJhY2soKQog
ewogICAgIGRlYnVnKCJTZWxlY3RpbmcgJ1NwYW5pc2gnIHRyYWNrLi4uIik7Ci0gICAgYXdhaXQg
Z2V0VHJhY2tzQ29udGV4dE1lbnUoKTsKKyAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yQ29udGV4
dE1lbnVUb1Nob3coKTsKICAgICBhd2FpdCBVSUhlbHBlci5jaG9vc2VNZW51QWN0aW9uKCJTcGFu
aXNoIFNvdW5kIik7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434315</attachid>
            <date>2021-07-27 14:24:31 -0700</date>
            <delta_ts>2021-07-27 20:56:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228310-20210727142430.patch</filename>
            <type>text/plain</type>
            <size>23199</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4YzE1NWY3ZmMyZTg0ODJhNjAyNjEyZDdlYzBlY2YzMGQ4ZDg3NDBmLi41
ZmMzZGJiMGNjZTExMzY4YmQ2ZDMwYTUzNzg0YjlhZDc3ODQ5Y2VkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMjEtMDctMjYgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFtNb2Rlcm4gTWVkaWEgQ29udHJvbHNdIFttYWNPU10gT3ZlcmZsb3cgYnV0
dG9uIHN0aWxsIHNob3dzIGFzIGBvbmAgZXZlbiBhZnRlciBjb250ZXh0bWVudSBpcyBkaXNtaXNz
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODMx
MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODExMjQ3ODY+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgV2Vuc29uIEhzaWVoLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21vZGVybi1tZWRpYS1jb250
cm9scy9vdmVyZmxvdy1zdXBwb3J0L2J1dHRvbi1zdGF0ZS5odG1sCisKKyAgICAgICAgKiBwYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5oOgorICAgICAgICAqIHBhZ2UvQ29udGV4dE1lbnVDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6ZGlk
RGlzbWlzc0NvbnRleHRNZW51KTogQWRkZWQuCisgICAgICAgICogcGFnZS9Db250ZXh0TWVudVBy
b3ZpZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudVByb3ZpZGVyOjpkaWREaXNt
aXNzQ29udGV4dE1lbnUpOiBBZGRlZC4KKyAgICAgICAgQWRkIHBsdW1iaW5nIGZyb20gV2ViS2l0
IHRvIHRoZSBgQ29udGV4dE1lbnVQcm92aWRlcmAgZm9yIHdoZW4gdGhlIGNvbnRleHRtZW51IGlz
IGRpc21pc3NlZC4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRy
b2xzSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnVQ
cm92aWRlcjo6ZGlkRGlzbWlzc0NvbnRleHRNZW51KTogQWRkZWQuCisgICAgICAgIFdoZW4gdGhl
IGNvbnRleHRtZW51IGlzIGRpc21pc3NlZCwgaW52b2tlIHRoZSBjYWxsYmFjayBwcm92aWRlZCB0
byBgTWVkaWFDb250cm9sc0hvc3Q6OnNob3dNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnVgCisgICAg
ICAgIGFzIHRoYXQncyB0aGUgc2lnbmFsIHRvIHRoZSBgTWVkaWFDb250cm9sbGVyYCB0aGF0IHRo
ZSBjb250ZXh0bWVudSBpbnRlcmFjdGlvbiBpcyBvdmVyLAorICAgICAgICB3aGljaCBhZGp1c3Rz
IHRoZSBgb25gIHN0YXRlIG9mIHRoZSBgQnV0dG9uYC4KKwogMjAyMS0wNy0yNiAgSmVhbi1ZdmVz
IEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgogCiAgICAgICAgIFZpZGVvIHBhdXNlcyBhZnRlciBz
Y3J1YmJpbmcgd2l0aCBUb3VjaCBCYXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTQxNzVjMmEzMGI5NjI5MWY4NjE4
Yjc4Njk4MTNiZDRkNzhlZWI2Ny4uNmMwMWI4MzYwODQ0OWE3Yjc1MjE2NDRmYTkyZjMyZjRhY2E0
YThiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAyMS0wNy0yNiAgRGV2aW4gUm91c3Nv
ICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgW01vZGVybiBNZWRpYSBDb250cm9sc10g
W21hY09TXSBPdmVyZmxvdyBidXR0b24gc3RpbGwgc2hvd3MgYXMgYG9uYCBldmVuIGFmdGVyIGNv
bnRleHRtZW51IGlzIGRpc21pc3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI4MzEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MTEyNDc4Nj4K
KworICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWguCisKKyAgICAgICAgUGlwZSBhbG9u
ZyB0aGUgYC1bTlNNZW51RGVsZWdhdGUgbWVudURpZENsb3NlOl1gIHNpZ25hbCB0byB0aGUgV2Vi
UHJvY2VzcyBzbyB0aGUgYFdlYkNvcmU6OkNvbnRleHRNZW51UHJvdmlkZXJgCisgICAgICAgIGNh
biBoYW5kbGUgaXQgaWYgbmVlZGVkLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHRN
ZW51UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0TWVudVByb3h5Ojp1c2VD
b250ZXh0TWVudUl0ZW1zKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51
UHJveHlNYWMubW06CisgICAgICAgICgtW1dLTWVudURlbGVnYXRlIG1lbnVXaWxsT3BlbjpdKToK
KyAgICAgICAgKC1bV0tNZW51RGVsZWdhdGUgbWVudURpZENsb3NlOl0pOgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNob3dDb250ZXh0TWVudSk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkU2hvd0NvbnRleHRNZW51KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWREaXNtaXNzQ29udGV4dE1lbnUpOiBBZGRl
ZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51OjpzaG93KToKKworICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnN0YXJ0V2FpdGlu
Z0ZvckNvbnRleHRNZW51VG9TaG93KTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmNvbnRleHRNZW51U2hvd2luZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmNvbnRleHRNZW51SGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZFNob3dDb250ZXh0
TWVudSk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWREaXNtaXNzQ29udGV4
dE1lbnUpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bW91c2VFdmVudCk6Cisg
ICAgICAgIERyaXZlLWJ5OiBSZW5hbWUgYG1fY29udGV4dE1lbnVTaG93aW5nYCB0byBgbV93YWl0
aW5nRm9yQ29udGV4dE1lbnVUb1Nob3dgIGZvciBjbGFyaXR5LgorCiAyMDIxLTA3LTI2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046IFtpT1Nd
IEFTU0VSVElPTiBGQUlMRUQ6ICFtX21lc3NhZ2VSZWNlaXZlck1hcENvdW50IHVuZGVyIFdlYktp
dDo6UmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyOjp+UmVtb3RlQXVkaW9IYXJkd2FyZUxpc3Rl
bmVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9N
ZWRpYUNvbnRyb2xzSG9zdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJv
bHMvTWVkaWFDb250cm9sc0hvc3QuY3BwCmluZGV4IDljMDlmZThjYjk2N2VlY2I5NGRiZjhiNmQ5
YjliMzg2ZjhjMDM5M2YuLjlhZDEyMTVlMTE5MDA3YzY2MjVkNTg1NGEyMGQxZGMzMjhjNmFhMjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNv
bnRyb2xzSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xz
L01lZGlhQ29udHJvbHNIb3N0LmNwcApAQCAtMzg4LDYgKzM4OCwxMiBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgbWVudS0+YXBwZW5kSXRlbShpdGVtKTsKICAgICB9CiAKKyAgICB2b2lkIGRpZERp
c21pc3NDb250ZXh0TWVudSgpIG92ZXJyaWRlCisgICAgeworICAgICAgICBpZiAobV9jYWxsYmFj
aykKKyAgICAgICAgICAgIG1fY2FsbGJhY2soQ29udGV4dE1lbnVJdGVtVGFnTm9BY3Rpb24pOwor
ICAgIH0KKwogICAgIHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVBY3Rp
b24gYWN0aW9uLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgbV9jYWxs
YmFjayhhY3Rpb24gLSBDb250ZXh0TWVudUl0ZW1CYXNlQ3VzdG9tVGFnKTsKQEAgLTQ1NSwxNCAr
NDYxLDggQEAgcHJpdmF0ZToKIGJvb2wgTWVkaWFDb250cm9sc0hvc3Q6OnNob3dNZWRpYUNvbnRy
b2xzQ29udGV4dE1lbnUoSFRNTEVsZW1lbnQmIHRhcmdldCwgU3RyaW5nJiYgb3B0aW9uc0pTT05T
dHJpbmcsIFJlZjxWb2lkQ2FsbGJhY2s+JiYgY2FsbGJhY2spCiB7CiAjaWYgVVNFKFVJQ09OVEVY
VE1FTlUpIHx8IChFTkFCTEUoQ09OVEVYVF9NRU5VUykgJiYgVVNFKEFDQ0VTU0lCSUxJVFlfQ09O
VEVYVF9NRU5VUykpCi0gICAgaWYgKG1fc2hvd01lZGlhQ29udHJvbHNDb250ZXh0TWVudUNhbGxi
YWNrKSB7Ci0jaWYgVVNFKFVJQ09OVEVYVE1FTlUpCisgICAgaWYgKG1fc2hvd01lZGlhQ29udHJv
bHNDb250ZXh0TWVudUNhbGxiYWNrKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0jZWxpZiAoRU5B
QkxFKENPTlRFWFRfTUVOVVMpICYmIFVTRShBQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMpKQot
ICAgICAgICAvLyBGSVhNRTogYGNvbnRleHRNZW51Q2xlYXJlZGAgaXMgaW52b2tlZCBiZXR3ZWVu
IHNob3cgYW5kIGl0ZW0gc2VsZWN0ZWQgc28gd2UgbWF5IGhhdmUgYSBwZW5kaW5nIGNhbGxiYWNr
LgotICAgICAgICBzdGQ6OmV4Y2hhbmdlKG1fc2hvd01lZGlhQ29udHJvbHNDb250ZXh0TWVudUNh
bGxiYWNrLCBudWxscHRyKS0+aGFuZGxlRXZlbnQoKTsKLSNlbmRpZgotICAgIH0KIAogICAgIG1f
c2hvd01lZGlhQ29udHJvbHNDb250ZXh0TWVudUNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAppbmRl
eCBjNGU0M2U4OGRmZDlmODc1Mzk2MGVkOTNlM2UyYzRmZGUxY2VkMDhhLi4yMGM5MTk4OTU2MDEw
YTQ1NGM5NWFiOWMzZjc2Mzg3NmM5NjFmNzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCkBAIC0xNzIsNiArMTcyLDEyIEBAIHZvaWQgQ29udGV4
dE1lbnVDb250cm9sbGVyOjpzaG93Q29udGV4dE1lbnUoRXZlbnQmIGV2ZW50KQogICAgIGV2ZW50
LnNldERlZmF1bHRIYW5kbGVkKCk7CiB9CiAKK3ZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpk
aWREaXNtaXNzQ29udGV4dE1lbnUoKQoreworICAgIGlmIChtX21lbnVQcm92aWRlcikKKyAgICAg
ICAgbV9tZW51UHJvdmlkZXItPmRpZERpc21pc3NDb250ZXh0TWVudSgpOworfQorCiBzdGF0aWMg
dm9pZCBvcGVuTmV3V2luZG93KGNvbnN0IFVSTCYgdXJsVG9Mb2FkLCBGcmFtZSYgZnJhbWUsIFNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSkK
IHsKICAgICBQYWdlKiBvbGRQYWdlID0gZnJhbWUucGFnZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggMWUyOTMxMDUwNjY0NTBiNDRiMGEzNTI3
MWQ2ZDE0MjUyYTdiMjliYS4uNmZlMmJkM2E4NjdhMjdhYWM4Yjc0YjQxZTMzZWI1ZDE4NzZlNDA3
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCkBAIC01
Niw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNob3dDb250ZXh0TWVudShFdmVudCYsIENv
bnRleHRNZW51UHJvdmlkZXImKTsKIAogICAgIHZvaWQgcG9wdWxhdGUoKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGRpZERpc21pc3NDb250ZXh0TWVudSgpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVBY3Rpb24sIGNvbnN0IFN0
cmluZyYgdGl0bGUpOwogICAgIHZvaWQgYWRkSW5zcGVjdEVsZW1lbnRJdGVtKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVQcm92aWRlci5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudVByb3ZpZGVyLmgKaW5kZXggMjNiZWQ2ODU5NGFiYTJm
NDBiMzc0N2E4MTM1ZDUzYmU4MTY5Y2FiNS4uZjE1ODcwMmIzOGIwYTI3NGUzYzJkMDZjN2FlZTFi
YmI1OTZiMjEyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudVBy
b3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudVByb3ZpZGVyLmgK
QEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkNvbnRleHRNZW51UHJvdmlk
ZXIoKSB7IH07CiAKICAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVDb250ZXh0TWVudShDb250ZXh0
TWVudSopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzbWlzc0NvbnRleHRNZW51KCkgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51SXRlbVNlbGVjdGVkKENvbnRleHRNZW51QWN0
aW9uLCBjb25zdCBTdHJpbmcmIHRpdGxlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRN
ZW51Q2xlYXJlZCgpID0gMDsKICAgICB2aXJ0dWFsIENvbnRleHRNZW51Q29udGV4dDo6VHlwZSBj
b250ZXh0TWVudUNvbnRleHRUeXBlKCkgeyByZXR1cm4gQ29udGV4dE1lbnVDb250ZXh0OjpUeXBl
OjpDb250ZXh0TWVudTsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkNvbnRleHRNZW51UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29udGV4
dE1lbnVQcm94eS5jcHAKaW5kZXggMmRiNjMxY2U1Mzc3MDEyZWI5ZmEwYzIzMTdiM2JmZWRmZDUx
MjU5MS4uZjRkZjJhMWQ5ODViNjc0ZDQ3MjkyZjZhMTgwMTUyMzEwOTBlYzljYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94eS5jcHAKQEAgLTczLDcg
KzczLDcgQEAgdm9pZCBXZWJDb250ZXh0TWVudVByb3h5Ojp1c2VDb250ZXh0TWVudUl0ZW1zKFZl
Y3RvcjxSZWY8V2ViQ29udGV4dE1lbnVJdGVtPj4mJgogICAgIHNob3dDb250ZXh0TWVudVdpdGhJ
dGVtcyhXVEZNb3ZlKGl0ZW1zKSk7CiAKICAgICAvLyBObyBtYXR0ZXIgdGhlIHJlc3VsdCBvZiBz
aG93Q29udGV4dE1lbnVXaXRoSXRlbXMsIGFsd2F5cyBub3RpZnkgdGhlIFdlYlByb2Nlc3MgdGhh
dCB0aGUgbWVudSBpcyBoaWRkZW4gc28gaXQgc3RhcnRzIGhhbmRsaW5nIG1vdXNlIGV2ZW50cyBh
Z2Fpbi4KLSAgICBwYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDb250ZXh0TWVudUhpZGRl
bigpKTsKKyAgICBwYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRTaG93Q29udGV4dE1l
bnUoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYjhjZmQ4MmU2ODllYzE2OWIwNTdlOGM4ZTZhNWI5MDM2
MWRhNWJiNC4uOGQ0MWU0NTIzZjQ3ZjkyMTA1MjU5YzYzMDYwNTE1ZWY0ZmM5OGMzMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC02ODI4LDcgKzY4MjgsNyBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd0NvbnRleHRNZW51KENvbnRleHRNZW51Q29udGV4dERh
dGEmJiBjb250ZXh0TWVudUNvbnRleHREYQogICAgIC8vIGNhbiBoYW5nIHRoZSBwYWdlIC8gV2Vi
RHJpdmVyIHRlc3QuIFByZXRlbmQgdG8gc2hvdyBhbmQgaW1tZWRpYXRlbHkgZGlzbWlzcyB0aGUg
Y29udGV4dCBtZW51LgogICAgIGlmIChhdXRvKiBhdXRvbWF0aW9uU2Vzc2lvbiA9IHByb2Nlc3Mo
KS5wcm9jZXNzUG9vbCgpLmF1dG9tYXRpb25TZXNzaW9uKCkpIHsKICAgICAgICAgaWYgKG1fY29u
dHJvbGxlZEJ5QXV0b21hdGlvbiAmJiBhdXRvbWF0aW9uU2Vzc2lvbi0+aXNTaW11bGF0aW5nVXNl
ckludGVyYWN0aW9uKCkpIHsKLSAgICAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNv
bnRleHRNZW51SGlkZGVuKCkpOworICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
RGlkU2hvd0NvbnRleHRNZW51KCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAg
ICAgfQpAQCAtNjg0NCw2ICs2ODQ0LDIxIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzaG93Q29udGV4
dE1lbnUoQ29udGV4dE1lbnVDb250ZXh0RGF0YSYmIGNvbnRleHRNZW51Q29udGV4dERhCiAgICAg
bV9hY3RpdmVDb250ZXh0TWVudS0+c2hvdygpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlk
U2hvd0NvbnRleHRNZW51KCkKK3sKKyAgICAvLyBEb24ndCBzZW5kIGBNZXNzYWdlczo6V2ViUGFn
ZTo6RGlkU2hvd0NvbnRleHRNZW51YCBhcyB0aGF0IHNob3VsZCd2ZSBhbHJlYWR5IGJlZW4gZWFn
ZXJseQorICAgIC8vIHNlbnQgd2hlbiByZXF1ZXN0aW5nIHRoZSBjb250ZXh0IG1lbnUgdG8gc2hv
dywgcmVnYXJkbGVzcyBvZiB0aGUgcmVzdWx0IG9mIHRoYXQgcmVxdWVzdC4KKworICAgIHBhZ2VD
bGllbnQoKS5kaWRTaG93Q29udGV4dE1lbnUoKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OmRp
ZERpc21pc3NDb250ZXh0TWVudSgpCit7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlk
RGlzbWlzc0NvbnRleHRNZW51KCkpOworCisgICAgcGFnZUNsaWVudCgpLmRpZERpc21pc3NDb250
ZXh0TWVudSgpOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6Y29udGV4dE1lbnVJdGVtU2VsZWN0
ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKIHsKICAgICAvLyBBcHBsaWNh
dGlvbiBjdXN0b20gaXRlbXMgZG9uJ3QgbmVlZCB0byByb3VuZC10cmlwIHRocm91Z2ggdG8gV2Vi
Q29yZSBpbiB0aGUgV2ViUHJvY2Vzcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKaW5kZXggYjEzOTFiYjU4MDU2MjFkMjg0YTcyZmE5YjBhODJlY2UwNGU4MzFiNS4uYWZkMTky
ZTJjZTJjYmE4NmM0M2Q3NjM1Yjc5ZTdiMjcwZmExMWYxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKQEAgLTEzMTQsNiArMTMxNCw4IEBAIHB1YmxpYzoKIAogI2lmIEVO
QUJMRShDT05URVhUX01FTlVTKQogICAgIC8vIENhbGxlZCBieSB0aGUgV2ViQ29udGV4dE1lbnVQ
cm94eS4KKyAgICB2b2lkIGRpZFNob3dDb250ZXh0TWVudSgpOworICAgIHZvaWQgZGlkRGlzbWlz
c0NvbnRleHRNZW51KCk7CiAgICAgdm9pZCBjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChjb25zdCBX
ZWJDb250ZXh0TWVudUl0ZW1EYXRhJik7CiAgICAgdm9pZCBoYW5kbGVDb250ZXh0TWVudUtleUV2
ZW50KCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9X
ZWJDb250ZXh0TWVudVByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dl
YkNvbnRleHRNZW51UHJveHlNYWMubW0KaW5kZXggM2UwMDkwYjU4NzViMzQ4ODdjM2FlZWQ0NWVi
MzMzM2UzNDUyYTQxMy4uOTJkYTUzNzg3OTgxZWZhNjNlYjllZmE1MGQ2ZDI2ODdjYWM3ZmE1ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJv
eHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51
UHJveHlNYWMubW0KQEAgLTE3MSwxMiArMTcxLDEyIEBAIC0oaW5zdGFuY2V0eXBlKWluaXRXaXRo
TWVudVByb3h5OihXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlNYWMmKW1lbnVQcm94eQogCiAt
ICh2b2lkKW1lbnVXaWxsT3BlbjooTlNNZW51ICopbWVudQogewotICAgIF9tZW51UHJveHktPnBh
Z2UoKS0+cGFnZUNsaWVudCgpLmRpZFNob3dDb250ZXh0TWVudSgpOworICAgIF9tZW51UHJveHkt
PnBhZ2UoKS0+ZGlkU2hvd0NvbnRleHRNZW51KCk7CiB9CiAKIC0gKHZvaWQpbWVudURpZENsb3Nl
OihOU01lbnUgKiltZW51CiB7Ci0gICAgX21lbnVQcm94eS0+cGFnZSgpLT5wYWdlQ2xpZW50KCku
ZGlkRGlzbWlzc0NvbnRleHRNZW51KCk7CisgICAgX21lbnVQcm94eS0+cGFnZSgpLT5kaWREaXNt
aXNzQ29udGV4dE1lbnUoKTsKIH0KIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCmluZGV4IGUzMGUzYmRhMDE2ZjMwZTU0
NzUyMGNhNzI1MGRiNjFkZjhlNzQ3MmQuLjI4NjczMGEzODNkNmNjY2E4NDMxNjU4NWFiMzFhMDdh
MjRlNWZjOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YkNvbnRleHRNZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJDb250ZXh0TWVudS5jcHAKQEAgLTY4LDcgKzY4LDcgQEAgdm9pZCBXZWJDb250ZXh0TWVudTo6
c2hvdygpCiAgICAgQ29udGV4dE1lbnVDb250ZXh0RGF0YSBjb250ZXh0TWVudUNvbnRleHREYXRh
KG1lbnVMb2NhdGlvbiwgbWVudUl0ZW1zLCBjb250cm9sbGVyLmNvbnRleHQoKSk7CiAKICAgICAv
LyBNYXJrIHRoZSBXZWJQYWdlIGhhcyBoYXZpbmcgYSBzaG93biBjb250ZXh0IG1lbnUgdGhlbiBu
b3RpZnkgdGhlIFVJUHJvY2Vzcy4KLSAgICBtX3BhZ2UtPmNvbnRleHRNZW51U2hvd2luZygpOwor
ICAgIG1fcGFnZS0+c3RhcnRXYWl0aW5nRm9yQ29udGV4dE1lbnVUb1Nob3coKTsKICAgICBtX3Bh
Z2UtPmZsdXNoUGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlKCk7CiAgICAgbV9wYWdlLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dDb250ZXh0TWVudShjb250ZXh0TWVudUNvbnRleHRE
YXRhLCBVc2VyRGF0YShXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS50cmFuc2Zvcm1PYmplY3RzVG9I
YW5kbGVzKHVzZXJEYXRhLmdldCgpKS5nZXQoKSkpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggODdjMDNlY2E5NjhhMTc1MmY1ZjNjZWFj
OTA4NWZmN2Q5M2I1NTFjYy4uNTc0ZmQ0YmY5MjllN2RlNGNjODgzMmY3OTRiYmE2OGI3NDIyNjk4
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTI4NTcsNiArMjg1NywyMCBAQCBwcml2YXRlOgogICAgIGNvbnN0IFdlYkV2ZW50KiBtX3ByZXZp
b3VzQ3VycmVudEV2ZW50OwogfTsKIAorI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQorCit2b2lk
IFdlYlBhZ2U6OmRpZFNob3dDb250ZXh0TWVudSgpCit7CisgICAgbV93YWl0aW5nRm9yQ29udGV4
dE1lbnVUb1Nob3cgPSBmYWxzZTsKK30KKwordm9pZCBXZWJQYWdlOjpkaWREaXNtaXNzQ29udGV4
dE1lbnUoKQoreworICAgIGNvcmVQYWdlKCktPmNvbnRleHRNZW51Q29udHJvbGxlcigpLmRpZERp
c21pc3NDb250ZXh0TWVudSgpOworfQorCisjZW5kaWYgLy8gRU5BQkxFKENPTlRFWFRfTUVOVVMp
CisKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VX0VWRU5UKQogc3RhdGljIGJvb2wgaXNDb250ZXh0
Q2xpY2soY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCkKIHsKQEAgLTI5NjIsNyArMjk3
Niw3IEBAIHZvaWQgV2ViUGFnZTo6bW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50JiBtb3Vz
ZUV2ZW50LCBzdGQ6Om9wdGlvbmFsPFNhbmRib3hFCiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKICAgICAvLyBEb24ndCB0cnkgdG8gaGFuZGxlIGFueSBwZW5kaW5nIG1vdXNlIGV2ZW50cyBp
ZiBhIGNvbnRleHQgbWVudSBpcyBzaG93aW5nLgotICAgIGlmIChtX2lzU2hvd2luZ0NvbnRleHRN
ZW51KQorICAgIGlmIChtX3dhaXRpbmdGb3JDb250ZXh0TWVudVRvU2hvdykKICAgICAgICAgc2hv
dWxkSGFuZGxlRXZlbnQgPSBmYWxzZTsKICNlbmRpZgogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggMDA0MjI3
NWY1YTZkNTk2MTZhMGRkZjBlOWJlMjhlNDhjMmMwYzFhYy4uNWFhNzczOGYzNzAyMzJiZGEyM2Vm
NWQ4Yzg5YzkwNzRlNDRlOTlhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaApAQCAtMTA0OSw3ICsxMDQ5LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2ltdWxh
dGVNb3VzZU1vdGlvbihXZWJDb3JlOjpJbnRQb2ludCwgV2FsbFRpbWUpOwogCiAjaWYgRU5BQkxF
KENPTlRFWFRfTUVOVVMpCi0gICAgdm9pZCBjb250ZXh0TWVudVNob3dpbmcoKSB7IG1faXNTaG93
aW5nQ29udGV4dE1lbnUgPSB0cnVlOyB9CisgICAgdm9pZCBzdGFydFdhaXRpbmdGb3JDb250ZXh0
TWVudVRvU2hvdygpIHsgbV93YWl0aW5nRm9yQ29udGV4dE1lbnVUb1Nob3cgPSB0cnVlOyB9CiAj
ZW5kaWYKIAogICAgIGJvb2wgd2hlZWxFdmVudChjb25zdCBXZWJXaGVlbEV2ZW50JiwgT3B0aW9u
U2V0PFdlYkNvcmU6OldoZWVsRXZlbnRQcm9jZXNzaW5nU3RlcHM+KTsKQEAgLTE2MTksNyArMTYx
OSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCB0b3VjaFdpdGhJZGVudGlmaWVyV2FzUmVtb3ZlZChX
ZWJDb3JlOjpQb2ludGVySUQpOwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgdm9p
ZCBjb250ZXh0TWVudUhpZGRlbigpIHsgbV9pc1Nob3dpbmdDb250ZXh0TWVudSA9IGZhbHNlOyB9
CisgICAgdm9pZCBkaWRTaG93Q29udGV4dE1lbnUoKTsKKyAgICB2b2lkIGRpZERpc21pc3NDb250
ZXh0TWVudSgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVV9FVkVOVCkKICAgICB2
b2lkIGNvbnRleHRNZW51Rm9yS2V5RXZlbnQoKTsKQEAgLTIxNzEsNyArMjE3Miw3IEBAIHByaXZh
dGU6CiAgICAgT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+IG1fbGFzdEFj
dGl2aXR5U3RhdGVDaGFuZ2VzOwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgYm9v
bCBtX2lzU2hvd2luZ0NvbnRleHRNZW51IHsgZmFsc2UgfTsKKyAgICBib29sIG1fd2FpdGluZ0Zv
ckNvbnRleHRNZW51VG9TaG93IHsgZmFsc2UgfTsKICNlbmRpZgogCiAgICAgUmVmUHRyPFdlYkNv
cmU6OkVsZW1lbnQ+IG1fZm9jdXNlZEVsZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCAyMmMwYjgzY2E3ZjU4
NTJjMTUwYWI5YTEwZmIzZmQxZWE3NzMzNmE4Li5kODhlZjBlYmI1YmFhMTRkNDRlMGU5YzE5OTI2
YjYzNjVlZmUxMDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTE2NCwxMSArMTY0LDYgQEAgR2VuZXJhdGVTeW50
aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0aWNFZGl0aW5n
Q29tbWFuZFR5cGUKICAgICBEaWRFbmREYXRlVGltZVBpY2tlcigpOwogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICBDb250ZXh0TWVudUhpZGRlbigpCi0gICAgQ29udGV4
dE1lbnVGb3JLZXlFdmVudCgpCi0jZW5kaWYKLQogICAgIFNjcm9sbEJ5KHVpbnQzMl90IHNjcm9s
bERpcmVjdGlvbiwgdWludDMyX3Qgc2Nyb2xsR3JhbnVsYXJpdHkpCiAgICAgQ2VudGVyU2VsZWN0
aW9uSW5WaXNpYmxlQXJlYSgpCiAKQEAgLTM0NSw3ICszNDAsMTAgQEAgR2VuZXJhdGVTeW50aGV0
aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0aWNFZGl0aW5nQ29t
bWFuZFR5cGUKIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQogICAgICMgQ29udGV4dCBtZW51
LgorICAgIERpZFNob3dDb250ZXh0TWVudSgpCisgICAgRGlkRGlzbWlzc0NvbnRleHRNZW51KCkK
ICAgICBEaWRTZWxlY3RJdGVtRnJvbUFjdGl2ZUNvbnRleHRNZW51KFdlYktpdDo6V2ViQ29udGV4
dE1lbnVJdGVtRGF0YSBtZW51SXRlbSkKKyAgICBDb250ZXh0TWVudUZvcktleUV2ZW50KCkKICNl
bmRpZgogCiAgICAgIyBPcGVuIHBhbmVsLgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDZmYzQ1NDc5NDU4MDc4NzA4YmI2MWY2YmM4YzdhYjFhMDVj
NTdmZmIuLjM5YzM4ZTVlMTNlNGY3Mjk0NGQyYWZjOWVlZDU4NTU4MmE2NGZlMWMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBA
QAorMjAyMS0wNy0yNiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAg
ICAgW01vZGVybiBNZWRpYSBDb250cm9sc10gW21hY09TXSBPdmVyZmxvdyBidXR0b24gc3RpbGwg
c2hvd3MgYXMgYG9uYCBldmVuIGFmdGVyIGNvbnRleHRtZW51IGlzIGRpc21pc3NlZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4MzEwCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS84MTEyNDc4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24g
SHNpZWguCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dl
YlZpZXcubW06CisgICAgICAgICgtW1Rlc3RSdW5uZXJXS1dlYlZpZXcgZGlzbWlzc0FjdGl2ZU1l
bnVdKToKKyAgICAgICAgKC1bVGVzdFJ1bm5lcldLV2ViVmlldyBpbW1lZGlhdGVseURpc21pc3ND
b250ZXh0TWVudUlmTmVlZGVkXSk6CisgICAgICAgICgtW1Rlc3RSdW5uZXJXS1dlYlZpZXcgX2Rp
c21pc3NBbGxDb250ZXh0TWVudUludGVyYWN0aW9uc10pOiBBZGRlZC4KKwogMjAyMS0wNy0yNiAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFdL
VXNlckNvbnRlbnRDb250cm9sbGVyLnJlbW92ZUFsbFNjcmlwdE1lc3NhZ2VIYW5kbGVycygpIGRv
ZXNuJ3QgcmVsZWFzZSB0aGUgbWVzc2FnZSBoYW5kbGVycwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1tIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1tCmluZGV4IDU1ZjUzZTBmMWFm
OTI5NjRmMzc0OTdlMTBlNTYyMDAwNTE0ZGJiNWMuLjJlNmQ0YzFlMWRkMmIwZTdmYTk2ZTBmMDcw
NWQ0ZDRhYzVkNjU0ZjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2Ev
VGVzdFJ1bm5lcldLV2ViVmlldy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29h
L1Rlc3RSdW5uZXJXS1dlYlZpZXcubW0KQEAgLTE4NSw2ICsxODUsNyBAQCAtICh2b2lkKV9kaWRI
aWRlTWVudQogLSAodm9pZClkaXNtaXNzQWN0aXZlTWVudQogewogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCisgICAgW3NlbGYgX2Rpc21pc3NBbGxDb250ZXh0TWVudUludGVyYWN0aW9uc107CiAg
ICAgW3NlbGYgcmVzaWduRmlyc3RSZXNwb25kZXJdOwogI2Vsc2UKICAgICBhdXRvIG1lbnUgPSBy
ZXRhaW5QdHIoc2VsZi5fYWN0aXZlTWVudSk7CkBAIC0yNTMsNiArMjU0LDExIEBAIC0gKHZvaWQp
aW1tZWRpYXRlbHlEaXNtaXNzQ29udGV4dE1lbnVJZk5lZWRlZAogCiAgICAgc2VsZi5zaG93aW5n
Q29udGV4dE1lbnUgPSBOTzsKIAorICAgIFtzZWxmIF9kaXNtaXNzQWxsQ29udGV4dE1lbnVJbnRl
cmFjdGlvbnNdOworfQorCistICh2b2lkKV9kaXNtaXNzQWxsQ29udGV4dE1lbnVJbnRlcmFjdGlv
bnMKK3sKICNpZiBQTEFURk9STShJT1MpCiAgICAgZm9yIChpZCA8VUlJbnRlcmFjdGlvbj4gaW50
ZXJhY3Rpb24gaW4gc2VsZi5jb250ZW50Vmlldy5pbnRlcmFjdGlvbnMpIHsKICAgICAgICAgaWYg
KFtpbnRlcmFjdGlvbiBpc0tpbmRPZkNsYXNzOlVJQ29udGV4dE1lbnVJbnRlcmFjdGlvbi5jbGFz
c10pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggZGIyNmQzY2JmMzhlNDdmYzVhZmQ4MzIyY2QyODAyY2YwZDU2MDUzZS4uMzFk
YTVlMWQzNDY1NDk0MTNjNTQ2ZTI1NjQ2OGI3ZGJjYTI3NTIwYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDIxLTA3LTI2ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAg
ICAgICBbTW9kZXJuIE1lZGlhIENvbnRyb2xzXSBbbWFjT1NdIE92ZXJmbG93IGJ1dHRvbiBzdGls
bCBzaG93cyBhcyBgb25gIGV2ZW4gYWZ0ZXIgY29udGV4dG1lbnUgaXMgZGlzbWlzc2VkCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjgzMTAKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzgxMTI0Nzg2PgorCisgICAgICAgIFJldmlld2VkIGJ5IFdlbnNv
biBIc2llaC4KKworICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxv
dy1zdXBwb3J0L2J1dHRvbi1zdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctc3VwcG9ydC9idXR0b24tc3RhdGUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKworICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9vdmVy
Zmxvdy1zdXBwb3J0L3BsYXliYWNrLXNwZWVkLmh0bWw6CisgICAgICAgICogbWVkaWEvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL3RyYWNrcy1zdXBwb3J0L2NsaWNrLXRyYWNrLWluLWNvbnRleHRtZW51
Lmh0bWw6CisgICAgICAgIEFkanVzdCBob3cgdGhlc2UgdGVzdHMgd2FpdCBmb3IgYW5kIGRpc21p
c3MgdGhlIGNvbnRleHRtZW51LgorCiAyMDIxLTA3LTI2ICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5
YUBhcHBsZS5jb20+CiAKICAgICAgICAgVmlkZW8gcGF1c2VzIGFmdGVyIHNjcnViYmluZyB3aXRo
IFRvdWNoIEJhcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL292ZXJmbG93LXN1cHBvcnQvYnV0dG9uLXN0YXRlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1zdXBwb3J0L2J1dHRv
bi1zdGF0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE5ODJkZjMzMjc0MTc5ZGU0MzIyNGZj
NjZkZTg1OTQzNjhkNWZjNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1zdXBwb3J0L2J1dHRvbi1zdGF0ZS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdGluZyB0aGF0IHRoZSBvdmVyZmxvdyBidXR0b24g
aXMgcHJvcGVybHkgbWFya2VkIGFzIGBvbmAgb25seSB3aGVuIHRoZSBjb250ZXh0IG1lbnUgaXMg
c2hvd2luZy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc2hhZG93Um9v
dC5xdWVyeVNlbGVjdG9yKCdidXR0b24ub3ZlcmZsb3cnKSBiZWNhbWUgZGlmZmVyZW50IGZyb20g
bnVsbAorUEFTUyBzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpLmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIGJlY2FtZSBkaWZmZXJlbnQgZnJvbSAwCitUYXBw
aW5nIG92ZXJmbG93IGJ1dHRvbi4uLgorUEFTUyBzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2J1
dHRvbi5vdmVyZmxvdycpLmNsYXNzTGlzdC5jb250YWlucygnb24nKSBiZWNhbWUgdHJ1ZQorRGlz
bWlzc2luZyBjb250ZXh0bWVudS4uLgorUEFTUyBzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2J1
dHRvbi5vdmVyZmxvdycpLmNsYXNzTGlzdC5jb250YWlucygnb24nKSBiZWNhbWUgZmFsc2UKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctc3Vw
cG9ydC9idXR0b24tc3RhdGUuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1j
b250cm9scy9vdmVyZmxvdy1zdXBwb3J0L2J1dHRvbi1zdGF0ZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4
MGVmZTlhZmIwMTZlZDU1ODNkMDI0N2Q0NzY3ZDQ1NzlmYjcwN2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctc3VwcG9y
dC9idXR0b24tc3RhdGUuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9tZWRpYS1jb250cm9scy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
Kzxib2R5PgorPHZpZGVvIHNyYz0iLi4vLi4vY29udGVudC90ZXN0Lm1wNCIgc3R5bGU9InBvc2l0
aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgdG9wOiAwOyB3aWR0aDogNjAwcHg7IiBjb250cm9scyBh
dXRvcGxheT48L3ZpZGVvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCit3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Rlc2NyaXB0aW9uKCJUZXN0aW5nIHRoYXQgdGhl
IG92ZXJmbG93IGJ1dHRvbiBpcyBwcm9wZXJseSBtYXJrZWQgYXMgYG9uYCBvbmx5IHdoZW4gdGhl
IGNvbnRleHQgbWVudSBpcyBzaG93aW5nLiIpOworCitjb25zdCBtZWRpYSA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoInZpZGVvIik7Citjb25zdCBzaGFkb3dSb290ID0gd2luZG93LmludGVybmFs
cy5zaGFkb3dSb290KG1lZGlhKTsKKworbWVkaWEuYWRkRXZlbnRMaXN0ZW5lcigicGxheSIsIGFz
eW5jIGZ1bmN0aW9uKCkgeworICAgIG1lZGlhLnBhdXNlKCk7CisKKyAgICBhd2FpdCBzaG91bGRC
ZWNvbWVEaWZmZXJlbnQoInNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignYnV0dG9uLm92ZXJmbG93
JykiLCAibnVsbCIpOworCisgICAgYXdhaXQgc2hvdWxkQmVjb21lRGlmZmVyZW50KCJzaGFkb3dS
b290LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpLmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpLndpZHRoIiwgIjAiKTsKKworICAgIGRlYnVnKCJUYXBwaW5nIG92ZXJmbG93IGJ1dHRvbi4u
LiIpOworICAgIGF3YWl0IHByZXNzT25FbGVtZW50KHNoYWRvd1Jvb3QucXVlcnlTZWxlY3Rvcigi
YnV0dG9uLm92ZXJmbG93IikpOworICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JDb250ZXh0TWVu
dVRvU2hvdygpOworICAgIGF3YWl0IHNob3VsZEJlY29tZUVxdWFsKCJzaGFkb3dSb290LnF1ZXJ5
U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpLmNsYXNzTGlzdC5jb250YWlucygnb24nKSIsICJ0
cnVlIik7CisKKyAgICBkZWJ1ZygiRGlzbWlzc2luZyBjb250ZXh0bWVudS4uLiIpOworICAgIGF3
YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgdGVzdFJ1bm5l
ci5ydW5VSVNjcmlwdChgCisgICAgICAgICAgICB1aUNvbnRyb2xsZXIuZGlzbWlzc01lbnUoKTsK
KyAgICAgICAgICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENvbXBsZXRlKCk7CisgICAgICAgIGAs
IHJlc29sdmUpOworICAgIH0pOworICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JDb250ZXh0TWVu
dVRvSGlkZSgpOworICAgIGF3YWl0IHNob3VsZEJlY29tZUVxdWFsKCJzaGFkb3dSb290LnF1ZXJ5
U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpLmNsYXNzTGlzdC5jb250YWlucygnb24nKSIsICJm
YWxzZSIpOworCisgICAgbWVkaWEucmVtb3ZlKCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctc3VwcG9ydC9wbGF5YmFjay1zcGVlZC5odG1s
IGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1cHBv
cnQvcGxheWJhY2stc3BlZWQuaHRtbAppbmRleCA0ZGE4ZjgyNWNjZTEwMTAyYjNkNzUzMTVhZmY1
N2EyNzc2ZjJiNGNiLi4yMmRlZGZlZmEyODk0ZGJkZjc3MzBkMjMwZmNkYmE3YzQ2MTdlMzRhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZs
b3ctc3VwcG9ydC9wbGF5YmFjay1zcGVlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1zdXBwb3J0L3BsYXliYWNrLXNwZWVkLmh0bWwK
QEAgLTMwLDYgKzMwLDEzIEBAIG1lZGlhLmFkZEV2ZW50TGlzdGVuZXIoInBsYXkiLCBmdW5jdGlv
bigpIHsKICAgICAgICAgICAgIGNoZWNrZWRJdGVtcyA9IGNvbnRleHRtZW51WzBdLmNoaWxkcmVu
LmZpbHRlcigoaXRlbSkgPT4gaXRlbS5jaGVja2VkKTsKICAgICAgICAgICAgIHNob3VsZEJlKCJj
aGVja2VkSXRlbXMubGVuZ3RoIiwgIjEiKTsKICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiY2hlY2tlZEl0ZW1zWzBdLnRpdGxlIiwgYDEke211bHRpcGxpY2F0aW9uU2lnbn1gKTsK
KworICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewor
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYAorICAgICAgICAgICAgICAg
ICAgICB1aUNvbnRyb2xsZXIuZGlzbWlzc01lbnUoKTsKKyAgICAgICAgICAgICAgICAgICAgdWlD
b250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoKTsKKyAgICAgICAgICAgICAgICBgLCByZXNvbHZl
KTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckNv
bnRleHRNZW51VG9IaWRlKCk7CiAKICAgICAgICAgICAgIGRlYnVnKCJDaGFuZ2luZyBwbGF5YmFj
ayBzcGVlZCB2aWEgSmF2YVNjcmlwdC4uLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVk
aWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3RyYWNrcy1zdXBwb3J0L2NsaWNrLXRyYWNrLWluLWNv
bnRleHRtZW51Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
dHJhY2tzLXN1cHBvcnQvY2xpY2stdHJhY2staW4tY29udGV4dG1lbnUuaHRtbAppbmRleCA5Y2Vh
OTFlNzI3MzMyOGQyYWFlZGZmZWZiODhjZGU2NTdjMDdjMzc2Li4xNjNjZDM3MGUxMWY4YjE5MTlk
ODBiYzg0MmRhZmVkNjUxNzIwZGEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvdHJhY2tzLXN1cHBvcnQvY2xpY2stdHJhY2staW4tY29udGV4dG1l
bnUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvdHJh
Y2tzLXN1cHBvcnQvY2xpY2stdHJhY2staW4tY29udGV4dG1lbnUuaHRtbApAQCAtNDMsMTQgKzQz
LDE0IEBAIGZ1bmN0aW9uIGNsaWNrT25UcmFja3NCdXR0b24oY29udGludWF0aW9uKQogYXN5bmMg
ZnVuY3Rpb24gY2xpY2tPbkZyZW5jaEF1ZGlvVHJhY2soKQogewogICAgIGRlYnVnKCJTZWxlY3Rp
bmcgJ0ZyZW5jaCcgdHJhY2suLi4iKTsKLSAgICBhd2FpdCBnZXRUcmFja3NDb250ZXh0TWVudSgp
OworICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JDb250ZXh0TWVudVRvU2hvdygpOwogICAgIGF3
YWl0IFVJSGVscGVyLmNob29zZU1lbnVBY3Rpb24oIkZyZW5jaCBTb3VuZCIpOwogfQogCiBhc3lu
YyBmdW5jdGlvbiBjbGlja09uU3BhbmlzaEF1ZGlvVHJhY2soKQogewogICAgIGRlYnVnKCJTZWxl
Y3RpbmcgJ1NwYW5pc2gnIHRyYWNrLi4uIik7Ci0gICAgYXdhaXQgZ2V0VHJhY2tzQ29udGV4dE1l
bnUoKTsKKyAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yQ29udGV4dE1lbnVUb1Nob3coKTsKICAg
ICBhd2FpdCBVSUhlbHBlci5jaG9vc2VNZW51QWN0aW9uKCJTcGFuaXNoIFNvdW5kIik7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>