<?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>63429</bug_id>
          
          <creation_ts>2011-06-27 00:14:55 -0700</creation_ts>
          <short_desc>Move update_webgl_conformance_tests.py to webkitpy.to_be_moved</short_desc>
          <delta_ts>2011-06-27 00:20:16 -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="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric</cc>
    
    <cc>kbr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>427712</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-27 00:14:55 -0700</bug_when>
    <thetext>Move update_webgl_conformance_tests.py to webkitpy.to_be_moved</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427713</commentid>
    <comment_count>1</comment_count>
      <attachid>98671</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-27 00:15:34 -0700</bug_when>
    <thetext>Created attachment 98671
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427715</commentid>
    <comment_count>2</comment_count>
      <attachid>98671</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-27 00:19:13 -0700</bug_when>
    <thetext>Comment on attachment 98671
Patch

OK.  You should CC/notify the authors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427716</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-27 00:20:16 -0700</bug_when>
    <thetext>Committed r89793: &lt;http://trac.webkit.org/changeset/89793&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98671</attachid>
            <date>2011-06-27 00:15:34 -0700</date>
            <delta_ts>2011-06-27 00:19:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63429-20110627001533.patch</filename>
            <type>text/plain</type>
            <size>23811</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDg5NzkyKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTggQEAKKzIwMTEtMDYtMjcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIHVwZGF0
