<?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>223609</bug_id>
          
          <creation_ts>2021-03-22 15:57:14 -0700</creation_ts>
          <short_desc>Update autoinstalled packages</short_desc>
          <delta_ts>2021-03-29 15:58:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=223677</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Sneddon [:gsnedders]">gsnedders</reporter>
          <assigned_to name="Sam Sneddon [:gsnedders]">gsnedders</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1742530</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-03-22 15:57:14 -0700</bug_when>
    <thetext>A lot of these are quite out of date, and we need more recent versions for Python 3.9 on macOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742531</commentid>
    <comment_count>1</comment_count>
      <attachid>423954</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-03-22 16:00:25 -0700</bug_when>
    <thetext>Created attachment 423954
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743354</commentid>
    <comment_count>2</comment_count>
      <attachid>424144</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-03-24 09:43:22 -0700</bug_when>
    <thetext>Created attachment 424144
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743431</commentid>
    <comment_count>3</comment_count>
      <attachid>424144</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-24 11:25:09 -0700</bug_when>
    <thetext>Comment on attachment 424144
Patch

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

&gt; Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py:41
&gt;  

Need to bump tiny version here and in setup.py.

&gt; Tools/Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py:46
&gt;  version = Version(0, 1, 1)

Need to bump tiny version here and in setup.py.

&gt; Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py:49
&gt;  version = Version(0, 13, 6)

Need to bump tiny version here and in setup.py.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743514</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-03-24 13:28:21 -0700</bug_when>
    <thetext>I tested your patch with Windows Python 2 and 3.
It works fine with Python 3.
However, Python 2 fails.

PS C:\home\webkit\ga&gt; git clean -dfx
PS C:\home\webkit\ga&gt; python .\Tools\Scripts\test-webkitpy
Downloading wheel-0.36.2...
Failed to install wheel-0.36.2!
Traceback (most recent call last):
  File &quot;.\Tools\Scripts\test-webkitpy&quot;, line 30, in &lt;module&gt;
    from webkitpy.common import multiprocessing_bootstrap
  File &quot;C:\home\webkit\ga\Tools\Scripts\webkitpy\__init__.py&quot;, line 94, in &lt;module&gt;
    import webkitscmpy
  File &quot;C:\home\webkit\ga\Tools\Scripts\libraries\webkitscmpy\webkitscmpy\__init__.py&quot;, line 62, in &lt;module&gt;
    from webkitscmpy import mocks
  File &quot;C:\home\webkit\ga\Tools\Scripts\libraries\webkitscmpy\webkitscmpy\mocks\__init__.py&quot;, line 3, in &lt;module&gt;
    from webkitscmpy.mocks import local
  File &quot;C:\home\webkit\ga\Tools\Scripts\libraries\webkitscmpy\webkitscmpy\mocks\local\__init__.py&quot;, line 4, in &lt;module&gt;
    from webkitscmpy.mocks.local.git import Git
  File &quot;C:\home\webkit\ga\Tools\Scripts\libraries\webkitscmpy\webkitscmpy\mocks\local\git.py&quot;, line 30, in &lt;module&gt;
    from webkitscmpy.program.canonicalize.committer import main as committer_main
  File &quot;C:\home\webkit\ga\Tools\Scripts\libraries\webkitscmpy\webkitscmpy\program\__init__.py&quot;, line 28, in &lt;module&gt;
    from webkitscmpy import local, log, remote
  File &quot;C:\home\webkit\ga\Tools\Scripts\libraries\webkitscmpy\webkitscmpy\remote\__init__.py&quot;, line 24, in &lt;module&gt;
    from webkitscmpy.remote.svn import Svn
  File &quot;C:\home\webkit\ga\Tools\Scripts\libraries\webkitscmpy\webkitscmpy\remote\svn.py&quot;, line 25, in &lt;module&gt;
    import fasteners
  File &quot;C:\home\webkit\ga\Tools\Scripts\libraries\webkitcorepy\webkitcorepy\autoinstall.py&quot;, line 560, in find_module
    cls.install(name)
  File &quot;C:\home\webkit\ga\Tools\Scripts\libraries\webkitcorepy\webkitcorepy\autoinstall.py&quot;, line 544, in install
    return all([to_install.install() for to_install in cls.register(package)])
  File &quot;C:\home\webkit\ga\Tools\Scripts\libraries\webkitcorepy\webkitcorepy\autoinstall.py&quot;, line 238, in install
    AutoInstall.install(&apos;wheel&apos;)
  File &quot;C:\home\webkit\ga\Tools\Scripts\libraries\webkitcorepy\webkitcorepy\autoinstall.py&quot;, line 544, in install
    return all([to_install.install() for to_install in cls.register(package)])
  File &quot;C:\home\webkit\ga\Tools\Scripts\libraries\webkitcorepy\webkitcorepy\autoinstall.py&quot;, line 259, in install
    archive.unpack(temp_location)
  File &quot;C:\home\webkit\ga\Tools\Scripts\libraries\webkitcorepy\webkitcorepy\autoinstall.py&quot;, line 123, in unpack
    file.extractall(target)
  File &quot;C:\Python27\lib\tarfile.py&quot;, line 2081, in extractall
    self.extract(tarinfo, path)
  File &quot;C:\Python27\lib\tarfile.py&quot;, line 2118, in extract
    self._extract_member(tarinfo, os.path.join(path, tarinfo.name))
  File &quot;C:\Python27\lib\tarfile.py&quot;, line 2194, in _extract_member
    self.makefile(tarinfo, targetpath)
  File &quot;C:\Python27\lib\tarfile.py&quot;, line 2234, in makefile
    with bltn_open(targetpath, &quot;wb&quot;) as target:
IOError: [Errno 22] invalid mode (&apos;wb&apos;) or filename: &apos;c:\\users\\000013~1\\appdata\\local\\temp\\wheel\\wheel-0.36.2\\tests\\testdata\\unicode.dist\\unicodedist\\\xe5\xe4\xf6_???.py&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743517</commentid>
    <comment_count>5</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-03-24 13:36:18 -0700</bug_when>
    <thetext>test-webkitpy and test-webkitpy-python2 work nicely with Windows Python 2.7 if I downgrade the version of wheel.
&gt; AutoInstall.register(Package(&apos;wheel&apos;, Version(0, 35, 1)))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744018</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-03-25 17:36:05 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #5)
&gt; test-webkitpy and test-webkitpy-python2 work nicely with Windows Python 2.7
&gt; if I downgrade the version of wheel.
&gt; &gt; AutoInstall.register(Package(&apos;wheel&apos;, Version(0, 35, 1)))

That&apos;s super surprising that makes a difference!

Also had issues with mccabe having a setup_requires dependency on pytest-runner on Linux; potentially just lucky with ordering that it wasn&apos;t hit sooner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744025</commentid>
    <comment_count>7</comment_count>
      <attachid>424309</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-03-25 17:52:06 -0700</bug_when>
    <thetext>Created attachment 424309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744029</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-03-25 18:14:15 -0700</bug_when>
    <thetext>I tested the patch with Windows Python 2 and 3, and confirmed no autoinstalling issue.

&gt; git clean -dfx
&gt; python .\Tools\Scripts\test-webkitpy-python2
&gt; C:\Python39\python.exe .\Tools\Scripts\test-webkitpy

Also, I got the same error (Comment 4) after modifying the wheel version to Version(0, 36, 2).

&gt; python .\Tools\Scripts\test-webkitpy-python2

This is weired, but I don&apos;t want to debug Python 2 specific issue.
This problem can be fixed by migrating to Python 3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744207</commentid>
    <comment_count>9</comment_count>
      <attachid>424309</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-26 09:39:31 -0700</bug_when>
    <thetext>Comment on attachment 424309
Patch

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

&gt; Tools/Scripts/webkitpy/autoinstalled/twisted.py:33
&gt; +AutoInstall.register(Package(&apos;twisted&apos;, Version(20, 3, 0), pypi_name=&apos;Twisted&apos;))

We need to check that this doesn&apos;t break performance testing, which is not well covered by unit tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744974</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-29 15:58:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/75977586&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423954</attachid>
            <date>2021-03-22 16:00:25 -0700</date>
            <delta_ts>2021-03-24 09:43:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223609-20210322230024.patch</filename>
            <type>text/plain</type>
            <size>16977</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NzUwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzBhNTZlNWI2ZTM3YzkyMTRkYTU5NDI1OGRjNzlmNWEx
