<?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>74469</bug_id>
          
          <creation_ts>2011-12-13 17:42:07 -0800</creation_ts>
          <short_desc>svn scripts cannot handle files with @ symbols</short_desc>
          <delta_ts>2011-12-15 17:09:45 -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="Stephanie Lewis">slewis</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>mrowe</cc>
    
    <cc>slewis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>520529</commentid>
    <comment_count>0</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2011-12-13 17:42:07 -0800</bug_when>
    <thetext>svn scripts cannot handle files with @&apos;s symbols.  In svn @ means look at this file at a specific revision.  We should escape them by adding a second @ at the end.  This causes svn to ignore the first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520535</commentid>
    <comment_count>1</comment_count>
      <attachid>119122</attachid>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2011-12-13 17:52:37 -0800</bug_when>
    <thetext>Created attachment 119122
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520543</commentid>
    <comment_count>2</comment_count>
      <attachid>119122</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-12-13 17:59:32 -0800</bug_when>
    <thetext>Comment on attachment 119122
patch

Please add a helper function to VCSUtils.pm that escapes a path and call that from the places that need it rather than duplicating the logic across all of these scripts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520585</commentid>
    <comment_count>3</comment_count>
      <attachid>119133</attachid>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2011-12-13 18:34:53 -0800</bug_when>
    <thetext>Created attachment 119133
second patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521574</commentid>
    <comment_count>4</comment_count>
      <attachid>119133</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-12-14 19:07:43 -0800</bug_when>
    <thetext>Comment on attachment 119133
second patch

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

&gt; Tools/Scripts/VCSUtils.pm:1997
&gt; +sub escapePath($)
&gt; +{
&gt; +    my ($path) = @_;
&gt; +    $path .= &quot;@&quot; if $path =~ /@/;
&gt; +    return $path;
&gt; +}

Since this function only makes sense for Subversion, it should probably either do nothing for git or have a name that makes it clear it&apos;s Subversion-only. Maybe escapeSubversionPath?

&gt; Tools/Scripts/prepare-ChangeLog:1340
&gt; +        my @escapedPaths;
&gt; +        foreach my $path (@paths) { push @escapedPaths, escapePath($path); }

You can do this more succinctly with map:

my @escapedPaths = map(escapePath, @paths);

Seems like $pathsString should become a variable that&apos;s only used in the git codepath.

&gt; Tools/Scripts/prepare-ChangeLog:1361
&gt; +        my @escapedFiles;
&gt; +        foreach my $file (@files) { push @escapedFiles, escapePath($file); }
&gt; +        my $escapedFilesString = &quot;&apos;&quot; . join(&quot;&apos; &apos;&quot;, @escapedFiles) . &quot;&apos;&quot;;
&gt; +        $command = &quot;$SVN stat $escapedFilesString&quot;;

Same comments as above.

&gt; Tools/Scripts/svn-apply:455
&gt; +        open SVN, &quot;svn rm --force &apos;$escapedPath&apos; |&quot; or die &quot;svn rm --force &apos;$path&apos; failed!&quot;;

You should use $escapedPath in the error message too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522360</commentid>
    <comment_count>5</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2011-12-15 17:09:45 -0800</bug_when>
    <thetext>Committed http://trac.webkit.org/changeset/103002</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119122</attachid>
            <date>2011-12-13 17:52:37 -0800</date>
            <delta_ts>2011-12-13 18:34:53 -0800</delta_ts>
            <desc>patch</desc>
            <filename>svn-script-patch.txt</filename>
            <type>text/plain</type>
            <size>17446</size>
            <attacher name="Stephanie Lewis">slewis</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2Ny
