<?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>231023</bug_id>
          
          <creation_ts>2021-09-30 09:14:00 -0700</creation_ts>
          <short_desc>[webkitscmpy] Generate commit message template</short_desc>
          <delta_ts>2021-10-27 17:31:51 -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>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=231345</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="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>dewei_zhu</cc>
    
    <cc>jlewis3</cc>
    
    <cc>slewis</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1798893</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-09-30 09:14:00 -0700</bug_when>
    <thetext>webkitscmpy should provide support for generating a prepare-commit-msg script. Although this change does not yet provide a replace for prepare-ChangeLog, it does allow us to leverage the existing script while decoupling that script from webkitscmpy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798897</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-30 09:25:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/83722871&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798899</commentid>
    <comment_count>2</comment_count>
      <attachid>439744</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-09-30 09:29:55 -0700</bug_when>
    <thetext>Created attachment 439744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798941</commentid>
    <comment_count>3</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-09-30 10:36:16 -0700</bug_when>
    <thetext>The technique I&apos;m using here is not exactly standard.

We want to continue to have `git-webkit setup` be repository agnostic, but we also want repositories to be able to define their own commit message formats. In order to achieve this, we&apos;re essentially writing a Python file from scratch. But we would like to retain syntax high-lighting and style-checking for the generated code, which is where the `inspect` module comes in. What we&apos;re basically doing is defining a function, then extracting the source code of that function and putting it into the generated file. As an added wrinkle, in order of this to be repository agnostic, if the `git-webkit` entry-point would like to define a script to be used to generate the commit message, that script should be defined relative to `git-webkit`, not the generated script (which could be anywhere on a given machine)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798956</commentid>
    <comment_count>4</comment_count>
      <attachid>439761</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-09-30 11:29:32 -0700</bug_when>
    <thetext>Created attachment 439761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798971</commentid>
    <comment_count>5</comment_count>
      <attachid>439765</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-09-30 12:06:27 -0700</bug_when>
    <thetext>Created attachment 439765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798972</commentid>
    <comment_count>6</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-09-30 12:06:42 -0700</bug_when>
    <thetext>Pull-request: https://github.com/WebKit/WebKit/pull/13</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801457</commentid>
    <comment_count>7</comment_count>
      <attachid>440460</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-06 17:45:49 -0700</bug_when>
    <thetext>Created attachment 440460
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803815</commentid>
    <comment_count>8</comment_count>
      <attachid>441094</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-13 09:50:03 -0700</bug_when>
    <thetext>Created attachment 441094
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804281</commentid>
    <comment_count>9</comment_count>
      <attachid>441219</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-14 08:37:28 -0700</bug_when>
    <thetext>Created attachment 441219
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806264</commentid>
    <comment_count>10</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-19 13:14:14 -0700</bug_when>
    <thetext>Committed r284485 (243242@main): &lt;https://commits.webkit.org/243242@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806274</commentid>
    <comment_count>11</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-19 13:36:44 -0700</bug_when>
    <thetext>Committed r284491 (243245@main): &lt;https://commits.webkit.org/243245@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809495</commentid>
    <comment_count>12</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-27 17:03:49 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809496</commentid>
    <comment_count>13</comment_count>
      <attachid>442653</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-27 17:03:52 -0700</bug_when>
    <thetext>Created attachment 442653
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809510</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-27 17:31:49 -0700</bug_when>
    <thetext>Committed r284966 (243617@main): &lt;https://commits.webkit.org/243617@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442653.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439744</attachid>
            <date>2021-09-30 09:29:55 -0700</date>
            <delta_ts>2021-09-30 11:29:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231023-20210930092954.patch</filename>
            <type>text/plain</type>
            <size>13433</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzE0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDU3Mzg2MTU5ZDk2MWUwMzZiMDkzMzVkZGVkZjQyZDZj
YWY3NDdmYi4uMzUzMmZkYmRlZmQzYzc2Mjg2YWM3MTRhNzRkMTVmODdhNGQ3OTFhNCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDIxLTA5LTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbd2Via2l0c2NtcHldIEdlbmVyYXRlIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwMjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzNzIyODcxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9naXQtd2Via2l0OiBVc2UgcHJlcGFy
ZS1DaGFuZ2VMb2cgdG8gZ2VuZXJhdGUgY29tbWl0IG1lc3NhZ2VzLgorICAgICAgICAqIFNjcmlw
dHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2FsL2dpdC5weToK
KyAgICAgICAgKEdpdC5fX2luaXRfXyk6IEFkZCB1bmJvdW5kIHN0YXR1cyBtb2NrLgorICAgICAg
ICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vX19p
bml0X18ucHk6CisgICAgICAgIChtYWluKTogUGFzcyBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlIHRv
IHN1Yi1wcm9ncmFtcy4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS9wcm9ncmFtL3NldHVwLnB5OgorICAgICAgICAocHJlcGFyZV9jb21taXRfbWVz
c2FnZV9tYWluKTogU3RhbmQtYWxvbmUgZnVuY3Rpb24gZ2VuZXJhdGluZyBjb21taXQgbWVzc2Fn
ZXMuCisgICAgICAgIChTZXR1cC5naXQpOiBJZiBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlIGlzIHBh
c3NlZCwgY3JlYXRlIGEgc3RhbmQtYWxvbmUKKyAgICAgICAgcHJlcGFyZS1jb21taXQtbXNnIHNj
cmlwdCBpbiAuZ2l0L2hvb2tzLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L3Rlc3Qvc2V0dXBfdW5pdHRlc3QucHk6CisgICAgICAgIChwcmVwYXJl
X2NvbW1pdF9tZXNzYWdlKToKKyAgICAgICAgKFRlc3RTZXR1cC50ZXN0X2NvbW1pdF9tZXNzYWdl
KToKKwogMjAyMS0wOS0zMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQu
b3JnPgogCiAgICAgICAgIENsZWFuIHVwIFByaXZhdGVDbGlja01lYXN1cmVtZW50CmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL2dpdC13ZWJraXQgYi9Ub29scy9TY3JpcHRzL2dpdC13ZWJraXQK
aW5kZXggZjM2NjU4YTllNjBlZWMxNDg3MmVlNWYxNjI5YzFmMGRhZDcyYmEzMy4uZTk0NTI1NWI0
NDgwZGYwNTE4NjA3YTE0YzE5YzZmM2ZiNWQ5ZDFkMyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0
cy9naXQtd2Via2l0CisrKyBiL1Rvb2xzL1NjcmlwdHMvZ2l0LXdlYmtpdApAQCAtMjIsNiArMjIs
NyBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwogIyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IGluc3BlY3QKIGlt
cG9ydCBvcwogaW1wb3J0IHN5cwogCkBAIC00NSw2ICs0Niw0MSBAQCBkZWYgaXNfd2Via2l0X2Zp
bHRlcih0b19yZXR1cm4pOgogICAgIHJldHVybiBjYWxsYmFjawogCiAKK2RlZiBwcmVwYXJlX2Nv
bW1pdF9tZXNzYWdlKHNvdXJjZT1Ob25lLCBzaGE9Tm9uZSk6CisgICAgIyBOb3RlIHRoYXQgdGhp
cyBmdW5jdGlvbiBlZmZlY3RpdmVseSBvcGVyYXRlcyBhcyBhIHN0YW5kLWFsb25lIGZpbGUsIGl0
J3MgY29udGVudHMgd2lsbCBiZSBwbGFjZWQgaW50bworICAgICMgLmdpdC9wcmVwYXJlLWNvbW1p
dC1tc2cKKyAgICBkaXJuYW1lID0gTm9uZQorICAgIGNvbnRlbnQgPSBbXQorCisgICAgdHJ5Ogor
ICAgICAgICBmb3IgbGluZSBpbiBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgKKyAgICAgICAgICAg
IFtvcy5wYXRoLmpvaW4oJ3t9JywgJ3ByZXBhcmUtQ2hhbmdlTG9nJyksICctLW5vLXdyaXRlJywg
Jy0tb25seS1maWxlcycsICctLWRlbGltaXRlcnMnXSwKKyAgICAgICAgICAgICoqKGRpY3QoZW5j
b2Rpbmc9J3V0Zi04JykgaWYgc3lzLnZlcnNpb25faW5mbyA+ICgzLCAwKSBlbHNlIGRpY3QoKSkK
KyAgICAgICAgKS5zcGxpdGxpbmVzKCk6CisgICAgICAgICAgICBpZiBsaW5lID09ICd+JzoKKyAg
ICAgICAgICAgICAgICBkaXJuYW1lID0gTm9uZQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisg
ICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJyAnICogOCk6CisgICAgICAgICAgICAgICAg
aWYgZGlybmFtZToKKyAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgnKiAn
LCAnKiB7e319LycuZm9ybWF0KGRpcm5hbWUpKQorICAgICAgICAgICAgICAgIGNvbnRlbnQuYXBw
ZW5kKGxpbmVbODpdKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBpZiBs
aW5lLmVuZHN3aXRoKCc6Jyk6CisgICAgICAgICAgICAgICAgZGlybmFtZSA9IGxpbmUuc3BsaXQo
JzonKVswXQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgcmV0dXJuICcnJ05l
ZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiAoT09QUyEpLgorTmVlZCB0aGUgYnVnIFVSTCAoT09QUyEp
LgorCitSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwore3t9fQorJycnLmZvcm1hdCgnXG4n
LmpvaW4oY29udGVudCkpCisKKyAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJy
b3I6CisgICAgICAgIHJldHVybiAnJworCisKIGlmICdfX21haW5fXycgPT0gX19uYW1lX186CiAg
ICAgY29udHJpYnV0b3JzID0gQ29udHJpYnV0b3IuTWFwcGluZygpCiAgICAgZm9yIGNvbnRyaWJ1
dG9yIGluIENvbW1pdHRlckxpc3QoKS5jb250cmlidXRvcnMoKToKQEAgLTYzLDUgKzk5LDYgQEAg
aWYgJ19fbWFpbl9fJyA9PSBfX25hbWVfXzoKICAgICAgICAgY29udHJpYnV0b3JzPWlzX3dlYmtp
dF9maWx0ZXIoY29udHJpYnV0b3JzKSwKICAgICAgICAgaWRlbnRpZmllcl90ZW1wbGF0ZT1pc193
ZWJraXRfZmlsdGVyKCdDYW5vbmljYWwgbGluazogaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcv
e30nKSwKICAgICAgICAgc3VidmVyc2lvbj1pc193ZWJraXRfZmlsdGVyKCdodHRwczovL3N2bi53
ZWJraXQub3JnL3JlcG9zaXRvcnkvd2Via2l0JyksCisgICAgICAgIHByZXBhcmVfY29tbWl0X21l
c3NhZ2U9aW5zcGVjdC5nZXRzb3VyY2UocHJlcGFyZV9jb21taXRfbWVzc2FnZSkuZm9ybWF0KG9z
LnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgoX19maWxlX18pKSksCiAgICAgKSkKIApkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkv
bW9ja3MvbG9jYWwvZ2l0LnB5IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvZ2l0LnB5CmluZGV4IGRiOTQzNjQwMmQ2YTM1ODgzYWE3
MDczYzM2YzkwNmQ1YjA0NTI0YTYuLjA4ZDM0ZjNhOTkxNjYzOWM1MjE2YTM0MWFjMDg4MWJjNmEy
MDg3MWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dl
YmtpdHNjbXB5L21vY2tzL2xvY2FsL2dpdC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9sb2NhbC9naXQucHkKQEAgLTQ0MSw2ICs0
NDEsMTcgQEAgbm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhbgogICAgICAgICAg
ICAgICAgICAgICByZXR1cm5jb2RlPTEsCiAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj0ndXNh
Z2U6IGdpdCBbLS12ZXJzaW9uXSBbLS1oZWxwXS4uLlxuJywKICAgICAgICAgICAgICAgICApLAor
ICAgICAgICAgICAgKSwgbW9ja3MuU3VicHJvY2Vzcy5Sb3V0ZSgKKyAgICAgICAgICAgICAgICBz
ZWxmLmV4ZWN1dGFibGUsICdzdGF0dXMnLAorICAgICAgICAgICAgICAgIGdlbmVyYXRvcj1sYW1i
ZGEgKmFyZ3MsICoqa3dhcmdzOgorICAgICAgICAgICAgICAgICAgICBtb2Nrcy5Qcm9jZXNzQ29t
cGxldGlvbigKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybmNvZGU9MCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN0ZG91dD0nJycnT24gYnJhbmNoIHticmFuY2h9CitZb3VyIGJyYW5j
aCBpcyB1cCB0byBkYXRlIHdpdGggJ29yaWdpbi97YnJhbmNofScuCisKK25vdGhpbmcgdG8gY29t
bWl0LCB3b3JraW5nIHRyZWUgY2xlYW4KKycnJy5mb3JtYXQoYnJhbmNoPXNlbGYuYnJhbmNoKSwK
KyAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICksIG1vY2tzLlN1YnByb2Nlc3Mu
Um91dGUoCiAgICAgICAgICAgICAgICAgc2VsZi5leGVjdXRhYmxlLAogICAgICAgICAgICAgICAg
IGNvbXBsZXRpb249bW9ja3MuUHJvY2Vzc0NvbXBsZXRpb24oCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL19faW5pdF9f
LnB5IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJv
Z3JhbS9fX2luaXRfXy5weQppbmRleCA3MzcyMGU4ODY3ODdiYThlMTI2MzUxMjIxYTM5NGZkY2Fk
OWUwN2YxLi5hOTM0MDA5MzlkYWFiNmEwZWVmNjcxZTM2NGNlMTVjY2Y5MzUzMjk2IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9n
cmFtL19faW5pdF9fLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5
L3dlYmtpdHNjbXB5L3Byb2dyYW0vX19pbml0X18ucHkKQEAgLTQyLDcgKzQyLDEwIEBAIGZyb20g
d2Via2l0Y29yZXB5IGltcG9ydCBhcmd1bWVudHMsIGxvZyBhcyB3ZWJraXRjb3JlcHlfbG9nCiBm
cm9tIHdlYmtpdHNjbXB5IGltcG9ydCBsb2NhbCwgbG9nLCByZW1vdGUKIAogCi1kZWYgbWFpbihh
cmdzPU5vbmUsIHBhdGg9Tm9uZSwgbG9nZ2Vycz1Ob25lLCBjb250cmlidXRvcnM9Tm9uZSwgaWRl
bnRpZmllcl90ZW1wbGF0ZT1Ob25lLCBzdWJ2ZXJzaW9uPU5vbmUpOgorZGVmIG1haW4oCisgICAg
YXJncz1Ob25lLCBwYXRoPU5vbmUsIGxvZ2dlcnM9Tm9uZSwgY29udHJpYnV0b3JzPU5vbmUsCisg
ICAgaWRlbnRpZmllcl90ZW1wbGF0ZT1Ob25lLCBzdWJ2ZXJzaW9uPU5vbmUsIHByZXBhcmVfY29t
bWl0X21lc3NhZ2U9Tm9uZSwKKyk6CiAgICAgbG9nZ2luZy5iYXNpY0NvbmZpZyhsZXZlbD1sb2dn
aW5nLldBUk5JTkcpCiAKICAgICBsb2dnZXJzID0gW2xvZ2dpbmcuZ2V0TG9nZ2VyKCksIHdlYmtp
dGNvcmVweV9sb2csICBsb2ddICsgKGxvZ2dlcnMgb3IgW10pCkBAIC0xMTksNCArMTIyLDUgQEAg
ZGVmIG1haW4oYXJncz1Ob25lLCBwYXRoPU5vbmUsIGxvZ2dlcnM9Tm9uZSwgY29udHJpYnV0b3Jz
PU5vbmUsIGlkZW50aWZpZXJfdGVtcGwKICAgICAgICAgcmVwb3NpdG9yeT1yZXBvc2l0b3J5LAog
ICAgICAgICBpZGVudGlmaWVyX3RlbXBsYXRlPWlkZW50aWZpZXJfdGVtcGxhdGUsCiAgICAgICAg
IHN1YnZlcnNpb249c3VidmVyc2lvbiwKKyAgICAgICAgcHJlcGFyZV9jb21taXRfbWVzc2FnZT1w
cmVwYXJlX2NvbW1pdF9tZXNzYWdlLAogICAgICkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vc2V0dXAucHkgYi9Ub29s
cy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL3NldHVw
LnB5CmluZGV4IDZjODExMzI4OGY0YWM3Zjg1MmFhYTMzNzI2ZjZkYTA0ZjgyOWE0MTQuLjJiMTNh
YWU4Zjg5MGNlODg3MWM4ODJkYzQ5OTdkOTBmMjQxYTgyYWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vc2V0dXAucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJv
Z3JhbS9zZXR1cC5weQpAQCAtMjAsNyArMjAsMTAgQEAKICMgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
ICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IGluc3BlY3QKK2ltcG9ydCBvcwogaW1wb3J0IHJlcXVl
c3RzCitpbXBvcnQgc3RhdAogaW1wb3J0IHN5cwogCiBmcm9tIC5jb21tYW5kIGltcG9ydCBDb21t
YW5kCkBAIC0yOSw2ICszMiw0MSBAQCBmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgYXJndW1lbnRz
LCBydW4sIEVkaXRvciwgVGVybWluYWwKIGZyb20gd2Via2l0c2NtcHkgaW1wb3J0IGxvZywgbG9j
YWwsIHJlbW90ZQogCiAKKyMgTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gZWZmZWN0aXZlbHkgb3Bl
cmF0ZXMgYXMgYSBzdGFuZC1hbG9uZSBmaWxlLCBpdCdzIGNvbnRlbnRzIGFyZQorIyBwbGFjZWQg
ZGlyZWN0bHkgaW50byAuZ2l0L3ByZXBhcmUtY29tbWl0LW1zZworZGVmIHByZXBhcmVfY29tbWl0
X21lc3NhZ2VfbWFpbihnZW5lcmF0b3IsIGZpbGVfbmFtZT1Ob25lLCBzb3VyY2U9Tm9uZSwgc2hh
PU5vbmUpOgorICAgIGlmIHNvdXJjZSBhbmQgc291cmNlICE9ICdjb21taXQnOgorICAgICAgICBy
ZXR1cm4gMAorICAgIGlmIG5vdCBmaWxlX25hbWU6CisgICAgICAgIHN5cy5zdGRlcnIud3JpdGUo
J05vIGNvbW1pdCBtZXNzYWdlIGZpbGUgcHJvdmlkZWQgdG8gcHJlcGFyZS1jb21taXQtbXNnXG4n
KQorICAgICAgICByZXR1cm4gMQorICAgIHdpdGggb3BlbihmaWxlX25hbWUsICd3JykgYXMgZmls
ZToKKyAgICAgICAgaWYgc2hhOgorICAgICAgICAgICAgZmlsZS53cml0ZShzdWJwcm9jZXNzLmNo
ZWNrX291dHB1dCgKKyAgICAgICAgICAgICAgICBbb3MuZW52aXJvbi5nZXQoJ18nLCAnZ2l0Jyks
ICdsb2cnLCAnSEVBRCcsICctMScsICctLXByZXR0eT1mb3JtYXQ6JUInXSwKKyAgICAgICAgICAg
ICAgICAqKihkaWN0KGVuY29kaW5nPSd1dGYtOCcpIGlmIHN5cy52ZXJzaW9uX2luZm8gPiAoMywg
MCkgZWxzZSBkaWN0KCkpCisgICAgICAgICAgICApKQorICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgZmlsZS53cml0ZShnZW5lcmF0b3Ioc291cmNlPXNvdXJjZSwgc2hhPXNoYSkpCisKKyAgICAg
ICAgZmlsZS53cml0ZSgnJycKKyMgUGxlYXNlIHBvcHVsYXRlIHRoZSBhYm92ZSBjb21taXQgbWVz
c2FnZS4gTGluZXMgc3RhcnRpbmcKKyMgd2l0aCAnIycgd2lsbCBiZSBpZ25vcmVkCisKKycnJykK
KyAgICAgICAgaWYgc2hhOgorICAgICAgICAgICAgZm9yIGxpbmUgaW4gZ2VuZXJhdG9yKHNvdXJj
ZT1zb3VyY2UsIHNoYT1zaGEpLnNwbGl0bGluZXMoKToKKyAgICAgICAgICAgICAgICBmaWxlLndy
aXRlKCcjIHt9XG4nLmZvcm1hdChsaW5lKSkKKyAgICAgICAgICAgIGZpbGUud3JpdGUoJ1xuJykK
KyAgICAgICAgZm9yIGxpbmUgaW4gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoCisgICAgICAgICAg
ICBbb3MuZW52aXJvbi5nZXQoJ18nLCAnZ2l0JyksICdzdGF0dXMnXSwKKyAgICAgICAgICAgICoq
KGRpY3QoZW5jb2Rpbmc9J3V0Zi04JykgaWYgc3lzLnZlcnNpb25faW5mbyA+ICgzLCAwKSBlbHNl
IGRpY3QoKSkKKyAgICAgICAgKS5zcGxpdGxpbmVzKCk6CisgICAgICAgICAgICBmaWxlLndyaXRl
KCcjIHt9XG4nLmZvcm1hdChsaW5lKSkKKworICAgIHJldHVybiAwCisKKwogY2xhc3MgU2V0dXAo
Q29tbWFuZCk6CiAgICAgbmFtZSA9ICdzZXR1cCcKICAgICBoZWxwID0gJ0NvbmZpZ3VyZSBsb2Nh
bCBzZXR0aW5ncyBmb3IgdGhlIGN1cnJlbnQgcmVwb3NpdG9yeScKQEAgLTczLDcgKzExMSw3IEBA
IGNsYXNzIFNldHVwKENvbW1hbmQpOgogICAgICAgICByZXR1cm4gMAogCiAgICAgQGNsYXNzbWV0
aG9kCi0gICAgZGVmIGdpdChjbHMsIGFyZ3MsIHJlcG9zaXRvcnksICoqa3dhcmdzKToKKyAgICBk
ZWYgZ2l0KGNscywgYXJncywgcmVwb3NpdG9yeSwgcHJlcGFyZV9jb21taXRfbWVzc2FnZT1Ob25l
LCAqKmt3YXJncyk6CiAgICAgICAgIGdsb2JhbF9jb25maWcgPSBsb2NhbC5HaXQuY29uZmlnKCkK
ICAgICAgICAgcmVzdWx0ID0gMAogCkBAIC05Myw3ICsxMzEsNyBAQCBjbGFzcyBTZXR1cChDb21t
YW5kKToKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGxvZy53YXJuaW5nKCJTZXQgZ2l0IHVz
ZXIgZW1haWwgdG8gJ3t9JyIuZm9ybWF0KGVtYWlsKSkKIAotICAgICAgICBuYW1lID0gcmVwb3Np
dG9yeS5jb250cmlidXRvcnMuZ2V0KGVtYWlsKQorICAgICAgICBuYW1lID0gcmVwb3NpdG9yeS5j
b250cmlidXRvcnMuZ2V0KGVtYWlsKSBpZiByZXBvc2l0b3J5LmNvbnRyaWJ1dG9ycyBlbHNlIE5v
bmUKICAgICAgICAgaWYgbmFtZToKICAgICAgICAgICAgIG5hbWUgPSBuYW1lLm5hbWUKICAgICAg
ICAgZWxzZToKQEAgLTE0MSw2ICsxNzksNDAgQEAgY2xhc3MgU2V0dXAoQ29tbWFuZCk6CiAgICAg
ICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdGYWlsZWQgdG8gdXNlIHt9IGFzIHRoZSBtZXJnZSBz
dHJhdGVneVxuJy5mb3JtYXQoJ21lcmdlIGNvbW1pdHMnIGlmIGFyZ3MubWVyZ2UgZWxzZSAncmVi
YXNlJykpCiAgICAgICAgICAgICByZXN1bHQgKz0gMQogCisgICAgICAgIGZ1bmN0aW9uX25hbWUg
PSAncHJlcGFyZV9jb21taXRfbWVzc2FnZScKKyAgICAgICAgaWYgcHJlcGFyZV9jb21taXRfbWVz
c2FnZSBhbmQgaW5zcGVjdC5pc2Z1bmN0aW9uKHByZXBhcmVfY29tbWl0X21lc3NhZ2UpIGFuZCBw
cmVwYXJlX2NvbW1pdF9tZXNzYWdlLl9fbmFtZV9fOgorICAgICAgICAgICAgZnVuY3Rpb25fbmFt
ZSA9IHByZXBhcmVfY29tbWl0X21lc3NhZ2UuX19uYW1lX18KKyAgICAgICAgICAgIHByZXBhcmVf
Y29tbWl0X21lc3NhZ2UgPSBpbnNwZWN0LmdldHNvdXJjZShwcmVwYXJlX2NvbW1pdF9tZXNzYWdl
KQorICAgICAgICBpZiBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlOgorICAgICAgICAgICAgbG9nLndh
cm5pbmcoJ1NldHRpbmcgY29tbWl0IG1lc3NhZ2UgZ2VuZXJhdG9yJykKKworICAgICAgICAgICAg
IyBUaGlzIGlzIGEgYml0IGhhY2t5LCBidXQgaXQgYWxsb3dzIHRoZSBkZWZpbml0aW9uIG9mIHBy
ZXBhcmVfY29tbWl0X21lc3NhZ2UgdG8gYmUgb3duZWQgYnkgdGhlIGNhbGxlcgorICAgICAgICAg
ICAgcGNtX2ZpbGUgPSBvcy5wYXRoLmpvaW4ocmVwb3NpdG9yeS5yb290X3BhdGgsICcuZ2l0Jywg
J2hvb2tzJywgJ3ByZXBhcmUtY29tbWl0LW1zZycpCisgICAgICAgICAgICBpZiBub3Qgb3MucGF0
aC5leGlzdHMob3MucGF0aC5kaXJuYW1lKHBjbV9maWxlKSk6CisgICAgICAgICAgICAgICAgb3Mu
bWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKHBjbV9maWxlKSkKKyAgICAgICAgICAgIHdpdGggb3Bl
bihwY21fZmlsZSwgJ3cnKSBhcyBmaWxlOgorICAgICAgICAgICAgICAgIGZpbGUud3JpdGUoCisg
ICAgICAgICAgICAgICAgICAgICIjIS91c3IvYmluL2VudiB7ZXhlY3V0YWJsZX1cbiIKKyAgICAg
ICAgICAgICAgICAgICAgImltcG9ydCBvc1xuIgorICAgICAgICAgICAgICAgICAgICAiaW1wb3J0
IHN5c1xuIgorICAgICAgICAgICAgICAgICAgICAiaW1wb3J0IHN1YnByb2Nlc3NcbiIKKyAgICAg
ICAgICAgICAgICAgICAgIlxuIgorICAgICAgICAgICAgICAgICAgICAie2Z1bmN0aW9ufVxuIgor
ICAgICAgICAgICAgICAgICAgICAie21haW59XG4iCisgICAgICAgICAgICAgICAgICAgICJcbiIK
KyAgICAgICAgICAgICAgICAgICAgImlmICdfX21haW5fXycgPT0gX19uYW1lX186XG4iCisgICAg
ICAgICAgICAgICAgICAgICIgICAgc3lzLmV4aXQoe21haW5fbmFtZX0oe2Z1bmN0aW9uX25hbWV9
LCAqc3lzLmFyZ3ZbMTpdKSlcbiIuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICAgICAgZXhl
Y3V0YWJsZT1vcy5wYXRoLmJhc2VuYW1lKHN5cy5leGVjdXRhYmxlKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uPXByZXBhcmVfY29tbWl0X21lc3NhZ2UsCisgICAgICAgICAgICAg
ICAgICAgICAgICBmdW5jdGlvbl9uYW1lPWZ1bmN0aW9uX25hbWUsCisgICAgICAgICAgICAgICAg
ICAgICAgICBtYWluPWluc3BlY3QuZ2V0c291cmNlKHByZXBhcmVfY29tbWl0X21lc3NhZ2VfbWFp
biksCisgICAgICAgICAgICAgICAgICAgICAgICBtYWluX25hbWU9cHJlcGFyZV9jb21taXRfbWVz
c2FnZV9tYWluLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgZ2l0PWxvY2FsLkdp
dC5leGVjdXRhYmxlKCksCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAp
CisKKyAgICAgICAgICAgIG9zLmNobW9kKHBjbV9maWxlLCBvcy5zdGF0KHBjbV9maWxlKS5zdF9t
b2RlIHwgc3RhdC5TX0lFWEVDKQorCiAgICAgICAgIGxvZy53YXJuaW5nKCdTZXR0aW5nIGdpdCBl
ZGl0b3IgZm9yIHt9Li4uJy5mb3JtYXQocmVwb3NpdG9yeS5yb290X3BhdGgpKQogICAgICAgICBl
ZGl0b3JfbmFtZSA9ICdkZWZhdWx0JyBpZiBhcmdzLmRlZmF1bHRzIGVsc2UgVGVybWluYWwuY2hv
b3NlKAogICAgICAgICAgICAgJ1BpY2sgYSBjb21taXQgbWVzc2FnZSBlZGl0b3InLApkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVz
dC9zZXR1cF91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5
L3dlYmtpdHNjbXB5L3Rlc3Qvc2V0dXBfdW5pdHRlc3QucHkKaW5kZXggODFmZDFkMzZjNTZkMWU4
ZmFhMjE2NzQ4NmNmNjE0OWE5ZTQ2YjA1Zi4uZjdiOWM1OWMxZTJlOTdkZmJlMDYwMmViOWQ0MmVl
ZDRlYTZlZDkyNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRz
L2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3NldHVwX3VuaXR0ZXN0LnB5
CkBAIC0yMSwxMiArMjEsMTcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogaW1wb3J0IG9zCitpbXBvcnQg
c3lzCiAKIGZyb20gd2Via2l0Y29yZXB5IGltcG9ydCBFZGl0b3IsIE91dHB1dENhcHR1cmUsIHRl
c3RpbmcKIGZyb20gd2Via2l0Y29yZXB5Lm1vY2tzIGltcG9ydCBUZXJtaW5hbCBhcyBNb2NrVGVy
bWluYWwKIGZyb20gd2Via2l0c2NtcHkgaW1wb3J0IHByb2dyYW0sIG1vY2tzCiAKIAorZGVmIHBy
ZXBhcmVfY29tbWl0X21lc3NhZ2Uoc291cmNlPU5vbmUsIHNoYT1Ob25lKToKKyAgICByZXR1cm4g
J0dlbmVyYXRlZCBjb21taXQgbWVzc2FnZScKKworCiBjbGFzcyBUZXN0U2V0dXAodGVzdGluZy5Q
YXRoVGVzdENhc2UpOgogICAgIGJhc2VwYXRoID0gJ21vY2svcmVwb3NpdG9yeScKIApAQCAtMTQz
LDMgKzE0OCw0MiBAQCBBZGRlZCByZW1vdGUgJ2ZvcmsnCiBGZXRjaGluZyAnaHR0cHM6Ly9naXRo
dWIuZXhhbXBsZS5jb20vdXNlcm5hbWUvV2ViS2l0LmdpdCcKICcnJy5mb3JtYXQocmVwb3NpdG9y
eT1zZWxmLnBhdGgpLAogICAgICAgICApCisKKyAgICBkZWYgdGVzdF9jb21taXRfbWVzc2FnZShz
ZWxmKToKKyAgICAgICAgd2l0aCBPdXRwdXRDYXB0dXJlKCksIG1vY2tzLmxvY2FsLkdpdChzZWxm
LnBhdGgpIGFzIGdpdCwgbW9ja3MubG9jYWwuU3ZuKCk6CisgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKDAsIHByb2dyYW0ubWFpbigKKyAgICAgICAgICAgICAgICBhcmdzPSgnc2V0dXAnLCAn
LS1kZWZhdWx0cycpLAorICAgICAgICAgICAgICAgIHBhdGg9c2VsZi5wYXRoLAorICAgICAgICAg
ICAgICAgIHByZXBhcmVfY29tbWl0X21lc3NhZ2U9cHJlcGFyZV9jb21taXRfbWVzc2FnZSwKKyAg
ICAgICAgICAgICkpCisgICAgICAgICAgICBwY20gPSBvcy5wYXRoLmpvaW4oc2VsZi5wYXRoLCAn
LmdpdCcsICdob29rcycsICdwcmVwYXJlLWNvbW1pdC1tc2cnKQorICAgICAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKG9zLnBhdGguaXNmaWxlKHBjbSkpCisgICAgICAgICAgICBvcy5yZW5hbWUocGNt
LCBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKHBjbSksICdwcmVwYXJlX2NvbW1pdF9tc2cu
cHknKSkKKworICAgICAgICAgICAgc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguZGlybmFtZShw
Y20pKQorICAgICAgICAgICAgdW5kZXJzY29yZSA9IG9zLmVudmlyb24uZ2V0KCdfJykKKyAgICAg
ICAgICAgIG9zLmVudmlyb25bJ18nXSA9IGdpdC5leGVjdXRhYmxlCisKKyAgICAgICAgICAgIHRy
eToKKyAgICAgICAgICAgICAgICBmcm9tIHByZXBhcmVfY29tbWl0X21zZyBpbXBvcnQgcHJlcGFy
ZV9jb21taXRfbWVzc2FnZV9tYWluCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgK
KyAgICAgICAgICAgICAgICAgICAgcHJlcGFyZV9jb21taXRfbWVzc2FnZV9tYWluKHByZXBhcmVf
Y29tbWl0X21lc3NhZ2UsIG9zLnBhdGguam9pbihzZWxmLnBhdGgsICdDT01NSVRfTUVTU0FHRScp
KSwKKyAgICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAg
ICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihzZWxmLnBhdGgsICdDT01NSVRfTUVTU0FHRScp
LCAncicpIGFzIGZpbGU6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisg
ICAgICAgICAgICAgICAgICAgICAgICBmaWxlLnJlYWQoKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICcnJ0dlbmVyYXRlZCBjb21taXQgbWVzc2FnZQorIyBQbGVhc2UgcG9wdWxhdGUgdGhlIGFi
b3ZlIGNvbW1pdCBtZXNzYWdlLiBMaW5lcyBzdGFydGluZworIyB3aXRoICcjJyB3aWxsIGJlIGln
bm9yZWQKKworIyAnT24gYnJhbmNoIG1haW4KKyMgWW91ciBicmFuY2ggaXMgdXAgdG8gZGF0ZSB3
aXRoICdvcmlnaW4vbWFpbicuCisjIAorIyBub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyB0cmVl
IGNsZWFuCisnJycpCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIHN5cy5w
YXRoLnJlbW92ZShvcy5wYXRoLmRpcm5hbWUocGNtKSkKKyAgICAgICAgICAgICAgICBkZWwgb3Mu
ZW52aXJvblsnXyddCisgICAgICAgICAgICAgICAgaWYgdW5kZXJzY29yZToKKyAgICAgICAgICAg
ICAgICAgICAgb3MuZW52aXJvblsnXyddID0gdW5kZXJzY29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439761</attachid>
            <date>2021-09-30 11:29:32 -0700</date>
            <delta_ts>2021-09-30 12:06:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231023-20210930112931.patch</filename>
            <type>text/plain</type>
            <size>14189</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzIwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDE1MjE5ODBlNDA0M2IzMTJjZjFhMDk2YTEzYTA1ODc0
