<?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>28459</bug_id>
          
          <creation_ts>2009-08-19 09:50:52 -0700</creation_ts>
          <short_desc>bugzilla-tool needs a new name</short_desc>
          <delta_ts>2010-01-10 23:05:21 -0800</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>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>141500</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-19 09:50:52 -0700</bug_when>
    <thetext>bugzilla-tool needs a new name

If we can come up with a name here, I&apos;m happy to make it happen.  I&apos;ve got a few out-standing patches against the current tool, so I&apos;d like to move those/land those before we land the rename though.

webkit-tool
wkt
kitchen-sink?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141530</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-08-19 10:54:51 -0700</bug_when>
    <thetext>patch-tool</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176652</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-01-04 03:20:54 -0800</bug_when>
    <thetext>*** Bug 33129 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176903</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-04 15:12:44 -0800</bug_when>
    <thetext>I thought about naming more this morning.  I like Maciej/Adam&apos;s proposal to rename bzt to webkit-patch.  But one remaining question is where do we stuff all the other commands which don&apos;t fit that model.  Also, implied in that rename is that commands should combine to form smarter verb-named commands.  Like &quot;apply-patches&quot; and &quot;apply-attachment&quot; combining to just &quot;apply&quot; with some flags to enable the less-common usages.

All of the bugzilla-tool commands currently marked &quot;common&quot; are patch related, except tree-status:
apply-attachment, apply-patches, land-attachment, land-diff, land-patches, post-commits, post-diff, rollout, tree-status</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176946</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-01-04 17:01:55 -0800</bug_when>
    <thetext>I&apos;m fine with demoting tree-status for the main list of commands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176947</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-04 17:03:30 -0800</bug_when>
    <thetext>Adam and I talked a bit offline about making a new &quot;webkit-patch&quot; tool and slowly moving commands over to there when they&apos;re &quot;ready for primetime.  bugzilla-tool (renamed or otherwise) could stick around for the while as the kitchen-sink (the tool which includes all the commands).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177455</commentid>
    <comment_count>6</comment_count>
      <attachid>45937</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-05 16:21:29 -0800</bug_when>
    <thetext>Created attachment 45937
Adam&apos;s requested proof-of-concept of adding a clone tool with the same name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177456</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-05 16:22:13 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45937 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177457</commentid>
    <comment_count>8</comment_count>
      <attachid>45937</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-05 16:23:38 -0800</bug_when>
    <thetext>Comment on attachment 45937
Adam&apos;s requested proof-of-concept of adding a clone tool with the same name.

Forgot to pass --no-review.

I think I&apos;m OK with just renaming bugzilla-tool to webkit-patch.  Yes, it sucks that webkit-patch will have a bunch of unrelated crap in it.  Yes, people will get confused about what bugzilla-tool is called.  Yes, we&apos;ll have to re-start all of our scripts.  But I&apos;m less and less sure that having separate tools buys us much.  We could continue down the path of this patch, and with only a little more code restrict the commands which are exposed under webkit-patch.  But I&apos;m not sure it buys us much.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178052</commentid>
    <comment_count>9</comment_count>
      <attachid>46029</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-01-07 00:34:11 -0800</bug_when>
    <thetext>Created attachment 46029
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178055</commentid>
    <comment_count>10</comment_count>
      <attachid>46029</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-07 00:40:56 -0800</bug_when>
    <thetext>Comment on attachment 46029
Patch

-from-bug was a nice touch.

for another bug: I think we should kill the optional [BUGID] on commands like land-diff (now &quot;land&quot;) because they shouldn&apos;t be needed now that we can parse bug ids from ChangeLogs.

We could rename &quot;tree status&quot; to &quot;may-I-land&quot; or something similar. :)

Is Upload not yet a strict super-set of post?  Would be nice to kill post eventually.

Seems prepare and post don&apos;t actually need to be in the main help now that we have the new hotness we call upload.

Looks good.  Seems we should send an email to webkit-dev mentioning the rename.  We can just point people to --help if it&apos;s too complicated to explain.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45937</attachid>
            <date>2010-01-05 16:21:29 -0800</date>
            <delta_ts>2010-01-07 00:34:08 -0800</delta_ts>
            <desc>Adam&apos;s requested proof-of-concept of adding a clone tool with the same name.</desc>
            <filename>bug-28459-20100105162127.patch</filename>
            <type>text/plain</type>
            <size>2052</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0LXBhdGNoIGIvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXQtcGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAw
MC4uODQzODJkZAotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0
LXBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBDb3B5cmln
aHQgKGMpIDIwMDksIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMg
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIyAKKyMgICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisj
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMgCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyMKKyMgQSB0b29sIGZvciBhdXRvbWF0aW5nIGRlYWxpbmcgd2l0aCBw
YXRjaGVzLgorCisjIEZJWE1FOiBUaGlzIGlzIGEgaGFjayB0byBhbGxvdyBpbXBvcnRpbmcgbW9k
dWxlcyB3aXRoICctJyBhbmQgbm8gLnB5IGluIHRoZWlyIG5hbWVzLgoraW1wb3J0IGltcAorYnp0
ID0gaW1wLmxvYWRfc291cmNlKCJidWd6aWxsYV90b29sIiwgImJ1Z3ppbGxhLXRvb2wiKQorCitp
ZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIGJ6dC5CdWd6aWxsYVRvb2woKS5tYWluKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46029</attachid>
            <date>2010-01-07 00:34:11 -0800</date>
            <delta_ts>2010-01-07 00:40:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-28459-20100107003410.patch</filename>
            <type>text/plain</type>
            <size>34858</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA4OThmYmMwLi5jMTJhYWJkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTAtMDEt
MDcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBidWd6aWxsYS10b29sIG5lZWRzIGEgbmV3IG5h
bWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4NDU5
CisKKyAgICAgICAgUmVuYW1lIGJ1Z3ppbGxhLXRvb2wgdG8gd2Via2l0LXBhdGNoLiAgQWxzbywg
cmVuYW1lIHNvbWUgY29tbWFuZHMgdG8KKyAgICAgICAgbWFrZSBtb3JlIHNlbnNlIHdpdGggdGhl
IG5ldyBuYW1lLgorCisgICAgICAgICogU2NyaXB0cy9idWd6aWxsYS10b29sOiBSZW1vdmVkLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0LXBhdGNoOiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdC10b29scy1jb21wbGV0aW9uLnNoOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
YnVnemlsbGFfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tYW5k
cy9kb3dubG9hZC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1hbmRzL2Rvd25s
b2FkX3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbWFuZHMvZWFy
bHlfd2FybmluZ19zeXN0ZW0ucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tYW5k
cy9xdWVyaWVzLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbWFuZHMvcXVldWVz
LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbWFuZHMvcXVldWVzX3VuaXR0ZXN0
LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbWFuZHMvdXBsb2FkLnB5OgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbWFuZHMvdXBsb2FkX3VuaXR0ZXN0LnB5OgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcXVldWVlbmdpbmUucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9zdGVwcy9jb21wbGV0ZXJvbGxvdXQucHk6CisKIDIwMTAtMDEtMDYgIEtpbnVr
byBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVy
aWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29s
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDc1NQppbmRleCBhZGM2NmM2Li4wMDAwMDAwCi0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVn
emlsbGEtdG9vbAorKysgL2Rldi9udWxsCkBAIC0xLDEwOCArMCwwIEBACi0jIS91c3IvYmluL2Vu
diBweXRob24KLSMgQ29weXJpZ2h0IChjKSAyMDA5LCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotIyBDb3B5cmlnaHQgKGMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotIyBtZXQ6Ci0jIAotIyAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0jICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotIyBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0jIGRpc3Ry
aWJ1dGlvbi4KLSMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cwotIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotIyAKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotIyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAotIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKLSMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSMgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0jIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKLSMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0jIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotIyBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotIwotIyBBIHRvb2wgZm9yIGF1dG9tYXRpbmcgZGVh
bGluZyB3aXRoIGJ1Z3ppbGxhLCBwb3N0aW5nIHBhdGNoZXMsIGNvbW1pdHRpbmcgcGF0Y2hlcywg
ZXRjLgotCi1pbXBvcnQgb3MKLQotZnJvbSB3ZWJraXRweS5idWd6aWxsYSBpbXBvcnQgQnVnemls
bGEKLWZyb20gd2Via2l0cHkuYnVpbGRib3QgaW1wb3J0IEJ1aWxkQm90Ci1mcm9tIHdlYmtpdHB5
LmNvbW1hbmRzLmRvd25sb2FkIGltcG9ydCAqCi1mcm9tIHdlYmtpdHB5LmNvbW1hbmRzLmVhcmx5
X3dhcm5pbmdfc3lzdGVtIGltcG9ydCAqCi1mcm9tIHdlYmtpdHB5LmNvbW1hbmRzLnF1ZXJpZXMg
aW1wb3J0ICoKLWZyb20gd2Via2l0cHkuY29tbWFuZHMucXVldWVzIGltcG9ydCAqCi1mcm9tIHdl
YmtpdHB5LmNvbW1hbmRzLnVwbG9hZCBpbXBvcnQgKgotZnJvbSB3ZWJraXRweS5leGVjdXRpdmUg
aW1wb3J0IEV4ZWN1dGl2ZQotZnJvbSB3ZWJraXRweS53ZWJraXRfbG9nZ2luZyBpbXBvcnQgbG9n
Ci1mcm9tIHdlYmtpdHB5Lm11bHRpY29tbWFuZHRvb2wgaW1wb3J0IE11bHRpQ29tbWFuZFRvb2wK
LWZyb20gd2Via2l0cHkuc2NtIGltcG9ydCBkZXRlY3Rfc2NtX3N5c3RlbQotZnJvbSB3ZWJraXRw
eS51c2VyIGltcG9ydCBVc2VyCi0KLQotY2xhc3MgQnVnemlsbGFUb29sKE11bHRpQ29tbWFuZFRv
b2wpOgotICAgIGdsb2JhbF9vcHRpb25zID0gWwotICAgICAgICBtYWtlX29wdGlvbigiLS1kcnkt
cnVuIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVzdD0iZHJ5X3J1biIsIGRlZmF1bHQ9RmFsc2Us
IGhlbHA9ImRvIG5vdCB0b3VjaCByZW1vdGUgc2VydmVycyIpLAotICAgICAgICBtYWtlX29wdGlv
bigiLS1zdGF0dXMtaG9zdCIsIGFjdGlvbj0ic3RvcmUiLCBkZXN0PSJzdGF0dXNfaG9zdCIsIHR5
cGU9InN0cmluZyIsIG5hcmdzPTEsIGhlbHA9Ikhvc3RuYW1lIChlLmcuIGxvY2FsaG9zdCBvciBj
b21taXQud2Via2l0Lm9yZykgd2hlcmUgc3RhdHVzIHVwZGF0ZXMgc2hvdWxkIGJlIHBvc3RlZC4i
KSwKLSAgICBdCi0KLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIE11bHRpQ29tbWFu
ZFRvb2wuX19pbml0X18oc2VsZikKLQotICAgICAgICBzZWxmLmJ1Z3MgPSBCdWd6aWxsYSgpCi0g
ICAgICAgIHNlbGYuYnVpbGRib3QgPSBCdWlsZEJvdCgpCi0gICAgICAgIHNlbGYuZXhlY3V0aXZl
ID0gRXhlY3V0aXZlKCkKLSAgICAgICAgc2VsZi51c2VyID0gVXNlcigpCi0gICAgICAgIHNlbGYu
X3NjbSA9IE5vbmUKLSAgICAgICAgc2VsZi5zdGF0dXNfc2VydmVyID0gU3RhdHVzU2VydmVyKCkK
LQotICAgIGRlZiBzY20oc2VsZik6Ci0gICAgICAgICMgTGF6aWx5IGluaXRpYWxpemUgU0NNIHRv
IG5vdCBlcnJvci1vdXQgYmVmb3JlIGNvbW1hbmQgbGluZSBwYXJzaW5nIChvciB3aGVuIHJ1bm5p
bmcgbm9uLXNjbSBjb21tYW5kcykuCi0gICAgICAgIG9yaWdpbmFsX2N3ZCA9IG9zLnBhdGguYWJz
cGF0aCgiLiIpCi0gICAgICAgIGlmIG5vdCBzZWxmLl9zY206Ci0gICAgICAgICAgICBzZWxmLl9z
Y20gPSBkZXRlY3Rfc2NtX3N5c3RlbShvcmlnaW5hbF9jd2QpCi0KLSAgICAgICAgaWYgbm90IHNl
bGYuX3NjbToKLSAgICAgICAgICAgIHNjcmlwdF9kaXJlY3RvcnkgPSBvcy5wYXRoLmFic3BhdGgo
c3lzLnBhdGhbMF0pCi0gICAgICAgICAgICB3ZWJraXRfZGlyZWN0b3J5ID0gb3MucGF0aC5hYnNw
YXRoKG9zLnBhdGguam9pbihzY3JpcHRfZGlyZWN0b3J5LCAiLi4vLi4iKSkKLSAgICAgICAgICAg
IHNlbGYuX3NjbSA9IGRldGVjdF9zY21fc3lzdGVtKHdlYmtpdF9kaXJlY3RvcnkpCi0gICAgICAg
ICAgICBpZiBzZWxmLl9zY206Ci0gICAgICAgICAgICAgICAgbG9nKCJUaGUgY3VycmVudCBkaXJl
Y3RvcnkgKCVzKSBpcyBub3QgYSBXZWJLaXQgY2hlY2tvdXQsIHVzaW5nICVzIiAlIChvcmlnaW5h
bF9jd2QsIHdlYmtpdF9kaXJlY3RvcnkpKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAg
ICAgICBlcnJvcigiRkFUQUw6IEZhaWxlZCB0byBkZXRlcm1pbmUgdGhlIFNDTSBzeXN0ZW0gZm9y
IGVpdGhlciAlcyBvciAlcyIgJSAob3JpZ2luYWxfY3dkLCB3ZWJraXRfZGlyZWN0b3J5KSkKLQot
ICAgICAgICByZXR1cm4gc2VsZi5fc2NtCi0KLSAgICBkZWYgcGF0aChzZWxmKToKLSAgICAgICAg
cmV0dXJuIF9fZmlsZV9fCi0KLSAgICBkZWYgc2hvdWxkX3Nob3dfaW5fbWFpbl9oZWxwKHNlbGYs
IGNvbW1hbmQpOgotICAgICAgICBpZiBub3QgY29tbWFuZC5zaG93X2luX21haW5faGVscDoKLSAg
ICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICBpZiBjb21tYW5kLnJlcXVpcmVzX2xvY2Fs
X2NvbW1pdHM6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5zY20oKS5zdXBwb3J0c19sb2NhbF9j
b21taXRzKCkKLSAgICAgICAgcmV0dXJuIFRydWUKLQotICAgICMgRklYTUU6IFRoaXMgbWF5IGJl
IHVubmVjZXNzYXJ5IHNpbmNlIHdlIHBhc3MgZ2xvYmFsIG9wdGlvbnMgdG8gYWxsIGNvbW1hbmRz
IGR1cmluZyBleGVjdXRlKCkgYXMgd2VsbC4KLSAgICBkZWYgaGFuZGxlX2dsb2JhbF9vcHRpb25z
KHNlbGYsIG9wdGlvbnMpOgotICAgICAgICBpZiBvcHRpb25zLmRyeV9ydW46Ci0gICAgICAgICAg
ICBzZWxmLnNjbSgpLmRyeXJ1biA9IFRydWUKLSAgICAgICAgICAgIHNlbGYuYnVncy5kcnlydW4g
PSBUcnVlCi0gICAgICAgIGlmIG9wdGlvbnMuc3RhdHVzX2hvc3Q6Ci0gICAgICAgICAgICBzZWxm
LnN0YXR1c19zZXJ2ZXIuc2V0X2hvc3Qob3B0aW9ucy5zdGF0dXNfaG9zdCkKLQotICAgIGRlZiBz
aG91bGRfZXhlY3V0ZV9jb21tYW5kKHNlbGYsIGNvbW1hbmQpOgotICAgICAgICBpZiBjb21tYW5k
LnJlcXVpcmVzX2xvY2FsX2NvbW1pdHMgYW5kIG5vdCBzZWxmLnNjbSgpLnN1cHBvcnRzX2xvY2Fs
X2NvbW1pdHMoKToKLSAgICAgICAgICAgIGZhaWx1cmVfcmVhc29uID0gIiVzIHJlcXVpcmVzIGxv
Y2FsIGNvbW1pdHMgdXNpbmcgJXMgaW4gJXMuIiAlIChjb21tYW5kLm5hbWUsIHNlbGYuc2NtKCku
ZGlzcGxheV9uYW1lKCksIHNlbGYuc2NtKCkuY2hlY2tvdXRfcm9vdCkKLSAgICAgICAgICAgIHJl
dHVybiAoRmFsc2UsIGZhaWx1cmVfcmVhc29uKQotICAgICAgICByZXR1cm4gKFRydWUsIE5vbmUp
Ci0KLQotaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICBCdWd6aWxsYVRvb2woKS5tYWlu
KCkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0LXBhdGNoIGIvV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXQtcGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAw
MDAwMC4uNDZlOGJmZgotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0LXBhdGNoCkBAIC0wLDAgKzEsMTA4IEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMgQ29w
eXJpZ2h0IChjKSAyMDA5LCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5
cmlnaHQgKGMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjIAorIyAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
IyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorIyAKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorIworIyBBIHRvb2wgZm9yIGF1dG9tYXRpbmcgZGVhbGluZyB3aXRoIGJ1Z3pp
bGxhLCBwb3N0aW5nIHBhdGNoZXMsIGNvbW1pdHRpbmcgcGF0Y2hlcywgZXRjLgorCitpbXBvcnQg
b3MKKworZnJvbSB3ZWJraXRweS5idWd6aWxsYSBpbXBvcnQgQnVnemlsbGEKK2Zyb20gd2Via2l0
cHkuYnVpbGRib3QgaW1wb3J0IEJ1aWxkQm90Citmcm9tIHdlYmtpdHB5LmNvbW1hbmRzLmRvd25s
b2FkIGltcG9ydCAqCitmcm9tIHdlYmtpdHB5LmNvbW1hbmRzLmVhcmx5X3dhcm5pbmdfc3lzdGVt
IGltcG9ydCAqCitmcm9tIHdlYmtpdHB5LmNvbW1hbmRzLnF1ZXJpZXMgaW1wb3J0ICoKK2Zyb20g
d2Via2l0cHkuY29tbWFuZHMucXVldWVzIGltcG9ydCAqCitmcm9tIHdlYmtpdHB5LmNvbW1hbmRz
LnVwbG9hZCBpbXBvcnQgKgorZnJvbSB3ZWJraXRweS5leGVjdXRpdmUgaW1wb3J0IEV4ZWN1dGl2
ZQorZnJvbSB3ZWJraXRweS53ZWJraXRfbG9nZ2luZyBpbXBvcnQgbG9nCitmcm9tIHdlYmtpdHB5
Lm11bHRpY29tbWFuZHRvb2wgaW1wb3J0IE11bHRpQ29tbWFuZFRvb2wKK2Zyb20gd2Via2l0cHku
c2NtIGltcG9ydCBkZXRlY3Rfc2NtX3N5c3RlbQorZnJvbSB3ZWJraXRweS51c2VyIGltcG9ydCBV
c2VyCisKKworY2xhc3MgV2ViS2l0UGF0Y2goTXVsdGlDb21tYW5kVG9vbCk6CisgICAgZ2xvYmFs
X29wdGlvbnMgPSBbCisgICAgICAgIG1ha2Vfb3B0aW9uKCItLWRyeS1ydW4iLCBhY3Rpb249InN0
b3JlX3RydWUiLCBkZXN0PSJkcnlfcnVuIiwgZGVmYXVsdD1GYWxzZSwgaGVscD0iZG8gbm90IHRv
dWNoIHJlbW90ZSBzZXJ2ZXJzIiksCisgICAgICAgIG1ha2Vfb3B0aW9uKCItLXN0YXR1cy1ob3N0
IiwgYWN0aW9uPSJzdG9yZSIsIGRlc3Q9InN0YXR1c19ob3N0IiwgdHlwZT0ic3RyaW5nIiwgbmFy
Z3M9MSwgaGVscD0iSG9zdG5hbWUgKGUuZy4gbG9jYWxob3N0IG9yIGNvbW1pdC53ZWJraXQub3Jn
KSB3aGVyZSBzdGF0dXMgdXBkYXRlcyBzaG91bGQgYmUgcG9zdGVkLiIpLAorICAgIF0KKworICAg
IGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgTXVsdGlDb21tYW5kVG9vbC5fX2luaXRfXyhz
ZWxmKQorCisgICAgICAgIHNlbGYuYnVncyA9IEJ1Z3ppbGxhKCkKKyAgICAgICAgc2VsZi5idWls
ZGJvdCA9IEJ1aWxkQm90KCkKKyAgICAgICAgc2VsZi5leGVjdXRpdmUgPSBFeGVjdXRpdmUoKQor
ICAgICAgICBzZWxmLnVzZXIgPSBVc2VyKCkKKyAgICAgICAgc2VsZi5fc2NtID0gTm9uZQorICAg
ICAgICBzZWxmLnN0YXR1c19zZXJ2ZXIgPSBTdGF0dXNTZXJ2ZXIoKQorCisgICAgZGVmIHNjbShz
ZWxmKToKKyAgICAgICAgIyBMYXppbHkgaW5pdGlhbGl6ZSBTQ00gdG8gbm90IGVycm9yLW91dCBi
ZWZvcmUgY29tbWFuZCBsaW5lIHBhcnNpbmcgKG9yIHdoZW4gcnVubmluZyBub24tc2NtIGNvbW1h
bmRzKS4KKyAgICAgICAgb3JpZ2luYWxfY3dkID0gb3MucGF0aC5hYnNwYXRoKCIuIikKKyAgICAg
ICAgaWYgbm90IHNlbGYuX3NjbToKKyAgICAgICAgICAgIHNlbGYuX3NjbSA9IGRldGVjdF9zY21f
c3lzdGVtKG9yaWdpbmFsX2N3ZCkKKworICAgICAgICBpZiBub3Qgc2VsZi5fc2NtOgorICAgICAg
ICAgICAgc2NyaXB0X2RpcmVjdG9yeSA9IG9zLnBhdGguYWJzcGF0aChzeXMucGF0aFswXSkKKyAg
ICAgICAgICAgIHdlYmtpdF9kaXJlY3RvcnkgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2lu
KHNjcmlwdF9kaXJlY3RvcnksICIuLi8uLiIpKQorICAgICAgICAgICAgc2VsZi5fc2NtID0gZGV0
ZWN0X3NjbV9zeXN0ZW0od2Via2l0X2RpcmVjdG9yeSkKKyAgICAgICAgICAgIGlmIHNlbGYuX3Nj
bToKKyAgICAgICAgICAgICAgICBsb2coIlRoZSBjdXJyZW50IGRpcmVjdG9yeSAoJXMpIGlzIG5v
dCBhIFdlYktpdCBjaGVja291dCwgdXNpbmcgJXMiICUgKG9yaWdpbmFsX2N3ZCwgd2Via2l0X2Rp
cmVjdG9yeSkpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGVycm9yKCJGQVRB
TDogRmFpbGVkIHRvIGRldGVybWluZSB0aGUgU0NNIHN5c3RlbSBmb3IgZWl0aGVyICVzIG9yICVz
IiAlIChvcmlnaW5hbF9jd2QsIHdlYmtpdF9kaXJlY3RvcnkpKQorCisgICAgICAgIHJldHVybiBz
ZWxmLl9zY20KKworICAgIGRlZiBwYXRoKHNlbGYpOgorICAgICAgICByZXR1cm4gX19maWxlX18K
KworICAgIGRlZiBzaG91bGRfc2hvd19pbl9tYWluX2hlbHAoc2VsZiwgY29tbWFuZCk6CisgICAg
ICAgIGlmIG5vdCBjb21tYW5kLnNob3dfaW5fbWFpbl9oZWxwOgorICAgICAgICAgICAgcmV0dXJu
IEZhbHNlCisgICAgICAgIGlmIGNvbW1hbmQucmVxdWlyZXNfbG9jYWxfY29tbWl0czoKKyAgICAg
ICAgICAgIHJldHVybiBzZWxmLnNjbSgpLnN1cHBvcnRzX2xvY2FsX2NvbW1pdHMoKQorICAgICAg
ICByZXR1cm4gVHJ1ZQorCisgICAgIyBGSVhNRTogVGhpcyBtYXkgYmUgdW5uZWNlc3Nhcnkgc2lu
Y2Ugd2UgcGFzcyBnbG9iYWwgb3B0aW9ucyB0byBhbGwgY29tbWFuZHMgZHVyaW5nIGV4ZWN1dGUo
KSBhcyB3ZWxsLgorICAgIGRlZiBoYW5kbGVfZ2xvYmFsX29wdGlvbnMoc2VsZiwgb3B0aW9ucyk6
CisgICAgICAgIGlmIG9wdGlvbnMuZHJ5X3J1bjoKKyAgICAgICAgICAgIHNlbGYuc2NtKCkuZHJ5
cnVuID0gVHJ1ZQorICAgICAgICAgICAgc2VsZi5idWdzLmRyeXJ1biA9IFRydWUKKyAgICAgICAg
aWYgb3B0aW9ucy5zdGF0dXNfaG9zdDoKKyAgICAgICAgICAgIHNlbGYuc3RhdHVzX3NlcnZlci5z
ZXRfaG9zdChvcHRpb25zLnN0YXR1c19ob3N0KQorCisgICAgZGVmIHNob3VsZF9leGVjdXRlX2Nv
bW1hbmQoc2VsZiwgY29tbWFuZCk6CisgICAgICAgIGlmIGNvbW1hbmQucmVxdWlyZXNfbG9jYWxf
Y29tbWl0cyBhbmQgbm90IHNlbGYuc2NtKCkuc3VwcG9ydHNfbG9jYWxfY29tbWl0cygpOgorICAg
ICAgICAgICAgZmFpbHVyZV9yZWFzb24gPSAiJXMgcmVxdWlyZXMgbG9jYWwgY29tbWl0cyB1c2lu
ZyAlcyBpbiAlcy4iICUgKGNvbW1hbmQubmFtZSwgc2VsZi5zY20oKS5kaXNwbGF5X25hbWUoKSwg
c2VsZi5zY20oKS5jaGVja291dF9yb290KQorICAgICAgICAgICAgcmV0dXJuIChGYWxzZSwgZmFp
bHVyZV9yZWFzb24pCisgICAgICAgIHJldHVybiAoVHJ1ZSwgTm9uZSkKKworCitpZiBfX25hbWVf
XyA9PSAiX19tYWluX18iOgorICAgIFdlYktpdFBhdGNoKCkubWFpbigpCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdC10b29scy1jb21wbGV0aW9uLnNoIGIvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXQtdG9vbHMtY29tcGxldGlvbi5zaAppbmRleCAzMDg3MTFkLi41ZWI2
ODMzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdC10b29scy1jb21wbGV0
aW9uLnNoCisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0LXRvb2xzLWNvbXBsZXRpb24u
c2gKQEAgLTMyLDEyICszMiwxMiBAQAogIyAgIEFkZCBhIGxpbmUgbGlrZSB0aGlzIHRvIHlvdXIg
LmJhc2hyYzoKICMgICAgIHNvdXJjZSAvcGF0aC90by9XZWJLaXRDb2RlL1dlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0LXRvb2xzLWNvbXBsZXRpb24uc2gKIAotX19idWd6aWxsYS10b29sX2dlbmVy
YXRlX3JlcGx5KCkKK19fd2Via2l0LXBhdGNoX2dlbmVyYXRlX3JlcGx5KCkKIHsKICAgICBDT01Q
UkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQxIiAtLSAiJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIp
ICkKIH0KIAotX2J1Z3ppbGxhLXRvb2xfY29tcGxldGUoKQorX3dlYmtpdC1wYXRjaF9jb21wbGV0
ZSgpCiB7CiAgICAgbG9jYWwgY29tbWFuZCBjdXJyZW50X2NvbW1hbmQ9IiR7Q09NUF9XT1JEU1sx
XX0iCiAgICAgY2FzZSAiJGN1cnJlbnRfY29tbWFuZCIgaW4KQEAgLTUwLDQxICs1MCw0NSBAQCBf
YnVnemlsbGEtdG9vbF9jb21wbGV0ZSgpCiAgICAgZXNhYwogCiAgICAgaWYgWyAkQ09NUF9DV09S
RCAtZXEgMSBdOyB0aGVuCi0gICAgICAgIF9fYnVnemlsbGEtdG9vbF9nZW5lcmF0ZV9yZXBseSAi
LS1oZWxwIGFwcGx5LXBhdGNoZXMgYnVncy10by1jb21taXQgY29tbWl0LW1lc3NhZ2UgbGFuZC1k
aWZmIGxhbmQtcGF0Y2hlcyBvYnNvbGV0ZS1hdHRhY2htZW50cyBwYXRjaGVzLXRvLWNvbW1pdCBw
b3N0LWNvbW1pdHMgcG9zdC1kaWZmIHJldmlld2VkLXBhdGNoZXMiCisgICAgICAgIF9fd2Via2l0
LXBhdGNoX2dlbmVyYXRlX3JlcGx5ICItLWhlbHAgYXBwbHktZnJvbS1idWcgYnVncy10by1jb21t
aXQgY29tbWl0LW1lc3NhZ2UgbGFuZCBsYW5kLWZyb20tYnVnIG9ic29sZXRlLWF0dGFjaG1lbnRz
IHBhdGNoZXMtdG8tY29tbWl0IHBvc3QgdXBsb2FkIHRyZWUtc3RhdHVzIHJvbGxvdXQgcmV2aWV3
ZWQtcGF0Y2hlcyIKICAgICAgICAgcmV0dXJuCiAgICAgZmkKIAogICAgIGNhc2UgIiRjb21tYW5k
IiBpbgotICAgICAgICBhcHBseS1wYXRjaGVzKQotICAgICAgICAgICAgX19idWd6aWxsYS10b29s
X2dlbmVyYXRlX3JlcGx5ICItLWZvcmNlLWNsZWFuIC0tbG9jYWwtY29tbWl0IC0tbm8tY2xlYW4g
LS1uby11cGRhdGUiCisgICAgICAgIGFwcGx5LWZyb20tYnVnKQorICAgICAgICAgICAgX193ZWJr
aXQtcGF0Y2hfZ2VuZXJhdGVfcmVwbHkgIi0tZm9yY2UtY2xlYW4gLS1sb2NhbC1jb21taXQgLS1u
by1jbGVhbiAtLW5vLXVwZGF0ZSIKICAgICAgICAgICAgIHJldHVybgogICAgICAgICAgICAgOzsK
ICAgICAgICAgY29tbWl0LW1lc3NhZ2UpCiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAg
IDs7Ci0gICAgICAgIGxhbmQtZGlmZikKLSAgICAgICAgICAgIF9fYnVnemlsbGEtdG9vbF9nZW5l
cmF0ZV9yZXBseSAiLS1uby1idWlsZCAtLW5vLWNsb3NlIC0tbm8tdGVzdCAtLXJldmlld2VyPSAt
ciIKKyAgICAgICAgbGFuZCkKKyAgICAgICAgICAgIF9fd2Via2l0LXBhdGNoX2dlbmVyYXRlX3Jl
cGx5ICItLW5vLWJ1aWxkIC0tbm8tY2xvc2UgLS1uby10ZXN0IC0tcmV2aWV3ZXI9IC1yIgogICAg
ICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICA7OwotICAgICAgICBsYW5kLXBhdGNoZXMpCi0g
ICAgICAgICAgICBfX2J1Z3ppbGxhLXRvb2xfZ2VuZXJhdGVfcmVwbHkgIi0tZm9yY2UtY2xlYW4g
LS1uby1idWlsZCAtLW5vLWNsZWFuIC0tbm8tdGVzdCIKKyAgICAgICAgbGFuZC1mcm9tLWJ1ZykK
KyAgICAgICAgICAgIF9fd2Via2l0LXBhdGNoX2dlbmVyYXRlX3JlcGx5ICItLWZvcmNlLWNsZWFu
IC0tbm8tYnVpbGQgLS1uby1jbGVhbiAtLW5vLXRlc3QiCiAgICAgICAgICAgICByZXR1cm4KICAg
ICAgICAgICAgIDs7CiAgICAgICAgIG9ic29sZXRlLWF0dGFjaG1lbnRzKQogICAgICAgICAgICAg
cmV0dXJuCiAgICAgICAgICAgICA7OwotICAgICAgICBwb3N0LWRpZmYpCi0gICAgICAgICAgICBf
X2J1Z3ppbGxhLXRvb2xfZ2VuZXJhdGVfcmVwbHkgIi0tZGVzY3JpcHRpb24gLS1uby1vYnNvbGV0
ZSAtLW5vLXJldmlldyAtbSIKKyAgICAgICAgcG9zdCkKKyAgICAgICAgICAgIF9fd2Via2l0LXBh
dGNoX2dlbmVyYXRlX3JlcGx5ICItLWRlc2NyaXB0aW9uIC0tbm8tb2Jzb2xldGUgLS1uby1yZXZp
ZXcgLS1yZXF1ZXN0LWNvbW1pdCAtbSAtLW9wZW4tYnVnIgorICAgICAgICAgICAgcmV0dXJuCisg
ICAgICAgICAgICA7OworICAgICAgICB1cGxvYWQpCisgICAgICAgICAgICBfX3dlYmtpdC1wYXRj
aF9nZW5lcmF0ZV9yZXBseSAiLS1kZXNjcmlwdGlvbiAtLW5vLW9ic29sZXRlIC0tbm8tcmV2aWV3
IC0tcmVxdWVzdC1jb21taXQgLS1jYyAtbSAtLW9wZW4tYnVnIgogICAgICAgICAgICAgcmV0dXJu
CiAgICAgICAgICAgICA7OwogICAgICAgICBwb3N0LWNvbW1pdHMpCi0gICAgICAgICAgICBfX2J1
Z3ppbGxhLXRvb2xfZ2VuZXJhdGVfcmVwbHkgIi0tYnVnLWlkPSAtLW5vLWNvbW1lbnQgLS1uby1v
YnNvbGV0ZSAtLW5vLXJldmlldyAtYiIKKyAgICAgICAgICAgIF9fd2Via2l0LXBhdGNoX2dlbmVy
YXRlX3JlcGx5ICItLWJ1Zy1pZD0gLS1uby1jb21tZW50IC0tbm8tb2Jzb2xldGUgLS1uby1yZXZp
ZXcgLWIiCiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgIDs7CiAgICAgZXNhYwogfQog
Ci1jb21wbGV0ZSAtRiBfYnVnemlsbGEtdG9vbF9jb21wbGV0ZSBidWd6aWxsYS10b29sCitjb21w
bGV0ZSAtRiBfd2Via2l0LXBhdGNoX2NvbXBsZXRlIHdlYmtpdC1wYXRjaAogY29tcGxldGUgLVcg
Ii0tY29udGludWUgLS1maXgtbWVyZ2VkIC0taGVscCAtLW5vLWNvbnRpbnVlIC0tbm8td2Fybmlu
Z3MgLS13YXJuaW5ncyAtYyAtZiAtaCAtdyIgcmVzb2x2ZS1DaGFuZ2VMb2dzCiBjb21wbGV0ZSAt
VyAiLS1idWcgLS1kaWZmIC0tZ2l0LWNvbW1pdCAtLWdpdC1pbmRleCAtLWdpdC1yZXZpZXdlciAt
LWhlbHAgLS1uby11cGRhdGUgLS1uby13cml0ZSAtLW9wZW4gLS11cGRhdGUgLS13cml0ZSAtZCAt
aCAtbyIgcHJlcGFyZS1DaGFuZ2VMb2cKIGNvbXBsZXRlIC1XICItLWNsZWFuIC0tZGVidWcgLS1o
ZWxwIC1oIiBidWlsZC13ZWJraXQKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvYnVnemlsbGFfdW5pdHRlc3QucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2J1Z3ppbGxhX3VuaXR0ZXN0LnB5CmluZGV4IDkzYTM1ZjkuLjBkNzg2MDIgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvYnVnemlsbGFfdW5pdHRlc3QucHkKKysrIGIv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9idWd6aWxsYV91bml0dGVzdC5weQpAQCAtMTE1
LDcgKzExNSw3IEBAIGNsYXNzIEJ1Z3ppbGxhVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
PGJ1Zz4KICAgICAgICAgICA8YnVnX2lkPjMyNTg1PC9idWdfaWQ+CiAgICAgICAgICAgPGNyZWF0
aW9uX3RzPjIwMDktMTItMTUgMTU6MTcgUFNUPC9jcmVhdGlvbl90cz4KLSAgICAgICAgICA8c2hv
cnRfZGVzYz5idWcgdG8gdGVzdCBidWd6aWxsYS10b29sIGFuZCBjb21taXQtcXVldWUgZmFpbHVy
ZXM8L3Nob3J0X2Rlc2M+CisgICAgICAgICAgPHNob3J0X2Rlc2M+YnVnIHRvIHRlc3Qgd2Via2l0
LXBhdGNoIGFuZCBjb21taXQtcXVldWUgZmFpbHVyZXM8L3Nob3J0X2Rlc2M+CiAgICAgICAgICAg
PGRlbHRhX3RzPjIwMDktMTItMjcgMjE6MDQ6NTAgUFNUPC9kZWx0YV90cz4KICAgICAgICAgICA8
cmVwb3J0ZXJfYWNjZXNzaWJsZT4xPC9yZXBvcnRlcl9hY2Nlc3NpYmxlPgogICAgICAgICAgIDxj
Y2xpc3RfYWNjZXNzaWJsZT4xPC9jY2xpc3RfYWNjZXNzaWJsZT4KQEAgLTEzOCw5ICsxMzgsOSBA
QCBjbGFzcyBCdWd6aWxsYVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgIDxsb25n
X2Rlc2MgaXNwcml2YXRlPSIwIj4KICAgICAgICAgICAgIDx3aG8gbmFtZT0iRXJpYyBTZWlkZWwi
PmVyaWNAd2Via2l0Lm9yZzwvd2hvPgogICAgICAgICAgICAgPGJ1Z193aGVuPjIwMDktMTItMTUg
MTU6MTc6MjggUFNUPC9idWdfd2hlbj4KLSAgICAgICAgICAgIDx0aGV0ZXh0PmJ1ZyB0byB0ZXN0
IGJ1Z3ppbGxhLXRvb2wgYW5kIGNvbW1pdC1xdWV1ZSBmYWlsdXJlcworICAgICAgICAgICAgPHRo
ZXRleHQ+YnVnIHRvIHRlc3Qgd2Via2l0LXBhdGNoIGFuZCBjb21taXQtcXVldWUgZmFpbHVyZXMK
IAotSWdub3JlIHRoaXMgYnVnLiAgSnVzdCBmb3IgdGVzdGluZyBmYWlsdXJlIG1vZGVzIG9mIGJ1
Z3ppbGxhLXRvb2wgYW5kIHRoZSBjb21taXQtcXVldWUuPC90aGV0ZXh0PgorSWdub3JlIHRoaXMg
YnVnLiAgSnVzdCBmb3IgdGVzdGluZyBmYWlsdXJlIG1vZGVzIG9mIHdlYmtpdC1wYXRjaCBhbmQg
dGhlIGNvbW1pdC1xdWV1ZS48L3RoZXRleHQ+CiAgICAgICAgICAgPC9sb25nX2Rlc2M+CiAgICAg
ICAgICAgPGF0dGFjaG1lbnQgCiAgICAgICAgICAgICAgIGlzb2Jzb2xldGU9IjAiCkBAIC0xNzIs
NyArMTcyLDcgQEAgWkVacGJtbHphRXh2WVdSWGFYUm9VbVZoYzI5dU9uSmxZWE52YmwwN0NpdDlD
aXNLSUVCbGJtUUtJQW9nSTJWdVpHbG1DZz09CiAiIiIKICAgICBfZXhwZWN0ZWRfZXhhbXBsZV9i
dWdfcGFyc2luZyA9IHsKICAgICAgICAgImlkIiA6IDMyNTg1LAotICAgICAgICAidGl0bGUiIDog
dSJidWcgdG8gdGVzdCBidWd6aWxsYS10b29sIGFuZCBjb21taXQtcXVldWUgZmFpbHVyZXMiLAor
ICAgICAgICAidGl0bGUiIDogdSJidWcgdG8gdGVzdCB3ZWJraXQtcGF0Y2ggYW5kIGNvbW1pdC1x
dWV1ZSBmYWlsdXJlcyIsCiAgICAgICAgICJjY19lbWFpbHMiIDogWyJmb29AYmFyLmNvbSIsICJl
eGFtcGxlQGV4YW1wbGUuY29tIl0sCiAgICAgICAgICJyZXBvcnRlcl9lbWFpbCIgOiAiZXJpY0B3
ZWJraXQub3JnIiwKICAgICAgICAgImFzc2lnbmVkX3RvX2VtYWlsIiA6ICJ3ZWJraXQtdW5hc3Np
Z25lZEBsaXN0cy53ZWJraXQub3JnIiwKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbWFuZHMvZG93bmxvYWQucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1hbmRzL2Rvd25sb2FkLnB5CmluZGV4IDc0YjE2YzYuLjNmNjlhZjQgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbWFuZHMvZG93bmxvYWQucHkKKysr
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tYW5kcy9kb3dubG9hZC5weQpAQCAt
NjYsOCArNjYsOCBAQCBjbGFzcyBCdWlsZEFuZFRlc3QoQWJzdHJhY3RTZXF1ZW5jZWRDb21tbWFu
ZCk6CiAgICAgXQogCiAKLWNsYXNzIExhbmREaWZmKEFic3RyYWN0U2VxdWVuY2VkQ29tbW1hbmQp
OgotICAgIG5hbWUgPSAibGFuZC1kaWZmIgorY2xhc3MgTGFuZChBYnN0cmFjdFNlcXVlbmNlZENv
bW1tYW5kKToKKyAgICBuYW1lID0gImxhbmQiCiAgICAgaGVscF90ZXh0ID0gIkxhbmQgdGhlIGN1
cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgZGlmZiBhbmQgdXBkYXRlcyB0aGUgYXNzb2NpYXRlZCBi
dWcgaWYgYW55IgogICAgIGFyZ3VtZW50X25hbWVzID0gIltCVUdJRF0iCiAgICAgc2hvd19pbl9t
YWluX2hlbHAgPSBUcnVlCkBAIC04MCw5ICs4MCw5IEBAIGNsYXNzIExhbmREaWZmKEFic3RyYWN0
U2VxdWVuY2VkQ29tbW1hbmQpOgogICAgICAgICBzdGVwcy5Db21taXQsCiAgICAgICAgIHN0ZXBz
LkNsb3NlQnVnRm9yTGFuZERpZmYsCiAgICAgXQotICAgIGxvbmdfaGVscCA9ICIiImxhbmQtZGlm
ZiBjb21taXRzIHRoZSBjdXJyZW50IHdvcmtpbmcgY29weSBkaWZmIChqdXN0IGFzIHN2biBvciBn
aXQgY29tbWl0IHdvdWxkKS4KLWxhbmQtZGlmZiB3aWxsIGJ1aWxkIGFuZCBydW4gdGhlIHRlc3Rz
IGJlZm9yZSBjb21taXR0aW5nLgotSWYgYSBidWcgaWQgaXMgcHJvdmlkZWQsIG9yIG9uZSBjYW4g
YmUgZm91bmQgaW4gdGhlIENoYW5nZUxvZyBsYW5kLWRpZmYgd2lsbCB1cGRhdGUgdGhlIGJ1ZyBh
ZnRlciBjb21taXR0aW5nLiIiIgorICAgIGxvbmdfaGVscCA9ICIiImxhbmQgY29tbWl0cyB0aGUg
Y3VycmVudCB3b3JraW5nIGNvcHkgZGlmZiAoanVzdCBhcyBzdm4gb3IgZ2l0IGNvbW1pdCB3b3Vs
ZCkuCitsYW5kIHdpbGwgYnVpbGQgYW5kIHJ1biB0aGUgdGVzdHMgYmVmb3JlIGNvbW1pdHRpbmcu
CitJZiBhIGJ1ZyBpZCBpcyBwcm92aWRlZCwgb3Igb25lIGNhbiBiZSBmb3VuZCBpbiB0aGUgQ2hh
bmdlTG9nIGxhbmQgd2lsbCB1cGRhdGUgdGhlIGJ1ZyBhZnRlciBjb21taXR0aW5nLiIiIgogCiAg
ICAgZGVmIF9wcmVwYXJlX3N0YXRlKHNlbGYsIG9wdGlvbnMsIGFyZ3MsIHRvb2wpOgogICAgICAg
ICByZXR1cm4gewpAQCAtMTk4LDggKzE5OCw4IEBAIGNsYXNzIEFwcGx5QXR0YWNobWVudChBYnN0
cmFjdFBhdGNoQXBwbHlpbmdDb21tYW5kLCBQcm9jZXNzQXR0YWNobWVudHNNaXhpbik6CiAgICAg
c2hvd19pbl9tYWluX2hlbHAgPSBUcnVlCiAKIAotY2xhc3MgQXBwbHlQYXRjaGVzKEFic3RyYWN0
UGF0Y2hBcHBseWluZ0NvbW1hbmQsIFByb2Nlc3NCdWdzTWl4aW4pOgotICAgIG5hbWUgPSAiYXBw
bHktcGF0Y2hlcyIKK2NsYXNzIEFwcGx5RnJvbUJ1ZyhBYnN0cmFjdFBhdGNoQXBwbHlpbmdDb21t
YW5kLCBQcm9jZXNzQnVnc01peGluKToKKyAgICBuYW1lID0gImFwcGx5LWZyb20tYnVnIgogICAg
IGhlbHBfdGV4dCA9ICJBcHBseSByZXZpZXdlZCBwYXRjaGVzIGZyb20gcHJvdmlkZWQgYnVncyB0
byB0aGUgbG9jYWwgd29ya2luZyBkaXJlY3RvcnkiCiAgICAgYXJndW1lbnRfbmFtZXMgPSAiQlVH
SUQgW0JVR0lEU10iCiAgICAgc2hvd19pbl9tYWluX2hlbHAgPSBUcnVlCkBAIC0yMzcsOCArMjM3
LDggQEAgY2xhc3MgTGFuZEF0dGFjaG1lbnQoQWJzdHJhY3RQYXRjaExhbmRpbmdDb21tYW5kLCBQ
cm9jZXNzQXR0YWNobWVudHNNaXhpbik6CiAgICAgc2hvd19pbl9tYWluX2hlbHAgPSBUcnVlCiAK
IAotY2xhc3MgTGFuZFBhdGNoZXMoQWJzdHJhY3RQYXRjaExhbmRpbmdDb21tYW5kLCBQcm9jZXNz
QnVnc01peGluKToKLSAgICBuYW1lID0gImxhbmQtcGF0Y2hlcyIKK2NsYXNzIExhbmRGcm9tQnVn
KEFic3RyYWN0UGF0Y2hMYW5kaW5nQ29tbWFuZCwgUHJvY2Vzc0J1Z3NNaXhpbik6CisgICAgbmFt
ZSA9ICJsYW5kLWZyb20tYnVnIgogICAgIGhlbHBfdGV4dCA9ICJMYW5kIGFsbCBwYXRjaGVzIG9u
IHRoZSBnaXZlbiBidWdzLCBvcHRpb25hbGx5IGJ1aWxkaW5nIGFuZCB0ZXN0aW5nIHRoZW0gZmly
c3QiCiAgICAgYXJndW1lbnRfbmFtZXMgPSAiQlVHSUQgW0JVR0lEU10iCiAgICAgc2hvd19pbl9t
YWluX2hlbHAgPSBUcnVlCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1hbmRzL2Rvd25sb2FkX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tYW5kcy9kb3dubG9hZF91bml0dGVzdC5weQppbmRleCBjOWNkNmQ3Li5mMmM3ZDlj
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1hbmRzL2Rvd25s
b2FkX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbWFu
ZHMvZG93bmxvYWRfdW5pdHRlc3QucHkKQEAgLTY3LDExICs2NywxMSBAQCBjbGFzcyBEb3dubG9h
ZENvbW1hbmRzVGVzdChDb21tYW5kc1Rlc3QpOgogICAgICAgICBvcHRpb25zLnVwZGF0ZSA9IFRy
dWUKICAgICAgICAgb3B0aW9ucy5sb2NhbF9jb21taXQgPSBUcnVlCiAgICAgICAgIGV4cGVjdGVk
X3N0ZGVyciA9ICJVcGRhdGluZyB3b3JraW5nIGRpcmVjdG9yeVxuMiByZXZpZXdlZCBwYXRjaGVz
IGZvdW5kIG9uIGJ1ZyA0Mi5cblByb2Nlc3NpbmcgMiBwYXRjaGVzIGZyb20gMSBidWcuXG5Qcm9j
ZXNzaW5nIHBhdGNoIDE5NyBmcm9tIGJ1ZyA0Mi5cblByb2Nlc3NpbmcgcGF0Y2ggMTI4IGZyb20g
YnVnIDQyLlxuIgotICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoQXBwbHlQYXRj
aGVzKCksIFs0Ml0sIG9wdGlvbnM9b3B0aW9ucywgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0
ZGVycikKKyAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKEFwcGx5RnJvbUJ1Zygp
LCBbNDJdLCBvcHRpb25zPW9wdGlvbnMsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIp
CiAKICAgICBkZWYgdGVzdF9sYW5kX2RpZmYoc2VsZik6CiAgICAgICAgIGV4cGVjdGVkX3N0ZGVy
ciA9ICJCdWlsZGluZyBXZWJLaXRcblVwZGF0aW5nIGJ1ZyA0MlxuIgotICAgICAgICBzZWxmLmFz
c2VydF9leGVjdXRlX291dHB1dHMoTGFuZERpZmYoKSwgWzQyXSwgb3B0aW9ucz1zZWxmLl9kZWZh
dWx0X29wdGlvbnMoKSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAg
c2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKExhbmQoKSwgWzQyXSwgb3B0aW9ucz1zZWxmLl9k
ZWZhdWx0X29wdGlvbnMoKSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKIAogICAg
IGRlZiB0ZXN0X2NoZWNrX3N0eWxlKHNlbGYpOgogICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAi
UHJvY2Vzc2luZyAxIHBhdGNoIGZyb20gMSBidWcuXG5VcGRhdGluZyB3b3JraW5nIGRpcmVjdG9y
eVxuUHJvY2Vzc2luZyBwYXRjaCAxOTcgZnJvbSBidWcgNDIuXG5SdW5uaW5nIGNoZWNrLXdlYmtp
dC1zdHlsZVxuIgpAQCAtODcsMTAgKzg3LDEwIEBAIGNsYXNzIERvd25sb2FkQ29tbWFuZHNUZXN0
KENvbW1hbmRzVGVzdCk6CiAKICAgICBkZWYgdGVzdF9sYW5kX3BhdGNoZXMoc2VsZik6CiAgICAg
ICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIyIHJldmlld2VkIHBhdGNoZXMgZm91bmQgb24gYnVnIDQy
LlxuUHJvY2Vzc2luZyAyIHBhdGNoZXMgZnJvbSAxIGJ1Zy5cblVwZGF0aW5nIHdvcmtpbmcgZGly
ZWN0b3J5XG5Qcm9jZXNzaW5nIHBhdGNoIDE5NyBmcm9tIGJ1ZyA0Mi5cbkJ1aWxkaW5nIFdlYktp
dFxuVXBkYXRpbmcgd29ya2luZyBkaXJlY3RvcnlcblByb2Nlc3NpbmcgcGF0Y2ggMTI4IGZyb20g
YnVnIDQyLlxuQnVpbGRpbmcgV2ViS2l0XG4iCi0gICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVf
b3V0cHV0cyhMYW5kUGF0Y2hlcygpLCBbNDJdLCBvcHRpb25zPXNlbGYuX2RlZmF1bHRfb3B0aW9u
cygpLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBzZWxmLmFzc2Vy
dF9leGVjdXRlX291dHB1dHMoTGFuZEZyb21CdWcoKSwgWzQyXSwgb3B0aW9ucz1zZWxmLl9kZWZh
dWx0X29wdGlvbnMoKSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKIAogICAgIGRl
ZiB0ZXN0X3JvbGxvdXQoc2VsZik6Ci0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJVcGRhdGlu
ZyB3b3JraW5nIGRpcmVjdG9yeVxuUnVubmluZyBwcmVwYXJlLUNoYW5nZUxvZ1xuXG5OT1RFOiBS
b2xsb3V0IHN1cHBvcnQgaXMgZXhwZXJpbWVudGFsLlxuUGxlYXNlIHZlcmlmeSB0aGUgcm9sbG91
dCBkaWZmIGFuZCB1c2UgXCJidWd6aWxsYS10b29sIGxhbmQtZGlmZiAxMjM0NVwiIHRvIGNvbW1p
dCB0aGUgcm9sbG91dC5cbiIKKyAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIlVwZGF0aW5nIHdv
cmtpbmcgZGlyZWN0b3J5XG5SdW5uaW5nIHByZXBhcmUtQ2hhbmdlTG9nXG5cbk5PVEU6IFJvbGxv
dXQgc3VwcG9ydCBpcyBleHBlcmltZW50YWwuXG5QbGVhc2UgdmVyaWZ5IHRoZSByb2xsb3V0IGRp
ZmYgYW5kIHVzZSBcIndlYmtpdC1wYXRjaCBsYW5kIDEyMzQ1XCIgdG8gY29tbWl0IHRoZSByb2xs
b3V0LlxuIgogICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoUm9sbG91dCgpLCBb
ODUyLCAiUmVhc29uIl0sIG9wdGlvbnM9c2VsZi5fZGVmYXVsdF9vcHRpb25zKCksIGV4cGVjdGVk
X3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCiAKICAgICBkZWYgdGVzdF9jb21wbGV0ZV9yb2xsb3V0
KHNlbGYpOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tYW5k
cy9lYXJseV93YXJuaW5nX3N5c3RlbS5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbWFuZHMvZWFybHlfd2FybmluZ19zeXN0ZW0ucHkKaW5kZXggYTUwODRhZC4uMzQ5Y2RlMSAx
MDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tYW5kcy9lYXJseV93
YXJuaW5nX3N5c3RlbS5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1h
bmRzL2Vhcmx5X3dhcm5pbmdfc3lzdGVtLnB5CkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIEFic3Ry
YWN0RWFybHlXYXJuaW5nU3lzdGVtKEFic3RyYWN0UmV2aWV3UXVldWUpOgogCiAgICAgZGVmIHNo
b3VsZF9wcm9jZWVkX3dpdGhfd29ya19pdGVtKHNlbGYsIHBhdGNoKToKICAgICAgICAgdHJ5Ogot
ICAgICAgICAgICAgc2VsZi5ydW5fYnVnemlsbGFfdG9vbChbImJ1aWxkIiwgc2VsZi5wb3J0LmZs
YWcoKSwgIi0tZm9yY2UtY2xlYW4iLCAiLS1xdWlldCJdKQorICAgICAgICAgICAgc2VsZi5ydW5f
d2Via2l0X3BhdGNoKFsiYnVpbGQiLCBzZWxmLnBvcnQuZmxhZygpLCAiLS1mb3JjZS1jbGVhbiIs
ICItLXF1aWV0Il0pCiAgICAgICAgICAgICBzZWxmLl91cGRhdGVfc3RhdHVzKCJCdWlsZGluZyIs
IHBhdGNoKQogICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IsIGU6CiAgICAgICAgICAgICBzZWxm
Ll91cGRhdGVfc3RhdHVzKCJVbmFibGUgdG8gcGVyZm9ybSBhIGJ1aWxkIikKQEAgLTUxLDcgKzUx
LDcgQEAgY2xhc3MgQWJzdHJhY3RFYXJseVdhcm5pbmdTeXN0ZW0oQWJzdHJhY3RSZXZpZXdRdWV1
ZSk6CiAKICAgICBkZWYgcHJvY2Vzc193b3JrX2l0ZW0oc2VsZiwgcGF0Y2gpOgogICAgICAgICB0
cnk6Ci0gICAgICAgICAgICBzZWxmLnJ1bl9idWd6aWxsYV90b29sKFsKKyAgICAgICAgICAgIHNl
bGYucnVuX3dlYmtpdF9wYXRjaChbCiAgICAgICAgICAgICAgICAgImJ1aWxkLWF0dGFjaG1lbnQi
LAogICAgICAgICAgICAgICAgIHNlbGYucG9ydC5mbGFnKCksCiAgICAgICAgICAgICAgICAgIi0t
Zm9yY2UtY2xlYW4iLApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tYW5kcy9xdWVyaWVzLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tYW5k
cy9xdWVyaWVzLnB5CmluZGV4IGJjOGI2NDEuLmE1YzU0NzIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbWFuZHMvcXVlcmllcy5weQorKysgYi9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1hbmRzL3F1ZXJpZXMucHkKQEAgLTExOCw3ICsxMTgsNiBA
QCBjbGFzcyBSZXZpZXdlZFBhdGNoZXMoQWJzdHJhY3REZWNsYXJhdGl2ZUNvbW1tYW5kKToKIAog
Y2xhc3MgVHJlZVN0YXR1cyhBYnN0cmFjdERlY2xhcmF0aXZlQ29tbW1hbmQpOgogICAgIG5hbWUg
PSAidHJlZS1zdGF0dXMiCi0gICAgc2hvd19pbl9tYWluX2hlbHAgPSBUcnVlCiAgICAgaGVscF90
ZXh0ID0gIlByaW50IHRoZSBzdGF0dXMgb2YgdGhlICVzIGJ1aWxkYm90cyIgJSBCdWlsZEJvdC5k
ZWZhdWx0X2hvc3QKICAgICBsb25nX2hlbHAgPSAiIiJGZXRjaGVzIGJ1aWxkIHN0YXR1cyBmcm9t
IGh0dHA6Ly9idWlsZC53ZWJraXQub3JnL29uZV9ib3hfcGVyX2J1aWxkZXIKIGFuZCBkaXNwbGF5
ZXMgdGhlIHN0YXR1cyBvZiBlYWNoIGJ1aWxkZXIuIiIiCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1hbmRzL3F1ZXVlcy5weSBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbWFuZHMvcXVldWVzLnB5CmluZGV4IDczNGZlZjMuLjdhOWM1ODAgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbWFuZHMvcXVldWVzLnB5
CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbWFuZHMvcXVldWVzLnB5CkBA
IC0xMDYsMTIgKzEwNiwxMiBAQCBjbGFzcyBBYnN0cmFjdFF1ZXVlKENvbW1hbmQsIFF1ZXVlRW5n
aW5lRGVsZWdhdGUpOgogICAgIGRlZiBoYW5kbGVfdW5leHBlY3RlZF9lcnJvcihzZWxmLCB3b3Jr
X2l0ZW0sIG1lc3NhZ2UpOgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yLCAic3Vi
Y2xhc3NlcyBtdXN0IGltcGxlbWVudCIKIAotICAgIGRlZiBydW5fYnVnemlsbGFfdG9vbChzZWxm
LCBhcmdzKToKLSAgICAgICAgYnVnemlsbGFfdG9vbF9hcmdzID0gW3NlbGYudG9vbC5wYXRoKCld
CisgICAgZGVmIHJ1bl93ZWJraXRfcGF0Y2goc2VsZiwgYXJncyk6CisgICAgICAgIHdlYmtpdF9w
YXRjaF9hcmdzID0gW3NlbGYudG9vbC5wYXRoKCldCiAgICAgICAgICMgRklYTUU6IFRoaXMgaXMg
YSBoYWNrLCB3ZSBzaG91bGQgaGF2ZSBhIG1vcmUgZ2VuZXJhbCB3YXkgdG8gcGFzcyBnbG9iYWwg
b3B0aW9ucy4KLSAgICAgICAgYnVnemlsbGFfdG9vbF9hcmdzICs9IFsiLS1zdGF0dXMtaG9zdD0l
cyIgJSBzZWxmLnRvb2wuc3RhdHVzX3NlcnZlci5ob3N0XQotICAgICAgICBidWd6aWxsYV90b29s
X2FyZ3MgKz0gbWFwKHN0ciwgYXJncykKLSAgICAgICAgc2VsZi50b29sLmV4ZWN1dGl2ZS5ydW5f
YW5kX3Rocm93X2lmX2ZhaWwoYnVnemlsbGFfdG9vbF9hcmdzKQorICAgICAgICB3ZWJraXRfcGF0
Y2hfYXJncyArPSBbIi0tc3RhdHVzLWhvc3Q9JXMiICUgc2VsZi50b29sLnN0YXR1c19zZXJ2ZXIu
aG9zdF0KKyAgICAgICAgd2Via2l0X3BhdGNoX2FyZ3MgKz0gbWFwKHN0ciwgYXJncykKKyAgICAg
ICAgc2VsZi50b29sLmV4ZWN1dGl2ZS5ydW5fYW5kX3Rocm93X2lmX2ZhaWwod2Via2l0X3BhdGNo
X2FyZ3MpCiAKICAgICBkZWYgbG9nX3Byb2dyZXNzKHNlbGYsIHBhdGNoX2lkcyk6CiAgICAgICAg
IGxvZygiJXMgaW4gJXMgWyVzXSIgJSAocGx1cmFsaXplKCJwYXRjaCIsIGxlbihwYXRjaF9pZHMp
KSwgc2VsZi5uYW1lLCAiLCAiLmpvaW4obWFwKHN0ciwgcGF0Y2hfaWRzKSkpKQpAQCAtMTQ3LDcg
KzE0Nyw3IEBAIGNsYXNzIENvbW1pdFF1ZXVlKEFic3RyYWN0UXVldWUsIFN0ZXBTZXF1ZW5jZUVy
cm9ySGFuZGxlcik6CiAKICAgICBkZWYgX2Nhbl9idWlsZF9hbmRfdGVzdChzZWxmKToKICAgICAg
ICAgdHJ5OgotICAgICAgICAgICAgc2VsZi5ydW5fYnVnemlsbGFfdG9vbChbImJ1aWxkLWFuZC10
ZXN0IiwgIi0tZm9yY2UtY2xlYW4iLCAiLS1ub24taW50ZXJhY3RpdmUiLCAiLS1idWlsZC1zdHls
ZT1ib3RoIiwgIi0tcXVpZXQiXSkKKyAgICAgICAgICAgIHNlbGYucnVuX3dlYmtpdF9wYXRjaChb
ImJ1aWxkLWFuZC10ZXN0IiwgIi0tZm9yY2UtY2xlYW4iLCAiLS1ub24taW50ZXJhY3RpdmUiLCAi
LS1idWlsZC1zdHlsZT1ib3RoIiwgIi0tcXVpZXQiXSkKICAgICAgICAgZXhjZXB0IFNjcmlwdEVy
cm9yLCBlOgogICAgICAgICAgICAgc2VsZi5fdXBkYXRlX3N0YXR1cygiVW5hYmxlZCB0byBzdWNj
ZXNzZnVsbHkgYnVpbGQgYW5kIHRlc3QiLCBOb25lKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNl
CkBAIC0xNzcsNyArMTc3LDcgQEAgY2xhc3MgQ29tbWl0UXVldWUoQWJzdHJhY3RRdWV1ZSwgU3Rl
cFNlcXVlbmNlRXJyb3JIYW5kbGVyKToKICAgICAgICAgICAgICMgV2UgcGFzcyAtLW5vLXVwZGF0
ZSBoZXJlIGJlY2F1c2Ugd2UndmUgYWxyZWFkeSB2YWxpZGF0ZWQKICAgICAgICAgICAgICMgdGhh
dCB0aGUgY3VycmVudCByZXZpc2lvbiBhY3R1YWxseSBidWlsZHMgYW5kIHBhc3NlcyB0aGUgdGVz
dHMuCiAgICAgICAgICAgICAjIElmIHdlIHVwZGF0ZSwgd2UgcmlzayBtb3ZpbmcgdG8gYSByZXZp
c2lvbiB0aGF0IGRvZXNuJ3QhCi0gICAgICAgICAgICBzZWxmLnJ1bl9idWd6aWxsYV90b29sKFsi
bGFuZC1hdHRhY2htZW50IiwgIi0tZm9yY2UtY2xlYW4iLCAiLS1ub24taW50ZXJhY3RpdmUiLCAi
LS1uby11cGRhdGUiLCAiLS1wYXJlbnQtY29tbWFuZD1jb21taXQtcXVldWUiLCAiLS1idWlsZC1z
dHlsZT1ib3RoIiwgIi0tcXVpZXQiLCBwYXRjaFsiaWQiXV0pCisgICAgICAgICAgICBzZWxmLnJ1
bl93ZWJraXRfcGF0Y2goWyJsYW5kLWF0dGFjaG1lbnQiLCAiLS1mb3JjZS1jbGVhbiIsICItLW5v
bi1pbnRlcmFjdGl2ZSIsICItLW5vLXVwZGF0ZSIsICItLXBhcmVudC1jb21tYW5kPWNvbW1pdC1x
dWV1ZSIsICItLWJ1aWxkLXN0eWxlPWJvdGgiLCAiLS1xdWlldCIsIHBhdGNoWyJpZCJdXSkKICAg
ICAgICAgICAgIHNlbGYuX2RpZF9wYXNzKHBhdGNoKQogICAgICAgICBleGNlcHQgU2NyaXB0RXJy
b3IsIGU6CiAgICAgICAgICAgICBzZWxmLl9kaWRfZmFpbChwYXRjaCkKQEAgLTI1NSw3ICsyNTUs
NyBAQCBjbGFzcyBTdHlsZVF1ZXVlKEFic3RyYWN0UmV2aWV3UXVldWUpOgogCiAgICAgZGVmIHBy
b2Nlc3Nfd29ya19pdGVtKHNlbGYsIHBhdGNoKToKICAgICAgICAgdHJ5OgotICAgICAgICAgICAg
c2VsZi5ydW5fYnVnemlsbGFfdG9vbChbImNoZWNrLXN0eWxlIiwgIi0tZm9yY2UtY2xlYW4iLCAi
LS1ub24taW50ZXJhY3RpdmUiLCAiLS1wYXJlbnQtY29tbWFuZD1zdHlsZS1xdWV1ZSIsIHBhdGNo
WyJpZCJdXSkKKyAgICAgICAgICAgIHNlbGYucnVuX3dlYmtpdF9wYXRjaChbImNoZWNrLXN0eWxl
IiwgIi0tZm9yY2UtY2xlYW4iLCAiLS1ub24taW50ZXJhY3RpdmUiLCAiLS1wYXJlbnQtY29tbWFu
ZD1zdHlsZS1xdWV1ZSIsIHBhdGNoWyJpZCJdXSkKICAgICAgICAgICAgIG1lc3NhZ2UgPSAiJXMg
cmFuIGNoZWNrLXdlYmtpdC1zdHlsZSBvbiBhdHRhY2htZW50ICVzIHdpdGhvdXQgYW55IGVycm9y
cy4iICUgKHNlbGYubmFtZSwgcGF0Y2hbImlkIl0pCiAgICAgICAgICAgICBzZWxmLnRvb2wuYnVn
cy5wb3N0X2NvbW1lbnRfdG9fYnVnKHBhdGNoWyJidWdfaWQiXSwgbWVzc2FnZSwgY2M9c2VsZi53
YXRjaGVycykKICAgICAgICAgICAgIHNlbGYuX2RpZF9wYXNzKHBhdGNoKQpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tYW5kcy9xdWV1ZXNfdW5pdHRlc3QucHkg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1hbmRzL3F1ZXVlc191bml0dGVzdC5w
eQppbmRleCBiOTg1MjU0Li4wYzkxMmY4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1hbmRzL3F1ZXVlc191bml0dGVzdC5weQorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1hbmRzL3F1ZXVlc191bml0dGVzdC5weQpAQCAtNDksMTggKzQ5
LDE4IEBAIGNsYXNzIEFic3RyYWN0UXVldWVUZXN0KENvbW1hbmRzVGVzdCk6CiAgICAgICAgIHNl
bGYuX2Fzc2VydF9sb2dfcHJvZ3Jlc3Nfb3V0cHV0KFsiMSIsIjIiLCIzIl0sICIzIHBhdGNoZXMg
aW4gdGVzdC1xdWV1ZSBbMSwgMiwgM11cbiIpCiAgICAgICAgIHNlbGYuX2Fzc2VydF9sb2dfcHJv
Z3Jlc3Nfb3V0cHV0KFsxXSwgIjEgcGF0Y2ggaW4gdGVzdC1xdWV1ZSBbMV1cbiIpCiAKLSAgICBk
ZWYgX2Fzc2VydF9ydW5fYnVnemlsbGFfdG9vbChzZWxmLCBydW5fYXJncyk6CisgICAgZGVmIF9h
c3NlcnRfcnVuX3dlYmtpdF9wYXRjaChzZWxmLCBydW5fYXJncyk6CiAgICAgICAgIHF1ZXVlID0g
VGVzdFF1ZXVlKCkKICAgICAgICAgdG9vbCA9IE1vY2tCdWd6aWxsYVRvb2woKQogICAgICAgICBx
dWV1ZS5iaW5kX3RvX3Rvb2wodG9vbCkKIAotICAgICAgICBxdWV1ZS5ydW5fYnVnemlsbGFfdG9v
bChydW5fYXJncykKKyAgICAgICAgcXVldWUucnVuX3dlYmtpdF9wYXRjaChydW5fYXJncykKICAg
ICAgICAgZXhwZWN0ZWRfcnVuX2FyZ3MgPSBbImVjaG8iLCAiLS1zdGF0dXMtaG9zdD1leGFtcGxl
LmNvbSJdICsgbWFwKHN0ciwgcnVuX2FyZ3MpCiAgICAgICAgIHRvb2wuZXhlY3V0aXZlLnJ1bl9h
bmRfdGhyb3dfaWZfZmFpbC5hc3NlcnRfY2FsbGVkX3dpdGgoZXhwZWN0ZWRfcnVuX2FyZ3MpCiAK
LSAgICBkZWYgdGVzdF9ydW5fYnVnemlsbGFfdG9vbChzZWxmKToKLSAgICAgICAgc2VsZi5fYXNz
ZXJ0X3J1bl9idWd6aWxsYV90b29sKFsxXSkKLSAgICAgICAgc2VsZi5fYXNzZXJ0X3J1bl9idWd6
aWxsYV90b29sKFsib25lIiwgMl0pCisgICAgZGVmIHRlc3RfcnVuX3dlYmtpdF9wYXRjaChzZWxm
KToKKyAgICAgICAgc2VsZi5fYXNzZXJ0X3J1bl93ZWJraXRfcGF0Y2goWzFdKQorICAgICAgICBz
ZWxmLl9hc3NlcnRfcnVuX3dlYmtpdF9wYXRjaChbIm9uZSIsIDJdKQogCiAKIGNsYXNzIENvbW1p
dFF1ZXVlVGVzdChRdWV1ZXNUZXN0KToKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbWFuZHMvdXBsb2FkLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tYW5kcy91cGxvYWQucHkKaW5kZXggN2NhMjFiMS4uNTc1ZDg0MyAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tYW5kcy91cGxvYWQucHkKKysrIGIvV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tYW5kcy91cGxvYWQucHkKQEAgLTEwOSwxMSAr
MTA5LDEwIEBAIGNsYXNzIEFic3RyYWN0UGF0Y2hVcGxvYWRpbmdDb21tYW5kKEFic3RyYWN0U2Vx
dWVuY2VkQ29tbW1hbmQpOgogICAgICAgICByZXR1cm4gYnVnX2lkCiAKIAotY2xhc3MgUG9zdERp
ZmYoQWJzdHJhY3RQYXRjaFVwbG9hZGluZ0NvbW1hbmQpOgotICAgIG5hbWUgPSAicG9zdC1kaWZm
IgorY2xhc3MgUG9zdChBYnN0cmFjdFBhdGNoVXBsb2FkaW5nQ29tbWFuZCk6CisgICAgbmFtZSA9
ICJwb3N0IgogICAgIGhlbHBfdGV4dCA9ICJBdHRhY2ggdGhlIGN1cnJlbnQgd29ya2luZyBkaXJl
Y3RvcnkgZGlmZiB0byBhIGJ1ZyBhcyBhIHBhdGNoIGZpbGUiCiAgICAgYXJndW1lbnRfbmFtZXMg
PSAiW0JVR0lEXSIKLSAgICBzaG93X2luX21haW5faGVscCA9IFRydWUKICAgICBzdGVwcyA9IFsK
ICAgICAgICAgc3RlcHMuQ29uZmlybURpZmYsCiAgICAgICAgIHN0ZXBzLk9ic29sZXRlUGF0Y2hl
cywKQEAgLTEyOCw4ICsxMjcsOCBAQCBjbGFzcyBQb3N0RGlmZihBYnN0cmFjdFBhdGNoVXBsb2Fk
aW5nQ29tbWFuZCk6CiAgICAgICAgIHJldHVybiBzdGF0ZQogCiAKLWNsYXNzIFByZXBhcmVEaWZm
KEFic3RyYWN0U2VxdWVuY2VkQ29tbW1hbmQpOgotICAgIG5hbWUgPSAicHJlcGFyZS1kaWZmIgor
Y2xhc3MgUHJlcGFyZShBYnN0cmFjdFNlcXVlbmNlZENvbW1tYW5kKToKKyAgICBuYW1lID0gInBy
ZXBhcmUiCiAgICAgaGVscF90ZXh0ID0gIkNyZWF0ZXMgYSBidWcgKG9yIHByb21wdHMgZm9yIGFu
IGV4aXN0aW5nIGJ1ZykgYW5kIHByZXBhcmVzIHRoZSBDaGFuZ2VMb2dzIgogICAgIGFyZ3VtZW50
X25hbWVzID0gIltCVUdJRF0iCiAgICAgc3RlcHMgPSBbCkBAIC0xNDMsMTAgKzE0MiwxMSBAQCBj
bGFzcyBQcmVwYXJlRGlmZihBYnN0cmFjdFNlcXVlbmNlZENvbW1tYW5kKToKICAgICAgICAgcmV0
dXJuIHsgImJ1Z19pZCIgOiBidWdfaWQgfQogCiAKLWNsYXNzIFN1Ym1pdFBhdGNoKEFic3RyYWN0
UGF0Y2hVcGxvYWRpbmdDb21tYW5kKToKLSAgICBuYW1lID0gInN1Ym1pdC1wYXRjaCIKK2NsYXNz
IFVwbG9hZChBYnN0cmFjdFBhdGNoVXBsb2FkaW5nQ29tbWFuZCk6CisgICAgbmFtZSA9ICJ1cGxv
YWQiCiAgICAgaGVscF90ZXh0ID0gIkF1dG9tYXRlcyB0aGUgcHJvY2VzcyBvZiB1cGxvYWRpbmcg
YSBwYXRjaCBmb3IgcmV2aWV3IgogICAgIGFyZ3VtZW50X25hbWVzID0gIltCVUdJRF0iCisgICAg
c2hvd19pbl9tYWluX2hlbHAgPSBUcnVlCiAgICAgc3RlcHMgPSBbCiAgICAgICAgIHN0ZXBzLlBy
b21wdEZvckJ1Z09yVGl0bGUsCiAgICAgICAgIHN0ZXBzLkNyZWF0ZUJ1ZywKQEAgLTE1NiwxMCAr
MTU2LDEwIEBAIGNsYXNzIFN1Ym1pdFBhdGNoKEFic3RyYWN0UGF0Y2hVcGxvYWRpbmdDb21tYW5k
KToKICAgICAgICAgc3RlcHMuT2Jzb2xldGVQYXRjaGVzLAogICAgICAgICBzdGVwcy5Qb3N0RGlm
ZiwKICAgICBdCi0gICAgbG9uZ19oZWxwID0gIiIic3VibWl0LXBhdGNoIHVwbG9hZHMgdGhlIGN1
cnJlbnQgZGlmZiB0byBidWdzLndlYmtpdC5vcmcuCi0gICAgSWYgbm8gYnVnIGlkIGlzIHByb3Zp
ZGVkLCBzdWJtaXQtcGF0Y2ggd2lsbCBjcmVhdGUgYSBidWcuCi0gICAgSWYgdGhlIGN1cnJlbnQg
ZGlmZiBkb2VzIG5vdCBoYXZlIGEgQ2hhbmdlTG9nLCBzdWJtaXQtcGF0Y2gKLSAgICB3aWxsIHBy
ZXBhcmUgYSBDaGFuZ2VMb2cuICBPbmNlIGEgcGF0Y2ggaXMgcmVhZCwgc3VibWl0LXBhdGNoCisg
ICAgbG9uZ19oZWxwID0gIiIidXBsb2FkIHVwbG9hZHMgdGhlIGN1cnJlbnQgZGlmZiB0byBidWdz
LndlYmtpdC5vcmcuCisgICAgSWYgbm8gYnVnIGlkIGlzIHByb3ZpZGVkLCB1cGxvYWQgd2lsbCBj
cmVhdGUgYSBidWcuCisgICAgSWYgdGhlIGN1cnJlbnQgZGlmZiBkb2VzIG5vdCBoYXZlIGEgQ2hh
bmdlTG9nLCB1cGxvYWQKKyAgICB3aWxsIHByZXBhcmUgYSBDaGFuZ2VMb2cuICBPbmNlIGEgcGF0
Y2ggaXMgcmVhZCwgdXBsb2FkCiAgICAgd2lsbCBvcGVuIHRoZSBDaGFuZ2VMb2dzIGZvciBlZGl0
aW5nIHVzaW5nIHRoZSBjb21tYW5kIGluIHRoZQogICAgIEVESVRPUiBlbnZpcm9ubWVudCB2YXJp
YWJsZSBhbmQgd2lsbCBkaXNwbGF5IHRoZSBkaWZmIHVzaW5nIHRoZQogICAgIGNvbW1hbmQgaW4g
dGhlIFBBR0VSIGVudmlyb25tZW50IHZhcmlhYmxlLiIiIgpAQCAtMTcwLDkgKzE3MCwxMCBAQCBj
bGFzcyBTdWJtaXRQYXRjaChBYnN0cmFjdFBhdGNoVXBsb2FkaW5nQ29tbWFuZCk6CiAgICAgICAg
IHJldHVybiBzdGF0ZQogCiAKLWNsYXNzIEVkaXRDaGFuZ2VMb2coQWJzdHJhY3RTZXF1ZW5jZWRD
b21tbWFuZCk6Ci0gICAgbmFtZSA9ICJlZGl0LWNoYW5nZWxvZyIKK2NsYXNzIEVkaXRDaGFuZ2VM
b2dzKEFic3RyYWN0U2VxdWVuY2VkQ29tbW1hbmQpOgorICAgIG5hbWUgPSAiZWRpdC1jaGFuZ2Vs
b2dzIgogICAgIGhlbHBfdGV4dCA9ICJPcGVucyBtb2RpZmllZCBDaGFuZ2VMb2dzIGluICRFRElU
T1IiCisgICAgc2hvd19pbl9tYWluX2hlbHAgPSBUcnVlCiAgICAgc3RlcHMgPSBbCiAgICAgICAg
IHN0ZXBzLkVkaXRDaGFuZ2VMb2csCiAgICAgXQpAQCAtMTgwLDcgKzE4MSw2IEBAIGNsYXNzIEVk
aXRDaGFuZ2VMb2coQWJzdHJhY3RTZXF1ZW5jZWRDb21tbWFuZCk6CiAKIGNsYXNzIFBvc3RDb21t
aXRzKEFic3RyYWN0RGVjbGFyYXRpdmVDb21tbWFuZCk6CiAgICAgbmFtZSA9ICJwb3N0LWNvbW1p
dHMiCi0gICAgc2hvd19pbl9tYWluX2hlbHAgPSBUcnVlCiAgICAgaGVscF90ZXh0ID0gIkF0dGFj
aCBhIHJhbmdlIG9mIGxvY2FsIGNvbW1pdHMgdG8gYnVncyBhcyBwYXRjaCBmaWxlcyIKICAgICBh
cmd1bWVudF9uYW1lcyA9ICJDT01NSVRJU0giCiAgICAgCkBAIC0yMTAsNyArMjEwLDcgQEAgY2xh
c3MgUG9zdENvbW1pdHMoQWJzdHJhY3REZWNsYXJhdGl2ZUNvbW1tYW5kKToKICAgICBkZWYgZXhl
Y3V0ZShzZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToKICAgICAgICAgY29tbWl0X2lkcyA9IHRv
b2wuc2NtKCkuY29tbWl0X2lkc19mcm9tX2NvbW1pdGlzaF9hcmd1bWVudHMoYXJncykKICAgICAg
ICAgaWYgbGVuKGNvbW1pdF9pZHMpID4gMTA6ICMgV2UgY291bGQgbG93ZXIgdGhpcyBsaW1pdCwg
MTAgaXMgdG9vIG1hbnkgZm9yIG9uZSBidWcgYXMtaXMuCi0gICAgICAgICAgICBlcnJvcigiYnVn
emlsbGEtdG9vbCBkb2VzIG5vdCBzdXBwb3J0IGF0dGFjaGluZyAlcyBhdCBvbmNlLiAgQXJlIHlv
dSBzdXJlIHlvdSBwYXNzZWQgdGhlIHJpZ2h0IGNvbW1pdCByYW5nZT8iICUgKHBsdXJhbGl6ZSgi
cGF0Y2giLCBsZW4oY29tbWl0X2lkcykpKSkKKyAgICAgICAgICAgIGVycm9yKCJ3ZWJraXQtcGF0
Y2ggZG9lcyBub3Qgc3VwcG9ydCBhdHRhY2hpbmcgJXMgYXQgb25jZS4gIEFyZSB5b3Ugc3VyZSB5
b3UgcGFzc2VkIHRoZSByaWdodCBjb21taXQgcmFuZ2U/IiAlIChwbHVyYWxpemUoInBhdGNoIiwg
bGVuKGNvbW1pdF9pZHMpKSkpCiAKICAgICAgICAgaGF2ZV9vYnNvbGV0ZWRfcGF0Y2hlcyA9IHNl
dCgpCiAgICAgICAgIGZvciBjb21taXRfaWQgaW4gY29tbWl0X2lkczoKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbWFuZHMvdXBsb2FkX3VuaXR0ZXN0LnB5IGIv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tYW5kcy91cGxvYWRfdW5pdHRlc3QucHkK
aW5kZXggMjE3YzJkMi4uNjI3ZjYwYyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tYW5kcy91cGxvYWRfdW5pdHRlc3QucHkKKysrIGIvV2ViS2l0VG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tYW5kcy91cGxvYWRfdW5pdHRlc3QucHkKQEAgLTU0LDE3ICs1NCwx
NyBAQCBjbGFzcyBVcGxvYWRDb21tYW5kc1Rlc3QoQ29tbWFuZHNUZXN0KToKIAogICAgIGRlZiB0
ZXN0X3Bvc3RfZGlmZihzZWxmKToKICAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk9ic29sZXRp
bmcgMiBvbGQgcGF0Y2hlcyBvbiBidWcgNDJcbiIKLSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0
ZV9vdXRwdXRzKFBvc3REaWZmKCksIFs0Ml0sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRl
cnIpCisgICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhQb3N0KCksIFs0Ml0sIGV4
cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCiAKICAgICBkZWYgdGVzdF9wcmVwYXJlX2Rp
ZmZfd2l0aF9hcmcoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhQ
cmVwYXJlRGlmZigpLCBbNDJdKQorICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMo
UHJlcGFyZSgpLCBbNDJdKQogCiAgICAgZGVmIHRlc3RfcHJlcGFyZV9kaWZmKHNlbGYpOgotICAg
ICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoUHJlcGFyZURpZmYoKSwgW10pCisgICAg
ICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhQcmVwYXJlKCksIFtdKQogCiAgICAgZGVm
IHRlc3Rfc3VibWl0X3BhdGNoKHNlbGYpOgogICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiT2Jz
b2xldGluZyAyIG9sZCBwYXRjaGVzIG9uIGJ1ZyA0MlxuIgotICAgICAgICBzZWxmLmFzc2VydF9l
eGVjdXRlX291dHB1dHMoU3VibWl0UGF0Y2goKSwgWzQyXSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVj
dGVkX3N0ZGVycikKKyAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKFVwbG9hZCgp
LCBbNDJdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQogCiAgICAgZGVmIHRlc3Rf
bWFya19idWdfZml4ZWQoc2VsZik6CiAgICAgICAgIHRvb2wgPSBNb2NrQnVnemlsbGFUb29sKCkK
QEAgLTc1LDQgKzc1LDQgQEAgY2xhc3MgVXBsb2FkQ29tbWFuZHNUZXN0KENvbW1hbmRzVGVzdCk6
CiAgICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhNYXJrQnVnRml4ZWQoKSwgW10s
IGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIHRvb2w9dG9vbCwgb3B0aW9ucz1vcHRp
b25zKQogCiAgICAgZGVmIHRlc3RfZWRpdF9jaGFuZ2Vsb2coc2VsZik6Ci0gICAgICAgIHNlbGYu
YXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhFZGl0Q2hhbmdlTG9nKCksIFtdKQorICAgICAgICBzZWxm
LmFzc2VydF9leGVjdXRlX291dHB1dHMoRWRpdENoYW5nZUxvZ3MoKSwgW10pCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3F1ZXVlZW5naW5lLnB5IGIvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRweS9xdWV1ZWVuZ2luZS5weQppbmRleCA1OTE4MGZmLi5kMTQxNzdk
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3F1ZXVlZW5naW5lLnB5
CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcXVldWVlbmdpbmUucHkKQEAgLTEw
Nyw3ICsxMDcsNyBAQCBjbGFzcyBRdWV1ZUVuZ2luZToKICAgICAgICAgICAgICAgICAgICAgIyBo
YW5kbGVkIGluIHRoZSBjaGlsZCBwcm9jZXNzIGFuZCB3ZSBzaG91bGQganVzdCBrZWVwIGxvb3Bp
bmcuCiAgICAgICAgICAgICAgICAgICAgIGlmIGUuZXhpdF9jb2RlID09IHNlbGYuaGFuZGxlZF9l
cnJvcl9jb2RlOgogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAg
ICAgICAgICAgbWVzc2FnZSA9ICJVbmV4cGVjdGVkIGZhaWx1cmUgd2hlbiBsYW5kaW5nIHBhdGNo
ISAgUGxlYXNlIGZpbGUgYSBidWcgYWdhaW5zdCBidWd6aWxsYS10b29sLlxuJXMiICUgZS5tZXNz
YWdlX3dpdGhfb3V0cHV0KCkKKyAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJVbmV4cGVj
dGVkIGZhaWx1cmUgd2hlbiBsYW5kaW5nIHBhdGNoISAgUGxlYXNlIGZpbGUgYSBidWcgYWdhaW5z
dCB3ZWJraXQtcGF0Y2guXG4lcyIgJSBlLm1lc3NhZ2Vfd2l0aF9vdXRwdXQoKQogICAgICAgICAg
ICAgICAgICAgICBzZWxmLl9kZWxlZ2F0ZS5oYW5kbGVfdW5leHBlY3RlZF9lcnJvcih3b3JrX2l0
ZW0sIG1lc3NhZ2UpCiAgICAgICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQsIGU6CiAg
ICAgICAgICAgICAgICAgbG9nKCJcblVzZXIgdGVybWluYXRlZCBxdWV1ZS4iKQpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdGVwcy9jb21wbGV0ZXJvbGxvdXQucHkg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0ZXBzL2NvbXBsZXRlcm9sbG91dC5weQpp
bmRleCAxZGM1MmRlLi44NTM0OTU2IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0ZXBzL2NvbXBsZXRlcm9sbG91dC5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3N0ZXBzL2NvbXBsZXRlcm9sbG91dC5weQpAQCAtNTEsNyArNTEsNyBAQCBjbGFz
cyBDb21wbGV0ZVJvbGxvdXQoTWV0YVN0ZXApOgogICAgICAgICAjIEZJWE1FOiBGdWxseSBhdXRv
bWF0ZWQgcm9sbG91dCBpcyBub3QgMTAwJSBpZGlvdC1wcm9vZiB5ZXQsIHNvIGZvciBub3cganVz
dCBsb2cgd2l0aCBpbnN0cnVjdGlvbnMgb24gaG93IHRvIGNvbXBsZXRlIHRoZSByb2xsb3V0Lgog
ICAgICAgICAjIE9uY2Ugd2UgdHJ1c3Qgcm9sbG91dCB3ZSB3aWxsIHJlbW92ZSB0aGlzIG9wdGlv
bi4KICAgICAgICAgaWYgbm90IHNlbGYuX29wdGlvbnMuY29tcGxldGVfcm9sbG91dDoKLSAgICAg
ICAgICAgIGxvZygiXG5OT1RFOiBSb2xsb3V0IHN1cHBvcnQgaXMgZXhwZXJpbWVudGFsLlxuUGxl
YXNlIHZlcmlmeSB0aGUgcm9sbG91dCBkaWZmIGFuZCB1c2UgXCJidWd6aWxsYS10b29sIGxhbmQt
ZGlmZiAlc1wiIHRvIGNvbW1pdCB0aGUgcm9sbG91dC4iICUgYnVnX2lkKQorICAgICAgICAgICAg
bG9nKCJcbk5PVEU6IFJvbGxvdXQgc3VwcG9ydCBpcyBleHBlcmltZW50YWwuXG5QbGVhc2UgdmVy
aWZ5IHRoZSByb2xsb3V0IGRpZmYgYW5kIHVzZSBcIndlYmtpdC1wYXRjaCBsYW5kICVzXCIgdG8g
Y29tbWl0IHRoZSByb2xsb3V0LiIgJSBidWdfaWQpCiAgICAgICAgICAgICByZXR1cm4KIAogICAg
ICAgICBNZXRhU3RlcC5ydW4oc2VsZiwgc3RhdGUpCg==
</data>
<flag name="review"
          id="28220"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>