<?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>64635</bug_id>
          
          <creation_ts>2011-07-15 15:26:30 -0700</creation_ts>
          <short_desc>Refactor TestExpectationModel to use TestExpectationLine as data item.</short_desc>
          <delta_ts>2011-07-15 15:49:33 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>64385</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>438018</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 15:26:30 -0700</bug_when>
    <thetext>Refactor TestExpectationModel to use TestExpectationLine as data item.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438023</commentid>
    <comment_count>1</comment_count>
      <attachid>101055</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 15:35:46 -0700</bug_when>
    <thetext>Created attachment 101055
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438028</commentid>
    <comment_count>2</comment_count>
      <attachid>101055</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 15:41:19 -0700</bug_when>
    <thetext>Comment on attachment 101055
Patch

got an even better one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438031</commentid>
    <comment_count>3</comment_count>
      <attachid>101057</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 15:43:14 -0700</bug_when>
    <thetext>Created attachment 101057
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438032</commentid>
    <comment_count>4</comment_count>
      <attachid>101057</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-15 15:46:19 -0700</bug_when>
    <thetext>Comment on attachment 101057
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py:655
&gt; -        self._model = TestExpectationsModel(port)
&gt; +        self._model = TestExpectationsModel()

Yay!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438035</commentid>
    <comment_count>5</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 15:49:33 -0700</bug_when>
    <thetext>Committed r91124: &lt;http://trac.webkit.org/changeset/91124&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101055</attachid>
            <date>2011-07-15 15:35:46 -0700</date>
            <delta_ts>2011-07-15 15:43:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64635-20110715153545.patch</filename>
            <type>text/plain</type>
            <size>11949</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTExMDYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyN2JjMTY0NDlmMjE1ZTM0NDMwNDNhMjg3OWM1ZGNmODI5