OGQ4MDllNi4uOWU5NmJjOWJiOWVjN2MyZmI3MGI5NTFjZTJiMjVhNmUwYjllYWQzMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDIxLTA5LTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbd2Via2l0c2NtcHldIEdlbmVyYXRlIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwMjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzNzIyODcxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9naXQtd2Via2l0OiBVc2UgcHJlcGFy
ZS1DaGFuZ2VMb2cgdG8gZ2VuZXJhdGUgY29tbWl0IG1lc3NhZ2VzLgorICAgICAgICAqIFNjcmlw
dHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2FsL2dpdC5weToK
KyAgICAgICAgKEdpdC5fX2luaXRfXyk6IEFkZCB1bmJvdW5kIHN0YXR1cyBtb2NrLgorICAgICAg
ICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vX19p
bml0X18ucHk6CisgICAgICAgIChtYWluKTogUGFzcyBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlIHRv
IHN1Yi1wcm9ncmFtcy4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS9wcm9ncmFtL3NldHVwLnB5OgorICAgICAgICAocHJlcGFyZV9jb21taXRfbWVz
c2FnZV9tYWluKTogU3RhbmQtYWxvbmUgZnVuY3Rpb24gZ2VuZXJhdGluZyBjb21taXQgbWVzc2Fn
ZXMuCisgICAgICAgIChTZXR1cC5naXQpOiBJZiBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlIGlzIHBh
c3NlZCwgY3JlYXRlIGEgc3RhbmQtYWxvbmUKKyAgICAgICAgcHJlcGFyZS1jb21taXQtbXNnIHNj
cmlwdCBpbiAuZ2l0L2hvb2tzLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L3Rlc3Qvc2V0dXBfdW5pdHRlc3QucHk6CisgICAgICAgIChwcmVwYXJl
X2NvbW1pdF9tZXNzYWdlKToKKyAgICAgICAgKFRlc3RTZXR1cC50ZXN0X2NvbW1pdF9tZXNzYWdl
KToKKwogMjAyMS0wOS0zMCAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBQQ006IFRha2UgYXBwIGJ1bmRsZSBJRCBpbnRvIGNvbnNpZGVyYXRpb24gd2hlbiBt
YXRjaGluZyB0cmlnZ2VyaW5nIGV2ZW50cyB3aXRoIHBlbmRpbmcgY2xpY2tzCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL2dpdC13ZWJraXQgYi9Ub29scy9TY3JpcHRzL2dpdC13ZWJraXQKaW5k
ZXggZjM2NjU4YTllNjBlZWMxNDg3MmVlNWYxNjI5YzFmMGRhZDcyYmEzMy4uMGVjMzlmZmU4ZDM3
YTEwYzM4MWEyODFjZjYxZWRlNjVmMjk5M2I3OSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9n
aXQtd2Via2l0CisrKyBiL1Rvb2xzL1NjcmlwdHMvZ2l0LXdlYmtpdApAQCAtMjIsNiArMjIsNyBA
QAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwogIyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IGluc3BlY3QKIGltcG9y
dCBvcwogaW1wb3J0IHN5cwogCkBAIC00NSw2ICs0Niw0MyBAQCBkZWYgaXNfd2Via2l0X2ZpbHRl
cih0b19yZXR1cm4pOgogICAgIHJldHVybiBjYWxsYmFjawogCiAKK2RlZiBwcmVwYXJlX2NvbW1p
dF9tZXNzYWdlKHNvdXJjZT1Ob25lLCBzaGE9Tm9uZSk6CisgICAgIyBOb3RlIHRoYXQgdGhpcyBm
dW5jdGlvbiBlZmZlY3RpdmVseSBvcGVyYXRlcyBhcyBhIHN0YW5kLWFsb25lIGZpbGUsIGl0J3Mg
Y29udGVudHMgd2lsbCBiZSBwbGFjZWQgaW50bworICAgICMgLmdpdC9wcmVwYXJlLWNvbW1pdC1t
c2cKKyAgICBpbXBvcnQgc3VicHJvY2VzcworCisgICAgZGlybmFtZSA9IE5vbmUKKyAgICBjb250
ZW50ID0gW10KKworICAgIHRyeToKKyAgICAgICAgZm9yIGxpbmUgaW4gc3VicHJvY2Vzcy5jaGVj
a19vdXRwdXQoCisgICAgICAgICAgICBbb3MucGF0aC5qb2luKCd7fScsICdwcmVwYXJlLUNoYW5n
ZUxvZycpLCAnLS1uby13cml0ZScsICctLW9ubHktZmlsZXMnLCAnLS1kZWxpbWl0ZXJzJ10sCisg
ICAgICAgICAgICAqKihkaWN0KGVuY29kaW5nPSd1dGYtOCcpIGlmIHN5cy52ZXJzaW9uX2luZm8g
PiAoMywgMCkgZWxzZSBkaWN0KCkpCisgICAgICAgICkuc3BsaXRsaW5lcygpOgorICAgICAgICAg
ICAgaWYgbGluZSA9PSAnfic6CisgICAgICAgICAgICAgICAgZGlybmFtZSA9IE5vbmUKKyAgICAg
ICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCcgJyAq
IDgpOgorICAgICAgICAgICAgICAgIGlmIGRpcm5hbWU6CisgICAgICAgICAgICAgICAgICAgIGxp
bmUgPSBsaW5lLnJlcGxhY2UoJyogJywgJyoge3t9fS8nLmZvcm1hdChkaXJuYW1lKSkKKyAgICAg
ICAgICAgICAgICBjb250ZW50LmFwcGVuZChsaW5lWzg6XSkKKyAgICAgICAgICAgICAgICBjb250
aW51ZQorICAgICAgICAgICAgaWYgbGluZS5lbmRzd2l0aCgnOicpOgorICAgICAgICAgICAgICAg
IGRpcm5hbWUgPSBsaW5lLnNwbGl0KCc6JylbMF0KKyAgICAgICAgICAgICAgICBjb250aW51ZQor
CisgICAgICAgIHJldHVybiAnJydOZWVkIGEgc2hvcnQgZGVzY3JpcHRpb24gKE9PUFMhKS4KK05l
ZWQgdGhlIGJ1ZyBVUkwgKE9PUFMhKS4KKworUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
K3t7fX0KKycnJy5mb3JtYXQoJ1xuJy5qb2luKGNvbnRlbnQpKQorCisgICAgZXhjZXB0IHN1YnBy
b2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yOgorICAgICAgICByZXR1cm4gJycKKworCiBpZiAnX19t
YWluX18nID09IF9fbmFtZV9fOgogICAgIGNvbnRyaWJ1dG9ycyA9IENvbnRyaWJ1dG9yLk1hcHBp
bmcoKQogICAgIGZvciBjb250cmlidXRvciBpbiBDb21taXR0ZXJMaXN0KCkuY29udHJpYnV0b3Jz
KCk6CkBAIC02Myw1ICsxMDEsNiBAQCBpZiAnX19tYWluX18nID09IF9fbmFtZV9fOgogICAgICAg
ICBjb250cmlidXRvcnM9aXNfd2Via2l0X2ZpbHRlcihjb250cmlidXRvcnMpLAogICAgICAgICBp
ZGVudGlmaWVyX3RlbXBsYXRlPWlzX3dlYmtpdF9maWx0ZXIoJ0Nhbm9uaWNhbCBsaW5rOiBodHRw
czovL2NvbW1pdHMud2Via2l0Lm9yZy97fScpLAogICAgICAgICBzdWJ2ZXJzaW9uPWlzX3dlYmtp
dF9maWx0ZXIoJ2h0dHBzOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQnKSwKKyAg
ICAgICAgcHJlcGFyZV9jb21taXRfbWVzc2FnZT1pbnNwZWN0LmdldHNvdXJjZShwcmVwYXJlX2Nv
bW1pdF9tZXNzYWdlKS5mb3JtYXQob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2Zp
bGVfXykpKSwKICAgICApKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9sb2NhbC9naXQucHkgYi9Ub29scy9TY3JpcHRz
L2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9sb2NhbC9naXQucHkKaW5k
ZXggZGI5NDM2NDAyZDZhMzU4ODNhYTcwNzNjMzZjOTA2ZDViMDQ1MjRhNi4uMDhkMzRmM2E5OTE2
NjM5YzUyMTZhMzQxYWMwODgxYmM2YTIwODcxYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9s
aWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvZ2l0LnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL2xv
Y2FsL2dpdC5weQpAQCAtNDQxLDYgKzQ0MSwxNyBAQCBub3RoaW5nIHRvIGNvbW1pdCwgd29ya2lu
ZyB0cmVlIGNsZWFuCiAgICAgICAgICAgICAgICAgICAgIHJldHVybmNvZGU9MSwKICAgICAgICAg
ICAgICAgICAgICAgc3RkZXJyPSd1c2FnZTogZ2l0IFstLXZlcnNpb25dIFstLWhlbHBdLi4uXG4n
LAogICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICApLCBtb2Nrcy5TdWJwcm9jZXNzLlJv
dXRlKAorICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSwgJ3N0YXR1cycsCisgICAgICAg
ICAgICAgICAgZ2VuZXJhdG9yPWxhbWJkYSAqYXJncywgKiprd2FyZ3M6CisgICAgICAgICAgICAg
ICAgICAgIG1vY2tzLlByb2Nlc3NDb21wbGV0aW9uKAorICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuY29kZT0wLAorICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PScnJydPbiBicmFu
Y2gge2JyYW5jaH0KK1lvdXIgYnJhbmNoIGlzIHVwIHRvIGRhdGUgd2l0aCAnb3JpZ2luL3ticmFu
Y2h9Jy4KKworbm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhbgorJycnLmZvcm1h
dChicmFuY2g9c2VsZi5icmFuY2gpLAorICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAg
ICAgKSwgbW9ja3MuU3VicHJvY2Vzcy5Sb3V0ZSgKICAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1
dGFibGUsCiAgICAgICAgICAgICAgICAgY29tcGxldGlvbj1tb2Nrcy5Qcm9jZXNzQ29tcGxldGlv
bigKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtp
dHNjbXB5L3Byb2dyYW0vX19pbml0X18ucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJr
aXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL19faW5pdF9fLnB5CmluZGV4IDczNzIwZTg4Njc4
N2JhOGUxMjYzNTEyMjFhMzk0ZmRjYWQ5ZTA3ZjEuLjBkZDdlYTI4YWQxYjMwZmRmMzA5NDRjMmM3
N2M1MWMwNDdjOWNjYjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtp
dHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vX19pbml0X18ucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9fX2luaXRfXy5weQpA
QCAtMjEsNiArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBpbXBvcnQgYXJncGFyc2UKK2ltcG9y
dCBpbnNwZWN0CiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zCiBpbXBvcnQgc3lzCkBAIC00Miw3
ICs0MywxMCBAQCBmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgYXJndW1lbnRzLCBsb2cgYXMgd2Vi
a2l0Y29yZXB5X2xvZwogZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgbG9jYWwsIGxvZywgcmVtb3Rl
CiAKIAotZGVmIG1haW4oYXJncz1Ob25lLCBwYXRoPU5vbmUsIGxvZ2dlcnM9Tm9uZSwgY29udHJp
YnV0b3JzPU5vbmUsIGlkZW50aWZpZXJfdGVtcGxhdGU9Tm9uZSwgc3VidmVyc2lvbj1Ob25lKToK
K2RlZiBtYWluKAorICAgIGFyZ3M9Tm9uZSwgcGF0aD1Ob25lLCBsb2dnZXJzPU5vbmUsIGNvbnRy
aWJ1dG9ycz1Ob25lLAorICAgIGlkZW50aWZpZXJfdGVtcGxhdGU9Tm9uZSwgc3VidmVyc2lvbj1O
b25lLCBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlPU5vbmUsCispOgogICAgIGxvZ2dpbmcuYmFzaWND
b25maWcobGV2ZWw9bG9nZ2luZy5XQVJOSU5HKQogCiAgICAgbG9nZ2VycyA9IFtsb2dnaW5nLmdl
dExvZ2dlcigpLCB3ZWJraXRjb3JlcHlfbG9nLCAgbG9nXSArIChsb2dnZXJzIG9yIFtdKQpAQCAt
MTA5LDYgKzExMyw4IEBAIGRlZiBtYWluKGFyZ3M9Tm9uZSwgcGF0aD1Ob25lLCBsb2dnZXJzPU5v
bmUsIGNvbnRyaWJ1dG9ycz1Ob25lLCBpZGVudGlmaWVyX3RlbXBsCiAgICAgICAgIGlkZW50aWZp
ZXJfdGVtcGxhdGUgPSBpZGVudGlmaWVyX3RlbXBsYXRlKHJlcG9zaXRvcnkpCiAgICAgaWYgY2Fs
bGFibGUoc3VidmVyc2lvbik6CiAgICAgICAgIHN1YnZlcnNpb24gPSBzdWJ2ZXJzaW9uKHJlcG9z
aXRvcnkpCisgICAgaWYgY2FsbGFibGUocHJlcGFyZV9jb21taXRfbWVzc2FnZSkgYW5kIGxpc3Qo
aW5zcGVjdC5zaWduYXR1cmUocHJlcGFyZV9jb21taXRfbWVzc2FnZSkucGFyYW1ldGVycy5rZXlz
KCkpID09IFsncmVwb3NpdG9yeSddOgorICAgICAgICBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlID0g
cHJlcGFyZV9jb21taXRfbWVzc2FnZShyZXBvc2l0b3J5KQogCiAgICAgaWYgbm90IGdldGF0dHIo
cGFyc2VkLCAnbWFpbicsIE5vbmUpOgogICAgICAgICBwYXJzZXIucHJpbnRfaGVscCgpCkBAIC0x
MTksNCArMTI1LDUgQEAgZGVmIG1haW4oYXJncz1Ob25lLCBwYXRoPU5vbmUsIGxvZ2dlcnM9Tm9u
ZSwgY29udHJpYnV0b3JzPU5vbmUsIGlkZW50aWZpZXJfdGVtcGwKICAgICAgICAgcmVwb3NpdG9y
eT1yZXBvc2l0b3J5LAogICAgICAgICBpZGVudGlmaWVyX3RlbXBsYXRlPWlkZW50aWZpZXJfdGVt
cGxhdGUsCiAgICAgICAgIHN1YnZlcnNpb249c3VidmVyc2lvbiwKKyAgICAgICAgcHJlcGFyZV9j
b21taXRfbWVzc2FnZT1wcmVwYXJlX2NvbW1pdF9tZXNzYWdlLAogICAgICkKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0v
c2V0dXAucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21w
eS9wcm9ncmFtL3NldHVwLnB5CmluZGV4IDZjODExMzI4OGY0YWM3Zjg1MmFhYTMzNzI2ZjZkYTA0
ZjgyOWE0MTQuLjJiMTNhYWU4Zjg5MGNlODg3MWM4ODJkYzQ5OTdkOTBmMjQxYTgyYWQgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3By
b2dyYW0vc2V0dXAucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cC5weQpAQCAtMjAsNyArMjAsMTAgQEAKICMgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IGluc3BlY3QKK2ltcG9ydCBv
cwogaW1wb3J0IHJlcXVlc3RzCitpbXBvcnQgc3RhdAogaW1wb3J0IHN5cwogCiBmcm9tIC5jb21t
YW5kIGltcG9ydCBDb21tYW5kCkBAIC0yOSw2ICszMiw0MSBAQCBmcm9tIHdlYmtpdGNvcmVweSBp
bXBvcnQgYXJndW1lbnRzLCBydW4sIEVkaXRvciwgVGVybWluYWwKIGZyb20gd2Via2l0c2NtcHkg
aW1wb3J0IGxvZywgbG9jYWwsIHJlbW90ZQogCiAKKyMgTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24g
ZWZmZWN0aXZlbHkgb3BlcmF0ZXMgYXMgYSBzdGFuZC1hbG9uZSBmaWxlLCBpdCdzIGNvbnRlbnRz
IGFyZQorIyBwbGFjZWQgZGlyZWN0bHkgaW50byAuZ2l0L3ByZXBhcmUtY29tbWl0LW1zZworZGVm
IHByZXBhcmVfY29tbWl0X21lc3NhZ2VfbWFpbihnZW5lcmF0b3IsIGZpbGVfbmFtZT1Ob25lLCBz
b3VyY2U9Tm9uZSwgc2hhPU5vbmUpOgorICAgIGlmIHNvdXJjZSBhbmQgc291cmNlICE9ICdjb21t
aXQnOgorICAgICAgICByZXR1cm4gMAorICAgIGlmIG5vdCBmaWxlX25hbWU6CisgICAgICAgIHN5
cy5zdGRlcnIud3JpdGUoJ05vIGNvbW1pdCBtZXNzYWdlIGZpbGUgcHJvdmlkZWQgdG8gcHJlcGFy
ZS1jb21taXQtbXNnXG4nKQorICAgICAgICByZXR1cm4gMQorICAgIHdpdGggb3BlbihmaWxlX25h
bWUsICd3JykgYXMgZmlsZToKKyAgICAgICAgaWYgc2hhOgorICAgICAgICAgICAgZmlsZS53cml0
ZShzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgKKyAgICAgICAgICAgICAgICBbb3MuZW52aXJvbi5n
ZXQoJ18nLCAnZ2l0JyksICdsb2cnLCAnSEVBRCcsICctMScsICctLXByZXR0eT1mb3JtYXQ6JUIn
XSwKKyAgICAgICAgICAgICAgICAqKihkaWN0KGVuY29kaW5nPSd1dGYtOCcpIGlmIHN5cy52ZXJz
aW9uX2luZm8gPiAoMywgMCkgZWxzZSBkaWN0KCkpCisgICAgICAgICAgICApKQorICAgICAgICBl
bHNlOgorICAgICAgICAgICAgZmlsZS53cml0ZShnZW5lcmF0b3Ioc291cmNlPXNvdXJjZSwgc2hh
PXNoYSkpCisKKyAgICAgICAgZmlsZS53cml0ZSgnJycKKyMgUGxlYXNlIHBvcHVsYXRlIHRoZSBh
Ym92ZSBjb21taXQgbWVzc2FnZS4gTGluZXMgc3RhcnRpbmcKKyMgd2l0aCAnIycgd2lsbCBiZSBp
Z25vcmVkCisKKycnJykKKyAgICAgICAgaWYgc2hhOgorICAgICAgICAgICAgZm9yIGxpbmUgaW4g
Z2VuZXJhdG9yKHNvdXJjZT1zb3VyY2UsIHNoYT1zaGEpLnNwbGl0bGluZXMoKToKKyAgICAgICAg
ICAgICAgICBmaWxlLndyaXRlKCcjIHt9XG4nLmZvcm1hdChsaW5lKSkKKyAgICAgICAgICAgIGZp
bGUud3JpdGUoJ1xuJykKKyAgICAgICAgZm9yIGxpbmUgaW4gc3VicHJvY2Vzcy5jaGVja19vdXRw
dXQoCisgICAgICAgICAgICBbb3MuZW52aXJvbi5nZXQoJ18nLCAnZ2l0JyksICdzdGF0dXMnXSwK
KyAgICAgICAgICAgICoqKGRpY3QoZW5jb2Rpbmc9J3V0Zi04JykgaWYgc3lzLnZlcnNpb25faW5m
byA+ICgzLCAwKSBlbHNlIGRpY3QoKSkKKyAgICAgICAgKS5zcGxpdGxpbmVzKCk6CisgICAgICAg
ICAgICBmaWxlLndyaXRlKCcjIHt9XG4nLmZvcm1hdChsaW5lKSkKKworICAgIHJldHVybiAwCisK
KwogY2xhc3MgU2V0dXAoQ29tbWFuZCk6CiAgICAgbmFtZSA9ICdzZXR1cCcKICAgICBoZWxwID0g
J0NvbmZpZ3VyZSBsb2NhbCBzZXR0aW5ncyBmb3IgdGhlIGN1cnJlbnQgcmVwb3NpdG9yeScKQEAg
LTczLDcgKzExMSw3IEBAIGNsYXNzIFNldHVwKENvbW1hbmQpOgogICAgICAgICByZXR1cm4gMAog
CiAgICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIGdpdChjbHMsIGFyZ3MsIHJlcG9zaXRvcnksICoq
a3dhcmdzKToKKyAgICBkZWYgZ2l0KGNscywgYXJncywgcmVwb3NpdG9yeSwgcHJlcGFyZV9jb21t
aXRfbWVzc2FnZT1Ob25lLCAqKmt3YXJncyk6CiAgICAgICAgIGdsb2JhbF9jb25maWcgPSBsb2Nh
bC5HaXQuY29uZmlnKCkKICAgICAgICAgcmVzdWx0ID0gMAogCkBAIC05Myw3ICsxMzEsNyBAQCBj
bGFzcyBTZXR1cChDb21tYW5kKToKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGxvZy53YXJu
aW5nKCJTZXQgZ2l0IHVzZXIgZW1haWwgdG8gJ3t9JyIuZm9ybWF0KGVtYWlsKSkKIAotICAgICAg
ICBuYW1lID0gcmVwb3NpdG9yeS5jb250cmlidXRvcnMuZ2V0KGVtYWlsKQorICAgICAgICBuYW1l
ID0gcmVwb3NpdG9yeS5jb250cmlidXRvcnMuZ2V0KGVtYWlsKSBpZiByZXBvc2l0b3J5LmNvbnRy
aWJ1dG9ycyBlbHNlIE5vbmUKICAgICAgICAgaWYgbmFtZToKICAgICAgICAgICAgIG5hbWUgPSBu
YW1lLm5hbWUKICAgICAgICAgZWxzZToKQEAgLTE0MSw2ICsxNzksNDAgQEAgY2xhc3MgU2V0dXAo
Q29tbWFuZCk6CiAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdGYWlsZWQgdG8gdXNlIHt9
IGFzIHRoZSBtZXJnZSBzdHJhdGVneVxuJy5mb3JtYXQoJ21lcmdlIGNvbW1pdHMnIGlmIGFyZ3Mu
bWVyZ2UgZWxzZSAncmViYXNlJykpCiAgICAgICAgICAgICByZXN1bHQgKz0gMQogCisgICAgICAg
IGZ1bmN0aW9uX25hbWUgPSAncHJlcGFyZV9jb21taXRfbWVzc2FnZScKKyAgICAgICAgaWYgcHJl
cGFyZV9jb21taXRfbWVzc2FnZSBhbmQgaW5zcGVjdC5pc2Z1bmN0aW9uKHByZXBhcmVfY29tbWl0
X21lc3NhZ2UpIGFuZCBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlLl9fbmFtZV9fOgorICAgICAgICAg
ICAgZnVuY3Rpb25fbmFtZSA9IHByZXBhcmVfY29tbWl0X21lc3NhZ2UuX19uYW1lX18KKyAgICAg
ICAgICAgIHByZXBhcmVfY29tbWl0X21lc3NhZ2UgPSBpbnNwZWN0LmdldHNvdXJjZShwcmVwYXJl
X2NvbW1pdF9tZXNzYWdlKQorICAgICAgICBpZiBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlOgorICAg
ICAgICAgICAgbG9nLndhcm5pbmcoJ1NldHRpbmcgY29tbWl0IG1lc3NhZ2UgZ2VuZXJhdG9yJykK
KworICAgICAgICAgICAgIyBUaGlzIGlzIGEgYml0IGhhY2t5LCBidXQgaXQgYWxsb3dzIHRoZSBk
ZWZpbml0aW9uIG9mIHByZXBhcmVfY29tbWl0X21lc3NhZ2UgdG8gYmUgb3duZWQgYnkgdGhlIGNh
bGxlcgorICAgICAgICAgICAgcGNtX2ZpbGUgPSBvcy5wYXRoLmpvaW4ocmVwb3NpdG9yeS5yb290
X3BhdGgsICcuZ2l0JywgJ2hvb2tzJywgJ3ByZXBhcmUtY29tbWl0LW1zZycpCisgICAgICAgICAg
ICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5kaXJuYW1lKHBjbV9maWxlKSk6CisgICAg
ICAgICAgICAgICAgb3MubWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKHBjbV9maWxlKSkKKyAgICAg
ICAgICAgIHdpdGggb3BlbihwY21fZmlsZSwgJ3cnKSBhcyBmaWxlOgorICAgICAgICAgICAgICAg
IGZpbGUud3JpdGUoCisgICAgICAgICAgICAgICAgICAgICIjIS91c3IvYmluL2VudiB7ZXhlY3V0
YWJsZX1cbiIKKyAgICAgICAgICAgICAgICAgICAgImltcG9ydCBvc1xuIgorICAgICAgICAgICAg
ICAgICAgICAiaW1wb3J0IHN5c1xuIgorICAgICAgICAgICAgICAgICAgICAiaW1wb3J0IHN1YnBy
b2Nlc3NcbiIKKyAgICAgICAgICAgICAgICAgICAgIlxuIgorICAgICAgICAgICAgICAgICAgICAi
e2Z1bmN0aW9ufVxuIgorICAgICAgICAgICAgICAgICAgICAie21haW59XG4iCisgICAgICAgICAg
ICAgICAgICAgICJcbiIKKyAgICAgICAgICAgICAgICAgICAgImlmICdfX21haW5fXycgPT0gX19u
YW1lX186XG4iCisgICAgICAgICAgICAgICAgICAgICIgICAgc3lzLmV4aXQoe21haW5fbmFtZX0o
e2Z1bmN0aW9uX25hbWV9LCAqc3lzLmFyZ3ZbMTpdKSlcbiIuZm9ybWF0KAorICAgICAgICAgICAg
ICAgICAgICAgICAgZXhlY3V0YWJsZT1vcy5wYXRoLmJhc2VuYW1lKHN5cy5leGVjdXRhYmxlKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPXByZXBhcmVfY29tbWl0X21lc3NhZ2Us
CisgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbl9uYW1lPWZ1bmN0aW9uX25hbWUsCisg
ICAgICAgICAgICAgICAgICAgICAgICBtYWluPWluc3BlY3QuZ2V0c291cmNlKHByZXBhcmVfY29t
bWl0X21lc3NhZ2VfbWFpbiksCisgICAgICAgICAgICAgICAgICAgICAgICBtYWluX25hbWU9cHJl
cGFyZV9jb21taXRfbWVzc2FnZV9tYWluLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAg
ICAgZ2l0PWxvY2FsLkdpdC5leGVjdXRhYmxlKCksCisgICAgICAgICAgICAgICAgICAgICkKKyAg
ICAgICAgICAgICAgICApCisKKyAgICAgICAgICAgIG9zLmNobW9kKHBjbV9maWxlLCBvcy5zdGF0
KHBjbV9maWxlKS5zdF9tb2RlIHwgc3RhdC5TX0lFWEVDKQorCiAgICAgICAgIGxvZy53YXJuaW5n
KCdTZXR0aW5nIGdpdCBlZGl0b3IgZm9yIHt9Li4uJy5mb3JtYXQocmVwb3NpdG9yeS5yb290X3Bh
dGgpKQogICAgICAgICBlZGl0b3JfbmFtZSA9ICdkZWZhdWx0JyBpZiBhcmdzLmRlZmF1bHRzIGVs
c2UgVGVybWluYWwuY2hvb3NlKAogICAgICAgICAgICAgJ1BpY2sgYSBjb21taXQgbWVzc2FnZSBl
ZGl0b3InLApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rlc3Qvc2V0dXBfdW5pdHRlc3QucHkKaW5kZXgg
ODFmZDFkMzZjNTZkMWU4ZmFhMjE2NzQ4NmNmNjE0OWE5ZTQ2YjA1Zi4uZjdiOWM1OWMxZTJlOTdk
ZmJlMDYwMmViOWQ0MmVlZDRlYTZlZDkyNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9saWJy
YXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVzdC5weQorKysg
Yi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3Nl
dHVwX3VuaXR0ZXN0LnB5CkBAIC0yMSwxMiArMjEsMTcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogaW1w
b3J0IG9zCitpbXBvcnQgc3lzCiAKIGZyb20gd2Via2l0Y29yZXB5IGltcG9ydCBFZGl0b3IsIE91
dHB1dENhcHR1cmUsIHRlc3RpbmcKIGZyb20gd2Via2l0Y29yZXB5Lm1vY2tzIGltcG9ydCBUZXJt
aW5hbCBhcyBNb2NrVGVybWluYWwKIGZyb20gd2Via2l0c2NtcHkgaW1wb3J0IHByb2dyYW0sIG1v
Y2tzCiAKIAorZGVmIHByZXBhcmVfY29tbWl0X21lc3NhZ2Uoc291cmNlPU5vbmUsIHNoYT1Ob25l
KToKKyAgICByZXR1cm4gJ0dlbmVyYXRlZCBjb21taXQgbWVzc2FnZScKKworCiBjbGFzcyBUZXN0
U2V0dXAodGVzdGluZy5QYXRoVGVzdENhc2UpOgogICAgIGJhc2VwYXRoID0gJ21vY2svcmVwb3Np
dG9yeScKIApAQCAtMTQzLDMgKzE0OCw0MiBAQCBBZGRlZCByZW1vdGUgJ2ZvcmsnCiBGZXRjaGlu
ZyAnaHR0cHM6Ly9naXRodWIuZXhhbXBsZS5jb20vdXNlcm5hbWUvV2ViS2l0LmdpdCcKICcnJy5m
b3JtYXQocmVwb3NpdG9yeT1zZWxmLnBhdGgpLAogICAgICAgICApCisKKyAgICBkZWYgdGVzdF9j
b21taXRfbWVzc2FnZShzZWxmKToKKyAgICAgICAgd2l0aCBPdXRwdXRDYXB0dXJlKCksIG1vY2tz
LmxvY2FsLkdpdChzZWxmLnBhdGgpIGFzIGdpdCwgbW9ja3MubG9jYWwuU3ZuKCk6CisgICAgICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIHByb2dyYW0ubWFpbigKKyAgICAgICAgICAgICAgICBh
cmdzPSgnc2V0dXAnLCAnLS1kZWZhdWx0cycpLAorICAgICAgICAgICAgICAgIHBhdGg9c2VsZi5w
YXRoLAorICAgICAgICAgICAgICAgIHByZXBhcmVfY29tbWl0X21lc3NhZ2U9cHJlcGFyZV9jb21t
aXRfbWVzc2FnZSwKKyAgICAgICAgICAgICkpCisgICAgICAgICAgICBwY20gPSBvcy5wYXRoLmpv
aW4oc2VsZi5wYXRoLCAnLmdpdCcsICdob29rcycsICdwcmVwYXJlLWNvbW1pdC1tc2cnKQorICAg
ICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNmaWxlKHBjbSkpCisgICAgICAgICAg
ICBvcy5yZW5hbWUocGNtLCBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKHBjbSksICdwcmVw
YXJlX2NvbW1pdF9tc2cucHknKSkKKworICAgICAgICAgICAgc3lzLnBhdGguaW5zZXJ0KDAsIG9z
LnBhdGguZGlybmFtZShwY20pKQorICAgICAgICAgICAgdW5kZXJzY29yZSA9IG9zLmVudmlyb24u
Z2V0KCdfJykKKyAgICAgICAgICAgIG9zLmVudmlyb25bJ18nXSA9IGdpdC5leGVjdXRhYmxlCisK
KyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBmcm9tIHByZXBhcmVfY29tbWl0X21z
ZyBpbXBvcnQgcHJlcGFyZV9jb21taXRfbWVzc2FnZV9tYWluCisgICAgICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICAgICAgcHJlcGFyZV9jb21taXRfbWVzc2Fn
ZV9tYWluKHByZXBhcmVfY29tbWl0X21lc3NhZ2UsIG9zLnBhdGguam9pbihzZWxmLnBhdGgsICdD
T01NSVRfTUVTU0FHRScpKSwKKyAgICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAg
ICApCisgICAgICAgICAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihzZWxmLnBhdGgsICdD
T01NSVRfTUVTU0FHRScpLCAncicpIGFzIGZpbGU6CisgICAgICAgICAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgICAgICAgICBmaWxlLnJlYWQoKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICcnJ0dlbmVyYXRlZCBjb21taXQgbWVzc2FnZQorIyBQbGVhc2Ug
cG9wdWxhdGUgdGhlIGFib3ZlIGNvbW1pdCBtZXNzYWdlLiBMaW5lcyBzdGFydGluZworIyB3aXRo
ICcjJyB3aWxsIGJlIGlnbm9yZWQKKworIyAnT24gYnJhbmNoIG1haW4KKyMgWW91ciBicmFuY2gg
aXMgdXAgdG8gZGF0ZSB3aXRoICdvcmlnaW4vbWFpbicuCisjIAorIyBub3RoaW5nIHRvIGNvbW1p
dCwgd29ya2luZyB0cmVlIGNsZWFuCisnJycpCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAg
ICAgICAgICAgIHN5cy5wYXRoLnJlbW92ZShvcy5wYXRoLmRpcm5hbWUocGNtKSkKKyAgICAgICAg
ICAgICAgICBkZWwgb3MuZW52aXJvblsnXyddCisgICAgICAgICAgICAgICAgaWYgdW5kZXJzY29y
ZToKKyAgICAgICAgICAgICAgICAgICAgb3MuZW52aXJvblsnXyddID0gdW5kZXJzY29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439765</attachid>
            <date>2021-09-30 12:06:27 -0700</date>
            <delta_ts>2021-10-06 17:45:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231023-20210930120625.patch</filename>
            <type>text/plain</type>
            <size>15373</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzIwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDE1MjE5ODBlNDA0M2IzMTJjZjFhMDk2YTEzYTA1ODc0
