<?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>218360</bug_id>
          
          <creation_ts>2020-10-29 15:29:14 -0700</creation_ts>
          <short_desc>[webkitscmpy] Add checkout command</short_desc>
          <delta_ts>2020-11-04 16:05:56 -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>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=215862</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>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1702895</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-10-29 15:29:14 -0700</bug_when>
    <thetext>We need a checkout command on local repository.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702896</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-29 15:30:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/70828312&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702898</commentid>
    <comment_count>2</comment_count>
      <attachid>412693</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-10-29 15:36:24 -0700</bug_when>
    <thetext>Created attachment 412693
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704550</commentid>
    <comment_count>3</comment_count>
    <who name="">dewei_zhu</who>
    <bug_when>2020-11-04 12:02:22 -0800</bug_when>
    <thetext>r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704629</commentid>
    <comment_count>4</comment_count>
      <attachid>413215</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-11-04 15:13:10 -0800</bug_when>
    <thetext>Created attachment 413215
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704648</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-04 16:05:55 -0800</bug_when>
    <thetext>Committed r269401: &lt;https://trac.webkit.org/changeset/269401&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413215.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412693</attachid>
            <date>2020-10-29 15:36:24 -0700</date>
            <delta_ts>2020-11-04 15:13:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218360-20201029153623.patch</filename>
            <type>text/plain</type>
            <size>21767</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2OTE3MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDM2IEBACisyMDIwLTEwLTI5ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0c2NtcHldIEFkZCBjaGVja291dCBjb21tYW5kCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTgzNjAKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzcwODI4MzEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0
