<?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>31903</bug_id>
          
          <creation_ts>2009-11-25 23:31:53 -0800</creation_ts>
          <short_desc>[bzt] Unit test upload commands</short_desc>
          <delta_ts>2009-11-27 00:02:14 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>166660</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-25 23:31:53 -0800</bug_when>
    <thetext>My quest to unit test every command begins.  Let&apos;s start with the upload commands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166663</commentid>
    <comment_count>1</comment_count>
      <attachid>43899</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-25 23:34:30 -0800</bug_when>
    <thetext>Created attachment 43899
upload unittests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166760</commentid>
    <comment_count>2</comment_count>
      <attachid>43899</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-26 10:56:57 -0800</bug_when>
    <thetext>Comment on attachment 43899
upload unittests

The fixme is &quot;wrong&quot;.  See the commends in BugzillaTool as to why .scm() is a function.

Otherwise looks OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166762</commentid>
    <comment_count>3</comment_count>
      <attachid>43899</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-26 11:19:46 -0800</bug_when>
    <thetext>Comment on attachment 43899
upload unittests

I understand the problem you&apos;re solving by making scm a function.  We should either make everything a function or find another way to solve that problem.  In any case, a very low priority issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166764</commentid>
    <comment_count>4</comment_count>
      <attachid>43899</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-26 11:25:40 -0800</bug_when>
    <thetext>Comment on attachment 43899
upload unittests

Rejecting patch 43899 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--quiet&apos;, &apos;--exit-after-n-failures=1&apos;]&quot; exit_code: 1
Running build-dumprendertree
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 11667 test cases.
fast/canvas/webgl/gl-object-get-calls.html -&gt; failed

Exiting early after 1 failures. 4970 tests run.
89.29s total testing time

4969 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
1 test case (&lt;1%) had stderr output</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166772</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-26 11:46:52 -0800</bug_when>
    <thetext>Failure caused by bug 31919.

This should be landed manually w/ adjusted fixme anyway, no? ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166854</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-27 00:02:14 -0800</bug_when>
    <thetext>Committed r51436: &lt;http://trac.webkit.org/changeset/51436&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43899</attachid>
            <date>2009-11-25 23:34:30 -0800</date>
            <delta_ts>2009-11-26 11:25:39 -0800</delta_ts>
            <desc>upload unittests</desc>
            <filename>bug-31903-20091125233429.patch</filename>
            <type>text/plain</type>
            <size>17223</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBmYmUyNWNkLi4xYWYyN2I4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMDktMTEt
MjUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbYnp0XSBVbml0IHRlc3QgdXBsb2FkIGNvbW1h
bmRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTkw
MworCisgICAgICAgIEFkZHMgdW5pdCB0ZXN0cyBmb3IgYWxsIGJ1dCB0d28gb2YgdGhlIHVwbG9h
ZCBjb21tYW5kcy4gIFRoZSB0d28KKyAgICAgICAgcmVtYWluaW5nIG9uZXMgYXJlIG1vcmUgZGlm
ZmljdWx0LiAgSSdsbCByZXR1cm4gdG8gdGhlbSBsYXRlci4gIFRoZQorICAgICAgICBnb2FsIG9m
IHRoZXNlIHRlc3RzIGlzIGp1c3QgdG8gcnVuIHRoZSBjb21tYW5kcy4gIFdlIGNhbiB0ZXN0IG1v
cmUKKyAgICAgICAgZGV0YWlsZWQgYmVoYXZpb3IgbGF0ZXIuCisKKyAgICAgICAgKiBTY3JpcHRz
L21vZHVsZXMvY29tbWFuZHMvY29tbWFuZHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy9tb2R1
bGVzL2NvbW1hbmRzL3VwbG9hZC5weToKKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvY29tbWFu
ZHMvdXBsb2FkX3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMvbW9kdWxlcy9tb2NrLnB5
OiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvbW9ja19idWd6aWxsYXRvb2wucHk6
CisKIDIwMDktMTEtMjUgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2Ny
aXB0cy9tb2R1bGVzL2NvbW1hbmRzL2NvbW1hbmR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy9tb2R1bGVzL2NvbW1hbmRzL2NvbW1hbmR0ZXN0LnB5CmluZGV4IDU1MzJiMjYuLjYxOGE1MTcg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9jb21tYW5k
dGVzdC5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvY29tbWFu
ZHRlc3QucHkKQEAgLTI4LDE0ICsyOCwxNSBAQAogCiBpbXBvcnQgdW5pdHRlc3QKIAorZnJvbSBt
b2R1bGVzLm1vY2sgaW1wb3J0IE1vY2sKIGZyb20gbW9kdWxlcy5tb2NrX2J1Z3ppbGxhdG9vbCBp
bXBvcnQgTW9ja0J1Z3ppbGxhVG9vbAogZnJvbSBtb2R1bGVzLm91dHB1dGNhcHR1cmUgaW1wb3J0
IE91dHB1dENhcHR1cmUKIAogY2xhc3MgQ29tbWFuZHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToK
LSAgICBkZWYgYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhzZWxmLCBjb21tYW5kLCBjb21tYW5kX2Fy
Z3MsIGV4cGVjdGVkX3N0ZG91dCwgZXhwZWN0ZWRfc3RkZXJyPSIiKToKKyAgICBkZWYgYXNzZXJ0
X2V4ZWN1dGVfb3V0cHV0cyhzZWxmLCBjb21tYW5kLCBhcmdzLCBleHBlY3RlZF9zdGRvdXQ9IiIs
IGV4cGVjdGVkX3N0ZGVycj0iIiwgb3B0aW9ucz1Nb2NrKCksIHRvb2w9TW9ja0J1Z3ppbGxhVG9v
bCgpKToKICAgICAgICAgY2FwdHVyZSA9IE91dHB1dENhcHR1cmUoKQogICAgICAgICBjYXB0dXJl
LmNhcHR1cmVfb3V0cHV0KCkKLSAgICAgICAgY29tbWFuZC5leGVjdXRlKE5vbmUsIGNvbW1hbmRf
YXJncywgTW9ja0J1Z3ppbGxhVG9vbCgpKQorICAgICAgICBjb21tYW5kLmV4ZWN1dGUob3B0aW9u
cywgYXJncywgdG9vbCkKICAgICAgICAgKHN0ZG91dF9zdHJpbmcsIHN0ZGVycl9zdHJpbmcpID0g
Y2FwdHVyZS5yZXN0b3JlX291dHB1dCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Rkb3V0
X3N0cmluZywgZXhwZWN0ZWRfc3Rkb3V0KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVj
dGVkX3N0ZGVyciwgZXhwZWN0ZWRfc3RkZXJyKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2Ny
aXB0cy9tb2R1bGVzL2NvbW1hbmRzL3VwbG9hZC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9k
dWxlcy9jb21tYW5kcy91cGxvYWQucHkKaW5kZXggZDI2MWRkYy4uZTg4NTYyMyAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL3VwbG9hZC5weQorKysgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvdXBsb2FkLnB5CkBAIC01NCw2ICs1
NCw3IEBAIGZyb20gbW9kdWxlcy53ZWJraXRsYW5kaW5nc2NyaXB0cyBpbXBvcnQgV2ViS2l0TGFu
ZGluZ1NjcmlwdHMsIGNvbW1pdF9tZXNzYWdlX2ZvCiBmcm9tIG1vZHVsZXMud2Via2l0cG9ydCBp
bXBvcnQgV2ViS2l0UG9ydAogZnJvbSBtb2R1bGVzLndvcmtxdWV1ZSBpbXBvcnQgV29ya1F1ZXVl
LCBXb3JrUXVldWVEZWxlZ2F0ZQogCisjIEZJWE1FOiBSZXF1aXJlcyB1bml0IHRlc3QuICBCbG9j
a2luZyBpc3N1ZTogY29tbWl0X21lc3NhZ2VfZm9yX3RoaXNfY29tbWl0LgogY2xhc3MgQ29tbWl0
TWVzc2FnZUZvckN1cnJlbnREaWZmKENvbW1hbmQpOgogICAgIG5hbWUgPSAiY29tbWl0LW1lc3Nh
Z2UiCiAgICAgc2hvd19pbl9tYWluX2hlbHAgPSBGYWxzZQpAQCAtMTgwLDYgKzE4MSw3IEBAIGNs
YXNzIE1hcmtGaXhlZChDb21tYW5kKToKICAgICAgICAgdG9vbC5idWdzLmNsb3NlX2J1Z19hc19m
aXhlZChhcmdzWzBdLCBhcmdzWzFdKQogCiAKKyMgRklYTUU6IFJlcXVpcmVzIHVuaXQgdGVzdC4g
IEJsb2NraW5nIGlzc3VlOiB0b28gY29tcGxleCBmb3Igbm93LgogY2xhc3MgQ3JlYXRlQnVnKENv
bW1hbmQpOgogICAgIG5hbWUgPSAiY3JlYXRlLWJ1ZyIKICAgICBzaG93X2luX21haW5faGVscCA9
IFRydWUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy91
cGxvYWRfdW5pdHRlc3QucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWFuZHMv
dXBsb2FkX3VuaXR0ZXN0LnB5CmluZGV4IDA5M2ViZTMuLjRkM2Y4NWMgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy91cGxvYWRfdW5pdHRlc3QucHkKKysr
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL3VwbG9hZF91bml0dGVzdC5w
eQpAQCAtMzMsNCArMzMsMTAgQEAgZnJvbSBtb2R1bGVzLmNvbW1hbmRzLnVwbG9hZCBpbXBvcnQg
KgogCiBjbGFzcyBVcGxvYWRDb21tYW5kc1Rlc3QoQ29tbWFuZHNUZXN0KToKICAgICBkZWYgdGVz
dF9tYXJrX2ZpeGVkKHNlbGYpOgotICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMo
TWFya0ZpeGVkKCksIFs0MywgIlRlc3QgY29tbWVudCJdLCAiIiwgIiIpCisgICAgICAgIHNlbGYu
YXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhNYXJrRml4ZWQoKSwgWzQzLCAiVGVzdCBjb21tZW50Il0p
CisKKyAgICBkZWYgdGVzdF9vYnNvbGV0ZV9hdHRhY2htZW50cyhzZWxmKToKKyAgICAgICAgc2Vs
Zi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKE9ic29sZXRlQXR0YWNobWVudHMoKSwgWzQyXSkKKwor
ICAgIGRlZiB0ZXN0X3Bvc3RfZGlmZihzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0
ZV9vdXRwdXRzKFBvc3REaWZmKCksIFs0Ml0pCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3Jp
cHRzL21vZHVsZXMvbW9jay5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9tb2NrLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ZjMyOGUKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvbW9jay5weQpAQCAtMCwwICsxLDMw
OSBAQAorIyBtb2NrLnB5DQorIyBUZXN0IHRvb2xzIGZvciBtb2NraW5nIGFuZCBwYXRjaGluZy4N
CisjIENvcHlyaWdodCAoQykgMjAwNy0yMDA5IE1pY2hhZWwgRm9vcmQNCisjIEUtbWFpbDogZnV6
enltYW4gQVQgdm9pZHNwYWNlIERPVCBvcmcgRE9UIHVrDQorDQorIyBtb2NrIDAuNi4wDQorIyBo
dHRwOi8vd3d3LnZvaWRzcGFjZS5vcmcudWsvcHl0aG9uL21vY2svDQorDQorIyBSZWxlYXNlZCBz
dWJqZWN0IHRvIHRoZSBCU0QgTGljZW5zZQ0KKyMgUGxlYXNlIHNlZSBodHRwOi8vd3d3LnZvaWRz
cGFjZS5vcmcudWsvcHl0aG9uL2xpY2Vuc2Uuc2h0bWwNCisNCisjIDIwMDktMTEtMjU6IExpY2Vu
Y2UgZG93bmxvYWRlZCBmcm9tIGFib3ZlIFVSTC4NCisjIEJFR0lOIERPV05MT0FERUQgTElDRU5T
RQ0KKyMNCisjIENvcHlyaWdodCAoYykgMjAwMy0yMDA5LCBNaWNoYWVsIEZvb3JkDQorIyBBbGwg
cmlnaHRzIHJlc2VydmVkLg0KKyMgRS1tYWlsIDogZnV6enltYW4gQVQgdm9pZHNwYWNlIERPVCBv
cmcgRE9UIHVrDQorIyANCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dA0KKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQ0KKyMgbWV0Og0K
KyMgDQorIyANCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0DQorIyAgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQorIyANCisjICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUNCisj
ICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nDQorIyAgICAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQNCisjICAgICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4NCisjIA0KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNoYWVsIEZvb3JkIG5vciB0
aGUgbmFtZSBvZiBWb2lkc3BhY2UNCisjICAgICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcw0KKyMgICAgICAgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQorIyANCisjIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMNCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UDQorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1INCisjIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUDQorIyBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwNCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QNCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLA0KKyMgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZDQor
IyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUDQorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UNCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQorIw0KKyMgRU5E
IERPV05MT0FERUQgTElDRU5TRQ0KKw0KKyMgU2NyaXB0cyBtYWludGFpbmVkIGF0IGh0dHA6Ly93
d3cudm9pZHNwYWNlLm9yZy51ay9weXRob24vaW5kZXguc2h0bWwNCisjIENvbW1lbnRzLCBzdWdn
ZXN0aW9ucyBhbmQgYnVnIHJlcG9ydHMgd2VsY29tZS4NCisNCisNCitfX2FsbF9fID0gKA0KKyAg
ICAnTW9jaycsDQorICAgICdwYXRjaCcsDQorICAgICdwYXRjaF9vYmplY3QnLA0KKyAgICAnc2Vu
dGluZWwnLA0KKyAgICAnREVGQVVMVCcNCispDQorDQorX192ZXJzaW9uX18gPSAnMC42LjAnDQor
DQorY2xhc3MgU2VudGluZWxPYmplY3Qob2JqZWN0KToNCisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IG5hbWUpOg0KKyAgICAgICAgc2VsZi5uYW1lID0gbmFtZQ0KKyAgICAgICAgDQorICAgIGRlZiBf
X3JlcHJfXyhzZWxmKToNCisgICAgICAgIHJldHVybiAnPFNlbnRpbmVsT2JqZWN0ICIlcyI+JyAl
IHNlbGYubmFtZQ0KKw0KKw0KK2NsYXNzIFNlbnRpbmVsKG9iamVjdCk6DQorICAgIGRlZiBfX2lu
aXRfXyhzZWxmKToNCisgICAgICAgIHNlbGYuX3NlbnRpbmVscyA9IHt9DQorICAgICAgICANCisg
ICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIG5hbWUpOg0KKyAgICAgICAgcmV0dXJuIHNlbGYuX3Nl
bnRpbmVscy5zZXRkZWZhdWx0KG5hbWUsIFNlbnRpbmVsT2JqZWN0KG5hbWUpKQ0KKyAgICANCisg
ICAgDQorc2VudGluZWwgPSBTZW50aW5lbCgpDQorDQorREVGQVVMVCA9IHNlbnRpbmVsLkRFRkFV
TFQNCisNCitjbGFzcyBPbGRTdHlsZUNsYXNzOg0KKyAgICBwYXNzDQorQ2xhc3NUeXBlID0gdHlw
ZShPbGRTdHlsZUNsYXNzKQ0KKw0KK2RlZiBfaXNfbWFnaWMobmFtZSk6DQorICAgIHJldHVybiAn
X18lc19fJyAlIG5hbWVbMjotMl0gPT0gbmFtZQ0KKw0KK2RlZiBfY29weSh2YWx1ZSk6DQorICAg
IGlmIHR5cGUodmFsdWUpIGluIChkaWN0LCBsaXN0LCB0dXBsZSwgc2V0KToNCisgICAgICAgIHJl
dHVybiB0eXBlKHZhbHVlKSh2YWx1ZSkNCisgICAgcmV0dXJuIHZhbHVlDQorDQorDQorY2xhc3Mg
TW9jayhvYmplY3QpOg0KKw0KKyAgICBkZWYgX19pbml0X18oc2VsZiwgc3BlYz1Ob25lLCBzaWRl
X2VmZmVjdD1Ob25lLCByZXR1cm5fdmFsdWU9REVGQVVMVCwgDQorICAgICAgICAgICAgICAgICBu
YW1lPU5vbmUsIHBhcmVudD1Ob25lLCB3cmFwcz1Ob25lKToNCisgICAgICAgIHNlbGYuX3BhcmVu
dCA9IHBhcmVudA0KKyAgICAgICAgc2VsZi5fbmFtZSA9IG5hbWUNCisgICAgICAgIGlmIHNwZWMg
aXMgbm90IE5vbmUgYW5kIG5vdCBpc2luc3RhbmNlKHNwZWMsIGxpc3QpOg0KKyAgICAgICAgICAg
IHNwZWMgPSBbbWVtYmVyIGZvciBtZW1iZXIgaW4gZGlyKHNwZWMpIGlmIG5vdCBfaXNfbWFnaWMo
bWVtYmVyKV0NCisgICAgICAgIA0KKyAgICAgICAgc2VsZi5fbWV0aG9kcyA9IHNwZWMNCisgICAg
ICAgIHNlbGYuX2NoaWxkcmVuID0ge30NCisgICAgICAgIHNlbGYuX3JldHVybl92YWx1ZSA9IHJl
dHVybl92YWx1ZQ0KKyAgICAgICAgc2VsZi5zaWRlX2VmZmVjdCA9IHNpZGVfZWZmZWN0DQorICAg
ICAgICBzZWxmLl93cmFwcyA9IHdyYXBzDQorICAgICAgICANCisgICAgICAgIHNlbGYucmVzZXRf
bW9jaygpDQorICAgICAgICANCisNCisgICAgZGVmIHJlc2V0X21vY2soc2VsZik6DQorICAgICAg
ICBzZWxmLmNhbGxlZCA9IEZhbHNlDQorICAgICAgICBzZWxmLmNhbGxfYXJncyA9IE5vbmUNCisg
ICAgICAgIHNlbGYuY2FsbF9jb3VudCA9IDANCisgICAgICAgIHNlbGYuY2FsbF9hcmdzX2xpc3Qg
PSBbXQ0KKyAgICAgICAgc2VsZi5tZXRob2RfY2FsbHMgPSBbXQ0KKyAgICAgICAgZm9yIGNoaWxk
IGluIHNlbGYuX2NoaWxkcmVuLml0ZXJ2YWx1ZXMoKToNCisgICAgICAgICAgICBjaGlsZC5yZXNl
dF9tb2NrKCkNCisgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2VsZi5fcmV0dXJuX3ZhbHVlLCBNb2Nr
KToNCisgICAgICAgICAgICBzZWxmLl9yZXR1cm5fdmFsdWUucmVzZXRfbW9jaygpDQorICAgICAg
ICANCisgICAgDQorICAgIGRlZiBfX2dldF9yZXR1cm5fdmFsdWUoc2VsZik6DQorICAgICAgICBp
ZiBzZWxmLl9yZXR1cm5fdmFsdWUgaXMgREVGQVVMVDoNCisgICAgICAgICAgICBzZWxmLl9yZXR1
cm5fdmFsdWUgPSBNb2NrKCkNCisgICAgICAgIHJldHVybiBzZWxmLl9yZXR1cm5fdmFsdWUNCisg
ICAgDQorICAgIGRlZiBfX3NldF9yZXR1cm5fdmFsdWUoc2VsZiwgdmFsdWUpOg0KKyAgICAgICAg
c2VsZi5fcmV0dXJuX3ZhbHVlID0gdmFsdWUNCisgICAgICAgIA0KKyAgICByZXR1cm5fdmFsdWUg
PSBwcm9wZXJ0eShfX2dldF9yZXR1cm5fdmFsdWUsIF9fc2V0X3JldHVybl92YWx1ZSkNCisNCisN
CisgICAgZGVmIF9fY2FsbF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6DQorICAgICAgICBzZWxm
LmNhbGxlZCA9IFRydWUNCisgICAgICAgIHNlbGYuY2FsbF9jb3VudCArPSAxDQorICAgICAgICBz
ZWxmLmNhbGxfYXJncyA9IChhcmdzLCBrd2FyZ3MpDQorICAgICAgICBzZWxmLmNhbGxfYXJnc19s
aXN0LmFwcGVuZCgoYXJncywga3dhcmdzKSkNCisgICAgICAgIA0KKyAgICAgICAgcGFyZW50ID0g
c2VsZi5fcGFyZW50DQorICAgICAgICBuYW1lID0gc2VsZi5fbmFtZQ0KKyAgICAgICAgd2hpbGUg
cGFyZW50IGlzIG5vdCBOb25lOg0KKyAgICAgICAgICAgIHBhcmVudC5tZXRob2RfY2FsbHMuYXBw
ZW5kKChuYW1lLCBhcmdzLCBrd2FyZ3MpKQ0KKyAgICAgICAgICAgIGlmIHBhcmVudC5fcGFyZW50
IGlzIE5vbmU6DQorICAgICAgICAgICAgICAgIGJyZWFrDQorICAgICAgICAgICAgbmFtZSA9IHBh
cmVudC5fbmFtZSArICcuJyArIG5hbWUNCisgICAgICAgICAgICBwYXJlbnQgPSBwYXJlbnQuX3Bh
cmVudA0KKyAgICAgICAgDQorICAgICAgICByZXRfdmFsID0gREVGQVVMVA0KKyAgICAgICAgaWYg
c2VsZi5zaWRlX2VmZmVjdCBpcyBub3QgTm9uZToNCisgICAgICAgICAgICBpZiAoaXNpbnN0YW5j
ZShzZWxmLnNpZGVfZWZmZWN0LCBFeGNlcHRpb24pIG9yIA0KKyAgICAgICAgICAgICAgICBpc2lu
c3RhbmNlKHNlbGYuc2lkZV9lZmZlY3QsICh0eXBlLCBDbGFzc1R5cGUpKSBhbmQNCisgICAgICAg
ICAgICAgICAgaXNzdWJjbGFzcyhzZWxmLnNpZGVfZWZmZWN0LCBFeGNlcHRpb24pKToNCisgICAg
ICAgICAgICAgICAgcmFpc2Ugc2VsZi5zaWRlX2VmZmVjdA0KKyAgICAgICAgICAgIA0KKyAgICAg
ICAgICAgIHJldF92YWwgPSBzZWxmLnNpZGVfZWZmZWN0KCphcmdzLCAqKmt3YXJncykNCisgICAg
ICAgICAgICBpZiByZXRfdmFsIGlzIERFRkFVTFQ6DQorICAgICAgICAgICAgICAgIHJldF92YWwg
PSBzZWxmLnJldHVybl92YWx1ZQ0KKyAgICAgICAgDQorICAgICAgICBpZiBzZWxmLl93cmFwcyBp
cyBub3QgTm9uZSBhbmQgc2VsZi5fcmV0dXJuX3ZhbHVlIGlzIERFRkFVTFQ6DQorICAgICAgICAg
ICAgcmV0dXJuIHNlbGYuX3dyYXBzKCphcmdzLCAqKmt3YXJncykNCisgICAgICAgIGlmIHJldF92
YWwgaXMgREVGQVVMVDoNCisgICAgICAgICAgICByZXRfdmFsID0gc2VsZi5yZXR1cm5fdmFsdWUN
CisgICAgICAgIHJldHVybiByZXRfdmFsDQorICAgIA0KKyAgICANCisgICAgZGVmIF9fZ2V0YXR0
cl9fKHNlbGYsIG5hbWUpOg0KKyAgICAgICAgaWYgc2VsZi5fbWV0aG9kcyBpcyBub3QgTm9uZToN
CisgICAgICAgICAgICBpZiBuYW1lIG5vdCBpbiBzZWxmLl9tZXRob2RzOg0KKyAgICAgICAgICAg
ICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigiTW9jayBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAn
JXMnIiAlIG5hbWUpDQorICAgICAgICBlbGlmIF9pc19tYWdpYyhuYW1lKToNCisgICAgICAgICAg
ICByYWlzZSBBdHRyaWJ1dGVFcnJvcihuYW1lKQ0KKyAgICAgICAgDQorICAgICAgICBpZiBuYW1l
IG5vdCBpbiBzZWxmLl9jaGlsZHJlbjoNCisgICAgICAgICAgICB3cmFwcyA9IE5vbmUNCisgICAg
ICAgICAgICBpZiBzZWxmLl93cmFwcyBpcyBub3QgTm9uZToNCisgICAgICAgICAgICAgICAgd3Jh
cHMgPSBnZXRhdHRyKHNlbGYuX3dyYXBzLCBuYW1lKQ0KKyAgICAgICAgICAgIHNlbGYuX2NoaWxk
cmVuW25hbWVdID0gTW9jayhwYXJlbnQ9c2VsZiwgbmFtZT1uYW1lLCB3cmFwcz13cmFwcykNCisg
ICAgICAgICAgICANCisgICAgICAgIHJldHVybiBzZWxmLl9jaGlsZHJlbltuYW1lXQ0KKyAgICAN
CisgICAgDQorICAgIGRlZiBhc3NlcnRfY2FsbGVkX3dpdGgoc2VsZiwgKmFyZ3MsICoqa3dhcmdz
KToNCisgICAgICAgIGFzc2VydCBzZWxmLmNhbGxfYXJncyA9PSAoYXJncywga3dhcmdzKSwgJ0V4
cGVjdGVkOiAlc1xuQ2FsbGVkIHdpdGg6ICVzJyAlICgoYXJncywga3dhcmdzKSwgc2VsZi5jYWxs
X2FyZ3MpDQorICAgICAgICANCisNCitkZWYgX2RvdF9sb29rdXAodGhpbmcsIGNvbXAsIGltcG9y
dF9wYXRoKToNCisgICAgdHJ5Og0KKyAgICAgICAgcmV0dXJuIGdldGF0dHIodGhpbmcsIGNvbXAp
DQorICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoNCisgICAgICAgIF9faW1wb3J0X18oaW1wb3J0
X3BhdGgpDQorICAgICAgICByZXR1cm4gZ2V0YXR0cih0aGluZywgY29tcCkNCisNCisNCitkZWYg
X2ltcG9ydGVyKHRhcmdldCk6DQorICAgIGNvbXBvbmVudHMgPSB0YXJnZXQuc3BsaXQoJy4nKQ0K
KyAgICBpbXBvcnRfcGF0aCA9IGNvbXBvbmVudHMucG9wKDApDQorICAgIHRoaW5nID0gX19pbXBv
cnRfXyhpbXBvcnRfcGF0aCkNCisNCisgICAgZm9yIGNvbXAgaW4gY29tcG9uZW50czoNCisgICAg
ICAgIGltcG9ydF9wYXRoICs9ICIuJXMiICUgY29tcA0KKyAgICAgICAgdGhpbmcgPSBfZG90X2xv
b2t1cCh0aGluZywgY29tcCwgaW1wb3J0X3BhdGgpDQorICAgIHJldHVybiB0aGluZw0KKw0KKw0K
K2NsYXNzIF9wYXRjaChvYmplY3QpOg0KKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGFyZ2V0LCBh
dHRyaWJ1dGUsIG5ldywgc3BlYywgY3JlYXRlKToNCisgICAgICAgIHNlbGYudGFyZ2V0ID0gdGFy
Z2V0DQorICAgICAgICBzZWxmLmF0dHJpYnV0ZSA9IGF0dHJpYnV0ZQ0KKyAgICAgICAgc2VsZi5u
ZXcgPSBuZXcNCisgICAgICAgIHNlbGYuc3BlYyA9IHNwZWMNCisgICAgICAgIHNlbGYuY3JlYXRl
ID0gY3JlYXRlDQorICAgICAgICBzZWxmLmhhc19sb2NhbCA9IEZhbHNlDQorDQorDQorICAgIGRl
ZiBfX2NhbGxfXyhzZWxmLCBmdW5jKToNCisgICAgICAgIGlmIGhhc2F0dHIoZnVuYywgJ3BhdGNo
aW5ncycpOg0KKyAgICAgICAgICAgIGZ1bmMucGF0Y2hpbmdzLmFwcGVuZChzZWxmKQ0KKyAgICAg
ICAgICAgIHJldHVybiBmdW5jDQorDQorICAgICAgICBkZWYgcGF0Y2hlZCgqYXJncywgKiprZXl3
YXJncyk6DQorICAgICAgICAgICAgIyBkb24ndCB1c2UgYSB3aXRoIGhlcmUgKGJhY2t3YXJkcyBj
b21wYXRhYmlsaXR5IHdpdGggMi41KQ0KKyAgICAgICAgICAgIGV4dHJhX2FyZ3MgPSBbXQ0KKyAg
ICAgICAgICAgIGZvciBwYXRjaGluZyBpbiBwYXRjaGVkLnBhdGNoaW5nczoNCisgICAgICAgICAg
ICAgICAgYXJnID0gcGF0Y2hpbmcuX19lbnRlcl9fKCkNCisgICAgICAgICAgICAgICAgaWYgcGF0
Y2hpbmcubmV3IGlzIERFRkFVTFQ6DQorICAgICAgICAgICAgICAgICAgICBleHRyYV9hcmdzLmFw
cGVuZChhcmcpDQorICAgICAgICAgICAgYXJncyArPSB0dXBsZShleHRyYV9hcmdzKQ0KKyAgICAg
ICAgICAgIHRyeToNCisgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmMoKmFyZ3MsICoqa2V5d2Fy
Z3MpDQorICAgICAgICAgICAgZmluYWxseToNCisgICAgICAgICAgICAgICAgZm9yIHBhdGNoaW5n
IGluIGdldGF0dHIocGF0Y2hlZCwgJ3BhdGNoaW5ncycsIFtdKToNCisgICAgICAgICAgICAgICAg
ICAgIHBhdGNoaW5nLl9fZXhpdF9fKCkNCisNCisgICAgICAgIHBhdGNoZWQucGF0Y2hpbmdzID0g
W3NlbGZdDQorICAgICAgICBwYXRjaGVkLl9fbmFtZV9fID0gZnVuYy5fX25hbWVfXyANCisgICAg
ICAgIHBhdGNoZWQuY29tcGF0X2NvX2ZpcnN0bGluZW5vID0gZ2V0YXR0cihmdW5jLCAiY29tcGF0
X2NvX2ZpcnN0bGluZW5vIiwgDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZnVuYy5mdW5jX2NvZGUuY29fZmlyc3RsaW5lbm8pDQorICAgICAgICByZXR1
cm4gcGF0Y2hlZA0KKw0KKw0KKyAgICBkZWYgZ2V0X29yaWdpbmFsKHNlbGYpOg0KKyAgICAgICAg
dGFyZ2V0ID0gc2VsZi50YXJnZXQNCisgICAgICAgIG5hbWUgPSBzZWxmLmF0dHJpYnV0ZQ0KKyAg
ICAgICAgY3JlYXRlID0gc2VsZi5jcmVhdGUNCisgICAgICAgIA0KKyAgICAgICAgb3JpZ2luYWwg
PSBERUZBVUxUDQorICAgICAgICBpZiBfaGFzX2xvY2FsX2F0dHIodGFyZ2V0LCBuYW1lKToNCisg
ICAgICAgICAgICB0cnk6DQorICAgICAgICAgICAgICAgIG9yaWdpbmFsID0gdGFyZ2V0Ll9fZGlj
dF9fW25hbWVdDQorICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOg0KKyAgICAgICAg
ICAgICAgICAjIGZvciBpbnN0YW5jZXMgb2YgY2xhc3NlcyB3aXRoIHNsb3RzLCB0aGV5IGhhdmUg
bm8gX19kaWN0X18NCisgICAgICAgICAgICAgICAgb3JpZ2luYWwgPSBnZXRhdHRyKHRhcmdldCwg
bmFtZSkNCisgICAgICAgIGVsaWYgbm90IGNyZWF0ZSBhbmQgbm90IGhhc2F0dHIodGFyZ2V0LCBu
YW1lKToNCisgICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigiJXMgZG9lcyBub3QgaGF2
ZSB0aGUgYXR0cmlidXRlICVyIiAlICh0YXJnZXQsIG5hbWUpKQ0KKyAgICAgICAgcmV0dXJuIG9y
aWdpbmFsDQorDQorICAgIA0KKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOg0KKyAgICAgICAgbmV3
LCBzcGVjLCA9IHNlbGYubmV3LCBzZWxmLnNwZWMNCisgICAgICAgIG9yaWdpbmFsID0gc2VsZi5n
ZXRfb3JpZ2luYWwoKQ0KKyAgICAgICAgaWYgbmV3IGlzIERFRkFVTFQ6DQorICAgICAgICAgICAg
IyBYWFhYIHdoYXQgaWYgb3JpZ2luYWwgaXMgREVGQVVMVCAtIHNob3VsZG4ndCB1c2UgaXQgYXMg
YSBzcGVjDQorICAgICAgICAgICAgaW5oZXJpdCA9IEZhbHNlDQorICAgICAgICAgICAgaWYgc3Bl
YyA9PSBUcnVlOg0KKyAgICAgICAgICAgICAgICAjIHNldCBzcGVjIHRvIHRoZSBvYmplY3Qgd2Ug
YXJlIHJlcGxhY2luZw0KKyAgICAgICAgICAgICAgICBzcGVjID0gb3JpZ2luYWwNCisgICAgICAg
ICAgICAgICAgaWYgaXNpbnN0YW5jZShzcGVjLCAodHlwZSwgQ2xhc3NUeXBlKSk6DQorICAgICAg
ICAgICAgICAgICAgICBpbmhlcml0ID0gVHJ1ZQ0KKyAgICAgICAgICAgIG5ldyA9IE1vY2soc3Bl
Yz1zcGVjKQ0KKyAgICAgICAgICAgIGlmIGluaGVyaXQ6DQorICAgICAgICAgICAgICAgIG5ldy5y
ZXR1cm5fdmFsdWUgPSBNb2NrKHNwZWM9c3BlYykNCisgICAgICAgIHNlbGYudGVtcF9vcmlnaW5h
bCA9IG9yaWdpbmFsDQorICAgICAgICBzZXRhdHRyKHNlbGYudGFyZ2V0LCBzZWxmLmF0dHJpYnV0
ZSwgbmV3KQ0KKyAgICAgICAgcmV0dXJuIG5ldw0KKw0KKw0KKyAgICBkZWYgX19leGl0X18oc2Vs
ZiwgKl8pOg0KKyAgICAgICAgaWYgc2VsZi50ZW1wX29yaWdpbmFsIGlzIG5vdCBERUZBVUxUOg0K
KyAgICAgICAgICAgIHNldGF0dHIoc2VsZi50YXJnZXQsIHNlbGYuYXR0cmlidXRlLCBzZWxmLnRl
bXBfb3JpZ2luYWwpDQorICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgIGRlbGF0dHIoc2VsZi50
YXJnZXQsIHNlbGYuYXR0cmlidXRlKQ0KKyAgICAgICAgZGVsIHNlbGYudGVtcF9vcmlnaW5hbA0K
KyAgICAgICAgICAgIA0KKyAgICAgICAgICAgICAgICANCitkZWYgcGF0Y2hfb2JqZWN0KHRhcmdl
dCwgYXR0cmlidXRlLCBuZXc9REVGQVVMVCwgc3BlYz1Ob25lLCBjcmVhdGU9RmFsc2UpOg0KKyAg
ICByZXR1cm4gX3BhdGNoKHRhcmdldCwgYXR0cmlidXRlLCBuZXcsIHNwZWMsIGNyZWF0ZSkNCisN
CisNCitkZWYgcGF0Y2godGFyZ2V0LCBuZXc9REVGQVVMVCwgc3BlYz1Ob25lLCBjcmVhdGU9RmFs
c2UpOg0KKyAgICB0cnk6DQorICAgICAgICB0YXJnZXQsIGF0dHJpYnV0ZSA9IHRhcmdldC5yc3Bs
aXQoJy4nLCAxKSAgICANCisgICAgZXhjZXB0IChUeXBlRXJyb3IsIFZhbHVlRXJyb3IpOg0KKyAg
ICAgICAgcmFpc2UgVHlwZUVycm9yKCJOZWVkIGEgdmFsaWQgdGFyZ2V0IHRvIHBhdGNoLiBZb3Ug
c3VwcGxpZWQ6ICVyIiAlICh0YXJnZXQsKSkNCisgICAgdGFyZ2V0ID0gX2ltcG9ydGVyKHRhcmdl
dCkNCisgICAgcmV0dXJuIF9wYXRjaCh0YXJnZXQsIGF0dHJpYnV0ZSwgbmV3LCBzcGVjLCBjcmVh
dGUpDQorDQorDQorDQorZGVmIF9oYXNfbG9jYWxfYXR0cihvYmosIG5hbWUpOg0KKyAgICB0cnk6
DQorICAgICAgICByZXR1cm4gbmFtZSBpbiB2YXJzKG9iaikNCisgICAgZXhjZXB0IFR5cGVFcnJv
cjoNCisgICAgICAgICMgb2JqZWN0cyB3aXRob3V0IGEgX19kaWN0X18NCisgICAgICAgIHJldHVy
biBoYXNhdHRyKG9iaiwgbmFtZSkNCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL21v
ZHVsZXMvbW9ja19idWd6aWxsYXRvb2wucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMv
bW9ja19idWd6aWxsYXRvb2wucHkKaW5kZXggNDM5OTc2My4uMGM5M2UxYiAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL21vY2tfYnVnemlsbGF0b29sLnB5CisrKyBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9tb2NrX2J1Z3ppbGxhdG9vbC5weQpAQCAtMjYsOSAr
MjYsMTEgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2Zyb20gbW9kdWxlcy5z
Y20gaW1wb3J0IENvbW1pdE1lc3NhZ2UKKwogY2xhc3MgTW9ja0J1Z3ppbGxhKCk6Ci0gICAgcGF0
Y2gxID0geyAiaWQiOiAxOTcsICJidWdfaWQiOiA0MiwgInVybCI6ICJodHRwOi8vZXhhbXBsZS5j
b20vMTk3IiB9Ci0gICAgcGF0Y2gyID0geyAiaWQiOiAxMjgsICJidWdfaWQiOiA0MiwgInVybCI6
ICJodHRwOi8vZXhhbXBsZS5jb20vMTI4IiB9CisgICAgcGF0Y2gxID0geyAiaWQiOiAxOTcsICJi
dWdfaWQiOiA0MiwgInVybCI6ICJodHRwOi8vZXhhbXBsZS5jb20vMTk3IiwgImlzX29ic29sZXRl
IjogRmFsc2UgfQorICAgIHBhdGNoMiA9IHsgImlkIjogMTI4LCAiYnVnX2lkIjogNDIsICJ1cmwi
OiAiaHR0cDovL2V4YW1wbGUuY29tLzEyOCIsICJpc19vYnNvbGV0ZSI6IEZhbHNlIH0KIAogICAg
IGRlZiBmZXRjaF9idWdfaWRzX2Zyb21fY29tbWl0X3F1ZXVlKHNlbGYpOgogICAgICAgICByZXR1
cm4gWzQyLCA3NV0KQEAgLTQxLDkgKzQzLDI1IEBAIGNsYXNzIE1vY2tCdWd6aWxsYSgpOgogICAg
ICAgICAgICAgcmV0dXJuIFtzZWxmLnBhdGNoMSwgc2VsZi5wYXRjaDJdCiAgICAgICAgIHJldHVy
biBOb25lCiAKKyAgICBkZWYgZmV0Y2hfYXR0YWNobWVudHNfZnJvbV9idWcoc2VsZiwgYnVnX2lk
KToKKyAgICAgICAgaWYgYnVnX2lkID09IDQyOgorICAgICAgICAgICAgcmV0dXJuIFtzZWxmLnBh
dGNoMSwgc2VsZi5wYXRjaDJdCisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBkZWYgZmV0Y2hf
cGF0Y2hlc19mcm9tX2J1ZyhzZWxmLCBidWdfaWQpOgorICAgICAgICBpZiBidWdfaWQgPT0gNDI6
CisgICAgICAgICAgICByZXR1cm4gW3NlbGYucGF0Y2gxLCBzZWxmLnBhdGNoMl0KKyAgICAgICAg
cmV0dXJuIE5vbmUKKwogICAgIGRlZiBjbG9zZV9idWdfYXNfZml4ZWQoc2VsZiwgYnVnX2lkLCBj
b21tZW50X3RleHQ9Tm9uZSk6CiAgICAgICAgIHBhc3MKIAorICAgIGRlZiBvYnNvbGV0ZV9hdHRh
Y2htZW50KHNlbGYsIGF0dGFjaG1lbnRfaWQsIGNvbW1lbnRfdGV4dD1Ob25lKToKKyAgICAgICAg
cGFzcworCisgICAgZGVmIGFkZF9wYXRjaF90b19idWcoc2VsZiwgYnVnX2lkLCBwYXRjaF9maWxl
X29iamVjdCwgZGVzY3JpcHRpb24sIGNvbW1lbnRfdGV4dD1Ob25lLCBtYXJrX2Zvcl9yZXZpZXc9
RmFsc2UsIG1hcmtfZm9yX2NvbW1pdF9xdWV1ZT1GYWxzZSk6CisgICAgICAgIHBhc3MKKwogCiBj
bGFzcyBNb2NrQnVpbGRCb3QoKToKICAgICBkZWYgYnVpbGRlcl9zdGF0dXNlcyhzZWxmKToKQEAg
LTU2LDYgKzc0LDMzIEBAIGNsYXNzIE1vY2tCdWlsZEJvdCgpOgogICAgICAgICB9XQogCiAKK2Ns
YXNzIE1vY2tTQ00oKToKKyAgICBkZWYgY3JlYXRlX3BhdGNoKHNlbGYpOgorICAgICAgICByZXR1
cm4gIlBhdGNoMSIKKworICAgIGRlZiBjb21taXRfaWRzX2Zyb21fY29tbWl0aXNoX2FyZ3VtZW50
cyhzZWxmLCBhcmdzKToKKyAgICAgICAgcmV0dXJuIFsiQ29tbWl0aXNoMSIsICJDb21taXRpc2gy
Il0KKworICAgIGRlZiBjb21taXRfbWVzc2FnZV9mb3JfbG9jYWxfY29tbWl0KHNlbGYsIGNvbW1p
dF9pZCk6CisgICAgICAgIGlmIGNvbW1pdF9pZCA9PSAiQ29tbWl0aXNoMSI6CisgICAgICAgICAg
ICByZXR1cm4gQ29tbWl0TWVzc2FnZSgiQ29tbWl0TWVzc2FnZTFcbmh0dHBzOi8vYnVncy5leGFt
cGxlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDJcbiIpCisgICAgICAgIGlmIGNvbW1pdF9pZCA9PSAi
Q29tbWl0aXNoMiI6CisgICAgICAgICAgICByZXR1cm4gQ29tbWl0TWVzc2FnZSgiQ29tbWl0TWVz
c2FnZTJcbmh0dHBzOi8vYnVncy5leGFtcGxlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzVcbiIpCisg
ICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQm9ndXMgY29tbWl0X2lkIGluIGNvbW1pdF9tZXNzYWdl
X2Zvcl9sb2NhbF9jb21taXQuIikKKworICAgIGRlZiBjcmVhdGVfcGF0Y2hfZnJvbV9sb2NhbF9j
b21taXQoc2VsZiwgY29tbWl0X2lkKToKKyAgICAgICAgaWYgY29tbWl0X2lkID09ICJDb21taXRp
c2gxIjoKKyAgICAgICAgICAgIHJldHVybiAiUGF0Y2gxIgorICAgICAgICBpZiBjb21taXRfaWQg
PT0gIkNvbW1pdGlzaDIiOgorICAgICAgICAgICAgcmV0dXJuICJQYXRjaDIiCisgICAgICAgIHJh
aXNlIEV4Y2VwdGlvbigiQm9ndXMgY29tbWl0X2lkIGluIGNvbW1pdF9tZXNzYWdlX2Zvcl9sb2Nh
bF9jb21taXQuIikKKworCiBjbGFzcyBNb2NrQnVnemlsbGFUb29sKCk6CiAgICAgYnVncyA9IE1v
Y2tCdWd6aWxsYSgpCiAgICAgYnVpbGRib3QgPSBNb2NrQnVpbGRCb3QoKQorCisgICAgIyBGSVhN
RTogVGhpcyBzaG91bGQganVzdCBiZSBhIG1lbWJlciBpbnN0ZWFkIG9mIGEgZnVuY3Rpb24uCisg
ICAgX3NjbSA9IE1vY2tTQ00oKQorICAgIGRlZiBzY20oc2VsZik6CisgICAgICAgIHJldHVybiBz
ZWxmLl9zY20K
</data>
<flag name="review"
          id="25643"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="25674"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>