aXB0cy9WQ1NVdGlscy5wbQkocmV2aXNpb24gMTAwMzk4KQorKysgVG9vbHMvU2NyaXB0cy9WQ1NV
dGlscy5wbQkod29ya2luZyBjb3B5KQpAQCAtMTUzLDcgKzE1MywxMSBAQCBzdWIgc2NtTW92ZU9y
UmVuYW1lRmlsZQogICAgIG15ICgkc291cmNlLCAkZGVzdGluYXRpb24pID0gQF87CiAgICAgcmV0
dXJuIGlmICEgLWUgJHNvdXJjZTsKICAgICBpZiAoaXNTVk4oKSkgewotICAgICAgICBzeXN0ZW0o
InN2biIsICJtb3ZlIiwgJHNvdXJjZSwgJGRlc3RpbmF0aW9uKTsKKyAgICAgICAgbXkgJGVzY2Fw
ZWREZXN0aW5hdGlvbiA9ICRkZXN0aW5hdGlvbjsKKyAgICAgICAgJGVzY2FwZWREZXN0aW5hdGlv
biAuPSAiQCIgaWYgJGRlc3RpbmF0aW9uID1+IC9ALzsKKyAgICAgICAgbXkgJGVzY2FwZWRTb3Vy
Y2UgPSAkc291cmNlOworICAgICAgICAkZXNjYXBlZFNvdXJjZSAuPSAiQCIgaWYgJHNvdXJjZSA9
fiAvQC87CisgICAgICAgIHN5c3RlbSgic3ZuIiwgIm1vdmUiLCAkZXNjYXBlZFNvdXJjZSwgJGVz
Y2FwZWREZXN0aW5hdGlvbik7CiAgICAgfSBlbHNpZiAoaXNHaXQoKSkgewogICAgICAgICBzeXN0
ZW0oImdpdCIsICJtdiIsICRzb3VyY2UsICRkZXN0aW5hdGlvbik7CiAgICAgfQpAQCAtMTc2LDcg
KzE4MCw5IEBAIHN1YiBzY21BZGRFeGVjdXRhYmxlQml0KCQpCiAgICAgbXkgKCRwYXRoKSA9IEBf
OwogCiAgICAgaWYgKGlzU1ZOKCkpIHsKLSAgICAgICAgc3lzdGVtKCJzdm4iLCAicHJvcHNldCIs
ICJzdm46ZXhlY3V0YWJsZSIsICJvbiIsICRwYXRoKSA9PSAwIG9yIGRpZSAiRmFpbGVkIHRvIHJ1
biAnc3ZuIHByb3BzZXQgc3ZuOmV4ZWN1dGFibGUgb24gJHBhdGgnLiI7CisgICAgICAgIG15ICRl
c2NhcGVkUGF0aCA9ICRwYXRoOworICAgICAgICAkZXNjYXBlZFBhdGggLj0gIkAiIGlmICRwYXRo
ID1+IC9ALzsKKyAgICAgICAgc3lzdGVtKCJzdm4iLCAicHJvcHNldCIsICJzdm46ZXhlY3V0YWJs
ZSIsICJvbiIsICRlc2NhcGVkUGF0aCkgPT0gMCBvciBkaWUgIkZhaWxlZCB0byBydW4gJ3N2biBw
cm9wc2V0IHN2bjpleGVjdXRhYmxlIG9uICRwYXRoJy4iOwogICAgIH0gZWxzaWYgKGlzR2l0KCkp
IHsKICAgICAgICAgY2htb2QoMDc1NSwgJHBhdGgpOwogICAgIH0KQEAgLTE4Nyw3ICsxOTMsOSBA
QCBzdWIgc2NtUmVtb3ZlRXhlY3V0YWJsZUJpdCgkKQogICAgIG15ICgkcGF0aCkgPSBAXzsKIAog
ICAgIGlmIChpc1NWTigpKSB7Ci0gICAgICAgIHN5c3RlbSgic3ZuIiwgInByb3BkZWwiLCAic3Zu
OmV4ZWN1dGFibGUiLCAkcGF0aCkgPT0gMCBvciBkaWUgIkZhaWxlZCB0byBydW4gJ3N2biBwcm9w
ZGVsIHN2bjpleGVjdXRhYmxlICRwYXRoJy4iOworICAgICAgICBteSAkZXNjYXBlZFBhdGggPSAk
cGF0aDsKKyAgICAgICAgJGVzY2FwZWRQYXRoIC49ICJAIiBpZiAkcGF0aCA9fiAvQC87CisgICAg
ICAgIHN5c3RlbSgic3ZuIiwgInByb3BkZWwiLCAic3ZuOmV4ZWN1dGFibGUiLCAkZXNjYXBlZFBh
dGgpID09IDAgb3IgZGllICJGYWlsZWQgdG8gcnVuICdzdm4gcHJvcGRlbCBzdm46ZXhlY3V0YWJs
ZSAkcGF0aCcuIjsKICAgICB9IGVsc2lmIChpc0dpdCgpKSB7CiAgICAgICAgIGNobW9kKDA2NjQs
ICRwYXRoKTsKICAgICB9CkBAIC0zMDQsOCArMzEyLDEwIEBAIHN1YiBkZXRlcm1pbmVTVk5Sb290
KCkKICAgICB3aGlsZSAoMSkgewogICAgICAgICBteSAkdGhpc1Jvb3Q7CiAgICAgICAgIG15ICR0
aGlzVVVJRDsKKyAgICAgICAgbXkgJGVzY2FwZWRQYXRoID0gJHBhdGg7CisgICAgICAgICRlc2Nh
cGVkUGF0aCAuPSAiQCIgaWYgJHBhdGggPX4gL0AvOwogICAgICAgICAjIElnbm9yZSBlcnJvciBt
ZXNzYWdlcyBpbiBjYXNlIHdlJ3ZlIHJ1biBwYXN0IHRoZSByb290IG9mIHRoZSBjaGVja291dC4K
LSAgICAgICAgb3BlbiBJTkZPLCAic3ZuIGluZm8gJyRwYXRoJyAyPiAiIC4gRmlsZTo6U3BlYy0+
ZGV2bnVsbCgpIC4gIiB8IiBvciBkaWU7CisgICAgICAgIG9wZW4gSU5GTywgInN2biBpbmZvICck
ZXNjYXBlZFBhdGgnIDI+ICIgLiBGaWxlOjpTcGVjLT5kZXZudWxsKCkgLiAiIHwiIG9yIGRpZTsK
ICAgICAgICAgd2hpbGUgKDxJTkZPPikgewogICAgICAgICAgICAgaWYgKC9eUmVwb3NpdG9yeSBS
b290OiAoLispLykgewogICAgICAgICAgICAgICAgICR0aGlzUm9vdCA9ICQxOwpAQCAtMzYxLDcg
KzM3MSw5IEBAIHN1YiBzdm5SZXZpc2lvbkZvckRpcmVjdG9yeSgkKQogICAgIG15ICRyZXZpc2lv
bjsKIAogICAgIGlmIChpc1NWTkRpcmVjdG9yeSgkZGlyKSkgewotICAgICAgICBteSAkc3ZuSW5m
byA9IGBMQ19BTEw9QyBzdm4gaW5mbyAkZGlyIHwgZ3JlcCBSZXZpc2lvbjpgOworICAgICAgICBt
eSAkZXNjYXBlZERpciA9ICRkaXI7CisgICAgICAgICRlc2NhcGVkRGlyIC49ICJAIiBpZiAkZGly
ID1+IC9ALzsKKyAgICAgICAgbXkgJHN2bkluZm8gPSBgTENfQUxMPUMgc3ZuIGluZm8gJGVzY2Fw
ZWREaXIgfCBncmVwIFJldmlzaW9uOmA7CiAgICAgICAgICgkcmV2aXNpb24pID0gKCRzdm5JbmZv
ID1+IG0vUmV2aXNpb246IChcZCspLiovZyk7CiAgICAgfSBlbHNpZiAoaXNHaXREaXJlY3Rvcnko
JGRpcikpIHsKICAgICAgICAgbXkgJGdpdExvZyA9IGBjZCAkZGlyICYmIExDX0FMTD1DIGdpdCBs
b2cgLS1ncmVwPSdnaXQtc3ZuLWlkOiAnIC1uIDEgfCBncmVwIGdpdC1zdm4taWQ6YDsKQEAgLTM3
OCw3ICszOTAsOSBAQCBzdWIgcGF0aFJlbGF0aXZlVG9TVk5SZXBvc2l0b3J5Um9vdEZvclBhCiAK
ICAgICBteSAkc3ZuSW5mbzsKICAgICBpZiAoaXNTVk4oKSkgewotICAgICAgICAkc3ZuSW5mbyA9
IGBMQ19BTEw9QyBzdm4gaW5mbyAkcmVsYXRpdmVQYXRoYDsKKyAgICAgICAgbXkgJGVzY2FwZWRS
ZWxhdGl2ZVBhdGggPSAkcmVsYXRpdmVQYXRoOworICAgICAgICAkZXNjYXBlZFJlbGF0aXZlUGF0
aCAuPSAiQCIgaWYgJHJlbGF0aXZlUGF0aCA9fiAvQC87CisgICAgICAgICRzdm5JbmZvID0gYExD
X0FMTD1DIHN2biBpbmZvICRlc2NhcGVkUmVsYXRpdmVQYXRoYDsKICAgICB9IGVsc2lmIChpc0dp
dCgpKSB7CiAgICAgICAgICRzdm5JbmZvID0gYExDX0FMTD1DIGdpdCBzdm4gaW5mbyAkcmVsYXRp
dmVQYXRoYDsKICAgICB9CkBAIC01MzYsOCArNTUwLDEwIEBAIHN1YiBwYXJzZUNodW5rUmFuZ2Uo
JCkKIHN1YiBzdm5TdGF0dXMoJCkKIHsKICAgICBteSAoJGZ1bGxQYXRoKSA9IEBfOworICAgIG15
ICRlc2NhcGVkRnVsbFBhdGggPSAkZnVsbFBhdGg7CisgICAgJGVzY2FwZWRGdWxsUGF0aCAuPSAi
QCIgaWYgJGZ1bGxQYXRoID1+IC9ALzsKICAgICBteSAkc3ZuU3RhdHVzOwotICAgIG9wZW4gU1ZO
LCAic3ZuIHN0YXR1cyAtLW5vbi1pbnRlcmFjdGl2ZSAtLW5vbi1yZWN1cnNpdmUgJyRmdWxsUGF0
aCcgfCIgb3IgZGllOworICAgIG9wZW4gU1ZOLCAic3ZuIHN0YXR1cyAtLW5vbi1pbnRlcmFjdGl2
ZSAtLW5vbi1yZWN1cnNpdmUgJyRlc2NhcGVkRnVsbFBhdGgnIHwiIG9yIGRpZTsKICAgICBpZiAo
LWQgJGZ1bGxQYXRoKSB7CiAgICAgICAgICMgV2hlbiBydW5uaW5nICJzdm4gc3RhdCIgb24gYSBk
aXJlY3RvcnksIHdlIGNhbid0IGFzc3VtZSB0aGF0IG9ubHkgb25lCiAgICAgICAgICMgc3RhdHVz
IHdpbGwgYmUgcmV0dXJuZWQgKHNpbmNlIGFueSBmaWxlcyB3aXRoIGEgc3RhdHVzIGJlbG93IHRo
ZQpJbmRleDogVG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDAzOTgpCisrKyBUb29s
cy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xMzM2LDcgKzEz
MzYsMTYgQEAgc3ViIGRpZmZDb21tYW5kKEApCiAKICAgICBteSAkY29tbWFuZDsKICAgICBpZiAo
JGlzU1ZOKSB7Ci0gICAgICAgICRjb21tYW5kID0gIiRTVk4gZGlmZiAtLWRpZmYtY21kIGRpZmYg
LXggLU4gJHBhdGhzU3RyaW5nIjsKKyAgICAgICAgbXkgQGVzY2FwZWRQYXRoczsKKyAgICAgICAg
Zm9yZWFjaCBteSAkcGF0aCAoQHBhdGhzKSB7IAorICAgICAgICAgICAgaWYgKCRwYXRoID1+IC9A
LykgeworICAgICAgICAgICAgICAgIHB1c2ggQGVzY2FwZWRQYXRocywgJHBhdGggLiAiQCI7IAor
ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBwdXNoIEBlc2NhcGVkUGF0aHMs
ICRwYXRoOyAKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBteSAkZXNjYXBlZFBh
dGhzU3RyaW5nID0gIiciIC4gam9pbigiJyAnIiwgQGVzY2FwZWRQYXRocykgLiAiJyI7IAorICAg
ICAgICAkY29tbWFuZCA9ICIkU1ZOIGRpZmYgLS1kaWZmLWNtZCBkaWZmIC14IC1OICRlc2NhcGVk
UGF0aHNTdHJpbmciOwogICAgIH0gZWxzaWYgKCRpc0dpdCkgewogICAgICAgICAkY29tbWFuZCA9
ICIkR0lUIGRpZmYgLS1uby1leHQtZGlmZiAtVTAgIiAuIGRpZmZGcm9tVG9TdHJpbmcoKTsKICAg
ICAgICAgJGNvbW1hbmQgLj0gIiAtLSAkcGF0aHNTdHJpbmciIHVubGVzcyAkZ2l0Q29tbWl0IG9y
ICRtZXJnZUJhc2U7CkBAIC0xMzUyLDEyICsxMzYxLDIwIEBAIHN1YiBzdGF0dXNDb21tYW5kKEAp
CiAgICAgbXkgJGZpbGVzU3RyaW5nID0gIlwiIiAuIGpvaW4gKCJcIiBcIiIsIEBmaWxlcykgLiAi
XCIiOwogICAgIG15ICRjb21tYW5kOwogICAgIGlmICgkaXNTVk4pIHsKLSAgICAgICAgJGNvbW1h
bmQgPSAiJFNWTiBzdGF0ICRmaWxlc1N0cmluZyI7CisgICAgICAgIG15IEBlc2NhcGVkRmlsZXM7
CisgICAgICAgIGZvcmVhY2ggbXkgJGZpbGUgKEBmaWxlcykgeyAKKyAgICAgICAgICAgIGlmICgk
ZmlsZSA9fiAvQC8pIHsKKyAgICAgICAgICAgICAgICBwdXNoIEBlc2NhcGVkRmlsZXMsICIkZmls
ZUAiOyAKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcHVzaCBAZXNjYXBl
ZEZpbGVzLCAkZmlsZTsgCisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgbXkgJGVz
Y2FwZWRGaWxlc1N0cmluZyA9ICInIiAuIGpvaW4oIicgJyIsIEBlc2NhcGVkRmlsZXMpIC4gIici
OworICAgICAgICAkY29tbWFuZCA9ICIkU1ZOIHN0YXQgJGVzY2FwZWRGaWxlc1N0cmluZyI7CiAg
ICAgfSBlbHNpZiAoJGlzR2l0KSB7CiAgICAgICAgICRjb21tYW5kID0gIiRHSVQgZGlmZiAtciAt
LW5hbWUtc3RhdHVzIC1NIC1DICIgLiBkaWZmRnJvbVRvU3RyaW5nKCk7CiAgICAgICAgICRjb21t
YW5kIC49ICIgLS0gJGZpbGVzU3RyaW5nIiB1bmxlc3MgJGdpdENvbW1pdDsKICAgICB9Ci0KICAg
ICByZXR1cm4gIiRjb21tYW5kIDI+JjEiOwogfQogCkBAIC0xMzk0LDcgKzE0MTEsOSBAQCBzdWIg
ZmluZE9yaWdpbmFsRmlsZUZyb21Tdm4oJCkKICAgICB9CiAgICAgY2xvc2UgSU5GTzsKICAgICBt
eSAkc291cmNlRmlsZTsKLSAgICBvcGVuIElORk8sICIkU1ZOIGluZm8gJyRmaWxlJyB8IiBvciBk
aWU7CisgICAgbXkgJGVzY2FwZWRGaWxlID0gJGZpbGU7CisgICAgJGVzY2FwZWRGaWxlIC49ICJA
IiBpZiAkZmlsZSA9fiAvQC87CisgICAgb3BlbiBJTkZPLCAiJFNWTiBpbmZvICckZXNjYXBlZEZp
bGUnIHwiIG9yIGRpZTsKICAgICB3aGlsZSAoPElORk8+KSB7CiAgICAgICAgIGlmICgvXkNvcGll
ZCBGcm9tIFVSTDogKC4rPylbXHJcbl0qJC8pIHsKICAgICAgICAgICAgICRzb3VyY2VGaWxlID0g
RmlsZTo6U3BlYy0+YWJzMnJlbCgkMSwgJGJhc2VVcmwpOwpAQCAtMTQwNywxOCArMTQyNiwyMSBA
QCBzdWIgZmluZE9yaWdpbmFsRmlsZUZyb21Tdm4oJCkKIHN1YiBkZXRlcm1pbmVQcm9wZXJ0eUNo
YW5nZXMoJCQkKQogewogICAgIG15ICgkZmlsZSwgJGlzQWRkLCAkb3JpZ2luYWwpID0gQF87Ci0K
KyAgICBteSAkZXNjYXBlZEZpbGUgPSAkZmlsZTsKKyAgICAkZXNjYXBlZEZpbGUgLj0gIkAiIGlm
ICRmaWxlID1+IC9ALzsKICAgICBteSAlY2hhbmdlczsKICAgICBpZiAoJGlzQWRkKSB7CiAgICAg
ICAgIG15ICVhZGRlZFByb3BlcnRpZXM7CiAgICAgICAgIG15ICVyZW1vdmVkUHJvcGVydGllczsK
LSAgICAgICAgb3BlbiBQUk9QTElTVCwgIiRTVk4gcHJvcGxpc3QgJyRmaWxlJyB8IiBvciBkaWU7
CisgICAgICAgIG9wZW4gUFJPUExJU1QsICIkU1ZOIHByb3BsaXN0ICckZXNjYXBlZEZpbGUnIHwi
IG9yIGRpZTsKICAgICAgICAgd2hpbGUgKDxQUk9QTElTVD4pIHsKICAgICAgICAgICAgICRhZGRl
ZFByb3BlcnRpZXN7JDF9ID0gMSBpZiAvXiAgKC4rPylbXHJcbl0qJC8gJiYgJDEgbmUgJ3N2bjpt
ZXJnZWluZm8nOwogICAgICAgICB9CiAgICAgICAgIGNsb3NlIFBST1BMSVNUOwogICAgICAgICBp
ZiAoJG9yaWdpbmFsKSB7Ci0gICAgICAgICAgICBvcGVuIFBST1BMSVNULCAiJFNWTiBwcm9wbGlz
dCAnJG9yaWdpbmFsJyB8IiBvciBkaWU7CisgICAgICAgICAgICBteSAkZXNjYXBlZE9yaWdpbmFs
ID0gJG9yaWdpbmFsOworICAgICAgICAgICAgJGVzY2FwZWRPcmlnaW5hbCAuPSAiQCIgaWYgJG9y
aWdpbmFsID1+IC9ALzsKKyAgICAgICAgICAgIG9wZW4gUFJPUExJU1QsICIkU1ZOIHByb3BsaXN0
ICckZXNjYXBlZE9yaWdpbmFsJyB8IiBvciBkaWU7CiAgICAgICAgICAgICB3aGlsZSAoPFBST1BM
SVNUPikgewogICAgICAgICAgICAgICAgIG5leHQgdW5sZXNzIC9eICAoLis/KVtcclxuXSokLzsK
ICAgICAgICAgICAgICAgICBteSAkcHJvcGVydHkgPSAkMTsKQEAgLTE0MzIsNyArMTQ1NCw3IEBA
IHN1YiBkZXRlcm1pbmVQcm9wZXJ0eUNoYW5nZXMoJCQkKQogICAgICAgICAkY2hhbmdlc3siQSJ9
ID0gW3NvcnQga2V5cyAlYWRkZWRQcm9wZXJ0aWVzXSBpZiAlYWRkZWRQcm9wZXJ0aWVzOwogICAg
ICAgICAkY2hhbmdlc3siRCJ9ID0gW3NvcnQga2V5cyAlcmVtb3ZlZFByb3BlcnRpZXNdIGlmICVy
ZW1vdmVkUHJvcGVydGllczsKICAgICB9IGVsc2UgewotICAgICAgICBvcGVuIERJRkYsICIkU1ZO
IGRpZmYgJyRmaWxlJyB8IiBvciBkaWU7CisgICAgICAgIG9wZW4gRElGRiwgIiRTVk4gZGlmZiAn
JGVzY2FwZWRGaWxlJyB8IiBvciBkaWU7CiAgICAgICAgIHdoaWxlICg8RElGRj4pIHsKICAgICAg
ICAgICAgIGlmICgvXlByb3BlcnR5IGNoYW5nZXMgb246LykgewogICAgICAgICAgICAgICAgIHdo
aWxlICg8RElGRj4pIHsKSW5kZXg6IFRvb2xzL1NjcmlwdHMvcmVzb2x2ZS1DaGFuZ2VMb2dzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvcmVzb2x2ZS1DaGFuZ2VMb2dzCShyZXZpc2lvbiAx
MDAzOTgpCisrKyBUb29scy9TY3JpcHRzL3Jlc29sdmUtQ2hhbmdlTG9ncwkod29ya2luZyBjb3B5
KQpAQCAtMTgyLDcgKzE4Miw5IEBAIHN1YiBjb25mbGljdEZpbGVzKCQpCiAgICAgfQogCiAgICAg
aWYgKCRpc1NWTikgewotICAgICAgICBvcGVuIFNUQVQsICItfCIsICRTVk4sICJzdGF0dXMiLCAk
ZmlsZSBvciBkaWUgJCE7CisgICAgICAgIG15ICRlc2NhcGVkRmlsZSA9ICRmaWxlOworICAgICAg
ICAkZXNjYXBlZEZpbGUgLj0gIkAiIGlmICRmaWxlID1+IC9ALzsKKyAgICAgICAgb3BlbiBTVEFU
LCAiLXwiLCAkU1ZOLCAic3RhdHVzIiwgJGVzY2FwZWRGaWxlIG9yIGRpZSAkITsKICAgICAgICAg
bXkgJHN0YXR1cyA9IDxTVEFUPjsKICAgICAgICAgY2xvc2UgU1RBVDsKICAgICAgICAgaWYgKCEk
c3RhdHVzIHx8ICRzdGF0dXMgIX4gbS9eQ1xzKy8pIHsKQEAgLTE5Myw3ICsxOTUsNyBAQCBzdWIg
Y29uZmxpY3RGaWxlcygkKQogICAgICAgICAkZmlsZU1pbmUgPSAiJHtmaWxlfS5taW5lIiBpZiAt
ZSAiJHtmaWxlfS5taW5lIjsKIAogICAgICAgICBteSAkY3VycmVudFJldmlzaW9uOwotICAgICAg
ICBvcGVuIElORk8sICItfCIsICRTVk4sICJpbmZvIiwgJGZpbGUgb3IgZGllICQhOworICAgICAg
ICBvcGVuIElORk8sICItfCIsICRTVk4sICJpbmZvIiwgJGVzY2FwZWRGaWxlIG9yIGRpZSAkITsK
ICAgICAgICAgd2hpbGUgKG15ICRsaW5lID0gPElORk8+KSB7CiAgICAgICAgICAgICBpZiAoJGxp
bmUgPX4gbS9eUmV2aXNpb246IChbMC05XSspLykgewogICAgICAgICAgICAgICAgICRjdXJyZW50
UmV2aXNpb24gPSAkMTsKQEAgLTQ2NSw3ICs0NjcsOSBAQCBzdWIgcmVzb2x2ZUNvbmZsaWN0KCQp
CiAgICAgbXkgKCRmaWxlKSA9IEBfOwogCiAgICAgaWYgKCRpc1NWTikgewotICAgICAgICBzeXN0
ZW0oJFNWTiwgInJlc29sdmVkIiwgJGZpbGUpOworICAgICAgICBteSAkZXNjYXBlZEZpbGUgPSAk
ZmlsZTsKKyAgICAgICAgJGVzY2FwZWRGaWxlIC49ICJAIiBpZiAkZmlsZSA9fiAvQC87CisgICAg
ICAgIHN5c3RlbSgkU1ZOLCAicmVzb2x2ZWQiLCAkZXNjYXBlZEZpbGUpOwogICAgICAgICBkaWUg
JCEgaWYgV0VYSVRTVEFUVVMoJD8pOwogICAgIH0gZWxzaWYgKCRpc0dpdCkgewogICAgICAgICBz
eXN0ZW0oJEdJVCwgImFkZCIsICRmaWxlKTsKQEAgLTQ4MCw3ICs0ODQsOSBAQCBzdWIgc2hvd1N0
YXR1cygkOyQpCiAgICAgbXkgKCRmaWxlLCAkaXNDb25mbGljdFJlc29sdmVkKSA9IEBfOwogCiAg
ICAgaWYgKCRpc1NWTikgewotICAgICAgICBzeXN0ZW0oJFNWTiwgInN0YXR1cyIsICRmaWxlKTsK
KyAgICAgICAgbXkgJGVzY2FwZWRGaWxlID0gJGZpbGU7CisgICAgICAgICRlc2NhcGVkRmlsZSAu
PSAiQCIgaWYgJGZpbGUgPX4gL0AvOworICAgICAgICBzeXN0ZW0oJFNWTiwgInN0YXR1cyIsICRl
c2NhcGVkRmlsZSk7CiAgICAgfSBlbHNpZiAoJGlzR2l0KSB7CiAgICAgICAgIG15IEBhcmdzID0g
cXcoLS1uYW1lLXN0YXR1cyk7CiAgICAgICAgIHVuc2hpZnQgQGFyZ3MsIHF3KC0tY2FjaGVkKSBp
ZiAkaXNDb25mbGljdFJlc29sdmVkOwpJbmRleDogVG9vbHMvU2NyaXB0cy9zdm4tYXBwbHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9zdm4tYXBwbHkJKHJldmlzaW9uIDEwMDM5OCkKKysr
IFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5CSh3b3JraW5nIGNvcHkpCkBAIC0xMzYsNyArMTM2LDkg
QEAgaWYgKCRtZXJnZSkgewogICAgIGZvciBteSAkZmlsZSAoc29ydCBrZXlzICVzb3VyY2VSZXZp
c2lvbnMpIHsKICAgICAgICAgbXkgJHZlcnNpb24gPSAkc291cmNlUmV2aXNpb25zeyRmaWxlfTsK
ICAgICAgICAgcHJpbnQgIkdldHRpbmcgdmVyc2lvbiAkdmVyc2lvbiBvZiAkZmlsZVxuIjsKLSAg
ICAgICAgc3lzdGVtKCJzdm4iLCAidXBkYXRlIiwgIi1yIiwgJHZlcnNpb24sICRmaWxlKSA9PSAw
IG9yIGRpZSAiRmFpbGVkIHRvIHJ1biBzdm4gdXBkYXRlIC1yICR2ZXJzaW9uICRmaWxlLiI7Cisg
ICAgICAgIG15ICRlc2NhcGVkRmlsZSA9ICRmaWxlOworICAgICAgICAkZXNjYXBlZEZpbGUgLj0g
IkAiIGlmICRmaWxlID1+IC9ALzsKKyAgICAgICAgc3lzdGVtKCJzdm4iLCAidXBkYXRlIiwgIi1y
IiwgJHZlcnNpb24sICRmaWxlKSA9PSAwIG9yIGRpZSAiRmFpbGVkIHRvIHJ1biBzdm4gdXBkYXRl
IC1yICR2ZXJzaW9uICRlc2NhcGVkRmlsZS4iOwogICAgIH0KIH0KIApAQCAtMzU0LDggKzM1Niwx
MCBAQCBzdWIgcGF0Y2goJCkKICAgICAgICAgICAgIGFwcGx5UGF0Y2goJHBhdGNoLCAkZnVsbFBh
dGgpIGlmICRwYXRjaDsKICAgICAgICAgICAgIHVubGluaygiJGZ1bGxQYXRoLm9yaWciKSBpZiAt
ZSAiJGZ1bGxQYXRoLm9yaWciICYmIGNoZWNrc3VtKCRmdWxsUGF0aCkgZXEgY2hlY2tzdW0oIiRm
dWxsUGF0aC5vcmlnIik7CiAgICAgICAgICAgICBzY21BZGQoJGZ1bGxQYXRoKTsKKyAgICAgICAg
ICAgIG15ICRlc2NhcGVkRnVsbFBhdGggPSAiJGZ1bGxQYXRoLm9yaWciOworICAgICAgICAgICAg
JGVzY2FwZWRGdWxsUGF0aCAuPSAiQCIgaWYgIiRmdWxsUGF0aC5vcmlnIiA9fiAvQC87CiAgICAg
ICAgICAgICAjIFdoYXQgaXMgdGhpcyBmb3I/Ci0gICAgICAgICAgICBzeXN0ZW0oInN2biIsICJz
dGF0IiwgIiRmdWxsUGF0aC5vcmlnIikgaWYgaXNTVk4oKSAmJiAtZSAiJGZ1bGxQYXRoLm9yaWci
OworICAgICAgICAgICAgc3lzdGVtKCJzdm4iLCAic3RhdCIsICIkZXNjYXBlZEZ1bGxQYXRoIikg
aWYgaXNTVk4oKSAmJiAtZSAiJGZ1bGxQYXRoLm9yaWciOwogICAgICAgICB9CiAgICAgfQogCkBA
IC00MjMsNyArNDI3LDExIEBAIHN1YiBzY21Db3B5KCQkKQogewogICAgIG15ICgkc291cmNlLCAk
ZGVzdGluYXRpb24pID0gQF87CiAgICAgaWYgKGlzU1ZOKCkpIHsKLSAgICAgICAgc3lzdGVtKCJz
dm4iLCAiY29weSIsICRzb3VyY2UsICRkZXN0aW5hdGlvbikgPT0gMCBvciBkaWUgIkZhaWxlZCB0
byBzdm4gY29weSAkc291cmNlICRkZXN0aW5hdGlvbi4iOworICAgICAgICBteSAkZXNjYXBlZFNv
dXJjZSA9ICRzb3VyY2U7CisgICAgICAgICRlc2NhcGVkU291cmNlIC49ICJAIiBpZiAkc291cmNl
ID1+IC9ALzsKKyAgICAgICAgbXkgJGVzY2FwZWREZXN0aW5hdGlvbiA9ICRkZXN0aW5hdGlvbjsK
KyAgICAgICAgJGVzY2FwZWREZXN0aW5hdGlvbiAuPSAiQCIgaWYgJGRlc3RpbmF0aW9uID1+IC9A
LzsKKyAgICAgICAgc3lzdGVtKCJzdm4iLCAiY29weSIsICRlc2NhcGVkU291cmNlLCAkZXNjYXBl
ZERlc3RpbmF0aW9uKSA9PSAwIG9yIGRpZSAiRmFpbGVkIHRvIHN2biBjb3B5ICRzb3VyY2UgJGRl
c3RpbmF0aW9uLiI7CiAgICAgfSBlbHNpZiAoaXNHaXQoKSkgewogICAgICAgICBzeXN0ZW0oImNw
IiwgJHNvdXJjZSwgJGRlc3RpbmF0aW9uKSA9PSAwIG9yIGRpZSAiRmFpbGVkIHRvIGNvcHkgJHNv
dXJjZSAkZGVzdGluYXRpb24uIjsKICAgICAgICAgc3lzdGVtKCJnaXQiLCAiYWRkIiwgJGRlc3Rp
bmF0aW9uKSA9PSAwIG9yIGRpZSAiRmFpbGVkIHRvIGdpdCBhZGQgJGRlc3RpbmF0aW9uLiI7CkBA
IC00MzQsNyArNDQyLDkgQEAgc3ViIHNjbUFkZCgkKQogewogICAgIG15ICgkcGF0aCkgPSBAXzsK
ICAgICBpZiAoaXNTVk4oKSkgewotICAgICAgICBzeXN0ZW0oInN2biIsICJhZGQiLCAkcGF0aCkg
PT0gMCBvciBkaWUgIkZhaWxlZCB0byBzdm4gYWRkICRwYXRoLiI7CisgICAgICAgIG15ICRlc2Nh
cGVkUGF0aCA9ICRwYXRoOworICAgICAgICAkZXNjYXBlZFBhdGguPSAiQCIgaWYgJHBhdGggPX4g
L0AvOworICAgICAgICBzeXN0ZW0oInN2biIsICJhZGQiLCAkZXNjYXBlZFBhdGgpID09IDAgb3Ig
ZGllICJGYWlsZWQgdG8gc3ZuIGFkZCAkcGF0aC4iOwogICAgIH0gZWxzaWYgKGlzR2l0KCkpIHsK
ICAgICAgICAgc3lzdGVtKCJnaXQiLCAiYWRkIiwgJHBhdGgpID09IDAgb3IgZGllICJGYWlsZWQg
dG8gZ2l0IGFkZCAkcGF0aC4iOwogICAgIH0KQEAgLTQ0Niw3ICs0NTYsOSBAQCBzdWIgc2NtUmVt
b3ZlKCQpCiAgICAgaWYgKGlzU1ZOKCkpIHsKICAgICAgICAgIyBTVk4gaXMgdmVyeSB2ZXJib3Nl
IHdoZW4gcmVtb3ZpbmcgZGlyZWN0b3JpZXMuICBTcXVlbGNoIGFsbCBvdXRwdXQgZXhjZXB0IHRo
ZSBsYXN0IGxpbmUuCiAgICAgICAgIG15ICRzdm5PdXRwdXQ7Ci0gICAgICAgIG9wZW4gU1ZOLCAi
c3ZuIHJtIC0tZm9yY2UgJyRwYXRoJyB8IiBvciBkaWUgInN2biBybSAtLWZvcmNlICckcGF0aCcg
ZmFpbGVkISI7CisgICAgICAgIG15ICRlc2NhcGVkUGF0aCA9ICRwYXRoOworICAgICAgICAkZXNj
YXBlZFBhdGggLj0gIkAiIGlmICRwYXRoID1+IC9ALzsKKyAgICAgICAgb3BlbiBTVk4sICJzdm4g
cm0gLS1mb3JjZSAnJGVzY2FwZWRQYXRoJyB8IiBvciBkaWUgInN2biBybSAtLWZvcmNlICckcGF0
aCcgZmFpbGVkISI7CiAgICAgICAgICMgT25seSBwcmludCB0aGUgbGFzdCBsaW5lLiAgU3VidmVy
c2lvbiBvdXRwdXRzIGFsbCBjaGFuZ2VkIHN0YXR1c2VzIGJlbG93ICRkaXIKICAgICAgICAgd2hp
bGUgKDxTVk4+KSB7CiAgICAgICAgICAgICAkc3ZuT3V0cHV0ID0gJF87CkluZGV4OiBUb29scy9T
Y3JpcHRzL3N2bi1jcmVhdGUtcGF0Y2gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9zdm4t
Y3JlYXRlLXBhdGNoCShyZXZpc2lvbiAxMDAzOTgpCisrKyBUb29scy9TY3JpcHRzL3N2bi1jcmVh
dGUtcGF0Y2gJKHdvcmtpbmcgY29weSkKQEAgLTE1Niw3ICsxNTYsOSBAQCBzdWIgZmluZEJhc2VV
cmwoJCkKIHsKICAgICBteSAoJGluZm9QYXRoKSA9IEBfOwogICAgIG15ICRiYXNlVXJsOwotICAg
IG9wZW4gSU5GTywgInN2biBpbmZvICckaW5mb1BhdGgnIHwiIG9yIGRpZTsKKyAgICBteSAkZXNj
YXBlZEluZm9QYXRoID0gJGluZm9QYXRoOworICAgICRlc2NhcGVkSW5mb1BhdGggLj0gIkAiIGlm
ICRpbmZvUGF0aCA9fiAvQC87CisgICAgb3BlbiBJTkZPLCAic3ZuIGluZm8gJyRlc2NhcGVkSW5m
b1BhdGgnIHwiIG9yIGRpZTsKICAgICB3aGlsZSAoPElORk8+KSB7CiAgICAgICAgIGlmICgvXlVS
TDogKC4rPylbXHJcbl0qJC8pIHsKICAgICAgICAgICAgICRiYXNlVXJsID0gJDE7CkBAIC0xNzAs
NyArMTcyLDkgQEAgc3ViIGZpbmRNaW1lVHlwZSgkOyQpCiB7CiAgICAgbXkgKCRmaWxlLCAkcmV2
aXNpb24pID0gQF87CiAgICAgbXkgJGFyZ3MgPSAkcmV2aXNpb24gPyAiLS1yZXZpc2lvbiAkcmV2
aXNpb24iIDogIiI7Ci0gICAgb3BlbiBQUk9QR0VULCAic3ZuIHByb3BnZXQgc3ZuOm1pbWUtdHlw
ZSAkYXJncyAnJGZpbGUnIHwiIG9yIGRpZTsKKyAgICBteSAkZXNjYXBlZEZpbGUgPSAkZmlsZTsK
KyAgICAkZXNjYXBlZEZpbGUgLj0gIkAiIGlmICRmaWxlID1+IC9ALzsKKyAgICBvcGVuIFBST1BH
RVQsICJzdm4gcHJvcGdldCBzdm46bWltZS10eXBlICRhcmdzICckZXNjYXBlZEZpbGUnIHwiIG9y
IGRpZTsKICAgICBteSAkbWltZVR5cGUgPSA8UFJPUEdFVD47CiAgICAgY2xvc2UgUFJPUEdFVDsK
ICAgICAjIHN2biBtYXkgb3V0cHV0IGEgZGlmZmVyZW50IEVPTCBzZXF1ZW5jZSB0aGFuICQvLCBz
byBhdm9pZCBjaG9tcC4KQEAgLTIwMCw3ICsyMDQsOSBAQCBzdWIgZmluZFNvdXJjZUZpbGVBbmRS
ZXZpc2lvbigkKQogICAgIG15ICRiYXNlVXJsID0gZmluZEJhc2VVcmwoIi4iKTsKICAgICBteSAk
c291cmNlRmlsZTsKICAgICBteSAkc291cmNlUmV2aXNpb247Ci0gICAgb3BlbiBJTkZPLCAic3Zu
IGluZm8gJyRmaWxlJyB8IiBvciBkaWU7CisgICAgbXkgJGVzY2FwZWRGaWxlID0gJGZpbGU7Cisg
ICAgJGVzY2FwZWRGaWxlIC49ICJAIiBpZiAkZmlsZSA9fiAvQC87CisgICAgb3BlbiBJTkZPLCAi
c3ZuIGluZm8gJyRlc2NhcGVkRmlsZScgfCIgb3IgZGllOwogICAgIHdoaWxlICg8SU5GTz4pIHsK
ICAgICAgICAgaWYgKC9eQ29waWVkIEZyb20gVVJMOiAoLis/KVtcclxuXSokLykgewogICAgICAg
ICAgICAgJHNvdXJjZUZpbGUgPSBGaWxlOjpTcGVjLT5hYnMycmVsKCQxLCAkYmFzZVVybCk7CkBA
IC0yMjcsNyArMjMzLDkgQEAgc3ViIGdlbmVyYXRlRGlmZigkJCkKICAgICB9CiAKICAgICBteSAk
ZGlmZk9wdGlvbnMgPSBkaWZmT3B0aW9uc0ZvckZpbGUoJGZpbGUpOwotICAgIG9wZW4gRElGRiwg
InN2biBkaWZmIC0tZGlmZi1jbWQgZGlmZiAteCAtJGRpZmZPcHRpb25zICckZmlsZScgfCIgb3Ig
ZGllOworICAgIG15ICRlc2NhcGVkRmlsZSA9ICRmaWxlOworICAgICRlc2NhcGVkRmlsZSAuPSAi
QCIgaWYgJGZpbGUgPX4gL0AvOworICAgIG9wZW4gRElGRiwgInN2biBkaWZmIC0tZGlmZi1jbWQg
ZGlmZiAteCAtJGRpZmZPcHRpb25zICckZXNjYXBlZEZpbGUnIHwiIG9yIGRpZTsKICAgICB3aGls
ZSAoPERJRkY+KSB7CiAgICAgICAgICRwYXRjaCAuPSAkXzsKICAgICB9CkBAIC0yNDgsNyArMjU2
LDkgQEAgc3ViIGdlbmVyYXRlRmlsZUxpc3QoJFwlKQogewogICAgIG15ICgkc3RhdFBhdGgsICRk
aWZmRmlsZXMpID0gQF87CiAgICAgbXkgJXRlc3REaXJlY3RvcmllcyA9IG1hcCB7ICRfID0+IDEg
fSBxdyhMYXlvdXRUZXN0cyk7Ci0gICAgb3BlbiBTVEFULCAic3ZuIHN0YXQgJyRzdGF0UGF0aCcg
fCIgb3IgZGllOworICAgIG15ICRlc2NhcGVkU3RhdFBhdGggPSAkc3RhdFBhdGg7CisgICAgJGVz
Y2FwZWRTdGF0UGF0aCAuPSAiQCIgaWYgJHN0YXRQYXRoID1+IC9ALzsKKyAgICBvcGVuIFNUQVQs
ICJzdm4gc3RhdCAnJGVzY2FwZWRTdGF0UGF0aCcgfCIgb3IgZGllOwogICAgIHdoaWxlIChteSAk
bGluZSA9IDxTVEFUPikgewogICAgICAgICAjIHN2biBtYXkgb3V0cHV0IGEgZGlmZmVyZW50IEVP
TCBzZXF1ZW5jZSB0aGFuICQvLCBzbyBhdm9pZCBjaG9tcC4KICAgICAgICAgJGxpbmUgPX4gcy9b
XHJcbl0rJC8vZzsKQEAgLTMxMiw3ICszMjIsOSBAQCBzdWIgbWFudWZhY3R1cmVQYXRjaEZvckFk
ZGl0aW9uV2l0aEhpc3RvCiAgICAgICAgIG15ICRtaW1lVHlwZSA9IGZpbmRNaW1lVHlwZSgkZmls
ZSwgJHNvdXJjZVJldmlzaW9uKTsKICAgICAgICAgcHJpbnQgInN2bjptaW1lLXR5cGUgPSAke21p
bWVUeXBlfVxuXG4iOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIHByaW50IGBzdm4gY2F0ICR7c291
cmNlRmlsZX0gfCBkaWZmIC11ICRkZXZOdWxsIC0gfCB0YWlsIC1uICszYDsKKyAgICAgICAgbXkg
JGVzY2FwZWRTb3VyY2VGaWxlID0gJHNvdXJjZUZpbGU7CisgICAgICAgICRlc2NhcGVkU291cmNl
RmlsZSAuPSAiQCIgaWYgJHNvdXJjZUZpbGUgPX4gL0AvOworICAgICAgICBwcmludCBgc3ZuIGNh
dCAke2VzY2FwZWRTb3VyY2VGaWxlfSB8IGRpZmYgLXUgJGRldk51bGwgLSB8IHRhaWwgLW4gKzNg
OwogICAgIH0KIH0KIApJbmRleDogVG9vbHMvU2NyaXB0cy9zdm4tdW5hcHBseQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9TY3JpcHRzL3N2bi11bmFwcGx5CShyZXZpc2lvbiAxMDAzOTgpCisrKyBUb29s
cy9TY3JpcHRzL3N2bi11bmFwcGx5CSh3b3JraW5nIGNvcHkpCkBAIC0xNjgsMTEgKzE2OCwxMyBA
QCBzdWIgcGF0Y2goJCkKICAgICB9IGVsc2UgewogICAgICAgICAjIEVpdGhlciBhIGRlbGV0aW9u
LCBhbiBhZGRpdGlvbiBvciBhIGJpbmFyeSBjaGFuZ2UuCiAKKyAgICAgICAgbXkgJGVzY2FwZWRG
dWxsUGF0aCA9ICRmdWxsUGF0aDsKKyAgICAgICAgJGVzY2FwZWRGdWxsUGF0aCAuPSAiQCIgaWYg
JGZ1bGxQYXRoID1+IC9ALzsKICAgICAgICAgIyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIEdpdCBi
aW5hcnkgZmlsZXMuCiAgICAgICAgIGlmICgkaXNTdm5CaW5hcnkpIHsKICAgICAgICAgICAgICMg
UmV2ZXJzZSBiaW5hcnkgY2hhbmdlCiAgICAgICAgICAgICB1bmxpbmsoJGZ1bGxQYXRoKSBpZiAo
LWUgJGZ1bGxQYXRoKTsKLSAgICAgICAgICAgIHN5c3RlbSAic3ZuIiwgInJldmVydCIsICRmdWxs
UGF0aDsKKyAgICAgICAgICAgIHN5c3RlbSAic3ZuIiwgInJldmVydCIsICRlc2NhcGVkRnVsbFBh
dGg7CiAgICAgICAgIH0gZWxzaWYgKCRkZWxldGlvbikgewogICAgICAgICAgICAgIyBSZXZlcnNl
IGRlbGV0aW9uCiAgICAgICAgICAgICByZW5hbWUoJGZ1bGxQYXRoLCAiJGZ1bGxQYXRoLm9yaWci
KSBpZiAtZSAkZnVsbFBhdGg7CkBAIC0xODYsNyArMTg4LDcgQEAgc3ViIHBhdGNoKCQpCiAKICAg
ICAgICAgICAgICMgS2VlcCB0aGUgdmVyc2lvbiBmcm9tIHRoZSBwYXRjaCBpbiBjYXNlIGl0J3Mg
ZGlmZmVyZW50IGZyb20gc3ZuLgogICAgICAgICAgICAgcmVuYW1lKCRmdWxsUGF0aCwgJHRlbXBQ
YXRoKTsKLSAgICAgICAgICAgIHN5c3RlbSAic3ZuIiwgInJldmVydCIsICRmdWxsUGF0aDsKKyAg
ICAgICAgICAgIHN5c3RlbSAic3ZuIiwgInJldmVydCIsICRlc2NhcGVkRnVsbFBhdGg7CiAgICAg
ICAgICAgICByZW5hbWUoJHRlbXBQYXRoLCAkZnVsbFBhdGgpOwogCiAgICAgICAgICAgICAjIFRo
aXMgd29ya3MgYXJvdW5kIGEgYnVnIGluIHRoZSBzdm4gY2xpZW50LgpAQCAtMTk4LDcgKzIwMCw3
IEBAIHN1YiBwYXRjaCgkKQogICAgICAgICAgICAgdW5saW5rKCIkZnVsbFBhdGgub3JpZyIpIGlm
IC1lICIkZnVsbFBhdGgub3JpZyIgJiYgY2hlY2tzdW0oJGZ1bGxQYXRoKSBlcSBjaGVja3N1bSgi
JGZ1bGxQYXRoLm9yaWciKTsKIAogICAgICAgICAgICAgIyBTaG93IHN0YXR1cyBpZiB0aGUgZmls
ZSBpcyBtb2RpZmVkCi0gICAgICAgICAgICBzeXN0ZW0gInN2biIsICJzdGF0IiwgJGZ1bGxQYXRo
OworICAgICAgICAgICAgc3lzdGVtICJzdm4iLCAic3RhdCIsICRlc2NhcGVkRnVsbFBhdGg7CiAg
ICAgICAgIH0gZWxzaWYgKCRhZGRpdGlvbikgewogICAgICAgICAgICAgIyBSZXZlcnNlIGFkZGl0
aW9uCiAgICAgICAgICAgICAjCkBAIC0yMDcsNyArMjA5LDcgQEAgc3ViIHBhdGNoKCQpCiAgICAg
ICAgICAgICAjICAgICAgICBzaG91bGQgYmUgdXNlZCBoZXJlLgogICAgICAgICAgICAgdW5hcHBs
eVBhdGNoKCRwYXRjaCwgJGZ1bGxQYXRoLCBbIi0tZm9yY2UiXSkgaWYgJHBhdGNoOwogICAgICAg
ICAgICAgdW5saW5rKCRmdWxsUGF0aCkgaWYgLXogJGZ1bGxQYXRoOwotICAgICAgICAgICAgc3lz
dGVtICJzdm4iLCAicmV2ZXJ0IiwgJGZ1bGxQYXRoOworICAgICAgICAgICAgc3lzdGVtICJzdm4i
LCAicmV2ZXJ0IiwgJGVzY2FwZWRGdWxsUGF0aDsKICAgICAgICAgfQogICAgIH0KIApAQCAtMjI2
LDEyICsyMjgsMTQgQEAgc3ViIHJldmVydERpcmVjdG9yaWVzKCkKICAgICAgICAgICAgIG5leHQg
aWYgKGV4aXN0cyAkY2hlY2tlZERpcmVjdG9yaWVzeyRkaXJ9KTsKICAgICAgICAgICAgIGlmICgt
ZCAkZGlyKSB7CiAgICAgICAgICAgICAgICAgbXkgJHN2bk91dHB1dCA9IHN2blN0YXR1cygkZGly
KTsKKyAgICAgICAgICAgICAgICBteSAkZXNjYXBlZERpciA9ICRkaXI7CisgICAgICAgICAgICAg
ICAgJGVzY2FwZWREaXIgLj0gIkAiIGlmICRkaXIgPX4gL0AvOwogICAgICAgICAgICAgICAgIGlm
ICgkc3ZuT3V0cHV0ICYmICRzdm5PdXRwdXQgPX4gbSNBXHMrJGRpclxuIykgewotICAgICAgICAg
ICAgICAgICAgIHN5c3RlbSAic3ZuIiwgInJldmVydCIsICRkaXI7CisgICAgICAgICAgICAgICAg
ICAgc3lzdGVtICJzdm4iLCAicmV2ZXJ0IiwgJGVzY2FwZWREaXI7CiAgICAgICAgICAgICAgICAg
ICAgcm1kaXIgJGRpcjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZWxzaWYg
KCRzdm5PdXRwdXQgJiYgJHN2bk91dHB1dCA9fiBtI0RccyskZGlyXG4jKSB7Ci0gICAgICAgICAg
ICAgICAgICAgc3lzdGVtICJzdm4iLCAicmV2ZXJ0IiwgJGRpcjsKKyAgICAgICAgICAgICAgICAg
ICBzeXN0ZW0gInN2biIsICJyZXZlcnQiLCAkZXNjYXBlZERpcjsKICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICMgTW9kaWZpY2F0
aW9uCg==
</data>
<flag name="review"
          id="119029"
          type_id="1"
          status="-"
          setter="mrowe"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119133</attachid>
            <date>2011-12-13 18:34:53 -0800</date>
            <delta_ts>2011-12-14 19:07:43 -0800</delta_ts>
            <desc>second patch</desc>
            <filename>svn-script-patch.txt</filename>
            <type>text/plain</type>
            <size>16431</size>
            <attacher name="Stephanie Lewis">slewis</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2Ny