OGQ4MDllNi4uMjU2ZTY5ZGYxYTQ3MzFjMDhlNTE4M2I1MThjODYxMTYzY2VjNDc4NSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDIxLTA5LTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbd2Via2l0c2NtcHldIEdlbmVyYXRlIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwMjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzNzIyODcxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9naXQtd2Via2l0OiBVc2UgcHJlcGFy
ZS1DaGFuZ2VMb2cgdG8gZ2VuZXJhdGUgY29tbWl0IG1lc3NhZ2VzLgorICAgICAgICAqIFNjcmlw
dHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS9zZXR1cC5weTogQWRkIGluc3BlY3QyIGRlcGVuZGVu
Y3kuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkv
X19pbml0X18ucHk6IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2FsL2dpdC5weToKKyAgICAgICAgKEdpdC5fX2luaXRf
Xyk6IEFkZCB1bmJvdW5kIHN0YXR1cyBtb2NrLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVz
L3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vX19pbml0X18ucHk6CisgICAgICAgICht
YWluKTogUGFzcyBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlIHRvIHN1Yi1wcm9ncmFtcy4KKyAgICAg
ICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL3Nl
dHVwLnB5OgorICAgICAgICAocHJlcGFyZV9jb21taXRfbWVzc2FnZV9tYWluKTogU3RhbmQtYWxv
bmUgZnVuY3Rpb24gZ2VuZXJhdGluZyBjb21taXQgbWVzc2FnZXMuCisgICAgICAgIChTZXR1cC5n
aXQpOiBJZiBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlIGlzIHBhc3NlZCwgY3JlYXRlIGEgc3RhbmQt
YWxvbmUKKyAgICAgICAgcHJlcGFyZS1jb21taXQtbXNnIHNjcmlwdCBpbiAuZ2l0L2hvb2tzLgor
ICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rlc3Qv
c2V0dXBfdW5pdHRlc3QucHk6CisgICAgICAgIChwcmVwYXJlX2NvbW1pdF9tZXNzYWdlKToKKyAg
ICAgICAgKFRlc3RTZXR1cC50ZXN0X2NvbW1pdF9tZXNzYWdlKToKKwogMjAyMS0wOS0zMCAgSm9o
biBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQQ006IFRha2UgYXBw
IGJ1bmRsZSBJRCBpbnRvIGNvbnNpZGVyYXRpb24gd2hlbiBtYXRjaGluZyB0cmlnZ2VyaW5nIGV2
ZW50cyB3aXRoIHBlbmRpbmcgY2xpY2tzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2dpdC13
ZWJraXQgYi9Ub29scy9TY3JpcHRzL2dpdC13ZWJraXQKaW5kZXggZjM2NjU4YTllNjBlZWMxNDg3
MmVlNWYxNjI5YzFmMGRhZDcyYmEzMy4uOTJiOGU4NWU0ZGE2NmE0YzdkODdhYzcxZjJjMGU5MDUw
MzUzNDRhOSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9naXQtd2Via2l0CisrKyBiL1Rvb2xz
L1NjcmlwdHMvZ2l0LXdlYmtpdApAQCAtMjIsNiArMjIsNyBAQAogIyAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUwogIyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KIAoraW1wb3J0IGluc3BlY3QKIGltcG9ydCBvcwogaW1wb3J0IHN5cwogCkBA
IC00NSw2ICs0Niw0MyBAQCBkZWYgaXNfd2Via2l0X2ZpbHRlcih0b19yZXR1cm4pOgogICAgIHJl
dHVybiBjYWxsYmFjawogCiAKK2RlZiBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlKGdpdCwgc291cmNl
PU5vbmUsIHNoYT1Ob25lKToKKyAgICAjIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGVmZmVjdGl2
ZWx5IG9wZXJhdGVzIGFzIGEgc3RhbmQtYWxvbmUgZmlsZSwgaXQncyBjb250ZW50cyB3aWxsIGJl
IHBsYWNlZCBpbnRvCisgICAgIyAuZ2l0L3ByZXBhcmUtY29tbWl0LW1zZworICAgIGltcG9ydCBz
dWJwcm9jZXNzCisKKyAgICBkaXJuYW1lID0gTm9uZQorICAgIGNvbnRlbnQgPSBbXQorCisgICAg
dHJ5OgorICAgICAgICBmb3IgbGluZSBpbiBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgKKyAgICAg
ICAgICAgIFtvcy5wYXRoLmpvaW4oJ3t9JywgJ3ByZXBhcmUtQ2hhbmdlTG9nJyksICctLW5vLXdy
aXRlJywgJy0tb25seS1maWxlcycsICctLWRlbGltaXRlcnMnXSwKKyAgICAgICAgICAgICoqKGRp
Y3QoZW5jb2Rpbmc9J3V0Zi04JykgaWYgc3lzLnZlcnNpb25faW5mbyA+ICgzLCAwKSBlbHNlIGRp
Y3QoKSkKKyAgICAgICAgKS5zcGxpdGxpbmVzKCk6CisgICAgICAgICAgICBpZiBsaW5lID09ICd+
JzoKKyAgICAgICAgICAgICAgICBkaXJuYW1lID0gTm9uZQorICAgICAgICAgICAgICAgIGNvbnRp
bnVlCisgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJyAnICogOCk6CisgICAgICAgICAg
ICAgICAgaWYgZGlybmFtZToKKyAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFj
ZSgnKiAnLCAnKiB7e319LycuZm9ybWF0KGRpcm5hbWUpKQorICAgICAgICAgICAgICAgIGNvbnRl
bnQuYXBwZW5kKGxpbmVbODpdKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAg
ICBpZiBsaW5lLmVuZHN3aXRoKCc6Jyk6CisgICAgICAgICAgICAgICAgZGlybmFtZSA9IGxpbmUu
c3BsaXQoJzonKVswXQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgcmV0dXJu
ICcnJ05lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiAoT09QUyEpLgorTmVlZCB0aGUgYnVnIFVSTCAo
T09QUyEpLgorCitSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwore3t9fQorJycnLmZvcm1h
dCgnXG4nLmpvaW4oY29udGVudCkpCisKKyAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9j
ZXNzRXJyb3I6CisgICAgICAgIHJldHVybiAnJworCisKIGlmICdfX21haW5fXycgPT0gX19uYW1l
X186CiAgICAgY29udHJpYnV0b3JzID0gQ29udHJpYnV0b3IuTWFwcGluZygpCiAgICAgZm9yIGNv
bnRyaWJ1dG9yIGluIENvbW1pdHRlckxpc3QoKS5jb250cmlidXRvcnMoKToKQEAgLTYzLDUgKzEw
MSw2IEBAIGlmICdfX21haW5fXycgPT0gX19uYW1lX186CiAgICAgICAgIGNvbnRyaWJ1dG9ycz1p
c193ZWJraXRfZmlsdGVyKGNvbnRyaWJ1dG9ycyksCiAgICAgICAgIGlkZW50aWZpZXJfdGVtcGxh
dGU9aXNfd2Via2l0X2ZpbHRlcignQ2Fub25pY2FsIGxpbms6IGh0dHBzOi8vY29tbWl0cy53ZWJr
aXQub3JnL3t9JyksCiAgICAgICAgIHN1YnZlcnNpb249aXNfd2Via2l0X2ZpbHRlcignaHR0cHM6
Ly9zdm4ud2Via2l0Lm9yZy9yZXBvc2l0b3J5L3dlYmtpdCcpLAorICAgICAgICBwcmVwYXJlX2Nv
bW1pdF9tZXNzYWdlPWluc3BlY3QuZ2V0c291cmNlKHByZXBhcmVfY29tbWl0X21lc3NhZ2UpLmZv
cm1hdChvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSkpLAogICAgICkp
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS9zZXR1
cC5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS9zZXR1cC5weQppbmRl
eCBiMjA0NjU3MDA3OGU3ZmIzNDYxM2FhYjI0ODdhZTJhN2I4NjgxMDVhLi5lMzEzZmIxNzAwMjQz
MmU5ZTkzZjRlMjQwMDM1NDI1MjkwZGYyNjI1IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRjb3JlcHkvc2V0dXAucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0Y29yZXB5L3NldHVwLnB5CkBAIC01NCw2ICs1NCw3IEBAIHNldHVwKAogICAgICAg
ICAnd2Via2l0Y29yZXB5LnRlc3RzLm1vY2tzJywKICAgICBdLAogICAgIGluc3RhbGxfcmVxdWly
ZXM9WworICAgICAgICAnaW5zcGVjdDInLAogICAgICAgICAnbW9jaycsCiAgICAgICAgICdyZXF1
ZXN0cycsCiAgICAgICAgICdzaXgnLApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0X18ucHkgYi9Ub29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weQppbmRleCBhYzUzYTk0
OTAwZmU4MGJiNTc5Yzk0MDFiZjc5NzgyZmM3ZGY2Zjc4Li4zZTNlZTEzYjM4M2E0YTllNjAwMzZk
ZWI2MThiMjQwY2E3YTBiZWY5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weQorKysgYi9Ub29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weQpAQCAtNTMsNiArNTMs
OSBAQCBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtb25vdG9uaWMnLCBWZXJzaW9uKDEs
IDUpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3doaWNoY3JhZnQnLCBWZXJzaW9u
KDAsIDYsIDEpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3htbHRvZGljdCcsIFZl
cnNpb24oMCwgMTEsIDApKSkKIAoraWYgc3lzLnZlcnNpb25faW5mbyA8ICgzLCAwKToKKyAgICBB
dXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdpbnNwZWN0MicsIFZlcnNpb24oMCwgMSwgMikp
KQorCiBmcm9tIHdlYmtpdHNjbXB5LmNvbnRyaWJ1dG9yIGltcG9ydCBDb250cmlidXRvcgogZnJv
bSB3ZWJraXRzY21weS5jb21taXQgaW1wb3J0IENvbW1pdAogZnJvbSB3ZWJraXRzY21weS5wdWxs
X3JlcXVlc3QgaW1wb3J0IFB1bGxSZXF1ZXN0CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9sb2NhbC9naXQucHkgYi9Ub29s
cy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9sb2NhbC9n
aXQucHkKaW5kZXggZGI5NDM2NDAyZDZhMzU4ODNhYTcwNzNjMzZjOTA2ZDViMDQ1MjRhNi4uMDhk
MzRmM2E5OTE2NjM5YzUyMTZhMzQxYWMwODgxYmM2YTIwODcxYiAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvZ2l0
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5
L21vY2tzL2xvY2FsL2dpdC5weQpAQCAtNDQxLDYgKzQ0MSwxNyBAQCBub3RoaW5nIHRvIGNvbW1p
dCwgd29ya2luZyB0cmVlIGNsZWFuCiAgICAgICAgICAgICAgICAgICAgIHJldHVybmNvZGU9MSwK
ICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPSd1c2FnZTogZ2l0IFstLXZlcnNpb25dIFstLWhl
bHBdLi4uXG4nLAogICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICApLCBtb2Nrcy5TdWJw
cm9jZXNzLlJvdXRlKAorICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSwgJ3N0YXR1cycs
CisgICAgICAgICAgICAgICAgZ2VuZXJhdG9yPWxhbWJkYSAqYXJncywgKiprd2FyZ3M6CisgICAg
ICAgICAgICAgICAgICAgIG1vY2tzLlByb2Nlc3NDb21wbGV0aW9uKAorICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuY29kZT0wLAorICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PScn
JydPbiBicmFuY2gge2JyYW5jaH0KK1lvdXIgYnJhbmNoIGlzIHVwIHRvIGRhdGUgd2l0aCAnb3Jp
Z2luL3ticmFuY2h9Jy4KKworbm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhbgor
JycnLmZvcm1hdChicmFuY2g9c2VsZi5icmFuY2gpLAorICAgICAgICAgICAgICAgICAgICApLAog
ICAgICAgICAgICAgKSwgbW9ja3MuU3VicHJvY2Vzcy5Sb3V0ZSgKICAgICAgICAgICAgICAgICBz
ZWxmLmV4ZWN1dGFibGUsCiAgICAgICAgICAgICAgICAgY29tcGxldGlvbj1tb2Nrcy5Qcm9jZXNz
Q29tcGxldGlvbigKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vX19pbml0X18ucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL19faW5pdF9fLnB5CmluZGV4IDcz
NzIwZTg4Njc4N2JhOGUxMjYzNTEyMjFhMzk0ZmRjYWQ5ZTA3ZjEuLjMzMGRiMzdmZmNjMzFmYTJj
MzM0NmJhZmNiODA5ZGZmODc4NWNmNDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vX19pbml0X18ucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9fX2lu
aXRfXy5weQpAQCAtNDIsNyArNDIsMTAgQEAgZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0IGFyZ3Vt
ZW50cywgbG9nIGFzIHdlYmtpdGNvcmVweV9sb2cKIGZyb20gd2Via2l0c2NtcHkgaW1wb3J0IGxv
Y2FsLCBsb2csIHJlbW90ZQogCiAKLWRlZiBtYWluKGFyZ3M9Tm9uZSwgcGF0aD1Ob25lLCBsb2dn
ZXJzPU5vbmUsIGNvbnRyaWJ1dG9ycz1Ob25lLCBpZGVudGlmaWVyX3RlbXBsYXRlPU5vbmUsIHN1
YnZlcnNpb249Tm9uZSk6CitkZWYgbWFpbigKKyAgICBhcmdzPU5vbmUsIHBhdGg9Tm9uZSwgbG9n
Z2Vycz1Ob25lLCBjb250cmlidXRvcnM9Tm9uZSwKKyAgICBpZGVudGlmaWVyX3RlbXBsYXRlPU5v
bmUsIHN1YnZlcnNpb249Tm9uZSwgcHJlcGFyZV9jb21taXRfbWVzc2FnZT1Ob25lLAorKToKICAg
ICBsb2dnaW5nLmJhc2ljQ29uZmlnKGxldmVsPWxvZ2dpbmcuV0FSTklORykKIAogICAgIGxvZ2dl
cnMgPSBbbG9nZ2luZy5nZXRMb2dnZXIoKSwgd2Via2l0Y29yZXB5X2xvZywgIGxvZ10gKyAobG9n
Z2VycyBvciBbXSkKQEAgLTExMCw2ICsxMTMsMTMgQEAgZGVmIG1haW4oYXJncz1Ob25lLCBwYXRo
PU5vbmUsIGxvZ2dlcnM9Tm9uZSwgY29udHJpYnV0b3JzPU5vbmUsIGlkZW50aWZpZXJfdGVtcGwK
ICAgICBpZiBjYWxsYWJsZShzdWJ2ZXJzaW9uKToKICAgICAgICAgc3VidmVyc2lvbiA9IHN1YnZl
cnNpb24ocmVwb3NpdG9yeSkKIAorICAgIGlmIHN5cy52ZXJzaW9uX2luZm8gPiAoMywgMCk6Cisg
ICAgICAgIGltcG9ydCBpbnNwZWN0CisgICAgZWxzZToKKyAgICAgICAgaW1wb3J0IGluc3BlY3Qy
IGFzIGluc3BlY3QKKyAgICBpZiBjYWxsYWJsZShwcmVwYXJlX2NvbW1pdF9tZXNzYWdlKSBhbmQg
bGlzdChpbnNwZWN0LnNpZ25hdHVyZShwcmVwYXJlX2NvbW1pdF9tZXNzYWdlKS5wYXJhbWV0ZXJz
LmtleXMoKSkgPT0gWydyZXBvc2l0b3J5J106CisgICAgICAgIHByZXBhcmVfY29tbWl0X21lc3Nh
Z2UgPSBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlKHJlcG9zaXRvcnkpCisKICAgICBpZiBub3QgZ2V0
YXR0cihwYXJzZWQsICdtYWluJywgTm9uZSk6CiAgICAgICAgIHBhcnNlci5wcmludF9oZWxwKCkK
ICAgICAgICAgcmV0dXJuIC0xCkBAIC0xMTksNCArMTI5LDUgQEAgZGVmIG1haW4oYXJncz1Ob25l
LCBwYXRoPU5vbmUsIGxvZ2dlcnM9Tm9uZSwgY29udHJpYnV0b3JzPU5vbmUsIGlkZW50aWZpZXJf
dGVtcGwKICAgICAgICAgcmVwb3NpdG9yeT1yZXBvc2l0b3J5LAogICAgICAgICBpZGVudGlmaWVy
X3RlbXBsYXRlPWlkZW50aWZpZXJfdGVtcGxhdGUsCiAgICAgICAgIHN1YnZlcnNpb249c3VidmVy
c2lvbiwKKyAgICAgICAgcHJlcGFyZV9jb21taXRfbWVzc2FnZT1wcmVwYXJlX2NvbW1pdF9tZXNz
YWdlLAogICAgICkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vc2V0dXAucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL3NldHVwLnB5CmluZGV4IDZjODExMzI4
OGY0YWM3Zjg1MmFhYTMzNzI2ZjZkYTA0ZjgyOWE0MTQuLjUxM2U2ZDk0NzRjMzMzODZiMWJmOTdh
ODk0ZjIyNDk2YjI0YTExYzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dl
YmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vc2V0dXAucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cC5weQpAQCAt
MjAsNyArMjAsMTAgQEAKICMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAor
aW1wb3J0IGluc3BlY3QKK2ltcG9ydCBvcwogaW1wb3J0IHJlcXVlc3RzCitpbXBvcnQgc3RhdAog
aW1wb3J0IHN5cwogCiBmcm9tIC5jb21tYW5kIGltcG9ydCBDb21tYW5kCkBAIC0yOSw2ICszMiw0
MSBAQCBmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgYXJndW1lbnRzLCBydW4sIEVkaXRvciwgVGVy
bWluYWwKIGZyb20gd2Via2l0c2NtcHkgaW1wb3J0IGxvZywgbG9jYWwsIHJlbW90ZQogCiAKKyMg
Tm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gZWZmZWN0aXZlbHkgb3BlcmF0ZXMgYXMgYSBzdGFuZC1h
bG9uZSBmaWxlLCBpdCdzIGNvbnRlbnRzIGFyZQorIyBwbGFjZWQgZGlyZWN0bHkgaW50byAuZ2l0
L3ByZXBhcmUtY29tbWl0LW1zZworZGVmIHByZXBhcmVfY29tbWl0X21lc3NhZ2VfbWFpbihnaXQs
IGdlbmVyYXRvciwgZmlsZV9uYW1lPU5vbmUsIHNvdXJjZT1Ob25lLCBzaGE9Tm9uZSk6CisgICAg
aWYgc291cmNlIGFuZCBzb3VyY2UgIT0gJ2NvbW1pdCc6CisgICAgICAgIHJldHVybiAwCisgICAg
aWYgbm90IGZpbGVfbmFtZToKKyAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnTm8gY29tbWl0IG1l
c3NhZ2UgZmlsZSBwcm92aWRlZCB0byBwcmVwYXJlLWNvbW1pdC1tc2dcbicpCisgICAgICAgIHJl
dHVybiAxCisgICAgd2l0aCBvcGVuKGZpbGVfbmFtZSwgJ3cnKSBhcyBmaWxlOgorICAgICAgICBp
ZiBzaGE6CisgICAgICAgICAgICBmaWxlLndyaXRlKHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KAor
ICAgICAgICAgICAgICAgIFtnaXQsICdsb2cnLCAnSEVBRCcsICctMScsICctLXByZXR0eT1mb3Jt
YXQ6JUInXSwKKyAgICAgICAgICAgICAgICAqKihkaWN0KGVuY29kaW5nPSd1dGYtOCcpIGlmIHN5
cy52ZXJzaW9uX2luZm8gPiAoMywgMCkgZWxzZSBkaWN0KCkpCisgICAgICAgICAgICApKQorICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgZmlsZS53cml0ZShnZW5lcmF0b3IoZ2l0LCBzb3VyY2U9
c291cmNlLCBzaGE9c2hhKSkKKworICAgICAgICBmaWxlLndyaXRlKCcnJworIyBQbGVhc2UgcG9w
dWxhdGUgdGhlIGFib3ZlIGNvbW1pdCBtZXNzYWdlLiBMaW5lcyBzdGFydGluZworIyB3aXRoICcj
JyB3aWxsIGJlIGlnbm9yZWQKKworJycnKQorICAgICAgICBpZiBzaGE6CisgICAgICAgICAgICBm
b3IgbGluZSBpbiBnZW5lcmF0b3IoZ2l0LCBzb3VyY2U9c291cmNlLCBzaGE9c2hhKS5zcGxpdGxp
bmVzKCk6CisgICAgICAgICAgICAgICAgZmlsZS53cml0ZSgnIyB7fVxuJy5mb3JtYXQobGluZSkp
CisgICAgICAgICAgICBmaWxlLndyaXRlKCdcbicpCisgICAgICAgIGZvciBsaW5lIGluIHN1YnBy
b2Nlc3MuY2hlY2tfb3V0cHV0KAorICAgICAgICAgICAgW2dpdCwgJ3N0YXR1cyddLAorICAgICAg
ICAgICAgKiooZGljdChlbmNvZGluZz0ndXRmLTgnKSBpZiBzeXMudmVyc2lvbl9pbmZvID4gKDMs
IDApIGVsc2UgZGljdCgpKQorICAgICAgICApLnNwbGl0bGluZXMoKToKKyAgICAgICAgICAgIGZp
bGUud3JpdGUoJyMge31cbicuZm9ybWF0KGxpbmUpKQorCisgICAgcmV0dXJuIDAKKworCiBjbGFz
cyBTZXR1cChDb21tYW5kKToKICAgICBuYW1lID0gJ3NldHVwJwogICAgIGhlbHAgPSAnQ29uZmln
dXJlIGxvY2FsIHNldHRpbmdzIGZvciB0aGUgY3VycmVudCByZXBvc2l0b3J5JwpAQCAtNzMsNyAr
MTExLDcgQEAgY2xhc3MgU2V0dXAoQ29tbWFuZCk6CiAgICAgICAgIHJldHVybiAwCiAKICAgICBA
Y2xhc3NtZXRob2QKLSAgICBkZWYgZ2l0KGNscywgYXJncywgcmVwb3NpdG9yeSwgKiprd2FyZ3Mp
OgorICAgIGRlZiBnaXQoY2xzLCBhcmdzLCByZXBvc2l0b3J5LCBwcmVwYXJlX2NvbW1pdF9tZXNz
YWdlPU5vbmUsICoqa3dhcmdzKToKICAgICAgICAgZ2xvYmFsX2NvbmZpZyA9IGxvY2FsLkdpdC5j
b25maWcoKQogICAgICAgICByZXN1bHQgPSAwCiAKQEAgLTkzLDcgKzEzMSw3IEBAIGNsYXNzIFNl
dHVwKENvbW1hbmQpOgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgbG9nLndhcm5pbmcoIlNl
dCBnaXQgdXNlciBlbWFpbCB0byAne30nIi5mb3JtYXQoZW1haWwpKQogCi0gICAgICAgIG5hbWUg
PSByZXBvc2l0b3J5LmNvbnRyaWJ1dG9ycy5nZXQoZW1haWwpCisgICAgICAgIG5hbWUgPSByZXBv
c2l0b3J5LmNvbnRyaWJ1dG9ycy5nZXQoZW1haWwpIGlmIHJlcG9zaXRvcnkuY29udHJpYnV0b3Jz
IGVsc2UgTm9uZQogICAgICAgICBpZiBuYW1lOgogICAgICAgICAgICAgbmFtZSA9IG5hbWUubmFt
ZQogICAgICAgICBlbHNlOgpAQCAtMTQxLDYgKzE3OSw0MSBAQCBjbGFzcyBTZXR1cChDb21tYW5k
KToKICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ0ZhaWxlZCB0byB1c2Uge30gYXMgdGhl
IG1lcmdlIHN0cmF0ZWd5XG4nLmZvcm1hdCgnbWVyZ2UgY29tbWl0cycgaWYgYXJncy5tZXJnZSBl
bHNlICdyZWJhc2UnKSkKICAgICAgICAgICAgIHJlc3VsdCArPSAxCiAKKyAgICAgICAgZnVuY3Rp
b25fbmFtZSA9ICdwcmVwYXJlX2NvbW1pdF9tZXNzYWdlJworICAgICAgICBpZiBwcmVwYXJlX2Nv
bW1pdF9tZXNzYWdlIGFuZCBpbnNwZWN0LmlzZnVuY3Rpb24ocHJlcGFyZV9jb21taXRfbWVzc2Fn
ZSkgYW5kIHByZXBhcmVfY29tbWl0X21lc3NhZ2UuX19uYW1lX186CisgICAgICAgICAgICBmdW5j
dGlvbl9uYW1lID0gcHJlcGFyZV9jb21taXRfbWVzc2FnZS5fX25hbWVfXworICAgICAgICAgICAg
cHJlcGFyZV9jb21taXRfbWVzc2FnZSA9IGluc3BlY3QuZ2V0c291cmNlKHByZXBhcmVfY29tbWl0
X21lc3NhZ2UpCisgICAgICAgIGlmIHByZXBhcmVfY29tbWl0X21lc3NhZ2U6CisgICAgICAgICAg
ICBsb2cud2FybmluZygnU2V0dGluZyBjb21taXQgbWVzc2FnZSBnZW5lcmF0b3InKQorCisgICAg
ICAgICAgICAjIFRoaXMgaXMgYSBiaXQgaGFja3ksIGJ1dCBpdCBhbGxvd3MgdGhlIGRlZmluaXRp
b24gb2YgcHJlcGFyZV9jb21taXRfbWVzc2FnZSB0byBiZSBvd25lZCBieSB0aGUgY2FsbGVyCisg
ICAgICAgICAgICBwY21fZmlsZSA9IG9zLnBhdGguam9pbihyZXBvc2l0b3J5LnJvb3RfcGF0aCwg
Jy5naXQnLCAnaG9va3MnLCAncHJlcGFyZS1jb21taXQtbXNnJykKKyAgICAgICAgICAgIGlmIG5v
dCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmRpcm5hbWUocGNtX2ZpbGUpKToKKyAgICAgICAgICAg
ICAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmRpcm5hbWUocGNtX2ZpbGUpKQorICAgICAgICAgICAg
d2l0aCBvcGVuKHBjbV9maWxlLCAndycpIGFzIGZpbGU6CisgICAgICAgICAgICAgICAgZmlsZS53
cml0ZSgKKyAgICAgICAgICAgICAgICAgICAgIiMhL3Vzci9iaW4vZW52IHtleGVjdXRhYmxlfVxu
XG4iCisgICAgICAgICAgICAgICAgICAgICIjIEF1dG8tZ2VuZXJhdGVkIGJ5IHdlYmtpdHNjbXB5
XG5cbiIKKyAgICAgICAgICAgICAgICAgICAgImltcG9ydCBvc1xuIgorICAgICAgICAgICAgICAg
ICAgICAiaW1wb3J0IHN5c1xuIgorICAgICAgICAgICAgICAgICAgICAiaW1wb3J0IHN1YnByb2Nl
c3NcbiIKKyAgICAgICAgICAgICAgICAgICAgIlxuIgorICAgICAgICAgICAgICAgICAgICAie2Z1
bmN0aW9ufVxuIgorICAgICAgICAgICAgICAgICAgICAie21haW59XG4iCisgICAgICAgICAgICAg
ICAgICAgICJcbiIKKyAgICAgICAgICAgICAgICAgICAgImlmICdfX21haW5fXycgPT0gX19uYW1l
X186XG4iCisgICAgICAgICAgICAgICAgICAgICIgICAgc3lzLmV4aXQoe21haW5fbmFtZX0oJ3tn
aXR9Jywge2Z1bmN0aW9uX25hbWV9LCAqc3lzLmFyZ3ZbMTpdKSlcbiIuZm9ybWF0KAorICAgICAg
ICAgICAgICAgICAgICAgICAgZXhlY3V0YWJsZT1vcy5wYXRoLmJhc2VuYW1lKHN5cy5leGVjdXRh
YmxlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPXByZXBhcmVfY29tbWl0X21l
c3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbl9uYW1lPWZ1bmN0aW9uX25h
bWUsCisgICAgICAgICAgICAgICAgICAgICAgICBtYWluPWluc3BlY3QuZ2V0c291cmNlKHByZXBh
cmVfY29tbWl0X21lc3NhZ2VfbWFpbiksCisgICAgICAgICAgICAgICAgICAgICAgICBtYWluX25h
bWU9cHJlcGFyZV9jb21taXRfbWVzc2FnZV9tYWluLl9fbmFtZV9fLAorICAgICAgICAgICAgICAg
ICAgICAgICAgZ2l0PWxvY2FsLkdpdC5leGVjdXRhYmxlKCksCisgICAgICAgICAgICAgICAgICAg
ICkKKyAgICAgICAgICAgICAgICApCisKKyAgICAgICAgICAgIG9zLmNobW9kKHBjbV9maWxlLCBv
cy5zdGF0KHBjbV9maWxlKS5zdF9tb2RlIHwgc3RhdC5TX0lFWEVDKQorCiAgICAgICAgIGxvZy53
YXJuaW5nKCdTZXR0aW5nIGdpdCBlZGl0b3IgZm9yIHt9Li4uJy5mb3JtYXQocmVwb3NpdG9yeS5y
b290X3BhdGgpKQogICAgICAgICBlZGl0b3JfbmFtZSA9ICdkZWZhdWx0JyBpZiBhcmdzLmRlZmF1
bHRzIGVsc2UgVGVybWluYWwuY2hvb3NlKAogICAgICAgICAgICAgJ1BpY2sgYSBjb21taXQgbWVz
c2FnZSBlZGl0b3InLApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0
c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rlc3Qvc2V0dXBfdW5pdHRlc3QucHkK
aW5kZXggODFmZDFkMzZjNTZkMWU4ZmFhMjE2NzQ4NmNmNjE0OWE5ZTQ2YjA1Zi4uYTY1YTVlYTc0
MzliNzQ3YWUzMTc5NjE3NTRiYzNlZmM4ZTc5MTQxMiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVzdC5w
eQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90
ZXN0L3NldHVwX3VuaXR0ZXN0LnB5CkBAIC0yMSwxMiArMjEsMTcgQEAKICMgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
IAogaW1wb3J0IG9zCitpbXBvcnQgc3lzCiAKIGZyb20gd2Via2l0Y29yZXB5IGltcG9ydCBFZGl0
b3IsIE91dHB1dENhcHR1cmUsIHRlc3RpbmcKIGZyb20gd2Via2l0Y29yZXB5Lm1vY2tzIGltcG9y
dCBUZXJtaW5hbCBhcyBNb2NrVGVybWluYWwKIGZyb20gd2Via2l0c2NtcHkgaW1wb3J0IHByb2dy
YW0sIG1vY2tzCiAKIAorZGVmIHByZXBhcmVfY29tbWl0X21lc3NhZ2UoZ2l0LCBzb3VyY2U9Tm9u
ZSwgc2hhPU5vbmUpOgorICAgIHJldHVybiAnR2VuZXJhdGVkIGNvbW1pdCBtZXNzYWdlJworCisK
IGNsYXNzIFRlc3RTZXR1cCh0ZXN0aW5nLlBhdGhUZXN0Q2FzZSk6CiAgICAgYmFzZXBhdGggPSAn
bW9jay9yZXBvc2l0b3J5JwogCkBAIC0xNDMsMyArMTQ4LDM3IEBAIEFkZGVkIHJlbW90ZSAnZm9y
aycKIEZldGNoaW5nICdodHRwczovL2dpdGh1Yi5leGFtcGxlLmNvbS91c2VybmFtZS9XZWJLaXQu
Z2l0JwogJycnLmZvcm1hdChyZXBvc2l0b3J5PXNlbGYucGF0aCksCiAgICAgICAgICkKKworICAg
IGRlZiB0ZXN0X2NvbW1pdF9tZXNzYWdlKHNlbGYpOgorICAgICAgICB3aXRoIE91dHB1dENhcHR1
cmUoKSwgbW9ja3MubG9jYWwuR2l0KHNlbGYucGF0aCkgYXMgZ2l0LCBtb2Nrcy5sb2NhbC5Tdm4o
KToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMCwgcHJvZ3JhbS5tYWluKAorICAgICAg
ICAgICAgICAgIGFyZ3M9KCdzZXR1cCcsICctLWRlZmF1bHRzJyksCisgICAgICAgICAgICAgICAg
cGF0aD1zZWxmLnBhdGgsCisgICAgICAgICAgICAgICAgcHJlcGFyZV9jb21taXRfbWVzc2FnZT1w
cmVwYXJlX2NvbW1pdF9tZXNzYWdlLAorICAgICAgICAgICAgKSkKKyAgICAgICAgICAgIHBjbSA9
IG9zLnBhdGguam9pbihzZWxmLnBhdGgsICcuZ2l0JywgJ2hvb2tzJywgJ3ByZXBhcmUtY29tbWl0
LW1zZycpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2ZpbGUocGNtKSkK
KyAgICAgICAgICAgIG9zLnJlbmFtZShwY20sIG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUo
cGNtKSwgJ3ByZXBhcmVfY29tbWl0X21zZy5weScpKQorCisgICAgICAgICAgICBzeXMucGF0aC5p
bnNlcnQoMCwgb3MucGF0aC5kaXJuYW1lKHBjbSkpCisKKyAgICAgICAgICAgIHRyeToKKyAgICAg
ICAgICAgICAgICBmcm9tIHByZXBhcmVfY29tbWl0X21zZyBpbXBvcnQgcHJlcGFyZV9jb21taXRf
bWVzc2FnZV9tYWluCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAg
ICAgICAgICAgICAgcHJlcGFyZV9jb21taXRfbWVzc2FnZV9tYWluKGdpdC5leGVjdXRhYmxlLCBw
cmVwYXJlX2NvbW1pdF9tZXNzYWdlLCBvcy5wYXRoLmpvaW4oc2VsZi5wYXRoLCAnQ09NTUlUX01F
U1NBR0UnKSksCisgICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgKQorICAg
ICAgICAgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oc2VsZi5wYXRoLCAnQ09NTUlUX01F
U1NBR0UnKSwgJ3InKSBhcyBmaWxlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKAorICAgICAgICAgICAgICAgICAgICAgICAgZmlsZS5yZWFkKCksCisgICAgICAgICAgICAg
ICAgICAgICAgICAnJydHZW5lcmF0ZWQgY29tbWl0IG1lc3NhZ2UKKyMgUGxlYXNlIHBvcHVsYXRl
IHRoZSBhYm92ZSBjb21taXQgbWVzc2FnZS4gTGluZXMgc3RhcnRpbmcKKyMgd2l0aCAnIycgd2ls
bCBiZSBpZ25vcmVkCisKKyMgJ09uIGJyYW5jaCBtYWluCisjIFlvdXIgYnJhbmNoIGlzIHVwIHRv
IGRhdGUgd2l0aCAnb3JpZ2luL21haW4nLgorIyAKKyMgbm90aGluZyB0byBjb21taXQsIHdvcmtp
bmcgdHJlZSBjbGVhbgorJycnKQorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAg
ICBzeXMucGF0aC5yZW1vdmUob3MucGF0aC5kaXJuYW1lKHBjbSkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440460</attachid>
            <date>2021-10-06 17:45:49 -0700</date>
            <delta_ts>2021-10-13 09:50:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231023-20211006174548.patch</filename>
            <type>text/plain</type>
            <size>15511</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNjgyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGY1MGIwNjc2ODJlYTU0OWY5ZmE4ZWU1NDRiYWRhYjkz