ODFiODlkYy4uMzVhMTQ3NDY4ODNjYWE4YTYwYjM2NjhiYjY3MWRhNWVmNzdkZTlkNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDIxLTAzLTIyICBTYW0gU25lZGRvbiAgPGdzbmVkZGVyc0BhcHBsZS5jb20+CisKKyAg
ICAgICAgVXBkYXRlIGF1dG9pbnN0YWxsZWQgcGFja2FnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzYwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0aW9uYWxseSwgaGFuZGxlIHRoZSByZW1v
dmFsIG9mIHRoZSBvbGQgcGxpc3RsaWIgQVBJIGluIDMuOS4KKworICAgICAgICAqIFNjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvX19pbml0X18ucHk6CisgICAgICAg
ICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Zmxhc2tweS93ZWJraXRmbGFza3B5L19faW5pdF9f
LnB5OgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5
L19faW5pdF9fLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9hdXRvaW5zdGFsbGVkL2J1aWxkYm90LnB5OgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYXV0b2luc3RhbGxlZC90d2lzdGVkLnB5OgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkveGNvZGUvc2ltdWxhdGVkX2RldmljZS5weToKKyAgICAgICAg
KFNpbXVsYXRlZERldmljZU1hbmFnZXIuX2NyZWF0ZV9kZXZpY2Vfd2l0aF9ydW50aW1lKToKKyAg
ICAgICAgKFNpbXVsYXRlZERldmljZS5zdGF0ZSk6CisKIDIwMjEtMDMtMTkgIEJKIEJ1cmcgIDxi
YnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIGZpbHRlci1idWlsZC13ZWJraXQKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3Jl
cHkvX19pbml0X18ucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Vi
a2l0Y29yZXB5L19faW5pdF9fLnB5CmluZGV4IDExNTljMTJkZTk4MjAyODQ1MWU1ZDU5NWZkNmZl
YjU0ODM0ZGEyNDguLjJlNGRlMzI2MmVhY2E1Yjc5OTJkZDJlZTdhNDhlNzhlOTUyY2M4NTIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3Jl
cHkvX19pbml0X18ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5
L3dlYmtpdGNvcmVweS9fX2luaXRfXy5weQpAQCAtNDEsMjggKzQxLDI5IEBAIHZlcnNpb24gPSBW
ZXJzaW9uKDAsIDUsIDUpCiAKIGZyb20gd2Via2l0Y29yZXB5LmF1dG9pbnN0YWxsIGltcG9ydCBQ
YWNrYWdlLCBBdXRvSW5zdGFsbAogaWYgc3lzLnZlcnNpb25faW5mbyA+ICgzLCAwKToKLSAgICBB
dXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtb2NrJywgVmVyc2lvbig0KSkpCisgICAgQXV0
b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbW9jaycsIFZlcnNpb24oNCwgMCwgMykpKQogZWxz
ZToKKyAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdjb25maWdwYXJzZXInLCBWZXJz
aW9uKDQsIDAsIDIpKSkKICAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtb2NrJywg
VmVyc2lvbigzLCAwLCA1KSkpCiAgICAgaWYgcGxhdGZvcm0uc3lzdGVtKCkgPT0gJ1dpbmRvd3Mn
OgogICAgICAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd3aW5faW5ldF9wdG9uJywg
VmVyc2lvbigxLCAxLCAwKSwgcHlwaV9uYW1lPSd3aW4taW5ldC1wdG9uJykpCiAKLUF1dG9JbnN0
YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2NlcnRpZmknLCBWZXJzaW9uKDIwMjAsIDYsIDIwKSkpCi1B
dXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdjaGFyZGV0JywgVmVyc2lvbigzLCAwLCA0KSkp
CitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdjZXJ0aWZpJywgVmVyc2lvbigyMDIwLCAx
MiwgNSkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnY2hhcmRldCcsIFZlcnNpb24o
NCwgMCwgMCkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZGF0ZXV0aWwnLCBWZXJz
aW9uKDIsIDgsIDEpLCBweXBpX25hbWU9J3B5dGhvbi1kYXRldXRpbCcpKQotQXV0b0luc3RhbGwu
cmVnaXN0ZXIoUGFja2FnZSgnZW50cnlwb2ludHMnLCBWZXJzaW9uKDAsIDMsIDApKSkKK0F1dG9J
bnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2VudHJ5cG9pbnRzJywgVmVyc2lvbigwLCAzKSkpCiBB
dXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdmdW5jc2lncycsIFZlcnNpb24oMSwgMCwgMikp
KQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnaWRuYScsIFZlcnNpb24oMiwgMTApKSkK
LUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2tleXJpbmcnLCBWZXJzaW9uKDcsIDMsIDEp
KSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3BhY2thZ2luZycsIFZlcnNpb24oMjAs
IDQpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2tleXJpbmcnLCBWZXJzaW9uKDE4
LCAwLCAxKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdwYWNrYWdpbmcnLCBWZXJz
aW9uKDIwLCA5KSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdweXBhcnNpbmcnLCBW
ZXJzaW9uKDIsIDQsIDcpKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3JlcXVlc3Rz
JywgVmVyc2lvbigyLCAyNCkpKQotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnc2V0dXB0
b29scycsIFZlcnNpb24oNDQsIDEsICAxKSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdzb2NrcycsIFZlcnNpb24oMSwgNywgMSksIHB5cGlfbmFtZT0nUHlTb2NrcycpKQorQXV0b0lu
c3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncmVxdWVzdHMnLCBWZXJzaW9uKDIsIDI1LCAxKSkpCitB
dXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzZXR1cHRvb2xzJywgVmVyc2lvbig0NCwgMSwg
MSkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnc2l4JywgVmVyc2lvbigxLCAxNSwg
MCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnc29ja3MnLCBWZXJzaW9uKDEsIDcs
IDEpLCBweXBpX25hbWU9J1B5U29ja3MnKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2Uo
J3RibGliJywgVmVyc2lvbigxLCA3LCAwKSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCd1cmxsaWIzJywgVmVyc2lvbigxLCAyNSwgMTApKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBh
Y2thZ2UoJ3doZWVsJywgVmVyc2lvbigwLCAzNSwgMSkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIo
UGFja2FnZSgndXJsbGliMycsIFZlcnNpb24oMSwgMjYsIDQpKSkKK0F1dG9JbnN0YWxsLnJlZ2lz
dGVyKFBhY2thZ2UoJ3doZWVsJywgVmVyc2lvbigwLCAzNiwgMikpKQogCiAjIFRoaXMgaXMgbmVl
ZGVkIGZvciBweXRob24ta2V5cmluZy4KIGlmIHN5cy5wbGF0Zm9ybSA9PSAnbGludXgnOgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Zmxhc2tweS93ZWJraXRmbGFz
a3B5L19faW5pdF9fLnB5IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Zmxhc2tweS93
ZWJraXRmbGFza3B5L19faW5pdF9fLnB5CmluZGV4IDFhY2ZlYjg0NDU2ZTZiM2IxN2NlMDczNDZm
ZTdkYmMzZGE1ZDU1NDYuLjJkN2Q2MWYwMjU1MzU4MDAxODE4ODFkNmZiOWVlOTI5NWE0MGE2MzIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGZsYXNrcHkvd2Via2l0
Zmxhc2tweS9fX2luaXRfXy5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRm
bGFza3B5L3dlYmtpdGZsYXNrcHkvX19pbml0X18ucHkKQEAgLTQ1LDExICs0NSwxMSBAQCBleGNl
cHQgSW1wb3J0RXJyb3I6CiAKIHZlcnNpb24gPSBWZXJzaW9uKDAsIDEsIDEpCiAKLUF1dG9JbnN0
YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2NsaWNrJyksIFZlcnNpb24oNywgMSwgMikpCi1BdXRvSW5z
dGFsbC5yZWdpc3RlcihQYWNrYWdlKCdmbGFzaycpLCBWZXJzaW9uKDEsIDEsIDIpKQotQXV0b0lu
c3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnaXRzZGFuZ2Vyb3VzJyksIFZlcnNpb24oMiwgMCwgMCkp
Ci1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdqaW5qYTInKSwgVmVyc2lvbigzLCAwLCAw
KSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21hcmt1cHNhZmUnKSwgVmVyc2lvbigy
LCAwLCAwKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3dlcmt6ZXVnJyksIFZlcnNp
b24oMSwgMCwgMSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdjbGljaycsIFZlcnNp
b24oNywgMSwgMikpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZmxhc2snLCBWZXJz
aW9uKDEsIDEsIDIpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2l0c2Rhbmdlcm91
cycsIFZlcnNpb24oMSwgMSwgMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnamlu
amEyJywgVmVyc2lvbigyLCAxMSwgMyksIHB5cGlfbmFtZT0nSmluamEyJykpCitBdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCdtYXJrdXBzYWZlJywgVmVyc2lvbigxLCAxLCAxKSkpCitBdXRv
SW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd3ZXJremV1ZycsIFZlcnNpb24oMSwgMCwgMSkpKQog
CiBuYW1lID0gJ3dlYmtpdGZsYXNrcHknCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weSBiL1Rvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5CmluZGV4IGJjNTIz
YzZiOGNhMGMxYjA2ZjhiY2MxYjdkMWQ4MThmMWE0OGNhZmQuLmFiODM2YzNiZTBiNzg4NTk2NjJk
OGMwMDk1YmMzMDRjNzcwODlkY2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVz
L3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5CkBAIC00OCwxMCAr
NDgsMTEgQEAgZXhjZXB0IEltcG9ydEVycm9yOgogCiB2ZXJzaW9uID0gVmVyc2lvbigwLCAxMywg
NCkKIAotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZmFzdGVuZXJzJywgVmVyc2lvbigw
LCAxNSwgMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZmFzdGVuZXJzJywgVmVy
c2lvbigwLCAxNikpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbW9ub3RvbmljJywg
VmVyc2lvbigxLCA1KSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzaXgnLCBWZXJz
aW9uKDEsIDE1LCAwKSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd3aGljaGNyYWZ0
JywgVmVyc2lvbigwLCA2LCAxKSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd4bWx0
b2RpY3QnLCBWZXJzaW9uKDAsIDExLCAwKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCd4bWx0b2RpY3QnLCBWZXJzaW9uKDAsIDEyLCAwKSkpCiAKIGZyb20gd2Via2l0c2NtcHkuY29u
dHJpYnV0b3IgaW1wb3J0IENvbnRyaWJ1dG9yCiBmcm9tIHdlYmtpdHNjbXB5LmNvbW1pdCBpbXBv
cnQgQ29tbWl0CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L19faW5pdF9fLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5weQppbmRleCBiMmFmMDBjYzgxNmE0
MWVkZDdiYzFhNzc0Yzc2ZDQ0NzE3N2I3Njk2Li5kM2M0YTA5YWIzYTE0YWQ5ZWY1NzVmNzRmNjZj
ODA1OThiNGRjZmM3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L19faW5pdF9f
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHkKQEAgLTMyLDQ0ICsz
Miw2MiBAQCBBdXRvSW5zdGFsbC5zZXRfZGlyZWN0b3J5KG9zLnBhdGguam9pbihsaWJyYXJpZXMs
ICdhdXRvaW5zdGFsbGVkJywgJ3B5dGhvbi17fScuZgogCiBpZiBzeXMudmVyc2lvbl9pbmZvID4g
KDMsIDQpOgogICAgICMgUHl0aG9uID49My41LioKLSAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQ
YWNrYWdlKCdweWxpbnQnLCBWZXJzaW9uKDIsIDYsIDApKSkKKyAgICBBdXRvSW5zdGFsbC5yZWdp
c3RlcihQYWNrYWdlKCdhc3Ryb2lkJywgVmVyc2lvbigyLCA1LCAxKSkpCisgICAgQXV0b0luc3Rh
bGwucmVnaXN0ZXIoUGFja2FnZSgnaXNvcnQnLCBWZXJzaW9uKDUsIDgsIDApKSkKKyAgICBBdXRv
SW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdweWxpbnQnLCBWZXJzaW9uKDIsIDYsIDIpKSkKIGVs
c2U6Ci0gICAgQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncHlsaW50JywgVmVyc2lvbigw
LCAyOCwgMCkpKQotICAgIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2xvZ2lsYWIuY29t
bW9uJywgVmVyc2lvbigwLCA1OCwgMSksIHB5cGlfbmFtZT0nbG9naWxhYi1jb21tb24nLCBhbGlh
c2VzPVsnbG9naWxhYiddKSkKLSAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdsb2dp
bGFiLmFzdG5nJywgVmVyc2lvbigwLCAyNCwgMSksIHB5cGlfbmFtZT0nbG9naWxhYi1hc3RuZycs
IGFsaWFzZXM9Wydsb2dpbGFiJ10pKQotCisgICAgQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2Fn
ZSgnYXN0cm9pZCcsIFZlcnNpb24oMSwgNiwgNikpKQorICAgIEF1dG9JbnN0YWxsLnJlZ2lzdGVy
KFBhY2thZ2UoJ2JhY2twb3J0cy5mdW5jdG9vbHMtbHJ1LWNhY2hlJywgVmVyc2lvbigxLCA2LCAx
KSkpCisgICAgQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZW51bTM0JywgVmVyc2lvbigx
LCAxLCAxMCkpKQorICAgIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2Z1dHVyZXMnLCBW
ZXJzaW9uKDMsIDMsIDApKSkKKyAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdpc29y
dCcsIFZlcnNpb24oNCwgMywgMjEpKSkKKyAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdsb2dpbGFiLmFzdG5nJywgVmVyc2lvbigwLCAyNCwgMyksIHB5cGlfbmFtZT0nbG9naWxhYi1h
c3RuZycsIGFsaWFzZXM9Wydsb2dpbGFiJ10pKQorICAgIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBh
Y2thZ2UoJ2xvZ2lsYWIuY29tbW9uJywgVmVyc2lvbigxLCA0LCA0KSwgcHlwaV9uYW1lPSdsb2dp
bGFiLWNvbW1vbicsIGFsaWFzZXM9Wydsb2dpbGFiJ10pKQogICAgIEF1dG9JbnN0YWxsLnJlZ2lz
dGVyKFBhY2thZ2UoJ3BhdGhsaWInLCBWZXJzaW9uKDIsIDMsIDUpLCBweXBpX25hbWU9J3BhdGhs
aWIyJykpCisgICAgQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncHlsaW50JywgVmVyc2lv
bigxLCA5LCA1KSkpCisgICAgQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnc2luZ2xlZGlz
cGF0Y2gnLCBWZXJzaW9uKDMsIDYsIDEpKSkKIAotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2Fn
ZSgnYXRvbWljd3JpdGVzJywgVmVyc2lvbigxLCAxLCA1KSkpCi1BdXRvSW5zdGFsbC5yZWdpc3Rl
cihQYWNrYWdlKCdhdHRyJywgVmVyc2lvbigxOCwgMSwgMCksIHB5cGlfbmFtZT0nYXR0cnMnKSkK
K0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2F0b21pY3dyaXRlcycsIFZlcnNpb24oMSwg
NCwgMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnYXR0cicsIFZlcnNpb24oMjAs
IDMsIDApLCBweXBpX25hbWU9J2F0dHJzJykpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdiczQnLCBWZXJzaW9uKDQsIDksIDMpLCBweXBpX25hbWU9J2JlYXV0aWZ1bHNvdXA0JykpCitB
dXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdibGVzc2luZ3MnLCBWZXJzaW9uKDEsIDcpKSkK
IEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2NvbmZpZ3BhcnNlcicsIFZlcnNpb24oNCwg
MCwgMikpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnY29udGV4dGxpYjInLCBWZXJz
aW9uKDAsIDYsIDApKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2NvdmVyYWdlJywg
VmVyc2lvbig1LCAyLCAxKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdjb3ZlcmFn
ZScsIFZlcnNpb24oNSwgNSkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZGlzdHJv
JywgVmVyc2lvbigxLCA1LCAwKSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdmdW5j
c2lncycsIFZlcnNpb24oMSwgMCwgMikpKQotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgn
aW1wb3J0bGliX21ldGFkYXRhJywgVmVyc2lvbigxLCA3LCAwKSkpCi1BdXRvSW5zdGFsbC5yZWdp
c3RlcihQYWNrYWdlKCdnZW5zaGknLCBWZXJzaW9uKDAsIDcsIDMpLCBweXBpX25hbWU9J0dlbnNo
aScpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZ2Vuc2hpJywgVmVyc2lvbigwLCA3
LCA1KSwgcHlwaV9uYW1lPSdHZW5zaGknKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2Uo
J2h0bWw1bGliJywgVmVyc2lvbigxLCAxKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdpbXBvcnRsaWItbWV0YWRhdGEnLCBWZXJzaW9uKDIsIDEsIDEpKSkKK0F1dG9JbnN0YWxsLnJl
Z2lzdGVyKFBhY2thZ2UoJ2xhenktb2JqZWN0LXByb3h5JywgVmVyc2lvbigxLCA1LCAyKSkpCitB
dXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtY2NhYmUnLCBWZXJzaW9uKDAsIDYsIDEpKSkK
IEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21lY2hhbml6ZScsIFZlcnNpb24oMCwgNCwg
NSkpKQotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbW9yZV9pdGVydG9vbHMnLCBWZXJz
aW9uKDQsIDIsIDApLCBweXBpX25hbWU9J21vcmUtaXRlcnRvb2xzJykpCi1BdXRvSW5zdGFsbC5y
ZWdpc3RlcihQYWNrYWdlKCdtb3pwcm9jZXNzJywgVmVyc2lvbigxLCAyLCAwKSkpCi1BdXRvSW5z
dGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtb3psb2cnLCBWZXJzaW9uKDYsIDEpKSkKK0F1dG9JbnN0
YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21vcmVfaXRlcnRvb2xzJywgVmVyc2lvbig1LCAwLCAwKSwg
cHlwaV9uYW1lPSdtb3JlLWl0ZXJ0b29scycpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2Fn
ZSgnbW96ZmlsZScsIFZlcnNpb24oMiwgMSwgMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFj
a2FnZSgnbW96aW5mbycsIFZlcnNpb24oMSwgMiwgMikpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIo
UGFja2FnZSgnbW96bG9nJywgVmVyc2lvbig3LCAwLCAxKSkpCitBdXRvSW5zdGFsbC5yZWdpc3Rl
cihQYWNrYWdlKCdtb3pwcm9jZXNzJywgVmVyc2lvbigxLCAyLCAxKSkpCiBBdXRvSW5zdGFsbC5y
ZWdpc3RlcihQYWNrYWdlKCdtb3p0ZXJtJywgVmVyc2lvbigxLCAwLCAwKSkpCitBdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCdwYWNrYWdpbmcnLCBWZXJzaW9uKDIwLCA5KSkpCiBBdXRvSW5z
dGFsbC5yZWdpc3RlcihQYWNrYWdlKCdwYXRobGliMicsIFZlcnNpb24oMiwgMywgNSkpKQotQXV0
b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncGx1Z2d5JywgVmVyc2lvbigwLCA1LCAyKSkpCi1B
dXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdweScsIFZlcnNpb24oMSwgNSwgMikpKQotQXV0
b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncHl0ZXN0X3RpbWVvdXQnLCBWZXJzaW9uKDEsIDQs
IDIpLCBweXBpX25hbWU9J3B5dGVzdC10aW1lb3V0JykpCi0jIFB5dGVzdCBoZWxkIHRvIDMueCBk
dWUgdG8gV1BUIHdlYmRyaXZlciBjb21wYXRpYmlsaXR5CitBdXRvSW5zdGFsbC5yZWdpc3RlcihQ
YWNrYWdlKCdwbHVnZ3knLCBWZXJzaW9uKDAsIDYsIDApKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVy
KFBhY2thZ2UoJ3B5JywgVmVyc2lvbigxLCAxMCwgMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIo
UGFja2FnZSgncHljb2Rlc3R5bGUnLCBWZXJzaW9uKDIsIDcsIDApKSkKK0F1dG9JbnN0YWxsLnJl
Z2lzdGVyKFBhY2thZ2UoJ3B5cGFyc2luZycsIFZlcnNpb24oMiwgNCwgNykpKQorIyBweXRlc3Qg
c2hvdWxkIG1hdGNoIHRoZSB2ZXJzaW9uIGluIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl0ZXN0CiBBdXRvSW5zdGFsbC5yZWdp
c3RlcihQYWNrYWdlKCdweXRlc3QnLCBWZXJzaW9uKDMsIDYsIDIpLCBpbXBsaWNpdF9kZXBzPVsn
cHl0ZXN0X3RpbWVvdXQnXSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdweWNvZGVz
dHlsZScsIFZlcnNpb24oMiwgNSwgMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgn
cHl0ZXN0X3RpbWVvdXQnLCBWZXJzaW9uKDEsIDQsIDIpLCBweXBpX25hbWU9J3B5dGVzdC10aW1l
b3V0JykpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzY2FuZGlyJywgVmVyc2lvbigx
LCAxMCwgMCkpKQotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnc291cHNpZXZlJywgVmVy
c2lvbigxLCA5LCA2KSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzZWxlbml1bScs
IFZlcnNpb24oMywgMTQxLCAwKSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd0b21s
JywgVmVyc2lvbigwLCAxMCwgMSkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnc2l4
JywgVmVyc2lvbigxLCAxNSwgMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnc291
cHNpZXZlJywgVmVyc2lvbigxLCA5LCA2KSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCd0b21sJywgVmVyc2lvbigwLCAxMCwgMikpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2Fn
ZSgndXJsbGliMycsIFZlcnNpb24oMSwgMjYsIDQpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBh
Y2thZ2UoJ3djd2lkdGgnLCBWZXJzaW9uKDAsIDIsIDUpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVy
KFBhY2thZ2UoJ3dlYmVuY29kaW5ncycsIFZlcnNpb24oMCwgNSwgMSkpKQorQXV0b0luc3RhbGwu
cmVnaXN0ZXIoUGFja2FnZSgnd3JhcHQnLCBWZXJzaW9uKDEsIDEyLCAxKSkpCiBBdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCd6aXBwJywgVmVyc2lvbigxLCAyLCAwKSkpCi1BdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCd6b3BlLmludGVyZmFjZScsIFZlcnNpb24oNSwgMSwgMCksIGFs
aWFzZXM9Wyd6b3BlJ10sIHB5cGlfbmFtZT0nem9wZS1pbnRlcmZhY2UnKSkKK0F1dG9JbnN0YWxs
LnJlZ2lzdGVyKFBhY2thZ2UoJ3pvcGUuaW50ZXJmYWNlJywgVmVyc2lvbig1LCAzLCAwKSwgYWxp
YXNlcz1bJ3pvcGUnXSwgcHlwaV9uYW1lPSd6b3BlLWludGVyZmFjZScpKQogCiBBdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCd3ZWJraXRzY21weScsIFZlcnNpb24oMCwgMTIsIDUpKSwgbG9j
YWw9VHJ1ZSkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9hdXRvaW5zdGFs
bGVkL2J1aWxkYm90LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9hdXRvaW5zdGFsbGVkL2J1
aWxkYm90LnB5CmluZGV4IDJmZDIzYjRiNWE0YmJlMWM4ZjhmZjEzOTU3Yjc5ZjljNjIwMDdkYjcu
LjM3NTAxOWYwZTAyNWFiYzRhMTdiNWExYTRlYTBiNmMyZjVlOTZlNWYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvYXV0b2luc3RhbGxlZC9idWlsZGJvdC5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2F1dG9pbnN0YWxsZWQvYnVpbGRib3QucHkKQEAgLTI0LDE1ICsy
NCwyNSBAQCBpbXBvcnQgc3lzCiAKIGZyb20gd2Via2l0c2NtcHkgaW1wb3J0IEF1dG9JbnN0YWxs
LCBQYWNrYWdlLCBWZXJzaW9uCiAKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2F1dG9i
YWhuJywgVmVyc2lvbigyMCwgNywgMSkpKQotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgn
YnVpbGRib3QnLCBWZXJzaW9uKDIsIDEwLCAxKSkpCitmcm9tIHdlYmtpdHB5LmF1dG9pbnN0YWxs
ZWQgaW1wb3J0IHR3aXN0ZWQKKworQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnTWFya3Vw
U2FmZScsIFZlcnNpb24oMSwgMSwgMSkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgn
UHlZQU1MJywgVmVyc2lvbig1LCA0LCAxKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdUZW1waXRhJywgVmVyc2lvbigwLCA1LCAyKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNr
YWdlKCdhdXRvYmFobicsIFZlcnNpb24oMjEsIDMsIDEpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVy
KFBhY2thZ2UoJ2J1aWxkYm90JywgVmVyc2lvbigyLCAxMCwgNCkpKQorQXV0b0luc3RhbGwucmVn
aXN0ZXIoUGFja2FnZSgnY2ZmaScsIFZlcnNpb24oMSwgMTQsIDUpKSkKK0F1dG9JbnN0YWxsLnJl
Z2lzdGVyKFBhY2thZ2UoJ2NyeXB0b2dyYXBoeScsIFZlcnNpb24oMywgNCwgNikpKQogQXV0b0lu
c3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZGF0ZXV0aWwnLCBWZXJzaW9uKDIsIDgsIDEpLCBweXBp
X25hbWU9J3B5dGhvbi1kYXRldXRpbCcpKQotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgn
amluamEyJywgVmVyc2lvbigyLCAxMSwgMiksIHB5cGlfbmFtZT0nSmluamEyJykpCi1BdXRvSW5z
dGFsbC5yZWdpc3RlcihQYWNrYWdlKCdqd3QnLCBWZXJzaW9uKDEsIDcsIDEpLCBweXBpX25hbWU9
J1B5SldUJykpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdweXlhbWwnLCBWZXJzaW9u
KDUsIDMsIDEpLCBweXBpX25hbWU9J1B5WUFNTCcpKQotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFj
a2FnZSgnc3FsYWxjaGVteScsIFZlcnNpb24oMSwgMywgMjApLCBweXBpX25hbWU9J1NRTEFsY2hl
bXknKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2RlY29yYXRvcicsIFZlcnNpb24o
NCwgNCwgMikpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnamluamEyJywgVmVyc2lv
bigyLCAxMSwgMyksIHB5cGlfbmFtZT0nSmluamEyJykpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQ
YWNrYWdlKCdqd3QnLCBWZXJzaW9uKDIsIDAsIDEpLCBweXBpX25hbWU9J1B5SldUJykpCitBdXRv
SW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdwYnInLCBWZXJzaW9uKDUsIDUsIDEpKSkKK0F1dG9J
bnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3B5Y3BhcnNlcicsIFZlcnNpb24oMiwgMjApKSkKK0F1
dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3B5eWFtbCcsIFZlcnNpb24oNSwgNCwgMSksIHB5
cGlfbmFtZT0nUHlZQU1MJykpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzcWxhbGNo
ZW15JywgVmVyc2lvbigxLCAzLCAyMyksIHB5cGlfbmFtZT0nU1FMQWxjaGVteScpKQogQXV0b0lu
c3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnc3FsYWxjaGVteS1taWdyYXRlJywgVmVyc2lvbigwLCAx
MywgMCkpKQotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgndHdpc3RlZCcsIFZlcnNpb24o
MjAsIDMsIDApLCBweXBpX25hbWU9J1R3aXN0ZWQnKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBh
Y2thZ2UoJ3R4YWlvJywgVmVyc2lvbigyMCwgNCwgMSkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIo
UGFja2FnZSgnc3FscGFyc2UnLCBWZXJzaW9uKDAsIDQsIDEpKSkKK0F1dG9JbnN0YWxsLnJlZ2lz
dGVyKFBhY2thZ2UoJ3R4YWlvJywgVmVyc2lvbigyMSwgMiwgMSkpKQogCiBzeXMubW9kdWxlc1tf
X25hbWVfX10gPSBfX2ltcG9ydF9fKCdidWlsZGJvdCcpCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2F1dG9pbnN0YWxsZWQvdHdpc3RlZC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvYXV0b2luc3RhbGxlZC90d2lzdGVkLnB5CmluZGV4IDAyZGEwZWVkZWIwZTljYzg3YzU1
ZGIwYTUyNWYyYzg4NzllNjUwZWYuLmEzNmQ3ZjdhOThmZTRiMjk3NTE1MTJjYzJlYjVhOWVmMTli
Mzc0ODcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYXV0b2luc3RhbGxlZC90
d2lzdGVkLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYXV0b2luc3RhbGxlZC90d2lz
dGVkLnB5CkBAIC0yNCw1ICsyNCwxMyBAQCBpbXBvcnQgc3lzCiAKIGZyb20gd2Via2l0c2NtcHkg
aW1wb3J0IEF1dG9JbnN0YWxsLCBQYWNrYWdlLCBWZXJzaW9uCiAKLUF1dG9JbnN0YWxsLnJlZ2lz
dGVyKFBhY2thZ2UoJ3R3aXN0ZWQnLCBWZXJzaW9uKDE1LCA1LCAwKSwgcHlwaV9uYW1lPSdUd2lz
dGVkJykpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdBdXRvbWF0JywgVmVyc2lvbigy
MCwgMiwgMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnY29uc3RhbnRseScsIFZl
cnNpb24oMTUsIDEsIDApKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2h5cGVybGlu
aycsIFZlcnNpb24oMjEsIDAsIDApKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2lk
bmEnLCBWZXJzaW9uKDIsIDEwKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdpbmNy
ZW1lbnRhbCcsIFZlcnNpb24oMjEsIDMsIDApKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2th
Z2UoJ1B5SGFtY3Jlc3QnLCBWZXJzaW9uKDEsIDEwLCAxKSkpCitBdXRvSW5zdGFsbC5yZWdpc3Rl
cihQYWNrYWdlKCd0d2lzdGVkJywgVmVyc2lvbigyMCwgMywgMCksIHB5cGlfbmFtZT0nVHdpc3Rl
ZCcpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgndHlwaW5nJywgVmVyc2lvbigzLCA3
LCA0LCAzKSkpCisKIHN5cy5tb2R1bGVzW19fbmFtZV9fXSA9IF9faW1wb3J0X18oJ3R3aXN0ZWQn
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS94Y29kZS9zaW11bGF0ZWRfZGV2
aWNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS94Y29kZS9zaW11bGF0ZWRfZGV2aWNlLnB5
CmluZGV4IDQ4MWVjZjNlMjdkNGNlNmYwZmY0NmE0ZjlmMjkyZDIyOTI0ODliZWIuLmRjMjUxMWIz
MzM3Mjc3MjNhNDE4ZWE0ZTE1YWMzZmJjMDE4YmRjNWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkveGNvZGUvc2ltdWxhdGVkX2RldmljZS5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3hjb2RlL3NpbXVsYXRlZF9kZXZpY2UucHkKQEAgLTIzLDcgKzIzLDYgQEAKIGlt
cG9ydCBhdGV4aXQKIGltcG9ydCBqc29uCiBpbXBvcnQgbG9nZ2luZwotaW1wb3J0IHBsaXN0bGli
CiBpbXBvcnQgcmUKIGltcG9ydCB0aW1lCiAKQEAgLTM1LDYgKzM0LDExIEBAIGZyb20gd2Via2l0
cHkuY29tbW9uLnN5c3RlbS5zeXN0ZW1ob3N0IGltcG9ydCBTeXN0ZW1Ib3N0CiBmcm9tIHdlYmtp
dHB5LnBvcnQuZGV2aWNlIGltcG9ydCBEZXZpY2UKIGZyb20gd2Via2l0cHkueGNvZGUuZGV2aWNl
X3R5cGUgaW1wb3J0IERldmljZVR5cGUKIAordHJ5OgorICAgIGZyb20gcGxpc3RsaWIgaW1wb3J0
IGxvYWQgYXMgcmVhZFBsaXN0CitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgZnJvbSBwbGlzdGxp
YiBpbXBvcnQgcmVhZFBsaXN0CisKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykK
IAogCkBAIC0xMDYsNyArMTEwLDcgQEAgY2xhc3MgU2ltdWxhdGVkRGV2aWNlTWFuYWdlcihvYmpl
Y3QpOgogCiAgICAgICAgICMgRmluZCBkZXZpY2UgdHlwZS4gSWYgd2UgY2FuJ3QgcGFyc2UgdGhl
IGRldmljZSB0eXBlLCBpZ25vcmUgdGhpcyBkZXZpY2UuCiAgICAgICAgIHRyeToKLSAgICAgICAg
ICAgIGRldmljZV90eXBlX3N0cmluZyA9IFNpbXVsYXRlZERldmljZU1hbmFnZXIuX2RldmljZV9p
ZGVudGlmaWVyX3RvX25hbWVbcGxpc3RsaWIucmVhZFBsaXN0KGhvc3QuZmlsZXN5c3RlbS5vcGVu
X2JpbmFyeV9maWxlX2Zvcl9yZWFkaW5nKGRldmljZV9wbGlzdCkpWydkZXZpY2VUeXBlJ11dCisg
ICAgICAgICAgICBkZXZpY2VfdHlwZV9zdHJpbmcgPSBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLl9k
ZXZpY2VfaWRlbnRpZmllcl90b19uYW1lW3JlYWRQbGlzdChob3N0LmZpbGVzeXN0ZW0ub3Blbl9i
aW5hcnlfZmlsZV9mb3JfcmVhZGluZyhkZXZpY2VfcGxpc3QpKVsnZGV2aWNlVHlwZSddXQogICAg
ICAgICAgICAgZGV2aWNlX3R5cGUgPSBEZXZpY2VUeXBlLmZyb21fc3RyaW5nKGRldmljZV90eXBl
X3N0cmluZywgcnVudGltZS52ZXJzaW9uKQogICAgICAgICAgICAgYXNzZXJ0IGRldmljZV90eXBl
LnNvZnR3YXJlX3ZhcmlhbnQgPT0gcnVudGltZS5vc192YXJpYW50CiAgICAgICAgIGV4Y2VwdCAo
VmFsdWVFcnJvciwgQXNzZXJ0aW9uRXJyb3IpOgpAQCAtNTQ5LDcgKzU1Myw3IEBAIGNsYXNzIFNp
bXVsYXRlZERldmljZShvYmplY3QpOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3N0YXRlCiAK
ICAgICAgICAgZGV2aWNlX3BsaXN0ID0gc2VsZi5maWxlc3lzdGVtLmV4cGFuZHVzZXIoc2VsZi5m
aWxlc3lzdGVtLmpvaW4oU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5zaW11bGF0b3JfZGV2aWNlX3Bh
dGgsIHNlbGYudWRpZCwgJ2RldmljZS5wbGlzdCcpKQotICAgICAgICBzZWxmLl9zdGF0ZSA9IGlu
dChwbGlzdGxpYi5yZWFkUGxpc3Qoc2VsZi5maWxlc3lzdGVtLm9wZW5fYmluYXJ5X2ZpbGVfZm9y
X3JlYWRpbmcoZGV2aWNlX3BsaXN0KSlbJ3N0YXRlJ10pCisgICAgICAgIHNlbGYuX3N0YXRlID0g
aW50KHJlYWRQbGlzdChzZWxmLmZpbGVzeXN0ZW0ub3Blbl9iaW5hcnlfZmlsZV9mb3JfcmVhZGlu
ZyhkZXZpY2VfcGxpc3QpKVsnc3RhdGUnXSkKICAgICAgICAgc2VsZi5fbGFzdF91cGRhdGVkX3N0
YXRlID0gdGltZS50aW1lKCkKICAgICAgICAgcmV0dXJuIHNlbGYuX3N0YXRlCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424144</attachid>
            <date>2021-03-24 09:43:22 -0700</date>
            <delta_ts>2021-03-25 17:52:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223609-20210324164320.patch</filename>
            <type>text/plain</type>
            <size>19140</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTM5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDM1YzRjZjRhZmJlMzEzZTBhMDdjY2M0N2M2NTMyYTVl
