<?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>47961</bug_id>
          
          <creation_ts>2010-10-19 18:07:39 -0700</creation_ts>
          <short_desc>Get old-run-webkit-tests mostly working with Win32 Perl</short_desc>
          <delta_ts>2010-10-22 17:26:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>48166</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Adam Roben (:aroben)">aroben</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>sfalken</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>296575</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-10-19 18:07:39 -0700</bug_when>
    <thetext>Get old-run-webkit-tests mostly working with Win32 Perl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296580</commentid>
    <comment_count>1</comment_count>
      <attachid>71237</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-10-19 18:10:36 -0700</bug_when>
    <thetext>Created attachment 71237
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296625</commentid>
    <comment_count>2</comment_count>
      <attachid>71237</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-10-19 21:05:01 -0700</bug_when>
    <thetext>Comment on attachment 71237
Patch

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

r=me

&gt; WebKitTools/Scripts/old-run-webkit-tests:417
&gt; +    $dumpToolName .= &quot;.exe&quot;;

Optional:  I think there is a Perl-ish way to get the executable extension via built-in variable or via the Config module ($Config{_exe}).

&gt; WebKitTools/Scripts/old-run-webkit-tests:1331
&gt; +    unshift @{$args}, &quot;perl&quot;, $execScript;

It would be a good idea to extract all of these &quot;perl&quot; strings into a global variable.  It will make it easier to replace them or update them later.

&gt; WebKitTools/Scripts/webkitdirs.pm:1082
&gt; +    print $vcBuildPath, &quot;\n&quot;;

Debug print statement?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297070</commentid>
    <comment_count>3</comment_count>
      <attachid>71237</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-10-20 15:25:14 -0700</bug_when>
    <thetext>Comment on attachment 71237
Patch

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

&gt;&gt; WebKitTools/Scripts/old-run-webkit-tests:417
&gt;&gt; +    $dumpToolName .= &quot;.exe&quot;;
&gt; 
&gt; Optional:  I think there is a Perl-ish way to get the executable extension via built-in variable or via the Config module ($Config{_exe}).

OK, I&apos;ll use $Config{_exe}. I couldn&apos;t find a built-in variable that would give us the string.

&gt;&gt; WebKitTools/Scripts/old-run-webkit-tests:1331
&gt;&gt; +    unshift @{$args}, &quot;perl&quot;, $execScript;
&gt; 
&gt; It would be a good idea to extract all of these &quot;perl&quot; strings into a global variable.  It will make it easier to replace them or update them later.

Sounds good. I&apos;ll use a $perlInterpreter global variable.

&gt;&gt; WebKitTools/Scripts/webkitdirs.pm:1082
&gt;&gt; +    print $vcBuildPath, &quot;\n&quot;;
&gt; 
&gt; Debug print statement?

Indeed! Good catch. Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297098</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-10-20 16:14:24 -0700</bug_when>
    <thetext>Committed r70188: &lt;http://trac.webkit.org/changeset/70188&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71237</attachid>
            <date>2010-10-19 18:10:36 -0700</date>
            <delta_ts>2010-10-20 15:25:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47961-20101019181036.patch</filename>
            <type>text/plain</type>
            <size>20159</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA4NTBhZDAzYmVjMzNkN2ZhMjMxZmRjMWI0NzA5MTM0ZmNiZGM3NzFlLi5iZTEzNDQ4