NzdmZWZkNi4uMzYzOWM4ZDI3N2IyZTBjODFhMGY0YjE4NjVlMjQ5ZjMxMDZmZjM5ZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDIxLTEwLTA2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbd2Via2l0c2NtcHldIEdlbmVyYXRlIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwMjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzNzIyODcxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9naXQtd2Via2l0OiBVc2UgcHJlcGFy
ZS1DaGFuZ2VMb2cgdG8gZ2VuZXJhdGUgY29tbWl0IG1lc3NhZ2VzLgorICAgICAgICAqIFNjcmlw
dHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5OiBBZGQgaW5zcGVjdDIgZGVwZW5kZW5j
eS4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9f
X2luaXRfXy5weTogRGl0dG8uCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvZ2l0LnB5OgorICAgICAgICAoR2l0Ll9faW5pdF9f
KTogQWRkIHVuYm91bmQgc3RhdHVzIG1vY2suCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMv
d2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9fX2luaXRfXy5weToKKyAgICAgICAgKG1h
aW4pOiBQYXNzIHByZXBhcmVfY29tbWl0X21lc3NhZ2UgdG8gc3ViLXByb2dyYW1zLgorICAgICAg
ICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vc2V0
dXAucHk6CisgICAgICAgIChwcmVwYXJlX2NvbW1pdF9tZXNzYWdlX21haW4pOiBTdGFuZC1hbG9u
ZSBmdW5jdGlvbiBnZW5lcmF0aW5nIGNvbW1pdCBtZXNzYWdlcy4KKyAgICAgICAgKFNldHVwLmdp
dCk6IElmIHByZXBhcmVfY29tbWl0X21lc3NhZ2UgaXMgcGFzc2VkLCBjcmVhdGUgYSBzdGFuZC1h
bG9uZQorICAgICAgICBwcmVwYXJlLWNvbW1pdC1tc2cgc2NyaXB0IGluIC5naXQvaG9va3MuCisg
ICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9z
ZXR1cF91bml0dGVzdC5weToKKyAgICAgICAgKHByZXBhcmVfY29tbWl0X21lc3NhZ2UpOgorICAg
ICAgICAoVGVzdFNldHVwLnRlc3RfY29tbWl0X21lc3NhZ2UpOgorCiAyMDIxLTEwLTA2ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFB5dGhvbiAz
OiBydW4taW5zcGVjdG9yLWdlbmVyYXRvci10ZXN0cyBhbmQgZ2VuZXJhdGUtaW5zcGVjdG9yLXBy
b3RvY29sLWJpbmRpbmdzLnB5CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2dpdC13ZWJraXQg
Yi9Ub29scy9TY3JpcHRzL2dpdC13ZWJraXQKaW5kZXggZjM2NjU4YTllNjBlZWMxNDg3MmVlNWYx
NjI5YzFmMGRhZDcyYmEzMy4uOTJiOGU4NWU0ZGE2NmE0YzdkODdhYzcxZjJjMGU5MDUwMzUzNDRh
OSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9naXQtd2Via2l0CisrKyBiL1Rvb2xzL1Njcmlw
dHMvZ2l0LXdlYmtpdApAQCAtMjIsNiArMjIsNyBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwog
IyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KIAoraW1wb3J0IGluc3BlY3QKIGltcG9ydCBvcwogaW1wb3J0IHN5cwogCkBAIC00NSw2
ICs0Niw0MyBAQCBkZWYgaXNfd2Via2l0X2ZpbHRlcih0b19yZXR1cm4pOgogICAgIHJldHVybiBj
YWxsYmFjawogCiAKK2RlZiBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlKGdpdCwgc291cmNlPU5vbmUs
IHNoYT1Ob25lKToKKyAgICAjIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGVmZmVjdGl2ZWx5IG9w
ZXJhdGVzIGFzIGEgc3RhbmQtYWxvbmUgZmlsZSwgaXQncyBjb250ZW50cyB3aWxsIGJlIHBsYWNl
ZCBpbnRvCisgICAgIyAuZ2l0L3ByZXBhcmUtY29tbWl0LW1zZworICAgIGltcG9ydCBzdWJwcm9j
ZXNzCisKKyAgICBkaXJuYW1lID0gTm9uZQorICAgIGNvbnRlbnQgPSBbXQorCisgICAgdHJ5Ogor
ICAgICAgICBmb3IgbGluZSBpbiBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgKKyAgICAgICAgICAg
IFtvcy5wYXRoLmpvaW4oJ3t9JywgJ3ByZXBhcmUtQ2hhbmdlTG9nJyksICctLW5vLXdyaXRlJywg
Jy0tb25seS1maWxlcycsICctLWRlbGltaXRlcnMnXSwKKyAgICAgICAgICAgICoqKGRpY3QoZW5j
b2Rpbmc9J3V0Zi04JykgaWYgc3lzLnZlcnNpb25faW5mbyA+ICgzLCAwKSBlbHNlIGRpY3QoKSkK
KyAgICAgICAgKS5zcGxpdGxpbmVzKCk6CisgICAgICAgICAgICBpZiBsaW5lID09ICd+JzoKKyAg
ICAgICAgICAgICAgICBkaXJuYW1lID0gTm9uZQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisg
ICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJyAnICogOCk6CisgICAgICAgICAgICAgICAg
aWYgZGlybmFtZToKKyAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgnKiAn
LCAnKiB7e319LycuZm9ybWF0KGRpcm5hbWUpKQorICAgICAgICAgICAgICAgIGNvbnRlbnQuYXBw
ZW5kKGxpbmVbODpdKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBpZiBs
aW5lLmVuZHN3aXRoKCc6Jyk6CisgICAgICAgICAgICAgICAgZGlybmFtZSA9IGxpbmUuc3BsaXQo
JzonKVswXQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgcmV0dXJuICcnJ05l
ZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiAoT09QUyEpLgorTmVlZCB0aGUgYnVnIFVSTCAoT09QUyEp
LgorCitSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwore3t9fQorJycnLmZvcm1hdCgnXG4n
LmpvaW4oY29udGVudCkpCisKKyAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJy
b3I6CisgICAgICAgIHJldHVybiAnJworCisKIGlmICdfX21haW5fXycgPT0gX19uYW1lX186CiAg
ICAgY29udHJpYnV0b3JzID0gQ29udHJpYnV0b3IuTWFwcGluZygpCiAgICAgZm9yIGNvbnRyaWJ1
dG9yIGluIENvbW1pdHRlckxpc3QoKS5jb250cmlidXRvcnMoKToKQEAgLTYzLDUgKzEwMSw2IEBA
IGlmICdfX21haW5fXycgPT0gX19uYW1lX186CiAgICAgICAgIGNvbnRyaWJ1dG9ycz1pc193ZWJr
aXRfZmlsdGVyKGNvbnRyaWJ1dG9ycyksCiAgICAgICAgIGlkZW50aWZpZXJfdGVtcGxhdGU9aXNf
d2Via2l0X2ZpbHRlcignQ2Fub25pY2FsIGxpbms6IGh0dHBzOi8vY29tbWl0cy53ZWJraXQub3Jn
L3t9JyksCiAgICAgICAgIHN1YnZlcnNpb249aXNfd2Via2l0X2ZpbHRlcignaHR0cHM6Ly9zdm4u
d2Via2l0Lm9yZy9yZXBvc2l0b3J5L3dlYmtpdCcpLAorICAgICAgICBwcmVwYXJlX2NvbW1pdF9t
ZXNzYWdlPWluc3BlY3QuZ2V0c291cmNlKHByZXBhcmVfY29tbWl0X21lc3NhZ2UpLmZvcm1hdChv
cy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSkpLAogICAgICkpCiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5IGIv
VG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvc2V0dXAucHkKaW5kZXggM2Q5NTM1
MjIwNTAyYzEyMTA3N2JmOGI5ZjE5OTExNmVlZDljN2Y1OC4uNWI5ODNjYjhkMTk0NGZjNTExMTJj
YzBlZjE5MzIzY2MzYzg0NmM3MSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMv
d2Via2l0c2NtcHkvc2V0dXAucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0
c2NtcHkvc2V0dXAucHkKQEAgLTU4LDcgKzU4LDcgQEAgc2V0dXAoCiAgICAgICAgICd3ZWJraXRz
Y21weS50ZXN0JywKICAgICBdLAogICAgIHNjcmlwdHM9WydnaXQtd2Via2l0J10sCi0gICAgaW5z
dGFsbF9yZXF1aXJlcz1bJ2Zhc3RlbmVycycsICdtb25vdG9uaWMnLCAnd2Via2l0Y29yZXB5Jywg
J3htbHRvZGljdCddLAorICAgIGluc3RhbGxfcmVxdWlyZXM9WydmYXN0ZW5lcnMnLCAnaW5zcGVj
dDInLCAnbW9ub3RvbmljJywgJ3dlYmtpdGNvcmVweScsICd4bWx0b2RpY3QnXSwKICAgICBpbmNs
dWRlX3BhY2thZ2VfZGF0YT1UcnVlLAogICAgIHppcF9zYWZlPUZhbHNlLAogKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0
X18ucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9f
X2luaXRfXy5weQppbmRleCAxYTZmZWQ0YzdjNjllODQyNDFjMjMzZjlkNTY1OThmNDM5ZGQzZDJm
Li4zMTNjNDAzYWNkNmY1YzJlM2EzOGRhMTVkYzU5OWY2OGVhNTFiZjQxIDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5w
eQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9f
X2luaXRfXy5weQpAQCAtNTMsNiArNTMsOSBAQCBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdtb25vdG9uaWMnLCBWZXJzaW9uKDEsIDUpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2th
Z2UoJ3doaWNoY3JhZnQnLCBWZXJzaW9uKDAsIDYsIDEpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVy
KFBhY2thZ2UoJ3htbHRvZGljdCcsIFZlcnNpb24oMCwgMTEsIDApKSkKIAoraWYgc3lzLnZlcnNp
b25faW5mbyA8ICgzLCAwKToKKyAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdpbnNw
ZWN0MicsIFZlcnNpb24oMCwgMSwgMikpKQorCiBmcm9tIHdlYmtpdHNjbXB5LmNvbnRyaWJ1dG9y
IGltcG9ydCBDb250cmlidXRvcgogZnJvbSB3ZWJraXRzY21weS5jb21taXQgaW1wb3J0IENvbW1p
dAogZnJvbSB3ZWJraXRzY21weS5wdWxsX3JlcXVlc3QgaW1wb3J0IFB1bGxSZXF1ZXN0CmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9t
b2Nrcy9sb2NhbC9naXQucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS9tb2Nrcy9sb2NhbC9naXQucHkKaW5kZXggZGI5NDM2NDAyZDZhMzU4ODNhYTcw
NzNjMzZjOTA2ZDViMDQ1MjRhNi4uMDhkMzRmM2E5OTE2NjM5YzUyMTZhMzQxYWMwODgxYmM2YTIw
ODcxYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Vi
a2l0c2NtcHkvbW9ja3MvbG9jYWwvZ2l0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVz
L3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2FsL2dpdC5weQpAQCAtNDQxLDYgKzQ0
MSwxNyBAQCBub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyB0cmVlIGNsZWFuCiAgICAgICAgICAg
ICAgICAgICAgIHJldHVybmNvZGU9MSwKICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPSd1c2Fn
ZTogZ2l0IFstLXZlcnNpb25dIFstLWhlbHBdLi4uXG4nLAogICAgICAgICAgICAgICAgICksCisg
ICAgICAgICAgICApLCBtb2Nrcy5TdWJwcm9jZXNzLlJvdXRlKAorICAgICAgICAgICAgICAgIHNl
bGYuZXhlY3V0YWJsZSwgJ3N0YXR1cycsCisgICAgICAgICAgICAgICAgZ2VuZXJhdG9yPWxhbWJk
YSAqYXJncywgKiprd2FyZ3M6CisgICAgICAgICAgICAgICAgICAgIG1vY2tzLlByb2Nlc3NDb21w
bGV0aW9uKAorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuY29kZT0wLAorICAgICAgICAg
ICAgICAgICAgICAgICAgc3Rkb3V0PScnJydPbiBicmFuY2gge2JyYW5jaH0KK1lvdXIgYnJhbmNo
IGlzIHVwIHRvIGRhdGUgd2l0aCAnb3JpZ2luL3ticmFuY2h9Jy4KKworbm90aGluZyB0byBjb21t
aXQsIHdvcmtpbmcgdHJlZSBjbGVhbgorJycnLmZvcm1hdChicmFuY2g9c2VsZi5icmFuY2gpLAor
ICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgKSwgbW9ja3MuU3VicHJvY2Vzcy5S
b3V0ZSgKICAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dGFibGUsCiAgICAgICAgICAgICAgICAg
Y29tcGxldGlvbj1tb2Nrcy5Qcm9jZXNzQ29tcGxldGlvbigKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vX19pbml0X18u
cHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9n
cmFtL19faW5pdF9fLnB5CmluZGV4IDczNzIwZTg4Njc4N2JhOGUxMjYzNTEyMjFhMzk0ZmRjYWQ5
ZTA3ZjEuLjMzMGRiMzdmZmNjMzFmYTJjMzM0NmJhZmNiODA5ZGZmODc4NWNmNDEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dy
YW0vX19pbml0X18ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvcHJvZ3JhbS9fX2luaXRfXy5weQpAQCAtNDIsNyArNDIsMTAgQEAgZnJvbSB3
ZWJraXRjb3JlcHkgaW1wb3J0IGFyZ3VtZW50cywgbG9nIGFzIHdlYmtpdGNvcmVweV9sb2cKIGZy
b20gd2Via2l0c2NtcHkgaW1wb3J0IGxvY2FsLCBsb2csIHJlbW90ZQogCiAKLWRlZiBtYWluKGFy
Z3M9Tm9uZSwgcGF0aD1Ob25lLCBsb2dnZXJzPU5vbmUsIGNvbnRyaWJ1dG9ycz1Ob25lLCBpZGVu
dGlmaWVyX3RlbXBsYXRlPU5vbmUsIHN1YnZlcnNpb249Tm9uZSk6CitkZWYgbWFpbigKKyAgICBh
cmdzPU5vbmUsIHBhdGg9Tm9uZSwgbG9nZ2Vycz1Ob25lLCBjb250cmlidXRvcnM9Tm9uZSwKKyAg
ICBpZGVudGlmaWVyX3RlbXBsYXRlPU5vbmUsIHN1YnZlcnNpb249Tm9uZSwgcHJlcGFyZV9jb21t
aXRfbWVzc2FnZT1Ob25lLAorKToKICAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKGxldmVsPWxvZ2dp
bmcuV0FSTklORykKIAogICAgIGxvZ2dlcnMgPSBbbG9nZ2luZy5nZXRMb2dnZXIoKSwgd2Via2l0
Y29yZXB5X2xvZywgIGxvZ10gKyAobG9nZ2VycyBvciBbXSkKQEAgLTExMCw2ICsxMTMsMTMgQEAg
ZGVmIG1haW4oYXJncz1Ob25lLCBwYXRoPU5vbmUsIGxvZ2dlcnM9Tm9uZSwgY29udHJpYnV0b3Jz
PU5vbmUsIGlkZW50aWZpZXJfdGVtcGwKICAgICBpZiBjYWxsYWJsZShzdWJ2ZXJzaW9uKToKICAg
ICAgICAgc3VidmVyc2lvbiA9IHN1YnZlcnNpb24ocmVwb3NpdG9yeSkKIAorICAgIGlmIHN5cy52
ZXJzaW9uX2luZm8gPiAoMywgMCk6CisgICAgICAgIGltcG9ydCBpbnNwZWN0CisgICAgZWxzZToK
KyAgICAgICAgaW1wb3J0IGluc3BlY3QyIGFzIGluc3BlY3QKKyAgICBpZiBjYWxsYWJsZShwcmVw
YXJlX2NvbW1pdF9tZXNzYWdlKSBhbmQgbGlzdChpbnNwZWN0LnNpZ25hdHVyZShwcmVwYXJlX2Nv
bW1pdF9tZXNzYWdlKS5wYXJhbWV0ZXJzLmtleXMoKSkgPT0gWydyZXBvc2l0b3J5J106CisgICAg
ICAgIHByZXBhcmVfY29tbWl0X21lc3NhZ2UgPSBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlKHJlcG9z
aXRvcnkpCisKICAgICBpZiBub3QgZ2V0YXR0cihwYXJzZWQsICdtYWluJywgTm9uZSk6CiAgICAg
ICAgIHBhcnNlci5wcmludF9oZWxwKCkKICAgICAgICAgcmV0dXJuIC0xCkBAIC0xMTksNCArMTI5
LDUgQEAgZGVmIG1haW4oYXJncz1Ob25lLCBwYXRoPU5vbmUsIGxvZ2dlcnM9Tm9uZSwgY29udHJp
YnV0b3JzPU5vbmUsIGlkZW50aWZpZXJfdGVtcGwKICAgICAgICAgcmVwb3NpdG9yeT1yZXBvc2l0
b3J5LAogICAgICAgICBpZGVudGlmaWVyX3RlbXBsYXRlPWlkZW50aWZpZXJfdGVtcGxhdGUsCiAg
ICAgICAgIHN1YnZlcnNpb249c3VidmVyc2lvbiwKKyAgICAgICAgcHJlcGFyZV9jb21taXRfbWVz
c2FnZT1wcmVwYXJlX2NvbW1pdF9tZXNzYWdlLAogICAgICkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vc2V0dXAucHkg
Yi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFt
L3NldHVwLnB5CmluZGV4IDZjODExMzI4OGY0YWM3Zjg1MmFhYTMzNzI2ZjZkYTA0ZjgyOWE0MTQu
LjUxM2U2ZDk0NzRjMzMzODZiMWJmOTdhODk0ZjIyNDk2YjI0YTExYzIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vc2V0
dXAucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2Nt
cHkvcHJvZ3JhbS9zZXR1cC5weQpAQCAtMjAsNyArMjAsMTAgQEAKICMgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IGluc3BlY3QKK2ltcG9ydCBvcwogaW1wb3J0
IHJlcXVlc3RzCitpbXBvcnQgc3RhdAogaW1wb3J0IHN5cwogCiBmcm9tIC5jb21tYW5kIGltcG9y
dCBDb21tYW5kCkBAIC0yOSw2ICszMiw0MSBAQCBmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgYXJn
dW1lbnRzLCBydW4sIEVkaXRvciwgVGVybWluYWwKIGZyb20gd2Via2l0c2NtcHkgaW1wb3J0IGxv
ZywgbG9jYWwsIHJlbW90ZQogCiAKKyMgTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gZWZmZWN0aXZl
bHkgb3BlcmF0ZXMgYXMgYSBzdGFuZC1hbG9uZSBmaWxlLCBpdCdzIGNvbnRlbnRzIGFyZQorIyBw
bGFjZWQgZGlyZWN0bHkgaW50byAuZ2l0L3ByZXBhcmUtY29tbWl0LW1zZworZGVmIHByZXBhcmVf
Y29tbWl0X21lc3NhZ2VfbWFpbihnaXQsIGdlbmVyYXRvciwgZmlsZV9uYW1lPU5vbmUsIHNvdXJj
ZT1Ob25lLCBzaGE9Tm9uZSk6CisgICAgaWYgc291cmNlIGFuZCBzb3VyY2UgIT0gJ2NvbW1pdCc6
CisgICAgICAgIHJldHVybiAwCisgICAgaWYgbm90IGZpbGVfbmFtZToKKyAgICAgICAgc3lzLnN0
ZGVyci53cml0ZSgnTm8gY29tbWl0IG1lc3NhZ2UgZmlsZSBwcm92aWRlZCB0byBwcmVwYXJlLWNv
bW1pdC1tc2dcbicpCisgICAgICAgIHJldHVybiAxCisgICAgd2l0aCBvcGVuKGZpbGVfbmFtZSwg
J3cnKSBhcyBmaWxlOgorICAgICAgICBpZiBzaGE6CisgICAgICAgICAgICBmaWxlLndyaXRlKHN1
YnByb2Nlc3MuY2hlY2tfb3V0cHV0KAorICAgICAgICAgICAgICAgIFtnaXQsICdsb2cnLCAnSEVB
RCcsICctMScsICctLXByZXR0eT1mb3JtYXQ6JUInXSwKKyAgICAgICAgICAgICAgICAqKihkaWN0
KGVuY29kaW5nPSd1dGYtOCcpIGlmIHN5cy52ZXJzaW9uX2luZm8gPiAoMywgMCkgZWxzZSBkaWN0
KCkpCisgICAgICAgICAgICApKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZmlsZS53cml0
ZShnZW5lcmF0b3IoZ2l0LCBzb3VyY2U9c291cmNlLCBzaGE9c2hhKSkKKworICAgICAgICBmaWxl
LndyaXRlKCcnJworIyBQbGVhc2UgcG9wdWxhdGUgdGhlIGFib3ZlIGNvbW1pdCBtZXNzYWdlLiBM
aW5lcyBzdGFydGluZworIyB3aXRoICcjJyB3aWxsIGJlIGlnbm9yZWQKKworJycnKQorICAgICAg
ICBpZiBzaGE6CisgICAgICAgICAgICBmb3IgbGluZSBpbiBnZW5lcmF0b3IoZ2l0LCBzb3VyY2U9
c291cmNlLCBzaGE9c2hhKS5zcGxpdGxpbmVzKCk6CisgICAgICAgICAgICAgICAgZmlsZS53cml0
ZSgnIyB7fVxuJy5mb3JtYXQobGluZSkpCisgICAgICAgICAgICBmaWxlLndyaXRlKCdcbicpCisg
ICAgICAgIGZvciBsaW5lIGluIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KAorICAgICAgICAgICAg
W2dpdCwgJ3N0YXR1cyddLAorICAgICAgICAgICAgKiooZGljdChlbmNvZGluZz0ndXRmLTgnKSBp
ZiBzeXMudmVyc2lvbl9pbmZvID4gKDMsIDApIGVsc2UgZGljdCgpKQorICAgICAgICApLnNwbGl0
bGluZXMoKToKKyAgICAgICAgICAgIGZpbGUud3JpdGUoJyMge31cbicuZm9ybWF0KGxpbmUpKQor
CisgICAgcmV0dXJuIDAKKworCiBjbGFzcyBTZXR1cChDb21tYW5kKToKICAgICBuYW1lID0gJ3Nl
dHVwJwogICAgIGhlbHAgPSAnQ29uZmlndXJlIGxvY2FsIHNldHRpbmdzIGZvciB0aGUgY3VycmVu
dCByZXBvc2l0b3J5JwpAQCAtNzMsNyArMTExLDcgQEAgY2xhc3MgU2V0dXAoQ29tbWFuZCk6CiAg
ICAgICAgIHJldHVybiAwCiAKICAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgZ2l0KGNscywgYXJn
cywgcmVwb3NpdG9yeSwgKiprd2FyZ3MpOgorICAgIGRlZiBnaXQoY2xzLCBhcmdzLCByZXBvc2l0
b3J5LCBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlPU5vbmUsICoqa3dhcmdzKToKICAgICAgICAgZ2xv
YmFsX2NvbmZpZyA9IGxvY2FsLkdpdC5jb25maWcoKQogICAgICAgICByZXN1bHQgPSAwCiAKQEAg
LTkzLDcgKzEzMSw3IEBAIGNsYXNzIFNldHVwKENvbW1hbmQpOgogICAgICAgICBlbHNlOgogICAg
ICAgICAgICAgbG9nLndhcm5pbmcoIlNldCBnaXQgdXNlciBlbWFpbCB0byAne30nIi5mb3JtYXQo
ZW1haWwpKQogCi0gICAgICAgIG5hbWUgPSByZXBvc2l0b3J5LmNvbnRyaWJ1dG9ycy5nZXQoZW1h
aWwpCisgICAgICAgIG5hbWUgPSByZXBvc2l0b3J5LmNvbnRyaWJ1dG9ycy5nZXQoZW1haWwpIGlm
IHJlcG9zaXRvcnkuY29udHJpYnV0b3JzIGVsc2UgTm9uZQogICAgICAgICBpZiBuYW1lOgogICAg
ICAgICAgICAgbmFtZSA9IG5hbWUubmFtZQogICAgICAgICBlbHNlOgpAQCAtMTQxLDYgKzE3OSw0
MSBAQCBjbGFzcyBTZXR1cChDb21tYW5kKToKICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUo
J0ZhaWxlZCB0byB1c2Uge30gYXMgdGhlIG1lcmdlIHN0cmF0ZWd5XG4nLmZvcm1hdCgnbWVyZ2Ug
Y29tbWl0cycgaWYgYXJncy5tZXJnZSBlbHNlICdyZWJhc2UnKSkKICAgICAgICAgICAgIHJlc3Vs
dCArPSAxCiAKKyAgICAgICAgZnVuY3Rpb25fbmFtZSA9ICdwcmVwYXJlX2NvbW1pdF9tZXNzYWdl
JworICAgICAgICBpZiBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlIGFuZCBpbnNwZWN0LmlzZnVuY3Rp
b24ocHJlcGFyZV9jb21taXRfbWVzc2FnZSkgYW5kIHByZXBhcmVfY29tbWl0X21lc3NhZ2UuX19u
YW1lX186CisgICAgICAgICAgICBmdW5jdGlvbl9uYW1lID0gcHJlcGFyZV9jb21taXRfbWVzc2Fn
ZS5fX25hbWVfXworICAgICAgICAgICAgcHJlcGFyZV9jb21taXRfbWVzc2FnZSA9IGluc3BlY3Qu
Z2V0c291cmNlKHByZXBhcmVfY29tbWl0X21lc3NhZ2UpCisgICAgICAgIGlmIHByZXBhcmVfY29t
bWl0X21lc3NhZ2U6CisgICAgICAgICAgICBsb2cud2FybmluZygnU2V0dGluZyBjb21taXQgbWVz
c2FnZSBnZW5lcmF0b3InKQorCisgICAgICAgICAgICAjIFRoaXMgaXMgYSBiaXQgaGFja3ksIGJ1
dCBpdCBhbGxvd3MgdGhlIGRlZmluaXRpb24gb2YgcHJlcGFyZV9jb21taXRfbWVzc2FnZSB0byBi
ZSBvd25lZCBieSB0aGUgY2FsbGVyCisgICAgICAgICAgICBwY21fZmlsZSA9IG9zLnBhdGguam9p
bihyZXBvc2l0b3J5LnJvb3RfcGF0aCwgJy5naXQnLCAnaG9va3MnLCAncHJlcGFyZS1jb21taXQt
bXNnJykKKyAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmRpcm5hbWUo
cGNtX2ZpbGUpKToKKyAgICAgICAgICAgICAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmRpcm5hbWUo
cGNtX2ZpbGUpKQorICAgICAgICAgICAgd2l0aCBvcGVuKHBjbV9maWxlLCAndycpIGFzIGZpbGU6
CisgICAgICAgICAgICAgICAgZmlsZS53cml0ZSgKKyAgICAgICAgICAgICAgICAgICAgIiMhL3Vz
ci9iaW4vZW52IHtleGVjdXRhYmxlfVxuXG4iCisgICAgICAgICAgICAgICAgICAgICIjIEF1dG8t
Z2VuZXJhdGVkIGJ5IHdlYmtpdHNjbXB5XG5cbiIKKyAgICAgICAgICAgICAgICAgICAgImltcG9y
dCBvc1xuIgorICAgICAgICAgICAgICAgICAgICAiaW1wb3J0IHN5c1xuIgorICAgICAgICAgICAg
ICAgICAgICAiaW1wb3J0IHN1YnByb2Nlc3NcbiIKKyAgICAgICAgICAgICAgICAgICAgIlxuIgor
ICAgICAgICAgICAgICAgICAgICAie2Z1bmN0aW9ufVxuIgorICAgICAgICAgICAgICAgICAgICAi
e21haW59XG4iCisgICAgICAgICAgICAgICAgICAgICJcbiIKKyAgICAgICAgICAgICAgICAgICAg
ImlmICdfX21haW5fXycgPT0gX19uYW1lX186XG4iCisgICAgICAgICAgICAgICAgICAgICIgICAg
c3lzLmV4aXQoe21haW5fbmFtZX0oJ3tnaXR9Jywge2Z1bmN0aW9uX25hbWV9LCAqc3lzLmFyZ3Zb
MTpdKSlcbiIuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0YWJsZT1vcy5w
YXRoLmJhc2VuYW1lKHN5cy5leGVjdXRhYmxlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uPXByZXBhcmVfY29tbWl0X21lc3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICBm
dW5jdGlvbl9uYW1lPWZ1bmN0aW9uX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICBtYWlu
PWluc3BlY3QuZ2V0c291cmNlKHByZXBhcmVfY29tbWl0X21lc3NhZ2VfbWFpbiksCisgICAgICAg
ICAgICAgICAgICAgICAgICBtYWluX25hbWU9cHJlcGFyZV9jb21taXRfbWVzc2FnZV9tYWluLl9f
bmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgZ2l0PWxvY2FsLkdpdC5leGVjdXRhYmxl
KCksCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICApCisKKyAgICAgICAg
ICAgIG9zLmNobW9kKHBjbV9maWxlLCBvcy5zdGF0KHBjbV9maWxlKS5zdF9tb2RlIHwgc3RhdC5T
X0lFWEVDKQorCiAgICAgICAgIGxvZy53YXJuaW5nKCdTZXR0aW5nIGdpdCBlZGl0b3IgZm9yIHt9
Li4uJy5mb3JtYXQocmVwb3NpdG9yeS5yb290X3BhdGgpKQogICAgICAgICBlZGl0b3JfbmFtZSA9
ICdkZWZhdWx0JyBpZiBhcmdzLmRlZmF1bHRzIGVsc2UgVGVybWluYWwuY2hvb3NlKAogICAgICAg
ICAgICAgJ1BpY2sgYSBjb21taXQgbWVzc2FnZSBlZGl0b3InLApkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0
dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5
L3Rlc3Qvc2V0dXBfdW5pdHRlc3QucHkKaW5kZXggODFmZDFkMzZjNTZkMWU4ZmFhMjE2NzQ4NmNm
NjE0OWE5ZTQ2YjA1Zi4uYTY1YTVlYTc0MzliNzQ3YWUzMTc5NjE3NTRiYzNlZmM4ZTc5MTQxMiAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2Nt
cHkvdGVzdC9zZXR1cF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3NldHVwX3VuaXR0ZXN0LnB5CkBAIC0yMSwxMiAr
MjEsMTcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogaW1wb3J0IG9zCitpbXBvcnQgc3lzCiAKIGZyb20g
d2Via2l0Y29yZXB5IGltcG9ydCBFZGl0b3IsIE91dHB1dENhcHR1cmUsIHRlc3RpbmcKIGZyb20g
d2Via2l0Y29yZXB5Lm1vY2tzIGltcG9ydCBUZXJtaW5hbCBhcyBNb2NrVGVybWluYWwKIGZyb20g
d2Via2l0c2NtcHkgaW1wb3J0IHByb2dyYW0sIG1vY2tzCiAKIAorZGVmIHByZXBhcmVfY29tbWl0
X21lc3NhZ2UoZ2l0LCBzb3VyY2U9Tm9uZSwgc2hhPU5vbmUpOgorICAgIHJldHVybiAnR2VuZXJh
dGVkIGNvbW1pdCBtZXNzYWdlJworCisKIGNsYXNzIFRlc3RTZXR1cCh0ZXN0aW5nLlBhdGhUZXN0
Q2FzZSk6CiAgICAgYmFzZXBhdGggPSAnbW9jay9yZXBvc2l0b3J5JwogCkBAIC0xNDMsMyArMTQ4
LDM3IEBAIEFkZGVkIHJlbW90ZSAnZm9yaycKIEZldGNoaW5nICdodHRwczovL2dpdGh1Yi5leGFt
cGxlLmNvbS91c2VybmFtZS9XZWJLaXQuZ2l0JwogJycnLmZvcm1hdChyZXBvc2l0b3J5PXNlbGYu
cGF0aCksCiAgICAgICAgICkKKworICAgIGRlZiB0ZXN0X2NvbW1pdF9tZXNzYWdlKHNlbGYpOgor
ICAgICAgICB3aXRoIE91dHB1dENhcHR1cmUoKSwgbW9ja3MubG9jYWwuR2l0KHNlbGYucGF0aCkg
YXMgZ2l0LCBtb2Nrcy5sb2NhbC5Tdm4oKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
MCwgcHJvZ3JhbS5tYWluKAorICAgICAgICAgICAgICAgIGFyZ3M9KCdzZXR1cCcsICctLWRlZmF1
bHRzJyksCisgICAgICAgICAgICAgICAgcGF0aD1zZWxmLnBhdGgsCisgICAgICAgICAgICAgICAg
cHJlcGFyZV9jb21taXRfbWVzc2FnZT1wcmVwYXJlX2NvbW1pdF9tZXNzYWdlLAorICAgICAgICAg
ICAgKSkKKyAgICAgICAgICAgIHBjbSA9IG9zLnBhdGguam9pbihzZWxmLnBhdGgsICcuZ2l0Jywg
J2hvb2tzJywgJ3ByZXBhcmUtY29tbWl0LW1zZycpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRy
dWUob3MucGF0aC5pc2ZpbGUocGNtKSkKKyAgICAgICAgICAgIG9zLnJlbmFtZShwY20sIG9zLnBh
dGguam9pbihvcy5wYXRoLmRpcm5hbWUocGNtKSwgJ3ByZXBhcmVfY29tbWl0X21zZy5weScpKQor
CisgICAgICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5kaXJuYW1lKHBjbSkpCisK
KyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBmcm9tIHByZXBhcmVfY29tbWl0X21z
ZyBpbXBvcnQgcHJlcGFyZV9jb21taXRfbWVzc2FnZV9tYWluCisgICAgICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICAgICAgcHJlcGFyZV9jb21taXRfbWVzc2Fn
ZV9tYWluKGdpdC5leGVjdXRhYmxlLCBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlLCBvcy5wYXRoLmpv
aW4oc2VsZi5wYXRoLCAnQ09NTUlUX01FU1NBR0UnKSksCisgICAgICAgICAgICAgICAgICAgIDAs
CisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpv
aW4oc2VsZi5wYXRoLCAnQ09NTUlUX01FU1NBR0UnKSwgJ3InKSBhcyBmaWxlOgorICAgICAgICAg
ICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgICAgICAgICAgZmls
ZS5yZWFkKCksCisgICAgICAgICAgICAgICAgICAgICAgICAnJydHZW5lcmF0ZWQgY29tbWl0IG1l
c3NhZ2UKKyMgUGxlYXNlIHBvcHVsYXRlIHRoZSBhYm92ZSBjb21taXQgbWVzc2FnZS4gTGluZXMg
c3RhcnRpbmcKKyMgd2l0aCAnIycgd2lsbCBiZSBpZ25vcmVkCisKKyMgJ09uIGJyYW5jaCBtYWlu
CisjIFlvdXIgYnJhbmNoIGlzIHVwIHRvIGRhdGUgd2l0aCAnb3JpZ2luL21haW4nLgorIyAKKyMg
bm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhbgorJycnKQorICAgICAgICAgICAg
ZmluYWxseToKKyAgICAgICAgICAgICAgICBzeXMucGF0aC5yZW1vdmUob3MucGF0aC5kaXJuYW1l
KHBjbSkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441094</attachid>
            <date>2021-10-13 09:50:03 -0700</date>
            <delta_ts>2021-10-14 08:37:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231023-20211013095002.patch</filename>
            <type>text/plain</type>
            <size>15216</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MDk1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2MzYTFlZDcyNGYxMmM4Y2IwY2I3Nzg1MDU5YjAxOWMw