OWIzNmQ4Ny4uZmFhYWU4ZDkwYzhmNzYyMDZhNGU4OTBiMmJlMmMzMGY5ZGExM2VhYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDIxLTAzLTI0ICBTYW0gU25lZGRvbiAgPGdzbmVkZGVyc0BhcHBsZS5jb20+CisKKyAg
ICAgICAgVXBkYXRlIGF1dG9pbnN0YWxsZWQgcGFja2FnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzYwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0aW9uYWxseSwgaGFuZGxlIHRoZSByZW1v
dmFsIG9mIHRoZSBvbGQgcGxpc3RsaWIgQVBJIGluIDMuOS4KKworICAgICAgICAqIFNjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvX19pbml0X18ucHk6CisgICAgICAg
ICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS90ZXN0cy90YXNr
X3Bvb2xfdW5pdHRlc3QucHk6CisgICAgICAgIChUYXNrUG9vbFVuaXR0ZXN0LnRlc3RfaW52YWxp
ZF9zaHV0ZG93bik6IGluY3JlYXNlIHRpbWVvdXQgdG8gcmVkdWNlIGZsYWtpbmVzcworICAgICAg
ICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGZsYXNrcHkvd2Via2l0Zmxhc2tweS9fX2luaXRf
Xy5weToKKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21w
eS9fX2luaXRfXy5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L19faW5pdF9fLnB5Ogor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYXV0b2luc3RhbGxlZC9idWlsZGJvdC5weToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2F1dG9pbnN0YWxsZWQvdHdpc3RlZC5weToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3B5dGhvbl91bml0dGVzdC5weToK
KyAgICAgICAgKFB5dGhvbkNoZWNrZXJUZXN0LnRlc3RfY2hlY2spOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkveGNvZGUvc2ltdWxhdGVkX2RldmljZS5weToKKyAgICAgICAgKFNpbXVsYXRl
ZERldmljZU1hbmFnZXIuX2NyZWF0ZV9kZXZpY2Vfd2l0aF9ydW50aW1lKToKKyAgICAgICAgKFNp
bXVsYXRlZERldmljZS5zdGF0ZSk6CisKIDIwMjEtMDMtMjMgIEthdGUgQ2hlbmV5ICA8a2F0aGVy
aW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgU2VydmljZSB3b3JrZXIgbG9hZHMgYXJl
IG5vdCBtYXJrZWQgYXMgYXBwLWJvdW5kCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5IGIvVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9fX2luaXRfXy5weQppbmRleCA5
MzdhM2JkZjc5ZmI3MGE1ZTA4MDNkMjFhYjcwMzhhNTBmOWJmMThlLi5hMDNkYTM1OGVlOWQ4YTU3
ODFlMTE0N2MwMTlkZmUzY2YxZWM5YTEzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvX19pbml0X18ucHkKQEAg
LTQxLDI4ICs0MSwzMCBAQCB2ZXJzaW9uID0gVmVyc2lvbigwLCA1LCA2KQogCiBmcm9tIHdlYmtp
dGNvcmVweS5hdXRvaW5zdGFsbCBpbXBvcnQgUGFja2FnZSwgQXV0b0luc3RhbGwKIGlmIHN5cy52
ZXJzaW9uX2luZm8gPiAoMywgMCk6Ci0gICAgQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgn
bW9jaycsIFZlcnNpb24oNCkpKQorICAgIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21v
Y2snLCBWZXJzaW9uKDQsIDAsIDMpKSkKIGVsc2U6CisgICAgQXV0b0luc3RhbGwucmVnaXN0ZXIo
UGFja2FnZSgnY29uZmlncGFyc2VyJywgVmVyc2lvbig0LCAwLCAyKSkpCiAgICAgQXV0b0luc3Rh
bGwucmVnaXN0ZXIoUGFja2FnZSgnbW9jaycsIFZlcnNpb24oMywgMCwgNSkpKQogICAgIGlmIHBs
YXRmb3JtLnN5c3RlbSgpID09ICdXaW5kb3dzJzoKICAgICAgICAgQXV0b0luc3RhbGwucmVnaXN0
ZXIoUGFja2FnZSgnd2luX2luZXRfcHRvbicsIFZlcnNpb24oMSwgMSwgMCksIHB5cGlfbmFtZT0n
d2luLWluZXQtcHRvbicpKQogCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdjZXJ0aWZp
JywgVmVyc2lvbigyMDIwLCA2LCAyMCkpKQotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgn
Y2hhcmRldCcsIFZlcnNpb24oMywgMCwgNCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2Fn
ZSgnY2VydGlmaScsIFZlcnNpb24oMjAyMCwgMTIsIDUpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVy
KFBhY2thZ2UoJ2NoYXJkZXQnLCBWZXJzaW9uKDQsIDAsIDApKSkKIEF1dG9JbnN0YWxsLnJlZ2lz
dGVyKFBhY2thZ2UoJ2RhdGV1dGlsJywgVmVyc2lvbigyLCA4LCAxKSwgcHlwaV9uYW1lPSdweXRo
b24tZGF0ZXV0aWwnKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2VudHJ5cG9pbnRz
JywgVmVyc2lvbigwLCAzLCAwKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdlbnRy
eXBvaW50cycsIFZlcnNpb24oMCwgMykpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgn
ZnVuY3NpZ3MnLCBWZXJzaW9uKDEsIDAsIDIpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2th
Z2UoJ2lkbmEnLCBWZXJzaW9uKDIsIDEwKSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdrZXlyaW5nJywgVmVyc2lvbig3LCAzLCAxKSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNr
YWdlKCdwYWNrYWdpbmcnLCBWZXJzaW9uKDIwLCA0KSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQ
YWNrYWdlKCdrZXlyaW5nJywgVmVyc2lvbigxOCwgMCwgMSkpKQorQXV0b0luc3RhbGwucmVnaXN0
ZXIoUGFja2FnZSgncGFja2FnaW5nJywgVmVyc2lvbigyMCwgOSkpKQogQXV0b0luc3RhbGwucmVn
aXN0ZXIoUGFja2FnZSgncHlwYXJzaW5nJywgVmVyc2lvbigyLCA0LCA3KSkpCi1BdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCdyZXF1ZXN0cycsIFZlcnNpb24oMiwgMjQpKSkKLUF1dG9JbnN0
YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3NldHVwdG9vbHMnLCBWZXJzaW9uKDQ0LCAxLCAgMSkpKQot
QXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnc29ja3MnLCBWZXJzaW9uKDEsIDcsIDEpLCBw
eXBpX25hbWU9J1B5U29ja3MnKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3JlcXVl
c3RzJywgVmVyc2lvbigyLCAyNSwgMSkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgn
c2V0dXB0b29scycsIFZlcnNpb24oNDQsIDEsIDEpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBh
Y2thZ2UoJ3NldHVwdG9vbHNfc2NtJywgVmVyc2lvbig1LCAwLCAyKSwgcHlwaV9uYW1lPSdzZXR1
cHRvb2xzLXNjbScpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnc2l4JywgVmVyc2lv
bigxLCAxNSwgMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnc29ja3MnLCBWZXJz
aW9uKDEsIDcsIDEpLCBweXBpX25hbWU9J1B5U29ja3MnKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVy
KFBhY2thZ2UoJ3RibGliJywgVmVyc2lvbigxLCA3LCAwKSkpCi1BdXRvSW5zdGFsbC5yZWdpc3Rl
cihQYWNrYWdlKCd1cmxsaWIzJywgVmVyc2lvbigxLCAyNSwgMTApKSkKLUF1dG9JbnN0YWxsLnJl
Z2lzdGVyKFBhY2thZ2UoJ3doZWVsJywgVmVyc2lvbigwLCAzNSwgMSkpKQorQXV0b0luc3RhbGwu
cmVnaXN0ZXIoUGFja2FnZSgndXJsbGliMycsIFZlcnNpb24oMSwgMjYsIDQpKSkKK0F1dG9JbnN0
YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3doZWVsJywgVmVyc2lvbigwLCAzNiwgMikpKQogCiAjIFRo
aXMgaXMgbmVlZGVkIGZvciBweXRob24ta2V5cmluZy4KIGlmIHN5cy5wbGF0Zm9ybSA9PSAnbGlu
dXgnOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dl
YmtpdGNvcmVweS90ZXN0cy90YXNrX3Bvb2xfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L3Rlc3RzL3Rhc2tfcG9vbF91bml0dGVz
dC5weQppbmRleCA0MjMzMGFlMTY1YzA1ZDUzOTFmNjRlMDUwMjk4NzJlOWFmMzExNzY3Li45ZDNj
MjYzNmVlOTM3ZDQ5MTk5ODRhMTcwYjJlZjBmZjI1ZWYyNzNmIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L3Rlc3RzL3Rhc2tfcG9v
bF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkv
d2Via2l0Y29yZXB5L3Rlc3RzL3Rhc2tfcG9vbF91bml0dGVzdC5weQpAQCAtMTMzLDQgKzEzMyw0
IEBAIGNsYXNzIFRhc2tQb29sVW5pdHRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICB3
aXRoIE91dHB1dENhcHR1cmUoKToKICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMo
VGFza1Bvb2wuRXhjZXB0aW9uKToKICAgICAgICAgICAgICAgICB3aXRoIFRhc2tQb29sKHdvcmtl
cnM9MSwgdGVhcmRvd249dGVhcmRvd24sIGdyYWNlX3BlcmlvZD0xKSBhcyBwb29sOgotICAgICAg
ICAgICAgICAgICAgICBwb29sLmRvKHdhaXQsIDIpCisgICAgICAgICAgICAgICAgICAgIHBvb2wu
ZG8od2FpdCwgMTApCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRm
bGFza3B5L3dlYmtpdGZsYXNrcHkvX19pbml0X18ucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRmbGFza3B5L3dlYmtpdGZsYXNrcHkvX19pbml0X18ucHkKaW5kZXggMWFjZmViODQ0
NTZlNmIzYjE3Y2UwNzM0NmZlN2RiYzNkYTVkNTU0Ni4uMmQ3ZDYxZjAyNTUzNTgwMDE4MTg4MWQ2
ZmI5ZWU5Mjk1YTQwYTYzMiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Vi
a2l0Zmxhc2tweS93ZWJraXRmbGFza3B5L19faW5pdF9fLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdGZsYXNrcHkvd2Via2l0Zmxhc2tweS9fX2luaXRfXy5weQpAQCAtNDUs
MTEgKzQ1LDExIEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKIAogdmVyc2lvbiA9IFZlcnNpb24oMCwg
MSwgMSkKIAotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnY2xpY2snKSwgVmVyc2lvbig3
LCAxLCAyKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2ZsYXNrJyksIFZlcnNpb24o
MSwgMSwgMikpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdpdHNkYW5nZXJvdXMnKSwg
VmVyc2lvbigyLCAwLCAwKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2ppbmphMicp
LCBWZXJzaW9uKDMsIDAsIDApKQotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbWFya3Vw
c2FmZScpLCBWZXJzaW9uKDIsIDAsIDApKQotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgn
d2Vya3pldWcnKSwgVmVyc2lvbigxLCAwLCAxKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2th
Z2UoJ2NsaWNrJywgVmVyc2lvbig3LCAxLCAyKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNr
YWdlKCdmbGFzaycsIFZlcnNpb24oMSwgMSwgMikpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFj
a2FnZSgnaXRzZGFuZ2Vyb3VzJywgVmVyc2lvbigxLCAxLCAwKSkpCitBdXRvSW5zdGFsbC5yZWdp
c3RlcihQYWNrYWdlKCdqaW5qYTInLCBWZXJzaW9uKDIsIDExLCAzKSwgcHlwaV9uYW1lPSdKaW5q
YTInKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21hcmt1cHNhZmUnLCBWZXJzaW9u
KDEsIDEsIDEpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3dlcmt6ZXVnJywgVmVy
c2lvbigxLCAwLCAxKSkpCiAKIG5hbWUgPSAnd2Via2l0Zmxhc2tweScKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5
IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0
X18ucHkKaW5kZXggMjVlZGVjZTEyMzNmNGZmMDNjNWUyOWE0OGJiMDkyMjY2OTRkMTA1MC4uYWM4
NTE0YWI1NjBmZDZkYTMwMTM2N2NkZDBkNGU2MzcxNThmZjg5MiAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0X18ucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0
X18ucHkKQEAgLTQ4LDEwICs0OCwxMSBAQCBleGNlcHQgSW1wb3J0RXJyb3I6CiAKIHZlcnNpb24g
PSBWZXJzaW9uKDAsIDEzLCA2KQogCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdmYXN0
ZW5lcnMnLCBWZXJzaW9uKDAsIDE1LCAwKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdmYXN0ZW5lcnMnLCBWZXJzaW9uKDAsIDE2KSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNr
YWdlKCdtb25vdG9uaWMnLCBWZXJzaW9uKDEsIDUpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBh
Y2thZ2UoJ3NpeCcsIFZlcnNpb24oMSwgMTUsIDApKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBh
Y2thZ2UoJ3doaWNoY3JhZnQnLCBWZXJzaW9uKDAsIDYsIDEpKSkKLUF1dG9JbnN0YWxsLnJlZ2lz
dGVyKFBhY2thZ2UoJ3htbHRvZGljdCcsIFZlcnNpb24oMCwgMTEsIDApKSkKK0F1dG9JbnN0YWxs
LnJlZ2lzdGVyKFBhY2thZ2UoJ3htbHRvZGljdCcsIFZlcnNpb24oMCwgMTIsIDApKSkKIAogZnJv
bSB3ZWJraXRzY21weS5jb250cmlidXRvciBpbXBvcnQgQ29udHJpYnV0b3IKIGZyb20gd2Via2l0
c2NtcHkuY29tbWl0IGltcG9ydCBDb21taXQKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvX19pbml0X18ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L19faW5pdF9fLnB5Cmlu
ZGV4IGIyYWYwMGNjODE2YTQxZWRkN2JjMWE3NzRjNzZkNDQ3MTc3Yjc2OTYuLmQzYzRhMDlhYjNh
MTRhZDllZjU3NWY3NGY2NmM4MDU5OGI0ZGNmYzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvX19pbml0X18ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9fX2luaXRf
Xy5weQpAQCAtMzIsNDQgKzMyLDYyIEBAIEF1dG9JbnN0YWxsLnNldF9kaXJlY3Rvcnkob3MucGF0
aC5qb2luKGxpYnJhcmllcywgJ2F1dG9pbnN0YWxsZWQnLCAncHl0aG9uLXt9Jy5mCiAKIGlmIHN5
cy52ZXJzaW9uX2luZm8gPiAoMywgNCk6CiAgICAgIyBQeXRob24gPj0zLjUuKgotICAgIEF1dG9J
bnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3B5bGludCcsIFZlcnNpb24oMiwgNiwgMCkpKQorICAg
IEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2FzdHJvaWQnLCBWZXJzaW9uKDIsIDUsIDEp
KSkKKyAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdpc29ydCcsIFZlcnNpb24oNSwg
OCwgMCkpKQorICAgIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3B5bGludCcsIFZlcnNp
b24oMiwgNiwgMikpKQogZWxzZToKLSAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdw
eWxpbnQnLCBWZXJzaW9uKDAsIDI4LCAwKSkpCi0gICAgQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFj
a2FnZSgnbG9naWxhYi5jb21tb24nLCBWZXJzaW9uKDAsIDU4LCAxKSwgcHlwaV9uYW1lPSdsb2dp
bGFiLWNvbW1vbicsIGFsaWFzZXM9Wydsb2dpbGFiJ10pKQotICAgIEF1dG9JbnN0YWxsLnJlZ2lz
dGVyKFBhY2thZ2UoJ2xvZ2lsYWIuYXN0bmcnLCBWZXJzaW9uKDAsIDI0LCAxKSwgcHlwaV9uYW1l
PSdsb2dpbGFiLWFzdG5nJywgYWxpYXNlcz1bJ2xvZ2lsYWInXSkpCi0KKyAgICBBdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCdhc3Ryb2lkJywgVmVyc2lvbigxLCA2LCA2KSkpCisgICAgQXV0
b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnYmFja3BvcnRzLmZ1bmN0b29scy1scnUtY2FjaGUn
LCBWZXJzaW9uKDEsIDYsIDEpKSkKKyAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdl
bnVtMzQnLCBWZXJzaW9uKDEsIDEsIDEwKSkpCisgICAgQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFj
a2FnZSgnZnV0dXJlcycsIFZlcnNpb24oMywgMywgMCkpKQorICAgIEF1dG9JbnN0YWxsLnJlZ2lz
dGVyKFBhY2thZ2UoJ2lzb3J0JywgVmVyc2lvbig0LCAzLCAyMSkpKQorICAgIEF1dG9JbnN0YWxs
LnJlZ2lzdGVyKFBhY2thZ2UoJ2xvZ2lsYWIuYXN0bmcnLCBWZXJzaW9uKDAsIDI0LCAzKSwgcHlw
aV9uYW1lPSdsb2dpbGFiLWFzdG5nJywgYWxpYXNlcz1bJ2xvZ2lsYWInXSkpCisgICAgQXV0b0lu
c3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbG9naWxhYi5jb21tb24nLCBWZXJzaW9uKDEsIDQsIDQp
LCBweXBpX25hbWU9J2xvZ2lsYWItY29tbW9uJywgYWxpYXNlcz1bJ2xvZ2lsYWInXSkpCiAgICAg
QXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncGF0aGxpYicsIFZlcnNpb24oMiwgMywgNSks
IHB5cGlfbmFtZT0ncGF0aGxpYjInKSkKKyAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdweWxpbnQnLCBWZXJzaW9uKDEsIDksIDUpKSkKKyAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQ
YWNrYWdlKCdzaW5nbGVkaXNwYXRjaCcsIFZlcnNpb24oMywgNiwgMSkpKQogCi1BdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCdhdG9taWN3cml0ZXMnLCBWZXJzaW9uKDEsIDEsIDUpKSkKLUF1
dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2F0dHInLCBWZXJzaW9uKDE4LCAxLCAwKSwgcHlw
aV9uYW1lPSdhdHRycycpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnYXRvbWljd3Jp
dGVzJywgVmVyc2lvbigxLCA0LCAwKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdh
dHRyJywgVmVyc2lvbigyMCwgMywgMCksIHB5cGlfbmFtZT0nYXR0cnMnKSkKIEF1dG9JbnN0YWxs
LnJlZ2lzdGVyKFBhY2thZ2UoJ2JzNCcsIFZlcnNpb24oNCwgOSwgMyksIHB5cGlfbmFtZT0nYmVh
dXRpZnVsc291cDQnKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2JsZXNzaW5ncycs
IFZlcnNpb24oMSwgNykpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnY29uZmlncGFy
c2VyJywgVmVyc2lvbig0LCAwLCAyKSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdj
b250ZXh0bGliMicsIFZlcnNpb24oMCwgNiwgMCkpKQotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFj
a2FnZSgnY292ZXJhZ2UnLCBWZXJzaW9uKDUsIDIsIDEpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVy
KFBhY2thZ2UoJ2NvdmVyYWdlJywgVmVyc2lvbig1LCA1KSkpCitBdXRvSW5zdGFsbC5yZWdpc3Rl
cihQYWNrYWdlKCdkaXN0cm8nLCBWZXJzaW9uKDEsIDUsIDApKSkKIEF1dG9JbnN0YWxsLnJlZ2lz
dGVyKFBhY2thZ2UoJ2Z1bmNzaWdzJywgVmVyc2lvbigxLCAwLCAyKSkpCi1BdXRvSW5zdGFsbC5y
ZWdpc3RlcihQYWNrYWdlKCdpbXBvcnRsaWJfbWV0YWRhdGEnLCBWZXJzaW9uKDEsIDcsIDApKSkK
LUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2dlbnNoaScsIFZlcnNpb24oMCwgNywgMyks
IHB5cGlfbmFtZT0nR2Vuc2hpJykpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdnZW5z
aGknLCBWZXJzaW9uKDAsIDcsIDUpLCBweXBpX25hbWU9J0dlbnNoaScpKQogQXV0b0luc3RhbGwu
cmVnaXN0ZXIoUGFja2FnZSgnaHRtbDVsaWInLCBWZXJzaW9uKDEsIDEpKSkKK0F1dG9JbnN0YWxs
LnJlZ2lzdGVyKFBhY2thZ2UoJ2ltcG9ydGxpYi1tZXRhZGF0YScsIFZlcnNpb24oMiwgMSwgMSkp
KQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbGF6eS1vYmplY3QtcHJveHknLCBWZXJz
aW9uKDEsIDUsIDIpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21jY2FiZScsIFZl
cnNpb24oMCwgNiwgMSkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbWVjaGFuaXpl
JywgVmVyc2lvbigwLCA0LCA1KSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtb3Jl
X2l0ZXJ0b29scycsIFZlcnNpb24oNCwgMiwgMCksIHB5cGlfbmFtZT0nbW9yZS1pdGVydG9vbHMn
KSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21venByb2Nlc3MnLCBWZXJzaW9uKDEs
IDIsIDApKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21vemxvZycsIFZlcnNpb24o
NiwgMSkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbW9yZV9pdGVydG9vbHMnLCBW
ZXJzaW9uKDUsIDAsIDApLCBweXBpX25hbWU9J21vcmUtaXRlcnRvb2xzJykpCitBdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCdtb3pmaWxlJywgVmVyc2lvbigyLCAxLCAwKSkpCitBdXRvSW5z
dGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtb3ppbmZvJywgVmVyc2lvbigxLCAyLCAyKSkpCitBdXRv
SW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtb3psb2cnLCBWZXJzaW9uKDcsIDAsIDEpKSkKK0F1
dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21venByb2Nlc3MnLCBWZXJzaW9uKDEsIDIsIDEp
KSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21venRlcm0nLCBWZXJzaW9uKDEsIDAs
IDApKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3BhY2thZ2luZycsIFZlcnNpb24o
MjAsIDkpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3BhdGhsaWIyJywgVmVyc2lv
bigyLCAzLCA1KSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdwbHVnZ3knLCBWZXJz
aW9uKDAsIDUsIDIpKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3B5JywgVmVyc2lv
bigxLCA1LCAyKSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdweXRlc3RfdGltZW91
dCcsIFZlcnNpb24oMSwgNCwgMiksIHB5cGlfbmFtZT0ncHl0ZXN0LXRpbWVvdXQnKSkKLSMgUHl0
ZXN0IGhlbGQgdG8gMy54IGR1ZSB0byBXUFQgd2ViZHJpdmVyIGNvbXBhdGliaWxpdHkKK0F1dG9J
bnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3BsdWdneScsIFZlcnNpb24oMCwgNiwgMCkpKQorQXV0
b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncHknLCBWZXJzaW9uKDEsIDEwLCAwKSkpCitBdXRv
SW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdweWNvZGVzdHlsZScsIFZlcnNpb24oMiwgNywgMCkp
KQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncHlwYXJzaW5nJywgVmVyc2lvbigyLCA0
LCA3KSkpCisjIHB5dGVzdCBzaG91bGQgbWF0Y2ggdGhlIHZlcnNpb24gaW4gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXRlc3QK
IEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3B5dGVzdCcsIFZlcnNpb24oMywgNiwgMiks
IGltcGxpY2l0X2RlcHM9WydweXRlc3RfdGltZW91dCddKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVy
KFBhY2thZ2UoJ3B5Y29kZXN0eWxlJywgVmVyc2lvbigyLCA1LCAwKSkpCitBdXRvSW5zdGFsbC5y
ZWdpc3RlcihQYWNrYWdlKCdweXRlc3RfdGltZW91dCcsIFZlcnNpb24oMSwgNCwgMiksIHB5cGlf
bmFtZT0ncHl0ZXN0LXRpbWVvdXQnKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3Nj
YW5kaXInLCBWZXJzaW9uKDEsIDEwLCAwKSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdzb3Vwc2lldmUnLCBWZXJzaW9uKDEsIDksIDYpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBh
Y2thZ2UoJ3NlbGVuaXVtJywgVmVyc2lvbigzLCAxNDEsIDApKSkKLUF1dG9JbnN0YWxsLnJlZ2lz
dGVyKFBhY2thZ2UoJ3RvbWwnLCBWZXJzaW9uKDAsIDEwLCAxKSkpCitBdXRvSW5zdGFsbC5yZWdp
c3RlcihQYWNrYWdlKCdzaXgnLCBWZXJzaW9uKDEsIDE1LCAwKSkpCitBdXRvSW5zdGFsbC5yZWdp
c3RlcihQYWNrYWdlKCdzb3Vwc2lldmUnLCBWZXJzaW9uKDEsIDksIDYpKSkKK0F1dG9JbnN0YWxs
LnJlZ2lzdGVyKFBhY2thZ2UoJ3RvbWwnLCBWZXJzaW9uKDAsIDEwLCAyKSkpCitBdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCd1cmxsaWIzJywgVmVyc2lvbigxLCAyNiwgNCkpKQogQXV0b0lu
c3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnd2N3aWR0aCcsIFZlcnNpb24oMCwgMiwgNSkpKQogQXV0
b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnd2ViZW5jb2RpbmdzJywgVmVyc2lvbigwLCA1LCAx
KSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd3cmFwdCcsIFZlcnNpb24oMSwgMTIs
IDEpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3ppcHAnLCBWZXJzaW9uKDEsIDIs
IDApKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3pvcGUuaW50ZXJmYWNlJywgVmVy
c2lvbig1LCAxLCAwKSwgYWxpYXNlcz1bJ3pvcGUnXSwgcHlwaV9uYW1lPSd6b3BlLWludGVyZmFj
ZScpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnem9wZS5pbnRlcmZhY2UnLCBWZXJz
aW9uKDUsIDMsIDApLCBhbGlhc2VzPVsnem9wZSddLCBweXBpX25hbWU9J3pvcGUtaW50ZXJmYWNl
JykpCiAKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3dlYmtpdHNjbXB5JywgVmVyc2lv
bigwLCAxMiwgNSkpLCBsb2NhbD1UcnVlKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2F1dG9pbnN0YWxsZWQvYnVpbGRib3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2F1dG9pbnN0YWxsZWQvYnVpbGRib3QucHkKaW5kZXggMmZkMjNiNGI1YTRiYmUxYzhmOGZmMTM5
NTdiNzlmOWM2MjAwN2RiNy4uMzc1MDE5ZjBlMDI1YWJjNGExN2I1YTFhNGVhMGI2YzJmNWU5NmU1
ZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9hdXRvaW5zdGFsbGVkL2J1aWxk
Ym90LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYXV0b2luc3RhbGxlZC9idWlsZGJv
dC5weQpAQCAtMjQsMTUgKzI0LDI1IEBAIGltcG9ydCBzeXMKIAogZnJvbSB3ZWJraXRzY21weSBp
bXBvcnQgQXV0b0luc3RhbGwsIFBhY2thZ2UsIFZlcnNpb24KIAotQXV0b0luc3RhbGwucmVnaXN0
ZXIoUGFja2FnZSgnYXV0b2JhaG4nLCBWZXJzaW9uKDIwLCA3LCAxKSkpCi1BdXRvSW5zdGFsbC5y
ZWdpc3RlcihQYWNrYWdlKCdidWlsZGJvdCcsIFZlcnNpb24oMiwgMTAsIDEpKSkKK2Zyb20gd2Vi
a2l0cHkuYXV0b2luc3RhbGxlZCBpbXBvcnQgdHdpc3RlZAorCitBdXRvSW5zdGFsbC5yZWdpc3Rl
cihQYWNrYWdlKCdNYXJrdXBTYWZlJywgVmVyc2lvbigxLCAxLCAxKSkpCitBdXRvSW5zdGFsbC5y
ZWdpc3RlcihQYWNrYWdlKCdQeVlBTUwnLCBWZXJzaW9uKDUsIDQsIDEpKSkKK0F1dG9JbnN0YWxs
LnJlZ2lzdGVyKFBhY2thZ2UoJ1RlbXBpdGEnLCBWZXJzaW9uKDAsIDUsIDIpKSkKK0F1dG9JbnN0
YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2F1dG9iYWhuJywgVmVyc2lvbigyMSwgMywgMSkpKQorQXV0
b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnYnVpbGRib3QnLCBWZXJzaW9uKDIsIDEwLCA0KSkp
CitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdjZmZpJywgVmVyc2lvbigxLCAxNCwgNSkp
KQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnY3J5cHRvZ3JhcGh5JywgVmVyc2lvbigz
LCA0LCA2KSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdkYXRldXRpbCcsIFZlcnNp
b24oMiwgOCwgMSksIHB5cGlfbmFtZT0ncHl0aG9uLWRhdGV1dGlsJykpCi1BdXRvSW5zdGFsbC5y
ZWdpc3RlcihQYWNrYWdlKCdqaW5qYTInLCBWZXJzaW9uKDIsIDExLCAyKSwgcHlwaV9uYW1lPSdK
aW5qYTInKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2p3dCcsIFZlcnNpb24oMSwg
NywgMSksIHB5cGlfbmFtZT0nUHlKV1QnKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2Uo
J3B5eWFtbCcsIFZlcnNpb24oNSwgMywgMSksIHB5cGlfbmFtZT0nUHlZQU1MJykpCi1BdXRvSW5z
dGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzcWxhbGNoZW15JywgVmVyc2lvbigxLCAzLCAyMCksIHB5
cGlfbmFtZT0nU1FMQWxjaGVteScpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZGVj
b3JhdG9yJywgVmVyc2lvbig0LCA0LCAyKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdqaW5qYTInLCBWZXJzaW9uKDIsIDExLCAzKSwgcHlwaV9uYW1lPSdKaW5qYTInKSkKK0F1dG9J
bnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2p3dCcsIFZlcnNpb24oMiwgMCwgMSksIHB5cGlfbmFt
ZT0nUHlKV1QnKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3BicicsIFZlcnNpb24o
NSwgNSwgMSkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncHljcGFyc2VyJywgVmVy
c2lvbigyLCAyMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncHl5YW1sJywgVmVy
c2lvbig1LCA0LCAxKSwgcHlwaV9uYW1lPSdQeVlBTUwnKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVy
KFBhY2thZ2UoJ3NxbGFsY2hlbXknLCBWZXJzaW9uKDEsIDMsIDIzKSwgcHlwaV9uYW1lPSdTUUxB
bGNoZW15JykpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzcWxhbGNoZW15LW1pZ3Jh
dGUnLCBWZXJzaW9uKDAsIDEzLCAwKSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd0
d2lzdGVkJywgVmVyc2lvbigyMCwgMywgMCksIHB5cGlfbmFtZT0nVHdpc3RlZCcpKQotQXV0b0lu
c3RhbGwucmVnaXN0ZXIoUGFja2FnZSgndHhhaW8nLCBWZXJzaW9uKDIwLCA0LCAxKSkpCitBdXRv
SW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzcWxwYXJzZScsIFZlcnNpb24oMCwgNCwgMSkpKQor
QXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgndHhhaW8nLCBWZXJzaW9uKDIxLCAyLCAxKSkp
CiAKIHN5cy5tb2R1bGVzW19fbmFtZV9fXSA9IF9faW1wb3J0X18oJ2J1aWxkYm90JykKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYXV0b2luc3RhbGxlZC90d2lzdGVkLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9hdXRvaW5zdGFsbGVkL3R3aXN0ZWQucHkKaW5kZXggMDJk
YTBlZWRlYjBlOWNjODdjNTVkYjBhNTI1ZjJjODg3OWU2NTBlZi4uYTM2ZDdmN2E5OGZlNGIyOTc1
MTUxMmNjMmViNWE5ZWYxOWIzNzQ4NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9hdXRvaW5zdGFsbGVkL3R3aXN0ZWQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9h
dXRvaW5zdGFsbGVkL3R3aXN0ZWQucHkKQEAgLTI0LDUgKzI0LDEzIEBAIGltcG9ydCBzeXMKIAog
ZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgQXV0b0luc3RhbGwsIFBhY2thZ2UsIFZlcnNpb24KIAot
QXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgndHdpc3RlZCcsIFZlcnNpb24oMTUsIDUsIDAp
LCBweXBpX25hbWU9J1R3aXN0ZWQnKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ0F1
dG9tYXQnLCBWZXJzaW9uKDIwLCAyLCAwKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdjb25zdGFudGx5JywgVmVyc2lvbigxNSwgMSwgMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIo
UGFja2FnZSgnaHlwZXJsaW5rJywgVmVyc2lvbigyMSwgMCwgMCkpKQorQXV0b0luc3RhbGwucmVn
aXN0ZXIoUGFja2FnZSgnaWRuYScsIFZlcnNpb24oMiwgMTApKSkKK0F1dG9JbnN0YWxsLnJlZ2lz
dGVyKFBhY2thZ2UoJ2luY3JlbWVudGFsJywgVmVyc2lvbigyMSwgMywgMCkpKQorQXV0b0luc3Rh
bGwucmVnaXN0ZXIoUGFja2FnZSgnUHlIYW1jcmVzdCcsIFZlcnNpb24oMSwgMTAsIDEpKSkKK0F1
dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3R3aXN0ZWQnLCBWZXJzaW9uKDIwLCAzLCAwKSwg
cHlwaV9uYW1lPSdUd2lzdGVkJykpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd0eXBp
bmcnLCBWZXJzaW9uKDMsIDcsIDQsIDMpKSkKKwogc3lzLm1vZHVsZXNbX19uYW1lX19dID0gX19p
bXBvcnRfXygndHdpc3RlZCcpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0
eWxlL2NoZWNrZXJzL3B5dGhvbl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
c3R5bGUvY2hlY2tlcnMvcHl0aG9uX3VuaXR0ZXN0LnB5CmluZGV4IDMyZmI5MTY2ZGRhOTExOGZk
MzhlNjJhMGZhMDBjMjQyOWVlN2U3NTEuLmQyNzNiZWFkMDQ3YmU0MTBjYmQ3NjE4OTQ4ODRhM2E4
OWRhYjEyYjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tl
cnMvcHl0aG9uX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUv
Y2hlY2tlcnMvcHl0aG9uX3VuaXR0ZXN0LnB5CkBAIC02MCw5ICs2MCw5IEBAIGNsYXNzIFB5dGhv
bkNoZWNrZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBGSVhNRTogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDEzMwogICAgICAgICBleHBlY3Rl
ZF9lcnJvcnMgPSBbKDQsICJwZXA4L1cyOTEiLCA1LCAidHJhaWxpbmcgd2hpdGVzcGFjZSIpXQog
ICAgICAgICBpZiBzeXMudmVyc2lvbl9pbmZvIDwgKDMsIDApOgotICAgICAgICAgICAgZXhwZWN0
ZWRfZXJyb3JzLmFwcGVuZCgoNCwgInB5bGludC9FMDYwMiIsIDUsICJVbmRlZmluZWQgdmFyaWFi
bGUgJ2Vycm9yJyIpKQorICAgICAgICAgICAgZXhwZWN0ZWRfZXJyb3JzLmFwcGVuZCgoNCwgInB5
bGludC9FMDYwMih1bmRlZmluZWQtdmFyaWFibGUpIiwgNSwgIltdIFVuZGVmaW5lZCB2YXJpYWJs
ZSAnZXJyb3InIikpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnJvcnMsIGV4cGVjdGVk
X2Vycm9ycykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF9lcnJvcnMsIGVycm9y
cykKIAogICAgIGRlZiB0ZXN0X3B5bGludF9mYWxzZV9wb3NpdGl2ZXMoc2VsZik6CiAgICAgICAg
ICIiIlRlc3QgdGhhdCBweWxpbnQgZmFsc2UgcG9zaXRpdmVzIGFyZSBzdXBwcmVzc2VkLiIiIgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS94Y29kZS9zaW11bGF0ZWRfZGV2aWNl
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS94Y29kZS9zaW11bGF0ZWRfZGV2aWNlLnB5Cmlu
ZGV4IDQ4MWVjZjNlMjdkNGNlNmYwZmY0NmE0ZjlmMjkyZDIyOTI0ODliZWIuLmRjMjUxMWIzMzM3
Mjc3MjNhNDE4ZWE0ZTE1YWMzZmJjMDE4YmRjNWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkveGNvZGUvc2ltdWxhdGVkX2RldmljZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3hjb2RlL3NpbXVsYXRlZF9kZXZpY2UucHkKQEAgLTIzLDcgKzIzLDYgQEAKIGltcG9y
dCBhdGV4aXQKIGltcG9ydCBqc29uCiBpbXBvcnQgbG9nZ2luZwotaW1wb3J0IHBsaXN0bGliCiBp
bXBvcnQgcmUKIGltcG9ydCB0aW1lCiAKQEAgLTM1LDYgKzM0LDExIEBAIGZyb20gd2Via2l0cHku
Y29tbW9uLnN5c3RlbS5zeXN0ZW1ob3N0IGltcG9ydCBTeXN0ZW1Ib3N0CiBmcm9tIHdlYmtpdHB5
LnBvcnQuZGV2aWNlIGltcG9ydCBEZXZpY2UKIGZyb20gd2Via2l0cHkueGNvZGUuZGV2aWNlX3R5
cGUgaW1wb3J0IERldmljZVR5cGUKIAordHJ5OgorICAgIGZyb20gcGxpc3RsaWIgaW1wb3J0IGxv
YWQgYXMgcmVhZFBsaXN0CitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgZnJvbSBwbGlzdGxpYiBp
bXBvcnQgcmVhZFBsaXN0CisKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIAog
CkBAIC0xMDYsNyArMTEwLDcgQEAgY2xhc3MgU2ltdWxhdGVkRGV2aWNlTWFuYWdlcihvYmplY3Qp
OgogCiAgICAgICAgICMgRmluZCBkZXZpY2UgdHlwZS4gSWYgd2UgY2FuJ3QgcGFyc2UgdGhlIGRl
dmljZSB0eXBlLCBpZ25vcmUgdGhpcyBkZXZpY2UuCiAgICAgICAgIHRyeToKLSAgICAgICAgICAg
IGRldmljZV90eXBlX3N0cmluZyA9IFNpbXVsYXRlZERldmljZU1hbmFnZXIuX2RldmljZV9pZGVu
dGlmaWVyX3RvX25hbWVbcGxpc3RsaWIucmVhZFBsaXN0KGhvc3QuZmlsZXN5c3RlbS5vcGVuX2Jp
bmFyeV9maWxlX2Zvcl9yZWFkaW5nKGRldmljZV9wbGlzdCkpWydkZXZpY2VUeXBlJ11dCisgICAg
ICAgICAgICBkZXZpY2VfdHlwZV9zdHJpbmcgPSBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLl9kZXZp
Y2VfaWRlbnRpZmllcl90b19uYW1lW3JlYWRQbGlzdChob3N0LmZpbGVzeXN0ZW0ub3Blbl9iaW5h
cnlfZmlsZV9mb3JfcmVhZGluZyhkZXZpY2VfcGxpc3QpKVsnZGV2aWNlVHlwZSddXQogICAgICAg
ICAgICAgZGV2aWNlX3R5cGUgPSBEZXZpY2VUeXBlLmZyb21fc3RyaW5nKGRldmljZV90eXBlX3N0
cmluZywgcnVudGltZS52ZXJzaW9uKQogICAgICAgICAgICAgYXNzZXJ0IGRldmljZV90eXBlLnNv
ZnR3YXJlX3ZhcmlhbnQgPT0gcnVudGltZS5vc192YXJpYW50CiAgICAgICAgIGV4Y2VwdCAoVmFs
dWVFcnJvciwgQXNzZXJ0aW9uRXJyb3IpOgpAQCAtNTQ5LDcgKzU1Myw3IEBAIGNsYXNzIFNpbXVs
YXRlZERldmljZShvYmplY3QpOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3N0YXRlCiAKICAg
ICAgICAgZGV2aWNlX3BsaXN0ID0gc2VsZi5maWxlc3lzdGVtLmV4cGFuZHVzZXIoc2VsZi5maWxl
c3lzdGVtLmpvaW4oU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5zaW11bGF0b3JfZGV2aWNlX3BhdGgs
IHNlbGYudWRpZCwgJ2RldmljZS5wbGlzdCcpKQotICAgICAgICBzZWxmLl9zdGF0ZSA9IGludChw
bGlzdGxpYi5yZWFkUGxpc3Qoc2VsZi5maWxlc3lzdGVtLm9wZW5fYmluYXJ5X2ZpbGVfZm9yX3Jl
YWRpbmcoZGV2aWNlX3BsaXN0KSlbJ3N0YXRlJ10pCisgICAgICAgIHNlbGYuX3N0YXRlID0gaW50
KHJlYWRQbGlzdChzZWxmLmZpbGVzeXN0ZW0ub3Blbl9iaW5hcnlfZmlsZV9mb3JfcmVhZGluZyhk
ZXZpY2VfcGxpc3QpKVsnc3RhdGUnXSkKICAgICAgICAgc2VsZi5fbGFzdF91cGRhdGVkX3N0YXRl
ID0gdGltZS50aW1lKCkKICAgICAgICAgcmV0dXJuIHNlbGYuX3N0YXRlCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424309</attachid>
            <date>2021-03-25 17:52:06 -0700</date>
            <delta_ts>2021-03-26 02:38:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223609-20210326005205.patch</filename>
            <type>text/plain</type>
            <size>19689</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MDU2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNmY3N2Y3MGRmZGU4NTU4M2UzYmUxYWZhNTQzMTM5Mjgx
