<?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>190714</bug_id>
          
          <creation_ts>2018-10-18 08:18:43 -0700</creation_ts>
          <short_desc>Make generated C++ code use modern C++</short_desc>
          <delta_ts>2020-06-03 07:29:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>Other</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Rob Buis">rbuis</reporter>
          <assigned_to name="Rob Buis">rbuis</assigned_to>
          <cc>bburg</cc>
    
    <cc>cdumez</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>jbedard</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>keith_miller</cc>
    
    <cc>macpherson</cc>
    
    <cc>mark.lam</cc>
    
    <cc>menard</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1470534</commentid>
    <comment_count>0</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2018-10-18 08:18:43 -0700</bug_when>
    <thetext>Make generated C++ code use modern C++</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470535</commentid>
    <comment_count>1</comment_count>
      <attachid>352690</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2018-10-18 08:21:26 -0700</bug_when>
    <thetext>Created attachment 352690
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470580</commentid>
    <comment_count>2</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2018-10-18 10:19:02 -0700</bug_when>
    <thetext>Nice start! Might be worth it to run some of the generated C++ through clang-tidy&apos;s modernizers and see if anything else pops out while you&apos;re at it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470861</commentid>
    <comment_count>3</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2018-10-19 08:07:17 -0700</bug_when>
    <thetext>Hi Don,

