<?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>73651</bug_id>
          
          <creation_ts>2011-12-02 05:52:44 -0800</creation_ts>
          <short_desc>[Refactoring] Use join(&quot;, &quot;, @arguments) to build a method argument string in CodeGenerator*.pm</short_desc>
          <delta_ts>2011-12-02 23:22:31 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>513704</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-02 05:52:44 -0800</bug_when>
    <thetext>The code in CodeGenerator*.pm to build a method argument string is really dirty and error-prone. It is building an argument string incrementally judging whether &quot;, &quot; is necessary or not, like this:

my $method = ... ? &quot;func(&quot; : &quot;func(a&quot;;
if (...) {
    $method .= $method =~ /\($/ ? &quot;b&quot; : &quot;, b&quot;;
}
$method .= &quot;)&quot;;

Alternatively, we can refactor the code as follows:

my $funcName = &quot;func&quot;;
my @arguments;
push(@arguments, &quot;a&quot;) if (...);
push(@arguments, &quot;b&quot;) if (...);
my $method = $funcName . &quot;(&quot; . join(&quot;, &quot;, @arguments) . &quot;)&quot;;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513717</commentid>
    <comment_count>1</comment_count>
      <attachid>117616</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-02 06:19:46 -0800</bug_when>
    <thetext>Created attachment 117616
check if all builds succeed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514307</commentid>
    <comment_count>2</comment_count>
      <attachid>117719</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-02 17:46:50 -0800</bug_when>
    <thetext>Created attachment 117719
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514441</commentid>
    <comment_count>3</comment_count>
      <attachid>117719</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-02 23:22:27 -0800</bug_when>
    <thetext>Comment on attachment 117719
Patch

Clearing flags on attachment: 117719

Committed r101914: &lt;http://trac.webkit.org/changeset/101914&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514442</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-02 23:22:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117616</attachid>
            <date>2011-12-02 06:19:46 -0800</date>
            <delta_ts>2011-12-02 17:46:45 -0800</delta_ts>
            <desc>check if all builds succeed</desc>
            <filename>bug-73651-20111202231945.patch</filename>
            <type>text/plain</type>
            <size>31689</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDMzMjQ2ZjI2ZWM1MmIw
ODJkMzI4NWU0ZDk3YWJhNmE1YTQzOGFjNy4uNzNmMjhiN2UwMzljZmM1N2ZiODdiZDdlNDMwODQz
MDM5ZDFlMjdmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDExLTEyLTAyICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVmYWN0b3Jpbmdd
IFVzZSBqb2luKCIsICIsIEBhcmd1bWVudHMpIHRvIGJ1aWxkIGEgbWV0aG9kIGFyZ3VtZW50IHN0
cmluZyBpbiBDb2RlR2VuZXJhdG9yKi5wbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgY29kZSBpbiBDb2RlR2VuZXJhdG9yKi5wbSB0byBidWlsZCBh
IG1ldGhvZCBhcmd1bWVudCBzdHJpbmcgaXMgcmVhbGx5IGRpcnR5CisgICAgICAgIGFuZCBlcnJv
ci1wcm9uZS4gSXQgaXMgYnVpbGRpbmcgYW4gYXJndW1lbnQgc3RyaW5nIGluY3JlbWVudGFsbHkg
anVkZ2luZyB3aGV0aGVyCisgICAgICAgICIsICIgaXMgbmVjZXNzYXJ5IG9yIG5vdCwgbGlrZSB0
aGlzOgorCisgICAgICAgICAgICBteSAkbWV0aG9kID0gLi4uID8gImZ1bmMoIiA6ICJmdW5jKGEi
OworICAgICAgICAgICAgaWYgKC4uLikgeworICAgICAgICAgICAgICAgICRtZXRob2QgLj0gJG1l
dGhvZCA9fiAvXCgkLyA/ICJiIiA6ICIsIGIiOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
JG1ldGhvZCAuPSAiKSI7CisKKyAgICAgICAgQWx0ZXJuYXRpdmVseSwgd2UgY2FuIHJlZmFjdG9y
IHRoZSBjb2RlIGFzIGZvbGxvd3M6CisKKyAgICAgICAgICAgIG15ICRmdW5jTmFtZSA9ICJmdW5j
IjsKKyAgICAgICAgICAgIG15IEBhcmd1bWVudHM7CisgICAgICAgICAgICBwdXNoKEBhcmd1bWVu
dHMsICJhIikgaWYgKC4uLik7CisgICAgICAgICAgICBwdXNoKEBhcmd1bWVudHMsICJiIikgaWYg
KC4uLik7CisgICAgICAgICAgICBteSAkbWV0aG9kID0gJGZ1bmNOYW1lIC4gIigiIC4gam9pbigi
LCAiLCBAYXJndW1lbnRzKSAuICIpIjsKKworICAgICAgICBUaGlzIHBhdGNoIGp1c3QgcmVmYWN0
b3JzIHRoZSBjb2RlLCBhbmQgZ2VuZXJhdGVkIC5oIGFuZCAuY3BwIGZpbGVzIHNob3VsZCBiZQor
ICAgICAgICBleGFjdGx5IHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IC5oIGFuZCAuY3BwIGZpbGVz
LgorCisgICAgICAgIFRlc3RzOiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvKgorCisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtOgorICAgICAgICAoR2V0dGVyRXhwcmVz
c2lvbik6CisgICAgICAgIChTZXR0ZXJFeHByZXNzaW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JDUFAucG06CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0
aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBt
OgorICAgICAgICAoKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG06CisgICAgICAgIChHZW5lcmF0ZUltcGxl
bWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bToKKyAgICAgICAgKEdlbmVyYXRlTm9ybWFsQXR0ckdldHRlcik6CisgICAgICAgIChHZW5lcmF0
ZU5vcm1hbEF0dHJTZXR0ZXIpOgorCiAyMDExLTEyLTAxICBBbmRyZXkgS29zeWFrb3YgIDxjYXNl
cUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW0V4dGVuc2lvbnMgQVBJ
XSBwYXNzIHByZWZlcnJlZCByZXNvdXJjZSBsaW5lIG51bWJlciB0byBleHRlbnNpb24ncyBvcGVu
IHJlc291cmNlIGhhbmRsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvci5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvci5wbQppbmRleCAxODRkZjgxYTg5OTM3ODA3YTNhYmJmYTQyZjAyM2Y5Nzcy
MWU3NDQ5Li5iMDM5ZTliMDc4MjE0NmRhN2ZhNzY3MTI5NWRjMDZmNGUzYjY2NDY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCkBAIC00
OTksMTQgKzQ5OSwxNCBAQCBzdWIgQ29udGVudEF0dHJpYnV0ZU5hbWUKICAgICByZXR1cm4gIldl
YkNvcmU6OiR7bmFtZXNwYWNlfTo6JHtjb250ZW50QXR0cmlidXRlTmFtZX1BdHRyIjsKIH0KIAot
c3ViIEdldHRlckV4cHJlc3Npb25QcmVmaXgKK3N1YiBHZXR0ZXJFeHByZXNzaW9uCiB7CiAgICAg
bXkgKCRnZW5lcmF0b3IsICRpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRl
KSA9IEBfOwogCiAgICAgbXkgJGNvbnRlbnRBdHRyaWJ1dGVOYW1lID0gJGdlbmVyYXRvci0+Q29u
dGVudEF0dHJpYnV0ZU5hbWUoJGltcGxJbmNsdWRlcywgJGludGVyZmFjZU5hbWUsICRhdHRyaWJ1
dGUpOwogCiAgICAgaWYgKCEkY29udGVudEF0dHJpYnV0ZU5hbWUpIHsKLSAgICAgICAgcmV0dXJu
ICRnZW5lcmF0b3ItPldLX2xjZmlyc3QoJGdlbmVyYXRvci0+QXR0cmlidXRlTmFtZUZvckdldHRl
ckFuZFNldHRlcigkYXR0cmlidXRlKSkgLiAiKCI7CisgICAgICAgIHJldHVybiAoJGdlbmVyYXRv
ci0+V0tfbGNmaXJzdCgkZ2VuZXJhdG9yLT5BdHRyaWJ1dGVOYW1lRm9yR2V0dGVyQW5kU2V0dGVy
KCRhdHRyaWJ1dGUpKSk7CiAgICAgfQogCiAgICAgbXkgJGZ1bmN0aW9uTmFtZTsKQEAgLTUyNiwx
NyArNTI2LDE3IEBAIHN1YiBHZXR0ZXJFeHByZXNzaW9uUHJlZml4CiAgICAgICAgICRmdW5jdGlv
bk5hbWUgPSAiZ2V0QXR0cmlidXRlIjsKICAgICB9CiAKLSAgICByZXR1cm4gIiRmdW5jdGlvbk5h
bWUoJGNvbnRlbnRBdHRyaWJ1dGVOYW1lIgorICAgIHJldHVybiAoJGZ1bmN0aW9uTmFtZSwgJGNv
bnRlbnRBdHRyaWJ1dGVOYW1lKTsKIH0KIAotc3ViIFNldHRlckV4cHJlc3Npb25QcmVmaXgKK3N1
YiBTZXR0ZXJFeHByZXNzaW9uCiB7CiAgICAgbXkgKCRnZW5lcmF0b3IsICRpbXBsSW5jbHVkZXMs
ICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKSA9IEBfOwogCiAgICAgbXkgJGNvbnRlbnRBdHRy
aWJ1dGVOYW1lID0gJGdlbmVyYXRvci0+Q29udGVudEF0dHJpYnV0ZU5hbWUoJGltcGxJbmNsdWRl
cywgJGludGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpOwogCiAgICAgaWYgKCEkY29udGVudEF0dHJp
YnV0ZU5hbWUpIHsKLSAgICAgICAgcmV0dXJuICJzZXQiIC4gJGdlbmVyYXRvci0+V0tfdWNmaXJz
dCgkZ2VuZXJhdG9yLT5BdHRyaWJ1dGVOYW1lRm9yR2V0dGVyQW5kU2V0dGVyKCRhdHRyaWJ1dGUp
KSAuICIoIjsKKyAgICAgICAgcmV0dXJuICgic2V0IiAuICRnZW5lcmF0b3ItPldLX3VjZmlyc3Qo
JGdlbmVyYXRvci0+QXR0cmlidXRlTmFtZUZvckdldHRlckFuZFNldHRlcigkYXR0cmlidXRlKSkp
OwogICAgIH0KIAogICAgIG15ICRmdW5jdGlvbk5hbWU7CkBAIC01NTAsNyArNTUwLDcgQEAgc3Vi
IFNldHRlckV4cHJlc3Npb25QcmVmaXgKICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJzZXRBdHRy
aWJ1dGUiOwogICAgIH0KIAotICAgIHJldHVybiAiJGZ1bmN0aW9uTmFtZSgkY29udGVudEF0dHJp
YnV0ZU5hbWUsICIKKyAgICByZXR1cm4gKCRmdW5jdGlvbk5hbWUsICRjb250ZW50QXR0cmlidXRl
TmFtZSk7CiB9CiAKIHN1YiBTaG91bGRDaGVja0VudW1zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JDUFAucG0gYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JDUFAucG0KaW5kZXggZjU0NDI1YzA1YThj
YjA3ODQxY2U4ZTljOWQxNTc2NjQ5YzdjNDRkMi4uZjcyNzg2MjdhNjIyNjk4YmVmNjg3MzhkYjQ4
ZjdhZjdjYmU3NjJhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yQ1BQLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckNQUC5wbQpAQCAtNzAyLDM3ICs3MDIsMzIgQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICMgLSBHRVRURVIKICAgICAgICAgICAgIG15ICRn
ZXR0ZXJTaWcgPSAiJGF0dHJpYnV0ZVR5cGUgJGNsYXNzTmFtZVw6XDokYXR0cmlidXRlTmFtZSgp
IGNvbnN0XG4iOwogICAgICAgICAgICAgbXkgJGhhc0dldHRlckV4Y2VwdGlvbiA9IEB7JGF0dHJp
YnV0ZS0+Z2V0dGVyRXhjZXB0aW9uc307Ci0gICAgICAgICAgICBteSAkZ2V0dGVyQ29udGVudEhl
YWQ7Ci0gICAgICAgICAgICBteSAkZ2V0dGVyRXhwcmVzc2lvblByZWZpeCA9ICRjb2RlR2VuZXJh
dG9yLT5HZXR0ZXJFeHByZXNzaW9uUHJlZml4KFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFt
ZSwgJGF0dHJpYnV0ZSk7CisgICAgICAgICAgICBteSAoJGZ1bmN0aW9uTmFtZSwgQGFyZ3VtZW50
cykgPSAkY29kZUdlbmVyYXRvci0+R2V0dGVyRXhwcmVzc2lvbihcJWltcGxJbmNsdWRlcywgJGlu
dGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpOworICAgICAgICAgICAgcHVzaChAYXJndW1lbnRzLCAi
ZWMiKSBpZiAkaGFzR2V0dGVyRXhjZXB0aW9uOwogICAgICAgICAgICAgaWYgKCRhdHRyaWJ1dGUt
PnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifSkgewogICAg
ICAgICAgICAgICAgIG15ICRpbXBsZW1lbnRlZEJ5ID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRCeSJ9OwogICAgICAgICAgICAgICAgICRp
bXBsSW5jbHVkZXN7IiR7aW1wbGVtZW50ZWRCeX0uaCJ9ID0gMTsKLSAgICAgICAgICAgICAgICAk
Z2V0dGVyQ29udGVudEhlYWQgPSAiJHtpbXBsZW1lbnRlZEJ5fTo6JHtnZXR0ZXJFeHByZXNzaW9u
UHJlZml4fWltcGwoKSI7CisgICAgICAgICAgICAgICAgdW5zaGlmdChAYXJndW1lbnRzLCAiaW1w
bCgpIik7CisgICAgICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICIke2ltcGxlbWVudGVkQnl9
Ojoke2Z1bmN0aW9uTmFtZX0iOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAkZ2V0dGVyQ29udGVudEhlYWQgPSAiaW1wbCgpLT4ke2dldHRlckV4cHJlc3Npb25QcmVmaXh9
IjsKKyAgICAgICAgICAgICAgICAkZnVuY3Rpb25OYW1lID0gImltcGwoKS0+JHtmdW5jdGlvbk5h
bWV9IjsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG15ICRnZXR0ZXJDb250ZW50VGFpbCA9
ICIpIjsKIAogICAgICAgICAgICAgIyBTcGVjaWFsIGNhc2VzCisgICAgICAgICAgICBteSAkZ2V0
dGVyQ29udGVudEhlYWQgPSAiIjsKKyAgICAgICAgICAgIG15ICRnZXR0ZXJDb250ZW50VGFpbCA9
ICIiOwogICAgICAgICAgICAgbXkgQGN1c3RvbUdldHRlckNvbnRlbnQgPSAoKTsgCiAgICAgICAg
ICAgICBpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29u
dmVydFRvU3RyaW5nIn0pIHsKLSAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAi
V1RGOjpTdHJpbmc6Om51bWJlcigiIC4gJGdldHRlckNvbnRlbnRIZWFkOwotICAgICAgICAgICAg
ICAgICRnZXR0ZXJDb250ZW50VGFpbCAuPSAiKSI7CisgICAgICAgICAgICAgICAgJGdldHRlckNv
bnRlbnRIZWFkID0gIldURjo6U3RyaW5nOjpudW1iZXIoIjsKKyAgICAgICAgICAgICAgICAkZ2V0
dGVyQ29udGVudFRhaWwgPSAiKSI7CiAgICAgICAgICAgICB9IGVsc2lmICgkYXR0cmlidXRlLT5z
aWduYXR1cmUtPnR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIpIHsKLSAgICAgICAgICAg
ICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAiJGdldHRlckNvbnRlbnRIZWFkIjsKLSAgICAgICAg
ICAgICAgICAkZ2V0dGVyQ29udGVudFRhaWwgLj0gIi0+dG9TdHJpbmcoKSI7ICAgICAgICAgICAg
ICAgIAorICAgICAgICAgICAgICAgICRnZXR0ZXJDb250ZW50VGFpbCA9ICItPnRvU3RyaW5nKCki
OwogICAgICAgICAgICAgfSBlbHNpZiAoQ29udmVyc2lvbk5lZWRlZCgkYXR0cmlidXRlLT5zaWdu
YXR1cmUtPnR5cGUpKSB7Ci0gICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gInRv
V2ViS2l0KFdURjo6Z2V0UHRyKCRnZXR0ZXJDb250ZW50SGVhZCI7Ci0gICAgICAgICAgICAgICAg
JGdldHRlckNvbnRlbnRUYWlsIC49ICIpKSI7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IG15ICRnZXR0ZXJDb250ZW50OwotICAgICAgICAgICAgaWYgKCRoYXNHZXR0ZXJFeGNlcHRpb24p
IHsKLSAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudCA9ICRnZXR0ZXJDb250ZW50SGVhZCAu
ICgkZ2V0dGVyQ29udGVudEhlYWQgPX4gL1woJC8gPyAiZWMiIDogIiwgZWMiKSAuICRnZXR0ZXJD
b250ZW50VGFpbDsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgJGdldHRl
ckNvbnRlbnQgPSAkZ2V0dGVyQ29udGVudEhlYWQgLiAkZ2V0dGVyQ29udGVudFRhaWw7CisgICAg
ICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gInRvV2ViS2l0KFdURjo6Z2V0UHRyKCI7
CisgICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRUYWlsID0gIikpIjsKICAgICAgICAgICAg
IH0KIAorICAgICAgICAgICAgbXkgJGdldHRlckNvbnRlbnQgPSAiJHtnZXR0ZXJDb250ZW50SGVh
ZH0ke2Z1bmN0aW9uTmFtZX0oIiAuIGpvaW4oIiwgIiwgQGFyZ3VtZW50cykgLiAiKSR7Z2V0dGVy
Q29udGVudFRhaWx9IjsKICAgICAgICAgICAgIG15ICRhdHRyaWJ1dGVDb25kaXRpb25hbFN0cmlu
ZyA9IEdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlKTsKICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiI2lmICR7YXR0cmlidXRlQ29uZGl0aW9uYWxT
dHJpbmd9XG4iKSBpZiAkYXR0cmlidXRlQ29uZGl0aW9uYWxTdHJpbmc7CiAKQEAgLTc3OSwxNSAr
Nzc0LDE5IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsIEFkZEVhcmx5UmV0dXJuU3RhdGVtZW50KCkpOwogCiAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGV4Y2VwdGlvbkluaXRcbiIpIGlmICRoYXNT
ZXR0ZXJFeGNlcHRpb247Ci0gICAgICAgICAgICAgICAgbXkgJGVjID0gJGhhc1NldHRlckV4Y2Vw
dGlvbiA/ICIsIGVjIiA6ICIiOwotICAgICAgICAgICAgICAgIG15ICRzZXR0ZXJFeHByZXNzaW9u
UHJlZml4ID0gJGNvZGVHZW5lcmF0b3ItPlNldHRlckV4cHJlc3Npb25QcmVmaXgoXCVpbXBsSW5j
bHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKTsKKworICAgICAgICAgICAgICAgIG15
ICgkZnVuY3Rpb25OYW1lLCBAYXJndW1lbnRzKSA9ICRjb2RlR2VuZXJhdG9yLT5TZXR0ZXJFeHBy
ZXNzaW9uKFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0dHJpYnV0ZSk7CisgICAg
ICAgICAgICAgICAgcHVzaChAYXJndW1lbnRzLCAkYXJnKTsKKyAgICAgICAgICAgICAgICBwdXNo
KEBhcmd1bWVudHMsICJlYyIpIGlmICRoYXNTZXR0ZXJFeGNlcHRpb247CiAgICAgICAgICAgICAg
ICAgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxl
bWVudGVkQnkifSkgewogICAgICAgICAgICAgICAgICAgICBteSAkaW1wbGVtZW50ZWRCeSA9ICRh
dHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnki
fTsKICAgICAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siJHtpbXBsZW1lbnRlZEJ5fS5o
In0gPSAxOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAke2lt
cGxlbWVudGVkQnl9Ojoke3NldHRlckV4cHJlc3Npb25QcmVmaXh9aW1wbCgpLCAke2FyZ30ke2Vj
fSk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgdW5zaGlmdChAYXJndW1lbnRzLCAiaW1wbCgp
Iik7CisgICAgICAgICAgICAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiJHtpbXBsZW1lbnRlZEJ5
fTo6JHtmdW5jdGlvbk5hbWV9IjsKICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpbXBsKCktPiRzZXR0ZXJFeHByZXNz
aW9uUHJlZml4JGFyZyRlYyk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgJGZ1bmN0aW9uTmFt
ZSA9ICJpbXBsKCktPiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR7ZnVuY3Rpb25OYW1lfSgiIC4gam9p
bigiLCAiLCBAYXJndW1lbnRzKSAuICIpO1xuIik7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgJGV4Y2VwdGlvblJhaXNlT25FcnJvclxuIikgaWYgJGhhc1NldHRlckV4
Y2VwdGlvbjsKICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAg
ICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQppbmRleCBiNGViNGM5MmQ2MGM0ZjUzNTk2NDJkYjQz
MmQ3ZTlkMjA5ZjMzNWNiLi4zNTFhODBiNjcwNTg3MjA1OThlYjBkMTc0OGVhMDkwMTUxZmYxMzFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JHT2JqZWN0LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckdPYmplY3QucG0KQEAgLTM3OSw1MiArMzc5LDQ2IEBAIHN1YiBHZW5lcmF0ZVByb3Bl
cnR5IHsKICAgICAgICAgJGNvbnZlcnRGdW5jdGlvbiA9ICJXVEY6OlN0cmluZzo6ZnJvbVVURjgi
OwogICAgIH0KIAotICAgIG15ICRnZXR0ZXJFeHByZXNzaW9uUHJlZml4ID0gJGNvZGVHZW5lcmF0
b3ItPkdldHRlckV4cHJlc3Npb25QcmVmaXgoXCVpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1l
LCAkYXR0cmlidXRlKTsKLSAgICBteSAkc2V0dGVyRXhwcmVzc2lvblByZWZpeCA9ICRjb2RlR2Vu
ZXJhdG9yLT5TZXR0ZXJFeHByZXNzaW9uUHJlZml4KFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNl
TmFtZSwgJGF0dHJpYnV0ZSk7CisgICAgbXkgKCRnZXR0ZXJGdW5jdGlvbk5hbWUsIEBnZXR0ZXJB
cmd1bWVudHMpID0gJGNvZGVHZW5lcmF0b3ItPkdldHRlckV4cHJlc3Npb24oXCVpbXBsSW5jbHVk
ZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKTsKKyAgICBteSAoJHNldHRlckZ1bmN0aW9u
TmFtZSwgQHNldHRlckFyZ3VtZW50cykgPSAkY29kZUdlbmVyYXRvci0+U2V0dGVyRXhwcmVzc2lv
bihcJWltcGxJbmNsdWRlcywgJGludGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpOwogCi0gICAgbXkg
JGdldHRlckNvbnRlbnRIZWFkOwotICAgIG15ICRzZXR0ZXJDb250ZW50SGVhZDsKICAgICBpZiAo
JGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRC
eSJ9KSB7CiAgICAgICAgIG15ICRpbXBsZW1lbnRlZEJ5ID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRCeSJ9OwogICAgICAgICAkaW1wbElu
Y2x1ZGVzeyIke2ltcGxlbWVudGVkQnl9LmgifSA9IDE7Ci0gICAgICAgICRnZXR0ZXJDb250ZW50
SGVhZCA9ICIke2ltcGxlbWVudGVkQnl9Ojoke2dldHRlckV4cHJlc3Npb25QcmVmaXh9Y29yZVNl
bGYiOwotICAgICAgICAkc2V0dGVyQ29udGVudEhlYWQgPSAiJHtpbXBsZW1lbnRlZEJ5fTo6JHtz
ZXR0ZXJFeHByZXNzaW9uUHJlZml4fWNvcmVTZWxmLCAke2NvbnZlcnRGdW5jdGlvbn0oZ192YWx1
ZV9nZXRfJGd0eXBlKHZhbHVlKSkiOworICAgICAgICBwdXNoKEBzZXR0ZXJBcmd1bWVudHMsICIk
e2NvbnZlcnRGdW5jdGlvbn0oZ192YWx1ZV9nZXRfJGd0eXBlKHZhbHVlKSkiKTsKKyAgICAgICAg
dW5zaGlmdChAZ2V0dGVyQXJndW1lbnRzLCAiY29yZVNlbGYiKTsKKyAgICAgICAgdW5zaGlmdChA
c2V0dGVyQXJndW1lbnRzLCAiY29yZVNlbGYiKTsKKyAgICAgICAgJGdldHRlckZ1bmN0aW9uTmFt
ZSA9ICIke2ltcGxlbWVudGVkQnl9OjokZ2V0dGVyRnVuY3Rpb25OYW1lIjsKKyAgICAgICAgJHNl
dHRlckZ1bmN0aW9uTmFtZSA9ICIke2ltcGxlbWVudGVkQnl9Ojokc2V0dGVyRnVuY3Rpb25OYW1l
IjsKICAgICB9IGVsc2UgewotICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAiY29yZVNlbGYt
PiRnZXR0ZXJFeHByZXNzaW9uUHJlZml4IjsKLSAgICAgICAgJHNldHRlckNvbnRlbnRIZWFkID0g
ImNvcmVTZWxmLT4kc2V0dGVyRXhwcmVzc2lvblByZWZpeCR7Y29udmVydEZ1bmN0aW9ufShnX3Zh
bHVlX2dldF8kZ3R5cGUodmFsdWUpKSI7CisgICAgICAgIHB1c2goQHNldHRlckFyZ3VtZW50cywg
IiR7Y29udmVydEZ1bmN0aW9ufShnX3ZhbHVlX2dldF8kZ3R5cGUodmFsdWUpKSIpOworICAgICAg
ICAkZ2V0dGVyRnVuY3Rpb25OYW1lID0gImNvcmVTZWxmLT4kZ2V0dGVyRnVuY3Rpb25OYW1lIjsK
KyAgICAgICAgJHNldHRlckZ1bmN0aW9uTmFtZSA9ICJjb3JlU2VsZi0+JHNldHRlckZ1bmN0aW9u
TmFtZSI7CiAgICAgfQorICAgIHB1c2goQGdldHRlckFyZ3VtZW50cywgImVjIikgaWYgQHskYXR0
cmlidXRlLT5nZXR0ZXJFeGNlcHRpb25zfTsKKyAgICBwdXNoKEBzZXR0ZXJBcmd1bWVudHMsICJl
YyIpIGlmIEB7JGF0dHJpYnV0ZS0+c2V0dGVyRXhjZXB0aW9uc307CiAKICAgICBpZiAoZ3JlcCB7
JF8gZXEgJGF0dHJpYnV0ZX0gQHdyaXRlYWJsZVByb3BlcnRpZXMpIHsKICAgICAgICAgcHVzaChA
dHh0U2V0UHJvcHMsICIjaWYgJHtjb25kaXRpb25hbFN0cmluZ31cbiIpIGlmICRjb25kaXRpb25h
bFN0cmluZzsKICAgICAgICAgcHVzaChAdHh0U2V0UHJvcHMsICIgICAgY2FzZSAke3Byb3BFbnVt
fTpcbiAgICB7XG4iKTsKICAgICAgICAgcHVzaChAdHh0U2V0UHJvcHMsICIgICAgICAgIFdlYkNv
cmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwO1xuIikgaWYgQHskYXR0cmlidXRlLT5zZXR0ZXJFeGNl
cHRpb25zfTsKLSAgICAgICAgcHVzaChAdHh0U2V0UHJvcHMsICIgICAgICAgICR7c2V0dGVyQ29u
dGVudEhlYWR9Iik7Ci0gICAgICAgIHB1c2goQHR4dFNldFByb3BzLCAiLCBlYyIpIGlmIEB7JGF0
dHJpYnV0ZS0+c2V0dGVyRXhjZXB0aW9uc307Ci0gICAgICAgIHB1c2goQHR4dFNldFByb3BzLCAi
KTtcbiIpOworICAgICAgICBwdXNoKEB0eHRTZXRQcm9wcywgIiAgICAgICAgJHtzZXR0ZXJGdW5j
dGlvbk5hbWV9KCIgLiBqb2luKCIsICIsIEBzZXR0ZXJBcmd1bWVudHMpIC4gIik7XG4iKTsKICAg
ICAgICAgcHVzaChAdHh0U2V0UHJvcHMsICIgICAgICAgIGJyZWFrO1xuICAgIH1cbiIpOwogICAg
ICAgICBwdXNoKEB0eHRTZXRQcm9wcywgIiNlbmRpZiAvKiAke2NvbmRpdGlvbmFsU3RyaW5nfSAq
L1xuIikgaWYgJGNvbmRpdGlvbmFsU3RyaW5nOwogICAgIH0KIAogICAgIHB1c2goQHR4dEdldFBy
b3BzLCAiI2lmICR7Y29uZGl0aW9uYWxTdHJpbmd9XG4iKSBpZiAkY29uZGl0aW9uYWxTdHJpbmc7
CiAgICAgcHVzaChAdHh0R2V0UHJvcHMsICIgICAgY2FzZSAke3Byb3BFbnVtfTpcbiAgICB7XG4i
KTsKLQotICAgIG15ICRleGNlcHRpb24gPSAiIjsKLSAgICBpZiAoQHskYXR0cmlidXRlLT5nZXR0
ZXJFeGNlcHRpb25zfSkgewotICAgICAgICAkZXhjZXB0aW9uID0gImVjIjsKLSAgICAgICAgcHVz
aChAdHh0R2V0UHJvcHMsICIgICAgICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwO1xu
Iik7Ci0gICAgfQorICAgIHB1c2goQHR4dEdldFByb3BzLCAiICAgICAgICBXZWJDb3JlOjpFeGNl
cHRpb25Db2RlIGVjID0gMDtcbiIpIGlmIEB7JGF0dHJpYnV0ZS0+Z2V0dGVyRXhjZXB0aW9uc307
CiAKICAgICBteSAkcG9zdENvbnZlcnRGdW5jdGlvbiA9ICIiOwogICAgIG15ICRkb25lID0gMDsK
ICAgICBpZiAoJGd0eXBlIGVxICJzdHJpbmciKSB7Ci0gICAgICAgIHB1c2goQHR4dEdldFByb3Bz
LCAiICAgICAgICBnX3ZhbHVlX3Rha2Vfc3RyaW5nKHZhbHVlLCBjb252ZXJ0VG9VVEY4U3RyaW5n
KCR7Z2V0dGVyQ29udGVudEhlYWR9IiAuICgkZ2V0dGVyQ29udGVudEhlYWQgIX4gL1woJC8gJiYg
JGV4Y2VwdGlvbiA/ICIsICRleGNlcHRpb24iIDogIiRleGNlcHRpb24iKSAuICIpKSk7XG4iKTsK
KyAgICAgICAgcHVzaChAdHh0R2V0UHJvcHMsICIgICAgICAgIGdfdmFsdWVfdGFrZV9zdHJpbmco
dmFsdWUsIGNvbnZlcnRUb1VURjhTdHJpbmcoJHtnZXR0ZXJGdW5jdGlvbk5hbWV9KCIgLiBqb2lu
KCIsICIsIEBnZXR0ZXJBcmd1bWVudHMpIC4gIikpKTtcbiIpOwogICAgICAgICAkZG9uZSA9IDE7
CiAgICAgfSBlbHNpZiAoJGd0eXBlIGVxICJvYmplY3QiKSB7Ci0gICAgICAgICR0eHRHZXRQcm9w
ID0gPDwgIkVPRiI7Ci0gICAgICAgIFJlZlB0cjxXZWJDb3JlOjoke3Byb3BUeXBlfT4gcHRyID0g
Y29yZVNlbGYtPiR7Z2V0UHJvcE5hbWVGdW5jdGlvbn0oJHtleGNlcHRpb259KTsKLSAgICAgICAg
Z192YWx1ZV9zZXRfb2JqZWN0KHZhbHVlLCBXZWJLaXQ6OmtpdChwdHIuZ2V0KCkpKTsKLUVPRgot
ICAgICAgICBwdXNoKEB0eHRHZXRQcm9wcywgJHR4dEdldFByb3ApOworICAgICAgICBwdXNoKEB0
eHRHZXRQcm9wcywgIiAgICAgICAgUmVmUHRyPFdlYkNvcmU6OiR7cHJvcFR5cGV9PiBwdHIgPSBj
b3JlU2VsZi0+JHtnZXRQcm9wTmFtZUZ1bmN0aW9ufSgiIC4gKEB7JGF0dHJpYnV0ZS0+Z2V0dGVy
RXhjZXB0aW9uc30gPyAiZWMiIDogIiIpIC4gIik7XG4iKTsKKyAgICAgICAgcHVzaChAdHh0R2V0
UHJvcHMsICIgICAgICAgIGdfdmFsdWVfc2V0X29iamVjdCh2YWx1ZSwgV2ViS2l0OjpraXQocHRy
LmdldCgpKSk7XG4iKTsKICAgICAgICAgJGRvbmUgPSAxOwogICAgIH0KIApAQCAtNDM4LDkgKzQz
Miw5IEBAIEVPRgogICAgICAgICBpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRCeSJ9KSB7CiAgICAgICAgICAgICBteSAkaW1wbGVtZW50
ZWRCeSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxl
bWVudGVkQnkifTsKICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IiR7aW1wbGVtZW50ZWRCeX0u
aCJ9ID0gMTsKLSAgICAgICAgICAgIHB1c2goQHR4dEdldFByb3BzLCAiICAgICAgICBnX3ZhbHVl
X3NldF8kX2d0eXBlKHZhbHVlLCAke2NvbnZlcnRGdW5jdGlvbn0ke2ltcGxlbWVudGVkQnl9Ojok
e2dldHRlckV4cHJlc3Npb25QcmVmaXh9Y29yZVNlbGYsICR7ZXhjZXB0aW9ufSkke3Bvc3RDb252
ZXJ0RnVuY3Rpb259KTtcbiIpOworICAgICAgICAgICAgcHVzaChAdHh0R2V0UHJvcHMsICIgICAg
ICAgIGdfdmFsdWVfc2V0XyRfZ3R5cGUodmFsdWUsICR7Y29udmVydEZ1bmN0aW9ufSR7Z2V0dGVy
RnVuY3Rpb25OYW1lfSgiIC4gam9pbigiLCAiLCBAZ2V0dGVyQXJndW1lbnRzKSAuICAiKSR7cG9z
dENvbnZlcnRGdW5jdGlvbn0pO1xuIik7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBw
dXNoKEB0eHRHZXRQcm9wcywgIiAgICAgICAgZ192YWx1ZV9zZXRfJF9ndHlwZSh2YWx1ZSwgJHtj
b252ZXJ0RnVuY3Rpb259Y29yZVNlbGYtPiR7Z2V0dGVyRXhwcmVzc2lvblByZWZpeH0ke2V4Y2Vw
dGlvbn0pJHtwb3N0Q29udmVydEZ1bmN0aW9ufSk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQHR4
dEdldFByb3BzLCAiICAgICAgICBnX3ZhbHVlX3NldF8kX2d0eXBlKHZhbHVlLCAke2NvbnZlcnRG
dW5jdGlvbn0ke2dldHRlckZ1bmN0aW9uTmFtZX0oIiAuIGpvaW4oIiwgIiwgQGdldHRlckFyZ3Vt
ZW50cykgLiAiKSR7cG9zdENvbnZlcnRGdW5jdGlvbn0pO1xuIik7CiAgICAgICAgIH0KICAgICB9
CiAKQEAgLTc0Miw3ICs3MzYsNyBAQCBzdWIgR2VuZXJhdGVGdW5jdGlvbiB7CiAKICAgICBteSAk
ZnVuY3Rpb25TaWcgPSAiJHtjbGFzc05hbWV9KiBzZWxmIjsKIAotICAgIG15ICRjYWxsSW1wbFBh
cmFtcyA9ICIiOworICAgIG15IEBjYWxsSW1wbFBhcmFtczsKIAogICAgICMgc2tpcCBzb21lIGN1
c3RvbSBmdW5jdGlvbnMgZm9yIG5vdwogICAgIG15ICRpc0N1c3RvbUZ1bmN0aW9uID0gJGZ1bmN0
aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b20ifSB8fApAQCAtNzcw
LDExICs3NjQsNyBAQCBzdWIgR2VuZXJhdGVGdW5jdGlvbiB7CiAgICAgICAgIGlmICgkcGFyYW1J
c0dET01UeXBlIHx8ICgkcGFyYW1JRExUeXBlIGVxICJET01TdHJpbmciKSB8fCAoJHBhcmFtSURM
VHlwZSBlcSAiQ29tcGFyZUhvdyIpKSB7CiAgICAgICAgICAgICAkcGFyYW1OYW1lID0gImNvbnZl
cnRlZF8iIC4gJHBhcmFtTmFtZTsKICAgICAgICAgfQotICAgICAgICBpZiAoJGNhbGxJbXBsUGFy
YW1zKSB7Ci0gICAgICAgICAgICAkY2FsbEltcGxQYXJhbXMgLj0gIiwgJHBhcmFtTmFtZSI7Ci0g
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAkY2FsbEltcGxQYXJhbXMgPSAiJHBhcmFtTmFt
ZSI7Ci0gICAgICAgIH0KKyAgICAgICAgcHVzaChAY2FsbEltcGxQYXJhbXMsICRwYXJhbU5hbWUp
OwogICAgIH0KIAogICAgICMgTm90IHF1aXRlIHN1cmUgd2hhdCB0byBkbyB3aXRoIHRoaXMgeWV0
LCBidXQgd2UgbmVlZCB0byB0YWtlIGludG8KQEAgLTc4Miw4ICs3NzIsNyBAQCBzdWIgR2VuZXJh
dGVGdW5jdGlvbiB7CiAgICAgIyBhY3R1YWwgaW1wbGVtZW50YXRpb24uCiAgICAgaWYgKCRmdW5j
dGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmVlZHNVc2VyR2VzdHVyZUNo
ZWNrIn0pIHsKICAgICAgICAgJGZ1bmN0aW9uU2lnIC49ICIsIGdib29sZWFuIGlzVXNlckdlc3R1
cmUiOwotICAgICAgICAkY2FsbEltcGxQYXJhbXMgLj0gIiwgIiBpZiAkY2FsbEltcGxQYXJhbXM7
Ci0gICAgICAgICRjYWxsSW1wbFBhcmFtcyAuPSAiZmFsc2UiOworICAgICAgICBwdXNoKEBjYWxs
SW1wbFBhcmFtcywgImZhbHNlIik7CiAgICAgfQogCiAgICAgaWYgKCRyZXR1cm5UeXBlIG5lICJ2
b2lkIiAmJiAkcmV0dXJuVmFsdWVJc0dET01UeXBlICYmICRmdW5jdGlvblNpZ1R5cGUgbmUgIkRP
TU9iamVjdCIpIHsKQEAgLTkxMSwxOSArOTAwLDE1IEBAIHN1YiBHZW5lcmF0ZUZ1bmN0aW9uIHsK
ICAgICAgICAgICAgICRhc3NpZ24gPSAiJHtyZXR1cm5UeXBlfSByZXMgPSAiOwogICAgICAgICB9
CiAgICAgfQotICAgIG15ICRleGNlcHRpb25zID0gIiI7CisKICAgICBpZiAoQHskZnVuY3Rpb24t
PnJhaXNlc0V4Y2VwdGlvbnN9KSB7Ci0gICAgICAgIHB1c2goQGNCb2R5LCAiICAgIFdlYkNvcmU6
OkV4Y2VwdGlvbkNvZGUgZWMgPSAwO1xuIik7Ci0gICAgICAgIGlmICgke2NhbGxJbXBsUGFyYW1z
fSBuZSAiIikgewotICAgICAgICAgICAgJGV4Y2VwdGlvbnMgPSAiLCBlYyI7Ci0gICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAkZXhjZXB0aW9ucyA9ICJlYyI7Ci0gICAgICAgIH0KKyAgICAg
ICAgcHVzaChAY0JvZHksICIgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSBlYyA9IDA7XG4iKSA7
CisgICAgICAgIHB1c2goQGNhbGxJbXBsUGFyYW1zLCAiZWMiKTsKICAgICB9CiAKICAgICBpZiAo
JGZ1bmN0aW9uSGFzQ3VzdG9tUmV0dXJuKSB7CisgICAgICAgIHB1c2goQGNCb2R5LCAiICAgIGJv
b2wgb2sgPSBpdGVtLT4ke2Z1bmN0aW9uU2lnTmFtZX0oIiAuIGpvaW4oIiwgIiwgQGNhbGxJbXBs
UGFyYW1zKSAuICIpO1xuIik7CiAgICAgICAgIG15ICRjdXN0b21Ob2RlQXBwZW5kQ2hpbGQgPSA8
PCAiRU9GIjsKLSAgICBib29sIG9rID0gaXRlbS0+JHtmdW5jdGlvblNpZ05hbWV9KCR7Y2FsbElt
cGxQYXJhbXN9JHtleGNlcHRpb25zfSk7CiAgICAgaWYgKG9rKQogICAgIHsKICAgICAgICAgJHty
ZXR1cm5UeXBlfSByZXMgPSBXZWJLaXQ6OmtpdCgkcmV0dXJuUGFyYW1OYW1lKTsKQEAgLTk0Niw0
MyArOTMxLDUwIEBAIEVPRgogICAgIH0gZWxzaWYgKCRmdW5jdGlvblNpZ1R5cGUgZXEgIkRPTVN0
cmluZyIpIHsKICAgICAgICAgbXkgJGdldHRlckNvbnRlbnRIZWFkOwogICAgICAgICBpZiAoJHBy
ZWZpeCkgewotICAgICAgICAgICAgbXkgJGdldHRlckV4cHJlc3Npb25QcmVmaXggPSAkY29kZUdl
bmVyYXRvci0+R2V0dGVyRXhwcmVzc2lvblByZWZpeChcJWltcGxJbmNsdWRlcywgJGludGVyZmFj
ZU5hbWUsICRmdW5jdGlvbik7CisgICAgICAgICAgICBteSAoJGZ1bmN0aW9uTmFtZSwgQGFyZ3Vt
ZW50cykgPSAkY29kZUdlbmVyYXRvci0+R2V0dGVyRXhwcmVzc2lvbihcJWltcGxJbmNsdWRlcywg
JGludGVyZmFjZU5hbWUsICRmdW5jdGlvbik7CisgICAgICAgICAgICBwdXNoKEBhcmd1bWVudHMs
IEBjYWxsSW1wbFBhcmFtcyk7CiAgICAgICAgICAgICBpZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJbXBsZW1lbnRlZEJ5In0pIHsKICAgICAgICAgICAgICAg
ICBteSAkaW1wbGVtZW50ZWRCeSA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiSW1wbGVtZW50ZWRCeSJ9OwogICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7
IiR7aW1wbGVtZW50ZWRCeX0uaCJ9ID0gMTsKLSAgICAgICAgICAgICAgICBteSAkaXRlbSA9ICEk
Y2FsbEltcGxQYXJhbXMgJiYgISRleGNlcHRpb25zID8gIml0ZW0iIDogIml0ZW0sICI7Ci0gICAg
ICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gIiR7YXNzaWdufWNvbnZlcnRUb1VURjhT
dHJpbmcoJHtpbXBsZW1lbnRlZEJ5fTo6JGdldHRlckV4cHJlc3Npb25QcmVmaXgkaXRlbSR7ZXhj
ZXB0aW9uc30pKTtcbiI7CisgICAgICAgICAgICAgICAgdW5zaGlmdChAYXJndW1lbnRzLCAiaXRl
bSIpOworICAgICAgICAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiJHtpbXBsZW1lbnRlZEJ5fTo6
JHtmdW5jdGlvbk5hbWV9IjsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
JGdldHRlckNvbnRlbnRIZWFkID0gIiR7YXNzaWdufWNvbnZlcnRUb1VURjhTdHJpbmcoaXRlbS0+
JGdldHRlckV4cHJlc3Npb25QcmVmaXgke2V4Y2VwdGlvbnN9KSk7XG4iOworICAgICAgICAgICAg
ICAgICRmdW5jdGlvbk5hbWUgPSAiaXRlbS0+JHtmdW5jdGlvbk5hbWV9IjsKICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICRnZXR0ZXJDb250ZW50SGVhZCA9ICIke2Fzc2lnbn1jb252ZXJ0VG9V
VEY4U3RyaW5nKCR7ZnVuY3Rpb25OYW1lfSgiIC4gam9pbigiLCAiLCBAYXJndW1lbnRzKSAuICIp
KTtcbiI7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQg
PSAiJHthc3NpZ259Y29udmVydFRvVVRGOFN0cmluZyhpdGVtLT4ke2Z1bmN0aW9uU2lnTmFtZX0o
JHtjYWxsSW1wbFBhcmFtc30ke2V4Y2VwdGlvbnN9KSk7XG4iOworICAgICAgICAgICAgJGdldHRl
ckNvbnRlbnRIZWFkID0gIiR7YXNzaWdufWNvbnZlcnRUb1VURjhTdHJpbmcoaXRlbS0+JHtmdW5j
dGlvblNpZ05hbWV9KCIgLiBqb2luKCIsICIsIEBjYWxsSW1wbFBhcmFtcykgLiAiKSk7XG4iOwog
ICAgICAgICB9CiAgICAgICAgIHB1c2goQGNCb2R5LCAiICAgICR7Z2V0dGVyQ29udGVudEhlYWR9
Iik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgbXkgJGNvbnRlbnRIZWFkOwogICAgICAgICBpZiAo
JHByZWZpeCBlcSAiZ2V0XyIpIHsKLSAgICAgICAgICAgIG15ICRnZXR0ZXJFeHByZXNzaW9uUHJl
Zml4ID0gJGNvZGVHZW5lcmF0b3ItPkdldHRlckV4cHJlc3Npb25QcmVmaXgoXCVpbXBsSW5jbHVk
ZXMsICRpbnRlcmZhY2VOYW1lLCAkZnVuY3Rpb24pOworICAgICAgICAgICAgbXkgKCRmdW5jdGlv
bk5hbWUsIEBhcmd1bWVudHMpID0gJGNvZGVHZW5lcmF0b3ItPkdldHRlckV4cHJlc3Npb24oXCVp
bXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkZnVuY3Rpb24pOworICAgICAgICAgICAgcHVz
aChAYXJndW1lbnRzLCBAY2FsbEltcGxQYXJhbXMpOwogICAgICAgICAgICAgaWYgKCRmdW5jdGlv
bi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRCeSJ9KSB7CiAg
ICAgICAgICAgICAgICAgbXkgJGltcGxlbWVudGVkQnkgPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifTsKICAgICAgICAgICAgICAgICAk
aW1wbEluY2x1ZGVzeyIke2ltcGxlbWVudGVkQnl9LmgifSA9IDE7Ci0gICAgICAgICAgICAgICAg
bXkgJGl0ZW0gPSAhJGNhbGxJbXBsUGFyYW1zICYmICEkZXhjZXB0aW9ucyA/ICJpdGVtIiA6ICJp
dGVtLCAiOwotICAgICAgICAgICAgICAgICRjb250ZW50SGVhZCA9ICIke2Fzc2lnbn0ke2Fzc2ln
blByZX0ke2ltcGxlbWVudGVkQnl9OjokZ2V0dGVyRXhwcmVzc2lvblByZWZpeCRpdGVtJHtjYWxs
SW1wbFBhcmFtc30ke2V4Y2VwdGlvbnN9JHthc3NpZ25Qb3N0fSk7XG4iOworICAgICAgICAgICAg
ICAgIHVuc2hpZnQoQGFyZ3VtZW50cywgIml0ZW0iKTsKKyAgICAgICAgICAgICAgICAkZnVuY3Rp
b25OYW1lID0gIiR7aW1wbGVtZW50ZWRCeX06OiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgICRjb250ZW50SGVhZCA9ICIke2Fzc2lnbn0ke2Fz
c2lnblByZX1pdGVtLT4kZ2V0dGVyRXhwcmVzc2lvblByZWZpeCR7Y2FsbEltcGxQYXJhbXN9JHtl
eGNlcHRpb25zfSR7YXNzaWduUG9zdH0pO1xuIjsKKyAgICAgICAgICAgICAgICAkZnVuY3Rpb25O
YW1lID0gIml0ZW0tPiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAkY29udGVudEhlYWQgPSAiJHthc3NpZ259JHthc3NpZ25QcmV9JHtmdW5jdGlvbk5hbWV9KCIg
LiBqb2luKCIsICIsIEBhcmd1bWVudHMpIC4gIiR7YXNzaWduUG9zdH0pO1xuIjsKICAgICAgICAg
fSBlbHNpZiAoJHByZWZpeCBlcSAic2V0XyIpIHsKLSAgICAgICAgICAgIG15ICRzZXR0ZXJFeHBy
ZXNzaW9uUHJlZml4ID0gJGNvZGVHZW5lcmF0b3ItPlNldHRlckV4cHJlc3Npb25QcmVmaXgoXCVp
bXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkZnVuY3Rpb24pOworICAgICAgICAgICAgbXkg
KCRmdW5jdGlvbk5hbWUsIEBhcmd1bWVudHMpID0gJGNvZGVHZW5lcmF0b3ItPlNldHRlckV4cHJl
c3Npb24oXCVpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkZnVuY3Rpb24pOworICAgICAg
ICAgICAgcHVzaChAYXJndW1lbnRzLCBAY2FsbEltcGxQYXJhbXMpOwogICAgICAgICAgICAgaWYg
KCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRC
eSJ9KSB7CiAgICAgICAgICAgICAgICAgbXkgJGltcGxlbWVudGVkQnkgPSAkZnVuY3Rpb24tPnNp
Z25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifTsKICAgICAgICAg
ICAgICAgICAkaW1wbEluY2x1ZGVzeyIke2ltcGxlbWVudGVkQnl9LmgifSA9IDE7Ci0gICAgICAg
ICAgICAgICAgbXkgJGl0ZW0gPSAhJGNhbGxJbXBsUGFyYW1zICYmICEkZXhjZXB0aW9ucyA/ICJp
dGVtIiA6ICJpdGVtLCAiOwotICAgICAgICAgICAgICAgICRjb250ZW50SGVhZCA9ICIke2Fzc2ln
bn0ke2Fzc2lnblByZX0ke2ltcGxlbWVudGVkQnl9Ojokc2V0dGVyRXhwcmVzc2lvblByZWZpeCRp
dGVtJHtjYWxsSW1wbFBhcmFtc30ke2V4Y2VwdGlvbnN9JHthc3NpZ25Qb3N0fSk7XG4iOworICAg
ICAgICAgICAgICAgIHVuc2hpZnQoQGFyZ3VtZW50cywgIml0ZW0iKTsKKyAgICAgICAgICAgICAg
ICAkZnVuY3Rpb25OYW1lID0gIiR7aW1wbGVtZW50ZWRCeX06OiR7ZnVuY3Rpb25OYW1lfSI7Cisg
ICAgICAgICAgICAgICAgJGNvbnRlbnRIZWFkID0gIiR7YXNzaWdufSR7YXNzaWduUHJlfSR7ZnVu
Y3Rpb25OYW1lfSgiIC4gam9pbigiLCAiLCBAYXJndW1lbnRzKSAuICIke2Fzc2lnblBvc3R9KTtc
biI7CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICRjb250ZW50SGVhZCA9
ICIke2Fzc2lnbn0ke2Fzc2lnblByZX1pdGVtLT4kc2V0dGVyRXhwcmVzc2lvblByZWZpeCR7Y2Fs
bEltcGxQYXJhbXN9JHtleGNlcHRpb25zfSR7YXNzaWduUG9zdH0pO1xuIjsKKyAgICAgICAgICAg
ICAgICAkZnVuY3Rpb25OYW1lID0gIml0ZW0tPiR7ZnVuY3Rpb25OYW1lfSI7CisgICAgICAgICAg
ICAgICAgJGNvbnRlbnRIZWFkID0gIiR7YXNzaWdufSR7YXNzaWduUHJlfSR7ZnVuY3Rpb25OYW1l
fSgiIC4gam9pbigiLCAiLCBAYXJndW1lbnRzKSAuICIke2Fzc2lnblBvc3R9KTtcbiI7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAkY29udGVudEhlYWQgPSAi
JHthc3NpZ259JHthc3NpZ25QcmV9aXRlbS0+JHtmdW5jdGlvblNpZ05hbWV9KCR7Y2FsbEltcGxQ
YXJhbXN9JHtleGNlcHRpb25zfSR7YXNzaWduUG9zdH0pO1xuIjsKKyAgICAgICAgICAgICRjb250
ZW50SGVhZCA9ICIke2Fzc2lnbn0ke2Fzc2lnblByZX1pdGVtLT4ke2Z1bmN0aW9uU2lnTmFtZX0o
IiAuIGpvaW4oIiwgIiwgQGNhbGxJbXBsUGFyYW1zKSAuICIke2Fzc2lnblBvc3R9KTtcbiI7CiAg
ICAgICAgIH0KICAgICAgICAgcHVzaChAY0JvZHksICIgICAgJHtjb250ZW50SGVhZH0iKTsKICAg
ICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCmluZGV4IDMwNDY1ZjY0OTgzODE0MDBkNWYxNGRmNDEyNjkyNWQ2ZDZkMjc4ZTEu
LmVhZjcyZmM2Mjk3ZGFiNmJjNzRiNmNiNzk5ZTE2N2ZiZjJiMjMwMTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xNzY5
LDE3ICsxNzY5LDE3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgSlNWYWx1ZSByZXN1bHQgPSAg
IiAuIE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5zaWduYXR1cmUsIDAsICRpbXBsQ2xhc3NO
YW1lLCAiaW1wLiRpbXBsR2V0dGVyRnVuY3Rpb25OYW1lKCkiLCAiY2FzdGVkVGhpcyIpIC4gIjtc
biIpOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgICAgICAgICAgbXkgJGdldHRlckV4cHJlc3Npb25QcmVmaXgg
PSAkY29kZUdlbmVyYXRvci0+R2V0dGVyRXhwcmVzc2lvblByZWZpeChcJWltcGxJbmNsdWRlcywg
JGludGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpOwotICAgICAgICAgICAgICAgICAgICAgICAgbXkg
JGdldHRlckV4cHJlc3Npb247CisgICAgICAgICAgICAgICAgICAgICAgICBteSAoJGZ1bmN0aW9u
TmFtZSwgQGFyZ3VtZW50cykgPSAkY29kZUdlbmVyYXRvci0+R2V0dGVyRXhwcmVzc2lvbihcJWlt
cGxJbmNsdWRlcywgJGludGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkltcGxlbWVudGVkQnkifSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15ICRpbXBs
ZW1lbnRlZEJ5ID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
SW1wbGVtZW50ZWRCeSJ9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVk
ZXN7IiR7aW1wbGVtZW50ZWRCeX0uaCJ9ID0gMTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAkZ2V0dGVyRXhwcmVzc2lvbiA9ICIke2ltcGxlbWVudGVkQnl9Ojoke2dldHRlckV4cHJlc3Np
b25QcmVmaXh9aW1wKSI7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZ1bmN0aW9uTmFt
ZSA9ICIke2ltcGxlbWVudGVkQnl9Ojoke2Z1bmN0aW9uTmFtZX0iOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2hpZnQoQGFyZ3VtZW50cywgImltcCIpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2V0dGVyRXhw
cmVzc2lvbiA9ICJpbXAtPiIgLiAkZ2V0dGVyRXhwcmVzc2lvblByZWZpeCAuICIpIjsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25OYW1lID0gImltcC0+JHtmdW5jdGlvbk5h
bWV9IjsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgICAgICAg
ICAgbXkgJGpzVHlwZSA9IE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5zaWduYXR1cmUsIDAs
ICRpbXBsQ2xhc3NOYW1lLCAkZ2V0dGVyRXhwcmVzc2lvbiwgImNhc3RlZFRoaXMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG15ICRqc1R5cGUgPSBOYXRpdmVUb0pTVmFsdWUoJGF0dHJpYnV0
ZS0+c2lnbmF0dXJlLCAwLCAkaW1wbENsYXNzTmFtZSwgIiR7ZnVuY3Rpb25OYW1lfSgiIC4gam9p
bigiLCAiLCBAYXJndW1lbnRzKSAuICIpIiwgImNhc3RlZFRoaXMiKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICRpbXBsQ2xhc3NOYW1lKiBpbXAgPSBz
dGF0aWNfY2FzdDwkaW1wbENsYXNzTmFtZSo+KGNhc3RlZFRoaXMtPmltcGwoKSk7XG4iKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNTVkdBbmltYXRlZFR5
cGUoJHR5cGUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgUmVmUHRyPCR0eXBlPiBvYmogPSAkanNUeXBlO1xuIik7CkBAIC0xOTkxLDE2ICsx
OTkxLDE4IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBteSAkc2V0dGVyRXhwcmVzc2lvblByZWZpeCA9ICRjb2RlR2VuZXJhdG9yLT5T
ZXR0ZXJFeHByZXNzaW9uUHJlZml4KFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0
dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15ICgkZnVuY3Rpb25O
YW1lLCBAYXJndW1lbnRzKSA9ICRjb2RlR2VuZXJhdG9yLT5TZXR0ZXJFeHByZXNzaW9uKFwlaW1w
bEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB1c2goQGFyZ3VtZW50cywgJG5hdGl2ZVZhbHVlKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifSkgewogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbXkgJGltcGxlbWVudGVkQnkgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJbXBsZW1lbnRlZEJ5In07CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyIke2ltcGxlbWVudGVkQnl9LmgifSA9
IDE7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICAke2ltcGxlbWVudGVkQnl9Ojoke3NldHRlckV4cHJlc3Npb25QcmVmaXh9aW1wLCAk
bmF0aXZlVmFsdWUiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2hp
ZnQoQGFyZ3VtZW50cywgImltcCIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJGZ1bmN0aW9uTmFtZSA9ICIke2ltcGxlbWVudGVkQnl9Ojoke2Z1bmN0aW9uTmFtZX0iOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaW1wLT4kc2V0dGVy
RXhwcmVzc2lvblByZWZpeCRuYXRpdmVWYWx1ZSIpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJpbXAtPiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIsIGVjIikgaWYgQHskYXR0cmlidXRlLT5zZXR0ZXJF
eGNlcHRpb25zfTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIpO1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGFy
Z3VtZW50cywgImVjIikgaWYgQHskYXR0cmlidXRlLT5zZXR0ZXJFeGNlcHRpb25zfTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHtmdW5j
dGlvbk5hbWV9KCIgLiBqb2luKCIsICIsIEBhcmd1bWVudHMpIC4gIik7XG4iKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc2V0RE9NRXhj
ZXB0aW9uKGV4ZWMsIGVjKTtcbiIpIGlmIEB7JGF0dHJpYnV0ZS0+c2V0dGVyRXhjZXB0aW9uc307
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg
fQpAQCAtMjAxMSwxMCArMjAxMywxMCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAg
ICAgICAgICAgCisKICAgICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJSZXBsYWNlYWJsZUNvbnN0cnVjdG9yIn0pIHsKICAgICAgICAgICAgICAgICBteSAkY29u
c3RydWN0b3JGdW5jdGlvbk5hbWUgPSAic2V0SlMiIC4gJGludGVyZmFjZU5hbWUgLiAiQ29uc3Ry
dWN0b3IiOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICJ2b2lkICR7Y29uc3RydWN0b3JGdW5jdGlvbk5hbWV9KEV4ZWNTdGF0ZSogZXhlYywg
SlNPYmplY3QqIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpXG4iKTsKICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgICAgICAgICAgICAgIGlmICgkZGF0YU5v
ZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja0RvbWFpblNlY3VyaXR5In0pIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMu
cG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBt
CmluZGV4IDc4MmYzNWUzMzM0MTVjYmQ1ZmNjNDcxZjU3Mjg5NWY5OTE1NTY2NmIuLjA0MTUxYjQ5
YmIwNmZkMjdhNTMwOTUwNWIwNTBhMjUwYjE5NTI3N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQpAQCAtMTIwMCw3ICsx
MjAwLDggQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICMgLSBHRVRU
RVIKICAgICAgICAgICAgIG15ICRnZXR0ZXJTaWcgPSAiLSAoJGF0dHJpYnV0ZVR5cGUpJGF0dHJp
YnV0ZUludGVyZmFjZU5hbWVcbiI7CiAKLSAgICAgICAgICAgIG15ICRnZXR0ZXJFeHByZXNzaW9u
UHJlZml4ID0gJGNvZGVHZW5lcmF0b3ItPkdldHRlckV4cHJlc3Npb25QcmVmaXgoXCVpbXBsSW5j
bHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKTsKKyAgICAgICAgICAgIG15ICgkZnVu
Y3Rpb25OYW1lLCBAYXJndW1lbnRzKSA9ICRjb2RlR2VuZXJhdG9yLT5HZXR0ZXJFeHByZXNzaW9u
KFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0dHJpYnV0ZSk7CisgICAgICAgICAg
ICBteSAkZ2V0dGVyRXhwcmVzc2lvblByZWZpeCA9ICIkZnVuY3Rpb25OYW1lKCIgLiBqb2luKCIs
ICIsIEBhcmd1bWVudHMpOwogCiAgICAgICAgICAgICAjIEZJWE1FOiBTcGVjaWFsIGNhc2UgYXR0
cmlidXRlIG93bmVyRG9jdW1lbnQgdG8gY2FsbCBkb2N1bWVudC4gVGhpcyBtYWtlcyBpdCByZXR1
cm4gdGhlCiAgICAgICAgICAgICAjIGRvY3VtZW50IHdoZW4gY2FsbGVkIG9uIHRoZSBkb2N1bWVu
dCBpdHNlbGYuIExlZ2FjeSBiZWhhdmlvciwgc2VlIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA4ODk+LgpAQCAtMTQ0MiwxNiArMTQ0MywxOSBAQCBzdWIgR2VuZXJh
dGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQg
PSAiJGdldHRlckV4cHJlc3Npb25QcmVmaXgiOwogICAgICAgICAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiAgICBJTVBMLT4kY29yZVNldHRlck5hbWUoJGFyZyk7XG4iKTsKICAgICAg
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBteSAkc2V0dGVyRXhwcmVz
c2lvblByZWZpeCA9ICRjb2RlR2VuZXJhdG9yLT5TZXR0ZXJFeHByZXNzaW9uUHJlZml4KFwlaW1w
bEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0dHJpYnV0ZSk7Ci0gICAgICAgICAgICAgICAg
ICAgIG15ICRlYyA9ICRoYXNTZXR0ZXJFeGNlcHRpb24gPyAiLCBlYyIgOiAiIjsKKyAgICAgICAg
ICAgICAgICAgICAgbXkgKCRmdW5jdGlvbk5hbWUsIEBhcmd1bWVudHMpID0gJGNvZGVHZW5lcmF0
b3ItPlNldHRlckV4cHJlc3Npb24oXCVpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0
cmlidXRlKTsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAYXJndW1lbnRzLCAkYXJnKTsKKyAg
ICAgICAgICAgICAgICAgICAgcHVzaChAYXJndW1lbnRzLCAiZWMiKSBpZiAkaGFzU2V0dGVyRXhj
ZXB0aW9uOwogICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAkZXhj
ZXB0aW9uSW5pdFxuIikgaWYgJGhhc1NldHRlckV4Y2VwdGlvbjsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxl
bWVudGVkQnkifSkgewogICAgICAgICAgICAgICAgICAgICAgICAgbXkgJGltcGxlbWVudGVkQnkg
PSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJbXBsZW1lbnRl
ZEJ5In07CiAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyIke2ltcGxlbWVu
dGVkQnl9LmgifSA9IDE7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICAke2ltcGxlbWVudGVkQnl9Ojoke3NldHRlckV4cHJlc3Npb25QcmVmaXh9SU1QTCwg
JHthcmd9JHtlY30pO1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICB1bnNoaWZ0KEBhcmd1
bWVudHMsICJJTVBMIik7CisgICAgICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25OYW1lID0g
IiR7aW1wbGVtZW50ZWRCeX06OiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICBJTVBMLT4kc2V0dGVyRXhwcmVzc2lvblByZWZpeCRhcmckZWMpO1xuIik7CisgICAgICAgICAg
ICAgICAgICAgICAgICAkZnVuY3Rpb25OYW1lID0gIklNUEwtPiR7ZnVuY3Rpb25OYW1lfSI7CiAg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgJHtmdW5jdGlvbk5hbWV9KCIgLiBqb2luKCIsICIsIEBhcmd1bWVudHMpIC4gIik7
XG4iKTsKICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGV4Y2Vw
dGlvblJhaXNlT25FcnJvclxuIikgaWYgJGhhc1NldHRlckV4Y2VwdGlvbjsKICAgICAgICAgICAg
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvclY4LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yVjgucG0KaW5kZXggZWI3NGFmMmNiMDQzMzBiODU2MWQwM2U0NDBlZDdhYmFkOTNlZWMy
MS4uMzhmN2JiYmY0MjQ4NTdiYjQ5ZWFlNGM1MmRjNmY2MGQ2NDJiZDZiMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTg3
MywyMCArODczLDE5IEBAIEVORAogICAgIH0KIAogICAgIG15ICRyZXR1cm5UeXBlID0gR2V0VHlw
ZUZyb21TaWduYXR1cmUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlKTsKLQogICAgIG15ICRnZXR0ZXJT
dHJpbmc7CiAgICAgaWYgKCRnZXR0ZXJTdHJpbmdVc2VzSW1wKSB7Ci0gICAgICAgIG15ICRnZXR0
ZXJFeHByZXNzaW9uUHJlZml4ID0gJGNvZGVHZW5lcmF0b3ItPkdldHRlckV4cHJlc3Npb25QcmVm
aXgoXCVpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKTsKKyAgICAgICAg
bXkgKCRmdW5jdGlvbk5hbWUsIEBhcmd1bWVudHMpID0gJGNvZGVHZW5lcmF0b3ItPkdldHRlckV4
cHJlc3Npb24oXCVpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKTsKKyAg
ICAgICAgcHVzaChAYXJndW1lbnRzLCAiZWMiKSBpZiAkdXNlRXhjZXB0aW9uczsKICAgICAgICAg
aWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVu
dGVkQnkifSkgewogICAgICAgICAgICAgbXkgJGltcGxlbWVudGVkQnkgPSAkYXR0cmlidXRlLT5z
aWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJbXBsZW1lbnRlZEJ5In07CiAgICAgICAg
ICAgICBBZGRUb0ltcGxJbmNsdWRlcygiJHtpbXBsZW1lbnRlZEJ5fS5oIik7Ci0gICAgICAgICAg
ICAkZ2V0dGVyU3RyaW5nID0gIiR7aW1wbGVtZW50ZWRCeX06OiR7Z2V0dGVyRXhwcmVzc2lvblBy
ZWZpeH1pbXAiOwotICAgICAgICAgICAgJGdldHRlclN0cmluZyAuPSAiLCBlYyIgaWYgJHVzZUV4
Y2VwdGlvbnM7CisgICAgICAgICAgICB1bnNoaWZ0KEBhcmd1bWVudHMsICJpbXAiKTsKKyAgICAg
ICAgICAgICRmdW5jdGlvbk5hbWUgPSAiJHtpbXBsZW1lbnRlZEJ5fTo6JHtmdW5jdGlvbk5hbWV9
IjsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICRnZXR0ZXJTdHJpbmcgPSAiaW1wLT4k
Z2V0dGVyRXhwcmVzc2lvblByZWZpeCI7Ci0gICAgICAgICAgICAkZ2V0dGVyU3RyaW5nIC49ICJl
YyIgaWYgJHVzZUV4Y2VwdGlvbnM7CisgICAgICAgICAgICAkZnVuY3Rpb25OYW1lID0gImltcC0+
JHtmdW5jdGlvbk5hbWV9IjsKICAgICAgICAgfQotICAgICAgICAkZ2V0dGVyU3RyaW5nIC49ICIp
IjsKKyAgICAgICAgJGdldHRlclN0cmluZyA9ICIke2Z1bmN0aW9uTmFtZX0oIiAuIGpvaW4oIiwg
IiwgQGFyZ3VtZW50cykgLiAiKSI7CiAgICAgfSBlbHNlIHsKICAgICAgICAgJGdldHRlclN0cmlu
ZyA9ICJpbXBJbnN0YW5jZSI7CiAgICAgfQpAQCAtMTEyNCwxOCArMTEyMywyMiBAQCBFTkQKICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNs
cywgIiAgICBpbXAtPnNldCRpbXBsU2V0dGVyRnVuY3Rpb25OYW1lKFY4RE9NV3JhcHBlcjo6Z2V0
RXZlbnRMaXN0ZW5lcih2YWx1ZSwgdHJ1ZSwgTGlzdGVuZXJGaW5kT3JDcmVhdGUpIik7CiAgICAg
ICAgICAgICB9CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiLCBlYyIpIGlm
ICR1c2VFeGNlcHRpb25zOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIik7
XG4iKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG15ICRzZXR0ZXJFeHByZXNzaW9u
UHJlZml4ID0gJGNvZGVHZW5lcmF0b3ItPlNldHRlckV4cHJlc3Npb25QcmVmaXgoXCVpbXBsSW5j
bHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKTsKKyAgICAgICAgICAgIG15ICgkZnVu
Y3Rpb25OYW1lLCBAYXJndW1lbnRzKSA9ICRjb2RlR2VuZXJhdG9yLT5TZXR0ZXJFeHByZXNzaW9u
KFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0dHJpYnV0ZSk7CisgICAgICAgICAg
ICBwdXNoKEBhcmd1bWVudHMsICRyZXN1bHQpOworICAgICAgICAgICAgcHVzaChAYXJndW1lbnRz
LCAiZWMiKSBpZiAkdXNlRXhjZXB0aW9uczsKICAgICAgICAgICAgIGlmICgkYXR0cmlidXRlLT5z
aWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJbXBsZW1lbnRlZEJ5In0pIHsKICAgICAg
ICAgICAgICAgICBteSAkaW1wbGVtZW50ZWRCeSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifTsKICAgICAgICAgICAgICAgICBBZGRU
b0ltcGxJbmNsdWRlcygiJHtpbXBsZW1lbnRlZEJ5fS5oIik7Ci0gICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnREZWNscywgIiAgICAke2ltcGxlbWVudGVkQnl9Ojoke3NldHRlckV4cHJl
c3Npb25QcmVmaXh9aW1wLCAkcmVzdWx0Iik7CisgICAgICAgICAgICAgICAgdW5zaGlmdChAYXJn
dW1lbnRzLCAiaW1wIik7CisgICAgICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICIke2ltcGxl
bWVudGVkQnl9Ojoke2Z1bmN0aW9uTmFtZX0iOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIGltcC0+JHNldHRlckV4cHJl
c3Npb25QcmVmaXgkcmVzdWx0Iik7CisgICAgICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJp
bXAtPiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudERlY2xzLCAiICAgICR7ZnVuY3Rpb25OYW1lfSgiIC4gam9pbigiLCAiLCBAYXJn
dW1lbnRzKSAuICIpO1xuIik7CiAgICAgICAgIH0KLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnRE
ZWNscywgIiwgZWMiKSBpZiAkdXNlRXhjZXB0aW9uczsKLSAgICAgICAgcHVzaChAaW1wbENvbnRl
bnREZWNscywgIik7XG4iKTsKICAgICB9CiAKICAgICBpZiAoJHVzZUV4Y2VwdGlvbnMpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117719</attachid>
            <date>2011-12-02 17:46:50 -0800</date>
            <delta_ts>2011-12-02 23:22:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73651-20111203104649.patch</filename>
            <type>text/plain</type>
            <size>31689</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDMzMjQ2ZjI2ZWM1MmIw
ODJkMzI4NWU0ZDk3YWJhNmE1YTQzOGFjNy4uNzNmMjhiN2UwMzljZmM1N2ZiODdiZDdlNDMwODQz
MDM5ZDFlMjdmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDExLTEyLTAyICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVmYWN0b3Jpbmdd
IFVzZSBqb2luKCIsICIsIEBhcmd1bWVudHMpIHRvIGJ1aWxkIGEgbWV0aG9kIGFyZ3VtZW50IHN0
cmluZyBpbiBDb2RlR2VuZXJhdG9yKi5wbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgY29kZSBpbiBDb2RlR2VuZXJhdG9yKi5wbSB0byBidWlsZCBh
IG1ldGhvZCBhcmd1bWVudCBzdHJpbmcgaXMgcmVhbGx5IGRpcnR5CisgICAgICAgIGFuZCBlcnJv
ci1wcm9uZS4gSXQgaXMgYnVpbGRpbmcgYW4gYXJndW1lbnQgc3RyaW5nIGluY3JlbWVudGFsbHkg
anVkZ2luZyB3aGV0aGVyCisgICAgICAgICIsICIgaXMgbmVjZXNzYXJ5IG9yIG5vdCwgbGlrZSB0
aGlzOgorCisgICAgICAgICAgICBteSAkbWV0aG9kID0gLi4uID8gImZ1bmMoIiA6ICJmdW5jKGEi
OworICAgICAgICAgICAgaWYgKC4uLikgeworICAgICAgICAgICAgICAgICRtZXRob2QgLj0gJG1l
dGhvZCA9fiAvXCgkLyA/ICJiIiA6ICIsIGIiOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
JG1ldGhvZCAuPSAiKSI7CisKKyAgICAgICAgQWx0ZXJuYXRpdmVseSwgd2UgY2FuIHJlZmFjdG9y
IHRoZSBjb2RlIGFzIGZvbGxvd3M6CisKKyAgICAgICAgICAgIG15ICRmdW5jTmFtZSA9ICJmdW5j
IjsKKyAgICAgICAgICAgIG15IEBhcmd1bWVudHM7CisgICAgICAgICAgICBwdXNoKEBhcmd1bWVu
dHMsICJhIikgaWYgKC4uLik7CisgICAgICAgICAgICBwdXNoKEBhcmd1bWVudHMsICJiIikgaWYg
KC4uLik7CisgICAgICAgICAgICBteSAkbWV0aG9kID0gJGZ1bmNOYW1lIC4gIigiIC4gam9pbigi
LCAiLCBAYXJndW1lbnRzKSAuICIpIjsKKworICAgICAgICBUaGlzIHBhdGNoIGp1c3QgcmVmYWN0
b3JzIHRoZSBjb2RlLCBhbmQgZ2VuZXJhdGVkIC5oIGFuZCAuY3BwIGZpbGVzIHNob3VsZCBiZQor
ICAgICAgICBleGFjdGx5IHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IC5oIGFuZCAuY3BwIGZpbGVz
LgorCisgICAgICAgIFRlc3RzOiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvKgorCisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtOgorICAgICAgICAoR2V0dGVyRXhwcmVz
c2lvbik6CisgICAgICAgIChTZXR0ZXJFeHByZXNzaW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JDUFAucG06CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0
aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBt
OgorICAgICAgICAoKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG06CisgICAgICAgIChHZW5lcmF0ZUltcGxl
bWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bToKKyAgICAgICAgKEdlbmVyYXRlTm9ybWFsQXR0ckdldHRlcik6CisgICAgICAgIChHZW5lcmF0
ZU5vcm1hbEF0dHJTZXR0ZXIpOgorCiAyMDExLTEyLTAxICBBbmRyZXkgS29zeWFrb3YgIDxjYXNl
cUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW0V4dGVuc2lvbnMgQVBJ
XSBwYXNzIHByZWZlcnJlZCByZXNvdXJjZSBsaW5lIG51bWJlciB0byBleHRlbnNpb24ncyBvcGVu
IHJlc291cmNlIGhhbmRsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvci5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvci5wbQppbmRleCAxODRkZjgxYTg5OTM3ODA3YTNhYmJmYTQyZjAyM2Y5Nzcy
MWU3NDQ5Li5iMDM5ZTliMDc4MjE0NmRhN2ZhNzY3MTI5NWRjMDZmNGUzYjY2NDY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCkBAIC00
OTksMTQgKzQ5OSwxNCBAQCBzdWIgQ29udGVudEF0dHJpYnV0ZU5hbWUKICAgICByZXR1cm4gIldl
YkNvcmU6OiR7bmFtZXNwYWNlfTo6JHtjb250ZW50QXR0cmlidXRlTmFtZX1BdHRyIjsKIH0KIAot
c3ViIEdldHRlckV4cHJlc3Npb25QcmVmaXgKK3N1YiBHZXR0ZXJFeHByZXNzaW9uCiB7CiAgICAg
bXkgKCRnZW5lcmF0b3IsICRpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRl
KSA9IEBfOwogCiAgICAgbXkgJGNvbnRlbnRBdHRyaWJ1dGVOYW1lID0gJGdlbmVyYXRvci0+Q29u
dGVudEF0dHJpYnV0ZU5hbWUoJGltcGxJbmNsdWRlcywgJGludGVyZmFjZU5hbWUsICRhdHRyaWJ1
dGUpOwogCiAgICAgaWYgKCEkY29udGVudEF0dHJpYnV0ZU5hbWUpIHsKLSAgICAgICAgcmV0dXJu
ICRnZW5lcmF0b3ItPldLX2xjZmlyc3QoJGdlbmVyYXRvci0+QXR0cmlidXRlTmFtZUZvckdldHRl
ckFuZFNldHRlcigkYXR0cmlidXRlKSkgLiAiKCI7CisgICAgICAgIHJldHVybiAoJGdlbmVyYXRv
ci0+V0tfbGNmaXJzdCgkZ2VuZXJhdG9yLT5BdHRyaWJ1dGVOYW1lRm9yR2V0dGVyQW5kU2V0dGVy
KCRhdHRyaWJ1dGUpKSk7CiAgICAgfQogCiAgICAgbXkgJGZ1bmN0aW9uTmFtZTsKQEAgLTUyNiwx
NyArNTI2LDE3IEBAIHN1YiBHZXR0ZXJFeHByZXNzaW9uUHJlZml4CiAgICAgICAgICRmdW5jdGlv
bk5hbWUgPSAiZ2V0QXR0cmlidXRlIjsKICAgICB9CiAKLSAgICByZXR1cm4gIiRmdW5jdGlvbk5h
bWUoJGNvbnRlbnRBdHRyaWJ1dGVOYW1lIgorICAgIHJldHVybiAoJGZ1bmN0aW9uTmFtZSwgJGNv
bnRlbnRBdHRyaWJ1dGVOYW1lKTsKIH0KIAotc3ViIFNldHRlckV4cHJlc3Npb25QcmVmaXgKK3N1
YiBTZXR0ZXJFeHByZXNzaW9uCiB7CiAgICAgbXkgKCRnZW5lcmF0b3IsICRpbXBsSW5jbHVkZXMs
ICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKSA9IEBfOwogCiAgICAgbXkgJGNvbnRlbnRBdHRy
aWJ1dGVOYW1lID0gJGdlbmVyYXRvci0+Q29udGVudEF0dHJpYnV0ZU5hbWUoJGltcGxJbmNsdWRl
cywgJGludGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpOwogCiAgICAgaWYgKCEkY29udGVudEF0dHJp
YnV0ZU5hbWUpIHsKLSAgICAgICAgcmV0dXJuICJzZXQiIC4gJGdlbmVyYXRvci0+V0tfdWNmaXJz
dCgkZ2VuZXJhdG9yLT5BdHRyaWJ1dGVOYW1lRm9yR2V0dGVyQW5kU2V0dGVyKCRhdHRyaWJ1dGUp
KSAuICIoIjsKKyAgICAgICAgcmV0dXJuICgic2V0IiAuICRnZW5lcmF0b3ItPldLX3VjZmlyc3Qo
JGdlbmVyYXRvci0+QXR0cmlidXRlTmFtZUZvckdldHRlckFuZFNldHRlcigkYXR0cmlidXRlKSkp
OwogICAgIH0KIAogICAgIG15ICRmdW5jdGlvbk5hbWU7CkBAIC01NTAsNyArNTUwLDcgQEAgc3Vi
IFNldHRlckV4cHJlc3Npb25QcmVmaXgKICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJzZXRBdHRy
aWJ1dGUiOwogICAgIH0KIAotICAgIHJldHVybiAiJGZ1bmN0aW9uTmFtZSgkY29udGVudEF0dHJp
YnV0ZU5hbWUsICIKKyAgICByZXR1cm4gKCRmdW5jdGlvbk5hbWUsICRjb250ZW50QXR0cmlidXRl
TmFtZSk7CiB9CiAKIHN1YiBTaG91bGRDaGVja0VudW1zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JDUFAucG0gYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JDUFAucG0KaW5kZXggZjU0NDI1YzA1YThj
YjA3ODQxY2U4ZTljOWQxNTc2NjQ5YzdjNDRkMi4uZjcyNzg2MjdhNjIyNjk4YmVmNjg3MzhkYjQ4
ZjdhZjdjYmU3NjJhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yQ1BQLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckNQUC5wbQpAQCAtNzAyLDM3ICs3MDIsMzIgQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICMgLSBHRVRURVIKICAgICAgICAgICAgIG15ICRn
ZXR0ZXJTaWcgPSAiJGF0dHJpYnV0ZVR5cGUgJGNsYXNzTmFtZVw6XDokYXR0cmlidXRlTmFtZSgp
IGNvbnN0XG4iOwogICAgICAgICAgICAgbXkgJGhhc0dldHRlckV4Y2VwdGlvbiA9IEB7JGF0dHJp
YnV0ZS0+Z2V0dGVyRXhjZXB0aW9uc307Ci0gICAgICAgICAgICBteSAkZ2V0dGVyQ29udGVudEhl
YWQ7Ci0gICAgICAgICAgICBteSAkZ2V0dGVyRXhwcmVzc2lvblByZWZpeCA9ICRjb2RlR2VuZXJh
dG9yLT5HZXR0ZXJFeHByZXNzaW9uUHJlZml4KFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFt
ZSwgJGF0dHJpYnV0ZSk7CisgICAgICAgICAgICBteSAoJGZ1bmN0aW9uTmFtZSwgQGFyZ3VtZW50
cykgPSAkY29kZUdlbmVyYXRvci0+R2V0dGVyRXhwcmVzc2lvbihcJWltcGxJbmNsdWRlcywgJGlu
dGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpOworICAgICAgICAgICAgcHVzaChAYXJndW1lbnRzLCAi
ZWMiKSBpZiAkaGFzR2V0dGVyRXhjZXB0aW9uOwogICAgICAgICAgICAgaWYgKCRhdHRyaWJ1dGUt
PnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifSkgewogICAg
ICAgICAgICAgICAgIG15ICRpbXBsZW1lbnRlZEJ5ID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRCeSJ9OwogICAgICAgICAgICAgICAgICRp
bXBsSW5jbHVkZXN7IiR7aW1wbGVtZW50ZWRCeX0uaCJ9ID0gMTsKLSAgICAgICAgICAgICAgICAk
Z2V0dGVyQ29udGVudEhlYWQgPSAiJHtpbXBsZW1lbnRlZEJ5fTo6JHtnZXR0ZXJFeHByZXNzaW9u
UHJlZml4fWltcGwoKSI7CisgICAgICAgICAgICAgICAgdW5zaGlmdChAYXJndW1lbnRzLCAiaW1w
bCgpIik7CisgICAgICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICIke2ltcGxlbWVudGVkQnl9
Ojoke2Z1bmN0aW9uTmFtZX0iOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAkZ2V0dGVyQ29udGVudEhlYWQgPSAiaW1wbCgpLT4ke2dldHRlckV4cHJlc3Npb25QcmVmaXh9
IjsKKyAgICAgICAgICAgICAgICAkZnVuY3Rpb25OYW1lID0gImltcGwoKS0+JHtmdW5jdGlvbk5h
bWV9IjsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG15ICRnZXR0ZXJDb250ZW50VGFpbCA9
ICIpIjsKIAogICAgICAgICAgICAgIyBTcGVjaWFsIGNhc2VzCisgICAgICAgICAgICBteSAkZ2V0
dGVyQ29udGVudEhlYWQgPSAiIjsKKyAgICAgICAgICAgIG15ICRnZXR0ZXJDb250ZW50VGFpbCA9
ICIiOwogICAgICAgICAgICAgbXkgQGN1c3RvbUdldHRlckNvbnRlbnQgPSAoKTsgCiAgICAgICAg
ICAgICBpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29u
dmVydFRvU3RyaW5nIn0pIHsKLSAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAi
V1RGOjpTdHJpbmc6Om51bWJlcigiIC4gJGdldHRlckNvbnRlbnRIZWFkOwotICAgICAgICAgICAg
ICAgICRnZXR0ZXJDb250ZW50VGFpbCAuPSAiKSI7CisgICAgICAgICAgICAgICAgJGdldHRlckNv
bnRlbnRIZWFkID0gIldURjo6U3RyaW5nOjpudW1iZXIoIjsKKyAgICAgICAgICAgICAgICAkZ2V0
dGVyQ29udGVudFRhaWwgPSAiKSI7CiAgICAgICAgICAgICB9IGVsc2lmICgkYXR0cmlidXRlLT5z
aWduYXR1cmUtPnR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIpIHsKLSAgICAgICAgICAg
ICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAiJGdldHRlckNvbnRlbnRIZWFkIjsKLSAgICAgICAg
ICAgICAgICAkZ2V0dGVyQ29udGVudFRhaWwgLj0gIi0+dG9TdHJpbmcoKSI7ICAgICAgICAgICAg
ICAgIAorICAgICAgICAgICAgICAgICRnZXR0ZXJDb250ZW50VGFpbCA9ICItPnRvU3RyaW5nKCki
OwogICAgICAgICAgICAgfSBlbHNpZiAoQ29udmVyc2lvbk5lZWRlZCgkYXR0cmlidXRlLT5zaWdu
YXR1cmUtPnR5cGUpKSB7Ci0gICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gInRv
V2ViS2l0KFdURjo6Z2V0UHRyKCRnZXR0ZXJDb250ZW50SGVhZCI7Ci0gICAgICAgICAgICAgICAg
JGdldHRlckNvbnRlbnRUYWlsIC49ICIpKSI7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IG15ICRnZXR0ZXJDb250ZW50OwotICAgICAgICAgICAgaWYgKCRoYXNHZXR0ZXJFeGNlcHRpb24p
IHsKLSAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudCA9ICRnZXR0ZXJDb250ZW50SGVhZCAu
ICgkZ2V0dGVyQ29udGVudEhlYWQgPX4gL1woJC8gPyAiZWMiIDogIiwgZWMiKSAuICRnZXR0ZXJD
b250ZW50VGFpbDsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgJGdldHRl
ckNvbnRlbnQgPSAkZ2V0dGVyQ29udGVudEhlYWQgLiAkZ2V0dGVyQ29udGVudFRhaWw7CisgICAg
ICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gInRvV2ViS2l0KFdURjo6Z2V0UHRyKCI7
CisgICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRUYWlsID0gIikpIjsKICAgICAgICAgICAg
IH0KIAorICAgICAgICAgICAgbXkgJGdldHRlckNvbnRlbnQgPSAiJHtnZXR0ZXJDb250ZW50SGVh
ZH0ke2Z1bmN0aW9uTmFtZX0oIiAuIGpvaW4oIiwgIiwgQGFyZ3VtZW50cykgLiAiKSR7Z2V0dGVy
Q29udGVudFRhaWx9IjsKICAgICAgICAgICAgIG15ICRhdHRyaWJ1dGVDb25kaXRpb25hbFN0cmlu
ZyA9IEdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlKTsKICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiI2lmICR7YXR0cmlidXRlQ29uZGl0aW9uYWxT
dHJpbmd9XG4iKSBpZiAkYXR0cmlidXRlQ29uZGl0aW9uYWxTdHJpbmc7CiAKQEAgLTc3OSwxNSAr
Nzc0LDE5IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsIEFkZEVhcmx5UmV0dXJuU3RhdGVtZW50KCkpOwogCiAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGV4Y2VwdGlvbkluaXRcbiIpIGlmICRoYXNT
ZXR0ZXJFeGNlcHRpb247Ci0gICAgICAgICAgICAgICAgbXkgJGVjID0gJGhhc1NldHRlckV4Y2Vw
dGlvbiA/ICIsIGVjIiA6ICIiOwotICAgICAgICAgICAgICAgIG15ICRzZXR0ZXJFeHByZXNzaW9u
UHJlZml4ID0gJGNvZGVHZW5lcmF0b3ItPlNldHRlckV4cHJlc3Npb25QcmVmaXgoXCVpbXBsSW5j
bHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKTsKKworICAgICAgICAgICAgICAgIG15
ICgkZnVuY3Rpb25OYW1lLCBAYXJndW1lbnRzKSA9ICRjb2RlR2VuZXJhdG9yLT5TZXR0ZXJFeHBy
ZXNzaW9uKFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0dHJpYnV0ZSk7CisgICAg
ICAgICAgICAgICAgcHVzaChAYXJndW1lbnRzLCAkYXJnKTsKKyAgICAgICAgICAgICAgICBwdXNo
KEBhcmd1bWVudHMsICJlYyIpIGlmICRoYXNTZXR0ZXJFeGNlcHRpb247CiAgICAgICAgICAgICAg
ICAgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxl
bWVudGVkQnkifSkgewogICAgICAgICAgICAgICAgICAgICBteSAkaW1wbGVtZW50ZWRCeSA9ICRh
dHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnki
fTsKICAgICAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siJHtpbXBsZW1lbnRlZEJ5fS5o
In0gPSAxOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAke2lt
cGxlbWVudGVkQnl9Ojoke3NldHRlckV4cHJlc3Npb25QcmVmaXh9aW1wbCgpLCAke2FyZ30ke2Vj
fSk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgdW5zaGlmdChAYXJndW1lbnRzLCAiaW1wbCgp
Iik7CisgICAgICAgICAgICAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiJHtpbXBsZW1lbnRlZEJ5
fTo6JHtmdW5jdGlvbk5hbWV9IjsKICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpbXBsKCktPiRzZXR0ZXJFeHByZXNz
aW9uUHJlZml4JGFyZyRlYyk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgJGZ1bmN0aW9uTmFt
ZSA9ICJpbXBsKCktPiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR7ZnVuY3Rpb25OYW1lfSgiIC4gam9p
bigiLCAiLCBAYXJndW1lbnRzKSAuICIpO1xuIik7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgJGV4Y2VwdGlvblJhaXNlT25FcnJvclxuIikgaWYgJGhhc1NldHRlckV4
Y2VwdGlvbjsKICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAg
ICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQppbmRleCBiNGViNGM5MmQ2MGM0ZjUzNTk2NDJkYjQz
MmQ3ZTlkMjA5ZjMzNWNiLi4zNTFhODBiNjcwNTg3MjA1OThlYjBkMTc0OGVhMDkwMTUxZmYxMzFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JHT2JqZWN0LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckdPYmplY3QucG0KQEAgLTM3OSw1MiArMzc5LDQ2IEBAIHN1YiBHZW5lcmF0ZVByb3Bl
cnR5IHsKICAgICAgICAgJGNvbnZlcnRGdW5jdGlvbiA9ICJXVEY6OlN0cmluZzo6ZnJvbVVURjgi
OwogICAgIH0KIAotICAgIG15ICRnZXR0ZXJFeHByZXNzaW9uUHJlZml4ID0gJGNvZGVHZW5lcmF0
b3ItPkdldHRlckV4cHJlc3Npb25QcmVmaXgoXCVpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1l
LCAkYXR0cmlidXRlKTsKLSAgICBteSAkc2V0dGVyRXhwcmVzc2lvblByZWZpeCA9ICRjb2RlR2Vu
ZXJhdG9yLT5TZXR0ZXJFeHByZXNzaW9uUHJlZml4KFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNl
TmFtZSwgJGF0dHJpYnV0ZSk7CisgICAgbXkgKCRnZXR0ZXJGdW5jdGlvbk5hbWUsIEBnZXR0ZXJB
cmd1bWVudHMpID0gJGNvZGVHZW5lcmF0b3ItPkdldHRlckV4cHJlc3Npb24oXCVpbXBsSW5jbHVk
ZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKTsKKyAgICBteSAoJHNldHRlckZ1bmN0aW9u
TmFtZSwgQHNldHRlckFyZ3VtZW50cykgPSAkY29kZUdlbmVyYXRvci0+U2V0dGVyRXhwcmVzc2lv
bihcJWltcGxJbmNsdWRlcywgJGludGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpOwogCi0gICAgbXkg
JGdldHRlckNvbnRlbnRIZWFkOwotICAgIG15ICRzZXR0ZXJDb250ZW50SGVhZDsKICAgICBpZiAo
JGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRC
eSJ9KSB7CiAgICAgICAgIG15ICRpbXBsZW1lbnRlZEJ5ID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRCeSJ9OwogICAgICAgICAkaW1wbElu
Y2x1ZGVzeyIke2ltcGxlbWVudGVkQnl9LmgifSA9IDE7Ci0gICAgICAgICRnZXR0ZXJDb250ZW50
SGVhZCA9ICIke2ltcGxlbWVudGVkQnl9Ojoke2dldHRlckV4cHJlc3Npb25QcmVmaXh9Y29yZVNl
bGYiOwotICAgICAgICAkc2V0dGVyQ29udGVudEhlYWQgPSAiJHtpbXBsZW1lbnRlZEJ5fTo6JHtz
ZXR0ZXJFeHByZXNzaW9uUHJlZml4fWNvcmVTZWxmLCAke2NvbnZlcnRGdW5jdGlvbn0oZ192YWx1
ZV9nZXRfJGd0eXBlKHZhbHVlKSkiOworICAgICAgICBwdXNoKEBzZXR0ZXJBcmd1bWVudHMsICIk
e2NvbnZlcnRGdW5jdGlvbn0oZ192YWx1ZV9nZXRfJGd0eXBlKHZhbHVlKSkiKTsKKyAgICAgICAg
dW5zaGlmdChAZ2V0dGVyQXJndW1lbnRzLCAiY29yZVNlbGYiKTsKKyAgICAgICAgdW5zaGlmdChA
c2V0dGVyQXJndW1lbnRzLCAiY29yZVNlbGYiKTsKKyAgICAgICAgJGdldHRlckZ1bmN0aW9uTmFt
ZSA9ICIke2ltcGxlbWVudGVkQnl9OjokZ2V0dGVyRnVuY3Rpb25OYW1lIjsKKyAgICAgICAgJHNl
dHRlckZ1bmN0aW9uTmFtZSA9ICIke2ltcGxlbWVudGVkQnl9Ojokc2V0dGVyRnVuY3Rpb25OYW1l
IjsKICAgICB9IGVsc2UgewotICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAiY29yZVNlbGYt
PiRnZXR0ZXJFeHByZXNzaW9uUHJlZml4IjsKLSAgICAgICAgJHNldHRlckNvbnRlbnRIZWFkID0g
ImNvcmVTZWxmLT4kc2V0dGVyRXhwcmVzc2lvblByZWZpeCR7Y29udmVydEZ1bmN0aW9ufShnX3Zh
bHVlX2dldF8kZ3R5cGUodmFsdWUpKSI7CisgICAgICAgIHB1c2goQHNldHRlckFyZ3VtZW50cywg
IiR7Y29udmVydEZ1bmN0aW9ufShnX3ZhbHVlX2dldF8kZ3R5cGUodmFsdWUpKSIpOworICAgICAg
ICAkZ2V0dGVyRnVuY3Rpb25OYW1lID0gImNvcmVTZWxmLT4kZ2V0dGVyRnVuY3Rpb25OYW1lIjsK
KyAgICAgICAgJHNldHRlckZ1bmN0aW9uTmFtZSA9ICJjb3JlU2VsZi0+JHNldHRlckZ1bmN0aW9u
TmFtZSI7CiAgICAgfQorICAgIHB1c2goQGdldHRlckFyZ3VtZW50cywgImVjIikgaWYgQHskYXR0
cmlidXRlLT5nZXR0ZXJFeGNlcHRpb25zfTsKKyAgICBwdXNoKEBzZXR0ZXJBcmd1bWVudHMsICJl
YyIpIGlmIEB7JGF0dHJpYnV0ZS0+c2V0dGVyRXhjZXB0aW9uc307CiAKICAgICBpZiAoZ3JlcCB7
JF8gZXEgJGF0dHJpYnV0ZX0gQHdyaXRlYWJsZVByb3BlcnRpZXMpIHsKICAgICAgICAgcHVzaChA
dHh0U2V0UHJvcHMsICIjaWYgJHtjb25kaXRpb25hbFN0cmluZ31cbiIpIGlmICRjb25kaXRpb25h
bFN0cmluZzsKICAgICAgICAgcHVzaChAdHh0U2V0UHJvcHMsICIgICAgY2FzZSAke3Byb3BFbnVt
fTpcbiAgICB7XG4iKTsKICAgICAgICAgcHVzaChAdHh0U2V0UHJvcHMsICIgICAgICAgIFdlYkNv
cmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwO1xuIikgaWYgQHskYXR0cmlidXRlLT5zZXR0ZXJFeGNl
cHRpb25zfTsKLSAgICAgICAgcHVzaChAdHh0U2V0UHJvcHMsICIgICAgICAgICR7c2V0dGVyQ29u
dGVudEhlYWR9Iik7Ci0gICAgICAgIHB1c2goQHR4dFNldFByb3BzLCAiLCBlYyIpIGlmIEB7JGF0
dHJpYnV0ZS0+c2V0dGVyRXhjZXB0aW9uc307Ci0gICAgICAgIHB1c2goQHR4dFNldFByb3BzLCAi
KTtcbiIpOworICAgICAgICBwdXNoKEB0eHRTZXRQcm9wcywgIiAgICAgICAgJHtzZXR0ZXJGdW5j
dGlvbk5hbWV9KCIgLiBqb2luKCIsICIsIEBzZXR0ZXJBcmd1bWVudHMpIC4gIik7XG4iKTsKICAg
ICAgICAgcHVzaChAdHh0U2V0UHJvcHMsICIgICAgICAgIGJyZWFrO1xuICAgIH1cbiIpOwogICAg
ICAgICBwdXNoKEB0eHRTZXRQcm9wcywgIiNlbmRpZiAvKiAke2NvbmRpdGlvbmFsU3RyaW5nfSAq
L1xuIikgaWYgJGNvbmRpdGlvbmFsU3RyaW5nOwogICAgIH0KIAogICAgIHB1c2goQHR4dEdldFBy
b3BzLCAiI2lmICR7Y29uZGl0aW9uYWxTdHJpbmd9XG4iKSBpZiAkY29uZGl0aW9uYWxTdHJpbmc7
CiAgICAgcHVzaChAdHh0R2V0UHJvcHMsICIgICAgY2FzZSAke3Byb3BFbnVtfTpcbiAgICB7XG4i
KTsKLQotICAgIG15ICRleGNlcHRpb24gPSAiIjsKLSAgICBpZiAoQHskYXR0cmlidXRlLT5nZXR0
ZXJFeGNlcHRpb25zfSkgewotICAgICAgICAkZXhjZXB0aW9uID0gImVjIjsKLSAgICAgICAgcHVz
aChAdHh0R2V0UHJvcHMsICIgICAgICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwO1xu
Iik7Ci0gICAgfQorICAgIHB1c2goQHR4dEdldFByb3BzLCAiICAgICAgICBXZWJDb3JlOjpFeGNl
cHRpb25Db2RlIGVjID0gMDtcbiIpIGlmIEB7JGF0dHJpYnV0ZS0+Z2V0dGVyRXhjZXB0aW9uc307
CiAKICAgICBteSAkcG9zdENvbnZlcnRGdW5jdGlvbiA9ICIiOwogICAgIG15ICRkb25lID0gMDsK
ICAgICBpZiAoJGd0eXBlIGVxICJzdHJpbmciKSB7Ci0gICAgICAgIHB1c2goQHR4dEdldFByb3Bz
LCAiICAgICAgICBnX3ZhbHVlX3Rha2Vfc3RyaW5nKHZhbHVlLCBjb252ZXJ0VG9VVEY4U3RyaW5n
KCR7Z2V0dGVyQ29udGVudEhlYWR9IiAuICgkZ2V0dGVyQ29udGVudEhlYWQgIX4gL1woJC8gJiYg
JGV4Y2VwdGlvbiA/ICIsICRleGNlcHRpb24iIDogIiRleGNlcHRpb24iKSAuICIpKSk7XG4iKTsK
KyAgICAgICAgcHVzaChAdHh0R2V0UHJvcHMsICIgICAgICAgIGdfdmFsdWVfdGFrZV9zdHJpbmco
dmFsdWUsIGNvbnZlcnRUb1VURjhTdHJpbmcoJHtnZXR0ZXJGdW5jdGlvbk5hbWV9KCIgLiBqb2lu
KCIsICIsIEBnZXR0ZXJBcmd1bWVudHMpIC4gIikpKTtcbiIpOwogICAgICAgICAkZG9uZSA9IDE7
CiAgICAgfSBlbHNpZiAoJGd0eXBlIGVxICJvYmplY3QiKSB7Ci0gICAgICAgICR0eHRHZXRQcm9w
ID0gPDwgIkVPRiI7Ci0gICAgICAgIFJlZlB0cjxXZWJDb3JlOjoke3Byb3BUeXBlfT4gcHRyID0g
Y29yZVNlbGYtPiR7Z2V0UHJvcE5hbWVGdW5jdGlvbn0oJHtleGNlcHRpb259KTsKLSAgICAgICAg
Z192YWx1ZV9zZXRfb2JqZWN0KHZhbHVlLCBXZWJLaXQ6OmtpdChwdHIuZ2V0KCkpKTsKLUVPRgot
ICAgICAgICBwdXNoKEB0eHRHZXRQcm9wcywgJHR4dEdldFByb3ApOworICAgICAgICBwdXNoKEB0
eHRHZXRQcm9wcywgIiAgICAgICAgUmVmUHRyPFdlYkNvcmU6OiR7cHJvcFR5cGV9PiBwdHIgPSBj
b3JlU2VsZi0+JHtnZXRQcm9wTmFtZUZ1bmN0aW9ufSgiIC4gKEB7JGF0dHJpYnV0ZS0+Z2V0dGVy
RXhjZXB0aW9uc30gPyAiZWMiIDogIiIpIC4gIik7XG4iKTsKKyAgICAgICAgcHVzaChAdHh0R2V0
UHJvcHMsICIgICAgICAgIGdfdmFsdWVfc2V0X29iamVjdCh2YWx1ZSwgV2ViS2l0OjpraXQocHRy
LmdldCgpKSk7XG4iKTsKICAgICAgICAgJGRvbmUgPSAxOwogICAgIH0KIApAQCAtNDM4LDkgKzQz
Miw5IEBAIEVPRgogICAgICAgICBpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRCeSJ9KSB7CiAgICAgICAgICAgICBteSAkaW1wbGVtZW50
ZWRCeSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxl
bWVudGVkQnkifTsKICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IiR7aW1wbGVtZW50ZWRCeX0u
aCJ9ID0gMTsKLSAgICAgICAgICAgIHB1c2goQHR4dEdldFByb3BzLCAiICAgICAgICBnX3ZhbHVl
X3NldF8kX2d0eXBlKHZhbHVlLCAke2NvbnZlcnRGdW5jdGlvbn0ke2ltcGxlbWVudGVkQnl9Ojok
e2dldHRlckV4cHJlc3Npb25QcmVmaXh9Y29yZVNlbGYsICR7ZXhjZXB0aW9ufSkke3Bvc3RDb252
ZXJ0RnVuY3Rpb259KTtcbiIpOworICAgICAgICAgICAgcHVzaChAdHh0R2V0UHJvcHMsICIgICAg
ICAgIGdfdmFsdWVfc2V0XyRfZ3R5cGUodmFsdWUsICR7Y29udmVydEZ1bmN0aW9ufSR7Z2V0dGVy
RnVuY3Rpb25OYW1lfSgiIC4gam9pbigiLCAiLCBAZ2V0dGVyQXJndW1lbnRzKSAuICAiKSR7cG9z
dENvbnZlcnRGdW5jdGlvbn0pO1xuIik7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBw
dXNoKEB0eHRHZXRQcm9wcywgIiAgICAgICAgZ192YWx1ZV9zZXRfJF9ndHlwZSh2YWx1ZSwgJHtj
b252ZXJ0RnVuY3Rpb259Y29yZVNlbGYtPiR7Z2V0dGVyRXhwcmVzc2lvblByZWZpeH0ke2V4Y2Vw
dGlvbn0pJHtwb3N0Q29udmVydEZ1bmN0aW9ufSk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQHR4
dEdldFByb3BzLCAiICAgICAgICBnX3ZhbHVlX3NldF8kX2d0eXBlKHZhbHVlLCAke2NvbnZlcnRG
dW5jdGlvbn0ke2dldHRlckZ1bmN0aW9uTmFtZX0oIiAuIGpvaW4oIiwgIiwgQGdldHRlckFyZ3Vt
ZW50cykgLiAiKSR7cG9zdENvbnZlcnRGdW5jdGlvbn0pO1xuIik7CiAgICAgICAgIH0KICAgICB9
CiAKQEAgLTc0Miw3ICs3MzYsNyBAQCBzdWIgR2VuZXJhdGVGdW5jdGlvbiB7CiAKICAgICBteSAk
ZnVuY3Rpb25TaWcgPSAiJHtjbGFzc05hbWV9KiBzZWxmIjsKIAotICAgIG15ICRjYWxsSW1wbFBh
cmFtcyA9ICIiOworICAgIG15IEBjYWxsSW1wbFBhcmFtczsKIAogICAgICMgc2tpcCBzb21lIGN1
c3RvbSBmdW5jdGlvbnMgZm9yIG5vdwogICAgIG15ICRpc0N1c3RvbUZ1bmN0aW9uID0gJGZ1bmN0
aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b20ifSB8fApAQCAtNzcw
LDExICs3NjQsNyBAQCBzdWIgR2VuZXJhdGVGdW5jdGlvbiB7CiAgICAgICAgIGlmICgkcGFyYW1J
c0dET01UeXBlIHx8ICgkcGFyYW1JRExUeXBlIGVxICJET01TdHJpbmciKSB8fCAoJHBhcmFtSURM
VHlwZSBlcSAiQ29tcGFyZUhvdyIpKSB7CiAgICAgICAgICAgICAkcGFyYW1OYW1lID0gImNvbnZl
cnRlZF8iIC4gJHBhcmFtTmFtZTsKICAgICAgICAgfQotICAgICAgICBpZiAoJGNhbGxJbXBsUGFy
YW1zKSB7Ci0gICAgICAgICAgICAkY2FsbEltcGxQYXJhbXMgLj0gIiwgJHBhcmFtTmFtZSI7Ci0g
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAkY2FsbEltcGxQYXJhbXMgPSAiJHBhcmFtTmFt
ZSI7Ci0gICAgICAgIH0KKyAgICAgICAgcHVzaChAY2FsbEltcGxQYXJhbXMsICRwYXJhbU5hbWUp
OwogICAgIH0KIAogICAgICMgTm90IHF1aXRlIHN1cmUgd2hhdCB0byBkbyB3aXRoIHRoaXMgeWV0
LCBidXQgd2UgbmVlZCB0byB0YWtlIGludG8KQEAgLTc4Miw4ICs3NzIsNyBAQCBzdWIgR2VuZXJh
dGVGdW5jdGlvbiB7CiAgICAgIyBhY3R1YWwgaW1wbGVtZW50YXRpb24uCiAgICAgaWYgKCRmdW5j
dGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmVlZHNVc2VyR2VzdHVyZUNo
ZWNrIn0pIHsKICAgICAgICAgJGZ1bmN0aW9uU2lnIC49ICIsIGdib29sZWFuIGlzVXNlckdlc3R1
cmUiOwotICAgICAgICAkY2FsbEltcGxQYXJhbXMgLj0gIiwgIiBpZiAkY2FsbEltcGxQYXJhbXM7
Ci0gICAgICAgICRjYWxsSW1wbFBhcmFtcyAuPSAiZmFsc2UiOworICAgICAgICBwdXNoKEBjYWxs
SW1wbFBhcmFtcywgImZhbHNlIik7CiAgICAgfQogCiAgICAgaWYgKCRyZXR1cm5UeXBlIG5lICJ2
b2lkIiAmJiAkcmV0dXJuVmFsdWVJc0dET01UeXBlICYmICRmdW5jdGlvblNpZ1R5cGUgbmUgIkRP
TU9iamVjdCIpIHsKQEAgLTkxMSwxOSArOTAwLDE1IEBAIHN1YiBHZW5lcmF0ZUZ1bmN0aW9uIHsK
ICAgICAgICAgICAgICRhc3NpZ24gPSAiJHtyZXR1cm5UeXBlfSByZXMgPSAiOwogICAgICAgICB9
CiAgICAgfQotICAgIG15ICRleGNlcHRpb25zID0gIiI7CisKICAgICBpZiAoQHskZnVuY3Rpb24t
PnJhaXNlc0V4Y2VwdGlvbnN9KSB7Ci0gICAgICAgIHB1c2goQGNCb2R5LCAiICAgIFdlYkNvcmU6
OkV4Y2VwdGlvbkNvZGUgZWMgPSAwO1xuIik7Ci0gICAgICAgIGlmICgke2NhbGxJbXBsUGFyYW1z
fSBuZSAiIikgewotICAgICAgICAgICAgJGV4Y2VwdGlvbnMgPSAiLCBlYyI7Ci0gICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAkZXhjZXB0aW9ucyA9ICJlYyI7Ci0gICAgICAgIH0KKyAgICAg
ICAgcHVzaChAY0JvZHksICIgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSBlYyA9IDA7XG4iKSA7
CisgICAgICAgIHB1c2goQGNhbGxJbXBsUGFyYW1zLCAiZWMiKTsKICAgICB9CiAKICAgICBpZiAo
JGZ1bmN0aW9uSGFzQ3VzdG9tUmV0dXJuKSB7CisgICAgICAgIHB1c2goQGNCb2R5LCAiICAgIGJv
b2wgb2sgPSBpdGVtLT4ke2Z1bmN0aW9uU2lnTmFtZX0oIiAuIGpvaW4oIiwgIiwgQGNhbGxJbXBs
UGFyYW1zKSAuICIpO1xuIik7CiAgICAgICAgIG15ICRjdXN0b21Ob2RlQXBwZW5kQ2hpbGQgPSA8
PCAiRU9GIjsKLSAgICBib29sIG9rID0gaXRlbS0+JHtmdW5jdGlvblNpZ05hbWV9KCR7Y2FsbElt
cGxQYXJhbXN9JHtleGNlcHRpb25zfSk7CiAgICAgaWYgKG9rKQogICAgIHsKICAgICAgICAgJHty
ZXR1cm5UeXBlfSByZXMgPSBXZWJLaXQ6OmtpdCgkcmV0dXJuUGFyYW1OYW1lKTsKQEAgLTk0Niw0
MyArOTMxLDUwIEBAIEVPRgogICAgIH0gZWxzaWYgKCRmdW5jdGlvblNpZ1R5cGUgZXEgIkRPTVN0
cmluZyIpIHsKICAgICAgICAgbXkgJGdldHRlckNvbnRlbnRIZWFkOwogICAgICAgICBpZiAoJHBy
ZWZpeCkgewotICAgICAgICAgICAgbXkgJGdldHRlckV4cHJlc3Npb25QcmVmaXggPSAkY29kZUdl
bmVyYXRvci0+R2V0dGVyRXhwcmVzc2lvblByZWZpeChcJWltcGxJbmNsdWRlcywgJGludGVyZmFj
ZU5hbWUsICRmdW5jdGlvbik7CisgICAgICAgICAgICBteSAoJGZ1bmN0aW9uTmFtZSwgQGFyZ3Vt
ZW50cykgPSAkY29kZUdlbmVyYXRvci0+R2V0dGVyRXhwcmVzc2lvbihcJWltcGxJbmNsdWRlcywg
JGludGVyZmFjZU5hbWUsICRmdW5jdGlvbik7CisgICAgICAgICAgICBwdXNoKEBhcmd1bWVudHMs
IEBjYWxsSW1wbFBhcmFtcyk7CiAgICAgICAgICAgICBpZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJbXBsZW1lbnRlZEJ5In0pIHsKICAgICAgICAgICAgICAg
ICBteSAkaW1wbGVtZW50ZWRCeSA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiSW1wbGVtZW50ZWRCeSJ9OwogICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7
IiR7aW1wbGVtZW50ZWRCeX0uaCJ9ID0gMTsKLSAgICAgICAgICAgICAgICBteSAkaXRlbSA9ICEk
Y2FsbEltcGxQYXJhbXMgJiYgISRleGNlcHRpb25zID8gIml0ZW0iIDogIml0ZW0sICI7Ci0gICAg
ICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gIiR7YXNzaWdufWNvbnZlcnRUb1VURjhT
dHJpbmcoJHtpbXBsZW1lbnRlZEJ5fTo6JGdldHRlckV4cHJlc3Npb25QcmVmaXgkaXRlbSR7ZXhj
ZXB0aW9uc30pKTtcbiI7CisgICAgICAgICAgICAgICAgdW5zaGlmdChAYXJndW1lbnRzLCAiaXRl
bSIpOworICAgICAgICAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiJHtpbXBsZW1lbnRlZEJ5fTo6
JHtmdW5jdGlvbk5hbWV9IjsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
JGdldHRlckNvbnRlbnRIZWFkID0gIiR7YXNzaWdufWNvbnZlcnRUb1VURjhTdHJpbmcoaXRlbS0+
JGdldHRlckV4cHJlc3Npb25QcmVmaXgke2V4Y2VwdGlvbnN9KSk7XG4iOworICAgICAgICAgICAg
ICAgICRmdW5jdGlvbk5hbWUgPSAiaXRlbS0+JHtmdW5jdGlvbk5hbWV9IjsKICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICRnZXR0ZXJDb250ZW50SGVhZCA9ICIke2Fzc2lnbn1jb252ZXJ0VG9V
VEY4U3RyaW5nKCR7ZnVuY3Rpb25OYW1lfSgiIC4gam9pbigiLCAiLCBAYXJndW1lbnRzKSAuICIp
KTtcbiI7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQg
PSAiJHthc3NpZ259Y29udmVydFRvVVRGOFN0cmluZyhpdGVtLT4ke2Z1bmN0aW9uU2lnTmFtZX0o
JHtjYWxsSW1wbFBhcmFtc30ke2V4Y2VwdGlvbnN9KSk7XG4iOworICAgICAgICAgICAgJGdldHRl
ckNvbnRlbnRIZWFkID0gIiR7YXNzaWdufWNvbnZlcnRUb1VURjhTdHJpbmcoaXRlbS0+JHtmdW5j
dGlvblNpZ05hbWV9KCIgLiBqb2luKCIsICIsIEBjYWxsSW1wbFBhcmFtcykgLiAiKSk7XG4iOwog
ICAgICAgICB9CiAgICAgICAgIHB1c2goQGNCb2R5LCAiICAgICR7Z2V0dGVyQ29udGVudEhlYWR9
Iik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgbXkgJGNvbnRlbnRIZWFkOwogICAgICAgICBpZiAo
JHByZWZpeCBlcSAiZ2V0XyIpIHsKLSAgICAgICAgICAgIG15ICRnZXR0ZXJFeHByZXNzaW9uUHJl
Zml4ID0gJGNvZGVHZW5lcmF0b3ItPkdldHRlckV4cHJlc3Npb25QcmVmaXgoXCVpbXBsSW5jbHVk
ZXMsICRpbnRlcmZhY2VOYW1lLCAkZnVuY3Rpb24pOworICAgICAgICAgICAgbXkgKCRmdW5jdGlv
bk5hbWUsIEBhcmd1bWVudHMpID0gJGNvZGVHZW5lcmF0b3ItPkdldHRlckV4cHJlc3Npb24oXCVp
bXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkZnVuY3Rpb24pOworICAgICAgICAgICAgcHVz
aChAYXJndW1lbnRzLCBAY2FsbEltcGxQYXJhbXMpOwogICAgICAgICAgICAgaWYgKCRmdW5jdGlv
bi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRCeSJ9KSB7CiAg
ICAgICAgICAgICAgICAgbXkgJGltcGxlbWVudGVkQnkgPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifTsKICAgICAgICAgICAgICAgICAk
aW1wbEluY2x1ZGVzeyIke2ltcGxlbWVudGVkQnl9LmgifSA9IDE7Ci0gICAgICAgICAgICAgICAg
bXkgJGl0ZW0gPSAhJGNhbGxJbXBsUGFyYW1zICYmICEkZXhjZXB0aW9ucyA/ICJpdGVtIiA6ICJp
dGVtLCAiOwotICAgICAgICAgICAgICAgICRjb250ZW50SGVhZCA9ICIke2Fzc2lnbn0ke2Fzc2ln
blByZX0ke2ltcGxlbWVudGVkQnl9OjokZ2V0dGVyRXhwcmVzc2lvblByZWZpeCRpdGVtJHtjYWxs
SW1wbFBhcmFtc30ke2V4Y2VwdGlvbnN9JHthc3NpZ25Qb3N0fSk7XG4iOworICAgICAgICAgICAg
ICAgIHVuc2hpZnQoQGFyZ3VtZW50cywgIml0ZW0iKTsKKyAgICAgICAgICAgICAgICAkZnVuY3Rp
b25OYW1lID0gIiR7aW1wbGVtZW50ZWRCeX06OiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgICRjb250ZW50SGVhZCA9ICIke2Fzc2lnbn0ke2Fz
c2lnblByZX1pdGVtLT4kZ2V0dGVyRXhwcmVzc2lvblByZWZpeCR7Y2FsbEltcGxQYXJhbXN9JHtl
eGNlcHRpb25zfSR7YXNzaWduUG9zdH0pO1xuIjsKKyAgICAgICAgICAgICAgICAkZnVuY3Rpb25O
YW1lID0gIml0ZW0tPiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAkY29udGVudEhlYWQgPSAiJHthc3NpZ259JHthc3NpZ25QcmV9JHtmdW5jdGlvbk5hbWV9KCIg
LiBqb2luKCIsICIsIEBhcmd1bWVudHMpIC4gIiR7YXNzaWduUG9zdH0pO1xuIjsKICAgICAgICAg
fSBlbHNpZiAoJHByZWZpeCBlcSAic2V0XyIpIHsKLSAgICAgICAgICAgIG15ICRzZXR0ZXJFeHBy
ZXNzaW9uUHJlZml4ID0gJGNvZGVHZW5lcmF0b3ItPlNldHRlckV4cHJlc3Npb25QcmVmaXgoXCVp
bXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkZnVuY3Rpb24pOworICAgICAgICAgICAgbXkg
KCRmdW5jdGlvbk5hbWUsIEBhcmd1bWVudHMpID0gJGNvZGVHZW5lcmF0b3ItPlNldHRlckV4cHJl
c3Npb24oXCVpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkZnVuY3Rpb24pOworICAgICAg
ICAgICAgcHVzaChAYXJndW1lbnRzLCBAY2FsbEltcGxQYXJhbXMpOwogICAgICAgICAgICAgaWYg
KCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRC
eSJ9KSB7CiAgICAgICAgICAgICAgICAgbXkgJGltcGxlbWVudGVkQnkgPSAkZnVuY3Rpb24tPnNp
Z25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifTsKICAgICAgICAg
ICAgICAgICAkaW1wbEluY2x1ZGVzeyIke2ltcGxlbWVudGVkQnl9LmgifSA9IDE7Ci0gICAgICAg
ICAgICAgICAgbXkgJGl0ZW0gPSAhJGNhbGxJbXBsUGFyYW1zICYmICEkZXhjZXB0aW9ucyA/ICJp
dGVtIiA6ICJpdGVtLCAiOwotICAgICAgICAgICAgICAgICRjb250ZW50SGVhZCA9ICIke2Fzc2ln
bn0ke2Fzc2lnblByZX0ke2ltcGxlbWVudGVkQnl9Ojokc2V0dGVyRXhwcmVzc2lvblByZWZpeCRp
dGVtJHtjYWxsSW1wbFBhcmFtc30ke2V4Y2VwdGlvbnN9JHthc3NpZ25Qb3N0fSk7XG4iOworICAg
ICAgICAgICAgICAgIHVuc2hpZnQoQGFyZ3VtZW50cywgIml0ZW0iKTsKKyAgICAgICAgICAgICAg
ICAkZnVuY3Rpb25OYW1lID0gIiR7aW1wbGVtZW50ZWRCeX06OiR7ZnVuY3Rpb25OYW1lfSI7Cisg
ICAgICAgICAgICAgICAgJGNvbnRlbnRIZWFkID0gIiR7YXNzaWdufSR7YXNzaWduUHJlfSR7ZnVu
Y3Rpb25OYW1lfSgiIC4gam9pbigiLCAiLCBAYXJndW1lbnRzKSAuICIke2Fzc2lnblBvc3R9KTtc
biI7CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICRjb250ZW50SGVhZCA9
ICIke2Fzc2lnbn0ke2Fzc2lnblByZX1pdGVtLT4kc2V0dGVyRXhwcmVzc2lvblByZWZpeCR7Y2Fs
bEltcGxQYXJhbXN9JHtleGNlcHRpb25zfSR7YXNzaWduUG9zdH0pO1xuIjsKKyAgICAgICAgICAg
ICAgICAkZnVuY3Rpb25OYW1lID0gIml0ZW0tPiR7ZnVuY3Rpb25OYW1lfSI7CisgICAgICAgICAg
ICAgICAgJGNvbnRlbnRIZWFkID0gIiR7YXNzaWdufSR7YXNzaWduUHJlfSR7ZnVuY3Rpb25OYW1l
fSgiIC4gam9pbigiLCAiLCBAYXJndW1lbnRzKSAuICIke2Fzc2lnblBvc3R9KTtcbiI7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAkY29udGVudEhlYWQgPSAi
JHthc3NpZ259JHthc3NpZ25QcmV9aXRlbS0+JHtmdW5jdGlvblNpZ05hbWV9KCR7Y2FsbEltcGxQ
YXJhbXN9JHtleGNlcHRpb25zfSR7YXNzaWduUG9zdH0pO1xuIjsKKyAgICAgICAgICAgICRjb250
ZW50SGVhZCA9ICIke2Fzc2lnbn0ke2Fzc2lnblByZX1pdGVtLT4ke2Z1bmN0aW9uU2lnTmFtZX0o
IiAuIGpvaW4oIiwgIiwgQGNhbGxJbXBsUGFyYW1zKSAuICIke2Fzc2lnblBvc3R9KTtcbiI7CiAg
ICAgICAgIH0KICAgICAgICAgcHVzaChAY0JvZHksICIgICAgJHtjb250ZW50SGVhZH0iKTsKICAg
ICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCmluZGV4IDMwNDY1ZjY0OTgzODE0MDBkNWYxNGRmNDEyNjkyNWQ2ZDZkMjc4ZTEu
LmVhZjcyZmM2Mjk3ZGFiNmJjNzRiNmNiNzk5ZTE2N2ZiZjJiMjMwMTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xNzY5
LDE3ICsxNzY5LDE3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgSlNWYWx1ZSByZXN1bHQgPSAg
IiAuIE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5zaWduYXR1cmUsIDAsICRpbXBsQ2xhc3NO
YW1lLCAiaW1wLiRpbXBsR2V0dGVyRnVuY3Rpb25OYW1lKCkiLCAiY2FzdGVkVGhpcyIpIC4gIjtc
biIpOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgICAgICAgICAgbXkgJGdldHRlckV4cHJlc3Npb25QcmVmaXgg
PSAkY29kZUdlbmVyYXRvci0+R2V0dGVyRXhwcmVzc2lvblByZWZpeChcJWltcGxJbmNsdWRlcywg
JGludGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpOwotICAgICAgICAgICAgICAgICAgICAgICAgbXkg
JGdldHRlckV4cHJlc3Npb247CisgICAgICAgICAgICAgICAgICAgICAgICBteSAoJGZ1bmN0aW9u
TmFtZSwgQGFyZ3VtZW50cykgPSAkY29kZUdlbmVyYXRvci0+R2V0dGVyRXhwcmVzc2lvbihcJWlt
cGxJbmNsdWRlcywgJGludGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkltcGxlbWVudGVkQnkifSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15ICRpbXBs
ZW1lbnRlZEJ5ID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
SW1wbGVtZW50ZWRCeSJ9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVk
ZXN7IiR7aW1wbGVtZW50ZWRCeX0uaCJ9ID0gMTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAkZ2V0dGVyRXhwcmVzc2lvbiA9ICIke2ltcGxlbWVudGVkQnl9Ojoke2dldHRlckV4cHJlc3Np
b25QcmVmaXh9aW1wKSI7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZ1bmN0aW9uTmFt
ZSA9ICIke2ltcGxlbWVudGVkQnl9Ojoke2Z1bmN0aW9uTmFtZX0iOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2hpZnQoQGFyZ3VtZW50cywgImltcCIpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2V0dGVyRXhw
cmVzc2lvbiA9ICJpbXAtPiIgLiAkZ2V0dGVyRXhwcmVzc2lvblByZWZpeCAuICIpIjsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25OYW1lID0gImltcC0+JHtmdW5jdGlvbk5h
bWV9IjsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgICAgICAg
ICAgbXkgJGpzVHlwZSA9IE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5zaWduYXR1cmUsIDAs
ICRpbXBsQ2xhc3NOYW1lLCAkZ2V0dGVyRXhwcmVzc2lvbiwgImNhc3RlZFRoaXMiKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG15ICRqc1R5cGUgPSBOYXRpdmVUb0pTVmFsdWUoJGF0dHJpYnV0
ZS0+c2lnbmF0dXJlLCAwLCAkaW1wbENsYXNzTmFtZSwgIiR7ZnVuY3Rpb25OYW1lfSgiIC4gam9p
bigiLCAiLCBAYXJndW1lbnRzKSAuICIpIiwgImNhc3RlZFRoaXMiKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICRpbXBsQ2xhc3NOYW1lKiBpbXAgPSBz
dGF0aWNfY2FzdDwkaW1wbENsYXNzTmFtZSo+KGNhc3RlZFRoaXMtPmltcGwoKSk7XG4iKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNTVkdBbmltYXRlZFR5
cGUoJHR5cGUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgUmVmUHRyPCR0eXBlPiBvYmogPSAkanNUeXBlO1xuIik7CkBAIC0xOTkxLDE2ICsx
OTkxLDE4IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBteSAkc2V0dGVyRXhwcmVzc2lvblByZWZpeCA9ICRjb2RlR2VuZXJhdG9yLT5T
ZXR0ZXJFeHByZXNzaW9uUHJlZml4KFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0
dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15ICgkZnVuY3Rpb25O
YW1lLCBAYXJndW1lbnRzKSA9ICRjb2RlR2VuZXJhdG9yLT5TZXR0ZXJFeHByZXNzaW9uKFwlaW1w
bEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB1c2goQGFyZ3VtZW50cywgJG5hdGl2ZVZhbHVlKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifSkgewogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbXkgJGltcGxlbWVudGVkQnkgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJbXBsZW1lbnRlZEJ5In07CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyIke2ltcGxlbWVudGVkQnl9LmgifSA9
IDE7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICAke2ltcGxlbWVudGVkQnl9Ojoke3NldHRlckV4cHJlc3Npb25QcmVmaXh9aW1wLCAk
bmF0aXZlVmFsdWUiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2hp
ZnQoQGFyZ3VtZW50cywgImltcCIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJGZ1bmN0aW9uTmFtZSA9ICIke2ltcGxlbWVudGVkQnl9Ojoke2Z1bmN0aW9uTmFtZX0iOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaW1wLT4kc2V0dGVy
RXhwcmVzc2lvblByZWZpeCRuYXRpdmVWYWx1ZSIpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJpbXAtPiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIsIGVjIikgaWYgQHskYXR0cmlidXRlLT5zZXR0ZXJF
eGNlcHRpb25zfTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIpO1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGFy
Z3VtZW50cywgImVjIikgaWYgQHskYXR0cmlidXRlLT5zZXR0ZXJFeGNlcHRpb25zfTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHtmdW5j
dGlvbk5hbWV9KCIgLiBqb2luKCIsICIsIEBhcmd1bWVudHMpIC4gIik7XG4iKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc2V0RE9NRXhj
ZXB0aW9uKGV4ZWMsIGVjKTtcbiIpIGlmIEB7JGF0dHJpYnV0ZS0+c2V0dGVyRXhjZXB0aW9uc307
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg
fQpAQCAtMjAxMSwxMCArMjAxMywxMCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAg
ICAgICAgICAgCisKICAgICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJSZXBsYWNlYWJsZUNvbnN0cnVjdG9yIn0pIHsKICAgICAgICAgICAgICAgICBteSAkY29u
c3RydWN0b3JGdW5jdGlvbk5hbWUgPSAic2V0SlMiIC4gJGludGVyZmFjZU5hbWUgLiAiQ29uc3Ry
dWN0b3IiOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICJ2b2lkICR7Y29uc3RydWN0b3JGdW5jdGlvbk5hbWV9KEV4ZWNTdGF0ZSogZXhlYywg
SlNPYmplY3QqIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpXG4iKTsKICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgICAgICAgICAgICAgIGlmICgkZGF0YU5v
ZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja0RvbWFpblNlY3VyaXR5In0pIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMu
cG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBt
CmluZGV4IDc4MmYzNWUzMzM0MTVjYmQ1ZmNjNDcxZjU3Mjg5NWY5OTE1NTY2NmIuLjA0MTUxYjQ5
YmIwNmZkMjdhNTMwOTUwNWIwNTBhMjUwYjE5NTI3N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQpAQCAtMTIwMCw3ICsx
MjAwLDggQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICMgLSBHRVRU
RVIKICAgICAgICAgICAgIG15ICRnZXR0ZXJTaWcgPSAiLSAoJGF0dHJpYnV0ZVR5cGUpJGF0dHJp
YnV0ZUludGVyZmFjZU5hbWVcbiI7CiAKLSAgICAgICAgICAgIG15ICRnZXR0ZXJFeHByZXNzaW9u
UHJlZml4ID0gJGNvZGVHZW5lcmF0b3ItPkdldHRlckV4cHJlc3Npb25QcmVmaXgoXCVpbXBsSW5j
bHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKTsKKyAgICAgICAgICAgIG15ICgkZnVu
Y3Rpb25OYW1lLCBAYXJndW1lbnRzKSA9ICRjb2RlR2VuZXJhdG9yLT5HZXR0ZXJFeHByZXNzaW9u
KFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0dHJpYnV0ZSk7CisgICAgICAgICAg
ICBteSAkZ2V0dGVyRXhwcmVzc2lvblByZWZpeCA9ICIkZnVuY3Rpb25OYW1lKCIgLiBqb2luKCIs
ICIsIEBhcmd1bWVudHMpOwogCiAgICAgICAgICAgICAjIEZJWE1FOiBTcGVjaWFsIGNhc2UgYXR0
cmlidXRlIG93bmVyRG9jdW1lbnQgdG8gY2FsbCBkb2N1bWVudC4gVGhpcyBtYWtlcyBpdCByZXR1
cm4gdGhlCiAgICAgICAgICAgICAjIGRvY3VtZW50IHdoZW4gY2FsbGVkIG9uIHRoZSBkb2N1bWVu
dCBpdHNlbGYuIExlZ2FjeSBiZWhhdmlvciwgc2VlIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA4ODk+LgpAQCAtMTQ0MiwxNiArMTQ0MywxOSBAQCBzdWIgR2VuZXJh
dGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQg
PSAiJGdldHRlckV4cHJlc3Npb25QcmVmaXgiOwogICAgICAgICAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiAgICBJTVBMLT4kY29yZVNldHRlck5hbWUoJGFyZyk7XG4iKTsKICAgICAg
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBteSAkc2V0dGVyRXhwcmVz
c2lvblByZWZpeCA9ICRjb2RlR2VuZXJhdG9yLT5TZXR0ZXJFeHByZXNzaW9uUHJlZml4KFwlaW1w
bEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0dHJpYnV0ZSk7Ci0gICAgICAgICAgICAgICAg
ICAgIG15ICRlYyA9ICRoYXNTZXR0ZXJFeGNlcHRpb24gPyAiLCBlYyIgOiAiIjsKKyAgICAgICAg
ICAgICAgICAgICAgbXkgKCRmdW5jdGlvbk5hbWUsIEBhcmd1bWVudHMpID0gJGNvZGVHZW5lcmF0
b3ItPlNldHRlckV4cHJlc3Npb24oXCVpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0
cmlidXRlKTsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAYXJndW1lbnRzLCAkYXJnKTsKKyAg
ICAgICAgICAgICAgICAgICAgcHVzaChAYXJndW1lbnRzLCAiZWMiKSBpZiAkaGFzU2V0dGVyRXhj
ZXB0aW9uOwogICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAkZXhj
ZXB0aW9uSW5pdFxuIikgaWYgJGhhc1NldHRlckV4Y2VwdGlvbjsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxl
bWVudGVkQnkifSkgewogICAgICAgICAgICAgICAgICAgICAgICAgbXkgJGltcGxlbWVudGVkQnkg
PSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJbXBsZW1lbnRl
ZEJ5In07CiAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyIke2ltcGxlbWVu
dGVkQnl9LmgifSA9IDE7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICAke2ltcGxlbWVudGVkQnl9Ojoke3NldHRlckV4cHJlc3Npb25QcmVmaXh9SU1QTCwg
JHthcmd9JHtlY30pO1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICB1bnNoaWZ0KEBhcmd1
bWVudHMsICJJTVBMIik7CisgICAgICAgICAgICAgICAgICAgICAgICAkZnVuY3Rpb25OYW1lID0g
IiR7aW1wbGVtZW50ZWRCeX06OiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICBJTVBMLT4kc2V0dGVyRXhwcmVzc2lvblByZWZpeCRhcmckZWMpO1xuIik7CisgICAgICAgICAg
ICAgICAgICAgICAgICAkZnVuY3Rpb25OYW1lID0gIklNUEwtPiR7ZnVuY3Rpb25OYW1lfSI7CiAg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgJHtmdW5jdGlvbk5hbWV9KCIgLiBqb2luKCIsICIsIEBhcmd1bWVudHMpIC4gIik7
XG4iKTsKICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGV4Y2Vw
dGlvblJhaXNlT25FcnJvclxuIikgaWYgJGhhc1NldHRlckV4Y2VwdGlvbjsKICAgICAgICAgICAg
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvclY4LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yVjgucG0KaW5kZXggZWI3NGFmMmNiMDQzMzBiODU2MWQwM2U0NDBlZDdhYmFkOTNlZWMy
MS4uMzhmN2JiYmY0MjQ4NTdiYjQ5ZWFlNGM1MmRjNmY2MGQ2NDJiZDZiMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTg3
MywyMCArODczLDE5IEBAIEVORAogICAgIH0KIAogICAgIG15ICRyZXR1cm5UeXBlID0gR2V0VHlw
ZUZyb21TaWduYXR1cmUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlKTsKLQogICAgIG15ICRnZXR0ZXJT
dHJpbmc7CiAgICAgaWYgKCRnZXR0ZXJTdHJpbmdVc2VzSW1wKSB7Ci0gICAgICAgIG15ICRnZXR0
ZXJFeHByZXNzaW9uUHJlZml4ID0gJGNvZGVHZW5lcmF0b3ItPkdldHRlckV4cHJlc3Npb25QcmVm
aXgoXCVpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKTsKKyAgICAgICAg
bXkgKCRmdW5jdGlvbk5hbWUsIEBhcmd1bWVudHMpID0gJGNvZGVHZW5lcmF0b3ItPkdldHRlckV4
cHJlc3Npb24oXCVpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKTsKKyAg
ICAgICAgcHVzaChAYXJndW1lbnRzLCAiZWMiKSBpZiAkdXNlRXhjZXB0aW9uczsKICAgICAgICAg
aWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVu
dGVkQnkifSkgewogICAgICAgICAgICAgbXkgJGltcGxlbWVudGVkQnkgPSAkYXR0cmlidXRlLT5z
aWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJbXBsZW1lbnRlZEJ5In07CiAgICAgICAg
ICAgICBBZGRUb0ltcGxJbmNsdWRlcygiJHtpbXBsZW1lbnRlZEJ5fS5oIik7Ci0gICAgICAgICAg
ICAkZ2V0dGVyU3RyaW5nID0gIiR7aW1wbGVtZW50ZWRCeX06OiR7Z2V0dGVyRXhwcmVzc2lvblBy
ZWZpeH1pbXAiOwotICAgICAgICAgICAgJGdldHRlclN0cmluZyAuPSAiLCBlYyIgaWYgJHVzZUV4
Y2VwdGlvbnM7CisgICAgICAgICAgICB1bnNoaWZ0KEBhcmd1bWVudHMsICJpbXAiKTsKKyAgICAg
ICAgICAgICRmdW5jdGlvbk5hbWUgPSAiJHtpbXBsZW1lbnRlZEJ5fTo6JHtmdW5jdGlvbk5hbWV9
IjsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICRnZXR0ZXJTdHJpbmcgPSAiaW1wLT4k
Z2V0dGVyRXhwcmVzc2lvblByZWZpeCI7Ci0gICAgICAgICAgICAkZ2V0dGVyU3RyaW5nIC49ICJl
YyIgaWYgJHVzZUV4Y2VwdGlvbnM7CisgICAgICAgICAgICAkZnVuY3Rpb25OYW1lID0gImltcC0+
JHtmdW5jdGlvbk5hbWV9IjsKICAgICAgICAgfQotICAgICAgICAkZ2V0dGVyU3RyaW5nIC49ICIp
IjsKKyAgICAgICAgJGdldHRlclN0cmluZyA9ICIke2Z1bmN0aW9uTmFtZX0oIiAuIGpvaW4oIiwg
IiwgQGFyZ3VtZW50cykgLiAiKSI7CiAgICAgfSBlbHNlIHsKICAgICAgICAgJGdldHRlclN0cmlu
ZyA9ICJpbXBJbnN0YW5jZSI7CiAgICAgfQpAQCAtMTEyNCwxOCArMTEyMywyMiBAQCBFTkQKICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNs
cywgIiAgICBpbXAtPnNldCRpbXBsU2V0dGVyRnVuY3Rpb25OYW1lKFY4RE9NV3JhcHBlcjo6Z2V0
RXZlbnRMaXN0ZW5lcih2YWx1ZSwgdHJ1ZSwgTGlzdGVuZXJGaW5kT3JDcmVhdGUpIik7CiAgICAg
ICAgICAgICB9CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiLCBlYyIpIGlm
ICR1c2VFeGNlcHRpb25zOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIik7
XG4iKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG15ICRzZXR0ZXJFeHByZXNzaW9u
UHJlZml4ID0gJGNvZGVHZW5lcmF0b3ItPlNldHRlckV4cHJlc3Npb25QcmVmaXgoXCVpbXBsSW5j
bHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKTsKKyAgICAgICAgICAgIG15ICgkZnVu
Y3Rpb25OYW1lLCBAYXJndW1lbnRzKSA9ICRjb2RlR2VuZXJhdG9yLT5TZXR0ZXJFeHByZXNzaW9u
KFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0dHJpYnV0ZSk7CisgICAgICAgICAg
ICBwdXNoKEBhcmd1bWVudHMsICRyZXN1bHQpOworICAgICAgICAgICAgcHVzaChAYXJndW1lbnRz
LCAiZWMiKSBpZiAkdXNlRXhjZXB0aW9uczsKICAgICAgICAgICAgIGlmICgkYXR0cmlidXRlLT5z
aWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJbXBsZW1lbnRlZEJ5In0pIHsKICAgICAg
ICAgICAgICAgICBteSAkaW1wbGVtZW50ZWRCeSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifTsKICAgICAgICAgICAgICAgICBBZGRU
b0ltcGxJbmNsdWRlcygiJHtpbXBsZW1lbnRlZEJ5fS5oIik7Ci0gICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnREZWNscywgIiAgICAke2ltcGxlbWVudGVkQnl9Ojoke3NldHRlckV4cHJl
c3Npb25QcmVmaXh9aW1wLCAkcmVzdWx0Iik7CisgICAgICAgICAgICAgICAgdW5zaGlmdChAYXJn
dW1lbnRzLCAiaW1wIik7CisgICAgICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICIke2ltcGxl
bWVudGVkQnl9Ojoke2Z1bmN0aW9uTmFtZX0iOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIGltcC0+JHNldHRlckV4cHJl
c3Npb25QcmVmaXgkcmVzdWx0Iik7CisgICAgICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJp
bXAtPiR7ZnVuY3Rpb25OYW1lfSI7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudERlY2xzLCAiICAgICR7ZnVuY3Rpb25OYW1lfSgiIC4gam9pbigiLCAiLCBAYXJn
dW1lbnRzKSAuICIpO1xuIik7CiAgICAgICAgIH0KLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnRE
ZWNscywgIiwgZWMiKSBpZiAkdXNlRXhjZXB0aW9uczsKLSAgICAgICAgcHVzaChAaW1wbENvbnRl
bnREZWNscywgIik7XG4iKTsKICAgICB9CiAKICAgICBpZiAoJHVzZUV4Y2VwdGlvbnMpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>