<?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>25128</bug_id>
          
          <creation_ts>2009-04-09 22:21:22 -0700</creation_ts>
          <short_desc>run-webkit-tests should be better factored to allow the tests to run on threads</short_desc>
          <delta_ts>2010-03-31 16:16:01 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>10906</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Levin">levin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>eric</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>117119</commentid>
    <comment_count>0</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-04-09 22:21:22 -0700</bug_when>
    <thetext>Specific changes include
1. Using shared variables and locks where appropriate for test pass/fail, etc. state.
2. Making output from running tests go through a central function so that it can be buffered for each thread and output in a sensible order.
3. Rearranging some code and variables to group together things that would be thread specific from things that are global.
4. Change countFinishedTest to work better in an environment when the total number of tests to run isn&apos;t known.  Since each test thread will pick off as many tests as it can, it isn&apos;t known ahead of time how many tests will run per thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117120</commentid>
    <comment_count>1</comment_count>
      <attachid>29386</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-04-09 22:34:01 -0700</bug_when>
    <thetext>Created attachment 29386
Proposed fix.

 WebKitTools/ChangeLog                |   19 ++++
 WebKitTools/Scripts/run-webkit-tests |  194 ++++++++++++++++++++--------------
 2 files changed, 132 insertions(+), 81 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117124</commentid>
    <comment_count>2</comment_count>
      <attachid>29386</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-04-09 23:46:08 -0700</bug_when>
    <thetext>Comment on attachment 29386
Proposed fix.

On hold for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165035</commentid>
    <comment_count>3</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-11-19 11:31:51 -0800</bug_when>
    <thetext>Removed myself from this bug as I will have no time for the foreseeable future to do anything on this. Eric may be starting to do something though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206790</commentid>
    <comment_count>4</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-03-31 16:16:01 -0700</bug_when>
    <thetext>The current perl script isn&apos;t going to be refactored by me. I suspect it will be replaced by the python version which is underway.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29386</attachid>
            <date>2009-04-09 22:34:01 -0700</date>
            <delta_ts>2009-04-09 23:46:08 -0700</delta_ts>
            <desc>Proposed fix.</desc>
            <filename>-Misc-run-webkit-test-threading-improvements..patch</filename>
            <type>text/plain</type>
            <size>15008</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">MGVhY2EzZjcwZTdkNTYzZmRhMDljYjk3ZmI0YzNiMTAyOTdmZTA3NQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDExOTk5ZDAu