(In reply to Don Olmstead from comment #2)
&gt; Nice start! Might be worth it to run some of the generated C++ through
&gt; clang-tidy&apos;s modernizers and see if anything else pops out while you&apos;re at
&gt; it.

This does not work on OS X though, right? If so I&apos;ll try to get it to run next week when I should have access to linux again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470879</commentid>
    <comment_count>4</comment_count>
      <attachid>352788</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2018-10-19 09:31:53 -0700</bug_when>
    <thetext>Created attachment 352788
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471872</commentid>
    <comment_count>5</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2018-10-24 10:29:05 -0700</bug_when>
    <thetext>Hi Don,

(In reply to Rob Buis from comment #3)
&gt; Hi Don,
&gt; 
&gt; (In reply to Don Olmstead from comment #2)
&gt; &gt; Nice start! Might be worth it to run some of the generated C++ through
&gt; &gt; clang-tidy&apos;s modernizers and see if anything else pops out while you&apos;re at
&gt; &gt; it.
&gt; 
&gt; This does not work on OS X though, right? If so I&apos;ll try to get it to run
&gt; next week when I should have access to linux again.

I now have clang-tidy&apos;s modernizers working on linux. However I don&apos;t think this checks  the generated c++ code, I think because they are not included in compile_commands.json. Did you ever run into this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657779</commentid>
    <comment_count>6</comment_count>
      <attachid>400702</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-05-31 07:33:08 -0700</bug_when>
    <thetext>Created attachment 400702
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657780</commentid>
    <comment_count>7</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-05-31 07:33:43 -0700</bug_when>
    <thetext>This patch modifies the inspector protocol generator. Please ensure that you have rebaselined any generator test results (i.e., by running `Tools/Scripts/run-inspector-generator-tests --reset-results`)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657988</commentid>
    <comment_count>8</comment_count>
      <attachid>400702</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-06-01 11:39:47 -0700</bug_when>
    <thetext>Comment on attachment 400702
Patch

Looks good so far, let me know if you&apos;d like feedback. Please ensure you include rebaselined tests when your patch is up for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657989</commentid>
    <comment_count>9</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-06-01 11:41:27 -0700</bug_when>
    <thetext>Thanks Brian! Will do, can probably update the patch later in the week.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657990</commentid>
    <comment_count>10</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-06-01 11:42:10 -0700</bug_when>
    <thetext>(In reply to Don Olmstead from comment #2)
&gt; Nice start! Might be worth it to run some of the generated C++ through
&gt; clang-tidy&apos;s modernizers and see if anything else pops out while you&apos;re at
&gt; it.

Hi Don, I rebased the patch. Given your recent work on cmake + clang-tidy, do you think above is on your TODO list?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658188</commentid>
    <comment_count>11</comment_count>
      <attachid>400791</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-06-02 00:43:28 -0700</bug_when>
    <thetext>Created attachment 400791
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658273</commentid>
    <comment_count>12</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-06-02 06:52:10 -0700</bug_when>
    <thetext>(In reply to Brian Burg from comment #8)
&gt; Comment on attachment 400702 [details]
&gt; Patch
&gt; 
&gt; Looks good so far, let me know if you&apos;d like feedback. Please ensure you
&gt; include rebaselined tests when your patch is up for review.

I did include the rebaselined tests in the latest patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658330</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-02 09:10:58 -0700</bug_when>
    <thetext>Committed r262424: &lt;https://trac.webkit.org/changeset/262424&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 400791.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658331</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-02 09:11:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/63877449&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658430</commentid>
    <comment_count>15</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-06-02 13:33:40 -0700</bug_when>
    <thetext>This caused a webkitpy test regression.

https://results.webkit.org/?suite=webkitpy-tests&amp;test=webkit.messages_unittest.HeaderTest.test_receiver_headers

(Internal testing narrowed the regression range to exactly this commit)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658501</commentid>
    <comment_count>16</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-06-02 16:34:20 -0700</bug_when>
    <thetext>Reverted r262424 for reason:

Caused webkitpy test failure

Committed r262461: &lt;https://trac.webkit.org/changeset/262461&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658630</commentid>
    <comment_count>17</comment_count>
      <attachid>400899</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-06-02 23:05:49 -0700</bug_when>
    <thetext>Created attachment 400899
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658670</commentid>
    <comment_count>18</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-06-03 05:35:59 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #15)
&gt; This caused a webkitpy test regression.
&gt; 
&gt; https://results.webkit.org/?suite=webkitpy-tests&amp;test=webkit.
&gt; messages_unittest.HeaderTest.test_receiver_headers
&gt; 
&gt; (Internal testing narrowed the regression range to exactly this commit)

webkitpy now runs without failure again. Let me know if anything more is needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658683</commentid>
    <comment_count>19</comment_count>
      <attachid>400899</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-06-03 07:12:34 -0700</bug_when>
    <thetext>Comment on attachment 400899
Patch

Let&apos;s try this again! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658688</commentid>
    <comment_count>20</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-03 07:29:14 -0700</bug_when>
    <thetext>Committed r262486: &lt;https://trac.webkit.org/changeset/262486&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 400899.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352690</attachid>
            <date>2018-10-18 08:21:26 -0700</date>
            <delta_ts>2018-10-19 09:31:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190714-20181018172125.patch</filename>
            <type>text/plain</type>
            <size>9630</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MjU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
ZjNkMDQxY2M4MDkzZjcyYTliMGNlMDk4MmJiZDUwOGNhYzZjZmI4Li41ZjBlZDBhODJjY2MzN2E1
ZTAxOTg4ZGVkZmJiYWM4NDEzNDYyYTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxOC0xMC0xOCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIE1ha2UgZ2VuZXJhdGVkIEMrKyBjb2RlIHVzZSBtb2Rlcm4gQysrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA3MTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRz
L2NvZGVnZW4vY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHk6CisgICAgICAgICogaW5zcGVjdG9y
L3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVhZGVyLnB5Ogor
ICAgICAgICAqIHlhcnIvZ2VuZXJhdGVZYXJyVW5pY29kZVByb3BlcnR5VGFibGVzLnB5OgorCiAy
MDE4LTEwLTE4ICBZdXN1a2UgU3V6dWtpICA8eXVzdWtlc3V6dWtpQHNsb3dzdGFydC5vcmc+CiAK
ICAgICAgICAgW0pTQ10gSlNDIHNob3VsZCBoYXZlICJwYXJzZUZ1bmN0aW9uIiB0byBvcHRpbWl6
ZSBGdW5jdGlvbiBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDBkMjI1M2ZiNjgxODUwYmVlOTIw
YTI0Y2M5NWU1NWY5MjJlODExNmEuLmQzZjQ2NGQ2ZGEwZmIzNTJiNzgyMDIwM2ViNzg5MTViNGUx
YzFkNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOC0xMC0xOCAgUm9iIEJ1aXMg
IDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIE1ha2UgZ2VuZXJhdGVkIEMrKyBjb2RlIHVz
ZSBtb2Rlcm4gQysrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTA3MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGNz
cy9tYWtlcHJvcC5wbDoKKyAgICAgICAgKiBkb20vbWFrZV9uYW1lcy5wbDoKKyAgICAgICAgKHBy
aW50RmFjdG9yeUNwcEZpbGUpOgorICAgICAgICAocHJpbnRXcmFwcGVyRmFjdG9yeUNwcEZpbGUp
OgorCiAyMDE4LTEwLTE3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgog
CiAgICAgICAgIEVuYWJsZSB0aGUgZGF0YWxpc3QgZWxlbWVudCBieSBkZWZhdWx0IG9uIGlPUyBh
bmQgbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggM2NhODZkOWU2YWUxNWU0ZjZjNWE5OTQ1OWI4ZGU0YjFhODc4
MDY4ZC4uYTUzMjAyOTJiMjE5ZGZlMGM1NzQ3ZTY0MTk5ZGY4ODk5ODU4MGRjZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMiBAQAorMjAxOC0xMC0xOCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29t
PgorCisgICAgICAgIE1ha2UgZ2VuZXJhdGVkIEMrKyBjb2RlIHVzZSBtb2Rlcm4gQysrCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA3MTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0L21lc3NhZ2VzLnB5OgorCiAyMDE4LTEwLTE3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSB0aGUgZGF0YWxpc3QgZWxlbWVudCBieSBk
ZWZhdWx0IG9uIGlPUyBhbmQgbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5IGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dlbmVy
YXRvcl90ZW1wbGF0ZXMucHkKaW5kZXggZmU0ZmIyYzY3ZDdjYTg4Zjk1N2QyN2M5OGU2NTMzNjJj
NzQ5MmZlNi4uZmY5OWYwYjU1ZDg1MWU0YTM4ZDlkZGQ2ZDZlZjg2Y2NjZmE5YjU1YSAxMDA3NTUK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3Bw
X2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkKQEAgLTEzOSw4
ICsxMzksOCBAQCAke2Rpc3BhdGNoQ2FzZXN9CiAgICAgUmVmUHRyPEpTT046Ok9iamVjdD4gcGFy
YW1ldGVyczsKICAgICBtZXNzYWdlLT5nZXRPYmplY3QoInBhcmFtcyJfcywgcGFyYW1ldGVycyk7
CiAKLSAgICB0eXBlZGVmIHZvaWQgKCR7ZG9tYWluTmFtZX1CYWNrZW5kRGlzcGF0Y2hlcjo6KkNh
bGxIYW5kbGVyKShsb25nIHJlcXVlc3RJZCwgUmVmUHRyPEpTT046Ok9iamVjdD4mJiBtZXNzYWdl
KTsKLSAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBDYWxsSGFuZGxlcj4gRGlzcGF0Y2hNYXA7
CisgICAgdXNpbmcgQ2FsbEhhbmRsZXIgPSB2b2lkICgke2RvbWFpbk5hbWV9QmFja2VuZERpc3Bh
dGNoZXI6OiopKGxvbmcgcmVxdWVzdElkLCBSZWZQdHI8SlNPTjo6T2JqZWN0PiYmIG1lc3NhZ2Up
OworICAgIHVzaW5nIERpc3BhdGNoTWFwID0gSGFzaE1hcDxTdHJpbmcsIENhbGxIYW5kbGVyPjsK
ICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RGlzcGF0Y2hNYXA+IGRpc3BhdGNoTWFwOwogICAg
IGlmIChkaXNwYXRjaE1hcC5nZXQoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgc3RhdGljIGNvbnN0
IHN0cnVjdCBNZXRob2RUYWJsZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVh
ZGVyLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4v
Z2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hlYWRlci5weQppbmRleCA4NDRhYTdkMzJjYzQx
MWQ2MDBjMTJiMzVjMDRlMGQyM2QwNDNjYjk4Li4xYWZhOTFkYzQxOGE4MmZmMWFhOWFiMTBmODNh
YmEyYTAwYWE0MDA1IDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVhZGVyLnB5Cisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVy
YXRlX2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkKQEAgLTE0Myw3ICsxNDMsNyBAQCBjbGFz
cyBDcHBQcm90b2NvbFR5cGVzSGVhZGVyR2VuZXJhdG9yKENwcEdlbmVyYXRvcik6CiAgICAgICAg
ICAgICB0eXBlZGVmX2xpbmVzID0gW10KICAgICAgICAgICAgIGlmIGxlbihkZWNsYXJhdGlvbi5k
ZXNjcmlwdGlvbikgPiAwOgogICAgICAgICAgICAgICAgIHR5cGVkZWZfbGluZXMuYXBwZW5kKCcv
KiAlcyAqLycgJSBkZWNsYXJhdGlvbi5kZXNjcmlwdGlvbikKLSAgICAgICAgICAgIHR5cGVkZWZf
bGluZXMuYXBwZW5kKCd0eXBlZGVmICVzICVzOycgJSAocHJpbWl0aXZlX25hbWUsIGRlY2xhcmF0
aW9uLnR5cGVfbmFtZSkpCisgICAgICAgICAgICB0eXBlZGVmX2xpbmVzLmFwcGVuZCgndXNpbmcg
JXMgPSAlczsnICUgKGRlY2xhcmF0aW9uLnR5cGVfbmFtZSwgcHJpbWl0aXZlX25hbWUpKQogICAg
ICAgICAgICAgc2VjdGlvbnMuYXBwZW5kKCdcbicuam9pbih0eXBlZGVmX2xpbmVzKSkKIAogICAg
ICAgICBmb3IgZGVjbGFyYXRpb24gaW4gYXJyYXlfZGVjbGFyYXRpb25zOgpAQCAtMTUxLDcgKzE1
MSw3IEBAIGNsYXNzIENwcFByb3RvY29sVHlwZXNIZWFkZXJHZW5lcmF0b3IoQ3BwR2VuZXJhdG9y
KToKICAgICAgICAgICAgIHR5cGVkZWZfbGluZXMgPSBbXQogICAgICAgICAgICAgaWYgbGVuKGRl
Y2xhcmF0aW9uLmRlc2NyaXB0aW9uKSA+IDA6CiAgICAgICAgICAgICAgICAgdHlwZWRlZl9saW5l
cy5hcHBlbmQoJy8qICVzICovJyAlIGRlY2xhcmF0aW9uLmRlc2NyaXB0aW9uKQotICAgICAgICAg
ICAgdHlwZWRlZl9saW5lcy5hcHBlbmQoJ3R5cGVkZWYgSlNPTjo6QXJyYXlPZjwlcz4gJXM7JyAl
IChlbGVtZW50X3R5cGUsIGRlY2xhcmF0aW9uLnR5cGVfbmFtZSkpCisgICAgICAgICAgICB0eXBl
ZGVmX2xpbmVzLmFwcGVuZCgndXNpbmcgJXMgPSBKU09OOjpBcnJheU9mPCVzPjsnICUgKGRlY2xh
cmF0aW9uLnR5cGVfbmFtZSwgZWxlbWVudF90eXBlKSkKICAgICAgICAgICAgIHNlY3Rpb25zLmFw
cGVuZCgnXG4nLmpvaW4odHlwZWRlZl9saW5lcykpCiAKICAgICAgICAgbGluZXMgPSBbXQpAQCAt
NDU0LDcgKzQ1NCw3IEBAIGNsYXNzIENwcFByb3RvY29sVHlwZXNIZWFkZXJHZW5lcmF0b3IoQ3Bw
R2VuZXJhdG9yKToKICAgICAgICAgICAgIGZvciBlbnVtX3R5cGUgaW4gZW51bV90eXBlczoKICAg
ICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoJ3RlbXBsYXRlPD4nKQogICAgICAgICAgICAgICAg
IGxpbmVzLmFwcGVuZCgnc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OiVz
Ojolcz4geycgJSAoZG9tYWluLmRvbWFpbl9uYW1lLCBlbnVtX3R5cGUucmF3X25hbWUoKSkpCi0g
ICAgICAgICAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgdHlwZWRlZiBJbnRIYXNoPEluc3BlY3Rv
cjo6UHJvdG9jb2w6OiVzOjolcz4gSGFzaDsnICUgKGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90
eXBlLnJhd19uYW1lKCkpKQorICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgIHVzaW5n
IEhhc2ggPUludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6JXM6OiVzPjsnICUgKGRvbWFpbi5k
b21haW5fbmFtZSwgZW51bV90eXBlLnJhd19uYW1lKCkpKQogICAgICAgICAgICAgICAgIGxpbmVz
LmFwcGVuZCgnfTsnKQogCiAgICAgICAgIGlmIGxlbihsaW5lcykgPT0gMDoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL2dlbmVyYXRlWWFyclVuaWNvZGVQcm9wZXJ0eVRh
Ymxlcy5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL2dlbmVyYXRlWWFyclVuaWNvZGVQ
cm9wZXJ0eVRhYmxlcy5weQppbmRleCA5MGY2NzMyNmZkMTdjNjAxZDBhMTQ0YWMwZDZmMjQ4YzQ2
YWU4ZDAzLi41Y2VlNzdiZDZhY2M4ODBlMWQ0OWE1ZDE3ZjIyNDM4NjFhNzc4NzE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9nZW5lcmF0ZVlhcnJVbmljb2RlUHJvcGVy
dHlUYWJsZXMucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvZ2VuZXJhdGVZYXJy
VW5pY29kZVByb3BlcnR5VGFibGVzLnB5CkBAIC01NDYsNyArNTQ2LDcgQEAgY2xhc3MgUHJvcGVy
dHlEYXRhOgogICAgICAgICBmb3IgcHJvcGVydHlEYXRhIGluIGNscy5hbGxQcm9wZXJ0eURhdGE6
CiAgICAgICAgICAgICBwcm9wZXJ0eURhdGEuZHVtcChmaWxlLCBwcm9wZXJ0eURhdGEgIT0gY2xz
LmFsbFByb3BlcnR5RGF0YVstMV0pCiAKLSAgICAgICAgZmlsZS53cml0ZSgidHlwZWRlZiBzdGQ6
OnVuaXF1ZV9wdHI8Q2hhcmFjdGVyQ2xhc3M+ICgqQ3JlYXRlQ2hhcmFjdGVyQ2xhc3MpKCk7XG4i
KQorICAgICAgICBmaWxlLndyaXRlKCJ1c2luZyBDcmVhdGVDaGFyYWN0ZXJDbGFzcyA9IHN0ZDo6
dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFzcz4gKCopKCk7XG4iKQogICAgICAgICBmaWxlLndyaXRl
KCJzdGF0aWMgQ3JlYXRlQ2hhcmFjdGVyQ2xhc3MgY3JlYXRlRnVuY3Rpb25zW3t9XSA9IHt7XG4g
ICAiLmZvcm1hdChsZW4oY2xzLmFsbFByb3BlcnR5RGF0YSkpKQogICAgICAgICBmdW5jdGlvbnNP
blRoaXNMaW5lID0gMAogICAgICAgICBmb3IgcHJvcGVydHlEYXRhIGluIGNscy5hbGxQcm9wZXJ0
eURhdGE6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKaW5kZXggYzA1OTQ0Y2RhYWFlNmRiZGM3Nzc4MTQ4
NjdhMDU1NDQxY2Y2YzY1NC4uODJhYzUyZTQ5YTlmMzgzMDQzODM5YWZjYzE5YmQ2ZmFiZmViYzMx
ZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbApAQCAtNDg1LDcgKzQ4NSw3IEBAIGlubGluZSBDU1NQ
cm9wZXJ0eUlEIGNvbnZlcnRUb0NTU1Byb3BlcnR5SUQoaW50IHZhbHVlKQogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiBuYW1lc3BhY2UgV1RGIHsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQ+IHsgdHlwZWRlZiBJbnRIYXNoPHVuc2lnbmVkPiBI
YXNoOyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6Q1NTUHJvcGVy
dHlJRD4geyB1c2luZyBIYXNoID0gSW50SGFzaDx1bnNpZ25lZD47IH07CiB0ZW1wbGF0ZTw+IHN0
cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQ+IDogR2VuZXJpY0hhc2hUcmFp
dHM8V2ViQ29yZTo6Q1NTUHJvcGVydHlJRD4gewogICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5
VmFsdWVJc1plcm8gPSB0cnVlOwogICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1
ZShXZWJDb3JlOjpDU1NQcm9wZXJ0eUlEJiBzbG90KSB7IHNsb3QgPSBzdGF0aWNfY2FzdDxXZWJD
b3JlOjpDU1NQcm9wZXJ0eUlEPihXZWJDb3JlOjpsYXN0Q1NTUHJvcGVydHkgKyAxKTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vbWFrZV9uYW1lcy5wbAppbmRleCBiMWU3NmNmZGExZmE4N2ZlOTk5ZWZkZTYyNDRiNmQz
N2I4MDBjMjBhLi5mM2M5NzVmM2EwMjAyZjQzODY0OGFmNzk5ZGY3NGZhMmJiOWU3MjVjIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWFrZV9uYW1lcy5wbApAQCAtOTY5LDcgKzk2OSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlICRwYXJhbWV0ZXJze25hbWVzcGFjZX1OYW1lczsKIAot
dHlwZWRlZiBSZWY8JHBhcmFtZXRlcnN7bmFtZXNwYWNlfUVsZW1lbnQ+ICgqJHBhcmFtZXRlcnN7
bmFtZXNwYWNlfUNvbnN0cnVjdG9yRnVuY3Rpb24pKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYkZm9ybUVsZW1lbnRBcmd1bWVudEZvckRlY2xhcmF0aW9uLCBib29sIGNyZWF0ZWRCeVBh
cnNlcik7Cit1c2luZyAkcGFyYW1ldGVyc3tuYW1lc3BhY2V9Q29uc3RydWN0b3JGdW5jdGlvbiA9
IFJlZjwkcGFyYW1ldGVyc3tuYW1lc3BhY2V9RWxlbWVudD4gKCopKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYkZm9ybUVsZW1lbnRBcmd1bWVudEZvckRlY2xhcmF0aW9uLCBib29sIGNy
ZWF0ZWRCeVBhcnNlcik7CiAKIEVORAogICAgIDsKQEAgLTEyNTEsNyArMTI1MSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlICRwYXJhbWV0ZXJze25hbWVzcGFjZX1O
YW1lczsKIAotdHlwZWRlZiBKU0RPTU9iamVjdCogKCpDcmVhdGUkcGFyYW1ldGVyc3tuYW1lc3Bh
Y2V9RWxlbWVudFdyYXBwZXJGdW5jdGlvbikoSlNET01HbG9iYWxPYmplY3QqLCBSZWY8JHBhcmFt
ZXRlcnN7bmFtZXNwYWNlfUVsZW1lbnQ+JiYpOwordXNpbmcgQ3JlYXRlJHBhcmFtZXRlcnN7bmFt
ZXNwYWNlfUVsZW1lbnRXcmFwcGVyRnVuY3Rpb24gPSBKU0RPTU9iamVjdCogKCopKEpTRE9NR2xv
YmFsT2JqZWN0KiwgUmVmPCRwYXJhbWV0ZXJze25hbWVzcGFjZX1FbGVtZW50PiYmKTsKIAogRU5E
CiA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5
IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCBmMTUzZDU1
ODI3ZTU2ZDdmMmIzMWEwNGFhMmZmODlhOWRkNmY4OWRlLi5jYzI2ZDA3NGJjMGZkOGQ4Y2U1OGY5
MWUzZWVjYmRmMTlmMjllOTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Vi
a2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2Fn
ZXMucHkKQEAgLTEwOSw3ICsxMDksNyBAQCBkZWYgbWVzc2FnZV90b19zdHJ1Y3RfZGVjbGFyYXRp
b24obWVzc2FnZSk6CiAgICAgZnVuY3Rpb25fcGFyYW1ldGVycyA9IFsoZnVuY3Rpb25fcGFyYW1l
dGVyX3R5cGUoeC50eXBlLCB4LmtpbmQpLCB4Lm5hbWUpIGZvciB4IGluIG1lc3NhZ2UucGFyYW1l
dGVyc10KICAgICByZXN1bHQuYXBwZW5kKCdjbGFzcyAlcyB7XG4nICUgbWVzc2FnZS5uYW1lKQog
ICAgIHJlc3VsdC5hcHBlbmQoJ3B1YmxpYzpcbicpCi0gICAgcmVzdWx0LmFwcGVuZCgnICAgIHR5
cGVkZWYgJXMgQXJndW1lbnRzO1xuJyAlIGFyZ3VtZW50c190eXBlKG1lc3NhZ2UpKQorICAgIHJl
c3VsdC5hcHBlbmQoJyAgICB1c2luZyBBcmd1bWVudHMgPSAlcztcbicgJSBhcmd1bWVudHNfdHlw
ZShtZXNzYWdlKSkKICAgICByZXN1bHQuYXBwZW5kKCdcbicpCiAgICAgcmVzdWx0LmFwcGVuZCgn
ICAgIHN0YXRpYyBJUEM6OlN0cmluZ1JlZmVyZW5jZSByZWNlaXZlck5hbWUoKSB7IHJldHVybiBt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCk7IH1cbicpCiAgICAgcmVzdWx0LmFwcGVuZCgnICAgIHN0YXRp
YyBJUEM6OlN0cmluZ1JlZmVyZW5jZSBuYW1lKCkgeyByZXR1cm4gSVBDOjpTdHJpbmdSZWZlcmVu
Y2UoIiVzIik7IH1cbicgJSBtZXNzYWdlLm5hbWUpCkBAIC0xMjcsNyArMTI3LDcgQEAgZGVmIG1l
c3NhZ2VfdG9fc3RydWN0X2RlY2xhcmF0aW9uKG1lc3NhZ2UpOgogICAgICAgICAgICAgICAgIHJl
c3VsdC5hcHBlbmQoJywgJXMnICUgJywgJy5qb2luKFsnICcuam9pbih4KSBmb3IgeCBpbiBzZW5k
X3BhcmFtZXRlcnNdKSkKICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyk7XG4nKQogCi0gICAg
ICAgIHJlc3VsdC5hcHBlbmQoJyAgICB0eXBlZGVmICVzIFJlcGx5O1xuJyAlIHJlcGx5X3R5cGUo
bWVzc2FnZSkpCisgICAgICAgIHJlc3VsdC5hcHBlbmQoJyAgICB1c2luZyBSZXBseSA9ICVzO1xu
JyAlIHJlcGx5X3R5cGUobWVzc2FnZSkpCiAKICAgICBpZiBsZW4oZnVuY3Rpb25fcGFyYW1ldGVy
cyk6CiAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyAgICAlcyVzKCVzKScgJSAobGVuKGZ1bmN0aW9u
X3BhcmFtZXRlcnMpID09IDEgYW5kICdleHBsaWNpdCAnIG9yICcnLCBtZXNzYWdlLm5hbWUsICcs
ICcuam9pbihbJyAnLmpvaW4oeCkgZm9yIHggaW4gZnVuY3Rpb25fcGFyYW1ldGVyc10pKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352788</attachid>
            <date>2018-10-19 09:31:53 -0700</date>
            <delta_ts>2020-05-31 07:33:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190714-20181019183151.patch</filename>
            <type>text/plain</type>
            <size>11462</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MjU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
ZjNkMDQxY2M4MDkzZjcyYTliMGNlMDk4MmJiZDUwOGNhYzZjZmI4Li41ZjBlZDBhODJjY2MzN2E1
ZTAxOTg4ZGVkZmJiYWM4NDEzNDYyYTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxOC0xMC0xOCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIE1ha2UgZ2VuZXJhdGVkIEMrKyBjb2RlIHVzZSBtb2Rlcm4gQysrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA3MTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRz
L2NvZGVnZW4vY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHk6CisgICAgICAgICogaW5zcGVjdG9y
L3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVhZGVyLnB5Ogor
ICAgICAgICAqIHlhcnIvZ2VuZXJhdGVZYXJyVW5pY29kZVByb3BlcnR5VGFibGVzLnB5OgorCiAy
MDE4LTEwLTE4ICBZdXN1a2UgU3V6dWtpICA8eXVzdWtlc3V6dWtpQHNsb3dzdGFydC5vcmc+CiAK
ICAgICAgICAgW0pTQ10gSlNDIHNob3VsZCBoYXZlICJwYXJzZUZ1bmN0aW9uIiB0byBvcHRpbWl6
ZSBGdW5jdGlvbiBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDBkMjI1M2ZiNjgxODUwYmVlOTIw
YTI0Y2M5NWU1NWY5MjJlODExNmEuLmQzZjQ2NGQ2ZGEwZmIzNTJiNzgyMDIwM2ViNzg5MTViNGUx
YzFkNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOC0xMC0xOCAgUm9iIEJ1aXMg
IDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIE1ha2UgZ2VuZXJhdGVkIEMrKyBjb2RlIHVz
ZSBtb2Rlcm4gQysrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTA3MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGNz
cy9tYWtlcHJvcC5wbDoKKyAgICAgICAgKiBkb20vbWFrZV9uYW1lcy5wbDoKKyAgICAgICAgKHBy
aW50RmFjdG9yeUNwcEZpbGUpOgorICAgICAgICAocHJpbnRXcmFwcGVyRmFjdG9yeUNwcEZpbGUp
OgorCiAyMDE4LTEwLTE3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgog
CiAgICAgICAgIEVuYWJsZSB0aGUgZGF0YWxpc3QgZWxlbWVudCBieSBkZWZhdWx0IG9uIGlPUyBh
bmQgbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggM2NhODZkOWU2YWUxNWU0ZjZjNWE5OTQ1OWI4ZGU0YjFhODc4
MDY4ZC4uYTUzMjAyOTJiMjE5ZGZlMGM1NzQ3ZTY0MTk5ZGY4ODk5ODU4MGRjZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMiBAQAorMjAxOC0xMC0xOCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29t
PgorCisgICAgICAgIE1ha2UgZ2VuZXJhdGVkIEMrKyBjb2RlIHVzZSBtb2Rlcm4gQysrCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA3MTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0L21lc3NhZ2VzLnB5OgorCiAyMDE4LTEwLTE3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSB0aGUgZGF0YWxpc3QgZWxlbWVudCBieSBk
ZWZhdWx0IG9uIGlPUyBhbmQgbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5IGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dlbmVy
YXRvcl90ZW1wbGF0ZXMucHkKaW5kZXggZmU0ZmIyYzY3ZDdjYTg4Zjk1N2QyN2M5OGU2NTMzNjJj
NzQ5MmZlNi4uZmY5OWYwYjU1ZDg1MWU0YTM4ZDlkZGQ2ZDZlZjg2Y2NjZmE5YjU1YSAxMDA3NTUK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3Bw
X2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkKQEAgLTEzOSw4
ICsxMzksOCBAQCAke2Rpc3BhdGNoQ2FzZXN9CiAgICAgUmVmUHRyPEpTT046Ok9iamVjdD4gcGFy
YW1ldGVyczsKICAgICBtZXNzYWdlLT5nZXRPYmplY3QoInBhcmFtcyJfcywgcGFyYW1ldGVycyk7
CiAKLSAgICB0eXBlZGVmIHZvaWQgKCR7ZG9tYWluTmFtZX1CYWNrZW5kRGlzcGF0Y2hlcjo6KkNh
bGxIYW5kbGVyKShsb25nIHJlcXVlc3RJZCwgUmVmUHRyPEpTT046Ok9iamVjdD4mJiBtZXNzYWdl
KTsKLSAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBDYWxsSGFuZGxlcj4gRGlzcGF0Y2hNYXA7
CisgICAgdXNpbmcgQ2FsbEhhbmRsZXIgPSB2b2lkICgke2RvbWFpbk5hbWV9QmFja2VuZERpc3Bh
dGNoZXI6OiopKGxvbmcgcmVxdWVzdElkLCBSZWZQdHI8SlNPTjo6T2JqZWN0PiYmIG1lc3NhZ2Up
OworICAgIHVzaW5nIERpc3BhdGNoTWFwID0gSGFzaE1hcDxTdHJpbmcsIENhbGxIYW5kbGVyPjsK
ICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RGlzcGF0Y2hNYXA+IGRpc3BhdGNoTWFwOwogICAg
IGlmIChkaXNwYXRjaE1hcC5nZXQoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgc3RhdGljIGNvbnN0
IHN0cnVjdCBNZXRob2RUYWJsZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVh
ZGVyLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4v
Z2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hlYWRlci5weQppbmRleCA4NDRhYTdkMzJjYzQx
MWQ2MDBjMTJiMzVjMDRlMGQyM2QwNDNjYjk4Li4xYWZhOTFkYzQxOGE4MmZmMWFhOWFiMTBmODNh
YmEyYTAwYWE0MDA1IDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVhZGVyLnB5Cisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVy
YXRlX2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkKQEAgLTE0Myw3ICsxNDMsNyBAQCBjbGFz
cyBDcHBQcm90b2NvbFR5cGVzSGVhZGVyR2VuZXJhdG9yKENwcEdlbmVyYXRvcik6CiAgICAgICAg
ICAgICB0eXBlZGVmX2xpbmVzID0gW10KICAgICAgICAgICAgIGlmIGxlbihkZWNsYXJhdGlvbi5k
ZXNjcmlwdGlvbikgPiAwOgogICAgICAgICAgICAgICAgIHR5cGVkZWZfbGluZXMuYXBwZW5kKCcv
KiAlcyAqLycgJSBkZWNsYXJhdGlvbi5kZXNjcmlwdGlvbikKLSAgICAgICAgICAgIHR5cGVkZWZf
bGluZXMuYXBwZW5kKCd0eXBlZGVmICVzICVzOycgJSAocHJpbWl0aXZlX25hbWUsIGRlY2xhcmF0
aW9uLnR5cGVfbmFtZSkpCisgICAgICAgICAgICB0eXBlZGVmX2xpbmVzLmFwcGVuZCgndXNpbmcg
JXMgPSAlczsnICUgKGRlY2xhcmF0aW9uLnR5cGVfbmFtZSwgcHJpbWl0aXZlX25hbWUpKQogICAg
ICAgICAgICAgc2VjdGlvbnMuYXBwZW5kKCdcbicuam9pbih0eXBlZGVmX2xpbmVzKSkKIAogICAg
ICAgICBmb3IgZGVjbGFyYXRpb24gaW4gYXJyYXlfZGVjbGFyYXRpb25zOgpAQCAtMTUxLDcgKzE1
MSw3IEBAIGNsYXNzIENwcFByb3RvY29sVHlwZXNIZWFkZXJHZW5lcmF0b3IoQ3BwR2VuZXJhdG9y
KToKICAgICAgICAgICAgIHR5cGVkZWZfbGluZXMgPSBbXQogICAgICAgICAgICAgaWYgbGVuKGRl
Y2xhcmF0aW9uLmRlc2NyaXB0aW9uKSA+IDA6CiAgICAgICAgICAgICAgICAgdHlwZWRlZl9saW5l
cy5hcHBlbmQoJy8qICVzICovJyAlIGRlY2xhcmF0aW9uLmRlc2NyaXB0aW9uKQotICAgICAgICAg
ICAgdHlwZWRlZl9saW5lcy5hcHBlbmQoJ3R5cGVkZWYgSlNPTjo6QXJyYXlPZjwlcz4gJXM7JyAl
IChlbGVtZW50X3R5cGUsIGRlY2xhcmF0aW9uLnR5cGVfbmFtZSkpCisgICAgICAgICAgICB0eXBl
ZGVmX2xpbmVzLmFwcGVuZCgndXNpbmcgJXMgPSBKU09OOjpBcnJheU9mPCVzPjsnICUgKGRlY2xh
cmF0aW9uLnR5cGVfbmFtZSwgZWxlbWVudF90eXBlKSkKICAgICAgICAgICAgIHNlY3Rpb25zLmFw
cGVuZCgnXG4nLmpvaW4odHlwZWRlZl9saW5lcykpCiAKICAgICAgICAgbGluZXMgPSBbXQpAQCAt
NDU0LDcgKzQ1NCw3IEBAIGNsYXNzIENwcFByb3RvY29sVHlwZXNIZWFkZXJHZW5lcmF0b3IoQ3Bw
R2VuZXJhdG9yKToKICAgICAgICAgICAgIGZvciBlbnVtX3R5cGUgaW4gZW51bV90eXBlczoKICAg
ICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoJ3RlbXBsYXRlPD4nKQogICAgICAgICAgICAgICAg
IGxpbmVzLmFwcGVuZCgnc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OiVz
Ojolcz4geycgJSAoZG9tYWluLmRvbWFpbl9uYW1lLCBlbnVtX3R5cGUucmF3X25hbWUoKSkpCi0g
ICAgICAgICAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgdHlwZWRlZiBJbnRIYXNoPEluc3BlY3Rv
cjo6UHJvdG9jb2w6OiVzOjolcz4gSGFzaDsnICUgKGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90
eXBlLnJhd19uYW1lKCkpKQorICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgIHVzaW5n
IEhhc2ggPUludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6JXM6OiVzPjsnICUgKGRvbWFpbi5k
b21haW5fbmFtZSwgZW51bV90eXBlLnJhd19uYW1lKCkpKQogICAgICAgICAgICAgICAgIGxpbmVz
LmFwcGVuZCgnfTsnKQogCiAgICAgICAgIGlmIGxlbihsaW5lcykgPT0gMDoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL2dlbmVyYXRlWWFyclVuaWNvZGVQcm9wZXJ0eVRh
Ymxlcy5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL2dlbmVyYXRlWWFyclVuaWNvZGVQ
cm9wZXJ0eVRhYmxlcy5weQppbmRleCA5MGY2NzMyNmZkMTdjNjAxZDBhMTQ0YWMwZDZmMjQ4YzQ2
YWU4ZDAzLi41Y2VlNzdiZDZhY2M4ODBlMWQ0OWE1ZDE3ZjIyNDM4NjFhNzc4NzE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9nZW5lcmF0ZVlhcnJVbmljb2RlUHJvcGVy
dHlUYWJsZXMucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvZ2VuZXJhdGVZYXJy
VW5pY29kZVByb3BlcnR5VGFibGVzLnB5CkBAIC01NDYsNyArNTQ2LDcgQEAgY2xhc3MgUHJvcGVy
dHlEYXRhOgogICAgICAgICBmb3IgcHJvcGVydHlEYXRhIGluIGNscy5hbGxQcm9wZXJ0eURhdGE6
CiAgICAgICAgICAgICBwcm9wZXJ0eURhdGEuZHVtcChmaWxlLCBwcm9wZXJ0eURhdGEgIT0gY2xz
LmFsbFByb3BlcnR5RGF0YVstMV0pCiAKLSAgICAgICAgZmlsZS53cml0ZSgidHlwZWRlZiBzdGQ6
OnVuaXF1ZV9wdHI8Q2hhcmFjdGVyQ2xhc3M+ICgqQ3JlYXRlQ2hhcmFjdGVyQ2xhc3MpKCk7XG4i
KQorICAgICAgICBmaWxlLndyaXRlKCJ1c2luZyBDcmVhdGVDaGFyYWN0ZXJDbGFzcyA9IHN0ZDo6
dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFzcz4gKCopKCk7XG4iKQogICAgICAgICBmaWxlLndyaXRl
KCJzdGF0aWMgQ3JlYXRlQ2hhcmFjdGVyQ2xhc3MgY3JlYXRlRnVuY3Rpb25zW3t9XSA9IHt7XG4g
ICAiLmZvcm1hdChsZW4oY2xzLmFsbFByb3BlcnR5RGF0YSkpKQogICAgICAgICBmdW5jdGlvbnNP
blRoaXNMaW5lID0gMAogICAgICAgICBmb3IgcHJvcGVydHlEYXRhIGluIGNscy5hbGxQcm9wZXJ0
eURhdGE6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKaW5kZXggYzA1OTQ0Y2RhYWFlNmRiZGM3Nzc4MTQ4
NjdhMDU1NDQxY2Y2YzY1NC4uODJhYzUyZTQ5YTlmMzgzMDQzODM5YWZjYzE5YmQ2ZmFiZmViYzMx
ZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbApAQCAtNDg1LDcgKzQ4NSw3IEBAIGlubGluZSBDU1NQ
cm9wZXJ0eUlEIGNvbnZlcnRUb0NTU1Byb3BlcnR5SUQoaW50IHZhbHVlKQogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiBuYW1lc3BhY2UgV1RGIHsKLXRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRI
YXNoPFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQ+IHsgdHlwZWRlZiBJbnRIYXNoPHVuc2lnbmVkPiBI
YXNoOyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6Q1NTUHJvcGVy
dHlJRD4geyB1c2luZyBIYXNoID0gSW50SGFzaDx1bnNpZ25lZD47IH07CiB0ZW1wbGF0ZTw+IHN0
cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQ+IDogR2VuZXJpY0hhc2hUcmFp
dHM8V2ViQ29yZTo6Q1NTUHJvcGVydHlJRD4gewogICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5
VmFsdWVJc1plcm8gPSB0cnVlOwogICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1
ZShXZWJDb3JlOjpDU1NQcm9wZXJ0eUlEJiBzbG90KSB7IHNsb3QgPSBzdGF0aWNfY2FzdDxXZWJD
b3JlOjpDU1NQcm9wZXJ0eUlEPihXZWJDb3JlOjpsYXN0Q1NTUHJvcGVydHkgKyAxKTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vbWFrZV9uYW1lcy5wbAppbmRleCBiMWU3NmNmZGExZmE4N2ZlOTk5ZWZkZTYyNDRiNmQz
N2I4MDBjMjBhLi41Mzk4OTBjZGU4NzdiY2ExNzhkN2Y3MzEzMjk3NjUyNGIwZjhiNjA4IDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWFrZV9uYW1lcy5wbApAQCAtNTQyLDkgKzU0Miw3IEBAIHN1YiBwcmludEhlYWRl
ckhlYWQKICAgICBteSAoJEYsICRwcmVmaXgsICRuYW1lc3BhY2UsICRpbmNsdWRlcywgJGRlZmlu
aXRpb25zKSA9IEBfOwogCiAgICAgcHJpbnQgRjw8RU5ECi0jaWZuZGVmICR7cHJlZml4fV8ke25h
bWVzcGFjZX1OYW1lc19oCi0KLSNkZWZpbmUgJHtwcmVmaXh9XyR7bmFtZXNwYWNlfU5hbWVzX2gK
KyNwcmFnbWEgb25jZQogCiAkaW5jbHVkZXMKIApAQCAtNTgzLDcgKzU4MSw2IEBAIHN1YiBwcmlu
dEluaXQKICAgICBpZiAoJGlzRGVmaW5pdGlvbikgewogICAgICAgICBwcmludCBGICJcbldFQkNP
UkVfRVhQT1JUIHZvaWQgaW5pdCgpO1xuXG4iOwogICAgICAgICBwcmludCBGICJ9IH1cblxuIjsK
LSAgICAgICAgcHJpbnQgRiAiI2VuZGlmXG5cbiI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
QEAgLTY5NSwxNCArNjkyLDExIEBAIHN1YiBwcmludFR5cGVIZWxwZXJzSGVhZGVyRmlsZQogICAg
IG9wZW4gRiwgIj4kaGVhZGVyUGF0aCI7CiAgICAgcHJpbnRMaWNlbnNlSGVhZGVyKCRGKTsKIAot
ICAgIHByaW50IEYgIiNpZm5kZWYgIi4kcGFyYW1ldGVyc3tuYW1lc3BhY2V9LiJFbGVtZW50VHlw
ZUhlbHBlcnNfaFxuIjsKLSAgICBwcmludCBGICIjZGVmaW5lICIuJHBhcmFtZXRlcnN7bmFtZXNw
YWNlfS4iRWxlbWVudFR5cGVIZWxwZXJzX2hcblxuIjsKKyAgICBwcmludCBGICIjcHJhZ21hIG9u
Y2VcblxuIjsKICAgICBwcmludCBGICIjaW5jbHVkZSBcIiIuJHBhcmFtZXRlcnN7bmFtZXNwYWNl
fS4iTmFtZXMuaFwiXG5cbiI7CiAKICAgICBwcmludFR5cGVIZWxwZXJzKCRGLCBcJWFsbFRhZ3Mp
OwogCi0gICAgcHJpbnQgRiAiI2VuZGlmXG4iOwotCiAgICAgY2xvc2UgRjsKIH0KIApAQCAtOTY5
LDcgKzk2Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlICRwYXJh
bWV0ZXJze25hbWVzcGFjZX1OYW1lczsKIAotdHlwZWRlZiBSZWY8JHBhcmFtZXRlcnN7bmFtZXNw
YWNlfUVsZW1lbnQ+ICgqJHBhcmFtZXRlcnN7bmFtZXNwYWNlfUNvbnN0cnVjdG9yRnVuY3Rpb24p
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYkZm9ybUVsZW1lbnRBcmd1bWVudEZvckRl
Y2xhcmF0aW9uLCBib29sIGNyZWF0ZWRCeVBhcnNlcik7Cit1c2luZyAkcGFyYW1ldGVyc3tuYW1l
c3BhY2V9Q29uc3RydWN0b3JGdW5jdGlvbiA9IFJlZjwkcGFyYW1ldGVyc3tuYW1lc3BhY2V9RWxl
bWVudD4gKCopKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYkZm9ybUVsZW1lbnRBcmd1
bWVudEZvckRlY2xhcmF0aW9uLCBib29sIGNyZWF0ZWRCeVBhcnNlcik7CiAKIEVORAogICAgIDsK
QEAgLTEwODksOCArMTA4Myw3IEBAIHN1YiBwcmludEZhY3RvcnlIZWFkZXJGaWxlCiAgICAgcHJp
bnRMaWNlbnNlSGVhZGVyKCRGKTsKIAogICAgIHByaW50IEY8PEVORAotI2lmbmRlZiAkcGFyYW1l
dGVyc3tuYW1lc3BhY2V9RWxlbWVudEZhY3RvcnlfaAotI2RlZmluZSAkcGFyYW1ldGVyc3tuYW1l
c3BhY2V9RWxlbWVudEZhY3RvcnlfaAorI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgogCkBAIC0xMTI4LDggKzExMjEsNiBAQCBwcmludGYgRjw8RU5ECiAKIH0KIAotI2Vu
ZGlmIC8vICRwYXJhbWV0ZXJze25hbWVzcGFjZX1FbGVtZW50RmFjdG9yeV9oCi0KIEVORAogOwog
CkBAIC0xMjUxLDcgKzEyNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVz
cGFjZSAkcGFyYW1ldGVyc3tuYW1lc3BhY2V9TmFtZXM7CiAKLXR5cGVkZWYgSlNET01PYmplY3Qq
ICgqQ3JlYXRlJHBhcmFtZXRlcnN7bmFtZXNwYWNlfUVsZW1lbnRXcmFwcGVyRnVuY3Rpb24pKEpT
RE9NR2xvYmFsT2JqZWN0KiwgUmVmPCRwYXJhbWV0ZXJze25hbWVzcGFjZX1FbGVtZW50PiYmKTsK
K3VzaW5nIENyZWF0ZSRwYXJhbWV0ZXJze25hbWVzcGFjZX1FbGVtZW50V3JhcHBlckZ1bmN0aW9u
ID0gSlNET01PYmplY3QqICgqKShKU0RPTUdsb2JhbE9iamVjdCosIFJlZjwkcGFyYW1ldGVyc3tu
YW1lc3BhY2V9RWxlbWVudD4mJik7CiAKIEVORAogOwpAQCAtMTM0Miw4ICsxMzMzLDcgQEAgc3Vi
IHByaW50V3JhcHBlckZhY3RvcnlIZWFkZXJGaWxlCiAKICAgICBwcmludExpY2Vuc2VIZWFkZXIo
JEYpOwogCi0gICAgcHJpbnQgRiAiI2lmbmRlZiBKUyRwYXJhbWV0ZXJze25hbWVzcGFjZX1FbGVt
ZW50V3JhcHBlckZhY3RvcnlfaFxuIjsKLSAgICBwcmludCBGICIjZGVmaW5lIEpTJHBhcmFtZXRl
cnN7bmFtZXNwYWNlfUVsZW1lbnRXcmFwcGVyRmFjdG9yeV9oXG5cbiI7CisgICAgcHJpbnQgRiAi
I3ByYWdtYSBvbmNlXG5cbiI7CiAKICAgICBwcmludCBGICIjaWYgJHBhcmFtZXRlcnN7Z3VhcmRG
YWN0b3J5V2l0aH1cbiIgaWYgJHBhcmFtZXRlcnN7Z3VhcmRGYWN0b3J5V2l0aH07CiAKQEAgLTEz
NjMsOSArMTM1Myw1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIEVORAogICAgIDsKIAotICAgIHBy
aW50IEYgIiNlbmRpZiAvLyAkcGFyYW1ldGVyc3tndWFyZEZhY3RvcnlXaXRofVxuXG4iIGlmICRw
YXJhbWV0ZXJze2d1YXJkRmFjdG9yeVdpdGh9OwotCi0gICAgcHJpbnQgRiAiI2VuZGlmIC8vIEpT
JHBhcmFtZXRlcnN7bmFtZXNwYWNlfUVsZW1lbnRXcmFwcGVyRmFjdG9yeV9oXG4iOwotCiAgICAg
Y2xvc2UgRjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVz
c2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4
IGYxNTNkNTU4MjdlNTZkN2YyYjMxYTA0YWEyZmY4OWE5ZGQ2Zjg5ZGUuLmNjMjZkMDc0YmMwZmQ4
ZDhjZTU4ZjkxZTNlZWNiZGYxOWYyOWU5MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2Ny
aXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtp
dC9tZXNzYWdlcy5weQpAQCAtMTA5LDcgKzEwOSw3IEBAIGRlZiBtZXNzYWdlX3RvX3N0cnVjdF9k
ZWNsYXJhdGlvbihtZXNzYWdlKToKICAgICBmdW5jdGlvbl9wYXJhbWV0ZXJzID0gWyhmdW5jdGlv
bl9wYXJhbWV0ZXJfdHlwZSh4LnR5cGUsIHgua2luZCksIHgubmFtZSkgZm9yIHggaW4gbWVzc2Fn
ZS5wYXJhbWV0ZXJzXQogICAgIHJlc3VsdC5hcHBlbmQoJ2NsYXNzICVzIHtcbicgJSBtZXNzYWdl
Lm5hbWUpCiAgICAgcmVzdWx0LmFwcGVuZCgncHVibGljOlxuJykKLSAgICByZXN1bHQuYXBwZW5k
KCcgICAgdHlwZWRlZiAlcyBBcmd1bWVudHM7XG4nICUgYXJndW1lbnRzX3R5cGUobWVzc2FnZSkp
CisgICAgcmVzdWx0LmFwcGVuZCgnICAgIHVzaW5nIEFyZ3VtZW50cyA9ICVzO1xuJyAlIGFyZ3Vt
ZW50c190eXBlKG1lc3NhZ2UpKQogICAgIHJlc3VsdC5hcHBlbmQoJ1xuJykKICAgICByZXN1bHQu
YXBwZW5kKCcgICAgc3RhdGljIElQQzo6U3RyaW5nUmVmZXJlbmNlIHJlY2VpdmVyTmFtZSgpIHsg
cmV0dXJuIG1lc3NhZ2VSZWNlaXZlck5hbWUoKTsgfVxuJykKICAgICByZXN1bHQuYXBwZW5kKCcg
ICAgc3RhdGljIElQQzo6U3RyaW5nUmVmZXJlbmNlIG5hbWUoKSB7IHJldHVybiBJUEM6OlN0cmlu
Z1JlZmVyZW5jZSgiJXMiKTsgfVxuJyAlIG1lc3NhZ2UubmFtZSkKQEAgLTEyNyw3ICsxMjcsNyBA
QCBkZWYgbWVzc2FnZV90b19zdHJ1Y3RfZGVjbGFyYXRpb24obWVzc2FnZSk6CiAgICAgICAgICAg
ICAgICAgcmVzdWx0LmFwcGVuZCgnLCAlcycgJSAnLCAnLmpvaW4oWycgJy5qb2luKHgpIGZvciB4
IGluIHNlbmRfcGFyYW1ldGVyc10pKQogICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnKTtcbicp
CiAKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgnICAgIHR5cGVkZWYgJXMgUmVwbHk7XG4nICUgcmVw
bHlfdHlwZShtZXNzYWdlKSkKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnICAgIHVzaW5nIFJlcGx5
ID0gJXM7XG4nICUgcmVwbHlfdHlwZShtZXNzYWdlKSkKIAogICAgIGlmIGxlbihmdW5jdGlvbl9w
YXJhbWV0ZXJzKToKICAgICAgICAgcmVzdWx0LmFwcGVuZCgnICAgICVzJXMoJXMpJyAlIChsZW4o
ZnVuY3Rpb25fcGFyYW1ldGVycykgPT0gMSBhbmQgJ2V4cGxpY2l0ICcgb3IgJycsIG1lc3NhZ2Uu
bmFtZSwgJywgJy5qb2luKFsnICcuam9pbih4KSBmb3IgeCBpbiBmdW5jdGlvbl9wYXJhbWV0ZXJz
XSkpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400702</attachid>
            <date>2020-05-31 07:33:08 -0700</date>
            <delta_ts>2020-06-02 00:43:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190714-20200531163307.patch</filename>
            <type>text/plain</type>
            <size>11231</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
NDdiMWUzNzc4ZWJjNzVhM2YzMzlhZjQ5YTc0YTI4NjBhYjMzNTAyLi5iNmU3NTBmZDczMzI5NDc4
ZWY5YTJhNGFjZmJiZThiYmFhNTE2YTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAyMC0wNS0zMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIE1ha2UgZ2VuZXJhdGVkIEMrKyBjb2RlIHVzZSBtb2Rlcm4gQysrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA3MTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRz
L2NvZGVnZW4vY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHk6CisgICAgICAgICogaW5zcGVjdG9y
L3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVhZGVyLnB5Ogor
ICAgICAgICAqIHlhcnIvZ2VuZXJhdGVZYXJyVW5pY29kZVByb3BlcnR5VGFibGVzLnB5OgorCiAy
MDIwLTA1LTMxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFu
Z2UgSlNDOjpDb25maWcgdG8gdXNlIHN0b3JhZ2UgaW4gV1RGOjpDb25maWcgaW5zdGVhZCBvZiBp
dHMgb3duLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDNkNzliNTcxZDRiZWZlOGY3NzE3ODU1OTIzMjBhZTdmNzlh
MWI0N2MuLmJiYzcwNzVjY2I3YzM5N2ZlN2NiNGFhZmZmMjI2ZGI1MzVlMGQ2OGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMC0wNS0zMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIE1ha2UgZ2VuZXJhdGVkIEMrKyBjb2RlIHVzZSBtb2Rlcm4gQysrCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA3MTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVz
dHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGNzcy9tYWtlcHJvcC5wbDoK
KyAgICAgICAgKiBkb20vbWFrZV9uYW1lcy5wbDoKKyAgICAgICAgKHByaW50SGVhZGVySGVhZCk6
CisgICAgICAgIChwcmludEluaXQpOgorICAgICAgICAocHJpbnRUeXBlSGVscGVyc0hlYWRlckZp
bGUpOgorICAgICAgICAocHJpbnRGYWN0b3J5Q3BwRmlsZSk6CisgICAgICAgIChwcmludEZhY3Rv
cnlIZWFkZXJGaWxlKToKKyAgICAgICAgKHByaW50V3JhcHBlckZhY3RvcnlDcHBGaWxlKToKKyAg
ICAgICAgKHByaW50V3JhcHBlckZhY3RvcnlIZWFkZXJGaWxlKToKKwogMjAyMC0wNS0zMSAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBuYW1lZCBpdGVt
IGNvbmRpdGlvbiBmb3IgaW1hZ2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg1YTM5ZTM2ZDY5MzU4ZWMxNDhlMTE5
MGUxMGIxYTcwM2FlNDJjYmYuLjU3MmQzZmU3MTcwMGYyODZhMDVlYWQzMGUxYmRmNjE1ZjY3ZmRk
MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDUtMzEgIFJvYiBCdWlzICA8cmJ1
aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBNYWtlIGdlbmVyYXRlZCBDKysgY29kZSB1c2UgbW9k
ZXJuIEMrKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkwNzE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weToKKwogMjAyMC0wNS0zMCAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIERlcHJlY2F0ZSBXS0J1
bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dl
bmVyYXRvcl90ZW1wbGF0ZXMucHkKaW5kZXggZDBjN2JlNmQ0OTE2OGNhNjkzNTNlZGM0MmYzYjJi
NWYyMzRkM2NlOC4uMDgyYmUzM2YxNWRlMjViZTg4OTU3Y2IxNDIyOTM1MjAzNmVlMjJjZiAxMDA3
NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4v
Y3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkKQEAgLTEz
OSw4ICsxMzksOCBAQCAke2Rpc3BhdGNoQ2FzZXN9CiAgICAgUmVmUHRyPEpTT046Ok9iamVjdD4g
cGFyYW1ldGVyczsKICAgICBtZXNzYWdlLT5nZXRPYmplY3QoInBhcmFtcyJfcywgcGFyYW1ldGVy
cyk7CiAKLSAgICB0eXBlZGVmIHZvaWQgKCR7ZG9tYWluTmFtZX1CYWNrZW5kRGlzcGF0Y2hlcjo6
KkNhbGxIYW5kbGVyKShsb25nIHJlcXVlc3RJZCwgUmVmUHRyPEpTT046Ok9iamVjdD4mJiBtZXNz
YWdlKTsKLSAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBDYWxsSGFuZGxlcj4gRGlzcGF0Y2hN
YXA7CisgICAgdXNpbmcgQ2FsbEhhbmRsZXIgPSB2b2lkICgke2RvbWFpbk5hbWV9QmFja2VuZERp
c3BhdGNoZXI6OiopKGxvbmcgcmVxdWVzdElkLCBSZWZQdHI8SlNPTjo6T2JqZWN0PiYmIG1lc3Nh
Z2UpOworICAgIHVzaW5nIERpc3BhdGNoTWFwID0gSGFzaE1hcDxTdHJpbmcsIENhbGxIYW5kbGVy
PjsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RGlzcGF0Y2hNYXA+IGRpc3BhdGNoTWFwOwog
ICAgIGlmIChkaXNwYXRjaE1hcC5nZXQoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgc3RhdGljIGNv
bnN0IHN0cnVjdCBNZXRob2RUYWJsZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNf
aGVhZGVyLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVn
ZW4vZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hlYWRlci5weQppbmRleCAyYmJkNDJkNjdh
NzlmMjQwYWYwZTkyZjdhZDM5NTk3YjQ2ODFmZDQyLi4xOWZkMGNhMDQxMmJjZmIxMmVmNTkyNzE2
ZmI1ZTE1N2I3NDkzMzhiIDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVhZGVyLnB5
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dl
bmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkKQEAgLTE2OSw3ICsxNjksNyBAQCBj
bGFzcyBDcHBQcm90b2NvbFR5cGVzSGVhZGVyR2VuZXJhdG9yKENwcEdlbmVyYXRvcik6CiAgICAg
ICAgICAgICB0eXBlZGVmX2xpbmVzID0gW10KICAgICAgICAgICAgIGlmIGxlbihkZWNsYXJhdGlv
bi5kZXNjcmlwdGlvbikgPiAwOgogICAgICAgICAgICAgICAgIHR5cGVkZWZfbGluZXMuYXBwZW5k
KCcvKiAlcyAqLycgJSBkZWNsYXJhdGlvbi5kZXNjcmlwdGlvbikKLSAgICAgICAgICAgIHR5cGVk
ZWZfbGluZXMuYXBwZW5kKCd0eXBlZGVmICVzICVzOycgJSAocHJpbWl0aXZlX25hbWUsIGRlY2xh
cmF0aW9uLnR5cGVfbmFtZSkpCisgICAgICAgICAgICB0eXBlZGVmX2xpbmVzLmFwcGVuZCgndXNp
bmcgJXMgPSAlczsnICUgKGRlY2xhcmF0aW9uLnR5cGVfbmFtZSwgcHJpbWl0aXZlX25hbWUpKQog
ICAgICAgICAgICAgc2VjdGlvbnMuYXBwZW5kKHNlbGYud3JhcF93aXRoX2d1YXJkX2Zvcl9jb25k
aXRpb24oZGVjbGFyYXRpb24uY29uZGl0aW9uLCAnXG4nLmpvaW4odHlwZWRlZl9saW5lcykpKQog
CiAgICAgICAgIGZvciBkZWNsYXJhdGlvbiBpbiBhcnJheV9kZWNsYXJhdGlvbnM6CkBAIC0xNzcs
NyArMTc3LDcgQEAgY2xhc3MgQ3BwUHJvdG9jb2xUeXBlc0hlYWRlckdlbmVyYXRvcihDcHBHZW5l
cmF0b3IpOgogICAgICAgICAgICAgdHlwZWRlZl9saW5lcyA9IFtdCiAgICAgICAgICAgICBpZiBs
ZW4oZGVjbGFyYXRpb24uZGVzY3JpcHRpb24pID4gMDoKICAgICAgICAgICAgICAgICB0eXBlZGVm
X2xpbmVzLmFwcGVuZCgnLyogJXMgKi8nICUgZGVjbGFyYXRpb24uZGVzY3JpcHRpb24pCi0gICAg
ICAgICAgICB0eXBlZGVmX2xpbmVzLmFwcGVuZCgndHlwZWRlZiBKU09OOjpBcnJheU9mPCVzPiAl
czsnICUgKGVsZW1lbnRfdHlwZSwgZGVjbGFyYXRpb24udHlwZV9uYW1lKSkKKyAgICAgICAgICAg
IHR5cGVkZWZfbGluZXMuYXBwZW5kKCd1c2luZyAlcyA9IEpTT046OkFycmF5T2Y8JXM+OycgJSAo
ZGVjbGFyYXRpb24udHlwZV9uYW1lLCBlbGVtZW50X3R5cGUpKQogICAgICAgICAgICAgc2VjdGlv
bnMuYXBwZW5kKHNlbGYud3JhcF93aXRoX2d1YXJkX2Zvcl9jb25kaXRpb24oZGVjbGFyYXRpb24u
Y29uZGl0aW9uLCAnXG4nLmpvaW4odHlwZWRlZl9saW5lcykpKQogCiAgICAgICAgIGxpbmVzID0g
W10KQEAgLTQ4Niw3ICs0ODYsNyBAQCBjbGFzcyBDcHBQcm90b2NvbFR5cGVzSGVhZGVyR2VuZXJh
dG9yKENwcEdlbmVyYXRvcik6CiAgICAgICAgICAgICAgICAgZW51bV9saW5lcyA9IFtdCiAgICAg
ICAgICAgICAgICAgZW51bV9saW5lcy5hcHBlbmQoJ3RlbXBsYXRlPD4nKQogICAgICAgICAgICAg
ICAgIGVudW1fbGluZXMuYXBwZW5kKCdzdHJ1Y3QgRGVmYXVsdEhhc2g8SW5zcGVjdG9yOjpQcm90
b2NvbDo6JXM6OiVzPiB7JyAlIChkb21haW4uZG9tYWluX25hbWUsIGVudW1fdHlwZS5yYXdfbmFt
ZSgpKSkKLSAgICAgICAgICAgICAgICBlbnVtX2xpbmVzLmFwcGVuZCgnICAgIHR5cGVkZWYgSW50
SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjolczo6JXM+IEhhc2g7JyAlIChkb21haW4uZG9tYWlu
X25hbWUsIGVudW1fdHlwZS5yYXdfbmFtZSgpKSkKKyAgICAgICAgICAgICAgICBlbnVtX2xpbmVz
LmFwcGVuZCgnICAgIHVzaW5nIEhhc2ggPSBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OiVz
Ojolcz47JyAlIChkb21haW4uZG9tYWluX25hbWUsIGVudW1fdHlwZS5yYXdfbmFtZSgpKSkKICAg
ICAgICAgICAgICAgICBlbnVtX2xpbmVzLmFwcGVuZCgnfTsnKQogICAgICAgICAgICAgICAgIGRv
bWFpbl9saW5lcy5hcHBlbmQoc2VsZi53cmFwX3dpdGhfZ3VhcmRfZm9yX2NvbmRpdGlvbihlbnVt
X3R5cGUuZGVjbGFyYXRpb24oKS5jb25kaXRpb24sICdcbicuam9pbihlbnVtX2xpbmVzKSkpCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL2dlbmVyYXRlWWFyclVuaWNv
ZGVQcm9wZXJ0eVRhYmxlcy5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL2dlbmVyYXRl
WWFyclVuaWNvZGVQcm9wZXJ0eVRhYmxlcy5weQppbmRleCA1MjZmYjZlN2FjM2EyMjdhNmQ0M2Ni
YmVmZDI3MDJkMWEwYzU0Y2U5Li40OGM0YTcwYWM5MzE0OTJhZTFlZGFhZTFlNmI1ZmNhZjdmOTU4
ZDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9nZW5lcmF0ZVlhcnJV
bmljb2RlUHJvcGVydHlUYWJsZXMucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIv
Z2VuZXJhdGVZYXJyVW5pY29kZVByb3BlcnR5VGFibGVzLnB5CkBAIC01NTEsNyArNTUxLDcgQEAg
Y2xhc3MgUHJvcGVydHlEYXRhOgogICAgICAgICBmb3IgcHJvcGVydHlEYXRhIGluIGNscy5hbGxQ
cm9wZXJ0eURhdGE6CiAgICAgICAgICAgICBwcm9wZXJ0eURhdGEuZHVtcChmaWxlLCBwcm9wZXJ0
eURhdGEgIT0gY2xzLmFsbFByb3BlcnR5RGF0YVstMV0pCiAKLSAgICAgICAgZmlsZS53cml0ZSgi
dHlwZWRlZiBzdGQ6OnVuaXF1ZV9wdHI8Q2hhcmFjdGVyQ2xhc3M+ICgqQ3JlYXRlQ2hhcmFjdGVy
Q2xhc3MpKCk7XG4iKQorICAgICAgICBmaWxlLndyaXRlKCJ1c2luZyBDcmVhdGVDaGFyYWN0ZXJD
bGFzcyA9IHN0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFzcz4gKCopKCk7XG4iKQogICAgICAg
ICBmaWxlLndyaXRlKCJzdGF0aWMgQ3JlYXRlQ2hhcmFjdGVyQ2xhc3MgY3JlYXRlRnVuY3Rpb25z
W3t9XSA9IHt7XG4gICAiLmZvcm1hdChsZW4oY2xzLmFsbFByb3BlcnR5RGF0YSkpKQogICAgICAg
ICBmdW5jdGlvbnNPblRoaXNMaW5lID0gMAogICAgICAgICBmb3IgcHJvcGVydHlEYXRhIGluIGNs
cy5hbGxQcm9wZXJ0eURhdGE6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXBy
b3AucGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKaW5kZXggYjUyZTk2NjY3ZTg5
ZWZhZDIxYTJkY2E0NzQyYzE2MDY1MTcyMmRmYy4uMjgwMTgzY2ZlOWFiMDk5M2M0NDA5OWQ2NWRm
MTI1Mzc4YWVjYzY0MiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbApAQCAtNjE4LDcgKzYxOCw3IEBA
IGlubGluZSBDU1NQcm9wZXJ0eUlEIGNvbnZlcnRUb0NTU1Byb3BlcnR5SUQoaW50IHZhbHVlKQog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiBuYW1lc3BhY2UgV1RGIHsKLXRlbXBsYXRlPD4gc3Ry
dWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQ+IHsgdHlwZWRlZiBJbnRIYXNo
PHVuc2lnbmVkPiBIYXNoOyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29y
ZTo6Q1NTUHJvcGVydHlJRD4geyB1c2luZyBIYXNoID0gSW50SGFzaDx1bnNpZ25lZD47IH07CiB0
ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQ+IDogR2Vu
ZXJpY0hhc2hUcmFpdHM8V2ViQ29yZTo6Q1NTUHJvcGVydHlJRD4gewogICAgIHN0YXRpYyBjb25z
dCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSB0cnVlOwogICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVj
dERlbGV0ZWRWYWx1ZShXZWJDb3JlOjpDU1NQcm9wZXJ0eUlEJiBzbG90KSB7IHNsb3QgPSBzdGF0
aWNfY2FzdDxXZWJDb3JlOjpDU1NQcm9wZXJ0eUlEPihXZWJDb3JlOjpsYXN0Q1NTUHJvcGVydHkg
KyAxKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwgYi9T
b3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbAppbmRleCBiNTM4OTI2NWJhYTZkNDU5MDNj
MTU5N2Y2NTRlOGQ1ZWVlNDNmZWVlLi44ZDI2ZTA5ODRkMGFhMjdhYzMyODU3MWE0YTgzYTNjMWY2
NTE4MDQ1IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbApAQCAtNTQyLDkgKzU0Miw3IEBAIHN1
YiBwcmludEhlYWRlckhlYWQKICAgICBteSAoJEYsICRwcmVmaXgsICRuYW1lc3BhY2UsICRpbmNs
dWRlcywgJGRlZmluaXRpb25zKSA9IEBfOwogCiAgICAgcHJpbnQgRjw8RU5ECi0jaWZuZGVmICR7
cHJlZml4fV8ke25hbWVzcGFjZX1OYW1lc19oCi0KLSNkZWZpbmUgJHtwcmVmaXh9XyR7bmFtZXNw
YWNlfU5hbWVzX2gKKyNwcmFnbWEgb25jZQogCiAkaW5jbHVkZXMKIApAQCAtNTgzLDcgKzU4MSw2
IEBAIHN1YiBwcmludEluaXQKICAgICBpZiAoJGlzRGVmaW5pdGlvbikgewogICAgICAgICBwcmlu
dCBGICJcbldFQkNPUkVfRVhQT1JUIHZvaWQgaW5pdCgpO1xuXG4iOwogICAgICAgICBwcmludCBG
ICJ9IH1cblxuIjsKLSAgICAgICAgcHJpbnQgRiAiI2VuZGlmXG5cbiI7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKQEAgLTY5NSwxNCArNjkyLDExIEBAIHN1YiBwcmludFR5cGVIZWxwZXJzSGVh
ZGVyRmlsZQogICAgIG9wZW4gRiwgIj4kaGVhZGVyUGF0aCI7CiAgICAgcHJpbnRMaWNlbnNlSGVh
ZGVyKCRGKTsKIAotICAgIHByaW50IEYgIiNpZm5kZWYgIi4kcGFyYW1ldGVyc3tuYW1lc3BhY2V9
LiJFbGVtZW50VHlwZUhlbHBlcnNfaFxuIjsKLSAgICBwcmludCBGICIjZGVmaW5lICIuJHBhcmFt
ZXRlcnN7bmFtZXNwYWNlfS4iRWxlbWVudFR5cGVIZWxwZXJzX2hcblxuIjsKKyAgICBwcmludCBG
ICIjcHJhZ21hIG9uY2VcblxuIjsKICAgICBwcmludCBGICIjaW5jbHVkZSBcIiIuJHBhcmFtZXRl
cnN7bmFtZXNwYWNlfS4iTmFtZXMuaFwiXG5cbiI7CiAKICAgICBwcmludFR5cGVIZWxwZXJzKCRG
LCBcJWFsbFRhZ3MpOwogCi0gICAgcHJpbnQgRiAiI2VuZGlmXG4iOwotCiAgICAgY2xvc2UgRjsK
IH0KIApAQCAtOTY3LDcgKzk2MSw3IEBAIEVORAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXR5
cGVkZWYgUmVmPCRwYXJhbWV0ZXJze25hbWVzcGFjZX1FbGVtZW50PiAoKiRwYXJhbWV0ZXJze25h
bWVzcGFjZX1Db25zdHJ1Y3RvckZ1bmN0aW9uKShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQmJGZvcm1FbGVtZW50QXJndW1lbnRGb3JEZWNsYXJhdGlvbiwgYm9vbCBjcmVhdGVkQnlQYXJz
ZXIpOwordXNpbmcgJHBhcmFtZXRlcnN7bmFtZXNwYWNlfUNvbnN0cnVjdG9yRnVuY3Rpb24gPSBS
ZWY8JHBhcmFtZXRlcnN7bmFtZXNwYWNlfUVsZW1lbnQ+ICgqKShjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmJGZvcm1FbGVtZW50QXJndW1lbnRGb3JEZWNsYXJhdGlvbiwgYm9vbCBjcmVh
dGVkQnlQYXJzZXIpOwogCiBFTkQKICAgICA7CkBAIC0xMDg3LDggKzEwODEsNyBAQCBzdWIgcHJp
bnRGYWN0b3J5SGVhZGVyRmlsZQogICAgIHByaW50TGljZW5zZUhlYWRlcigkRik7CiAKICAgICBw
cmludCBGPDxFTkQKLSNpZm5kZWYgJHBhcmFtZXRlcnN7bmFtZXNwYWNlfUVsZW1lbnRGYWN0b3J5
X2gKLSNkZWZpbmUgJHBhcmFtZXRlcnN7bmFtZXNwYWNlfUVsZW1lbnRGYWN0b3J5X2gKKyNwcmFn
bWEgb25jZQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIApAQCAtMTEyNiw4ICsxMTE5LDYg
QEAgcHJpbnRmIEY8PEVORAogCiB9CiAKLSNlbmRpZiAvLyAkcGFyYW1ldGVyc3tuYW1lc3BhY2V9
RWxlbWVudEZhY3RvcnlfaAotCiBFTkQKIDsKIApAQCAtMTI0Nyw3ICsxMjM4LDcgQEAgdXNpbmcg
bmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi10eXBlZGVmIEpTRE9NT2Jq
ZWN0KiAoKkNyZWF0ZSRwYXJhbWV0ZXJze25hbWVzcGFjZX1FbGVtZW50V3JhcHBlckZ1bmN0aW9u
KShKU0RPTUdsb2JhbE9iamVjdCosIFJlZjwkcGFyYW1ldGVyc3tuYW1lc3BhY2V9RWxlbWVudD4m
Jik7Cit1c2luZyBDcmVhdGUkcGFyYW1ldGVyc3tuYW1lc3BhY2V9RWxlbWVudFdyYXBwZXJGdW5j
dGlvbiA9IEpTRE9NT2JqZWN0KiAoKikoSlNET01HbG9iYWxPYmplY3QqLCBSZWY8JHBhcmFtZXRl
cnN7bmFtZXNwYWNlfUVsZW1lbnQ+JiYpOwogCiBFTkQKIDsKQEAgLTEzMzgsMTAgKzEzMjksNyBA
QCBzdWIgcHJpbnRXcmFwcGVyRmFjdG9yeUhlYWRlckZpbGUKIAogICAgIHByaW50TGljZW5zZUhl
YWRlcigkRik7CiAKLSAgICBwcmludCBGICIjaWZuZGVmIEpTJHBhcmFtZXRlcnN7bmFtZXNwYWNl
fUVsZW1lbnRXcmFwcGVyRmFjdG9yeV9oXG4iOwotICAgIHByaW50IEYgIiNkZWZpbmUgSlMkcGFy
YW1ldGVyc3tuYW1lc3BhY2V9RWxlbWVudFdyYXBwZXJGYWN0b3J5X2hcblxuIjsKLQotICAgIHBy
aW50IEYgIiNpZiAkcGFyYW1ldGVyc3tndWFyZEZhY3RvcnlXaXRofVxuIiBpZiAkcGFyYW1ldGVy
c3tndWFyZEZhY3RvcnlXaXRofTsKKyAgICBwcmludCBGICIjcHJhZ21hIG9uY2VcblxuIjsKIAog
ICAgIHByaW50IEYgPDxFTkQKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgpAQCAtMTM1OSw5ICsx
MzQ3LDUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogRU5ECiAgICAgOwogCi0gICAgcHJpbnQgRiAi
I2VuZGlmIC8vICRwYXJhbWV0ZXJze2d1YXJkRmFjdG9yeVdpdGh9XG5cbiIgaWYgJHBhcmFtZXRl
cnN7Z3VhcmRGYWN0b3J5V2l0aH07Ci0KLSAgICBwcmludCBGICIjZW5kaWYgLy8gSlMkcGFyYW1l
dGVyc3tuYW1lc3BhY2V9RWxlbWVudFdyYXBwZXJGYWN0b3J5X2hcbiI7Ci0KICAgICBjbG9zZSBG
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5w
eSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggM2ZkZDgw
NDlkNDk2MDhiYWVkMGFlMDZlNmViZDA3MTRjMTc4NjkyYS4uYzRhNDljY2I0ZjhiZmU5YTY5OTNk
MmZhMDk1ZTI2MGViNDQ0OGFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dl
YmtpdC9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3Nh
Z2VzLnB5CkBAIC0xNDAsNyArMTQwLDcgQEAgZGVmIG1lc3NhZ2VfdG9fc3RydWN0X2RlY2xhcmF0
aW9uKHJlY2VpdmVyLCBtZXNzYWdlKToKIAogICAgIHJlc3VsdC5hcHBlbmQoJ2NsYXNzICVzIHtc
bicgJSBtZXNzYWdlLm5hbWUpCiAgICAgcmVzdWx0LmFwcGVuZCgncHVibGljOlxuJykKLSAgICBy
ZXN1bHQuYXBwZW5kKCcgICAgdHlwZWRlZiAlcyBBcmd1bWVudHM7XG4nICUgYXJndW1lbnRzX3R5
cGUobWVzc2FnZSkpCisgICAgcmVzdWx0LmFwcGVuZCgnICAgIHVzaW5nIEFyZ3VtZW50cyA9ICVz
O1xuJyAlIGFyZ3VtZW50c190eXBlKG1lc3NhZ2UpKQogICAgIHJlc3VsdC5hcHBlbmQoJ1xuJykK
ICAgICByZXN1bHQuYXBwZW5kKCcgICAgc3RhdGljIElQQzo6TWVzc2FnZU5hbWUgbmFtZSgpIHsg
cmV0dXJuIElQQzo6TWVzc2FnZU5hbWU6OiVzXyVzOyB9XG4nICUgKHJlY2VpdmVyLm5hbWUsIG1l
c3NhZ2UubmFtZSkpCiAgICAgcmVzdWx0LmFwcGVuZCgnICAgIHN0YXRpYyBjb25zdCBib29sIGlz
U3luYyA9ICVzO1xuJyAlICgnZmFsc2UnLCAndHJ1ZScpW21lc3NhZ2UucmVwbHlfcGFyYW1ldGVy
cyAhPSBOb25lIGFuZCBub3QgbWVzc2FnZS5oYXNfYXR0cmlidXRlKEFTWU5DX0FUVFJJQlVURSld
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400791</attachid>
            <date>2020-06-02 00:43:28 -0700</date>
            <delta_ts>2020-06-02 23:05:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190714-20200602094326.patch</filename>
            <type>text/plain</type>
            <size>24871</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
NGZmMjA0Yzc4MDgzMzk2ZTdlM2NhMjNhMTNlYjNhYjAxZTIxNTc3Li5kOTNmM2IzMmM4YmRhMjU3
OTQ5Zjk5NDk3NDRjZTE3Yzg4MjMxYzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAyMC0wNi0wMiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIE1ha2UgZ2VuZXJhdGVkIEMrKyBjb2RlIHVzZSBtb2Rlcm4gQysrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA3MTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgaW5zcGVjdG9yIHBy
b3RvY29sIGdlbmVyYXRvciBhbmQgcmViYXNlbGluZSB0aGUgdGVzdHMuCisKKyAgICAgICAgKiBp
bnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5OgorICAg
ICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5
cGVzX2hlYWRlci5weToKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3Rl
ZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBp
bnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNh
bGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29tbWFuZC1zaXplcy5q
c29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9l
bnVtLXZhbHVlcy5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC9ldmVudHMtd2l0aC1vcHRpb25hbC1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0Ogor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3NhbWUtdHlwZS1pZC1k
aWZmZXJlbnQtZG9tYWluLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYWxpYXNlZC1wcmltaXRpdmUtdHlwZS5q
c29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90
eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNv
bi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlw
ZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpz
b24tcmVzdWx0OgorICAgICAgICAqIHlhcnIvZ2VuZXJhdGVZYXJyVW5pY29kZVByb3BlcnR5VGFi
bGVzLnB5OgorCiAyMDIwLTA2LTAxICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBHcmFwaGljczogc2hvdWxkIHVzZSB0aGUgYGlkYCAo
bmFtZSkgb2YgdGhlIGFuaW1hdGlvbiBpZiBpdCBleGlzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4MmE1ODlm
ZGJhNTQzNzQ1NWU5YmNiZjNmNGY5YzIxZjk1NTE1MWI4Li4zNWVmNGY5ZDk0ZTcxMDNhM2Q0ZjQ4
ZGJmZThmZTkyNDkzNzZkNDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDYt
MDIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBNYWtlIGdlbmVyYXRl
ZCBDKysgY29kZSB1c2UgbW9kZXJuIEMrKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNzE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVwbGFjZSB0eXBlZGVmIHVzYWdlIGJ5IGFsaWFzLWRlY2xhcmF0
aW9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisg
ICAgICAgICogY3NzL21ha2Vwcm9wLnBsOgorICAgICAgICAqIGRvbS9tYWtlX25hbWVzLnBsOgor
ICAgICAgICAocHJpbnRIZWFkZXJIZWFkKToKKyAgICAgICAgKHByaW50SW5pdCk6CisgICAgICAg
IChwcmludFR5cGVIZWxwZXJzSGVhZGVyRmlsZSk6CisgICAgICAgIChwcmludEZhY3RvcnlDcHBG
aWxlKToKKyAgICAgICAgKHByaW50RmFjdG9yeUhlYWRlckZpbGUpOgorICAgICAgICAocHJpbnRX
cmFwcGVyRmFjdG9yeUNwcEZpbGUpOgorICAgICAgICAocHJpbnRXcmFwcGVyRmFjdG9yeUhlYWRl
ckZpbGUpOgorCiAyMDIwLTA2LTAxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW1dlYkdQVV0gVXBkYXRlIHRleHR1cmUgY3JlYXRpb24gdmFsaWRh
dGlvbiBhY2NvcmRpbmcgdG8gdGhlIGRpc2N1c3Npb24gYXQgaHR0cHM6Ly9naXRodWIuY29tL2dw
dXdlYi9ncHV3ZWIvcHVsbC83OTkvZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMDQzMTEzNmYwOTUwOGQ4MzY4
NjAyNTk4NDY4Mjg2MWJiNmY2ZDg4My4uMjQ0YTUxOTEwNTBjOWY4YWUyYzBkOGMwZWVjMmQ2ZDEy
ZTNhYmUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNi0wMiAgUm9iIEJ1aXMg
IDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIE1ha2UgZ2VuZXJhdGVkIEMrKyBjb2RlIHVz
ZSBtb2Rlcm4gQysrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTA3MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZXBsYWNlIHR5cGVkZWYgdXNhZ2UgYnkgYWxpYXMtZGVjbGFyYXRpb24uCisKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weToKKwogMjAyMC0wNi0wMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aHJlYWQtc2FmZXR5IGlzc3Vl
IGluIFtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgX2hhbmRsZUJhY2tn
cm91bmRUYXNrRXhwaXJhdGlvbl0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5IGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dlbmVyYXRv
cl90ZW1wbGF0ZXMucHkKaW5kZXggZDBjN2JlNmQ0OTE2OGNhNjkzNTNlZGM0MmYzYjJiNWYyMzRk
M2NlOC4uMDgyYmUzM2YxNWRlMjViZTg4OTU3Y2IxNDIyOTM1MjAzNmVlMjJjZiAxMDA3NTUKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dl
bmVyYXRvcl90ZW1wbGF0ZXMucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkKQEAgLTEzOSw4ICsx
MzksOCBAQCAke2Rpc3BhdGNoQ2FzZXN9CiAgICAgUmVmUHRyPEpTT046Ok9iamVjdD4gcGFyYW1l
dGVyczsKICAgICBtZXNzYWdlLT5nZXRPYmplY3QoInBhcmFtcyJfcywgcGFyYW1ldGVycyk7CiAK
LSAgICB0eXBlZGVmIHZvaWQgKCR7ZG9tYWluTmFtZX1CYWNrZW5kRGlzcGF0Y2hlcjo6KkNhbGxI
YW5kbGVyKShsb25nIHJlcXVlc3RJZCwgUmVmUHRyPEpTT046Ok9iamVjdD4mJiBtZXNzYWdlKTsK
LSAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBDYWxsSGFuZGxlcj4gRGlzcGF0Y2hNYXA7Cisg
ICAgdXNpbmcgQ2FsbEhhbmRsZXIgPSB2b2lkICgke2RvbWFpbk5hbWV9QmFja2VuZERpc3BhdGNo
ZXI6OiopKGxvbmcgcmVxdWVzdElkLCBSZWZQdHI8SlNPTjo6T2JqZWN0PiYmIG1lc3NhZ2UpOwor
ICAgIHVzaW5nIERpc3BhdGNoTWFwID0gSGFzaE1hcDxTdHJpbmcsIENhbGxIYW5kbGVyPjsKICAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RGlzcGF0Y2hNYXA+IGRpc3BhdGNoTWFwOwogICAgIGlm
IChkaXNwYXRjaE1hcC5nZXQoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgc3RhdGljIGNvbnN0IHN0
cnVjdCBNZXRob2RUYWJsZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVhZGVy
LnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2Vu
ZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hlYWRlci5weQppbmRleCAyYmJkNDJkNjdhNzlmMjQw
YWYwZTkyZjdhZDM5NTk3YjQ2ODFmZDQyLi4xOWZkMGNhMDQxMmJjZmIxMmVmNTkyNzE2ZmI1ZTE1
N2I3NDkzMzhiIDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVhZGVyLnB5CisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRl
X2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkKQEAgLTE2OSw3ICsxNjksNyBAQCBjbGFzcyBD
cHBQcm90b2NvbFR5cGVzSGVhZGVyR2VuZXJhdG9yKENwcEdlbmVyYXRvcik6CiAgICAgICAgICAg
ICB0eXBlZGVmX2xpbmVzID0gW10KICAgICAgICAgICAgIGlmIGxlbihkZWNsYXJhdGlvbi5kZXNj
cmlwdGlvbikgPiAwOgogICAgICAgICAgICAgICAgIHR5cGVkZWZfbGluZXMuYXBwZW5kKCcvKiAl
cyAqLycgJSBkZWNsYXJhdGlvbi5kZXNjcmlwdGlvbikKLSAgICAgICAgICAgIHR5cGVkZWZfbGlu
ZXMuYXBwZW5kKCd0eXBlZGVmICVzICVzOycgJSAocHJpbWl0aXZlX25hbWUsIGRlY2xhcmF0aW9u
LnR5cGVfbmFtZSkpCisgICAgICAgICAgICB0eXBlZGVmX2xpbmVzLmFwcGVuZCgndXNpbmcgJXMg
PSAlczsnICUgKGRlY2xhcmF0aW9uLnR5cGVfbmFtZSwgcHJpbWl0aXZlX25hbWUpKQogICAgICAg
ICAgICAgc2VjdGlvbnMuYXBwZW5kKHNlbGYud3JhcF93aXRoX2d1YXJkX2Zvcl9jb25kaXRpb24o
ZGVjbGFyYXRpb24uY29uZGl0aW9uLCAnXG4nLmpvaW4odHlwZWRlZl9saW5lcykpKQogCiAgICAg
ICAgIGZvciBkZWNsYXJhdGlvbiBpbiBhcnJheV9kZWNsYXJhdGlvbnM6CkBAIC0xNzcsNyArMTc3
LDcgQEAgY2xhc3MgQ3BwUHJvdG9jb2xUeXBlc0hlYWRlckdlbmVyYXRvcihDcHBHZW5lcmF0b3Ip
OgogICAgICAgICAgICAgdHlwZWRlZl9saW5lcyA9IFtdCiAgICAgICAgICAgICBpZiBsZW4oZGVj
bGFyYXRpb24uZGVzY3JpcHRpb24pID4gMDoKICAgICAgICAgICAgICAgICB0eXBlZGVmX2xpbmVz
LmFwcGVuZCgnLyogJXMgKi8nICUgZGVjbGFyYXRpb24uZGVzY3JpcHRpb24pCi0gICAgICAgICAg
ICB0eXBlZGVmX2xpbmVzLmFwcGVuZCgndHlwZWRlZiBKU09OOjpBcnJheU9mPCVzPiAlczsnICUg
KGVsZW1lbnRfdHlwZSwgZGVjbGFyYXRpb24udHlwZV9uYW1lKSkKKyAgICAgICAgICAgIHR5cGVk
ZWZfbGluZXMuYXBwZW5kKCd1c2luZyAlcyA9IEpTT046OkFycmF5T2Y8JXM+OycgJSAoZGVjbGFy
YXRpb24udHlwZV9uYW1lLCBlbGVtZW50X3R5cGUpKQogICAgICAgICAgICAgc2VjdGlvbnMuYXBw
ZW5kKHNlbGYud3JhcF93aXRoX2d1YXJkX2Zvcl9jb25kaXRpb24oZGVjbGFyYXRpb24uY29uZGl0
aW9uLCAnXG4nLmpvaW4odHlwZWRlZl9saW5lcykpKQogCiAgICAgICAgIGxpbmVzID0gW10KQEAg
LTQ4Niw3ICs0ODYsNyBAQCBjbGFzcyBDcHBQcm90b2NvbFR5cGVzSGVhZGVyR2VuZXJhdG9yKENw
cEdlbmVyYXRvcik6CiAgICAgICAgICAgICAgICAgZW51bV9saW5lcyA9IFtdCiAgICAgICAgICAg
ICAgICAgZW51bV9saW5lcy5hcHBlbmQoJ3RlbXBsYXRlPD4nKQogICAgICAgICAgICAgICAgIGVu
dW1fbGluZXMuYXBwZW5kKCdzdHJ1Y3QgRGVmYXVsdEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6
JXM6OiVzPiB7JyAlIChkb21haW4uZG9tYWluX25hbWUsIGVudW1fdHlwZS5yYXdfbmFtZSgpKSkK
LSAgICAgICAgICAgICAgICBlbnVtX2xpbmVzLmFwcGVuZCgnICAgIHR5cGVkZWYgSW50SGFzaDxJ
bnNwZWN0b3I6OlByb3RvY29sOjolczo6JXM+IEhhc2g7JyAlIChkb21haW4uZG9tYWluX25hbWUs
IGVudW1fdHlwZS5yYXdfbmFtZSgpKSkKKyAgICAgICAgICAgICAgICBlbnVtX2xpbmVzLmFwcGVu
ZCgnICAgIHVzaW5nIEhhc2ggPSBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OiVzOjolcz47
JyAlIChkb21haW4uZG9tYWluX25hbWUsIGVudW1fdHlwZS5yYXdfbmFtZSgpKSkKICAgICAgICAg
ICAgICAgICBlbnVtX2xpbmVzLmFwcGVuZCgnfTsnKQogICAgICAgICAgICAgICAgIGRvbWFpbl9s
aW5lcy5hcHBlbmQoc2VsZi53cmFwX3dpdGhfZ3VhcmRfZm9yX2NvbmRpdGlvbihlbnVtX3R5cGUu
ZGVjbGFyYXRpb24oKS5jb25kaXRpb24sICdcbicuam9pbihlbnVtX2xpbmVzKSkpCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBl
Y3RlZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13
aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdAppbmRleCA4MmM1OTA2YzE3YmEwYWIxMTVi
NWExYzNmZGVmNTQ0MzBiNTc3NGIwLi4xNmVjMjQ3MmZkN2M3MWJhNGI1OTVjZTIzMjI1MjY2MzQ4
ZmFkNDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1
bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4
cGVjdGVkL2NvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRlLmpzb24tcmVzdWx0CkBAIC02MTgs
OCArNjE4LDggQEAgZW51bSBjbGFzcyBQcmltYXJ5Q29sb3JzOwogLy8gVHlwZWRlZnMuCiBuYW1l
c3BhY2UgRGF0YWJhc2UgewogLyogVW5pcXVlIGlkZW50aWZpZXIgb2YgRGF0YWJhc2Ugb2JqZWN0
LiAqLwotdHlwZWRlZiBpbnQgRGF0YWJhc2VJZDsKLXR5cGVkZWYgSlNPTjo6QXJyYXlPZjxJbnNw
ZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJpbWFyeUNvbG9ycz4gQ29sb3JMaXN0OwordXNp
bmcgRGF0YWJhc2VJZCA9IGludDsKK3VzaW5nIENvbG9yTGlzdCA9IEpTT046OkFycmF5T2Y8SW5z
cGVjdG9yOjpQcm90b2NvbDo6RGF0YWJhc2U6OlByaW1hcnlDb2xvcnM+OwogfSAvLyBEYXRhYmFz
ZQogLy8gRW5kIG9mIHR5cGVkZWZzLgogCkBAIC03MzQsNyArNzM0LDcgQEAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwogLy8gSGFzaCBkZWNsYXJhdGlvbnMgaW4gdGhl
ICdEYXRhYmFzZScgRG9tYWluCiB0ZW1wbGF0ZTw+CiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SW5zcGVj
dG9yOjpQcm90b2NvbDo6RGF0YWJhc2U6OlByaW1hcnlDb2xvcnM+IHsKLSAgICB0eXBlZGVmIElu
dEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGF0YWJhc2U6OlByaW1hcnlDb2xvcnM+IEhhc2g7
CisgICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGF0YWJhc2U6
OlByaW1hcnlDb2xvcnM+OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29t
bWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0IGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2Nv
bW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVycy5qc29uLXJlc3VsdApp
bmRleCA1YjQ3Y2MwMmRkZTlhYmU3MDgyYjJkNzc4M2Q0YWUyMTdhZWM1YWIxLi5kNGFhZDBiMGVh
NDQ2MzA1MjQ4MGVlMzBiYjlkMmFlZWJmMGVlOTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1v
cHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13
aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQKQEAgLTUyOSw4
ICs1MjksOCBAQCBlbnVtIGNsYXNzIFByaW1hcnlDb2xvcnM7CiAvLyBUeXBlZGVmcy4KIG5hbWVz
cGFjZSBEYXRhYmFzZSB7CiAvKiBVbmlxdWUgaWRlbnRpZmllciBvZiBEYXRhYmFzZSBvYmplY3Qu
ICovCi10eXBlZGVmIGludCBEYXRhYmFzZUlkOwotdHlwZWRlZiBKU09OOjpBcnJheU9mPEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpQcmltYXJ5Q29sb3JzPiBDb2xvckxpc3Q7Cit1c2lu
ZyBEYXRhYmFzZUlkID0gaW50OwordXNpbmcgQ29sb3JMaXN0ID0gSlNPTjo6QXJyYXlPZjxJbnNw
ZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJpbWFyeUNvbG9ycz47CiB9IC8vIERhdGFiYXNl
CiAvLyBFbmQgb2YgdHlwZWRlZnMuCiAKQEAgLTY0NSw3ICs2NDUsNyBAQCB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAvLyBIYXNoIGRlY2xhcmF0aW9ucyBpbiB0aGUg
J0RhdGFiYXNlJyBEb21haW4KIHRlbXBsYXRlPD4KIHN0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0
b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJpbWFyeUNvbG9ycz4gewotICAgIHR5cGVkZWYgSW50
SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJpbWFyeUNvbG9ycz4gSGFzaDsK
KyAgICB1c2luZyBIYXNoID0gSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6
UHJpbWFyeUNvbG9ycz47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9kb21h
aW5zLXdpdGgtdmFyeWluZy1jb21tYW5kLXNpemVzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2RvbWFpbnMtd2l0aC12
YXJ5aW5nLWNvbW1hbmQtc2l6ZXMuanNvbi1yZXN1bHQKaW5kZXggYmIxOGM0MDQ4ODQ0ZTg3NmIz
ZmFkNzZkNzQyZDJhYjI5YTYyODAwNS4uZTU4ZDRkZDk3ZTk5YmNiNzA3MjdiMjU0Njc2ZmRiNDNm
YzcxNzliOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3Jp
cHRzL3Rlc3RzL2V4cGVjdGVkL2RvbWFpbnMtd2l0aC12YXJ5aW5nLWNvbW1hbmQtc2l6ZXMuanNv
bi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL2RvbWFpbnMtd2l0aC12YXJ5aW5nLWNvbW1hbmQtc2l6ZXMuanNvbi1yZXN1
bHQKQEAgLTMzNyw4ICszMzcsOCBAQCB2b2lkIE5ldHdvcmszQmFja2VuZERpc3BhdGNoZXI6OmRp
c3BhdGNoKGxvbmcgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIG1ldGhvZCwgUgogICAgIFJlZlB0
cjxKU09OOjpPYmplY3Q+IHBhcmFtZXRlcnM7CiAgICAgbWVzc2FnZS0+Z2V0T2JqZWN0KCJwYXJh
bXMiX3MsIHBhcmFtZXRlcnMpOwogCi0gICAgdHlwZWRlZiB2b2lkIChOZXR3b3JrM0JhY2tlbmRE
aXNwYXRjaGVyOjoqQ2FsbEhhbmRsZXIpKGxvbmcgcmVxdWVzdElkLCBSZWZQdHI8SlNPTjo6T2Jq
ZWN0PiYmIG1lc3NhZ2UpOwotICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIENhbGxIYW5kbGVy
PiBEaXNwYXRjaE1hcDsKKyAgICB1c2luZyBDYWxsSGFuZGxlciA9IHZvaWQgKE5ldHdvcmszQmFj
a2VuZERpc3BhdGNoZXI6OiopKGxvbmcgcmVxdWVzdElkLCBSZWZQdHI8SlNPTjo6T2JqZWN0PiYm
IG1lc3NhZ2UpOworICAgIHVzaW5nIERpc3BhdGNoTWFwID0gSGFzaE1hcDxTdHJpbmcsIENhbGxI
YW5kbGVyPjsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RGlzcGF0Y2hNYXA+IGRpc3BhdGNo
TWFwOwogICAgIGlmIChkaXNwYXRjaE1hcC5nZXQoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgc3Rh
dGljIGNvbnN0IHN0cnVjdCBNZXRob2RUYWJsZSB7CkBAIC02MzcsNyArNjM3LDcgQEAgbmFtZXNw
YWNlIFByb3RvY29sIHsKIC8vIFR5cGVkZWZzLgogbmFtZXNwYWNlIE5ldHdvcmsyIHsKIC8qIFVu
aXF1ZSBsb2FkZXIgaWRlbnRpZmllci4gKi8KLXR5cGVkZWYgU3RyaW5nIExvYWRlcklkOwordXNp
bmcgTG9hZGVySWQgPSBTdHJpbmc7CiB9IC8vIE5ldHdvcmsyCiAvLyBFbmQgb2YgdHlwZWRlZnMu
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9leHBlY3RlZC9lbnVtLXZhbHVlcy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9lbnVtLXZhbHVlcy5qc29uLXJl
c3VsdAppbmRleCAxMTQ4MzM5YmIyMTBmY2M3MzhmZGY4YTUzODg5ZTY1NjJiZDFkZGM5Li40ZTkw
NWYwMzdhOTZkYTIwMmQyNTdjZThkYTgxNjQ3NDdiMmRlNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZW51bS12YWx1
ZXMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3Jp
cHRzL3Rlc3RzL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0CkBAIC00OTMsNyArNDkz
LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwogLy8gSGFzaCBk
ZWNsYXJhdGlvbnMgaW4gdGhlICdUeXBlRG9tYWluJyBEb21haW4KIHRlbXBsYXRlPD4KIHN0cnVj
dCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpUeXBlRG9tYWluOjpUeXBlRG9tYWlu
RW51bT4gewotICAgIHR5cGVkZWYgSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpUeXBlRG9t
YWluOjpUeXBlRG9tYWluRW51bT4gSGFzaDsKKyAgICB1c2luZyBIYXNoID0gSW50SGFzaDxJbnNw
ZWN0b3I6OlByb3RvY29sOjpUeXBlRG9tYWluOjpUeXBlRG9tYWluRW51bT47CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9ldmVudHMtd2l0aC1vcHRpb25hbC1wYXJhbWV0ZXJz
Lmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL2V2ZW50cy13aXRoLW9wdGlvbmFsLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQK
aW5kZXggYjg5NDNlMDk0OWQ2YTdjY2ZiYTk0NTc1YTk3NWI4ZWU4NjJlYzA1ZC4uOTBlMTRlOGM3
YmI0ZjA1MTUxM2NiZDdjM2M2ZGM3Yjk2ZmNjMWE3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2V2ZW50cy13aXRoLW9w
dGlvbmFsLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2V2ZW50cy13aXRoLW9wdGlvbmFsLXBh
cmFtZXRlcnMuanNvbi1yZXN1bHQKQEAgLTM4Miw5ICszODIsOSBAQCBjbGFzcyBFcnJvcjsKIC8v
IFR5cGVkZWZzLgogbmFtZXNwYWNlIERhdGFiYXNlIHsKIC8qIFVuaXF1ZSBpZGVudGlmaWVyIG9m
IERhdGFiYXNlIG9iamVjdC4gKi8KLXR5cGVkZWYgU3RyaW5nIERhdGFiYXNlSWQ7Ci10eXBlZGVm
IFN0cmluZyBQcmltYXJ5Q29sb3JzOwotdHlwZWRlZiBKU09OOjpBcnJheU9mPFN0cmluZz4gQ29s
b3JMaXN0OwordXNpbmcgRGF0YWJhc2VJZCA9IFN0cmluZzsKK3VzaW5nIFByaW1hcnlDb2xvcnMg
PSBTdHJpbmc7Cit1c2luZyBDb2xvckxpc3QgPSBKU09OOjpBcnJheU9mPFN0cmluZz47CiB9IC8v
IERhdGFiYXNlCiAvLyBFbmQgb2YgdHlwZWRlZnMuCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9zYW1lLXR5cGUtaWQt
ZGlmZmVyZW50LWRvbWFpbi5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9zYW1lLXR5cGUtaWQtZGlmZmVyZW50LWRvbWFp
bi5qc29uLXJlc3VsdAppbmRleCBhZmQwYzY2YzA4YTZlNGRhMGMwNDE4YmMxYmQzNjI4OTU5OTFh
ZTMxLi40NTNlZjZlNDk0OGVhYjAyNWFiNTYxMzc4ZDJiOGFhOTRmNTVjODhkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQv
c2FtZS10eXBlLWlkLWRpZmZlcmVudC1kb21haW4uanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3NhbWUtdHlwZS1p
ZC1kaWZmZXJlbnQtZG9tYWluLmpzb24tcmVzdWx0CkBAIC0zMTMsMTIgKzMxMywxMiBAQCBuYW1l
c3BhY2UgUHJvdG9jb2wgewogLy8gVHlwZWRlZnMuCiBuYW1lc3BhY2UgUnVudGltZSB7CiAvKiBV
bmlxdWUgb2JqZWN0IGlkZW50aWZpZXIuICovCi10eXBlZGVmIFN0cmluZyBSZW1vdGVPYmplY3RJ
ZDsKK3VzaW5nIFJlbW90ZU9iamVjdElkID0gU3RyaW5nOwogfSAvLyBSdW50aW1lCiAKIG5hbWVz
cGFjZSBSdW50aW1lMiB7CiAvKiBVbmlxdWUgb2JqZWN0IGlkZW50aWZpZXIuICovCi10eXBlZGVm
IFN0cmluZyBSZW1vdGVPYmplY3RJZDsKK3VzaW5nIFJlbW90ZU9iamVjdElkID0gU3RyaW5nOwog
fSAvLyBSdW50aW1lMgogLy8gRW5kIG9mIHR5cGVkZWZzLgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNs
YXJhdGlvbi1hbGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRp
b24tYWxpYXNlZC1wcmltaXRpdmUtdHlwZS5qc29uLXJlc3VsdAppbmRleCAyNzAwMGExMTFjYWNk
NzdjNTYyOTQwOWMwOTFmOGQyNDExMDZhOThjLi43OWNiOTg1NDU5Zjg4MjQ1Njc3YzVlM2MyNjA1
ZjczNDRlMTE2YmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hbGlhc2VkLXByaW1pdGl2
ZS10eXBlLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
c2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFsaWFzZWQtcHJpbWl0aXZl
LXR5cGUuanNvbi1yZXN1bHQKQEAgLTMxMyw3ICszMTMsNyBAQCBuYW1lc3BhY2UgUHJvdG9jb2wg
ewogLy8gVHlwZWRlZnMuCiBuYW1lc3BhY2UgUnVudGltZSB7CiAvKiBVbmlxdWUgb2JqZWN0IGlk
ZW50aWZpZXIuICovCi10eXBlZGVmIGludCBSZW1vdGVPYmplY3RJZDsKK3VzaW5nIFJlbW90ZU9i
amVjdElkID0gaW50OwogfSAvLyBSdW50aW1lCiAvLyBFbmQgb2YgdHlwZWRlZnMuCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBl
Y3RlZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJh
dGlvbi1hcnJheS10eXBlLmpzb24tcmVzdWx0CmluZGV4IGRlYmZmNzkxOGJhYjE5NWM3OTYwMjFh
MzcxZWY3NmZlNGFmNWFjNGUuLjlmYTNkOTM0YjZmMTZlZDc0ZmZiODA3YjkxZTMxNDY0NzMxN2Nh
ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVk
L3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdApAQCAtMzIyLDE2ICszMjIs
MTYgQEAgZW51bSBjbGFzcyBSZWFzb247CiAKIC8vIFR5cGVkZWZzLgogbmFtZXNwYWNlIERlYnVn
Z2VyIHsKLXR5cGVkZWYgaW50IEJyZWFrcG9pbnRJZDsKK3VzaW5nIEJyZWFrcG9pbnRJZCA9IGlu
dDsKIH0gLy8gRGVidWdnZXIKIAogbmFtZXNwYWNlIFJ1bnRpbWUgewotdHlwZWRlZiBpbnQgT2Jq
ZWN0SWQ7Ci10eXBlZGVmIEpTT046OkFycmF5T2Y8aW50PiBMdWNreU51bWJlcnM7Ci10eXBlZGVm
IEpTT046OkFycmF5T2Y8U3RyaW5nPiBCYWJ5TmFtZXM7Ci10eXBlZGVmIEpTT046OkFycmF5T2Y8
aW50PiBOZXdPYmplY3RzOwotdHlwZWRlZiBKU09OOjpBcnJheU9mPGludD4gT2xkT2JqZWN0czsK
LXR5cGVkZWYgSlNPTjo6QXJyYXlPZjxJbnNwZWN0b3I6OlByb3RvY29sOjpEZWJ1Z2dlcjo6UmVh
c29uPiBTdG9wUmVhc29uczsKK3VzaW5nIE9iamVjdElkID0gaW50OwordXNpbmcgTHVja3lOdW1i
ZXJzID0gSlNPTjo6QXJyYXlPZjxpbnQ+OwordXNpbmcgQmFieU5hbWVzID0gSlNPTjo6QXJyYXlP
ZjxTdHJpbmc+OwordXNpbmcgTmV3T2JqZWN0cyA9IEpTT046OkFycmF5T2Y8aW50PjsKK3VzaW5n
IE9sZE9iamVjdHMgPSBKU09OOjpBcnJheU9mPGludD47Cit1c2luZyBTdG9wUmVhc29ucyA9IEpT
T046OkFycmF5T2Y8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGVidWdnZXI6OlJlYXNvbj47CiB9IC8v
IFJ1bnRpbWUKIC8vIEVuZCBvZiB0eXBlZGVmcy4KIApAQCAtMzgwLDcgKzM4MCw3IEBAIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKIC8vIEhhc2ggZGVjbGFyYXRpb25z
IGluIHRoZSAnRGVidWdnZXInIERvbWFpbgogdGVtcGxhdGU8Pgogc3RydWN0IERlZmF1bHRIYXNo
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRlYnVnZ2VyOjpSZWFzb24+IHsKLSAgICB0eXBlZGVmIElu
dEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGVidWdnZXI6OlJlYXNvbj4gSGFzaDsKKyAgICB1
c2luZyBIYXNoID0gSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEZWJ1Z2dlcjo6UmVhc29u
PjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24t
ZW51bS10eXBlLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tZW51bS10eXBlLmpzb24tcmVz
dWx0CmluZGV4IGFiN2EzOTgzNmFkNDg3ZTlkMWM3MDM3NDZjNDFmNjAwZmZkYjJjYmYuLjg4Yjg2
NjhmMzkyMjBjNWJhZThlZDEwNjI0Njk1MGZkMDc5OWZjNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xh
cmF0aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5
cGUuanNvbi1yZXN1bHQKQEAgLTM3OSwxMSArMzc5LDExIEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0cnVjdCBEZWZhdWx0SGFzaDsKIC8vIEhhc2ggZGVjbGFyYXRpb25zIGluIHRoZSAnUnVudGlt
ZScgRG9tYWluCiB0ZW1wbGF0ZTw+CiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SW5zcGVjdG9yOjpQcm90
b2NvbDo6UnVudGltZTo6RmFybUFuaW1hbHM+IHsKLSAgICB0eXBlZGVmIEludEhhc2g8SW5zcGVj
dG9yOjpQcm90b2NvbDo6UnVudGltZTo6RmFybUFuaW1hbHM+IEhhc2g7CisgICAgdXNpbmcgSGFz
aCA9IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6RmFybUFuaW1hbHM+Owog
fTsKIHRlbXBsYXRlPD4KIHN0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpS
dW50aW1lOjpUd29MZWdnZWRBbmltYWxzPiB7Ci0gICAgdHlwZWRlZiBJbnRIYXNoPEluc3BlY3Rv
cjo6UHJvdG9jb2w6OlJ1bnRpbWU6OlR3b0xlZ2dlZEFuaW1hbHM+IEhhc2g7CisgICAgdXNpbmcg
SGFzaCA9IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6VHdvTGVnZ2VkQW5p
bWFscz47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0
aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUu
anNvbi1yZXN1bHQKaW5kZXggMDAzMTRmM2ZlYmEyMWJmNjc0ZGU4ZGE4MDI0MWI0ZmU3NDY0NjFj
Ni4uOGM4MTQzNjMzY2FjZGEwZWIwZWEwOTBjNDYyZGY3MzdkOGExNDhhOCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5
cGUtZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRp
b24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKQEAgLTMzMyw3ICszMzMsNyBAQCBjbGFzcyBQYXJh
bWV0ZXJCdW5kbGU7CiAKIC8vIFR5cGVkZWZzLgogbmFtZXNwYWNlIERhdGFiYXNlIHsKLXR5cGVk
ZWYgSlNPTjo6QXJyYXlPZjxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6RXJyb3I+IEVy
cm9yTGlzdDsKK3VzaW5nIEVycm9yTGlzdCA9IEpTT046OkFycmF5T2Y8SW5zcGVjdG9yOjpQcm90
b2NvbDo6RGF0YWJhc2U6OkVycm9yPjsKIH0gLy8gRGF0YWJhc2UKIC8vIEVuZCBvZiB0eXBlZGVm
cy4KIApAQCAtOTA5LDcgKzkwOSw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZh
dWx0SGFzaDsKIC8vIEhhc2ggZGVjbGFyYXRpb25zIGluIHRoZSAnRGF0YWJhc2UnIERvbWFpbgog
dGVtcGxhdGU8Pgogc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFi
YXNlOjpNb3VzZUJ1dHRvbj4gewotICAgIHR5cGVkZWYgSW50SGFzaDxJbnNwZWN0b3I6OlByb3Rv
Y29sOjpEYXRhYmFzZTo6TW91c2VCdXR0b24+IEhhc2g7CisgICAgdXNpbmcgSGFzaCA9IEludEhh
c2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGF0YWJhc2U6Ok1vdXNlQnV0dG9uPjsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtcmVxdWlyaW5nLXJ1bnRpbWUtY2FzdHMu
anNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZXhwZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVudGltZS1jYXN0cy5qc29uLXJlc3VsdAppbmRl
eCAwMjAwNDQxN2EwMzY3NjFiOGZlZDlkNmQxZjMwODY0MzkwMmIwMDY2Li42NzZkZWI0ZGI0MDY3
NTQ0Y2EwM2MzNzM2YTM3ODlkZTUyZTMwYzZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVu
dGltZS1jYXN0cy5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVudGltZS1jYXN0cy5q
c29uLXJlc3VsdApAQCAtMzI3LDggKzMyNyw4IEBAIGVudW0gY2xhc3MgQ2FzdGVkQW5pbWFsczsK
IAogLy8gVHlwZWRlZnMuCiBuYW1lc3BhY2UgVGVzdCB7Ci10eXBlZGVmIGludCBDYXN0ZWRPYmpl
Y3RJZDsKLXR5cGVkZWYgaW50IFVuY2FzdGVkT2JqZWN0SWQ7Cit1c2luZyBDYXN0ZWRPYmplY3RJ
ZCA9IGludDsKK3VzaW5nIFVuY2FzdGVkT2JqZWN0SWQgPSBpbnQ7CiB9IC8vIFRlc3QKIC8vIEVu
ZCBvZiB0eXBlZGVmcy4KIApAQCAtNTk2LDExICs1OTYsMTEgQEAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gc3RydWN0IERlZmF1bHRIYXNoOwogLy8gSGFzaCBkZWNsYXJhdGlvbnMgaW4gdGhlICdUZXN0
JyBEb21haW4KIHRlbXBsYXRlPD4KIHN0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3Rv
Y29sOjpUZXN0OjpVbmNhc3RlZEFuaW1hbHM+IHsKLSAgICB0eXBlZGVmIEludEhhc2g8SW5zcGVj
dG9yOjpQcm90b2NvbDo6VGVzdDo6VW5jYXN0ZWRBbmltYWxzPiBIYXNoOworICAgIHVzaW5nIEhh
c2ggPSBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRlc3Q6OlVuY2FzdGVkQW5pbWFscz47
CiB9OwogdGVtcGxhdGU8Pgogc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6
OlRlc3Q6OkNhc3RlZEFuaW1hbHM+IHsKLSAgICB0eXBlZGVmIEludEhhc2g8SW5zcGVjdG9yOjpQ
cm90b2NvbDo6VGVzdDo6Q2FzdGVkQW5pbWFscz4gSGFzaDsKKyAgICB1c2luZyBIYXNoID0gSW50
SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpUZXN0OjpDYXN0ZWRBbmltYWxzPjsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIv
Z2VuZXJhdGVZYXJyVW5pY29kZVByb3BlcnR5VGFibGVzLnB5IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3lhcnIvZ2VuZXJhdGVZYXJyVW5pY29kZVByb3BlcnR5VGFibGVzLnB5CmluZGV4IDUyNmZi
NmU3YWMzYTIyN2E2ZDQzY2JiZWZkMjcwMmQxYTBjNTRjZTkuLjQ4YzRhNzBhYzkzMTQ5MmFlMWVk
YWFlMWU2YjVmY2FmN2Y5NThkODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95
YXJyL2dlbmVyYXRlWWFyclVuaWNvZGVQcm9wZXJ0eVRhYmxlcy5weQorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUveWFyci9nZW5lcmF0ZVlhcnJVbmljb2RlUHJvcGVydHlUYWJsZXMucHkKQEAg
LTU1MSw3ICs1NTEsNyBAQCBjbGFzcyBQcm9wZXJ0eURhdGE6CiAgICAgICAgIGZvciBwcm9wZXJ0
eURhdGEgaW4gY2xzLmFsbFByb3BlcnR5RGF0YToKICAgICAgICAgICAgIHByb3BlcnR5RGF0YS5k
dW1wKGZpbGUsIHByb3BlcnR5RGF0YSAhPSBjbHMuYWxsUHJvcGVydHlEYXRhWy0xXSkKIAotICAg
ICAgICBmaWxlLndyaXRlKCJ0eXBlZGVmIHN0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFzcz4g
KCpDcmVhdGVDaGFyYWN0ZXJDbGFzcykoKTtcbiIpCisgICAgICAgIGZpbGUud3JpdGUoInVzaW5n
IENyZWF0ZUNoYXJhY3RlckNsYXNzID0gc3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNsYXNzPiAo
KikoKTtcbiIpCiAgICAgICAgIGZpbGUud3JpdGUoInN0YXRpYyBDcmVhdGVDaGFyYWN0ZXJDbGFz
cyBjcmVhdGVGdW5jdGlvbnNbe31dID0ge3tcbiAgICIuZm9ybWF0KGxlbihjbHMuYWxsUHJvcGVy
dHlEYXRhKSkpCiAgICAgICAgIGZ1bmN0aW9uc09uVGhpc0xpbmUgPSAwCiAgICAgICAgIGZvciBw
cm9wZXJ0eURhdGEgaW4gY2xzLmFsbFByb3BlcnR5RGF0YToKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbApp
bmRleCBiNTJlOTY2NjdlODllZmFkMjFhMmRjYTQ3NDJjMTYwNjUxNzIyZGZjLi4yODAxODNjZmU5
YWIwOTkzYzQ0MDk5ZDY1ZGYxMjUzNzhhZWNjNjQyIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvbWFrZXByb3AucGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCkBA
IC02MTgsNyArNjE4LDcgQEAgaW5saW5lIENTU1Byb3BlcnR5SUQgY29udmVydFRvQ1NTUHJvcGVy
dHlJRChpbnQgdmFsdWUpCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIG5hbWVzcGFjZSBXVEYg
ewotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6Q1NTUHJvcGVydHlJRD4g
eyB0eXBlZGVmIEludEhhc2g8dW5zaWduZWQ+IEhhc2g7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBE
ZWZhdWx0SGFzaDxXZWJDb3JlOjpDU1NQcm9wZXJ0eUlEPiB7IHVzaW5nIEhhc2ggPSBJbnRIYXNo
PHVuc2lnbmVkPjsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6Q1NT
UHJvcGVydHlJRD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJDb3JlOjpDU1NQcm9wZXJ0eUlEPiB7
CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IHRydWU7CiAgICAgc3Rh
dGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQmIHNs
b3QpIHsgc2xvdCA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQ+KFdlYkNvcmU6
Omxhc3RDU1NQcm9wZXJ0eSArIDEpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
bWFrZV9uYW1lcy5wbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCmluZGV4IGI1
Mzg5MjY1YmFhNmQ0NTkwM2MxNTk3ZjY1NGU4ZDVlZWU0M2ZlZWUuLjhkMjZlMDk4NGQwYWEyN2Fj
MzI4NTcxYTRhODNhM2MxZjY1MTgwNDUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9t
YWtlX25hbWVzLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCkBAIC01
NDIsOSArNTQyLDcgQEAgc3ViIHByaW50SGVhZGVySGVhZAogICAgIG15ICgkRiwgJHByZWZpeCwg
JG5hbWVzcGFjZSwgJGluY2x1ZGVzLCAkZGVmaW5pdGlvbnMpID0gQF87CiAKICAgICBwcmludCBG
PDxFTkQKLSNpZm5kZWYgJHtwcmVmaXh9XyR7bmFtZXNwYWNlfU5hbWVzX2gKLQotI2RlZmluZSAk
e3ByZWZpeH1fJHtuYW1lc3BhY2V9TmFtZXNfaAorI3ByYWdtYSBvbmNlCiAKICRpbmNsdWRlcwog
CkBAIC01ODMsNyArNTgxLDYgQEAgc3ViIHByaW50SW5pdAogICAgIGlmICgkaXNEZWZpbml0aW9u
KSB7CiAgICAgICAgIHByaW50IEYgIlxuV0VCQ09SRV9FWFBPUlQgdm9pZCBpbml0KCk7XG5cbiI7
CiAgICAgICAgIHByaW50IEYgIn0gfVxuXG4iOwotICAgICAgICBwcmludCBGICIjZW5kaWZcblxu
IjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNjk1LDE0ICs2OTIsMTEgQEAgc3ViIHBy
aW50VHlwZUhlbHBlcnNIZWFkZXJGaWxlCiAgICAgb3BlbiBGLCAiPiRoZWFkZXJQYXRoIjsKICAg
ICBwcmludExpY2Vuc2VIZWFkZXIoJEYpOwogCi0gICAgcHJpbnQgRiAiI2lmbmRlZiAiLiRwYXJh
bWV0ZXJze25hbWVzcGFjZX0uIkVsZW1lbnRUeXBlSGVscGVyc19oXG4iOwotICAgIHByaW50IEYg
IiNkZWZpbmUgIi4kcGFyYW1ldGVyc3tuYW1lc3BhY2V9LiJFbGVtZW50VHlwZUhlbHBlcnNfaFxu
XG4iOworICAgIHByaW50IEYgIiNwcmFnbWEgb25jZVxuXG4iOwogICAgIHByaW50IEYgIiNpbmNs
dWRlIFwiIi4kcGFyYW1ldGVyc3tuYW1lc3BhY2V9LiJOYW1lcy5oXCJcblxuIjsKIAogICAgIHBy
aW50VHlwZUhlbHBlcnMoJEYsIFwlYWxsVGFncyk7CiAKLSAgICBwcmludCBGICIjZW5kaWZcbiI7
Ci0KICAgICBjbG9zZSBGOwogfQogCkBAIC05NjcsNyArOTYxLDcgQEAgRU5ECiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotdHlwZWRlZiBSZWY8JHBhcmFtZXRlcnN7bmFtZXNwYWNlfUVsZW1lbnQ+
ICgqJHBhcmFtZXRlcnN7bmFtZXNwYWNlfUNvbnN0cnVjdG9yRnVuY3Rpb24pKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYkZm9ybUVsZW1lbnRBcmd1bWVudEZvckRlY2xhcmF0aW9uLCBi
b29sIGNyZWF0ZWRCeVBhcnNlcik7Cit1c2luZyAkcGFyYW1ldGVyc3tuYW1lc3BhY2V9Q29uc3Ry
dWN0b3JGdW5jdGlvbiA9IFJlZjwkcGFyYW1ldGVyc3tuYW1lc3BhY2V9RWxlbWVudD4gKCopKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYkZm9ybUVsZW1lbnRBcmd1bWVudEZvckRlY2xh
cmF0aW9uLCBib29sIGNyZWF0ZWRCeVBhcnNlcik7CiAKIEVORAogICAgIDsKQEAgLTEwODcsOCAr
MTA4MSw3IEBAIHN1YiBwcmludEZhY3RvcnlIZWFkZXJGaWxlCiAgICAgcHJpbnRMaWNlbnNlSGVh
ZGVyKCRGKTsKIAogICAgIHByaW50IEY8PEVORAotI2lmbmRlZiAkcGFyYW1ldGVyc3tuYW1lc3Bh
Y2V9RWxlbWVudEZhY3RvcnlfaAotI2RlZmluZSAkcGFyYW1ldGVyc3tuYW1lc3BhY2V9RWxlbWVu
dEZhY3RvcnlfaAorI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCkBA
IC0xMTI2LDggKzExMTksNiBAQCBwcmludGYgRjw8RU5ECiAKIH0KIAotI2VuZGlmIC8vICRwYXJh
bWV0ZXJze25hbWVzcGFjZX1FbGVtZW50RmFjdG9yeV9oCi0KIEVORAogOwogCkBAIC0xMjQ3LDcg
KzEyMzgsNyBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LXR5cGVkZWYgSlNET01PYmplY3QqICgqQ3JlYXRlJHBhcmFtZXRlcnN7bmFtZXNwYWNlfUVsZW1l
bnRXcmFwcGVyRnVuY3Rpb24pKEpTRE9NR2xvYmFsT2JqZWN0KiwgUmVmPCRwYXJhbWV0ZXJze25h
bWVzcGFjZX1FbGVtZW50PiYmKTsKK3VzaW5nIENyZWF0ZSRwYXJhbWV0ZXJze25hbWVzcGFjZX1F
bGVtZW50V3JhcHBlckZ1bmN0aW9uID0gSlNET01PYmplY3QqICgqKShKU0RPTUdsb2JhbE9iamVj
dCosIFJlZjwkcGFyYW1ldGVyc3tuYW1lc3BhY2V9RWxlbWVudD4mJik7CiAKIEVORAogOwpAQCAt
MTMzOCwxMCArMTMyOSw3IEBAIHN1YiBwcmludFdyYXBwZXJGYWN0b3J5SGVhZGVyRmlsZQogCiAg
ICAgcHJpbnRMaWNlbnNlSGVhZGVyKCRGKTsKIAotICAgIHByaW50IEYgIiNpZm5kZWYgSlMkcGFy
YW1ldGVyc3tuYW1lc3BhY2V9RWxlbWVudFdyYXBwZXJGYWN0b3J5X2hcbiI7Ci0gICAgcHJpbnQg
RiAiI2RlZmluZSBKUyRwYXJhbWV0ZXJze25hbWVzcGFjZX1FbGVtZW50V3JhcHBlckZhY3Rvcnlf
aFxuXG4iOwotCi0gICAgcHJpbnQgRiAiI2lmICRwYXJhbWV0ZXJze2d1YXJkRmFjdG9yeVdpdGh9
XG4iIGlmICRwYXJhbWV0ZXJze2d1YXJkRmFjdG9yeVdpdGh9OworICAgIHByaW50IEYgIiNwcmFn
bWEgb25jZVxuXG4iOwogCiAgICAgcHJpbnQgRiA8PEVORAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CkBAIC0xMzU5LDkgKzEzNDcsNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBFTkQKICAgICA7
CiAKLSAgICBwcmludCBGICIjZW5kaWYgLy8gJHBhcmFtZXRlcnN7Z3VhcmRGYWN0b3J5V2l0aH1c
blxuIiBpZiAkcGFyYW1ldGVyc3tndWFyZEZhY3RvcnlXaXRofTsKLQotICAgIHByaW50IEYgIiNl
bmRpZiAvLyBKUyRwYXJhbWV0ZXJze25hbWVzcGFjZX1FbGVtZW50V3JhcHBlckZhY3RvcnlfaFxu
IjsKLQogICAgIGNsb3NlIEY7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdl
cy5weQppbmRleCAzZmRkODA0OWQ0OTYwOGJhZWQwYWUwNmU2ZWJkMDcxNGMxNzg2OTJhLi5jNGE0
OWNjYjRmOGJmZTlhNjk5M2QyZmEwOTVlMjYwZWI0NDQ4YWVlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2Ny
aXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTE0MCw3ICsxNDAsNyBAQCBkZWYgbWVzc2FnZV90
b19zdHJ1Y3RfZGVjbGFyYXRpb24ocmVjZWl2ZXIsIG1lc3NhZ2UpOgogCiAgICAgcmVzdWx0LmFw
cGVuZCgnY2xhc3MgJXMge1xuJyAlIG1lc3NhZ2UubmFtZSkKICAgICByZXN1bHQuYXBwZW5kKCdw
dWJsaWM6XG4nKQotICAgIHJlc3VsdC5hcHBlbmQoJyAgICB0eXBlZGVmICVzIEFyZ3VtZW50cztc
bicgJSBhcmd1bWVudHNfdHlwZShtZXNzYWdlKSkKKyAgICByZXN1bHQuYXBwZW5kKCcgICAgdXNp
bmcgQXJndW1lbnRzID0gJXM7XG4nICUgYXJndW1lbnRzX3R5cGUobWVzc2FnZSkpCiAgICAgcmVz
dWx0LmFwcGVuZCgnXG4nKQogICAgIHJlc3VsdC5hcHBlbmQoJyAgICBzdGF0aWMgSVBDOjpNZXNz
YWdlTmFtZSBuYW1lKCkgeyByZXR1cm4gSVBDOjpNZXNzYWdlTmFtZTo6JXNfJXM7IH1cbicgJSAo
cmVjZWl2ZXIubmFtZSwgbWVzc2FnZS5uYW1lKSkKICAgICByZXN1bHQuYXBwZW5kKCcgICAgc3Rh
dGljIGNvbnN0IGJvb2wgaXNTeW5jID0gJXM7XG4nICUgKCdmYWxzZScsICd0cnVlJylbbWVzc2Fn
ZS5yZXBseV9wYXJhbWV0ZXJzICE9IE5vbmUgYW5kIG5vdCBtZXNzYWdlLmhhc19hdHRyaWJ1dGUo
QVNZTkNfQVRUUklCVVRFKV0pCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400899</attachid>
            <date>2020-06-02 23:05:49 -0700</date>
            <delta_ts>2020-06-03 07:29:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190714-20200603080544.patch</filename>
            <type>text/plain</type>
            <size>42918</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
NDY1ZDY2YjVkNjhhMzBhYzgyMTg4ZDQzNThjMDA2YWExZjdhMjZhLi5mNTc0YzE3NzIyOGQ2MTNk
YWM5MjliOGRkNzZlMTRmMDE4NTU4MGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAyMC0wNi0wMiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIE1ha2UgZ2VuZXJhdGVkIEMrKyBjb2RlIHVzZSBtb2Rlcm4gQysrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA3MTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgaW5zcGVjdG9yIHBy
b3RvY29sIGdlbmVyYXRvciBhbmQgcmViYXNlbGluZSB0aGUgdGVzdHMuCisKKyAgICAgICAgKiBp
bnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5OgorICAg
ICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5
cGVzX2hlYWRlci5weToKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3Rl
ZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBp
bnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNh
bGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29tbWFuZC1zaXplcy5q
c29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9l
bnVtLXZhbHVlcy5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC9ldmVudHMtd2l0aC1vcHRpb25hbC1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0Ogor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3NhbWUtdHlwZS1pZC1k
aWZmZXJlbnQtZG9tYWluLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYWxpYXNlZC1wcmltaXRpdmUtdHlwZS5q
c29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90
eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNv
bi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlw
ZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpz
b24tcmVzdWx0OgorICAgICAgICAqIHlhcnIvZ2VuZXJhdGVZYXJyVW5pY29kZVByb3BlcnR5VGFi
bGVzLnB5OgorCiAyMDIwLTA2LTAyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAog
ICAgICAgICBFbmhhbmNlIERvZXNHQyB2ZXJpZmljYXRpb24gdG8gcHJpbnQgbW9yZSB1c2VmdWwg
aW5mbyB3aGVuIHZlcmlmaWNhdGlvbiBmYWlscy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlMTUxN2UxNTVkMjgy
NWQ2ZWQ4ZmJkZmNlYzMyOTI1MDRlODQxMDkzLi43NWEyNWRhODA0MmI2ODlkMDZhMzUxM2QyNmQ2
ZmRhMWM1NmExNjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDYtMDIgIFJv
YiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBNYWtlIGdlbmVyYXRlZCBDKysg
Y29kZSB1c2UgbW9kZXJuIEMrKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkwNzE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVwbGFjZSB0eXBlZGVmIHVzYWdlIGJ5IGFsaWFzLWRlY2xhcmF0aW9uLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAg
ICogY3NzL21ha2Vwcm9wLnBsOgorICAgICAgICAqIGRvbS9tYWtlX25hbWVzLnBsOgorICAgICAg
ICAocHJpbnRIZWFkZXJIZWFkKToKKyAgICAgICAgKHByaW50SW5pdCk6CisgICAgICAgIChwcmlu
dFR5cGVIZWxwZXJzSGVhZGVyRmlsZSk6CisgICAgICAgIChwcmludEZhY3RvcnlDcHBGaWxlKToK
KyAgICAgICAgKHByaW50RmFjdG9yeUhlYWRlckZpbGUpOgorICAgICAgICAocHJpbnRXcmFwcGVy
RmFjdG9yeUNwcEZpbGUpOgorICAgICAgICAocHJpbnRXcmFwcGVyRmFjdG9yeUhlYWRlckZpbGUp
OgorCiAyMDIwLTA2LTAyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIEV2ZW50UmVnaW9uOjp0cmFuc2xhdGUoKSBuZWVkcyB0byBvZmZzZXQgdGhlIHdo
ZWVsIGV2ZW50IHJlZ2lvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTU2YmE3MjUzOGU1N2I0NGE3Y2U1MzA2ZmNk
MzAwN2FhMDFmNDdkNy4uOGM4NjE4MTliMWJjMGI1Zjg0MWI4MDhjNmFmNDhjNjBlNDljYWU2YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wNi0wMiAgUm9iIEJ1aXMgIDxyYnVpc0Bp
Z2FsaWEuY29tPgorCisgICAgICAgIE1ha2UgZ2VuZXJhdGVkIEMrKyBjb2RlIHVzZSBtb2Rlcm4g
QysrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA3
MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBs
YWNlIHR5cGVkZWYgdXNhZ2UgYnkgYWxpYXMtZGVjbGFyYXRpb24uCisKKyAgICAgICAgKiBTY3Jp
cHRzL3Rlc3QtbGVnYWN5TWVzc2FnZXMuaDoKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3Qtc3VwZXJj
bGFzc01lc3NhZ2VzLmg6CisgICAgICAgICogU2NyaXB0cy90ZXN0TWVzc2FnZXMuaDoKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weToKKwogMjAyMC0wNi0wMiAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFdLUHJvY2Vzc0Fzc2VydGlv
bkJhY2tncm91bmRUYXNrTWFuYWdlciBpbmNvcnJlY3RseSBpZ25vcmVzIGV4cGlyYXRpb24gbm90
aWZpY2F0aW9ucyBmb3IgZGFlbW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJh
dG9yX3RlbXBsYXRlcy5weQppbmRleCBkMGM3YmU2ZDQ5MTY4Y2E2OTM1M2VkYzQyZjNiMmI1ZjIz
NGQzY2U4Li4wODJiZTMzZjE1ZGUyNWJlODg5NTdjYjE0MjI5MzUyMDM2ZWUyMmNmIDEwMDc1NQot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBf
Z2VuZXJhdG9yX3RlbXBsYXRlcy5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQpAQCAtMTM5LDgg
KzEzOSw4IEBAICR7ZGlzcGF0Y2hDYXNlc30KICAgICBSZWZQdHI8SlNPTjo6T2JqZWN0PiBwYXJh
bWV0ZXJzOwogICAgIG1lc3NhZ2UtPmdldE9iamVjdCgicGFyYW1zIl9zLCBwYXJhbWV0ZXJzKTsK
IAotICAgIHR5cGVkZWYgdm9pZCAoJHtkb21haW5OYW1lfUJhY2tlbmREaXNwYXRjaGVyOjoqQ2Fs
bEhhbmRsZXIpKGxvbmcgcmVxdWVzdElkLCBSZWZQdHI8SlNPTjo6T2JqZWN0PiYmIG1lc3NhZ2Up
OwotICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIENhbGxIYW5kbGVyPiBEaXNwYXRjaE1hcDsK
KyAgICB1c2luZyBDYWxsSGFuZGxlciA9IHZvaWQgKCR7ZG9tYWluTmFtZX1CYWNrZW5kRGlzcGF0
Y2hlcjo6KikobG9uZyByZXF1ZXN0SWQsIFJlZlB0cjxKU09OOjpPYmplY3Q+JiYgbWVzc2FnZSk7
CisgICAgdXNpbmcgRGlzcGF0Y2hNYXAgPSBIYXNoTWFwPFN0cmluZywgQ2FsbEhhbmRsZXI+Owog
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxEaXNwYXRjaE1hcD4gZGlzcGF0Y2hNYXA7CiAgICAg
aWYgKGRpc3BhdGNoTWFwLmdldCgpLmlzRW1wdHkoKSkgewogICAgICAgICBzdGF0aWMgY29uc3Qg
c3RydWN0IE1ldGhvZFRhYmxlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19oZWFk
ZXIucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9n
ZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVhZGVyLnB5CmluZGV4IDJiYmQ0MmQ2N2E3OWYy
NDBhZjBlOTJmN2FkMzk1OTdiNDY4MWZkNDIuLjE5ZmQwY2EwNDEyYmNmYjEyZWY1OTI3MTZmYjVl
MTU3Yjc0OTMzOGIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
c2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJh
dGVfY3BwX3Byb3RvY29sX3R5cGVzX2hlYWRlci5weQpAQCAtMTY5LDcgKzE2OSw3IEBAIGNsYXNz
IENwcFByb3RvY29sVHlwZXNIZWFkZXJHZW5lcmF0b3IoQ3BwR2VuZXJhdG9yKToKICAgICAgICAg
ICAgIHR5cGVkZWZfbGluZXMgPSBbXQogICAgICAgICAgICAgaWYgbGVuKGRlY2xhcmF0aW9uLmRl
c2NyaXB0aW9uKSA+IDA6CiAgICAgICAgICAgICAgICAgdHlwZWRlZl9saW5lcy5hcHBlbmQoJy8q
ICVzICovJyAlIGRlY2xhcmF0aW9uLmRlc2NyaXB0aW9uKQotICAgICAgICAgICAgdHlwZWRlZl9s
aW5lcy5hcHBlbmQoJ3R5cGVkZWYgJXMgJXM7JyAlIChwcmltaXRpdmVfbmFtZSwgZGVjbGFyYXRp
b24udHlwZV9uYW1lKSkKKyAgICAgICAgICAgIHR5cGVkZWZfbGluZXMuYXBwZW5kKCd1c2luZyAl
cyA9ICVzOycgJSAoZGVjbGFyYXRpb24udHlwZV9uYW1lLCBwcmltaXRpdmVfbmFtZSkpCiAgICAg
ICAgICAgICBzZWN0aW9ucy5hcHBlbmQoc2VsZi53cmFwX3dpdGhfZ3VhcmRfZm9yX2NvbmRpdGlv
bihkZWNsYXJhdGlvbi5jb25kaXRpb24sICdcbicuam9pbih0eXBlZGVmX2xpbmVzKSkpCiAKICAg
ICAgICAgZm9yIGRlY2xhcmF0aW9uIGluIGFycmF5X2RlY2xhcmF0aW9uczoKQEAgLTE3Nyw3ICsx
NzcsNyBAQCBjbGFzcyBDcHBQcm90b2NvbFR5cGVzSGVhZGVyR2VuZXJhdG9yKENwcEdlbmVyYXRv
cik6CiAgICAgICAgICAgICB0eXBlZGVmX2xpbmVzID0gW10KICAgICAgICAgICAgIGlmIGxlbihk
ZWNsYXJhdGlvbi5kZXNjcmlwdGlvbikgPiAwOgogICAgICAgICAgICAgICAgIHR5cGVkZWZfbGlu
ZXMuYXBwZW5kKCcvKiAlcyAqLycgJSBkZWNsYXJhdGlvbi5kZXNjcmlwdGlvbikKLSAgICAgICAg
ICAgIHR5cGVkZWZfbGluZXMuYXBwZW5kKCd0eXBlZGVmIEpTT046OkFycmF5T2Y8JXM+ICVzOycg
JSAoZWxlbWVudF90eXBlLCBkZWNsYXJhdGlvbi50eXBlX25hbWUpKQorICAgICAgICAgICAgdHlw
ZWRlZl9saW5lcy5hcHBlbmQoJ3VzaW5nICVzID0gSlNPTjo6QXJyYXlPZjwlcz47JyAlIChkZWNs
YXJhdGlvbi50eXBlX25hbWUsIGVsZW1lbnRfdHlwZSkpCiAgICAgICAgICAgICBzZWN0aW9ucy5h
cHBlbmQoc2VsZi53cmFwX3dpdGhfZ3VhcmRfZm9yX2NvbmRpdGlvbihkZWNsYXJhdGlvbi5jb25k
aXRpb24sICdcbicuam9pbih0eXBlZGVmX2xpbmVzKSkpCiAKICAgICAgICAgbGluZXMgPSBbXQpA
QCAtNDg2LDcgKzQ4Niw3IEBAIGNsYXNzIENwcFByb3RvY29sVHlwZXNIZWFkZXJHZW5lcmF0b3Io
Q3BwR2VuZXJhdG9yKToKICAgICAgICAgICAgICAgICBlbnVtX2xpbmVzID0gW10KICAgICAgICAg
ICAgICAgICBlbnVtX2xpbmVzLmFwcGVuZCgndGVtcGxhdGU8PicpCiAgICAgICAgICAgICAgICAg
ZW51bV9saW5lcy5hcHBlbmQoJ3N0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlByb3RvY29s
Ojolczo6JXM+IHsnICUgKGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90eXBlLnJhd19uYW1lKCkp
KQotICAgICAgICAgICAgICAgIGVudW1fbGluZXMuYXBwZW5kKCcgICAgdHlwZWRlZiBJbnRIYXNo
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OiVzOjolcz4gSGFzaDsnICUgKGRvbWFpbi5kb21haW5fbmFt
ZSwgZW51bV90eXBlLnJhd19uYW1lKCkpKQorICAgICAgICAgICAgICAgIGVudW1fbGluZXMuYXBw
ZW5kKCcgICAgdXNpbmcgSGFzaCA9IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6JXM6OiVz
PjsnICUgKGRvbWFpbi5kb21haW5fbmFtZSwgZW51bV90eXBlLnJhd19uYW1lKCkpKQogICAgICAg
ICAgICAgICAgIGVudW1fbGluZXMuYXBwZW5kKCd9OycpCiAgICAgICAgICAgICAgICAgZG9tYWlu
X2xpbmVzLmFwcGVuZChzZWxmLndyYXBfd2l0aF9ndWFyZF9mb3JfY29uZGl0aW9uKGVudW1fdHlw
ZS5kZWNsYXJhdGlvbigpLmNvbmRpdGlvbiwgJ1xuJy5qb2luKGVudW1fbGluZXMpKSkKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4
cGVjdGVkL2NvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRlLmpzb24tcmVzdWx0IGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2NvbW1hbmRz
LXdpdGgtYXN5bmMtYXR0cmlidXRlLmpzb24tcmVzdWx0CmluZGV4IDgyYzU5MDZjMTdiYTBhYjEx
NWI1YTFjM2ZkZWY1NDQzMGI1Nzc0YjAuLjE2ZWMyNDcyZmQ3YzcxYmE0YjU5NWNlMjMyMjUyNjYz
NDhmYWQ0NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJl
c3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
ZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQKQEAgLTYx
OCw4ICs2MTgsOCBAQCBlbnVtIGNsYXNzIFByaW1hcnlDb2xvcnM7CiAvLyBUeXBlZGVmcy4KIG5h
bWVzcGFjZSBEYXRhYmFzZSB7CiAvKiBVbmlxdWUgaWRlbnRpZmllciBvZiBEYXRhYmFzZSBvYmpl
Y3QuICovCi10eXBlZGVmIGludCBEYXRhYmFzZUlkOwotdHlwZWRlZiBKU09OOjpBcnJheU9mPElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpQcmltYXJ5Q29sb3JzPiBDb2xvckxpc3Q7Cit1
c2luZyBEYXRhYmFzZUlkID0gaW50OwordXNpbmcgQ29sb3JMaXN0ID0gSlNPTjo6QXJyYXlPZjxJ
bnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJpbWFyeUNvbG9ycz47CiB9IC8vIERhdGFi
YXNlCiAvLyBFbmQgb2YgdHlwZWRlZnMuCiAKQEAgLTczNCw3ICs3MzQsNyBAQCB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAvLyBIYXNoIGRlY2xhcmF0aW9ucyBpbiB0
aGUgJ0RhdGFiYXNlJyBEb21haW4KIHRlbXBsYXRlPD4KIHN0cnVjdCBEZWZhdWx0SGFzaDxJbnNw
ZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJpbWFyeUNvbG9ycz4gewotICAgIHR5cGVkZWYg
SW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6UHJpbWFyeUNvbG9ycz4gSGFz
aDsKKyAgICB1c2luZyBIYXNoID0gSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFz
ZTo6UHJpbWFyeUNvbG9ycz47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9j
b21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQv
Y29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0
CmluZGV4IDViNDdjYzAyZGRlOWFiZTcwODJiMmQ3NzgzZDRhZTIxN2FlYzVhYjEuLmQ0YWFkMGIw
ZWE0NDYzMDUyNDgwZWUzMGJiOWQyYWVlYmYwZWU5MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRo
LW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2NvbW1hbmRz
LXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVycy5qc29uLXJlc3VsdApAQCAtNTI5
LDggKzUyOSw4IEBAIGVudW0gY2xhc3MgUHJpbWFyeUNvbG9yczsKIC8vIFR5cGVkZWZzLgogbmFt
ZXNwYWNlIERhdGFiYXNlIHsKIC8qIFVuaXF1ZSBpZGVudGlmaWVyIG9mIERhdGFiYXNlIG9iamVj
dC4gKi8KLXR5cGVkZWYgaW50IERhdGFiYXNlSWQ7Ci10eXBlZGVmIEpTT046OkFycmF5T2Y8SW5z
cGVjdG9yOjpQcm90b2NvbDo6RGF0YWJhc2U6OlByaW1hcnlDb2xvcnM+IENvbG9yTGlzdDsKK3Vz
aW5nIERhdGFiYXNlSWQgPSBpbnQ7Cit1c2luZyBDb2xvckxpc3QgPSBKU09OOjpBcnJheU9mPElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpQcmltYXJ5Q29sb3JzPjsKIH0gLy8gRGF0YWJh
c2UKIC8vIEVuZCBvZiB0eXBlZGVmcy4KIApAQCAtNjQ1LDcgKzY0NSw3IEBAIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKIC8vIEhhc2ggZGVjbGFyYXRpb25zIGluIHRo
ZSAnRGF0YWJhc2UnIERvbWFpbgogdGVtcGxhdGU8Pgogc3RydWN0IERlZmF1bHRIYXNoPEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpQcmltYXJ5Q29sb3JzPiB7Ci0gICAgdHlwZWRlZiBJ
bnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpQcmltYXJ5Q29sb3JzPiBIYXNo
OworICAgIHVzaW5nIEhhc2ggPSBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNl
OjpQcmltYXJ5Q29sb3JzPjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2Rv
bWFpbnMtd2l0aC12YXJ5aW5nLWNvbW1hbmQtc2l6ZXMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZG9tYWlucy13aXRo
LXZhcnlpbmctY29tbWFuZC1zaXplcy5qc29uLXJlc3VsdAppbmRleCBiYjE4YzQwNDg4NDRlODc2
YjNmYWQ3NmQ3NDJkMmFiMjlhNjI4MDA1Li5lNThkNGRkOTdlOTliY2I3MDcyN2IyNTQ2NzZmZGI0
M2ZjNzE3OWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29tbWFuZC1zaXplcy5q
c29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29tbWFuZC1zaXplcy5qc29uLXJl
c3VsdApAQCAtMzM3LDggKzMzNyw4IEBAIHZvaWQgTmV0d29yazNCYWNrZW5kRGlzcGF0Y2hlcjo6
ZGlzcGF0Y2gobG9uZyByZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgbWV0aG9kLCBSCiAgICAgUmVm
UHRyPEpTT046Ok9iamVjdD4gcGFyYW1ldGVyczsKICAgICBtZXNzYWdlLT5nZXRPYmplY3QoInBh
cmFtcyJfcywgcGFyYW1ldGVycyk7CiAKLSAgICB0eXBlZGVmIHZvaWQgKE5ldHdvcmszQmFja2Vu
ZERpc3BhdGNoZXI6OipDYWxsSGFuZGxlcikobG9uZyByZXF1ZXN0SWQsIFJlZlB0cjxKU09OOjpP
YmplY3Q+JiYgbWVzc2FnZSk7Ci0gICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgQ2FsbEhhbmRs
ZXI+IERpc3BhdGNoTWFwOworICAgIHVzaW5nIENhbGxIYW5kbGVyID0gdm9pZCAoTmV0d29yazNC
YWNrZW5kRGlzcGF0Y2hlcjo6KikobG9uZyByZXF1ZXN0SWQsIFJlZlB0cjxKU09OOjpPYmplY3Q+
JiYgbWVzc2FnZSk7CisgICAgdXNpbmcgRGlzcGF0Y2hNYXAgPSBIYXNoTWFwPFN0cmluZywgQ2Fs
bEhhbmRsZXI+OwogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxEaXNwYXRjaE1hcD4gZGlzcGF0
Y2hNYXA7CiAgICAgaWYgKGRpc3BhdGNoTWFwLmdldCgpLmlzRW1wdHkoKSkgewogICAgICAgICBz
dGF0aWMgY29uc3Qgc3RydWN0IE1ldGhvZFRhYmxlIHsKQEAgLTYzNyw3ICs2MzcsNyBAQCBuYW1l
c3BhY2UgUHJvdG9jb2wgewogLy8gVHlwZWRlZnMuCiBuYW1lc3BhY2UgTmV0d29yazIgewogLyog
VW5pcXVlIGxvYWRlciBpZGVudGlmaWVyLiAqLwotdHlwZWRlZiBTdHJpbmcgTG9hZGVySWQ7Cit1
c2luZyBMb2FkZXJJZCA9IFN0cmluZzsKIH0gLy8gTmV0d29yazIKIC8vIEVuZCBvZiB0eXBlZGVm
cy4KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24t
cmVzdWx0CmluZGV4IDExNDgzMzliYjIxMGZjYzczOGZkZjhhNTM4ODllNjU2MmJkMWRkYzkuLjRl
OTA1ZjAzN2E5NmRhMjAyZDI1N2NlOGRhODE2NDc0N2IyZGU0N2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9lbnVtLXZh
bHVlcy5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZXhwZWN0ZWQvZW51bS12YWx1ZXMuanNvbi1yZXN1bHQKQEAgLTQ5Myw3ICs0
OTMsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAvLyBIYXNo
IGRlY2xhcmF0aW9ucyBpbiB0aGUgJ1R5cGVEb21haW4nIERvbWFpbgogdGVtcGxhdGU8Pgogc3Ry
dWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlR5cGVEb21haW46OlR5cGVEb21h
aW5FbnVtPiB7Ci0gICAgdHlwZWRlZiBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlR5cGVE
b21haW46OlR5cGVEb21haW5FbnVtPiBIYXNoOworICAgIHVzaW5nIEhhc2ggPSBJbnRIYXNoPElu
c3BlY3Rvcjo6UHJvdG9jb2w6OlR5cGVEb21haW46OlR5cGVEb21haW5FbnVtPjsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2V2ZW50cy13aXRoLW9wdGlvbmFsLXBhcmFtZXRl
cnMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFyYW1ldGVycy5qc29uLXJlc3Vs
dAppbmRleCBiODk0M2UwOTQ5ZDZhN2NjZmJhOTQ1NzVhOTc1YjhlZTg2MmVjMDVkLi45MGUxNGU4
YzdiYjRmMDUxNTEzY2JkN2MzYzZkYzdiOTZmY2MxYTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgt
b3B0aW9uYWwtcGFyYW1ldGVycy5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9uYWwt
cGFyYW1ldGVycy5qc29uLXJlc3VsdApAQCAtMzgyLDkgKzM4Miw5IEBAIGNsYXNzIEVycm9yOwog
Ly8gVHlwZWRlZnMuCiBuYW1lc3BhY2UgRGF0YWJhc2UgewogLyogVW5pcXVlIGlkZW50aWZpZXIg
b2YgRGF0YWJhc2Ugb2JqZWN0LiAqLwotdHlwZWRlZiBTdHJpbmcgRGF0YWJhc2VJZDsKLXR5cGVk
ZWYgU3RyaW5nIFByaW1hcnlDb2xvcnM7Ci10eXBlZGVmIEpTT046OkFycmF5T2Y8U3RyaW5nPiBD
b2xvckxpc3Q7Cit1c2luZyBEYXRhYmFzZUlkID0gU3RyaW5nOwordXNpbmcgUHJpbWFyeUNvbG9y
cyA9IFN0cmluZzsKK3VzaW5nIENvbG9yTGlzdCA9IEpTT046OkFycmF5T2Y8U3RyaW5nPjsKIH0g
Ly8gRGF0YWJhc2UKIC8vIEVuZCBvZiB0eXBlZGVmcy4KIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3NhbWUtdHlwZS1p
ZC1kaWZmZXJlbnQtZG9tYWluLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3NhbWUtdHlwZS1pZC1kaWZmZXJlbnQtZG9t
YWluLmpzb24tcmVzdWx0CmluZGV4IGFmZDBjNjZjMDhhNmU0ZGEwYzA0MThiYzFiZDM2Mjg5NTk5
MWFlMzEuLjQ1M2VmNmU0OTQ4ZWFiMDI1YWI1NjEzNzhkMmI4YWE5NGY1NWM4OGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3Rl
ZC9zYW1lLXR5cGUtaWQtZGlmZmVyZW50LWRvbWFpbi5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvc2FtZS10eXBl
LWlkLWRpZmZlcmVudC1kb21haW4uanNvbi1yZXN1bHQKQEAgLTMxMywxMiArMzEzLDEyIEBAIG5h
bWVzcGFjZSBQcm90b2NvbCB7CiAvLyBUeXBlZGVmcy4KIG5hbWVzcGFjZSBSdW50aW1lIHsKIC8q
IFVuaXF1ZSBvYmplY3QgaWRlbnRpZmllci4gKi8KLXR5cGVkZWYgU3RyaW5nIFJlbW90ZU9iamVj
dElkOwordXNpbmcgUmVtb3RlT2JqZWN0SWQgPSBTdHJpbmc7CiB9IC8vIFJ1bnRpbWUKIAogbmFt
ZXNwYWNlIFJ1bnRpbWUyIHsKIC8qIFVuaXF1ZSBvYmplY3QgaWRlbnRpZmllci4gKi8KLXR5cGVk
ZWYgU3RyaW5nIFJlbW90ZU9iamVjdElkOwordXNpbmcgUmVtb3RlT2JqZWN0SWQgPSBTdHJpbmc7
CiB9IC8vIFJ1bnRpbWUyCiAvLyBFbmQgb2YgdHlwZWRlZnMuCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRl
Y2xhcmF0aW9uLWFsaWFzZWQtcHJpbWl0aXZlLXR5cGUuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJh
dGlvbi1hbGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24tcmVzdWx0CmluZGV4IDI3MDAwYTExMWNh
Y2Q3N2M1NjI5NDA5YzA5MWY4ZDI0MTEwNmE5OGMuLjc5Y2I5ODU0NTlmODgyNDU2NzdjNWUzYzI2
MDVmNzM0NGUxMTZiZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFsaWFzZWQtcHJpbWl0
aXZlLXR5cGUuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYWxpYXNlZC1wcmltaXRp
dmUtdHlwZS5qc29uLXJlc3VsdApAQCAtMzEzLDcgKzMxMyw3IEBAIG5hbWVzcGFjZSBQcm90b2Nv
bCB7CiAvLyBUeXBlZGVmcy4KIG5hbWVzcGFjZSBSdW50aW1lIHsKIC8qIFVuaXF1ZSBvYmplY3Qg
aWRlbnRpZmllci4gKi8KLXR5cGVkZWYgaW50IFJlbW90ZU9iamVjdElkOwordXNpbmcgUmVtb3Rl
T2JqZWN0SWQgPSBpbnQ7CiB9IC8vIFJ1bnRpbWUKIC8vIEVuZCBvZiB0eXBlZGVmcy4KIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4
cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xh
cmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQKaW5kZXggZGViZmY3OTE4YmFiMTk1Yzc5NjAy
MWEzNzFlZjc2ZmU0YWY1YWM0ZS4uOWZhM2Q5MzRiNmYxNmVkNzRmZmI4MDdiOTFlMzE0NjQ3MzE3
Y2E4MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0
ZWQvdHlwZS1kZWNsYXJhdGlvbi1hcnJheS10eXBlLmpzb24tcmVzdWx0CkBAIC0zMjIsMTYgKzMy
MiwxNiBAQCBlbnVtIGNsYXNzIFJlYXNvbjsKIAogLy8gVHlwZWRlZnMuCiBuYW1lc3BhY2UgRGVi
dWdnZXIgewotdHlwZWRlZiBpbnQgQnJlYWtwb2ludElkOwordXNpbmcgQnJlYWtwb2ludElkID0g
aW50OwogfSAvLyBEZWJ1Z2dlcgogCiBuYW1lc3BhY2UgUnVudGltZSB7Ci10eXBlZGVmIGludCBP
YmplY3RJZDsKLXR5cGVkZWYgSlNPTjo6QXJyYXlPZjxpbnQ+IEx1Y2t5TnVtYmVyczsKLXR5cGVk
ZWYgSlNPTjo6QXJyYXlPZjxTdHJpbmc+IEJhYnlOYW1lczsKLXR5cGVkZWYgSlNPTjo6QXJyYXlP
ZjxpbnQ+IE5ld09iamVjdHM7Ci10eXBlZGVmIEpTT046OkFycmF5T2Y8aW50PiBPbGRPYmplY3Rz
OwotdHlwZWRlZiBKU09OOjpBcnJheU9mPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRlYnVnZ2VyOjpS
ZWFzb24+IFN0b3BSZWFzb25zOwordXNpbmcgT2JqZWN0SWQgPSBpbnQ7Cit1c2luZyBMdWNreU51
bWJlcnMgPSBKU09OOjpBcnJheU9mPGludD47Cit1c2luZyBCYWJ5TmFtZXMgPSBKU09OOjpBcnJh
eU9mPFN0cmluZz47Cit1c2luZyBOZXdPYmplY3RzID0gSlNPTjo6QXJyYXlPZjxpbnQ+OwordXNp
bmcgT2xkT2JqZWN0cyA9IEpTT046OkFycmF5T2Y8aW50PjsKK3VzaW5nIFN0b3BSZWFzb25zID0g
SlNPTjo6QXJyYXlPZjxJbnNwZWN0b3I6OlByb3RvY29sOjpEZWJ1Z2dlcjo6UmVhc29uPjsKIH0g
Ly8gUnVudGltZQogLy8gRW5kIG9mIHR5cGVkZWZzLgogCkBAIC0zODAsNyArMzgwLDcgQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERlZmF1bHRIYXNoOwogLy8gSGFzaCBkZWNsYXJhdGlv
bnMgaW4gdGhlICdEZWJ1Z2dlcicgRG9tYWluCiB0ZW1wbGF0ZTw+CiBzdHJ1Y3QgRGVmYXVsdEhh
c2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGVidWdnZXI6OlJlYXNvbj4gewotICAgIHR5cGVkZWYg
SW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEZWJ1Z2dlcjo6UmVhc29uPiBIYXNoOworICAg
IHVzaW5nIEhhc2ggPSBJbnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRlYnVnZ2VyOjpSZWFz
b24+OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlv
bi1lbnVtLXR5cGUuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbi1y
ZXN1bHQKaW5kZXggYWI3YTM5ODM2YWQ0ODdlOWQxYzcwMzc0NmM0MWY2MDBmZmRiMmNiZi4uODhi
ODY2OGYzOTIyMGM1YmFlOGVkMTA2MjQ2OTUwZmQwNzk5ZmM1OSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVj
bGFyYXRpb24tZW51bS10eXBlLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0t
dHlwZS5qc29uLXJlc3VsdApAQCAtMzc5LDExICszNzksMTEgQEAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gc3RydWN0IERlZmF1bHRIYXNoOwogLy8gSGFzaCBkZWNsYXJhdGlvbnMgaW4gdGhlICdSdW50
aW1lJyBEb21haW4KIHRlbXBsYXRlPD4KIHN0cnVjdCBEZWZhdWx0SGFzaDxJbnNwZWN0b3I6OlBy
b3RvY29sOjpSdW50aW1lOjpGYXJtQW5pbWFscz4gewotICAgIHR5cGVkZWYgSW50SGFzaDxJbnNw
ZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpGYXJtQW5pbWFscz4gSGFzaDsKKyAgICB1c2luZyBI
YXNoID0gSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpGYXJtQW5pbWFscz47
CiB9OwogdGVtcGxhdGU8Pgogc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6
OlJ1bnRpbWU6OlR3b0xlZ2dlZEFuaW1hbHM+IHsKLSAgICB0eXBlZGVmIEludEhhc2g8SW5zcGVj
dG9yOjpQcm90b2NvbDo6UnVudGltZTo6VHdvTGVnZ2VkQW5pbWFscz4gSGFzaDsKKyAgICB1c2lu
ZyBIYXNoID0gSW50SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpUd29MZWdnZWRB
bmltYWxzPjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFy
YXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlw
ZS5qc29uLXJlc3VsdAppbmRleCAwMDMxNGYzZmViYTIxYmY2NzRkZThkYTgwMjQxYjRmZTc0NjQ2
MWM2Li44YzgxNDM2MzNjYWNkYTBlYjBlYTA5MGM0NjJkZjczN2Q4YTE0OGE4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQv
dHlwZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJh
dGlvbi1vYmplY3QtdHlwZS5qc29uLXJlc3VsdApAQCAtMzMzLDcgKzMzMyw3IEBAIGNsYXNzIFBh
cmFtZXRlckJ1bmRsZTsKIAogLy8gVHlwZWRlZnMuCiBuYW1lc3BhY2UgRGF0YWJhc2UgewotdHlw
ZWRlZiBKU09OOjpBcnJheU9mPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRhdGFiYXNlOjpFcnJvcj4g
RXJyb3JMaXN0OwordXNpbmcgRXJyb3JMaXN0ID0gSlNPTjo6QXJyYXlPZjxJbnNwZWN0b3I6OlBy
b3RvY29sOjpEYXRhYmFzZTo6RXJyb3I+OwogfSAvLyBEYXRhYmFzZQogLy8gRW5kIG9mIHR5cGVk
ZWZzLgogCkBAIC05MDksNyArOTA5LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IERl
ZmF1bHRIYXNoOwogLy8gSGFzaCBkZWNsYXJhdGlvbnMgaW4gdGhlICdEYXRhYmFzZScgRG9tYWlu
CiB0ZW1wbGF0ZTw+CiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6RGF0
YWJhc2U6Ok1vdXNlQnV0dG9uPiB7Ci0gICAgdHlwZWRlZiBJbnRIYXNoPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OkRhdGFiYXNlOjpNb3VzZUJ1dHRvbj4gSGFzaDsKKyAgICB1c2luZyBIYXNoID0gSW50
SGFzaDxJbnNwZWN0b3I6OlByb3RvY29sOjpEYXRhYmFzZTo6TW91c2VCdXR0b24+OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVudGltZS1jYXN0
cy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0Cmlu
ZGV4IDAyMDA0NDE3YTAzNjc2MWI4ZmVkOWQ2ZDFmMzA4NjQzOTAyYjAwNjYuLjY3NmRlYjRkYjQw
Njc1NDRjYTAzYzM3MzZhMzc4OWRlNTJlMzBjNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1y
dW50aW1lLWNhc3RzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3Rz
Lmpzb24tcmVzdWx0CkBAIC0zMjcsOCArMzI3LDggQEAgZW51bSBjbGFzcyBDYXN0ZWRBbmltYWxz
OwogCiAvLyBUeXBlZGVmcy4KIG5hbWVzcGFjZSBUZXN0IHsKLXR5cGVkZWYgaW50IENhc3RlZE9i
amVjdElkOwotdHlwZWRlZiBpbnQgVW5jYXN0ZWRPYmplY3RJZDsKK3VzaW5nIENhc3RlZE9iamVj
dElkID0gaW50OwordXNpbmcgVW5jYXN0ZWRPYmplY3RJZCA9IGludDsKIH0gLy8gVGVzdAogLy8g
RW5kIG9mIHR5cGVkZWZzLgogCkBAIC01OTYsMTEgKzU5NiwxMSBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7CiAvLyBIYXNoIGRlY2xhcmF0aW9ucyBpbiB0aGUgJ1Rl
c3QnIERvbWFpbgogdGVtcGxhdGU8Pgogc3RydWN0IERlZmF1bHRIYXNoPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OlRlc3Q6OlVuY2FzdGVkQW5pbWFscz4gewotICAgIHR5cGVkZWYgSW50SGFzaDxJbnNw
ZWN0b3I6OlByb3RvY29sOjpUZXN0OjpVbmNhc3RlZEFuaW1hbHM+IEhhc2g7CisgICAgdXNpbmcg
SGFzaCA9IEludEhhc2g8SW5zcGVjdG9yOjpQcm90b2NvbDo6VGVzdDo6VW5jYXN0ZWRBbmltYWxz
PjsKIH07CiB0ZW1wbGF0ZTw+CiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SW5zcGVjdG9yOjpQcm90b2Nv
bDo6VGVzdDo6Q2FzdGVkQW5pbWFscz4gewotICAgIHR5cGVkZWYgSW50SGFzaDxJbnNwZWN0b3I6
OlByb3RvY29sOjpUZXN0OjpDYXN0ZWRBbmltYWxzPiBIYXNoOworICAgIHVzaW5nIEhhc2ggPSBJ
bnRIYXNoPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRlc3Q6OkNhc3RlZEFuaW1hbHM+OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFy
ci9nZW5lcmF0ZVlhcnJVbmljb2RlUHJvcGVydHlUYWJsZXMucHkgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUveWFyci9nZW5lcmF0ZVlhcnJVbmljb2RlUHJvcGVydHlUYWJsZXMucHkKaW5kZXggNTI2
ZmI2ZTdhYzNhMjI3YTZkNDNjYmJlZmQyNzAyZDFhMGM1NGNlOS4uNDhjNGE3MGFjOTMxNDkyYWUx
ZWRhYWUxZTZiNWZjYWY3Zjk1OGQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3lhcnIvZ2VuZXJhdGVZYXJyVW5pY29kZVByb3BlcnR5VGFibGVzLnB5CisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS95YXJyL2dlbmVyYXRlWWFyclVuaWNvZGVQcm9wZXJ0eVRhYmxlcy5weQpA
QCAtNTUxLDcgKzU1MSw3IEBAIGNsYXNzIFByb3BlcnR5RGF0YToKICAgICAgICAgZm9yIHByb3Bl
cnR5RGF0YSBpbiBjbHMuYWxsUHJvcGVydHlEYXRhOgogICAgICAgICAgICAgcHJvcGVydHlEYXRh
LmR1bXAoZmlsZSwgcHJvcGVydHlEYXRhICE9IGNscy5hbGxQcm9wZXJ0eURhdGFbLTFdKQogCi0g
ICAgICAgIGZpbGUud3JpdGUoInR5cGVkZWYgc3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNsYXNz
PiAoKkNyZWF0ZUNoYXJhY3RlckNsYXNzKSgpO1xuIikKKyAgICAgICAgZmlsZS53cml0ZSgidXNp
bmcgQ3JlYXRlQ2hhcmFjdGVyQ2xhc3MgPSBzdGQ6OnVuaXF1ZV9wdHI8Q2hhcmFjdGVyQ2xhc3M+
ICgqKSgpO1xuIikKICAgICAgICAgZmlsZS53cml0ZSgic3RhdGljIENyZWF0ZUNoYXJhY3RlckNs
YXNzIGNyZWF0ZUZ1bmN0aW9uc1t7fV0gPSB7e1xuICAgIi5mb3JtYXQobGVuKGNscy5hbGxQcm9w
ZXJ0eURhdGEpKSkKICAgICAgICAgZnVuY3Rpb25zT25UaGlzTGluZSA9IDAKICAgICAgICAgZm9y
IHByb3BlcnR5RGF0YSBpbiBjbHMuYWxsUHJvcGVydHlEYXRhOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBs
CmluZGV4IGI1MmU5NjY2N2U4OWVmYWQyMWEyZGNhNDc0MmMxNjA2NTE3MjJkZmMuLjI4MDE4M2Nm
ZTlhYjA5OTNjNDQwOTlkNjVkZjEyNTM3OGFlY2M2NDIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9tYWtlcHJvcC5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwK
QEAgLTYxOCw3ICs2MTgsNyBAQCBpbmxpbmUgQ1NTUHJvcGVydHlJRCBjb252ZXJ0VG9DU1NQcm9w
ZXJ0eUlEKGludCB2YWx1ZSkKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogbmFtZXNwYWNlIFdU
RiB7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpDU1NQcm9wZXJ0eUlE
PiB7IHR5cGVkZWYgSW50SGFzaDx1bnNpZ25lZD4gSGFzaDsgfTsKK3RlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQ+IHsgdXNpbmcgSGFzaCA9IEludEhh
c2g8dW5zaWduZWQ+OyB9OwogdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpD
U1NQcm9wZXJ0eUlEPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQ+
IHsKICAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gdHJ1ZTsKICAgICBz
dGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoV2ViQ29yZTo6Q1NTUHJvcGVydHlJRCYg
c2xvdCkgeyBzbG90ID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6Q1NTUHJvcGVydHlJRD4oV2ViQ29y
ZTo6bGFzdENTU1Byb3BlcnR5ICsgMSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9tYWtlX25hbWVzLnBsIGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKaW5kZXgg
YjUzODkyNjViYWE2ZDQ1OTAzYzE1OTdmNjU0ZThkNWVlZTQzZmVlZS4uOGQyNmUwOTg0ZDBhYTI3
YWMzMjg1NzFhNGE4M2EzYzFmNjUxODA0NSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L21ha2VfbmFtZXMucGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKQEAg
LTU0Miw5ICs1NDIsNyBAQCBzdWIgcHJpbnRIZWFkZXJIZWFkCiAgICAgbXkgKCRGLCAkcHJlZml4
LCAkbmFtZXNwYWNlLCAkaW5jbHVkZXMsICRkZWZpbml0aW9ucykgPSBAXzsKIAogICAgIHByaW50
IEY8PEVORAotI2lmbmRlZiAke3ByZWZpeH1fJHtuYW1lc3BhY2V9TmFtZXNfaAotCi0jZGVmaW5l
ICR7cHJlZml4fV8ke25hbWVzcGFjZX1OYW1lc19oCisjcHJhZ21hIG9uY2UKIAogJGluY2x1ZGVz
CiAKQEAgLTU4Myw3ICs1ODEsNiBAQCBzdWIgcHJpbnRJbml0CiAgICAgaWYgKCRpc0RlZmluaXRp
b24pIHsKICAgICAgICAgcHJpbnQgRiAiXG5XRUJDT1JFX0VYUE9SVCB2b2lkIGluaXQoKTtcblxu
IjsKICAgICAgICAgcHJpbnQgRiAifSB9XG5cbiI7Ci0gICAgICAgIHByaW50IEYgIiNlbmRpZlxu
XG4iOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC02OTUsMTQgKzY5MiwxMSBAQCBzdWIg
cHJpbnRUeXBlSGVscGVyc0hlYWRlckZpbGUKICAgICBvcGVuIEYsICI+JGhlYWRlclBhdGgiOwog
ICAgIHByaW50TGljZW5zZUhlYWRlcigkRik7CiAKLSAgICBwcmludCBGICIjaWZuZGVmICIuJHBh
cmFtZXRlcnN7bmFtZXNwYWNlfS4iRWxlbWVudFR5cGVIZWxwZXJzX2hcbiI7Ci0gICAgcHJpbnQg
RiAiI2RlZmluZSAiLiRwYXJhbWV0ZXJze25hbWVzcGFjZX0uIkVsZW1lbnRUeXBlSGVscGVyc19o
XG5cbiI7CisgICAgcHJpbnQgRiAiI3ByYWdtYSBvbmNlXG5cbiI7CiAgICAgcHJpbnQgRiAiI2lu
Y2x1ZGUgXCIiLiRwYXJhbWV0ZXJze25hbWVzcGFjZX0uIk5hbWVzLmhcIlxuXG4iOwogCiAgICAg
cHJpbnRUeXBlSGVscGVycygkRiwgXCVhbGxUYWdzKTsKIAotICAgIHByaW50IEYgIiNlbmRpZlxu
IjsKLQogICAgIGNsb3NlIEY7CiB9CiAKQEAgLTk2Nyw3ICs5NjEsNyBAQCBFTkQKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi10eXBlZGVmIFJlZjwkcGFyYW1ldGVyc3tuYW1lc3BhY2V9RWxlbWVu
dD4gKCokcGFyYW1ldGVyc3tuYW1lc3BhY2V9Q29uc3RydWN0b3JGdW5jdGlvbikoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50JiRmb3JtRWxlbWVudEFyZ3VtZW50Rm9yRGVjbGFyYXRpb24s
IGJvb2wgY3JlYXRlZEJ5UGFyc2VyKTsKK3VzaW5nICRwYXJhbWV0ZXJze25hbWVzcGFjZX1Db25z
dHJ1Y3RvckZ1bmN0aW9uID0gUmVmPCRwYXJhbWV0ZXJze25hbWVzcGFjZX1FbGVtZW50PiAoKiko
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiRmb3JtRWxlbWVudEFyZ3VtZW50Rm9yRGVj
bGFyYXRpb24sIGJvb2wgY3JlYXRlZEJ5UGFyc2VyKTsKIAogRU5ECiAgICAgOwpAQCAtMTA4Nyw4
ICsxMDgxLDcgQEAgc3ViIHByaW50RmFjdG9yeUhlYWRlckZpbGUKICAgICBwcmludExpY2Vuc2VI
ZWFkZXIoJEYpOwogCiAgICAgcHJpbnQgRjw8RU5ECi0jaWZuZGVmICRwYXJhbWV0ZXJze25hbWVz
cGFjZX1FbGVtZW50RmFjdG9yeV9oCi0jZGVmaW5lICRwYXJhbWV0ZXJze25hbWVzcGFjZX1FbGVt
ZW50RmFjdG9yeV9oCisjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAK
QEAgLTExMjYsOCArMTExOSw2IEBAIHByaW50ZiBGPDxFTkQKIAogfQogCi0jZW5kaWYgLy8gJHBh
cmFtZXRlcnN7bmFtZXNwYWNlfUVsZW1lbnRGYWN0b3J5X2gKLQogRU5ECiA7CiAKQEAgLTEyNDcs
NyArMTIzOCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotdHlwZWRlZiBKU0RPTU9iamVjdCogKCpDcmVhdGUkcGFyYW1ldGVyc3tuYW1lc3BhY2V9RWxl
bWVudFdyYXBwZXJGdW5jdGlvbikoSlNET01HbG9iYWxPYmplY3QqLCBSZWY8JHBhcmFtZXRlcnN7
bmFtZXNwYWNlfUVsZW1lbnQ+JiYpOwordXNpbmcgQ3JlYXRlJHBhcmFtZXRlcnN7bmFtZXNwYWNl
fUVsZW1lbnRXcmFwcGVyRnVuY3Rpb24gPSBKU0RPTU9iamVjdCogKCopKEpTRE9NR2xvYmFsT2Jq
ZWN0KiwgUmVmPCRwYXJhbWV0ZXJze25hbWVzcGFjZX1FbGVtZW50PiYmKTsKIAogRU5ECiA7CkBA
IC0xMzM4LDEwICsxMzI5LDcgQEAgc3ViIHByaW50V3JhcHBlckZhY3RvcnlIZWFkZXJGaWxlCiAK
ICAgICBwcmludExpY2Vuc2VIZWFkZXIoJEYpOwogCi0gICAgcHJpbnQgRiAiI2lmbmRlZiBKUyRw
YXJhbWV0ZXJze25hbWVzcGFjZX1FbGVtZW50V3JhcHBlckZhY3RvcnlfaFxuIjsKLSAgICBwcmlu
dCBGICIjZGVmaW5lIEpTJHBhcmFtZXRlcnN7bmFtZXNwYWNlfUVsZW1lbnRXcmFwcGVyRmFjdG9y
eV9oXG5cbiI7Ci0KLSAgICBwcmludCBGICIjaWYgJHBhcmFtZXRlcnN7Z3VhcmRGYWN0b3J5V2l0
aH1cbiIgaWYgJHBhcmFtZXRlcnN7Z3VhcmRGYWN0b3J5V2l0aH07CisgICAgcHJpbnQgRiAiI3By
YWdtYSBvbmNlXG5cbiI7CiAKICAgICBwcmludCBGIDw8RU5ECiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KQEAgLTEzNTksOSArMTM0Nyw1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIEVORAogICAg
IDsKIAotICAgIHByaW50IEYgIiNlbmRpZiAvLyAkcGFyYW1ldGVyc3tndWFyZEZhY3RvcnlXaXRo
fVxuXG4iIGlmICRwYXJhbWV0ZXJze2d1YXJkRmFjdG9yeVdpdGh9OwotCi0gICAgcHJpbnQgRiAi
I2VuZGlmIC8vIEpTJHBhcmFtZXRlcnN7bmFtZXNwYWNlfUVsZW1lbnRXcmFwcGVyRmFjdG9yeV9o
XG4iOwotCiAgICAgY2xvc2UgRjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy90ZXN0LWxlZ2FjeU1lc3NhZ2VzLmggYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvdGVzdC1sZWdh
Y3lNZXNzYWdlcy5oCmluZGV4IDQ2MGY5YzUwYWFkZGU0NDliMjQ4YjIyMTk4ODNkODBkNjdjNDJj
NTYuLjg0OWI4MTg0Y2U0YThhM2U0NDBlNTZiZjY0OWJkMzlmYzM4ZjcxZTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2NyaXB0cy90ZXN0LWxlZ2FjeU1lc3NhZ2VzLmgKKysrIGIvU291cmNl
L1dlYktpdC9TY3JpcHRzL3Rlc3QtbGVnYWN5TWVzc2FnZXMuaApAQCAtNjUsNyArNjUsNyBAQCBz
dGF0aWMgaW5saW5lIElQQzo6UmVjZWl2ZXJOYW1lIG1lc3NhZ2VSZWNlaXZlck5hbWUoKQogCiBj
bGFzcyBMb2FkVVJMIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8Y29uc3QgU3Ry
aW5nJj4gQXJndW1lbnRzOworICAgIHVzaW5nIEFyZ3VtZW50cyA9IHN0ZDo6dHVwbGU8Y29uc3Qg
U3RyaW5nJj47CiAKICAgICBzdGF0aWMgSVBDOjpNZXNzYWdlTmFtZSBuYW1lKCkgeyByZXR1cm4g
SVBDOjpNZXNzYWdlTmFtZTo6V2ViUGFnZV9Mb2FkVVJMOyB9CiAgICAgc3RhdGljIGNvbnN0IGJv
b2wgaXNTeW5jID0gZmFsc2U7CkBAIC04Nyw3ICs4Nyw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKIGNsYXNzIExvYWRTb21ldGhpbmcgewogcHVibGljOgotICAgIHR5cGVk
ZWYgc3RkOjp0dXBsZTxjb25zdCBTdHJpbmcmPiBBcmd1bWVudHM7CisgICAgdXNpbmcgQXJndW1l
bnRzID0gc3RkOjp0dXBsZTxjb25zdCBTdHJpbmcmPjsKIAogICAgIHN0YXRpYyBJUEM6Ok1lc3Nh
Z2VOYW1lIG5hbWUoKSB7IHJldHVybiBJUEM6Ok1lc3NhZ2VOYW1lOjpXZWJQYWdlX0xvYWRTb21l
dGhpbmc7IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSBmYWxzZTsKQEAgLTExMCw3
ICsxMTAsNyBAQCBwcml2YXRlOgogI2lmIChFTkFCTEUoVE9VQ0hfRVZFTlRTKSAmJiAoTkVTVEVE
X01FU1NBR0VfQ09ORElUSU9OIHx8IFNPTUVfT1RIRVJfTUVTU0FHRV9DT05ESVRJT04pKQogY2xh
c3MgVG91Y2hFdmVudCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPGNvbnN0IFdl
YktpdDo6V2ViVG91Y2hFdmVudCY+IEFyZ3VtZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMgPSBz
dGQ6OnR1cGxlPGNvbnN0IFdlYktpdDo6V2ViVG91Y2hFdmVudCY+OwogCiAgICAgc3RhdGljIElQ
Qzo6TWVzc2FnZU5hbWUgbmFtZSgpIHsgcmV0dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBhZ2Vf
VG91Y2hFdmVudDsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IGZhbHNlOwpAQCAt
MTMzLDcgKzEzMyw3IEBAIHByaXZhdGU6CiAjaWYgKEVOQUJMRShUT1VDSF9FVkVOVFMpICYmIChO
RVNURURfTUVTU0FHRV9DT05ESVRJT04gJiYgU09NRV9PVEhFUl9NRVNTQUdFX0NPTkRJVElPTikp
CiBjbGFzcyBBZGRFdmVudCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPGNvbnN0
IFdlYktpdDo6V2ViVG91Y2hFdmVudCY+IEFyZ3VtZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMg
PSBzdGQ6OnR1cGxlPGNvbnN0IFdlYktpdDo6V2ViVG91Y2hFdmVudCY+OwogCiAgICAgc3RhdGlj
IElQQzo6TWVzc2FnZU5hbWUgbmFtZSgpIHsgcmV0dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBh
Z2VfQWRkRXZlbnQ7IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSBmYWxzZTsKQEAg
LTE1Niw3ICsxNTYsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiBjbGFz
cyBMb2FkU29tZXRoaW5nRWxzZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPGNv
bnN0IFN0cmluZyY+IEFyZ3VtZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMgPSBzdGQ6OnR1cGxl
PGNvbnN0IFN0cmluZyY+OwogCiAgICAgc3RhdGljIElQQzo6TWVzc2FnZU5hbWUgbmFtZSgpIHsg
cmV0dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBhZ2VfTG9hZFNvbWV0aGluZ0Vsc2U7IH0KICAg
ICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSBmYWxzZTsKQEAgLTE3OCw3ICsxNzgsNyBAQCBw
cml2YXRlOgogCiBjbGFzcyBEaWRSZWNlaXZlUG9saWN5RGVjaXNpb24gewogcHVibGljOgotICAg
IHR5cGVkZWYgc3RkOjp0dXBsZTx1aW50NjRfdCwgdWludDY0X3QsIHVpbnQzMl90PiBBcmd1bWVu
dHM7CisgICAgdXNpbmcgQXJndW1lbnRzID0gc3RkOjp0dXBsZTx1aW50NjRfdCwgdWludDY0X3Qs
IHVpbnQzMl90PjsKIAogICAgIHN0YXRpYyBJUEM6Ok1lc3NhZ2VOYW1lIG5hbWUoKSB7IHJldHVy
biBJUEM6Ok1lc3NhZ2VOYW1lOjpXZWJQYWdlX0RpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbjsgfQog
ICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IGZhbHNlOwpAQCAtMTk5LDcgKzE5OSw3IEBA
IHByaXZhdGU6CiAKIGNsYXNzIENsb3NlIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVw
bGU8PiBBcmd1bWVudHM7CisgICAgdXNpbmcgQXJndW1lbnRzID0gc3RkOjp0dXBsZTw+OwogCiAg
ICAgc3RhdGljIElQQzo6TWVzc2FnZU5hbWUgbmFtZSgpIHsgcmV0dXJuIElQQzo6TWVzc2FnZU5h
bWU6OldlYlBhZ2VfQ2xvc2U7IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSBmYWxz
ZTsKQEAgLTIxNSw3ICsyMTUsNyBAQCBwcml2YXRlOgogCiBjbGFzcyBQcmVmZXJlbmNlc0RpZENo
YW5nZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPGNvbnN0IFdlYktpdDo6V2Vi
UHJlZmVyZW5jZXNTdG9yZSY+IEFyZ3VtZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMgPSBzdGQ6
OnR1cGxlPGNvbnN0IFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZSY+OwogCiAgICAgc3RhdGlj
IElQQzo6TWVzc2FnZU5hbWUgbmFtZSgpIHsgcmV0dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBh
Z2VfUHJlZmVyZW5jZXNEaWRDaGFuZ2U7IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMg
PSBmYWxzZTsKQEAgLTIzNiw3ICsyMzYsNyBAQCBwcml2YXRlOgogCiBjbGFzcyBTZW5kRG91Ymxl
QW5kRmxvYXQgewogcHVibGljOgotICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxkb3VibGUsIGZsb2F0
PiBBcmd1bWVudHM7CisgICAgdXNpbmcgQXJndW1lbnRzID0gc3RkOjp0dXBsZTxkb3VibGUsIGZs
b2F0PjsKIAogICAgIHN0YXRpYyBJUEM6Ok1lc3NhZ2VOYW1lIG5hbWUoKSB7IHJldHVybiBJUEM6
Ok1lc3NhZ2VOYW1lOjpXZWJQYWdlX1NlbmREb3VibGVBbmRGbG9hdDsgfQogICAgIHN0YXRpYyBj
b25zdCBib29sIGlzU3luYyA9IGZhbHNlOwpAQCAtMjU3LDcgKzI1Nyw3IEBAIHByaXZhdGU6CiAK
IGNsYXNzIFNlbmRJbnRzIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8Y29uc3Qg
VmVjdG9yPHVpbnQ2NF90PiYsIGNvbnN0IFZlY3RvcjxWZWN0b3I8dWludDY0X3Q+PiY+IEFyZ3Vt
ZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMgPSBzdGQ6OnR1cGxlPGNvbnN0IFZlY3Rvcjx1aW50
NjRfdD4mLCBjb25zdCBWZWN0b3I8VmVjdG9yPHVpbnQ2NF90Pj4mPjsKIAogICAgIHN0YXRpYyBJ
UEM6Ok1lc3NhZ2VOYW1lIG5hbWUoKSB7IHJldHVybiBJUEM6Ok1lc3NhZ2VOYW1lOjpXZWJQYWdl
X1NlbmRJbnRzOyB9CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gZmFsc2U7CkBAIC0y
NzgsNyArMjc4LDcgQEAgcHJpdmF0ZToKIAogY2xhc3MgQ3JlYXRlUGx1Z2luIHsKIHB1YmxpYzoK
LSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8dWludDY0X3QsIGNvbnN0IFdlYktpdDo6UGx1Z2luOjpQ
YXJhbWV0ZXJzJj4gQXJndW1lbnRzOworICAgIHVzaW5nIEFyZ3VtZW50cyA9IHN0ZDo6dHVwbGU8
dWludDY0X3QsIGNvbnN0IFdlYktpdDo6UGx1Z2luOjpQYXJhbWV0ZXJzJj47CiAKICAgICBzdGF0
aWMgSVBDOjpNZXNzYWdlTmFtZSBuYW1lKCkgeyByZXR1cm4gSVBDOjpNZXNzYWdlTmFtZTo6V2Vi
UGFnZV9DcmVhdGVQbHVnaW47IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSB0cnVl
OwpAQCAtMzAxLDcgKzMwMSw3IEBAIHByaXZhdGU6CiAKIGNsYXNzIFJ1bkphdmFTY3JpcHRBbGVy
dCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPHVpbnQ2NF90LCBjb25zdCBTdHJp
bmcmPiBBcmd1bWVudHM7CisgICAgdXNpbmcgQXJndW1lbnRzID0gc3RkOjp0dXBsZTx1aW50NjRf
dCwgY29uc3QgU3RyaW5nJj47CiAKICAgICBzdGF0aWMgSVBDOjpNZXNzYWdlTmFtZSBuYW1lKCkg
eyByZXR1cm4gSVBDOjpNZXNzYWdlTmFtZTo6V2ViUGFnZV9SdW5KYXZhU2NyaXB0QWxlcnQ7IH0K
ICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSB0cnVlOwpAQCAtMzI0LDcgKzMyNCw3IEBA
IHByaXZhdGU6CiAKIGNsYXNzIEdldFBsdWdpbnMgewogcHVibGljOgotICAgIHR5cGVkZWYgc3Rk
Ojp0dXBsZTxib29sPiBBcmd1bWVudHM7CisgICAgdXNpbmcgQXJndW1lbnRzID0gc3RkOjp0dXBs
ZTxib29sPjsKIAogICAgIHN0YXRpYyBJUEM6Ok1lc3NhZ2VOYW1lIG5hbWUoKSB7IHJldHVybiBJ
UEM6Ok1lc3NhZ2VOYW1lOjpXZWJQYWdlX0dldFBsdWdpbnM7IH0KICAgICBzdGF0aWMgY29uc3Qg
Ym9vbCBpc1N5bmMgPSB0cnVlOwpAQCAtMzQ3LDcgKzM0Nyw3IEBAIHByaXZhdGU6CiAKIGNsYXNz
IEdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6
dHVwbGU8Y29uc3QgU3RyaW5nJj4gQXJndW1lbnRzOworICAgIHVzaW5nIEFyZ3VtZW50cyA9IHN0
ZDo6dHVwbGU8Y29uc3QgU3RyaW5nJj47CiAKICAgICBzdGF0aWMgSVBDOjpNZXNzYWdlTmFtZSBu
YW1lKCkgeyByZXR1cm4gSVBDOjpNZXNzYWdlTmFtZTo6V2ViUGFnZV9HZXRQbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbjsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IHRydWU7CkBAIC0z
NzIsNyArMzcyLDcgQEAgcHJpdmF0ZToKIAogY2xhc3MgVGVzdE11bHRpcGxlQXR0cmlidXRlcyB7
CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPD4gQXJndW1lbnRzOworICAgIHVzaW5n
IEFyZ3VtZW50cyA9IHN0ZDo6dHVwbGU8PjsKIAogICAgIHN0YXRpYyBJUEM6Ok1lc3NhZ2VOYW1l
IG5hbWUoKSB7IHJldHVybiBJUEM6Ok1lc3NhZ2VOYW1lOjpXZWJQYWdlX1Rlc3RNdWx0aXBsZUF0
dHJpYnV0ZXM7IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSB0cnVlOwpAQCAtMzky
LDcgKzM5Miw3IEBAIHByaXZhdGU6CiAKIGNsYXNzIFRlc3RQYXJhbWV0ZXJBdHRyaWJ1dGVzIHsK
IHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8dWludDY0X3QsIGRvdWJsZSwgZG91Ymxl
PiBBcmd1bWVudHM7CisgICAgdXNpbmcgQXJndW1lbnRzID0gc3RkOjp0dXBsZTx1aW50NjRfdCwg
ZG91YmxlLCBkb3VibGU+OwogCiAgICAgc3RhdGljIElQQzo6TWVzc2FnZU5hbWUgbmFtZSgpIHsg
cmV0dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBhZ2VfVGVzdFBhcmFtZXRlckF0dHJpYnV0ZXM7
IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSBmYWxzZTsKQEAgLTQxMyw3ICs0MTMs
NyBAQCBwcml2YXRlOgogCiBjbGFzcyBUZW1wbGF0ZVRlc3QgewogcHVibGljOgotICAgIHR5cGVk
ZWYgc3RkOjp0dXBsZTxjb25zdCBIYXNoTWFwPFN0cmluZywgc3RkOjpwYWlyPFN0cmluZywgdWlu
dDY0X3Q+PiY+IEFyZ3VtZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMgPSBzdGQ6OnR1cGxlPGNv
bnN0IEhhc2hNYXA8U3RyaW5nLCBzdGQ6OnBhaXI8U3RyaW5nLCB1aW50NjRfdD4+Jj47CiAKICAg
ICBzdGF0aWMgSVBDOjpNZXNzYWdlTmFtZSBuYW1lKCkgeyByZXR1cm4gSVBDOjpNZXNzYWdlTmFt
ZTo6V2ViUGFnZV9UZW1wbGF0ZVRlc3Q7IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMg
PSBmYWxzZTsKQEAgLTQzNCw3ICs0MzQsNyBAQCBwcml2YXRlOgogCiBjbGFzcyBTZXRWaWRlb0xh
eWVySUQgewogcHVibGljOgotICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxjb25zdCBXZWJDb3JlOjpH
cmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQmPiBBcmd1bWVudHM7CisgICAgdXNpbmcgQXJn
dW1lbnRzID0gc3RkOjp0dXBsZTxjb25zdCBXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9y
bUxheWVySUQmPjsKIAogICAgIHN0YXRpYyBJUEM6Ok1lc3NhZ2VOYW1lIG5hbWUoKSB7IHJldHVy
biBJUEM6Ok1lc3NhZ2VOYW1lOjpXZWJQYWdlX1NldFZpZGVvTGF5ZXJJRDsgfQogICAgIHN0YXRp
YyBjb25zdCBib29sIGlzU3luYyA9IGZhbHNlOwpAQCAtNDU2LDcgKzQ1Niw3IEBAIHByaXZhdGU6
CiAjaWYgUExBVEZPUk0oTUFDKQogY2xhc3MgRGlkQ3JlYXRlV2ViUHJvY2Vzc0Nvbm5lY3Rpb24g
ewogcHVibGljOgotICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxjb25zdCBJUEM6Ok1hY2hQb3J0Jiwg
Y29uc3QgT3B0aW9uU2V0PFdlYktpdDo6U2VsZWN0aW9uRmxhZ3M+Jj4gQXJndW1lbnRzOworICAg
IHVzaW5nIEFyZ3VtZW50cyA9IHN0ZDo6dHVwbGU8Y29uc3QgSVBDOjpNYWNoUG9ydCYsIGNvbnN0
IE9wdGlvblNldDxXZWJLaXQ6OlNlbGVjdGlvbkZsYWdzPiY+OwogCiAgICAgc3RhdGljIElQQzo6
TWVzc2FnZU5hbWUgbmFtZSgpIHsgcmV0dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBhZ2VfRGlk
Q3JlYXRlV2ViUHJvY2Vzc0Nvbm5lY3Rpb247IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5
bmMgPSBmYWxzZTsKQEAgLTQ3OSw3ICs0NzksNyBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKE1B
QykKIGNsYXNzIEludGVycHJldEtleUV2ZW50IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6
dHVwbGU8dWludDMyX3Q+IEFyZ3VtZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMgPSBzdGQ6OnR1
cGxlPHVpbnQzMl90PjsKIAogICAgIHN0YXRpYyBJUEM6Ok1lc3NhZ2VOYW1lIG5hbWUoKSB7IHJl
dHVybiBJUEM6Ok1lc3NhZ2VOYW1lOjpXZWJQYWdlX0ludGVycHJldEtleUV2ZW50OyB9CiAgICAg
c3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gdHJ1ZTsKQEAgLTUwNCw3ICs1MDQsNyBAQCBwcml2
YXRlOgogI2lmIEVOQUJMRShERVBSRUNBVEVEX0ZFQVRVUkUpCiBjbGFzcyBEZXByZWNhdGVkT3Bl
cmF0aW9uIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8Y29uc3QgSVBDOjpEdW1t
eVR5cGUmPiBBcmd1bWVudHM7CisgICAgdXNpbmcgQXJndW1lbnRzID0gc3RkOjp0dXBsZTxjb25z
dCBJUEM6OkR1bW15VHlwZSY+OwogCiAgICAgc3RhdGljIElQQzo6TWVzc2FnZU5hbWUgbmFtZSgp
IHsgcmV0dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBhZ2VfRGVwcmVjYXRlZE9wZXJhdGlvbjsg
fQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IGZhbHNlOwpAQCAtNTI3LDcgKzUyNyw3
IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKEVYUEVSSU1FTlRBTF9GRUFUVVJFKQogY2xhc3MgRXhw
ZXJpbWVudGFsT3BlcmF0aW9uIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8Y29u
c3QgSVBDOjpEdW1teVR5cGUmPiBBcmd1bWVudHM7CisgICAgdXNpbmcgQXJndW1lbnRzID0gc3Rk
Ojp0dXBsZTxjb25zdCBJUEM6OkR1bW15VHlwZSY+OwogCiAgICAgc3RhdGljIElQQzo6TWVzc2Fn
ZU5hbWUgbmFtZSgpIHsgcmV0dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBhZ2VfRXhwZXJpbWVu
dGFsT3BlcmF0aW9uOyB9CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gZmFsc2U7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvdGVzdC1zdXBlcmNsYXNzTWVzc2FnZXMu
aCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy90ZXN0LXN1cGVyY2xhc3NNZXNzYWdlcy5oCmluZGV4
IDIyMDZiODM1YTVhNDkwMjIyODMzMjM1NzJlYzBiOGE5MTQ0MDVlZTcuLmE2Y2Y4MGU5ZWM5MTE4
NWFjMDczNjQyOGY3ODU3M2RjOWMzODZmMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2Ny
aXB0cy90ZXN0LXN1cGVyY2xhc3NNZXNzYWdlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy90ZXN0LXN1cGVyY2xhc3NNZXNzYWdlcy5oCkBAIC00OCw3ICs0OCw3IEBAIHN0YXRpYyBpbmxp
bmUgSVBDOjpSZWNlaXZlck5hbWUgbWVzc2FnZVJlY2VpdmVyTmFtZSgpCiAKIGNsYXNzIExvYWRV
UkwgewogcHVibGljOgotICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxjb25zdCBTdHJpbmcmPiBBcmd1
bWVudHM7CisgICAgdXNpbmcgQXJndW1lbnRzID0gc3RkOjp0dXBsZTxjb25zdCBTdHJpbmcmPjsK
IAogICAgIHN0YXRpYyBJUEM6Ok1lc3NhZ2VOYW1lIG5hbWUoKSB7IHJldHVybiBJUEM6Ok1lc3Nh
Z2VOYW1lOjpXZWJQYWdlX0xvYWRVUkw7IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMg
PSBmYWxzZTsKQEAgLTcwLDcgKzcwLDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoVEVTVF9GRUFU
VVJFKQogY2xhc3MgVGVzdEFzeW5jTWVzc2FnZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6
OnR1cGxlPFdlYktpdDo6VGVzdFR3b1N0YXRlRW51bT4gQXJndW1lbnRzOworICAgIHVzaW5nIEFy
Z3VtZW50cyA9IHN0ZDo6dHVwbGU8V2ViS2l0OjpUZXN0VHdvU3RhdGVFbnVtPjsKIAogICAgIHN0
YXRpYyBJUEM6Ok1lc3NhZ2VOYW1lIG5hbWUoKSB7IHJldHVybiBJUEM6Ok1lc3NhZ2VOYW1lOjpX
ZWJQYWdlX1Rlc3RBc3luY01lc3NhZ2U7IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMg
PSBmYWxzZTsKQEAgLTEwMCw3ICsxMDAsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShURVNUX0ZF
QVRVUkUpCiBjbGFzcyBUZXN0QXN5bmNNZXNzYWdlV2l0aE5vQXJndW1lbnRzIHsKIHB1YmxpYzoK
LSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8PiBBcmd1bWVudHM7CisgICAgdXNpbmcgQXJndW1lbnRz
ID0gc3RkOjp0dXBsZTw+OwogCiAgICAgc3RhdGljIElQQzo6TWVzc2FnZU5hbWUgbmFtZSgpIHsg
cmV0dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBhZ2VfVGVzdEFzeW5jTWVzc2FnZVdpdGhOb0Fy
Z3VtZW50czsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IGZhbHNlOwpAQCAtMTI1
LDcgKzEyNSw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFRFU1RfRkVBVFVSRSkKIGNsYXNzIFRl
c3RBc3luY01lc3NhZ2VXaXRoTXVsdGlwbGVBcmd1bWVudHMgewogcHVibGljOgotICAgIHR5cGVk
ZWYgc3RkOjp0dXBsZTw+IEFyZ3VtZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMgPSBzdGQ6OnR1
cGxlPD47CiAKICAgICBzdGF0aWMgSVBDOjpNZXNzYWdlTmFtZSBuYW1lKCkgeyByZXR1cm4gSVBD
OjpNZXNzYWdlTmFtZTo6V2ViUGFnZV9UZXN0QXN5bmNNZXNzYWdlV2l0aE11bHRpcGxlQXJndW1l
bnRzOyB9CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gZmFsc2U7CkBAIC0xNTAsNyAr
MTUwLDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoVEVTVF9GRUFUVVJFKQogY2xhc3MgVGVzdEFz
eW5jTWVzc2FnZVdpdGhDb25uZWN0aW9uIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVw
bGU8Y29uc3QgaW50Jj4gQXJndW1lbnRzOworICAgIHVzaW5nIEFyZ3VtZW50cyA9IHN0ZDo6dHVw
bGU8Y29uc3QgaW50Jj47CiAKICAgICBzdGF0aWMgSVBDOjpNZXNzYWdlTmFtZSBuYW1lKCkgeyBy
ZXR1cm4gSVBDOjpNZXNzYWdlTmFtZTo6V2ViUGFnZV9UZXN0QXN5bmNNZXNzYWdlV2l0aENvbm5l
Y3Rpb247IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSBmYWxzZTsKQEAgLTE3OSw3
ICsxNzksNyBAQCBwcml2YXRlOgogCiBjbGFzcyBUZXN0U3luY01lc3NhZ2UgewogcHVibGljOgot
ICAgIHR5cGVkZWYgc3RkOjp0dXBsZTx1aW50MzJfdD4gQXJndW1lbnRzOworICAgIHVzaW5nIEFy
Z3VtZW50cyA9IHN0ZDo6dHVwbGU8dWludDMyX3Q+OwogCiAgICAgc3RhdGljIElQQzo6TWVzc2Fn
ZU5hbWUgbmFtZSgpIHsgcmV0dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBhZ2VfVGVzdFN5bmNN
ZXNzYWdlOyB9CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gdHJ1ZTsKQEAgLTIwNCw3
ICsyMDQsNyBAQCBwcml2YXRlOgogCiBjbGFzcyBUZXN0U3luY2hyb25vdXNNZXNzYWdlIHsKIHB1
YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8Ym9vbD4gQXJndW1lbnRzOworICAgIHVzaW5n
IEFyZ3VtZW50cyA9IHN0ZDo6dHVwbGU8Ym9vbD47CiAKICAgICBzdGF0aWMgSVBDOjpNZXNzYWdl
TmFtZSBuYW1lKCkgeyByZXR1cm4gSVBDOjpNZXNzYWdlTmFtZTo6V2ViUGFnZV9UZXN0U3luY2hy
b25vdXNNZXNzYWdlOyB9CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy90ZXN0TWVzc2FnZXMuaCBiL1NvdXJjZS9X
ZWJLaXQvU2NyaXB0cy90ZXN0TWVzc2FnZXMuaAppbmRleCA0NjBmOWM1MGFhZGRlNDQ5YjI0OGIy
MjE5ODgzZDgwZDY3YzQyYzU2Li44NDliODE4NGNlNGE4YTNlNDQwZTU2YmY2NDliZDM5ZmMzOGY3
MWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvdGVzdE1lc3NhZ2VzLmgKKysr
IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3Rlc3RNZXNzYWdlcy5oCkBAIC02NSw3ICs2NSw3IEBA
IHN0YXRpYyBpbmxpbmUgSVBDOjpSZWNlaXZlck5hbWUgbWVzc2FnZVJlY2VpdmVyTmFtZSgpCiAK
IGNsYXNzIExvYWRVUkwgewogcHVibGljOgotICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxjb25zdCBT
dHJpbmcmPiBBcmd1bWVudHM7CisgICAgdXNpbmcgQXJndW1lbnRzID0gc3RkOjp0dXBsZTxjb25z
dCBTdHJpbmcmPjsKIAogICAgIHN0YXRpYyBJUEM6Ok1lc3NhZ2VOYW1lIG5hbWUoKSB7IHJldHVy
biBJUEM6Ok1lc3NhZ2VOYW1lOjpXZWJQYWdlX0xvYWRVUkw7IH0KICAgICBzdGF0aWMgY29uc3Qg
Ym9vbCBpc1N5bmMgPSBmYWxzZTsKQEAgLTg3LDcgKzg3LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFC
TEUoVE9VQ0hfRVZFTlRTKQogY2xhc3MgTG9hZFNvbWV0aGluZyB7CiBwdWJsaWM6Ci0gICAgdHlw
ZWRlZiBzdGQ6OnR1cGxlPGNvbnN0IFN0cmluZyY+IEFyZ3VtZW50czsKKyAgICB1c2luZyBBcmd1
bWVudHMgPSBzdGQ6OnR1cGxlPGNvbnN0IFN0cmluZyY+OwogCiAgICAgc3RhdGljIElQQzo6TWVz
c2FnZU5hbWUgbmFtZSgpIHsgcmV0dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBhZ2VfTG9hZFNv
bWV0aGluZzsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IGZhbHNlOwpAQCAtMTEw
LDcgKzExMCw3IEBAIHByaXZhdGU6CiAjaWYgKEVOQUJMRShUT1VDSF9FVkVOVFMpICYmIChORVNU
RURfTUVTU0FHRV9DT05ESVRJT04gfHwgU09NRV9PVEhFUl9NRVNTQUdFX0NPTkRJVElPTikpCiBj
bGFzcyBUb3VjaEV2ZW50IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8Y29uc3Qg
V2ViS2l0OjpXZWJUb3VjaEV2ZW50Jj4gQXJndW1lbnRzOworICAgIHVzaW5nIEFyZ3VtZW50cyA9
IHN0ZDo6dHVwbGU8Y29uc3QgV2ViS2l0OjpXZWJUb3VjaEV2ZW50Jj47CiAKICAgICBzdGF0aWMg
SVBDOjpNZXNzYWdlTmFtZSBuYW1lKCkgeyByZXR1cm4gSVBDOjpNZXNzYWdlTmFtZTo6V2ViUGFn
ZV9Ub3VjaEV2ZW50OyB9CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gZmFsc2U7CkBA
IC0xMzMsNyArMTMzLDcgQEAgcHJpdmF0ZToKICNpZiAoRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYg
KE5FU1RFRF9NRVNTQUdFX0NPTkRJVElPTiAmJiBTT01FX09USEVSX01FU1NBR0VfQ09ORElUSU9O
KSkKIGNsYXNzIEFkZEV2ZW50IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8Y29u
c3QgV2ViS2l0OjpXZWJUb3VjaEV2ZW50Jj4gQXJndW1lbnRzOworICAgIHVzaW5nIEFyZ3VtZW50
cyA9IHN0ZDo6dHVwbGU8Y29uc3QgV2ViS2l0OjpXZWJUb3VjaEV2ZW50Jj47CiAKICAgICBzdGF0
aWMgSVBDOjpNZXNzYWdlTmFtZSBuYW1lKCkgeyByZXR1cm4gSVBDOjpNZXNzYWdlTmFtZTo6V2Vi
UGFnZV9BZGRFdmVudDsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IGZhbHNlOwpA
QCAtMTU2LDcgKzE1Niw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIGNs
YXNzIExvYWRTb21ldGhpbmdFbHNlIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8
Y29uc3QgU3RyaW5nJj4gQXJndW1lbnRzOworICAgIHVzaW5nIEFyZ3VtZW50cyA9IHN0ZDo6dHVw
bGU8Y29uc3QgU3RyaW5nJj47CiAKICAgICBzdGF0aWMgSVBDOjpNZXNzYWdlTmFtZSBuYW1lKCkg
eyByZXR1cm4gSVBDOjpNZXNzYWdlTmFtZTo6V2ViUGFnZV9Mb2FkU29tZXRoaW5nRWxzZTsgfQog
ICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IGZhbHNlOwpAQCAtMTc4LDcgKzE3OCw3IEBA
IHByaXZhdGU6CiAKIGNsYXNzIERpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbiB7CiBwdWJsaWM6Ci0g
ICAgdHlwZWRlZiBzdGQ6OnR1cGxlPHVpbnQ2NF90LCB1aW50NjRfdCwgdWludDMyX3Q+IEFyZ3Vt
ZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMgPSBzdGQ6OnR1cGxlPHVpbnQ2NF90LCB1aW50NjRf
dCwgdWludDMyX3Q+OwogCiAgICAgc3RhdGljIElQQzo6TWVzc2FnZU5hbWUgbmFtZSgpIHsgcmV0
dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBhZ2VfRGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uOyB9
CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gZmFsc2U7CkBAIC0xOTksNyArMTk5LDcg
QEAgcHJpdmF0ZToKIAogY2xhc3MgQ2xvc2UgewogcHVibGljOgotICAgIHR5cGVkZWYgc3RkOjp0
dXBsZTw+IEFyZ3VtZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMgPSBzdGQ6OnR1cGxlPD47CiAK
ICAgICBzdGF0aWMgSVBDOjpNZXNzYWdlTmFtZSBuYW1lKCkgeyByZXR1cm4gSVBDOjpNZXNzYWdl
TmFtZTo6V2ViUGFnZV9DbG9zZTsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IGZh
bHNlOwpAQCAtMjE1LDcgKzIxNSw3IEBAIHByaXZhdGU6CiAKIGNsYXNzIFByZWZlcmVuY2VzRGlk
Q2hhbmdlIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8Y29uc3QgV2ViS2l0OjpX
ZWJQcmVmZXJlbmNlc1N0b3JlJj4gQXJndW1lbnRzOworICAgIHVzaW5nIEFyZ3VtZW50cyA9IHN0
ZDo6dHVwbGU8Y29uc3QgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlJj47CiAKICAgICBzdGF0
aWMgSVBDOjpNZXNzYWdlTmFtZSBuYW1lKCkgeyByZXR1cm4gSVBDOjpNZXNzYWdlTmFtZTo6V2Vi
UGFnZV9QcmVmZXJlbmNlc0RpZENoYW5nZTsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3lu
YyA9IGZhbHNlOwpAQCAtMjM2LDcgKzIzNiw3IEBAIHByaXZhdGU6CiAKIGNsYXNzIFNlbmREb3Vi
bGVBbmRGbG9hdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPGRvdWJsZSwgZmxv
YXQ+IEFyZ3VtZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMgPSBzdGQ6OnR1cGxlPGRvdWJsZSwg
ZmxvYXQ+OwogCiAgICAgc3RhdGljIElQQzo6TWVzc2FnZU5hbWUgbmFtZSgpIHsgcmV0dXJuIElQ
Qzo6TWVzc2FnZU5hbWU6OldlYlBhZ2VfU2VuZERvdWJsZUFuZEZsb2F0OyB9CiAgICAgc3RhdGlj
IGNvbnN0IGJvb2wgaXNTeW5jID0gZmFsc2U7CkBAIC0yNTcsNyArMjU3LDcgQEAgcHJpdmF0ZToK
IAogY2xhc3MgU2VuZEludHMgewogcHVibGljOgotICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxjb25z
dCBWZWN0b3I8dWludDY0X3Q+JiwgY29uc3QgVmVjdG9yPFZlY3Rvcjx1aW50NjRfdD4+Jj4gQXJn
dW1lbnRzOworICAgIHVzaW5nIEFyZ3VtZW50cyA9IHN0ZDo6dHVwbGU8Y29uc3QgVmVjdG9yPHVp
bnQ2NF90PiYsIGNvbnN0IFZlY3RvcjxWZWN0b3I8dWludDY0X3Q+PiY+OwogCiAgICAgc3RhdGlj
IElQQzo6TWVzc2FnZU5hbWUgbmFtZSgpIHsgcmV0dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBh
Z2VfU2VuZEludHM7IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSBmYWxzZTsKQEAg
LTI3OCw3ICsyNzgsNyBAQCBwcml2YXRlOgogCiBjbGFzcyBDcmVhdGVQbHVnaW4gewogcHVibGlj
OgotICAgIHR5cGVkZWYgc3RkOjp0dXBsZTx1aW50NjRfdCwgY29uc3QgV2ViS2l0OjpQbHVnaW46
OlBhcmFtZXRlcnMmPiBBcmd1bWVudHM7CisgICAgdXNpbmcgQXJndW1lbnRzID0gc3RkOjp0dXBs
ZTx1aW50NjRfdCwgY29uc3QgV2ViS2l0OjpQbHVnaW46OlBhcmFtZXRlcnMmPjsKIAogICAgIHN0
YXRpYyBJUEM6Ok1lc3NhZ2VOYW1lIG5hbWUoKSB7IHJldHVybiBJUEM6Ok1lc3NhZ2VOYW1lOjpX
ZWJQYWdlX0NyZWF0ZVBsdWdpbjsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IHRy
dWU7CkBAIC0zMDEsNyArMzAxLDcgQEAgcHJpdmF0ZToKIAogY2xhc3MgUnVuSmF2YVNjcmlwdEFs
ZXJ0IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8dWludDY0X3QsIGNvbnN0IFN0
cmluZyY+IEFyZ3VtZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMgPSBzdGQ6OnR1cGxlPHVpbnQ2
NF90LCBjb25zdCBTdHJpbmcmPjsKIAogICAgIHN0YXRpYyBJUEM6Ok1lc3NhZ2VOYW1lIG5hbWUo
KSB7IHJldHVybiBJUEM6Ok1lc3NhZ2VOYW1lOjpXZWJQYWdlX1J1bkphdmFTY3JpcHRBbGVydDsg
fQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IHRydWU7CkBAIC0zMjQsNyArMzI0LDcg
QEAgcHJpdmF0ZToKIAogY2xhc3MgR2V0UGx1Z2lucyB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBz
dGQ6OnR1cGxlPGJvb2w+IEFyZ3VtZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMgPSBzdGQ6OnR1
cGxlPGJvb2w+OwogCiAgICAgc3RhdGljIElQQzo6TWVzc2FnZU5hbWUgbmFtZSgpIHsgcmV0dXJu
IElQQzo6TWVzc2FnZU5hbWU6OldlYlBhZ2VfR2V0UGx1Z2luczsgfQogICAgIHN0YXRpYyBjb25z
dCBib29sIGlzU3luYyA9IHRydWU7CkBAIC0zNDcsNyArMzQ3LDcgQEAgcHJpdmF0ZToKIAogY2xh
c3MgR2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24gewogcHVibGljOgotICAgIHR5cGVkZWYgc3Rk
Ojp0dXBsZTxjb25zdCBTdHJpbmcmPiBBcmd1bWVudHM7CisgICAgdXNpbmcgQXJndW1lbnRzID0g
c3RkOjp0dXBsZTxjb25zdCBTdHJpbmcmPjsKIAogICAgIHN0YXRpYyBJUEM6Ok1lc3NhZ2VOYW1l
IG5hbWUoKSB7IHJldHVybiBJUEM6Ok1lc3NhZ2VOYW1lOjpXZWJQYWdlX0dldFBsdWdpblByb2Nl
c3NDb25uZWN0aW9uOyB9CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gdHJ1ZTsKQEAg
LTM3Miw3ICszNzIsNyBAQCBwcml2YXRlOgogCiBjbGFzcyBUZXN0TXVsdGlwbGVBdHRyaWJ1dGVz
IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8PiBBcmd1bWVudHM7CisgICAgdXNp
bmcgQXJndW1lbnRzID0gc3RkOjp0dXBsZTw+OwogCiAgICAgc3RhdGljIElQQzo6TWVzc2FnZU5h
bWUgbmFtZSgpIHsgcmV0dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBhZ2VfVGVzdE11bHRpcGxl
QXR0cmlidXRlczsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IHRydWU7CkBAIC0z
OTIsNyArMzkyLDcgQEAgcHJpdmF0ZToKIAogY2xhc3MgVGVzdFBhcmFtZXRlckF0dHJpYnV0ZXMg
ewogcHVibGljOgotICAgIHR5cGVkZWYgc3RkOjp0dXBsZTx1aW50NjRfdCwgZG91YmxlLCBkb3Vi
bGU+IEFyZ3VtZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMgPSBzdGQ6OnR1cGxlPHVpbnQ2NF90
LCBkb3VibGUsIGRvdWJsZT47CiAKICAgICBzdGF0aWMgSVBDOjpNZXNzYWdlTmFtZSBuYW1lKCkg
eyByZXR1cm4gSVBDOjpNZXNzYWdlTmFtZTo6V2ViUGFnZV9UZXN0UGFyYW1ldGVyQXR0cmlidXRl
czsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IGZhbHNlOwpAQCAtNDEzLDcgKzQx
Myw3IEBAIHByaXZhdGU6CiAKIGNsYXNzIFRlbXBsYXRlVGVzdCB7CiBwdWJsaWM6Ci0gICAgdHlw
ZWRlZiBzdGQ6OnR1cGxlPGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBzdGQ6OnBhaXI8U3RyaW5nLCB1
aW50NjRfdD4+Jj4gQXJndW1lbnRzOworICAgIHVzaW5nIEFyZ3VtZW50cyA9IHN0ZDo6dHVwbGU8
Y29uc3QgSGFzaE1hcDxTdHJpbmcsIHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQ2NF90Pj4mPjsKIAog
ICAgIHN0YXRpYyBJUEM6Ok1lc3NhZ2VOYW1lIG5hbWUoKSB7IHJldHVybiBJUEM6Ok1lc3NhZ2VO
YW1lOjpXZWJQYWdlX1RlbXBsYXRlVGVzdDsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3lu
YyA9IGZhbHNlOwpAQCAtNDM0LDcgKzQzNCw3IEBAIHByaXZhdGU6CiAKIGNsYXNzIFNldFZpZGVv
TGF5ZXJJRCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPGNvbnN0IFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCY+IEFyZ3VtZW50czsKKyAgICB1c2luZyBB
cmd1bWVudHMgPSBzdGQ6OnR1cGxlPGNvbnN0IFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRm
b3JtTGF5ZXJJRCY+OwogCiAgICAgc3RhdGljIElQQzo6TWVzc2FnZU5hbWUgbmFtZSgpIHsgcmV0
dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBhZ2VfU2V0VmlkZW9MYXllcklEOyB9CiAgICAgc3Rh
dGljIGNvbnN0IGJvb2wgaXNTeW5jID0gZmFsc2U7CkBAIC00NTYsNyArNDU2LDcgQEAgcHJpdmF0
ZToKICNpZiBQTEFURk9STShNQUMpCiBjbGFzcyBEaWRDcmVhdGVXZWJQcm9jZXNzQ29ubmVjdGlv
biB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPGNvbnN0IElQQzo6TWFjaFBvcnQm
LCBjb25zdCBPcHRpb25TZXQ8V2ViS2l0OjpTZWxlY3Rpb25GbGFncz4mPiBBcmd1bWVudHM7Cisg
ICAgdXNpbmcgQXJndW1lbnRzID0gc3RkOjp0dXBsZTxjb25zdCBJUEM6Ok1hY2hQb3J0JiwgY29u
c3QgT3B0aW9uU2V0PFdlYktpdDo6U2VsZWN0aW9uRmxhZ3M+Jj47CiAKICAgICBzdGF0aWMgSVBD
OjpNZXNzYWdlTmFtZSBuYW1lKCkgeyByZXR1cm4gSVBDOjpNZXNzYWdlTmFtZTo6V2ViUGFnZV9E
aWRDcmVhdGVXZWJQcm9jZXNzQ29ubmVjdGlvbjsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlz
U3luYyA9IGZhbHNlOwpAQCAtNDc5LDcgKzQ3OSw3IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0o
TUFDKQogY2xhc3MgSW50ZXJwcmV0S2V5RXZlbnQgewogcHVibGljOgotICAgIHR5cGVkZWYgc3Rk
Ojp0dXBsZTx1aW50MzJfdD4gQXJndW1lbnRzOworICAgIHVzaW5nIEFyZ3VtZW50cyA9IHN0ZDo6
dHVwbGU8dWludDMyX3Q+OwogCiAgICAgc3RhdGljIElQQzo6TWVzc2FnZU5hbWUgbmFtZSgpIHsg
cmV0dXJuIElQQzo6TWVzc2FnZU5hbWU6OldlYlBhZ2VfSW50ZXJwcmV0S2V5RXZlbnQ7IH0KICAg
ICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSB0cnVlOwpAQCAtNTA0LDcgKzUwNCw3IEBAIHBy
aXZhdGU6CiAjaWYgRU5BQkxFKERFUFJFQ0FURURfRkVBVFVSRSkKIGNsYXNzIERlcHJlY2F0ZWRP
cGVyYXRpb24gewogcHVibGljOgotICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxjb25zdCBJUEM6OkR1
bW15VHlwZSY+IEFyZ3VtZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMgPSBzdGQ6OnR1cGxlPGNv
bnN0IElQQzo6RHVtbXlUeXBlJj47CiAKICAgICBzdGF0aWMgSVBDOjpNZXNzYWdlTmFtZSBuYW1l
KCkgeyByZXR1cm4gSVBDOjpNZXNzYWdlTmFtZTo6V2ViUGFnZV9EZXByZWNhdGVkT3BlcmF0aW9u
OyB9CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gZmFsc2U7CkBAIC01MjcsNyArNTI3
LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoRVhQRVJJTUVOVEFMX0ZFQVRVUkUpCiBjbGFzcyBF
eHBlcmltZW50YWxPcGVyYXRpb24gewogcHVibGljOgotICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxj
b25zdCBJUEM6OkR1bW15VHlwZSY+IEFyZ3VtZW50czsKKyAgICB1c2luZyBBcmd1bWVudHMgPSBz
dGQ6OnR1cGxlPGNvbnN0IElQQzo6RHVtbXlUeXBlJj47CiAKICAgICBzdGF0aWMgSVBDOjpNZXNz
YWdlTmFtZSBuYW1lKCkgeyByZXR1cm4gSVBDOjpNZXNzYWdlTmFtZTo6V2ViUGFnZV9FeHBlcmlt
ZW50YWxPcGVyYXRpb247IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSBmYWxzZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDNmZGQ4MDQ5ZDQ5
NjA4YmFlZDBhZTA2ZTZlYmQwNzE0YzE3ODY5MmEuLmM0YTQ5Y2NiNGY4YmZlOWE2OTkzZDJmYTA5
NWUyNjBlYjQ0NDhhZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQv
bWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5w
eQpAQCAtMTQwLDcgKzE0MCw3IEBAIGRlZiBtZXNzYWdlX3RvX3N0cnVjdF9kZWNsYXJhdGlvbihy
ZWNlaXZlciwgbWVzc2FnZSk6CiAKICAgICByZXN1bHQuYXBwZW5kKCdjbGFzcyAlcyB7XG4nICUg
bWVzc2FnZS5uYW1lKQogICAgIHJlc3VsdC5hcHBlbmQoJ3B1YmxpYzpcbicpCi0gICAgcmVzdWx0
LmFwcGVuZCgnICAgIHR5cGVkZWYgJXMgQXJndW1lbnRzO1xuJyAlIGFyZ3VtZW50c190eXBlKG1l
c3NhZ2UpKQorICAgIHJlc3VsdC5hcHBlbmQoJyAgICB1c2luZyBBcmd1bWVudHMgPSAlcztcbicg
JSBhcmd1bWVudHNfdHlwZShtZXNzYWdlKSkKICAgICByZXN1bHQuYXBwZW5kKCdcbicpCiAgICAg
cmVzdWx0LmFwcGVuZCgnICAgIHN0YXRpYyBJUEM6Ok1lc3NhZ2VOYW1lIG5hbWUoKSB7IHJldHVy
biBJUEM6Ok1lc3NhZ2VOYW1lOjolc18lczsgfVxuJyAlIChyZWNlaXZlci5uYW1lLCBtZXNzYWdl
Lm5hbWUpKQogICAgIHJlc3VsdC5hcHBlbmQoJyAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMg
PSAlcztcbicgJSAoJ2ZhbHNlJywgJ3RydWUnKVttZXNzYWdlLnJlcGx5X3BhcmFtZXRlcnMgIT0g
Tm9uZSBhbmQgbm90IG1lc3NhZ2UuaGFzX2F0dHJpYnV0ZShBU1lOQ19BVFRSSUJVVEUpXSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>