c2NtcHkvbG9jYWwvZ2l0LnB5OgorICAgICAgICAoR2l0LmNoZWNrb3V0KTogQ2hlY2tvdXQgcmVw
b3NpdG9yeSB0byBzcGVjaWZpZWQgY29tbWl0LCBicmFuY2ggb3IgdGFnLgorICAgICAgICAqIFNj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL3NjbS5weToKKyAg
ICAgICAgKFNjbS5jaGVja291dCk6IENoZWNrb3V0IHJlcG9zaXRvcnkgdG8gc3BlY2lmaWVkIGNv
bW1pdCwgYnJhbmNoIG9yIHRhZy4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRz
Y21weS93ZWJraXRzY21weS9sb2NhbC9zdm4ucHk6CisgICAgICAgIChTdm4uY2hlY2tvdXQpOiBD
aGVja291dCByZXBvc2l0b3J5IHRvIHNwZWNpZmllZCBjb21taXQsIGJyYW5jaCBvciB0YWcuCisg
ICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3Mv
bG9jYWwvZ2l0LnB5OgorICAgICAgICAoR2l0Ll9faW5pdF9fKTogQWRkIGNvbmNlcHQgb2YgSEVB
RCBjb21taXQsIG1vY2sgYGdpdCBjaGVja291dGAgY29tbWFuZC4KKyAgICAgICAgKiBTY3JpcHRz
L2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9sb2NhbC9zdm4ucHk6Cisg
ICAgICAgIChTdm4uX19pbml0X18pOiBBZGQgY29uY2VwdCBvZiBIRUFEIGNvbW1pdCwgbW9jayBg
c3ZuIHVwIC1yICpgLgorICAgICAgICAoU3ZuLmJyYW5jaCk6IFRoZSBIRUFEJ3MgYnJhbmNoIGlz
IHRoZSBjdXJyZW50IGJyYW5jaC4KKyAgICAgICAgKFN2bi5maW5kKTogVXNlIHRoZSBIRUFEIG9m
IHRoZSByZXBvc2l0b3J5IGFzIHRoZSBkZWZhdWx0LgorICAgICAgICAoU3ZuLnVwKTogQ2hhbmdl
IHRoZSByZXBvc2l0b3J5J3MgSEVBRC4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJr
aXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtLnB5OgorICAgICAgICAoQ2hlY2tvdXQpOiBDaGVj
a291dCByZXBvc2l0b3J5IHRvIHNwZWNpZmllZCBjb21taXQuCisgICAgICAgIChtYWluKTogQWRk
IENoZWNrb3V0IHN1YmNvbW1hbmQuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0
c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9jaGVja291dF91bml0dGVzdC5weTogQWRkZWQuCisgICAg
ICAgIChUZXN0Q2hlY2tvdXQpOgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L3Rlc3QvZ2l0X3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdEdpdCk6
CisgICAgICAgIChUZXN0R2l0LnRlc3RfY2hlY2tvdXQpOgorICAgICAgICAqIFNjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rlc3Qvc3ZuX3VuaXR0ZXN0LnB5OgorICAg
ICAgICAoVGVzdFN2bik6CisgICAgICAgIChUZXN0U3ZuLnRlc3RfY2hlY2tvdXQpOgorCiAyMDIw
LTEwLTI5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVncmVz
c2lvbihQU09OKTogQmFjay9mb3J3YXJkIG5hdmlnYXRpb24gbWF5IGhhbmcKSW5kZXg6IFRvb2xz
L1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNj
bXB5L19faW5pdF9fLnB5CShyZXZpc2lvbiAyNjkxNTQpCisrKyBUb29scy9TY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weQkod29ya2luZyBjb3B5KQpA
QCAtNDYsNyArNDYsNyBAQCBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAgICJQbGVhc2UgaW5z
dGFsbCB3ZWJraXRjb3JlcHkgd2l0aCBgcGlwIGluc3RhbGwgd2Via2l0Y29yZXB5IC0tZXh0cmEt
aW5kZXgtdXJsIDxwYWNrYWdlIGluZGV4IFVSTD5gIgogICAgICkKIAotdmVyc2lvbiA9IFZlcnNp
b24oMCwgMiwgNikKK3ZlcnNpb24gPSBWZXJzaW9uKDAsIDMsIDApCiAKIEF1dG9JbnN0YWxsLnJl
Z2lzdGVyKFBhY2thZ2UoJ2RhdGV1dGlsJywgVmVyc2lvbigyLCA4LCAxKSwgcHlwaV9uYW1lPSdw
eXRob24tZGF0ZXV0aWwnKSkKIApJbmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0
c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRz
L2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtLnB5CShyZXZpc2lvbiAy
NjkxNTQpCisrKyBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21w
eS9wcm9ncmFtLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNiArMTE2LDQwIEBAIGNsYXNzIEZp
bmQoQ29tbWFuZCk6CiAgICAgICAgIHJldHVybiAwCiAKIAorY2xhc3MgQ2hlY2tvdXQoQ29tbWFu
ZCk6CisgICAgbmFtZSA9ICdjaGVja291dCcKKyAgICBoZWxwID0gJ0dpdmVuIGFuIGlkZW50aWZp
ZXIsIHJldmlzaW9uIG9yIGhhc2gsIG5vcm1hbGl6ZSBhbmQgY2hlY2tvdXQgdGhhdCBjb21taXQn
CisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgcGFyc2VyKGNscywgcGFyc2VyLCByZXBvc2l0
b3J5LCBsb2dnZXJzPU5vbmUpOgorICAgICAgICBhcmd1bWVudHMuTG9nZ2luZ0dyb3VwKAorICAg
ICAgICAgICAgcGFyc2VyLAorICAgICAgICAgICAgbG9nZ2Vycz1sb2dnZXJzLAorICAgICAgICAg
ICAgaGVscD0ne30gYW1vdW50IG9mIGxvZ2dpbmcgYW5kIGNvbW1pdCBpbmZvcm1hdGlvbiBkaXNw
bGF5ZWQnCisgICAgICAgICkKKworICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KAorICAgICAg
ICAgICAgJ2FyZ3VtZW50JywgbmFyZ3M9MSwKKyAgICAgICAgICAgIHR5cGU9c3RyLCBkZWZhdWx0
PU5vbmUsCisgICAgICAgICAgICBoZWxwPSdTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBjb21t
aXQgb3IgYnJhbmNoIHRvIGJlIG5vcm1hbGl6ZWQnLAorICAgICAgICApCisKKyAgICBAY2xhc3Nt
ZXRob2QKKyAgICBkZWYgbWFpbihjbHMsIGFyZ3MsIHJlcG9zaXRvcnkpOgorICAgICAgICB0cnk6
CisgICAgICAgICAgICBjb21taXQgPSByZXBvc2l0b3J5LmNoZWNrb3V0KGFyZ3MuYXJndW1lbnRb
MF0pCisgICAgICAgIGV4Y2VwdCAobG9jYWwuU2NtLkV4Y2VwdGlvbiwgVmFsdWVFcnJvcikgYXMg
ZXhjZXB0aW9uOgorICAgICAgICAgICAgIyBWYWx1ZUVycm9ycyBhbmQgU2NtIGV4Y2VwdGlvbnMg
dXN1YWxseSBjb250YWluIGVub3VnaCBpbmZvcm1hdGlvbiB0byBiZSBkaXNwbGF5ZWQKKyAgICAg
ICAgICAgICMgdG8gdGhlIHVzZXIgYXMgYW4gZXJyb3IKKyAgICAgICAgICAgIHN5cy5zdGRlcnIu
d3JpdGUoc3RyKGV4Y2VwdGlvbikgKyAnXG4nKQorICAgICAgICAgICAgcmV0dXJuIDEKKworICAg
ICAgICBpZiBub3QgY29tbWl0OgorICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiRmFpbGVk
IHRvIG1hcCAne30nXG4iLmZvcm1hdChhcmdzLmFyZ3VtZW50WzBdKSkKKyAgICAgICAgICAgIHJl
dHVybiAxCisgICAgICAgIHJldHVybiAwCisKKwogZGVmIG1haW4oYXJncz1Ob25lLCBwYXRoPU5v
bmUsIGxvZ2dlcnM9Tm9uZSk6CiAgICAgbG9nZ2luZy5iYXNpY0NvbmZpZyhsZXZlbD1sb2dnaW5n
LldBUk5JTkcpCiAKQEAgLTEzMCw3ICsxNjQsNyBAQCBkZWYgbWFpbihhcmdzPU5vbmUsIHBhdGg9
Tm9uZSwgbG9nZ2Vycz1OCiAgICAgYXJndW1lbnRzLkxvZ2dpbmdHcm91cChwYXJzZXIpCiAgICAg
c3VicGFyc2VycyA9IHBhcnNlci5hZGRfc3VicGFyc2VycyhoZWxwPSdzdWItY29tbWFuZCBoZWxw
JykKIAotICAgIGZvciBwcm9ncmFtIGluIFtGaW5kXToKKyAgICBmb3IgcHJvZ3JhbSBpbiBbRmlu
ZCwgQ2hlY2tvdXRdOgogICAgICAgICBzdWJwYXJzZXIgPSBzdWJwYXJzZXJzLmFkZF9wYXJzZXIo
cHJvZ3JhbS5uYW1lLCBoZWxwPXByb2dyYW0uaGVscCkKICAgICAgICAgc3VicGFyc2VyLnNldF9k
ZWZhdWx0cyhtYWluPXByb2dyYW0ubWFpbikKICAgICAgICAgcHJvZ3JhbS5wYXJzZXIoc3VicGFy
c2VyLCByZXBvc2l0b3J5PXJlcG9zaXRvcnksIGxvZ2dlcnM9bG9nZ2VycykKSW5kZXg6IFRvb2xz
L1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL2dpdC5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRz
Y21weS9sb2NhbC9naXQucHkJKHJldmlzaW9uIDI2OTE1NCkKKysrIFRvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL2dpdC5weQkod29ya2luZyBjb3B5
KQpAQCAtMjAsMTMgKzIwLDEzIEBACiAjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAKLWltcG9ydCBvcworaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCByZQogaW1wb3J0IHNpeAog
CiBmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgcnVuLCBkZWNvcmF0b3JzLCBUaW1lb3V0RXhwaXJl
ZAogZnJvbSB3ZWJraXRzY21weS5sb2NhbCBpbXBvcnQgU2NtCi1mcm9tIHdlYmtpdHNjbXB5IGlt
cG9ydCBDb21taXQsIENvbnRyaWJ1dG9yCitmcm9tIHdlYmtpdHNjbXB5IGltcG9ydCBDb21taXQs
IENvbnRyaWJ1dG9yLCBsb2cKIAogCiBjbGFzcyBHaXQoU2NtKToKQEAgLTI4Niw1ICsyODYsMzQg
QEAgY2xhc3MgR2l0KFNjbSk6CiAgICAgICAgICAgICBjd2Q9c2VsZi5yb290X3BhdGgsIGNhcHR1
cmVfb3V0cHV0PVRydWUsIGVuY29kaW5nPSd1dGYtOCcsCiAgICAgICAgICkKICAgICAgICAgaWYg
b3V0cHV0LnJldHVybmNvZGU6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCIne30nIGlz
IG5vdCBhbiBhcmd1ZW1lbnQgcmVjb2duaXplZCBieSBnaXQiLmZvcm1hdChhcmd1bWVudCkpCisg
ICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCIne30nIGlzIG5vdCBhbiBhcmd1bWVudCByZWNv
Z25pemVkIGJ5IGdpdCIuZm9ybWF0KGFyZ3VtZW50KSkKICAgICAgICAgcmV0dXJuIHNlbGYuY29t
bWl0KGhhc2g9b3V0cHV0LnN0ZG91dC5yc3RyaXAoKSkKKworICAgIGRlZiBjaGVja291dChzZWxm
LCBhcmd1bWVudCk6CisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGFyZ3VtZW50LCBzaXguc3Ry
aW5nX3R5cGVzKToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkV4cGVjdGVkICdhcmd1
bWVudCcgdG8gYmUgYSBzdHJpbmcsIG5vdCAne30nIi5mb3JtYXQodHlwZShhcmd1bWVudCkpKQor
CisgICAgICAgIGlmIGxvZy5sZXZlbCA+IGxvZ2dpbmcuV0FSTklORzoKKyAgICAgICAgICAgIGxv
Z19hcmcgPSBbJy1xJ10KKyAgICAgICAgZWxpZiBsb2cubGV2ZWwgPCBsb2dnaW5nLldBUk5JTkc6
CisgICAgICAgICAgICBsb2dfYXJnID0gWyctLXByb2dyZXNzJ10KKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIGxvZ19hcmcgPSBbXQorCisgICAgICAgIHBhcnNlZF9jb21taXQgPSBDb21taXQu
cGFyc2UoYXJndW1lbnQsIGRvX2Fzc2VydD1GYWxzZSkKKyAgICAgICAgaWYgcGFyc2VkX2NvbW1p
dDoKKyAgICAgICAgICAgIGNvbW1pdCA9IHNlbGYuY29tbWl0KAorICAgICAgICAgICAgICAgIGhh
c2g9cGFyc2VkX2NvbW1pdC5oYXNoLAorICAgICAgICAgICAgICAgIHJldmlzaW9uPXBhcnNlZF9j
b21taXQucmV2aXNpb24sCisgICAgICAgICAgICAgICAgaWRlbnRpZmllcj1wYXJzZWRfY29tbWl0
LmlkZW50aWZpZXIsCisgICAgICAgICAgICAgICAgYnJhbmNoPXBhcnNlZF9jb21taXQuYnJhbmNo
LAorICAgICAgICAgICAgKQorICAgICAgICAgICAgcmV0dXJuIE5vbmUgaWYgcnVuKAorICAgICAg
ICAgICAgICAgIFtzZWxmLmV4ZWN1dGFibGUoKSwgJ2NoZWNrb3V0J10gKyBbY29tbWl0Lmhhc2hd
ICsgbG9nX2FyZywKKyAgICAgICAgICAgICAgICBjd2Q9c2VsZi5yb290X3BhdGgsCisgICAgICAg
ICAgICApLnJldHVybmNvZGUgZWxzZSBjb21taXQKKworICAgICAgICByZXR1cm4gTm9uZSBpZiBy
dW4oCisgICAgICAgICAgICBbc2VsZi5leGVjdXRhYmxlKCksICdjaGVja291dCddICsgW2FyZ3Vt
ZW50XSArIGxvZ19hcmcsCisgICAgICAgICAgICBjd2Q9c2VsZi5yb290X3BhdGgsCisgICAgICAg
ICkucmV0dXJuY29kZSBlbHNlIHNlbGYuY29tbWl0KCkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL3NjbS5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9sb2NhbC9z
Y20ucHkJKHJldmlzaW9uIDI2OTE1NCkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtp
dHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL3NjbS5weQkod29ya2luZyBjb3B5KQpAQCAtMTQzLDYg
KzE0Myw5IEBAIGNsYXNzIFNjbShvYmplY3QpOgogICAgICAgICAgICAgYnJhbmNoPXJlc3VsdC5i
cmFuY2gsCiAgICAgICAgICkKIAorICAgIGRlZiBjaGVja291dChzZWxmLCBhcmd1bWVudCk6Cisg
ICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoKQorCiAgICAgZGVmIGNvbW1pdChzZWxm
LCBoYXNoPU5vbmUsIHJldmlzaW9uPU5vbmUsIGlkZW50aWZpZXI9Tm9uZSwgYnJhbmNoPU5vbmUs
IHRhZz1Ob25lKToKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigpCiAKSW5kZXg6
IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL3N2
bi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS9sb2NhbC9zdm4ucHkJKHJldmlzaW9uIDI2OTE1NCkKKysrIFRvb2xzL1Njcmlw
dHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL3N2bi5weQkod29ya2lu
ZyBjb3B5KQpAQCAtMjMsNiArMjMsNyBAQAogaW1wb3J0IGJpc2VjdAogaW1wb3J0IGNhbGVuZGFy
CiBpbXBvcnQganNvbgoraW1wb3J0IGxvZ2dpbmcKIGltcG9ydCBvcwogaW1wb3J0IHJlCiBpbXBv
cnQgc3VicHJvY2VzcwpAQCAtMzEsNyArMzIsNyBAQCBpbXBvcnQgc3lzCiBmcm9tIGRhdGV0aW1l
IGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRhCiBmcm9tIGRhdGV1dGlsIGltcG9ydCB0egogCi1m
cm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgcnVuLCBkZWNvcmF0b3JzCitmcm9tIHdlYmtpdGNvcmVw
eSBpbXBvcnQgbG9nLCBydW4sIGRlY29yYXRvcnMKIGZyb20gd2Via2l0c2NtcHkubG9jYWwuc2Nt
IGltcG9ydCBTY20KIGZyb20gd2Via2l0c2NtcHkgaW1wb3J0IENvbW1pdCwgQ29udHJpYnV0b3Is
IFZlcnNpb24KIApAQCAtMzkwLDMgKzM5MSwxNCBAQCBjbGFzcyBTdm4oU2NtKToKICAgICAgICAg
ICAgIGF1dGhvcj1hdXRob3IsCiAgICAgICAgICAgICBtZXNzYWdlPW1lc3NhZ2UsCiAgICAgICAg
ICkKKworICAgIGRlZiBjaGVja291dChzZWxmLCBhcmd1bWVudCk6CisgICAgICAgIGNvbW1pdCA9
IHNlbGYuZmluZChhcmd1bWVudCkKKyAgICAgICAgaWYgbm90IGNvbW1pdDoKKyAgICAgICAgICAg
IHJldHVybiBOb25lCisKKyAgICAgICAgY29tbWFuZCA9IFtzZWxmLmV4ZWN1dGFibGUoKSwgJ3Vw
JywgJy1yJywgc3RyKGNvbW1pdC5yZXZpc2lvbildCisgICAgICAgIGlmIGxvZy5sZXZlbCA+IGxv
Z2dpbmcuV0FSTklORzoKKyAgICAgICAgICAgIGNvbW1hbmQuYXBwZW5kKCctcScpCisKKyAgICAg
ICAgcmV0dXJuIE5vbmUgaWYgcnVuKGNvbW1hbmQsIGN3ZD1zZWxmLnJvb3RfcGF0aCkucmV0dXJu
Y29kZSBlbHNlIGNvbW1pdApJbmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvZ2l0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2FsL2dpdC5w
eQkocmV2aXNpb24gMjY5MTU0KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvZ2l0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMiwx
MiArMzIsMTEgQEAgY2xhc3MgR2l0KG1vY2tzLlN1YnByb2Nlc3MpOgogCiAgICAgZGVmIF9faW5p
dF9fKAogICAgICAgICBzZWxmLCBwYXRoPScvLmludmFsaWQtZ2l0JywKLSAgICAgICAgYnJhbmNo
PU5vbmUsIHJlbW90ZT1Ob25lLCBicmFuY2hlcz1Ob25lLCB0YWdzPU5vbmUsCisgICAgICAgIHJl
bW90ZT1Ob25lLCBicmFuY2hlcz1Ob25lLCB0YWdzPU5vbmUsCiAgICAgICAgIGRldGFjaGVkPU5v
bmUsIGRlZmF1bHRfYnJhbmNoPSdtYWluJywKICAgICAgICAgZ2l0X3N2bj1GYWxzZSwKICAgICAp
OgogICAgICAgICBzZWxmLnBhdGggPSBwYXRoCi0gICAgICAgIHNlbGYuYnJhbmNoID0gYnJhbmNo
IG9yIGRlZmF1bHRfYnJhbmNoCiAgICAgICAgIHNlbGYuZGVmYXVsdF9icmFuY2ggPSBkZWZhdWx0
X2JyYW5jaAogICAgICAgICBzZWxmLnJlbW90ZSA9IHJlbW90ZSBvciAnZ2l0QHdlYmtpdC5vcmc6
L21vY2sve30nLmZvcm1hdChvcy5wYXRoLmJhc2VuYW1lKHBhdGgpKQogICAgICAgICBzZWxmLmRl
dGFjaGVkID0gZGV0YWNoZWQgb3IgRmFsc2UKQEAgLTExOCw2ICsxMTcsNyBAQCBjbGFzcyBHaXQo
bW9ja3MuU3VicHJvY2Vzcyk6CiAgICAgICAgICAgICAgICAgbWVzc2FnZT0nOHRoIGNvbW1pdFxu
JywKICAgICAgICAgICAgICksCiAgICAgICAgIF0KKyAgICAgICAgc2VsZi5oZWFkID0gc2VsZi5j
b21taXRzW3NlbGYuZGVmYXVsdF9icmFuY2hdWzNdCiAKICAgICAgICAgc2VsZi50YWdzWyd0YWct
MSddID0gc2VsZi5jb21taXRzWydicmFuY2gtYSddWy0xXQogICAgICAgICBzZWxmLnRhZ3NbJ3Rh
Zy0yJ10gPSBzZWxmLmNvbW1pdHNbJ2JyYW5jaC1iJ11bLTFdCkBAIC0xNTAsMTIgKzE1MCwxMiBA
QCBjbGFzcyBHaXQobW9ja3MuU3VicHJvY2Vzcyk6CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdMYXN0IENoYW5nZWQgRGF0ZToge2RhdGV9Jy5mb3JtYXQoCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwYXRoPXNlbGYucGF0aCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlbW90ZT1zZWxmLnJlbW90ZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJyYW5jaD1zZWxmLmJyYW5jaCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJldmlzaW9uPXNlbGYuY29tbWl0c1tzZWxmLmJyYW5jaF1bLTFd
LnJldmlzaW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aG9yPXNl
bGYuY29tbWl0c1tzZWxmLmJyYW5jaF1bLTFdLmF1dGhvci5lbWFpbCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRhdGU9ZGF0ZXRpbWUuZnJvbXRpbWVzdGFtcChzZWxmLmNv
bW1pdHNbc2VsZi5icmFuY2hdWy0xXS50aW1lc3RhbXApLnN0cmZ0aW1lKCclWS0lbS0lZCAlSDol
TTolUycpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJhbmNoPXNlbGYu
aGVhZC5icmFuY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXZpc2lv
bj1zZWxmLmhlYWQucmV2aXNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBhdXRob3I9c2VsZi5oZWFkLmF1dGhvci5lbWFpbCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRhdGU9ZGF0ZXRpbWUuZnJvbXRpbWVzdGFtcChzZWxmLmhlYWQudGltZXN0
YW1wKS5zdHJmdGltZSgnJVktJW0tJWQgJUg6JU06JVMnKSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICkgaWYgbGVuKHNlbGYuY29t
bWl0cy5nZXQoc2VsZi5icmFuY2gpKSBlbHNlIG1vY2tzLlByb2Nlc3NDb21wbGV0aW9uKHJldHVy
bmNvZGU9MSksCisgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICks
CiAgICAgICAgICAgICBdCiAKQEAgLTI5MCw2ICsyOTAsMTEgQEAgbm90aGluZyB0byBjb21taXQs
IHdvcmtpbmcgdHJlZSBjbGVhbgogICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9J1xuJy5qb2lu
KHNvcnRlZChzZWxmLmJyYW5jaGVzX29uKGFyZ3NbNF0pKSkgKyAnXG4nLAogICAgICAgICAgICAg
ICAgICkgaWYgc2VsZi5maW5kKGFyZ3NbNF0pIGVsc2UgbW9ja3MuUHJvY2Vzc0NvbXBsZXRpb24o
cmV0dXJuY29kZT0xMjgpLAogICAgICAgICAgICAgKSwgbW9ja3MuU3VicHJvY2Vzcy5Sb3V0ZSgK
KyAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dGFibGUsICdjaGVja291dCcsIHJlLmNvbXBpbGUo
cicuKycpLAorICAgICAgICAgICAgICAgIGN3ZD1zZWxmLnBhdGgsCisgICAgICAgICAgICAgICAg
Z2VuZXJhdG9yPWxhbWJkYSAqYXJncywgKiprd2FyZ3M6CisgICAgICAgICAgICAgICAgICAgIG1v
Y2tzLlByb2Nlc3NDb21wbGV0aW9uKHJldHVybmNvZGU9MCkgaWYgc2VsZi5jaGVja291dChhcmdz
WzJdKSBlbHNlIG1vY2tzLlByb2Nlc3NDb21wbGV0aW9uKHJldHVybmNvZGU9MSkKKyAgICAgICAg
ICAgICksIG1vY2tzLlN1YnByb2Nlc3MuUm91dGUoCiAgICAgICAgICAgICAgICAgc2VsZi5leGVj
dXRhYmxlLAogICAgICAgICAgICAgICAgIGN3ZD1zZWxmLnBhdGgsCiAgICAgICAgICAgICAgICAg
Y29tcGxldGlvbj1tb2Nrcy5Qcm9jZXNzQ29tcGxldGlvbigKQEAgLTMwNSw2ICszMTAsMTAgQEAg
bm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhbgogICAgICAgICAgICAgKSwgKmdp
dF9zdm5fcm91dGVzCiAgICAgICAgICkKIAorICAgIEBwcm9wZXJ0eQorICAgIGRlZiBicmFuY2go
c2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmhlYWQuYnJhbmNoCisKICAgICBkZWYgZmluZChz
ZWxmLCBzb21ldGhpbmcpOgogICAgICAgICBpZiAnficgaW4gc29tZXRoaW5nOgogICAgICAgICAg
ICAgc3BsaXQgPSBzb21ldGhpbmcuc3BsaXQoJ34nKQpAQCAtMzE5LDcgKzMyOCw3IEBAIG5vdGhp
bmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW4KICAgICAgICAgICAgICAgICByZXR1cm4g
Tm9uZQogCiAgICAgICAgIGlmIHNvbWV0aGluZyA9PSAnSEVBRCc6Ci0gICAgICAgICAgICByZXR1
cm4gc2VsZi5jb21taXRzW3NlbGYuYnJhbmNoXVstMV0KKyAgICAgICAgICAgIHJldHVybiBzZWxm
LmhlYWQKICAgICAgICAgaWYgc29tZXRoaW5nIGluIHNlbGYuY29tbWl0cy5rZXlzKCk6CiAgICAg
ICAgICAgICByZXR1cm4gc2VsZi5jb21taXRzW3NvbWV0aGluZ11bLTFdCiAgICAgICAgIGlmIHNv
bWV0aGluZyBpbiBzZWxmLnRhZ3Mua2V5cygpOgpAQCAtMzU5LDMgKzM2OCwxMCBAQCBub3RoaW5n
IHRvIGNvbW1pdCwgd29ya2luZyB0cmVlIGNsZWFuCiAgICAgICAgICAgICAgICAgaWYgY29tbWl0
c1swXS5icmFuY2hfcG9pbnQgYW5kIGNvbW1pdHNbMF0uYnJhbmNoX3BvaW50ID49IGZvdW5kX2lk
ZW50aWZpZXI6CiAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5hZGQoYnJhbmNoKQogICAgICAg
ICByZXR1cm4gcmVzdWx0CisKKyAgICBkZWYgY2hlY2tvdXQoc2VsZiwgc29tZXRoaW5nKToKKyAg
ICAgICAgY29tbWl0ID0gc2VsZi5maW5kKHNvbWV0aGluZykKKyAgICAgICAgaWYgY29tbWl0Ogor
ICAgICAgICAgICAgc2VsZi5oZWFkID0gY29tbWl0CisgICAgICAgICAgICBzZWxmLmRldGFjaGVk
ID0gc29tZXRoaW5nIG5vdCBpbiBzZWxmLmJyYW5jaGVzCisgICAgICAgIHJldHVybiBUcnVlIGlm
IGNvbW1pdCBlbHNlIEZhbHNlCkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRz
Y21weS93ZWJraXRzY21weS9tb2Nrcy9sb2NhbC9zdm4ucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvc3Zu
LnB5CShyZXZpc2lvbiAyNjkxNTQpCisrKyBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRz
Y21weS93ZWJraXRzY21weS9tb2Nrcy9sb2NhbC9zdm4ucHkJKHdvcmtpbmcgY29weSkKQEAgLTQ1
LDkgKzQ1LDggQEAgY2xhc3MgU3ZuKG1vY2tzLlN1YnByb2Nlc3MpOgogICAgICAgICAgICAgZGF0
ZT1kYXRldGltZS5mcm9tdGltZXN0YW1wKGNvbW1pdC50aW1lc3RhbXApLnN0cmZ0aW1lKCclWS0l
bS0lZCAlSDolTTolUyB7fSAoJWEsICVkICViICVZKScuZm9ybWF0KGNscy5VVENfT0ZGU0VUKSks
CiAgICAgICAgICkKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoPScvLmludmFsaWQtc3Zu
JywgYnJhbmNoPU5vbmUsIHJlbW90ZT1Ob25lLCBicmFuY2hlcz1Ob25lKToKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgcGF0aD0nLy5pbnZhbGlkLXN2bicsIHJlbW90ZT1Ob25lLCBicmFuY2hlcz1O
b25lKToKICAgICAgICAgc2VsZi5wYXRoID0gcGF0aAotICAgICAgICBzZWxmLmJyYW5jaCA9IGJy
YW5jaCBvciAndHJ1bmsnCiAgICAgICAgIHNlbGYucmVtb3RlID0gcmVtb3RlIG9yICdodHRwczov
L3N2bi5tb2NrLm9yZy9yZXBvc2l0b3J5L3t9Jy5mb3JtYXQob3MucGF0aC5iYXNlbmFtZShwYXRo
KSkKIAogICAgICAgICBzZWxmLmJyYW5jaGVzID0gYnJhbmNoZXMgb3IgW10KQEAgLTE0MCw2ICsx
MzksNyBAQCBjbGFzcyBTdm4obW9ja3MuU3VicHJvY2Vzcyk6CiAgICAgICAgICAgICAgICAgbWVz
c2FnZT0nMTB0aCBjb21taXRcbicsCiAgICAgICAgICAgICApLAogICAgICAgICBdCisgICAgICAg
IHNlbGYuaGVhZCA9IHNlbGYuY29tbWl0c1sndHJ1bmsnXVszXQogCiAgICAgICAgIHN1cGVyKFN2
biwgc2VsZikuX19pbml0X18oCiAgICAgICAgICAgICBtb2Nrcy5TdWJwcm9jZXNzLlJvdXRlKApA
QCAtMjAxLDYgKzIwMSwxMSBAQCBjbGFzcyBTdm4obW9ja3MuU3VicHJvY2Vzcyk6CiAgICAgICAg
ICAgICAgICAgICAgIHJldmlzaW9uPWFyZ3NbNV0sCiAgICAgICAgICAgICAgICAgKSBpZiBzZWxm
LmNvbm5lY3RlZCBlbHNlIG1vY2tzLlByb2Nlc3NDb21wbGV0aW9uKHJldHVybmNvZGU9MSkKICAg
ICAgICAgICAgICksIG1vY2tzLlN1YnByb2Nlc3MuUm91dGUoCisgICAgICAgICAgICAgICAgc2Vs
Zi5leGVjdXRhYmxlLCAndXAnLCAnLXInLCByZS5jb21waWxlKHInXGQrJyksCisgICAgICAgICAg
ICAgICAgY3dkPXNlbGYucGF0aCwKKyAgICAgICAgICAgICAgICBnZW5lcmF0b3I9bGFtYmRhICph
cmdzLCAqKmt3YXJnczoKKyAgICAgICAgICAgICAgICAgICAgbW9ja3MuUHJvY2Vzc0NvbXBsZXRp
b24ocmV0dXJuY29kZT0wKSBpZiBzZWxmLnVwKGFyZ3NbM10pIGVsc2UgbW9ja3MuUHJvY2Vzc0Nv
bXBsZXRpb24ocmV0dXJuY29kZT0xKQorICAgICAgICAgICAgKSwgbW9ja3MuU3VicHJvY2Vzcy5S
b3V0ZSgKICAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dGFibGUsCiAgICAgICAgICAgICAgICAg
Y3dkPXNlbGYucGF0aCwKICAgICAgICAgICAgICAgICBjb21wbGV0aW9uPW1vY2tzLlByb2Nlc3ND
b21wbGV0aW9uKApAQCAtMjE3LDYgKzIyMiwxMCBAQCBjbGFzcyBTdm4obW9ja3MuU3VicHJvY2Vz
cyk6CiAgICAgICAgICkKIAogICAgIEBwcm9wZXJ0eQorICAgIGRlZiBicmFuY2goc2VsZik6Cisg
ICAgICAgIHJldHVybiBzZWxmLmhlYWQuYnJhbmNoCisKKyAgICBAcHJvcGVydHkKICAgICBkZWYg
dGFncyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNldChicmFuY2ggZm9yIGJyYW5jaCBpbiBzZWxm
LmNvbW1pdHMua2V5cygpIGlmIGJyYW5jaC5zdGFydHN3aXRoKCd0YWdzJykpCiAKQEAgLTI3NSwx
MSArMjg0LDE5IEBAIGNsYXNzIFN2bihtb2Nrcy5TdWJwcm9jZXNzKToKIAogICAgIGRlZiBmaW5k
KHNlbGYsIGJyYW5jaD1Ob25lLCByZXZpc2lvbj1Ob25lKToKICAgICAgICAgaWYgbm90IGJyYW5j
aCBhbmQgbm90IHJldmlzaW9uOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29tbWl0c1sndHJ1
bmsnXVstMV0KKyAgICAgICAgICAgIHJldHVybiBzZWxmLmhlYWQKICAgICAgICAgZm9yIGNhbmRp
ZGF0ZSBpbiBbYnJhbmNoXSBpZiBicmFuY2ggZWxzZSBzb3J0ZWQoc2VsZi5jb21taXRzLmtleXMo
KSk6CiAgICAgICAgICAgICBpZiBub3QgcmV2aXNpb246CisgICAgICAgICAgICAgICAgaWYgc2Vs
Zi5oZWFkLmJyYW5jaCA9PSBjYW5kaWRhdGU6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBz
ZWxmLmhlYWQKICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5jb21taXRzW2NhbmRpZGF0ZV1b
LTFdCiAgICAgICAgICAgICBmb3IgY29tbWl0IGluIHNlbGYuY29tbWl0c1tjYW5kaWRhdGVdOgog
ICAgICAgICAgICAgICAgIGlmIHN0cihjb21taXQucmV2aXNpb24pID09IHN0cihyZXZpc2lvbik6
CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb21taXQKICAgICAgICAgcmV0dXJuIE5vbmUK
KworICAgIGRlZiB1cChzZWxmLCByZXZpc2lvbik6CisgICAgICAgIGNvbW1pdCA9IHNlbGYuZmlu
ZChyZXZpc2lvbj1yZXZpc2lvbikKKyAgICAgICAgaWYgY29tbWl0OgorICAgICAgICAgICAgc2Vs
Zi5oZWFkID0gY29tbWl0CisgICAgICAgIHJldHVybiBUcnVlIGlmIGNvbW1pdCBlbHNlIEZhbHNl
CkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90
ZXN0L2NoZWNrb3V0X3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rlc3QvY2hlY2tvdXRfdW5pdHRlc3QucHkJ
KG5vbmV4aXN0ZW50KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Vi
a2l0c2NtcHkvdGVzdC9jaGVja291dF91bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDY0IEBACisjIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAor
IyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBvcnQg
dW5pdHRlc3QKKworZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0IE91dHB1dENhcHR1cmUKK2Zyb20g
d2Via2l0Y29yZXB5Lm1vY2tzIGltcG9ydCBUaW1lIGFzIE1vY2tUaW1lCitmcm9tIHdlYmtpdHNj
bXB5IGltcG9ydCBwcm9ncmFtLCBtb2NrcywgbG9jYWwKKworCitjbGFzcyBUZXN0Q2hlY2tvdXQo
dW5pdHRlc3QuVGVzdENhc2UpOgorICAgIHBhdGggPSAnL21vY2svcmVwb3NpdG9yeScKKworICAg
IGRlZiB0ZXN0X2NoZWNrb3V0X2dpdChzZWxmKToKKyAgICAgICAgd2l0aCBtb2Nrcy5sb2NhbC5H
aXQoc2VsZi5wYXRoKSwgbW9ja3MubG9jYWwuU3ZuKCksIE1vY2tUaW1lLCBPdXRwdXRDYXB0dXJl
KCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdiYWU1ZDFlOTA5OTlkNGY5MTZhOGEx
NTgxMGNjZmE0M2YzN2EyZmQ2JywgbG9jYWwuR2l0KHNlbGYucGF0aCkuY29tbWl0KCkuaGFzaCkK
KworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBwcm9ncmFtLm1haW4oCisgICAgICAg
ICAgICAgICAgYXJncz0oJ2NoZWNrb3V0JywgJzJAbWFpbicpLAorICAgICAgICAgICAgICAgIHBh
dGg9c2VsZi5wYXRoLAorICAgICAgICAgICAgKSkKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbCgnZmZmODNiYjJkOTE3MWI0ZDkxOTZlOTc3ZWIwNTA4ZmQ1N2U3YTA4ZCcsIGxvY2FsLkdp
dChzZWxmLnBhdGgpLmNvbW1pdCgpLmhhc2gpCisKKyAgICBkZWYgdGVzdF9jaGVja291dF9naXRf
c3ZuKHNlbGYpOgorICAgICAgICB3aXRoIG1vY2tzLmxvY2FsLkdpdChzZWxmLnBhdGgsIGdpdF9z
dm49VHJ1ZSksIG1vY2tzLmxvY2FsLlN2bigpLCBNb2NrVGltZSwgT3V0cHV0Q2FwdHVyZSgpOgor
ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnYmFlNWQxZTkwOTk5ZDRmOTE2YThhMTU4MTBj
Y2ZhNDNmMzdhMmZkNicsIGxvY2FsLkdpdChzZWxmLnBhdGgpLmNvbW1pdCgpLmhhc2gpCisKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMCwgcHJvZ3JhbS5tYWluKAorICAgICAgICAgICAg
ICAgIGFyZ3M9KCdjaGVja291dCcsICcyLjJAYnJhbmNoLWEnKSwKKyAgICAgICAgICAgICAgICBw
YXRoPXNlbGYucGF0aCwKKyAgICAgICAgICAgICkpCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoJzYyMTY1MmFkZDdmYzQxNjA5OWJkMjA2MzM2NmNjMzhmZjYxYWZlMzYnLCBsb2NhbC5H
aXQoc2VsZi5wYXRoKS5jb21taXQoKS5oYXNoKQorCisgICAgZGVmIHRlc3RfY2hlY2tvdXRfc3Zu
KHNlbGYpOgorICAgICAgICB3aXRoIG1vY2tzLmxvY2FsLkdpdCgpLCBtb2Nrcy5sb2NhbC5Tdm4o
c2VsZi5wYXRoKSwgTW9ja1RpbWUsIE91dHB1dENhcHR1cmUoKToKKyAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoNiwgbG9jYWwuU3ZuKHNlbGYucGF0aCkuY29tbWl0KCkucmV2aXNpb24pCisK
KyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMCwgcHJvZ3JhbS5tYWluKAorICAgICAgICAg
ICAgICAgIGFyZ3M9KCdjaGVja291dCcsICczQHRydW5rJyksCisgICAgICAgICAgICAgICAgcGF0
aD1zZWxmLnBhdGgsCisgICAgICAgICAgICApKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKDQsIGxvY2FsLlN2bihzZWxmLnBhdGgpLmNvbW1pdCgpLnJldmlzaW9uKQpJbmRleDogVG9v
bHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9naXRfdW5p
dHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvdGVzdC9naXRfdW5pdHRlc3QucHkJKHJldmlzaW9uIDI2OTE1NCkKKysr
IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rlc3QvZ2l0
X3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yMjQsMyArMjI0LDE3IEBAIGNsYXNzIFRl
c3RHaXQodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgICAgICAgICAnNjIxNjUyYWRk
N2ZjNDE2MDk5YmQyMDYzMzY2Y2MzOGZmNjFhZmUzNicsCiAgICAgICAgICAgICAgICAgICAgIGxv
Y2FsLkdpdChzZWxmLnBhdGgpLmNvbW1pdCh0YWc9J3RhZy0xJykuaGFzaCwKICAgICAgICAgICAg
ICAgICApCisKKyAgICBkZWYgdGVzdF9jaGVja291dChzZWxmKToKKyAgICAgICAgZm9yIG1vY2sg
aW4gW21vY2tzLmxvY2FsLkdpdChzZWxmLnBhdGgpLCBtb2Nrcy5sb2NhbC5HaXQoc2VsZi5wYXRo
LCBnaXRfc3ZuPVRydWUpXToKKyAgICAgICAgICAgIHdpdGggbW9jazoKKyAgICAgICAgICAgICAg
ICByZXBvc2l0b3J5ID0gbG9jYWwuR2l0KHNlbGYucGF0aCkKKyAgICAgICAgICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKCdiYWU1ZDFlOTA5OTlkNGY5MTZhOGExNTgxMGNjZmE0M2YzN2EyZmQ2Jywg
cmVwb3NpdG9yeS5jb21taXQoKS5oYXNoKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoJzNjZDMyZTM1MjQxMDU2NWJiNTQzODIxZmJmODU2YTZkM2NhYWQxYzQnLCByZXBvc2l0b3J5
LmNoZWNrb3V0KCczY2QzMmUzNTI0JykuaGFzaCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKCczY2QzMmUzNTI0MTA1NjViYjU0MzgyMWZiZjg1NmE2ZDNjYWFkMWM0JywgcmVwb3Np
dG9yeS5jb21taXQoKS5oYXNoKQorCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgn
MWFiZTI1YjQ0M2U5ODVmOTNiOTBkODMwZTRhN2UzNzMxMzM2YWY0ZCcsIHJlcG9zaXRvcnkuY2hl
Y2tvdXQoJzNAbWFpbicpLmhhc2gpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgn
MWFiZTI1YjQ0M2U5ODVmOTNiOTBkODMwZTRhN2UzNzMxMzM2YWY0ZCcsIHJlcG9zaXRvcnkuY29t
bWl0KCkuaGFzaCkKKworICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJzYyMTY1MmFk
ZDdmYzQxNjA5OWJkMjA2MzM2NmNjMzhmZjYxYWZlMzYnLCByZXBvc2l0b3J5LmNoZWNrb3V0KCd0
YWctMScpLmhhc2gpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnNjIxNjUyYWRk
N2ZjNDE2MDk5YmQyMDYzMzY2Y2MzOGZmNjFhZmUzNicsIHJlcG9zaXRvcnkuY29tbWl0KCkuaGFz
aCkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5
L3Rlc3Qvc3ZuX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rlc3Qvc3ZuX3VuaXR0ZXN0LnB5CShyZXZpc2lv
biAyNjkxNTQpCisrKyBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRz
Y21weS90ZXN0L3N2bl91bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMTg5LDcgKzE4OSw2
IEBAIGNsYXNzIFRlc3RTdm4odW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgICAgICAgICAgICAg
bW9ja19yZXBvLmNvbm5lY3RlZCA9IEZhbHNlCiAgICAgICAgICAgICAgICAgY29tbWl0ID0gbG9j
YWwuU3ZuKGRpcm5hbWUpLmNvbW1pdCgpCi0gICAgICAgICAgICAgICAgcHJpbnQoY29tbWl0LnJl
dmlzaW9uKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJzRAdHJ1bmsnLCBzdHIo
Y29tbWl0KSkKIAogICAgICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMobG9jYWwu
U3ZuLkV4Y2VwdGlvbik6CkBAIC0yMDAsMyArMTk5LDE2IEBAIGNsYXNzIFRlc3RTdm4odW5pdHRl
c3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X3RhZyhzZWxmKToKICAgICAgICAgd2l0aCBtb2Nr
cy5sb2NhbC5Tdm4oc2VsZi5wYXRoKSwgT3V0cHV0Q2FwdHVyZSgpOgogICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCg5LCBsb2NhbC5Tdm4oc2VsZi5wYXRoKS5jb21taXQodGFnPSd0YWctMScp
LnJldmlzaW9uKQorCisgICAgZGVmIHRlc3RfY2hlY2tvdXQoc2VsZik6CisgICAgICAgIHdpdGgg
bW9ja3MubG9jYWwuU3ZuKHNlbGYucGF0aCksIE91dHB1dENhcHR1cmUoKToKKyAgICAgICAgICAg
IHJlcG9zaXRvcnkgPSBsb2NhbC5Tdm4oc2VsZi5wYXRoKQorICAgICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbCg2LCByZXBvc2l0b3J5LmNvbW1pdCgpLnJldmlzaW9uKQorICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCg1LCByZXBvc2l0b3J5LmNoZWNrb3V0KCdyNScpLnJldmlzaW9uKQorICAg
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg1LCByZXBvc2l0b3J5LmNvbW1pdCgpLnJldmlzaW9u
KQorCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDQsIHJlcG9zaXRvcnkuY2hlY2tvdXQo
JzNAdHJ1bmsnKS5yZXZpc2lvbikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoNCwgcmVw
b3NpdG9yeS5jb21taXQoKS5yZXZpc2lvbikKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bCg5LCByZXBvc2l0b3J5LmNoZWNrb3V0KCd0YWctMScpLnJldmlzaW9uKQorICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCg5LCByZXBvc2l0b3J5LmNvbW1pdCgpLnJldmlzaW9uKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413215</attachid>
            <date>2020-11-04 15:13:10 -0800</date>
            <delta_ts>2020-11-04 16:05:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218360-20201104151309.patch</filename>
            <type>text/plain</type>
            <size>21802</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2OTM5NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDM2IEBACisyMDIwLTExLTA0ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0c2NtcHldIEFkZCBjaGVja291dCBjb21tYW5kCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTgzNjAKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzcwODI4MzEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IERld2VpIFpo
