<?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>68541</bug_id>
          
          <creation_ts>2011-09-21 09:36:01 -0700</creation_ts>
          <short_desc>Web Inspector: UI performance test for Scripts panel first open experience.</short_desc>
          <delta_ts>2011-09-23 03:59:14 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>470872</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-09-21 09:36:01 -0700</bug_when>
    <thetext>%subj%</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470873</commentid>
    <comment_count>1</comment_count>
      <attachid>108170</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-09-21 09:38:20 -0700</bug_when>
    <thetext>Created attachment 108170
[patch] initial version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471498</commentid>
    <comment_count>2</comment_count>
      <attachid>108170</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-09-22 05:13:01 -0700</bug_when>
    <thetext>Comment on attachment 108170
[patch] initial version

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

&gt; LayoutTests/http/tests/inspector/inspector-test.js:11
&gt; +//console.log = consoleOutputHook.bind(InspectorTest, &quot;log&quot;);

Why did this change?

&gt; LayoutTests/inspector/performance/resources/first-open-scripts.html:38
&gt; +var initialize_InspectorTest = function() {

Could you extract a javascript file with the test data?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471542</commentid>
    <comment_count>3</comment_count>
      <attachid>108328</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-09-22 07:14:47 -0700</bug_when>
    <thetext>Created attachment 108328
[patch] initial version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472101</commentid>
    <comment_count>4</comment_count>
      <attachid>108328</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-09-23 00:31:50 -0700</bug_when>
    <thetext>Comment on attachment 108328
[patch] initial version

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

&gt; LayoutTests/inspector/performance/resources/first-open-scripts.html:26
&gt; +        setTimeout = function(func, time) { func(); }

What&apos;s the reason for overriding setTimeout here? Please add a comment to the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472118</commentid>
    <comment_count>5</comment_count>
      <attachid>108328</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-09-23 02:35:20 -0700</bug_when>
    <thetext>Comment on attachment 108328
[patch] initial version

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

&gt; LayoutTests/inspector/performance/resources/first-open-scripts.html:30
&gt; +        setTimeout = originalSetTimeout;

Instead of overriding setTimeout which changes regular execution sequence we should find an event that is fired definitely after the panel switch has completed. If there is no such event at the moment we could expose corresponding method on the panel for the test. Any of these seems better than overriding setTimeout</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472125</commentid>
    <comment_count>6</comment_count>
      <attachid>108451</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-09-23 02:43:08 -0700</bug_when>
    <thetext>Created attachment 108451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472132</commentid>
    <comment_count>7</comment_count>
      <attachid>108451</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-09-23 03:06:20 -0700</bug_when>
    <thetext>Comment on attachment 108451
Patch

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

&gt; LayoutTests/inspector/performance/resources/first-open-scripts.html:28
&gt; +        WebInspector.panels.scripts._visibleView._textViewer._mainPanel._paintScheduledLines();

Extract WebInspector.panels.scripts._visibleView._textViewer._mainPanel into a local variable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472155</commentid>
    <comment_count>8</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-09-23 03:59:14 -0700</bug_when>
    <thetext>Committed r95792: &lt;http://trac.webkit.org/changeset/95792&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108170</attachid>
            <date>2011-09-21 09:38:20 -0700</date>
            <delta_ts>2011-09-22 07:14:47 -0700</delta_ts>
            <desc>[patch] initial version</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>18761</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMDNhYjllLi45YmUxZmExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDkt
MjEgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IFVJIHBlcmZvcm1hbmNlIHRlc3QgZm9yIFNjcmlwdHMgcGFuZWwgZmlyc3Qg
b3BlbiBleHBlcmllbmNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njg1NDEKKworICAgICAgICBUaGUgdGVzdCdzIGJvZHkgaGFzIGR1bW15IHNjcmlw
dHMgc2VjdGlvbiBjb3BpZWQgZnJvbSBpbnNwZWN0b3ItdGVzdC5qc3MKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9y
L2luc3BlY3Rvci10ZXN0LmpzOgorICAgICAgICAqIGluc3BlY3Rvci9wZXJmb3JtYW5jZS9yZXNv
dXJjZXMvZmlyc3Qtb3Blbi1zY3JpcHRzLmh0bWw6CisKIDIwMTEtMDktMjEgIFBoaWxpcHBlIE5v
cm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHNraXAg
Zmxha3kgbWVkaWEgdGVzdCBvbiBHVEsuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCmluZGV4IGU2ZDA3ZTMuLjg0ZmUyY2QgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
CkBAIC04LDcgKzgsNyBAQCBmdW5jdGlvbiBjb25zb2xlT3V0cHV0SG9vayhtZXNzYWdlVHlwZSkK
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChtZXNzYWdlVHlwZSArICI6ICIgKyBBcnJheS5w
cm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpKTsKIH0KIAotY29uc29sZS5sb2cgPSBj
b25zb2xlT3V0cHV0SG9vay5iaW5kKEluc3BlY3RvclRlc3QsICJsb2ciKTsKKy8vY29uc29sZS5s
b2cgPSBjb25zb2xlT3V0cHV0SG9vay5iaW5kKEluc3BlY3RvclRlc3QsICJsb2ciKTsKIGNvbnNv
bGUuZXJyb3IgPSBjb25zb2xlT3V0cHV0SG9vay5iaW5kKEluc3BlY3RvclRlc3QsICJlcnJvciIp
OwogY29uc29sZS5pbmZvID0gY29uc29sZU91dHB1dEhvb2suYmluZChJbnNwZWN0b3JUZXN0LCAi
aW5mbyIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcGVyZm9ybWFuY2Uv
cmVzb3VyY2VzL2ZpcnN0LW9wZW4tc2NyaXB0cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3BlcmZvcm1hbmNlL3Jlc291cmNlcy9maXJzdC1vcGVuLXNjcmlwdHMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjQ1YmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9maXJzdC1vcGVuLXNjcmlw
dHMuaHRtbApAQCAtMCwwICsxLDU1MiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icGVyZm9ybWFuY2UtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJzY3JpcHRz
Iik7CisKKyAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MubGFzdFZpZXdlZFNjcmlwdEZpbGUuc2V0
KGRvY3VtZW50LlVSTCk7CisKKyAgICBmdW5jdGlvbiB0ZXN0KHRpbWVyKQorICAgIHsKKyAgICAg
ICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgiYXVkaXRzIik7CisKKyAgICAgICAgdmFyIHNob3dQ
YW5lbFRpbWVyQ29va2llID0gdGltZXIuc3RhcnQoImZpcnN0LW9wZW4tc2NyaXB0cyIpOworICAg
ICAgICB2YXIgb3JpZ2luYWxTZXRUaW1lb3V0ID0gc2V0VGltZW91dDsKKyAgICAgICAgc2V0VGlt
ZW91dCA9IGZ1bmN0aW9uKGZ1bmMsIHRpbWUpIHsgZnVuYygpOyB9CisgICAgICAgIFdlYkluc3Bl
Y3Rvci5zaG93UGFuZWwoInNjcmlwdHMiKTsKKyAgICAgICAgdmFyIGNvdW50ID0gV2ViSW5zcGVj
dG9yLnBhbmVscy5zY3JpcHRzLl92aXNpYmxlVmlldy5fdGV4dFZpZXdlci5fbWFpblBhbmVsLl90
ZXh0Q2h1bmtzLmxlbmd0aDsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLl92
aXNpYmxlVmlldy5fdGV4dFZpZXdlci5fbWFpblBhbmVsLl9leHBhbmRDaHVua3MoMCwgY291bnQp
OworICAgICAgICBzZXRUaW1lb3V0ID0gb3JpZ2luYWxTZXRUaW1lb3V0OworICAgICAgICB0aW1l
ci5maW5pc2goc2hvd1BhbmVsVGltZXJDb29raWUpOworICAgICAgICB0aW1lci5kb25lKCk7Cisg
ICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5ydW5QZXJmb3JtYW5jZVRlc3QodGVzdCwgNTAwMCk7
Cit9CisKKzwvc2NyaXB0PgorCisKKzxzY3JpcHQ+CisKKy8vIFRoaXMgaXMgYSBkdW1teSBqYXZh
c2NyaXB0IGNvZGUganVzdCBmb3IgbG9hZCB0aGUgV2ViSW5zcGVjdG9yJ3MgaGlnaGxpZ2h0ZXIu
CisKK3ZhciBpbml0aWFsaXplX0luc3BlY3RvclRlc3QgPSBmdW5jdGlvbigpIHsKKwordmFyIHJl
c3VsdHMgPSBbXTsKK3ZhciByZXN1bHRzU3luY2hyb25pemVkID0gZmFsc2U7CisKK2Z1bmN0aW9u
IGNvbnNvbGVPdXRwdXRIb29rKG1lc3NhZ2VUeXBlKQoreworICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KG1lc3NhZ2VUeXBlICsgIjogIiArIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFy
Z3VtZW50cywgMSkpOworfQorCitjb25zb2xlLmxvZyA9IGNvbnNvbGVPdXRwdXRIb29rLmJpbmQo
SW5zcGVjdG9yVGVzdCwgImxvZyIpOworY29uc29sZS5lcnJvciA9IGNvbnNvbGVPdXRwdXRIb29r
LmJpbmQoSW5zcGVjdG9yVGVzdCwgImVycm9yIik7Citjb25zb2xlLmluZm8gPSBjb25zb2xlT3V0
cHV0SG9vay5iaW5kKEluc3BlY3RvclRlc3QsICJpbmZvIik7CisKK0luc3BlY3RvclRlc3QuY29t
cGxldGVUZXN0ID0gZnVuY3Rpb24oKQoreworICAgIGZ1bmN0aW9uIHRlc3REaXNwYXRjaFF1ZXVl
SXNFbXB0eSgpIHsKKyAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IuZGlzcGF0Y2hRdWV1ZUlzRW1w
dHkoKSkgeworICAgICAgICAgICAgLy8gV2FpdCBmb3IgdW5wcm9jZXNzZWQgbWVzc2FnZXMuCisg
ICAgICAgICAgICBzZXRUaW1lb3V0KHRlc3REaXNwYXRjaFF1ZXVlSXNFbXB0eSwgMTApOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0
ZSgiZGlkRXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZCgiICsgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3RDYWxsSWQgKyAiLCBcIlwiKSIsICJ0ZXN0Iik7CisgICAgfQorICAgIHRlc3REaXNwYXRj
aFF1ZXVlSXNFbXB0eSgpOworfQorCitJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlID0g
ZnVuY3Rpb24oY29kZSwgY2FsbGJhY2spCit7CisgICAgY2FsbGJhY2sgPSBJbnNwZWN0b3JUZXN0
LnNhZmVXcmFwKGNhbGxiYWNrKTsKKworICAgIFdlYkluc3BlY3Rvci5jb25zb2xlVmlldy52aXNp
YmxlID0gdHJ1ZTsKKyAgICBXZWJJbnNwZWN0b3IuY29uc29sZVZpZXcucHJvbXB0LnRleHQgPSBj
b2RlOworICAgIHZhciBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJLZXlib2FyZEV2ZW50
Iik7CisgICAgZXZlbnQuaW5pdEtleWJvYXJkRXZlbnQoImtleWRvd24iLCB0cnVlLCB0cnVlLCBu
dWxsLCAiRW50ZXIiLCAiIik7CisgICAgV2ViSW5zcGVjdG9yLmNvbnNvbGVWaWV3LnByb21wdEVs
ZW1lbnQuZGlzcGF0Y2hFdmVudChldmVudCk7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xl
U25pZmZlcigKKyAgICAgICAgZnVuY3Rpb24oY29tbWFuZFJlc3VsdCkgeworICAgICAgICAgICAg
Y2FsbGJhY2soY29tbWFuZFJlc3VsdC50b01lc3NhZ2VFbGVtZW50KCkudGV4dENvbnRlbnQpOwor
ICAgICAgICB9KTsKK30KKworSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZUFuZER1bXAg
PSBmdW5jdGlvbihjb2RlLCBjYWxsYmFjaykKK3sKKyAgICBjYWxsYmFjayA9IEluc3BlY3RvclRl
c3Quc2FmZVdyYXAoY2FsbGJhY2spOworCisgICAgZnVuY3Rpb24gbXljYWxsYmFjayh0ZXh0KQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoY29kZSArICIgPSAiICsgdGV4
dCk7CisgICAgICAgIGNhbGxiYWNrKHRleHQpOworICAgIH0KKyAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5Db25zb2xlKGNvZGUsIG15Y2FsbGJhY2spOworfQorCitJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlID0gZnVuY3Rpb24oY29kZSwgY2FsbGJhY2spCit7CisgICAgY2FsbGJhY2sg
PSBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKGNhbGxiYWNrKTsKKworICAgIGZ1bmN0aW9uIG15Y2Fs
bGJhY2soZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKQorICAgIHsKKyAgICAgICAgaWYgKCFlcnJv
cikKKyAgICAgICAgICAgIGNhbGxiYWNrKFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QuZnJvbVBh
eWxvYWQocmVzdWx0KSwgd2FzVGhyb3duKTsKKyAgICB9CisgICAgUnVudGltZUFnZW50LmV2YWx1
YXRlKGNvZGUsICJjb25zb2xlIiwgZmFsc2UsIG15Y2FsbGJhY2spOworfQorCitJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5QYWdlV2l0aFRpbWVvdXQgPSBmdW5jdGlvbihjb2RlKQoreworICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNldFRpbWVvdXQodW5lc2NhcGUoJyIgKyBlc2Nh
cGUoY29kZSkgKyAiJykpIik7Cit9CisKK0luc3BlY3RvclRlc3Quc2hvd1Jlc291cmNlID0gZnVu
Y3Rpb24ocmVzb3VyY2VVUkwsIGNhbGxiYWNrKQoreworICAgIGNhbGxiYWNrID0gSW5zcGVjdG9y
VGVzdC5zYWZlV3JhcChjYWxsYmFjayk7CisgICAgZm9yICh2YXIgdXJsIGluIFdlYkluc3BlY3Rv
ci5yZXNvdXJjZVRyZWVNb2RlbC5fcmVzb3VyY2VzQnlVUkwpIHsKKyAgICAgICAgaWYgKHVybC5p
bmRleE9mKHJlc291cmNlVVJMKSAhPT0gLTEpIHsKKyAgICAgICAgICAgIHZhciByZXNvdXJjZSA9
IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5fcmVzb3VyY2VzQnlVUkxbdXJsXTsKKyAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLnNob3dSZXNvdXJjZShyZXNv
dXJjZSwgMSk7CisgICAgICAgICAgICB2YXIgc291cmNlRnJhbWUgPSBXZWJJbnNwZWN0b3IucGFu
ZWxzLnJlc291cmNlcy5fcmVzb3VyY2VWaWV3Rm9yUmVzb3VyY2UocmVzb3VyY2UpOworICAgICAg
ICAgICAgaWYgKHNvdXJjZUZyYW1lLmxvYWRlZCkKKyAgICAgICAgICAgICAgICBjYWxsYmFjayhz
b3VyY2VGcmFtZSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgc291cmNlRnJh
bWUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUuRXZlbnRzLkxvYWRl
ZCwgY2FsbGJhY2suYmluZChudWxsLCBzb3VyY2VGcmFtZSkpOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9CisgICAgfQorICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNw
ZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwsICJfYmluZFJlc291cmNlVVJMIiwgSW5zcGVjdG9yVGVz
dC5zaG93UmVzb3VyY2UuYmluZChJbnNwZWN0b3JUZXN0LCB1cmwsIGNhbGxiYWNrKSk7Cit9Owor
CitJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCA9IGZ1bmN0aW9uKHRleHQpCit7CisgICAgcmVzdWx0
cy5wdXNoKHRleHQpOworICAgIGlmIChyZXN1bHRzU3luY2hyb25pemVkKQorICAgICAgICBhZGRS
ZXN1bHRUb1BhZ2UodGV4dCk7CisgICAgZWxzZSB7CisgICAgICAgIGNsZWFyUmVzdWx0cygpOwor
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdHMubGVuZ3RoOyArK2kpCisgICAgICAg
ICAgICBhZGRSZXN1bHRUb1BhZ2UocmVzdWx0c1tpXSk7CisgICAgICAgIHJlc3VsdHNTeW5jaHJv
bml6ZWQgPSB0cnVlOworICAgIH0KKworICAgIGZ1bmN0aW9uIGNsZWFyUmVzdWx0cygpCisgICAg
eworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJjbGVhck91dHB1dCgpIik7
CisgICAgfQorCisgICAgZnVuY3Rpb24gYWRkUmVzdWx0VG9QYWdlKHRleHQpCisgICAgeworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJvdXRwdXQodW5lc2NhcGUoJyIgKyBl
c2NhcGUodGV4dCkgKyAiJykpIik7CisgICAgfQorfQorCitJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dHMgPSBmdW5jdGlvbih0ZXh0QXJyYXkpCit7CisgICAgaWYgKCF0ZXh0QXJyYXkpCisgICAgICAg
IHJldHVybjsKKyAgICBmb3IgKHZhciBpID0gMCwgc2l6ZSA9IHRleHRBcnJheS5sZW5ndGg7IGkg
PCBzaXplOyArK2kpCisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHRleHRBcnJheVtp
XSk7Cit9CisKK2Z1bmN0aW9uIG9uRXJyb3IoZXZlbnQpCit7CisgICAgd2luZG93LnJlbW92ZUV2
ZW50TGlzdGVuZXIoImVycm9yIiwgb25FcnJvcik7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIlVuY2F1Z2h0IGV4Y2VwdGlvbiBpbiBpbnNwZWN0b3IgZnJvbnQtZW5kOiAiICsgZXZlbnQu
bWVzc2FnZSArICIgWyIgKyBldmVudC5maWxlbmFtZSArICI6IiArIGV2ZW50LmxpbmVubyArICJd
Iik7CisgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKK30KKword2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoImVycm9yIiwgb25FcnJvcik7CisKK0luc3BlY3RvclRlc3QuYWRkT2JqZWN0
ID0gZnVuY3Rpb24ob2JqZWN0LCBub25kZXRlcm1pbmlzdGljUHJvcHMsIHByZWZpeCwgZmlyc3RM
aW5lUHJlZml4KQoreworICAgIHByZWZpeCA9IHByZWZpeCB8fCAiIjsKKyAgICBmaXJzdExpbmVQ
cmVmaXggPSBmaXJzdExpbmVQcmVmaXggfHwgcHJlZml4OworICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KGZpcnN0TGluZVByZWZpeCArICJ7Iik7CisgICAgZm9yICh2YXIgcHJvcCBpbiBvYmpl
Y3QpIHsKKyAgICAgICAgaWYgKHR5cGVvZiBvYmplY3QuaGFzT3duUHJvcGVydHkgPT09ICJmdW5j
dGlvbiIgJiYgIW9iamVjdC5oYXNPd25Qcm9wZXJ0eShwcm9wKSkKKyAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICB2YXIgcHJlZml4V2l0aE5hbWUgPSAiICAgICIgKyBwcmVmaXggKyBwcm9w
ICsgIiA6ICI7CisgICAgICAgIHZhciBwcm9wVmFsdWUgPSBvYmplY3RbcHJvcF07CisgICAgICAg
IGlmIChub25kZXRlcm1pbmlzdGljUHJvcHMgJiYgcHJvcCBpbiBub25kZXRlcm1pbmlzdGljUHJv
cHMpCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChwcmVmaXhXaXRoTmFtZSAr
ICI8IiArIHR5cGVvZiBwcm9wVmFsdWUgKyAiPiIpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXAocHJvcFZhbHVlLCBub25kZXRlcm1pbmlzdGljUHJvcHMsICIg
ICAgIiArIHByZWZpeCwgcHJlZml4V2l0aE5hbWUpOworICAgIH0KKyAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdChwcmVmaXggKyAifSIpOworfQorCitJbnNwZWN0b3JUZXN0LmFkZEFycmF5ID0g
ZnVuY3Rpb24oYXJyYXksIG5vbmRldGVybWluaXN0aWNQcm9wcywgcHJlZml4LCBmaXJzdExpbmVQ
cmVmaXgpCit7CisgICAgcHJlZml4ID0gcHJlZml4IHx8ICIiOworICAgIGZpcnN0TGluZVByZWZp
eCA9IGZpcnN0TGluZVByZWZpeCB8fCBwcmVmaXg7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoZmlyc3RMaW5lUHJlZml4ICsgIlsiKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5
Lmxlbmd0aDsgKytpKQorICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXAoYXJyYXlbaV0sIG5vbmRl
dGVybWluaXN0aWNQcm9wcywgcHJlZml4ICsgIiAgICAiKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdChwcmVmaXggKyAiXSIpOworfQorCitJbnNwZWN0b3JUZXN0LmR1bXAgPSBmdW5jdGlv
bih2YWx1ZSwgbm9uZGV0ZXJtaW5pc3RpY1Byb3BzLCBwcmVmaXgsIHByZWZpeFdpdGhOYW1lKQor
eworICAgIHByZWZpeFdpdGhOYW1lID0gcHJlZml4V2l0aE5hbWUgfHwgcHJlZml4OworICAgIGlm
IChwcmVmaXhXaXRoTmFtZSAmJiBwcmVmaXhXaXRoTmFtZS5sZW5ndGggPiA4MCkgeworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChwcmVmaXhXaXRoTmFtZSArICJ3YXMgc2tpcHBlZCBk
dWUgdG8gcHJlZml4IGxlbmd0aCBsaW1pdCIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAg
IGlmICh2YWx1ZSA9PT0gbnVsbCkKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocHJl
Zml4V2l0aE5hbWUgKyAibnVsbCIpOworICAgIGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgQXJy
YXkpCisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkQXJyYXkodmFsdWUsIG5vbmRldGVybWluaXN0
aWNQcm9wcywgcHJlZml4LCBwcmVmaXhXaXRoTmFtZSk7CisgICAgZWxzZSBpZiAodHlwZW9mIHZh
bHVlID09PSAib2JqZWN0IikKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRPYmplY3QodmFsdWUs
IG5vbmRldGVybWluaXN0aWNQcm9wcywgcHJlZml4LCBwcmVmaXhXaXRoTmFtZSk7CisgICAgZWxz
ZSBpZiAodHlwZW9mIHZhbHVlID09PSAic3RyaW5nIikKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQocHJlZml4V2l0aE5hbWUgKyAiXCIiICsgdmFsdWUgKyAiXCIiKTsKKyAgICBlbHNl
CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHByZWZpeFdpdGhOYW1lICsgdmFsdWUp
OworfQorCitJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFsID0gZnVuY3Rpb24oZXhw
ZWN0ZWQsIGFjdHVhbCwgbWVzc2FnZSkKK3sKKyAgICBpZiAoYWN0dWFsIDwgZXhwZWN0ZWQpCisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJGQUlMRUQ6ICIgKyAobWVzc2FnZSA/IG1l
c3NhZ2UgKyAiOiAiIDogIiIpICsgYWN0dWFsICsgIiA8ICIgKyBleHBlY3RlZCk7Cit9CisKK0lu
c3BlY3RvclRlc3QubmF2aWdhdGUgPSBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKQoreworICAgIElu
c3BlY3RvclRlc3QuX3BhZ2VMb2FkZWRDYWxsYmFjayA9IEluc3BlY3RvclRlc3Quc2FmZVdyYXAo
Y2FsbGJhY2spOworCisgICAgaWYgKFdlYkluc3BlY3Rvci5wYW5lbHMubmV0d29yaykKKyAgICAg
ICAgV2ViSW5zcGVjdG9yLnBhbmVscy5uZXR3b3JrLl9yZXNldCgpOworICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJbkNvbnNvbGUoIndpbmRvdy5sb2NhdGlvbiA9ICciICsgdXJsICsgIiciKTsK
K30KKworSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlID0gZnVuY3Rpb24oY2FsbGJhY2spCit7Cisg
ICAgSW5zcGVjdG9yVGVzdC5fcGFnZUxvYWRlZENhbGxiYWNrID0gSW5zcGVjdG9yVGVzdC5zYWZl
V3JhcChjYWxsYmFjayk7CisKKyAgICBpZiAoV2ViSW5zcGVjdG9yLnBhbmVscy5uZXR3b3JrKQor
ICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsuX3Jlc2V0KCk7CisgICAgUGFnZUFn
ZW50LnJlbG9hZChmYWxzZSk7Cit9CisKK0luc3BlY3RvclRlc3QucGFnZUxvYWRlZCA9IGZ1bmN0
aW9uKCkKK3sKKyAgICByZXN1bHRzU3luY2hyb25pemVkID0gZmFsc2U7CisgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIlBhZ2UgcmVsb2FkZWQuIik7CisgICAgaWYgKEluc3BlY3RvclRlc3Qu
X3BhZ2VMb2FkZWRDYWxsYmFjaykgeworICAgICAgICB2YXIgY2FsbGJhY2sgPSBJbnNwZWN0b3JU
ZXN0Ll9wYWdlTG9hZGVkQ2FsbGJhY2s7CisgICAgICAgIGRlbGV0ZSBJbnNwZWN0b3JUZXN0Ll9w
YWdlTG9hZGVkQ2FsbGJhY2s7CisgICAgICAgIGNhbGxiYWNrKCk7CisgICAgfQorfQorCitJbnNw
ZWN0b3JUZXN0LnJ1bldoZW5QYWdlTG9hZHMgPSBmdW5jdGlvbihjYWxsYmFjaykKK3sKKyAgICB2
YXIgb2xkQ2FsbGJhY2sgPSBJbnNwZWN0b3JUZXN0Ll9wYWdlTG9hZGVkQ2FsbGJhY2s7CisgICAg
ZnVuY3Rpb24gY2hhaW5lZENhbGxiYWNrKCkKKyAgICB7CisgICAgICAgIGlmIChvbGRDYWxsYmFj
aykKKyAgICAgICAgICAgIG9sZENhbGxiYWNrKCk7CisgICAgICAgIGNhbGxiYWNrKCk7CisgICAg
fQorICAgIEluc3BlY3RvclRlc3QuX3BhZ2VMb2FkZWRDYWxsYmFjayA9IEluc3BlY3RvclRlc3Qu
c2FmZVdyYXAoY2hhaW5lZENhbGxiYWNrKTsKK30KKworSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBl
bmRpbmdEaXNwYXRjaGVzID0gZnVuY3Rpb24oY2FsbGJhY2spCit7CisgICAgY2FsbGJhY2sgPSBJ
bnNwZWN0b3JUZXN0LnNhZmVXcmFwKGNhbGxiYWNrKTsKKyAgICBJbnNwZWN0b3JCYWNrZW5kLnJ1
bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoY2FsbGJhY2spOworfQorCitJbnNwZWN0b3JUZXN0LmNy
ZWF0ZUtleUV2ZW50ID0gZnVuY3Rpb24oa2V5SWRlbnRpZmllciwgY3RybEtleSwgYWx0S2V5LCBz
aGlmdEtleSwgbWV0YUtleSkKK3sKKyAgICB2YXIgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQo
IktleWJvYXJkRXZlbnQiKTsKKyAgICBldnQuaW5pdEtleWJvYXJkRXZlbnQoImtleWRvd24iLCB0
cnVlIC8qIGNhbiBidWJibGUgKi8sIHRydWUgLyogY2FuIGNhbmNlbCAqLywgbnVsbCAvKiB2aWV3
ICovLCBrZXlJZGVudGlmaWVyLCAiIiwgY3RybEtleSwgYWx0S2V5LCBzaGlmdEtleSwgbWV0YUtl
eSk7CisgICAgcmV0dXJuIGV2dDsKK30KKworSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUgPSBm
dW5jdGlvbih0ZXN0U3VpdGUpCit7CisgICAgdmFyIHRlc3RTdWl0ZVRlc3RzID0gdGVzdFN1aXRl
LnNsaWNlKCk7CisKKyAgICBmdW5jdGlvbiBydW5uZXIoKQorICAgIHsKKyAgICAgICAgaWYgKCF0
ZXN0U3VpdGVUZXN0cy5sZW5ndGgpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgdmFyIG5l
eHRUZXN0ID0gdGVzdFN1aXRlVGVzdHMuc2hpZnQoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUnVubmluZzog
IiArIC9mdW5jdGlvblxzKFteKF0qKS8uZXhlYyhuZXh0VGVzdClbMV0pOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LnNhZmVXcmFwKG5leHRUZXN0KShydW5uZXIsIHJ1bm5lcik7CisgICAgfQorICAg
IHJ1bm5lcigpOworfQorCitJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyA9IGZ1bmN0aW9uKGV4
cGVjdGVkLCBmb3VuZCwgbWVzc2FnZSkKK3sKKyAgICBpZiAoZXhwZWN0ZWQgPT09IGZvdW5kKQor
ICAgICAgICByZXR1cm47CisKKyAgICB2YXIgZXJyb3I7CisgICAgaWYgKG1lc3NhZ2UpCisgICAg
ICAgIGVycm9yID0gIkZhaWx1cmUgKCIgKyBtZXNzYWdlICsgIik6IjsKKyAgICBlbHNlCisgICAg
ICAgIGVycm9yID0gIkZhaWx1cmU6IjsKKyAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IgKyAiIGV4
cGVjdGVkIDwiICsgZXhwZWN0ZWQgKyAiPiBmb3VuZCA8IiArIGZvdW5kICsgIj4iKTsKK30KKwor
SW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlID0gZnVuY3Rpb24oZm91bmQsIG1lc3NhZ2UpCit7Cisg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHModHJ1ZSwgISFmb3VuZCwgbWVzc2FnZSk7Cit9
CisKK0luc3BlY3RvclRlc3Quc2FmZVdyYXAgPSBmdW5jdGlvbihmdW5jLCBvbmV4Y2VwdGlvbikK
K3sKKyAgICBmdW5jdGlvbiByZXN1bHQoKQorICAgIHsKKyAgICAgICAgaWYgKCFmdW5jKQorICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB2YXIgd3JhcFRoaXMgPSB0aGlzOworICAgICAgICB0
cnkgeworICAgICAgICAgICAgcmV0dXJuIGZ1bmMuYXBwbHkod3JhcFRoaXMsIGFyZ3VtZW50cyk7
CisgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIkV4Y2VwdGlvbiB3aGlsZSBydW5uaW5nOiAiICsgZnVuYyArICJcbiIgKyAoZS5zdGFjayB8
fCBlKSk7CisgICAgICAgICAgICBpZiAob25leGNlcHRpb24pCisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5zYWZlV3JhcChvbmV4Y2VwdGlvbikoKTsKKyAgICAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICB9Cisg
ICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0luc3BlY3RvclRlc3QuYWRkU25pZmZlciA9
IGZ1bmN0aW9uKHJlY2VpdmVyLCBtZXRob2ROYW1lLCBvdmVycmlkZSwgb3B0X3N0aWNreSkKK3sK
KyAgICBvdmVycmlkZSA9IEluc3BlY3RvclRlc3Quc2FmZVdyYXAob3ZlcnJpZGUpOworCisgICAg
dmFyIG9yaWdpbmFsID0gcmVjZWl2ZXJbbWV0aG9kTmFtZV07CisgICAgaWYgKHR5cGVvZiBvcmln
aW5hbCAhPT0gImZ1bmN0aW9uIikKKyAgICAgICAgdGhyb3cgKCJDYW5ub3QgZmluZCBtZXRob2Qg
dG8gb3ZlcnJpZGU6ICIgKyBtZXRob2ROYW1lKTsKKworICAgIHJlY2VpdmVyW21ldGhvZE5hbWVd
ID0gZnVuY3Rpb24odmFyX2FyZ3MpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBy
ZXN1bHQgPSBvcmlnaW5hbC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworICAgICAgICB9IGZpbmFs
bHkgeworICAgICAgICAgICAgaWYgKCFvcHRfc3RpY2t5KQorICAgICAgICAgICAgICAgIHJlY2Vp
dmVyW21ldGhvZE5hbWVdID0gb3JpZ2luYWw7CisgICAgICAgIH0KKyAgICAgICAgLy8gSW4gY2Fz
ZSBvZiBleGNlcHRpb24gdGhlIG92ZXJyaWRlIHdvbid0IGJlIGNhbGxlZC4KKyAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgIG92ZXJyaWRlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgICAg
IH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgIHRocm93ICgiRXhjZXB0aW9uIGluIG92ZXJyaWRl
biBtZXRob2QgJyIgKyBtZXRob2ROYW1lICsgIic6ICIgKyBlKTsKKyAgICAgICAgfQorICAgICAg
ICByZXR1cm4gcmVzdWx0OworICAgIH07Cit9CisKK0luc3BlY3RvclRlc3QuYWRkQ29uc29sZVNu
aWZmZXIgPSBmdW5jdGlvbihvdmVycmlkZSwgb3B0X3N0aWNreSkKK3sKKyAgICBJbnNwZWN0b3JU
ZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSwgIl9hcHBl
bmRDb25zb2xlTWVzc2FnZSIsIG92ZXJyaWRlLCBvcHRfc3RpY2t5KTsKK30KKworSW5zcGVjdG9y
VGVzdC5vdmVycmlkZSA9IGZ1bmN0aW9uKHJlY2VpdmVyLCBtZXRob2ROYW1lLCBvdmVycmlkZSwg
b3B0X3N0aWNreSkKK3sKKyAgICBvdmVycmlkZSA9IEluc3BlY3RvclRlc3Quc2FmZVdyYXAob3Zl
cnJpZGUpOworCisgICAgdmFyIG9yaWdpbmFsID0gcmVjZWl2ZXJbbWV0aG9kTmFtZV07CisgICAg
aWYgKHR5cGVvZiBvcmlnaW5hbCAhPT0gImZ1bmN0aW9uIikKKyAgICAgICAgdGhyb3cgKCJDYW5u
b3QgZmluZCBtZXRob2QgdG8gb3ZlcnJpZGU6ICIgKyBtZXRob2ROYW1lKTsKKworICAgIHJlY2Vp
dmVyW21ldGhvZE5hbWVdID0gZnVuY3Rpb24odmFyX2FyZ3MpIHsKKyAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG92ZXJyaWRlLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAg
ICAgICAgICAgdGhyb3cgKCJFeGNlcHRpb24gaW4gb3ZlcnJpZGVuIG1ldGhvZCAnIiArIG1ldGhv
ZE5hbWUgKyAiJzogIiArIGUpOworICAgICAgICAgICAgfQorICAgICAgICB9IGZpbmFsbHkgewor
ICAgICAgICAgICAgaWYgKCFvcHRfc3RpY2t5KQorICAgICAgICAgICAgICAgIHJlY2VpdmVyW21l
dGhvZE5hbWVdID0gb3JpZ2luYWw7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHJlc3VsdDsK
KyAgICB9OworCisgICAgcmV0dXJuIG9yaWdpbmFsOworfQorCitJbnNwZWN0b3JUZXN0LnRleHRD
b250ZW50V2l0aExpbmVCcmVha3MgPSBmdW5jdGlvbihub2RlKQoreworICAgIHZhciBidWZmZXIg
PSAiIjsKKyAgICB2YXIgY3VycmVudE5vZGUgPSBub2RlOworICAgIHdoaWxlIChjdXJyZW50Tm9k
ZSA9IGN1cnJlbnROb2RlLnRyYXZlcnNlTmV4dE5vZGUobm9kZSkpIHsKKyAgICAgICAgaWYgKGN1
cnJlbnROb2RlLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkKKyAgICAgICAgICAgIGJ1ZmZl
ciArPSBjdXJyZW50Tm9kZS5ub2RlVmFsdWU7CisgICAgICAgIGVsc2UgaWYgKGN1cnJlbnROb2Rl
Lm5vZGVOYW1lID09PSAiTEkiKQorICAgICAgICAgICAgYnVmZmVyICs9ICJcbiAgICAiOworICAg
ICAgICBlbHNlIGlmIChjdXJyZW50Tm9kZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbnNvbGUtbWVz
c2FnZSIpKQorICAgICAgICAgICAgYnVmZmVyICs9ICJcblxuIjsKKyAgICB9CisgICAgcmV0dXJu
IGJ1ZmZlcjsKK30KKworfTsKKwordmFyIHJ1blRlc3RDYWxsSWQgPSAwOwordmFyIGNvbXBsZXRl
VGVzdENhbGxJZCA9IDE7Cit2YXIgZnJvbnRlbmRSZW9wZW5pbmdDb3VudCA9IDA7CisKK2Z1bmN0
aW9uIHJlb3BlbkZyb250ZW5kKCkKK3sKKyAgICBjbG9zZUZyb250ZW5kKG9wZW5Gcm9udGVuZEFu
ZEluY3JlbWVudCk7Cit9CisKK2Z1bmN0aW9uIGNsb3NlRnJvbnRlbmQoY2FsbGJhY2spCit7Cisg
ICAgLy8gRG8gdGhpcyBhc3luY2hyb25vdXNseSB0byBhbGxvdyBJbnNwZWN0b3JCYWNrZW5kRGlz
cGF0Y2hlciB0byBzZW5kIHJlc3BvbnNlCisgICAgLy8gYmFjayB0byB0aGUgZnJvbnRlbmQgYmVm
b3JlIGl0J3MgZGVzdHJveWVkLgorICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmNsb3NlV2ViSW5zcGVjdG9yKCk7CisgICAgICAgIGNhbGxi
YWNrKCk7CisgICAgfSwgMCk7Cit9CisKK2Z1bmN0aW9uIG9wZW5Gcm9udGVuZEFuZEluY3JlbWVu
dCgpCit7CisgICAgZnJvbnRlbmRSZW9wZW5pbmdDb3VudCsrOworICAgIGxheW91dFRlc3RDb250
cm9sbGVyLnNob3dXZWJJbnNwZWN0b3IoKTsKKyAgICBydW5UZXN0KCk7Cit9CisKK2Z1bmN0aW9u
IHJ1bkFmdGVySWZyYW1lSXNMb2FkZWQoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICBmdW5jdGlvbiBzdGVwKCkKKyAgICB7CisgICAgICAgIGlmICghd2luZG93LmlmcmFtZUxv
YWRlZCkKKyAgICAgICAgICAgIHNldFRpbWVvdXQoc3RlcCwgMTAwKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgcnVuVGVzdCgpOworICAgIH0KKyAgICBzZXRUaW1lb3V0KHN0ZXAsIDEwMCk7
Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoZW5hYmxlV2F0Y2hEb2dXaGlsZURlYnVnZ2luZykKK3sK
KyAgICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKworICAgIGZ1bmN0aW9uIHJ1blRlc3RJbkZyb250
ZW5kKGluaXRpYWxpemF0aW9uRnVuY3Rpb25zLCB0ZXN0RnVuY3Rpb24sIGNvbXBsZXRlVGVzdENh
bGxJZCkKKyAgICB7CisgICAgICAgIGlmICh3aW5kb3cuSW5zcGVjdG9yVGVzdCkgeworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5wYWdlTG9hZGVkKCk7CisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0KKworICAgICAgICBJbnNwZWN0b3JUZXN0ID0ge307CisgICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0Q2FsbElkID0gY29tcGxldGVUZXN0Q2FsbElkOworCisgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgaW5pdGlhbGl6YXRpb25GdW5jdGlvbnMubGVuZ3RoOyArK2kp
IHsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb25GdW5j
dGlvbnNbaV0oKTsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICBj
b25zb2xlLmVycm9yKCJFeGNlcHRpb24gaW4gdGVzdCBpbml0aWFsaXphdGlvbjogIiArIGUpOwor
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKworICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJhdWRpdHMi
KTsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHRlc3RGdW5jdGlvbigpOworICAgICAgICB9
IGNhdGNoIChlKSB7CisgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJFeGNlcHRpb24gZHVyaW5n
IHRlc3QgZXhlY3V0aW9uOiAiICsgZSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOworICAgICAgICB9CisgICAgfQorCisgICAgdmFyIGluaXRpYWxpemF0aW9uRnVu
Y3Rpb25zID0gW107CisgICAgZm9yICh2YXIgbmFtZSBpbiB3aW5kb3cpIHsKKyAgICAgICAgaWYg
KG5hbWUuaW5kZXhPZigiaW5pdGlhbGl6ZV8iKSA9PT0gMCAmJiB0eXBlb2Ygd2luZG93W25hbWVd
ID09PSAiZnVuY3Rpb24iKQorICAgICAgICAgICAgaW5pdGlhbGl6YXRpb25GdW5jdGlvbnMucHVz
aCh3aW5kb3dbbmFtZV0udG9TdHJpbmcoKSk7CisgICAgfQorICAgIHZhciBwYXJhbWV0ZXJzID0g
WyJbIiArIGluaXRpYWxpemF0aW9uRnVuY3Rpb25zICsgIl0iLCB0ZXN0LCBjb21wbGV0ZVRlc3RD
YWxsSWRdOworICAgIHZhciB0b0V2YWx1YXRlID0gIigiICsgcnVuVGVzdEluRnJvbnRlbmQgKyAi
KSgiICsgcGFyYW1ldGVycy5qb2luKCIsICIpICsgIik7IjsKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5ldmFsdWF0ZUluV2ViSW5zcGVjdG9yKHJ1blRlc3RDYWxsSWQsIHRvRXZhbHVhdGUpOwor
CisgICAgaWYgKGVuYWJsZVdhdGNoRG9nV2hpbGVEZWJ1Z2dpbmcpIHsKKyAgICAgICAgZnVuY3Rp
b24gd2F0Y2hEb2coKQorICAgICAgICB7CisgICAgICAgICAgICBjb25zb2xlLmxvZygiSW50ZXJu
YWwgd2F0Y2hkb2cgdHJpZ2dlcmVkIGF0IDIwIHNlY29uZHMuIFRlc3QgdGltZWQgb3V0LiIpOwor
ICAgICAgICAgICAgY2xvc2VJbnNwZWN0b3JBbmROb3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAg
ICAgICAgd2luZG93Ll93YXRjaERvZ1RpbWVyID0gc2V0VGltZW91dCh3YXRjaERvZywgMjAwMDAp
OworICAgIH0KK30KKworZnVuY3Rpb24gZGlkRXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZChjYWxs
SWQpCit7CisgICAgaWYgKGNhbGxJZCAhPT0gY29tcGxldGVUZXN0Q2FsbElkKQorICAgICAgICBy
ZXR1cm47CisgICAgZGVsZXRlIHdpbmRvdy5jb21wbGV0ZVRlc3RDYWxsSWQ7CisgICAgLy8gQ2xv
c2UgaW5zcGVjdG9yIGFzeW5jaHJvdXNseSB0byBhbGxvdyBjYWxsZXIgb2YgdGhpcworICAgIC8v
IGZ1bmN0aW9uIHNlbmQgcmVzcG9uc2UgYmVmb3JlIGJhY2tlbmQgZGlzcGF0Y2hlciBhbmQgZnJv
bnRlbmQgYXJlIGRlc3Ryb3llZC4KKyAgICBzZXRUaW1lb3V0KGNsb3NlSW5zcGVjdG9yQW5kTm90
aWZ5RG9uZSwgMCk7Cit9CisKK2Z1bmN0aW9uIGNsb3NlSW5zcGVjdG9yQW5kTm90aWZ5RG9uZSgp
Cit7CisgICAgaWYgKHdpbmRvdy5fd2F0Y2hEb2dUaW1lcikKKyAgICAgICAgY2xlYXJUaW1lb3V0
KHdpbmRvdy5fd2F0Y2hEb2dUaW1lcik7CisKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbG9z
ZVdlYkluc3BlY3RvcigpOworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9LCAwKTsKK30KKwordmFyIG91
dHB1dEVsZW1lbnQ7CisKK2Z1bmN0aW9uIG91dHB1dCh0ZXh0KQoreworICAgIGlmICghb3V0cHV0
RWxlbWVudCkgeworICAgICAgICB2YXIgaW50ZXJtZWRpYXRlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW50ZXJtZWRp
YXRlKTsKKworICAgICAgICB2YXIgaW50ZXJtZWRpYXRlMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOworICAgICAgICBpbnRlcm1lZGlhdGUuYXBwZW5kQ2hpbGQoaW50ZXJtZWRpYXRl
Mik7CisKKyAgICAgICAgb3V0cHV0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOworICAgICAgICBvdXRwdXRFbGVtZW50LmNsYXNzTmFtZSA9ICJvdXRwdXQiOworICAgICAg
ICBvdXRwdXRFbGVtZW50LnN0eWxlLndoaXRlU3BhY2UgPSAicHJlIjsKKyAgICAgICAgaW50ZXJt
ZWRpYXRlMi5hcHBlbmRDaGlsZChvdXRwdXRFbGVtZW50KTsKKyAgICB9CisgICAgb3V0cHV0RWxl
bWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0ZXh0KSk7CisgICAgb3V0
cHV0RWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpKTsKK30K
KworZnVuY3Rpb24gY2xlYXJPdXRwdXQoKQoreworICAgIGlmIChvdXRwdXRFbGVtZW50KSB7Cisg
ICAgICAgIG91dHB1dEVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvdXRwdXRFbGVtZW50
KTsKKyAgICAgICAgb3V0cHV0RWxlbWVudCA9IG51bGw7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzwvYm9keT4KKzwvYm9keT4KKzwv
aHRtbD4KKwo=
</data>
<flag name="review"
          id="105072"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108328</attachid>
            <date>2011-09-22 07:14:47 -0700</date>
            <delta_ts>2011-09-23 02:43:01 -0700</delta_ts>
            <desc>[patch] initial version</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>2247</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkYmM2ZDdlLi44NWI2NjkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDkt
MjIgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IFVJIHBlcmZvcm1hbmNlIHRlc3QgZm9yIFNjcmlwdHMgcGFuZWwgZmlyc3Qg
b3BlbiBleHBlcmllbmNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njg1NDEKKworICAgICAgICBUaGUgdGVzdCdzIGJvZHkgaGFzIGR1bW15IHNjcmlw
dHMgc2VjdGlvbiBjb3BpZWQgZnJvbSBpbnNwZWN0b3ItdGVzdC5qc3MKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9wZXJmb3JtYW5j
ZS9yZXNvdXJjZXMvZmlyc3Qtb3Blbi1zY3JpcHRzLmh0bWw6CisKIDIwMTEtMDktMjIgIEFscGhh
IExhbSAgPGhjbGFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwODEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvZmlyc3Qtb3Blbi1zY3JpcHRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL2ZpcnN0LW9wZW4tc2NyaXB0
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwMzY1N2UKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcGVyZm9ybWFuY2UvcmVzb3VyY2Vz
L2ZpcnN0LW9wZW4tc2NyaXB0cy5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InBlcmZvcm1hbmNlLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgV2ViSW5zcGVjdG9yLnNo
b3dQYW5lbCgic2NyaXB0cyIpOworCisgICAgdmFyIGZpbGVzID0gV2ViSW5zcGVjdG9yLnBhbmVs
cy5zY3JpcHRzLl9maWxlc1NlbGVjdEVsZW1lbnQ7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBm
aWxlcy5vcHRpb25zLmxlbmd0aDsgKytpKSB7CisgICAgICAgICBpZiAoZmlsZXMub3B0aW9uc1tp
XS52YWx1ZS5pbmRleE9mKCJpbnNwZWN0b3ItdGVzdC5qcyIpICE9PSAtMSkgeworICAgICAgICAg
ICAgIGZpbGVzLnNlbGVjdGVkSW5kZXggPSBpOworICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5w
YW5lbHMuc2NyaXB0cy5fZmlsZXNTZWxlY3RDaGFuZ2VkKCk7CisgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdCh0aW1lcikKKyAgICB7Cisg
ICAgICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImF1ZGl0cyIpOworCisgICAgICAgIHZhciBz
aG93UGFuZWxUaW1lckNvb2tpZSA9IHRpbWVyLnN0YXJ0KCJmaXJzdC1vcGVuLXNjcmlwdHMiKTsK
KyAgICAgICAgdmFyIG9yaWdpbmFsU2V0VGltZW91dCA9IHNldFRpbWVvdXQ7CisgICAgICAgIHNl
dFRpbWVvdXQgPSBmdW5jdGlvbihmdW5jLCB0aW1lKSB7IGZ1bmMoKTsgfQorICAgICAgICBXZWJJ
bnNwZWN0b3Iuc2hvd1BhbmVsKCJzY3JpcHRzIik7CisgICAgICAgIHZhciBjb3VudCA9IFdlYklu
c3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5fdmlzaWJsZVZpZXcuX3RleHRWaWV3ZXIuX21haW5QYW5l
bC5fdGV4dENodW5rcy5sZW5ndGg7CisgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0
cy5fdmlzaWJsZVZpZXcuX3RleHRWaWV3ZXIuX21haW5QYW5lbC5fZXhwYW5kQ2h1bmtzKDAsIGNv
dW50KTsKKyAgICAgICAgc2V0VGltZW91dCA9IG9yaWdpbmFsU2V0VGltZW91dDsKKyAgICAgICAg
dGltZXIuZmluaXNoKHNob3dQYW5lbFRpbWVyQ29va2llKTsKKyAgICAgICAgdGltZXIuZG9uZSgp
OworICAgIH0KKworICAgIEluc3BlY3RvclRlc3QucnVuUGVyZm9ybWFuY2VUZXN0KHRlc3QsIDUw
MDApOworfQorCis8L3NjcmlwdD4KKworPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108451</attachid>
            <date>2011-09-23 02:43:08 -0700</date>
            <delta_ts>2011-09-23 03:06:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68541-20110923134306.patch</filename>
            <type>text/plain</type>
            <size>2382</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU3ODcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkMzlmZDZjYTM3NGQ4ZGE1YTYzMTk0
YWY2MmQ0MTVkNjg3YTg4NTVmLi4yZjBiYzQ5ODIxZTYyNTVkMWEyZGQyMTE2ZTAwZDExYWM3NDRm
NDkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMjIgIElseWEgVGlraG9ub3Zza3kg
IDxsb2lzbG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFVJIHBlcmZv
cm1hbmNlIHRlc3QgZm9yIFNjcmlwdHMgcGFuZWwgZmlyc3Qgb3BlbiBleHBlcmllbmNlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NDEKKworICAg
ICAgICBUaGUgdGVzdCdzIGJvZHkgaGFzIGR1bW15IHNjcmlwdHMgc2VjdGlvbiBjb3BpZWQgZnJv
bSBpbnNwZWN0b3ItdGVzdC5qc3MKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGluc3BlY3Rvci9wZXJmb3JtYW5jZS9yZXNvdXJjZXMvZmlyc3Qtb3Bl
bi1zY3JpcHRzLmh0bWw6CisKIDIwMTEtMDktMjIgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lA
d2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLCB1cGRhdGUg
ZXhwZWN0ZWQgZmlsZSBhZnRlciByOTU3NDUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvcGVyZm9ybWFuY2UvcmVzb3VyY2VzL2ZpcnN0LW9wZW4tc2NyaXB0cy5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3BlcmZvcm1hbmNlL3Jlc291cmNlcy9maXJzdC1vcGVuLXNjcmlw
dHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45MjU1ZGY5NmFlOWYyM2M3NzRkZGJiM2RlMzUxZWYyNDEwNmVm
OTUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3BlcmZvcm1hbmNl
L3Jlc291cmNlcy9maXJzdC1vcGVuLXNjcmlwdHMuaHRtbApAQCAtMCwwICsxLDQzIEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJwZXJmb3JtYW5jZS10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIFdlYklu
c3BlY3Rvci5zaG93UGFuZWwoInNjcmlwdHMiKTsKKworICAgIHZhciBmaWxlcyA9IFdlYkluc3Bl
Y3Rvci5wYW5lbHMuc2NyaXB0cy5fZmlsZXNTZWxlY3RFbGVtZW50OworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgZmlsZXMub3B0aW9ucy5sZW5ndGg7ICsraSkgeworICAgICAgICAgaWYgKGZpbGVz
Lm9wdGlvbnNbaV0udmFsdWUuaW5kZXhPZigiaW5zcGVjdG9yLXRlc3QuanMiKSAhPT0gLTEpIHsK
KyAgICAgICAgICAgICBmaWxlcy5zZWxlY3RlZEluZGV4ID0gaTsKKyAgICAgICAgICAgICBXZWJJ
bnNwZWN0b3IucGFuZWxzLnNjcmlwdHMuX2ZpbGVzU2VsZWN0Q2hhbmdlZCgpOworICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgfQorICAgIH0KKworICAgIGZ1bmN0aW9uIHRlc3QodGltZXIp
CisgICAgeworICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJhdWRpdHMiKTsKKworICAg
ICAgICB2YXIgc2hvd1BhbmVsVGltZXJDb29raWUgPSB0aW1lci5zdGFydCgiZmlyc3Qtb3Blbi1z
Y3JpcHRzIik7CisgICAgICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInNjcmlwdHMiKTsKKyAg
ICAgICAgdmFyIGNvdW50ID0gV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLl92aXNpYmxlVmll
dy5fdGV4dFZpZXdlci5fbWFpblBhbmVsLl90ZXh0Q2h1bmtzLmxlbmd0aDsKKyAgICAgICAgV2Vi
SW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLl92aXNpYmxlVmlldy5fdGV4dFZpZXdlci5fbWFpblBh
bmVsLl9leHBhbmRDaHVua3MoMCwgY291bnQpOworICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxz
LnNjcmlwdHMuX3Zpc2libGVWaWV3Ll90ZXh0Vmlld2VyLl9tYWluUGFuZWwuX3BhaW50U2NoZWR1
bGVkTGluZXMoKTsKKyAgICAgICAgdGltZXIuZmluaXNoKHNob3dQYW5lbFRpbWVyQ29va2llKTsK
KyAgICAgICAgdGltZXIuZG9uZSgpOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3QucnVuUGVy
Zm9ybWFuY2VUZXN0KHRlc3QsIDUwMDApOworfQorCis8L3NjcmlwdD4KKworPC9oZWFkPgorCis8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>
<flag name="review"
          id="105420"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>