MmE4ZWY2Li5mMGU1YWIxOWIzN2VkZWM1ODQyMjlhYTFmODNhMGJiODMxM2VkMjljIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjUg
QEAKIDIwMTEtMDctMTUgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4K
IAorICAgICAgICBSZWZhY3RvciBUZXN0RXhwZWN0YXRpb25Nb2RlbCB0byB1c2UgVGVzdEV4cGVj
dGF0aW9uTGluZSBhcyBkYXRhIGl0ZW0uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02NDYzNQorCisgICAgICAgIFRoaXMgaXMgYSBiaXQgbGFyZ2lzaCBp
biBzY29wZS4gRG9lcyB0aGUgZm9sbG93aW5nIHRoaW5nczoKKworICAgICAgICAxKSBBZGRzICJw
YXRoIiBtZW1iZXIgdG8gVGVzdEV4cGVjdGF0aW9uTGluZSB0byBob2xkIG5vcm1hbGl6ZWQgcGF0
aCB0byB0ZXN0LCBjb21wdXRlZCBhdCBwYXJzaW5nLAorICAgICAgICAgICBhbmQgY2hhbmdlcyBj
b2RlIHRoYXQgdXNlZCBQb3J0Lm5vcm1hbGl6ZV90ZXN0X25hbWUgdG8gcmVseSBvbiBUZXN0RXhw
ZWN0YXRpb25MaW5lLnBhdGguCisKKyAgICAgICAgMikgQWRkcyAiY3JlYXRlX3Bhc3NpbmdfZXhw
ZWN0YXRpb24iIGNsYXNzIG1ldGhvZCB0byBUZXN0RXhwZWN0YXRpb25MaW5lIHRvIGdlbmVyYXRl
IGEgcHJpc3RpbmUgcGFzc2luZyBleHBlY3RhdGlvbiBvdXQgb2YgYSB0ZXN0IG5hbWUsCisgICAg
ICAgICAgIGFuZCBjaGFuZ2VzIFRlc3RFeHBlY3RhdGlvbnMuX3Byb2Nlc3NfdGVzdHNfd2l0aG91
dF9leHBlY3RhdGlvbnMgdG8gdXNlIGl0LCB0aHVzIGVsaW1pbmF0aW5nIHRoZSBuZWVkIGZvciBh
IHNwZWNpYWwgQVBJIGVudHJ5IHBvaW50LgorICAgICAgICAgICBOb3cgYWxsIGV4cGVjdGF0aW9u
cyBhcmUgYWRkZWQgdG8gdGhlIG1vZGVsIGluIHRoZSBzYW1lIHdheSEKKworICAgICAgICAzKSBD
aGFuZ2VzIFRlc3RFeHBlY3RhdGlvbk1vZGVsJ3MgbWFpbiB0ZXN0IGluZGV4IHRvIHN0b3JlIGEg
dHVwbGUgY29uc2lzdGluZyBvZiBsaW5lIG51bWJlciBhbmQgVGVzdEV4cGVjdGF0aW9uTGluZSBp
bnN0YW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9u
cy5weTogUmVmYWN0b3JlZCBjb2RlLgorCisyMDExLTA3LTE1ICBEaW1pdHJpIEdsYXprb3YgIDxk
Z2xhemtvdkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgUmV2ZXJ0IGh0dHA6Ly90cmFjLndlYmtp
dC5vcmcvY2hhbmdlc2V0LzkxMDkxLCBzaW5jZSBQeXRob24gMi41CiAgICAgICAgIGRvZXMgbm90
IHN1cHBvcnQgZW51bWVyYXRlKCkgc3RhcnQgYXJndW1lbnQuCiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVj
dGF0aW9ucy5weQppbmRleCA0ZWUyODUxNDg4MGRkMTk0ODAwMjdjMWZmN2VlNjFjMjhjNmQyYmM0
Li5iMTcwZmE1NDFlMjA4ZWY5ZGNmZGFhZTA0NjNiNjIyZjM2NjYxZTc1IDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlv
bnMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rl
c3RfZXhwZWN0YXRpb25zLnB5CkBAIC0xOTIsMTAgKzE5Miw4IEBAIGNsYXNzIFRlc3RFeHBlY3Rh
dGlvblBhcnNlcjoKICAgICAgICAgaWYgc2VsZi5fY2hlY2tfcGF0aF9kb2VzX25vdF9leGlzdChl
eHBlY3RhdGlvbl9saW5lKToKICAgICAgICAgICAgIHJldHVybgogCi0gICAgICAgIGlmIG5vdCBz
ZWxmLl9mdWxsX3Rlc3RfbGlzdDoKLSAgICAgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUubWF0Y2hp
bmdfdGVzdHMgPSBbZXhwZWN0YXRpb25fbGluZS5uYW1lXQotICAgICAgICBlbHNlOgotICAgICAg
ICAgICAgZXhwZWN0YXRpb25fbGluZS5tYXRjaGluZ190ZXN0cyA9IHNlbGYuX2NvbGxlY3RfbWF0
Y2hpbmdfdGVzdHMoZXhwZWN0YXRpb25fbGluZS5uYW1lKQorICAgICAgICBleHBlY3RhdGlvbl9s
aW5lLnBhdGggPSBzZWxmLl9wb3J0Lm5vcm1hbGl6ZV90ZXN0X25hbWUoZXhwZWN0YXRpb25fbGlu
ZS5uYW1lKQorICAgICAgICBzZWxmLl9jb2xsZWN0X21hdGNoaW5nX3Rlc3RzKGV4cGVjdGF0aW9u
X2xpbmUpCiAKICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5wYXJzZWRfbW9kaWZpZXJzID0gW21v
ZGlmaWVyIGZvciBtb2RpZmllciBpbiBleHBlY3RhdGlvbl9saW5lLm1vZGlmaWVycyBpZiBtb2Rp
ZmllciBpbiBUZXN0RXhwZWN0YXRpb25zLk1PRElGSUVSU10KICAgICAgICAgc2VsZi5fcGFyc2Vf
ZXhwZWN0YXRpb25zKGV4cGVjdGF0aW9uX2xpbmUpCkBAIC0yNDIsNyArMjQwLDcgQEAgY2xhc3Mg
VGVzdEV4cGVjdGF0aW9uUGFyc2VyOgogICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICAgICAg
cmV0dXJuIEZhbHNlCiAKLSAgICBkZWYgX2NvbGxlY3RfbWF0Y2hpbmdfdGVzdHMoc2VsZiwgdGVz
dF9saXN0X3BhdGgpOgorICAgIGRlZiBfY29sbGVjdF9tYXRjaGluZ190ZXN0cyhzZWxmLCBleHBl
Y3RhdGlvbl9saW5lKToKICAgICAgICAgIiIiQ29udmVydCB0aGUgdGVzdCBzcGVjaWZpY2F0aW9u
IHRvIGFuIGFic29sdXRlLCBub3JtYWxpemVkCiAgICAgICAgIHBhdGggYW5kIG1ha2Ugc3VyZSBk
aXJlY3RvcmllcyBlbmQgd2l0aCB0aGUgT1MgcGF0aCBzZXBhcmF0b3IuIiIiCiAgICAgICAgICMg
RklYTUU6IGZ1bGxfdGVzdF9saXN0IGNhbiBxdWlja2x5IGNvbnRhaW4gYSBiaWcgYW1vdW50IG9m
CkBAIC0yNTEsMTggKzI0OSwxOSBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25QYXJzZXI6CiAgICAg
ICAgICMgbGlzdHMgdG8gcmVwcmVzZW50IHRoZSB0cmVlIG9mIHRlc3RzLCBsZWF2ZXMgYmVpbmcg
dGVzdAogICAgICAgICAjIGZpbGVzIGFuZCBub2RlcyBiZWluZyBjYXRlZ29yaWVzLgogCi0gICAg
ICAgIGlmIHNlbGYuX3BvcnQudGVzdF9pc2Rpcih0ZXN0X2xpc3RfcGF0aCk6Ci0gICAgICAgICAg
ICAjIHRoaXMgaXMgYSB0ZXN0IGNhdGVnb3J5LCByZXR1cm4gYWxsIHRoZSB0ZXN0cyBvZiB0aGUg
Y2F0ZWdvcnkuCi0gICAgICAgICAgICB0ZXN0X2xpc3RfcGF0aCA9IHNlbGYuX3BvcnQubm9ybWFs
aXplX3Rlc3RfbmFtZSh0ZXN0X2xpc3RfcGF0aCkKKyAgICAgICAgaWYgbm90IHNlbGYuX2Z1bGxf
dGVzdF9saXN0OgorICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5tYXRjaGluZ190ZXN0cyA9
IFtleHBlY3RhdGlvbl9saW5lLnBhdGhdCisgICAgICAgICAgICByZXR1cm4KIAotICAgICAgICAg
ICAgcmV0dXJuIFt0ZXN0IGZvciB0ZXN0IGluIHNlbGYuX2Z1bGxfdGVzdF9saXN0IGlmIHRlc3Qu
c3RhcnRzd2l0aCh0ZXN0X2xpc3RfcGF0aCldCisgICAgICAgIGlmIHNlbGYuX3BvcnQudGVzdF9p
c2RpcihleHBlY3RhdGlvbl9saW5lLnBhdGgpOgorICAgICAgICAgICAgIyB0aGlzIGlzIGEgdGVz
dCBjYXRlZ29yeSwgcmV0dXJuIGFsbCB0aGUgdGVzdHMgb2YgdGhlIGNhdGVnb3J5LgorICAgICAg
ICAgICAgZXhwZWN0YXRpb25fbGluZS5tYXRjaGluZ190ZXN0cyA9IFt0ZXN0IGZvciB0ZXN0IGlu
IHNlbGYuX2Z1bGxfdGVzdF9saXN0IGlmIHRlc3Quc3RhcnRzd2l0aChleHBlY3RhdGlvbl9saW5l
LnBhdGgpXQorICAgICAgICAgICAgcmV0dXJuCiAKICAgICAgICAgIyB0aGlzIGlzIGEgdGVzdCBm
aWxlLCBkbyBhIHF1aWNrIGNoZWNrIGlmIGl0J3MgaW4gdGhlCiAgICAgICAgICMgZnVsbCB0ZXN0
IHN1aXRlLgotICAgICAgICByZXN1bHQgPSBbXQotICAgICAgICBpZiB0ZXN0X2xpc3RfcGF0aCBp
biBzZWxmLl9mdWxsX3Rlc3RfbGlzdDoKLSAgICAgICAgICAgIHJlc3VsdCA9IFt0ZXN0X2xpc3Rf
cGF0aCwgXQotICAgICAgICByZXR1cm4gcmVzdWx0CisgICAgICAgIGlmIGV4cGVjdGF0aW9uX2xp
bmUucGF0aCBpbiBzZWxmLl9mdWxsX3Rlc3RfbGlzdDoKKyAgICAgICAgICAgIGV4cGVjdGF0aW9u
X2xpbmUubWF0Y2hpbmdfdGVzdHMuYXBwZW5kKGV4cGVjdGF0aW9uX2xpbmUucGF0aCkKIAogICAg
IEBjbGFzc21ldGhvZAogICAgIGRlZiB0b2tlbml6ZShjbHMsIGV4cGVjdGF0aW9uX3N0cmluZyk6
CkBAIC0zMjQsNiArMzIzLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uTGluZToKICAgICBkZWYg
X19pbml0X18oc2VsZik6CiAgICAgICAgICIiIkluaXRpYWxpemVzIGEgYmxhbmstbGluZSBlcXVp
dmFsZW50IG9mIGFuIGV4cGVjdGF0aW9uLiIiIgogICAgICAgICBzZWxmLm5hbWUgPSBOb25lCisg
ICAgICAgIHNlbGYucGF0aCA9IE5vbmUKICAgICAgICAgc2VsZi5tb2RpZmllcnMgPSBbXQogICAg
ICAgICBzZWxmLnBhcnNlZF9tb2RpZmllcnMgPSBbXQogICAgICAgICBzZWxmLmV4cGVjdGF0aW9u
cyA9IFtdCkBAIC0zNDAsNyArMzQwLDE1IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbkxpbmU6CiAg
ICAgZGVmIGlzX2ludmFsaWQoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLmlzX21hbGZvcm1l
ZCgpIG9yIGxlbihzZWxmLndhcm5pbmdzKSA+IDAKIAotIyBGSVhNRTogUmVmYWN0b3IgdG8gdXNl
IFRlc3RFeHBlY3RhdGlvbkxpbmUgYXMgZGF0YSBpdGVtLgorICAgIEBjbGFzc21ldGhvZAorICAg
IGRlZiBjcmVhdGVfcGFzc2luZ19leHBlY3RhdGlvbihjbHMsIHRlc3QpOgorICAgICAgICBleHBl
Y3RhdGlvbl9saW5lID0gVGVzdEV4cGVjdGF0aW9uTGluZSgpCisgICAgICAgIGV4cGVjdGF0aW9u
X2xpbmUubmFtZSA9IHRlc3QKKyAgICAgICAgZXhwZWN0YXRpb25fbGluZS5wYXRoID0gdGVzdAor
ICAgICAgICBleHBlY3RhdGlvbl9saW5lLnBhcnNlZF9leHBlY3RhdGlvbnMgPSBzZXQoW1BBU1Nd
KQorICAgICAgICBleHBlY3RhdGlvbl9saW5lLm1hdGNoaW5nX3Rlc3RzID0gW3Rlc3RdCisgICAg
ICAgIHJldHVybiBleHBlY3RhdGlvbl9saW5lCisKICMgRklYTUU6IFJlZmFjdG9yIEFQSSB0byBi
ZSBhIHByb3BlciBDUlVELgogY2xhc3MgVGVzdEV4cGVjdGF0aW9uc01vZGVsOgogICAgICIiIlJl
cHJlc2VudHMgcmVsYXRpb25hbCBzdG9yZSBvZiBhbGwgZXhwZWN0YXRpb25zIGFuZCBwcm92aWRl
cyBDUlVEIHNlbWFudGljcyB0byBtYW5hZ2UgaXQuIiIiCkBAIC0zNTQsOSArMzYyLDggQEAgY2xh
c3MgVGVzdEV4cGVjdGF0aW9uc01vZGVsOgogICAgICAgICAjIE1hcHMgYSB0ZXN0IHRvIGxpc3Qg
b2YgaXRzIG1vZGlmaWVycyAoc3RyaW5nIHZhbHVlcykKICAgICAgICAgc2VsZi5fdGVzdF90b19t
b2RpZmllcnMgPSB7fQogCi0gICAgICAgICMgTWFwcyBhIHRlc3QgdG8gdGhlIGJhc2UgcGF0aCB0
aGF0IGl0IHdhcyBsaXN0ZWQgd2l0aCBpbiB0aGUgbGlzdCBhbmQKLSAgICAgICAgIyB0aGUgbnVt
YmVyIG9mIG1hdGNoZXMgdGhhdCBiYXNlIHBhdGggaGFkLgotICAgICAgICBzZWxmLl90ZXN0X2xp
c3RfcGF0aHMgPSB7fQorICAgICAgICAjIE1hcHMgYSB0ZXN0IHRvIGEgdHVwbGUgb2YgbGluZSBu
dW1iZXIgYW5kIFRlc3RFeHBlY3RhdGlvbkxpbmUgaW5zdGFuY2UuCisgICAgICAgIHNlbGYuX3Rl
c3RfdG9fZXhwZWN0YXRpb25fbGluZSA9IHt9CiAKICAgICAgICAgIyBMaXN0IG9mIHRlc3RzIHRo
YXQgYXJlIGluIHRoZSBvdmVycmlkZXMgZmlsZSAodXNlZCBmb3IgY2hlY2tpbmcgZm9yCiAgICAg
ICAgICMgZHVwbGljYXRlcyBpbnNpZGUgdGhlIG92ZXJyaWRlcyBmaWxlIGl0c2VsZikuIE5vdGUg
dGhhdCBqdXN0IGJlY2F1c2UKQEAgLTQwNCwxMiArNDExLDEyIEBAIGNsYXNzIFRlc3RFeHBlY3Rh
dGlvbnNNb2RlbDoKICAgICAgICAgcmV0dXJuIHRlc3QgaW4gc2VsZi5fbW9kaWZpZXJfdG9fdGVz
dHNbbW9kaWZpZXJdCiAKICAgICBkZWYgaGFzX3Rlc3Qoc2VsZiwgdGVzdCk6Ci0gICAgICAgIHJl
dHVybiB0ZXN0IGluIHNlbGYuX3Rlc3RfbGlzdF9wYXRocworICAgICAgICByZXR1cm4gdGVzdCBp
biBzZWxmLl90ZXN0X3RvX2V4cGVjdGF0aW9uX2xpbmUKIAogICAgIGRlZiBnZXRfZXhwZWN0YXRp
b25zKHNlbGYsIHRlc3QpOgogICAgICAgICByZXR1cm4gc2VsZi5fdGVzdF90b19leHBlY3RhdGlv
bnNbdGVzdF0KIAotICAgIGRlZiBhZGRfdGVzdHMoc2VsZiwgbGluZW5vLCBleHBlY3RhdGlvbl9s
aW5lLCBvdmVycmlkZXNfYWxsb3dlZCk6CisgICAgZGVmIGFkZF9leHBlY3RhdGlvbl9saW5lKHNl
bGYsIGxpbmVubywgZXhwZWN0YXRpb25fbGluZSwgb3ZlcnJpZGVzX2FsbG93ZWQpOgogICAgICAg
ICAiIiJSZXR1cm5zIGEgbGlzdCBvZiBlcnJvcnMsIGVuY291bnRlcmVkIHdoaWxlIG1hdGNoaW5n
IG1vZGlmaWVycy4iIiIKIAogICAgICAgICBpZiBleHBlY3RhdGlvbl9saW5lLmlzX2ludmFsaWQo
KToKQEAgLTQxOSwxMSArNDI2LDExIEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNNb2RlbDoKICAg
ICAgICAgICAgIGlmIHNlbGYuX2FscmVhZHlfc2Vlbl9iZXR0ZXJfbWF0Y2godGVzdCwgZXhwZWN0
YXRpb25fbGluZSwgbGluZW5vLCBvdmVycmlkZXNfYWxsb3dlZCk6CiAgICAgICAgICAgICAgICAg
Y29udGludWUKIAotICAgICAgICAgICAgc2VsZi5fY2xlYXJfZXhwZWN0YXRpb25zX2Zvcl90ZXN0
KHRlc3QsIGV4cGVjdGF0aW9uX2xpbmUubmFtZSkKLSAgICAgICAgICAgIHNlbGYuX3Rlc3RfbGlz
dF9wYXRoc1t0ZXN0XSA9IChzZWxmLl9wb3J0Lm5vcm1hbGl6ZV90ZXN0X25hbWUoZXhwZWN0YXRp
b25fbGluZS5uYW1lKSwgZXhwZWN0YXRpb25fbGluZS5udW1fbWF0Y2hlcywgbGluZW5vKQotICAg
ICAgICAgICAgc2VsZi5hZGRfdGVzdCh0ZXN0LCBleHBlY3RhdGlvbl9saW5lLCBvdmVycmlkZXNf
YWxsb3dlZCkKKyAgICAgICAgICAgIHNlbGYuX2NsZWFyX2V4cGVjdGF0aW9uc19mb3JfdGVzdCh0
ZXN0LCBleHBlY3RhdGlvbl9saW5lKQorICAgICAgICAgICAgc2VsZi5fdGVzdF90b19leHBlY3Rh
dGlvbl9saW5lW3Rlc3RdID0gKGV4cGVjdGF0aW9uX2xpbmUsIGxpbmVubykKKyAgICAgICAgICAg
IHNlbGYuX2FkZF90ZXN0KHRlc3QsIGV4cGVjdGF0aW9uX2xpbmUsIG92ZXJyaWRlc19hbGxvd2Vk
KQogCi0gICAgZGVmIGFkZF90ZXN0KHNlbGYsIHRlc3QsIGV4cGVjdGF0aW9uX2xpbmUsIG92ZXJy
aWRlc19hbGxvd2VkKToKKyAgICBkZWYgX2FkZF90ZXN0KHNlbGYsIHRlc3QsIGV4cGVjdGF0aW9u
X2xpbmUsIG92ZXJyaWRlc19hbGxvd2VkKToKICAgICAgICAgIiIiU2V0cyB0aGUgZXhwZWN0ZWQg
c3RhdGUgZm9yIGEgZ2l2ZW4gdGVzdC4KIAogICAgICAgICBUaGlzIHJvdXRpbmUgYXNzdW1lcyB0
aGUgdGVzdCBoYXMgbm90IGJlZW4gYWRkZWQgYmVmb3JlLiBJZiBpdCBoYXMsCkBAIC00NjEsNyAr
NDY4LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc01vZGVsOgogICAgICAgICBpZiBvdmVycmlk
ZXNfYWxsb3dlZDoKICAgICAgICAgICAgIHNlbGYuX292ZXJyaWRkaW5nX3Rlc3RzLmFkZCh0ZXN0
KQogCi0gICAgZGVmIF9jbGVhcl9leHBlY3RhdGlvbnNfZm9yX3Rlc3Qoc2VsZiwgdGVzdCwgdGVz
dF9saXN0X3BhdGgpOgorICAgIGRlZiBfY2xlYXJfZXhwZWN0YXRpb25zX2Zvcl90ZXN0KHNlbGYs
IHRlc3QsIGV4cGVjdGF0aW9uX2xpbmUpOgogICAgICAgICAiIiJSZW1vdmUgcHJleGlzdGluZyBl
eHBlY3RhdGlvbnMgZm9yIHRoaXMgdGVzdC4KICAgICAgICAgVGhpcyBoYXBwZW5zIGlmIHdlIGFy
ZSBzZWVpbmcgYSBtb3JlIHByZWNpc2UgcGF0aAogICAgICAgICB0aGFuIGEgcHJldmlvdXMgbGlz
dGluZy4KQEAgLTQ3Myw3ICs0ODAsNyBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zTW9kZWw6CiAg
ICAgICAgICAgICBzZWxmLl9yZW1vdmVfZnJvbV9zZXRzKHRlc3QsIHNlbGYuX3RpbWVsaW5lX3Rv
X3Rlc3RzKQogICAgICAgICAgICAgc2VsZi5fcmVtb3ZlX2Zyb21fc2V0cyh0ZXN0LCBzZWxmLl9y
ZXN1bHRfdHlwZV90b190ZXN0cykKIAotICAgICAgICBzZWxmLl90ZXN0X2xpc3RfcGF0aHNbdGVz
dF0gPSBzZWxmLl9wb3J0Lm5vcm1hbGl6ZV90ZXN0X25hbWUodGVzdF9saXN0X3BhdGgpCisgICAg
ICAgIHNlbGYuX3Rlc3RfdG9fZXhwZWN0YXRpb25fbGluZVt0ZXN0XSA9IChleHBlY3RhdGlvbl9s
aW5lLCAwKQogCiAgICAgZGVmIF9yZW1vdmVfZnJvbV9zZXRzKHNlbGYsIHRlc3QsIGRpY3QpOgog
ICAgICAgICAiIiJSZW1vdmVzIHRoZSBnaXZlbiB0ZXN0IGZyb20gdGhlIHNldHMgaW4gdGhlIGRp
Y3Rpb25hcnkuCkBAIC00OTYsMTQgKzUwMywxMyBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zTW9k
ZWw6CiAgICAgICAgICAgICAjIFdlJ3ZlIG5ldmVyIHNlZW4gdGhpcyB0ZXN0IGJlZm9yZS4KICAg
ICAgICAgICAgIHJldHVybiBGYWxzZQogCi0gICAgICAgIHByZXZfYmFzZV9wYXRoLCBwcmV2X251
bV9tYXRjaGVzLCBwcmV2X2xpbmVubyA9IHNlbGYuX3Rlc3RfbGlzdF9wYXRoc1t0ZXN0XQotICAg
ICAgICBiYXNlX3BhdGggPSBzZWxmLl9wb3J0Lm5vcm1hbGl6ZV90ZXN0X25hbWUoZXhwZWN0YXRp
b25fbGluZS5uYW1lKQorICAgICAgICBwcmV2X2V4cGVjdGF0aW9uX2xpbmUsIHByZXZfbGluZW5v
ID0gc2VsZi5fdGVzdF90b19leHBlY3RhdGlvbl9saW5lW3Rlc3RdCiAKLSAgICAgICAgaWYgbGVu
KHByZXZfYmFzZV9wYXRoKSA+IGxlbihiYXNlX3BhdGgpOgorICAgICAgICBpZiBsZW4ocHJldl9l
eHBlY3RhdGlvbl9saW5lLnBhdGgpID4gbGVuKGV4cGVjdGF0aW9uX2xpbmUucGF0aCk6CiAgICAg
ICAgICAgICAjIFRoZSBwcmV2aW91cyBwYXRoIG1hdGNoZWQgbW9yZSBvZiB0aGUgdGVzdC4KICAg
ICAgICAgICAgIHJldHVybiBUcnVlCiAKLSAgICAgICAgaWYgbGVuKHByZXZfYmFzZV9wYXRoKSA8
IGxlbihiYXNlX3BhdGgpOgorICAgICAgICBpZiBsZW4ocHJldl9leHBlY3RhdGlvbl9saW5lLnBh
dGgpIDwgbGVuKGV4cGVjdGF0aW9uX2xpbmUucGF0aCk6CiAgICAgICAgICAgICAjIFRoaXMgcGF0
aCBtYXRjaGVzIG1vcmUgb2YgdGhlIHRlc3QuCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIApA
QCAtNTMwLDExICs1MzYsMTEgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc01vZGVsOgogICAgICAg
ICAjIFRvIHVzZSB0aGUgIm1vcmUgbW9kaWZpZXJzIHdpbnMiIHBvbGljeSwgY2hhbmdlIHRoZSBl
cnJvcnMgZm9yIG92ZXJyaWRlcwogICAgICAgICAjIHRvIGJlIHdhcm5pbmdzIGFuZCByZXR1cm4g
RmFsc2UiLgogCi0gICAgICAgIGlmIHByZXZfbnVtX21hdGNoZXMgPT0gZXhwZWN0YXRpb25fbGlu
ZS5udW1fbWF0Y2hlczoKKyAgICAgICAgaWYgcHJldl9leHBlY3RhdGlvbl9saW5lLm51bV9tYXRj
aGVzID09IGV4cGVjdGF0aW9uX2xpbmUubnVtX21hdGNoZXM6CiAgICAgICAgICAgICBleHBlY3Rh
dGlvbl9saW5lLmVycm9ycy5hcHBlbmQoJ0R1cGxpY2F0ZSBvciBhbWJpZ3VvdXMgJXMuJyAlIGV4
cGVjdGF0aW9uX3NvdXJjZSkKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAKLSAgICAgICAgaWYg
cHJldl9udW1fbWF0Y2hlcyA8IGV4cGVjdGF0aW9uX2xpbmUubnVtX21hdGNoZXM6CisgICAgICAg
IGlmIHByZXZfZXhwZWN0YXRpb25fbGluZS5udW1fbWF0Y2hlcyA8IGV4cGVjdGF0aW9uX2xpbmUu
bnVtX21hdGNoZXM6CiAgICAgICAgICAgICBleHBlY3RhdGlvbl9saW5lLmVycm9ycy5hcHBlbmQo
J01vcmUgc3BlY2lmaWMgZW50cnkgb24gbGluZSAlZCBvdmVycmlkZXMgbGluZSAlZCcgJSAobGlu
ZW5vLCBwcmV2X2xpbmVubykpCiAgICAgICAgICAgICAjIEZJWE1FOiByZXR1cm4gRmFsc2UgaWYg
d2Ugd2FudCBtb3JlIHNwZWNpZmljIHRvIHdpbi4KICAgICAgICAgICAgIHJldHVybiBUcnVlCkBA
IC03NjAsMTIgKzc2NiwxMCBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zOgogICAgICAgICAgICAg
ICAgICAgICByYWlzZSBQYXJzZUVycm9yKGZhdGFsPUZhbHNlLCBlcnJvcnM9d2FybmluZ3MpCiAK
ICAgICBkZWYgX3Byb2Nlc3NfdGVzdHNfd2l0aG91dF9leHBlY3RhdGlvbnMoc2VsZik6Ci0gICAg
ICAgIGV4cGVjdGF0aW9uID0gVGVzdEV4cGVjdGF0aW9uTGluZSgpCi0gICAgICAgIGV4cGVjdGF0
aW9uLnBhcnNlZF9leHBlY3RhdGlvbnMgPSBzZXQoW1BBU1NdKQogICAgICAgICBpZiBzZWxmLl9m
dWxsX3Rlc3RfbGlzdDoKICAgICAgICAgICAgIGZvciB0ZXN0IGluIHNlbGYuX2Z1bGxfdGVzdF9s
aXN0OgogICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9tb2RlbC5oYXNfdGVzdCh0ZXN0KToK
LSAgICAgICAgICAgICAgICAgICAgc2VsZi5fbW9kZWwuYWRkX3Rlc3QodGVzdCwgZXhwZWN0YXRp
b24sIG92ZXJyaWRlc19hbGxvd2VkPUZhbHNlKQorICAgICAgICAgICAgICAgICAgICBzZWxmLl9t
b2RlbC5hZGRfZXhwZWN0YXRpb25fbGluZSgwLCBUZXN0RXhwZWN0YXRpb25MaW5lLmNyZWF0ZV9w
YXNzaW5nX2V4cGVjdGF0aW9uKHRlc3QpLCBvdmVycmlkZXNfYWxsb3dlZD1GYWxzZSkKIAogICAg
IGRlZiBnZXRfZXhwZWN0YXRpb25zX2pzb25fZm9yX2FsbF9wbGF0Zm9ybXMoc2VsZik6CiAgICAg
ICAgICMgU3BlY2lmeSBzZXBhcmF0b3JzIGluIG9yZGVyIHRvIGdldCBjb21wYWN0IGVuY29kaW5n
LgpAQCAtNzkwLDE5ICs3OTQsMTcgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uczoKIAogICAgIGRl
ZiBfYWRkX2V4cGVjdGF0aW9ucyhzZWxmLCBleHBlY3RhdGlvbl9saXN0LCBvdmVycmlkZXNfYWxs
b3dlZCk6CiAgICAgICAgIGxpbmVubyA9IDAKLSAgICAgICAgZm9yIGV4cGVjdGF0aW9uIGluIGV4
cGVjdGF0aW9uX2xpc3Q6CisgICAgICAgIGZvciBleHBlY3RhdGlvbl9saW5lIGluIGV4cGVjdGF0
aW9uX2xpc3Q6CiAgICAgICAgICAgICBsaW5lbm8gKz0gMQotICAgICAgICAgICAgZXhwZWN0YXRp
b25zID0gZXhwZWN0YXRpb24uZXhwZWN0YXRpb25zCi0KLSAgICAgICAgICAgIGlmIG5vdCBleHBl
Y3RhdGlvbi5leHBlY3RhdGlvbnM6CisgICAgICAgICAgICBpZiBub3QgZXhwZWN0YXRpb25fbGlu
ZS5leHBlY3RhdGlvbnM6CiAgICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICAgICAg
c2VsZi5fYWRkX3RvX2FsbF9leHBlY3RhdGlvbnMoZXhwZWN0YXRpb24ubmFtZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAiLmpvaW4oZXhwZWN0YXRpb24u
bW9kaWZpZXJzKS51cHBlcigpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiICIuam9pbihleHBlY3RhdGlvbi5leHBlY3RhdGlvbnMpLnVwcGVyKCkpCisgICAg
ICAgICAgICBzZWxmLl9hZGRfdG9fYWxsX2V4cGVjdGF0aW9ucyhleHBlY3RhdGlvbl9saW5lLm5h
bWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgIi5qb2lu
KGV4cGVjdGF0aW9uX2xpbmUubW9kaWZpZXJzKS51cHBlcigpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiICIuam9pbihleHBlY3RhdGlvbl9saW5lLmV4cGVj
dGF0aW9ucykudXBwZXIoKSkKIAotICAgICAgICAgICAgc2VsZi5fcGFyc2VyLnBhcnNlKGV4cGVj
dGF0aW9uKQotICAgICAgICAgICAgc2VsZi5fbW9kZWwuYWRkX3Rlc3RzKGxpbmVubywgZXhwZWN0
YXRpb24sIG92ZXJyaWRlc19hbGxvd2VkKQorICAgICAgICAgICAgc2VsZi5fcGFyc2VyLnBhcnNl
KGV4cGVjdGF0aW9uX2xpbmUpCisgICAgICAgICAgICBzZWxmLl9tb2RlbC5hZGRfZXhwZWN0YXRp
b25fbGluZShsaW5lbm8sIGV4cGVjdGF0aW9uX2xpbmUsIG92ZXJyaWRlc19hbGxvd2VkKQogCiAK
IGNsYXNzIE1vZGlmaWVyTWF0Y2hSZXN1bHQob2JqZWN0KToK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101057</attachid>
            <date>2011-07-15 15:43:14 -0700</date>
            <delta_ts>2011-07-15 15:46:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64635-20110715154313.patch</filename>
            <type>text/plain</type>
            <size>12603</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTExMDYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyN2JjMTY0NDlmMjE1ZTM0NDMwNDNhMjg3OWM1ZGNmODI5
