<?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>59978</bug_id>
          
          <creation_ts>2011-05-02 16:56:03 -0700</creation_ts>
          <short_desc>add image toggling behavior from old-run-webkit-tests</short_desc>
          <delta_ts>2011-05-03 09:30:52 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ojan Vafai">ojan</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>arv</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>mihaip</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>396792</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-05-02 16:56:03 -0700</bug_when>
    <thetext>add image toggling behavior from old-run-webkit-tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396796</commentid>
    <comment_count>1</comment_count>
      <attachid>92006</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-05-02 16:59:55 -0700</bug_when>
    <thetext>Created attachment 92006
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396824</commentid>
    <comment_count>2</comment_count>
      <attachid>92006</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-05-02 17:32:08 -0700</bug_when>
    <thetext>Comment on attachment 92006
Patch

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

&gt; LayoutTests/fast/harness/resources/results-test.js:114
&gt; +{    

Nit: trailing whitespace

&gt; Tools/Scripts/webkitpy/layout_tests/layout_package/test_result_writer.py:251
&gt; +&quot;&quot;&quot; % (self._testname, self.output_filename(&apos;-diff.png&apos;), self.output_filename(&apos;&apos;))
&gt; +        self._port._filesystem.write_binary_file(diffs_html_filename, html)

Nit: When I have lots of replacement params, I normally switch to the named placeholders.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397122</commentid>
    <comment_count>3</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-05-03 09:30:52 -0700</bug_when>
    <thetext>Committed r85610: &lt;http://trac.webkit.org/changeset/85610&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92006</attachid>
            <date>2011-05-02 16:59:55 -0700</date>
            <delta_ts>2011-05-02 17:32:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59978-20110502165954.patch</filename>
            <type>text/plain</type>
            <size>20505</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODU0ODEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5M2Y3YTQzOTRhNDZiYWZlMWEyZjRm
YzE2NWY0Y2I3MGQyMDMxMTJiLi43MThmODQyMTUyMzg4YjJjNjc4ZDJiM2ZmNTcwOGYwNjBlZWQw
MjVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDUtMDIgIE9qYW4gVmFmYWkgIDxvamFu
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBhZGQgaW1hZ2UgdG9nZ2xpbmcgYmVoYXZpb3IgZnJvbSBvbGQtcnVuLXdlYmtpdC10
ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk5
NzgKKworICAgICAgICBBZGQgYSBjaGVja2JveCB0byBzd2l0Y2ggYmV0d2VlbiBpbWFnZSB0b2dn
bGluZyAoZGVmYXVsdCkKKyAgICAgICAgYW5kIGp1c3Qgc2hvd2luZyByZXN1bHRzIGZvciBleHBl
Y3RlZC9hY3R1YWwgaW1hZ2VzLgorCisgICAgICAgICogZmFzdC9oYXJuZXNzL3Jlc291cmNlcy9y
ZXN1bHRzLXRlc3QuanM6CisgICAgICAgICogZmFzdC9oYXJuZXNzL3Jlc3VsdHMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvaGFybmVzcy9yZXN1bHRzLmh0bWw6CisKIDIwMTEtMDUtMDIg
IE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNz
L3Jlc291cmNlcy9yZXN1bHRzLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVz
b3VyY2VzL3Jlc3VsdHMtdGVzdC5qcwppbmRleCAzNGM3MWRhNmExNzQ1ZWMwNzkwZjI4MjYzMzlm
MDg5ZGJlMGE1YTEzLi5mYjg5MDNmOTFlMmJmNmE4MjdhZTcyMGU2YWUxYjA4ZmVkODRiNWFmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzb3VyY2VzL3Jlc3VsdHMtdGVz
dC5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzb3VyY2VzL3Jlc3VsdHMtdGVz
dC5qcwpAQCAtMTExLDcgKzExMSw3IEBAIGZ1bmN0aW9uIHJ1blNpbmdsZVJvd1Rlc3QocmVzdWx0
cywgaXNFeHBlY3RlZCwgdGV4dFJlc3VsdHMsIGltYWdlUmVzdWx0cykKIH0KIAogZnVuY3Rpb24g
cnVuVGVzdHMoKQoteworeyAgICAKICAgICB2YXIgcmVzdWx0cyA9IG1vY2tSZXN1bHRzKCk7CiAg
ICAgdmFyIHN1YnRyZWUgPSByZXN1bHRzLnRlc3RzWydmb28nXSA9IHt9CiAgICAgc3VidHJlZVsn
YmFyLmh0bWwnXSA9IG1vY2tFeHBlY3RhdGlvbignUEFTUycsICdURVhUJyk7CkBAIC0yMDcsNyAr
MjA3LDcgQEAgZnVuY3Rpb24gcnVuVGVzdHMoKQogICAgICAgICBhc3NlcnRUcnVlKHZpc2libGVF
eHBhbmRMaW5rcygpLmxlbmd0aCA9PSAxKTsKICAgICAgICAgYXNzZXJ0VHJ1ZShkb2N1bWVudC5x
dWVyeVNlbGVjdG9yQWxsKCcucmVzdWx0cy1yb3cnKS5sZW5ndGggPT0gMSk7CiAgICAgICAgIAot
ICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcudW5leHBlY3RlZC1yZXN1bHRzJykuY2hl
Y2tlZCA9IGZhbHNlOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndW5leHBlY3Rl
ZC1yZXN1bHRzJykuY2hlY2tlZCA9IGZhbHNlOwogCiAgICAgICAgIGFzc2VydFRydWUodmlzaWJs
ZUV4cGFuZExpbmtzKCkubGVuZ3RoID09IDIpOwogICAgICAgICBhc3NlcnRUcnVlKGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3JBbGwoJy5yZXN1bHRzLXJvdycpLmxlbmd0aCA9PSAxKTsKQEAgLTIxOCwx
NyArMjE4LDE3IEBAIGZ1bmN0aW9uIHJ1blRlc3RzKCkKICAgCiAgICAgcnVuRGVmYXVsdFNpbmds
ZVJvd1Rlc3QoJ2Jhci1za2lwLmh0bWwnLCAnVEVYVCcsICdTS0lQJywgdHJ1ZSwgJycsICcnKTsK
ICAgICBydW5EZWZhdWx0U2luZ2xlUm93VGVzdCgnYmFyLWZsYWt5LWZhaWwuaHRtbCcsICdQQVNT
IEZBSUwnLCAnVEVYVCcsIHRydWUsICdleHBlY3RlZCBhY3R1YWwgZGlmZiAnLCAnJyk7Ci0gICAg
cnVuRGVmYXVsdFNpbmdsZVJvd1Rlc3QoJ2Jhci1mbGFreS1mYWlsLXVuZXhwZWN0ZWQuaHRtbCcs
ICdQQVNTIFRFWFQnLCAnSU1BR0UnLCBmYWxzZSwgJycsICdleHBlY3RlZCBhY3R1YWwgZGlmZiAn
KTsKKyAgICBydW5EZWZhdWx0U2luZ2xlUm93VGVzdCgnYmFyLWZsYWt5LWZhaWwtdW5leHBlY3Rl
ZC5odG1sJywgJ1BBU1MgVEVYVCcsICdJTUFHRScsIGZhbHNlLCAnJywgJ2ltYWdlcyBkaWZmICcp
OwogICAgIHJ1bkRlZmF1bHRTaW5nbGVSb3dUZXN0KCdiYXItY3Jhc2guaHRtbCcsICdURVhUJywg
J0NSQVNIJywgZmFsc2UsICdzdGFjayAnLCAnJyk7CiAgICAgcnVuRGVmYXVsdFNpbmdsZVJvd1Rl
c3QoJ2Jhci1hdWRpby5odG1sJywgJ1RFWFQnLCAnQVVESU8nLCBmYWxzZSwgJ2V4cGVjdGVkIGF1
ZGlvIGFjdHVhbCBhdWRpbyAnLCAnJyk7CiAgICAgcnVuRGVmYXVsdFNpbmdsZVJvd1Rlc3QoJ2Jh
ci10aW1lb3V0Lmh0bWwnLCAnVEVYVCcsICdUSU1FT1VUJywgZmFsc2UsICdleHBlY3RlZCBhY3R1
YWwgZGlmZiAnLCAnJyk7Ci0gICAgcnVuRGVmYXVsdFNpbmdsZVJvd1Rlc3QoJ2Jhci1pbWFnZS5o
dG1sJywgJ1RFWFQnLCAnSU1BR0UnLCBmYWxzZSwgJycsICdleHBlY3RlZCBhY3R1YWwgZGlmZiAn
KTsKLSAgICBydW5EZWZhdWx0U2luZ2xlUm93VGVzdCgnYmFyLWltYWdlLXBsdXMtdGV4dC5odG1s
JywgJ1RFWFQnLCAnSU1BR0UrVEVYVCcsIGZhbHNlLCAnZXhwZWN0ZWQgYWN0dWFsIGRpZmYgJywg
J2V4cGVjdGVkIGFjdHVhbCBkaWZmICcpOworICAgIHJ1bkRlZmF1bHRTaW5nbGVSb3dUZXN0KCdi
YXItaW1hZ2UuaHRtbCcsICdURVhUJywgJ0lNQUdFJywgZmFsc2UsICcnLCAnaW1hZ2VzIGRpZmYg
Jyk7CisgICAgcnVuRGVmYXVsdFNpbmdsZVJvd1Rlc3QoJ2Jhci1pbWFnZS1wbHVzLXRleHQuaHRt
bCcsICdURVhUJywgJ0lNQUdFK1RFWFQnLCBmYWxzZSwgJ2V4cGVjdGVkIGFjdHVhbCBkaWZmICcs
ICdpbWFnZXMgZGlmZiAnKTsKIAogICAgIHJlc3VsdHMgPSBtb2NrUmVzdWx0cygpOwogICAgIHJl
c3VsdHMudGVzdHNbJ2Jhci1yZWZ0ZXN0Lmh0bWwnXSA9IG1vY2tFeHBlY3RhdGlvbignUEFTUycs
ICdJTUFHRScpOwogICAgIHJlc3VsdHMudGVzdHNbJ2Jhci1yZWZ0ZXN0Lmh0bWwnXS5pc19yZWZ0
ZXN0ID0gdHJ1ZTsKLSAgICBydW5TaW5nbGVSb3dUZXN0KHJlc3VsdHMsIGZhbHNlLCAnJywgJ3Jl
ZiBodG1sIGV4cGVjdGVkIGFjdHVhbCBkaWZmICcpOworICAgIHJ1blNpbmdsZVJvd1Rlc3QocmVz
dWx0cywgZmFsc2UsICcnLCAncmVmIGh0bWwgaW1hZ2VzIGRpZmYgJyk7CiAKICAgICByZXN1bHRz
ID0gbW9ja1Jlc3VsdHMoKTsKICAgICByZXN1bHRzLnRlc3RzWydiYXItcmVmdGVzdC1taXNtYXRj
aC5odG1sJ10gPSBtb2NrRXhwZWN0YXRpb24oJ1BBU1MnLCAnSU1BR0UnKTsKQEAgLTM2Nyw2ICsz
NjcsMjIgQEAgZnVuY3Rpb24gcnVuVGVzdHMoKQogCiAgICAgcnVuRGVmYXVsdFNpbmdsZVJvd1Rl
c3QoJ2Jhci1mbGFreS1jcmFzaC5odG1sJywgJ1RFWFQnLCAnVElNRU9VVCBDUkFTSCBBVURJTycs
IGZhbHNlLCAnZXhwZWN0ZWQgYWN0dWFsIGRpZmYgc3RhY2sgZXhwZWN0ZWQgYXVkaW8gYWN0dWFs
IGF1ZGlvICcsICcnKTsKIAorICAgIHJlc3VsdHMgPSBtb2NrUmVzdWx0cygpOworICAgIHJlc3Vs
dHMudGVzdHNbJ2Jhci5odG1sJ10gPSBtb2NrRXhwZWN0YXRpb24oJ1BBU1MnLCAnSU1BR0UnKTsK
KyAgICBydW5UZXN0KHJlc3VsdHMsIGZ1bmN0aW9uKCkgeworICAgICAgICBhc3NlcnRUcnVlKGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3Rib2R5IHRkOm50aC1jaGlsZCgzKScpLnRleHRDb250ZW50
ID09ICdpbWFnZXMgZGlmZiAnKTsKKworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dG9nZ2xlLWltYWdlcycpLmNoZWNrZWQgPSBmYWxzZTsKKyAgICAgICAgLy8gRklYTUU6IFdlIHNo
b3VsZG4ndCBuZWVkIHRvIGNhbGwgdXBkYXRlVG9nZ2xpbmdJbWFnZXMuIFNldHRpbmcgY2hlY2tl
ZCBhYm92ZSBzaG91bGQgY2FsbCBpdC4KKyAgICAgICAgdXBkYXRlVG9nZ2xpbmdJbWFnZXMoKTsK
KyAgICAgICAgLy8gRklYTUU6IFdlIGdldCBleHRyYSBzcGFjZXMgaW4gdGhlIERPTSBldmVyeSB0
aW1lIHdlIGVuYWJsZS9kaXNhYmxlIGltYWdlIHRvZ2dsaW5nLgorICAgICAgICBhc3NlcnRUcnVl
KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3Rib2R5IHRkOm50aC1jaGlsZCgzKScpLnRleHRDb250
ZW50ID09ICdleHBlY3RlZCBhY3R1YWwgIGRpZmYgJyk7CisgICAgICAgIAorICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndG9nZ2xlLWltYWdlcycpLmNoZWNrZWQgPSB0cnVlOworICAg
ICAgICB1cGRhdGVUb2dnbGluZ0ltYWdlcygpOworICAgICAgICBhc3NlcnRUcnVlKGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJ3Rib2R5IHRkOm50aC1jaGlsZCgzKScpLnRleHRDb250ZW50ID09ICcg
aW1hZ2VzICAgZGlmZiAnKTsKKyAgICB9KTsKKwogICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1M
ID0gJzxwcmU+JyArIGdfbG9nLmpvaW4oJ1xuJykgKyAnPC9wcmU+JzsKIH0KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3Jlc3VsdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9oYXJuZXNzL3Jlc3VsdHMtZXhwZWN0ZWQudHh0CmluZGV4IDQ3ZGJjNzVhMmY5
MTBkYzg0OGZiZWJhNjliODlkYTMzNGQ3YjBhNDEuLjcyMjM3ZmYzMGU1NzhhZjdhNDFmM2Y3MDUz
ODU2YWFhMGQ0MTEzYTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9yZXN1
bHRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzdWx0cy1l
eHBlY3RlZC50eHQKQEAgLTEyMywzICsxMjMsNiBAQCBURVNULTI4OiBQQVNTCiBURVNULTI4OiBQ
QVNTCiBURVNULTI4OiBQQVNTCiBURVNULTI4OiBQQVNTCitURVNULTI5OiBQQVNTCitURVNULTI5
OiBQQVNTCitURVNULTI5OiBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hhcm5l
c3MvcmVzdWx0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3Jlc3VsdHMuaHRtbApp
bmRleCA3N2JlMTU2NGI2ZDM1NjgwMGFiNjA1Yjg5ZDBmYzYxZTY4ODI3MWNkLi5hMjAyMDU4NTli
OTMyMDczMTU4OWZiYTVjOTE4Y2ZmOWNjYTY5MzAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2hhcm5lc3MvcmVzdWx0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9y
ZXN1bHRzLmh0bWwKQEAgLTEyLDEwICsxMiw2IEBAIHAgewogICAgIG1hcmdpbi1ib3R0b206IDAu
M2VtOwogfQogCi10Ym9keSB0cjpmaXJzdC1vZi10eXBlOmhvdmVyIHsKLSAgICBvcGFjaXR5OiAw
Ljc7Ci19Ci0KIHRyOm5vdCgucmVzdWx0cy1yb3cpIHRkIHsKICAgICB3aGl0ZS1zcGFjZTogbm93
cmFwOwogfQpAQCAtMTM1LDYgKzEzMSw3IEBAIGZ1bmN0aW9uIGdsb2JhbFN0YXRlKCkKICAgICAg
ICAgICAgIGhhc1RleHRGYWlsdXJlczogZmFsc2UsCiAgICAgICAgICAgICBuZXdUZXN0czogW10s
CiAgICAgICAgICAgICByZXN1bHRzOiB7fSwKKyAgICAgICAgICAgIHNob3VsZFRvZ2dsZUltYWdl
czogdHJ1ZSwKICAgICAgICAgICAgIHRlc3RzV2l0aFN0ZGVycjogW10sCiAgICAgICAgICAgICB1
bmV4cGVjdGVkUGFzc1Rlc3RzOiBbXQogICAgICAgICB9CkBAIC0xNjYsNyArMTYzLDE3IEBAIGZ1
bmN0aW9uIHBhcmVudE9mVHlwZShub2RlLCBzZWxlY3RvcikKICAgICByZXR1cm4gbnVsbDsKIH0K
IAotZnVuY3Rpb24gYXBwZW5kUmVzdWx0SWZyYW1lKHNyYywgcGFyZW50KQorZnVuY3Rpb24gcmVt
b3ZlKG5vZGUpCit7CisgICAgbm9kZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG5vZGUpOworfQor
CitmdW5jdGlvbiBmb3JFYWNoKG5vZGVMaXN0LCBoYW5kbGVyKQoreworICAgIEFycmF5LnByb3Rv
dHlwZS5mb3JFYWNoLmNhbGwobm9kZUxpc3QsIGhhbmRsZXIpOworfQorCitmdW5jdGlvbiByZXN1
bHRJZnJhbWUoc3JjKQogewogICAgIC8vIEZJWE1FOiB1c2UgYXVkaW8gdGFncyBmb3IgQVVESU8g
dGVzdHM/CiAgICAgdmFyIGxheW91dFRlc3RzSW5kZXggPSBzcmMuaW5kZXhPZignTGF5b3V0VGVz
dHMnKTsKQEAgLTE4NCwxMCArMTkxLDE1IEBAIGZ1bmN0aW9uIGFwcGVuZFJlc3VsdElmcmFtZShz
cmMsIHBhcmVudCkKIAogICAgIHZhciB0YWdOYW1lID0gKHNyYy5sYXN0SW5kZXhPZignLnBuZycp
ID09IC0xKSA/ICdpZnJhbWUnIDogJ2ltZyc7CiAKLSAgICB2YXIgY29udGFpbmVyID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgY29udGFpbmVyLmNsYXNzTmFtZSA9ICdyZXN1
bHQtY29udGFpbmVyJzsKLSAgICBjb250YWluZXIuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9bGFi
ZWw+JyArIG5hbWUgKyAnPC9kaXY+PCcgKyB0YWdOYW1lICsgJyBzcmM9IicgKyBzcmMgKyAnP2Zv
cm1hdD10eHQiPjwvJyArIHRhZ05hbWUgKyAnPic7Ci0gICAgcGFyZW50LmFwcGVuZENoaWxkKGNv
bnRhaW5lcik7CisgICAgaWYgKHRhZ05hbWUgIT0gJ2ltZycpCisgICAgICAgIHNyYyArPSAnP2Zv
cm1hdD10eHQnOworICAgIHJldHVybiAnPGRpdiBjbGFzcz1yZXN1bHQtY29udGFpbmVyPjxkaXYg
Y2xhc3M9bGFiZWw+JyArIG5hbWUgKyAnPC9kaXY+PCcgKyB0YWdOYW1lICsgJyBzcmM9IicgKyBz
cmMgKyAnIj48LycgKyB0YWdOYW1lICsgJz48L2Rpdj4nOworfQorCitmdW5jdGlvbiB0b2dnbGlu
Z0ltYWdlKHByZWZpeCkKK3sKKyAgICByZXR1cm4gJzxkaXYgY2xhc3M9cmVzdWx0LWNvbnRhaW5l
cj48ZGl2IGNsYXNzPSJsYWJlbCBpbWFnZVRleHQiPjwvZGl2PjxpbWcgY2xhc3M9YW5pbWF0ZWRJ
bWFnZSBkYXRhLXByZWZpeD0iJyArCisgICAgICAgIHByZWZpeCArICciPjwvaW1nPjwvZGl2Pic7
CiB9CiAKIGZ1bmN0aW9uIHRvZ2dsZUV4cGVjdGF0aW9ucyhlKQpAQCAtMjA3LDcgKzIxOSwxNCBA
QCBmdW5jdGlvbiBjb2xsYXBzZUV4cGVjdGF0aW9ucyhleHBhbmRMaW5rKQogICAgIGV4cGFuZExp
bmsudGV4dENvbnRlbnQgPSAnKyc7CiAgICAgdmFyIGV4aXN0aW5nUmVzdWx0c1JvdyA9IHBhcmVu
dE9mVHlwZShleHBhbmRMaW5rLCAndGJvZHknKS5xdWVyeVNlbGVjdG9yKCcucmVzdWx0cy1yb3cn
KTsKICAgICBpZiAoZXhpc3RpbmdSZXN1bHRzUm93KQotICAgICAgICBleGlzdGluZ1Jlc3VsdHNS
b3cuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICAgICAgc2hvd1Jlc3VsdHNSb3coZXhpc3Rp
bmdSZXN1bHRzUm93LCBmYWxzZSk7Cit9CisKK2Z1bmN0aW9uIHNob3dSZXN1bHRzUm93KHJvdywg
c2hvdWxkU2hvdykKK3sKKyAgICByb3cuc2V0QXR0cmlidXRlKCdkYXRhLWlzLWV4cGFuZGVkJywg
c2hvdWxkU2hvdyk7CisgICAgcm93LnN0eWxlLmRpc3BsYXkgPSBzaG91bGRTaG93ID8gJycgOiAn
bm9uZSc7CisgICAgdXBkYXRlSW1hZ2VUb2dnbGluZ1RpbWVyKCk7CiB9CiAKIGZ1bmN0aW9uIGV4
cGFuZEV4cGVjdGF0aW9ucyhleHBhbmRMaW5rKQpAQCAtMjE5LDcgKzIzOCw3IEBAIGZ1bmN0aW9u
IGV4cGFuZEV4cGVjdGF0aW9ucyhleHBhbmRMaW5rKQogICAgIHZhciBlbkRhc2ggPSAnXHUyMDEz
JzsKICAgICBleHBhbmRMaW5rLnRleHRDb250ZW50ID0gZW5EYXNoOwogICAgIGlmIChleGlzdGlu
Z1Jlc3VsdHNSb3cpIHsKLSAgICAgICAgZXhpc3RpbmdSZXN1bHRzUm93LnN0eWxlLmRpc3BsYXkg
PSAnJzsKKyAgICAgICAgc2hvd1Jlc3VsdHNSb3coZXhpc3RpbmdSZXN1bHRzUm93LCB0cnVlKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKQEAgLTIyOCwxNCArMjQ3LDQzIEBAIGZ1bmN0
aW9uIGV4cGFuZEV4cGVjdGF0aW9ucyhleHBhbmRMaW5rKQogICAgIHZhciBuZXdDZWxsID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKICAgICBuZXdDZWxsLmNvbFNwYW4gPSByb3cucXVl
cnlTZWxlY3RvckFsbCgndGQnKS5sZW5ndGg7CiAKLSAgICBhcHBlbmRSZXN1bHRJZnJhbWUocm93
LnF1ZXJ5U2VsZWN0b3IoJy50ZXN0LWxpbmsnKS5ocmVmLCBuZXdDZWxsKTsKKyAgICBuZXdDZWxs
Lmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlRW5kJywgcmVzdWx0SWZyYW1lKHJvdy5xdWVyeVNl
bGVjdG9yKCcudGVzdC1saW5rJykuaHJlZikpOyAgICAKIAogICAgIHZhciByZXN1bHRMaW5rcyA9
IHJvdy5xdWVyeVNlbGVjdG9yQWxsKCcucmVzdWx0LWxpbmsnKTsKLSAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHJlc3VsdExpbmtzLmxlbmd0aDsgaSsrKQotICAgICAgICBhcHBlbmRSZXN1bHRJZnJh
bWUocmVzdWx0TGlua3NbaV0uaHJlZiwgbmV3Q2VsbCk7CisgICAgdmFyIGhhc1RvZ2dsaW5nSW1h
Z2VzID0gZmFsc2U7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHRMaW5rcy5sZW5ndGg7
IGkrKykgeworICAgICAgICB2YXIgbGluayA9IHJlc3VsdExpbmtzW2ldOworICAgICAgICB2YXIg
cmVzdWx0OworICAgICAgICBpZiAobGluay50ZXh0Q29udGVudCA9PSAnaW1hZ2VzJykgeworICAg
ICAgICAgICAgaGFzVG9nZ2xpbmdJbWFnZXMgPSB0cnVlOworICAgICAgICAgICAgcmVzdWx0ID0g
dG9nZ2xpbmdJbWFnZShsaW5rLmdldEF0dHJpYnV0ZSgnZGF0YS1wcmVmaXgnKSk7CisgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0SWZyYW1lKGxpbmsuaHJlZik7CisK
KyAgICAgICAgbmV3Q2VsbC5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZUVuZCcsIHJlc3VsdCk7
ICAgIAorICAgIH0KIAogICAgIG5ld1Jvdy5hcHBlbmRDaGlsZChuZXdDZWxsKTsKICAgICBwYXJl
bnRUYm9keS5hcHBlbmRDaGlsZChuZXdSb3cpOworCisgICAgc2hvd1Jlc3VsdHNSb3cobmV3Um93
LCB0cnVlKTsKKworICAgIHVwZGF0ZUltYWdlVG9nZ2xpbmdUaW1lcigpOworfQorCitmdW5jdGlv
biB1cGRhdGVJbWFnZVRvZ2dsaW5nVGltZXIoKQoreworICAgIHZhciBoYXNWaXNpYmxlQW5pbWF0
ZWRJbWFnZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5yZXN1bHRzLXJvd1tkYXRhLWlzLWV4
cGFuZGVkPSJ0cnVlIl0gLmFuaW1hdGVkSW1hZ2UnKTsKKyAgICBpZiAoIWhhc1Zpc2libGVBbmlt
YXRlZEltYWdlKSB7CisgICAgICAgIGNsZWFySW50ZXJ2YWwoZ2xvYmFsU3RhdGUoKS50b2dnbGlu
Z0ltYWdlSW50ZXJ2YWwpOworICAgICAgICBnbG9iYWxTdGF0ZSgpLnRvZ2dsaW5nSW1hZ2VJbnRl
cnZhbCA9IG51bGw7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIWdsb2JhbFN0
YXRlKCkudG9nZ2xpbmdJbWFnZUludGVydmFsKSB7CisgICAgICAgIHRvZ2dsZUltYWdlcygpOwor
ICAgICAgICBnbG9iYWxTdGF0ZSgpLnRvZ2dsaW5nSW1hZ2VJbnRlcnZhbCA9IHNldEludGVydmFs
KHRvZ2dsZUltYWdlcywgMjAwMCk7CisgICAgfQogfQogCiBmdW5jdGlvbiBhc3luYyhmdW5jLCBh
cmdzKQpAQCAtMjg2LDcgKzMzNCw3IEBAIGZ1bmN0aW9uIHRlc3RMaW5rKHRlc3QpCiAKIGZ1bmN0
aW9uIHJlc3VsdExpbmsodGVzdFByZWZpeCwgc3VmZml4LCBjb250ZW50cykKIHsKLSAgICByZXR1
cm4gJzxhIGNsYXNzPXJlc3VsdC1saW5rIGhyZWY9IicgKyB0ZXN0UHJlZml4ICsgc3VmZml4ICsg
JyI+JyArIGNvbnRlbnRzICsgJzwvYT4gJzsKKyAgICByZXR1cm4gJzxhIGNsYXNzPXJlc3VsdC1s
aW5rIGhyZWY9IicgKyB0ZXN0UHJlZml4ICsgc3VmZml4ICsgJyIgZGF0YS1wcmVmaXg9IicgKyB0
ZXN0UHJlZml4ICsgJyI+JyArIGNvbnRlbnRzICsgJzwvYT4gJzsKIH0KIAogZnVuY3Rpb24gdGVz
dE9iamVjdEZvcih0ZXN0KQpAQCAtMzM4LDYgKzM4NiwyMyBAQCBmdW5jdGlvbiBwcm9jZXNzR2xv
YmFsU3RhdGVGb3IodGVzdE9iamVjdCkKICAgICAgICAgZ2xvYmFsU3RhdGUoKS51bmV4cGVjdGVk
UGFzc1Rlc3RzLnB1c2godGVzdCk7ICAgICAgICAgICAgCiB9CiAKK2Z1bmN0aW9uIHRvZ2dsZUlt
YWdlcygpCit7CisgICAgdmFyIGltYWdlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5h
bmltYXRlZEltYWdlJyk7CisgICAgdmFyIGltYWdlVGV4dHMgPSBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yQWxsKCcuaW1hZ2VUZXh0Jyk7CisgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGltYWdlcy5s
ZW5ndGg7IGkgPCBsZW47IGkrKykgeworICAgICAgICB2YXIgaW1hZ2UgPSBpbWFnZXNbaV07Cisg
ICAgICAgIHZhciB0ZXh0ID0gaW1hZ2VUZXh0c1tpXTsKKyAgICAgICAgaWYgKHRleHQudGV4dENv
bnRlbnQgPT0gJ0V4cGVjdGVkIEltYWdlJykgeworICAgICAgICAgICAgdGV4dC50ZXh0Q29udGVu
dCA9ICdBY3R1YWwgSW1hZ2UnOworICAgICAgICAgICAgaW1hZ2Uuc3JjID0gaW1hZ2UuZ2V0QXR0
cmlidXRlKCdkYXRhLXByZWZpeCcpICsgJy1hY3R1YWwucG5nJzsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIHRleHQudGV4dENvbnRlbnQgPSAnRXhwZWN0ZWQgSW1hZ2UnOworICAgICAg
ICAgICAgaW1hZ2Uuc3JjID0gaW1hZ2UuZ2V0QXR0cmlidXRlKCdkYXRhLXByZWZpeCcpICsgJy1l
eHBlY3RlZC5wbmcnOworICAgICAgICB9CisgICAgfQorfQorCiBmdW5jdGlvbiB0YWJsZVJvdyh0
ZXN0T2JqZWN0KQogeyAgICAKICAgICB2YXIgcm93ID0gJzx0Ym9keScKQEAgLTM4NCwxMCArNDQ5
LDE2IEBAIGZ1bmN0aW9uIHRhYmxlUm93KHRlc3RPYmplY3QpCiAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICBpZiAodGVzdE9iamVjdC5pc19yZWZ0ZXN0KQogICAgICAgICAgICAgICAgIHJv
dyArPSByZXN1bHRMaW5rKHRlc3RfcHJlZml4LCAnLWV4cGVjdGVkLmh0bWwnLCAncmVmIGh0bWwn
KTsKLQotICAgICAgICAgICAgcm93ICs9IHJlc3VsdExpbmsodGVzdF9wcmVmaXgsICctZXhwZWN0
ZWQucG5nJywgJ2V4cGVjdGVkJykgKwotICAgICAgICAgICAgICAgIHJlc3VsdExpbmsodGVzdF9w
cmVmaXgsICctYWN0dWFsLnBuZycsICdhY3R1YWwnKSArCi0gICAgICAgICAgICAgICAgcmVzdWx0
TGluayh0ZXN0X3ByZWZpeCwgJy1kaWZmLnBuZycsICdkaWZmJyk7CisgICAgICAgICAgICAKKyAg
ICAgICAgICAgIGlmIChnbG9iYWxTdGF0ZSgpLnNob3VsZFRvZ2dsZUltYWdlcykgeworICAgICAg
ICAgICAgICAgIHJvdyArPSByZXN1bHRMaW5rKHRlc3RfcHJlZml4LCAnLWRpZmZzLmh0bWwnLCAn
aW1hZ2VzJyk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHJvdyArPSBy
ZXN1bHRMaW5rKHRlc3RfcHJlZml4LCAnLWV4cGVjdGVkLnBuZycsICdleHBlY3RlZCcpOworICAg
ICAgICAgICAgICAgIHJvdyArPSByZXN1bHRMaW5rKHRlc3RfcHJlZml4LCAnLWFjdHVhbC5wbmcn
LCAnYWN0dWFsJyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIEZJWE1FOiBvbGQt
cnVuLXdlYmtpdC10ZXN0cyBzaG93cyB0aGUgZGlmZiBwZXJjZW50YWdlIGFzIHRoZSB0ZXh0IGNv
bnRlbnRzIG9mIHRoZSAiZGlmZiIgbGluay4KKyAgICAgICAgICAgIHJvdyArPSByZXN1bHRMaW5r
KHRlc3RfcHJlZml4LCAnLWRpZmYucG5nJywgJ2RpZmYnKTsKICAgICAgICAgfQogICAgIH0KIApA
QCAtNTcxLDE4ICs2NDIsMzIgQEAgdmFyIFBpeGVsWm9vbWVyID0ge307CiAKIFBpeGVsWm9vbWVy
LnNob3dPbkRlbGF5ID0gdHJ1ZTsKIAorUGl4ZWxab29tZXIuX3pvb21JbWFnZUNvbnRhaW5lciA9
IGZ1bmN0aW9uKHVybCkKK3sKKyAgICByZXR1cm4gJzxkaXYgY2xhc3M9em9vbS1pbWFnZS1jb250
YWluZXI+PGltZyBzcmM9IicgKyB1cmwgKyAnIj48L2Rpdj4nOworfQorCiBQaXhlbFpvb21lci5f
Y3JlYXRlQ29udGFpbmVyID0gZnVuY3Rpb24oZSkKIHsKICAgICB2YXIgdGJvZHkgPSBwYXJlbnRP
ZlR5cGUoZS50YXJnZXQsICd0Ym9keScpOwotICAgIHZhciBpbWFnZURpZmZMaW5rcyA9IHRib2R5
LnF1ZXJ5U2VsZWN0b3IoJ3RyJykucXVlcnlTZWxlY3RvckFsbCgnYVtocmVmJD0iLnBuZyJdJyk7
CisgICAgdmFyIHJvdyA9IHRib2R5LnF1ZXJ5U2VsZWN0b3IoJ3RyJyk7CisgICAgdmFyIGltYWdl
RGlmZkxpbmtzID0gcm93LnF1ZXJ5U2VsZWN0b3JBbGwoJ2FbaHJlZiQ9Ii5wbmciXScpOwogICAg
IAogICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAg
ICBjb250YWluZXIuY2xhc3NOYW1lID0gJ3BpeGVsLXpvb20tY29udGFpbmVyJzsKICAgICAKICAg
ICB2YXIgaHRtbCA9ICcnOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW1hZ2VEaWZmTGlua3Mu
bGVuZ3RoOyBpKyspCi0gICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9em9vbS1pbWFnZS1jb250
YWluZXI+PGltZyBzcmM9IicgKyBpbWFnZURpZmZMaW5rc1tpXS5ocmVmICsgJyI+PC9kaXY+JzsK
ICAgICAKKyAgICB2YXIgdG9nZ2xpbmdJbWFnZUxpbmsgPSByb3cucXVlcnlTZWxlY3RvcignYVto
cmVmJD0iLWRpZmZzLmh0bWwiXScpOworICAgIGlmICh0b2dnbGluZ0ltYWdlTGluaykgeworICAg
ICAgICB2YXIgcHJlZml4ID0gdG9nZ2xpbmdJbWFnZUxpbmsuZ2V0QXR0cmlidXRlKCdkYXRhLXBy
ZWZpeCcpOworICAgICAgICBodG1sICs9IFBpeGVsWm9vbWVyLl96b29tSW1hZ2VDb250YWluZXIo
cHJlZml4ICsgJy1leHBlY3RlZC5wbmcnKSArCisgICAgICAgICAgICBQaXhlbFpvb21lci5fem9v
bUltYWdlQ29udGFpbmVyKHByZWZpeCArICctYWN0dWFsLnBuZycpOworICAgIH0KKyAgICAKKyAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGltYWdlRGlmZkxpbmtzLmxlbmd0aDsgaSsrKQorICAgICAg
ICBodG1sICs9IFBpeGVsWm9vbWVyLl96b29tSW1hZ2VDb250YWluZXIoaW1hZ2VEaWZmTGlua3Nb
aV0uaHJlZik7CisKICAgICBjb250YWluZXIuaW5uZXJIVE1MID0gaHRtbDsKICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7CiAKQEAgLTYzOCw3ICs3MjMsNyBAQCBkb2N1
bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBQaXhlbFpvb21lci5oYW5kbGVNb3Vz
ZU1vdmUsIGZhbHNlKTsKIAogZnVuY3Rpb24gb25seVNob3dVbmV4cGVjdGVkRmFpbHVyZXMoKQog
ewotICAgIHZhciBjaGVja0JveCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy51bmV4cGVjdGVk
LXJlc3VsdHMnKTsKKyAgICB2YXIgY2hlY2tCb3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dW5leHBlY3RlZC1yZXN1bHRzJyk7CiAgICAgcmV0dXJuICFjaGVja0JveCB8fCBjaGVja0JveC5j
aGVja2VkOwogfQogCkBAIC02NDgsMTQgKzczMyw2NSBAQCBmdW5jdGlvbiB1cGRhdGVFeHBlY3Rl
ZEZhaWx1cmVzKCkKICAgICAgICAgJy5leHBlY3RlZCB7IGRpc3BsYXk6IG5vbmU7IH0nIDogJyc7
CiB9CiAKK2Z1bmN0aW9uIHVwZGF0ZVRvZ2dsaW5nSW1hZ2VzKCkKK3sKKyAgICB2YXIgc2hvdWxk
VG9nZ2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvZ2dsZS1pbWFnZXMnKS5jaGVja2Vk
OworICAgIGdsb2JhbFN0YXRlKCkuc2hvdWxkVG9nZ2xlSW1hZ2VzID0gc2hvdWxkVG9nZ2xlOwor
ICAgIAorICAgIGlmIChzaG91bGRUb2dnbGUpIHsKKyAgICAgICAgZm9yRWFjaChkb2N1bWVudC5x
dWVyeVNlbGVjdG9yQWxsKCdhW2hyZWYkPSIucG5nIl0nKSwgY29udmVydFRvVG9nZ2xpbmdIYW5k
bGVyKGZ1bmN0aW9uKHByZWZpeCkgeworICAgICAgICAgICAgcmV0dXJuIHJlc3VsdExpbmsocHJl
Zml4LCAnLWRpZmZzLmh0bWwnLCAnaW1hZ2VzJyk7CisgICAgICAgIH0pKTsKKyAgICAgICAgZm9y
RWFjaChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpbWdbc3JjJD0iLnBuZyJdJyksIGNvbnZl
cnRUb1RvZ2dsaW5nSGFuZGxlcih0b2dnbGluZ0ltYWdlKSk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgZm9yRWFjaChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdhW2hyZWYkPSItZGlmZnMuaHRt
bCJdJyksIGNvbnZlcnRUb05vblRvZ2dsaW5nSGFuZGxlcihyZXN1bHRMaW5rKSk7CisgICAgICAg
IGZvckVhY2goZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmFuaW1hdGVkSW1hZ2UnKSwgY29u
dmVydFRvTm9uVG9nZ2xpbmdIYW5kbGVyKGZ1bmN0aW9uIChhYnNvbHV0ZVByZWZpeCwgc3VmZml4
KSB7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0SWZyYW1lKGFic29sdXRlUHJlZml4ICsgc3Vm
Zml4KTsKKyAgICAgICAgfSkpOworICAgIH0KKworICAgIHVwZGF0ZUltYWdlVG9nZ2xpbmdUaW1l
cigpOworfQorCisKK2Z1bmN0aW9uIGdldFJlc3VsdENvbnRhaW5lcihub2RlKQoreworICAgIHJl
dHVybiAobm9kZS50YWdOYW1lID09ICdJTUcnKSA/IHBhcmVudE9mVHlwZShub2RlLCAnLnJlc3Vs
dC1jb250YWluZXInKSA6IG5vZGU7Cit9CisKK2Z1bmN0aW9uIGNvbnZlcnRUb1RvZ2dsaW5nSGFu
ZGxlcih0b2dnbGluZ0ltYWdlRnVuY3Rpb24pCit7CisgICAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUp
IHsKKyAgICAgICAgdmFyIHVybCA9IChub2RlLnRhZ05hbWUgPT0gJ0lNRycpID8gbm9kZS5zcmMg
OiBub2RlLmhyZWY7CisgICAgICAgIGlmICh1cmwubWF0Y2goJy1leHBlY3RlZC5wbmckJykpCisg
ICAgICAgICAgICByZW1vdmUoZ2V0UmVzdWx0Q29udGFpbmVyKG5vZGUpKTsKKyAgICAgICAgZWxz
ZSBpZiAodXJsLm1hdGNoKCctYWN0dWFsLnBuZyQnKSkgeworICAgICAgICAgICAgdmFyIG5hbWUg
PSBwYXJlbnRPZlR5cGUobm9kZSwgJ3Rib2R5JykucXVlcnlTZWxlY3RvcignLnRlc3QtbGluaycp
LnRleHRDb250ZW50OworICAgICAgICAgICAgZ2V0UmVzdWx0Q29udGFpbmVyKG5vZGUpLm91dGVy
SFRNTCA9IHRvZ2dsaW5nSW1hZ2VGdW5jdGlvbihzdHJpcEV4dGVuc2lvbihuYW1lKSk7CisgICAg
ICAgIH0gICAKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGNvbnZlcnRUb05vblRvZ2dsaW5nSGFuZGxl
cihyZXN1bHRGdW5jdGlvbikKK3sKKyAgICByZXR1cm4gZnVuY3Rpb24obm9kZSkgeworICAgICAg
ICB2YXIgcHJlZml4ID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtcHJlZml4Jyk7CisgICAgICAg
IGdldFJlc3VsdENvbnRhaW5lcihub2RlKS5vdXRlckhUTUwgPSByZXN1bHRGdW5jdGlvbihwcmVm
aXgsICctZXhwZWN0ZWQucG5nJywgJ2V4cGVjdGVkJykgKyByZXN1bHRGdW5jdGlvbihwcmVmaXgs
ICctYWN0dWFsLnBuZycsICdhY3R1YWwnKTsKKyAgICB9Cit9CisKIGZ1bmN0aW9uIGdlbmVyYXRl
UGFnZSgpCiB7CiAgICAgdmFyIGh0bWwgPSAnPGRpdiBpZD1vcHRpb25zPicgKwogICAgICAgICAn
PGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKCkiIGNsYXNzPSJleHBhbmQtYWxsIiBvbmNsaWNrPSJl
eHBhbmRBbGxFeHBlY3RhdGlvbnMoKSI+ZXhwYW5kIGFsbDwvYT4gJyArCiAgICAgICAgICc8YSBo
cmVmPSJqYXZhc2NyaXB0OnZvaWQoKSIgY2xhc3M9ImNvbGxhcHNlLWFsbCIgb25jbGljaz0iY29s
bGFwc2VBbGxFeHBlY3RhdGlvbnMoKSI+Y29sbGFwc2UgYWxsPC9hPic7CiAKKyAgICAvLyBGSVhN
RTogcHV0IHRoZXNlIG9wdGlvbnMgaW4gYSBtZW51CisgICAgLy8gRklYTUU6IHN0b3JlIHRoZXNl
IGFzIHByZWZzIGluIGxvY2Fsc3RvcmFnZT8KICAgICBpZiAoZ2xvYmFsU3RhdGUoKS5yZXN1bHRz
LnVzZXNfZXhwZWN0YXRpb25zX2ZpbGUpCi0gICAgICAgIGh0bWwgKz0gJzxsYWJlbD48aW5wdXQg
Y2xhc3M9InVuZXhwZWN0ZWQtcmVzdWx0cyIgdHlwZT1jaGVja2JveCBjaGVja2VkIG9uY2hhbmdl
PSJ1cGRhdGVFeHBlY3RlZEZhaWx1cmVzKCkiPk9ubHkgc2hvdyB1bmV4cGVjdGVkIHJlc3VsdHM8
L2xhYmVsPic7CisgICAgICAgIGh0bWwgKz0gJzxsYWJlbD48aW5wdXQgaWQ9InVuZXhwZWN0ZWQt
cmVzdWx0cyIgdHlwZT1jaGVja2JveCBjaGVja2VkIG9uY2hhbmdlPSJ1cGRhdGVFeHBlY3RlZEZh
aWx1cmVzKCkiPk9ubHkgc2hvdyB1bmV4cGVjdGVkIHJlc3VsdHM8L2xhYmVsPic7CisKKyAgICBo
dG1sICs9ICc8bGFiZWw+PGlucHV0IGlkPSJ0b2dnbGUtaW1hZ2VzIiB0eXBlPWNoZWNrYm94IGNo
ZWNrZWQgb25jaGFuZ2U9InVwZGF0ZVRvZ2dsaW5nSW1hZ2VzKCkiPlRvZ2dsZSBpbWFnZXM8L2xh
YmVsPic7CiAKICAgICBodG1sICs9ICc8L2Rpdj4nOwogCkBAIC02NjUsNyArODAxLDcgQEAgZnVu
Y3Rpb24gZ2VuZXJhdGVQYWdlKCkKICAgICAgICAgaHRtbCArPSAnPHA+VGVzdHMgd2hlcmUgcmVz
dWx0cyBkaWQgbm90IG1hdGNoIGV4cGVjdGVkIHJlc3VsdHM6PC9wPicgKwogICAgICAgICAgICAg
Jzx0YWJsZSBpZD0icmVzdWx0cy10YWJsZSI+PHRoZWFkPjx0cj4nICsKICAgICAgICAgICAgICc8
dGg+dGVzdDwvdGg+JyArCi0gICAgICAgICAgICAnPHRoIGlkPSJ0ZXh0LXJlc3VsdHMtaGVhZGVy
Ij50ZXh0IHJlc3VsdHM8L3RoPicgKworICAgICAgICAgICAgJzx0aCBpZD0idGV4dC1yZXN1bHRz
LWhlYWRlciI+cmVzdWx0czwvdGg+JyArCiAgICAgICAgICAgICAnPHRoIGlkPSJpbWFnZS1yZXN1
bHRzLWhlYWRlciI+aW1hZ2UgcmVzdWx0czwvdGg+JyArCiAgICAgICAgICAgICAnPHRoPmZhaWx1
cmUgdHlwZTwvdGg+JzsKIApAQCAtNjk2LDggKzgzMiwxMCBAQCBmdW5jdGlvbiBnZW5lcmF0ZVBh
Z2UoKQogICAgICAgICBUYWJsZVNvcnRlci5zb3J0Q29sdW1uKDApOwogICAgICAgICBpZiAoIWds
b2JhbFN0YXRlKCkuaGFzVGV4dEZhaWx1cmVzKQogICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3RleHQtcmVzdWx0cy1oZWFkZXInKS50ZXh0Q29udGVudCA9ICcnOwotICAgICAg
ICBpZiAoIWdsb2JhbFN0YXRlKCkuaGFzSW1hZ2VGYWlsdXJlcykKKyAgICAgICAgaWYgKCFnbG9i
YWxTdGF0ZSgpLmhhc0ltYWdlRmFpbHVyZXMpIHsKICAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdpbWFnZS1yZXN1bHRzLWhlYWRlcicpLnRleHRDb250ZW50ID0gJyc7CisgICAg
ICAgICAgICBwYXJlbnRPZlR5cGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvZ2dsZS1pbWFn
ZXMnKSwgJ2xhYmVsJykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICAgICAgfQogICAgIH0K
ICAgICAKICAgICB1cGRhdGVFeHBlY3RlZEZhaWx1cmVzKCk7CmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTYwM2YwZGZiZDE3NTBmODVlZTAyZmRi
MzBkMTBjYjdkNWNjMjA1Yy4uMWE3ZjNhOGQyMjUxNWYxNWQ5N2NlMDdiNWZiMzcxMjBkMTgxMTM1
OCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDExLTA1LTAyICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgYWRkIGlt
YWdlIHRvZ2dsaW5nIGJlaGF2aW9yIGZyb20gb2xkLXJ1bi13ZWJraXQtdGVzdHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5OTc4CisKKyAgICAgICAg
T3V0cHV0IC1kaWZmcy5odG1sIGZpbGVzLiBUaGlzIG1hdGNoZXMgb2xkLXJ1bi13ZWJraXQtdGVz
dHMuCisgICAgICAgIEluIHRoZW9yeSwgd2UgY291bGQgdXNlIGRhdGEgdXJscyBpbiB0aGUgcmVz
dWx0cy5odG1sIGZpbGUsIGJ1dAorICAgICAgICBkYXRhIHVybHMgZG9uJ3QgY3VycmVudGx5IGhh
dmUgYWNjZXNzIHRvIGxvY2FsIGZpbGVzLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9yZXN1bHRfd3JpdGVyLnB5OgorCiAyMDEx
LTA1LTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3Rlc3RfcmVzdWx0X3dyaXRlci5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3Rlc3Rf
cmVzdWx0X3dyaXRlci5weQppbmRleCAyNDNiYmVkY2U3YTFiOGEzMjdhNGRlN2E3YzNjZTg5NzZh
YmM2M2FhLi5hNTI1MzBjZjYxMDQ5MzZiMjAxYTVmZDA1NDY5YzcyMGMzYzRjNThkIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS90
ZXN0X3Jlc3VsdF93cml0ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9yZXN1bHRfd3JpdGVyLnB5CkBAIC0xMDUsNiArMTA1
LDcgQEAgY2xhc3MgVGVzdFJlc3VsdFdyaXRlcihvYmplY3QpOgogICAgIEZJTEVOQU1FX1NVRkZJ
WF9XRElGRiA9ICItd2RpZmYuaHRtbCIKICAgICBGSUxFTkFNRV9TVUZGSVhfUFJFVFRZX1BBVENI
ID0gIi1wcmV0dHktZGlmZi5odG1sIgogICAgIEZJTEVOQU1FX1NVRkZJWF9JTUFHRV9ESUZGID0g
Ii1kaWZmLnBuZyIKKyAgICBGSUxFTkFNRV9TVUZGSVhfSU1BR0VfRElGRlNfSFRNTCA9ICItZGlm
ZnMuaHRtbCIKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0LCByb290X291dHB1dF9kaXIs
IGZpbGVuYW1lKToKICAgICAgICAgc2VsZi5fcG9ydCA9IHBvcnQKQEAgLTIxOCw3ICsyMTksMzgg
QEAgY2xhc3MgVGVzdFJlc3VsdFdyaXRlcihvYmplY3QpOgogICAgICAgICAjIEl0IG1pZ2h0IGJl
IGJldHRlciB0byBleHRyYWN0ICdkaWZmJyBjb2RlIGFuZCBtYWtlIGl0IGEgc2VwYXJhdGUgZnVu
Y3Rpb24uCiAgICAgICAgICMgVG8gZG8gc28sIHdlIGhhdmUgdG8gY2hhbmdlIHBvcnQuZGlmZl9p
bWFnZSgpIGFzIHdlbGwuCiAgICAgICAgIGRpZmZfZmlsZW5hbWUgPSBzZWxmLm91dHB1dF9maWxl
bmFtZShzZWxmLkZJTEVOQU1FX1NVRkZJWF9JTUFHRV9ESUZGKQotICAgICAgICByZXR1cm4gc2Vs
Zi5fcG9ydC5kaWZmX2ltYWdlKGFjdHVhbF9pbWFnZSwgZXhwZWN0ZWRfaW1hZ2UsIGRpZmZfZmls
ZW5hbWUpCisgICAgICAgIGltYWdlc19hcmVfZGlmZmVyZW50ID0gc2VsZi5fcG9ydC5kaWZmX2lt
YWdlKGFjdHVhbF9pbWFnZSwgZXhwZWN0ZWRfaW1hZ2UsIGRpZmZfZmlsZW5hbWUpCisKKyAgICAg
ICAgaWYgbm90IGltYWdlc19hcmVfZGlmZmVyZW50OgorICAgICAgICAgICAgcmV0dXJuIEZhbHNl
CisKKyAgICAgICAgZGlmZnNfaHRtbF9maWxlbmFtZSA9IHNlbGYub3V0cHV0X2ZpbGVuYW1lKHNl
bGYuRklMRU5BTUVfU1VGRklYX0lNQUdFX0RJRkZTX0hUTUwpCisgICAgICAgICMgRklYTUU6IG9s
ZC1ydW4td2Via2l0LXRlc3RzIHNob3dzIHRoZSBkaWZmIHBlcmNlbnRhZ2UgYXMgdGhlIHRleHQg
Y29udGVudHMgb2YgdGhlICJkaWZmIiBsaW5rLgorICAgICAgICAjIEZJWE1FOiBvbGQtcnVuLXdl
YmtpdC10ZXN0cyBpbmNsdWRlIGEgbGluayB0byB0aGUgdGVzdCBmaWxlLgorICAgICAgICBodG1s
ID0gIiIiPCFET0NUWVBFIEhUTUw+PHRpdGxlPiVzPC90aXRsZT4KKzxzdHlsZT4ubGFiZWx7Zm9u
dC13ZWlnaHQ6Ym9sZH08L3N0eWxlPgorRGlmZmVyZW5jZSBiZXR3ZWVuIGltYWdlczogPGEgaHJl
Zj0iJXMiPmRpZmY8L2E+PGJyPgorPGRpdiBjbGFzcz1pbWFnZVRleHQ+PC9kaXY+PGltZyBjbGFz
cz1hbmltYXRlZEltYWdlIGRhdGEtcHJlZml4PSIlcyI+PC9pbWc+OworPHNjcmlwdD4KKyAgICBm
dW5jdGlvbiB0b2dnbGVJbWFnZXMoKQorICAgIHsKKyAgICAgICAgdmFyIGltYWdlID0gZG9jdW1l
bnQucXVlcnlTZWxlY3RvcignLmFuaW1hdGVkSW1hZ2UnKTsKKyAgICAgICAgdmFyIHRleHQgPSBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaW1hZ2VUZXh0Jyk7CisgICAgICAgIGlmICh0ZXh0LnRl
eHRDb250ZW50ID09ICdFeHBlY3RlZCBJbWFnZScpIHsKKyAgICAgICAgICAgIHRleHQudGV4dENv
bnRlbnQgPSAnQWN0dWFsIEltYWdlJzsKKyAgICAgICAgICAgIGltYWdlLnNyYyA9IGltYWdlLmdl
dEF0dHJpYnV0ZSgnZGF0YS1wcmVmaXgnKSArICctYWN0dWFsLnBuZyc7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICB0ZXh0LnRleHRDb250ZW50ID0gJ0V4cGVjdGVkIEltYWdlJzsKKyAg
ICAgICAgICAgIGltYWdlLnNyYyA9IGltYWdlLmdldEF0dHJpYnV0ZSgnZGF0YS1wcmVmaXgnKSAr
ICctZXhwZWN0ZWQucG5nJzsKKyAgICAgICAgfQorICAgIH0KKyAgICB0b2dnbGVJbWFnZXMoKTsK
KyAgICBzZXRJbnRlcnZhbCh0b2dnbGVJbWFnZXMsIDIwMDApCis8L3NjcmlwdD4KKyIiIiAlIChz
ZWxmLl90ZXN0bmFtZSwgc2VsZi5vdXRwdXRfZmlsZW5hbWUoJy1kaWZmLnBuZycpLCBzZWxmLm91
dHB1dF9maWxlbmFtZSgnJykpCisgICAgICAgIHNlbGYuX3BvcnQuX2ZpbGVzeXN0ZW0ud3JpdGVf
YmluYXJ5X2ZpbGUoZGlmZnNfaHRtbF9maWxlbmFtZSwgaHRtbCkKKworICAgICAgICByZXR1cm4g
VHJ1ZQogCiAgICAgZGVmIGNvcHlfZmlsZShzZWxmLCBzcmNfZmlsZXBhdGgsIGRzdF9leHRlbnNp
b24pOgogICAgICAgICBmcyA9IHNlbGYuX3BvcnQuX2ZpbGVzeXN0ZW0K
</data>
<flag name="review"
          id="84924"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>