<?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>100894</bug_id>
          
          <creation_ts>2012-10-31 14:55:26 -0700</creation_ts>
          <short_desc>Implement optional arguments in AudioBufferSourceNode start() method</short_desc>
          <delta_ts>2012-10-31 17:40:02 -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="Chris Rogers">crogers</reporter>
          <assigned_to name="Chris Rogers">crogers</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>kbr</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>755644</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-10-31 14:55:26 -0700</bug_when>
    <thetext>Implement optional arguments in AudioBufferSourceNode start() method</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755650</commentid>
    <comment_count>1</comment_count>
      <attachid>171727</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-10-31 15:02:48 -0700</bug_when>
    <thetext>Created attachment 171727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755656</commentid>
    <comment_count>2</comment_count>
      <attachid>171727</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-10-31 15:09:39 -0700</bug_when>
    <thetext>Comment on attachment 171727
Patch

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

Looks good. One minor comment. r=me

&gt; LayoutTests/webaudio/audiobuffersource-start.html:62
&gt; +    if (test.offsetFrame == &quot;none&quot; &amp;&amp; test.durationFrames == &quot;none&quot;) {

You could consider leaving these properties undefined and check for &quot;=== undefined&quot;. Not a big deal either way, but a simple typo in the string &quot;none&quot; could cause bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755683</commentid>
    <comment_count>3</comment_count>
      <attachid>171727</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-10-31 15:38:25 -0700</bug_when>
    <thetext>Comment on attachment 171727
Patch

Thanks Ken, leaving as &quot;none&quot; for now just to make it more clear in the test vectors exactly what&apos;s going on</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755753</commentid>
    <comment_count>4</comment_count>
      <attachid>171727</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-31 17:39:59 -0700</bug_when>
    <thetext>Comment on attachment 171727
Patch

Clearing flags on attachment: 171727

Committed r133101: &lt;http://trac.webkit.org/changeset/133101&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755754</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-31 17:40:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171727</attachid>
            <date>2012-10-31 15:02:48 -0700</date>
            <delta_ts>2012-10-31 17:39:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100894-20121031150122.patch</filename>
            <type>text/plain</type>
            <size>17757</size>
            <attacher name="Chris Rogers">crogers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyODQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDRkYmI3YjkzMzdmMzM3
ODdhNDlmYzBmZGEyMjNhYWY1ZTZkZGVlMy4uY2Y1Y2FiNzkxZGJiN2M0YjdhNjlkN2Y0M2UxNmE4
YzM0ZjhlMjBkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTEwLTMxICBDaHJp
cyBSb2dlcnMgIDxjcm9nZXJzQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG9wdGlv
bmFsIGFyZ3VtZW50cyBpbiBBdWRpb0J1ZmZlclNvdXJjZU5vZGUgc3RhcnQoKSBtZXRob2QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDg5NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBzdGFydCgp
IG1ldGhvZCBzaG91bGQgYmUgYWJsZSB0byB0YWtlIDEsIDIsIG9yIDMgYXJndW1lbnRzLCBvcHRp
b25hbGx5IHN1cHBvcnRpbmcKKyAgICAgICAgb2Zmc2V0IGFuZCBkdXJhdGlvbi4gIEN1cnJlbnRs
eSwgb25seSAxIGFuZCAzIGFyZ3VtZW50cyBhcmUgc3VwcG9ydGVkLgorCisgICAgICAgIFRlc3Q6
IHdlYmF1ZGlvL2F1ZGlvYnVmZmVyc291cmNlLXN0YXJ0Lmh0bWwKKworICAgICAgICAqIE1vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6cmVuZGVyRnJvbUJ1ZmZlcik6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OnN0YXJ0R3JhaW4pOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaDoK
KyAgICAgICAgKEF1ZGlvQnVmZmVyU291cmNlTm9kZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaWRsOgorCiAyMDEyLTEwLTI5ICBBbHBoYSBMYW0g
IDxoY2xhbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW3NraWFdIEhhbmRsZSBtYXNrIGJveCBp
bWFnZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9C
dWZmZXJTb3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9CdWZmZXJTb3VyY2VOb2RlLmNwcAppbmRleCBkZGJhMzZjMGQzNzU2YWY5NDUxNmQ5ZmFlMzY3
NGM3YjU2YzE2MDMxLi42NDliN2UyNDM3NzU1OWIxMTM3NjNjYzU2MjdjOTM0YWEyMTJiZTk0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291
cmNlTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1
ZmZlclNvdXJjZU5vZGUuY3BwCkBAIC0xOTUsMzUgKzE5NSwyNiBAQCBib29sIEF1ZGlvQnVmZmVy
U291cmNlTm9kZTo6cmVuZGVyRnJvbUJ1ZmZlcihBdWRpb0J1cyogYnVzLCB1bnNpZ25lZCBkZXN0
aW5hdGlvbgogICAgIHNpemVfdCBidWZmZXJMZW5ndGggPSBidWZmZXIoKS0+bGVuZ3RoKCk7CiAg
ICAgZG91YmxlIGJ1ZmZlclNhbXBsZVJhdGUgPSBidWZmZXIoKS0+c2FtcGxlUmF0ZSgpOwogCi0g
ICAgLy8gQ2FsY3VsYXRlIHRoZSBzdGFydCBhbmQgZW5kIGZyYW1lcyBpbiBvdXIgYnVmZmVyIHRo
YXQgd2Ugd2FudCB0byBwbGF5LgotICAgIC8vIElmIG1faXNHcmFpbiBpcyB0cnVlLCB0aGVuIHdl
IHdpbGwgYmUgcGxheWluZyBhIHBvcnRpb24gb2YgdGhlIHRvdGFsIGJ1ZmZlci4KLSAgICB1bnNp
Z25lZCBzdGFydEZyYW1lID0gbV9pc0dyYWluID8gQXVkaW9VdGlsaXRpZXM6OnRpbWVUb1NhbXBs
ZUZyYW1lKG1fZ3JhaW5PZmZzZXQsIGJ1ZmZlclNhbXBsZVJhdGUpIDogMDsKLQogICAgIC8vIEF2
b2lkIGNvbnZlcnRpbmcgZnJvbSB0aW1lIHRvIHNhbXBsZS1mcmFtZXMgdHdpY2UgYnkgY29tcHV0
aW5nCiAgICAgLy8gdGhlIGdyYWluIGVuZCB0aW1lIGZpcnN0IGJlZm9yZSBjb21wdXRpbmcgdGhl
IHNhbXBsZSBmcmFtZS4KICAgICB1bnNpZ25lZCBlbmRGcmFtZSA9IG1faXNHcmFpbiA/IEF1ZGlv
VXRpbGl0aWVzOjp0aW1lVG9TYW1wbGVGcmFtZShtX2dyYWluT2Zmc2V0ICsgbV9ncmFpbkR1cmF0
aW9uLCBidWZmZXJTYW1wbGVSYXRlKSA6IGJ1ZmZlckxlbmd0aDsKICAgICAKLSAgICBBU1NFUlQo
ZW5kRnJhbWUgPj0gc3RhcnRGcmFtZSk7Ci0gICAgaWYgKGVuZEZyYW1lIDwgc3RhcnRGcmFtZSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAogICAgIC8vIFRoaXMgaXMgYSBIQUNLIHRvIGFs
bG93IGZvciBIUlRGIHRhaWwtdGltZSAtIGF2b2lkcyBnbGl0Y2ggYXQgZW5kLgogICAgIC8vIEZJ
WE1FOiBpbXBsZW1lbnQgdGFpbFRpbWUgZm9yIGVhY2ggQXVkaW9Ob2RlIGZvciBhIG1vcmUgZ2Vu
ZXJhbCBzb2x1dGlvbiB0byB0aGlzIHByb2JsZW0uCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjI0CiAgICAgaWYgKG1faXNHcmFpbikKICAgICAgICAg
ZW5kRnJhbWUgKz0gNTEyOwogCiAgICAgLy8gRG8gc29tZSBzYW5pdHkgY2hlY2tpbmcuCi0gICAg
aWYgKHN0YXJ0RnJhbWUgPj0gYnVmZmVyTGVuZ3RoKQotICAgICAgICBzdGFydEZyYW1lID0gIWJ1
ZmZlckxlbmd0aCA/IDAgOiBidWZmZXJMZW5ndGggLSAxOwogICAgIGlmIChlbmRGcmFtZSA+IGJ1
ZmZlckxlbmd0aCkKICAgICAgICAgZW5kRnJhbWUgPSBidWZmZXJMZW5ndGg7CiAgICAgaWYgKG1f
dmlydHVhbFJlYWRJbmRleCA+PSBlbmRGcmFtZSkKLSAgICAgICAgbV92aXJ0dWFsUmVhZEluZGV4
ID0gc3RhcnRGcmFtZTsgLy8gcmVzZXQgdG8gc3RhcnQKKyAgICAgICAgbV92aXJ0dWFsUmVhZElu
ZGV4ID0gMDsgLy8gcmVzZXQgdG8gc3RhcnQKIAogICAgIC8vIElmIHRoZSAubG9vcCBhdHRyaWJ1
dGUgaXMgdHJ1ZSwgdGhlbiB2YWx1ZXMgb2YgbV9sb29wU3RhcnQgPT0gMCAmJiBtX2xvb3BFbmQg
PT0gMCBpbXBsaWVzCiAgICAgLy8gdGhhdCB3ZSBzaG91bGQgdXNlIHRoZSBlbnRpcmUgYnVmZmVy
IGFzIHRoZSBsb29wLCBvdGhlcndpc2UgdXNlIHRoZSBsb29wIHZhbHVlcyBpbiBtX2xvb3BTdGFy
dCBhbmQgbV9sb29wRW5kLgogICAgIGRvdWJsZSB2aXJ0dWFsRW5kRnJhbWUgPSBlbmRGcmFtZTsK
LSAgICBkb3VibGUgdmlydHVhbERlbHRhRnJhbWVzID0gZW5kRnJhbWUgLSBzdGFydEZyYW1lOwor
ICAgIGRvdWJsZSB2aXJ0dWFsRGVsdGFGcmFtZXMgPSBlbmRGcmFtZTsKIAogICAgIGlmIChsb29w
KCkgJiYgKG1fbG9vcFN0YXJ0IHx8IG1fbG9vcEVuZCkgJiYgbV9sb29wU3RhcnQgPj0gMCAmJiBt
X2xvb3BFbmQgPiAwICYmIG1fbG9vcFN0YXJ0IDwgbV9sb29wRW5kKSB7CiAgICAgICAgIC8vIENv
bnZlcnQgZnJvbSBzZWNvbmRzIHRvIHNhbXBsZS1mcmFtZXMuCkBAIC0yMzQsNiArMjI1LDcgQEAg
Ym9vbCBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OnJlbmRlckZyb21CdWZmZXIoQXVkaW9CdXMqIGJ1
cywgdW5zaWduZWQgZGVzdGluYXRpb24KICAgICAgICAgdmlydHVhbERlbHRhRnJhbWVzID0gdmly
dHVhbEVuZEZyYW1lIC0gbG9vcFN0YXJ0RnJhbWU7CiAgICAgfQogCisKICAgICBkb3VibGUgcGl0
Y2hSYXRlID0gdG90YWxQaXRjaFJhdGUoKTsKIAogICAgIC8vIFNhbml0eSBjaGVjayB0aGF0IG91
ciBwbGF5YmFjayByYXRlIGlzbid0IGxhcmdlciB0aGFuIHRoZSBsb29wIHNpemUuCkBAIC0zNzIs
NiArMzY0LDEyIEBAIHVuc2lnbmVkIEF1ZGlvQnVmZmVyU291cmNlTm9kZTo6bnVtYmVyT2ZDaGFu
bmVscygpCiAgICAgcmV0dXJuIG91dHB1dCgwKS0+bnVtYmVyT2ZDaGFubmVscygpOwogfQogCit2
b2lkIEF1ZGlvQnVmZmVyU291cmNlTm9kZTo6c3RhcnRHcmFpbihkb3VibGUgd2hlbiwgZG91Ymxl
IGdyYWluT2Zmc2V0KQoreworICAgIC8vIER1cmF0aW9uIG9mIDAgaGFzIHNwZWNpYWwgdmFsdWUs
IG1lYW5pbmcgY2FsY3VsYXRlIGJhc2VkIG9uIHRoZSBlbnRpcmUgYnVmZmVyJ3MgZHVyYXRpb24u
CisgICAgc3RhcnRHcmFpbih3aGVuLCBncmFpbk9mZnNldCwgMCk7Cit9CisKIHZvaWQgQXVkaW9C
dWZmZXJTb3VyY2VOb2RlOjpzdGFydEdyYWluKGRvdWJsZSB3aGVuLCBkb3VibGUgZ3JhaW5PZmZz
ZXQsIGRvdWJsZSBncmFpbkR1cmF0aW9uKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CkBAIC0zODUsMjEgKzM4MywyMiBAQCB2b2lkIEF1ZGlvQnVmZmVyU291cmNlTm9kZTo6c3RhcnRH
cmFpbihkb3VibGUgd2hlbiwgZG91YmxlIGdyYWluT2Zmc2V0LCBkb3VibGUgZwogICAgIC8vIERv
IHNhbml0eSBjaGVja2luZyBvZiBncmFpbiBwYXJhbWV0ZXJzIHZlcnN1cyBidWZmZXIgc2l6ZS4K
ICAgICBkb3VibGUgYnVmZmVyRHVyYXRpb24gPSBidWZmZXIoKS0+ZHVyYXRpb24oKTsKIAotICAg
IGlmIChncmFpbkR1cmF0aW9uID4gYnVmZmVyRHVyYXRpb24pCi0gICAgICAgIHJldHVybjsgLy8g
RklYTUU6IG1heWJlIHNob3VsZCB0aHJvdyBleGNlcHRpb24gLSBjb25zaWRlciBpbiBzcGVjaWZp
Y2F0aW9uLgotICAgIAotICAgIGRvdWJsZSBtYXhHcmFpbk9mZnNldCA9IGJ1ZmZlckR1cmF0aW9u
IC0gZ3JhaW5EdXJhdGlvbjsKLSAgICBtYXhHcmFpbk9mZnNldCA9IG1heCgwLjAsIG1heEdyYWlu
T2Zmc2V0KTsKLQogICAgIGdyYWluT2Zmc2V0ID0gbWF4KDAuMCwgZ3JhaW5PZmZzZXQpOwotICAg
IGdyYWluT2Zmc2V0ID0gbWluKG1heEdyYWluT2Zmc2V0LCBncmFpbk9mZnNldCk7CisgICAgZ3Jh
aW5PZmZzZXQgPSBtaW4oYnVmZmVyRHVyYXRpb24sIGdyYWluT2Zmc2V0KTsKICAgICBtX2dyYWlu
T2Zmc2V0ID0gZ3JhaW5PZmZzZXQ7CiAKKyAgICAvLyBIYW5kbGUgZGVmYXVsdC91bnNwZWNpZmll
ZCBkdXJhdGlvbi4KKyAgICBkb3VibGUgbWF4RHVyYXRpb24gPSBidWZmZXJEdXJhdGlvbiAtIGdy
YWluT2Zmc2V0OworICAgIGlmICghZ3JhaW5EdXJhdGlvbikKKyAgICAgICAgZ3JhaW5EdXJhdGlv
biA9IG1heER1cmF0aW9uOworCisgICAgZ3JhaW5EdXJhdGlvbiA9IG1heCgwLjAsIGdyYWluRHVy
YXRpb24pOworICAgIGdyYWluRHVyYXRpb24gPSBtaW4obWF4RHVyYXRpb24sIGdyYWluRHVyYXRp
b24pOwogICAgIG1fZ3JhaW5EdXJhdGlvbiA9IGdyYWluRHVyYXRpb247Ci0gICAgCisKICAgICBt
X2lzR3JhaW4gPSB0cnVlOwogICAgIG1fc3RhcnRUaW1lID0gd2hlbjsKLQorICAgIAogICAgIC8v
IFdlIGNhbGwgdGltZVRvU2FtcGxlRnJhbWUgaGVyZSBzaW5jZSBhdCBwbGF5YmFja1JhdGUgPT0g
MSB3ZSBkb24ndCB3YW50IHRvIGdvIHRocm91Z2ggbGluZWFyIGludGVycG9sYXRpb24KICAgICAv
LyBhdCBhIHN1Yi1zYW1wbGUgcG9zaXRpb24gc2luY2UgaXQgd2lsbCBkZWdyYWRlIHRoZSBxdWFs
aXR5LgogICAgIC8vIFdoZW4gYWxpZ25lZCB0byB0aGUgc2FtcGxlLWZyYW1lIHRoZSBwbGF5YmFj
ayB3aWxsIGJlIGlkZW50aWNhbCB0byB0aGUgUENNIGRhdGEgc3RvcmVkIGluIHRoZSBidWZmZXIu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVy
U291cmNlTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZl
clNvdXJjZU5vZGUuaAppbmRleCAyZTJiYzQyY2QzY2IxNzRjZmIyNDFiZWNlZjU2ZmZmMTQwMTgw
MzE3Li5mYzU2OTliNjIzNTMwMmE0ZDA4MTQ4MWE1ZDRiZWU2NGVjMDU1OWFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VO
b2RlLmgKQEAgLTYyLDYgKzYyLDcgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG51bWJlck9mQ2hh
bm5lbHMoKTsKICAgICAgICAgICAgICAgICAgICAgCiAgICAgLy8gUGxheS1zdGF0ZQorICAgIHZv
aWQgc3RhcnRHcmFpbihkb3VibGUgd2hlbiwgZG91YmxlIGdyYWluT2Zmc2V0KTsKICAgICB2b2lk
IHN0YXJ0R3JhaW4oZG91YmxlIHdoZW4sIGRvdWJsZSBncmFpbk9mZnNldCwgZG91YmxlIGdyYWlu
RHVyYXRpb24pOwogCiAjaWYgRU5BQkxFKExFR0FDWV9XRUJfQVVESU8pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5p
ZGwKaW5kZXggNDk4OGYwY2Y0M2IxOWMxZTdhNTk1NzZiNDI3ODdlNGZiNWU5NTYwNS4uMDc4YjBi
N2YyYzk5YzA0M2QwZjcxNTIyNTZmZDEyYjY1OWE3YzZiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmlkbApA
QCAtNDYsNiArNDYsNyBAQAogICAgIGF0dHJpYnV0ZSBkb3VibGUgbG9vcEVuZDsKIAogICAgIFtW
OE1lYXN1cmVBcz1XZWJBdWRpb1N0YXJ0XSB2b2lkIHN0YXJ0KGluIGRvdWJsZSB3aGVuKTsKKyAg
ICBbVjhNZWFzdXJlQXM9V2ViQXVkaW9TdGFydCwgSW1wbGVtZW50ZWRBcz1zdGFydEdyYWluXSB2
b2lkIHN0YXJ0KGluIGRvdWJsZSB3aGVuLCBpbiBkb3VibGUgZ3JhaW5PZmZzZXQpOwogICAgIFtW
OE1lYXN1cmVBcz1XZWJBdWRpb1N0YXJ0LCBJbXBsZW1lbnRlZEFzPXN0YXJ0R3JhaW5dIHZvaWQg
c3RhcnQoaW4gZG91YmxlIHdoZW4sIGluIGRvdWJsZSBncmFpbk9mZnNldCwgaW4gZG91YmxlIGdy
YWluRHVyYXRpb24pOwogICAgIHZvaWQgc3RvcChpbiBkb3VibGUgd2hlbik7CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBm
YTMwODIwMmUwNzkwMmVkMDMwNDYxODE4NmVkM2I2MWQ3MDg4ZDRmLi4xYmVlZTBmMmMxNzM2NmE0
YmUzYTI4ODdlZDQwMTg4MGM3ODg5NmY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMTAt
MzEgIENocmlzIFJvZ2VycyAgPGNyb2dlcnNAZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1l
bnQgb3B0aW9uYWwgYXJndW1lbnRzIGluIEF1ZGlvQnVmZmVyU291cmNlTm9kZSBzdGFydCgpIG1l
dGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAw
ODk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3
ZWJhdWRpby9hdWRpb2J1ZmZlcnNvdXJjZS1sb29wLWNvbXByZWhlbnNpdmUuaHRtbDoKKyAgICAg
ICAgKiB3ZWJhdWRpby9hdWRpb2J1ZmZlcnNvdXJjZS1zdGFydC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmF1ZGlvL2F1ZGlvYnVmZmVyc291cmNlLXN0YXJ0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYmF1ZGlvL3Jlc291cmNlcy9hdWRpb2J1ZmZlcnNvdXJjZS10ZXN0aW5n
LmpzOiBBZGRlZC4KKyAgICAgICAgKGNyZWF0ZVRlc3RCdWZmZXIpOgorICAgICAgICAoY2hlY2tT
aW5nbGVUZXN0KToKKyAgICAgICAgKGNoZWNrQWxsVGVzdHMpOgorCiAyMDEyLTEwLTI5ICBBbHBo
YSBMYW0gIDxoY2xhbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW3NraWFdIEhhbmRsZSBtYXNr
IGJveCBpbWFnZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvYnVmZmVy
c291cmNlLWxvb3AtY29tcHJlaGVuc2l2ZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVk
aW9idWZmZXJzb3VyY2UtbG9vcC1jb21wcmVoZW5zaXZlLmh0bWwKaW5kZXggNTRjYzg0M2NkNGU4
MTNkZDI2MDIwOThiZjVlOWFkZTA5NDVlNzAzYS4uMjUyMDY5ZmFhZjkwYzZiNDM4NzZjNzViMjMz
ZTY2Njk5NWQ5MDM0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9idWZm
ZXJzb3VyY2UtbG9vcC1jb21wcmVoZW5zaXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vYXVkaW9idWZmZXJzb3VyY2UtbG9vcC1jb21wcmVoZW5zaXZlLmh0bWwKQEAgLTQsNiArNCw3
IEBACiA8aGVhZD4KIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYXVkaW8t
dGVzdGluZy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2F1ZGlvYnVmZmVy
c291cmNlLXRlc3RpbmcuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIApAQCAtNjksMTcgKzcw
LDYgQEAgdmFyIHRlc3RTcGFjaW5nRnJhbWVzID0gMzI7CiB2YXIgdGVzdFNwYWNpbmdTZWNvbmRz
ID0gdGVzdFNwYWNpbmdGcmFtZXMgLyBzYW1wbGVSYXRlOwogdmFyIHRvdGFsUmVuZGVyTGVuZ3Ro
RnJhbWVzID0gdGVzdHMubGVuZ3RoICogdGVzdFNwYWNpbmdGcmFtZXM7CiAKLWZ1bmN0aW9uIGNy
ZWF0ZVRlc3RCdWZmZXIoY29udGV4dCwgc2FtcGxlRnJhbWVMZW5ndGgpIHsKLSAgICB2YXIgYXVk
aW9CdWZmZXIgPSBjb250ZXh0LmNyZWF0ZUJ1ZmZlcigxLCBzYW1wbGVGcmFtZUxlbmd0aCwgY29u
dGV4dC5zYW1wbGVSYXRlKTsKLSAgICB2YXIgY2hhbm5lbERhdGEgPSBhdWRpb0J1ZmZlci5nZXRD
aGFubmVsRGF0YSgwKTsKLQotICAgIC8vIENyZWF0ZSBhIHNpbXBsZSBsaW5lYXIgcmFtcCBzdGFy
dGluZyBhdCB6ZXJvLCB3aXRoIGVhY2ggdmFsdWUgaW4gdGhlIGJ1ZmZlciBlcXVhbCB0byBpdHMg
aW5kZXggcG9zaXRpb24uCi0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzYW1wbGVGcmFtZUxlbmd0
aDsgKytpKQotICAgICAgICBjaGFubmVsRGF0YVtpXSA9IGk7Ci0KLSAgICByZXR1cm4gYXVkaW9C
dWZmZXI7Ci19Ci0KIGZ1bmN0aW9uIHJ1bkxvb3BUZXN0KGNvbnRleHQsIHRlc3ROdW1iZXIsIHRl
c3QpIHsKICAgICB2YXIgc291cmNlID0gY29udGV4dC5jcmVhdGVCdWZmZXJTb3VyY2UoKTsKIApA
QCAtOTgsNDUgKzg4LDYgQEAgZnVuY3Rpb24gcnVuTG9vcFRlc3QoY29udGV4dCwgdGVzdE51bWJl
ciwgdGVzdCkgewogICAgIHNvdXJjZS5zdG9wKHN0YXJ0VGltZSArIGR1cmF0aW9uKTsKIH0KIAot
ZnVuY3Rpb24gY2hlY2tTaW5nbGVUZXN0KHJlbmRlcmVkQnVmZmVyLCBpKSB7Ci0gICAgdmFyIHJl
bmRlcmVkRGF0YSA9IHJlbmRlcmVkQnVmZmVyLmdldENoYW5uZWxEYXRhKDApOwotICAgIHZhciBv
ZmZzZXRGcmFtZSA9IGkgKiB0ZXN0U3BhY2luZ0ZyYW1lczsKLQotICAgIHZhciB0ZXN0ID0gdGVz
dHNbaV07Ci0gICAgdmFyIGRlc2NyaXB0aW9uID0gdGVzdC5kZXNjcmlwdGlvbjsKLSAgICB2YXIg
ZXhwZWN0ZWQgPSB0ZXN0LmV4cGVjdGVkOwotCi0gICAgdmFyIHN1Y2Nlc3MgPSB0cnVlOwotCi0g
ICAgZm9yICh2YXIgaiA9IDA7IGogPCB0ZXN0LnJlbmRlckZyYW1lczsgKytqKSB7Ci0gICAgICAg
IGlmIChleHBlY3RlZFtqXSAhPSByZW5kZXJlZERhdGFbb2Zmc2V0RnJhbWUgKyBqXSkgewotICAg
ICAgICAgICAgLy8gQ29weSBmcm9tIEZsb2F0MzJBcnJheSB0byByZWd1bGFyIEphdmFTY3JpcHQg
YXJyYXkgZm9yIGVycm9yIG1lc3NhZ2UuCi0gICAgICAgICAgICB2YXIgcmVuZGVyZWRBcnJheSA9
IG5ldyBBcnJheSgpOwotICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCB0ZXN0LnJlbmRl
ckZyYW1lczsgKytqKQotICAgICAgICAgICAgICAgIHJlbmRlcmVkQXJyYXlbal0gPSByZW5kZXJl
ZERhdGFbb2Zmc2V0RnJhbWUgKyBqXTsKLQotICAgICAgICAgICAgdmFyIHMgPSBkZXNjcmlwdGlv
biArICI6IGV4cGVjdGVkOiAiICsgZXhwZWN0ZWQgKyAiIGFjdHVhbDogIiArIHJlbmRlcmVkQXJy
YXk7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKHMpOwotICAgICAgICAgICAgc3VjY2VzcyA9IGZh
bHNlOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoc3Vj
Y2VzcykKLSAgICAgICAgdGVzdFBhc3NlZChkZXNjcmlwdGlvbik7Ci0KLSAgICByZXR1cm4gc3Vj
Y2VzczsKLX0KLQotZnVuY3Rpb24gY2hlY2tMb29wUmVzdWx0cyhldmVudCkgewotICAgIHZhciBy
ZW5kZXJlZEJ1ZmZlciA9IGV2ZW50LnJlbmRlcmVkQnVmZmVyOwotICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgdGVzdHMubGVuZ3RoOyArK2kpCi0gICAgICAgIGNoZWNrU2luZ2xlVGVzdChyZW5kZXJl
ZEJ1ZmZlciwgaSk7Ci0KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpCi19Ci0KIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwpAQCAt
MTUyLDcgKzEwMyw3IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCB0ZXN0cy5sZW5ndGg7ICsraSkKICAgICAgICAgcnVuTG9vcFRlc3QoY29udGV4dCwgaSwg
dGVzdHNbaV0pOwogCi0gICAgY29udGV4dC5vbmNvbXBsZXRlID0gY2hlY2tMb29wUmVzdWx0czsK
KyAgICBjb250ZXh0Lm9uY29tcGxldGUgPSBjaGVja0FsbFRlc3RzOwogICAgIGNvbnRleHQuc3Rh
cnRSZW5kZXJpbmcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVk
aW9idWZmZXJzb3VyY2Utc3RhcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8v
YXVkaW9idWZmZXJzb3VyY2Utc3RhcnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkZjUzMTU4
ZWI5ZjRiZTNjYjhhNzEwY2JjY2Q0NzM3NWE5MjVjNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJhdWRpby9hdWRpb2J1ZmZlcnNvdXJjZS1zdGFydC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMCBAQAorVGVzdHMgQXVkaW9CdWZmZXJTb3VyY2VOb2RlIHN0YXJ0KCkgd2l0aCBh
IHZhcmlldHkgb2Ygb2Zmc2V0cyBhbmQgZHVyYXRpb25zLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1Mgc3RhcnQod2hlbik6IGltcGxpY2l0bHkgcGxheSB3aG9sZSBidWZmZXIg
ZnJvbSBiZWdpbm5pbmcgdG8gZW5kCitQQVNTIHN0YXJ0KHdoZW4sIDApOiBwbGF5IHdob2xlIGJ1
ZmZlciBmcm9tIGJlZ2lubmluZyB0byBlbmQgZXhwbGljaXRseSBnaXZpbmcgb2Zmc2V0IG9mIDAK
K1BBU1Mgc3RhcnQod2hlbiwgMCwgOF9mcmFtZXMpOiBwbGF5IHdob2xlIGJ1ZmZlciBmcm9tIGJl
Z2lubmluZyB0byBlbmQgZXhwbGljaXRseSBnaXZpbmcgb2Zmc2V0IG9mIDAgYW5kIGR1cmF0aW9u
IG9mIDggZnJhbWVzCitQQVNTIHN0YXJ0KHdoZW4sIDRfZnJhbWVzKTogcGxheSB3aXRoIGV4cGxp
Y2l0IG5vbi16ZXJvIG9mZnNldAorUEFTUyBzdGFydCh3aGVuLCA0X2ZyYW1lcywgNF9mcmFtZXMp
OiBwbGF5IHdpdGggZXhwbGljaXQgbm9uLXplcm8gb2Zmc2V0IGFuZCBkdXJhdGlvbgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb2J1ZmZlcnNvdXJjZS1zdGFydC5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9idWZmZXJzb3VyY2Utc3RhcnQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iNjk3YjdlMzk5NTczMzk4MzE3Y2NhN2VjYmQwYmMyODA0ZTdjZjk2Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9idWZmZXJzb3VyY2Utc3RhcnQu
aHRtbApAQCAtMCwwICsxLDEwMCBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2F1ZGlvLXRlc3RpbmcuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9hdWRpb2J1ZmZlcnNvdXJjZS10ZXN0
aW5nLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorCis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCJUZXN0cyBBdWRpb0J1ZmZlclNvdXJjZU5vZGUgc3RhcnQoKSB3aXRoIGEgdmFy
aWV0eSBvZiBvZmZzZXRzIGFuZCBkdXJhdGlvbnMuIik7CisKKy8vIFRoZSBmb2xsb3dpbmcgdGVz
dCBjYXNlcyBhc3N1bWUgYW4gQXVkaW9CdWZmZXIgb2YgbGVuZ3RoIDggd2hvc2UgUENNIGRhdGEg
aXMgYSBsaW5lYXIgcmFtcCwgMCwgMSwgMiwgMywuLi4KKwordmFyIHRlc3RzID0gWworCit7IGRl
c2NyaXB0aW9uOiAic3RhcnQod2hlbik6IGltcGxpY2l0bHkgcGxheSB3aG9sZSBidWZmZXIgZnJv
bSBiZWdpbm5pbmcgdG8gZW5kIiwKKyAgb2Zmc2V0RnJhbWU6ICJub25lIiwgZHVyYXRpb25GcmFt
ZXM6ICJub25lIiwgcmVuZGVyRnJhbWVzOiAxNiwgcGxheWJhY2tSYXRlOiAxLCBleHBlY3RlZDog
WzAsMSwyLDMsNCw1LDYsNywwLDAsMCwwLDAsMCwwLDBdIH0sCisKK3sgZGVzY3JpcHRpb246ICJz
dGFydCh3aGVuLCAwKTogcGxheSB3aG9sZSBidWZmZXIgZnJvbSBiZWdpbm5pbmcgdG8gZW5kIGV4
cGxpY2l0bHkgZ2l2aW5nIG9mZnNldCBvZiAwIiwKKyAgb2Zmc2V0RnJhbWU6IDAsIGR1cmF0aW9u
RnJhbWVzOiAibm9uZSIsIHJlbmRlckZyYW1lczogMTYsIHBsYXliYWNrUmF0ZTogMSwgZXhwZWN0
ZWQ6IFswLDEsMiwzLDQsNSw2LDcsMCwwLDAsMCwwLDAsMCwwXSB9LAorCit7IGRlc2NyaXB0aW9u
OiAic3RhcnQod2hlbiwgMCwgOF9mcmFtZXMpOiBwbGF5IHdob2xlIGJ1ZmZlciBmcm9tIGJlZ2lu
bmluZyB0byBlbmQgZXhwbGljaXRseSBnaXZpbmcgb2Zmc2V0IG9mIDAgYW5kIGR1cmF0aW9uIG9m
IDggZnJhbWVzIiwKKyAgb2Zmc2V0RnJhbWU6IDAsIGR1cmF0aW9uRnJhbWVzOiA4LCByZW5kZXJG
cmFtZXM6IDE2LCBwbGF5YmFja1JhdGU6IDEsIGV4cGVjdGVkOiBbMCwxLDIsMyw0LDUsNiw3LDAs
MCwwLDAsMCwwLDAsMF0gfSwKKworeyBkZXNjcmlwdGlvbjogInN0YXJ0KHdoZW4sIDRfZnJhbWVz
KTogcGxheSB3aXRoIGV4cGxpY2l0IG5vbi16ZXJvIG9mZnNldCIsCisgIG9mZnNldEZyYW1lOiA0
LCBkdXJhdGlvbkZyYW1lczogIm5vbmUiLCByZW5kZXJGcmFtZXM6IDE2LCBwbGF5YmFja1JhdGU6
IDEsIGV4cGVjdGVkOiBbNCw1LDYsNywwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0gfSwKKworeyBk
ZXNjcmlwdGlvbjogInN0YXJ0KHdoZW4sIDRfZnJhbWVzLCA0X2ZyYW1lcyk6IHBsYXkgd2l0aCBl
eHBsaWNpdCBub24temVybyBvZmZzZXQgYW5kIGR1cmF0aW9uIiwKKyAgb2Zmc2V0RnJhbWU6IDQs
IGR1cmF0aW9uRnJhbWVzOiA0LCByZW5kZXJGcmFtZXM6IDE2LCBwbGF5YmFja1JhdGU6IDEsIGV4
cGVjdGVkOiBbNCw1LDYsNywwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0gfSwKKworLy8gRW5hYmxl
IHRlc3Qgd2hlbiBBdWRpb0J1ZmZlclNvdXJjZU5vZGUgaGFjayBpcyBmaXhlZDogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjI0CisvLyB7IGRlc2NyaXB0aW9uOiAi
c3RhcnQod2hlbiwgM19mcmFtZXMsIDNfZnJhbWVzKTogcGxheSBhIG1pZGRsZSBzZWN0aW9uIHdp
dGggZXhwbGljaXQgb2Zmc2V0IGFuZCBkdXJhdGlvbiIsCisvLyAgIG9mZnNldEZyYW1lOiAzLCBk
dXJhdGlvbkZyYW1lczogMywgcmVuZGVyRnJhbWVzOiAxNiwgcGxheWJhY2tSYXRlOiAxLCBleHBl
Y3RlZDogWzQsNSw2LDcsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdIH0sCisKK107CisKK3ZhciBz
YW1wbGVSYXRlID0gNDQxMDA7Cit2YXIgYnVmZmVyOwordmFyIGJ1ZmZlckZyYW1lTGVuZ3RoID0g
ODsKK3ZhciB0ZXN0U3BhY2luZ0ZyYW1lcyA9IDMyOwordmFyIHRlc3RTcGFjaW5nU2Vjb25kcyA9
IHRlc3RTcGFjaW5nRnJhbWVzIC8gc2FtcGxlUmF0ZTsKK3ZhciB0b3RhbFJlbmRlckxlbmd0aEZy
YW1lcyA9IHRlc3RzLmxlbmd0aCAqIHRlc3RTcGFjaW5nRnJhbWVzOworCitmdW5jdGlvbiBydW5M
b29wVGVzdChjb250ZXh0LCB0ZXN0TnVtYmVyLCB0ZXN0KSB7CisgICAgdmFyIHNvdXJjZSA9IGNv
bnRleHQuY3JlYXRlQnVmZmVyU291cmNlKCk7CisKKyAgICBzb3VyY2UuYnVmZmVyID0gYnVmZmVy
OworICAgIHNvdXJjZS5wbGF5YmFja1JhdGUudmFsdWUgPSB0ZXN0LnBsYXliYWNrUmF0ZTsKKwor
ICAgIHNvdXJjZS5jb25uZWN0KGNvbnRleHQuZGVzdGluYXRpb24pOworCisgICAgLy8gUmVuZGVy
IGVhY2ggdGVzdCBvbmUgYWZ0ZXIgdGhlIG90aGVyLCBzcGFjZWQgYXBhcnQgYnkgdGVzdFNwYWNp
bmdTZWNvbmRzLgorICAgIHZhciBzdGFydFRpbWUgPSB0ZXN0TnVtYmVyICogdGVzdFNwYWNpbmdT
ZWNvbmRzOworCisgICAgaWYgKHRlc3Qub2Zmc2V0RnJhbWUgPT0gIm5vbmUiICYmIHRlc3QuZHVy
YXRpb25GcmFtZXMgPT0gIm5vbmUiKSB7CisgICAgICAgIHNvdXJjZS5zdGFydChzdGFydFRpbWUp
OworICAgIH0gZWxzZSBpZiAodGVzdC5kdXJhdGlvbkZyYW1lcyA9PSAibm9uZSIpIHsKKyAgICAg
ICAgdmFyIG9mZnNldCA9IHRlc3Qub2Zmc2V0RnJhbWUgLyBjb250ZXh0LnNhbXBsZVJhdGU7Cisg
ICAgICAgIHNvdXJjZS5zdGFydChzdGFydFRpbWUsIG9mZnNldCk7CisgICAgfSBlbHNlIHsKKyAg
ICAgICAgdmFyIG9mZnNldCA9IHRlc3Qub2Zmc2V0RnJhbWUgLyBjb250ZXh0LnNhbXBsZVJhdGU7
CisgICAgICAgIHZhciBkdXJhdGlvbiA9IHRlc3QuZHVyYXRpb25GcmFtZXMgLyBjb250ZXh0LnNh
bXBsZVJhdGU7CisgICAgICAgIHNvdXJjZS5zdGFydChzdGFydFRpbWUsIG9mZnNldCwgZHVyYXRp
b24pOworICAgIH0KK30KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIHdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgIC8vIENyZWF0ZSBvZmZsaW5lIGF1ZGlvIGNvbnRleHQuCisgICAg
dmFyIGNvbnRleHQgPSBuZXcgd2Via2l0QXVkaW9Db250ZXh0KDEsIHRvdGFsUmVuZGVyTGVuZ3Ro
RnJhbWVzLCBzYW1wbGVSYXRlKTsKKyAgICBidWZmZXIgPSBjcmVhdGVUZXN0QnVmZmVyKGNvbnRl
eHQsIGJ1ZmZlckZyYW1lTGVuZ3RoKTsKKworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGVzdHMu
bGVuZ3RoOyArK2kpCisgICAgICAgIHJ1bkxvb3BUZXN0KGNvbnRleHQsIGksIHRlc3RzW2ldKTsK
KworICAgIGNvbnRleHQub25jb21wbGV0ZSA9IGNoZWNrQWxsVGVzdHM7CisgICAgY29udGV4dC5z
dGFydFJlbmRlcmluZygpOworfQorCitydW5UZXN0KCk7CitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvYXVkaW9idWZmZXJzb3VyY2UtdGVzdGluZy5q
cyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9hdWRpb2J1ZmZlcnNvdXJjZS10ZXN0
aW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA2MWE1OTNmMzZiNTI5NjYyMzhkZDk3OGY1MmQ3YmFiZTIyYmY0
YjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvYXVk
aW9idWZmZXJzb3VyY2UtdGVzdGluZy5qcwpAQCAtMCwwICsxLDQ5IEBACitmdW5jdGlvbiBjcmVh
dGVUZXN0QnVmZmVyKGNvbnRleHQsIHNhbXBsZUZyYW1lTGVuZ3RoKSB7CisgICAgdmFyIGF1ZGlv
QnVmZmVyID0gY29udGV4dC5jcmVhdGVCdWZmZXIoMSwgc2FtcGxlRnJhbWVMZW5ndGgsIGNvbnRl
eHQuc2FtcGxlUmF0ZSk7CisgICAgdmFyIGNoYW5uZWxEYXRhID0gYXVkaW9CdWZmZXIuZ2V0Q2hh
bm5lbERhdGEoMCk7CisKKyAgICAvLyBDcmVhdGUgYSBzaW1wbGUgbGluZWFyIHJhbXAgc3RhcnRp
bmcgYXQgemVybywgd2l0aCBlYWNoIHZhbHVlIGluIHRoZSBidWZmZXIgZXF1YWwgdG8gaXRzIGlu
ZGV4IHBvc2l0aW9uLgorICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2FtcGxlRnJhbWVMZW5ndGg7
ICsraSkKKyAgICAgICAgY2hhbm5lbERhdGFbaV0gPSBpOworCisgICAgcmV0dXJuIGF1ZGlvQnVm
ZmVyOworfQorCitmdW5jdGlvbiBjaGVja1NpbmdsZVRlc3QocmVuZGVyZWRCdWZmZXIsIGkpIHsK
KyAgICB2YXIgcmVuZGVyZWREYXRhID0gcmVuZGVyZWRCdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7
CisgICAgdmFyIG9mZnNldEZyYW1lID0gaSAqIHRlc3RTcGFjaW5nRnJhbWVzOworCisgICAgdmFy
IHRlc3QgPSB0ZXN0c1tpXTsKKyAgICB2YXIgZGVzY3JpcHRpb24gPSB0ZXN0LmRlc2NyaXB0aW9u
OworICAgIHZhciBleHBlY3RlZCA9IHRlc3QuZXhwZWN0ZWQ7CisKKyAgICB2YXIgc3VjY2VzcyA9
IHRydWU7CisKKyAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRlc3QucmVuZGVyRnJhbWVzOyArK2op
IHsKKyAgICAgICAgaWYgKGV4cGVjdGVkW2pdICE9IHJlbmRlcmVkRGF0YVtvZmZzZXRGcmFtZSAr
IGpdKSB7CisgICAgICAgICAgICAvLyBDb3B5IGZyb20gRmxvYXQzMkFycmF5IHRvIHJlZ3VsYXIg
SmF2YVNjcmlwdCBhcnJheSBmb3IgZXJyb3IgbWVzc2FnZS4KKyAgICAgICAgICAgIHZhciByZW5k
ZXJlZEFycmF5ID0gbmV3IEFycmF5KCk7CisgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8
IHRlc3QucmVuZGVyRnJhbWVzOyArK2opCisgICAgICAgICAgICAgICAgcmVuZGVyZWRBcnJheVtq
XSA9IHJlbmRlcmVkRGF0YVtvZmZzZXRGcmFtZSArIGpdOworCisgICAgICAgICAgICB2YXIgcyA9
IGRlc2NyaXB0aW9uICsgIjogZXhwZWN0ZWQ6ICIgKyBleHBlY3RlZCArICIgYWN0dWFsOiAiICsg
cmVuZGVyZWRBcnJheTsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQocyk7CisgICAgICAgICAgICBz
dWNjZXNzID0gZmFsc2U7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIGlmIChzdWNjZXNzKQorICAgICAgICB0ZXN0UGFzc2VkKGRlc2NyaXB0aW9uKTsKKworICAg
IHJldHVybiBzdWNjZXNzOworfQorCitmdW5jdGlvbiBjaGVja0FsbFRlc3RzKGV2ZW50KSB7Cisg
ICAgdmFyIHJlbmRlcmVkQnVmZmVyID0gZXZlbnQucmVuZGVyZWRCdWZmZXI7CisgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7ICsraSkKKyAgICAgICAgY2hlY2tTaW5nbGVUZXN0
KHJlbmRlcmVkQnVmZmVyLCBpKTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCkKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>