<?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>90416</bug_id>
          
          <creation_ts>2012-07-02 17:47:47 -0700</creation_ts>
          <short_desc>webkitpy: lint code in webkitpy.layout_tests.models</short_desc>
          <delta_ts>2012-07-11 16:17:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>661836</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-02 17:47:47 -0700</bug_when>
    <thetext>webkitpy: lint code in webkitpy.layout_tests.models</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>661838</commentid>
    <comment_count>1</comment_count>
      <attachid>150506</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-02 17:50:40 -0700</bug_when>
    <thetext>Created attachment 150506
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662642</commentid>
    <comment_count>2</comment_count>
      <attachid>150506</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-07-03 19:19:30 -0700</bug_when>
    <thetext>Comment on attachment 150506
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_configuration.py:215
&gt; +            indices[i] += 1  # pylint: disable=W0631
&gt; +            for j in range(i + 1, r):  # pylint: disable=W0631

What is the complaint here? Can we just fix it?

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py:405
&gt; +        self.name = None  # this is the path in the line itself
&gt; +        self.path = None  # this is the normpath of self.name

Can you put a FIXME to rename these? original_path and normalize_path sgtm.

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_failures.py:115
&gt; +        super(FailureTimeout, self).__init__()

IIRC, there&apos;s some issue with use super. I don&apos;t remember what it was, but everywhere else in webkitpy that I remember we just call the super-class directly. I think we probably should do that here for consistency sake at least.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662648</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-03 19:40:09 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 150506 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=150506&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/models/test_configuration.py:215
&gt; &gt; +            indices[i] += 1  # pylint: disable=W0631
&gt; &gt; +            for j in range(i + 1, r):  # pylint: disable=W0631
&gt; 
&gt; What is the complaint here? Can we just fix it?
&gt; 

W0631 == &quot;potentially uninitialized variable&quot;. I think this is a bug in the linter, because I don&apos;t see any way that i can be unused. I&apos;ll add a comment to that effect.

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py:405
&gt; &gt; +        self.name = None  # this is the path in the line itself
&gt; &gt; +        self.path = None  # this is the normpath of self.name
&gt; 
&gt; Can you put a FIXME to rename these? original_path and normalize_path sgtm.
&gt;

Sure.
 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/models/test_failures.py:115
&gt; &gt; +        super(FailureTimeout, self).__init__()
&gt; 
&gt; IIRC, there&apos;s some issue with use super. I don&apos;t remember what it was, but everywhere else in webkitpy that I remember we just call the super-class directly. I think we probably should do that here for consistency sake at least.

The issue w/ super has to do with multiple inheritance and __init__() methods that take different signatures; it&apos;s hard to use super() correctly if __init__() doesn&apos;t either (a) take no arguments or (b) take (..., *args, **kwargs). 

That said, I&apos;ve found that using super is somewhat less brittle than calling the superclasses directly. I think you&apos;ll find plenty of uses of both at this point, and webkitpy.layout_tests mostly uses super().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667193</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-11 16:17:30 -0700</bug_when>
    <thetext>Committed r122387: &lt;http://trac.webkit.org/changeset/122387&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150506</attachid>
            <date>2012-07-02 17:50:40 -0700</date>
            <delta_ts>2012-07-03 19:19:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90416-20120702175039.patch</filename>
            <type>text/plain</type>
            <size>19683</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNzExCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTc3MjQ3MjZlNGU5ZmRmZjQwZWZmMjQzZTg5ZjgyZTZi