MmE4ZWY2Li45NjkxYWI0YWQ1MjFmYWY2NDlkM2Q3ZjkyNTc3ZDA2ZjBiMGIwYTRiIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYg
QEAKIDIwMTEtMDctMTUgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4K
IAorICAgICAgICBSZWZhY3RvciBUZXN0RXhwZWN0YXRpb25Nb2RlbCB0byB1c2UgVGVzdEV4cGVj
dGF0aW9uTGluZSBhcyBkYXRhIGl0ZW0uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02NDYzNQorCisgICAgICAgIFRoaXMgaXMgYSBiaXQgbGFyZ2lzaCBp
biBzY29wZS4gRG9lcyB0aGUgZm9sbG93aW5nIHRoaW5nczoKKworICAgICAgICAxKSBBZGRzICJw
YXRoIiBtZW1iZXIgdG8gVGVzdEV4cGVjdGF0aW9uTGluZSB0byBob2xkIG5vcm1hbGl6ZWQgcGF0
aCB0byB0ZXN0LCBjb21wdXRlZCBhdCBwYXJzaW5nLAorICAgICAgICAgICBhbmQgY2hhbmdlcyBj
b2RlIHRoYXQgdXNlZCBQb3J0Lm5vcm1hbGl6ZV90ZXN0X25hbWUgdG8gcmVseSBvbiBUZXN0RXhw
ZWN0YXRpb25MaW5lLnBhdGguIEFzIGEgcmVzdWx0LCBUZXN0RXhwZWN0YXRpb25Nb2RlbCBubyBs
b25nZXIKKyAgICAgICAgICAgbmVlZHMgdG8gaGF2ZSBhbnkgcG9ydCBrbm93bGVkZ2UuCisKKyAg
ICAgICAgMikgQWRkcyAiY3JlYXRlX3Bhc3NpbmdfZXhwZWN0YXRpb24iIGNsYXNzIG1ldGhvZCB0
byBUZXN0RXhwZWN0YXRpb25MaW5lIHRvIGdlbmVyYXRlIGEgcHJpc3RpbmUgcGFzc2luZyBleHBl
Y3RhdGlvbiBvdXQgb2YgYSB0ZXN0IG5hbWUsCisgICAgICAgICAgIGFuZCBjaGFuZ2VzIFRlc3RF
eHBlY3RhdGlvbnMuX3Byb2Nlc3NfdGVzdHNfd2l0aG91dF9leHBlY3RhdGlvbnMgdG8gdXNlIGl0
LCB0aHVzIGVsaW1pbmF0aW5nIHRoZSBuZWVkIGZvciBhIHNwZWNpYWwgQVBJIGVudHJ5IHBvaW50
LgorICAgICAgICAgICBOb3cgYWxsIGV4cGVjdGF0aW9ucyBhcmUgYWRkZWQgdG8gdGhlIG1vZGVs
IGluIHRoZSBzYW1lIHdheSEKKworICAgICAgICAzKSBDaGFuZ2VzIFRlc3RFeHBlY3RhdGlvbk1v
ZGVsJ3MgbWFpbiB0ZXN0IGluZGV4IHRvIHN0b3JlIGEgdHVwbGUgY29uc2lzdGluZyBvZiBsaW5l
IG51bWJlciBhbmQgVGVzdEV4cGVjdGF0aW9uTGluZSBpbnN0YW5jZS4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weTogUmVmYWN0b3JlZCBjb2RlLgor
CisyMDExLTA3LTE1ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CisK
ICAgICAgICAgUmV2ZXJ0IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzkxMDkxLCBz
aW5jZSBQeXRob24gMi41CiAgICAgICAgIGRvZXMgbm90IHN1cHBvcnQgZW51bWVyYXRlKCkgc3Rh
cnQgYXJndW1lbnQuCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weQppbmRleCA0ZWUyODUx
NDg4MGRkMTk0ODAwMjdjMWZmN2VlNjFjMjhjNmQyYmM0Li5mNGQ3YzJhZWRmNmQwOWE2OWU0OTJk
OTExYWQ3ZDczMzQ2MjgzMTZkIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5CkBAIC0x
OTIsMTAgKzE5Miw4IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvblBhcnNlcjoKICAgICAgICAgaWYg
c2VsZi5fY2hlY2tfcGF0aF9kb2VzX25vdF9leGlzdChleHBlY3RhdGlvbl9saW5lKToKICAgICAg
ICAgICAgIHJldHVybgogCi0gICAgICAgIGlmIG5vdCBzZWxmLl9mdWxsX3Rlc3RfbGlzdDoKLSAg
ICAgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUubWF0Y2hpbmdfdGVzdHMgPSBbZXhwZWN0YXRpb25f
bGluZS5uYW1lXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5t
YXRjaGluZ190ZXN0cyA9IHNlbGYuX2NvbGxlY3RfbWF0Y2hpbmdfdGVzdHMoZXhwZWN0YXRpb25f
bGluZS5uYW1lKQorICAgICAgICBleHBlY3RhdGlvbl9saW5lLnBhdGggPSBzZWxmLl9wb3J0Lm5v
cm1hbGl6ZV90ZXN0X25hbWUoZXhwZWN0YXRpb25fbGluZS5uYW1lKQorICAgICAgICBzZWxmLl9j
b2xsZWN0X21hdGNoaW5nX3Rlc3RzKGV4cGVjdGF0aW9uX2xpbmUpCiAKICAgICAgICAgZXhwZWN0
YXRpb25fbGluZS5wYXJzZWRfbW9kaWZpZXJzID0gW21vZGlmaWVyIGZvciBtb2RpZmllciBpbiBl
eHBlY3RhdGlvbl9saW5lLm1vZGlmaWVycyBpZiBtb2RpZmllciBpbiBUZXN0RXhwZWN0YXRpb25z
Lk1PRElGSUVSU10KICAgICAgICAgc2VsZi5fcGFyc2VfZXhwZWN0YXRpb25zKGV4cGVjdGF0aW9u
X2xpbmUpCkBAIC0yNDIsNyArMjQwLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uUGFyc2VyOgog
ICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICAgICAgcmV0dXJuIEZhbHNlCiAKLSAgICBkZWYg
X2NvbGxlY3RfbWF0Y2hpbmdfdGVzdHMoc2VsZiwgdGVzdF9saXN0X3BhdGgpOgorICAgIGRlZiBf
Y29sbGVjdF9tYXRjaGluZ190ZXN0cyhzZWxmLCBleHBlY3RhdGlvbl9saW5lKToKICAgICAgICAg
IiIiQ29udmVydCB0aGUgdGVzdCBzcGVjaWZpY2F0aW9uIHRvIGFuIGFic29sdXRlLCBub3JtYWxp
emVkCiAgICAgICAgIHBhdGggYW5kIG1ha2Ugc3VyZSBkaXJlY3RvcmllcyBlbmQgd2l0aCB0aGUg
T1MgcGF0aCBzZXBhcmF0b3IuIiIiCiAgICAgICAgICMgRklYTUU6IGZ1bGxfdGVzdF9saXN0IGNh
biBxdWlja2x5IGNvbnRhaW4gYSBiaWcgYW1vdW50IG9mCkBAIC0yNTEsMTggKzI0OSwxOSBAQCBj
bGFzcyBUZXN0RXhwZWN0YXRpb25QYXJzZXI6CiAgICAgICAgICMgbGlzdHMgdG8gcmVwcmVzZW50
IHRoZSB0cmVlIG9mIHRlc3RzLCBsZWF2ZXMgYmVpbmcgdGVzdAogICAgICAgICAjIGZpbGVzIGFu
ZCBub2RlcyBiZWluZyBjYXRlZ29yaWVzLgogCi0gICAgICAgIGlmIHNlbGYuX3BvcnQudGVzdF9p
c2Rpcih0ZXN0X2xpc3RfcGF0aCk6Ci0gICAgICAgICAgICAjIHRoaXMgaXMgYSB0ZXN0IGNhdGVn
b3J5LCByZXR1cm4gYWxsIHRoZSB0ZXN0cyBvZiB0aGUgY2F0ZWdvcnkuCi0gICAgICAgICAgICB0
ZXN0X2xpc3RfcGF0aCA9IHNlbGYuX3BvcnQubm9ybWFsaXplX3Rlc3RfbmFtZSh0ZXN0X2xpc3Rf
cGF0aCkKKyAgICAgICAgaWYgbm90IHNlbGYuX2Z1bGxfdGVzdF9saXN0OgorICAgICAgICAgICAg
ZXhwZWN0YXRpb25fbGluZS5tYXRjaGluZ190ZXN0cyA9IFtleHBlY3RhdGlvbl9saW5lLnBhdGhd
CisgICAgICAgICAgICByZXR1cm4KIAotICAgICAgICAgICAgcmV0dXJuIFt0ZXN0IGZvciB0ZXN0
IGluIHNlbGYuX2Z1bGxfdGVzdF9saXN0IGlmIHRlc3Quc3RhcnRzd2l0aCh0ZXN0X2xpc3RfcGF0
aCldCisgICAgICAgIGlmIHNlbGYuX3BvcnQudGVzdF9pc2RpcihleHBlY3RhdGlvbl9saW5lLnBh
dGgpOgorICAgICAgICAgICAgIyB0aGlzIGlzIGEgdGVzdCBjYXRlZ29yeSwgcmV0dXJuIGFsbCB0
aGUgdGVzdHMgb2YgdGhlIGNhdGVnb3J5LgorICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5t
YXRjaGluZ190ZXN0cyA9IFt0ZXN0IGZvciB0ZXN0IGluIHNlbGYuX2Z1bGxfdGVzdF9saXN0IGlm
IHRlc3Quc3RhcnRzd2l0aChleHBlY3RhdGlvbl9saW5lLnBhdGgpXQorICAgICAgICAgICAgcmV0
dXJuCiAKICAgICAgICAgIyB0aGlzIGlzIGEgdGVzdCBmaWxlLCBkbyBhIHF1aWNrIGNoZWNrIGlm
IGl0J3MgaW4gdGhlCiAgICAgICAgICMgZnVsbCB0ZXN0IHN1aXRlLgotICAgICAgICByZXN1bHQg
PSBbXQotICAgICAgICBpZiB0ZXN0X2xpc3RfcGF0aCBpbiBzZWxmLl9mdWxsX3Rlc3RfbGlzdDoK
LSAgICAgICAgICAgIHJlc3VsdCA9IFt0ZXN0X2xpc3RfcGF0aCwgXQotICAgICAgICByZXR1cm4g
cmVzdWx0CisgICAgICAgIGlmIGV4cGVjdGF0aW9uX2xpbmUucGF0aCBpbiBzZWxmLl9mdWxsX3Rl
c3RfbGlzdDoKKyAgICAgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUubWF0Y2hpbmdfdGVzdHMuYXBw
ZW5kKGV4cGVjdGF0aW9uX2xpbmUucGF0aCkKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiB0
b2tlbml6ZShjbHMsIGV4cGVjdGF0aW9uX3N0cmluZyk6CkBAIC0zMjQsNiArMzIzLDcgQEAgY2xh
c3MgVGVzdEV4cGVjdGF0aW9uTGluZToKICAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAg
ICIiIkluaXRpYWxpemVzIGEgYmxhbmstbGluZSBlcXVpdmFsZW50IG9mIGFuIGV4cGVjdGF0aW9u
LiIiIgogICAgICAgICBzZWxmLm5hbWUgPSBOb25lCisgICAgICAgIHNlbGYucGF0aCA9IE5vbmUK
ICAgICAgICAgc2VsZi5tb2RpZmllcnMgPSBbXQogICAgICAgICBzZWxmLnBhcnNlZF9tb2RpZmll
cnMgPSBbXQogICAgICAgICBzZWxmLmV4cGVjdGF0aW9ucyA9IFtdCkBAIC0zNDAsMjMgKzM0MCwy
OSBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25MaW5lOgogICAgIGRlZiBpc19pbnZhbGlkKHNlbGYp
OgogICAgICAgICByZXR1cm4gc2VsZi5pc19tYWxmb3JtZWQoKSBvciBsZW4oc2VsZi53YXJuaW5n
cykgPiAwCiAKLSMgRklYTUU6IFJlZmFjdG9yIHRvIHVzZSBUZXN0RXhwZWN0YXRpb25MaW5lIGFz
IGRhdGEgaXRlbS4KKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgY3JlYXRlX3Bhc3NpbmdfZXhw
ZWN0YXRpb24oY2xzLCB0ZXN0KToKKyAgICAgICAgZXhwZWN0YXRpb25fbGluZSA9IFRlc3RFeHBl
Y3RhdGlvbkxpbmUoKQorICAgICAgICBleHBlY3RhdGlvbl9saW5lLm5hbWUgPSB0ZXN0CisgICAg
ICAgIGV4cGVjdGF0aW9uX2xpbmUucGF0aCA9IHRlc3QKKyAgICAgICAgZXhwZWN0YXRpb25fbGlu
ZS5wYXJzZWRfZXhwZWN0YXRpb25zID0gc2V0KFtQQVNTXSkKKyAgICAgICAgZXhwZWN0YXRpb25f
bGluZS5tYXRjaGluZ190ZXN0cyA9IFt0ZXN0XQorICAgICAgICByZXR1cm4gZXhwZWN0YXRpb25f
bGluZQorCisKICMgRklYTUU6IFJlZmFjdG9yIEFQSSB0byBiZSBhIHByb3BlciBDUlVELgogY2xh
c3MgVGVzdEV4cGVjdGF0aW9uc01vZGVsOgogICAgICIiIlJlcHJlc2VudHMgcmVsYXRpb25hbCBz
dG9yZSBvZiBhbGwgZXhwZWN0YXRpb25zIGFuZCBwcm92aWRlcyBDUlVEIHNlbWFudGljcyB0byBt
YW5hZ2UgaXQuIiIiCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcG9ydCk6Ci0gICAgICAgIHNl
bGYuX3BvcnQgPSBwb3J0Ci0KKyAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgICMgTWFw
cyBhIHRlc3QgdG8gaXRzIGxpc3Qgb2YgZXhwZWN0YXRpb25zLgogICAgICAgICBzZWxmLl90ZXN0
X3RvX2V4cGVjdGF0aW9ucyA9IHt9CiAKICAgICAgICAgIyBNYXBzIGEgdGVzdCB0byBsaXN0IG9m
IGl0cyBtb2RpZmllcnMgKHN0cmluZyB2YWx1ZXMpCiAgICAgICAgIHNlbGYuX3Rlc3RfdG9fbW9k
aWZpZXJzID0ge30KIAotICAgICAgICAjIE1hcHMgYSB0ZXN0IHRvIHRoZSBiYXNlIHBhdGggdGhh
dCBpdCB3YXMgbGlzdGVkIHdpdGggaW4gdGhlIGxpc3QgYW5kCi0gICAgICAgICMgdGhlIG51bWJl
ciBvZiBtYXRjaGVzIHRoYXQgYmFzZSBwYXRoIGhhZC4KLSAgICAgICAgc2VsZi5fdGVzdF9saXN0
X3BhdGhzID0ge30KKyAgICAgICAgIyBNYXBzIGEgdGVzdCB0byBhIHR1cGxlIG9mIGxpbmUgbnVt
YmVyIGFuZCBUZXN0RXhwZWN0YXRpb25MaW5lIGluc3RhbmNlLgorICAgICAgICBzZWxmLl90ZXN0
X3RvX2V4cGVjdGF0aW9uX2xpbmUgPSB7fQogCiAgICAgICAgICMgTGlzdCBvZiB0ZXN0cyB0aGF0
IGFyZSBpbiB0aGUgb3ZlcnJpZGVzIGZpbGUgKHVzZWQgZm9yIGNoZWNraW5nIGZvcgogICAgICAg
ICAjIGR1cGxpY2F0ZXMgaW5zaWRlIHRoZSBvdmVycmlkZXMgZmlsZSBpdHNlbGYpLiBOb3RlIHRo
YXQganVzdCBiZWNhdXNlCkBAIC00MDQsMTIgKzQxMCwxMiBAQCBjbGFzcyBUZXN0RXhwZWN0YXRp
b25zTW9kZWw6CiAgICAgICAgIHJldHVybiB0ZXN0IGluIHNlbGYuX21vZGlmaWVyX3RvX3Rlc3Rz
W21vZGlmaWVyXQogCiAgICAgZGVmIGhhc190ZXN0KHNlbGYsIHRlc3QpOgotICAgICAgICByZXR1
cm4gdGVzdCBpbiBzZWxmLl90ZXN0X2xpc3RfcGF0aHMKKyAgICAgICAgcmV0dXJuIHRlc3QgaW4g
c2VsZi5fdGVzdF90b19leHBlY3RhdGlvbl9saW5lCiAKICAgICBkZWYgZ2V0X2V4cGVjdGF0aW9u
cyhzZWxmLCB0ZXN0KToKICAgICAgICAgcmV0dXJuIHNlbGYuX3Rlc3RfdG9fZXhwZWN0YXRpb25z
W3Rlc3RdCiAKLSAgICBkZWYgYWRkX3Rlc3RzKHNlbGYsIGxpbmVubywgZXhwZWN0YXRpb25fbGlu
ZSwgb3ZlcnJpZGVzX2FsbG93ZWQpOgorICAgIGRlZiBhZGRfZXhwZWN0YXRpb25fbGluZShzZWxm
LCBsaW5lbm8sIGV4cGVjdGF0aW9uX2xpbmUsIG92ZXJyaWRlc19hbGxvd2VkKToKICAgICAgICAg
IiIiUmV0dXJucyBhIGxpc3Qgb2YgZXJyb3JzLCBlbmNvdW50ZXJlZCB3aGlsZSBtYXRjaGluZyBt
b2RpZmllcnMuIiIiCiAKICAgICAgICAgaWYgZXhwZWN0YXRpb25fbGluZS5pc19pbnZhbGlkKCk6
CkBAIC00MTksMTEgKzQyNSwxMSBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zTW9kZWw6CiAgICAg
ICAgICAgICBpZiBzZWxmLl9hbHJlYWR5X3NlZW5fYmV0dGVyX21hdGNoKHRlc3QsIGV4cGVjdGF0
aW9uX2xpbmUsIGxpbmVubywgb3ZlcnJpZGVzX2FsbG93ZWQpOgogICAgICAgICAgICAgICAgIGNv
bnRpbnVlCiAKLSAgICAgICAgICAgIHNlbGYuX2NsZWFyX2V4cGVjdGF0aW9uc19mb3JfdGVzdCh0
ZXN0LCBleHBlY3RhdGlvbl9saW5lLm5hbWUpCi0gICAgICAgICAgICBzZWxmLl90ZXN0X2xpc3Rf
cGF0aHNbdGVzdF0gPSAoc2VsZi5fcG9ydC5ub3JtYWxpemVfdGVzdF9uYW1lKGV4cGVjdGF0aW9u
X2xpbmUubmFtZSksIGV4cGVjdGF0aW9uX2xpbmUubnVtX21hdGNoZXMsIGxpbmVubykKLSAgICAg
ICAgICAgIHNlbGYuYWRkX3Rlc3QodGVzdCwgZXhwZWN0YXRpb25fbGluZSwgb3ZlcnJpZGVzX2Fs
bG93ZWQpCisgICAgICAgICAgICBzZWxmLl9jbGVhcl9leHBlY3RhdGlvbnNfZm9yX3Rlc3QodGVz
dCwgZXhwZWN0YXRpb25fbGluZSkKKyAgICAgICAgICAgIHNlbGYuX3Rlc3RfdG9fZXhwZWN0YXRp
b25fbGluZVt0ZXN0XSA9IChleHBlY3RhdGlvbl9saW5lLCBsaW5lbm8pCisgICAgICAgICAgICBz
ZWxmLl9hZGRfdGVzdCh0ZXN0LCBleHBlY3RhdGlvbl9saW5lLCBvdmVycmlkZXNfYWxsb3dlZCkK
IAotICAgIGRlZiBhZGRfdGVzdChzZWxmLCB0ZXN0LCBleHBlY3RhdGlvbl9saW5lLCBvdmVycmlk
ZXNfYWxsb3dlZCk6CisgICAgZGVmIF9hZGRfdGVzdChzZWxmLCB0ZXN0LCBleHBlY3RhdGlvbl9s
aW5lLCBvdmVycmlkZXNfYWxsb3dlZCk6CiAgICAgICAgICIiIlNldHMgdGhlIGV4cGVjdGVkIHN0
YXRlIGZvciBhIGdpdmVuIHRlc3QuCiAKICAgICAgICAgVGhpcyByb3V0aW5lIGFzc3VtZXMgdGhl
IHRlc3QgaGFzIG5vdCBiZWVuIGFkZGVkIGJlZm9yZS4gSWYgaXQgaGFzLApAQCAtNDYxLDcgKzQ2
Nyw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNNb2RlbDoKICAgICAgICAgaWYgb3ZlcnJpZGVz
X2FsbG93ZWQ6CiAgICAgICAgICAgICBzZWxmLl9vdmVycmlkZGluZ190ZXN0cy5hZGQodGVzdCkK
IAotICAgIGRlZiBfY2xlYXJfZXhwZWN0YXRpb25zX2Zvcl90ZXN0KHNlbGYsIHRlc3QsIHRlc3Rf
bGlzdF9wYXRoKToKKyAgICBkZWYgX2NsZWFyX2V4cGVjdGF0aW9uc19mb3JfdGVzdChzZWxmLCB0
ZXN0LCBleHBlY3RhdGlvbl9saW5lKToKICAgICAgICAgIiIiUmVtb3ZlIHByZXhpc3RpbmcgZXhw
ZWN0YXRpb25zIGZvciB0aGlzIHRlc3QuCiAgICAgICAgIFRoaXMgaGFwcGVucyBpZiB3ZSBhcmUg
c2VlaW5nIGEgbW9yZSBwcmVjaXNlIHBhdGgKICAgICAgICAgdGhhbiBhIHByZXZpb3VzIGxpc3Rp
bmcuCkBAIC00NzMsNyArNDc5LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc01vZGVsOgogICAg
ICAgICAgICAgc2VsZi5fcmVtb3ZlX2Zyb21fc2V0cyh0ZXN0LCBzZWxmLl90aW1lbGluZV90b190
ZXN0cykKICAgICAgICAgICAgIHNlbGYuX3JlbW92ZV9mcm9tX3NldHModGVzdCwgc2VsZi5fcmVz
dWx0X3R5cGVfdG9fdGVzdHMpCiAKLSAgICAgICAgc2VsZi5fdGVzdF9saXN0X3BhdGhzW3Rlc3Rd
ID0gc2VsZi5fcG9ydC5ub3JtYWxpemVfdGVzdF9uYW1lKHRlc3RfbGlzdF9wYXRoKQorICAgICAg
ICBzZWxmLl90ZXN0X3RvX2V4cGVjdGF0aW9uX2xpbmVbdGVzdF0gPSAoZXhwZWN0YXRpb25fbGlu
ZSwgMCkKIAogICAgIGRlZiBfcmVtb3ZlX2Zyb21fc2V0cyhzZWxmLCB0ZXN0LCBkaWN0KToKICAg
ICAgICAgIiIiUmVtb3ZlcyB0aGUgZ2l2ZW4gdGVzdCBmcm9tIHRoZSBzZXRzIGluIHRoZSBkaWN0
aW9uYXJ5LgpAQCAtNDk2LDE0ICs1MDIsMTMgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc01vZGVs
OgogICAgICAgICAgICAgIyBXZSd2ZSBuZXZlciBzZWVuIHRoaXMgdGVzdCBiZWZvcmUuCiAgICAg
ICAgICAgICByZXR1cm4gRmFsc2UKIAotICAgICAgICBwcmV2X2Jhc2VfcGF0aCwgcHJldl9udW1f
bWF0Y2hlcywgcHJldl9saW5lbm8gPSBzZWxmLl90ZXN0X2xpc3RfcGF0aHNbdGVzdF0KLSAgICAg
ICAgYmFzZV9wYXRoID0gc2VsZi5fcG9ydC5ub3JtYWxpemVfdGVzdF9uYW1lKGV4cGVjdGF0aW9u
X2xpbmUubmFtZSkKKyAgICAgICAgcHJldl9leHBlY3RhdGlvbl9saW5lLCBwcmV2X2xpbmVubyA9
IHNlbGYuX3Rlc3RfdG9fZXhwZWN0YXRpb25fbGluZVt0ZXN0XQogCi0gICAgICAgIGlmIGxlbihw
cmV2X2Jhc2VfcGF0aCkgPiBsZW4oYmFzZV9wYXRoKToKKyAgICAgICAgaWYgbGVuKHByZXZfZXhw
ZWN0YXRpb25fbGluZS5wYXRoKSA+IGxlbihleHBlY3RhdGlvbl9saW5lLnBhdGgpOgogICAgICAg
ICAgICAgIyBUaGUgcHJldmlvdXMgcGF0aCBtYXRjaGVkIG1vcmUgb2YgdGhlIHRlc3QuCiAgICAg
ICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgICAgIGlmIGxlbihwcmV2X2Jhc2VfcGF0aCkgPCBs
ZW4oYmFzZV9wYXRoKToKKyAgICAgICAgaWYgbGVuKHByZXZfZXhwZWN0YXRpb25fbGluZS5wYXRo
KSA8IGxlbihleHBlY3RhdGlvbl9saW5lLnBhdGgpOgogICAgICAgICAgICAgIyBUaGlzIHBhdGgg
bWF0Y2hlcyBtb3JlIG9mIHRoZSB0ZXN0LgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKQEAg
LTUzMCwxMSArNTM1LDExIEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNNb2RlbDoKICAgICAgICAg
IyBUbyB1c2UgdGhlICJtb3JlIG1vZGlmaWVycyB3aW5zIiBwb2xpY3ksIGNoYW5nZSB0aGUgZXJy
b3JzIGZvciBvdmVycmlkZXMKICAgICAgICAgIyB0byBiZSB3YXJuaW5ncyBhbmQgcmV0dXJuIEZh
bHNlIi4KIAotICAgICAgICBpZiBwcmV2X251bV9tYXRjaGVzID09IGV4cGVjdGF0aW9uX2xpbmUu
bnVtX21hdGNoZXM6CisgICAgICAgIGlmIHByZXZfZXhwZWN0YXRpb25fbGluZS5udW1fbWF0Y2hl
cyA9PSBleHBlY3RhdGlvbl9saW5lLm51bV9tYXRjaGVzOgogICAgICAgICAgICAgZXhwZWN0YXRp
b25fbGluZS5lcnJvcnMuYXBwZW5kKCdEdXBsaWNhdGUgb3IgYW1iaWd1b3VzICVzLicgJSBleHBl
Y3RhdGlvbl9zb3VyY2UpCiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgICAgIGlmIHBy
ZXZfbnVtX21hdGNoZXMgPCBleHBlY3RhdGlvbl9saW5lLm51bV9tYXRjaGVzOgorICAgICAgICBp
ZiBwcmV2X2V4cGVjdGF0aW9uX2xpbmUubnVtX21hdGNoZXMgPCBleHBlY3RhdGlvbl9saW5lLm51
bV9tYXRjaGVzOgogICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5lcnJvcnMuYXBwZW5kKCdN
b3JlIHNwZWNpZmljIGVudHJ5IG9uIGxpbmUgJWQgb3ZlcnJpZGVzIGxpbmUgJWQnICUgKGxpbmVu
bywgcHJldl9saW5lbm8pKQogICAgICAgICAgICAgIyBGSVhNRTogcmV0dXJuIEZhbHNlIGlmIHdl
IHdhbnQgbW9yZSBzcGVjaWZpYyB0byB3aW4uCiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQpAQCAt
NjQ3LDcgKzY1Miw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnM6CiAgICAgICAgIHNlbGYuX2Z1
bGxfdGVzdF9saXN0ID0gdGVzdHMKICAgICAgICAgc2VsZi5fdGVzdF9jb25maWcgPSB0ZXN0X2Nv
bmZpZwogICAgICAgICBzZWxmLl9pc19saW50X21vZGUgPSBpc19saW50X21vZGUKLSAgICAgICAg
c2VsZi5fbW9kZWwgPSBUZXN0RXhwZWN0YXRpb25zTW9kZWwocG9ydCkKKyAgICAgICAgc2VsZi5f
bW9kZWwgPSBUZXN0RXhwZWN0YXRpb25zTW9kZWwoKQogICAgICAgICBzZWxmLl9wYXJzZXIgPSBU
ZXN0RXhwZWN0YXRpb25QYXJzZXIocG9ydCwgdGVzdF9jb25maWcsIHRlc3RzLCBpc19saW50X21v
ZGUpCiAKICAgICAgICAgIyBNYXBzIHJlbGF0aXZlIHRlc3QgcGF0aHMgYXMgbGlzdGVkIGluIHRo
ZSBleHBlY3RhdGlvbnMgZmlsZSB0byBhCkBAIC03NjAsMTIgKzc2NSwxMCBAQCBjbGFzcyBUZXN0
RXhwZWN0YXRpb25zOgogICAgICAgICAgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9yKGZhdGFs
PUZhbHNlLCBlcnJvcnM9d2FybmluZ3MpCiAKICAgICBkZWYgX3Byb2Nlc3NfdGVzdHNfd2l0aG91
dF9leHBlY3RhdGlvbnMoc2VsZik6Ci0gICAgICAgIGV4cGVjdGF0aW9uID0gVGVzdEV4cGVjdGF0
aW9uTGluZSgpCi0gICAgICAgIGV4cGVjdGF0aW9uLnBhcnNlZF9leHBlY3RhdGlvbnMgPSBzZXQo
W1BBU1NdKQogICAgICAgICBpZiBzZWxmLl9mdWxsX3Rlc3RfbGlzdDoKICAgICAgICAgICAgIGZv
ciB0ZXN0IGluIHNlbGYuX2Z1bGxfdGVzdF9saXN0OgogICAgICAgICAgICAgICAgIGlmIG5vdCBz
ZWxmLl9tb2RlbC5oYXNfdGVzdCh0ZXN0KToKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5fbW9k
ZWwuYWRkX3Rlc3QodGVzdCwgZXhwZWN0YXRpb24sIG92ZXJyaWRlc19hbGxvd2VkPUZhbHNlKQor
ICAgICAgICAgICAgICAgICAgICBzZWxmLl9tb2RlbC5hZGRfZXhwZWN0YXRpb25fbGluZSgwLCBU
ZXN0RXhwZWN0YXRpb25MaW5lLmNyZWF0ZV9wYXNzaW5nX2V4cGVjdGF0aW9uKHRlc3QpLCBvdmVy
cmlkZXNfYWxsb3dlZD1GYWxzZSkKIAogICAgIGRlZiBnZXRfZXhwZWN0YXRpb25zX2pzb25fZm9y
X2FsbF9wbGF0Zm9ybXMoc2VsZik6CiAgICAgICAgICMgU3BlY2lmeSBzZXBhcmF0b3JzIGluIG9y
ZGVyIHRvIGdldCBjb21wYWN0IGVuY29kaW5nLgpAQCAtNzkwLDE5ICs3OTMsMTcgQEAgY2xhc3Mg
VGVzdEV4cGVjdGF0aW9uczoKIAogICAgIGRlZiBfYWRkX2V4cGVjdGF0aW9ucyhzZWxmLCBleHBl
Y3RhdGlvbl9saXN0LCBvdmVycmlkZXNfYWxsb3dlZCk6CiAgICAgICAgIGxpbmVubyA9IDAKLSAg
ICAgICAgZm9yIGV4cGVjdGF0aW9uIGluIGV4cGVjdGF0aW9uX2xpc3Q6CisgICAgICAgIGZvciBl
eHBlY3RhdGlvbl9saW5lIGluIGV4cGVjdGF0aW9uX2xpc3Q6CiAgICAgICAgICAgICBsaW5lbm8g
Kz0gMQotICAgICAgICAgICAgZXhwZWN0YXRpb25zID0gZXhwZWN0YXRpb24uZXhwZWN0YXRpb25z
Ci0KLSAgICAgICAgICAgIGlmIG5vdCBleHBlY3RhdGlvbi5leHBlY3RhdGlvbnM6CisgICAgICAg
ICAgICBpZiBub3QgZXhwZWN0YXRpb25fbGluZS5leHBlY3RhdGlvbnM6CiAgICAgICAgICAgICAg
ICAgY29udGludWUKIAotICAgICAgICAgICAgc2VsZi5fYWRkX3RvX2FsbF9leHBlY3RhdGlvbnMo
ZXhwZWN0YXRpb24ubmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIiAiLmpvaW4oZXhwZWN0YXRpb24ubW9kaWZpZXJzKS51cHBlcigpLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICIuam9pbihleHBlY3RhdGlvbi5l
eHBlY3RhdGlvbnMpLnVwcGVyKCkpCisgICAgICAgICAgICBzZWxmLl9hZGRfdG9fYWxsX2V4cGVj
dGF0aW9ucyhleHBlY3RhdGlvbl9saW5lLm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICIgIi5qb2luKGV4cGVjdGF0aW9uX2xpbmUubW9kaWZpZXJzKS51
cHBlcigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICIu
am9pbihleHBlY3RhdGlvbl9saW5lLmV4cGVjdGF0aW9ucykudXBwZXIoKSkKIAotICAgICAgICAg
ICAgc2VsZi5fcGFyc2VyLnBhcnNlKGV4cGVjdGF0aW9uKQotICAgICAgICAgICAgc2VsZi5fbW9k
ZWwuYWRkX3Rlc3RzKGxpbmVubywgZXhwZWN0YXRpb24sIG92ZXJyaWRlc19hbGxvd2VkKQorICAg
ICAgICAgICAgc2VsZi5fcGFyc2VyLnBhcnNlKGV4cGVjdGF0aW9uX2xpbmUpCisgICAgICAgICAg
ICBzZWxmLl9tb2RlbC5hZGRfZXhwZWN0YXRpb25fbGluZShsaW5lbm8sIGV4cGVjdGF0aW9uX2xp
bmUsIG92ZXJyaWRlc19hbGxvd2VkKQogCiAKIGNsYXNzIE1vZGlmaWVyTWF0Y2hSZXN1bHQob2Jq
ZWN0KToK
</data>
<flag name="review"
          id="95870"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>