OGQwNGY5NGJhYjcwNjljZDNjNWRlMDRhNmQyMTdjN2Q5IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzYgQEAK
IDIwMTAtMTAtMTkgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCisgICAgICAgIEdl
bnRseSBudWRnZSBvbGQtcnVuLXdlYmtpdC10ZXN0cyB0b3dhcmQgd29ya2luZyB3aXRoIFdpbjMy
IFBlcmwKKworICAgICAgICBUaGlzIG1ha2VzIG9sZC1ydW4td2Via2l0LXRlc3RzIGFibGUgdG8g
YnVpbGQgRFJUIGFuZCBmaW5kIGFsbCB0aGUKKyAgICAgICAgdGVzdHMgdG8gcnVuLiBJdCBldmVu
IGludm9rZXMgRFJUIGFuZCBwYXNzZXMgaXQgdGhlIGxpc3Qgb2YgdGVzdHMuIEJ1dAorICAgICAg
ICBEUlQgZW5kcyB1cCBodW5nIGJsb2NraW5nIG9uIEkvTy4KKworICAgICAgICBGaXhlcyA8aHR0
cDovL3dlYmtpdC5vcmcvYi80Nzk2MT4gR2V0IG9sZC1ydW4td2Via2l0LXRlc3RzIG1vc3RseQor
ICAgICAgICB3b3JraW5nIHdpdGggV2luMzIgUGVybAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9vbGQtcnVuLXdlYmtpdC10ZXN0czoK
KyAgICAgICAgICAtIFVzZSBGaWxlOjpTcGVjIGluc3RlYWQgb2YgbWFudWFsbHkgY29uY2F0ZW5h
dGluZyBwYXRocworICAgICAgICAgIC0gVXNlIGRpcm5hbWUgaW5zdGVhZCBvZiBtYW51YWxseSBz
dHJpcHBpbmcgb2ZmIHRoZSBiYXNlIG5hbWUKKyAgICAgICAgICAtIFVzZSBpc0N5Z3dpbi9pc1dp
bmRvd3MvaXNBcHBsZVdpbldlYktpdCBtb3JlIGp1ZGljaW91c2x5CisgICAgICAgICAgLSBFeHBs
aWNpdGx5IGludm9rZSBQZXJsIHdoZW4gcnVubmluZyBQZXJsIHNjcmlwdHMKKyAgICAgICAgICAt
IFF1b3RlIHBhdGhzIHdoZW4gdXNpbmcgdGhlbSBpbiByZWd1bGFyIGV4cHJlc3Npb25zIHRvIGFs
bG93IHRoZW0KKyAgICAgICAgICAgIHRvIGluY2x1ZGUgY2hhcmFjdGVycyB0aGF0IGhhdmUgc3Bl
Y2lhbCBtZWFuaW5ncyBpbiByZWd1bGFyCisgICAgICAgICAgICBleHByZXNzaW9ucworCisgICAg
ICAgICogU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzOiBVc2UgRmlsZTo6U3BlYyBpbnN0ZWFkIG9m
IG1hbnVhbGx5CisgICAgICAgIGNvbmNhdGVuYXRpbmcgcGF0aHMuCisKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdGRpcnMucG06CisgICAgICAgICAgLSBSZW1vdmUgdGhlIHVudXNlZCAkd2luZG93
c1RtcFBhdGggdmFyaWFibGUKKyAgICAgICAgICAtIFVzZSBpc0N5Z3dpbi9pc1dpbmRvd3MvaXNB
cHBsZVdpbldlYktpdCBtb3JlIGp1ZGljaW91c2x5CisgICAgICAgICAgLSBPbmx5IHBhc3MgcGF0
aHMgdG8gY3lncGF0aCB3aGVuIHVzaW5nIEN5Z3dpbiBQZXJsCisgICAgICAgICAgLSBPbmx5IHVz
ZSBwZGV2ZW52IHdoZW4gdXNpbmcgQ3lnd2luIFBlcmwsIGZvciBub3cKKworMjAxMC0xMC0xOSAg
QWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CisKICAgICAgICAgVGVhY2ggdXBkYXRlLXdl
YmtpdC1zdXBwb3J0LWxpYnMgYWJvdXQgdGhlIG5ldyB2ZXJzaW9uaW5nIG9mCiAgICAgICAgIFdl
YktpdFN1cHBvcnRMaWJyYXJ5CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvb2xk
LXJ1bi13ZWJraXQtdGVzdHMgYi9XZWJLaXRUb29scy9TY3JpcHRzL29sZC1ydW4td2Via2l0LXRl
c3RzCmluZGV4IDY2NzY3MjllNTdlMTBiYjA3NTRiMzYzYzIwYjg3OGViOGRlNzlkNmIuLjkwMGVk
YzJjY2ZiNWJjZmZlNDU5YjkwYmQ5MzYwZTllZmEzNTE4OGQgMTAwNzU1Ci0tLSBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvb2xkLXJ1bi13ZWJraXQtdGVzdHMKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy9vbGQtcnVuLXdlYmtpdC10ZXN0cwpAQCAtMTU3LDcgKzE1Nyw3IEBAIG15ICR0ZXN0SFRUUCA9
IDE7CiBteSAkdGVzdFdlYlNvY2tldCA9IDE7CiBteSAkdGVzdE1lZGlhID0gMTsKIG15ICR0bXBE
aXIgPSAiL3RtcCI7Ci1teSAkdGVzdFJlc3VsdHNEaXJlY3RvcnkgPSBGaWxlOjpTcGVjLT5jYXRm
aWxlKCR0bXBEaXIsICJsYXlvdXQtdGVzdC1yZXN1bHRzIik7CitteSAkdGVzdFJlc3VsdHNEaXJl
Y3RvcnkgPSBGaWxlOjpTcGVjLT5jYXRkaXIoJHRtcERpciwgImxheW91dC10ZXN0LXJlc3VsdHMi
KTsKIG15ICR0ZXN0c1BlckR1bXBUb29sID0gMTAwMDsKIG15ICR0aHJlYWRlZCA9IDA7CiAjIER1
bXBSZW5kZXJUcmVlIGhhcyBhbiBpbnRlcm5hbCB0aW1lb3V0IG9mIDMwIHNlY29uZHMsIHNvIHRo
aXMgbXVzdCBiZSA+IDMwLgpAQCAtMjI0LDcgKzIyNCw3IEBAIGlmIChpc0FwcGxlTWFjV2ViS2l0
KCkpIHsKICAgICAkcGxhdGZvcm0gPSAiZ3RrIjsKIH0gZWxzaWYgKGlzV3goKSkgewogICAgICRw
bGF0Zm9ybSA9ICJ3eCI7Ci19IGVsc2lmIChpc0N5Z3dpbigpKSB7Cit9IGVsc2lmIChpc0N5Z3dp
bigpIHx8IGlzV2luZG93cygpKSB7CiAgICAgaWYgKGlzV2luZG93c1hQKCkpIHsKICAgICAgICAg
JHBsYXRmb3JtID0gIndpbi14cCI7CiAgICAgfSBlbHNpZiAoaXNXaW5kb3dzVmlzdGEoKSkgewpA
QCAtMjM2LDcgKzIzNiw3IEBAIGlmIChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKICAgICB9CiB9CiAK
LWlmIChpc1F0KCkgfHwgaXNDeWd3aW4oKSkgeworaWYgKGlzUXQoKSB8fCBpc0FwcGxlV2luV2Vi
S2l0KCkpIHsKICAgICBteSAkdGVzdGZvbnRQYXRoID0gJEVOVnsiV0VCS0lUX1RFU1RGT05UUyJ9
OwogICAgIGlmICghJHRlc3Rmb250UGF0aCB8fCAhLWQgIiR0ZXN0Zm9udFBhdGgiKSB7CiAgICAg
ICAgIHByaW50ICJUaGUgV0VCS0lUX1RFU1RGT05UUyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBu
b3QgZGVmaW5lZCBvciBub3Qgc2V0IHByb3Blcmx5XG4iOwpAQCAtNDEyLDggKzQxMiwxMSBAQCBp
ZiAoIWRlZmluZWQoJHJvb3QpKSB7CiAKIG15ICRkdW1wVG9vbE5hbWUgPSAkdXNlV2ViS2l0VGVz
dFJ1bm5lciA/ICJXZWJLaXRUZXN0UnVubmVyIiA6ICJEdW1wUmVuZGVyVHJlZSI7CiAKLSRkdW1w
VG9vbE5hbWUgLj0gIl9kZWJ1ZyIgaWYgaXNDeWd3aW4oKSAmJiBjb25maWd1cmF0aW9uRm9yVmlz
dWFsU3R1ZGlvKCkgIX4gL15SZWxlYXNlfERlYnVnX0ludGVybmFsJC87Ci1teSAkZHVtcFRvb2wg
PSAiJHByb2R1Y3REaXIvJGR1bXBUb29sTmFtZSI7CitpZiAoaXNBcHBsZVdpbldlYktpdCgpKSB7
CisgICAgJGR1bXBUb29sTmFtZSAuPSAiX2RlYnVnIiBpZiBjb25maWd1cmF0aW9uRm9yVmlzdWFs
U3R1ZGlvKCkgIX4gL15SZWxlYXNlfERlYnVnX0ludGVybmFsJC87CisgICAgJGR1bXBUb29sTmFt
ZSAuPSAiLmV4ZSI7Cit9CitteSAkZHVtcFRvb2wgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCRwcm9k
dWN0RGlyLCAkZHVtcFRvb2xOYW1lKTsKIGRpZSAiY2FuJ3QgZmluZCBleGVjdXRhYmxlICRkdW1w
VG9vbE5hbWUgKGxvb2tlZCBpbiAkcHJvZHVjdERpcilcbiIgdW5sZXNzIC14ICRkdW1wVG9vbDsK
IAogbXkgJGltYWdlRGlmZlRvb2wgPSAiJHByb2R1Y3REaXIvSW1hZ2VEaWZmIjsKQEAgLTY4NCw3
ICs2ODcsNyBAQCBmb3IgbXkgJHRlc3QgKEB0ZXN0cykgewogICAgIG15ICRzdWZmaXhFeHBlY3Rl
ZEhhc2ggPSAiIjsKICAgICBpZiAoJHBpeGVsVGVzdHMgJiYgISRyZXNldFJlc3VsdHMpIHsKICAg
ICAgICAgbXkgJGV4cGVjdGVkUGl4ZWxEaXIgPSBleHBlY3RlZERpcmVjdG9yeUZvclRlc3QoJGJh
c2UsIDAsICJwbmciKTsKLSAgICAgICAgaWYgKG9wZW4gRVhQRUNURURIQVNILCAiJGV4cGVjdGVk
UGl4ZWxEaXIvJGJhc2UtJGV4cGVjdGVkVGFnLmNoZWNrc3VtIikgeworICAgICAgICBpZiAob3Bl
biBFWFBFQ1RFREhBU0gsIEZpbGU6OlNwZWMtPmNhdGZpbGUoJGV4cGVjdGVkUGl4ZWxEaXIsICIk
YmFzZS0kZXhwZWN0ZWRUYWcuY2hlY2tzdW0iKSkgewogICAgICAgICAgICAgbXkgJGV4cGVjdGVk
SGFzaCA9IDxFWFBFQ1RFREhBU0g+OwogICAgICAgICAgICAgY2hvbXAoJGV4cGVjdGVkSGFzaCk7
CiAgICAgICAgICAgICBjbG9zZSBFWFBFQ1RFREhBU0g7CkBAIC03NjYsNyArNzY5LDcgQEAgZm9y
IG15ICR0ZXN0IChAdGVzdHMpIHsKICAgICBteSAkaXNUZXh0ID0gaXNUZXh0T25seVRlc3QoJGFj
dHVhbCk7CiAKICAgICBteSAkZXhwZWN0ZWREaXIgPSBleHBlY3RlZERpcmVjdG9yeUZvclRlc3Qo
JGJhc2UsICRpc1RleHQsICRleHBlY3RlZEV4dGVuc2lvbik7Ci0gICAgJGV4cGVjdGVkUmVzdWx0
UGF0aHN7JGJhc2V9ID0gIiRleHBlY3RlZERpci8kZXhwZWN0ZWRGaWxlTmFtZSI7CisgICAgJGV4
cGVjdGVkUmVzdWx0UGF0aHN7JGJhc2V9ID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkZXhwZWN0ZWRE
aXIsICRleHBlY3RlZEZpbGVOYW1lKTsKIAogICAgIHVubGVzcyAoJHJlYWRSZXN1bHRzLT57c3Rh
dHVzfSBlcSAic3VjY2VzcyIpIHsKICAgICAgICAgbXkgJGNyYXNoZWQgPSAkcmVhZFJlc3VsdHMt
PntzdGF0dXN9IGVxICJjcmFzaGVkIjsKQEAgLTc4MCw3ICs3ODMsNyBAQCBmb3IgbXkgJHRlc3Qg
KEB0ZXN0cykgewogCiAgICAgbXkgJGV4cGVjdGVkOwogCi0gICAgaWYgKCEkcmVzZXRSZXN1bHRz
ICYmIG9wZW4gRVhQRUNURUQsICI8IiwgIiRleHBlY3RlZERpci8kZXhwZWN0ZWRGaWxlTmFtZSIp
IHsKKyAgICBpZiAoISRyZXNldFJlc3VsdHMgJiYgb3BlbiBFWFBFQ1RFRCwgIjwiLCAkZXhwZWN0
ZWRSZXN1bHRQYXRoc3skYmFzZX0pIHsKICAgICAgICAgJGV4cGVjdGVkID0gIiI7CiAgICAgICAg
IHdoaWxlICg8RVhQRUNURUQ+KSB7CiAgICAgICAgICAgICBuZXh0IGlmICRzdHJpcEVkaXRpbmdD
YWxsYmFja3MgJiYgJF8gPX4gL15FRElUSU5HIERFTEVHQVRFOi87CkBAIC04MzAsMTIgKzgzMywx
MyBAQCBmb3IgbXkgJHRlc3QgKEB0ZXN0cykgewogCiAgICAgaWYgKCRhY3R1YWxQTkdTaXplID4g
MCkgewogICAgICAgICBteSAkZXhwZWN0ZWRQaXhlbERpciA9IGV4cGVjdGVkRGlyZWN0b3J5Rm9y
VGVzdCgkYmFzZSwgMCwgInBuZyIpOworICAgICAgICBteSAkZXhwZWN0ZWRQTkdQYXRoID0gRmls
ZTo6U3BlYy0+Y2F0ZmlsZSgkZXhwZWN0ZWRQaXhlbERpciwgIiRiYXNlLSRleHBlY3RlZFRhZy5w
bmciKTsKIAogICAgICAgICBpZiAoISRyZXNldFJlc3VsdHMgJiYgKCRleHBlY3RlZEhhc2ggbmUg
JGFjdHVhbEhhc2ggfHwgKCRhY3R1YWxIYXNoIGVxICIiICYmICRleHBlY3RlZEhhc2ggZXEgIiIp
KSkgewotICAgICAgICAgICAgaWYgKC1mICIkZXhwZWN0ZWRQaXhlbERpci8kYmFzZS0kZXhwZWN0
ZWRUYWcucG5nIikgewotICAgICAgICAgICAgICAgIG15ICRleHBlY3RlZFBOR1NpemUgPSAtcyAi
JGV4cGVjdGVkUGl4ZWxEaXIvJGJhc2UtJGV4cGVjdGVkVGFnLnBuZyI7CisgICAgICAgICAgICBp
ZiAoLWYgJGV4cGVjdGVkUE5HUGF0aCkgeworICAgICAgICAgICAgICAgIG15ICRleHBlY3RlZFBO
R1NpemUgPSAtcyAkZXhwZWN0ZWRQTkdQYXRoOwogICAgICAgICAgICAgICAgIG15ICRleHBlY3Rl
ZFBORyA9ICIiOwotICAgICAgICAgICAgICAgIG9wZW4gRVhQRUNURURQTkcsICIkZXhwZWN0ZWRQ
aXhlbERpci8kYmFzZS0kZXhwZWN0ZWRUYWcucG5nIjsKKyAgICAgICAgICAgICAgICBvcGVuIEVY
UEVDVEVEUE5HLCAkZXhwZWN0ZWRQTkdQYXRoOwogICAgICAgICAgICAgICAgIHJlYWQoRVhQRUNU
RURQTkcsICRleHBlY3RlZFBORywgJGV4cGVjdGVkUE5HU2l6ZSk7CiAKICAgICAgICAgICAgICAg
ICBvcGVuRGlmZlRvb2woKTsKQEAgLTg2NiwxMyArODcwLDE0IEBAIGZvciBteSAkdGVzdCAoQHRl
c3RzKSB7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoJHJlc2V0UmVz
dWx0cyB8fCAhLWYgIiRleHBlY3RlZFBpeGVsRGlyLyRiYXNlLSRleHBlY3RlZFRhZy5wbmciKSB7
CisgICAgICAgIGlmICgkcmVzZXRSZXN1bHRzIHx8ICEtZiAkZXhwZWN0ZWRQTkdQYXRoKSB7CiAg
ICAgICAgICAgICBta3BhdGggY2F0ZmlsZSgkZXhwZWN0ZWRQaXhlbERpciwgZGlybmFtZSgkYmFz
ZSkpIGlmICR0ZXN0RGlyZWN0b3J5IG5lICRleHBlY3RlZFBpeGVsRGlyOwotICAgICAgICAgICAg
d3JpdGVUb0ZpbGUoIiRleHBlY3RlZFBpeGVsRGlyLyRiYXNlLSRleHBlY3RlZFRhZy5wbmciLCAk
YWN0dWFsUE5HKTsKKyAgICAgICAgICAgIHdyaXRlVG9GaWxlKCRleHBlY3RlZFBOR1BhdGgsICRh
Y3R1YWxQTkcpOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKCRhY3R1YWxIYXNoIG5lICIiICYm
ICgkcmVzZXRSZXN1bHRzIHx8ICEtZiAiJGV4cGVjdGVkUGl4ZWxEaXIvJGJhc2UtJGV4cGVjdGVk
VGFnLmNoZWNrc3VtIikpIHsKLSAgICAgICAgICAgIHdyaXRlVG9GaWxlKCIkZXhwZWN0ZWRQaXhl
bERpci8kYmFzZS0kZXhwZWN0ZWRUYWcuY2hlY2tzdW0iLCAkYWN0dWFsSGFzaCk7CisgICAgICAg
IG15ICRleHBlY3RlZENoZWNrc3VtUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJGV4cGVjdGVk
UGl4ZWxEaXIsICIkYmFzZS0kZXhwZWN0ZWRUYWcuY2hlY2tzdW0iKTsKKyAgICAgICAgaWYgKCRh
Y3R1YWxIYXNoIG5lICIiICYmICgkcmVzZXRSZXN1bHRzIHx8ICEtZiAkZXhwZWN0ZWRDaGVja3N1
bVBhdGgpKSB7CisgICAgICAgICAgICB3cml0ZVRvRmlsZSgkZXhwZWN0ZWRDaGVja3N1bVBhdGgs
ICRhY3R1YWxIYXNoKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMTAwOSwxMSArMTAxNCwxMCBA
QCBmb3IgbXkgJHRlc3QgKEB0ZXN0cykgewogICAgIH0KIAogICAgIGlmICgkZXJyb3IpIHsKLSAg
ICAgICAgbXkgJGRpciA9ICIkdGVzdFJlc3VsdHNEaXJlY3RvcnkvJGJhc2UiOwotICAgICAgICAk
ZGlyID1+IHN8LyhbXi9dKykkfHwgb3IgZGllICJGYWlsZWQgdG8gZmluZCB0ZXN0IG5hbWUgZnJv
bSBiYXNlXG4iOworICAgICAgICBteSAkZGlyID0gZGlybmFtZShGaWxlOjpTcGVjLT5jYXRkaXIo
JHRlc3RSZXN1bHRzRGlyZWN0b3J5LCAkYmFzZSkpOwogICAgICAgICBta3BhdGggJGRpcjsKICAg
ICAgICAgCi0gICAgICAgIHdyaXRlVG9GaWxlKCIkdGVzdFJlc3VsdHNEaXJlY3RvcnkvJGJhc2Ut
JGVycm9yVGFnLnR4dCIsICRlcnJvcik7CisgICAgICAgIHdyaXRlVG9GaWxlKEZpbGU6OlNwZWMt
PmNhdGZpbGUoJHRlc3RSZXN1bHRzRGlyZWN0b3J5LCAiJGJhc2UtJGVycm9yVGFnLnR4dCIpLCAk
ZXJyb3IpOwogICAgICAgICAKICAgICAgICAgJGNvdW50c3tlcnJvcn0rKzsKICAgICAgICAgcHVz
aCBAeyR0ZXN0c3tlcnJvcn19LCAkdGVzdDsKQEAgLTExMjEsNiArMTEyNSw4IEBAIGlmIChpc0d0
aygpKSB7CiAgIHN5c3RlbSAiV2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4tbGF1bmNoZXIiLCBAY29u
ZmlndXJhdGlvbkFyZ3MsICJmaWxlOi8vIi4kdGVzdFJlc3VsdHMgaWYgJGxhdW5jaFNhZmFyaTsK
IH0gZWxzaWYgKGlzQ3lnd2luKCkpIHsKICAgc3lzdGVtICJjeWdzdGFydCIsICR0ZXN0UmVzdWx0
cyBpZiAkbGF1bmNoU2FmYXJpOworfSBlbHNpZiAoaXNXaW5kb3dzKCkpIHsKKyAgc3lzdGVtICJz
dGFydCIsICR0ZXN0UmVzdWx0cyBpZiAkbGF1bmNoU2FmYXJpOwogfSBlbHNlIHsKICAgc3lzdGVt
ICJXZWJLaXRUb29scy9TY3JpcHRzL3J1bi1zYWZhcmkiLCBAY29uZmlndXJhdGlvbkFyZ3MsICIt
TlNPcGVuIiwgJHRlc3RSZXN1bHRzIGlmICRsYXVuY2hTYWZhcmk7CiB9CkBAIC0xMzIyLDcgKzEz
MjgsNyBAQCBzdWIgbGF1bmNoV2l0aEVudihcQFwlKQogICAgIHVuc2hpZnQgQHskYXJnc30sICJc
IiRhbGxFbnZWYXJzXCIiOwogCiAgICAgbXkgJGV4ZWNTY3JpcHQgPSBGaWxlOjpTcGVjLT5jYXRm
aWxlKHNvdXJjZURpcigpLCBxdyhXZWJLaXRUb29scyBTY3JpcHRzIGV4ZWNBcHBXaXRoRW52KSk7
Ci0gICAgdW5zaGlmdCBAeyRhcmdzfSwgJGV4ZWNTY3JpcHQ7CisgICAgdW5zaGlmdCBAeyRhcmdz
fSwgInBlcmwiLCAkZXhlY1NjcmlwdDsKICAgICByZXR1cm4gQHskYXJnc307CiB9CiAKQEAgLTEz
NjQsNyArMTM3MCw3IEBAIHN1YiBidWlsZER1bXBUb29sKCQpCiAgICAgfQogCiAgICAgbXkgQGFy
Z3MgPSBhcmd1bWVudHNGb3JDb25maWd1cmF0aW9uKCk7Ci0gICAgbXkgJGJ1aWxkUHJvY2VzcyA9
IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVyciwgIldlYktpdFRvb2xzL1Njcmlw
dHMvJGR1bXBUb29sQnVpbGRTY3JpcHQiLCBAYXJncykgb3IgZGllICJGYWlsZWQgdG8gcnVuIGJ1
aWxkLWR1bXByZW5kZXJ0cmVlIjsKKyAgICBteSAkYnVpbGRQcm9jZXNzID0gb3BlbjMoJGNoaWxk
SW4sICRjaGlsZE91dCwgJGNoaWxkRXJyLCAicGVybCIsIEZpbGU6OlNwZWMtPmNhdGZpbGUocXco
V2ViS2l0VG9vbHMgU2NyaXB0cyksICRkdW1wVG9vbEJ1aWxkU2NyaXB0KSwgQGFyZ3MpIG9yIGRp
ZSAiRmFpbGVkIHRvIHJ1biBidWlsZC1kdW1wcmVuZGVydHJlZSI7CiAgICAgY2xvc2UoJGNoaWxk
SW4pOwogICAgIHdhaXRwaWQgJGJ1aWxkUHJvY2VzcywgMDsKICAgICBteSAkYnVpbGRSZXN1bHQg
PSAkPzsKQEAgLTE1MDcsNyArMTUxMyw3IEBAIHN1YiBjb25maWd1cmVBbmRPcGVuSFRUUERJZk5l
ZWRlZCgpCiBzdWIgY2hlY2tQeXRob25WZXJzaW9uKCkKIHsKICAgICAjIHdlIGhhdmUgbm90IGNo
ZGlyIHRvIHNvdXJjZURpciB5ZXQuCi0gICAgc3lzdGVtIHNvdXJjZURpcigpIC4gIi9XZWJLaXRU
b29scy9TY3JpcHRzL2Vuc3VyZS12YWxpZC1weXRob24iLCAiLS1jaGVjay1vbmx5IjsKKyAgICBz
eXN0ZW0gInBlcmwiLCBGaWxlOjpTcGVjLT5jYXRmaWxlKHNvdXJjZURpcigpLCBxdyhXZWJLaXRU
b29scyBTY3JpcHRzIGVuc3VyZS12YWxpZC1weXRob24pKSwgIi0tY2hlY2stb25seSI7CiAgICAg
cmV0dXJuIGV4aXRTdGF0dXMoJD8pID09IDA7CiB9CiAKQEAgLTE2MTAsMTIgKzE2MTYsMTIgQEAg
c3ViIGV4cGVjdGVkRGlyZWN0b3J5Rm9yVGVzdCgkOyQ7JCkKICAgICBteSAoJGJhc2UsICRpc1Rl
eHQsICRleHBlY3RlZEV4dGVuc2lvbikgPSBAXzsKIAogICAgIG15IEBkaXJlY3RvcmllcyA9IEBw
bGF0Zm9ybVJlc3VsdEhpZXJhcmNoeTsKLSAgICBwdXNoIEBkaXJlY3RvcmllcywgbWFwIHsgY2F0
ZGlyKCRwbGF0Zm9ybUJhc2VEaXJlY3RvcnksICRfKSB9IHF3KG1hYy1zbm93bGVvcGFyZCBtYWMp
IGlmIGlzQ3lnd2luKCk7CisgICAgcHVzaCBAZGlyZWN0b3JpZXMsIG1hcCB7IGNhdGRpcigkcGxh
dGZvcm1CYXNlRGlyZWN0b3J5LCAkXykgfSBxdyhtYWMtc25vd2xlb3BhcmQgbWFjKSBpZiBpc0Fw
cGxlV2luV2ViS2l0KCk7CiAgICAgcHVzaCBAZGlyZWN0b3JpZXMsICRleHBlY3RlZERpcmVjdG9y
eTsKIAogICAgICMgSWYgd2UgYWxyZWFkeSBoYXZlIGV4cGVjdGVkIHJlc3VsdHMsIGp1c3QgcmV0
dXJuIHRoZWlyIGxvY2F0aW9uLgogICAgIGZvcmVhY2ggbXkgJGRpcmVjdG9yeSAoQGRpcmVjdG9y
aWVzKSB7Ci0gICAgICAgIHJldHVybiAkZGlyZWN0b3J5IGlmICgtZiAiJGRpcmVjdG9yeS8kYmFz
ZS0kZXhwZWN0ZWRUYWcuJGV4cGVjdGVkRXh0ZW5zaW9uIik7CisgICAgICAgIHJldHVybiAkZGly
ZWN0b3J5IGlmIC1mIEZpbGU6OlNwZWMtPmNhdGZpbGUoJGRpcmVjdG9yeSwgIiRiYXNlLSRleHBl
Y3RlZFRhZy4kZXhwZWN0ZWRFeHRlbnNpb24iKTsKICAgICB9CiAKICAgICAjIEZvciBjcm9zcy1w
bGF0Zm9ybSB0ZXN0cywgdGV4dC1vbmx5IHJlc3VsdHMgc2hvdWxkIGdvIGluIHRoZSBjcm9zcy1w
bGF0Zm9ybSBkaXJlY3RvcnksCkBAIC0xNjMxLDkgKzE2MzcsOSBAQCBzdWIgY291bnRGaW5pc2hl
ZFRlc3QoJCQkJCkKICAgICAgICAgaWYgKCRzaG91bGRDaGVja0xlYWtzKSB7CiAgICAgICAgICAg
ICBteSAkZmlsZU5hbWU7CiAgICAgICAgICAgICBpZiAoJHRlc3RzUGVyRHVtcFRvb2wgPT0gMSkg
ewotICAgICAgICAgICAgICAgICRmaWxlTmFtZSA9ICIkdGVzdFJlc3VsdHNEaXJlY3RvcnkvJGJh
c2UtbGVha3MudHh0IjsKKyAgICAgICAgICAgICAgICAkZmlsZU5hbWUgPSBGaWxlOjpTcGVjLT5j
YXRmaWxlKCR0ZXN0UmVzdWx0c0RpcmVjdG9yeSwgIiRiYXNlLWxlYWtzLnR4dCIpOwogICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAkZmlsZU5hbWUgPSAiJHRlc3RSZXN1bHRz
RGlyZWN0b3J5LyIgLiBmaWxlTmFtZVdpdGhOdW1iZXIoJGR1bXBUb29sTmFtZSwgJGxlYWtzT3V0
cHV0RmlsZU51bWJlcikgLiAiLWxlYWtzLnR4dCI7CisgICAgICAgICAgICAgICAgJGZpbGVOYW1l
ID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkdGVzdFJlc3VsdHNEaXJlY3RvcnksIGZpbGVOYW1lV2l0
aE51bWJlcigkZHVtcFRvb2xOYW1lLCAkbGVha3NPdXRwdXRGaWxlTnVtYmVyKSAuICItbGVha3Mu
dHh0Iik7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBteSAkbGVha0NvdW50ID0gY291bnRB
bmRQcmludExlYWtzKCRkdW1wVG9vbE5hbWUsICRkdW1wVG9vbFBJRCwgJGZpbGVOYW1lKTsKICAg
ICAgICAgICAgICR0b3RhbExlYWtzICs9ICRsZWFrQ291bnQ7CkBAIC0xNjU2LDE0ICsxNjYyLDEz
IEBAIHN1YiB0ZXN0Q3Jhc2hlZE9yVGltZWRPdXQoJCQkJCQpCiAKICAgICBzYW1wbGVEdW1wVG9v
bCgpIHVubGVzcyAkZGlkQ3Jhc2g7CiAKLSAgICBteSAkZGlyID0gIiR0ZXN0UmVzdWx0c0RpcmVj
dG9yeS8kYmFzZSI7Ci0gICAgJGRpciA9fiBzfC8oW14vXSspJHx8IG9yIGRpZSAiRmFpbGVkIHRv
IGZpbmQgdGVzdCBuYW1lIGZyb20gYmFzZVxuIjsKKyAgICBteSAkZGlyID0gZGlybmFtZShGaWxl
OjpTcGVjLT5jYXRkaXIoJHRlc3RSZXN1bHRzRGlyZWN0b3J5LCAkYmFzZSkpOwogICAgIG1rcGF0
aCAkZGlyOwogCiAgICAgZGVsZXRlRXhwZWN0ZWRBbmRBY3R1YWxSZXN1bHRzKCRiYXNlKTsKIAog
ICAgIGlmIChkZWZpbmVkKCRlcnJvcikgJiYgbGVuZ3RoKCRlcnJvcikpIHsKLSAgICAgICAgd3Jp
dGVUb0ZpbGUoIiR0ZXN0UmVzdWx0c0RpcmVjdG9yeS8kYmFzZS0kZXJyb3JUYWcudHh0IiwgJGVy
cm9yKTsKKyAgICAgICAgd3JpdGVUb0ZpbGUoRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkdGVzdFJlc3Vs
dHNEaXJlY3RvcnksICIkYmFzZS0kZXJyb3JUYWcudHh0IiksICRlcnJvcik7CiAgICAgfQogCiAg
ICAgcmVjb3JkQWN0dWFsUmVzdWx0c0FuZERpZmYoJGJhc2UsICRhY3R1YWwpOwpAQCAtMTkwMSw4
ICsxOTA2LDggQEAgc3ViIHJlY29yZEFjdHVhbFJlc3VsdHNBbmREaWZmKCQkKQogCiAgICAgbXkg
JGV4cGVjdGVkUmVzdWx0UGF0aCA9ICRleHBlY3RlZFJlc3VsdFBhdGhzeyRiYXNlfTsKICAgICBt
eSAoJGV4cGVjdGVkUmVzdWx0RmlsZU5hbWVNaW51c0V4dGVuc2lvbiwgJGV4cGVjdGVkUmVzdWx0
RGlyZWN0b3J5UGF0aCwgJGV4cGVjdGVkUmVzdWx0RXh0ZW5zaW9uKSA9IGZpbGVwYXJzZSgkZXhw
ZWN0ZWRSZXN1bHRQYXRoLCBxcntcLlteLl0rJH0pOwotICAgIG15ICRhY3R1YWxSZXN1bHRzUGF0
aCA9ICIkdGVzdFJlc3VsdHNEaXJlY3RvcnkvJGJhc2UtJGFjdHVhbFRhZyRleHBlY3RlZFJlc3Vs
dEV4dGVuc2lvbiI7Ci0gICAgbXkgJGNvcGllZEV4cGVjdGVkUmVzdWx0c1BhdGggPSAiJHRlc3RS
ZXN1bHRzRGlyZWN0b3J5LyRiYXNlLSRleHBlY3RlZFRhZyRleHBlY3RlZFJlc3VsdEV4dGVuc2lv
biI7CisgICAgbXkgJGFjdHVhbFJlc3VsdHNQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkdGVz
dFJlc3VsdHNEaXJlY3RvcnksICIkYmFzZS0kYWN0dWFsVGFnJGV4cGVjdGVkUmVzdWx0RXh0ZW5z
aW9uIik7CisgICAgbXkgJGNvcGllZEV4cGVjdGVkUmVzdWx0c1BhdGggPSBGaWxlOjpTcGVjLT5j
YXRmaWxlKCR0ZXN0UmVzdWx0c0RpcmVjdG9yeSwgIiRiYXNlLSRleHBlY3RlZFRhZyRleHBlY3Rl
ZFJlc3VsdEV4dGVuc2lvbiIpOwogCiAgICAgbWtwYXRoKGRpcm5hbWUoJGFjdHVhbFJlc3VsdHNQ
YXRoKSk7CiAgICAgd3JpdGVUb0ZpbGUoIiRhY3R1YWxSZXN1bHRzUGF0aCIsICRhY3R1YWxSZXN1
bHRzKTsKQEAgLTE5MTQsNyArMTkxOSw3IEBAIHN1YiByZWNvcmRBY3R1YWxSZXN1bHRzQW5kRGlm
ZigkJCkKICAgICAgICAgY2xvc2UgRU1QVFk7CiAgICAgfQogCi0gICAgbXkgJGRpZmZPdXB1dEJh
c2VQYXRoID0gIiR0ZXN0UmVzdWx0c0RpcmVjdG9yeS8kYmFzZSI7CisgICAgbXkgJGRpZmZPdXB1
dEJhc2VQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkdGVzdFJlc3VsdHNEaXJlY3RvcnksICRi
YXNlKTsKICAgICBteSAkZGlmZk91dHB1dFBhdGggPSAiJGRpZmZPdXB1dEJhc2VQYXRoLSRkaWZm
c1RhZy50eHQiOwogICAgIHN5c3RlbSAiZGlmZiAtdSBcIiRjb3BpZWRFeHBlY3RlZFJlc3VsdHNQ
YXRoXCIgXCIkYWN0dWFsUmVzdWx0c1BhdGhcIiA+IFwiJGRpZmZPdXRwdXRQYXRoXCIiOwogCkBA
IC0yMjc0LDcgKzIyNzksNyBAQCBzdWIgZmluZFRlc3RzVG9SdW4KICAgICBteSBAdGVzdHNUb1J1
biA9ICgpOwogCiAgICAgZm9yIG15ICR0ZXN0IChAQVJHVikgewotICAgICAgICAkdGVzdCA9fiBz
L14oJGxheW91dFRlc3RzTmFtZXwkdGVzdERpcmVjdG9yeSlcLy8vOworICAgICAgICAkdGVzdCA9
fiBzL14oXFEkbGF5b3V0VGVzdHNOYW1lXEV8XFEkdGVzdERpcmVjdG9yeVxFKVwvLy87CiAgICAg
ICAgIG15ICRmdWxsUGF0aCA9IGNhdGZpbGUoJHRlc3REaXJlY3RvcnksICR0ZXN0KTsKICAgICAg
ICAgaWYgKGZpbGVfbmFtZV9pc19hYnNvbHV0ZSgkdGVzdCkpIHsKICAgICAgICAgICAgIHByaW50
ICJjYW4ndCBydW4gdGVzdCAkdGVzdCBvdXRzaWRlICR0ZXN0RGlyZWN0b3J5XG4iOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzIGIvV2ViS2l0VG9vbHMv
U2NyaXB0cy9ydW4td2Via2l0LXRlc3RzCmluZGV4IDhmZTgzNjA4NzU0ZTM4M2RiMjJiMjc1OGJl
MjMzZjY2NGUxZmVlMGMuLjZiNTMwZTFmMTcyMWJjOTE3NDk0ZGRhYjhlNzZhOGZiMjIzOTdkNjUg
MTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cworKysgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMKQEAgLTQxLDYgKzQxLDcgQEAKIHVz
ZSBzdHJpY3Q7CiB1c2Ugd2FybmluZ3M7CiAKK3VzZSBGaWxlOjpTcGVjOwogdXNlIEZpbmRCaW47
CiB1c2UgbGliICRGaW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKQEAgLTc5LDUgKzgwLDUg
QEAgaWYgKHVzZU5ld1J1bldlYktpdFRlc3RzKCkpIHsKICAgICB9CiB9CiAKLW15ICRoYXJuZXNz
UGF0aCA9IHNwcmludGYoIiVzLyVzIiwgcmVsYXRpdmVTY3JpcHRzRGlyKCksICRoYXJuZXNzTmFt
ZSk7CitteSAkaGFybmVzc1BhdGggPSBGaWxlOjpTcGVjLT5jYXRmaWxlKHJlbGF0aXZlU2NyaXB0
c0RpcigpLCAkaGFybmVzc05hbWUpOwogZXhlYyAkaGFybmVzc1BhdGggKCRoYXJuZXNzUGF0aCwg
QEFSR1YpIG9yIGRpZSAiRmFpbGVkIHRvIGV4ZWN1dGUgJGhhcm5lc3NQYXRoIjsKZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbSBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0ZGlycy5wbQppbmRleCA4YTA1NTYxOTY5MDUzOGNmZDFlNDBkODVkYWYzYzNhYmNk
YzU3Nzg0Li4xZWUxMTVhYjFjZWI0MjkzMzQ5NjU5M2ZiZGM2OWI5MzI2MzlmOGM4IDEwMDY0NAot
LS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KKysrIGIvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRkaXJzLnBtCkBAIC03MSw3ICs3MSw2IEBAIG15ICRpc0luc3BlY3RvckZy
b250ZW5kOwogCiAjIFZhcmlhYmxlcyBmb3IgV2luMzIgc3VwcG9ydAogbXkgJHZjQnVpbGRQYXRo
OwotbXkgJHdpbmRvd3NUbXBQYXRoOwogbXkgJHdpbmRvd3NTb3VyY2VEaXI7CiBteSAkd2luVmVy
c2lvbjsKIG15ICR3aWxsVXNlVkNFeHByZXNzV2hlbkJ1aWxkaW5nID0gMDsKQEAgLTE3Myw5ICsx
NzIsNiBAQCBzdWIgZGV0ZXJtaW5lQmFzZVByb2R1Y3REaXIKICAgICAgICAgbXkgJGRvc0J1aWxk
UGF0aCA9IGBjeWdwYXRoIC0td2luZG93cyBcIiRiYXNlUHJvZHVjdERpclwiYDsKICAgICAgICAg
Y2hvbXAgJGRvc0J1aWxkUGF0aDsKICAgICAgICAgJEVOVnsiV0VCS0lUT1VUUFVURElSIn0gPSAk
ZG9zQnVpbGRQYXRoOwotICAgIH0KLQotICAgIGlmIChpc0FwcGxlV2luV2ViS2l0KCkpIHsKICAg
ICAgICAgbXkgJHVuaXhCdWlsZFBhdGggPSBgY3lncGF0aCAtLXVuaXggXCIkYmFzZVByb2R1Y3RE
aXJcImA7CiAgICAgICAgIGNob21wICR1bml4QnVpbGRQYXRoOwogICAgICAgICAkYmFzZVByb2R1
Y3REaXIgPSAkdW5peEJ1aWxkUGF0aDsKQEAgLTI4OSw4ICsyODUsOSBAQCBzdWIgZGV0ZXJtaW5l
Q29uZmlndXJhdGlvbkZvclZpc3VhbFN0dWRpbwogICAgICRjb25maWd1cmF0aW9uRm9yVmlzdWFs
U3R1ZGlvID0gJGNvbmZpZ3VyYXRpb247CiAgICAgcmV0dXJuIHVubGVzcyAkY29uZmlndXJhdGlv
biBlcSAiRGVidWciOwogICAgIHNldHVwQ3lnd2luRW52KCk7Ci0gICAgY2hvbXAobXkgJGRpciA9
IGBjeWdwYXRoIC11YSAnJEVOVntXRUJLSVRMSUJSQVJJRVNESVJ9J2ApOwotICAgICRjb25maWd1
cmF0aW9uRm9yVmlzdWFsU3R1ZGlvID0gIkRlYnVnX0ludGVybmFsIiBpZiAtZiAiJGRpci9iaW4v
Q29yZUZvdW5kYXRpb25fZGVidWcuZGxsIjsKKyAgICBteSAkZGlyID0gJEVOVntXRUJLSVRMSUJS
QVJJRVNESVJ9OworICAgIGNob21wKCRkaXIgPSBgY3lncGF0aCAtdWEgJyRkaXInYCkgaWYgaXND
eWd3aW4oKTsKKyAgICAkY29uZmlndXJhdGlvbkZvclZpc3VhbFN0dWRpbyA9ICJEZWJ1Z19JbnRl
cm5hbCIgaWYgLWYgRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkZGlyLCAiYmluIiwgIkNvcmVGb3VuZGF0
aW9uX2RlYnVnLmRsbCIpOwogfQogCiBzdWIgZGV0ZXJtaW5lQ29uZmlndXJhdGlvblByb2R1Y3RE
aXIKQEAgLTI5OSw3ICsyOTYsNyBAQCBzdWIgZGV0ZXJtaW5lQ29uZmlndXJhdGlvblByb2R1Y3RE
aXIKICAgICBkZXRlcm1pbmVCYXNlUHJvZHVjdERpcigpOwogICAgIGRldGVybWluZUNvbmZpZ3Vy
YXRpb24oKTsKICAgICBpZiAoaXNBcHBsZVdpbldlYktpdCgpICYmICFpc1d4KCkpIHsKLSAgICAg
ICAgJGNvbmZpZ3VyYXRpb25Qcm9kdWN0RGlyID0gIiRiYXNlUHJvZHVjdERpci9iaW4iOworICAg
ICAgICAkY29uZmlndXJhdGlvblByb2R1Y3REaXIgPSBGaWxlOjpTcGVjLT5jYXRkaXIoJGJhc2VQ
cm9kdWN0RGlyLCAiYmluIik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgIyBbR3RrXVtFZmxdIFdl
IGRvbid0IGhhdmUgUmVsZWFzZS9EZWJ1ZyBjb25maWd1cmF0aW9ucyBpbiBzdHJhaWdodAogICAg
ICAgICAjIGF1dG90b29sIGJ1aWxkcyAobm9uIGJ1aWxkLXdlYmtpdCkuIEluIHRoaXMgY2FzZSBh
bmQgaWYKQEAgLTUyOSw3ICs1MjYsNyBAQCBzdWIgaW5zdGFsbGVkU2FmYXJpUGF0aAogICAgIH0g
ZWxzaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSkgewogICAgICAgICAkc2FmYXJpQnVuZGxlID0gYCIk
Y29uZmlndXJhdGlvblByb2R1Y3REaXIvRmluZFNhZmFyaS5leGUiYDsKICAgICAgICAgJHNhZmFy
aUJ1bmRsZSA9fiBzL1tcclxuXSskLy87Ci0gICAgICAgICRzYWZhcmlCdW5kbGUgPSBgY3lncGF0
aCAtdSAnJHNhZmFyaUJ1bmRsZSdgOworICAgICAgICAkc2FmYXJpQnVuZGxlID0gYGN5Z3BhdGgg
LXUgJyRzYWZhcmlCdW5kbGUnYCBpZiBpc0N5Z3dpbigpOwogICAgICAgICAkc2FmYXJpQnVuZGxl
ID1+IHMvW1xyXG5dKyQvLzsKICAgICAgICAgJHNhZmFyaUJ1bmRsZSAuPSAiU2FmYXJpLmV4ZSI7
CiAgICAgfQpAQCAtNjI0LDcgKzYyMSw3IEBAIHN1YiBidWlsdER5bGliUGF0aEZvck5hbWUKICMg
Q2hlY2sgdG8gc2VlIHRoYXQgYWxsIHRoZSBmcmFtZXdvcmtzIGFyZSBidWlsdC4KIHN1YiBjaGVj
a0ZyYW1ld29ya3MgIyBGSVhNRTogVGhpcyBpcyBhIHBvb3IgbmFtZSBzaW5jZSBvbmx5IHRoZSBN
YWMgY2FsbHMgYnVpbHQgV2ViQ29yZSBhIEZyYW1ld29yay4KIHsKLSAgICByZXR1cm4gaWYgaXND
eWd3aW4oKTsKKyAgICByZXR1cm4gaWYgaXNDeWd3aW4oKSB8fCBpc1dpbmRvd3MoKTsKICAgICBt
eSBAZnJhbWV3b3JrcyA9ICgiSmF2YVNjcmlwdENvcmUiLCAiV2ViQ29yZSIpOwogICAgIHB1c2go
QGZyYW1ld29ya3MsICJXZWJLaXQiKSBpZiBpc0FwcGxlTWFjV2ViS2l0KCk7ICMgRklYTUU6IFRo
aXMgc2VlbXMgd3JvbmcsIGFsbCBwb3J0cyBzaG91bGQgaGF2ZSBhIFdlYktpdCB0aGVzZSBkYXlz
LgogICAgIGZvciBteSAkZnJhbWV3b3JrIChAZnJhbWV3b3JrcykgewpAQCAtODczLDcgKzg3MCw3
IEBAIHN1YiBpc0FwcGxlTWFjV2ViS2l0KCkKIAogc3ViIGlzQXBwbGVXaW5XZWJLaXQoKQogewot
ICAgIHJldHVybiBpc0FwcGxlV2ViS2l0KCkgJiYgaXNDeWd3aW4oKTsKKyAgICByZXR1cm4gaXNB
cHBsZVdlYktpdCgpICYmIChpc0N5Z3dpbigpIHx8IGlzV2luZG93cygpKTsKIH0KIAogc3ViIGlz
UGVyaWFuSW5zdGFsbGVkKCkKQEAgLTEwMDksOCArMTAwNiw4IEBAIHN1YiBjaGVja1JlcXVpcmVk
U3lzdGVtQ29uZmlnCiBzdWIgZGV0ZXJtaW5lV2luZG93c1NvdXJjZURpcigpCiB7CiAgICAgcmV0
dXJuIGlmICR3aW5kb3dzU291cmNlRGlyOwotICAgIG15ICRzb3VyY2VEaXIgPSBzb3VyY2VEaXIo
KTsKLSAgICBjaG9tcCgkd2luZG93c1NvdXJjZURpciA9IGBjeWdwYXRoIC13ICckc291cmNlRGly
J2ApOworICAgICR3aW5kb3dzU291cmNlRGlyID0gc291cmNlRGlyKCk7CisgICAgY2hvbXAoJHdp
bmRvd3NTb3VyY2VEaXIgPSBgY3lncGF0aCAtdyAnJHdpbmRvd3NTb3VyY2VEaXInYCkgaWYgaXND
eWd3aW4oKTsKIH0KIAogc3ViIHdpbmRvd3NTb3VyY2VEaXIoKQpAQCAtMTA3MCwyNSArMTA2Nywy
NiBAQCBzdWIgc2V0dXBBcHBsZVdpbkVudigpCiAKIHN1YiBzZXR1cEN5Z3dpbkVudigpCiB7Ci0g
ICAgcmV0dXJuIGlmICFpc0N5Z3dpbigpOworICAgIHJldHVybiBpZiAhaXNDeWd3aW4oKSAmJiAh
aXNXaW5kb3dzKCk7CiAgICAgcmV0dXJuIGlmICR2Y0J1aWxkUGF0aDsKIAogICAgIG15ICR2c0lu
c3RhbGxEaXI7Ci0gICAgbXkgJHByb2dyYW1GaWxlc1BhdGggPSAkRU5WeydQUk9HUkFNRklMRVMn
fSB8fCAiQzpcXFByb2dyYW0gRmlsZXMiOworICAgIG15ICRwcm9ncmFtRmlsZXNQYXRoID0gJEVO
VnsnUFJPR1JBTUZJTEVTKFg4NiknfSB8fCAkRU5WeydQUk9HUkFNRklMRVMnfSB8fCAiQzpcXFBy
b2dyYW0gRmlsZXMiOwogICAgIGlmICgkRU5WeydWU0lOU1RBTExESVInfSkgewogICAgICAgICAk
dnNJbnN0YWxsRGlyID0gJEVOVnsnVlNJTlNUQUxMRElSJ307CiAgICAgfSBlbHNlIHsKLSAgICAg
ICAgJHZzSW5zdGFsbERpciA9ICIkcHJvZ3JhbUZpbGVzUGF0aC9NaWNyb3NvZnQgVmlzdWFsIFN0
dWRpbyA4IjsKKyAgICAgICAgJHZzSW5zdGFsbERpciA9IEZpbGU6OlNwZWMtPmNhdGRpcigkcHJv
Z3JhbUZpbGVzUGF0aCwgIk1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIDgiKTsKICAgICB9Ci0gICAg
JHZzSW5zdGFsbERpciA9IGBjeWdwYXRoICIkdnNJbnN0YWxsRGlyImA7Ci0gICAgY2hvbXAgJHZz
SW5zdGFsbERpcjsKLSAgICAkdmNCdWlsZFBhdGggPSAiJHZzSW5zdGFsbERpci9Db21tb243L0lE
RS9kZXZlbnYuY29tIjsKKyAgICBjaG9tcCgkdnNJbnN0YWxsRGlyID0gYGN5Z3BhdGggIiR2c0lu
c3RhbGxEaXIiYCkgaWYgaXNDeWd3aW4oKTsKKyAgICAkdmNCdWlsZFBhdGggPSBGaWxlOjpTcGVj
LT5jYXRmaWxlKCR2c0luc3RhbGxEaXIsIHF3KENvbW1vbjcgSURFIGRldmVudi5jb20pKTsKKyAg
ICBwcmludCAkdmNCdWlsZFBhdGgsICJcbiI7CiAgICAgaWYgKC1lICR2Y0J1aWxkUGF0aCkgewog
ICAgICAgICAjIFZpc3VhbCBTdHVkaW8gaXMgaW5zdGFsbGVkOyB3ZSBjYW4gdXNlIHBkZXZlbnYg
dG8gYnVpbGQuCi0gICAgICAgICR2Y0J1aWxkUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoc291
cmNlRGlyKCksIHF3KFdlYktpdFRvb2xzIFNjcmlwdHMgcGRldmVudikpOworICAgICAgICAjIEZJ
WE1FOiBNYWtlIHBkZXZlbnYgd29yayB3aXRoIG5vbi1DeWd3aW4gUGVybC4KKyAgICAgICAgJHZj
QnVpbGRQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgcXcoV2ViS2l0VG9v
bHMgU2NyaXB0cyBwZGV2ZW52KSkgaWYgaXNDeWd3aW4oKTsKICAgICB9IGVsc2UgewogICAgICAg
ICAjIFZpc3VhbCBTdHVkaW8gbm90IGZvdW5kLCB0cnkgVkMrKyBFeHByZXNzCi0gICAgICAgICR2
Y0J1aWxkUGF0aCA9ICIkdnNJbnN0YWxsRGlyL0NvbW1vbjcvSURFL1ZDRXhwcmVzcy5leGUiOwor
ICAgICAgICAkdmNCdWlsZFBhdGggPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCR2c0luc3RhbGxEaXIs
IHF3KENvbW1vbjcgSURFIFZDRXhwcmVzcy5leGUpKTsKICAgICAgICAgaWYgKCEgLWUgJHZjQnVp
bGRQYXRoKSB7CiAgICAgICAgICAgICBwcmludCAiKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIjsKICAgICAgICAgICAgIHByaW50
ICJDYW5ub3QgZmluZCAnJHZjQnVpbGRQYXRoJ1xuIjsKQEAgLTExMDEsNyArMTA5OSw3IEBAIHN1
YiBzZXR1cEN5Z3dpbkVudigpCiAgICAgICAgICR3aWxsVXNlVkNFeHByZXNzV2hlbkJ1aWxkaW5n
ID0gMTsKICAgICB9CiAKLSAgICBteSAkcXRTREtQYXRoID0gIiRwcm9ncmFtRmlsZXNQYXRoL1F1
aWNrVGltZSBTREsiOworICAgIG15ICRxdFNES1BhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIoJHBy
b2dyYW1GaWxlc1BhdGgsICJRdWlja1RpbWUgU0RLIik7CiAgICAgaWYgKDAgJiYgISAtZSAkcXRT
REtQYXRoKSB7CiAgICAgICAgIHByaW50ICIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4iOwogICAgICAgICBwcmludCAiQ2Fubm90
IGZpbmQgJyRxdFNES1BhdGgnXG4iOwpAQCAtMTExMSwxMCArMTEwOSwxMSBAQCBzdWIgc2V0dXBD
eWd3aW5FbnYoKQogICAgICAgICBkaWU7CiAgICAgfQogICAgIAotICAgIGNob21wKCRFTlZ7J1dF
QktJVExJQlJBUklFU0RJUid9ID0gYGN5Z3BhdGggLXdhICIkc291cmNlRGlyL1dlYktpdExpYnJh
cmllcy93aW4iYCkgdW5sZXNzICRFTlZ7J1dFQktJVExJQlJBUklFU0RJUid9OworICAgIHVubGVz
cyAoJEVOVntXRUJLSVRMSUJSQVJJRVNESVJ9KSB7CisgICAgICAgICRFTlZ7J1dFQktJVExJQlJB
UklFU0RJUid9ID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCRzb3VyY2VEaXIsICJXZWJLaXRMaWJyYXJp
ZXMiLCAid2luIik7CisgICAgICAgIGNob21wKCRFTlZ7V0VCS0lUTElCUkFSSUVTRElSfSA9IGBj
eWdwYXRoIC13YSAkRU5We1dFQktJVExJQlJBUklFU0RJUn1gKSBpZiBpc0N5Z3dpbigpOworICAg
IH0KIAotICAgICR3aW5kb3dzVG1wUGF0aCA9IGBjeWdwYXRoIC13IC90bXBgOwotICAgIGNob21w
ICR3aW5kb3dzVG1wUGF0aDsKICAgICBwcmludCAiQnVpbGRpbmcgcmVzdWx0cyBpbnRvOiAiLCBi
YXNlUHJvZHVjdERpcigpLCAiXG4iOwogICAgIHByaW50ICJXRUJLSVRPVVRQVVRESVIgaXMgc2V0
IHRvOiAiLCAkRU5WeyJXRUJLSVRPVVRQVVRESVIifSwgIlxuIjsKICAgICBwcmludCAiV0VCS0lU
TElCUkFSSUVTRElSIGlzIHNldCB0bzogIiwgJEVOVnsiV0VCS0lUTElCUkFSSUVTRElSIn0sICJc
biI7CkBAIC0xMTk3LDE0ICsxMTk2LDE0IEBAIHN1YiBidWlsZFZpc3VhbFN0dWRpb1Byb2plY3QK
IAogICAgIGRpZUlmV2luZG93c1BsYXRmb3JtU0RLTm90SW5zdGFsbGVkKCkgaWYgJHdpbGxVc2VW
Q0V4cHJlc3NXaGVuQnVpbGRpbmc7CiAKLSAgICBjaG9tcChteSAkd2luUHJvamVjdFBhdGggPSBg
Y3lncGF0aCAtdyAiJHByb2plY3QiYCk7CisgICAgY2hvbXAoJHByb2plY3QgPSBgY3lncGF0aCAt
dyAiJHByb2plY3QiYCkgaWYgaXNDeWd3aW4oKTsKICAgICAKICAgICBteSAkYWN0aW9uID0gIi9i
dWlsZCI7CiAgICAgaWYgKCRjbGVhbikgewogICAgICAgICAkYWN0aW9uID0gIi9jbGVhbiI7CiAg
ICAgfQogCi0gICAgbXkgQGNvbW1hbmQgPSAoJHZjQnVpbGRQYXRoLCAkd2luUHJvamVjdFBhdGgs
ICRhY3Rpb24sICRjb25maWcpOworICAgIG15IEBjb21tYW5kID0gKCR2Y0J1aWxkUGF0aCwgJHBy
b2plY3QsICRhY3Rpb24sICRjb25maWcpOwogCiAgICAgcHJpbnQgam9pbigiICIsIEBjb21tYW5k
KSwgIlxuIjsKICAgICByZXR1cm4gc3lzdGVtIEBjb21tYW5kOwo=
</data>
<flag name="review"
          id="61254"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
    <flag name="commit-queue"
          id="61262"
          type_id="3"
          status="-"
          setter="ddkilzer"
    />
          </attachment>
      

    </bug>

</bugzilla>