YmZiOGQ5My4uNzY2MWQzYjIwN2U0MGRkYjAwMjNjYTYxMGNhZTI4MTU5MWY2ODhlOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDIxLTAzLTI1ICBTYW0gU25lZGRvbiAgPGdzbmVkZGVyc0BhcHBsZS5jb20+CisKKyAg
ICAgICAgVXBkYXRlIGF1dG9pbnN0YWxsZWQgcGFja2FnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzYwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29y
ZXB5L3dlYmtpdGNvcmVweS9fX2luaXRfXy5weToKKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L3Rlc3RzL3Rhc2tfcG9vbF91bml0dGVzdC5weToK
KyAgICAgICAgKFRhc2tQb29sVW5pdHRlc3QudGVzdF9pbnZhbGlkX3NodXRkb3duKTogaW5jcmVh
c2UgdGltZW91dCB0byByZWR1Y2UgZmxha2luZXNzCisgICAgICAgICogU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0Zmxhc2tweS93ZWJraXRmbGFza3B5L19faW5pdF9fLnB5OgorICAgICAgICAqIFNj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5OgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9hdXRvaW5zdGFsbGVkL2J1aWxkYm90LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvYXV0b2luc3RhbGxlZC90d2lzdGVkLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvc3R5bGUvY2hlY2tlcnMvcHl0aG9uX3VuaXR0ZXN0LnB5OgorICAgICAgICAoUHl0aG9uQ2hl
Y2tlclRlc3QudGVzdF9jaGVjayk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS94Y29kZS9z
aW11bGF0ZWRfZGV2aWNlLnB5OiBoYW5kbGUgcmVtb3ZhbCBvZiBvbGQgcGxpc3RsaWIgQVBJIGlu
IFB5My45CisgICAgICAgIChTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLl9jcmVhdGVfZGV2aWNlX3dp
dGhfcnVudGltZSk6IGRpdHRvCisgICAgICAgIChTaW11bGF0ZWREZXZpY2Uuc3RhdGUpOiBkaXR0
bworCiAyMDIxLTAzLTI1ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIFBDTTogUmVuYW1lIGF0dHJpYnV0ZU9uIHRvIGF0dHJpYnV0aW9uRGVzdGluYXRpb24g
YW5kIGNoYW5nZSB0aGUgSURMIGRhdGEgdHlwZSBvZiBhdHRyaWJ1dGlvblNvdXJjZUlkIHRvIHVu
c2lnbmVkIGxvbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNv
cmVweS93ZWJraXRjb3JlcHkvX19pbml0X18ucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5CmluZGV4IGEyMTY2MWE3ZjYwOGEz
OTQ1ODliMmJiOTU4MmYwOWM1MGVhNGRhZjUuLjg1NGYzNDY5MTRmY2VmNzY1NjgzYWM5MGI4YjYz
YmJlMzUxNmUxYWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNv
cmVweS93ZWJraXRjb3JlcHkvX19pbml0X18ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9fX2luaXRfXy5weQpAQCAtMzcsMzIgKzM3LDMz
IEBAIGZyb20gd2Via2l0Y29yZXB5Lm91dHB1dF9jYXB0dXJlIGltcG9ydCBMb2dnZXJDYXB0dXJl
LCBPdXRwdXRDYXB0dXJlLCBPdXRwdXREdXBsCiBmcm9tIHdlYmtpdGNvcmVweS50YXNrX3Bvb2wg
aW1wb3J0IFRhc2tQb29sCiBmcm9tIHdlYmtpdGNvcmVweS5jcmVkZW50aWFscyBpbXBvcnQgY3Jl
ZGVudGlhbHMKIAotdmVyc2lvbiA9IFZlcnNpb24oMCwgNSwgNykKK3ZlcnNpb24gPSBWZXJzaW9u
KDAsIDUsIDgpCiAKIGZyb20gd2Via2l0Y29yZXB5LmF1dG9pbnN0YWxsIGltcG9ydCBQYWNrYWdl
LCBBdXRvSW5zdGFsbAogaWYgc3lzLnZlcnNpb25faW5mbyA+ICgzLCAwKToKLSAgICBBdXRvSW5z
dGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtb2NrJywgVmVyc2lvbig0KSkpCisgICAgQXV0b0luc3Rh
bGwucmVnaXN0ZXIoUGFja2FnZSgnbW9jaycsIFZlcnNpb24oNCwgMCwgMykpKQogZWxzZToKKyAg
ICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdjb25maWdwYXJzZXInLCBWZXJzaW9uKDQs
IDAsIDIpKSkKICAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtb2NrJywgVmVyc2lv
bigzLCAwLCA1KSkpCiAgICAgaWYgcGxhdGZvcm0uc3lzdGVtKCkgPT0gJ1dpbmRvd3MnOgogICAg
ICAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd3aW5faW5ldF9wdG9uJywgVmVyc2lv
bigxLCAxLCAwKSwgcHlwaV9uYW1lPSd3aW4taW5ldC1wdG9uJykpCiAKLUF1dG9JbnN0YWxsLnJl
Z2lzdGVyKFBhY2thZ2UoJ2NlcnRpZmknLCBWZXJzaW9uKDIwMjAsIDYsIDIwKSkpCi1BdXRvSW5z
dGFsbC5yZWdpc3RlcihQYWNrYWdlKCdjaGFyZGV0JywgVmVyc2lvbigzLCAwLCA0KSkpCitBdXRv
SW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdjZXJ0aWZpJywgVmVyc2lvbigyMDIwLCAxMiwgNSkp
KQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnY2hhcmRldCcsIFZlcnNpb24oNCwgMCwg
MCkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZGF0ZXV0aWwnLCBWZXJzaW9uKDIs
IDgsIDEpLCBweXBpX25hbWU9J3B5dGhvbi1kYXRldXRpbCcpKQotQXV0b0luc3RhbGwucmVnaXN0
ZXIoUGFja2FnZSgnZW50cnlwb2ludHMnLCBWZXJzaW9uKDAsIDMsIDApKSkKK0F1dG9JbnN0YWxs
LnJlZ2lzdGVyKFBhY2thZ2UoJ2VudHJ5cG9pbnRzJywgVmVyc2lvbigwLCAzKSkpCiBBdXRvSW5z
dGFsbC5yZWdpc3RlcihQYWNrYWdlKCdmdW5jc2lncycsIFZlcnNpb24oMSwgMCwgMikpKQogQXV0
b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnaWRuYScsIFZlcnNpb24oMiwgMTApKSkKLUF1dG9J
bnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2tleXJpbmcnLCBWZXJzaW9uKDcsIDMsIDEpKSkKLUF1
dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3BhY2thZ2luZycsIFZlcnNpb24oMjAsIDQpKSkK
K0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2tleXJpbmcnLCBWZXJzaW9uKDE4LCAwLCAx
KSwgaW1wbGljaXRfZGVwcz1bJ3NldHVwdG9vbHNfc2NtJ10pKQorQXV0b0luc3RhbGwucmVnaXN0
ZXIoUGFja2FnZSgncGFja2FnaW5nJywgVmVyc2lvbigyMCwgOSkpKQogQXV0b0luc3RhbGwucmVn
aXN0ZXIoUGFja2FnZSgncHlwYXJzaW5nJywgVmVyc2lvbigyLCA0LCA3KSkpCi1BdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCdyZXF1ZXN0cycsIFZlcnNpb24oMiwgMjQpKSkKK0F1dG9JbnN0
YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3JlcXVlc3RzJywgVmVyc2lvbigyLCAyNSwgMSkpKQogQXV0
b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnc2V0dXB0b29scycsIFZlcnNpb24oNDQsIDEsIDEp
KSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3NldHVwdG9vbHNfc2NtJywgVmVyc2lv
big1LCAwLCAyKSwgcHlwaV9uYW1lPSdzZXR1cHRvb2xzLXNjbScpKQotQXV0b0luc3RhbGwucmVn
aXN0ZXIoUGFja2FnZSgnc29ja3MnLCBWZXJzaW9uKDEsIDcsIDEpLCBweXBpX25hbWU9J1B5U29j
a3MnKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3NpeCcsIFZlcnNpb24oMSwgMTUs
IDApKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3NvY2tzJywgVmVyc2lvbigxLCA3
LCAxKSwgcHlwaV9uYW1lPSdQeVNvY2tzJykpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCd0YmxpYicsIFZlcnNpb24oMSwgNywgMCkpKQotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2Fn
ZSgndXJsbGliMycsIFZlcnNpb24oMSwgMjUsIDEwKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQ
YWNrYWdlKCd1cmxsaWIzJywgVmVyc2lvbigxLCAyNiwgNCkpKQogQXV0b0luc3RhbGwucmVnaXN0
ZXIoUGFja2FnZSgnd2hlZWwnLCBWZXJzaW9uKDAsIDM1LCAxKSkpCiAKICMgVGhpcyBpcyBuZWVk
ZWQgZm9yIHB5dGhvbi1rZXlyaW5nLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS90ZXN0cy90YXNrX3Bvb2xfdW5pdHRlc3QucHkg
Yi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L3Rlc3Rz
L3Rhc2tfcG9vbF91bml0dGVzdC5weQppbmRleCA0MjMzMGFlMTY1YzA1ZDUzOTFmNjRlMDUwMjk4
NzJlOWFmMzExNzY3Li45ZDNjMjYzNmVlOTM3ZDQ5MTk5ODRhMTcwYjJlZjBmZjI1ZWYyNzNmIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29y
ZXB5L3Rlc3RzL3Rhc2tfcG9vbF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L3Rlc3RzL3Rhc2tfcG9vbF91bml0dGVzdC5w
eQpAQCAtMTMzLDQgKzEzMyw0IEBAIGNsYXNzIFRhc2tQb29sVW5pdHRlc3QodW5pdHRlc3QuVGVz
dENhc2UpOgogICAgICAgICB3aXRoIE91dHB1dENhcHR1cmUoKToKICAgICAgICAgICAgIHdpdGgg
c2VsZi5hc3NlcnRSYWlzZXMoVGFza1Bvb2wuRXhjZXB0aW9uKToKICAgICAgICAgICAgICAgICB3
aXRoIFRhc2tQb29sKHdvcmtlcnM9MSwgdGVhcmRvd249dGVhcmRvd24sIGdyYWNlX3BlcmlvZD0x
KSBhcyBwb29sOgotICAgICAgICAgICAgICAgICAgICBwb29sLmRvKHdhaXQsIDIpCisgICAgICAg
ICAgICAgICAgICAgIHBvb2wuZG8od2FpdCwgMTApCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L2xpYnJhcmllcy93ZWJraXRmbGFza3B5L3dlYmtpdGZsYXNrcHkvX19pbml0X18ucHkgYi9Ub29s
cy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRmbGFza3B5L3dlYmtpdGZsYXNrcHkvX19pbml0X18u
cHkKaW5kZXggMWFjZmViODQ0NTZlNmIzYjE3Y2UwNzM0NmZlN2RiYzNkYTVkNTU0Ni4uZGIyZTcw
OGU4NGRmYzcwNTEyMWE1NWVjZmNhMzdhNTg5ODA4MWJiNiAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0Zmxhc2tweS93ZWJraXRmbGFza3B5L19faW5pdF9fLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGZsYXNrcHkvd2Via2l0Zmxhc2tweS9f
X2luaXRfXy5weQpAQCAtNDMsMTMgKzQzLDEzIEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAg
ICAgIlBsZWFzZSBpbnN0YWxsIHdlYmtpdGNvcmVweSB3aXRoIGBwaXAgaW5zdGFsbCB3ZWJraXRj
b3JlcHkgLS1leHRyYS1pbmRleC11cmwgPHBhY2thZ2UgaW5kZXggVVJMPmAiCiAgICAgKQogCi12
ZXJzaW9uID0gVmVyc2lvbigwLCAxLCAxKQotCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdjbGljaycpLCBWZXJzaW9uKDcsIDEsIDIpKQotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2Fn
ZSgnZmxhc2snKSwgVmVyc2lvbigxLCAxLCAyKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2th
Z2UoJ2l0c2Rhbmdlcm91cycpLCBWZXJzaW9uKDIsIDAsIDApKQotQXV0b0luc3RhbGwucmVnaXN0
ZXIoUGFja2FnZSgnamluamEyJyksIFZlcnNpb24oMywgMCwgMCkpCi1BdXRvSW5zdGFsbC5yZWdp
c3RlcihQYWNrYWdlKCdtYXJrdXBzYWZlJyksIFZlcnNpb24oMiwgMCwgMCkpCi1BdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCd3ZXJremV1ZycpLCBWZXJzaW9uKDEsIDAsIDEpKQordmVyc2lv
biA9IFZlcnNpb24oMCwgMSwgMikKKworQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnY2xp
Y2snLCBWZXJzaW9uKDcsIDEsIDIpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2Zs
YXNrJywgVmVyc2lvbigxLCAxLCAyKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdp
dHNkYW5nZXJvdXMnLCBWZXJzaW9uKDEsIDEsIDApKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBh
Y2thZ2UoJ2ppbmphMicsIFZlcnNpb24oMiwgMTEsIDMpLCBweXBpX25hbWU9J0ppbmphMicpKQor
QXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbWFya3Vwc2FmZScsIFZlcnNpb24oMSwgMSwg
MSkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnd2Vya3pldWcnLCBWZXJzaW9uKDEs
IDAsIDEpKSkKIAogbmFtZSA9ICd3ZWJraXRmbGFza3B5JwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0X18ucHkgYi9Ub29s
cy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weQpp
bmRleCAyNWVkZWNlMTIzM2Y0ZmYwM2M1ZTI5YTQ4YmIwOTIyNjY5NGQxMDUwLi4yMWRjYzE1NGI1
MThkM2U4MTI5OThmMDdlOTYyNzdhYzRlMjYxN2M5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weQorKysgYi9Ub29s
cy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weQpA
QCAtNDYsMTIgKzQ2LDEzIEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICAgIlBsZWFzZSBp
bnN0YWxsIHdlYmtpdGNvcmVweSB3aXRoIGBwaXAgaW5zdGFsbCB3ZWJraXRjb3JlcHkgLS1leHRy
YS1pbmRleC11cmwgPHBhY2thZ2UgaW5kZXggVVJMPmAiCiAgICAgKQogCi12ZXJzaW9uID0gVmVy
c2lvbigwLCAxMywgNikKK3ZlcnNpb24gPSBWZXJzaW9uKDAsIDEzLCA3KQogCi1BdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCdmYXN0ZW5lcnMnLCBWZXJzaW9uKDAsIDE1LCAwKSkpCitBdXRv
SW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdmYXN0ZW5lcnMnLCBWZXJzaW9uKDAsIDE2KSkpCiBB
dXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtb25vdG9uaWMnLCBWZXJzaW9uKDEsIDUpKSkK
K0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3NpeCcsIFZlcnNpb24oMSwgMTUsIDApKSkK
IEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3doaWNoY3JhZnQnLCBWZXJzaW9uKDAsIDYs
IDEpKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3htbHRvZGljdCcsIFZlcnNpb24o
MCwgMTEsIDApKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3htbHRvZGljdCcsIFZl
cnNpb24oMCwgMTIsIDApKSkKIAogZnJvbSB3ZWJraXRzY21weS5jb250cmlidXRvciBpbXBvcnQg
Q29udHJpYnV0b3IKIGZyb20gd2Via2l0c2NtcHkuY29tbWl0IGltcG9ydCBDb21taXQKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L19faW5pdF9fLnB5CmluZGV4IGIyYWYwMGNjODE2YTQxZWRkN2JjMWE3NzRjNzZk
NDQ3MTc3Yjc2OTYuLjgwNTFkZWE1MjNlNTg0YmQ1MmQzNjVkZDZlNjk0MTA3MzkxNmU3ODYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5weQpAQCAtMzIsNDQgKzMyLDYzIEBAIEF1dG9JbnN0
YWxsLnNldF9kaXJlY3Rvcnkob3MucGF0aC5qb2luKGxpYnJhcmllcywgJ2F1dG9pbnN0YWxsZWQn
LCAncHl0aG9uLXt9Jy5mCiAKIGlmIHN5cy52ZXJzaW9uX2luZm8gPiAoMywgNCk6CiAgICAgIyBQ
eXRob24gPj0zLjUuKgotICAgIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3B5bGludCcs
IFZlcnNpb24oMiwgNiwgMCkpKQorICAgIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2Fz
dHJvaWQnLCBWZXJzaW9uKDIsIDUsIDEpKSkKKyAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNr
YWdlKCdpc29ydCcsIFZlcnNpb24oNSwgOCwgMCkpKQorICAgIEF1dG9JbnN0YWxsLnJlZ2lzdGVy
KFBhY2thZ2UoJ3B5bGludCcsIFZlcnNpb24oMiwgNiwgMikpKQogZWxzZToKLSAgICBBdXRvSW5z
dGFsbC5yZWdpc3RlcihQYWNrYWdlKCdweWxpbnQnLCBWZXJzaW9uKDAsIDI4LCAwKSkpCi0gICAg
QXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbG9naWxhYi5jb21tb24nLCBWZXJzaW9uKDAs
IDU4LCAxKSwgcHlwaV9uYW1lPSdsb2dpbGFiLWNvbW1vbicsIGFsaWFzZXM9Wydsb2dpbGFiJ10p
KQotICAgIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2xvZ2lsYWIuYXN0bmcnLCBWZXJz
aW9uKDAsIDI0LCAxKSwgcHlwaV9uYW1lPSdsb2dpbGFiLWFzdG5nJywgYWxpYXNlcz1bJ2xvZ2ls
YWInXSkpCi0KKyAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdhc3Ryb2lkJywgVmVy
c2lvbigxLCA2LCA2KSkpCisgICAgQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnYmFja3Bv
cnRzLmZ1bmN0b29scy1scnUtY2FjaGUnLCBWZXJzaW9uKDEsIDYsIDEpKSkKKyAgICBBdXRvSW5z
dGFsbC5yZWdpc3RlcihQYWNrYWdlKCdlbnVtMzQnLCBWZXJzaW9uKDEsIDEsIDEwKSkpCisgICAg
QXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZnV0dXJlcycsIFZlcnNpb24oMywgMywgMCkp
KQorICAgIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2lzb3J0JywgVmVyc2lvbig0LCAz
LCAyMSkpKQorICAgIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2xvZ2lsYWIuYXN0bmcn
LCBWZXJzaW9uKDAsIDI0LCAzKSwgcHlwaV9uYW1lPSdsb2dpbGFiLWFzdG5nJywgYWxpYXNlcz1b
J2xvZ2lsYWInXSkpCisgICAgQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbG9naWxhYi5j
b21tb24nLCBWZXJzaW9uKDEsIDQsIDQpLCBweXBpX25hbWU9J2xvZ2lsYWItY29tbW9uJywgYWxp
YXNlcz1bJ2xvZ2lsYWInXSkpCiAgICAgQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncGF0
aGxpYicsIFZlcnNpb24oMiwgMywgNSksIHB5cGlfbmFtZT0ncGF0aGxpYjInKSkKKyAgICBBdXRv
SW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdweWxpbnQnLCBWZXJzaW9uKDEsIDksIDUpKSkKKyAg
ICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzaW5nbGVkaXNwYXRjaCcsIFZlcnNpb24o
MywgNiwgMSkpKQogCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdhdG9taWN3cml0ZXMn
LCBWZXJzaW9uKDEsIDEsIDUpKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2F0dHIn
LCBWZXJzaW9uKDE4LCAxLCAwKSwgcHlwaV9uYW1lPSdhdHRycycpKQorQXV0b0luc3RhbGwucmVn
aXN0ZXIoUGFja2FnZSgnYXRvbWljd3JpdGVzJywgVmVyc2lvbigxLCA0LCAwKSkpCitBdXRvSW5z
dGFsbC5yZWdpc3RlcihQYWNrYWdlKCdhdHRyJywgVmVyc2lvbigyMCwgMywgMCksIHB5cGlfbmFt
ZT0nYXR0cnMnKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2JzNCcsIFZlcnNpb24o
NCwgOSwgMyksIHB5cGlfbmFtZT0nYmVhdXRpZnVsc291cDQnKSkKK0F1dG9JbnN0YWxsLnJlZ2lz
dGVyKFBhY2thZ2UoJ2JsZXNzaW5ncycsIFZlcnNpb24oMSwgNykpKQogQXV0b0luc3RhbGwucmVn
aXN0ZXIoUGFja2FnZSgnY29uZmlncGFyc2VyJywgVmVyc2lvbig0LCAwLCAyKSkpCiBBdXRvSW5z
dGFsbC5yZWdpc3RlcihQYWNrYWdlKCdjb250ZXh0bGliMicsIFZlcnNpb24oMCwgNiwgMCkpKQot
QXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnY292ZXJhZ2UnLCBWZXJzaW9uKDUsIDIsIDEp
KSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2NvdmVyYWdlJywgVmVyc2lvbig1LCA1
KSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdkaXN0cm8nLCBWZXJzaW9uKDEsIDUs
IDApKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2Z1bmNzaWdzJywgVmVyc2lvbigx
LCAwLCAyKSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdpbXBvcnRsaWJfbWV0YWRh
dGEnLCBWZXJzaW9uKDEsIDcsIDApKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2dl
bnNoaScsIFZlcnNpb24oMCwgNywgMyksIHB5cGlfbmFtZT0nR2Vuc2hpJykpCitBdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCdnZW5zaGknLCBWZXJzaW9uKDAsIDcsIDUpLCBweXBpX25hbWU9
J0dlbnNoaScpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnaHRtbDVsaWInLCBWZXJz
aW9uKDEsIDEpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2ltcG9ydGxpYi1tZXRh
ZGF0YScsIFZlcnNpb24oMiwgMSwgMSkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgn
bGF6eS1vYmplY3QtcHJveHknLCBWZXJzaW9uKDEsIDUsIDIpKSkKK0F1dG9JbnN0YWxsLnJlZ2lz
dGVyKFBhY2thZ2UoJ21jY2FiZScsIFZlcnNpb24oMCwgNiwgMSksIGltcGxpY2l0X2RlcHM9Wydw
eXRlc3RfcnVubmVyJ10pKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbWVjaGFuaXpl
JywgVmVyc2lvbigwLCA0LCA1KSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtb3Jl
X2l0ZXJ0b29scycsIFZlcnNpb24oNCwgMiwgMCksIHB5cGlfbmFtZT0nbW9yZS1pdGVydG9vbHMn
KSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21venByb2Nlc3MnLCBWZXJzaW9uKDEs
IDIsIDApKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21vemxvZycsIFZlcnNpb24o
NiwgMSkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbW9yZV9pdGVydG9vbHMnLCBW
ZXJzaW9uKDUsIDAsIDApLCBweXBpX25hbWU9J21vcmUtaXRlcnRvb2xzJykpCitBdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCdtb3pmaWxlJywgVmVyc2lvbigyLCAxLCAwKSkpCitBdXRvSW5z
dGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtb3ppbmZvJywgVmVyc2lvbigxLCAyLCAyKSkpCitBdXRv
SW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtb3psb2cnLCBWZXJzaW9uKDcsIDAsIDEpKSkKK0F1
dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21venByb2Nlc3MnLCBWZXJzaW9uKDEsIDIsIDEp
KSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21venRlcm0nLCBWZXJzaW9uKDEsIDAs
IDApKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3BhY2thZ2luZycsIFZlcnNpb24o
MjAsIDkpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3BhdGhsaWIyJywgVmVyc2lv
bigyLCAzLCA1KSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdwbHVnZ3knLCBWZXJz
aW9uKDAsIDUsIDIpKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3B5JywgVmVyc2lv
bigxLCA1LCAyKSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdweXRlc3RfdGltZW91
dCcsIFZlcnNpb24oMSwgNCwgMiksIHB5cGlfbmFtZT0ncHl0ZXN0LXRpbWVvdXQnKSkKLSMgUHl0
ZXN0IGhlbGQgdG8gMy54IGR1ZSB0byBXUFQgd2ViZHJpdmVyIGNvbXBhdGliaWxpdHkKK0F1dG9J
bnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3BsdWdneScsIFZlcnNpb24oMCwgNiwgMCkpKQorQXV0
b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncHknLCBWZXJzaW9uKDEsIDEwLCAwKSkpCitBdXRv
SW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdweWNvZGVzdHlsZScsIFZlcnNpb24oMiwgNywgMCkp
KQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncHlwYXJzaW5nJywgVmVyc2lvbigyLCA0
LCA3KSkpCisjIHB5dGVzdCBzaG91bGQgbWF0Y2ggdGhlIHZlcnNpb24gaW4gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXRlc3QK
IEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3B5dGVzdCcsIFZlcnNpb24oMywgNiwgMiks
IGltcGxpY2l0X2RlcHM9WydweXRlc3RfdGltZW91dCddKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVy
KFBhY2thZ2UoJ3B5Y29kZXN0eWxlJywgVmVyc2lvbigyLCA1LCAwKSkpCitBdXRvSW5zdGFsbC5y
ZWdpc3RlcihQYWNrYWdlKCdweXRlc3RfcnVubmVyJywgVmVyc2lvbig0LCA1LCAxKSwgcHlwaV9u
YW1lPSdweXRlc3QtcnVubmVyJykpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdweXRl
c3RfdGltZW91dCcsIFZlcnNpb24oMSwgNCwgMiksIHB5cGlfbmFtZT0ncHl0ZXN0LXRpbWVvdXQn
KSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3NjYW5kaXInLCBWZXJzaW9uKDEsIDEw
LCAwKSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzb3Vwc2lldmUnLCBWZXJzaW9u
KDEsIDksIDYpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3NlbGVuaXVtJywgVmVy
c2lvbigzLCAxNDEsIDApKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3RvbWwnLCBW
ZXJzaW9uKDAsIDEwLCAxKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzaXgnLCBW
ZXJzaW9uKDEsIDE1LCAwKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzb3Vwc2ll
dmUnLCBWZXJzaW9uKDEsIDksIDYpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3Rv
bWwnLCBWZXJzaW9uKDAsIDEwLCAyKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd1
cmxsaWIzJywgVmVyc2lvbigxLCAyNiwgNCkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2Fn
ZSgnd2N3aWR0aCcsIFZlcnNpb24oMCwgMiwgNSkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFj
a2FnZSgnd2ViZW5jb2RpbmdzJywgVmVyc2lvbigwLCA1LCAxKSkpCitBdXRvSW5zdGFsbC5yZWdp
c3RlcihQYWNrYWdlKCd3cmFwdCcsIFZlcnNpb24oMSwgMTIsIDEpKSkKIEF1dG9JbnN0YWxsLnJl
Z2lzdGVyKFBhY2thZ2UoJ3ppcHAnLCBWZXJzaW9uKDEsIDIsIDApKSkKLUF1dG9JbnN0YWxsLnJl
Z2lzdGVyKFBhY2thZ2UoJ3pvcGUuaW50ZXJmYWNlJywgVmVyc2lvbig1LCAxLCAwKSwgYWxpYXNl
cz1bJ3pvcGUnXSwgcHlwaV9uYW1lPSd6b3BlLWludGVyZmFjZScpKQorQXV0b0luc3RhbGwucmVn
aXN0ZXIoUGFja2FnZSgnem9wZS5pbnRlcmZhY2UnLCBWZXJzaW9uKDUsIDMsIDApLCBhbGlhc2Vz
PVsnem9wZSddLCBweXBpX25hbWU9J3pvcGUtaW50ZXJmYWNlJykpCiAKIEF1dG9JbnN0YWxsLnJl
Z2lzdGVyKFBhY2thZ2UoJ3dlYmtpdHNjbXB5JywgVmVyc2lvbigwLCAxMiwgNSkpLCBsb2NhbD1U
cnVlKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2F1dG9pbnN0YWxsZWQv
YnVpbGRib3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2F1dG9pbnN0YWxsZWQvYnVpbGRi
b3QucHkKaW5kZXggMmZkMjNiNGI1YTRiYmUxYzhmOGZmMTM5NTdiNzlmOWM2MjAwN2RiNy4uMzc1
MDE5ZjBlMDI1YWJjNGExN2I1YTFhNGVhMGI2YzJmNWU5NmU1ZiAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9hdXRvaW5zdGFsbGVkL2J1aWxkYm90LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvYXV0b2luc3RhbGxlZC9idWlsZGJvdC5weQpAQCAtMjQsMTUgKzI0LDI1
IEBAIGltcG9ydCBzeXMKIAogZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgQXV0b0luc3RhbGwsIFBh
Y2thZ2UsIFZlcnNpb24KIAotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnYXV0b2JhaG4n
LCBWZXJzaW9uKDIwLCA3LCAxKSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdidWls
ZGJvdCcsIFZlcnNpb24oMiwgMTAsIDEpKSkKK2Zyb20gd2Via2l0cHkuYXV0b2luc3RhbGxlZCBp
bXBvcnQgdHdpc3RlZAorCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdNYXJrdXBTYWZl
JywgVmVyc2lvbigxLCAxLCAxKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdQeVlB
TUwnLCBWZXJzaW9uKDUsIDQsIDEpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ1Rl
bXBpdGEnLCBWZXJzaW9uKDAsIDUsIDIpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2Uo
J2F1dG9iYWhuJywgVmVyc2lvbigyMSwgMywgMSkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFj
a2FnZSgnYnVpbGRib3QnLCBWZXJzaW9uKDIsIDEwLCA0KSkpCitBdXRvSW5zdGFsbC5yZWdpc3Rl
cihQYWNrYWdlKCdjZmZpJywgVmVyc2lvbigxLCAxNCwgNSkpKQorQXV0b0luc3RhbGwucmVnaXN0
ZXIoUGFja2FnZSgnY3J5cHRvZ3JhcGh5JywgVmVyc2lvbigzLCA0LCA2KSkpCiBBdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCdkYXRldXRpbCcsIFZlcnNpb24oMiwgOCwgMSksIHB5cGlfbmFt
ZT0ncHl0aG9uLWRhdGV1dGlsJykpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdqaW5q
YTInLCBWZXJzaW9uKDIsIDExLCAyKSwgcHlwaV9uYW1lPSdKaW5qYTInKSkKLUF1dG9JbnN0YWxs
LnJlZ2lzdGVyKFBhY2thZ2UoJ2p3dCcsIFZlcnNpb24oMSwgNywgMSksIHB5cGlfbmFtZT0nUHlK
V1QnKSkKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3B5eWFtbCcsIFZlcnNpb24oNSwg
MywgMSksIHB5cGlfbmFtZT0nUHlZQU1MJykpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdzcWxhbGNoZW15JywgVmVyc2lvbigxLCAzLCAyMCksIHB5cGlfbmFtZT0nU1FMQWxjaGVteScp
KQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZGVjb3JhdG9yJywgVmVyc2lvbig0LCA0
LCAyKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdqaW5qYTInLCBWZXJzaW9uKDIs
IDExLCAzKSwgcHlwaV9uYW1lPSdKaW5qYTInKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2th
Z2UoJ2p3dCcsIFZlcnNpb24oMiwgMCwgMSksIHB5cGlfbmFtZT0nUHlKV1QnKSkKK0F1dG9JbnN0
YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3BicicsIFZlcnNpb24oNSwgNSwgMSkpKQorQXV0b0luc3Rh
bGwucmVnaXN0ZXIoUGFja2FnZSgncHljcGFyc2VyJywgVmVyc2lvbigyLCAyMCkpKQorQXV0b0lu
c3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncHl5YW1sJywgVmVyc2lvbig1LCA0LCAxKSwgcHlwaV9u
YW1lPSdQeVlBTUwnKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3NxbGFsY2hlbXkn
LCBWZXJzaW9uKDEsIDMsIDIzKSwgcHlwaV9uYW1lPSdTUUxBbGNoZW15JykpCiBBdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCdzcWxhbGNoZW15LW1pZ3JhdGUnLCBWZXJzaW9uKDAsIDEzLCAw
KSkpCi1BdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd0d2lzdGVkJywgVmVyc2lvbigyMCwg
MywgMCksIHB5cGlfbmFtZT0nVHdpc3RlZCcpKQotQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2Fn
ZSgndHhhaW8nLCBWZXJzaW9uKDIwLCA0LCAxKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNr
YWdlKCdzcWxwYXJzZScsIFZlcnNpb24oMCwgNCwgMSkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIo
UGFja2FnZSgndHhhaW8nLCBWZXJzaW9uKDIxLCAyLCAxKSkpCiAKIHN5cy5tb2R1bGVzW19fbmFt
ZV9fXSA9IF9faW1wb3J0X18oJ2J1aWxkYm90JykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvYXV0b2luc3RhbGxlZC90d2lzdGVkLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9hdXRvaW5zdGFsbGVkL3R3aXN0ZWQucHkKaW5kZXggMDJkYTBlZWRlYjBlOWNjODdjNTVkYjBh
NTI1ZjJjODg3OWU2NTBlZi4uYTM2ZDdmN2E5OGZlNGIyOTc1MTUxMmNjMmViNWE5ZWYxOWIzNzQ4
NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9hdXRvaW5zdGFsbGVkL3R3aXN0
ZWQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9hdXRvaW5zdGFsbGVkL3R3aXN0ZWQu
cHkKQEAgLTI0LDUgKzI0LDEzIEBAIGltcG9ydCBzeXMKIAogZnJvbSB3ZWJraXRzY21weSBpbXBv
cnQgQXV0b0luc3RhbGwsIFBhY2thZ2UsIFZlcnNpb24KIAotQXV0b0luc3RhbGwucmVnaXN0ZXIo
UGFja2FnZSgndHdpc3RlZCcsIFZlcnNpb24oMTUsIDUsIDApLCBweXBpX25hbWU9J1R3aXN0ZWQn
KSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ0F1dG9tYXQnLCBWZXJzaW9uKDIwLCAy
LCAwKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdjb25zdGFudGx5JywgVmVyc2lv
bigxNSwgMSwgMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnaHlwZXJsaW5rJywg
VmVyc2lvbigyMSwgMCwgMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnaWRuYScs
IFZlcnNpb24oMiwgMTApKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2luY3JlbWVu
dGFsJywgVmVyc2lvbigyMSwgMywgMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgn
UHlIYW1jcmVzdCcsIFZlcnNpb24oMSwgMTAsIDEpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBh
Y2thZ2UoJ3R3aXN0ZWQnLCBWZXJzaW9uKDIwLCAzLCAwKSwgcHlwaV9uYW1lPSdUd2lzdGVkJykp
CitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd0eXBpbmcnLCBWZXJzaW9uKDMsIDcsIDQs
IDMpKSkKKwogc3lzLm1vZHVsZXNbX19uYW1lX19dID0gX19pbXBvcnRfXygndHdpc3RlZCcpCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3B5dGhvbl91
bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvcHl0aG9u
X3VuaXR0ZXN0LnB5CmluZGV4IDMyZmI5MTY2ZGRhOTExOGZkMzhlNjJhMGZhMDBjMjQyOWVlN2U3
NTEuLmQyNzNiZWFkMDQ3YmU0MTBjYmQ3NjE4OTQ4ODRhM2E4OWRhYjEyYjEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvcHl0aG9uX3VuaXR0ZXN0LnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvcHl0aG9uX3VuaXR0
ZXN0LnB5CkBAIC02MCw5ICs2MCw5IEBAIGNsYXNzIFB5dGhvbkNoZWNrZXJUZXN0KHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgIyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwNDEzMwogICAgICAgICBleHBlY3RlZF9lcnJvcnMgPSBbKDQsICJwZXA4
L1cyOTEiLCA1LCAidHJhaWxpbmcgd2hpdGVzcGFjZSIpXQogICAgICAgICBpZiBzeXMudmVyc2lv
bl9pbmZvIDwgKDMsIDApOgotICAgICAgICAgICAgZXhwZWN0ZWRfZXJyb3JzLmFwcGVuZCgoNCwg
InB5bGludC9FMDYwMiIsIDUsICJVbmRlZmluZWQgdmFyaWFibGUgJ2Vycm9yJyIpKQorICAgICAg
ICAgICAgZXhwZWN0ZWRfZXJyb3JzLmFwcGVuZCgoNCwgInB5bGludC9FMDYwMih1bmRlZmluZWQt
dmFyaWFibGUpIiwgNSwgIltdIFVuZGVmaW5lZCB2YXJpYWJsZSAnZXJyb3InIikpCiAKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChlcnJvcnMsIGV4cGVjdGVkX2Vycm9ycykKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChleHBlY3RlZF9lcnJvcnMsIGVycm9ycykKIAogICAgIGRlZiB0ZXN0X3B5
bGludF9mYWxzZV9wb3NpdGl2ZXMoc2VsZik6CiAgICAgICAgICIiIlRlc3QgdGhhdCBweWxpbnQg
ZmFsc2UgcG9zaXRpdmVzIGFyZSBzdXBwcmVzc2VkLiIiIgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS94Y29kZS9zaW11bGF0ZWRfZGV2aWNlLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS94Y29kZS9zaW11bGF0ZWRfZGV2aWNlLnB5CmluZGV4IDQ4MWVjZjNlMjdkNGNlNmYw
ZmY0NmE0ZjlmMjkyZDIyOTI0ODliZWIuLmRjMjUxMWIzMzM3Mjc3MjNhNDE4ZWE0ZTE1YWMzZmJj
MDE4YmRjNWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkveGNvZGUvc2ltdWxh
dGVkX2RldmljZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3hjb2RlL3NpbXVsYXRl
ZF9kZXZpY2UucHkKQEAgLTIzLDcgKzIzLDYgQEAKIGltcG9ydCBhdGV4aXQKIGltcG9ydCBqc29u
CiBpbXBvcnQgbG9nZ2luZwotaW1wb3J0IHBsaXN0bGliCiBpbXBvcnQgcmUKIGltcG9ydCB0aW1l
CiAKQEAgLTM1LDYgKzM0LDExIEBAIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5zeXN0ZW1o
b3N0IGltcG9ydCBTeXN0ZW1Ib3N0CiBmcm9tIHdlYmtpdHB5LnBvcnQuZGV2aWNlIGltcG9ydCBE
ZXZpY2UKIGZyb20gd2Via2l0cHkueGNvZGUuZGV2aWNlX3R5cGUgaW1wb3J0IERldmljZVR5cGUK
IAordHJ5OgorICAgIGZyb20gcGxpc3RsaWIgaW1wb3J0IGxvYWQgYXMgcmVhZFBsaXN0CitleGNl
cHQgSW1wb3J0RXJyb3I6CisgICAgZnJvbSBwbGlzdGxpYiBpbXBvcnQgcmVhZFBsaXN0CisKIF9s
b2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIAogCkBAIC0xMDYsNyArMTEwLDcgQEAg
Y2xhc3MgU2ltdWxhdGVkRGV2aWNlTWFuYWdlcihvYmplY3QpOgogCiAgICAgICAgICMgRmluZCBk
ZXZpY2UgdHlwZS4gSWYgd2UgY2FuJ3QgcGFyc2UgdGhlIGRldmljZSB0eXBlLCBpZ25vcmUgdGhp
cyBkZXZpY2UuCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIGRldmljZV90eXBlX3N0cmluZyA9
IFNpbXVsYXRlZERldmljZU1hbmFnZXIuX2RldmljZV9pZGVudGlmaWVyX3RvX25hbWVbcGxpc3Rs
aWIucmVhZFBsaXN0KGhvc3QuZmlsZXN5c3RlbS5vcGVuX2JpbmFyeV9maWxlX2Zvcl9yZWFkaW5n
KGRldmljZV9wbGlzdCkpWydkZXZpY2VUeXBlJ11dCisgICAgICAgICAgICBkZXZpY2VfdHlwZV9z
dHJpbmcgPSBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLl9kZXZpY2VfaWRlbnRpZmllcl90b19uYW1l
W3JlYWRQbGlzdChob3N0LmZpbGVzeXN0ZW0ub3Blbl9iaW5hcnlfZmlsZV9mb3JfcmVhZGluZyhk
ZXZpY2VfcGxpc3QpKVsnZGV2aWNlVHlwZSddXQogICAgICAgICAgICAgZGV2aWNlX3R5cGUgPSBE
ZXZpY2VUeXBlLmZyb21fc3RyaW5nKGRldmljZV90eXBlX3N0cmluZywgcnVudGltZS52ZXJzaW9u
KQogICAgICAgICAgICAgYXNzZXJ0IGRldmljZV90eXBlLnNvZnR3YXJlX3ZhcmlhbnQgPT0gcnVu
dGltZS5vc192YXJpYW50CiAgICAgICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgQXNzZXJ0aW9uRXJy
b3IpOgpAQCAtNTQ5LDcgKzU1Myw3IEBAIGNsYXNzIFNpbXVsYXRlZERldmljZShvYmplY3QpOgog
ICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3N0YXRlCiAKICAgICAgICAgZGV2aWNlX3BsaXN0ID0g
c2VsZi5maWxlc3lzdGVtLmV4cGFuZHVzZXIoc2VsZi5maWxlc3lzdGVtLmpvaW4oU2ltdWxhdGVk
RGV2aWNlTWFuYWdlci5zaW11bGF0b3JfZGV2aWNlX3BhdGgsIHNlbGYudWRpZCwgJ2RldmljZS5w
bGlzdCcpKQotICAgICAgICBzZWxmLl9zdGF0ZSA9IGludChwbGlzdGxpYi5yZWFkUGxpc3Qoc2Vs
Zi5maWxlc3lzdGVtLm9wZW5fYmluYXJ5X2ZpbGVfZm9yX3JlYWRpbmcoZGV2aWNlX3BsaXN0KSlb
J3N0YXRlJ10pCisgICAgICAgIHNlbGYuX3N0YXRlID0gaW50KHJlYWRQbGlzdChzZWxmLmZpbGVz
eXN0ZW0ub3Blbl9iaW5hcnlfZmlsZV9mb3JfcmVhZGluZyhkZXZpY2VfcGxpc3QpKVsnc3RhdGUn
XSkKICAgICAgICAgc2VsZi5fbGFzdF91cGRhdGVkX3N0YXRlID0gdGltZS50aW1lKCkKICAgICAg
ICAgcmV0dXJuIHNlbGYuX3N0YXRlCiAK
</data>
<flag name="review"
          id="443941"
          type_id="1"
          status="?"
          setter="gsnedders"
    />
    <flag name="commit-queue"
          id="443977"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>