Y2EyNTgxMS4uZDg5MzhmMWM0ZTJlY2I1MWJiOTkwNjA5MTEzMjUyMWVjNTI0YTQ4NCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDIxLTEwLTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbd2Via2l0c2NtcHldIEdlbmVyYXRlIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwMjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzNzIyODcxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9naXQtd2Via2l0OiBVc2UgcHJlcGFy
ZS1DaGFuZ2VMb2cgdG8gZ2VuZXJhdGUgY29tbWl0IG1lc3NhZ2VzLgorICAgICAgICAqIFNjcmlw
dHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS9zZXR1cC5weTogQWRkIGluc3BlY3QyIGRlcGVuZGVu
Y3kuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkv
X19pbml0X18ucHk6IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2FsL2dpdC5weToKKyAgICAgICAgKEdpdC5fX2luaXRf
Xyk6IEFkZCB1bmJvdW5kIHN0YXR1cyBtb2NrLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVz
L3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vX19pbml0X18ucHk6CisgICAgICAgICht
YWluKTogUGFzcyBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlIHRvIHN1Yi1wcm9ncmFtcy4KKyAgICAg
ICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL3Nl
dHVwLnB5OgorICAgICAgICAocHJlcGFyZV9jb21taXRfbWVzc2FnZV9tYWluKTogU3RhbmQtYWxv
bmUgZnVuY3Rpb24gZ2VuZXJhdGluZyBjb21taXQgbWVzc2FnZXMuCisgICAgICAgIChTZXR1cC5n
aXQpOiBJZiBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlIGlzIHBhc3NlZCwgY3JlYXRlIGEgc3RhbmQt
YWxvbmUKKyAgICAgICAgcHJlcGFyZS1jb21taXQtbXNnIHNjcmlwdCBpbiAuZ2l0L2hvb2tzLgor
ICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rlc3Qv
c2V0dXBfdW5pdHRlc3QucHk6CisgICAgICAgIChwcmVwYXJlX2NvbW1pdF9tZXNzYWdlKToKKyAg
ICAgICAgKFRlc3RTZXR1cC50ZXN0X2NvbW1pdF9tZXNzYWdlKToKKwogMjAyMS0xMC0xMyAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92
ZSBXVEY6OlZhcmlhbnQgYW5kIFdURjo6Z2V0CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2dp
dC13ZWJraXQgYi9Ub29scy9TY3JpcHRzL2dpdC13ZWJraXQKaW5kZXggMTk0NTExZTExZTAxZTVl
N2QxMDYwZWRiZmFjYmU2MjRlZDY3ODQyOC4uMmIyODU3MDNhYjQ3OWQyZWJhY2M1OTA0MzNhODU5
YTRkOGIwNWViNiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9naXQtd2Via2l0CisrKyBiL1Rv
b2xzL1NjcmlwdHMvZ2l0LXdlYmtpdApAQCAtMjIsNiArMjIsNyBAQAogIyAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUwogIyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IGluc3BlY3QKIGltcG9ydCBvcwogaW1wb3J0IHN5cwog
CkBAIC00NSwxMCArNDYsNDkgQEAgZGVmIGlzX3dlYmtpdF9maWx0ZXIodG9fcmV0dXJuKToKICAg
ICByZXR1cm4gY2FsbGJhY2sKIAogCitkZWYgcHJlcGFyZV9jb21taXRfbWVzc2FnZShnaXQsIHNv
dXJjZT1Ob25lLCBzaGE9Tm9uZSk6CisgICAgIyBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBlZmZl
Y3RpdmVseSBvcGVyYXRlcyBhcyBhIHN0YW5kLWFsb25lIGZpbGUsIGl0J3MgY29udGVudHMgd2ls
bCBiZSBwbGFjZWQgaW50bworICAgICMgLmdpdC9wcmVwYXJlLWNvbW1pdC1tc2cKKyAgICBpbXBv
cnQgc3VicHJvY2VzcworCisgICAgU1BBQ0lORyA9IDgKKyAgICBkaXJuYW1lID0gTm9uZQorICAg
IGNvbW1pdF9tZXNzYWdlID0gW10KKworICAgIHRyeToKKyAgICAgICAgZm9yIGxpbmUgaW4gc3Vi
cHJvY2Vzcy5jaGVja19vdXRwdXQoCisgICAgICAgICAgICBbb3MucGF0aC5qb2luKCd7fScsICdw
cmVwYXJlLUNoYW5nZUxvZycpLCAnLS1uby13cml0ZScsICctLW9ubHktZmlsZXMnLCAnLS1kZWxp
bWl0ZXJzJ10sCisgICAgICAgICAgICAqKihkaWN0KGVuY29kaW5nPSd1dGYtOCcpIGlmIHN5cy52
ZXJzaW9uX2luZm8gPiAoMywgMCkgZWxzZSBkaWN0KCkpCisgICAgICAgICkuc3BsaXRsaW5lcygp
OgorICAgICAgICAgICAgaWYgbGluZSA9PSAnfic6CisgICAgICAgICAgICAgICAgZGlybmFtZSA9
IE5vbmUKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgbGluZS5zdGFy
dHN3aXRoKCcgJyAqIFNQQUNJTkcpOgorICAgICAgICAgICAgICAgIGlmIGRpcm5hbWU6CisgICAg
ICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoJyogJywgJyoge3t9fS8nLmZvcm1h
dChkaXJuYW1lKSkKKyAgICAgICAgICAgICAgICBjb21taXRfbWVzc2FnZS5hcHBlbmQobGluZVtT
UEFDSU5HOl0pCisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGlmIGxpbmUu
ZW5kc3dpdGgoJzonKToKKyAgICAgICAgICAgICAgICBkaXJuYW1lID0gbGluZS5zcGxpdCgnOicp
WzBdCisgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICByZXR1cm4gJycnTmVlZCBh
IHNob3J0IGRlc2NyaXB0aW9uIChPT1BTISkuCitOZWVkIHRoZSBidWcgVVJMIChPT1BTISkuCisK
K1Jldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCit7e319CisnJycuZm9ybWF0KCdcbicuam9p
bihjb21taXRfbWVzc2FnZSkpCisKKyAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNz
RXJyb3I6CisgICAgICAgIHJldHVybiAnJworCisKIGlmICdfX21haW5fXycgPT0gX19uYW1lX186
CiAgICAgc3lzLmV4aXQocHJvZ3JhbS5tYWluKAogICAgICAgICBwYXRoPW9zLnBhdGguZGlybmFt
ZShfX2ZpbGVfXyksCiAgICAgICAgIGlkZW50aWZpZXJfdGVtcGxhdGU9aXNfd2Via2l0X2ZpbHRl
cignQ2Fub25pY2FsIGxpbms6IGh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnL3t9JyksCiAgICAg
ICAgIHN1YnZlcnNpb249aXNfd2Via2l0X2ZpbHRlcignaHR0cHM6Ly9zdm4ud2Via2l0Lm9yZy9y
ZXBvc2l0b3J5L3dlYmtpdCcpLAorICAgICAgICBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlPWluc3Bl
Y3QuZ2V0c291cmNlKHByZXBhcmVfY29tbWl0X21lc3NhZ2UpLmZvcm1hdChvcy5wYXRoLmRpcm5h
bWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSkpLAogICAgICkpCiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS9zZXR1cC5weSBiL1Rvb2xzL1Njcmlw
dHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS9zZXR1cC5weQppbmRleCA2YjgwNTVkZGI4MGMyMGZh
NTNkYWY0MmMxNDM1NzNjMDRhNzNmM2I4Li43ZDA0MDc5OGI1MzE0NWNhMjM1ZDZhOTJmODEyNzhj
ODk2MTlhZmY1IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3Jl
cHkvc2V0dXAucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3Nl
dHVwLnB5CkBAIC01NCw2ICs1NCw3IEBAIHNldHVwKAogICAgICAgICAnd2Via2l0Y29yZXB5LnRl
c3RzLm1vY2tzJywKICAgICBdLAogICAgIGluc3RhbGxfcmVxdWlyZXM9WworICAgICAgICAnaW5z
cGVjdDInLAogICAgICAgICAnbW9jaycsCiAgICAgICAgICdyZXF1ZXN0cycsCiAgICAgICAgICdz
aXgnLApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Vi
a2l0c2NtcHkvX19pbml0X18ucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS9fX2luaXRfXy5weQppbmRleCAyM2I0NjljZDE3NjBiM2IyMjExNzA2MmNk
YmNjZjcwODdmMmMwNzA4Li5iNGM5NDEyYjdjZWUyMDhhMGM1NzEzZGM1YTA2NzM0YTNiMTg1ZDZi
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRz
Y21weS9fX2luaXRfXy5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS9fX2luaXRfXy5weQpAQCAtNTMsNiArNTMsOSBAQCBBdXRvSW5zdGFsbC5y
ZWdpc3RlcihQYWNrYWdlKCdtb25vdG9uaWMnLCBWZXJzaW9uKDEsIDUpKSkKIEF1dG9JbnN0YWxs
LnJlZ2lzdGVyKFBhY2thZ2UoJ3doaWNoY3JhZnQnLCBWZXJzaW9uKDAsIDYsIDEpKSkKIEF1dG9J
bnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3htbHRvZGljdCcsIFZlcnNpb24oMCwgMTEsIDApKSkK
IAoraWYgc3lzLnZlcnNpb25faW5mbyA8ICgzLCAwKToKKyAgICBBdXRvSW5zdGFsbC5yZWdpc3Rl
cihQYWNrYWdlKCdpbnNwZWN0MicsIFZlcnNpb24oMCwgMSwgMikpKQorCiBmcm9tIHdlYmtpdHNj
bXB5LmNvbnRyaWJ1dG9yIGltcG9ydCBDb250cmlidXRvcgogZnJvbSB3ZWJraXRzY21weS5jb21t
aXQgaW1wb3J0IENvbW1pdAogZnJvbSB3ZWJraXRzY21weS5wdWxsX3JlcXVlc3QgaW1wb3J0IFB1
bGxSZXF1ZXN0CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS9tb2Nrcy9sb2NhbC9naXQucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9sb2NhbC9naXQucHkKaW5kZXggZGI5NDM2
NDAyZDZhMzU4ODNhYTcwNzNjMzZjOTA2ZDViMDQ1MjRhNi4uMDhkMzRmM2E5OTE2NjM5YzUyMTZh
MzQxYWMwODgxYmM2YTIwODcxYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMv
d2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvZ2l0LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2FsL2dpdC5w
eQpAQCAtNDQxLDYgKzQ0MSwxNyBAQCBub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyB0cmVlIGNs
ZWFuCiAgICAgICAgICAgICAgICAgICAgIHJldHVybmNvZGU9MSwKICAgICAgICAgICAgICAgICAg
ICAgc3RkZXJyPSd1c2FnZTogZ2l0IFstLXZlcnNpb25dIFstLWhlbHBdLi4uXG4nLAogICAgICAg
ICAgICAgICAgICksCisgICAgICAgICAgICApLCBtb2Nrcy5TdWJwcm9jZXNzLlJvdXRlKAorICAg
ICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSwgJ3N0YXR1cycsCisgICAgICAgICAgICAgICAg
Z2VuZXJhdG9yPWxhbWJkYSAqYXJncywgKiprd2FyZ3M6CisgICAgICAgICAgICAgICAgICAgIG1v
Y2tzLlByb2Nlc3NDb21wbGV0aW9uKAorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuY29k
ZT0wLAorICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PScnJydPbiBicmFuY2gge2JyYW5j
aH0KK1lvdXIgYnJhbmNoIGlzIHVwIHRvIGRhdGUgd2l0aCAnb3JpZ2luL3ticmFuY2h9Jy4KKwor
bm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhbgorJycnLmZvcm1hdChicmFuY2g9
c2VsZi5icmFuY2gpLAorICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgKSwgbW9j
a3MuU3VicHJvY2Vzcy5Sb3V0ZSgKICAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dGFibGUsCiAg
ICAgICAgICAgICAgICAgY29tcGxldGlvbj1tb2Nrcy5Qcm9jZXNzQ29tcGxldGlvbigKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3By
b2dyYW0vX19pbml0X18ucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS9wcm9ncmFtL19faW5pdF9fLnB5CmluZGV4IDczNzIwZTg4Njc4N2JhOGUxMjYz
NTEyMjFhMzk0ZmRjYWQ5ZTA3ZjEuLjMzMGRiMzdmZmNjMzFmYTJjMzM0NmJhZmNiODA5ZGZmODc4
NWNmNDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dl
YmtpdHNjbXB5L3Byb2dyYW0vX19pbml0X18ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9fX2luaXRfXy5weQpAQCAtNDIsNyAr
NDIsMTAgQEAgZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0IGFyZ3VtZW50cywgbG9nIGFzIHdlYmtp
dGNvcmVweV9sb2cKIGZyb20gd2Via2l0c2NtcHkgaW1wb3J0IGxvY2FsLCBsb2csIHJlbW90ZQog
CiAKLWRlZiBtYWluKGFyZ3M9Tm9uZSwgcGF0aD1Ob25lLCBsb2dnZXJzPU5vbmUsIGNvbnRyaWJ1
dG9ycz1Ob25lLCBpZGVudGlmaWVyX3RlbXBsYXRlPU5vbmUsIHN1YnZlcnNpb249Tm9uZSk6Citk
ZWYgbWFpbigKKyAgICBhcmdzPU5vbmUsIHBhdGg9Tm9uZSwgbG9nZ2Vycz1Ob25lLCBjb250cmli
dXRvcnM9Tm9uZSwKKyAgICBpZGVudGlmaWVyX3RlbXBsYXRlPU5vbmUsIHN1YnZlcnNpb249Tm9u
ZSwgcHJlcGFyZV9jb21taXRfbWVzc2FnZT1Ob25lLAorKToKICAgICBsb2dnaW5nLmJhc2ljQ29u
ZmlnKGxldmVsPWxvZ2dpbmcuV0FSTklORykKIAogICAgIGxvZ2dlcnMgPSBbbG9nZ2luZy5nZXRM
b2dnZXIoKSwgd2Via2l0Y29yZXB5X2xvZywgIGxvZ10gKyAobG9nZ2VycyBvciBbXSkKQEAgLTEx
MCw2ICsxMTMsMTMgQEAgZGVmIG1haW4oYXJncz1Ob25lLCBwYXRoPU5vbmUsIGxvZ2dlcnM9Tm9u
ZSwgY29udHJpYnV0b3JzPU5vbmUsIGlkZW50aWZpZXJfdGVtcGwKICAgICBpZiBjYWxsYWJsZShz
dWJ2ZXJzaW9uKToKICAgICAgICAgc3VidmVyc2lvbiA9IHN1YnZlcnNpb24ocmVwb3NpdG9yeSkK
IAorICAgIGlmIHN5cy52ZXJzaW9uX2luZm8gPiAoMywgMCk6CisgICAgICAgIGltcG9ydCBpbnNw
ZWN0CisgICAgZWxzZToKKyAgICAgICAgaW1wb3J0IGluc3BlY3QyIGFzIGluc3BlY3QKKyAgICBp
ZiBjYWxsYWJsZShwcmVwYXJlX2NvbW1pdF9tZXNzYWdlKSBhbmQgbGlzdChpbnNwZWN0LnNpZ25h
dHVyZShwcmVwYXJlX2NvbW1pdF9tZXNzYWdlKS5wYXJhbWV0ZXJzLmtleXMoKSkgPT0gWydyZXBv
c2l0b3J5J106CisgICAgICAgIHByZXBhcmVfY29tbWl0X21lc3NhZ2UgPSBwcmVwYXJlX2NvbW1p
dF9tZXNzYWdlKHJlcG9zaXRvcnkpCisKICAgICBpZiBub3QgZ2V0YXR0cihwYXJzZWQsICdtYWlu
JywgTm9uZSk6CiAgICAgICAgIHBhcnNlci5wcmludF9oZWxwKCkKICAgICAgICAgcmV0dXJuIC0x
CkBAIC0xMTksNCArMTI5LDUgQEAgZGVmIG1haW4oYXJncz1Ob25lLCBwYXRoPU5vbmUsIGxvZ2dl
cnM9Tm9uZSwgY29udHJpYnV0b3JzPU5vbmUsIGlkZW50aWZpZXJfdGVtcGwKICAgICAgICAgcmVw
b3NpdG9yeT1yZXBvc2l0b3J5LAogICAgICAgICBpZGVudGlmaWVyX3RlbXBsYXRlPWlkZW50aWZp
ZXJfdGVtcGxhdGUsCiAgICAgICAgIHN1YnZlcnNpb249c3VidmVyc2lvbiwKKyAgICAgICAgcHJl
cGFyZV9jb21taXRfbWVzc2FnZT1wcmVwYXJlX2NvbW1pdF9tZXNzYWdlLAogICAgICkKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3By
b2dyYW0vc2V0dXAucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJr
aXRzY21weS9wcm9ncmFtL3NldHVwLnB5CmluZGV4IDZjODExMzI4OGY0YWM3Zjg1MmFhYTMzNzI2
ZjZkYTA0ZjgyOWE0MTQuLjFmM2I1ZDc2MWY1NDE5MGM5NjdjZWI0ZDQ3MTc0ZTVmNGVhZjY4YzIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNj
bXB5L3Byb2dyYW0vc2V0dXAucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0
c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cC5weQpAQCAtMjAsNyArMjAsMTAgQEAKICMg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IGluc3BlY3QKK2lt
cG9ydCBvcwogaW1wb3J0IHJlcXVlc3RzCitpbXBvcnQgc3RhdAogaW1wb3J0IHN5cwogCiBmcm9t
IC5jb21tYW5kIGltcG9ydCBDb21tYW5kCkBAIC0yOSw2ICszMiwzOSBAQCBmcm9tIHdlYmtpdGNv
cmVweSBpbXBvcnQgYXJndW1lbnRzLCBydW4sIEVkaXRvciwgVGVybWluYWwKIGZyb20gd2Via2l0
c2NtcHkgaW1wb3J0IGxvZywgbG9jYWwsIHJlbW90ZQogCiAKKyMgTm90ZSB0aGF0IHRoaXMgZnVu
Y3Rpb24gZWZmZWN0aXZlbHkgb3BlcmF0ZXMgYXMgYSBzdGFuZC1hbG9uZSBmaWxlLCBpdCdzIGNv
bnRlbnRzIGFyZQorIyBwbGFjZWQgZGlyZWN0bHkgaW50byAuZ2l0L3ByZXBhcmUtY29tbWl0LW1z
ZworZGVmIHByZXBhcmVfY29tbWl0X21lc3NhZ2VfbWFpbihnaXQsIGdlbmVyYXRvciwgZmlsZV9u
YW1lPU5vbmUsIHNvdXJjZT1Ob25lLCBzaGE9Tm9uZSk6CisgICAgaWYgc291cmNlIGFuZCBzb3Vy
Y2UgIT0gJ2NvbW1pdCc6CisgICAgICAgIHJldHVybiAwCisKKyAgICB3aXRoIG9wZW4oZmlsZV9u
YW1lLCAndycpIGFzIGNvbW1pdF9tZXNzYWdlX2ZpbGU6CisgICAgICAgIGlmIHNoYToKKyAgICAg
ICAgICAgIGNvbW1pdF9tZXNzYWdlX2ZpbGUud3JpdGUoc3VicHJvY2Vzcy5jaGVja19vdXRwdXQo
CisgICAgICAgICAgICAgICAgW2dpdCwgJ2xvZycsICdIRUFEJywgJy0xJywgJy0tcHJldHR5PWZv
cm1hdDolQiddLAorICAgICAgICAgICAgICAgICoqKGRpY3QoZW5jb2Rpbmc9J3V0Zi04JykgaWYg
c3lzLnZlcnNpb25faW5mbyA+ICgzLCAwKSBlbHNlIGRpY3QoKSkKKyAgICAgICAgICAgICkpCisg
ICAgICAgIGVsc2U6CisgICAgICAgICAgICBjb21taXRfbWVzc2FnZV9maWxlLndyaXRlKGdlbmVy
YXRvcihnaXQsIHNvdXJjZT1zb3VyY2UsIHNoYT1zaGEpKQorCisgICAgICAgIGNvbW1pdF9tZXNz
YWdlX2ZpbGUud3JpdGUoJycnCisjIFBsZWFzZSBwb3B1bGF0ZSB0aGUgYWJvdmUgY29tbWl0IG1l
c3NhZ2UuIExpbmVzIHN0YXJ0aW5nCisjIHdpdGggJyMnIHdpbGwgYmUgaWdub3JlZAorCisnJycp
CisgICAgICAgIGlmIHNoYToKKyAgICAgICAgICAgIGZvciBsaW5lIGluIGdlbmVyYXRvcihnaXQs
IHNvdXJjZT1zb3VyY2UsIHNoYT1zaGEpLnNwbGl0bGluZXMoKToKKyAgICAgICAgICAgICAgICBj
b21taXRfbWVzc2FnZV9maWxlLndyaXRlKCcjIHt9XG4nLmZvcm1hdChsaW5lKSkKKyAgICAgICAg
ICAgIGNvbW1pdF9tZXNzYWdlX2ZpbGUud3JpdGUoJ1xuJykKKyAgICAgICAgZm9yIGxpbmUgaW4g
c3VicHJvY2Vzcy5jaGVja19vdXRwdXQoCisgICAgICAgICAgICBbZ2l0LCAnc3RhdHVzJ10sCisg
ICAgICAgICAgICAqKihkaWN0KGVuY29kaW5nPSd1dGYtOCcpIGlmIHN5cy52ZXJzaW9uX2luZm8g
PiAoMywgMCkgZWxzZSBkaWN0KCkpCisgICAgICAgICkuc3BsaXRsaW5lcygpOgorICAgICAgICAg
ICAgY29tbWl0X21lc3NhZ2VfZmlsZS53cml0ZSgnIyB7fVxuJy5mb3JtYXQobGluZSkpCisKKyAg
ICByZXR1cm4gMAorCisKIGNsYXNzIFNldHVwKENvbW1hbmQpOgogICAgIG5hbWUgPSAnc2V0dXAn
CiAgICAgaGVscCA9ICdDb25maWd1cmUgbG9jYWwgc2V0dGluZ3MgZm9yIHRoZSBjdXJyZW50IHJl
cG9zaXRvcnknCkBAIC03Myw3ICsxMDksNyBAQCBjbGFzcyBTZXR1cChDb21tYW5kKToKICAgICAg
ICAgcmV0dXJuIDAKIAogICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBnaXQoY2xzLCBhcmdzLCBy
ZXBvc2l0b3J5LCAqKmt3YXJncyk6CisgICAgZGVmIGdpdChjbHMsIGFyZ3MsIHJlcG9zaXRvcnks
IHByZXBhcmVfY29tbWl0X21lc3NhZ2U9Tm9uZSwgKiprd2FyZ3MpOgogICAgICAgICBnbG9iYWxf
Y29uZmlnID0gbG9jYWwuR2l0LmNvbmZpZygpCiAgICAgICAgIHJlc3VsdCA9IDAKIApAQCAtOTMs
NyArMTI5LDcgQEAgY2xhc3MgU2V0dXAoQ29tbWFuZCk6CiAgICAgICAgIGVsc2U6CiAgICAgICAg
ICAgICBsb2cud2FybmluZygiU2V0IGdpdCB1c2VyIGVtYWlsIHRvICd7fSciLmZvcm1hdChlbWFp
bCkpCiAKLSAgICAgICAgbmFtZSA9IHJlcG9zaXRvcnkuY29udHJpYnV0b3JzLmdldChlbWFpbCkK
KyAgICAgICAgbmFtZSA9IHJlcG9zaXRvcnkuY29udHJpYnV0b3JzLmdldChlbWFpbCkgaWYgcmVw
b3NpdG9yeS5jb250cmlidXRvcnMgZWxzZSBOb25lCiAgICAgICAgIGlmIG5hbWU6CiAgICAgICAg
ICAgICBuYW1lID0gbmFtZS5uYW1lCiAgICAgICAgIGVsc2U6CkBAIC0xNDEsNiArMTc3LDQxIEBA
IGNsYXNzIFNldHVwKENvbW1hbmQpOgogICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnRmFp
bGVkIHRvIHVzZSB7fSBhcyB0aGUgbWVyZ2Ugc3RyYXRlZ3lcbicuZm9ybWF0KCdtZXJnZSBjb21t
aXRzJyBpZiBhcmdzLm1lcmdlIGVsc2UgJ3JlYmFzZScpKQogICAgICAgICAgICAgcmVzdWx0ICs9
IDEKIAorICAgICAgICBmdW5jdGlvbl9uYW1lID0gJ3ByZXBhcmVfY29tbWl0X21lc3NhZ2UnCisg
ICAgICAgIGlmIHByZXBhcmVfY29tbWl0X21lc3NhZ2UgYW5kIGluc3BlY3QuaXNmdW5jdGlvbihw
cmVwYXJlX2NvbW1pdF9tZXNzYWdlKSBhbmQgcHJlcGFyZV9jb21taXRfbWVzc2FnZS5fX25hbWVf
XzoKKyAgICAgICAgICAgIGZ1bmN0aW9uX25hbWUgPSBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlLl9f
bmFtZV9fCisgICAgICAgICAgICBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlID0gaW5zcGVjdC5nZXRz
b3VyY2UocHJlcGFyZV9jb21taXRfbWVzc2FnZSkKKyAgICAgICAgaWYgcHJlcGFyZV9jb21taXRf
bWVzc2FnZToKKyAgICAgICAgICAgIGxvZy53YXJuaW5nKCdTZXR0aW5nIGNvbW1pdCBtZXNzYWdl
IGdlbmVyYXRvcicpCisKKyAgICAgICAgICAgICMgVGhpcyBpcyBhIGJpdCBoYWNreSwgYnV0IGl0
IGFsbG93cyB0aGUgZGVmaW5pdGlvbiBvZiBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlIHRvIGJlIG93
bmVkIGJ5IHRoZSBjYWxsZXIKKyAgICAgICAgICAgIHBjbV9maWxlID0gb3MucGF0aC5qb2luKHJl
cG9zaXRvcnkucm9vdF9wYXRoLCAnLmdpdCcsICdob29rcycsICdwcmVwYXJlLWNvbW1pdC1tc2cn
KQorICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguZGlybmFtZShwY21f
ZmlsZSkpOgorICAgICAgICAgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBhdGguZGlybmFtZShwY21f
ZmlsZSkpCisgICAgICAgICAgICB3aXRoIG9wZW4ocGNtX2ZpbGUsICd3JykgYXMgZjoKKyAgICAg
ICAgICAgICAgICBmLndyaXRlKAorICAgICAgICAgICAgICAgICAgICAiIyEvdXNyL2Jpbi9lbnYg
e2V4ZWN1dGFibGV9XG5cbiIKKyAgICAgICAgICAgICAgICAgICAgIiMgQXV0by1nZW5lcmF0ZWQg
Ynkgd2Via2l0c2NtcHlcblxuIgorICAgICAgICAgICAgICAgICAgICAiaW1wb3J0IG9zXG4iCisg
ICAgICAgICAgICAgICAgICAgICJpbXBvcnQgc3lzXG4iCisgICAgICAgICAgICAgICAgICAgICJp
bXBvcnQgc3VicHJvY2Vzc1xuIgorICAgICAgICAgICAgICAgICAgICAiXG4iCisgICAgICAgICAg
ICAgICAgICAgICJ7ZnVuY3Rpb259XG4iCisgICAgICAgICAgICAgICAgICAgICJ7bWFpbn1cbiIK
KyAgICAgICAgICAgICAgICAgICAgIlxuIgorICAgICAgICAgICAgICAgICAgICAiaWYgJ19fbWFp
bl9fJyA9PSBfX25hbWVfXzpcbiIKKyAgICAgICAgICAgICAgICAgICAgIiAgICBzeXMuZXhpdCh7
bWFpbl9uYW1lfSgne2dpdH0nLCB7ZnVuY3Rpb25fbmFtZX0sICpzeXMuYXJndlsxOl0pKVxuIi5m
b3JtYXQoCisgICAgICAgICAgICAgICAgICAgICAgICBleGVjdXRhYmxlPW9zLnBhdGguYmFzZW5h
bWUoc3lzLmV4ZWN1dGFibGUpLAorICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb249cHJl
cGFyZV9jb21taXRfbWVzc2FnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uX25h
bWU9ZnVuY3Rpb25fbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIG1haW49aW5zcGVjdC5n
ZXRzb3VyY2UocHJlcGFyZV9jb21taXRfbWVzc2FnZV9tYWluKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIG1haW5fbmFtZT1wcmVwYXJlX2NvbW1pdF9tZXNzYWdlX21haW4uX19uYW1lX18sCisg
ICAgICAgICAgICAgICAgICAgICAgICBnaXQ9bG9jYWwuR2l0LmV4ZWN1dGFibGUoKSwKKyAgICAg
ICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICkKKworICAgICAgICAgICAgb3MuY2ht
b2QocGNtX2ZpbGUsIG9zLnN0YXQocGNtX2ZpbGUpLnN0X21vZGUgfCBzdGF0LlNfSUVYRUMpCisK
ICAgICAgICAgbG9nLndhcm5pbmcoJ1NldHRpbmcgZ2l0IGVkaXRvciBmb3Ige30uLi4nLmZvcm1h
dChyZXBvc2l0b3J5LnJvb3RfcGF0aCkpCiAgICAgICAgIGVkaXRvcl9uYW1lID0gJ2RlZmF1bHQn
IGlmIGFyZ3MuZGVmYXVsdHMgZWxzZSBUZXJtaW5hbC5jaG9vc2UoCiAgICAgICAgICAgICAnUGlj
ayBhIGNvbW1pdCBtZXNzYWdlIGVkaXRvcicsCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3NldHVwX3VuaXR0ZXN0LnB5IGIv
VG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1
cF91bml0dGVzdC5weQppbmRleCA4MWZkMWQzNmM1NmQxZThmYWEyMTY3NDg2Y2Y2MTQ5YTllNDZi
MDVmLi5hNjVhNWVhNzQzOWI3NDdhZTMxNzk2MTc1NGJjM2VmYzhlNzkxNDEyIDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3Nl
dHVwX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5
L3dlYmtpdHNjbXB5L3Rlc3Qvc2V0dXBfdW5pdHRlc3QucHkKQEAgLTIxLDEyICsyMSwxNyBAQAog
IyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogCiBpbXBvcnQgb3MKK2ltcG9ydCBzeXMKIAogZnJvbSB3ZWJraXRjb3Jl
cHkgaW1wb3J0IEVkaXRvciwgT3V0cHV0Q2FwdHVyZSwgdGVzdGluZwogZnJvbSB3ZWJraXRjb3Jl
cHkubW9ja3MgaW1wb3J0IFRlcm1pbmFsIGFzIE1vY2tUZXJtaW5hbAogZnJvbSB3ZWJraXRzY21w
eSBpbXBvcnQgcHJvZ3JhbSwgbW9ja3MKIAogCitkZWYgcHJlcGFyZV9jb21taXRfbWVzc2FnZShn
aXQsIHNvdXJjZT1Ob25lLCBzaGE9Tm9uZSk6CisgICAgcmV0dXJuICdHZW5lcmF0ZWQgY29tbWl0
IG1lc3NhZ2UnCisKKwogY2xhc3MgVGVzdFNldHVwKHRlc3RpbmcuUGF0aFRlc3RDYXNlKToKICAg
ICBiYXNlcGF0aCA9ICdtb2NrL3JlcG9zaXRvcnknCiAKQEAgLTE0MywzICsxNDgsMzcgQEAgQWRk
ZWQgcmVtb3RlICdmb3JrJwogRmV0Y2hpbmcgJ2h0dHBzOi8vZ2l0aHViLmV4YW1wbGUuY29tL3Vz
ZXJuYW1lL1dlYktpdC5naXQnCiAnJycuZm9ybWF0KHJlcG9zaXRvcnk9c2VsZi5wYXRoKSwKICAg
ICAgICAgKQorCisgICAgZGVmIHRlc3RfY29tbWl0X21lc3NhZ2Uoc2VsZik6CisgICAgICAgIHdp
dGggT3V0cHV0Q2FwdHVyZSgpLCBtb2Nrcy5sb2NhbC5HaXQoc2VsZi5wYXRoKSBhcyBnaXQsIG1v
Y2tzLmxvY2FsLlN2bigpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBwcm9ncmFt
Lm1haW4oCisgICAgICAgICAgICAgICAgYXJncz0oJ3NldHVwJywgJy0tZGVmYXVsdHMnKSwKKyAg
ICAgICAgICAgICAgICBwYXRoPXNlbGYucGF0aCwKKyAgICAgICAgICAgICAgICBwcmVwYXJlX2Nv
bW1pdF9tZXNzYWdlPXByZXBhcmVfY29tbWl0X21lc3NhZ2UsCisgICAgICAgICAgICApKQorICAg
ICAgICAgICAgcGNtID0gb3MucGF0aC5qb2luKHNlbGYucGF0aCwgJy5naXQnLCAnaG9va3MnLCAn
cHJlcGFyZS1jb21taXQtbXNnJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRo
LmlzZmlsZShwY20pKQorICAgICAgICAgICAgb3MucmVuYW1lKHBjbSwgb3MucGF0aC5qb2luKG9z
LnBhdGguZGlybmFtZShwY20pLCAncHJlcGFyZV9jb21taXRfbXNnLnB5JykpCisKKyAgICAgICAg
ICAgIHN5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmRpcm5hbWUocGNtKSkKKworICAgICAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgICAgIGZyb20gcHJlcGFyZV9jb21taXRfbXNnIGltcG9ydCBw
cmVwYXJlX2NvbW1pdF9tZXNzYWdlX21haW4KKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKAorICAgICAgICAgICAgICAgICAgICBwcmVwYXJlX2NvbW1pdF9tZXNzYWdlX21haW4oZ2l0
LmV4ZWN1dGFibGUsIHByZXBhcmVfY29tbWl0X21lc3NhZ2UsIG9zLnBhdGguam9pbihzZWxmLnBh
dGgsICdDT01NSVRfTUVTU0FHRScpKSwKKyAgICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAg
ICAgICAgICApCisgICAgICAgICAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihzZWxmLnBh
dGgsICdDT01NSVRfTUVTU0FHRScpLCAncicpIGFzIGZpbGU6CisgICAgICAgICAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgICAgICAgICBmaWxlLnJlYWQoKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICcnJ0dlbmVyYXRlZCBjb21taXQgbWVzc2FnZQorIyBQ
bGVhc2UgcG9wdWxhdGUgdGhlIGFib3ZlIGNvbW1pdCBtZXNzYWdlLiBMaW5lcyBzdGFydGluZwor
IyB3aXRoICcjJyB3aWxsIGJlIGlnbm9yZWQKKworIyAnT24gYnJhbmNoIG1haW4KKyMgWW91ciBi
cmFuY2ggaXMgdXAgdG8gZGF0ZSB3aXRoICdvcmlnaW4vbWFpbicuCisjIAorIyBub3RoaW5nIHRv
IGNvbW1pdCwgd29ya2luZyB0cmVlIGNsZWFuCisnJycpCisgICAgICAgICAgICBmaW5hbGx5Ogor
ICAgICAgICAgICAgICAgIHN5cy5wYXRoLnJlbW92ZShvcy5wYXRoLmRpcm5hbWUocGNtKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441219</attachid>
            <date>2021-10-14 08:37:28 -0700</date>
            <delta_ts>2021-10-19 13:14:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231023-20211014083726.patch</filename>
            <type>text/plain</type>
            <size>15138</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MTYxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTE0ODk2MWQ3ZmI1YjkyODQwZmMwMzBhZmMxZWNlNmU2