ZV93ZWJnbF9jb25mb3JtYW5jZV90ZXN0cy5weSB0byB3ZWJraXRweS50b19iZV9tb3ZlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM0MjkKKworICAg
ICAgICBUaGlzIHBhY2thZ2UgYXMgbm90aGluZyB0byBkbyB3aXRoIHRoZSBsYXlvdXRfdGVzdHMg
cGFja2FnZS4KKworICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXdlYmdsLWNvbmZvcm1hbmNlLXRl
c3RzOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3VwZGF0ZV93ZWJn
bF9jb25mb3JtYW5jZV90ZXN0cy5weTogUmVtb3ZlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy91cGRhdGVfd2ViZ2xfY29uZm9ybWFuY2VfdGVzdHNfdW5pdHRlc3Qu
cHk6IFJlbW92ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b19iZV9tb3ZlZC91cGRh
dGVfd2ViZ2xfY29uZm9ybWFuY2VfdGVzdHMucHk6IENvcGllZCBmcm9tIFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3VwZGF0ZV93ZWJnbF9jb25mb3JtYW5jZV90ZXN0cy5weS4K
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3RvX2JlX21vdmVkL3VwZGF0ZV93ZWJnbF9jb25m
b3JtYW5jZV90ZXN0c191bml0dGVzdC5weTogQ29waWVkIGZyb20gVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvdXBkYXRlX3dlYmdsX2NvbmZvcm1hbmNlX3Rlc3RzX3VuaXR0ZXN0
LnB5LgorCiAyMDExLTA2LTI3ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBUb29scy9TY3JpcHRzL3VwZGF0
ZS13ZWJnbC1jb25mb3JtYW5jZS10ZXN0cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3Vw
ZGF0ZS13ZWJnbC1jb25mb3JtYW5jZS10ZXN0cwkocmV2aXNpb24gODk3ODUpCisrKyBUb29scy9T
Y3JpcHRzL3VwZGF0ZS13ZWJnbC1jb25mb3JtYW5jZS10ZXN0cwkod29ya2luZyBjb3B5KQpAQCAt
MjksOCArMjksOCBAQAogCiAiIiJXcmFwcGVyIGFyb3VuZCB3ZWJraXRweS9sYXlvdXRfdGVzdHMv
dXBkYXRlLXdlYmdsLWNvbmZvcm1hbmNlLXRlc3RzLnB5IiIiCiAKLWltcG9ydCB3ZWJraXRweS5s
YXlvdXRfdGVzdHMudXBkYXRlX3dlYmdsX2NvbmZvcm1hbmNlX3Rlc3RzCitpbXBvcnQgd2Via2l0
cHkudG9fYmVfbW92ZWQudXBkYXRlX3dlYmdsX2NvbmZvcm1hbmNlX3Rlc3RzCiBpbXBvcnQgc3lz
CiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gICAgc3lzLmV4aXQod2Via2l0cHkubGF5
b3V0X3Rlc3RzLnVwZGF0ZV93ZWJnbF9jb25mb3JtYW5jZV90ZXN0cy5tYWluKCkpCisgICAgc3lz
LmV4aXQod2Via2l0cHkudG9fYmVfbW92ZWQudXBkYXRlX3dlYmdsX2NvbmZvcm1hbmNlX3Rlc3Rz
Lm1haW4oKSkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3VwZGF0
ZV93ZWJnbF9jb25mb3JtYW5jZV90ZXN0cy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy91cGRhdGVfd2ViZ2xfY29uZm9ybWFuY2VfdGVzdHMucHkJ
KHJldmlzaW9uIDg5Nzg1KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
dXBkYXRlX3dlYmdsX2NvbmZvcm1hbmNlX3Rlc3RzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE2
MiArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLQotIyBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotIyBhcmUgbWV0OgotIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0j
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotIyBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotIyBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSMgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0jIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotIyBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0jIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotIyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0jIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotIyAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMg
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLQotZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB3aXRoX3N0YXRlbWVudAotCi1p
bXBvcnQgZ2xvYgotaW1wb3J0IGxvZ2dpbmcKLWltcG9ydCBvcHRwYXJzZQotaW1wb3J0IG9zCi1p
bXBvcnQgcmUKLWltcG9ydCBzeXMKLWZyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0IGltcG9y
dCBzY20KLQotX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJ3ZWJraXRweS5sYXlvdXRfdGVzdHMu
IgotICAgICAgICAgICAgICAgICAgICAgICAgICJ1cGRhdGUtd2ViZ2wtY29uZm9ybWFuY2UtdGVz
dHMiKQotCi0KLWRlZiByZW1vdmVfZmlyc3RfbGluZV9jb21tZW50KHRleHQpOgotICAgIHJldHVy
biByZS5jb21waWxlKHInXjwhLS0uKj8tLT5ccyonLCByZS5ET1RBTEwpLnN1YignJywgdGV4dCkK
LQotCi1kZWYgdHJhbnNsYXRlX2luY2x1ZGVzKHRleHQpOgotICAgICMgTWFwcGluZyBvZiBzaW5n
bGUgZmlsZW5hbWUgdG8gcmVsYXRpdmUgcGF0aCB1bmRlciBXZWJLaXQgcm9vdC4KLSAgICAjIEFz
c3VtcHRpb246IHRoZXNlIGZpbGVuYW1lcyBhcmUgZ2xvYmFsbHkgdW5pcXVlLgotICAgIGluY2x1
ZGVfbWFwcGluZyA9IHsKLSAgICAgICAgImpzLXRlc3Qtc3R5bGUuY3NzIjogIi4uLy4uL2pzL3Jl
c291cmNlcyIsCi0gICAgICAgICJqcy10ZXN0LXByZS5qcyI6ICIuLi8uLi9qcy9yZXNvdXJjZXMi
LAotICAgICAgICAianMtdGVzdC1wb3N0LmpzIjogIi4uLy4uL2pzL3Jlc291cmNlcyIsCi0gICAg
ICAgICJkZXNrdG9wLWdsLWNvbnN0YW50cy5qcyI6ICJyZXNvdXJjZXMiLAotICAgIH0KLQotICAg
IGZvciBmaWxlbmFtZSwgcGF0aCBpbiBpbmNsdWRlX21hcHBpbmcuaXRlbXMoKToKLSAgICAgICAg
c2VhcmNoID0gcicoPzpbXiJcJz0gXSovKT8nICsgcmUuZXNjYXBlKGZpbGVuYW1lKQotICAgICAg
ICAjIFdlIHVzZSAnLycgaW5zdGVhZCBvZiBvcy5wYXRoLmpvaW4gaW4gb3JkZXIgdG8gcHJvZHVj
ZSBjb25zaXN0ZW50Ci0gICAgICAgICMgb3V0cHV0IGNyb3NzLXBsYXRmb3JtLgotICAgICAgICBy
ZXBsYWNlID0gcGF0aCArICcvJyArIGZpbGVuYW1lCi0gICAgICAgIHRleHQgPSByZS5zdWIoc2Vh
cmNoLCByZXBsYWNlLCB0ZXh0KQotCi0gICAgcmV0dXJuIHRleHQKLQotCi1kZWYgdHJhbnNsYXRl
X2tocm9ub3NfdGVzdCh0ZXh0KToKLSAgICAiIiIKLSAgICBUaGlzIG1ldGhvZCB0cmFuc2xhdGVz
IHRoZSBjb250ZW50cyBvZiBhIEtocm9ub3MgdGVzdCB0byBhIFdlYktpdCB0ZXN0LgotICAgICIi
IgotCi0gICAgdHJhbnNsYXRlRnVuY3MgPSBbCi0gICAgICAgIHJlbW92ZV9maXJzdF9saW5lX2Nv
bW1lbnQsCi0gICAgICAgIHRyYW5zbGF0ZV9pbmNsdWRlcywKLSAgICBdCi0KLSAgICBmb3IgZiBp
biB0cmFuc2xhdGVGdW5jczoKLSAgICAgICAgdGV4dCA9IGYodGV4dCkKLQotICAgIHJldHVybiB0
ZXh0Ci0KLQotZGVmIHVwZGF0ZV9maWxlKGluX2ZpbGVuYW1lLCBvdXRfZGlyKToKLSAgICAjIGNo
ZWNrIGluX2ZpbGVuYW1lIGV4aXN0cwotICAgICMgY2hlY2sgb3V0X2RpciBleGlzdHMKLSAgICBv
dXRfZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4ob3V0X2Rpciwgb3MucGF0aC5iYXNlbmFtZShpbl9m
aWxlbmFtZSkpCi0KLSAgICBfbG9nLmRlYnVnKCJQcm9jZXNzaW5nICIgKyBpbl9maWxlbmFtZSkK
LSAgICB3aXRoIG9wZW4oaW5fZmlsZW5hbWUsICdyJykgYXMgaW5fZmlsZToKLSAgICAgICAgd2l0
aCBvcGVuKG91dF9maWxlbmFtZSwgJ3cnKSBhcyBvdXRfZmlsZToKLSAgICAgICAgICAgIG91dF9m
aWxlLndyaXRlKHRyYW5zbGF0ZV9raHJvbm9zX3Rlc3QoaW5fZmlsZS5yZWFkKCkpKQotCi0KLWRl
ZiB1cGRhdGVfZGlyZWN0b3J5KGluX2Rpciwgb3V0X2Rpcik6Ci0gICAgZm9yIGZpbGVuYW1lIGlu
IGdsb2IuZ2xvYihvcy5wYXRoLmpvaW4oaW5fZGlyLCAnKi5odG1sJykpOgotICAgICAgICB1cGRh
dGVfZmlsZShvcy5wYXRoLmpvaW4oaW5fZGlyLCBmaWxlbmFtZSksIG91dF9kaXIpCi0KLQotZGVm
IGRlZmF1bHRfb3V0X2RpcigpOgotICAgIGN1cnJlbnRfc2NtID0gc2NtLmRldGVjdF9zY21fc3lz
dGVtKG9zLnBhdGguZGlybmFtZShzeXMuYXJndlswXSkpCi0gICAgaWYgbm90IGN1cnJlbnRfc2Nt
OgotICAgICAgICByZXR1cm4gb3MuZ2V0Y3dkKCkKLSAgICByb290X2RpciA9IGN1cnJlbnRfc2Nt
LmNoZWNrb3V0X3Jvb3QKLSAgICBpZiBub3Qgcm9vdF9kaXI6Ci0gICAgICAgIHJldHVybiBvcy5n
ZXRjd2QoKQotICAgIG91dF9kaXIgPSBvcy5wYXRoLmpvaW4ocm9vdF9kaXIsICJMYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbCIpCi0gICAgaWYgb3MucGF0aC5pc2RpcihvdXRfZGlyKToKLSAg
ICAgICAgcmV0dXJuIG91dF9kaXIKLSAgICByZXR1cm4gb3MuZ2V0Y3dkKCkKLQotCi1kZWYgY29u
ZmlndXJlX2xvZ2dpbmcob3B0aW9ucyk6Ci0gICAgIiIiQ29uZmlndXJlcyB0aGUgbG9nZ2luZyBz
eXN0ZW0uIiIiCi0gICAgbG9nX2ZtdCA9ICclKGxldmVsbmFtZSlzOiAlKG1lc3NhZ2UpcycKLSAg
ICBsb2dfZGF0ZWZtdCA9ICcleSVtJWQgJUg6JU06JVMnCi0gICAgbG9nX2xldmVsID0gbG9nZ2lu
Zy5JTkZPCi0gICAgaWYgb3B0aW9ucy52ZXJib3NlOgotICAgICAgICBsb2dfZm10ID0gKCclKGFz
Y3RpbWUpcyAlKGZpbGVuYW1lKXM6JShsaW5lbm8pLTRkICUobGV2ZWxuYW1lKXMgJwotICAgICAg
ICAgICAgICAgICAgICclKG1lc3NhZ2UpcycpCi0gICAgICAgIGxvZ19sZXZlbCA9IGxvZ2dpbmcu
REVCVUcKLSAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKGxldmVsPWxvZ19sZXZlbCwgZm9ybWF0PWxv
Z19mbXQsCi0gICAgICAgICAgICAgICAgICAgICAgICBkYXRlZm10PWxvZ19kYXRlZm10KQotCi0K
LWRlZiBvcHRpb25fcGFyc2VyKCk6Ci0gICAgdXNhZ2UgPSAidXNhZ2U6ICVwcm9nIFtvcHRpb25z
XSAoaW5wdXQgZmlsZSBvciBkaXJlY3RvcnkpIgotICAgIHBhcnNlciA9IG9wdHBhcnNlLk9wdGlv
blBhcnNlcih1c2FnZT11c2FnZSkKLSAgICBwYXJzZXIuYWRkX29wdGlvbignLXYnLCAnLS12ZXJi
b3NlJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSdzdG9yZV90cnVlJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0naW5jbHVkZSBkZWJ1Zy1sZXZlbCBsb2dnaW5nJykKLSAg
ICBwYXJzZXIuYWRkX29wdGlvbignLW8nLCAnLS1vdXRwdXQnLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhY3Rpb249J3N0b3JlJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHlwZT0nc3RyaW5nJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1kZWZh
dWx0X291dF9kaXIoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YXZhcj0nRElS
JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nc3BlY2lmeSBhbiBvdXRwdXQg
ZGlyZWN0b3J5IHRvIHBsYWNlIGZpbGVzICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnaW4gW2RlZmF1bHQ6ICVkZWZhdWx0XScpCi0gICAgcmV0dXJuIHBhcnNlcgotCi0KLWRl
ZiBtYWluKCk6Ci0gICAgcGFyc2VyID0gb3B0aW9uX3BhcnNlcigpCi0gICAgKG9wdGlvbnMsIGFy
Z3MpID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQotICAgIGNvbmZpZ3VyZV9sb2dnaW5nKG9wdGlvbnMp
Ci0KLSAgICBpZiBsZW4oYXJncykgPT0gMDoKLSAgICAgICAgX2xvZy5lcnJvcigiTXVzdCBzcGVj
aWZ5IGFuIGlucHV0IGRpcmVjdG9yeSBvciBmaWxlbmFtZS4iKQotICAgICAgICBwYXJzZXIucHJp
bnRfaGVscCgpCi0gICAgICAgIHJldHVybiAxCi0KLSAgICBpbl9uYW1lID0gYXJnc1swXQotICAg
IGlmIG9zLnBhdGguaXNmaWxlKGluX25hbWUpOgotICAgICAgICB1cGRhdGVfZmlsZShpbl9uYW1l
LCBvcHRpb25zLm91dHB1dCkKLSAgICBlbGlmIG9zLnBhdGguaXNkaXIoaW5fbmFtZSk6Ci0gICAg
ICAgIHVwZGF0ZV9kaXJlY3RvcnkoaW5fbmFtZSwgb3B0aW9ucy5vdXRwdXQpCi0gICAgZWxzZToK
LSAgICAgICAgX2xvZy5lcnJvcigiJyVzJyBpcyBub3QgYSBkaXJlY3Rvcnkgb3IgYSBmaWxlLiIs
IGluX25hbWUpCi0gICAgICAgIHJldHVybiAyCi0KLSAgICByZXR1cm4gMAotCi0KLWlmIF9fbmFt
ZV9fID09ICJfX21haW5fXyI6Ci0gICAgc3lzLmV4aXQobWFpbigpKQpJbmRleDogVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdXBkYXRlX3dlYmdsX2NvbmZvcm1hbmNlX3Rlc3Rz
X3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3VwZGF0ZV93ZWJnbF9jb25mb3JtYW5jZV90ZXN0c191bml0dGVzdC5weQkocmV2aXNp
b24gODk3ODUpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy91cGRhdGVf
d2ViZ2xfY29uZm9ybWFuY2VfdGVzdHNfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTEs
MTAyICswLDAgQEAKLSMhL3Vzci9iaW4vcHl0aG9uCi0jIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQotIyBtZXQ6Ci0jCi0jICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSMgICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotIyBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCi0jIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKLSMgZGlzdHJpYnV0aW9uLgotIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0jIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0jIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0j
Ci0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKLSMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0jIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
Ci0jIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAotIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0jIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotIyBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKLSMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotIiIiVW5p
dCB0ZXN0cyBmb3IgdXBkYXRlX3dlYmdsX2NvbmZvcm1hbmNlX3Rlc3RzLiIiIgotCi1pbXBvcnQg
dW5pdHRlc3QKLWZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzIGltcG9ydCB1cGRhdGVfd2ViZ2xf
Y29uZm9ybWFuY2VfdGVzdHMgYXMgd2ViZ2wKLQotCi1kZWYgY29uc3RydWN0X3NjcmlwdChuYW1l
KToKLSAgICByZXR1cm4gIjxzY3JpcHQgc3JjPVwiIiArIG5hbWUgKyAiXCI+PC9zY3JpcHQ+XG4i
Ci0KLQotZGVmIGNvbnN0cnVjdF9zdHlsZShuYW1lKToKLSAgICByZXR1cm4gIjxsaW5rIHJlbD1c
InN0eWxlc2hlZXRcIiBocmVmPVwiIiArIG5hbWUgKyAiXCI+IgotCi0KLWNsYXNzIFRlc3RUcmFu
c2xhdGlvbih1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgZGVmIGFzc2VydF91bmNoYW5nZWQoc2Vs
ZiwgdGV4dCk6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGV4dCwgd2ViZ2wudHJhbnNsYXRl
X2tocm9ub3NfdGVzdCh0ZXh0KSkKLQotICAgIGRlZiBhc3NlcnRfdHJhbnNsYXRlKHNlbGYsIGlu
cHV0LCBvdXRwdXQpOgotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dHB1dCwgd2ViZ2wudHJh
bnNsYXRlX2tocm9ub3NfdGVzdChpbnB1dCkpCi0KLSAgICBkZWYgdGVzdF9zaW1wbGVfdW5jaGFu
Z2VkKHNlbGYpOgotICAgICAgICBzZWxmLmFzc2VydF91bmNoYW5nZWQoIiIpCi0gICAgICAgIHNl
bGYuYXNzZXJ0X3VuY2hhbmdlZCgiPGh0bWw+PC9odG1sPiIpCi0KLSAgICBkZWYgdGVzdF9oZWFk
ZXJfc3RyaXAoc2VsZik6Ci0gICAgICAgIHNpbmdsZV9saW5lX2hlYWRlciA9ICI8IS0tIHNpbmds
ZSBsaW5lIGhlYWRlci4gLS0+IgotICAgICAgICBtdWx0aV9saW5lX2hlYWRlciA9ICIiIjwhLS0g
dGhpcyBpcyBhIG11bHRpLWxpbmUKLSAgICAgICAgICAgICAgICBoZWFkZXIuICBpdCBzaG91bGQg
YWxsIGJlIHJlbW92ZWQgdG9vLgotICAgICAgICAgICAgICAgIC0tPiIiIgotICAgICAgICB0ZXh0
ID0gIjxodG1sPjwvaHRtbD4iCi0gICAgICAgIHNlbGYuYXNzZXJ0X3RyYW5zbGF0ZShzaW5nbGVf
bGluZV9oZWFkZXIsICIiKQotICAgICAgICBzZWxmLmFzc2VydF90cmFuc2xhdGUoc2luZ2xlX2xp
bmVfaGVhZGVyICsgdGV4dCwgdGV4dCkKLSAgICAgICAgc2VsZi5hc3NlcnRfdHJhbnNsYXRlKG11
bHRpX2xpbmVfaGVhZGVyICsgdGV4dCwgdGV4dCkKLQotICAgIGRlZiBkb250X3N0cmlwX290aGVy
X2hlYWRlcnMoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0X3VuY2hhbmdlZCgiPGh0bWw+XG48
IS0tIGRvbid0IHJlbW92ZSBjb21tZW50cyBvbiBvdGhlciBsaW5lcy4gLS0+XG48L2h0bWw+IikK
LQotICAgIGRlZiB0ZXN0X2luY2x1ZGVfcmV3cml0aW5nKHNlbGYpOgotICAgICAgICAjIE1hcHBp
bmdzIHRvIE5vbmUgYXJlIHVuY2hhbmdlZAotICAgICAgICBzdHlsZXMgPSB7Ci0gICAgICAgICAg
ICAiLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIjogIi4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyIsCi0gICAgICAgICAgICAiZmFpbC5jc3MiOiBOb25lLAotICAgICAg
ICAgICAgInJlc291cmNlcy9zdHlsZXNoZWV0LmNzcyI6IE5vbmUsCi0gICAgICAgICAgICAiLi4v
cmVzb3VyY2VzL3N0eWxlLmNzcyI6IE5vbmUsCi0gICAgICAgIH0KLSAgICAgICAgc2NyaXB0cyA9
IHsKLSAgICAgICAgICAgICIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiOiAiLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIiwKLSAgICAgICAgICAgICIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIjogIi4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiLAotICAg
ICAgICAgICAgIi4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyI6ICJyZXNvdXJj
ZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiLAotCi0gICAgICAgICAgICAicmVzb3VyY2VzL3No
YWRvdy1vZmZzZXQuanMiOiBOb25lLAotICAgICAgICAgICAgIi4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QtYXN5bmMuanMiOiBOb25lLAotICAgICAgICB9Ci0KLSAgICAgICAgaW5wdXRfdGV4dCA9
ICIiCi0gICAgICAgIG91dHB1dF90ZXh0ID0gIiIKLSAgICAgICAgZm9yIGlucHV0LCBvdXRwdXQg
aW4gc3R5bGVzLml0ZW1zKCk6Ci0gICAgICAgICAgICBpbnB1dF90ZXh0ICs9IGNvbnN0cnVjdF9z
dHlsZShpbnB1dCkKLSAgICAgICAgICAgIG91dHB1dF90ZXh0ICs9IGNvbnN0cnVjdF9zdHlsZShv
dXRwdXQgaWYgb3V0cHV0IGVsc2UgaW5wdXQpCi0gICAgICAgIGZvciBpbnB1dCwgb3V0cHV0IGlu
IHNjcmlwdHMuaXRlbXMoKToKLSAgICAgICAgICAgIGlucHV0X3RleHQgKz0gY29uc3RydWN0X3Nj
cmlwdChpbnB1dCkKLSAgICAgICAgICAgIG91dHB1dF90ZXh0ICs9IGNvbnN0cnVjdF9zY3JpcHQo
b3V0cHV0IGlmIG91dHB1dCBlbHNlIGlucHV0KQotCi0gICAgICAgIGhlYWQgPSAnPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPlxuPGh0bWw+XG48aGVhZD5cbicK
LSAgICAgICAgZm9vdCA9ICc8L2hlYWQ+XG48Ym9keT5cbjwvYm9keT5cbjwvaHRtbD4nCi0gICAg
ICAgIGlucHV0X3RleHQgPSBoZWFkICsgaW5wdXRfdGV4dCArIGZvb3QKLSAgICAgICAgb3V0cHV0
X3RleHQgPSBoZWFkICsgb3V0cHV0X3RleHQgKyBmb290Ci0gICAgICAgIHNlbGYuYXNzZXJ0X3Ry
YW5zbGF0ZShpbnB1dF90ZXh0LCBvdXRwdXRfdGV4dCkKLQotCi1pZiBfX25hbWVfXyA9PSAnX19t
YWluX18nOgotICAgIHVuaXR0ZXN0Lm1haW4oKQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b19iZV9tb3ZlZC91cGRhdGVfd2ViZ2xfY29uZm9ybWFuY2VfdGVzdHMucHkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b19iZV9tb3ZlZC91cGRhdGVfd2ViZ2xfY29u
Zm9ybWFuY2VfdGVzdHMucHkJKHJldmlzaW9uIDg5Nzg1KQkoZnJvbSBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy91cGRhdGVfd2ViZ2xfY29uZm9ybWFuY2VfdGVzdHMucHk6ODk3
ODUpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3RvX2JlX21vdmVkL3VwZGF0ZV93ZWJnbF9j
b25mb3JtYW5jZV90ZXN0cy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE2MiBAQAorIyEv
dXNyL2Jpbi9lbnYgcHl0aG9uCisKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1l
dDoKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisjICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyMgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyMgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBD
T01QVVRFUiwgSU5DLiBPUgorIyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyMgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorIyBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyMgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorIyBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisK
K2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgd2l0aF9zdGF0ZW1lbnQKKworaW1wb3J0IGdsb2IKK2lt
cG9ydCBsb2dnaW5nCitpbXBvcnQgb3B0cGFyc2UKK2ltcG9ydCBvcworaW1wb3J0IHJlCitpbXBv
cnQgc3lzCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5jaGVja291dCBpbXBvcnQgc2NtCisKK19sb2cg
PSBsb2dnaW5nLmdldExvZ2dlcigid2Via2l0cHkubGF5b3V0X3Rlc3RzLiIKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAidXBkYXRlLXdlYmdsLWNvbmZvcm1hbmNlLXRlc3RzIikKKworCitkZWYg
cmVtb3ZlX2ZpcnN0X2xpbmVfY29tbWVudCh0ZXh0KToKKyAgICByZXR1cm4gcmUuY29tcGlsZShy
J148IS0tLio/LS0+XHMqJywgcmUuRE9UQUxMKS5zdWIoJycsIHRleHQpCisKKworZGVmIHRyYW5z
bGF0ZV9pbmNsdWRlcyh0ZXh0KToKKyAgICAjIE1hcHBpbmcgb2Ygc2luZ2xlIGZpbGVuYW1lIHRv
IHJlbGF0aXZlIHBhdGggdW5kZXIgV2ViS2l0IHJvb3QuCisgICAgIyBBc3N1bXB0aW9uOiB0aGVz
ZSBmaWxlbmFtZXMgYXJlIGdsb2JhbGx5IHVuaXF1ZS4KKyAgICBpbmNsdWRlX21hcHBpbmcgPSB7
CisgICAgICAgICJqcy10ZXN0LXN0eWxlLmNzcyI6ICIuLi8uLi9qcy9yZXNvdXJjZXMiLAorICAg
ICAgICAianMtdGVzdC1wcmUuanMiOiAiLi4vLi4vanMvcmVzb3VyY2VzIiwKKyAgICAgICAgImpz
LXRlc3QtcG9zdC5qcyI6ICIuLi8uLi9qcy9yZXNvdXJjZXMiLAorICAgICAgICAiZGVza3RvcC1n
bC1jb25zdGFudHMuanMiOiAicmVzb3VyY2VzIiwKKyAgICB9CisKKyAgICBmb3IgZmlsZW5hbWUs
IHBhdGggaW4gaW5jbHVkZV9tYXBwaW5nLml0ZW1zKCk6CisgICAgICAgIHNlYXJjaCA9IHInKD86
W14iXCc9IF0qLyk/JyArIHJlLmVzY2FwZShmaWxlbmFtZSkKKyAgICAgICAgIyBXZSB1c2UgJy8n
IGluc3RlYWQgb2Ygb3MucGF0aC5qb2luIGluIG9yZGVyIHRvIHByb2R1Y2UgY29uc2lzdGVudAor
ICAgICAgICAjIG91dHB1dCBjcm9zcy1wbGF0Zm9ybS4KKyAgICAgICAgcmVwbGFjZSA9IHBhdGgg
KyAnLycgKyBmaWxlbmFtZQorICAgICAgICB0ZXh0ID0gcmUuc3ViKHNlYXJjaCwgcmVwbGFjZSwg
dGV4dCkKKworICAgIHJldHVybiB0ZXh0CisKKworZGVmIHRyYW5zbGF0ZV9raHJvbm9zX3Rlc3Qo
dGV4dCk6CisgICAgIiIiCisgICAgVGhpcyBtZXRob2QgdHJhbnNsYXRlcyB0aGUgY29udGVudHMg
b2YgYSBLaHJvbm9zIHRlc3QgdG8gYSBXZWJLaXQgdGVzdC4KKyAgICAiIiIKKworICAgIHRyYW5z
bGF0ZUZ1bmNzID0gWworICAgICAgICByZW1vdmVfZmlyc3RfbGluZV9jb21tZW50LAorICAgICAg
ICB0cmFuc2xhdGVfaW5jbHVkZXMsCisgICAgXQorCisgICAgZm9yIGYgaW4gdHJhbnNsYXRlRnVu
Y3M6CisgICAgICAgIHRleHQgPSBmKHRleHQpCisKKyAgICByZXR1cm4gdGV4dAorCisKK2RlZiB1
cGRhdGVfZmlsZShpbl9maWxlbmFtZSwgb3V0X2Rpcik6CisgICAgIyBjaGVjayBpbl9maWxlbmFt
ZSBleGlzdHMKKyAgICAjIGNoZWNrIG91dF9kaXIgZXhpc3RzCisgICAgb3V0X2ZpbGVuYW1lID0g
b3MucGF0aC5qb2luKG91dF9kaXIsIG9zLnBhdGguYmFzZW5hbWUoaW5fZmlsZW5hbWUpKQorCisg
ICAgX2xvZy5kZWJ1ZygiUHJvY2Vzc2luZyAiICsgaW5fZmlsZW5hbWUpCisgICAgd2l0aCBvcGVu
KGluX2ZpbGVuYW1lLCAncicpIGFzIGluX2ZpbGU6CisgICAgICAgIHdpdGggb3BlbihvdXRfZmls
ZW5hbWUsICd3JykgYXMgb3V0X2ZpbGU6CisgICAgICAgICAgICBvdXRfZmlsZS53cml0ZSh0cmFu
c2xhdGVfa2hyb25vc190ZXN0KGluX2ZpbGUucmVhZCgpKSkKKworCitkZWYgdXBkYXRlX2RpcmVj
dG9yeShpbl9kaXIsIG91dF9kaXIpOgorICAgIGZvciBmaWxlbmFtZSBpbiBnbG9iLmdsb2Iob3Mu
cGF0aC5qb2luKGluX2RpciwgJyouaHRtbCcpKToKKyAgICAgICAgdXBkYXRlX2ZpbGUob3MucGF0
aC5qb2luKGluX2RpciwgZmlsZW5hbWUpLCBvdXRfZGlyKQorCisKK2RlZiBkZWZhdWx0X291dF9k
aXIoKToKKyAgICBjdXJyZW50X3NjbSA9IHNjbS5kZXRlY3Rfc2NtX3N5c3RlbShvcy5wYXRoLmRp
cm5hbWUoc3lzLmFyZ3ZbMF0pKQorICAgIGlmIG5vdCBjdXJyZW50X3NjbToKKyAgICAgICAgcmV0
dXJuIG9zLmdldGN3ZCgpCisgICAgcm9vdF9kaXIgPSBjdXJyZW50X3NjbS5jaGVja291dF9yb290
CisgICAgaWYgbm90IHJvb3RfZGlyOgorICAgICAgICByZXR1cm4gb3MuZ2V0Y3dkKCkKKyAgICBv
dXRfZGlyID0gb3MucGF0aC5qb2luKHJvb3RfZGlyLCAiTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wiKQorICAgIGlmIG9zLnBhdGguaXNkaXIob3V0X2Rpcik6CisgICAgICAgIHJldHVybiBv
dXRfZGlyCisgICAgcmV0dXJuIG9zLmdldGN3ZCgpCisKKworZGVmIGNvbmZpZ3VyZV9sb2dnaW5n
KG9wdGlvbnMpOgorICAgICIiIkNvbmZpZ3VyZXMgdGhlIGxvZ2dpbmcgc3lzdGVtLiIiIgorICAg
IGxvZ19mbXQgPSAnJShsZXZlbG5hbWUpczogJShtZXNzYWdlKXMnCisgICAgbG9nX2RhdGVmbXQg
PSAnJXklbSVkICVIOiVNOiVTJworICAgIGxvZ19sZXZlbCA9IGxvZ2dpbmcuSU5GTworICAgIGlm
IG9wdGlvbnMudmVyYm9zZToKKyAgICAgICAgbG9nX2ZtdCA9ICgnJShhc2N0aW1lKXMgJShmaWxl
bmFtZSlzOiUobGluZW5vKS00ZCAlKGxldmVsbmFtZSlzICcKKyAgICAgICAgICAgICAgICAgICAn
JShtZXNzYWdlKXMnKQorICAgICAgICBsb2dfbGV2ZWwgPSBsb2dnaW5nLkRFQlVHCisgICAgbG9n
Z2luZy5iYXNpY0NvbmZpZyhsZXZlbD1sb2dfbGV2ZWwsIGZvcm1hdD1sb2dfZm10LAorICAgICAg
ICAgICAgICAgICAgICAgICAgZGF0ZWZtdD1sb2dfZGF0ZWZtdCkKKworCitkZWYgb3B0aW9uX3Bh
cnNlcigpOgorICAgIHVzYWdlID0gInVzYWdlOiAlcHJvZyBbb3B0aW9uc10gKGlucHV0IGZpbGUg
b3IgZGlyZWN0b3J5KSIKKyAgICBwYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2U9
dXNhZ2UpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oJy12JywgJy0tdmVyYm9zZScsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGhlbHA9J2luY2x1ZGUgZGVidWctbGV2ZWwgbG9nZ2luZycpCisgICAgcGFyc2VyLmFkZF9v
cHRpb24oJy1vJywgJy0tb3V0cHV0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0
aW9uPSdzdG9yZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9J3N0cmluZycs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9ZGVmYXVsdF9vdXRfZGlyKCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGF2YXI9J0RJUicsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGhlbHA9J3NwZWNpZnkgYW4gb3V0cHV0IGRpcmVjdG9yeSB0byBw
bGFjZSBmaWxlcyAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luIFtkZWZh
dWx0OiAlZGVmYXVsdF0nKQorICAgIHJldHVybiBwYXJzZXIKKworCitkZWYgbWFpbigpOgorICAg
IHBhcnNlciA9IG9wdGlvbl9wYXJzZXIoKQorICAgIChvcHRpb25zLCBhcmdzKSA9IHBhcnNlci5w
YXJzZV9hcmdzKCkKKyAgICBjb25maWd1cmVfbG9nZ2luZyhvcHRpb25zKQorCisgICAgaWYgbGVu
KGFyZ3MpID09IDA6CisgICAgICAgIF9sb2cuZXJyb3IoIk11c3Qgc3BlY2lmeSBhbiBpbnB1dCBk
aXJlY3Rvcnkgb3IgZmlsZW5hbWUuIikKKyAgICAgICAgcGFyc2VyLnByaW50X2hlbHAoKQorICAg
ICAgICByZXR1cm4gMQorCisgICAgaW5fbmFtZSA9IGFyZ3NbMF0KKyAgICBpZiBvcy5wYXRoLmlz
ZmlsZShpbl9uYW1lKToKKyAgICAgICAgdXBkYXRlX2ZpbGUoaW5fbmFtZSwgb3B0aW9ucy5vdXRw
dXQpCisgICAgZWxpZiBvcy5wYXRoLmlzZGlyKGluX25hbWUpOgorICAgICAgICB1cGRhdGVfZGly
ZWN0b3J5KGluX25hbWUsIG9wdGlvbnMub3V0cHV0KQorICAgIGVsc2U6CisgICAgICAgIF9sb2cu
ZXJyb3IoIiclcycgaXMgbm90IGEgZGlyZWN0b3J5IG9yIGEgZmlsZS4iLCBpbl9uYW1lKQorICAg
ICAgICByZXR1cm4gMgorCisgICAgcmV0dXJuIDAKKworCitpZiBfX25hbWVfXyA9PSAiX19tYWlu
X18iOgorICAgIHN5cy5leGl0KG1haW4oKSkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9fYmVfbW92ZWQvdXBkYXRlX3dlYmdsX2NvbmZvcm1hbmNlX3Rlc3RzX3VuaXR0ZXN0LnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9fYmVfbW92ZWQvdXBkYXRlX3dl
YmdsX2NvbmZvcm1hbmNlX3Rlc3RzX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiA4OTc4NSkJKGZyb20g
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdXBkYXRlX3dlYmdsX2NvbmZvcm1h
bmNlX3Rlc3RzX3VuaXR0ZXN0LnB5Ojg5Nzg1KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b19iZV9tb3ZlZC91cGRhdGVfd2ViZ2xfY29uZm9ybWFuY2VfdGVzdHNfdW5pdHRlc3QucHkJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwxMDIgQEAKKyMhL3Vzci9iaW4vcHl0aG9uCisjIENvcHly
aWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisj
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKworIiIiVW5pdCB0ZXN0cyBmb3IgdXBkYXRlX3dlYmdsX2NvbmZvcm1hbmNlX3Rl
c3RzLiIiIgorCitpbXBvcnQgdW5pdHRlc3QKK2Zyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzIGlt
cG9ydCB1cGRhdGVfd2ViZ2xfY29uZm9ybWFuY2VfdGVzdHMgYXMgd2ViZ2wKKworCitkZWYgY29u
c3RydWN0X3NjcmlwdChuYW1lKToKKyAgICByZXR1cm4gIjxzY3JpcHQgc3JjPVwiIiArIG5hbWUg
KyAiXCI+PC9zY3JpcHQ+XG4iCisKKworZGVmIGNvbnN0cnVjdF9zdHlsZShuYW1lKToKKyAgICBy
ZXR1cm4gIjxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiBocmVmPVwiIiArIG5hbWUgKyAiXCI+Igor
CisKK2NsYXNzIFRlc3RUcmFuc2xhdGlvbih1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIGFz
c2VydF91bmNoYW5nZWQoc2VsZiwgdGV4dCk6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGV4
dCwgd2ViZ2wudHJhbnNsYXRlX2tocm9ub3NfdGVzdCh0ZXh0KSkKKworICAgIGRlZiBhc3NlcnRf
dHJhbnNsYXRlKHNlbGYsIGlucHV0LCBvdXRwdXQpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KG91dHB1dCwgd2ViZ2wudHJhbnNsYXRlX2tocm9ub3NfdGVzdChpbnB1dCkpCisKKyAgICBkZWYg
dGVzdF9zaW1wbGVfdW5jaGFuZ2VkKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydF91bmNoYW5n
ZWQoIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0X3VuY2hhbmdlZCgiPGh0bWw+PC9odG1sPiIpCisK
KyAgICBkZWYgdGVzdF9oZWFkZXJfc3RyaXAoc2VsZik6CisgICAgICAgIHNpbmdsZV9saW5lX2hl
YWRlciA9ICI8IS0tIHNpbmdsZSBsaW5lIGhlYWRlci4gLS0+IgorICAgICAgICBtdWx0aV9saW5l
X2hlYWRlciA9ICIiIjwhLS0gdGhpcyBpcyBhIG11bHRpLWxpbmUKKyAgICAgICAgICAgICAgICBo
ZWFkZXIuICBpdCBzaG91bGQgYWxsIGJlIHJlbW92ZWQgdG9vLgorICAgICAgICAgICAgICAgIC0t
PiIiIgorICAgICAgICB0ZXh0ID0gIjxodG1sPjwvaHRtbD4iCisgICAgICAgIHNlbGYuYXNzZXJ0
X3RyYW5zbGF0ZShzaW5nbGVfbGluZV9oZWFkZXIsICIiKQorICAgICAgICBzZWxmLmFzc2VydF90
cmFuc2xhdGUoc2luZ2xlX2xpbmVfaGVhZGVyICsgdGV4dCwgdGV4dCkKKyAgICAgICAgc2VsZi5h
c3NlcnRfdHJhbnNsYXRlKG11bHRpX2xpbmVfaGVhZGVyICsgdGV4dCwgdGV4dCkKKworICAgIGRl
ZiBkb250X3N0cmlwX290aGVyX2hlYWRlcnMoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0X3Vu
Y2hhbmdlZCgiPGh0bWw+XG48IS0tIGRvbid0IHJlbW92ZSBjb21tZW50cyBvbiBvdGhlciBsaW5l
cy4gLS0+XG48L2h0bWw+IikKKworICAgIGRlZiB0ZXN0X2luY2x1ZGVfcmV3cml0aW5nKHNlbGYp
OgorICAgICAgICAjIE1hcHBpbmdzIHRvIE5vbmUgYXJlIHVuY2hhbmdlZAorICAgICAgICBzdHls
ZXMgPSB7CisgICAgICAgICAgICAiLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIjogIi4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIsCisgICAgICAgICAgICAiZmFpbC5j
c3MiOiBOb25lLAorICAgICAgICAgICAgInJlc291cmNlcy9zdHlsZXNoZWV0LmNzcyI6IE5vbmUs
CisgICAgICAgICAgICAiLi4vcmVzb3VyY2VzL3N0eWxlLmNzcyI6IE5vbmUsCisgICAgICAgIH0K
KyAgICAgICAgc2NyaXB0cyA9IHsKKyAgICAgICAgICAgICIuLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiOiAiLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIiwKKyAgICAgICAgICAg
ICIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIjogIi4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiLAorICAgICAgICAgICAgIi4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0
YW50cy5qcyI6ICJyZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiLAorCisgICAgICAg
ICAgICAicmVzb3VyY2VzL3NoYWRvdy1vZmZzZXQuanMiOiBOb25lLAorICAgICAgICAgICAgIi4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtYXN5bmMuanMiOiBOb25lLAorICAgICAgICB9CisKKyAg
ICAgICAgaW5wdXRfdGV4dCA9ICIiCisgICAgICAgIG91dHB1dF90ZXh0ID0gIiIKKyAgICAgICAg
Zm9yIGlucHV0LCBvdXRwdXQgaW4gc3R5bGVzLml0ZW1zKCk6CisgICAgICAgICAgICBpbnB1dF90
ZXh0ICs9IGNvbnN0cnVjdF9zdHlsZShpbnB1dCkKKyAgICAgICAgICAgIG91dHB1dF90ZXh0ICs9
IGNvbnN0cnVjdF9zdHlsZShvdXRwdXQgaWYgb3V0cHV0IGVsc2UgaW5wdXQpCisgICAgICAgIGZv
ciBpbnB1dCwgb3V0cHV0IGluIHNjcmlwdHMuaXRlbXMoKToKKyAgICAgICAgICAgIGlucHV0X3Rl
eHQgKz0gY29uc3RydWN0X3NjcmlwdChpbnB1dCkKKyAgICAgICAgICAgIG91dHB1dF90ZXh0ICs9
IGNvbnN0cnVjdF9zY3JpcHQob3V0cHV0IGlmIG91dHB1dCBlbHNlIGlucHV0KQorCisgICAgICAg
IGhlYWQgPSAnPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPlxu
PGh0bWw+XG48aGVhZD5cbicKKyAgICAgICAgZm9vdCA9ICc8L2hlYWQ+XG48Ym9keT5cbjwvYm9k
eT5cbjwvaHRtbD4nCisgICAgICAgIGlucHV0X3RleHQgPSBoZWFkICsgaW5wdXRfdGV4dCArIGZv
b3QKKyAgICAgICAgb3V0cHV0X3RleHQgPSBoZWFkICsgb3V0cHV0X3RleHQgKyBmb290CisgICAg
ICAgIHNlbGYuYXNzZXJ0X3RyYW5zbGF0ZShpbnB1dF90ZXh0LCBvdXRwdXRfdGV4dCkKKworCitp
ZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oKQpJbmRleDogVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b19iZV9tb3ZlZC91cGRhdGVfd2ViZ2xfY29uZm9ybWFuY2Vf
dGVzdHNfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b19iZV9tb3ZlZC91cGRhdGVfd2ViZ2xfY29uZm9ybWFuY2VfdGVzdHNfdW5pdHRlc3QucHkJKHJl
dmlzaW9uIDg5NzkxKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b19iZV9tb3ZlZC91cGRh
dGVfd2ViZ2xfY29uZm9ybWFuY2VfdGVzdHNfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAg
LTMwLDcgKzMwLDcgQEAKICIiIlVuaXQgdGVzdHMgZm9yIHVwZGF0ZV93ZWJnbF9jb25mb3JtYW5j
ZV90ZXN0cy4iIiIKIAogaW1wb3J0IHVuaXR0ZXN0Ci1mcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0
cyBpbXBvcnQgdXBkYXRlX3dlYmdsX2NvbmZvcm1hbmNlX3Rlc3RzIGFzIHdlYmdsCitmcm9tIHdl
YmtpdHB5LnRvX2JlX21vdmVkIGltcG9ydCB1cGRhdGVfd2ViZ2xfY29uZm9ybWFuY2VfdGVzdHMg
YXMgd2ViZ2wKIAogCiBkZWYgY29uc3RydWN0X3NjcmlwdChuYW1lKToK
</data>
<flag name="review"
          id="92943"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>