ZWQwZjFlYS4uYzZkM2Y1N2U2YzYxNmFjOGQ1MzY4NjZiZmE4YjY1Njc3M2RiYTA0MiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0
IEBACisyMDEyLTA3LTAyICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIHdlYmtpdHB5OiBsaW50IGNvZGUgaW4gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVs
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA0MTYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGVhbmlu
ZyB1cCBlcnJvcnMgcmVwb3J0ZWQgZnJvbSBsaW50LXdlYmtpdHB5LgorCisgICAgICAgIEFsc28s
IHN1cHByZXNzIHRoZSB3YXJuaW5ncyBhYm91dCB3aWxkY2FyZCBpbXBvcnRzIGluIHB5bGludHJj
OworICAgICAgICB3ZSBoYXZlIG5vdGhpbmcgcGFydGljdWxhcmx5IGFnYWluc3QgdGhlbS4KKwor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZp
Z3VyYXRpb24ucHk6CisgICAgICAgIChUZXN0Q29uZmlndXJhdGlvbkNvbnZlcnRlci5jb21iaW5h
dGlvbnMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90
ZXN0X2NvbmZpZ3VyYXRpb25fdW5pdHRlc3QucHk6CisgICAgICAgIChUZXN0Q29uZmlndXJhdGlv
blRlc3QudGVzdF9oYXNoLnF1ZXJ5X3Vua25vd25fa2V5KToKKyAgICAgICAgKFRlc3RDb25maWd1
cmF0aW9uVGVzdC50ZXN0X2VxKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHk6CisgICAgICAgIChQYXJzZUVycm9yLl9f
aW5pdF9fKToKKyAgICAgICAgKFRlc3RFeHBlY3RhdGlvbkxpbmUuX19pbml0X18pOgorICAgICAg
ICAoVGVzdEV4cGVjdGF0aW9uc01vZGVsLmdldF9leHBlY3RhdGlvbnNfc3RyaW5nKToKKyAgICAg
ICAgKFRlc3RFeHBlY3RhdGlvbnNNb2RlbCk6CisgICAgICAgIChUZXN0RXhwZWN0YXRpb25zTW9k
ZWwuZXhwZWN0YXRpb25fdG9fc3RyaW5nKToKKyAgICAgICAgKFRlc3RFeHBlY3RhdGlvbnNNb2Rl
bC5hZGRfZXhwZWN0YXRpb25fbGluZSk6CisgICAgICAgIChUZXN0RXhwZWN0YXRpb25zTW9kZWwu
X2NsZWFyX2V4cGVjdGF0aW9uc19mb3JfdGVzdCk6CisgICAgICAgIChUZXN0RXhwZWN0YXRpb25z
TW9kZWwuX3JlbW92ZV9mcm9tX3NldHMpOgorICAgICAgICAoVGVzdEV4cGVjdGF0aW9ucy5nZXRf
ZXhwZWN0YXRpb25zX3N0cmluZyk6CisgICAgICAgIChUZXN0RXhwZWN0YXRpb25zLmV4cGVjdGF0
aW9uX3RvX3N0cmluZyk6CisgICAgICAgIChUZXN0RXhwZWN0YXRpb25zLl9yZXBvcnRfd2Fybmlu
Z3MpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0
X2V4cGVjdGF0aW9uc191bml0dGVzdC5weToKKyAgICAgICAgKEJhc2UuX19pbml0X18pOgorICAg
ICAgICAocGFyc2VfZXhwKToKKyAgICAgICAgKFNraXBwZWRUZXN0cy5jaGVjayk6CisgICAgICAg
IChUZXN0RXhwZWN0YXRpb25QYXJzZXJUZXN0cy50ZXN0X3BhcnNlX2VtcHR5X3N0cmluZyk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZmFpbHVy
ZXMucHk6CisgICAgICAgIChGYWlsdXJlVGltZW91dC5fX2luaXRfXyk6CisgICAgICAgIChGYWls
dXJlQ3Jhc2guX19pbml0X18pOgorICAgICAgICAoRmFpbHVyZUltYWdlSGFzaE1pc21hdGNoLl9f
aW5pdF9fKToKKyAgICAgICAgKEZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2guX19pbml0X18pOgorICAg
ICAgICAoRmFpbHVyZVJlZnRlc3RNaXNtYXRjaERpZE5vdE9jY3VyLl9faW5pdF9fKToKKyAgICAg
ICAgKEZhaWx1cmVSZWZ0ZXN0Tm9JbWFnZXNHZW5lcmF0ZWQuX19pbml0X18pOgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2ZhaWx1cmVzX3VuaXR0
ZXN0LnB5OgorICAgICAgICAoVGVzdEZhaWx1cmVzVGVzdC50ZXN0X3Vua25vd25fZmFpbHVyZV90
eXBlLlVua25vd25GYWlsdXJlLm1lc3NhZ2UpOgorICAgICAgICAoVGVzdEZhaWx1cmVzVGVzdC50
ZXN0X3Vua25vd25fZmFpbHVyZV90eXBlKToKKyAgICAgICAgKFRlc3RGYWlsdXJlc1Rlc3QpOgor
ICAgICAgICAoVGVzdEZhaWx1cmVzVGVzdC50ZXN0X21lc3NhZ2VfaXNfdmlydHVhbCk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfcmVzdWx0cy5w
eToKKyAgICAgICAgKFRlc3RSZXN1bHQubG9hZHMpOgorICAgICAgICAoVGVzdFJlc3VsdC5oYXNf
ZmFpbHVyZV9tYXRjaGluZ190eXBlcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9weWxp
bnRyYzoKKwogMjAxMi0wNy0wMiAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIERlbGV0ZSB1bnVzZWQgcmViYXNlbGluZSBtZXRob2QgaW4gZ2FyZGVuaW5nc2VydmVy
LnB5CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2Rl
bHMvdGVzdF9jb25maWd1cmF0aW9uLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvbW9kZWxzL3Rlc3RfY29uZmlndXJhdGlvbi5weQppbmRleCBlOTYwNzI3OWJiOWY3Y2Jk
MThhODI1Y2JhOTdhMTczNjA3NDljMTM1Li45NWQwZjJiODczODc2YmMzYTU3YzNiZDUzMTcyNDQ0
NjlhNmM2MWM2IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0aW9uLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZpZ3VyYXRpb24ucHkKQEAgLTI2LDcgKzI2
LDYgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLWltcG9ydCBpdGVydG9vbHMK
IAogY2xhc3MgVGVzdENvbmZpZ3VyYXRpb24ob2JqZWN0KToKICAgICBkZWYgX19pbml0X18oc2Vs
ZiwgdmVyc2lvbiwgYXJjaGl0ZWN0dXJlLCBidWlsZF90eXBlKToKQEAgLTIxMiw4ICsyMTEsOCBA
QCBjbGFzcyBUZXN0Q29uZmlndXJhdGlvbkNvbnZlcnRlcihvYmplY3QpOgogICAgICAgICAgICAg
ICAgICAgICBicmVhawogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICByZXR1cm4K
LSAgICAgICAgICAgIGluZGljZXNbaV0gKz0gMQotICAgICAgICAgICAgZm9yIGogaW4gcmFuZ2Uo
aSArIDEsIHIpOgorICAgICAgICAgICAgaW5kaWNlc1tpXSArPSAxICAjIHB5bGludDogZGlzYWJs
ZT1XMDYzMQorICAgICAgICAgICAgZm9yIGogaW4gcmFuZ2UoaSArIDEsIHIpOiAgIyBweWxpbnQ6
IGRpc2FibGU9VzA2MzEKICAgICAgICAgICAgICAgICBpbmRpY2VzW2pdID0gaW5kaWNlc1tqIC0g
MV0gKyAxCiAgICAgICAgICAgICB5aWVsZCB0dXBsZShwb29sW2ldIGZvciBpIGluIGluZGljZXMp
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVs
cy90ZXN0X2NvbmZpZ3VyYXRpb25fdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0aW9uX3VuaXR0ZXN0LnB5CmluZGV4
IGMzNjdiNzU5MTYxNzRiYTc1YzM3NjI2MDIzZTFmN2VlNzhlODU1ZTEuLjVjNDNiNmFjNmJkMDUz
ZjAwOWZkMzY4ZjZhZDE3NGQ0YmNmYjFmOTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZpZ3VyYXRpb25fdW5pdHRlc3QucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfY29u
ZmlndXJhdGlvbl91bml0dGVzdC5weQpAQCAtMjgsOCArMjgsNiBAQAogCiBpbXBvcnQgdW5pdHRl
c3QKIAotZnJvbSB3ZWJraXRweS5jb21tb24uaG9zdF9tb2NrIGltcG9ydCBNb2NrSG9zdAotCiBm
cm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5tb2RlbHMudGVzdF9jb25maWd1cmF0aW9uIGltcG9y
dCAqCiAKIApAQCAtNzcsNyArNzUsNyBAQCBjbGFzcyBUZXN0Q29uZmlndXJhdGlvblRlc3QodW5p
dHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2VydFRydWUoY29uZmlnX2RpY3RbVGVz
dENvbmZpZ3VyYXRpb24oJ3hwJywgJ3g4NicsICdyZWxlYXNlJyldKQogCiAgICAgICAgIGRlZiBx
dWVyeV91bmtub3duX2tleSgpOgotICAgICAgICAgICAgY29uZmlnX2RpY3RbVGVzdENvbmZpZ3Vy
YXRpb24oJ3hwJywgJ3g4NicsICdkZWJ1ZycpXQorICAgICAgICAgICAgcmV0dXJuIGNvbmZpZ19k
aWN0W1Rlc3RDb25maWd1cmF0aW9uKCd4cCcsICd4ODYnLCAnZGVidWcnKV0KIAogICAgICAgICBz
ZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvciwgcXVlcnlfdW5rbm93bl9rZXkpCiAgICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShUZXN0Q29uZmlndXJhdGlvbigneHAnLCAneDg2JywgJ3JlbGVhc2UnKSBp
biBjb25maWdfZGljdCkKQEAgLTg4LDggKzg2LDYgQEAgY2xhc3MgVGVzdENvbmZpZ3VyYXRpb25U
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X2VxKHNlbGYpOgogICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhUZXN0Q29uZmlndXJhdGlvbigneHAnLCAneDg2JywgJ3JlbGVh
c2UnKSwgVGVzdENvbmZpZ3VyYXRpb24oJ3hwJywgJ3g4NicsICdyZWxlYXNlJykpCi0gICAgICAg
IGhvc3QgPSBNb2NrSG9zdCgpCi0gICAgICAgIHRlc3RfcG9ydCA9IGhvc3QucG9ydF9mYWN0b3J5
LmdldCgndGVzdC13aW4teHAnLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFscyhU
ZXN0Q29uZmlndXJhdGlvbigneHAnLCAneDg2JywgJ3JlbGVhc2UnKSwgVGVzdENvbmZpZ3VyYXRp
b24oJ3hwJywgJ3g4NicsICdkZWJ1ZycpKQogCiAgICAgZGVmIHRlc3RfdmFsdWVzKHNlbGYpOgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rl
c3RfZXhwZWN0YXRpb25zLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
bW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5CmluZGV4IDkzZWY1MTdmNGI5MWE1NDgzZDczZGEy
MTNiMDUwM2UxZmU4ZDcyMGYuLjljNmQ0NzhkNGQ0MTk4ZGQ5NDkxZWFjODVhM2NmNDQyZmYxNWIz
ZmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVs
cy90ZXN0X2V4cGVjdGF0aW9ucy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHkKQEAgLTMxLDEyICszMSwxMCBAQAog
Zm9yIGxheW91dCB0ZXN0cy4KICIiIgogCi1pbXBvcnQgaXRlcnRvb2xzCi1pbXBvcnQganNvbgog
aW1wb3J0IGxvZ2dpbmcKIGltcG9ydCByZQogCi1mcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5t
b2RlbHMudGVzdF9jb25maWd1cmF0aW9uIGltcG9ydCBUZXN0Q29uZmlndXJhdGlvbiwgVGVzdENv
bmZpZ3VyYXRpb25Db252ZXJ0ZXIKK2Zyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50
ZXN0X2NvbmZpZ3VyYXRpb24gaW1wb3J0IFRlc3RDb25maWd1cmF0aW9uQ29udmVydGVyCiAKIF9s
b2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIApAQCAtMTE3LDYgKzExNSw3IEBAIGRl
ZiBzdHJpcF9jb21tZW50cyhsaW5lKToKIAogY2xhc3MgUGFyc2VFcnJvcihFeGNlcHRpb24pOgog
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCB3YXJuaW5ncyk6CisgICAgICAgIHN1cGVyKFBhcnNlRXJy
b3IsIHNlbGYpLl9faW5pdF9fKCkKICAgICAgICAgc2VsZi53YXJuaW5ncyA9IHdhcm5pbmdzCiAK
ICAgICBkZWYgX19zdHJfXyhzZWxmKToKQEAgLTQwMCw5ICszOTksMTAgQEAgY2xhc3MgVGVzdEV4
cGVjdGF0aW9uTGluZShvYmplY3QpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICAg
IiIiSW5pdGlhbGl6ZXMgYSBibGFuay1saW5lIGVxdWl2YWxlbnQgb2YgYW4gZXhwZWN0YXRpb24u
IiIiCiAgICAgICAgIHNlbGYub3JpZ2luYWxfc3RyaW5nID0gTm9uZQorICAgICAgICBzZWxmLmZp
bGVuYW1lID0gTm9uZSAgIyB0aGlzIGlzIHRoZSBwYXRoIHRvIHRoZSBleHBlY3RhdGlvbnMgZmls
ZSBmb3IgdGhpcyBsaW5lCiAgICAgICAgIHNlbGYubGluZV9udW1iZXIgPSBOb25lCi0gICAgICAg
IHNlbGYubmFtZSA9IE5vbmUKLSAgICAgICAgc2VsZi5wYXRoID0gTm9uZQorICAgICAgICBzZWxm
Lm5hbWUgPSBOb25lICAjIHRoaXMgaXMgdGhlIHBhdGggaW4gdGhlIGxpbmUgaXRzZWxmCisgICAg
ICAgIHNlbGYucGF0aCA9IE5vbmUgICMgdGhpcyBpcyB0aGUgbm9ybXBhdGggb2Ygc2VsZi5uYW1l
CiAgICAgICAgIHNlbGYubW9kaWZpZXJzID0gW10KICAgICAgICAgc2VsZi5wYXJzZWRfbW9kaWZp
ZXJzID0gW10KICAgICAgICAgc2VsZi5wYXJzZWRfYnVnX21vZGlmaWVycyA9IFtdCkBAIC01MTUs
NiArNTE1LDI1IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNNb2RlbChvYmplY3QpOgogICAgIGRl
ZiBnZXRfZXhwZWN0YXRpb25zKHNlbGYsIHRlc3QpOgogICAgICAgICByZXR1cm4gc2VsZi5fdGVz
dF90b19leHBlY3RhdGlvbnNbdGVzdF0KIAorICAgIGRlZiBnZXRfZXhwZWN0YXRpb25zX3N0cmlu
ZyhzZWxmLCB0ZXN0KToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgZXhwZWN0YXRvbnMgZm9yIHRo
ZSBnaXZlbiB0ZXN0IGFzIGFuIHVwcGVyY2FzZSBzdHJpbmcuCisgICAgICAgIElmIHRoZXJlIGFy
ZSBubyBleHBlY3RhdGlvbnMgZm9yIHRoZSB0ZXN0LCB0aGVuICJQQVNTIiBpcyByZXR1cm5lZC4i
IiIKKyAgICAgICAgZXhwZWN0YXRpb25zID0gc2VsZi5nZXRfZXhwZWN0YXRpb25zKHRlc3QpCisg
ICAgICAgIHJldHZhbCA9IFtdCisKKyAgICAgICAgZm9yIGV4cGVjdGF0aW9uIGluIGV4cGVjdGF0
aW9uczoKKyAgICAgICAgICAgIHJldHZhbC5hcHBlbmQoc2VsZi5leHBlY3RhdGlvbl90b19zdHJp
bmcoZXhwZWN0YXRpb24pKQorCisgICAgICAgIHJldHVybiAiICIuam9pbihyZXR2YWwpCisKKyAg
ICBkZWYgZXhwZWN0YXRpb25fdG9fc3RyaW5nKHNlbGYsIGV4cGVjdGF0aW9uKToKKyAgICAgICAg
IiIiUmV0dXJuIHRoZSB1cHBlcmNhc2VkIHN0cmluZyBlcXVpdmFsZW50IG9mIGEgZ2l2ZW4gZXhw
ZWN0YXRpb24uIiIiCisgICAgICAgIGZvciBpdGVtIGluIFRlc3RFeHBlY3RhdGlvbnMuRVhQRUNU
QVRJT05TLml0ZW1zKCk6CisgICAgICAgICAgICBpZiBpdGVtWzFdID09IGV4cGVjdGF0aW9uOgor
ICAgICAgICAgICAgICAgIHJldHVybiBpdGVtWzBdLnVwcGVyKCkKKyAgICAgICAgcmFpc2UgVmFs
dWVFcnJvcihleHBlY3RhdGlvbikKKworCiAgICAgZGVmIGFkZF9leHBlY3RhdGlvbl9saW5lKHNl
bGYsIGV4cGVjdGF0aW9uX2xpbmUsIGluX3NraXBwZWQ9RmFsc2UpOgogICAgICAgICAiIiJSZXR1
cm5zIGEgbGlzdCBvZiB3YXJuaW5ncyBlbmNvdW50ZXJlZCB3aGlsZSBtYXRjaGluZyBtb2RpZmll
cnMuIiIiCiAKQEAgLTUyNSw3ICs1NDQsNyBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zTW9kZWwo
b2JqZWN0KToKICAgICAgICAgICAgIGlmIG5vdCBpbl9za2lwcGVkIGFuZCBzZWxmLl9hbHJlYWR5
X3NlZW5fYmV0dGVyX21hdGNoKHRlc3QsIGV4cGVjdGF0aW9uX2xpbmUpOgogICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCiAKLSAgICAgICAgICAgIHNlbGYuX2NsZWFyX2V4cGVjdGF0aW9uc19mb3Jf
dGVzdCh0ZXN0LCBleHBlY3RhdGlvbl9saW5lKQorICAgICAgICAgICAgc2VsZi5fY2xlYXJfZXhw
ZWN0YXRpb25zX2Zvcl90ZXN0KHRlc3QpCiAgICAgICAgICAgICBzZWxmLl90ZXN0X3RvX2V4cGVj
dGF0aW9uX2xpbmVbdGVzdF0gPSBleHBlY3RhdGlvbl9saW5lCiAgICAgICAgICAgICBzZWxmLl9h
ZGRfdGVzdCh0ZXN0LCBleHBlY3RhdGlvbl9saW5lKQogCkBAIC01NTksNyArNTc4LDcgQEAgY2xh
c3MgVGVzdEV4cGVjdGF0aW9uc01vZGVsKG9iamVjdCk6CiAgICAgICAgICAgICAjIEZJWE1FOiBX
aGF0IGlzIHRoaXM/CiAgICAgICAgICAgICBzZWxmLl9yZXN1bHRfdHlwZV90b190ZXN0c1tGQUlM
XS5hZGQodGVzdCkKIAotICAgIGRlZiBfY2xlYXJfZXhwZWN0YXRpb25zX2Zvcl90ZXN0KHNlbGYs
IHRlc3QsIGV4cGVjdGF0aW9uX2xpbmUpOgorICAgIGRlZiBfY2xlYXJfZXhwZWN0YXRpb25zX2Zv
cl90ZXN0KHNlbGYsIHRlc3QpOgogICAgICAgICAiIiJSZW1vdmUgcHJleGlzdGluZyBleHBlY3Rh
dGlvbnMgZm9yIHRoaXMgdGVzdC4KICAgICAgICAgVGhpcyBoYXBwZW5zIGlmIHdlIGFyZSBzZWVp
bmcgYSBtb3JlIHByZWNpc2UgcGF0aAogICAgICAgICB0aGFuIGEgcHJldmlvdXMgbGlzdGluZy4K
QEAgLTU3MSwxMyArNTkwLDEzIEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNNb2RlbChvYmplY3Qp
OgogICAgICAgICAgICAgc2VsZi5fcmVtb3ZlX2Zyb21fc2V0cyh0ZXN0LCBzZWxmLl90aW1lbGlu
ZV90b190ZXN0cykKICAgICAgICAgICAgIHNlbGYuX3JlbW92ZV9mcm9tX3NldHModGVzdCwgc2Vs
Zi5fcmVzdWx0X3R5cGVfdG9fdGVzdHMpCiAKLSAgICBkZWYgX3JlbW92ZV9mcm9tX3NldHMoc2Vs
ZiwgdGVzdCwgZGljdCk6CisgICAgZGVmIF9yZW1vdmVfZnJvbV9zZXRzKHNlbGYsIHRlc3QsIGRp
Y3Rfb2Zfc2V0c19vZl90ZXN0cyk6CiAgICAgICAgICIiIlJlbW92ZXMgdGhlIGdpdmVuIHRlc3Qg
ZnJvbSB0aGUgc2V0cyBpbiB0aGUgZGljdGlvbmFyeS4KIAogICAgICAgICBBcmdzOgogICAgICAg
ICAgIHRlc3Q6IHRlc3QgdG8gbG9vayBmb3IKICAgICAgICAgICBkaWN0OiBkaWN0IG9mIHNldHMg
b2YgZmlsZXMiIiIKLSAgICAgICAgZm9yIHNldF9vZl90ZXN0cyBpbiBkaWN0Lml0ZXJ2YWx1ZXMo
KToKKyAgICAgICAgZm9yIHNldF9vZl90ZXN0cyBpbiBkaWN0X29mX3NldHNfb2ZfdGVzdHMuaXRl
cnZhbHVlcygpOgogICAgICAgICAgICAgaWYgdGVzdCBpbiBzZXRfb2ZfdGVzdHM6CiAgICAgICAg
ICAgICAgICAgc2V0X29mX3Rlc3RzLnJlbW92ZSh0ZXN0KQogCkBAIC03ODIsMjIgKzgwMSwxMCBA
QCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBzZWxmLl9t
b2RlbC5nZXRfdGVzdHNfd2l0aF90aW1lbGluZSh0aW1lbGluZSkKIAogICAgIGRlZiBnZXRfZXhw
ZWN0YXRpb25zX3N0cmluZyhzZWxmLCB0ZXN0KToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUgZXhw
ZWN0YXRvbnMgZm9yIHRoZSBnaXZlbiB0ZXN0IGFzIGFuIHVwcGVyY2FzZSBzdHJpbmcuCi0gICAg
ICAgIElmIHRoZXJlIGFyZSBubyBleHBlY3RhdGlvbnMgZm9yIHRoZSB0ZXN0LCB0aGVuICJQQVNT
IiBpcyByZXR1cm5lZC4iIiIKLSAgICAgICAgZXhwZWN0YXRpb25zID0gc2VsZi5fbW9kZWwuZ2V0
X2V4cGVjdGF0aW9ucyh0ZXN0KQotICAgICAgICByZXR2YWwgPSBbXQotCi0gICAgICAgIGZvciBl
eHBlY3RhdGlvbiBpbiBleHBlY3RhdGlvbnM6Ci0gICAgICAgICAgICByZXR2YWwuYXBwZW5kKHNl
bGYuZXhwZWN0YXRpb25fdG9fc3RyaW5nKGV4cGVjdGF0aW9uKSkKLQotICAgICAgICByZXR1cm4g
IiAiLmpvaW4ocmV0dmFsKQorICAgICAgICByZXR1cm4gc2VsZi5fbW9kZWwuZ2V0X2V4cGVjdGF0
aW9uc19zdHJpbmcodGVzdCkKIAogICAgIGRlZiBleHBlY3RhdGlvbl90b19zdHJpbmcoc2VsZiwg
ZXhwZWN0YXRpb24pOgotICAgICAgICAiIiJSZXR1cm4gdGhlIHVwcGVyY2FzZWQgc3RyaW5nIGVx
dWl2YWxlbnQgb2YgYSBnaXZlbiBleHBlY3RhdGlvbi4iIiIKLSAgICAgICAgZm9yIGl0ZW0gaW4g
c2VsZi5FWFBFQ1RBVElPTlMuaXRlbXMoKToKLSAgICAgICAgICAgIGlmIGl0ZW1bMV0gPT0gZXhw
ZWN0YXRpb246Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1bMF0udXBwZXIoKQotICAgICAg
ICByYWlzZSBWYWx1ZUVycm9yKGV4cGVjdGF0aW9uKQorICAgICAgICByZXR1cm4gc2VsZi5fbW9k
ZWwuZXhwZWN0YXRpb25fdG9fc3RyaW5nKGV4cGVjdGF0aW9uKQogCiAgICAgZGVmIG1hdGNoZXNf
YW5fZXhwZWN0ZWRfcmVzdWx0KHNlbGYsIHRlc3QsIHJlc3VsdCwgcGl4ZWxfdGVzdHNfYXJlX2Vu
YWJsZWQpOgogICAgICAgICBleHBlY3RlZF9yZXN1bHRzID0gc2VsZi5fbW9kZWwuZ2V0X2V4cGVj
dGF0aW9ucyh0ZXN0KQpAQCAtODIwLDcgKzgyNyw4IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnMo
b2JqZWN0KToKICAgICAgICAgd2FybmluZ3MgPSBbXQogICAgICAgICBmb3IgZXhwZWN0YXRpb24g
aW4gc2VsZi5fZXhwZWN0YXRpb25zOgogICAgICAgICAgICAgZm9yIHdhcm5pbmcgaW4gZXhwZWN0
YXRpb24ud2FybmluZ3M6Ci0gICAgICAgICAgICAgICAgd2FybmluZ3MuYXBwZW5kKCclczolZCAl
cyAlcycgJSAoc2VsZi5fc2hvcnRlbl9maWxlbmFtZShleHBlY3RhdGlvbi5maWxlbmFtZSksIGV4
cGVjdGF0aW9uLmxpbmVfbnVtYmVyLCB3YXJuaW5nLCBleHBlY3RhdGlvbi5uYW1lIGlmIGV4cGVj
dGF0aW9uLmV4cGVjdGF0aW9ucyBlbHNlIGV4cGVjdGF0aW9uLm9yaWdpbmFsX3N0cmluZykpCisg
ICAgICAgICAgICAgICAgd2FybmluZ3MuYXBwZW5kKCclczolZCAlcyAlcycgJSAoc2VsZi5fc2hv
cnRlbl9maWxlbmFtZShleHBlY3RhdGlvbi5maWxlbmFtZSksIGV4cGVjdGF0aW9uLmxpbmVfbnVt
YmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nLCBleHBlY3RhdGlv
bi5uYW1lIGlmIGV4cGVjdGF0aW9uLmV4cGVjdGF0aW9ucyBlbHNlIGV4cGVjdGF0aW9uLm9yaWdp
bmFsX3N0cmluZykpCiAKICAgICAgICAgaWYgd2FybmluZ3M6CiAgICAgICAgICAgICBzZWxmLl9o
YXNfd2FybmluZ3MgPSBUcnVlCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnNfdW5p
dHRlc3QucHkKaW5kZXggN2I1ODliNTAxNTJmNTFjMjEwNTdmYzdjNjgzNDE4ZWIwNDQ4NDYxNi4u
Yzc4MGRhYzIzZDhiNzk3NmMxNzU4OGIzMjUwZmYwZDUxYzcyNDE0NCAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25z
X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21v
ZGVscy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weQpAQCAtOTUsNyArOTUsNyBAQCBjbGFz
cyBCYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAjIE5vdGUgdGhhdCBhbGwgb2YgdGhlc2Ug
dGVzdHMgYXJlIHdyaXR0ZW4gYXNzdW1pbmcgdGhlIGNvbmZpZ3VyYXRpb24KICAgICAjIGJlaW5n
IHRlc3RlZCBpcyBXaW5kb3dzIFhQLCBSZWxlYXNlIGJ1aWxkLgogCi0gICAgZGVmIF9faW5pdF9f
KHNlbGYsIHRlc3RGdW5jLCBzZXRVcD1Ob25lLCB0ZWFyRG93bj1Ob25lLCBkZXNjcmlwdGlvbj1O
b25lKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGVzdEZ1bmMpOgogICAgICAgICBob3N0ID0g
TW9ja0hvc3QoKQogICAgICAgICBzZWxmLl9wb3J0ID0gaG9zdC5wb3J0X2ZhY3RvcnkuZ2V0KCd0
ZXN0LXdpbi14cCcsIE5vbmUpCiAgICAgICAgIHNlbGYuX2V4cCA9IE5vbmUKQEAgLTEyMywxMSAr
MTIzLDExIEBAIEJVR19URVNUIFdPTlRGSVggTUFDIDogZmFpbHVyZXMvZXhwZWN0ZWQvaW1hZ2Uu
aHRtbCA9IElNQUdFCiAiIiIKIAogICAgIGRlZiBwYXJzZV9leHAoc2VsZiwgZXhwZWN0YXRpb25z
LCBvdmVycmlkZXM9Tm9uZSwgaXNfbGludF9tb2RlPUZhbHNlKToKLSAgICAgICAgc2VsZi5fZXhw
ZWN0YXRpb25zX2RpY3QgPSBPcmRlcmVkRGljdCgpCi0gICAgICAgIHNlbGYuX2V4cGVjdGF0aW9u
c19kaWN0WydleHBlY3RhdGlvbnMnXSA9IGV4cGVjdGF0aW9ucworICAgICAgICBleHBlY3RhdGlv
bnNfZGljdCA9IE9yZGVyZWREaWN0KCkKKyAgICAgICAgZXhwZWN0YXRpb25zX2RpY3RbJ2V4cGVj
dGF0aW9ucyddID0gZXhwZWN0YXRpb25zCiAgICAgICAgIGlmIG92ZXJyaWRlczoKLSAgICAgICAg
ICAgIHNlbGYuX2V4cGVjdGF0aW9uc19kaWN0WydvdmVycmlkZXMnXSA9IG92ZXJyaWRlcwotICAg
ICAgICBzZWxmLl9wb3J0LmV4cGVjdGF0aW9uc19kaWN0ID0gbGFtYmRhOiBzZWxmLl9leHBlY3Rh
dGlvbnNfZGljdAorICAgICAgICAgICAgZXhwZWN0YXRpb25zX2RpY3RbJ292ZXJyaWRlcyddID0g
b3ZlcnJpZGVzCisgICAgICAgIHNlbGYuX3BvcnQuZXhwZWN0YXRpb25zX2RpY3QgPSBsYW1iZGE6
IGV4cGVjdGF0aW9uc19kaWN0CiAgICAgICAgIHNlbGYuX2V4cCA9IFRlc3RFeHBlY3RhdGlvbnMo
c2VsZi5fcG9ydCwgc2VsZi5nZXRfYmFzaWNfdGVzdHMoKSwgaXNfbGludF9tb2RlKQogCiAgICAg
ZGVmIGFzc2VydF9leHAoc2VsZiwgdGVzdCwgcmVzdWx0KToKQEAgLTI3NCwxMSArMjc0LDExIEBA
IGNsYXNzIFNraXBwZWRUZXN0cyhCYXNlKToKICAgICBkZWYgY2hlY2soc2VsZiwgZXhwZWN0YXRp
b25zLCBvdmVycmlkZXMsIHNraXBzLCBsaW50PUZhbHNlKToKICAgICAgICAgcG9ydCA9IE1vY2tI
b3N0KCkucG9ydF9mYWN0b3J5LmdldCgncXQnKQogICAgICAgICBwb3J0Ll9maWxlc3lzdGVtLndy
aXRlX3RleHRfZmlsZShwb3J0Ll9maWxlc3lzdGVtLmpvaW4ocG9ydC5sYXlvdXRfdGVzdHNfZGly
KCksICdmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwnKSwgJ2ZvbycpCi0gICAgICAgIHNlbGYu
X2V4cGVjdGF0aW9uc19kaWN0ID0gT3JkZXJlZERpY3QoKQotICAgICAgICBzZWxmLl9leHBlY3Rh
dGlvbnNfZGljdFsnZXhwZWN0YXRpb25zJ10gPSBleHBlY3RhdGlvbnMKKyAgICAgICAgZXhwZWN0
YXRpb25zX2RpY3QgPSBPcmRlcmVkRGljdCgpCisgICAgICAgIGV4cGVjdGF0aW9uc19kaWN0Wydl
eHBlY3RhdGlvbnMnXSA9IGV4cGVjdGF0aW9ucwogICAgICAgICBpZiBvdmVycmlkZXM6Ci0gICAg
ICAgICAgICBzZWxmLl9leHBlY3RhdGlvbnNfZGljdFsnb3ZlcnJpZGVzJ10gPSBvdmVycmlkZXMK
LSAgICAgICAgcG9ydC5leHBlY3RhdGlvbnNfZGljdCA9IGxhbWJkYTogc2VsZi5fZXhwZWN0YXRp
b25zX2RpY3QKKyAgICAgICAgICAgIGV4cGVjdGF0aW9uc19kaWN0WydvdmVycmlkZXMnXSA9IG92
ZXJyaWRlcworICAgICAgICBwb3J0LmV4cGVjdGF0aW9uc19kaWN0ID0gbGFtYmRhOiBleHBlY3Rh
dGlvbnNfZGljdAogICAgICAgICBwb3J0LnNraXBwZWRfbGF5b3V0X3Rlc3RzID0gbGFtYmRhIHRl
c3RzOiBzZXQoc2tpcHMpCiAgICAgICAgIGV4cCA9IFRlc3RFeHBlY3RhdGlvbnMocG9ydCwgWydm
YWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwnXSwgbGludCkKIApAQCAtNTMyLDcgKzUzMiw2IEBA
IGNsYXNzIFRlc3RFeHBlY3RhdGlvblBhcnNlclRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKICAgICAgICAgdGVzdF9wb3J0ID0gaG9zdC5wb3J0X2Zh
Y3RvcnkuZ2V0KCd0ZXN0LXdpbi14cCcsIE5vbmUpCiAgICAgICAgIHRlc3RfcG9ydC50ZXN0X2V4
aXN0cyA9IGxhbWJkYSB0ZXN0OiBUcnVlCi0gICAgICAgIHRlc3RfY29uZmlnID0gdGVzdF9wb3J0
LnRlc3RfY29uZmlndXJhdGlvbigpCiAgICAgICAgIGZ1bGxfdGVzdF9saXN0ID0gW10KICAgICAg
ICAgZXhwZWN0YXRpb25fbGluZSA9IHNlbGYuX3Rva2VuaXplKCcnKQogICAgICAgICBwYXJzZXIg
PSBUZXN0RXhwZWN0YXRpb25QYXJzZXIodGVzdF9wb3J0LCBmdWxsX3Rlc3RfbGlzdCwgYWxsb3df
cmViYXNlbGluZV9tb2RpZmllcj1GYWxzZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2ZhaWx1cmVzLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZmFpbHVyZXMucHkKaW5kZXggMDI5
MDk0ZWM0NjZiYzQzZGUzZDk4Nzk0YzE1N2FmOGMzYmQyZTQ2Ni4uYWZlYTUyZTYwOGYwMjE3NDI1
YTIzYTJkZjVmY2QzYjYxNWI0MTk3OSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZmFpbHVyZXMucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZmFpbHVyZXMucHkKQEAgLTExMiw2
ICsxMTIsNyBAQCBjbGFzcyBUZXN0RmFpbHVyZShvYmplY3QpOgogY2xhc3MgRmFpbHVyZVRpbWVv
dXQoVGVzdEZhaWx1cmUpOgogICAgICIiIlRlc3QgdGltZWQgb3V0LiAgV2UgYWxzbyB3YW50IHRv
IHJlc3RhcnQgRHVtcFJlbmRlclRyZWUgaWYgdGhpcyBoYXBwZW5zLiIiIgogICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBpc19yZWZ0ZXN0PUZhbHNlKToKKyAgICAgICAgc3VwZXIoRmFpbHVyZVRpbWVv
dXQsIHNlbGYpLl9faW5pdF9fKCkKICAgICAgICAgc2VsZi5pc19yZWZ0ZXN0ID0gaXNfcmVmdGVz
dAogCiAgICAgZGVmIG1lc3NhZ2Uoc2VsZik6CkBAIC0xMjQsNiArMTI1LDcgQEAgY2xhc3MgRmFp
bHVyZVRpbWVvdXQoVGVzdEZhaWx1cmUpOgogY2xhc3MgRmFpbHVyZUNyYXNoKFRlc3RGYWlsdXJl
KToKICAgICAiIiJEdW1wUmVuZGVyVHJlZS9XZWJLaXRUZXN0UnVubmVyIGNyYXNoZWQuIiIiCiAg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIGlzX3JlZnRlc3Q9RmFsc2UsIHByb2Nlc3NfbmFtZT0nRHVt
cFJlbmRlclRyZWUnLCBwaWQ9Tm9uZSk6CisgICAgICAgIHN1cGVyKEZhaWx1cmVDcmFzaCwgc2Vs
ZikuX19pbml0X18oKQogICAgICAgICBzZWxmLnByb2Nlc3NfbmFtZSA9IHByb2Nlc3NfbmFtZQog
ICAgICAgICBzZWxmLnBpZCA9IHBpZAogICAgICAgICBzZWxmLmlzX3JlZnRlc3QgPSBpc19yZWZ0
ZXN0CkBAIC0xNjgsNiArMTcwLDcgQEAgY2xhc3MgRmFpbHVyZU1pc3NpbmdJbWFnZShUZXN0RmFp
bHVyZSk6CiBjbGFzcyBGYWlsdXJlSW1hZ2VIYXNoTWlzbWF0Y2goVGVzdEZhaWx1cmUpOgogICAg
ICIiIkltYWdlIGhhc2hlcyBkaWRuJ3QgbWF0Y2guIiIiCiAgICAgZGVmIF9faW5pdF9fKHNlbGYs
IGRpZmZfcGVyY2VudD0wKToKKyAgICAgICAgc3VwZXIoRmFpbHVyZUltYWdlSGFzaE1pc21hdGNo
LCBzZWxmKS5fX2luaXRfXygpCiAgICAgICAgIHNlbGYuZGlmZl9wZXJjZW50ID0gZGlmZl9wZXJj
ZW50CiAKICAgICBkZWYgbWVzc2FnZShzZWxmKToKQEAgLTE4NSw2ICsxODgsNyBAQCBjbGFzcyBG
YWlsdXJlUmVmdGVzdE1pc21hdGNoKFRlc3RGYWlsdXJlKToKICAgICAiIiJUaGUgcmVzdWx0IGRp
ZG4ndCBtYXRjaCB0aGUgcmVmZXJlbmNlIHJlbmRlcmluZy4iIiIKIAogICAgIGRlZiBfX2luaXRf
XyhzZWxmLCByZWZlcmVuY2VfZmlsZW5hbWU9Tm9uZSk6CisgICAgICAgIHN1cGVyKEZhaWx1cmVS
ZWZ0ZXN0TWlzbWF0Y2gsIHNlbGYpLl9faW5pdF9fKCkKICAgICAgICAgc2VsZi5yZWZlcmVuY2Vf
ZmlsZW5hbWUgPSByZWZlcmVuY2VfZmlsZW5hbWUKICAgICAgICAgc2VsZi5kaWZmX3BlcmNlbnQg
PSBOb25lCiAKQEAgLTE5Niw2ICsyMDAsNyBAQCBjbGFzcyBGYWlsdXJlUmVmdGVzdE1pc21hdGNo
RGlkTm90T2NjdXIoVGVzdEZhaWx1cmUpOgogICAgICIiIlVuZXhwZWN0ZWQgbWF0Y2ggYmV0d2Vl
biB0aGUgcmVzdWx0IGFuZCB0aGUgcmVmZXJlbmNlIHJlbmRlcmluZy4iIiIKIAogICAgIGRlZiBf
X2luaXRfXyhzZWxmLCByZWZlcmVuY2VfZmlsZW5hbWU9Tm9uZSk6CisgICAgICAgIHN1cGVyKEZh
aWx1cmVSZWZ0ZXN0TWlzbWF0Y2hEaWROb3RPY2N1ciwgc2VsZikuX19pbml0X18oKQogICAgICAg
ICBzZWxmLnJlZmVyZW5jZV9maWxlbmFtZSA9IHJlZmVyZW5jZV9maWxlbmFtZQogCiAgICAgZGVm
IG1lc3NhZ2Uoc2VsZik6CkBAIC0yMDYsNiArMjExLDcgQEAgY2xhc3MgRmFpbHVyZVJlZnRlc3RO
b0ltYWdlc0dlbmVyYXRlZChUZXN0RmFpbHVyZSk6CiAgICAgIiIiQm90aCB0aGUgcmVmdGVzdCBh
bmQgdGhlIC1leHBlY3RlZCBodG1sIGZpbGUgZGlkbid0IGdlbmVyYXRlIHBpeGVsIHJlc3VsdHMu
IiIiCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgcmVmZXJlbmNlX2ZpbGVuYW1lPU5vbmUpOgor
ICAgICAgICBzdXBlcihGYWlsdXJlUmVmdGVzdE5vSW1hZ2VzR2VuZXJhdGVkLCBzZWxmKS5fX2lu
aXRfXygpCiAgICAgICAgIHNlbGYucmVmZXJlbmNlX2ZpbGVuYW1lID0gcmVmZXJlbmNlX2ZpbGVu
YW1lCiAKICAgICBkZWYgbWVzc2FnZShzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2ZhaWx1cmVzX3VuaXR0ZXN0LnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZmFpbHVyZXNf
dW5pdHRlc3QucHkKaW5kZXggM2I5YmEzM2QwY2MwOGUzN2UxMGFkOGFjYzBlYjU5YTBhMTFlYjli
Yi4uZTA5NmIxNzFmODIwZDQ4YzQzOTcxODNjODUwNDBhZjBjOWRhODk1YSAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZmFpbHVyZXNf
dW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9k
ZWxzL3Rlc3RfZmFpbHVyZXNfdW5pdHRlc3QucHkKQEAgLTQ1LDEwICs0NSwxNCBAQCBjbGFzcyBU
ZXN0RmFpbHVyZXNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X3Vua25v
d25fZmFpbHVyZV90eXBlKHNlbGYpOgogICAgICAgICBjbGFzcyBVbmtub3duRmFpbHVyZShUZXN0
RmFpbHVyZSk6Ci0gICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBkZWYgbWVzc2FnZShzZWxm
KToKKyAgICAgICAgICAgICAgICByZXR1cm4gJycKIAogICAgICAgICBmYWlsdXJlX29iaiA9IFVu
a25vd25GYWlsdXJlKCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZGV0
ZXJtaW5lX3Jlc3VsdF90eXBlLCBbZmFpbHVyZV9vYmpdKQorCisgICAgZGVmIHRlc3RfbWVzc2Fn
ZV9pc192aXJ0dWFsKHNlbGYpOgorICAgICAgICBmYWlsdXJlX29iaiA9IFRlc3RGYWlsdXJlKCkK
ICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTm90SW1wbGVtZW50ZWRFcnJvciwgZmFpbHVyZV9v
YmoubWVzc2FnZSkKIAogICAgIGRlZiB0ZXN0X2xvYWRzKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfcmVzdWx0cy5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X3Jlc3VsdHMu
cHkKaW5kZXggNTFhYzUwNWMyM2Y2YTFmM2VkZjlmNjgwMWU1MGNkY2Q1MDUwZGNlMy4uMzQ2ZDVh
NjQwZTMzYTIxZWQwZmNhYzU1YWMyZTJiOGQ0NmI2Y2Q2ZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfcmVzdWx0cy5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9yZXN1bHRzLnB5
CkBAIC0zNSw4ICszNSw4IEBAIGNsYXNzIFRlc3RSZXN1bHQob2JqZWN0KToKICAgICAiIiJEYXRh
IG9iamVjdCBjb250YWluaW5nIHRoZSByZXN1bHRzIG9mIGEgc2luZ2xlIHRlc3QuIiIiCiAKICAg
ICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIGxvYWRzKHN0cik6Ci0gICAgICAgIHJldHVybiBjUGlj
a2xlLmxvYWRzKHN0cikKKyAgICBkZWYgbG9hZHMoc3RyaW5nKToKKyAgICAgICAgcmV0dXJuIGNQ
aWNrbGUubG9hZHMoc3RyaW5nKQogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfbmFtZSwg
ZmFpbHVyZXM9Tm9uZSwgdGVzdF9ydW5fdGltZT1Ob25lLCBoYXNfc3RkZXJyPUZhbHNlKToKICAg
ICAgICAgc2VsZi50ZXN0X25hbWUgPSB0ZXN0X25hbWUKQEAgLTU0LDkgKzU0LDkgQEAgY2xhc3Mg
VGVzdFJlc3VsdChvYmplY3QpOgogICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgogICAgICAg
ICByZXR1cm4gbm90IChzZWxmID09IG90aGVyKQogCi0gICAgZGVmIGhhc19mYWlsdXJlX21hdGNo
aW5nX3R5cGVzKHNlbGYsICphcmdzLCAqKmthcmdzKToKKyAgICBkZWYgaGFzX2ZhaWx1cmVfbWF0
Y2hpbmdfdHlwZXMoc2VsZiwgKmZhaWx1cmVfY2xhc3Nlcyk6CiAgICAgICAgIGZvciBmYWlsdXJl
IGluIHNlbGYuZmFpbHVyZXM6Ci0gICAgICAgICAgICBpZiB0eXBlKGZhaWx1cmUpIGluIGFyZ3M6
CisgICAgICAgICAgICBpZiB0eXBlKGZhaWx1cmUpIGluIGZhaWx1cmVfY2xhc3NlczoKICAgICAg
ICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICByZXR1cm4gRmFsc2UKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9weWxpbnRyYyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcHlsaW50cmMKaW5kZXggZGFlNzc4ZDYzMTUzMWY5M2VmYjM2MmM5MWNlY2ZlMTI2ZjBkYjhk
OS4uYmRkMDQwNDE1MzU0NDQ4MDVmNDU4YmQ4Y2Y2ZDY5YmQzZTg4ZDQ2NSAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9weWxpbnRyYworKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3B5bGludHJjCkBAIC04NSwxMyArODUsMTUgQEAgbG9hZC1wbHVnaW5zPQogIyBXMDE0MTog
VXNlZCBidWlsdGluIGZ1bmN0aW9uICcnCiAjIFcwMjEyOiBBY2Nlc3MgdG8gYSBwcm90ZWN0ZWQg
bWVtYmVyIFggb2YgYSBjbGllbnQgY2xhc3MKICMgVzAxNDI6IFVzZWQgKiBvciAqKiBtYWdpYwor
IyBXMDQwMTogV2lsZGNhcmQgaW1wb3J0IFgKICMgVzA0MDI6IFVzZXMgb2YgYSBkZXByZWNhdGVk
IG1vZHVsZSAnc3RyaW5nJwogIyBXMDQwNDogNDE6IFJlaW1wb3J0ICdYWCcgKGltcG9ydGVkIGxp
bmUgTk4pCiAjIFcwNTExOiBUT0RPCiAjIFcwNjAzOiBVc2luZyB0aGUgZ2xvYmFsIHN0YXRlbWVu
dAorIyBXMDYxNDogVW51c2VkIGltcG9ydCBYIGZyb20gd2lsZGNhcmQgaW1wb3J0CiAjIFcwNzAz
OiBDYXRjaCAiRXhjZXB0aW9uIgogIyBXMTIwMTogU3BlY2lmeSBzdHJpbmcgZm9ybWF0IGFyZ3Vt
ZW50cyBhcyBsb2dnaW5nIGZ1bmN0aW9uIHBhcmFtZXRlcnMKLWRpc2FibGU9QzAxMDMsQzAxMTEs
QzAzMDIsSTAwMTAsSTAwMTEsUjAyMDEsUjA4MDEsUjA5MDEsUjA5MDIsUjA5MDMsUjA5MDQsUjA5
MTEsUjA5MTIsUjA5MTMsUjA5MTQsUjA5MTUsUjA5MjEsUjA5MjIsVzAxMjIsVzAxNDEsVzAxNDIs
VzAyMTIsVzA0MDIsVzA0MDQsVzA1MTEsVzA2MDMsVzA3MDMsVzEyMDEKK2Rpc2FibGU9QzAxMDMs
QzAxMTEsQzAzMDIsSTAwMTAsSTAwMTEsUjAyMDEsUjA4MDEsUjA5MDEsUjA5MDIsUjA5MDMsUjA5
MDQsUjA5MTEsUjA5MTIsUjA5MTMsUjA5MTQsUjA5MTUsUjA5MjEsUjA5MjIsVzAxMjIsVzAxNDEs
VzAxNDIsVzAyMTIsVzA0MDEsVzA0MDIsVzA0MDQsVzA1MTEsVzA2MDMsVzA2MTQsVzA3MDMsVzEy
MDEKIAogCiBbUkVQT1JUU10K
</data>
<flag name="review"
          id="158756"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>