NWFiOGQ1My4uM2JhMTM1ZGQzMDA2N2NiYTMwNTM5ZTgzOTViMDIyNGMwODJjZTMxYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDIxLTEwLTE0ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbd2Via2l0c2NtcHldIEdlbmVyYXRlIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwMjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzNzIyODcxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9naXQtd2Via2l0OiBVc2UgcHJlcGFy
ZS1DaGFuZ2VMb2cgdG8gZ2VuZXJhdGUgY29tbWl0IG1lc3NhZ2VzLgorICAgICAgICAqIFNjcmlw
dHMvaG9va3MvcHJlcGFyZS1jb21taXQtbXNnOiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRzY21weS9zZXR1cC5weTogQnVtcCB2ZXJzaW9uLCBhZGQgamluamEuCisg
ICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0
X18ucHk6IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dl
YmtpdHNjbXB5L21vY2tzL2xvY2FsL2dpdC5weToKKyAgICAgICAgKEdpdC5fX2luaXRfXyk6IEFk
ZCB1bmJvdW5kIHN0YXR1cyBtb2NrLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtp
dHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vX19pbml0X18ucHk6CisgICAgICAgIChtYWluKTog
UGFzcyBob29rcyB0byBzdWItcHJvZ3JhbXMuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMv
d2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cC5weToKKyAgICAgICAgKFNldHVw
LmdpdCk6IGl0ZXJhdGUgdGhyb3VnaCB0aGUgZGlyZWN0b3J5IG9mIHByb3ZpZGVkIGhvb2tzIGFu
ZCByZW5kZXIgd2l0aCBqaW5qYTIuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0
c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9ob29rcy9wcmVwYXJlLWNvbW1pdC1tc2c6IEFkZGVkLgor
ICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rlc3Qv
c2V0dXBfdW5pdHRlc3QucHk6CisgICAgICAgIChUZXN0U2V0dXAudGVzdF9jb21taXRfbWVzc2Fn
ZSk6CisKIDIwMjEtMTAtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gTW92ZSBnZXRDdXJyZW50RXhlY3V0YWJsZVBhdGgo
KSBhbmQgZ2V0Q3VycmVudEV4ZWN1dGFibGVOYW1lKCkgdG8gRmlsZVN5c3RlbQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy9naXQtd2Via2l0IGIvVG9vbHMvU2NyaXB0cy9naXQtd2Via2l0Cmlu
ZGV4IDE5NDUxMWUxMWUwMWU1ZTdkMTA2MGVkYmZhY2JlNjI0ZWQ2Nzg0MjguLjMzYmY1OTFjMGNm
YzY0MGY4ZmQ2YmJiZTZjMWVlMjhhMDc0MjRlYTQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
Z2l0LXdlYmtpdAorKysgYi9Ub29scy9TY3JpcHRzL2dpdC13ZWJraXQKQEAgLTUwLDUgKzUwLDYg
QEAgaWYgJ19fbWFpbl9fJyA9PSBfX25hbWVfXzoKICAgICAgICAgcGF0aD1vcy5wYXRoLmRpcm5h
bWUoX19maWxlX18pLAogICAgICAgICBpZGVudGlmaWVyX3RlbXBsYXRlPWlzX3dlYmtpdF9maWx0
ZXIoJ0Nhbm9uaWNhbCBsaW5rOiBodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy97fScpLAogICAg
ICAgICBzdWJ2ZXJzaW9uPWlzX3dlYmtpdF9maWx0ZXIoJ2h0dHBzOi8vc3ZuLndlYmtpdC5vcmcv
cmVwb3NpdG9yeS93ZWJraXQnKSwKKyAgICAgICAgaG9va3M9b3MucGF0aC5qb2luKG9zLnBhdGgu
YWJzcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSkpLCAnaG9va3Mn
KSwKICAgICApKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2hvb2tzL3ByZXBhcmUtY29t
bWl0LW1zZyBiL1Rvb2xzL1NjcmlwdHMvaG9va3MvcHJlcGFyZS1jb21taXQtbXNnCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYxODg4OTcyMDczZmZiNmFkZWY1ZWY4YTFiZmIyODI0MmFlYWFjYmYKLS0tIC9kZXYvbnVs
bAorKysgYi9Ub29scy9TY3JpcHRzL2hvb2tzL3ByZXBhcmUtY29tbWl0LW1zZwpAQCAtMCwwICsx
LDc2IEBACisjIS91c3IvYmluL2VudiB7eyBweXRob24gfX0KKworaW1wb3J0IG9zCitpbXBvcnQg
c3VicHJvY2VzcworaW1wb3J0IHN5cworCitMT0NBVElPTiA9ICd7eyBsb2NhdGlvbiB9fScKK1NQ
QUNJTkcgPSA4CitTQ1JJUFRTID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShMT0NB
VElPTikpCisKKworZGVmIG1lc3NhZ2Uoc291cmNlPU5vbmUsIHNoYT1Ob25lKToKKyAgICBkaXJu
YW1lID0gTm9uZQorICAgIGNvbW1pdF9tZXNzYWdlID0gW10KKworICAgIHRyeToKKyAgICAgICAg
Zm9yIGxpbmUgaW4gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoCisgICAgICAgICAgICBbb3MucGF0
aC5qb2luKFNDUklQVFMsICdwcmVwYXJlLUNoYW5nZUxvZycpLCAnLS1uby13cml0ZScsICctLW9u
bHktZmlsZXMnLCAnLS1kZWxpbWl0ZXJzJ10sCisgICAgICAgICAgICAqKihkaWN0KGVuY29kaW5n
PSd1dGYtOCcpIGlmIHN5cy52ZXJzaW9uX2luZm8gPiAoMywgMCkgZWxzZSBkaWN0KCkpCisgICAg
ICAgICkuc3BsaXRsaW5lcygpOgorICAgICAgICAgICAgaWYgbGluZSA9PSAnfic6CisgICAgICAg
ICAgICAgICAgZGlybmFtZSA9IE5vbmUKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAg
ICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCcgJyAqIFNQQUNJTkcpOgorICAgICAgICAgICAgICAg
IGlmIGRpcm5hbWU6CisgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoJyog
JywgJyoge30vJy5mb3JtYXQoZGlybmFtZSkpCisgICAgICAgICAgICAgICAgY29tbWl0X21lc3Nh
Z2UuYXBwZW5kKGxpbmVbU1BBQ0lORzpdKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAg
ICAgICAgICBpZiBsaW5lLmVuZHN3aXRoKCc6Jyk6CisgICAgICAgICAgICAgICAgZGlybmFtZSA9
IGxpbmUuc3BsaXQoJzonKVswXQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAg
cmV0dXJuICcnJ05lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiAoT09QUyEpLgorTmVlZCB0aGUgYnVn
IFVSTCAoT09QUyEpLgorCitSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwore30KKycnJy5m
b3JtYXQoJ1xuJy5qb2luKGNvbW1pdF9tZXNzYWdlKSkKKworICAgIGV4Y2VwdCBzdWJwcm9jZXNz
LkNhbGxlZFByb2Nlc3NFcnJvcjoKKyAgICAgICAgcmV0dXJuICcnCisKK2RlZiBtYWluKGZpbGVf
bmFtZT1Ob25lLCBzb3VyY2U9Tm9uZSwgc2hhPU5vbmUpOgorICAgIGlmIHNvdXJjZSBhbmQgc291
cmNlICE9ICdjb21taXQnOgorICAgICAgICByZXR1cm4gMAorCisgICAgd2l0aCBvcGVuKGZpbGVf
bmFtZSwgJ3cnKSBhcyBjb21taXRfbWVzc2FnZV9maWxlOgorICAgICAgICBpZiBzaGE6CisgICAg
ICAgICAgICBjb21taXRfbWVzc2FnZV9maWxlLndyaXRlKHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0
KAorICAgICAgICAgICAgICAgIFsne3sgZ2l0IH19JywgJ2xvZycsICdIRUFEJywgJy0xJywgJy0t
cHJldHR5PWZvcm1hdDolQiddLAorICAgICAgICAgICAgICAgICoqKGRpY3QoZW5jb2Rpbmc9J3V0
Zi04JykgaWYgc3lzLnZlcnNpb25faW5mbyA+ICgzLCA1KSBlbHNlIGRpY3QoKSkKKyAgICAgICAg
ICAgICkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjb21taXRfbWVzc2FnZV9maWxlLndy
aXRlKG1lc3NhZ2Uoc291cmNlPXNvdXJjZSwgc2hhPXNoYSkpCisKKyAgICAgICAgY29tbWl0X21l
c3NhZ2VfZmlsZS53cml0ZSgnJycKKyMgUGxlYXNlIHBvcHVsYXRlIHRoZSBhYm92ZSBjb21taXQg
bWVzc2FnZS4gTGluZXMgc3RhcnRpbmcKKyMgd2l0aCAnIycgd2lsbCBiZSBpZ25vcmVkCisKKycn
JykKKyAgICAgICAgaWYgc2hhOgorICAgICAgICAgICAgZm9yIGxpbmUgaW4gbWVzc2FnZShzb3Vy
Y2U9c291cmNlLCBzaGE9c2hhKS5zcGxpdGxpbmVzKCk6CisgICAgICAgICAgICAgICAgY29tbWl0
X21lc3NhZ2VfZmlsZS53cml0ZSgnIyB7fVxuJy5mb3JtYXQobGluZSkpCisgICAgICAgICAgICBj
b21taXRfbWVzc2FnZV9maWxlLndyaXRlKCdcbicpCisgICAgICAgIGZvciBsaW5lIGluIHN1YnBy
b2Nlc3MuY2hlY2tfb3V0cHV0KAorICAgICAgICAgICAgWyd7eyBnaXQgfX0nLCAnc3RhdHVzJ10s
CisgICAgICAgICAgICAqKihkaWN0KGVuY29kaW5nPSd1dGYtOCcpIGlmIHN5cy52ZXJzaW9uX2lu
Zm8gPiAoMywgNSkgZWxzZSBkaWN0KCkpCisgICAgICAgICkuc3BsaXRsaW5lcygpOgorICAgICAg
ICAgICAgY29tbWl0X21lc3NhZ2VfZmlsZS53cml0ZSgnIyB7fVxuJy5mb3JtYXQobGluZSkpCisK
KyAgICByZXR1cm4gMAorCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgc3lzLmV4
aXQobWFpbigqc3lzLmFyZ3ZbMTpdKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0
c2NtcHkvc2V0dXAucHkKaW5kZXggZmNhYWE4ZTVhM2QyNWU2ZmZhOTQ0YjJiNWY4YTQ5ZTljNzEw
YTVkYS4uNzg2OWUxOWE4NTYyNTZlYzZkYmE4ZjFmMGJlYzQwMjZlZmEyMTNiZSAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvc2V0dXAucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvc2V0dXAucHkKQEAgLTU4LDcgKzU4LDcg
QEAgc2V0dXAoCiAgICAgICAgICd3ZWJraXRzY21weS50ZXN0JywKICAgICBdLAogICAgIHNjcmlw
dHM9WydnaXQtd2Via2l0J10sCi0gICAgaW5zdGFsbF9yZXF1aXJlcz1bJ2Zhc3RlbmVycycsICdt
b25vdG9uaWMnLCAnd2Via2l0Y29yZXB5JywgJ3htbHRvZGljdCddLAorICAgIGluc3RhbGxfcmVx
dWlyZXM9WydmYXN0ZW5lcnMnLCAnamluamEyJywgJ21vbm90b25pYycsICd3ZWJraXRjb3JlcHkn
LCAneG1sdG9kaWN0J10sCiAgICAgaW5jbHVkZV9wYWNrYWdlX2RhdGE9VHJ1ZSwKICAgICB6aXBf
c2FmZT1GYWxzZSwKICkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtp
dHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMv
d2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0X18ucHkKaW5kZXggNjU0MWZmZThjMjljYjZl
YWQ3NjZlN2U1OGI0YWZjYWQwOWIxMjFlNy4uNWNhYTkxNzUwYmRiOGI2ZWNhOGE3OTEwODY4ZjYx
NmQxOGQyYWM3NCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvX19pbml0X18ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMv
d2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0X18ucHkKQEAgLTQ5LDkgKzQ5LDExIEBAIGV4
Y2VwdCBJbXBvcnRFcnJvcjoKIHZlcnNpb24gPSBWZXJzaW9uKDIsIDIsIDkpCiAKIEF1dG9JbnN0
YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2Zhc3RlbmVycycsIFZlcnNpb24oMCwgMTUsIDApKSkKK0F1
dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2ppbmphMicsIFZlcnNpb24oMiwgMTEsIDMpKSkK
IEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21vbm90b25pYycsIFZlcnNpb24oMSwgNSkp
KQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnd2hpY2hjcmFmdCcsIFZlcnNpb24oMCwg
NiwgMSkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgneG1sdG9kaWN0JywgVmVyc2lv
bigwLCAxMSwgMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnTWFya3VwU2FmZScs
IFZlcnNpb24oMSwgMSwgMSkpKQogCiBmcm9tIHdlYmtpdHNjbXB5LmNvbnRyaWJ1dG9yIGltcG9y
dCBDb250cmlidXRvcgogZnJvbSB3ZWJraXRzY21weS5jb21taXQgaW1wb3J0IENvbW1pdApkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkv
bW9ja3MvbG9jYWwvZ2l0LnB5IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvZ2l0LnB5CmluZGV4IGRiOTQzNjQwMmQ2YTM1ODgzYWE3
MDczYzM2YzkwNmQ1YjA0NTI0YTYuLjA4ZDM0ZjNhOTkxNjYzOWM1MjE2YTM0MWFjMDg4MWJjNmEy
MDg3MWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dl
YmtpdHNjbXB5L21vY2tzL2xvY2FsL2dpdC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9sb2NhbC9naXQucHkKQEAgLTQ0MSw2ICs0
NDEsMTcgQEAgbm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhbgogICAgICAgICAg
ICAgICAgICAgICByZXR1cm5jb2RlPTEsCiAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj0ndXNh
Z2U6IGdpdCBbLS12ZXJzaW9uXSBbLS1oZWxwXS4uLlxuJywKICAgICAgICAgICAgICAgICApLAor
ICAgICAgICAgICAgKSwgbW9ja3MuU3VicHJvY2Vzcy5Sb3V0ZSgKKyAgICAgICAgICAgICAgICBz
ZWxmLmV4ZWN1dGFibGUsICdzdGF0dXMnLAorICAgICAgICAgICAgICAgIGdlbmVyYXRvcj1sYW1i
ZGEgKmFyZ3MsICoqa3dhcmdzOgorICAgICAgICAgICAgICAgICAgICBtb2Nrcy5Qcm9jZXNzQ29t
cGxldGlvbigKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybmNvZGU9MCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN0ZG91dD0nJycnT24gYnJhbmNoIHticmFuY2h9CitZb3VyIGJyYW5j
aCBpcyB1cCB0byBkYXRlIHdpdGggJ29yaWdpbi97YnJhbmNofScuCisKK25vdGhpbmcgdG8gY29t
bWl0LCB3b3JraW5nIHRyZWUgY2xlYW4KKycnJy5mb3JtYXQoYnJhbmNoPXNlbGYuYnJhbmNoKSwK
KyAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICksIG1vY2tzLlN1YnByb2Nlc3Mu
Um91dGUoCiAgICAgICAgICAgICAgICAgc2VsZi5leGVjdXRhYmxlLAogICAgICAgICAgICAgICAg
IGNvbXBsZXRpb249bW9ja3MuUHJvY2Vzc0NvbXBsZXRpb24oCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL19faW5pdF9f
LnB5IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJv
Z3JhbS9fX2luaXRfXy5weQppbmRleCA3MzcyMGU4ODY3ODdiYThlMTI2MzUxMjIxYTM5NGZkY2Fk
OWUwN2YxLi5jY2UyYTVlNWJjNGU1M2UwMjQ1NGNjZmJjNGExZjcyY2QyMzU4MTQ1IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9n
cmFtL19faW5pdF9fLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5
L3dlYmtpdHNjbXB5L3Byb2dyYW0vX19pbml0X18ucHkKQEAgLTQyLDcgKzQyLDEwIEBAIGZyb20g
d2Via2l0Y29yZXB5IGltcG9ydCBhcmd1bWVudHMsIGxvZyBhcyB3ZWJraXRjb3JlcHlfbG9nCiBm
cm9tIHdlYmtpdHNjbXB5IGltcG9ydCBsb2NhbCwgbG9nLCByZW1vdGUKIAogCi1kZWYgbWFpbihh
cmdzPU5vbmUsIHBhdGg9Tm9uZSwgbG9nZ2Vycz1Ob25lLCBjb250cmlidXRvcnM9Tm9uZSwgaWRl
bnRpZmllcl90ZW1wbGF0ZT1Ob25lLCBzdWJ2ZXJzaW9uPU5vbmUpOgorZGVmIG1haW4oCisgICAg
YXJncz1Ob25lLCBwYXRoPU5vbmUsIGxvZ2dlcnM9Tm9uZSwgY29udHJpYnV0b3JzPU5vbmUsCisg
ICAgaWRlbnRpZmllcl90ZW1wbGF0ZT1Ob25lLCBzdWJ2ZXJzaW9uPU5vbmUsIGhvb2tzPU5vbmUs
CispOgogICAgIGxvZ2dpbmcuYmFzaWNDb25maWcobGV2ZWw9bG9nZ2luZy5XQVJOSU5HKQogCiAg
ICAgbG9nZ2VycyA9IFtsb2dnaW5nLmdldExvZ2dlcigpLCB3ZWJraXRjb3JlcHlfbG9nLCAgbG9n
XSArIChsb2dnZXJzIG9yIFtdKQpAQCAtMTA5LDYgKzExMiw4IEBAIGRlZiBtYWluKGFyZ3M9Tm9u
ZSwgcGF0aD1Ob25lLCBsb2dnZXJzPU5vbmUsIGNvbnRyaWJ1dG9ycz1Ob25lLCBpZGVudGlmaWVy
X3RlbXBsCiAgICAgICAgIGlkZW50aWZpZXJfdGVtcGxhdGUgPSBpZGVudGlmaWVyX3RlbXBsYXRl
KHJlcG9zaXRvcnkpCiAgICAgaWYgY2FsbGFibGUoc3VidmVyc2lvbik6CiAgICAgICAgIHN1YnZl
cnNpb24gPSBzdWJ2ZXJzaW9uKHJlcG9zaXRvcnkpCisgICAgaWYgY2FsbGFibGUoaG9va3MpOgor
ICAgICAgICBob29rcyA9IGhvb2tzKHJlcG9zaXRvcnkpCiAKICAgICBpZiBub3QgZ2V0YXR0cihw
YXJzZWQsICdtYWluJywgTm9uZSk6CiAgICAgICAgIHBhcnNlci5wcmludF9oZWxwKCkKQEAgLTEx
OSw0ICsxMjQsNSBAQCBkZWYgbWFpbihhcmdzPU5vbmUsIHBhdGg9Tm9uZSwgbG9nZ2Vycz1Ob25l
LCBjb250cmlidXRvcnM9Tm9uZSwgaWRlbnRpZmllcl90ZW1wbAogICAgICAgICByZXBvc2l0b3J5
PXJlcG9zaXRvcnksCiAgICAgICAgIGlkZW50aWZpZXJfdGVtcGxhdGU9aWRlbnRpZmllcl90ZW1w
bGF0ZSwKICAgICAgICAgc3VidmVyc2lvbj1zdWJ2ZXJzaW9uLAorICAgICAgICBob29rcz1ob29r
cywKICAgICApCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS9wcm9ncmFtL3NldHVwLnB5IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMv
d2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cC5weQppbmRleCA2YzgxMTMyODhm
NGFjN2Y4NTJhYWEzMzcyNmY2ZGEwNGY4MjlhNDE0Li44ZDk4YWMxMDAyMjdhZDRhYzAzYWQ3NDRk
ODA3NjNlN2ZjNjJmYWM3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJr
aXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL3NldHVwLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vc2V0dXAucHkKQEAgLTIw
LDEwICsyMCwxMiBAQAogIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitp
bXBvcnQgb3MKIGltcG9ydCByZXF1ZXN0cwogaW1wb3J0IHN5cwogCiBmcm9tIC5jb21tYW5kIGlt
cG9ydCBDb21tYW5kCitmcm9tIGppbmphMiBpbXBvcnQgVGVtcGxhdGUKIGZyb20gcmVxdWVzdHMu
YXV0aCBpbXBvcnQgSFRUUEJhc2ljQXV0aAogZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0IGFyZ3Vt
ZW50cywgcnVuLCBFZGl0b3IsIFRlcm1pbmFsCiBmcm9tIHdlYmtpdHNjbXB5IGltcG9ydCBsb2cs
IGxvY2FsLCByZW1vdGUKQEAgLTczLDcgKzc1LDcgQEAgY2xhc3MgU2V0dXAoQ29tbWFuZCk6CiAg
ICAgICAgIHJldHVybiAwCiAKICAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgZ2l0KGNscywgYXJn
cywgcmVwb3NpdG9yeSwgKiprd2FyZ3MpOgorICAgIGRlZiBnaXQoY2xzLCBhcmdzLCByZXBvc2l0
b3J5LCBob29rcz1Ob25lLCAqKmt3YXJncyk6CiAgICAgICAgIGdsb2JhbF9jb25maWcgPSBsb2Nh
bC5HaXQuY29uZmlnKCkKICAgICAgICAgcmVzdWx0ID0gMAogCkBAIC0xNDEsNiArMTQzLDI2IEBA
IGNsYXNzIFNldHVwKENvbW1hbmQpOgogICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnRmFp
bGVkIHRvIHVzZSB7fSBhcyB0aGUgbWVyZ2Ugc3RyYXRlZ3lcbicuZm9ybWF0KCdtZXJnZSBjb21t
aXRzJyBpZiBhcmdzLm1lcmdlIGVsc2UgJ3JlYmFzZScpKQogICAgICAgICAgICAgcmVzdWx0ICs9
IDEKIAorICAgICAgICBpZiBob29rczoKKyAgICAgICAgICAgIGZvciBob29rIGluIG9zLmxpc3Rk
aXIoaG9va3MpOgorICAgICAgICAgICAgICAgIHNvdXJjZV9wYXRoID0gb3MucGF0aC5qb2luKGhv
b2tzLCBob29rKQorICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShzb3VyY2Vf
cGF0aCk6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgbG9n
Lndhcm5pbmcoJ0NvbmZpZ3VyaW5nIGFuZCBjb3B5aW5nIGhvb2sge30nLmZvcm1hdChzb3VyY2Vf
cGF0aCkpCisgICAgICAgICAgICAgICAgd2l0aCBvcGVuKHNvdXJjZV9wYXRoLCAncicpIGFzIGY6
CisgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzID0gVGVtcGxhdGUoZi5yZWFkKCkpLnJlbmRl
cigKKyAgICAgICAgICAgICAgICAgICAgICAgIGdpdD1sb2NhbC5HaXQuZXhlY3V0YWJsZSgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb249c291cmNlX3BhdGgsCisgICAgICAgICAg
ICAgICAgICAgICAgICBweXRob249b3MucGF0aC5iYXNlbmFtZShzeXMuZXhlY3V0YWJsZSksCisg
ICAgICAgICAgICAgICAgICAgICkKKworICAgICAgICAgICAgICAgIHRhcmdldCA9IG9zLnBhdGgu
am9pbihyZXBvc2l0b3J5LnJvb3RfcGF0aCwgJy5naXQnLCAnaG9va3MnLCBob29rKQorICAgICAg
ICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmRpcm5hbWUodGFyZ2V0KSk6
CisgICAgICAgICAgICAgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBhdGguZGlybmFtZSh0YXJnZXQp
KQorICAgICAgICAgICAgICAgIHdpdGggb3Blbih0YXJnZXQsICd3JykgYXMgZjoKKyAgICAgICAg
ICAgICAgICAgICAgZi53cml0ZShjb250ZW50cykKKyAgICAgICAgICAgICAgICAgICAgZi53cml0
ZSgnXG4nKQorCiAgICAgICAgIGxvZy53YXJuaW5nKCdTZXR0aW5nIGdpdCBlZGl0b3IgZm9yIHt9
Li4uJy5mb3JtYXQocmVwb3NpdG9yeS5yb290X3BhdGgpKQogICAgICAgICBlZGl0b3JfbmFtZSA9
ICdkZWZhdWx0JyBpZiBhcmdzLmRlZmF1bHRzIGVsc2UgVGVybWluYWwuY2hvb3NlKAogICAgICAg
ICAgICAgJ1BpY2sgYSBjb21taXQgbWVzc2FnZSBlZGl0b3InLApkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9ob29rcy9wcmVw
YXJlLWNvbW1pdC1tc2cgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJr
aXRzY21weS90ZXN0L2hvb2tzL3ByZXBhcmUtY29tbWl0LW1zZwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NzU5MjU5
MjNiMGMyOWVhNDdiOWY0MDUyNGI4MTJiYTM5NmUxMzc4Ci0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9ob29rcy9w
cmVwYXJlLWNvbW1pdC1tc2cKQEAgLTAsMCArMSw0NSBAQAorIyEvdXNyL2Jpbi9lbnYge3sgcHl0
aG9uIH19CisKK2ltcG9ydCBvcworaW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCBzeXMKKworCitk
ZWYgbWVzc2FnZShzb3VyY2U9Tm9uZSwgc2hhPU5vbmUpOgorICAgIHJldHVybiAnR2VuZXJhdGVk
IGNvbW1pdCBtZXNzYWdlJworCisKK2RlZiBtYWluKGZpbGVfbmFtZT1Ob25lLCBzb3VyY2U9Tm9u
ZSwgc2hhPU5vbmUpOgorICAgIGlmIHNvdXJjZSBhbmQgc291cmNlICE9ICdjb21taXQnOgorICAg
ICAgICByZXR1cm4gMAorCisgICAgd2l0aCBvcGVuKGZpbGVfbmFtZSwgJ3cnKSBhcyBjb21taXRf
bWVzc2FnZV9maWxlOgorICAgICAgICBpZiBzaGE6CisgICAgICAgICAgICBjb21taXRfbWVzc2Fn
ZV9maWxlLndyaXRlKHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KAorICAgICAgICAgICAgICAgIFsn
e3sgZ2l0IH19JywgJ2xvZycsICdIRUFEJywgJy0xJywgJy0tcHJldHR5PWZvcm1hdDolQiddLAor
ICAgICAgICAgICAgICAgICoqKGRpY3QoZW5jb2Rpbmc9J3V0Zi04JykgaWYgc3lzLnZlcnNpb25f
aW5mbyA+ICgzLCA1KSBlbHNlIGRpY3QoKSkKKyAgICAgICAgICAgICkpCisgICAgICAgIGVsc2U6
CisgICAgICAgICAgICBjb21taXRfbWVzc2FnZV9maWxlLndyaXRlKG1lc3NhZ2Uoc291cmNlPXNv
dXJjZSwgc2hhPXNoYSkpCisKKyAgICAgICAgY29tbWl0X21lc3NhZ2VfZmlsZS53cml0ZSgnJycK
KyMgUGxlYXNlIHBvcHVsYXRlIHRoZSBhYm92ZSBjb21taXQgbWVzc2FnZS4gTGluZXMgc3RhcnRp
bmcKKyMgd2l0aCAnIycgd2lsbCBiZSBpZ25vcmVkCisKKycnJykKKyAgICAgICAgaWYgc2hhOgor
ICAgICAgICAgICAgZm9yIGxpbmUgaW4gbWVzc2FnZShzb3VyY2U9c291cmNlLCBzaGE9c2hhKS5z
cGxpdGxpbmVzKCk6CisgICAgICAgICAgICAgICAgY29tbWl0X21lc3NhZ2VfZmlsZS53cml0ZSgn
IyB7fVxuJy5mb3JtYXQobGluZSkpCisgICAgICAgICAgICBjb21taXRfbWVzc2FnZV9maWxlLndy
aXRlKCdcbicpCisgICAgICAgIGZvciBsaW5lIGluIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KAor
ICAgICAgICAgICAgWyd7eyBnaXQgfX0nLCAnc3RhdHVzJ10sCisgICAgICAgICAgICAqKihkaWN0
KGVuY29kaW5nPSd1dGYtOCcpIGlmIHN5cy52ZXJzaW9uX2luZm8gPiAoMywgNSkgZWxzZSBkaWN0
KCkpCisgICAgICAgICkuc3BsaXRsaW5lcygpOgorICAgICAgICAgICAgY29tbWl0X21lc3NhZ2Vf
ZmlsZS53cml0ZSgnIyB7fVxuJy5mb3JtYXQobGluZSkpCisKKyAgICByZXR1cm4gMAorCisKK2lm
IF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgc3lzLmV4aXQobWFpbigqc3lzLmFyZ3ZbMTpd
KSkKKwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Vi
a2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVz
L3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rlc3Qvc2V0dXBfdW5pdHRlc3QucHkKaW5kZXggODFm
ZDFkMzZjNTZkMWU4ZmFhMjE2NzQ4NmNmNjE0OWE5ZTQ2YjA1Zi4uMWMxM2ZhZmI1ODJmZGJhNmIz
NWE1ODlkZGI4ZGJkY2Y4NGFkYzFmNCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3NldHVw
X3VuaXR0ZXN0LnB5CkBAIC0yMSw2ICsyMSw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIGltcG9ydCBv
cworaW1wb3J0IHN5cwogCiBmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgRWRpdG9yLCBPdXRwdXRD
YXB0dXJlLCB0ZXN0aW5nCiBmcm9tIHdlYmtpdGNvcmVweS5tb2NrcyBpbXBvcnQgVGVybWluYWwg
YXMgTW9ja1Rlcm1pbmFsCkBAIC0xNDMsMyArMTQ0LDM3IEBAIEFkZGVkIHJlbW90ZSAnZm9yaycK
IEZldGNoaW5nICdodHRwczovL2dpdGh1Yi5leGFtcGxlLmNvbS91c2VybmFtZS9XZWJLaXQuZ2l0
JwogJycnLmZvcm1hdChyZXBvc2l0b3J5PXNlbGYucGF0aCksCiAgICAgICAgICkKKworICAgIGRl
ZiB0ZXN0X2NvbW1pdF9tZXNzYWdlKHNlbGYpOgorICAgICAgICB3aXRoIE91dHB1dENhcHR1cmUo
KSwgbW9ja3MubG9jYWwuR2l0KHNlbGYucGF0aCkgYXMgZ2l0LCBtb2Nrcy5sb2NhbC5Tdm4oKToK
KyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMCwgcHJvZ3JhbS5tYWluKAorICAgICAgICAg
ICAgICAgIGFyZ3M9KCdzZXR1cCcsICctLWRlZmF1bHRzJyksCisgICAgICAgICAgICAgICAgcGF0
aD1zZWxmLnBhdGgsCisgICAgICAgICAgICAgICAgaG9va3M9b3MucGF0aC5qb2luKG9zLnBhdGgu
YWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKSwgJ2hvb2tzJykKKyAgICAgICAgICAg
ICkpCisgICAgICAgICAgICBwY20gPSBvcy5wYXRoLmpvaW4oc2VsZi5wYXRoLCAnLmdpdCcsICdo
b29rcycsICdwcmVwYXJlLWNvbW1pdC1tc2cnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVl
KG9zLnBhdGguaXNmaWxlKHBjbSkpCisgICAgICAgICAgICBvcy5yZW5hbWUocGNtLCBvcy5wYXRo
LmpvaW4ob3MucGF0aC5kaXJuYW1lKHBjbSksICdwcmVwYXJlX2NvbW1pdF9tc2cucHknKSkKKwor
ICAgICAgICAgICAgc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguZGlybmFtZShwY20pKQorCisg
ICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZnJvbSBwcmVwYXJlX2NvbW1pdF9tc2cg
aW1wb3J0IG1haW4KKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAg
ICAgICAgICAgICBtYWluKG9zLnBhdGguam9pbihzZWxmLnBhdGgsICdDT01NSVRfTUVTU0FHRScp
KSwKKyAgICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAg
ICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihzZWxmLnBhdGgsICdDT01NSVRfTUVTU0FHRScp
LCAncicpIGFzIGZpbGU6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisg
ICAgICAgICAgICAgICAgICAgICAgICBmaWxlLnJlYWQoKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICcnJ0dlbmVyYXRlZCBjb21taXQgbWVzc2FnZQorIyBQbGVhc2UgcG9wdWxhdGUgdGhlIGFi
b3ZlIGNvbW1pdCBtZXNzYWdlLiBMaW5lcyBzdGFydGluZworIyB3aXRoICcjJyB3aWxsIGJlIGln
bm9yZWQKKworIyAnT24gYnJhbmNoIG1haW4KKyMgWW91ciBicmFuY2ggaXMgdXAgdG8gZGF0ZSB3
aXRoICdvcmlnaW4vbWFpbicuCisjIAorIyBub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyB0cmVl
IGNsZWFuCisnJycpCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIHN5cy5w
YXRoLnJlbW92ZShvcy5wYXRoLmRpcm5hbWUocGNtKSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442653</attachid>
            <date>2021-10-27 17:03:52 -0700</date>
            <delta_ts>2021-10-27 17:31:50 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-231023-20211027170351.patch</filename>
            <type>text/plain</type>
            <size>3702</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTY1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDBiZmIxYzEwYzFjOTI5OGNhNmM0OTAzYTMzZTlmOGFh
