<?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>73353</bug_id>
          
          <creation_ts>2011-11-29 13:03:42 -0800</creation_ts>
          <short_desc>Allow committers to use their Trac credentials to force builds on the buildbots</short_desc>
          <delta_ts>2011-12-01 14:04:06 -0800</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>
          <dependson>73575</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tor Arne Vestbø">vestbo</reporter>
          <assigned_to name="Adam Roben (:aroben)">aroben</assigned_to>
          <cc>aroben</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>mrowe</cc>
    
    <cc>wsiegrist</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>511032</commentid>
    <comment_count>0</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2011-11-29 13:03:42 -0800</bug_when>
    <thetext>Would allow us to add optional steps to for example force a clean build, take a bot offline, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511096</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-11-29 14:01:37 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; Would allow us to add optional steps to for example force a clean build, take a bot offline, etc.

Note that this would only affect a single slave for each builder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512913</commentid>
    <comment_count>2</comment_count>
      <attachid>117446</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-12-01 11:05:43 -0800</bug_when>
    <thetext>Created attachment 117446
Allow committers to use their Trac credentials to force builds on the buildbots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512930</commentid>
    <comment_count>3</comment_count>
      <attachid>117446</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-01 11:26:29 -0800</bug_when>
    <thetext>Comment on attachment 117446
Allow committers to use their Trac credentials to force builds on the buildbots

Looks good. I feel comfortable reviewing this even though I am not fluent in Python.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512934</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-12-01 11:29:04 -0800</bug_when>
    <thetext>Thanks, Darin. I&apos;ll land this after I get some lunch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513079</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-12-01 14:04:06 -0800</bug_when>
    <thetext>Committed r101695: &lt;http://trac.webkit.org/changeset/101695&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117446</attachid>
            <date>2011-12-01 11:05:43 -0800</date>
            <delta_ts>2011-12-01 11:26:29 -0800</delta_ts>
            <desc>Allow committers to use their Trac credentials to force builds on the buildbots</desc>
            <filename>bug-73353-20111201140541.patch</filename>
            <type>text/plain</type>
            <size>22031</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNjYzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzAxZWE1MjNmNmY5OTBmMGI2NmQwODE3YTBlOTMzYjEx