aXB0cy9WQ1NVdGlscy5wbQkocmV2aXNpb24gMTAwMzk4KQorKysgVG9vbHMvU2NyaXB0cy9WQ1NV
dGlscy5wbQkod29ya2luZyBjb3B5KQpAQCAtNTUsNiArNTUsNyBAQCBCRUdJTiB7CiAgICAgICAg
ICZkZWNvZGVHaXRCaW5hcnlQYXRjaAogICAgICAgICAmZGV0ZXJtaW5lU1ZOUm9vdAogICAgICAg
ICAmZGV0ZXJtaW5lVkNTUm9vdAorICAgICAgICAmZXNjYXBlUGF0aAogICAgICAgICAmZXhpdFN0
YXR1cwogICAgICAgICAmZml4Q2hhbmdlTG9nUGF0Y2gKICAgICAgICAgJmdpdEJyYW5jaApAQCAt
MTUzLDcgKzE1NCw5IEBAIHN1YiBzY21Nb3ZlT3JSZW5hbWVGaWxlCiAgICAgbXkgKCRzb3VyY2Us
ICRkZXN0aW5hdGlvbikgPSBAXzsKICAgICByZXR1cm4gaWYgISAtZSAkc291cmNlOwogICAgIGlm
IChpc1NWTigpKSB7Ci0gICAgICAgIHN5c3RlbSgic3ZuIiwgIm1vdmUiLCAkc291cmNlLCAkZGVz
dGluYXRpb24pOworICAgICAgICBteSAkZXNjYXBlZERlc3RpbmF0aW9uID0gZXNjYXBlUGF0aCgk
ZGVzdGluYXRpb24pOworICAgICAgICBteSAkZXNjYXBlZFNvdXJjZSA9IGVzY2FwZVBhdGgoJHNv
dXJjZSk7CisgICAgICAgIHN5c3RlbSgic3ZuIiwgIm1vdmUiLCAkZXNjYXBlZFNvdXJjZSwgJGVz
Y2FwZWREZXN0aW5hdGlvbik7CiAgICAgfSBlbHNpZiAoaXNHaXQoKSkgewogICAgICAgICBzeXN0
ZW0oImdpdCIsICJtdiIsICRzb3VyY2UsICRkZXN0aW5hdGlvbik7CiAgICAgfQpAQCAtMTc2LDcg
KzE3OSw4IEBAIHN1YiBzY21BZGRFeGVjdXRhYmxlQml0KCQpCiAgICAgbXkgKCRwYXRoKSA9IEBf
OwogCiAgICAgaWYgKGlzU1ZOKCkpIHsKLSAgICAgICAgc3lzdGVtKCJzdm4iLCAicHJvcHNldCIs
ICJzdm46ZXhlY3V0YWJsZSIsICJvbiIsICRwYXRoKSA9PSAwIG9yIGRpZSAiRmFpbGVkIHRvIHJ1
biAnc3ZuIHByb3BzZXQgc3ZuOmV4ZWN1dGFibGUgb24gJHBhdGgnLiI7CisgICAgICAgIG15ICRl
c2NhcGVkUGF0aCA9IGVzY2FwZVBhdGgoJHBhdGgpOworICAgICAgICBzeXN0ZW0oInN2biIsICJw
cm9wc2V0IiwgInN2bjpleGVjdXRhYmxlIiwgIm9uIiwgJGVzY2FwZWRQYXRoKSA9PSAwIG9yIGRp
ZSAiRmFpbGVkIHRvIHJ1biAnc3ZuIHByb3BzZXQgc3ZuOmV4ZWN1dGFibGUgb24gJHBhdGgnLiI7
CiAgICAgfSBlbHNpZiAoaXNHaXQoKSkgewogICAgICAgICBjaG1vZCgwNzU1LCAkcGF0aCk7CiAg
ICAgfQpAQCAtMTg3LDcgKzE5MSw4IEBAIHN1YiBzY21SZW1vdmVFeGVjdXRhYmxlQml0KCQpCiAg
ICAgbXkgKCRwYXRoKSA9IEBfOwogCiAgICAgaWYgKGlzU1ZOKCkpIHsKLSAgICAgICAgc3lzdGVt
KCJzdm4iLCAicHJvcGRlbCIsICJzdm46ZXhlY3V0YWJsZSIsICRwYXRoKSA9PSAwIG9yIGRpZSAi
RmFpbGVkIHRvIHJ1biAnc3ZuIHByb3BkZWwgc3ZuOmV4ZWN1dGFibGUgJHBhdGgnLiI7CisgICAg
ICAgIG15ICRlc2NhcGVkUGF0aCA9IGVzY2FwZVBhdGgoJHBhdGgpOworICAgICAgICBzeXN0ZW0o
InN2biIsICJwcm9wZGVsIiwgInN2bjpleGVjdXRhYmxlIiwgJGVzY2FwZWRQYXRoKSA9PSAwIG9y
IGRpZSAiRmFpbGVkIHRvIHJ1biAnc3ZuIHByb3BkZWwgc3ZuOmV4ZWN1dGFibGUgJHBhdGgnLiI7
CiAgICAgfSBlbHNpZiAoaXNHaXQoKSkgewogICAgICAgICBjaG1vZCgwNjY0LCAkcGF0aCk7CiAg
ICAgfQpAQCAtMzA0LDggKzMwOSw5IEBAIHN1YiBkZXRlcm1pbmVTVk5Sb290KCkKICAgICB3aGls
ZSAoMSkgewogICAgICAgICBteSAkdGhpc1Jvb3Q7CiAgICAgICAgIG15ICR0aGlzVVVJRDsKKyAg
ICAgICAgbXkgJGVzY2FwZWRQYXRoID0gZXNjYXBlUGF0aCgkcGF0aCk7CiAgICAgICAgICMgSWdu
b3JlIGVycm9yIG1lc3NhZ2VzIGluIGNhc2Ugd2UndmUgcnVuIHBhc3QgdGhlIHJvb3Qgb2YgdGhl
IGNoZWNrb3V0LgotICAgICAgICBvcGVuIElORk8sICJzdm4gaW5mbyAnJHBhdGgnIDI+ICIgLiBG
aWxlOjpTcGVjLT5kZXZudWxsKCkgLiAiIHwiIG9yIGRpZTsKKyAgICAgICAgb3BlbiBJTkZPLCAi
c3ZuIGluZm8gJyRlc2NhcGVkUGF0aCcgMj4gIiAuIEZpbGU6OlNwZWMtPmRldm51bGwoKSAuICIg
fCIgb3IgZGllOwogICAgICAgICB3aGlsZSAoPElORk8+KSB7CiAgICAgICAgICAgICBpZiAoL15S
ZXBvc2l0b3J5IFJvb3Q6ICguKykvKSB7CiAgICAgICAgICAgICAgICAgJHRoaXNSb290ID0gJDE7
CkBAIC0zNjEsNyArMzY3LDggQEAgc3ViIHN2blJldmlzaW9uRm9yRGlyZWN0b3J5KCQpCiAgICAg
bXkgJHJldmlzaW9uOwogCiAgICAgaWYgKGlzU1ZORGlyZWN0b3J5KCRkaXIpKSB7Ci0gICAgICAg
IG15ICRzdm5JbmZvID0gYExDX0FMTD1DIHN2biBpbmZvICRkaXIgfCBncmVwIFJldmlzaW9uOmA7
CisgICAgICAgIG15ICRlc2NhcGVkRGlyID0gZXNjYXBlUGF0aCgkZGlyKTsKKyAgICAgICAgbXkg
JHN2bkluZm8gPSBgTENfQUxMPUMgc3ZuIGluZm8gJGVzY2FwZWREaXIgfCBncmVwIFJldmlzaW9u
OmA7CiAgICAgICAgICgkcmV2aXNpb24pID0gKCRzdm5JbmZvID1+IG0vUmV2aXNpb246IChcZCsp
LiovZyk7CiAgICAgfSBlbHNpZiAoaXNHaXREaXJlY3RvcnkoJGRpcikpIHsKICAgICAgICAgbXkg
JGdpdExvZyA9IGBjZCAkZGlyICYmIExDX0FMTD1DIGdpdCBsb2cgLS1ncmVwPSdnaXQtc3ZuLWlk
OiAnIC1uIDEgfCBncmVwIGdpdC1zdm4taWQ6YDsKQEAgLTM3OCw3ICszODUsOCBAQCBzdWIgcGF0
aFJlbGF0aXZlVG9TVk5SZXBvc2l0b3J5Um9vdEZvclBhCiAKICAgICBteSAkc3ZuSW5mbzsKICAg
ICBpZiAoaXNTVk4oKSkgewotICAgICAgICAkc3ZuSW5mbyA9IGBMQ19BTEw9QyBzdm4gaW5mbyAk
cmVsYXRpdmVQYXRoYDsKKyAgICAgICAgbXkgJGVzY2FwZWRSZWxhdGl2ZVBhdGggPSBlc2NhcGVQ
YXRoKCRyZWxhdGl2ZVBhdGgpOworICAgICAgICAkc3ZuSW5mbyA9IGBMQ19BTEw9QyBzdm4gaW5m
byAkZXNjYXBlZFJlbGF0aXZlUGF0aGA7CiAgICAgfSBlbHNpZiAoaXNHaXQoKSkgewogICAgICAg
ICAkc3ZuSW5mbyA9IGBMQ19BTEw9QyBnaXQgc3ZuIGluZm8gJHJlbGF0aXZlUGF0aGA7CiAgICAg
fQpAQCAtNTM2LDggKzU0NCw5IEBAIHN1YiBwYXJzZUNodW5rUmFuZ2UoJCkKIHN1YiBzdm5TdGF0
dXMoJCkKIHsKICAgICBteSAoJGZ1bGxQYXRoKSA9IEBfOworICAgIG15ICRlc2NhcGVkRnVsbFBh
dGggPSBlc2NhcGVQYXRoKCRmdWxsUGF0aCk7CiAgICAgbXkgJHN2blN0YXR1czsKLSAgICBvcGVu
IFNWTiwgInN2biBzdGF0dXMgLS1ub24taW50ZXJhY3RpdmUgLS1ub24tcmVjdXJzaXZlICckZnVs
bFBhdGgnIHwiIG9yIGRpZTsKKyAgICBvcGVuIFNWTiwgInN2biBzdGF0dXMgLS1ub24taW50ZXJh
Y3RpdmUgLS1ub24tcmVjdXJzaXZlICckZXNjYXBlZEZ1bGxQYXRoJyB8IiBvciBkaWU7CiAgICAg
aWYgKC1kICRmdWxsUGF0aCkgewogICAgICAgICAjIFdoZW4gcnVubmluZyAic3ZuIHN0YXQiIG9u
IGEgZGlyZWN0b3J5LCB3ZSBjYW4ndCBhc3N1bWUgdGhhdCBvbmx5IG9uZQogICAgICAgICAjIHN0
YXR1cyB3aWxsIGJlIHJldHVybmVkIChzaW5jZSBhbnkgZmlsZXMgd2l0aCBhIHN0YXR1cyBiZWxv
dyB0aGUKQEAgLTE5ODAsNCArMTk4OSwxMSBAQCBzdWIgYXBwbHlHaXRCaW5hcnlQYXRjaERlbHRh
KCQkKQogICAgIHJldHVybiAkb3V0OwogfQogCitzdWIgZXNjYXBlUGF0aCgkKQoreworICAgIG15
ICgkcGF0aCkgPSBAXzsKKyAgICAkcGF0aCAuPSAiQCIgaWYgJHBhdGggPX4gL0AvOworICAgIHJl
dHVybiAkcGF0aDsKK30KKwogMTsKSW5kZXg6IFRvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZwkocmV2aXNp
b24gMTAwMzk4KQorKysgVG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMTMzNiw3ICsxMzM2LDEwIEBAIHN1YiBkaWZmQ29tbWFuZChAKQogCiAgICAgbXkg
JGNvbW1hbmQ7CiAgICAgaWYgKCRpc1NWTikgewotICAgICAgICAkY29tbWFuZCA9ICIkU1ZOIGRp
ZmYgLS1kaWZmLWNtZCBkaWZmIC14IC1OICRwYXRoc1N0cmluZyI7CisgICAgICAgIG15IEBlc2Nh
cGVkUGF0aHM7CisgICAgICAgIGZvcmVhY2ggbXkgJHBhdGggKEBwYXRocykgeyBwdXNoIEBlc2Nh
cGVkUGF0aHMsIGVzY2FwZVBhdGgoJHBhdGgpOyB9CisgICAgICAgIG15ICRlc2NhcGVkUGF0aHNT
dHJpbmcgPSAiJyIgLiBqb2luKCInICciLCBAZXNjYXBlZFBhdGhzKSAuICInIjsgCisgICAgICAg
ICRjb21tYW5kID0gIiRTVk4gZGlmZiAtLWRpZmYtY21kIGRpZmYgLXggLU4gJGVzY2FwZWRQYXRo
c1N0cmluZyI7CiAgICAgfSBlbHNpZiAoJGlzR2l0KSB7CiAgICAgICAgICRjb21tYW5kID0gIiRH
SVQgZGlmZiAtLW5vLWV4dC1kaWZmIC1VMCAiIC4gZGlmZkZyb21Ub1N0cmluZygpOwogICAgICAg
ICAkY29tbWFuZCAuPSAiIC0tICRwYXRoc1N0cmluZyIgdW5sZXNzICRnaXRDb21taXQgb3IgJG1l
cmdlQmFzZTsKQEAgLTEzNTIsNyArMTM1NSwxMCBAQCBzdWIgc3RhdHVzQ29tbWFuZChAKQogICAg
IG15ICRmaWxlc1N0cmluZyA9ICJcIiIgLiBqb2luICgiXCIgXCIiLCBAZmlsZXMpIC4gIlwiIjsK
ICAgICBteSAkY29tbWFuZDsKICAgICBpZiAoJGlzU1ZOKSB7Ci0gICAgICAgICRjb21tYW5kID0g
IiRTVk4gc3RhdCAkZmlsZXNTdHJpbmciOworICAgICAgICBteSBAZXNjYXBlZEZpbGVzOworICAg
ICAgICBmb3JlYWNoIG15ICRmaWxlIChAZmlsZXMpIHsgcHVzaCBAZXNjYXBlZEZpbGVzLCBlc2Nh
cGVQYXRoKCRmaWxlKTsgfQorICAgICAgICBteSAkZXNjYXBlZEZpbGVzU3RyaW5nID0gIiciIC4g
am9pbigiJyAnIiwgQGVzY2FwZWRGaWxlcykgLiAiJyI7CisgICAgICAgICRjb21tYW5kID0gIiRT
Vk4gc3RhdCAkZXNjYXBlZEZpbGVzU3RyaW5nIjsKICAgICB9IGVsc2lmICgkaXNHaXQpIHsKICAg
ICAgICAgJGNvbW1hbmQgPSAiJEdJVCBkaWZmIC1yIC0tbmFtZS1zdGF0dXMgLU0gLUMgIiAuIGRp
ZmZGcm9tVG9TdHJpbmcoKTsKICAgICAgICAgJGNvbW1hbmQgLj0gIiAtLSAkZmlsZXNTdHJpbmci
IHVubGVzcyAkZ2l0Q29tbWl0OwpAQCAtMTM5NCw3ICsxNDAwLDggQEAgc3ViIGZpbmRPcmlnaW5h
bEZpbGVGcm9tU3ZuKCQpCiAgICAgfQogICAgIGNsb3NlIElORk87CiAgICAgbXkgJHNvdXJjZUZp
bGU7Ci0gICAgb3BlbiBJTkZPLCAiJFNWTiBpbmZvICckZmlsZScgfCIgb3IgZGllOworICAgIG15
ICRlc2NhcGVkRmlsZSA9IGVzY2FwZVBhdGgoJGZpbGUpOworICAgIG9wZW4gSU5GTywgIiRTVk4g
aW5mbyAnJGVzY2FwZWRGaWxlJyB8IiBvciBkaWU7CiAgICAgd2hpbGUgKDxJTkZPPikgewogICAg
ICAgICBpZiAoL15Db3BpZWQgRnJvbSBVUkw6ICguKz8pW1xyXG5dKiQvKSB7CiAgICAgICAgICAg
ICAkc291cmNlRmlsZSA9IEZpbGU6OlNwZWMtPmFiczJyZWwoJDEsICRiYXNlVXJsKTsKQEAgLTE0
MDgsMTcgKzE0MTUsMTkgQEAgc3ViIGRldGVybWluZVByb3BlcnR5Q2hhbmdlcygkJCQpCiB7CiAg
ICAgbXkgKCRmaWxlLCAkaXNBZGQsICRvcmlnaW5hbCkgPSBAXzsKIAorICAgIG15ICRlc2NhcGVk
RmlsZSA9IGVzY2FwZVBhdGgoJGZpbGUpOwogICAgIG15ICVjaGFuZ2VzOwogICAgIGlmICgkaXNB
ZGQpIHsKICAgICAgICAgbXkgJWFkZGVkUHJvcGVydGllczsKICAgICAgICAgbXkgJXJlbW92ZWRQ
cm9wZXJ0aWVzOwotICAgICAgICBvcGVuIFBST1BMSVNULCAiJFNWTiBwcm9wbGlzdCAnJGZpbGUn
IHwiIG9yIGRpZTsKKyAgICAgICAgb3BlbiBQUk9QTElTVCwgIiRTVk4gcHJvcGxpc3QgJyRlc2Nh
cGVkRmlsZScgfCIgb3IgZGllOwogICAgICAgICB3aGlsZSAoPFBST1BMSVNUPikgewogICAgICAg
ICAgICAgJGFkZGVkUHJvcGVydGllc3skMX0gPSAxIGlmIC9eICAoLis/KVtcclxuXSokLyAmJiAk
MSBuZSAnc3ZuOm1lcmdlaW5mbyc7CiAgICAgICAgIH0KICAgICAgICAgY2xvc2UgUFJPUExJU1Q7
CiAgICAgICAgIGlmICgkb3JpZ2luYWwpIHsKLSAgICAgICAgICAgIG9wZW4gUFJPUExJU1QsICIk
U1ZOIHByb3BsaXN0ICckb3JpZ2luYWwnIHwiIG9yIGRpZTsKKyAgICAgICAgICAgIG15ICRlc2Nh
cGVkT3JpZ2luYWwgPSBlc2NhcGVQYXRoKCRvcmlnaW5hbCk7CisgICAgICAgICAgICBvcGVuIFBS
T1BMSVNULCAiJFNWTiBwcm9wbGlzdCAnJGVzY2FwZWRPcmlnaW5hbCcgfCIgb3IgZGllOwogICAg
ICAgICAgICAgd2hpbGUgKDxQUk9QTElTVD4pIHsKICAgICAgICAgICAgICAgICBuZXh0IHVubGVz
cyAvXiAgKC4rPylbXHJcbl0qJC87CiAgICAgICAgICAgICAgICAgbXkgJHByb3BlcnR5ID0gJDE7
CkBAIC0xNDMyLDcgKzE0NDEsNyBAQCBzdWIgZGV0ZXJtaW5lUHJvcGVydHlDaGFuZ2VzKCQkJCkK
ICAgICAgICAgJGNoYW5nZXN7IkEifSA9IFtzb3J0IGtleXMgJWFkZGVkUHJvcGVydGllc10gaWYg
JWFkZGVkUHJvcGVydGllczsKICAgICAgICAgJGNoYW5nZXN7IkQifSA9IFtzb3J0IGtleXMgJXJl
bW92ZWRQcm9wZXJ0aWVzXSBpZiAlcmVtb3ZlZFByb3BlcnRpZXM7CiAgICAgfSBlbHNlIHsKLSAg
ICAgICAgb3BlbiBESUZGLCAiJFNWTiBkaWZmICckZmlsZScgfCIgb3IgZGllOworICAgICAgICBv
cGVuIERJRkYsICIkU1ZOIGRpZmYgJyRlc2NhcGVkRmlsZScgfCIgb3IgZGllOwogICAgICAgICB3
aGlsZSAoPERJRkY+KSB7CiAgICAgICAgICAgICBpZiAoL15Qcm9wZXJ0eSBjaGFuZ2VzIG9uOi8p
IHsKICAgICAgICAgICAgICAgICB3aGlsZSAoPERJRkY+KSB7CkluZGV4OiBUb29scy9TY3JpcHRz
L3Jlc29sdmUtQ2hhbmdlTG9ncwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3Jlc29sdmUt
Q2hhbmdlTG9ncwkocmV2aXNpb24gMTAwMzk4KQorKysgVG9vbHMvU2NyaXB0cy9yZXNvbHZlLUNo
YW5nZUxvZ3MJKHdvcmtpbmcgY29weSkKQEAgLTE4Miw3ICsxODIsOCBAQCBzdWIgY29uZmxpY3RG
aWxlcygkKQogICAgIH0KIAogICAgIGlmICgkaXNTVk4pIHsKLSAgICAgICAgb3BlbiBTVEFULCAi
LXwiLCAkU1ZOLCAic3RhdHVzIiwgJGZpbGUgb3IgZGllICQhOworICAgICAgICBteSAkZXNjYXBl
ZEZpbGUgPSBlc2NhcGVQYXRoKCRmaWxlKTsKKyAgICAgICAgb3BlbiBTVEFULCAiLXwiLCAkU1ZO
LCAic3RhdHVzIiwgJGVzY2FwZWRGaWxlIG9yIGRpZSAkITsKICAgICAgICAgbXkgJHN0YXR1cyA9
IDxTVEFUPjsKICAgICAgICAgY2xvc2UgU1RBVDsKICAgICAgICAgaWYgKCEkc3RhdHVzIHx8ICRz
dGF0dXMgIX4gbS9eQ1xzKy8pIHsKQEAgLTE5Myw3ICsxOTQsNyBAQCBzdWIgY29uZmxpY3RGaWxl
cygkKQogICAgICAgICAkZmlsZU1pbmUgPSAiJHtmaWxlfS5taW5lIiBpZiAtZSAiJHtmaWxlfS5t
aW5lIjsKIAogICAgICAgICBteSAkY3VycmVudFJldmlzaW9uOwotICAgICAgICBvcGVuIElORk8s
ICItfCIsICRTVk4sICJpbmZvIiwgJGZpbGUgb3IgZGllICQhOworICAgICAgICBvcGVuIElORk8s
ICItfCIsICRTVk4sICJpbmZvIiwgJGVzY2FwZWRGaWxlIG9yIGRpZSAkITsKICAgICAgICAgd2hp
bGUgKG15ICRsaW5lID0gPElORk8+KSB7CiAgICAgICAgICAgICBpZiAoJGxpbmUgPX4gbS9eUmV2
aXNpb246IChbMC05XSspLykgewogICAgICAgICAgICAgICAgICRjdXJyZW50UmV2aXNpb24gPSAk
MTsKQEAgLTQ2NSw3ICs0NjYsOCBAQCBzdWIgcmVzb2x2ZUNvbmZsaWN0KCQpCiAgICAgbXkgKCRm
aWxlKSA9IEBfOwogCiAgICAgaWYgKCRpc1NWTikgewotICAgICAgICBzeXN0ZW0oJFNWTiwgInJl
c29sdmVkIiwgJGZpbGUpOworICAgICAgICBteSAkZXNjYXBlZEZpbGUgPSBlc2NhcGVQYXRoKCRm
aWxlKTsKKyAgICAgICAgc3lzdGVtKCRTVk4sICJyZXNvbHZlZCIsICRlc2NhcGVkRmlsZSk7CiAg
ICAgICAgIGRpZSAkISBpZiBXRVhJVFNUQVRVUygkPyk7CiAgICAgfSBlbHNpZiAoJGlzR2l0KSB7
CiAgICAgICAgIHN5c3RlbSgkR0lULCAiYWRkIiwgJGZpbGUpOwpAQCAtNDgwLDcgKzQ4Miw4IEBA
IHN1YiBzaG93U3RhdHVzKCQ7JCkKICAgICBteSAoJGZpbGUsICRpc0NvbmZsaWN0UmVzb2x2ZWQp
ID0gQF87CiAKICAgICBpZiAoJGlzU1ZOKSB7Ci0gICAgICAgIHN5c3RlbSgkU1ZOLCAic3RhdHVz
IiwgJGZpbGUpOworICAgICAgICBteSAkZXNjYXBlZEZpbGUgPSBlc2NhcGVQYXRoKCRmaWxlKTsK
KyAgICAgICAgc3lzdGVtKCRTVk4sICJzdGF0dXMiLCAkZXNjYXBlZEZpbGUpOwogICAgIH0gZWxz
aWYgKCRpc0dpdCkgewogICAgICAgICBteSBAYXJncyA9IHF3KC0tbmFtZS1zdGF0dXMpOwogICAg
ICAgICB1bnNoaWZ0IEBhcmdzLCBxdygtLWNhY2hlZCkgaWYgJGlzQ29uZmxpY3RSZXNvbHZlZDsK
SW5kZXg6IFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Njcmlw
dHMvc3ZuLWFwcGx5CShyZXZpc2lvbiAxMDAzOTgpCisrKyBUb29scy9TY3JpcHRzL3N2bi1hcHBs
eQkod29ya2luZyBjb3B5KQpAQCAtMTM2LDcgKzEzNiw4IEBAIGlmICgkbWVyZ2UpIHsKICAgICBm
b3IgbXkgJGZpbGUgKHNvcnQga2V5cyAlc291cmNlUmV2aXNpb25zKSB7CiAgICAgICAgIG15ICR2
ZXJzaW9uID0gJHNvdXJjZVJldmlzaW9uc3skZmlsZX07CiAgICAgICAgIHByaW50ICJHZXR0aW5n
IHZlcnNpb24gJHZlcnNpb24gb2YgJGZpbGVcbiI7Ci0gICAgICAgIHN5c3RlbSgic3ZuIiwgInVw
ZGF0ZSIsICItciIsICR2ZXJzaW9uLCAkZmlsZSkgPT0gMCBvciBkaWUgIkZhaWxlZCB0byBydW4g
c3ZuIHVwZGF0ZSAtciAkdmVyc2lvbiAkZmlsZS4iOworICAgICAgICBteSAkZXNjYXBlZEZpbGUg
PSBlc2NhcGVQYXRoKCRmaWxlKTsKKyAgICAgICAgc3lzdGVtKCJzdm4iLCAidXBkYXRlIiwgIi1y
IiwgJHZlcnNpb24sICRmaWxlKSA9PSAwIG9yIGRpZSAiRmFpbGVkIHRvIHJ1biBzdm4gdXBkYXRl
IC1yICR2ZXJzaW9uICRlc2NhcGVkRmlsZS4iOwogICAgIH0KIH0KIApAQCAtMzU0LDggKzM1NSw5
IEBAIHN1YiBwYXRjaCgkKQogICAgICAgICAgICAgYXBwbHlQYXRjaCgkcGF0Y2gsICRmdWxsUGF0
aCkgaWYgJHBhdGNoOwogICAgICAgICAgICAgdW5saW5rKCIkZnVsbFBhdGgub3JpZyIpIGlmIC1l
ICIkZnVsbFBhdGgub3JpZyIgJiYgY2hlY2tzdW0oJGZ1bGxQYXRoKSBlcSBjaGVja3N1bSgiJGZ1
bGxQYXRoLm9yaWciKTsKICAgICAgICAgICAgIHNjbUFkZCgkZnVsbFBhdGgpOworICAgICAgICAg
ICAgbXkgJGVzY2FwZWRGdWxsUGF0aCA9IGVzY2FwZVBhdGgoIiRmdWxsUGF0aC5vcmlnIik7CiAg
ICAgICAgICAgICAjIFdoYXQgaXMgdGhpcyBmb3I/Ci0gICAgICAgICAgICBzeXN0ZW0oInN2biIs
ICJzdGF0IiwgIiRmdWxsUGF0aC5vcmlnIikgaWYgaXNTVk4oKSAmJiAtZSAiJGZ1bGxQYXRoLm9y
aWciOworICAgICAgICAgICAgc3lzdGVtKCJzdm4iLCAic3RhdCIsICIkZXNjYXBlZEZ1bGxQYXRo
IikgaWYgaXNTVk4oKSAmJiAtZSAiJGZ1bGxQYXRoLm9yaWciOwogICAgICAgICB9CiAgICAgfQog
CkBAIC00MjMsNyArNDI1LDkgQEAgc3ViIHNjbUNvcHkoJCQpCiB7CiAgICAgbXkgKCRzb3VyY2Us
ICRkZXN0aW5hdGlvbikgPSBAXzsKICAgICBpZiAoaXNTVk4oKSkgewotICAgICAgICBzeXN0ZW0o
InN2biIsICJjb3B5IiwgJHNvdXJjZSwgJGRlc3RpbmF0aW9uKSA9PSAwIG9yIGRpZSAiRmFpbGVk
IHRvIHN2biBjb3B5ICRzb3VyY2UgJGRlc3RpbmF0aW9uLiI7CisgICAgICAgIG15ICRlc2NhcGVk
U291cmNlID0gZXNjYXBlUGF0aCgkc291cmNlKTsKKyAgICAgICAgbXkgJGVzY2FwZWREZXN0aW5h
dGlvbiA9IGVzY2FwZVBhdGgoJGRlc3RpbmF0aW9uKTsKKyAgICAgICAgc3lzdGVtKCJzdm4iLCAi
Y29weSIsICRlc2NhcGVkU291cmNlLCAkZXNjYXBlZERlc3RpbmF0aW9uKSA9PSAwIG9yIGRpZSAi
RmFpbGVkIHRvIHN2biBjb3B5ICRzb3VyY2UgJGRlc3RpbmF0aW9uLiI7CiAgICAgfSBlbHNpZiAo
aXNHaXQoKSkgewogICAgICAgICBzeXN0ZW0oImNwIiwgJHNvdXJjZSwgJGRlc3RpbmF0aW9uKSA9
PSAwIG9yIGRpZSAiRmFpbGVkIHRvIGNvcHkgJHNvdXJjZSAkZGVzdGluYXRpb24uIjsKICAgICAg
ICAgc3lzdGVtKCJnaXQiLCAiYWRkIiwgJGRlc3RpbmF0aW9uKSA9PSAwIG9yIGRpZSAiRmFpbGVk
IHRvIGdpdCBhZGQgJGRlc3RpbmF0aW9uLiI7CkBAIC00MzQsNyArNDM4LDggQEAgc3ViIHNjbUFk
ZCgkKQogewogICAgIG15ICgkcGF0aCkgPSBAXzsKICAgICBpZiAoaXNTVk4oKSkgewotICAgICAg
ICBzeXN0ZW0oInN2biIsICJhZGQiLCAkcGF0aCkgPT0gMCBvciBkaWUgIkZhaWxlZCB0byBzdm4g
YWRkICRwYXRoLiI7CisgICAgICAgIG15ICRlc2NhcGVkUGF0aCA9IGVzY2FwZVBhdGgoJHBhdGgp
OworICAgICAgICBzeXN0ZW0oInN2biIsICJhZGQiLCAkZXNjYXBlZFBhdGgpID09IDAgb3IgZGll
ICJGYWlsZWQgdG8gc3ZuIGFkZCAkcGF0aC4iOwogICAgIH0gZWxzaWYgKGlzR2l0KCkpIHsKICAg
ICAgICAgc3lzdGVtKCJnaXQiLCAiYWRkIiwgJHBhdGgpID09IDAgb3IgZGllICJGYWlsZWQgdG8g
Z2l0IGFkZCAkcGF0aC4iOwogICAgIH0KQEAgLTQ0Niw3ICs0NTEsOCBAQCBzdWIgc2NtUmVtb3Zl
KCQpCiAgICAgaWYgKGlzU1ZOKCkpIHsKICAgICAgICAgIyBTVk4gaXMgdmVyeSB2ZXJib3NlIHdo
ZW4gcmVtb3ZpbmcgZGlyZWN0b3JpZXMuICBTcXVlbGNoIGFsbCBvdXRwdXQgZXhjZXB0IHRoZSBs
YXN0IGxpbmUuCiAgICAgICAgIG15ICRzdm5PdXRwdXQ7Ci0gICAgICAgIG9wZW4gU1ZOLCAic3Zu
IHJtIC0tZm9yY2UgJyRwYXRoJyB8IiBvciBkaWUgInN2biBybSAtLWZvcmNlICckcGF0aCcgZmFp
bGVkISI7CisgICAgICAgIG15ICRlc2NhcGVkUGF0aCA9IGVzY2FwZVBhdGgoJHBhdGgpOworICAg
ICAgICBvcGVuIFNWTiwgInN2biBybSAtLWZvcmNlICckZXNjYXBlZFBhdGgnIHwiIG9yIGRpZSAi
c3ZuIHJtIC0tZm9yY2UgJyRwYXRoJyBmYWlsZWQhIjsKICAgICAgICAgIyBPbmx5IHByaW50IHRo
ZSBsYXN0IGxpbmUuICBTdWJ2ZXJzaW9uIG91dHB1dHMgYWxsIGNoYW5nZWQgc3RhdHVzZXMgYmVs
b3cgJGRpcgogICAgICAgICB3aGlsZSAoPFNWTj4pIHsKICAgICAgICAgICAgICRzdm5PdXRwdXQg
PSAkXzsKSW5kZXg6IFRvb2xzL1NjcmlwdHMvc3ZuLWNyZWF0ZS1wYXRjaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9TY3JpcHRzL3N2bi1jcmVhdGUtcGF0Y2gJKHJldmlzaW9uIDEwMDM5OCkKKysrIFRv
b2xzL1NjcmlwdHMvc3ZuLWNyZWF0ZS1wYXRjaAkod29ya2luZyBjb3B5KQpAQCAtMTU2LDcgKzE1
Niw4IEBAIHN1YiBmaW5kQmFzZVVybCgkKQogewogICAgIG15ICgkaW5mb1BhdGgpID0gQF87CiAg
ICAgbXkgJGJhc2VVcmw7Ci0gICAgb3BlbiBJTkZPLCAic3ZuIGluZm8gJyRpbmZvUGF0aCcgfCIg
b3IgZGllOworICAgIG15ICRlc2NhcGVkSW5mb1BhdGggPSBlc2NhcGVQYXRoKCRpbmZvUGF0aCk7
CisgICAgb3BlbiBJTkZPLCAic3ZuIGluZm8gJyRlc2NhcGVkSW5mb1BhdGgnIHwiIG9yIGRpZTsK
ICAgICB3aGlsZSAoPElORk8+KSB7CiAgICAgICAgIGlmICgvXlVSTDogKC4rPylbXHJcbl0qJC8p
IHsKICAgICAgICAgICAgICRiYXNlVXJsID0gJDE7CkBAIC0xNzAsNyArMTcxLDggQEAgc3ViIGZp
bmRNaW1lVHlwZSgkOyQpCiB7CiAgICAgbXkgKCRmaWxlLCAkcmV2aXNpb24pID0gQF87CiAgICAg
bXkgJGFyZ3MgPSAkcmV2aXNpb24gPyAiLS1yZXZpc2lvbiAkcmV2aXNpb24iIDogIiI7Ci0gICAg
b3BlbiBQUk9QR0VULCAic3ZuIHByb3BnZXQgc3ZuOm1pbWUtdHlwZSAkYXJncyAnJGZpbGUnIHwi
IG9yIGRpZTsKKyAgICBteSAkZXNjYXBlZEZpbGUgPSBlc2NhcGVQYXRoKCRmaWxlKTsKKyAgICBv
cGVuIFBST1BHRVQsICJzdm4gcHJvcGdldCBzdm46bWltZS10eXBlICRhcmdzICckZXNjYXBlZEZp
bGUnIHwiIG9yIGRpZTsKICAgICBteSAkbWltZVR5cGUgPSA8UFJPUEdFVD47CiAgICAgY2xvc2Ug
UFJPUEdFVDsKICAgICAjIHN2biBtYXkgb3V0cHV0IGEgZGlmZmVyZW50IEVPTCBzZXF1ZW5jZSB0
aGFuICQvLCBzbyBhdm9pZCBjaG9tcC4KQEAgLTIwMCw3ICsyMDIsOCBAQCBzdWIgZmluZFNvdXJj
ZUZpbGVBbmRSZXZpc2lvbigkKQogICAgIG15ICRiYXNlVXJsID0gZmluZEJhc2VVcmwoIi4iKTsK
ICAgICBteSAkc291cmNlRmlsZTsKICAgICBteSAkc291cmNlUmV2aXNpb247Ci0gICAgb3BlbiBJ
TkZPLCAic3ZuIGluZm8gJyRmaWxlJyB8IiBvciBkaWU7CisgICAgbXkgJGVzY2FwZWRGaWxlID0g
ZXNjYXBlUGF0aCgkZmlsZSk7CisgICAgb3BlbiBJTkZPLCAic3ZuIGluZm8gJyRlc2NhcGVkRmls
ZScgfCIgb3IgZGllOwogICAgIHdoaWxlICg8SU5GTz4pIHsKICAgICAgICAgaWYgKC9eQ29waWVk
IEZyb20gVVJMOiAoLis/KVtcclxuXSokLykgewogICAgICAgICAgICAgJHNvdXJjZUZpbGUgPSBG
aWxlOjpTcGVjLT5hYnMycmVsKCQxLCAkYmFzZVVybCk7CkBAIC0yMjcsNyArMjMwLDggQEAgc3Vi
IGdlbmVyYXRlRGlmZigkJCkKICAgICB9CiAKICAgICBteSAkZGlmZk9wdGlvbnMgPSBkaWZmT3B0
aW9uc0ZvckZpbGUoJGZpbGUpOwotICAgIG9wZW4gRElGRiwgInN2biBkaWZmIC0tZGlmZi1jbWQg
ZGlmZiAteCAtJGRpZmZPcHRpb25zICckZmlsZScgfCIgb3IgZGllOworICAgIG15ICRlc2NhcGVk
RmlsZSA9IGVzY2FwZVBhdGgoJGZpbGUpOworICAgIG9wZW4gRElGRiwgInN2biBkaWZmIC0tZGlm
Zi1jbWQgZGlmZiAteCAtJGRpZmZPcHRpb25zICckZXNjYXBlZEZpbGUnIHwiIG9yIGRpZTsKICAg
ICB3aGlsZSAoPERJRkY+KSB7CiAgICAgICAgICRwYXRjaCAuPSAkXzsKICAgICB9CkBAIC0yNDgs
NyArMjUyLDggQEAgc3ViIGdlbmVyYXRlRmlsZUxpc3QoJFwlKQogewogICAgIG15ICgkc3RhdFBh
dGgsICRkaWZmRmlsZXMpID0gQF87CiAgICAgbXkgJXRlc3REaXJlY3RvcmllcyA9IG1hcCB7ICRf
ID0+IDEgfSBxdyhMYXlvdXRUZXN0cyk7Ci0gICAgb3BlbiBTVEFULCAic3ZuIHN0YXQgJyRzdGF0
UGF0aCcgfCIgb3IgZGllOworICAgIG15ICRlc2NhcGVkU3RhdFBhdGggPSBlc2NhcGVQYXRoKCRz
dGF0UGF0aCk7CisgICAgb3BlbiBTVEFULCAic3ZuIHN0YXQgJyRlc2NhcGVkU3RhdFBhdGgnIHwi
IG9yIGRpZTsKICAgICB3aGlsZSAobXkgJGxpbmUgPSA8U1RBVD4pIHsKICAgICAgICAgIyBzdm4g
bWF5IG91dHB1dCBhIGRpZmZlcmVudCBFT0wgc2VxdWVuY2UgdGhhbiAkLywgc28gYXZvaWQgY2hv
bXAuCiAgICAgICAgICRsaW5lID1+IHMvW1xyXG5dKyQvL2c7CkBAIC0zMTIsNyArMzE3LDggQEAg
c3ViIG1hbnVmYWN0dXJlUGF0Y2hGb3JBZGRpdGlvbldpdGhIaXN0bwogICAgICAgICBteSAkbWlt
ZVR5cGUgPSBmaW5kTWltZVR5cGUoJGZpbGUsICRzb3VyY2VSZXZpc2lvbik7CiAgICAgICAgIHBy
aW50ICJzdm46bWltZS10eXBlID0gJHttaW1lVHlwZX1cblxuIjsKICAgICB9IGVsc2UgewotICAg
ICAgICBwcmludCBgc3ZuIGNhdCAke3NvdXJjZUZpbGV9IHwgZGlmZiAtdSAkZGV2TnVsbCAtIHwg
dGFpbCAtbiArM2A7CisgICAgICAgIG15ICRlc2NhcGVkU291cmNlRmlsZSA9IGVzY2FwZVBhdGgo
JHNvdXJjZUZpbGUpOworICAgICAgICBwcmludCBgc3ZuIGNhdCAke2VzY2FwZWRTb3VyY2VGaWxl
fSB8IGRpZmYgLXUgJGRldk51bGwgLSB8IHRhaWwgLW4gKzNgOwogICAgIH0KIH0KIApJbmRleDog
VG9vbHMvU2NyaXB0cy9zdm4tdW5hcHBseQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3N2
bi11bmFwcGx5CShyZXZpc2lvbiAxMDAzOTgpCisrKyBUb29scy9TY3JpcHRzL3N2bi11bmFwcGx5
CSh3b3JraW5nIGNvcHkpCkBAIC0xNjgsMTEgKzE2OCwxMiBAQCBzdWIgcGF0Y2goJCkKICAgICB9
IGVsc2UgewogICAgICAgICAjIEVpdGhlciBhIGRlbGV0aW9uLCBhbiBhZGRpdGlvbiBvciBhIGJp
bmFyeSBjaGFuZ2UuCiAKKyAgICAgICAgbXkgJGVzY2FwZWRGdWxsUGF0aCA9IGVzY2FwZVBhdGgo
JGZ1bGxQYXRoKTsKICAgICAgICAgIyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIEdpdCBiaW5hcnkg
ZmlsZXMuCiAgICAgICAgIGlmICgkaXNTdm5CaW5hcnkpIHsKICAgICAgICAgICAgICMgUmV2ZXJz
ZSBiaW5hcnkgY2hhbmdlCiAgICAgICAgICAgICB1bmxpbmsoJGZ1bGxQYXRoKSBpZiAoLWUgJGZ1
bGxQYXRoKTsKLSAgICAgICAgICAgIHN5c3RlbSAic3ZuIiwgInJldmVydCIsICRmdWxsUGF0aDsK
KyAgICAgICAgICAgIHN5c3RlbSAic3ZuIiwgInJldmVydCIsICRlc2NhcGVkRnVsbFBhdGg7CiAg
ICAgICAgIH0gZWxzaWYgKCRkZWxldGlvbikgewogICAgICAgICAgICAgIyBSZXZlcnNlIGRlbGV0
aW9uCiAgICAgICAgICAgICByZW5hbWUoJGZ1bGxQYXRoLCAiJGZ1bGxQYXRoLm9yaWciKSBpZiAt
ZSAkZnVsbFBhdGg7CkBAIC0xODYsNyArMTg3LDcgQEAgc3ViIHBhdGNoKCQpCiAKICAgICAgICAg
ICAgICMgS2VlcCB0aGUgdmVyc2lvbiBmcm9tIHRoZSBwYXRjaCBpbiBjYXNlIGl0J3MgZGlmZmVy
ZW50IGZyb20gc3ZuLgogICAgICAgICAgICAgcmVuYW1lKCRmdWxsUGF0aCwgJHRlbXBQYXRoKTsK
LSAgICAgICAgICAgIHN5c3RlbSAic3ZuIiwgInJldmVydCIsICRmdWxsUGF0aDsKKyAgICAgICAg
ICAgIHN5c3RlbSAic3ZuIiwgInJldmVydCIsICRlc2NhcGVkRnVsbFBhdGg7CiAgICAgICAgICAg
ICByZW5hbWUoJHRlbXBQYXRoLCAkZnVsbFBhdGgpOwogCiAgICAgICAgICAgICAjIFRoaXMgd29y
a3MgYXJvdW5kIGEgYnVnIGluIHRoZSBzdm4gY2xpZW50LgpAQCAtMTk4LDcgKzE5OSw3IEBAIHN1
YiBwYXRjaCgkKQogICAgICAgICAgICAgdW5saW5rKCIkZnVsbFBhdGgub3JpZyIpIGlmIC1lICIk
ZnVsbFBhdGgub3JpZyIgJiYgY2hlY2tzdW0oJGZ1bGxQYXRoKSBlcSBjaGVja3N1bSgiJGZ1bGxQ
YXRoLm9yaWciKTsKIAogICAgICAgICAgICAgIyBTaG93IHN0YXR1cyBpZiB0aGUgZmlsZSBpcyBt
b2RpZmVkCi0gICAgICAgICAgICBzeXN0ZW0gInN2biIsICJzdGF0IiwgJGZ1bGxQYXRoOworICAg
ICAgICAgICAgc3lzdGVtICJzdm4iLCAic3RhdCIsICRlc2NhcGVkRnVsbFBhdGg7CiAgICAgICAg
IH0gZWxzaWYgKCRhZGRpdGlvbikgewogICAgICAgICAgICAgIyBSZXZlcnNlIGFkZGl0aW9uCiAg
ICAgICAgICAgICAjCkBAIC0yMDcsNyArMjA4LDcgQEAgc3ViIHBhdGNoKCQpCiAgICAgICAgICAg
ICAjICAgICAgICBzaG91bGQgYmUgdXNlZCBoZXJlLgogICAgICAgICAgICAgdW5hcHBseVBhdGNo
KCRwYXRjaCwgJGZ1bGxQYXRoLCBbIi0tZm9yY2UiXSkgaWYgJHBhdGNoOwogICAgICAgICAgICAg
dW5saW5rKCRmdWxsUGF0aCkgaWYgLXogJGZ1bGxQYXRoOwotICAgICAgICAgICAgc3lzdGVtICJz
dm4iLCAicmV2ZXJ0IiwgJGZ1bGxQYXRoOworICAgICAgICAgICAgc3lzdGVtICJzdm4iLCAicmV2
ZXJ0IiwgJGVzY2FwZWRGdWxsUGF0aDsKICAgICAgICAgfQogICAgIH0KIApAQCAtMjI2LDEyICsy
MjcsMTMgQEAgc3ViIHJldmVydERpcmVjdG9yaWVzKCkKICAgICAgICAgICAgIG5leHQgaWYgKGV4
aXN0cyAkY2hlY2tlZERpcmVjdG9yaWVzeyRkaXJ9KTsKICAgICAgICAgICAgIGlmICgtZCAkZGly
KSB7CiAgICAgICAgICAgICAgICAgbXkgJHN2bk91dHB1dCA9IHN2blN0YXR1cygkZGlyKTsKKyAg
ICAgICAgICAgICAgICBteSAkZXNjYXBlZERpciA9IGVzY2FwZVBhdGgoJGRpcik7CiAgICAgICAg
ICAgICAgICAgaWYgKCRzdm5PdXRwdXQgJiYgJHN2bk91dHB1dCA9fiBtI0FccyskZGlyXG4jKSB7
Ci0gICAgICAgICAgICAgICAgICAgc3lzdGVtICJzdm4iLCAicmV2ZXJ0IiwgJGRpcjsKKyAgICAg
ICAgICAgICAgICAgICBzeXN0ZW0gInN2biIsICJyZXZlcnQiLCAkZXNjYXBlZERpcjsKICAgICAg
ICAgICAgICAgICAgICBybWRpciAkZGlyOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICBlbHNpZiAoJHN2bk91dHB1dCAmJiAkc3ZuT3V0cHV0ID1+IG0jRFxzKyRkaXJcbiMpIHsK
LSAgICAgICAgICAgICAgICAgICBzeXN0ZW0gInN2biIsICJyZXZlcnQiLCAkZGlyOworICAgICAg
ICAgICAgICAgICAgIHN5c3RlbSAic3ZuIiwgInJldmVydCIsICRlc2NhcGVkRGlyOwogICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAg
IyBNb2RpZmljYXRpb24K
</data>
<flag name="review"
          id="119041"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>