NTcyOWI4Yi4uOTQ0ZGZjNGUxMmUwZjk0ZGI2NzAwNTJkYmJiNzJjNmE2YTE3YWM0NyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDIxLTEwLTI3ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbd2Via2l0c2NtcHldIEdlbmVyYXRlIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwMjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzNzIyODcxPgorCisgICAgICAgIFVucmV2aWV3ZWQgZm9s
bG93LXVwIGZpeC4KKworICAgICAgICAqIFNjcmlwdHMvZ2l0LXdlYmtpdDogTWF0Y2ggcmVwb3Np
dG9yeSBiYXNlLCBub3QgZm9sZGVyIGNvbnRhaW5pbmcgcmVwb3NpdG9yeS4KKyAgICAgICAgKiBT
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS9zZXR1cC5weTogQnVtcCB2ZXJzaW9uLgorICAg
ICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9f
LnB5OiBEaXR0by4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJr
aXRzY21weS9wcm9ncmFtL3NldHVwLnB5OgorICAgICAgICAoU2V0dXAuZ2l0KTogTWFyayBob29r
IGFzIGV4ZWN1dGFibGUuCisKIDIwMjEtMTAtMjcgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBh
cHBsZS5jb20+CiAKICAgICAgICAgQXV0b0luc3RhbGwgc2hvdWxkIGhhdmUgc2VwYXJhdGUgaW5z
dGFsbCBkaXJlY3RvcmllcyBwZXIgQ1BVIGFyY2hpdGVjdHVyZQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy9naXQtd2Via2l0IGIvVG9vbHMvU2NyaXB0cy9naXQtd2Via2l0CmluZGV4IDU2OWUz
ODE0NjI3ZDdkMmY5OGRmZDY1Y2I2MDJmYTcyNjc4NzMyMzguLjBkMmMyMmZiYWMxZjlmZGQ0Y2Ji
YjgzNWE2NDJkMWUxYTRiMTFkOTAgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvZ2l0LXdlYmtp
dAorKysgYi9Ub29scy9TY3JpcHRzL2dpdC13ZWJraXQKQEAgLTU1LDcgKzU1LDcgQEAgZGVmIGFk
ZGl0aW9uYWxfc2V0dXAoYXJncywgcmVwb3NpdG9yeSk6CiAgICAgICAgIHJlcG9zaXRvcnkuZXhl
Y3V0YWJsZSgpLAogICAgICAgICAnY29uZmlnJywgJ21lcmdlLmNoYW5nZWxvZy5kcml2ZXInLAog
ICAgICAgICAncGVybCB7fSAtLW1lcmdlLWRyaXZlciAtYyAlTyAlQSAlQicuZm9ybWF0KG9zLnBh
dGguam9pbigKLSAgICAgICAgICAgIG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUob3Mu
cGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKSkp
KSwKKyAgICAgICAgICAgIG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5k
aXJuYW1lKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykpKSksCiAgICAgICAgICAgICAnVG9vbHMn
LCAnU2NyaXB0cycsICdyZXNvbHZlLUNoYW5nZUxvZ3MnLAogICAgICAgICApKSwKICAgICBdLCBj
YXB0dXJlX291dHB1dD1UcnVlLCBjd2Q9cmVwb3NpdG9yeS5yb290X3BhdGgpLnJldHVybmNvZGU6
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS9zZXR1cC5w
eSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5CmluZGV4IDRl
NGQ0M2E1ZmMyYzFjM2IwZThmODA2ZWViZDI4YjRlNmY0ZThmYTAuLmIxODQ2Y2MwMDg0ODM4NmE2
ZTc3YzgyZGQ2MDEyYTBiOWZlNGQzMmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dl
YmtpdHNjbXB5L3NldHVwLnB5CkBAIC0yOSw3ICsyOSw3IEBAIGRlZiByZWFkbWUoKToKIAogc2V0
dXAoCiAgICAgbmFtZT0nd2Via2l0c2NtcHknLAotICAgIHZlcnNpb249JzIuMi4xNycsCisgICAg
dmVyc2lvbj0nMi4yLjE4JywKICAgICBkZXNjcmlwdGlvbj0nTGlicmFyeSBkZXNpZ25lZCB0byBp
bnRlcmFjdCB3aXRoIGdpdCBhbmQgc3ZuIHJlcG9zaXRvcmllcy4nLAogICAgIGxvbmdfZGVzY3Jp
cHRpb249cmVhZG1lKCksCiAgICAgY2xhc3NpZmllcnM9WwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0X18ucHkgYi9Ub29s
cy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weQpp
bmRleCA3ZjA4Yzc0MzYxMTQ5M2NmOTUyMmNmYTc3MGIzN2E2ODZhY2Q1ZDBlLi41YTkwMWFhZTMw
ZjI0MjgzMGM2NmQ0YjllYjI1ZDUxMzI0NDJkMzIyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weQorKysgYi9Ub29s
cy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weQpA
QCAtNDYsNyArNDYsNyBAQCBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAgICJQbGVhc2UgaW5z
dGFsbCB3ZWJraXRjb3JlcHkgd2l0aCBgcGlwIGluc3RhbGwgd2Via2l0Y29yZXB5IC0tZXh0cmEt
aW5kZXgtdXJsIDxwYWNrYWdlIGluZGV4IFVSTD5gIgogICAgICkKIAotdmVyc2lvbiA9IFZlcnNp
b24oMiwgMiwgMTcpCit2ZXJzaW9uID0gVmVyc2lvbigyLCAyLCAxOCkKIAogQXV0b0luc3RhbGwu
cmVnaXN0ZXIoUGFja2FnZSgnZmFzdGVuZXJzJywgVmVyc2lvbigwLCAxNSwgMCkpKQogQXV0b0lu
c3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnamluamEyJywgVmVyc2lvbigyLCAxMSwgMykpKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkv
cHJvZ3JhbS9zZXR1cC5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dl
YmtpdHNjbXB5L3Byb2dyYW0vc2V0dXAucHkKaW5kZXggMDkzYmNlNTU1OGQ2Zjk2YTgwZDY2Y2Vi
NGU4YjgxOWY1NDIyODNiZi4uZWIwZjNkNWUzYjcxMzMwY2ZjMWZhMTY0MWMxMTdkMzYxMjRlZTg5
OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0
c2NtcHkvcHJvZ3JhbS9zZXR1cC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJr
aXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL3NldHVwLnB5CkBAIC0xNjcsNiArMTY3LDcgQEAg
Y2xhc3MgU2V0dXAoQ29tbWFuZCk6CiAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKHRhcmdldCwg
J3cnKSBhcyBmOgogICAgICAgICAgICAgICAgICAgICBmLndyaXRlKGNvbnRlbnRzKQogICAgICAg
ICAgICAgICAgICAgICBmLndyaXRlKCdcbicpCisgICAgICAgICAgICAgICAgb3MuY2htb2QodGFy
Z2V0LCAwbzc3NSkKIAogICAgICAgICBsb2cud2FybmluZygnU2V0dGluZyBnaXQgZWRpdG9yIGZv
ciB7fS4uLicuZm9ybWF0KHJlcG9zaXRvcnkucm9vdF9wYXRoKSkKICAgICAgICAgZWRpdG9yX25h
bWUgPSAnZGVmYXVsdCcgaWYgYXJncy5kZWZhdWx0cyBlbHNlIFRlcm1pbmFsLmNob29zZSgK
</data>

          </attachment>
      

    </bug>

</bugzilla>