ZmY4ZGMxNi4uZjE2YjMxYzQ3Mzc1NTE0ODJhN2YxMDUwYmM2ZTg1YTg3Mjg1OWMzOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDEw
NSBAQAogMjAxMS0xMi0wMSAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKKyAgICAg
ICAgQWxsb3cgY29tbWl0dGVycyB0byB1c2UgdGhlaXIgVHJhYyBjcmVkZW50aWFscyB0byBmb3Jj
ZSBidWlsZHMgb24gdGhlIGJ1aWxkYm90cworCisgICAgICAgIEZpeGVzIDxodHRwOi8vd2Via2l0
Lm9yZy9iLzczMzUzPgorCisgICAgICAgIEEgbmV3IGNsYXNzLCBDb21taXR0ZXJBdXRoLCBoYW5k
bGVzIGF1dGhlbnRpY2F0aW9uIG9mIFdlYktpdCBjb21taXR0ZXJzLiBDb21taXR0ZXJBdXRoIHVz
ZXMKKyAgICAgICAgdGhyZWUgZmlsZXMgdG8gZG8gaXRzIGpvYjogYSBjb25maWcgZmlsZSB0aGF0
IGNvbnRhaW5zIGEgbGlzdCBvZiBXZWJLaXQgY29tbWl0dGVyIHVzZXJuYW1lcywKKyAgICAgICAg
YW4gaHRkaWdlc3QgZmlsZSB0aGF0IGNvbnRhaW5zIFRyYWMgY3JlZGVudGlhbHMsIGFuZCBKU09O
IGZpbGUgdGhhdCBnaXZlcyB0aGUgcGF0aHMgZm9yCisgICAgICAgIHRob3NlIHR3byBmaWxlcy4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEJ1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL2NvbW1pdHRlcl9hdXRoLnB5OiBB
ZGRlZC4KKyAgICAgICAgKEVycm9yKTogQmFzaWMgd3JhcHBlciBhcm91bmQgRXhjZXB0aW9uIHRo
YXQgd2UgdXNlIGZvciBjYXNlcyB3aGVyZSB3ZSBjb3VsZG4ndCBldmVuIGNoZWNrCisgICAgICAg
IHdoZXRoZXIgY3JlZGVudGlhbHMgd2VyZSB2YWxpZCBvciBub3QuCisgICAgICAgIChDb21taXR0
ZXJBdXRoLl9faW5pdF9fKTogSnVzdCBzdG9yZSB0aGUgcGF0aCB0byBhdXRoLmpzb24uCisgICAg
ICAgIChDb21taXR0ZXJBdXRoLmF1dGhfanNvbik6IExvYWQsIHBhcnNlLCBhbmQgcmV0dXJuIGF1
dGguanNvbi4KKyAgICAgICAgKENvbW1pdHRlckF1dGguYXV0aF9qc29uX2ZpbGVuYW1lKTogUmV0
dXJuIHRoZSBwYXRoIHRvIGF1dGguanNvbi4KKyAgICAgICAgKENvbW1pdHRlckF1dGguYXV0aGVu
dGljYXRlKTogUmV0dXJuIHRydWUgaWYgdGhlIHVzZXIgaXMgYSBXZWJLaXQgY29tbWl0dGVyIGFu
ZCB0aGVpcgorICAgICAgICBjcmVkZW50aWFscyBhcmUgdmFsaWQgVHJhYyBjcmVkZW50aWFscy4g
UmV0dXJuIGZhbHNlIG90aGVyd2lzZSBvciBpZiBhbiBlcnJvciBvY2N1cnJlZCB3aGlsZQorICAg
ICAgICBjaGVja2luZyB0aG9zZSBjb25kaXRpb25zLgorICAgICAgICAoQ29tbWl0dGVyQXV0aC5p
c193ZWJraXRfY29tbWl0dGVyKTogUmV0dXJuIHRydWUgaWYgdGhlIHVzZXIgaXMgYSBXZWJLaXQg
Y29tbWl0dGVyLiBSZXR1cm4KKyAgICAgICAgZmFsc2Ugb3RoZXJ3aXNlIG9yIGlmIGFuIGV4Y2Vw
dGlvbiB3YXMgdGhyb3duLgorICAgICAgICAoQ29tbWl0dGVyQXV0aC5pc193ZWJraXRfdHJhY191
c2VyKTogUmV0dXJuIHRydWUgaWYgdGhlIHVzZXJuYW1lL3Bhc3N3b3JkIGFyZSBwcmVzZW50IGlu
IHRoZQorICAgICAgICBUcmFjIGNyZWRlbnRpYWxzIGh0ZGlnZXN0IGZpbGUuIFJldHVybiBmYWxz
ZSBvdGhlcndpc2Ugb3IgaWYgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uCisKKyAgICAgICAgKENv
bW1pdHRlckF1dGgub3Blbl9hdXRoX2pzb25fZmlsZSk6CisgICAgICAgIChDb21taXR0ZXJBdXRo
Lm9wZW5fdHJhY19jcmVkZW50aWFsc19maWxlKToKKyAgICAgICAgKENvbW1pdHRlckF1dGgub3Bl
bl93ZWJraXRfY29tbWl0dGVyc19maWxlKToKKyAgICAgICAgT3BlbiB0aGUgc3BlY2lmaWVkIGZp
bGUuIFRoZXNlIGFyZSBtb3N0bHkgdXNlZnVsIGZvciB0ZXN0aW5nIHB1cnBvc2VzLgorCisgICAg
ICAgIChDb21taXR0ZXJBdXRoLnRyYWNfY3JlZGVudGlhbHNfZmlsZW5hbWUpOgorICAgICAgICAo
Q29tbWl0dGVyQXV0aC53ZWJraXRfY29tbWl0dGVyc19maWxlbmFtZSk6CisgICAgICAgIFJldHVy
biB0aGUgcGF0aCB0byB0aGUgc3BlY2lmaWVkIGZpbGUgYnkgcmV0cmlldmluZyBpdCBmcm9tIGF1
dGguanNvbi4KKworICAgICAgICAoQ29tbWl0dGVyQXV0aC53ZWJraXRfY29tbWl0dGVycyk6IExv
YWQgYW5kIHBhcnNlIHRoZSBjb21taXR0ZXJzIGZpbGUgYW5kIGV4dHJhY3QgdGhlIGxpc3QKKyAg
ICAgICAgb2YgV2ViS2l0IGNvbW1pdHRlcnMgZnJvbSBpdC4KKworICAgICAgICAqIEJ1aWxkU2xh
dmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL2NvbW1pdHRlcl9hdXRoX3VuaXR0ZXN0
LnB5OiBBZGRlZC4KKyAgICAgICAgKENNU3RyaW5nSU8uX19lbnRlcl9fKToKKyAgICAgICAgKENN
U3RyaW5nSU8uX19leGl0X18pOgorICAgICAgICBIZWxwZXIgY2xhc3MgdGhhdCBtYWtlcyBpdCBw
b3NzaWJsZSB0byB1c2UgU3RyaW5nSU8gd2l0aCB0aGUgIndpdGgiIHN0YXRlbWVudC4KKworICAg
ICAgICAob3Blbl9vdmVycmlkZSk6IEhlbHBlciBjb250ZXh0IG1hbmFnZXIgZm9yIG92ZXJyaWRp
bmcgdGhlIGdsb2JhbCAib3BlbiIgZnVuY3Rpb24KKyAgICAgICAgdGVtcG9yYXJpbHkuCisKKyAg
ICAgICAgKENvbW1pdHRlckF1dGhUZXN0LnNldFVwKTogU2V0IHVwIGEgc29tZXdoYXQtbW9ja2Vk
IENvbW1pdHRlckF1dGggdGhhdCBpcyB1c2VkIGJ5IG1vc3QKKyAgICAgICAgdGVzdHMuCisgICAg
ICAgIChDb21taXR0ZXJBdXRoVGVzdC5mYWtlX29wZW5fZnVuY3Rpb24pOiBSZXR1cm5zIGEgZnVu
Y3Rpb24gdGhhdCBjYW4gYmUgdXNlZCBpbiBwbGFjZSBvZgorICAgICAgICAib3BlbiIgdG8gdGVz
dCB0aGF0IHRoZSBleHBlY3RlZCBwYXRoIHdhcyBvcGVuZWQuCisgICAgICAgIChDb21taXR0ZXJB
dXRoVGVzdC50ZXN0X2F1dGhlbnRpY2F0aW9uX3N1Y2Nlc3MpOiBUZXN0IHRoYXQgY29tbWl0dGVy
cyBjYW4gYXV0aGVudGljYXRlCisgICAgICAgIHN1Y2Nlc3NmdWxseS4KKyAgICAgICAgKENvbW1p
dHRlckF1dGhUZXN0LnRlc3RfY29tbWl0dGVyX3dpdGhvdXRfdHJhY19jcmVkZW50aWFsc19mYWls
cyk6IFRlc3QgdGhhdCBjb21taXR0ZXJzIHdobworICAgICAgICBzb21laG93IGhhdmUgbm8gVHJh
YyBhY2NvdW50IGNhbid0IGF1dGhlbnRpY2F0ZS4KKworICAgICAgICAoQ29tbWl0dGVyQXV0aFRl
c3QudGVzdF9mYWlsX3RvX29wZW5fYXV0aF9qc29uX2ZpbGUpOgorICAgICAgICAoQ29tbWl0dGVy
QXV0aFRlc3QudGVzdF9mYWlsX3RvX29wZW5fdHJhY19jcmVkZW50aWFsc19maWxlKToKKyAgICAg
ICAgKENvbW1pdHRlckF1dGhUZXN0LnRlc3RfZmFpbF90b19vcGVuX3dlYmtpdF9jb21taXR0ZXJz
X2ZpbGUpOgorICAgICAgICBUZXN0IHdoYXQgaGFwcGVucyB3aGVuIHdlIGNhbid0IG9wZW4gdGhl
IHRocmVlIGZpbGVzIHdlIGRlcGVuZCB1cG9uLgorCisgICAgICAgIChDb21taXR0ZXJBdXRoVGVz
dC50ZXN0X2ltcGxlbWVudHNfSUF1dGgpOiBUZXN0IHRoYXQgd2UgZnVsZmlsbCBidWlsZGJvdCdz
IGV4cGVjdGF0aW9ucyBmb3IKKyAgICAgICAgYW4gYXV0aGVudGljYXRpb24gY2xhc3MuCisKKyAg
ICAgICAgKENvbW1pdHRlckF1dGhUZXN0LnRlc3RfaW52YWxpZF9hdXRoX2pzb25fZmlsZSk6Cisg
ICAgICAgIChDb21taXR0ZXJBdXRoVGVzdC50ZXN0X2ludmFsaWRfY29tbWl0dGVyc19maWxlKToK
KyAgICAgICAgKENvbW1pdHRlckF1dGhUZXN0LnRlc3RfaW52YWxpZF90cmFjX2NyZWRlbnRpYWxz
X2ZpbGUpOgorICAgICAgICAoQ29tbWl0dGVyQXV0aFRlc3QudGVzdF9taXNzaW5nX2F1dGhfanNv
bl9rZXlzKToKKyAgICAgICAgVGVzdCB3aGF0IGhhcHBlbnMgd2hlbiB0aGUgdGhyZWUgZmlsZXMg
d2UgZGVwZW5kIHVwb24gYXJlIGludmFsaWQgaW4gc29tZSB3YXkuCisKKyAgICAgICAgKENvbW1p
dHRlckF1dGhUZXN0LnRlc3Rfb3Blbl9hdXRoX2pzb25fZmlsZSk6CisgICAgICAgIChDb21taXR0
ZXJBdXRoVGVzdC50ZXN0X29wZW5fdHJhY19jcmVkZW50aWFsc19maWxlKToKKyAgICAgICAgKENv
bW1pdHRlckF1dGhUZXN0LnRlc3Rfb3Blbl93ZWJraXRfY29tbWl0dGVyc19maWxlKToKKyAgICAg
ICAgVGVzdCB0aGF0IHdlIG9wZW4gdGhlIGV4cGVjdGVkIHBhdGhzLgorCisgICAgICAgIChDb21t
aXR0ZXJBdXRoVGVzdC50ZXN0X3RyYWNfY3JlZGVudGlhbHNfZmlsZW5hbWUpOgorICAgICAgICAo
Q29tbWl0dGVyQXV0aFRlc3QudGVzdF93ZWJraXRfY29tbWl0dGVyc19maWxlbmFtZSk6CisgICAg
ICAgIFRlc3QgdGhhdCB3ZSBleHRyYWN0IGZpbGVuYW1lcyBvdXQgb2YgYXV0aC5qc29uIGNvcnJl
Y3RseS4KKworICAgICAgICAoQ29tbWl0dGVyQXV0aFRlc3QudGVzdF9ub25fY29tbWl0dGVyX2Zh
aWxzKToKKyAgICAgICAgKENvbW1pdHRlckF1dGhUZXN0LnRlc3RfdW5rbm93bl91c2VyX2ZhaWxz
KToKKyAgICAgICAgKENvbW1pdHRlckF1dGhUZXN0LnRlc3RfdXNlcm5hbWVfaXNfcHJlZml4X29m
X3ZhbGlkX3VzZXIpOgorICAgICAgICAoQ29tbWl0dGVyQXV0aFRlc3QudGVzdF93cm9uZ19wYXNz
d29yZF9mYWlscyk6CisgICAgICAgIFRlc3QgdmFyaW91cyBmYWlsZWQgYXV0aGVudGljYXRpb24g
YXR0ZW1wdHMuCisKKyAgICAgICAgKENvbW1pdHRlckF1dGhUZXN0LnRlc3Rfd2Via2l0X2NvbW1p
dHRlcnMpOiBUZXN0IHRoYXQgd2UgY2FuIHBhcnNlIHRoZSBsaXN0IG9mIFdlYktpdAorICAgICAg
ICBjb21taXR0ZXJzIG91dCBvZiB0aGUgY29tbWl0dGVycyBmaWxlIGNvcnJlY3RseS4KKworICAg
ICAgICAoQ29tbWl0dGVyQXV0aFRlc3QuZmFrZV9hdXRoX2pzb25fZmlsZSk6CisgICAgICAgIChD
b21taXR0ZXJBdXRoVGVzdC5pbnZhbGlkX2F1dGhfanNvbl9maWxlKToKKyAgICAgICAgKENvbW1p
dHRlckF1dGhUZXN0LmZha2VfY29tbWl0dGVyc19maWxlKToKKyAgICAgICAgKENvbW1pdHRlckF1
dGhUZXN0LmludmFsaWRfY29tbWl0dGVyc19maWxlKToKKyAgICAgICAgKENvbW1pdHRlckF1dGhU
ZXN0LmZha2VfaHRkaWdlc3RfZmlsZSk6CisgICAgICAgIChDb21taXR0ZXJBdXRoVGVzdC5pbnZh
bGlkX2h0ZGlnZXN0X2ZpbGUpOgorICAgICAgICBSZXR1cm4gdmFyaW91cyBmYWtlIGZpbGVzIGZv
ciB0ZXN0aW5nLgorCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9y
Zy1jb25maWcvbWFzdGVyLmNmZzogU3BlY2lmeSBhbiBpbnN0YW5jZSBvZiBDb21taXR0ZXJBdXRo
CisgICAgICAgIHRvIGJlIHVzZWQgZm9yIGF1dGhlbnRpY2F0aW9uIGluIHRoZSB3ZWIgaW50ZXJm
YWNlLCBhbmQgc3BlY2lmeSB0aGF0IG9ubHkgYXV0aGVudGljYXRlZAorICAgICAgICB1c2VycyBt
YXkgZm9yY2UgYnVpbGRzLgorCisyMDExLTEyLTAxICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxl
LmNvbT4KKwogICAgICAgICBBZGQgYW4gSFREaWdlc3RQYXJzZXIgY2xhc3MgdG8gd2Via2l0cHkK
IAogICAgICAgICBGaXhlcyA8aHR0cDovL3dlYmtpdC5vcmcvYi83MzU3NT4gd2Via2l0cHkgZG9l
c24ndCBwcm92aWRlIGEgd2F5IHRvIHBhcnNlIGh0ZGlnZXN0IGZpbGVzCmRpZmYgLS1naXQgYS9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9jb21taXR0ZXJf
YXV0aC5weSBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmln
L2NvbW1pdHRlcl9hdXRoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmNGQzNjAwZDcyOTNhNjUwNTkxYTUwNzdh
MTg1OTdhZWEzNWY1NDQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9y
dC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9jb21taXR0ZXJfYXV0aC5weQpAQCAtMCwwICsxLDEx
NSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
IyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisj
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisiIiJBbiBpbXBs
ZW1lbnRhdGlvbiBvZiBidWlsZGJvdC5zdGF0dXMud2ViLmF1dGguSUF1dGggZm9yIGF1dGhlbnRp
Y2F0aW5nIFdlYktpdCBjb21taXR0ZXJzIiIiCisKK2ltcG9ydCBDb25maWdQYXJzZXIKK2ltcG9y
dCBidWlsZGJvdC5zdGF0dXMud2ViLmF1dGgKK2ltcG9ydCBqc29uCitpbXBvcnQgem9wZS5pbnRl
cmZhY2UKKworZnJvbSB3ZWJraXRweS5jb21tb24ubmV0Lmh0ZGlnZXN0cGFyc2VyIGltcG9ydCBI
VERpZ2VzdFBhcnNlcgorCisKK2NsYXNzIEVycm9yKEV4Y2VwdGlvbik6CisgICAgcGFzcworCisK
K2NsYXNzIENvbW1pdHRlckF1dGgoYnVpbGRib3Quc3RhdHVzLndlYi5hdXRoLkF1dGhCYXNlKToK
KyAgICB6b3BlLmludGVyZmFjZS5pbXBsZW1lbnRzKGJ1aWxkYm90LnN0YXR1cy53ZWIuYXV0aC5J
QXV0aCkKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhdXRoX2pzb25fZmlsZW5hbWUpOgorICAg
ICAgICBzZWxmLl9hdXRoX2pzb25fZmlsZW5hbWUgPSBhdXRoX2pzb25fZmlsZW5hbWUKKworICAg
IGRlZiBhdXRoX2pzb24oc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdpdGggc2Vs
Zi5vcGVuX2F1dGhfanNvbl9maWxlKCkgYXMgZjoKKyAgICAgICAgICAgICAgICByZXR1cm4ganNv
bi5sb2FkKGYpCisgICAgICAgIGV4Y2VwdCBJT0Vycm9yLCBlOgorICAgICAgICAgICAgcmFpc2Ug
RXJyb3IoJ0Vycm9yIG9wZW5pbmcgYXV0aC5qc29uIGZpbGU6IHswfScuZm9ybWF0KGUuc3RyZXJy
b3IpKQorICAgICAgICBleGNlcHQgVmFsdWVFcnJvciwgZToKKyAgICAgICAgICAgIHJhaXNlIEVy
cm9yKCdFcnJvciBwYXJzaW5nIGF1dGguanNvbiBmaWxlOiB7MH0nLmZvcm1hdChlLm1lc3NhZ2Up
KQorCisgICAgZGVmIGF1dGhfanNvbl9maWxlbmFtZShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNl
bGYuX2F1dGhfanNvbl9maWxlbmFtZQorCisgICAgZGVmIGF1dGhlbnRpY2F0ZShzZWxmLCB1c2Vy
bmFtZSwgcGFzc3dvcmQpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5p
c193ZWJraXRfY29tbWl0dGVyKHVzZXJuYW1lKSBhbmQgc2VsZi5pc193ZWJraXRfdHJhY191c2Vy
KHVzZXJuYW1lLCBwYXNzd29yZCkKKyAgICAgICAgZXhjZXB0IEVycm9yLCBlOgorICAgICAgICAg
ICAgc2VsZi5lcnIgPSBlLm1lc3NhZ2UKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorCisgICAg
ZGVmIGlzX3dlYmtpdF9jb21taXR0ZXIoc2VsZiwgdXNlcm5hbWUpOgorICAgICAgICB0cnk6Cisg
ICAgICAgICAgICBpZiB1c2VybmFtZSBub3QgaW4gc2VsZi53ZWJraXRfY29tbWl0dGVycygpOgor
ICAgICAgICAgICAgICAgIHNlbGYuZXJyID0gJ0ludmFsaWQgdXNlcm5hbWUvcGFzc3dvcmQnCisg
ICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAg
ICAgICBleGNlcHQgQ29uZmlnUGFyc2VyLkVycm9yOgorICAgICAgICAgICAgcmFpc2UgRXJyb3Io
J0Vycm9yIHBhcnNpbmcgV2ViS2l0IGNvbW1pdHRlcnMgZmlsZScpCisgICAgICAgIGV4Y2VwdCBJ
T0Vycm9yLCBlOgorICAgICAgICAgICAgcmFpc2UgRXJyb3IoJ0Vycm9yIG9wZW5pbmcgV2ViS2l0
IGNvbW1pdHRlcnMgZmlsZTogezB9Jy5mb3JtYXQoZS5zdHJlcnJvcikpCisKKyAgICBkZWYgaXNf
d2Via2l0X3RyYWNfdXNlcihzZWxmLCB1c2VybmFtZSwgcGFzc3dvcmQpOgorICAgICAgICB0cnk6
CisgICAgICAgICAgICB3aXRoIHNlbGYub3Blbl90cmFjX2NyZWRlbnRpYWxzX2ZpbGUoKSBhcyBm
OgorICAgICAgICAgICAgICAgIGh0ZGlnZXN0ID0gSFREaWdlc3RQYXJzZXIoZikKKyAgICAgICAg
ZXhjZXB0IElPRXJyb3IsIGU6CisgICAgICAgICAgICByYWlzZSBFcnJvcignRXJyb3Igb3Blbmlu
ZyBUcmFjIGNyZWRlbnRpYWxzIGZpbGU6IHswfScuZm9ybWF0KGUuc3RyZXJyb3IpKQorCisgICAg
ICAgIGlmIG5vdCBodGRpZ2VzdC5lbnRyaWVzKCk6CisgICAgICAgICAgICByYWlzZSBFcnJvcign
RXJyb3IgcGFyc2luZyBUcmFjIGNyZWRlbnRpYWxzIGZpbGUnKQorCisgICAgICAgIGlmIG5vdCBo
dGRpZ2VzdC5hdXRoZW50aWNhdGUodXNlcm5hbWUsICdNYWMgT1MgRm9yZ2UnLCBwYXNzd29yZCk6
CisgICAgICAgICAgICBzZWxmLmVyciA9ICdJbnZhbGlkIHVzZXJuYW1lL3Bhc3N3b3JkJworICAg
ICAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAgICAgcmV0dXJuIFRydWUKKworICAgICMgVGhl
c2UgdGhyZWUgbWV0aG9kcyBleGlzdCBmb3IgZWFzZSBvZiB0ZXN0aW5nLgorICAgIGRlZiBvcGVu
X2F1dGhfanNvbl9maWxlKHNlbGYpOgorICAgICAgICByZXR1cm4gb3BlbihzZWxmLmF1dGhfanNv
bl9maWxlbmFtZSgpKQorCisgICAgZGVmIG9wZW5fdHJhY19jcmVkZW50aWFsc19maWxlKHNlbGYp
OgorICAgICAgICByZXR1cm4gb3BlbihzZWxmLnRyYWNfY3JlZGVudGlhbHNfZmlsZW5hbWUoKSkK
KworICAgIGRlZiBvcGVuX3dlYmtpdF9jb21taXR0ZXJzX2ZpbGUoc2VsZik6CisgICAgICAgIHJl
dHVybiBvcGVuKHNlbGYud2Via2l0X2NvbW1pdHRlcnNfZmlsZW5hbWUoKSkKKworICAgIGRlZiB0
cmFjX2NyZWRlbnRpYWxzX2ZpbGVuYW1lKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAg
ICByZXR1cm4gc2VsZi5hdXRoX2pzb24oKVsndHJhY19jcmVkZW50aWFscyddCisgICAgICAgIGV4
Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgIHJhaXNlIEVycm9yKCdhdXRoLmpzb24gZmlsZSBp
cyBtaXNzaW5nICJ0cmFjX2NyZWRlbnRpYWxzIiBrZXknKQorCisgICAgZGVmIHdlYmtpdF9jb21t
aXR0ZXJzKHNlbGYpOgorICAgICAgICBjb25maWcgPSBDb25maWdQYXJzZXIuUmF3Q29uZmlnUGFy
c2VyKCkKKyAgICAgICAgd2l0aCBzZWxmLm9wZW5fd2Via2l0X2NvbW1pdHRlcnNfZmlsZSgpIGFz
IGY6CisgICAgICAgICAgICBjb25maWcucmVhZGZwKGYpCisgICAgICAgIHJldHVybiBjb25maWcu
Z2V0KCdncm91cHMnLCAnd2Via2l0Jykuc3BsaXQoJywnKQorCisgICAgZGVmIHdlYmtpdF9jb21t
aXR0ZXJzX2ZpbGVuYW1lKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4g
c2VsZi5hdXRoX2pzb24oKVsnd2Via2l0X2NvbW1pdHRlcnMnXQorICAgICAgICBleGNlcHQgS2V5
RXJyb3I6CisgICAgICAgICAgICByYWlzZSBFcnJvcignYXV0aC5qc29uIGZpbGUgaXMgbWlzc2lu
ZyAid2Via2l0X2NvbW1pdHRlcnMiIGtleScpCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9jb21taXR0ZXJfYXV0aF91bml0dGVzdC5w
eSBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL2NvbW1p
dHRlcl9hdXRoX3VuaXR0ZXN0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5ZTE2OWE0YTdhM2MzNjNkN2YyMzQz
YjZkZDNjNTIzZGRlYzZhYzMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9CdWlsZFNsYXZlU3Vw
cG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9jb21taXR0ZXJfYXV0aF91bml0dGVzdC5weQpA
QCAtMCwwICsxLDIyMCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjCisjIENvcHlyaWdodCAo
QykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
IyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisj
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCBTdHJpbmdJTworaW1wb3J0IF9fYnVp
bHRpbl9fCitpbXBvcnQgYnVpbGRib3Quc3RhdHVzLndlYi5hdXRoCitpbXBvcnQgY29udGV4dGxp
YgoraW1wb3J0IG9zCitpbXBvcnQgdW5pdHRlc3QKKworZnJvbSBjb21taXR0ZXJfYXV0aCBpbXBv
cnQgQ29tbWl0dGVyQXV0aAorCisKKyMgVGhpcyBzdWJjbGFzcyBvZiBTdHJpbmdJTyBzdXBwb3J0
cyB0aGUgY29udGV4dCBtYW5hZ2VyIHByb3RvY29sIHNvIGl0IHdvcmtzCisjIHdpdGggIndpdGgi
IHN0YXRlbWVudHMsIGp1c3QgbGlrZSByZWFsIGZpbGVzLgorY2xhc3MgQ01TdHJpbmdJTyhTdHJp
bmdJTy5TdHJpbmdJTyk6CisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJu
IHNlbGYKKworICAgIGRlZiBfX2V4aXRfXyhzZWxmLCBleGNlcHRpb24sIHZhbHVlLCB0cmFjZWJh
Y2spOgorICAgICAgICBzZWxmLmNsb3NlKCkKKworCitAY29udGV4dGxpYi5jb250ZXh0bWFuYWdl
cgorZGVmIG9wZW5fb3ZlcnJpZGUoZnVuYyk6CisgICAgb3JpZ2luYWxfb3BlbiA9IF9fYnVpbHRp
bl9fLm9wZW4KKyAgICBfX2J1aWx0aW5fXy5vcGVuID0gZnVuYworICAgIHlpZWxkCisgICAgX19i
dWlsdGluX18ub3BlbiA9IG9yaWdpbmFsX29wZW4KKworCitjbGFzcyBDb21taXR0ZXJBdXRoVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxm
LmF1dGggPSBDb21taXR0ZXJBdXRoKCdwYXRoL3RvL2F1dGguanNvbicpCisgICAgICAgIHNlbGYu
YXV0aC5vcGVuX2F1dGhfanNvbl9maWxlID0gc2VsZi5mYWtlX2F1dGhfanNvbl9maWxlCisgICAg
ICAgIHNlbGYuYXV0aC5vcGVuX3dlYmtpdF9jb21taXR0ZXJzX2ZpbGUgPSBzZWxmLmZha2VfY29t
bWl0dGVyc19maWxlCisgICAgICAgIHNlbGYuYXV0aC5vcGVuX3RyYWNfY3JlZGVudGlhbHNfZmls
ZSA9IHNlbGYuZmFrZV9odGRpZ2VzdF9maWxlCisKKyAgICBkZWYgZmFrZV9vcGVuX2Z1bmN0aW9u
KHNlbGYsIGV4cGVjdGVkX2ZpbGVuYW1lKToKKyAgICAgICAgZGVmIGZha2Vfb3BlbihuYW1lLCBt
b2RlPSdyJyk6CisgICAgICAgICAgICBzZWxmLmZha2Vfb3Blbl93YXNfY2FsbGVkID0gVHJ1ZQor
ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF9maWxlbmFtZSwgbmFtZSkKKyAg
ICAgICAgcmV0dXJuIGZha2Vfb3BlbgorCisgICAgZGVmIHRlc3RfYXV0aGVudGljYXRpb25fc3Vj
Y2VzcyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuYXV0aC5hdXRoZW50aWNh
dGUoJ2NvbW1pdHRlckB3ZWJraXQub3JnJywgJ2NvbW1pdHRlcnBhc3N3b3JkJykpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoJycsIHNlbGYuYXV0aC5lcnJtc2coKSkKKyAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKHNlbGYuYXV0aC5hdXRoZW50aWNhdGUoJ2NvbW1pdHRlcjJAZXhhbXBsZS5jb20n
LCAnY29tbWl0dGVyMnBhc3N3b3JkJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycsIHNl
bGYuYXV0aC5lcnJtc2coKSkKKworICAgIGRlZiB0ZXN0X2NvbW1pdHRlcl93aXRob3V0X3RyYWNf
Y3JlZGVudGlhbHNfZmFpbHMoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5h
dXRoLmF1dGhlbnRpY2F0ZSgnY29tbWl0dGVyM0B3ZWJraXQub3JnJywgJ2NvbW1pdHRlcjNwYXNz
d29yZCcpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdJbnZhbGlkIHVzZXJuYW1lL3Bhc3N3
b3JkJywgc2VsZi5hdXRoLmVycm1zZygpKQorCisgICAgZGVmIHRlc3RfZmFpbF90b19vcGVuX2F1
dGhfanNvbl9maWxlKHNlbGYpOgorICAgICAgICBkZWYgcmFpc2VfSU9FcnJvcigpOgorICAgICAg
ICAgICAgcmFpc2UgSU9FcnJvcigyLCAnTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeScsICdwYXRo
L3RvL2F1dGguanNvbicpCisgICAgICAgIGF1dGggPSBDb21taXR0ZXJBdXRoKCdwYXRoL3RvL2F1
dGguanNvbicpCisgICAgICAgIGF1dGgub3Blbl9hdXRoX2pzb25fZmlsZSA9IHJhaXNlX0lPRXJy
b3IKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShhdXRoLmF1dGhlbnRpY2F0ZSgnY29tbWl0dGVy
QHdlYmtpdC5vcmcnLCAnY29tbWl0dGVycGFzc3dvcmQnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbCgnRXJyb3Igb3BlbmluZyBhdXRoLmpzb24gZmlsZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeScsIGF1dGguZXJybXNnKCkpCisKKyAgICBkZWYgdGVzdF9mYWlsX3RvX29wZW5fdHJhY19j
cmVkZW50aWFsc19maWxlKHNlbGYpOgorICAgICAgICBkZWYgcmFpc2VfSU9FcnJvcigpOgorICAg
ICAgICAgICAgcmFpc2UgSU9FcnJvcigyLCAnTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeScsICdw
YXRoL3RvL3RyYWMvY3JlZGVudGlhbHMnKQorICAgICAgICBzZWxmLmF1dGgub3Blbl90cmFjX2Ny
ZWRlbnRpYWxzX2ZpbGUgPSByYWlzZV9JT0Vycm9yCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uo
c2VsZi5hdXRoLmF1dGhlbnRpY2F0ZSgnY29tbWl0dGVyQHdlYmtpdC5vcmcnLCAnY29tbWl0dGVy
cGFzc3dvcmQnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnRXJyb3Igb3BlbmluZyBUcmFj
IGNyZWRlbnRpYWxzIGZpbGU6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnknLCBzZWxmLmF1dGgu
ZXJybXNnKCkpCisKKyAgICBkZWYgdGVzdF9mYWlsX3RvX29wZW5fd2Via2l0X2NvbW1pdHRlcnNf
ZmlsZShzZWxmKToKKyAgICAgICAgZGVmIHJhaXNlX0lPRXJyb3IoKToKKyAgICAgICAgICAgIHJh
aXNlIElPRXJyb3IoMiwgJ05vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnknLCAncGF0aC90by93ZWJr
aXQvY29tbWl0dGVycycpCisgICAgICAgIHNlbGYuYXV0aC5vcGVuX3dlYmtpdF9jb21taXR0ZXJz
X2ZpbGUgPSByYWlzZV9JT0Vycm9yCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5hdXRo
LmF1dGhlbnRpY2F0ZSgnY29tbWl0dGVyQHdlYmtpdC5vcmcnLCAnY29tbWl0dGVycGFzc3dvcmQn
KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnRXJyb3Igb3BlbmluZyBXZWJLaXQgY29tbWl0
dGVycyBmaWxlOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Jywgc2VsZi5hdXRoLmVycm1zZygp
KQorCisgICAgZGVmIHRlc3RfaW1wbGVtZW50c19JQXV0aChzZWxmKToKKyAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKGJ1aWxkYm90LnN0YXR1cy53ZWIuYXV0aC5JQXV0aC5pbXBsZW1lbnRlZEJ5KENv
bW1pdHRlckF1dGgpKQorCisgICAgZGVmIHRlc3RfaW52YWxpZF9hdXRoX2pzb25fZmlsZShzZWxm
KToKKyAgICAgICAgYXV0aCA9IENvbW1pdHRlckF1dGgoJ3BhdGgvdG8vYXV0aC5qc29uJykKKyAg
ICAgICAgYXV0aC5vcGVuX2F1dGhfanNvbl9maWxlID0gc2VsZi5pbnZhbGlkX2F1dGhfanNvbl9m
aWxlCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYXV0aC5hdXRoZW50aWNhdGUoJ2NvbW1pdHRl
ckB3ZWJraXQub3JnJywgJ2NvbW1pdHRlcnBhc3N3b3JkJykpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoJ0Vycm9yIHBhcnNpbmcgYXV0aC5qc29uIGZpbGU6IE5vIEpTT04gb2JqZWN0IGNvdWxk
IGJlIGRlY29kZWQnLCBhdXRoLmVycm1zZygpKQorCisgICAgZGVmIHRlc3RfaW52YWxpZF9jb21t
aXR0ZXJzX2ZpbGUoc2VsZik6CisgICAgICAgIHNlbGYuYXV0aC5vcGVuX3dlYmtpdF9jb21taXR0
ZXJzX2ZpbGUgPSBzZWxmLmludmFsaWRfY29tbWl0dGVyc19maWxlCisgICAgICAgIHNlbGYuYXNz
ZXJ0RmFsc2Uoc2VsZi5hdXRoLmF1dGhlbnRpY2F0ZSgnY29tbWl0dGVyQHdlYmtpdC5vcmcnLCAn
Y29tbWl0dGVycGFzc3dvcmQnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnRXJyb3IgcGFy
c2luZyBXZWJLaXQgY29tbWl0dGVycyBmaWxlJywgc2VsZi5hdXRoLmVycm1zZygpKQorCisgICAg
ZGVmIHRlc3RfaW52YWxpZF90cmFjX2NyZWRlbnRpYWxzX2ZpbGUoc2VsZik6CisgICAgICAgIHNl
bGYuYXV0aC5vcGVuX3RyYWNfY3JlZGVudGlhbHNfZmlsZSA9IHNlbGYuaW52YWxpZF9odGRpZ2Vz
dF9maWxlCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5hdXRoLmF1dGhlbnRpY2F0ZSgn
Y29tbWl0dGVyQHdlYmtpdC5vcmcnLCAnY29tbWl0dGVycGFzc3dvcmQnKSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCgnRXJyb3IgcGFyc2luZyBUcmFjIGNyZWRlbnRpYWxzIGZpbGUnLCBzZWxm
LmF1dGguZXJybXNnKCkpCisKKyAgICBkZWYgdGVzdF9taXNzaW5nX2F1dGhfanNvbl9rZXlzKHNl
bGYpOgorICAgICAgICBhdXRoID0gQ29tbWl0dGVyQXV0aCgncGF0aC90by9hdXRoLmpzb24nKQor
ICAgICAgICBhdXRoLm9wZW5fYXV0aF9qc29uX2ZpbGUgPSBsYW1iZGE6IENNU3RyaW5nSU8oJ3sg
InRyYWNfY3JlZGVudGlhbHMiOiAicGF0aC90by90cmFjL2NyZWRlbnRpYWxzIiB9JykKKyAgICAg
ICAgc2VsZi5hc3NlcnRGYWxzZShhdXRoLmF1dGhlbnRpY2F0ZSgnY29tbWl0dGVyQHdlYmtpdC5v
cmcnLCAnY29tbWl0dGVycGFzc3dvcmQnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnYXV0
aC5qc29uIGZpbGUgaXMgbWlzc2luZyAid2Via2l0X2NvbW1pdHRlcnMiIGtleScsIGF1dGguZXJy
bXNnKCkpCisKKyAgICAgICAgYXV0aC5vcGVuX2F1dGhfanNvbl9maWxlID0gbGFtYmRhOiBDTVN0
cmluZ0lPKCd7ICJ3ZWJraXRfY29tbWl0dGVycyI6ICJwYXRoL3RvL3dlYmtpdC9jb21taXR0ZXJz
IiB9JykKKyAgICAgICAgYXV0aC5vcGVuX3dlYmtpdF9jb21taXR0ZXJzX2ZpbGUgPSBzZWxmLmZh
a2VfY29tbWl0dGVyc19maWxlCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYXV0aC5hdXRoZW50
aWNhdGUoJ2NvbW1pdHRlckB3ZWJraXQub3JnJywgJ2NvbW1pdHRlcnBhc3N3b3JkJykpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2F1dGguanNvbiBmaWxlIGlzIG1pc3NpbmcgInRyYWNfY3Jl
ZGVudGlhbHMiIGtleScsIGF1dGguZXJybXNnKCkpCisKKyAgICBkZWYgdGVzdF9vcGVuX2F1dGhf
anNvbl9maWxlKHNlbGYpOgorICAgICAgICBhdXRoID0gQ29tbWl0dGVyQXV0aCgncGF0aC90by9h
dXRoLmpzb24nKQorICAgICAgICBzZWxmLmZha2Vfb3Blbl93YXNfY2FsbGVkID0gRmFsc2UKKyAg
ICAgICAgd2l0aCBvcGVuX292ZXJyaWRlKHNlbGYuZmFrZV9vcGVuX2Z1bmN0aW9uKGF1dGguYXV0
aF9qc29uX2ZpbGVuYW1lKCkpKToKKyAgICAgICAgICAgIGF1dGgub3Blbl9hdXRoX2pzb25fZmls
ZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLmZha2Vfb3Blbl93YXNfY2FsbGVkKQor
CisgICAgZGVmIHRlc3Rfb3Blbl90cmFjX2NyZWRlbnRpYWxzX2ZpbGUoc2VsZik6CisgICAgICAg
IGF1dGggPSBDb21taXR0ZXJBdXRoKCdwYXRoL3RvL2F1dGguanNvbicpCisgICAgICAgIGF1dGgu
dHJhY19jcmVkZW50aWFsc19maWxlbmFtZSA9IGxhbWJkYTogJ3RyYWMgY3JlZGVudGlhbHMgZmls
ZW5hbWUnCisgICAgICAgIHNlbGYuZmFrZV9vcGVuX3dhc19jYWxsZWQgPSBGYWxzZQorICAgICAg
ICB3aXRoIG9wZW5fb3ZlcnJpZGUoc2VsZi5mYWtlX29wZW5fZnVuY3Rpb24oYXV0aC50cmFjX2Ny
ZWRlbnRpYWxzX2ZpbGVuYW1lKCkpKToKKyAgICAgICAgICAgIGF1dGgub3Blbl90cmFjX2NyZWRl
bnRpYWxzX2ZpbGUoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5mYWtlX29wZW5fd2Fz
X2NhbGxlZCkKKworICAgIGRlZiB0ZXN0X29wZW5fd2Via2l0X2NvbW1pdHRlcnNfZmlsZShzZWxm
KToKKyAgICAgICAgYXV0aCA9IENvbW1pdHRlckF1dGgoJ3BhdGgvdG8vYXV0aC5qc29uJykKKyAg
ICAgICAgYXV0aC53ZWJraXRfY29tbWl0dGVyc19maWxlbmFtZSA9IGxhbWJkYTogJ3dlYmtpdCBj
b21taXR0ZXJzIGZpbGVuYW1lJworICAgICAgICBzZWxmLmZha2Vfb3Blbl93YXNfY2FsbGVkID0g
RmFsc2UKKyAgICAgICAgd2l0aCBvcGVuX292ZXJyaWRlKHNlbGYuZmFrZV9vcGVuX2Z1bmN0aW9u
KGF1dGgud2Via2l0X2NvbW1pdHRlcnNfZmlsZW5hbWUoKSkpOgorICAgICAgICAgICAgYXV0aC5v
cGVuX3dlYmtpdF9jb21taXR0ZXJzX2ZpbGUoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2Vs
Zi5mYWtlX29wZW5fd2FzX2NhbGxlZCkKKworICAgIGRlZiB0ZXN0X25vbl9jb21taXR0ZXJfZmFp
bHMoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5hdXRoLmF1dGhlbnRpY2F0
ZSgnbm9uY29tbWl0dGVyQGV4YW1wbGUuY29tJywgJ25vbmNvbW1pdHRlcnBhc3N3b3JkJykpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0ludmFsaWQgdXNlcm5hbWUvcGFzc3dvcmQnLCBzZWxm
LmF1dGguZXJybXNnKCkpCisKKyAgICBkZWYgdGVzdF90cmFjX2NyZWRlbnRpYWxzX2ZpbGVuYW1l
KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdwYXRoL3RvL3RyYWMvY3JlZGVudGlh
bHMnLCBzZWxmLmF1dGgudHJhY19jcmVkZW50aWFsc19maWxlbmFtZSgpKQorCisgICAgZGVmIHRl
c3RfdW5rbm93bl91c2VyX2ZhaWxzKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNl
bGYuYXV0aC5hdXRoZW50aWNhdGUoJ25vYm9keUBleGFtcGxlLmNvbScsICdub2JvZHlwYXNzd29y
ZCcpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdJbnZhbGlkIHVzZXJuYW1lL3Bhc3N3b3Jk
Jywgc2VsZi5hdXRoLmVycm1zZygpKQorCisgICAgZGVmIHRlc3RfdXNlcm5hbWVfaXNfcHJlZml4
X29mX3ZhbGlkX3VzZXIoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5hdXRo
LmF1dGhlbnRpY2F0ZSgnY29tbWl0dGVyQHdlYmtpdC5vcmdnJywgJ2NvbW1pdHRlcnBhc3N3b3Jk
JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0ludmFsaWQgdXNlcm5hbWUvcGFzc3dvcmQn
LCBzZWxmLmF1dGguZXJybXNnKCkpCisKKyAgICBkZWYgdGVzdF93ZWJraXRfY29tbWl0dGVycyhz
ZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ2NvbW1pdHRlckB3ZWJraXQub3JnJywg
J2NvbW1pdHRlcjJAZXhhbXBsZS5jb20nLCAnY29tbWl0dGVyM0B3ZWJraXQub3JnJ10sIHNlbGYu
YXV0aC53ZWJraXRfY29tbWl0dGVycygpKQorCisgICAgZGVmIHRlc3Rfd2Via2l0X2NvbW1pdHRl
cnNfZmlsZW5hbWUoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3BhdGgvdG8vd2Vi
a2l0L2NvbW1pdHRlcnMnLCBzZWxmLmF1dGgud2Via2l0X2NvbW1pdHRlcnNfZmlsZW5hbWUoKSkK
KworICAgIGRlZiB0ZXN0X3dyb25nX3Bhc3N3b3JkX2ZhaWxzKHNlbGYpOgorICAgICAgICBzZWxm
LmFzc2VydEZhbHNlKHNlbGYuYXV0aC5hdXRoZW50aWNhdGUoJ2NvbW1pdHRlckB3ZWJraXQub3Jn
JywgJ3dyb25ncGFzc3dvcmQnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnSW52YWxpZCB1
c2VybmFtZS9wYXNzd29yZCcsIHNlbGYuYXV0aC5lcnJtc2coKSkKKworICAgIGRlZiBmYWtlX2F1
dGhfanNvbl9maWxlKHNlbGYpOgorICAgICAgICByZXR1cm4gQ01TdHJpbmdJTygiIiJ7CisgICAg
InRyYWNfY3JlZGVudGlhbHMiOiAicGF0aC90by90cmFjL2NyZWRlbnRpYWxzIiwKKyAgICAid2Vi
a2l0X2NvbW1pdHRlcnMiOiAicGF0aC90by93ZWJraXQvY29tbWl0dGVycyIKK30iIiIpCisKKyAg
ICBkZWYgaW52YWxpZF9hdXRoX2pzb25fZmlsZShzZWxmKToKKyAgICAgICAgcmV0dXJuIENNU3Ry
aW5nSU8oJ34hQCMkJV4mKigpXysnKQorCisgICAgZGVmIGZha2VfY29tbWl0dGVyc19maWxlKHNl
bGYpOgorICAgICAgICByZXR1cm4gQ01TdHJpbmdJTygiIiJbZ3JvdXBzXQorZ3JvdXAxID0gdXNl
ckBleGFtcGxlLmNvbSx1c2VyMkBleGFtcGxlLmNvbQorZ3JvdXAyID0gdXNlcjNAZXhhbXBsZS5j
b20KKworZ3JvdXAzID0KK2dyb3VwNCA9CisKK3dlYmtpdCA9IGNvbW1pdHRlckB3ZWJraXQub3Jn
LGNvbW1pdHRlcjJAZXhhbXBsZS5jb20sY29tbWl0dGVyM0B3ZWJraXQub3JnCisKK1tzZXJ2aWNl
Oi9dCisqICAgID0gcgorIiIiKQorCisgICAgZGVmIGludmFsaWRfY29tbWl0dGVyc19maWxlKHNl
bGYpOgorICAgICAgICByZXR1cm4gQ01TdHJpbmdJTygiIiJbZ3JvdXBzXQorCitbW2dyb3VwczJd
CisiIiIpCisKKyAgICBkZWYgZmFrZV9odGRpZ2VzdF9maWxlKHNlbGYpOgorICAgICAgICByZXR1
cm4gQ01TdHJpbmdJTygiIiJjb21taXR0ZXJAd2Via2l0Lm9yZzpNYWMgT1MgRm9yZ2U6NzYxYzhk
Y2I3ZDliNTkwODAwN2VkMTQyZjYyZmU3M2EKK2NvbW1pdHRlcjJAZXhhbXBsZS5jb206TWFjIE9T
IEZvcmdlOmZhZWVlNjlhY2MyZTQ5YWYzYTBkYmIxNWJkNTkzZWY0Citub25jb21taXR0ZXJAZXhh
bXBsZS5jb206TWFjIE9TIEZvcmdlOmI5OWFhN2FkMzIzMDZhNjU0Y2E0ZDU3ODM5ZmRlOWMxCisi
IiIpCisKKyAgICBkZWYgaW52YWxpZF9odGRpZ2VzdF9maWxlKHNlbGYpOgorICAgICAgICByZXR1
cm4gQ01TdHJpbmdJTygiIiJjb21taXR0ZXJAd2Via2l0Lm9yZzpNYWMgT1MgRm9yZ2U6NzYxYzhk
Y2I3ZDliNTkwODAwN2VkMTQyZjYyZmU3M2EKK2NvbW1pdHRlcjJAZXhhbXBsZS5jb206TWFjIE9T
IEZvcmdlOmZhZWVlNjlhY2MyZTQ5YWYzYTBkYmIxNWJkNTkzZWY0Citub25jb21taXR0ZXJAZXhh
bXBsZS5jb206TWFjIE9TIEZvcmdlOmI5OWFhN2FkMzIzMDZhNjU0Y2E0ZDU3ODM5ZmRlOWMxCitj
b21taXR0ZXI0QGV4YW1wbGUuY29tOk1hYyBPUyBGb3JnZTo6OgorIiIiKQorCisKK2lmIF9fbmFt
ZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9Ub29s
cy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXIuY2ZnIGIv
VG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyLmNm
ZwppbmRleCA5NmU0NzFiMDdmZTA2MGY3ZGJkMzhmOTFmZGJkMTFmZDM3NDY4NGNiLi43MDk2YWZk
YjIwNGM2NmFkMDhkNTkyMWQzZDRmN2QzZmVjODQ3NGE4IDEwMDY0NAotLS0gYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXIuY2ZnCisrKyBiL1Rv
b2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL21hc3Rlci5jZmcK
QEAgLTE4LDYgKzE4LDcgQEAgaW1wb3J0IHJlCiBpbXBvcnQgc2ltcGxlanNvbgogaW1wb3J0IHVy
bGxpYgogCitmcm9tIGNvbW1pdHRlcl9hdXRoIGltcG9ydCBDb21taXR0ZXJBdXRoCiBmcm9tIHdl
YmtpdHB5LmNvbW1vbi5jb25maWcgaW1wb3J0IGJ1aWxkIGFzIHdrYnVpbGQKIGZyb20gd2Via2l0
cHkuY29tbW9uLm5ldC5idWlsZGJvdCBpbXBvcnQgQnVpbGRCb3QgYXMgd2tidWlsZGJvdAogCkBA
IC0yOCw4ICsyOSw5IEBAIGNbJ2NoYW5nZV9zb3VyY2UnXSA9IFBCQ2hhbmdlU291cmNlKCkKIAog
IyBwZXJtaXNzaW9ucyBmb3IgV2ViU3RhdHVzCiBhdXRoeiA9IEF1dGh6KAotICAgIGZvcmNlQnVp
bGQ9RmFsc2UsCi0gICAgZm9yY2VBbGxCdWlsZHM9RmFsc2UsCisgICAgYXV0aD1Db21taXR0ZXJB
dXRoKCdhdXRoLmpzb24nKSwKKyAgICBmb3JjZUJ1aWxkPSdhdXRoJywKKyAgICBmb3JjZUFsbEJ1
aWxkcz0nYXV0aCcsCiAgICAgcGluZ0J1aWxkZXI9VHJ1ZSwKICAgICBncmFjZWZ1bFNodXRkb3du
PUZhbHNlLAogICAgIHN0b3BCdWlsZD1UcnVlLAo=
</data>
<flag name="review"
          id="116872"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>