Ljc5MWUyZDQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAwOS0wNC0wOSAgRGF2aWQgTGV2aW4g
IDxsZXZpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1
MTI4CisKKyAgICAgICAgU3BlY2lmaWMgY2hhbmdlcyBpbmNsdWRlOgorICAgICAgICAxLiBVc2lu
ZyBzaGFyZWQgdmFyaWFibGVzIGFuZCBsb2NrcyB3aGVyZSBhcHByb3ByaWF0ZSBmb3IgdGVzdCBw
YXNzL2ZhaWwgc3RhdGUsIGV0Yy4KKyAgICAgICAgMi4gTWFraW5nIG91dHB1dCBmcm9tIHJ1bm5p
bmcgdGVzdHMgZ28gdGhyb3VnaCBhIGNlbnRyYWwgZnVuY3Rpb24gc28gdGhhdCBpdAorICAgICAg
ICBjYW4gYmUgYnVmZmVyZWQgZm9yIGVhY2ggdGhyZWFkIGFuZCBvdXRwdXQgaW4gYSBzZW5zaWJs
ZSBvcmRlci4KKyAgICAgICAgMy4gUmVhcnJhbmdpbmcgc29tZSBjb2RlIGFuZCB2YXJpYWJsZXMg
dG8gZ3JvdXAgdG9nZXRoZXIgdGhpbmdzIHRoYXQgd291bGQgYmUKKyAgICAgICAgdGhyZWFkIHNw
ZWNpZmljIGZyb20gdGhpbmdzIHRoYXQgYXJlIGdsb2JhbC4KKyAgICAgICAgNC4gQ2hhbmdlIGNv
dW50RmluaXNoZWRUZXN0IHRvIHdvcmsgYmV0dGVyIGluIGFuIGVudmlyb25tZW50IHdoZW4gdGhl
IHRvdGFsCisgICAgICAgIG51bWJlciBvZiB0ZXN0cyB0byBydW4gaXNuJ3Qga25vd24uICBTaW5j
ZSBlYWNoIHRlc3QgdGhyZWFkIHdpbGwgcGljayBvZmYgYXMKKyAgICAgICAgbWFueSB0ZXN0cyBh
cyBpdCBjYW4sIGl0IGlzbid0IGtub3duIGFoZWFkIG9mIHRpbWUgaG93IG1hbnkgdGVzdHMgd2ls
bCBydW4gcGVyCisgICAgICAgIHRocmVhZC4KKworICAgICAgICAqIFNjcmlwdHMvcnVuLXdlYmtp
dC10ZXN0czoKKwogMjAwOS0wNC0wOSAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIFJlaW5zdGF0aW5nIDxyZGFyOi8vcHJvYmxlbS82NzE4NTg5PiBPcHRpb24g
dG8gdHVybiBvZmYgU1ZHIERPTSBPYmplY3RpdmUtQyBiaW5kaW5ncwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9y
dW4td2Via2l0LXRlc3RzCmluZGV4IDVmNWIzZDAuLjRhMzkyZjkgMTAwNzU1Ci0tLSBhL1dlYktp
dFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cworKysgYi9XZWJLaXRUb29scy9TY3JpcHRz
L3J1bi13ZWJraXQtdGVzdHMKQEAgLTcwLDYgKzcwLDggQEAgdXNlIHdlYmtpdGRpcnM7CiB1c2Ug
VkNTVXRpbHM7CiB1c2UgUE9TSVg7CiAKK3N1YiBwcmludFN0ZE91dCgkKTsKK3N1YiBjbGVhbnVw
VGVzdHMoKTsKIHN1YiBsYXVuY2hXaXRoQ3VycmVudEVudihAKTsKIHN1YiBvcGVuRGlmZlRvb2wo
KTsKIHN1YiBvcGVuRHVtcFRvb2woKTsKQEAgLTQ2OCwxNCArNDcwLDE1IEBAIGRpZSAibm8gdGVz
dHMgdG8gcnVuXG4iIGlmICFAdGVzdHM7CiAKIEB0ZXN0cyA9IHNvcnQgcGF0aGNtcCBAdGVzdHM7
CiAKLW15ICVjb3VudHM7Ci1teSAldGVzdHM7Ci1teSAlaW1hZ2VzUHJlc2VudDsKLW15ICVpbWFn
ZURpZmZlcmVuY2VzOwotbXkgJWR1cmF0aW9uczsKLW15ICRjb3VudCA9IDA7Ci1teSAkbGVha3NP
dXRwdXRGaWxlTnVtYmVyID0gMTsKLW15ICR0b3RhbExlYWtzID0gMDsKKyMgUmV2ZXJzZSB0aGUg
dGVzdHMKK0B0ZXN0cyA9IHJldmVyc2UgQHRlc3RzIGlmICRyZXZlcnNlVGVzdHM7CisKKyMgU2h1
ZmZsZSB0aGUgYXJyYXkKK0B0ZXN0cyA9IHNodWZmbGUoQHRlc3RzKSBpZiAkcmFuZG9taXplVGVz
dHM7CisKK3ByaW50ICJUZXN0aW5nICIsIHNjYWxhciBAdGVzdHMsICIgdGVzdCBjYXNlcy5cbiI7
CitteSAkb3ZlcmFsbFN0YXJ0VGltZSA9IHRpbWU7CiskfCA9IDE7CiAKIG15IEB0b29sQXJncyA9
ICgpOwogcHVzaCBAdG9vbEFyZ3MsICItLXBpeGVsLXRlc3RzIiBpZiAkcGl4ZWxUZXN0czsKQEAg
LTQ4NiwzMyArNDg5LDM1IEBAIHB1c2ggQHRvb2xBcmdzLCAiLSI7CiBteSBAZGlmZlRvb2xBcmdz
ID0gKCk7CiBwdXNoIEBkaWZmVG9vbEFyZ3MsICItLXRvbGVyYW5jZSIsICR0b2xlcmFuY2U7CiAK
LSR8ID0gMTsKKyMgVGVzdCByZXN1bHRzIHdoaWNoIGFyZSBzaGFyZWQgYWNyb3NzIHRocmVhZHMu
CitteSAkY291bnQgOiBzaGFyZWQgPSAwOworbXkgJGxlYWtzT3V0cHV0RmlsZU51bWJlciA6IHNo
YXJlZCA9IDE7CitteSAkdG90YWxMZWFrcyA6IHNoYXJlZCA9IDA7CitteSAkaXNIdHRwZE9wZW4g
OiBzaGFyZWQgPSAwOworbXkgJWNvdW50cyA6IHNoYXJlZDsKK215ICVpbWFnZXNQcmVzZW50IDog
c2hhcmVkOworbXkgJWltYWdlRGlmZmVyZW5jZXMgOiBzaGFyZWQ7CitteSAlZHVyYXRpb25zIDog
c2hhcmVkOworbXkgJWV4cGVjdGVkUmVzdWx0UGF0aHMgOiBzaGFyZWQ7CitteSAldGVzdHMgOiBz
aGFyZWQ7CisjIFRoZSBhcnJheSBlbnRyaWVzIG11c3QgYmUgaW5pdGlhbGl6ZWQgZHVlIHRvIHRo
ZSBhc3NvY2lhdGl2ZSBhcnJheSBiZWluZyBzaGFyZWQuCitmb3IgbXkgJHR5cGUgKCJtYXRjaCIs
ICJtaXNtYXRjaCIsICJuZXciLCAidGltZWRvdXQiLCAiY3Jhc2giLCAiZXJyb3IiKSB7CisgICAg
bXkgQGxpc3QgOiBzaGFyZWQgPSAoKTsKKyAgICAkdGVzdHN7JHR5cGV9ID0gXEBsaXN0OworfQog
CisjIEdsb2JhbCB2YXJpYWJsZXMgdGhhdCBhcmUgbW9kaWZpZWQgYnkgdGhlIHdvcmtlciB0aHJl
YWRzLgogbXkgJGR1bXBUb29sUElEOwogbXkgJGlzRHVtcFRvb2xPcGVuID0gMDsKIG15ICRkdW1w
VG9vbENyYXNoZWQgPSAwOwotbXkgJGltYWdlRGlmZlRvb2xQSUQ7CiBteSAkaXNEaWZmVG9vbE9w
ZW4gPSAwOwotCitteSAkaW1hZ2VEaWZmVG9vbFBJRDsKIG15ICRhdExpbmVTdGFydCA9IDE7CiBt
eSAkbGFzdERpcmVjdG9yeSA9ICIiOwogCi1teSAkaXNIdHRwZE9wZW4gPSAwOwotCiBzdWIgY2F0
Y2hfcGlwZSB7ICRkdW1wVG9vbENyYXNoZWQgPSAxOyB9CiAkU0lHeyJQSVBFIn0gPSAiY2F0Y2hf
cGlwZSI7CiAKLXByaW50ICJUZXN0aW5nICIsIHNjYWxhciBAdGVzdHMsICIgdGVzdCBjYXNlcy5c
biI7Ci1teSAkb3ZlcmFsbFN0YXJ0VGltZSA9IHRpbWU7Ci0KLW15ICVleHBlY3RlZFJlc3VsdFBh
dGhzOwotCi0jIFJldmVyc2UgdGhlIHRlc3RzCi1AdGVzdHMgPSByZXZlcnNlIEB0ZXN0cyBpZiAk
cmV2ZXJzZVRlc3RzOwotCi0jIFNodWZmbGUgdGhlIGFycmF5Ci1AdGVzdHMgPSBzaHVmZmxlKEB0
ZXN0cykgaWYgJHJhbmRvbWl6ZVRlc3RzOwotCiBmb3IgbXkgJHRlc3QgKEB0ZXN0cykgewogICAg
IG5leHQgaWYgJHRlc3QgZXEgJ3Jlc3VsdHMuaHRtbCc7CiAKQEAgLTUzMyw3ICs1MzgsNyBAQCBm
b3IgbXkgJHRlc3QgKEB0ZXN0cykgewogICAgICAgICAgICAgICAgICRsb2d1ZSA9IGNhbm9ucGF0
aCgkbG9ndWUpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKCR2ZXJib3NlKSB7Ci0g
ICAgICAgICAgICAgICAgcHJpbnQgInJ1bm5pbmcgZXBpbG9ndWUgb3IgcHJvbG9ndWUgJGxvZ3Vl
XG4iOworICAgICAgICAgICAgICAgIHByaW50U3RkT3V0ICJydW5uaW5nIGVwaWxvZ3VlIG9yIHBy
b2xvZ3VlICRsb2d1ZVxuIjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHByaW50IE9VVCAi
JGxvZ3VlXG4iOwogICAgICAgICAgICAgIyBUaHJvdyBhd2F5IG91dHB1dCBmcm9tIER1bXBSZW5k
ZXJUcmVlLgpAQCAtNTQ4LDE0ICs1NTMsMTQgQEAgZm9yIG15ICR0ZXN0IChAdGVzdHMpIHsKICAg
ICB9CiAKICAgICBpZiAoJHZlcmJvc2UpIHsKLSAgICAgICAgcHJpbnQgInJ1bm5pbmcgJHRlc3Qg
LT4gIjsKKyAgICAgICAgcHJpbnRTdGRPdXQgInJ1bm5pbmcgJHRlc3QgLT4gIjsKICAgICAgICAg
JGF0TGluZVN0YXJ0ID0gMDsKICAgICB9IGVsc2lmICghJHF1aWV0KSB7CiAgICAgICAgIGlmICgk
ZGlyIG5lICRsYXN0RGlyZWN0b3J5KSB7Ci0gICAgICAgICAgICBwcmludCAiXG4iIHVubGVzcyAk
YXRMaW5lU3RhcnQ7Ci0gICAgICAgICAgICBwcmludCAiJGRpciAiOworICAgICAgICAgICAgcHJp
bnRTdGRPdXQgIlxuIiB1bmxlc3MgJGF0TGluZVN0YXJ0OworICAgICAgICAgICAgcHJpbnRTdGRP
dXQgIiRkaXIgIjsKICAgICAgICAgfQotICAgICAgICBwcmludCAiLiI7CisgICAgICAgIHByaW50
U3RkT3V0ICIuIjsKICAgICAgICAgJGF0TGluZVN0YXJ0ID0gMDsKICAgICB9CiAKQEAgLTY1OSw3
ICs2NjQsNyBAQCBmb3IgbXkgJHRlc3QgKEB0ZXN0cykgewogICAgIH0KIAogICAgIGlmICgkc2hv
dWxkQ2hlY2tMZWFrcyAmJiAkdGVzdHNQZXJEdW1wVG9vbCA9PSAxKSB7Ci0gICAgICAgIHByaW50
ICIgICAgICAgICR0ZXN0IC0+ICI7CisgICAgICAgIHByaW50U3RkT3V0ICIgICAgICAgICR0ZXN0
IC0+ICI7CiAgICAgfQogCiAgICAgbXkgJGFjdHVhbFBORyA9ICIiOwpAQCAtNzg0LDkgKzc4OSw5
IEBAIGZvciBteSAkdGVzdCAoQHRlc3RzKSB7CiAKICAgICAgICAgICAkZGlmZlJlc3VsdCA9ICJm
YWlsZWQiOwogICAgICAgICAgIGlmICgkdmVyYm9zZSkgewotICAgICAgICAgICAgcHJpbnQgIlxu
IjsKLSAgICAgICAgICAgIHN5c3RlbSAiY2F0IC90bXAvc2ltcGxpZmllZC5kaWZmIjsKLSAgICAg
ICAgICAgIHByaW50ICJmYWlsZWQhISEhISI7CisgICAgICAgICAgICBwcmludFN0ZE91dCAiXG4i
OworICAgICAgICAgICAgcHJpbnRTdGRPdXQgYGNhdCAvdG1wL3NpbXBsaWZpZWQuZGlmZmA7Cisg
ICAgICAgICAgICBwcmludFN0ZE91dCAiZmFpbGVkISEhISEiOwogICAgICAgICAgIH0KICAgICAg
ICAgfQogICAgICAgfQpAQCAtNzk3LDcgKzgwMiw3IEBAIGZvciBteSAkdGVzdCAoQHRlc3RzKSB7
CiAgICAgICAgIHRlc3RDcmFzaGVkT3JUaW1lZE91dCgkdGVzdCwgJGJhc2UsIDEsICRhY3R1YWws
ICRlcnJvcik7CiAgICAgfSBlbHNpZiAoIWRlZmluZWQgJGV4cGVjdGVkKSB7CiAgICAgICAgIGlm
ICgkdmVyYm9zZSkgewotICAgICAgICAgICAgcHJpbnQgIm5ldyAiIC4gKCRyZXNldFJlc3VsdHMg
PyAicmVzdWx0IiA6ICJ0ZXN0IikgLiJcbiI7CisgICAgICAgICAgICBwcmludFN0ZE91dCAibmV3
ICIgLiAoJHJlc2V0UmVzdWx0cyA/ICJyZXN1bHQiIDogInRlc3QiKSAuIlxuIjsKICAgICAgICAg
ICAgICRhdExpbmVTdGFydCA9IDE7CiAgICAgICAgIH0KICAgICAgICAgJHJlc3VsdCA9ICJuZXci
OwpAQCAtODExLDE2ICs4MTYsMTYgQEAgZm9yIG15ICR0ZXN0IChAdGVzdHMpIHsKICAgICAgICAg
ICAgICMgQWx3YXlzIHByaW50IHRoZSBmaWxlIG5hbWUgZm9yIG5ldyB0ZXN0cywgYXMgdGhleSB3
aWxsIHByb2JhYmx5IG5lZWQgc29tZSBtYW51YWwgaW5zcGVjdGlvbi4KICAgICAgICAgICAgICMg
aW4gdmVyYm9zZSBtb2RlIHdlIGFscmVhZHkgcHJpbnRlZCB0aGUgdGVzdCBjYXNlLCBzbyBubyBu
ZWVkIHRvIGRvIGl0IGFnYWluLgogICAgICAgICAgICAgdW5sZXNzICgkdmVyYm9zZSkgewotICAg
ICAgICAgICAgICAgIHByaW50ICJcbiIgdW5sZXNzICRhdExpbmVTdGFydDsKLSAgICAgICAgICAg
ICAgICBwcmludCAiJHRlc3QgLT4gIjsKKyAgICAgICAgICAgICAgICBwcmludFN0ZE91dCAiXG4i
IHVubGVzcyAkYXRMaW5lU3RhcnQ7CisgICAgICAgICAgICAgICAgcHJpbnRTdGRPdXQgIiR0ZXN0
IC0+ICI7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBteSAkcmVzdWx0c0RpciA9IGNhdGRp
cigkZXhwZWN0ZWREaXIsIGRpcm5hbWUoJGJhc2UpKTsKLSAgICAgICAgICAgIHByaW50ICJuZXcg
KHJlc3VsdHMgZ2VuZXJhdGVkIGluICRyZXN1bHRzRGlyKVxuIjsKKyAgICAgICAgICAgIHByaW50
U3RkT3V0ICJuZXcgKHJlc3VsdHMgZ2VuZXJhdGVkIGluICRyZXN1bHRzRGlyKVxuIjsKICAgICAg
ICAgICAgICRhdExpbmVTdGFydCA9IDE7CiAgICAgICAgIH0KICAgICB9IGVsc2lmICgkYWN0dWFs
IGVxICRleHBlY3RlZCAmJiAkZGlmZlJlc3VsdCBlcSAicGFzc2VkIikgewogICAgICAgICBpZiAo
JHZlcmJvc2UpIHsKLSAgICAgICAgICAgIHByaW50ICJzdWNjZWVkZWRcbiI7CisgICAgICAgICAg
ICBwcmludFN0ZE91dCAic3VjY2VlZGVkXG4iOwogICAgICAgICAgICAgJGF0TGluZVN0YXJ0ID0g
MTsKICAgICAgICAgfQogICAgICAgICAkcmVzdWx0ID0gIm1hdGNoIjsKQEAgLTkxNCw2ICs5MTks
NyBAQCBmb3IgbXkgJHRlc3QgKEB0ZXN0cykgewogICAgICAgICAKICAgICAgICAgd3JpdGVUb0Zp
bGUoIiR0ZXN0UmVzdWx0c0RpcmVjdG9yeS8kYmFzZS0kZXJyb3JUYWcudHh0IiwgJGVycm9yKTsK
ICAgICAgICAgCisgICAgICAgIGxvY2sgJWNvdW50czsKICAgICAgICAgJGNvdW50c3tlcnJvcn0r
KzsKICAgICAgICAgcHVzaCBAeyR0ZXN0c3tlcnJvcn19LCAkdGVzdDsKICAgICB9CkBAIC05MjIs
NyArOTI4LDcgQEAgZm9yIG15ICR0ZXN0IChAdGVzdHMpIHsKIH0KIHByaW50ZiAiXG4lMC4yZnMg
dG90YWwgdGVzdGluZyB0aW1lXG4iLCAodGltZSAtICRvdmVyYWxsU3RhcnRUaW1lKSAuICIiOwog
Ci0hJGlzRHVtcFRvb2xPcGVuIHx8IGRpZSAiRmFpbGVkIHRvIGNsb3NlICRkdW1wVG9vbE5hbWUu
XG4iOworY2xlYW51cFRlc3RzKCk7CiAKIGNsb3NlSFRUUEQoKTsKIApAQCAtOTMwLDExICs5MzYs
NiBAQCBjbG9zZUhUVFBEKCk7CiAjIHNhZmVseSBkZWxldGUgdGhpcyBzeW1saW5rLgogIyBzeXN0
ZW0gInJtIC90bXAvTGF5b3V0VGVzdHMiOwogCi0jIEZJWE1FOiBEbyB3ZSByZWFsbHkgd2FudCB0
byBjaGVjayB0aGUgaW1hZ2UtY29tcGFyaXNvbiB0b29sIGZvciBsZWFrcyBldmVyeSB0aW1lPwot
aWYgKCRpc0RpZmZUb29sT3BlbiAmJiAkc2hvdWxkQ2hlY2tMZWFrcykgewotICAgICR0b3RhbExl
YWtzICs9IGNvdW50QW5kUHJpbnRMZWFrcygiSW1hZ2VEaWZmIiwgJGltYWdlRGlmZlRvb2xQSUQs
ICIkdGVzdFJlc3VsdHNEaXJlY3RvcnkvSW1hZ2VEaWZmLWxlYWtzLnR4dCIpOwotfQotCiBpZiAo
JHRvdGFsTGVha3MpIHsKICAgICBpZiAoJG1lcmdlRGVwdGgpIHsKICAgICAgICAgcGFyc2VMZWFr
c2FuZFByaW50VW5pcXVlTGVha3MoKTsKQEAgLTk0NSwxMCArOTQ2LDYgQEAgaWYgKCR0b3RhbExl
YWtzKSB7CiAgICAgfQogfQogCi1jbG9zZSBJTjsKLWNsb3NlIE9VVDsKLWNsb3NlIEVSUk9SOwot
CiBpZiAoJHJlcG9ydDEwU2xvd2VzdCkgewogICAgIHByaW50ICJcblxuVGhlIDEwIHNsb3dlc3Qg
dGVzdHM6XG5cbiI7CiAgICAgbXkgJGNvdW50ID0gMDsKQEAgLTEwMzIsMTEgKzEwMjksMzAgQEAg
Y2xvc2VDeWdwYXRocygpIGlmIGlzQ3lnd2luKCk7CiAKIGV4aXQgMTsKIAorc3ViIHByaW50U3Rk
T3V0KCQpCit7CisgICAgbXkgKCRvdXRwdXQpID0gQF87CisgICAgcHJpbnQgJG91dHB1dDsKK30K
Kworc3ViIGNsZWFudXBUZXN0cygpCit7CisgICAgY2hlY2tMZWFrcygiQWZ0ZXJBbGxUZXN0cyIp
OworICAgIGNsb3NlRHVtcFRvb2woKTsKKworICAgICEkaXNEdW1wVG9vbE9wZW4gfHwgZGllICJG
YWlsZWQgdG8gY2xvc2UgJGR1bXBUb29sTmFtZS5cbiI7CisKKyAgICAjIEZJWE1FOiBEbyB3ZSBy
ZWFsbHkgd2FudCB0byBjaGVjayB0aGUgaW1hZ2UtY29tcGFyaXNvbiB0b29sIGZvciBsZWFrcyBl
dmVyeSB0aW1lPworICAgIGlmICgkaXNEaWZmVG9vbE9wZW4gJiYgJHNob3VsZENoZWNrTGVha3Mp
IHsKKyAgICAgICAgJHRvdGFsTGVha3MgKz0gY291bnRBbmRQcmludExlYWtzKCJJbWFnZURpZmYi
LCAkaW1hZ2VEaWZmVG9vbFBJRCwgIiR0ZXN0UmVzdWx0c0RpcmVjdG9yeS9JbWFnZURpZmYtbGVh
a3MudHh0Iik7CisgICAgfQorfQorCiBzdWIgY291bnRBbmRQcmludExlYWtzKCQkJCkKIHsKICAg
ICBteSAoJGR1bXBUb29sTmFtZSwgJGR1bXBUb29sUElELCAkbGVha3NGaWxlUGF0aCkgPSBAXzsK
IAotICAgIHByaW50ICJcbiIgdW5sZXNzICRhdExpbmVTdGFydDsKKyAgICBwcmludFN0ZE91dCAi
XG4iIHVubGVzcyAkYXRMaW5lU3RhcnQ7CiAgICAgJGF0TGluZVN0YXJ0ID0gMTsKIAogICAgICMg
V2UgYXJlIGV4Y2x1ZGluZyB0aGUgZm9sbG93aW5nIHJlcG9ydGVkIGxlYWtzIHNvIHRoZXkgZG9u
J3QgZ2V0IGluIG91ciB3YXkgd2hlbiBsb29raW5nIGZvciBXZWJLaXQgbGVha3M6CkBAIC0xMDk1
LDcgKzExMTEsNyBAQCBzdWIgY291bnRBbmRQcmludExlYWtzKCQkJCkKICAgICBteSAkZXhjbHVk
ZVN0cmluZyA9ICItLWV4Y2x1ZGUtY2FsbHN0YWNrICciIC4gKGpvaW4gIicgLS1leGNsdWRlLWNh
bGxzdGFjayAnIiwgQGNhbGxTdGFja3NUb0V4Y2x1ZGUpIC4gIiciOwogICAgICRleGNsdWRlU3Ry
aW5nIC49ICIgLS1leGNsdWRlLXR5cGUgJyIgLiAoam9pbiAiJyAtLWV4Y2x1ZGUtdHlwZSAnIiwg
QHR5cGVzVG9FeGNsdWRlKSAuICInIiBpZiBAdHlwZXNUb0V4Y2x1ZGU7CiAKLSAgICBwcmludCAi
ID8gY2hlY2tpbmcgZm9yIGxlYWtzIGluICRkdW1wVG9vbE5hbWVcbiI7CisgICAgcHJpbnRTdGRP
dXQgIiA/IGNoZWNraW5nIGZvciBsZWFrcyBpbiAkZHVtcFRvb2xOYW1lXG4iOwogICAgIG15ICRs
ZWFrc091dHB1dCA9IGAkbGVha3NUb29sICRleGNsdWRlU3RyaW5nICRkdW1wVG9vbFBJRGA7CiAg
ICAgbXkgKCRjb3VudCwgJGJ5dGVzKSA9ICRsZWFrc091dHB1dCA9fiAvUHJvY2VzcyAkZHVtcFRv
b2xQSUQ6IChcZCspIGxlYWtzPyBmb3IgKFxkKykgdG90YWwvOwogICAgIG15ICgkZXhjbHVkZWQp
ID0gJGxlYWtzT3V0cHV0ID1+IC8oXGQrKSBsZWFrcz8gZXhjbHVkZWQvOwpAQCAtMTEwNCw3ICsx
MTIwLDcgQEAgc3ViIGNvdW50QW5kUHJpbnRMZWFrcygkJCQpCiAgICAgJGFkanVzdGVkQ291bnQg
LT0gJGV4Y2x1ZGVkIGlmICRleGNsdWRlZDsKIAogICAgIGlmICghJGFkanVzdGVkQ291bnQpIHsK
LSAgICAgICAgcHJpbnQgIiAtIG5vIGxlYWtzIGZvdW5kXG4iOworICAgICAgICBwcmludFN0ZE91
dCAiIC0gbm8gbGVha3MgZm91bmRcbiI7CiAgICAgICAgIHVubGluayAkbGVha3NGaWxlUGF0aDsK
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgfSBlbHNlIHsKQEAgLTExMTMsOSArMTEyOSw5IEBAIHN1
YiBjb3VudEFuZFByaW50TGVha3MoJCQkKQogICAgICAgICBta3BhdGggJGRpcjsKIAogICAgICAg
ICBpZiAoJGV4Y2x1ZGVkKSB7Ci0gICAgICAgICAgICBwcmludCAiICsgJGFkanVzdGVkQ291bnQg
bGVha3MgKCRieXRlcyBieXRlcyBpbmNsdWRpbmcgJGV4Y2x1ZGVkIGV4Y2x1ZGVkIGxlYWtzKSB3
ZXJlIGZvdW5kLCBkZXRhaWxzIGluICRsZWFrc0ZpbGVQYXRoXG4iOworICAgICAgICAgICAgcHJp
bnRTdGRPdXQgIiArICRhZGp1c3RlZENvdW50IGxlYWtzICgkYnl0ZXMgYnl0ZXMgaW5jbHVkaW5n
ICRleGNsdWRlZCBleGNsdWRlZCBsZWFrcykgd2VyZSBmb3VuZCwgZGV0YWlscyBpbiAkbGVha3NG
aWxlUGF0aFxuIjsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHByaW50ICIgKyAkY291
bnQgbGVha3MgKCRieXRlcyBieXRlcykgd2VyZSBmb3VuZCwgZGV0YWlscyBpbiAkbGVha3NGaWxl
UGF0aFxuIjsKKyAgICAgICAgICAgIHByaW50U3RkT3V0ICIgKyAkY291bnQgbGVha3MgKCRieXRl
cyBieXRlcykgd2VyZSBmb3VuZCwgZGV0YWlscyBpbiAkbGVha3NGaWxlUGF0aFxuIjsKICAgICAg
ICAgfQogCiAgICAgICAgIHdyaXRlVG9GaWxlKCRsZWFrc0ZpbGVQYXRoLCAkbGVha3NPdXRwdXQp
OwpAQCAtMTI5OSw3ICsxMzE1LDcgQEAgc3ViIGNsb3NlRHVtcFRvb2woKQogICAgICMgY2hlY2sg
Zm9yIFdlYkNvcmUgY291bnRlciBsZWFrcy4KICAgICBpZiAoJHNob3VsZENoZWNrTGVha3MpIHsK
ICAgICAgICAgd2hpbGUgKDxFUlJPUj4pIHsKLSAgICAgICAgICAgIHByaW50OworICAgICAgICAg
ICAgcHJpbnRTdGRPdXQgJF87CiAgICAgICAgIH0KICAgICB9CiAgICAgY2xvc2UgRVJST1I7CkBA
IC0xMzI3LDYgKzEzNDMsNyBAQCBzdWIgZHVtcFRvb2xEaWRDcmFzaCgpCiAKIHN1YiBvcGVuSFRU
UERJZk5lZWRlZCgpCiB7CisgICAgbG9jayAkaXNIdHRwZE9wZW47CiAgICAgcmV0dXJuIGlmICRp
c0h0dHBkT3BlbjsKIAogICAgIG1rZGlyICIvdG1wL1dlYktpdCI7CkBAIC0xMzM1LDcgKzEzNTIs
NyBAQCBzdWIgb3BlbkhUVFBESWZOZWVkZWQoKQogICAgICAgICBteSAkb2xkUGlkID0gYGNhdCAv
dG1wL1dlYktpdC9odHRwZC5waWRgOwogICAgICAgICBjaG9tcCAkb2xkUGlkOwogICAgICAgICBp
ZiAoMCAhPSBraWxsIDAsICRvbGRQaWQpIHsKLSAgICAgICAgICAgIHByaW50ICJcbmh0dHBkIGlz
IGFscmVhZHkgcnVubmluZzogcGlkICRvbGRQaWQsIGtpbGxpbmcuLi5cbiI7CisgICAgICAgICAg
ICBwcmludFN0ZE91dCAiXG5odHRwZCBpcyBhbHJlYWR5IHJ1bm5pbmc6IHBpZCAkb2xkUGlkLCBr
aWxsaW5nLi4uXG4iOwogICAgICAgICAgICAga2lsbCAxNSwgJG9sZFBpZDsKICAgICAgICAgICAg
IAogICAgICAgICAgICAgbXkgJHJldHJ5Q291bnQgPSAyMDsKQEAgLTE0MTksNyArMTQzNiw4IEBA
IHN1YiBmaWxlTmFtZVdpdGhOdW1iZXIoJCQpCiAgICAgcmV0dXJuICRiYXNlOwogfQogCi1zdWIg
cHJvY2Vzc0lnbm9yZVRlc3RzKCQkKSB7CitzdWIgcHJvY2Vzc0lnbm9yZVRlc3RzKCQkKQorewog
ICAgIG15IEBpZ25vcmVMaXN0ID0gc3BsaXQoL1xzKixccyovLCBzaGlmdCk7CiAgICAgbXkgJGxp
c3ROYW1lID0gc2hpZnQ7CiAKQEAgLTE0NDEsNyArMTQ1OSw3IEBAIHN1YiBwcm9jZXNzSWdub3Jl
VGVzdHMoJCQpIHsKICAgICAgICAgfSBlbHNpZiAoLWYgJHBhdGggLiAkZGlzYWJsZWRTdWZmaXgp
IHsKICAgICAgICAgICAgICMgVGhlIHRlc3QgaXMgZGlzYWJsZWQsIHNvIGRvIG5vdGhpbmcuCiAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBwcmludCAiJGxpc3ROYW1lIGxpc3QgY29udGFp
bmVkICckaXRlbScsIGJ1dCBubyBmaWxlIG9mIHRoYXQgbmFtZSBjb3VsZCBiZSBmb3VuZFxuIjsK
KyAgICAgICAgICAgIHByaW50U3RkT3V0ICIkbGlzdE5hbWUgbGlzdCBjb250YWluZWQgJyRpdGVt
JywgYnV0IG5vIGZpbGUgb2YgdGhhdCBuYW1lIGNvdWxkIGJlIGZvdW5kXG4iOwogICAgICAgICB9
CiAgICAgfQogfQpAQCAtMTQ4NCwyOSArMTUwMiw0MCBAQCBzdWIgZXhwZWN0ZWREaXJlY3RvcnlG
b3JUZXN0KCQ7JDskKQogICAgIHJldHVybiAkaXNUZXh0ID8gJGV4cGVjdGVkRGlyZWN0b3J5IDog
JHBsYXRmb3JtUmVzdWx0SGllcmFyY2h5WyQjcGxhdGZvcm1SZXN1bHRIaWVyYXJjaHldOwogfQog
Ci1zdWIgY291bnRGaW5pc2hlZFRlc3QoJCQkJCkgewotICAgIG15ICgkdGVzdCwgJGJhc2UsICRy
ZXN1bHQsICRpc1RleHQpID0gQF87CitzdWIgY2hlY2tMZWFrcygkKQoreworICAgIHJldHVybiBp
ZiAhJHNob3VsZENoZWNrTGVha3M7CisgICAgcmV0dXJuIGlmICEkaXNEdW1wVG9vbE9wZW47Cisg
ICAgbXkgKCRiYXNlKSA9IEBfOwogCi0gICAgaWYgKCgkY291bnQgKyAxKSAlICR0ZXN0c1BlckR1
bXBUb29sID09IDAgfHwgJGNvdW50ID09ICQjdGVzdHMpIHsKLSAgICAgICAgaWYgKCRzaG91bGRD
aGVja0xlYWtzKSB7Ci0gICAgICAgICAgICBteSAkZmlsZU5hbWU7Ci0gICAgICAgICAgICBpZiAo
JHRlc3RzUGVyRHVtcFRvb2wgPT0gMSkgewotICAgICAgICAgICAgICAgICRmaWxlTmFtZSA9ICIk
dGVzdFJlc3VsdHNEaXJlY3RvcnkvJGJhc2UtbGVha3MudHh0IjsKLSAgICAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgJGZpbGVOYW1lID0gIiR0ZXN0UmVzdWx0c0RpcmVjdG9yeS8i
IC4gZmlsZU5hbWVXaXRoTnVtYmVyKCRkdW1wVG9vbE5hbWUsICRsZWFrc091dHB1dEZpbGVOdW1i
ZXIpIC4gIi1sZWFrcy50eHQiOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgbXkgJGxlYWtD
b3VudCA9IGNvdW50QW5kUHJpbnRMZWFrcygkZHVtcFRvb2xOYW1lLCAkZHVtcFRvb2xQSUQsICRm
aWxlTmFtZSk7Ci0gICAgICAgICAgICAkdG90YWxMZWFrcyArPSAkbGVha0NvdW50OwotICAgICAg
ICAgICAgJGxlYWtzT3V0cHV0RmlsZU51bWJlcisrIGlmICgkbGVha0NvdW50KTsKKyAgICBteSAk
ZmlsZU5hbWUgPSAiJHRlc3RSZXN1bHRzRGlyZWN0b3J5LyRiYXNlLWxlYWtzLnR4dCI7CisgICAg
bXkgJGxlYWtDb3VudCA9IGNvdW50QW5kUHJpbnRMZWFrcygkZHVtcFRvb2xOYW1lLCAkZHVtcFRv
b2xQSUQsICRmaWxlTmFtZSk7CisgICAgJHRvdGFsTGVha3MgKz0gJGxlYWtDb3VudDsKKyAgICBp
ZiAoJGxlYWtDb3VudCkgeworICAgICAgICBsb2NrICRsZWFrc091dHB1dEZpbGVOdW1iZXI7Cisg
ICAgICAgIGlmICgkdGVzdHNQZXJEdW1wVG9vbCAhPSAxKSB7CisgICAgICAgICAgICBteSAkbmV3
RmlsZU5hbWUgPSAiJHRlc3RSZXN1bHRzRGlyZWN0b3J5LyIgLiBmaWxlTmFtZVdpdGhOdW1iZXIo
JGR1bXBUb29sTmFtZSwgJGxlYWtzT3V0cHV0RmlsZU51bWJlcikgLiAiLWxlYWtzLnR4dCI7Cisg
ICAgICAgICAgICByZW5hbWUgJGZpbGVOYW1lLCAkbmV3RmlsZU5hbWU7CiAgICAgICAgIH0KKyAg
ICAgICAgJGxlYWtzT3V0cHV0RmlsZU51bWJlcisrOworICAgIH0KK30KKworc3ViIGNvdW50Rmlu
aXNoZWRUZXN0KCQkJCQpCit7CisgICAgbXkgKCR0ZXN0LCAkYmFzZSwgJHJlc3VsdCwgJGlzVGV4
dCkgPSBAXzsKIAorICAgIGlmICgoJGNvdW50ICsgMSkgJSAkdGVzdHNQZXJEdW1wVG9vbCA9PSAw
KSB7CisgICAgICAgIGNoZWNrTGVha3MoJGJhc2UpOwogICAgICAgICBjbG9zZUR1bXBUb29sKCk7
CiAgICAgfQotICAgIAorCisgICAgbG9jayAlY291bnRzOwogICAgICRjb3VudCsrOwogICAgICRj
b3VudHN7JHJlc3VsdH0rKzsKLSAgICBwdXNoIEB7JHRlc3RzeyRyZXN1bHR9fSwgJHRlc3Q7CisK
ICAgICAkdGVzdFR5cGV7JHRlc3R9ID0gJGlzVGV4dDsKKyAgICBwdXNoIEB7JHRlc3RzeyRyZXN1
bHR9fSwgJHRlc3Q7CiB9CiAKIHN1YiB0ZXN0Q3Jhc2hlZE9yVGltZWRPdXQoJCQkJCQpCkBAIC0x
NTM5LDEwICsxNTY4LDEwIEBAIHN1YiBwcmludEZhaWx1cmVNZXNzYWdlRm9yVGVzdCgkJCkKICAg
ICBteSAoJHRlc3QsICRkZXNjcmlwdGlvbikgPSBAXzsKIAogICAgIHVubGVzcyAoJHZlcmJvc2Up
IHsKLSAgICAgICAgcHJpbnQgIlxuIiB1bmxlc3MgJGF0TGluZVN0YXJ0OwotICAgICAgICBwcmlu
dCAiJHRlc3QgLT4gIjsKKyAgICAgICAgcHJpbnRTdGRPdXQgIlxuIiB1bmxlc3MgJGF0TGluZVN0
YXJ0OworICAgICAgICBwcmludFN0ZE91dCAiJHRlc3QgLT4gIjsKICAgICB9Ci0gICAgcHJpbnQg
IiRkZXNjcmlwdGlvblxuIjsKKyAgICBwcmludFN0ZE91dCAiJGRlc2NyaXB0aW9uXG4iOwogICAg
ICRhdExpbmVTdGFydCA9IDE7CiB9CiAKQEAgLTE3ODAsNyArMTgwOSw4IEBAIHN1YiBidWlsZFBs
YXRmb3JtVGVzdEhpZXJhcmNoeShAKQogICAgIHJldHVybiAoJHBsYXRmb3JtSGllcmFyY2h5WzBd
LCAkcGxhdGZvcm1IaWVyYXJjaHlbJCNwbGF0Zm9ybUhpZXJhcmNoeV0pOwogfQogCi1zdWIgZXBp
bG9ndWVzQW5kUHJvbG9ndWVzKCQkKSB7CitzdWIgZXBpbG9ndWVzQW5kUHJvbG9ndWVzKCQkKQor
ewogICAgIG15ICgkbGFzdERpcmVjdG9yeSwgJGRpcmVjdG9yeSkgPSBAXzsKICAgICBteSBAbGFz
dENvbXBvbmVudHMgPSBzcGxpdCgnLycsICRsYXN0RGlyZWN0b3J5KTsKICAgICBteSBAY29tcG9u
ZW50cyA9IHNwbGl0KCcvJywgJGRpcmVjdG9yeSk7CkBAIC0xODE2LDcgKzE4NDYsOCBAQCBzdWIg
ZXBpbG9ndWVzQW5kUHJvbG9ndWVzKCQkKSB7CiAgICAgcmV0dXJuIEByZXN1bHQ7CiB9CiAgICAg
Ci1zdWIgcGFyc2VMZWFrc2FuZFByaW50VW5pcXVlTGVha3MoKSB7CitzdWIgcGFyc2VMZWFrc2Fu
ZFByaW50VW5pcXVlTGVha3MoKQorewogICAgIHJldHVybiB1bmxlc3MgQGxlYWtzRmlsZW5hbWVz
OwogICAgICAKICAgICBteSAkbWVyZ2VkRmlsZW5hbWVzID0gam9pbiAiICIsIEBsZWFrc0ZpbGVu
YW1lczsKQEAgLTE4MzMsOSArMTg2NCw5IEBAIHN1YiBwYXJzZUxlYWtzYW5kUHJpbnRVbmlxdWVM
ZWFrcygpIHsKICAgICAgICAgJHRvdGFsQnl0ZXMgPSAkMSBpZiAkbGluZSA9fiAvXnRvdGFsXDpc
cyguKilcc1woLzsKICAgICB9CiAgICAgCi0gICAgcHJpbnQgIlxuV0FSTklORzogJHRvdGFsTGVh
a3MgdG90YWwgbGVha3MgZm91bmQgZm9yIGEgdG90YWwgb2YgJHRvdGFsQnl0ZXMhXG4iOwotICAg
IHByaW50ICJXQVJOSU5HOiAkdW5pcXVlTGVha0NvdW50IHVuaXF1ZSBsZWFrcyBmb3VuZCFcbiI7
Ci0gICAgcHJpbnQgIlNlZSBhYm92ZSBmb3IgaW5kaXZpZHVhbCBsZWFrcyByZXN1bHRzLlxuIiBp
ZiAoJGxlYWtzT3V0cHV0RmlsZU51bWJlciA+IDIpOworICAgIHByaW50U3RkT3V0ICJcbldBUk5J
Tkc6ICR0b3RhbExlYWtzIHRvdGFsIGxlYWtzIGZvdW5kIGZvciBhIHRvdGFsIG9mICR0b3RhbEJ5
dGVzIVxuIjsKKyAgICBwcmludFN0ZE91dCAiV0FSTklORzogJHVuaXF1ZUxlYWtDb3VudCB1bmlx
dWUgbGVha3MgZm91bmQhXG4iOworICAgIHByaW50U3RkT3V0ICJTZWUgYWJvdmUgZm9yIGluZGl2
aWR1YWwgbGVha3MgcmVzdWx0cy5cbiIgaWYgKCRsZWFrc091dHB1dEZpbGVOdW1iZXIgPiAyKTsK
ICAgICAKIH0KIApAQCAtMTk0MCw1ICsxOTcxLDYgQEAgc3ViIHNhbXBsZUR1bXBUb29sKCkKICAg
ICAtZCAkb3V0cHV0RGlyZWN0b3J5IG9yIG1rZGlyICRvdXRwdXREaXJlY3Rvcnk7CiAKICAgICBt
eSAkb3V0cHV0RmlsZSA9ICIkb3V0cHV0RGlyZWN0b3J5L0hhbmdSZXBvcnQudHh0IjsKLSAgICBz
eXN0ZW0gIi91c3IvYmluL3NhbXBsZSIsICRkdW1wVG9vbFBJRCwgcXcoMTAgMTAgLWZpbGUpLCAk
b3V0cHV0RmlsZTsKKyAgICBteSAkc2FtcGxlQ29tbWFuZCA9ICIvdXNyL2Jpbi9zYW1wbGUgJGR1
bXBUb29sUElEIDEwIDEwIC1maWxlICRvdXRwdXRGaWxlIjsKKyAgICBwcmludFN0ZE91dCBgJHNh
bXBsZUNvbW1hbmRgOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>