dS4KKworICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5
L2xvY2FsL2dpdC5weToKKyAgICAgICAgKEdpdC5jaGVja291dCk6IENoZWNrb3V0IHJlcG9zaXRv
cnkgdG8gc3BlY2lmaWVkIGNvbW1pdCwgYnJhbmNoIG9yIHRhZy4KKyAgICAgICAgKiBTY3JpcHRz
L2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9sb2NhbC9zY20ucHk6CisgICAgICAg
IChTY20uY2hlY2tvdXQpOiBDaGVja291dCByZXBvc2l0b3J5IHRvIHNwZWNpZmllZCBjb21taXQs
IGJyYW5jaCBvciB0YWcuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvbG9jYWwvc3ZuLnB5OgorICAgICAgICAoU3ZuLmNoZWNrb3V0KTogQ2hlY2tv
dXQgcmVwb3NpdG9yeSB0byBzcGVjaWZpZWQgY29tbWl0LCBicmFuY2ggb3IgdGFnLgorICAgICAg
ICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2Fs
L2dpdC5weToKKyAgICAgICAgKEdpdC5fX2luaXRfXyk6IEFkZCBjb25jZXB0IG9mIEhFQUQgY29t
bWl0LCBtb2NrIGBnaXQgY2hlY2tvdXRgIGNvbW1hbmQuCisgICAgICAgICogU2NyaXB0cy9saWJy
YXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvc3ZuLnB5OgorICAgICAg
ICAoU3ZuLl9faW5pdF9fKTogQWRkIGNvbmNlcHQgb2YgSEVBRCBjb21taXQsIG1vY2sgYHN2biB1
cCAtciAqYC4KKyAgICAgICAgKFN2bi5icmFuY2gpOiBUaGUgSEVBRCdzIGJyYW5jaCBpcyB0aGUg
Y3VycmVudCBicmFuY2guCisgICAgICAgIChTdm4uZmluZCk6IFVzZSB0aGUgSEVBRCBvZiB0aGUg
cmVwb3NpdG9yeSBhcyB0aGUgZGVmYXVsdC4KKyAgICAgICAgKFN2bi51cCk6IENoYW5nZSB0aGUg
cmVwb3NpdG9yeSdzIEhFQUQuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvcHJvZ3JhbS5weToKKyAgICAgICAgKENoZWNrb3V0KTogQ2hlY2tvdXQg
cmVwb3NpdG9yeSB0byBzcGVjaWZpZWQgY29tbWl0LgorICAgICAgICAobWFpbik6IEFkZCBDaGVj
a291dCBzdWJjb21tYW5kLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5
L3dlYmtpdHNjbXB5L3Rlc3QvY2hlY2tvdXRfdW5pdHRlc3QucHk6IEFkZGVkLgorICAgICAgICAo
VGVzdENoZWNrb3V0KToKKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS90ZXN0L2dpdF91bml0dGVzdC5weToKKyAgICAgICAgKFRlc3RHaXQpOgorICAg
ICAgICAoVGVzdEdpdC50ZXN0X2NoZWNrb3V0KToKKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3N2bl91bml0dGVzdC5weToKKyAgICAgICAg
KFRlc3RTdm4pOgorICAgICAgICAoVGVzdFN2bi50ZXN0X2NoZWNrb3V0KToKKwogMjAyMC0xMS0w
NCAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2J1aWxk
LndlYmtpdC5vcmddIHJlbW92ZSB1bm5lY2Vzc2FyeSBjb2RlIGZyb20gbG9hZENvbmZpZwpJbmRl
eDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0
X18ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvX19pbml0X18ucHkJKHJldmlzaW9uIDI2OTM5NSkKKysrIFRvb2xzL1Njcmlw
dHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5CSh3b3JraW5n
IGNvcHkpCkBAIC00Niw3ICs0Niw3IEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICAgIlBs
ZWFzZSBpbnN0YWxsIHdlYmtpdGNvcmVweSB3aXRoIGBwaXAgaW5zdGFsbCB3ZWJraXRjb3JlcHkg
LS1leHRyYS1pbmRleC11cmwgPHBhY2thZ2UgaW5kZXggVVJMPmAiCiAgICAgKQogCi12ZXJzaW9u
ID0gVmVyc2lvbigwLCAyLCA3KQordmVyc2lvbiA9IFZlcnNpb24oMCwgMywgMCkKIAogQXV0b0lu
c3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZGF0ZXV0aWwnLCBWZXJzaW9uKDIsIDgsIDEpLCBweXBp
X25hbWU9J3B5dGhvbi1kYXRldXRpbCcpKQogCkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtLnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0ucHkJKHJl
dmlzaW9uIDI2OTM5NSkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dl
YmtpdHNjbXB5L3Byb2dyYW0ucHkJKHdvcmtpbmcgY29weSkKQEAgLTExNiw2ICsxMTYsNDAgQEAg
Y2xhc3MgRmluZChDb21tYW5kKToKICAgICAgICAgcmV0dXJuIDAKIAogCitjbGFzcyBDaGVja291
dChDb21tYW5kKToKKyAgICBuYW1lID0gJ2NoZWNrb3V0JworICAgIGhlbHAgPSAnR2l2ZW4gYW4g
aWRlbnRpZmllciwgcmV2aXNpb24gb3IgaGFzaCwgbm9ybWFsaXplIGFuZCBjaGVja291dCB0aGF0
IGNvbW1pdCcKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBwYXJzZXIoY2xzLCBwYXJzZXIs
IHJlcG9zaXRvcnksIGxvZ2dlcnM9Tm9uZSk6CisgICAgICAgIGFyZ3VtZW50cy5Mb2dnaW5nR3Jv
dXAoCisgICAgICAgICAgICBwYXJzZXIsCisgICAgICAgICAgICBsb2dnZXJzPWxvZ2dlcnMsCisg
ICAgICAgICAgICBoZWxwPSd7fSBhbW91bnQgb2YgbG9nZ2luZyBhbmQgY29tbWl0IGluZm9ybWF0
aW9uIGRpc3BsYXllZCcKKyAgICAgICAgKQorCisgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQo
CisgICAgICAgICAgICAnYXJndW1lbnQnLCBuYXJncz0xLAorICAgICAgICAgICAgdHlwZT1zdHIs
IGRlZmF1bHQ9Tm9uZSwKKyAgICAgICAgICAgIGhlbHA9J1N0cmluZyByZXByZXNlbnRhdGlvbiBv
ZiBhIGNvbW1pdCBvciBicmFuY2ggdG8gYmUgbm9ybWFsaXplZCcsCisgICAgICAgICkKKworICAg
IEBjbGFzc21ldGhvZAorICAgIGRlZiBtYWluKGNscywgYXJncywgcmVwb3NpdG9yeSk6CisgICAg
ICAgIHRyeToKKyAgICAgICAgICAgIGNvbW1pdCA9IHJlcG9zaXRvcnkuY2hlY2tvdXQoYXJncy5h
cmd1bWVudFswXSkKKyAgICAgICAgZXhjZXB0IChsb2NhbC5TY20uRXhjZXB0aW9uLCBWYWx1ZUVy
cm9yKSBhcyBleGNlcHRpb246CisgICAgICAgICAgICAjIFZhbHVlRXJyb3JzIGFuZCBTY20gZXhj
ZXB0aW9ucyB1c3VhbGx5IGNvbnRhaW4gZW5vdWdoIGluZm9ybWF0aW9uIHRvIGJlIGRpc3BsYXll
ZAorICAgICAgICAgICAgIyB0byB0aGUgdXNlciBhcyBhbiBlcnJvcgorICAgICAgICAgICAgc3lz
LnN0ZGVyci53cml0ZShzdHIoZXhjZXB0aW9uKSArICdcbicpCisgICAgICAgICAgICByZXR1cm4g
MQorCisgICAgICAgIGlmIG5vdCBjb21taXQ6CisgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRl
KCJGYWlsZWQgdG8gbWFwICd7fSdcbiIuZm9ybWF0KGFyZ3MuYXJndW1lbnRbMF0pKQorICAgICAg
ICAgICAgcmV0dXJuIDEKKyAgICAgICAgcmV0dXJuIDAKKworCiBkZWYgbWFpbihhcmdzPU5vbmUs
IHBhdGg9Tm9uZSwgbG9nZ2Vycz1Ob25lKToKICAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKGxldmVs
PWxvZ2dpbmcuV0FSTklORykKIApAQCAtMTMwLDcgKzE2NCw3IEBAIGRlZiBtYWluKGFyZ3M9Tm9u
ZSwgcGF0aD1Ob25lLCBsb2dnZXJzPU4KICAgICBhcmd1bWVudHMuTG9nZ2luZ0dyb3VwKHBhcnNl
cikKICAgICBzdWJwYXJzZXJzID0gcGFyc2VyLmFkZF9zdWJwYXJzZXJzKGhlbHA9J3N1Yi1jb21t
YW5kIGhlbHAnKQogCi0gICAgZm9yIHByb2dyYW0gaW4gW0ZpbmRdOgorICAgIGZvciBwcm9ncmFt
IGluIFtGaW5kLCBDaGVja291dF06CiAgICAgICAgIHN1YnBhcnNlciA9IHN1YnBhcnNlcnMuYWRk
X3BhcnNlcihwcm9ncmFtLm5hbWUsIGhlbHA9cHJvZ3JhbS5oZWxwKQogICAgICAgICBzdWJwYXJz
ZXIuc2V0X2RlZmF1bHRzKG1haW49cHJvZ3JhbS5tYWluKQogICAgICAgICBwcm9ncmFtLnBhcnNl
cihzdWJwYXJzZXIsIHJlcG9zaXRvcnk9cmVwb3NpdG9yeSwgbG9nZ2Vycz1sb2dnZXJzKQpJbmRl
eDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbG9jYWwv
Z2l0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5
L3dlYmtpdHNjbXB5L2xvY2FsL2dpdC5weQkocmV2aXNpb24gMjY5Mzk1KQorKysgVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbG9jYWwvZ2l0LnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMCwxMyArMjAsMTMgQEAKICMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMg
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KIAotaW1wb3J0IG9zCitpbXBvcnQgbG9nZ2luZwogaW1wb3J0IHJlCiBpbXBv
cnQgc2l4CiAKIGZyb20gd2Via2l0Y29yZXB5IGltcG9ydCBydW4sIGRlY29yYXRvcnMsIFRpbWVv
dXRFeHBpcmVkCiBmcm9tIHdlYmtpdHNjbXB5LmxvY2FsIGltcG9ydCBTY20KLWZyb20gd2Via2l0
c2NtcHkgaW1wb3J0IENvbW1pdCwgQ29udHJpYnV0b3IKK2Zyb20gd2Via2l0c2NtcHkgaW1wb3J0
IENvbW1pdCwgQ29udHJpYnV0b3IsIGxvZwogCiAKIGNsYXNzIEdpdChTY20pOgpAQCAtMjg2LDUg
KzI4NiwzNCBAQCBjbGFzcyBHaXQoU2NtKToKICAgICAgICAgICAgIGN3ZD1zZWxmLnJvb3RfcGF0
aCwgY2FwdHVyZV9vdXRwdXQ9VHJ1ZSwgZW5jb2Rpbmc9J3V0Zi04JywKICAgICAgICAgKQogICAg
ICAgICBpZiBvdXRwdXQucmV0dXJuY29kZToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3Io
Iid7fScgaXMgbm90IGFuIGFyZ3VlbWVudCByZWNvZ25pemVkIGJ5IGdpdCIuZm9ybWF0KGFyZ3Vt
ZW50KSkKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIid7fScgaXMgbm90IGFuIGFyZ3Vt
ZW50IHJlY29nbml6ZWQgYnkgZ2l0Ii5mb3JtYXQoYXJndW1lbnQpKQogICAgICAgICByZXR1cm4g
c2VsZi5jb21taXQoaGFzaD1vdXRwdXQuc3Rkb3V0LnJzdHJpcCgpKQorCisgICAgZGVmIGNoZWNr
b3V0KHNlbGYsIGFyZ3VtZW50KToKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoYXJndW1lbnQs
IHNpeC5zdHJpbmdfdHlwZXMpOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiRXhwZWN0
ZWQgJ2FyZ3VtZW50JyB0byBiZSBhIHN0cmluZywgbm90ICd7fSciLmZvcm1hdCh0eXBlKGFyZ3Vt
ZW50KSkpCisKKyAgICAgICAgaWYgbG9nLmxldmVsID4gbG9nZ2luZy5XQVJOSU5HOgorICAgICAg
ICAgICAgbG9nX2FyZyA9IFsnLXEnXQorICAgICAgICBlbGlmIGxvZy5sZXZlbCA8IGxvZ2dpbmcu
V0FSTklORzoKKyAgICAgICAgICAgIGxvZ19hcmcgPSBbJy0tcHJvZ3Jlc3MnXQorICAgICAgICBl
bHNlOgorICAgICAgICAgICAgbG9nX2FyZyA9IFtdCisKKyAgICAgICAgcGFyc2VkX2NvbW1pdCA9
IENvbW1pdC5wYXJzZShhcmd1bWVudCwgZG9fYXNzZXJ0PUZhbHNlKQorICAgICAgICBpZiBwYXJz
ZWRfY29tbWl0OgorICAgICAgICAgICAgY29tbWl0ID0gc2VsZi5jb21taXQoCisgICAgICAgICAg
ICAgICAgaGFzaD1wYXJzZWRfY29tbWl0Lmhhc2gsCisgICAgICAgICAgICAgICAgcmV2aXNpb249
cGFyc2VkX2NvbW1pdC5yZXZpc2lvbiwKKyAgICAgICAgICAgICAgICBpZGVudGlmaWVyPXBhcnNl
ZF9jb21taXQuaWRlbnRpZmllciwKKyAgICAgICAgICAgICAgICBicmFuY2g9cGFyc2VkX2NvbW1p
dC5icmFuY2gsCisgICAgICAgICAgICApCisgICAgICAgICAgICByZXR1cm4gTm9uZSBpZiBydW4o
CisgICAgICAgICAgICAgICAgW3NlbGYuZXhlY3V0YWJsZSgpLCAnY2hlY2tvdXQnXSArIFtjb21t
aXQuaGFzaF0gKyBsb2dfYXJnLAorICAgICAgICAgICAgICAgIGN3ZD1zZWxmLnJvb3RfcGF0aCwK
KyAgICAgICAgICAgICkucmV0dXJuY29kZSBlbHNlIGNvbW1pdAorCisgICAgICAgIHJldHVybiBO
b25lIGlmIHJ1bigKKyAgICAgICAgICAgIFtzZWxmLmV4ZWN1dGFibGUoKSwgJ2NoZWNrb3V0J10g
KyBbYXJndW1lbnRdICsgbG9nX2FyZywKKyAgICAgICAgICAgIGN3ZD1zZWxmLnJvb3RfcGF0aCwK
KyAgICAgICAgKS5yZXR1cm5jb2RlIGVsc2Ugc2VsZi5jb21taXQoKQpJbmRleDogVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbG9jYWwvc2NtLnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5
L2xvY2FsL3NjbS5weQkocmV2aXNpb24gMjY5Mzk1KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbG9jYWwvc2NtLnB5CSh3b3JraW5nIGNvcHkpCkBA
IC0xNDMsNiArMTQzLDkgQEAgY2xhc3MgU2NtKG9iamVjdCk6CiAgICAgICAgICAgICBicmFuY2g9
cmVzdWx0LmJyYW5jaCwKICAgICAgICAgKQogCisgICAgZGVmIGNoZWNrb3V0KHNlbGYsIGFyZ3Vt
ZW50KToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigpCisKICAgICBkZWYgY29t
bWl0KHNlbGYsIGhhc2g9Tm9uZSwgcmV2aXNpb249Tm9uZSwgaWRlbnRpZmllcj1Ob25lLCBicmFu
Y2g9Tm9uZSwgdGFnPU5vbmUpOgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCkK
IApJbmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkv
bG9jYWwvc3ZuLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtp
dHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL3N2bi5weQkocmV2aXNpb24gMjY5Mzk1KQorKysgVG9v
bHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbG9jYWwvc3ZuLnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0yMyw2ICsyMyw3IEBACiBpbXBvcnQgYmlzZWN0CiBpbXBvcnQg
Y2FsZW5kYXIKIGltcG9ydCBqc29uCitpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zCiBpbXBvcnQg
cmUKIGltcG9ydCBzdWJwcm9jZXNzCkBAIC0zMSw3ICszMiw3IEBAIGltcG9ydCBzeXMKIGZyb20g
ZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKIGZyb20gZGF0ZXV0aWwgaW1wb3J0
IHR6CiAKLWZyb20gd2Via2l0Y29yZXB5IGltcG9ydCBydW4sIGRlY29yYXRvcnMKK2Zyb20gd2Vi
a2l0Y29yZXB5IGltcG9ydCBsb2csIHJ1biwgZGVjb3JhdG9ycwogZnJvbSB3ZWJraXRzY21weS5s
b2NhbC5zY20gaW1wb3J0IFNjbQogZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgQ29tbWl0LCBDb250
cmlidXRvciwgVmVyc2lvbgogCkBAIC0zOTIsMyArMzkzLDE0IEBAIGNsYXNzIFN2bihTY20pOgog
ICAgICAgICAgICAgYXV0aG9yPWF1dGhvciwKICAgICAgICAgICAgIG1lc3NhZ2U9bWVzc2FnZSwK
ICAgICAgICAgKQorCisgICAgZGVmIGNoZWNrb3V0KHNlbGYsIGFyZ3VtZW50KToKKyAgICAgICAg
Y29tbWl0ID0gc2VsZi5maW5kKGFyZ3VtZW50KQorICAgICAgICBpZiBub3QgY29tbWl0OgorICAg
ICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICBjb21tYW5kID0gW3NlbGYuZXhlY3V0YWJs
ZSgpLCAndXAnLCAnLXInLCBzdHIoY29tbWl0LnJldmlzaW9uKV0KKyAgICAgICAgaWYgbG9nLmxl
dmVsID4gbG9nZ2luZy5XQVJOSU5HOgorICAgICAgICAgICAgY29tbWFuZC5hcHBlbmQoJy1xJykK
KworICAgICAgICByZXR1cm4gTm9uZSBpZiBydW4oY29tbWFuZCwgY3dkPXNlbGYucm9vdF9wYXRo
KS5yZXR1cm5jb2RlIGVsc2UgY29tbWl0CkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9sb2NhbC9naXQucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvbG9j
YWwvZ2l0LnB5CShyZXZpc2lvbiAyNjkzOTUpCisrKyBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9sb2NhbC9naXQucHkJKHdvcmtpbmcgY29weSkK
QEAgLTMyLDEyICszMiwxMSBAQCBjbGFzcyBHaXQobW9ja3MuU3VicHJvY2Vzcyk6CiAKICAgICBk
ZWYgX19pbml0X18oCiAgICAgICAgIHNlbGYsIHBhdGg9Jy8uaW52YWxpZC1naXQnLAotICAgICAg
ICBicmFuY2g9Tm9uZSwgcmVtb3RlPU5vbmUsIGJyYW5jaGVzPU5vbmUsIHRhZ3M9Tm9uZSwKKyAg
ICAgICAgcmVtb3RlPU5vbmUsIGJyYW5jaGVzPU5vbmUsIHRhZ3M9Tm9uZSwKICAgICAgICAgZGV0
YWNoZWQ9Tm9uZSwgZGVmYXVsdF9icmFuY2g9J21haW4nLAogICAgICAgICBnaXRfc3ZuPUZhbHNl
LAogICAgICk6CiAgICAgICAgIHNlbGYucGF0aCA9IHBhdGgKLSAgICAgICAgc2VsZi5icmFuY2gg
PSBicmFuY2ggb3IgZGVmYXVsdF9icmFuY2gKICAgICAgICAgc2VsZi5kZWZhdWx0X2JyYW5jaCA9
IGRlZmF1bHRfYnJhbmNoCiAgICAgICAgIHNlbGYucmVtb3RlID0gcmVtb3RlIG9yICdnaXRAd2Vi
a2l0Lm9yZzovbW9jay97fScuZm9ybWF0KG9zLnBhdGguYmFzZW5hbWUocGF0aCkpCiAgICAgICAg
IHNlbGYuZGV0YWNoZWQgPSBkZXRhY2hlZCBvciBGYWxzZQpAQCAtMTE4LDYgKzExNyw3IEBAIGNs
YXNzIEdpdChtb2Nrcy5TdWJwcm9jZXNzKToKICAgICAgICAgICAgICAgICBtZXNzYWdlPSc4dGgg
Y29tbWl0XG4nLAogICAgICAgICAgICAgKSwKICAgICAgICAgXQorICAgICAgICBzZWxmLmhlYWQg
PSBzZWxmLmNvbW1pdHNbc2VsZi5kZWZhdWx0X2JyYW5jaF1bM10KIAogICAgICAgICBzZWxmLnRh
Z3NbJ3RhZy0xJ10gPSBzZWxmLmNvbW1pdHNbJ2JyYW5jaC1hJ11bLTFdCiAgICAgICAgIHNlbGYu
dGFnc1sndGFnLTInXSA9IHNlbGYuY29tbWl0c1snYnJhbmNoLWInXVstMV0KQEAgLTE1MCwxMiAr
MTUwLDEyIEBAIGNsYXNzIEdpdChtb2Nrcy5TdWJwcm9jZXNzKToKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ0xhc3QgQ2hhbmdlZCBEYXRlOiB7ZGF0ZX0nLmZvcm1hdCgKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg9c2VsZi5wYXRoLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3RlPXNlbGYucmVtb3RlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJhbmNoPXNlbGYuYnJhbmNoLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2aXNpb249c2VsZi5jb21taXRzW3NlbGYuYnJh
bmNoXVstMV0ucmV2aXNpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh
dXRob3I9c2VsZi5jb21taXRzW3NlbGYuYnJhbmNoXVstMV0uYXV0aG9yLmVtYWlsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZT1kYXRldGltZS5mcm9tdGltZXN0YW1w
KHNlbGYuY29tbWl0c1tzZWxmLmJyYW5jaF1bLTFdLnRpbWVzdGFtcCkuc3RyZnRpbWUoJyVZLSVt
LSVkICVIOiVNOiVTJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmFu
Y2g9c2VsZi5oZWFkLmJyYW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJldmlzaW9uPXNlbGYuaGVhZC5yZXZpc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGF1dGhvcj1zZWxmLmhlYWQuYXV0aG9yLmVtYWlsLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGF0ZT1kYXRldGltZS5mcm9tdGltZXN0YW1wKHNlbGYuaGVh
ZC50aW1lc3RhbXApLnN0cmZ0aW1lKCclWS0lbS0lZCAlSDolTTolUycpLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICApLAotICAgICAgICAgICAgICAgICAgICAgICAgKSBpZiBsZW4o
c2VsZi5jb21taXRzLmdldChzZWxmLmJyYW5jaCkpIGVsc2UgbW9ja3MuUHJvY2Vzc0NvbXBsZXRp
b24ocmV0dXJuY29kZT0xKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAg
ICAgICAgKSwKICAgICAgICAgICAgIF0KIApAQCAtMjkwLDYgKzI5MCwxMSBAQCBub3RoaW5nIHRv
IGNvbW1pdCwgd29ya2luZyB0cmVlIGNsZWFuCiAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD0n
XG4nLmpvaW4oc29ydGVkKHNlbGYuYnJhbmNoZXNfb24oYXJnc1s0XSkpKSArICdcbicsCiAgICAg
ICAgICAgICAgICAgKSBpZiBzZWxmLmZpbmQoYXJnc1s0XSkgZWxzZSBtb2Nrcy5Qcm9jZXNzQ29t
cGxldGlvbihyZXR1cm5jb2RlPTEyOCksCiAgICAgICAgICAgICApLCBtb2Nrcy5TdWJwcm9jZXNz
LlJvdXRlKAorICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSwgJ2NoZWNrb3V0JywgcmUu
Y29tcGlsZShyJy4rJyksCisgICAgICAgICAgICAgICAgY3dkPXNlbGYucGF0aCwKKyAgICAgICAg
ICAgICAgICBnZW5lcmF0b3I9bGFtYmRhICphcmdzLCAqKmt3YXJnczoKKyAgICAgICAgICAgICAg
ICAgICAgbW9ja3MuUHJvY2Vzc0NvbXBsZXRpb24ocmV0dXJuY29kZT0wKSBpZiBzZWxmLmNoZWNr
b3V0KGFyZ3NbMl0pIGVsc2UgbW9ja3MuUHJvY2Vzc0NvbXBsZXRpb24ocmV0dXJuY29kZT0xKQor
ICAgICAgICAgICAgKSwgbW9ja3MuU3VicHJvY2Vzcy5Sb3V0ZSgKICAgICAgICAgICAgICAgICBz
ZWxmLmV4ZWN1dGFibGUsCiAgICAgICAgICAgICAgICAgY3dkPXNlbGYucGF0aCwKICAgICAgICAg
ICAgICAgICBjb21wbGV0aW9uPW1vY2tzLlByb2Nlc3NDb21wbGV0aW9uKApAQCAtMzA1LDYgKzMx
MCwxMCBAQCBub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyB0cmVlIGNsZWFuCiAgICAgICAgICAg
ICApLCAqZ2l0X3N2bl9yb3V0ZXMKICAgICAgICAgKQogCisgICAgQHByb3BlcnR5CisgICAgZGVm
IGJyYW5jaChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuaGVhZC5icmFuY2gKKwogICAgIGRl
ZiBmaW5kKHNlbGYsIHNvbWV0aGluZyk6CiAgICAgICAgIGlmICd+JyBpbiBzb21ldGhpbmc6CiAg
ICAgICAgICAgICBzcGxpdCA9IHNvbWV0aGluZy5zcGxpdCgnficpCkBAIC0zMTksNyArMzI4LDcg
QEAgbm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhbgogICAgICAgICAgICAgICAg
IHJldHVybiBOb25lCiAKICAgICAgICAgaWYgc29tZXRoaW5nID09ICdIRUFEJzoKLSAgICAgICAg
ICAgIHJldHVybiBzZWxmLmNvbW1pdHNbc2VsZi5icmFuY2hdWy0xXQorICAgICAgICAgICAgcmV0
dXJuIHNlbGYuaGVhZAogICAgICAgICBpZiBzb21ldGhpbmcgaW4gc2VsZi5jb21taXRzLmtleXMo
KToKICAgICAgICAgICAgIHJldHVybiBzZWxmLmNvbW1pdHNbc29tZXRoaW5nXVstMV0KICAgICAg
ICAgaWYgc29tZXRoaW5nIGluIHNlbGYudGFncy5rZXlzKCk6CkBAIC0zNTksMyArMzY4LDEwIEBA
IG5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW4KICAgICAgICAgICAgICAgICBp
ZiBjb21taXRzWzBdLmJyYW5jaF9wb2ludCBhbmQgY29tbWl0c1swXS5icmFuY2hfcG9pbnQgPj0g
Zm91bmRfaWRlbnRpZmllcjoKICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmFkZChicmFuY2gp
CiAgICAgICAgIHJldHVybiByZXN1bHQKKworICAgIGRlZiBjaGVja291dChzZWxmLCBzb21ldGhp
bmcpOgorICAgICAgICBjb21taXQgPSBzZWxmLmZpbmQoc29tZXRoaW5nKQorICAgICAgICBpZiBj
b21taXQ6CisgICAgICAgICAgICBzZWxmLmhlYWQgPSBjb21taXQKKyAgICAgICAgICAgIHNlbGYu
ZGV0YWNoZWQgPSBzb21ldGhpbmcgbm90IGluIHNlbGYuYnJhbmNoZXMKKyAgICAgICAgcmV0dXJu
IFRydWUgaWYgY29tbWl0IGVsc2UgRmFsc2UKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVz
L3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2FsL3N2bi5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9s
b2NhbC9zdm4ucHkJKHJldmlzaW9uIDI2OTM5NSkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVz
L3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2FsL3N2bi5weQkod29ya2luZyBjb3B5
KQpAQCAtNDUsOSArNDUsOCBAQCBjbGFzcyBTdm4obW9ja3MuU3VicHJvY2Vzcyk6CiAgICAgICAg
ICAgICBkYXRlPWRhdGV0aW1lLmZyb210aW1lc3RhbXAoY29tbWl0LnRpbWVzdGFtcCkuc3RyZnRp
bWUoJyVZLSVtLSVkICVIOiVNOiVTIHt9ICglYSwgJWQgJWIgJVkpJy5mb3JtYXQoY2xzLlVUQ19P
RkZTRVQpKSwKICAgICAgICAgKQogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGg9Jy8uaW52
YWxpZC1zdm4nLCBicmFuY2g9Tm9uZSwgcmVtb3RlPU5vbmUsIGJyYW5jaGVzPU5vbmUpOgorICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoPScvLmludmFsaWQtc3ZuJywgcmVtb3RlPU5vbmUsIGJy
YW5jaGVzPU5vbmUpOgogICAgICAgICBzZWxmLnBhdGggPSBwYXRoCi0gICAgICAgIHNlbGYuYnJh
bmNoID0gYnJhbmNoIG9yICd0cnVuaycKICAgICAgICAgc2VsZi5yZW1vdGUgPSByZW1vdGUgb3Ig
J2h0dHBzOi8vc3ZuLm1vY2sub3JnL3JlcG9zaXRvcnkve30nLmZvcm1hdChvcy5wYXRoLmJhc2Vu
YW1lKHBhdGgpKQogCiAgICAgICAgIHNlbGYuYnJhbmNoZXMgPSBicmFuY2hlcyBvciBbXQpAQCAt
MTQwLDYgKzEzOSw3IEBAIGNsYXNzIFN2bihtb2Nrcy5TdWJwcm9jZXNzKToKICAgICAgICAgICAg
ICAgICBtZXNzYWdlPScxMHRoIGNvbW1pdFxuJywKICAgICAgICAgICAgICksCiAgICAgICAgIF0K
KyAgICAgICAgc2VsZi5oZWFkID0gc2VsZi5jb21taXRzWyd0cnVuayddWzNdCiAKICAgICAgICAg
c3VwZXIoU3ZuLCBzZWxmKS5fX2luaXRfXygKICAgICAgICAgICAgIG1vY2tzLlN1YnByb2Nlc3Mu
Um91dGUoCkBAIC0yMDEsNiArMjAxLDExIEBAIGNsYXNzIFN2bihtb2Nrcy5TdWJwcm9jZXNzKToK
ICAgICAgICAgICAgICAgICAgICAgcmV2aXNpb249YXJnc1s1XSwKICAgICAgICAgICAgICAgICAp
IGlmIHNlbGYuY29ubmVjdGVkIGVsc2UgbW9ja3MuUHJvY2Vzc0NvbXBsZXRpb24ocmV0dXJuY29k
ZT0xKQogICAgICAgICAgICAgKSwgbW9ja3MuU3VicHJvY2Vzcy5Sb3V0ZSgKKyAgICAgICAgICAg
ICAgICBzZWxmLmV4ZWN1dGFibGUsICd1cCcsICctcicsIHJlLmNvbXBpbGUocidcZCsnKSwKKyAg
ICAgICAgICAgICAgICBjd2Q9c2VsZi5wYXRoLAorICAgICAgICAgICAgICAgIGdlbmVyYXRvcj1s
YW1iZGEgKmFyZ3MsICoqa3dhcmdzOgorICAgICAgICAgICAgICAgICAgICBtb2Nrcy5Qcm9jZXNz
Q29tcGxldGlvbihyZXR1cm5jb2RlPTApIGlmIHNlbGYudXAoYXJnc1szXSkgZWxzZSBtb2Nrcy5Q
cm9jZXNzQ29tcGxldGlvbihyZXR1cm5jb2RlPTEpCisgICAgICAgICAgICApLCBtb2Nrcy5TdWJw
cm9jZXNzLlJvdXRlKAogICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSwKICAgICAgICAg
ICAgICAgICBjd2Q9c2VsZi5wYXRoLAogICAgICAgICAgICAgICAgIGNvbXBsZXRpb249bW9ja3Mu
UHJvY2Vzc0NvbXBsZXRpb24oCkBAIC0yMTcsNiArMjIyLDEwIEBAIGNsYXNzIFN2bihtb2Nrcy5T
dWJwcm9jZXNzKToKICAgICAgICAgKQogCiAgICAgQHByb3BlcnR5CisgICAgZGVmIGJyYW5jaChz
ZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuaGVhZC5icmFuY2gKKworICAgIEBwcm9wZXJ0eQog
ICAgIGRlZiB0YWdzKHNlbGYpOgogICAgICAgICByZXR1cm4gc2V0KGJyYW5jaCBmb3IgYnJhbmNo
IGluIHNlbGYuY29tbWl0cy5rZXlzKCkgaWYgYnJhbmNoLnN0YXJ0c3dpdGgoJ3RhZ3MnKSkKIApA
QCAtMjc1LDExICsyODQsMTkgQEAgY2xhc3MgU3ZuKG1vY2tzLlN1YnByb2Nlc3MpOgogCiAgICAg
ZGVmIGZpbmQoc2VsZiwgYnJhbmNoPU5vbmUsIHJldmlzaW9uPU5vbmUpOgogICAgICAgICBpZiBu
b3QgYnJhbmNoIGFuZCBub3QgcmV2aXNpb246Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5jb21t
aXRzWyd0cnVuayddWy0xXQorICAgICAgICAgICAgcmV0dXJuIHNlbGYuaGVhZAogICAgICAgICBm
b3IgY2FuZGlkYXRlIGluIFticmFuY2hdIGlmIGJyYW5jaCBlbHNlIHNvcnRlZChzZWxmLmNvbW1p
dHMua2V5cygpKToKICAgICAgICAgICAgIGlmIG5vdCByZXZpc2lvbjoKKyAgICAgICAgICAgICAg
ICBpZiBzZWxmLmhlYWQuYnJhbmNoID09IGNhbmRpZGF0ZToKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHNlbGYuaGVhZAogICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLmNvbW1pdHNbY2Fu
ZGlkYXRlXVstMV0KICAgICAgICAgICAgIGZvciBjb21taXQgaW4gc2VsZi5jb21taXRzW2NhbmRp
ZGF0ZV06CiAgICAgICAgICAgICAgICAgaWYgc3RyKGNvbW1pdC5yZXZpc2lvbikgPT0gc3RyKHJl
dmlzaW9uKToKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbW1pdAogICAgICAgICByZXR1
cm4gTm9uZQorCisgICAgZGVmIHVwKHNlbGYsIHJldmlzaW9uKToKKyAgICAgICAgY29tbWl0ID0g
c2VsZi5maW5kKHJldmlzaW9uPXJldmlzaW9uKQorICAgICAgICBpZiBjb21taXQ6CisgICAgICAg
ICAgICBzZWxmLmhlYWQgPSBjb21taXQKKyAgICAgICAgcmV0dXJuIFRydWUgaWYgY29tbWl0IGVs
c2UgRmFsc2UKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtp
dHNjbXB5L3Rlc3QvY2hlY2tvdXRfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9jaGVja291dF91bml0
dGVzdC5weQkobm9uZXhpc3RlbnQpCisrKyBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRz
Y21weS93ZWJraXRzY21weS90ZXN0L2NoZWNrb3V0X3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNjQgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0Ogor
IyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKKyMgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisK
K2ltcG9ydCB1bml0dGVzdAorCitmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgT3V0cHV0Q2FwdHVy
ZQorZnJvbSB3ZWJraXRjb3JlcHkubW9ja3MgaW1wb3J0IFRpbWUgYXMgTW9ja1RpbWUKK2Zyb20g
d2Via2l0c2NtcHkgaW1wb3J0IHByb2dyYW0sIG1vY2tzLCBsb2NhbAorCisKK2NsYXNzIFRlc3RD
aGVja291dCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgcGF0aCA9ICcvbW9jay9yZXBvc2l0b3J5
JworCisgICAgZGVmIHRlc3RfY2hlY2tvdXRfZ2l0KHNlbGYpOgorICAgICAgICB3aXRoIG1vY2tz
LmxvY2FsLkdpdChzZWxmLnBhdGgpLCBtb2Nrcy5sb2NhbC5Tdm4oKSwgTW9ja1RpbWUsIE91dHB1
dENhcHR1cmUoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2JhZTVkMWU5MDk5OWQ0
ZjkxNmE4YTE1ODEwY2NmYTQzZjM3YTJmZDYnLCBsb2NhbC5HaXQoc2VsZi5wYXRoKS5jb21taXQo
KS5oYXNoKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIHByb2dyYW0ubWFpbigK
KyAgICAgICAgICAgICAgICBhcmdzPSgnY2hlY2tvdXQnLCAnMkBtYWluJyksCisgICAgICAgICAg
ICAgICAgcGF0aD1zZWxmLnBhdGgsCisgICAgICAgICAgICApKQorCisgICAgICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKCdmZmY4M2JiMmQ5MTcxYjRkOTE5NmU5NzdlYjA1MDhmZDU3ZTdhMDhkJywg
bG9jYWwuR2l0KHNlbGYucGF0aCkuY29tbWl0KCkuaGFzaCkKKworICAgIGRlZiB0ZXN0X2NoZWNr
b3V0X2dpdF9zdm4oc2VsZik6CisgICAgICAgIHdpdGggbW9ja3MubG9jYWwuR2l0KHNlbGYucGF0
aCwgZ2l0X3N2bj1UcnVlKSwgbW9ja3MubG9jYWwuU3ZuKCksIE1vY2tUaW1lLCBPdXRwdXRDYXB0
dXJlKCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdiYWU1ZDFlOTA5OTlkNGY5MTZh
OGExNTgxMGNjZmE0M2YzN2EyZmQ2JywgbG9jYWwuR2l0KHNlbGYucGF0aCkuY29tbWl0KCkuaGFz
aCkKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBwcm9ncmFtLm1haW4oCisgICAg
ICAgICAgICAgICAgYXJncz0oJ2NoZWNrb3V0JywgJzIuMkBicmFuY2gtYScpLAorICAgICAgICAg
ICAgICAgIHBhdGg9c2VsZi5wYXRoLAorICAgICAgICAgICAgKSkKKworICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCgnNjIxNjUyYWRkN2ZjNDE2MDk5YmQyMDYzMzY2Y2MzOGZmNjFhZmUzNics
IGxvY2FsLkdpdChzZWxmLnBhdGgpLmNvbW1pdCgpLmhhc2gpCisKKyAgICBkZWYgdGVzdF9jaGVj
a291dF9zdm4oc2VsZik6CisgICAgICAgIHdpdGggbW9ja3MubG9jYWwuR2l0KCksIG1vY2tzLmxv
Y2FsLlN2bihzZWxmLnBhdGgpLCBNb2NrVGltZSwgT3V0cHV0Q2FwdHVyZSgpOgorICAgICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbCg2LCBsb2NhbC5Tdm4oc2VsZi5wYXRoKS5jb21taXQoKS5yZXZp
c2lvbikKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBwcm9ncmFtLm1haW4oCisg
ICAgICAgICAgICAgICAgYXJncz0oJ2NoZWNrb3V0JywgJzNAdHJ1bmsnKSwKKyAgICAgICAgICAg
ICAgICBwYXRoPXNlbGYucGF0aCwKKyAgICAgICAgICAgICkpCisKKyAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoNCwgbG9jYWwuU3ZuKHNlbGYucGF0aCkuY29tbWl0KCkucmV2aXNpb24pCklu
ZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0
L2dpdF91bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L2dpdF91bml0dGVzdC5weQkocmV2aXNpb24gMjY5
Mzk1KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkv
dGVzdC9naXRfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTIyNCwzICsyMjQsMTcgQEAg
Y2xhc3MgVGVzdEdpdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICAgICAgICAgICc2
MjE2NTJhZGQ3ZmM0MTYwOTliZDIwNjMzNjZjYzM4ZmY2MWFmZTM2JywKICAgICAgICAgICAgICAg
ICAgICAgbG9jYWwuR2l0KHNlbGYucGF0aCkuY29tbWl0KHRhZz0ndGFnLTEnKS5oYXNoLAogICAg
ICAgICAgICAgICAgICkKKworICAgIGRlZiB0ZXN0X2NoZWNrb3V0KHNlbGYpOgorICAgICAgICBm
b3IgbW9jayBpbiBbbW9ja3MubG9jYWwuR2l0KHNlbGYucGF0aCksIG1vY2tzLmxvY2FsLkdpdChz
ZWxmLnBhdGgsIGdpdF9zdm49VHJ1ZSldOgorICAgICAgICAgICAgd2l0aCBtb2NrOgorICAgICAg
ICAgICAgICAgIHJlcG9zaXRvcnkgPSBsb2NhbC5HaXQoc2VsZi5wYXRoKQorICAgICAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2JhZTVkMWU5MDk5OWQ0ZjkxNmE4YTE1ODEwY2NmYTQzZjM3
YTJmZDYnLCByZXBvc2l0b3J5LmNvbW1pdCgpLmhhc2gpCisgICAgICAgICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbCgnM2NkMzJlMzUyNDEwNTY1YmI1NDM4MjFmYmY4NTZhNmQzY2FhZDFjNCcsIHJl
cG9zaXRvcnkuY2hlY2tvdXQoJzNjZDMyZTM1MjQnKS5oYXNoKQorICAgICAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoJzNjZDMyZTM1MjQxMDU2NWJiNTQzODIxZmJmODU2YTZkM2NhYWQxYzQn
LCByZXBvc2l0b3J5LmNvbW1pdCgpLmhhc2gpCisKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKCcxYWJlMjViNDQzZTk4NWY5M2I5MGQ4MzBlNGE3ZTM3MzEzMzZhZjRkJywgcmVwb3Np
dG9yeS5jaGVja291dCgnM0BtYWluJykuaGFzaCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKCcxYWJlMjViNDQzZTk4NWY5M2I5MGQ4MzBlNGE3ZTM3MzEzMzZhZjRkJywgcmVwb3Np
dG9yeS5jb21taXQoKS5oYXNoKQorCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgn
NjIxNjUyYWRkN2ZjNDE2MDk5YmQyMDYzMzY2Y2MzOGZmNjFhZmUzNicsIHJlcG9zaXRvcnkuY2hl
Y2tvdXQoJ3RhZy0xJykuaGFzaCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCc2
MjE2NTJhZGQ3ZmM0MTYwOTliZDIwNjMzNjZjYzM4ZmY2MWFmZTM2JywgcmVwb3NpdG9yeS5jb21t
aXQoKS5oYXNoKQpJbmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Vi
a2l0c2NtcHkvdGVzdC9zdm5fdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zdm5fdW5pdHRlc3QucHkJ
KHJldmlzaW9uIDI2OTM5NSkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5
L3dlYmtpdHNjbXB5L3Rlc3Qvc3ZuX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xODks
NyArMTg5LDYgQEAgY2xhc3MgVGVzdFN2bih1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAgICAg
ICAgICAgICBtb2NrX3JlcG8uY29ubmVjdGVkID0gRmFsc2UKICAgICAgICAgICAgICAgICBjb21t
aXQgPSBsb2NhbC5Tdm4oZGlybmFtZSkuY29tbWl0KCkKLSAgICAgICAgICAgICAgICBwcmludChj
b21taXQucmV2aXNpb24pCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnNEB0cnVu
aycsIHN0cihjb21taXQpKQogCiAgICAgICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNl
cyhsb2NhbC5Tdm4uRXhjZXB0aW9uKToKQEAgLTIwNCwzICsyMDMsMTcgQEAgY2xhc3MgVGVzdFN2
bih1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfdGFnX3ByZXZpb3VzKHNlbGYpOgog
ICAgICAgICB3aXRoIG1vY2tzLmxvY2FsLlN2bihzZWxmLnBhdGgpLCBPdXRwdXRDYXB0dXJlKCk6
CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDcsIGxvY2FsLlN2bihzZWxmLnBhdGgpLmNv
bW1pdChpZGVudGlmaWVyPScyLjJAdGFncy90YWctMScpLnJldmlzaW9uKQorCisgICAgZGVmIHRl
c3RfY2hlY2tvdXQoc2VsZik6CisgICAgICAgIHdpdGggbW9ja3MubG9jYWwuU3ZuKHNlbGYucGF0
aCksIE91dHB1dENhcHR1cmUoKToKKyAgICAgICAgICAgIHJlcG9zaXRvcnkgPSBsb2NhbC5Tdm4o
c2VsZi5wYXRoKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDYsIHJlcG9zaXRvcnku
Y29tbWl0KCkucmV2aXNpb24pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDUsIHJlcG9z
aXRvcnkuY2hlY2tvdXQoJ3I1JykucmV2aXNpb24pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKDUsIHJlcG9zaXRvcnkuY29tbWl0KCkucmV2aXNpb24pCisKKyAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoNCwgcmVwb3NpdG9yeS5jaGVja291dCgnM0B0cnVuaycpLnJldmlzaW9uKQor
ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg0LCByZXBvc2l0b3J5LmNvbW1pdCgpLnJldmlz
aW9uKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDksIHJlcG9zaXRvcnkuY2hlY2tv
dXQoJ3RhZy0xJykucmV2aXNpb24pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDksIHJl
cG9zaXRvcnkuY29tbWl0KCkucmV2aXNpb24pCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>