<?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>45487</bug_id>
          
          <creation_ts>2010-09-09 13:21:06 -0700</creation_ts>
          <short_desc>TypedArray should throw exception if length not a multiple of element size</short_desc>
          <delta_ts>2010-11-04 17:53:10 -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>WebGL</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>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrienne Walker">enne</reporter>
          <assigned_to name="Zhenyao Mo">zmo</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>enne</cc>
    
    <cc>kbr</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>276700</commentid>
    <comment_count>0</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2010-09-09 13:21:06 -0700</bug_when>
    <thetext>From the Typed Array spec: &quot;If length is not explicitly specified, the length of the ArrayBuffer minus the byteOffset must be a multiple of the element size of the specific type, or an exception is raised.&quot;

Therefore, this code should throw an exception, but currently doesn&apos;t:

var buffer = new ArrayBuffer(1);
var buf = new Uint16Array(buffer);

Once fixed, this test case should be added to the Khronos array-unit-tests.html conformance test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293732</commentid>
    <comment_count>1</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2010-10-13 14:51:35 -0700</bug_when>
    <thetext>(In reply to comment #0)

&gt; Once fixed, this test case should be added to the Khronos array-unit-tests.html conformance test.

kbr went ahead and updated the conformance test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304999</commentid>
    <comment_count>2</comment_count>
      <attachid>73005</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-11-04 16:44:05 -0700</bug_when>
    <thetext>Created attachment 73005
patch

Tests are synced with khronos.

Tested in both Chromium and Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305046</commentid>
    <comment_count>3</comment_count>
      <attachid>73005</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-11-04 17:42:24 -0700</bug_when>
    <thetext>Comment on attachment 73005
patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305054</commentid>
    <comment_count>4</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-11-04 17:53:10 -0700</bug_when>
    <thetext>Committed r71371: &lt;http://trac.webkit.org/changeset/71371&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73005</attachid>
            <date>2010-11-04 16:44:05 -0700</date>
            <delta_ts>2010-11-04 17:42:24 -0700</delta_ts>
            <desc>patch</desc>
            <filename>buffer.patch</filename>
            <type>text/plain</type>
            <size>23953</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTM2NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMTEtMDQgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUeXBlZEFy
cmF5IHNob3VsZCB0aHJvdyBleGNlcHRpb24gaWYgbGVuZ3RoIG5vdCBhIG11bHRpcGxlIG9mIGVs
ZW1lbnQgc2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDU0ODcKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQXJyYXlCdWZmZXJWaWV3SGVscGVy
Lmg6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RBcnJheUJ1ZmZlclZpZXcpOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbS5oOgorICAgICAg
ICAoV2ViQ29yZTo6Y29uc3RydWN0V2ViR0xBcnJheSk6CisKIDIwMTAtMTEtMDQgIEthdml0YSBL
YW5ldGthciAgPGtrYW5ldGthckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
QWRhbSBCYXJ0aC4KSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNBcnJheUJ1ZmZlclZpZXdI
ZWxwZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXJyYXlCdWZmZXJW
aWV3SGVscGVyLmgJKHJldmlzaW9uIDcxMzYxKQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Fy
cmF5QnVmZmVyVmlld0hlbHBlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTUsNiArMTE1LDggQEAg
UGFzc1JlZlB0cjxBcnJheUJ1ZmZlclZpZXc+IGNvbnN0cnVjdEFycgogICAgICAgICBSZWZQdHI8
QXJyYXlCdWZmZXI+IGJ1ZmZlciA9IHRvQXJyYXlCdWZmZXIoZXhlYy0+YXJndW1lbnQoMCkpOwog
ICAgICAgICBpZiAoYnVmZmVyKSB7CiAgICAgICAgICAgICB1bnNpZ25lZCBvZmZzZXQgPSAoZXhl
Yy0+YXJndW1lbnRDb3VudCgpID4gMSkgPyBleGVjLT5hcmd1bWVudCgxKS50b1VJbnQzMihleGVj
KSA6IDA7CisgICAgICAgICAgICBpZiAoKGJ1ZmZlci0+Ynl0ZUxlbmd0aCgpIC0gb2Zmc2V0KSAl
IHNpemVvZihUKSkKKyAgICAgICAgICAgICAgICB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0ZVJhbmdl
RXJyb3IoZXhlYywgIkFycmF5QnVmZmVyIGxlbmd0aCBtaW51cyB0aGUgYnl0ZU9mZnNldCBpcyBu
b3QgYSBtdWx0aXBsZSBvZiB0aGUgZWxlbWVudCBzaXplLiIpKTsKICAgICAgICAgICAgIHVuc2ln
bmVkIGludCBsZW5ndGggPSAoYnVmZmVyLT5ieXRlTGVuZ3RoKCkgLSBvZmZzZXQpIC8gc2l6ZW9m
KFQpOwogICAgICAgICAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA+IDIpCiAgICAgICAg
ICAgICAgICAgbGVuZ3RoID0gZXhlYy0+YXJndW1lbnQoMikudG9VSW50MzIoZXhlYyk7CkluZGV4
OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3
Q3VzdG9tLmgJKHJldmlzaW9uIDcxMzYxKQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhBcnJheUJ1ZmZlclZpZXdDdXN0b20uaAkod29ya2luZyBjb3B5KQpAQCAtOTQsNiArOTQsOCBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29uc3RydWN0V2ViR0xBcnJhCiAgICAgICAgICAgICBp
ZiAoIW9rKQogICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJDb3VsZCBub3QgY29u
dmVydCBhcmd1bWVudCAxIHRvIGEgbnVtYmVyIik7CiAgICAgICAgIH0KKyAgICAgICAgaWYgKChi
dWYtPmJ5dGVMZW5ndGgoKSAtIG9mZnNldCkgJSBzaXplb2YoRWxlbWVudFR5cGUpKQorICAgICAg
ICAgICAgcmV0dXJuIHRocm93RXJyb3IoIkFycmF5QnVmZmVyIGxlbmd0aCBtaW51cyB0aGUgYnl0
ZU9mZnNldCBpcyBub3QgYSBtdWx0aXBsZSBvZiB0aGUgZWxlbWVudCBzaXplLiIsIFY4UHJveHk6
OlJhbmdlRXJyb3IpOwogICAgICAgICB1aW50MzJfdCBsZW5ndGggPSAoYnVmLT5ieXRlTGVuZ3Ro
KCkgLSBvZmZzZXQpIC8gc2l6ZW9mKEVsZW1lbnRUeXBlKTsKICAgICAgICAgaWYgKGFyZ0xlbiA+
IDIpIHsKICAgICAgICAgICAgIGxlbmd0aCA9IHRvVUludDMyKGFyZ3NbMl0sIG9rKTsKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDcxMzY2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTEtMDQgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
eXBlZEFycmF5IHNob3VsZCB0aHJvdyBleGNlcHRpb24gaWYgbGVuZ3RoIG5vdCBhIG11bHRpcGxl
IG9mIGVsZW1lbnQgc2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDU0ODcKKworICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2FycmF5LXVuaXQt
dGVzdHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2FycmF5LXVu
aXQtdGVzdHMuaHRtbDogVGVzdCBhZ2FpbnN0IHRoZSBub24tbXVsdGlwbGljYXRpb24gZXhjZXB0
aW9uIGJlaGF2aW9yLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2dsLWVudW0tdGVzdHMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2dsLWVudW0tdGVzdHMu
aHRtbDogRml4IHRoZSBBcnJheUJ1ZmZlciBzaXplIHNvIGl0IHdvbid0IHRocm93IGFuIGVycm9y
IHdpdGggdGhpcyBwYXRjaC4KKwogMjAxMC0xMS0wNCAgQnJpYW4gV2VpbnN0ZWluICA8YndlaW5z
dGVpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgSm9uIEhvbmV5Y3V0
dC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2FycmF5LXVuaXQtdGVzdHMt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2FycmF5LXVuaXQtdGVzdHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MTM2MSkKKysrIExheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2FycmF5LXVuaXQtdGVzdHMtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0yMCwxMiArMjAsMTQgQEAgUEFTUyB0ZXN0IEZsb2F0MzJBcnJheSBC
b3VuZGFyeUNvbmRpdGlvbgogUEFTUyBDb25zdHJ1Y3Rpb24gb2YgRmxvYXQzMkFycmF5IHdpdGgg
bnVsbCBidWZmZXIgdGhyZXcgZXhjZXB0aW9uCiBQQVNTIENvbnN0cnVjdGlvbiBvZiBGbG9hdDMy
QXJyYXkgd2l0aCAobnVsbCBidWZmZXIsIDApIHRocmV3IGV4Y2VwdGlvbgogUEFTUyBDb25zdHJ1
Y3Rpb24gb2YgRmxvYXQzMkFycmF5IHdpdGggKG51bGwgYnVmZmVyLCAwLCAwKSB0aHJldyBleGNl
cHRpb24KLVBBU1MgQ29uc3RydWN0aW9uIG9mIEZsb2F0MzJBcnJheSB3aXRoIG91dC1vZi1yYW5n
ZSB2YWx1ZXMgdGhyZXcgSU5ERVhfU0laRV9FUlIgZXhjZXB0aW9uCitQQVNTIENvbnN0cnVjdGlv
biBvZiBGbG9hdDMyQXJyYXkgd2l0aCBvdXQtb2YtcmFuZ2UgdmFsdWVzIHRocmV3IGFuIGV4Y2Vw
dGlvbgogUEFTUyBDb25zdHJ1Y3Rpb24gb2YgQXJyYXlCdWZmZXIgd2l0aCBuZWdhdGl2ZSBzaXpl
IHRocmV3IGV4Y2VwdGlvbgogUEFTUyBDb25zdHJ1Y3Rpb24gb2YgRmxvYXQzMkFycmF5IHdpdGgg
bmVnYXRpdmUgc2l6ZSB0aHJldyBleGNlcHRpb24KLVBBU1MgQ29uc3RydWN0aW9uIG9mIEZsb2F0
MzJBcnJheSB3aXRoIG5lZ2F0aXZlIG91dC1vZi1yYW5nZSB2YWx1ZXMgdGhyZXcgSU5ERVhfU0la
RV9FUlIgZXhjZXB0aW9uCi1QQVNTIENvbnN0cnVjdGlvbiBvZiBGbG9hdDMyQXJyYXkgd2l0aCB1
bmFsaWduZWQgb2Zmc2V0IHRocmV3IElOREVYX1NJWkVfRVJSIGV4Y2VwdGlvbgorUEFTUyBDb25z
dHJ1Y3Rpb24gb2YgRmxvYXQzMkFycmF5IHdpdGggbmVnYXRpdmUgb3V0LW9mLXJhbmdlIHZhbHVl
cyB0aHJldyBhbiBleGNlcHRpb24KK1BBU1MgQ29uc3RydWN0aW9uIG9mIEZsb2F0MzJBcnJheSB3
aXRoIHVuYWxpZ25lZCBvZmZzZXQgdGhyZXcgYW4gZXhjZXB0aW9uCitQQVNTIENvbnN0cnVjdGlv
biBvZiBGbG9hdDMyQXJyYXkgd2l0aCB1bmFsaWduZWQgbGVuZ3RoIHRocmV3IGFuIGV4Y2VwdGlv
bgogUEFTUyBDb25zdHJ1Y3Rpb24gb2YgaHVnZSBGbG9hdDMyQXJyYXkgdGhyZXcgZXhjZXB0aW9u
CitQQVNTIEFycmF5IGxlbmd0aHMgbWF0Y2hlZCB3aXRoIGV4cGxpY2l0IGFuZCBpbXBsaWNpdCBj
cmVhdGlvbiBvZiBBcnJheUJ1ZmZlcgogVGVzdGluZyBzbGljaW5nIG9mIEZsb2F0MzJBcnJheQog
UEFTUyBhcnJheS5sZW5ndGggaXMgMzIgLyB0eXBlU2l6ZQogUEFTUyBhcnJheS5zbGljZSg0LCAw
eDNGRkZGRkZGKS5sZW5ndGggaXMgKDMyIC8gdHlwZVNpemUpIC0gNApAQCAtMzMsNyArMzUsNyBA
QCBQQVNTIGFycmF5LnNsaWNlKDQsIC0yMTQ3NDgzNjQ4KS5sZW5ndGggCiBQQVNTIGFycmF5Lmxl
bmd0aCBpcyAwCiBUZXN0aW5nIHNsaWNpbmcgd2l0aCBkZWZhdWx0IGlucHV0cyBvZiBGbG9hdDMy
QXJyYXkKIFBBU1MgYXJyYXkubGVuZ3RoIGlzIDMyIC8gdHlwZVNpemUKLVBBU1MgYXJyYXkuc2xp
Y2UoKS5sZW5ndGggaXMgKDMyIC8gdHlwZVNpemUpCitQQVNTIGFycmF5LnNsaWNlKDApLmxlbmd0
aCBpcyAoMzIgLyB0eXBlU2l6ZSkKIFBBU1MgYXJyYXkuc2xpY2UoMikubGVuZ3RoIGlzICgzMiAv
IHR5cGVTaXplKSAtIDIKIFBBU1MgYXJyYXkuc2xpY2UoLTIpLmxlbmd0aCBpcyAyCiBQQVNTIGFy
cmF5LnNsaWNlKC0yMTQ3NDgzNjQ4KS5sZW5ndGggaXMgKDMyIC8gdHlwZVNpemUpCkBAIC02MCwx
NyArNjIsMTggQEAgUEFTUyB0ZXN0IEludDhBcnJheSBCb3VuZGFyeUNvbmRpdGlvbnMoLQogUEFT
UyBDb25zdHJ1Y3Rpb24gb2YgSW50OEFycmF5IHdpdGggbnVsbCBidWZmZXIgdGhyZXcgZXhjZXB0
aW9uCiBQQVNTIENvbnN0cnVjdGlvbiBvZiBJbnQ4QXJyYXkgd2l0aCAobnVsbCBidWZmZXIsIDAp
IHRocmV3IGV4Y2VwdGlvbgogUEFTUyBDb25zdHJ1Y3Rpb24gb2YgSW50OEFycmF5IHdpdGggKG51
bGwgYnVmZmVyLCAwLCAwKSB0aHJldyBleGNlcHRpb24KLVBBU1MgQ29uc3RydWN0aW9uIG9mIElu
dDhBcnJheSB3aXRoIG91dC1vZi1yYW5nZSB2YWx1ZXMgdGhyZXcgSU5ERVhfU0laRV9FUlIgZXhj
ZXB0aW9uCitQQVNTIENvbnN0cnVjdGlvbiBvZiBJbnQ4QXJyYXkgd2l0aCBvdXQtb2YtcmFuZ2Ug
dmFsdWVzIHRocmV3IGFuIGV4Y2VwdGlvbgogUEFTUyBDb25zdHJ1Y3Rpb24gb2YgQXJyYXlCdWZm
ZXIgd2l0aCBuZWdhdGl2ZSBzaXplIHRocmV3IGV4Y2VwdGlvbgogUEFTUyBDb25zdHJ1Y3Rpb24g
b2YgSW50OEFycmF5IHdpdGggbmVnYXRpdmUgc2l6ZSB0aHJldyBleGNlcHRpb24KLVBBU1MgQ29u
c3RydWN0aW9uIG9mIEludDhBcnJheSB3aXRoIG5lZ2F0aXZlIG91dC1vZi1yYW5nZSB2YWx1ZXMg
dGhyZXcgSU5ERVhfU0laRV9FUlIgZXhjZXB0aW9uCitQQVNTIENvbnN0cnVjdGlvbiBvZiBJbnQ4
QXJyYXkgd2l0aCBuZWdhdGl2ZSBvdXQtb2YtcmFuZ2UgdmFsdWVzIHRocmV3IGFuIGV4Y2VwdGlv
bgorUEFTUyBBcnJheSBsZW5ndGhzIG1hdGNoZWQgd2l0aCBleHBsaWNpdCBhbmQgaW1wbGljaXQg
Y3JlYXRpb24gb2YgQXJyYXlCdWZmZXIKIFRlc3Rpbmcgc2xpY2luZyBvZiBJbnQ4QXJyYXkKIFBB
U1MgYXJyYXkubGVuZ3RoIGlzIDMyIC8gdHlwZVNpemUKIFBBU1MgYXJyYXkuc2xpY2UoNCwgMHgz
RkZGRkZGRikubGVuZ3RoIGlzICgzMiAvIHR5cGVTaXplKSAtIDQKIFBBU1MgYXJyYXkuc2xpY2Uo
NCwgLTIxNDc0ODM2NDgpLmxlbmd0aCBpcyAwCiBUZXN0aW5nIHNsaWNpbmcgd2l0aCBkZWZhdWx0
IGlucHV0cyBvZiBJbnQ4QXJyYXkKIFBBU1MgYXJyYXkubGVuZ3RoIGlzIDMyIC8gdHlwZVNpemUK
LVBBU1MgYXJyYXkuc2xpY2UoKS5sZW5ndGggaXMgKDMyIC8gdHlwZVNpemUpCitQQVNTIGFycmF5
LnNsaWNlKDApLmxlbmd0aCBpcyAoMzIgLyB0eXBlU2l6ZSkKIFBBU1MgYXJyYXkuc2xpY2UoMiku
bGVuZ3RoIGlzICgzMiAvIHR5cGVTaXplKSAtIDIKIFBBU1MgYXJyYXkuc2xpY2UoLTIpLmxlbmd0
aCBpcyAyCiBQQVNTIGFycmF5LnNsaWNlKC0yMTQ3NDgzNjQ4KS5sZW5ndGggaXMgKDMyIC8gdHlw
ZVNpemUpCkBAIC05NywxMiArMTAwLDE0IEBAIFBBU1MgdGVzdCBJbnQxNkFycmF5IEJvdW5kYXJ5
Q29uZGl0aW9ucygKIFBBU1MgQ29uc3RydWN0aW9uIG9mIEludDE2QXJyYXkgd2l0aCBudWxsIGJ1
ZmZlciB0aHJldyBleGNlcHRpb24KIFBBU1MgQ29uc3RydWN0aW9uIG9mIEludDE2QXJyYXkgd2l0
aCAobnVsbCBidWZmZXIsIDApIHRocmV3IGV4Y2VwdGlvbgogUEFTUyBDb25zdHJ1Y3Rpb24gb2Yg
SW50MTZBcnJheSB3aXRoIChudWxsIGJ1ZmZlciwgMCwgMCkgdGhyZXcgZXhjZXB0aW9uCi1QQVNT
IENvbnN0cnVjdGlvbiBvZiBJbnQxNkFycmF5IHdpdGggb3V0LW9mLXJhbmdlIHZhbHVlcyB0aHJl
dyBJTkRFWF9TSVpFX0VSUiBleGNlcHRpb24KK1BBU1MgQ29uc3RydWN0aW9uIG9mIEludDE2QXJy
YXkgd2l0aCBvdXQtb2YtcmFuZ2UgdmFsdWVzIHRocmV3IGFuIGV4Y2VwdGlvbgogUEFTUyBDb25z
dHJ1Y3Rpb24gb2YgQXJyYXlCdWZmZXIgd2l0aCBuZWdhdGl2ZSBzaXplIHRocmV3IGV4Y2VwdGlv
bgogUEFTUyBDb25zdHJ1Y3Rpb24gb2YgSW50MTZBcnJheSB3aXRoIG5lZ2F0aXZlIHNpemUgdGhy
ZXcgZXhjZXB0aW9uCi1QQVNTIENvbnN0cnVjdGlvbiBvZiBJbnQxNkFycmF5IHdpdGggbmVnYXRp
dmUgb3V0LW9mLXJhbmdlIHZhbHVlcyB0aHJldyBJTkRFWF9TSVpFX0VSUiBleGNlcHRpb24KLVBB
U1MgQ29uc3RydWN0aW9uIG9mIEludDE2QXJyYXkgd2l0aCB1bmFsaWduZWQgb2Zmc2V0IHRocmV3
IElOREVYX1NJWkVfRVJSIGV4Y2VwdGlvbgorUEFTUyBDb25zdHJ1Y3Rpb24gb2YgSW50MTZBcnJh
eSB3aXRoIG5lZ2F0aXZlIG91dC1vZi1yYW5nZSB2YWx1ZXMgdGhyZXcgYW4gZXhjZXB0aW9uCitQ
QVNTIENvbnN0cnVjdGlvbiBvZiBJbnQxNkFycmF5IHdpdGggdW5hbGlnbmVkIG9mZnNldCB0aHJl
dyBhbiBleGNlcHRpb24KK1BBU1MgQ29uc3RydWN0aW9uIG9mIEludDE2QXJyYXkgd2l0aCB1bmFs
aWduZWQgbGVuZ3RoIHRocmV3IGFuIGV4Y2VwdGlvbgogUEFTUyBDb25zdHJ1Y3Rpb24gb2YgaHVn
ZSBJbnQxNkFycmF5IHRocmV3IGV4Y2VwdGlvbgorUEFTUyBBcnJheSBsZW5ndGhzIG1hdGNoZWQg
d2l0aCBleHBsaWNpdCBhbmQgaW1wbGljaXQgY3JlYXRpb24gb2YgQXJyYXlCdWZmZXIKIFRlc3Rp
bmcgc2xpY2luZyBvZiBJbnQxNkFycmF5CiBQQVNTIGFycmF5Lmxlbmd0aCBpcyAzMiAvIHR5cGVT
aXplCiBQQVNTIGFycmF5LnNsaWNlKDQsIDB4M0ZGRkZGRkYpLmxlbmd0aCBpcyAoMzIgLyB0eXBl
U2l6ZSkgLSA0CkBAIC0xMTAsNyArMTE1LDcgQEAgUEFTUyBhcnJheS5zbGljZSg0LCAtMjE0NzQ4
MzY0OCkubGVuZ3RoIAogUEFTUyBhcnJheS5sZW5ndGggaXMgMAogVGVzdGluZyBzbGljaW5nIHdp
dGggZGVmYXVsdCBpbnB1dHMgb2YgSW50MTZBcnJheQogUEFTUyBhcnJheS5sZW5ndGggaXMgMzIg
LyB0eXBlU2l6ZQotUEFTUyBhcnJheS5zbGljZSgpLmxlbmd0aCBpcyAoMzIgLyB0eXBlU2l6ZSkK
K1BBU1MgYXJyYXkuc2xpY2UoMCkubGVuZ3RoIGlzICgzMiAvIHR5cGVTaXplKQogUEFTUyBhcnJh
eS5zbGljZSgyKS5sZW5ndGggaXMgKDMyIC8gdHlwZVNpemUpIC0gMgogUEFTUyBhcnJheS5zbGlj
ZSgtMikubGVuZ3RoIGlzIDIKIFBBU1MgYXJyYXkuc2xpY2UoLTIxNDc0ODM2NDgpLmxlbmd0aCBp
cyAoMzIgLyB0eXBlU2l6ZSkKQEAgLTEzNywxMiArMTQyLDE0IEBAIFBBU1MgdGVzdCBJbnQzMkFy
cmF5IEJvdW5kYXJ5Q29uZGl0aW9ucygKIFBBU1MgQ29uc3RydWN0aW9uIG9mIEludDMyQXJyYXkg
d2l0aCBudWxsIGJ1ZmZlciB0aHJldyBleGNlcHRpb24KIFBBU1MgQ29uc3RydWN0aW9uIG9mIElu
dDMyQXJyYXkgd2l0aCAobnVsbCBidWZmZXIsIDApIHRocmV3IGV4Y2VwdGlvbgogUEFTUyBDb25z
dHJ1Y3Rpb24gb2YgSW50MzJBcnJheSB3aXRoIChudWxsIGJ1ZmZlciwgMCwgMCkgdGhyZXcgZXhj
ZXB0aW9uCi1QQVNTIENvbnN0cnVjdGlvbiBvZiBJbnQzMkFycmF5IHdpdGggb3V0LW9mLXJhbmdl
IHZhbHVlcyB0aHJldyBJTkRFWF9TSVpFX0VSUiBleGNlcHRpb24KK1BBU1MgQ29uc3RydWN0aW9u
IG9mIEludDMyQXJyYXkgd2l0aCBvdXQtb2YtcmFuZ2UgdmFsdWVzIHRocmV3IGFuIGV4Y2VwdGlv
bgogUEFTUyBDb25zdHJ1Y3Rpb24gb2YgQXJyYXlCdWZmZXIgd2l0aCBuZWdhdGl2ZSBzaXplIHRo
cmV3IGV4Y2VwdGlvbgogUEFTUyBDb25zdHJ1Y3Rpb24gb2YgSW50MzJBcnJheSB3aXRoIG5lZ2F0
aXZlIHNpemUgdGhyZXcgZXhjZXB0aW9uCi1QQVNTIENvbnN0cnVjdGlvbiBvZiBJbnQzMkFycmF5
IHdpdGggbmVnYXRpdmUgb3V0LW9mLXJhbmdlIHZhbHVlcyB0aHJldyBJTkRFWF9TSVpFX0VSUiBl
eGNlcHRpb24KLVBBU1MgQ29uc3RydWN0aW9uIG9mIEludDMyQXJyYXkgd2l0aCB1bmFsaWduZWQg
b2Zmc2V0IHRocmV3IElOREVYX1NJWkVfRVJSIGV4Y2VwdGlvbgorUEFTUyBDb25zdHJ1Y3Rpb24g
b2YgSW50MzJBcnJheSB3aXRoIG5lZ2F0aXZlIG91dC1vZi1yYW5nZSB2YWx1ZXMgdGhyZXcgYW4g
ZXhjZXB0aW9uCitQQVNTIENvbnN0cnVjdGlvbiBvZiBJbnQzMkFycmF5IHdpdGggdW5hbGlnbmVk
IG9mZnNldCB0aHJldyBhbiBleGNlcHRpb24KK1BBU1MgQ29uc3RydWN0aW9uIG9mIEludDMyQXJy
YXkgd2l0aCB1bmFsaWduZWQgbGVuZ3RoIHRocmV3IGFuIGV4Y2VwdGlvbgogUEFTUyBDb25zdHJ1
Y3Rpb24gb2YgaHVnZSBJbnQzMkFycmF5IHRocmV3IGV4Y2VwdGlvbgorUEFTUyBBcnJheSBsZW5n
dGhzIG1hdGNoZWQgd2l0aCBleHBsaWNpdCBhbmQgaW1wbGljaXQgY3JlYXRpb24gb2YgQXJyYXlC
dWZmZXIKIFRlc3Rpbmcgc2xpY2luZyBvZiBJbnQzMkFycmF5CiBQQVNTIGFycmF5Lmxlbmd0aCBp
cyAzMiAvIHR5cGVTaXplCiBQQVNTIGFycmF5LnNsaWNlKDQsIDB4M0ZGRkZGRkYpLmxlbmd0aCBp
cyAoMzIgLyB0eXBlU2l6ZSkgLSA0CkBAIC0xNTAsNyArMTU3LDcgQEAgUEFTUyBhcnJheS5zbGlj
ZSg0LCAtMjE0NzQ4MzY0OCkubGVuZ3RoIAogUEFTUyBhcnJheS5sZW5ndGggaXMgMAogVGVzdGlu
ZyBzbGljaW5nIHdpdGggZGVmYXVsdCBpbnB1dHMgb2YgSW50MzJBcnJheQogUEFTUyBhcnJheS5s
ZW5ndGggaXMgMzIgLyB0eXBlU2l6ZQotUEFTUyBhcnJheS5zbGljZSgpLmxlbmd0aCBpcyAoMzIg
LyB0eXBlU2l6ZSkKK1BBU1MgYXJyYXkuc2xpY2UoMCkubGVuZ3RoIGlzICgzMiAvIHR5cGVTaXpl
KQogUEFTUyBhcnJheS5zbGljZSgyKS5sZW5ndGggaXMgKDMyIC8gdHlwZVNpemUpIC0gMgogUEFT
UyBhcnJheS5zbGljZSgtMikubGVuZ3RoIGlzIDIKIFBBU1MgYXJyYXkuc2xpY2UoLTIxNDc0ODM2
NDgpLmxlbmd0aCBpcyAoMzIgLyB0eXBlU2l6ZSkKQEAgLTE3NywxNyArMTg0LDE4IEBAIFBBU1Mg
dGVzdCBVaW50OEFycmF5IEJvdW5kYXJ5Q29uZGl0aW9ucygKIFBBU1MgQ29uc3RydWN0aW9uIG9m
IFVpbnQ4QXJyYXkgd2l0aCBudWxsIGJ1ZmZlciB0aHJldyBleGNlcHRpb24KIFBBU1MgQ29uc3Ry
dWN0aW9uIG9mIFVpbnQ4QXJyYXkgd2l0aCAobnVsbCBidWZmZXIsIDApIHRocmV3IGV4Y2VwdGlv
bgogUEFTUyBDb25zdHJ1Y3Rpb24gb2YgVWludDhBcnJheSB3aXRoIChudWxsIGJ1ZmZlciwgMCwg
MCkgdGhyZXcgZXhjZXB0aW9uCi1QQVNTIENvbnN0cnVjdGlvbiBvZiBVaW50OEFycmF5IHdpdGgg
b3V0LW9mLXJhbmdlIHZhbHVlcyB0aHJldyBJTkRFWF9TSVpFX0VSUiBleGNlcHRpb24KK1BBU1Mg
Q29uc3RydWN0aW9uIG9mIFVpbnQ4QXJyYXkgd2l0aCBvdXQtb2YtcmFuZ2UgdmFsdWVzIHRocmV3
IGFuIGV4Y2VwdGlvbgogUEFTUyBDb25zdHJ1Y3Rpb24gb2YgQXJyYXlCdWZmZXIgd2l0aCBuZWdh
dGl2ZSBzaXplIHRocmV3IGV4Y2VwdGlvbgogUEFTUyBDb25zdHJ1Y3Rpb24gb2YgVWludDhBcnJh
eSB3aXRoIG5lZ2F0aXZlIHNpemUgdGhyZXcgZXhjZXB0aW9uCi1QQVNTIENvbnN0cnVjdGlvbiBv
ZiBVaW50OEFycmF5IHdpdGggbmVnYXRpdmUgb3V0LW9mLXJhbmdlIHZhbHVlcyB0aHJldyBJTkRF
WF9TSVpFX0VSUiBleGNlcHRpb24KK1BBU1MgQ29uc3RydWN0aW9uIG9mIFVpbnQ4QXJyYXkgd2l0
aCBuZWdhdGl2ZSBvdXQtb2YtcmFuZ2UgdmFsdWVzIHRocmV3IGFuIGV4Y2VwdGlvbgorUEFTUyBB
cnJheSBsZW5ndGhzIG1hdGNoZWQgd2l0aCBleHBsaWNpdCBhbmQgaW1wbGljaXQgY3JlYXRpb24g
b2YgQXJyYXlCdWZmZXIKIFRlc3Rpbmcgc2xpY2luZyBvZiBVaW50OEFycmF5CiBQQVNTIGFycmF5
Lmxlbmd0aCBpcyAzMiAvIHR5cGVTaXplCiBQQVNTIGFycmF5LnNsaWNlKDQsIDB4M0ZGRkZGRkYp
Lmxlbmd0aCBpcyAoMzIgLyB0eXBlU2l6ZSkgLSA0CiBQQVNTIGFycmF5LnNsaWNlKDQsIC0yMTQ3
NDgzNjQ4KS5sZW5ndGggaXMgMAogVGVzdGluZyBzbGljaW5nIHdpdGggZGVmYXVsdCBpbnB1dHMg
b2YgVWludDhBcnJheQogUEFTUyBhcnJheS5sZW5ndGggaXMgMzIgLyB0eXBlU2l6ZQotUEFTUyBh
cnJheS5zbGljZSgpLmxlbmd0aCBpcyAoMzIgLyB0eXBlU2l6ZSkKK1BBU1MgYXJyYXkuc2xpY2Uo
MCkubGVuZ3RoIGlzICgzMiAvIHR5cGVTaXplKQogUEFTUyBhcnJheS5zbGljZSgyKS5sZW5ndGgg
aXMgKDMyIC8gdHlwZVNpemUpIC0gMgogUEFTUyBhcnJheS5zbGljZSgtMikubGVuZ3RoIGlzIDIK
IFBBU1MgYXJyYXkuc2xpY2UoLTIxNDc0ODM2NDgpLmxlbmd0aCBpcyAoMzIgLyB0eXBlU2l6ZSkK
QEAgLTIxNCwxMiArMjIyLDE0IEBAIFBBU1MgdGVzdCBVaW50MTZBcnJheSBCb3VuZGFyeUNvbmRp
dGlvbnMKIFBBU1MgQ29uc3RydWN0aW9uIG9mIFVpbnQxNkFycmF5IHdpdGggbnVsbCBidWZmZXIg
dGhyZXcgZXhjZXB0aW9uCiBQQVNTIENvbnN0cnVjdGlvbiBvZiBVaW50MTZBcnJheSB3aXRoIChu
dWxsIGJ1ZmZlciwgMCkgdGhyZXcgZXhjZXB0aW9uCiBQQVNTIENvbnN0cnVjdGlvbiBvZiBVaW50
MTZBcnJheSB3aXRoIChudWxsIGJ1ZmZlciwgMCwgMCkgdGhyZXcgZXhjZXB0aW9uCi1QQVNTIENv
bnN0cnVjdGlvbiBvZiBVaW50MTZBcnJheSB3aXRoIG91dC1vZi1yYW5nZSB2YWx1ZXMgdGhyZXcg
SU5ERVhfU0laRV9FUlIgZXhjZXB0aW9uCitQQVNTIENvbnN0cnVjdGlvbiBvZiBVaW50MTZBcnJh
eSB3aXRoIG91dC1vZi1yYW5nZSB2YWx1ZXMgdGhyZXcgYW4gZXhjZXB0aW9uCiBQQVNTIENvbnN0
cnVjdGlvbiBvZiBBcnJheUJ1ZmZlciB3aXRoIG5lZ2F0aXZlIHNpemUgdGhyZXcgZXhjZXB0aW9u
CiBQQVNTIENvbnN0cnVjdGlvbiBvZiBVaW50MTZBcnJheSB3aXRoIG5lZ2F0aXZlIHNpemUgdGhy
ZXcgZXhjZXB0aW9uCi1QQVNTIENvbnN0cnVjdGlvbiBvZiBVaW50MTZBcnJheSB3aXRoIG5lZ2F0
aXZlIG91dC1vZi1yYW5nZSB2YWx1ZXMgdGhyZXcgSU5ERVhfU0laRV9FUlIgZXhjZXB0aW9uCi1Q
QVNTIENvbnN0cnVjdGlvbiBvZiBVaW50MTZBcnJheSB3aXRoIHVuYWxpZ25lZCBvZmZzZXQgdGhy
ZXcgSU5ERVhfU0laRV9FUlIgZXhjZXB0aW9uCitQQVNTIENvbnN0cnVjdGlvbiBvZiBVaW50MTZB
cnJheSB3aXRoIG5lZ2F0aXZlIG91dC1vZi1yYW5nZSB2YWx1ZXMgdGhyZXcgYW4gZXhjZXB0aW9u
CitQQVNTIENvbnN0cnVjdGlvbiBvZiBVaW50MTZBcnJheSB3aXRoIHVuYWxpZ25lZCBvZmZzZXQg
dGhyZXcgYW4gZXhjZXB0aW9uCitQQVNTIENvbnN0cnVjdGlvbiBvZiBVaW50MTZBcnJheSB3aXRo
IHVuYWxpZ25lZCBsZW5ndGggdGhyZXcgYW4gZXhjZXB0aW9uCiBQQVNTIENvbnN0cnVjdGlvbiBv
ZiBodWdlIFVpbnQxNkFycmF5IHRocmV3IGV4Y2VwdGlvbgorUEFTUyBBcnJheSBsZW5ndGhzIG1h
dGNoZWQgd2l0aCBleHBsaWNpdCBhbmQgaW1wbGljaXQgY3JlYXRpb24gb2YgQXJyYXlCdWZmZXIK
IFRlc3Rpbmcgc2xpY2luZyBvZiBVaW50MTZBcnJheQogUEFTUyBhcnJheS5sZW5ndGggaXMgMzIg
LyB0eXBlU2l6ZQogUEFTUyBhcnJheS5zbGljZSg0LCAweDNGRkZGRkZGKS5sZW5ndGggaXMgKDMy
IC8gdHlwZVNpemUpIC0gNApAQCAtMjI3LDcgKzIzNyw3IEBAIFBBU1MgYXJyYXkuc2xpY2UoNCwg
LTIxNDc0ODM2NDgpLmxlbmd0aCAKIFBBU1MgYXJyYXkubGVuZ3RoIGlzIDAKIFRlc3Rpbmcgc2xp
Y2luZyB3aXRoIGRlZmF1bHQgaW5wdXRzIG9mIFVpbnQxNkFycmF5CiBQQVNTIGFycmF5Lmxlbmd0
aCBpcyAzMiAvIHR5cGVTaXplCi1QQVNTIGFycmF5LnNsaWNlKCkubGVuZ3RoIGlzICgzMiAvIHR5
cGVTaXplKQorUEFTUyBhcnJheS5zbGljZSgwKS5sZW5ndGggaXMgKDMyIC8gdHlwZVNpemUpCiBQ
QVNTIGFycmF5LnNsaWNlKDIpLmxlbmd0aCBpcyAoMzIgLyB0eXBlU2l6ZSkgLSAyCiBQQVNTIGFy
cmF5LnNsaWNlKC0yKS5sZW5ndGggaXMgMgogUEFTUyBhcnJheS5zbGljZSgtMjE0NzQ4MzY0OCku
bGVuZ3RoIGlzICgzMiAvIHR5cGVTaXplKQpAQCAtMjU0LDEyICsyNjQsMTQgQEAgUEFTUyB0ZXN0
IFVpbnQzMkFycmF5IEJvdW5kYXJ5Q29uZGl0aW9ucwogUEFTUyBDb25zdHJ1Y3Rpb24gb2YgVWlu
dDMyQXJyYXkgd2l0aCBudWxsIGJ1ZmZlciB0aHJldyBleGNlcHRpb24KIFBBU1MgQ29uc3RydWN0
aW9uIG9mIFVpbnQzMkFycmF5IHdpdGggKG51bGwgYnVmZmVyLCAwKSB0aHJldyBleGNlcHRpb24K
IFBBU1MgQ29uc3RydWN0aW9uIG9mIFVpbnQzMkFycmF5IHdpdGggKG51bGwgYnVmZmVyLCAwLCAw
KSB0aHJldyBleGNlcHRpb24KLVBBU1MgQ29uc3RydWN0aW9uIG9mIFVpbnQzMkFycmF5IHdpdGgg
b3V0LW9mLXJhbmdlIHZhbHVlcyB0aHJldyBJTkRFWF9TSVpFX0VSUiBleGNlcHRpb24KK1BBU1Mg
Q29uc3RydWN0aW9uIG9mIFVpbnQzMkFycmF5IHdpdGggb3V0LW9mLXJhbmdlIHZhbHVlcyB0aHJl
dyBhbiBleGNlcHRpb24KIFBBU1MgQ29uc3RydWN0aW9uIG9mIEFycmF5QnVmZmVyIHdpdGggbmVn
YXRpdmUgc2l6ZSB0aHJldyBleGNlcHRpb24KIFBBU1MgQ29uc3RydWN0aW9uIG9mIFVpbnQzMkFy
cmF5IHdpdGggbmVnYXRpdmUgc2l6ZSB0aHJldyBleGNlcHRpb24KLVBBU1MgQ29uc3RydWN0aW9u
IG9mIFVpbnQzMkFycmF5IHdpdGggbmVnYXRpdmUgb3V0LW9mLXJhbmdlIHZhbHVlcyB0aHJldyBJ
TkRFWF9TSVpFX0VSUiBleGNlcHRpb24KLVBBU1MgQ29uc3RydWN0aW9uIG9mIFVpbnQzMkFycmF5
IHdpdGggdW5hbGlnbmVkIG9mZnNldCB0aHJldyBJTkRFWF9TSVpFX0VSUiBleGNlcHRpb24KK1BB
U1MgQ29uc3RydWN0aW9uIG9mIFVpbnQzMkFycmF5IHdpdGggbmVnYXRpdmUgb3V0LW9mLXJhbmdl
IHZhbHVlcyB0aHJldyBhbiBleGNlcHRpb24KK1BBU1MgQ29uc3RydWN0aW9uIG9mIFVpbnQzMkFy
cmF5IHdpdGggdW5hbGlnbmVkIG9mZnNldCB0aHJldyBhbiBleGNlcHRpb24KK1BBU1MgQ29uc3Ry
dWN0aW9uIG9mIFVpbnQzMkFycmF5IHdpdGggdW5hbGlnbmVkIGxlbmd0aCB0aHJldyBhbiBleGNl
cHRpb24KIFBBU1MgQ29uc3RydWN0aW9uIG9mIGh1Z2UgVWludDMyQXJyYXkgdGhyZXcgZXhjZXB0
aW9uCitQQVNTIEFycmF5IGxlbmd0aHMgbWF0Y2hlZCB3aXRoIGV4cGxpY2l0IGFuZCBpbXBsaWNp
dCBjcmVhdGlvbiBvZiBBcnJheUJ1ZmZlcgogVGVzdGluZyBzbGljaW5nIG9mIFVpbnQzMkFycmF5
CiBQQVNTIGFycmF5Lmxlbmd0aCBpcyAzMiAvIHR5cGVTaXplCiBQQVNTIGFycmF5LnNsaWNlKDQs
IDB4M0ZGRkZGRkYpLmxlbmd0aCBpcyAoMzIgLyB0eXBlU2l6ZSkgLSA0CkBAIC0yNjcsNyArMjc5
LDcgQEAgUEFTUyBhcnJheS5zbGljZSg0LCAtMjE0NzQ4MzY0OCkubGVuZ3RoIAogUEFTUyBhcnJh
eS5sZW5ndGggaXMgMAogVGVzdGluZyBzbGljaW5nIHdpdGggZGVmYXVsdCBpbnB1dHMgb2YgVWlu
dDMyQXJyYXkKIFBBU1MgYXJyYXkubGVuZ3RoIGlzIDMyIC8gdHlwZVNpemUKLVBBU1MgYXJyYXku
c2xpY2UoKS5sZW5ndGggaXMgKDMyIC8gdHlwZVNpemUpCitQQVNTIGFycmF5LnNsaWNlKDApLmxl
bmd0aCBpcyAoMzIgLyB0eXBlU2l6ZSkKIFBBU1MgYXJyYXkuc2xpY2UoMikubGVuZ3RoIGlzICgz
MiAvIHR5cGVTaXplKSAtIDIKIFBBU1MgYXJyYXkuc2xpY2UoLTIpLmxlbmd0aCBpcyAyCiBQQVNT
IGFycmF5LnNsaWNlKC0yMTQ3NDgzNjQ4KS5sZW5ndGggaXMgKDMyIC8gdHlwZVNpemUpCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9hcnJheS11bml0LXRlc3RzLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYXJyYXktdW5pdC10ZXN0
cy5odG1sCShyZXZpc2lvbiA3MTM2MSkKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2FycmF5LXVuaXQtdGVzdHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzY0LDE2ICszNjQsMTIg
QEAgZnVuY3Rpb24gdGVzdENvbnN0cnVjdGlvbldpdGhOdWxsQnVmZmVyKAogfQogCiBmdW5jdGlv
biBzaG91bGRUaHJvd0luZGV4U2l6ZUVycihmdW5jLCB0ZXh0KSB7Ci0gICAgdmFyIGVycm9yVGV4
dCA9IHRleHQgKyAiIHNob3VsZCB0aHJvdyBJTkRFWF9TSVpFX0VSUiBleGNlcHRpb24iOworICAg
IHZhciBlcnJvclRleHQgPSB0ZXh0ICsgIiBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uIjsKICAg
ICB0cnkgewogICAgICAgICBmdW5jKCk7CiAgICAgICAgIHRlc3RGYWlsZWQoZXJyb3JUZXh0KTsK
ICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIGlmIChlLmNvZGUgIT0gRE9NRXhjZXB0aW9uLklO
REVYX1NJWkVfRVJSKSB7Ci0gICAgICAgICAgICB0ZXN0RmFpbGVkKGVycm9yVGV4dCk7Ci0gICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0ZXN0UGFzc2VkKHRleHQgKyAiIHRocmV3IElOREVY
X1NJWkVfRVJSIGV4Y2VwdGlvbiIpOwotICAgICAgICB9CisgICAgICAgIHRlc3RQYXNzZWQodGV4
dCArICIgdGhyZXcgYW4gZXhjZXB0aW9uIik7CiAgICAgfQogfQogCkBAIC00MTIsNiArNDA4LDE1
IEBAIGZ1bmN0aW9uIHRlc3RDb25zdHJ1Y3Rpb25XaXRoVW5hbGlnbmVkT2YKICAgICB9CiB9CiAK
K2Z1bmN0aW9uIHRlc3RDb25zdHJ1Y3Rpb25XaXRoVW5hbGlnbmVkTGVuZ3RoKHR5cGUsIG5hbWUs
IGVsZW1lbnRTaXplSW5CeXRlcykgeworICAgIGlmIChlbGVtZW50U2l6ZUluQnl0ZXMgPiAxKSB7
CisgICAgICAgIHNob3VsZFRocm93SW5kZXhTaXplRXJyKGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgdmFyIGJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcihlbGVtZW50U2l6ZUluQnl0ZXMgKyAxKTsK
KyAgICAgICAgICAgIHZhciBhcnJheSA9IG5ldyB0eXBlKGJ1ZmZlciwgMCk7CisgICAgICAgIH0s
ICJDb25zdHJ1Y3Rpb24gb2YgIiArIG5hbWUgKyAiIHdpdGggdW5hbGlnbmVkIGxlbmd0aCIpOwor
ICAgIH0KK30KKwogZnVuY3Rpb24gdGVzdENvbnN0cnVjdGlvbk9mSHVnZUFycmF5KHR5cGUsIG5h
bWUsIHN6KSB7CiAgICAgaWYgKHN6ID09IDEpCiAgICAgICAgIHJldHVybjsKQEAgLTQyNSw2ICs0
MzAsMTggQEAgZnVuY3Rpb24gdGVzdENvbnN0cnVjdGlvbk9mSHVnZUFycmF5KHR5cAogICAgIH0K
IH0KIAorZnVuY3Rpb24gdGVzdENvbnN0cnVjdGlvbldpdGhCb3RoQXJyYXlCdWZmZXJBbmRMZW5n
dGgodHlwZSwgbmFtZSwgZWxlbWVudFNpemVJbkJ5dGVzKSB7CisgICAgdmFyIGJ1ZkJ5dGVMZW5n
dGggPSAxMDAwICogZWxlbWVudFNpemVJbkJ5dGVzOworICAgIHZhciBidWYgPSBuZXcgQXJyYXlC
dWZmZXIoYnVmQnl0ZUxlbmd0aCk7CisgICAgdmFyIGFycmF5MSA9IG5ldyB0eXBlKGJ1Zik7Cisg
ICAgdmFyIGFycmF5MiA9IG5ldyB0eXBlKGJ1ZkJ5dGVMZW5ndGggLyBlbGVtZW50U2l6ZUluQnl0
ZXMpOworICAgIGlmIChhcnJheTEubGVuZ3RoID09IGFycmF5Mi5sZW5ndGgpIHsKKyAgICAgICAg
dGVzdFBhc3NlZCgiQXJyYXkgbGVuZ3RocyBtYXRjaGVkIHdpdGggZXhwbGljaXQgYW5kIGltcGxp
Y2l0IGNyZWF0aW9uIG9mIEFycmF5QnVmZmVyIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdGVz
dEZhaWxlZCgiQXJyYXkgbGVuZ3RocyBESUQgTk9UIE1BVENIIHdpdGggZXhwbGljaXQgYW5kIGlt
cGxpY2l0IGNyZWF0aW9uIG9mIEFycmF5QnVmZmVyIik7CisgICAgfQorfQorCiAvLyBUaGVzZSBu
ZWVkIHRvIGJlIGdsb2JhbCBmb3Igc2hvdWxkQmUgdG8gc2VlIHRoZW0KIHZhciBhcnJheTsKIHZh
ciB0eXBlU2l6ZTsKQEAgLTQ2NSw3ICs0ODIsNyBAQCBmdW5jdGlvbiB0ZXN0U2xpY2luZ1dpdGhE
ZWZhdWx0VmFsdWVzKHR5CiAgICAgICAgIHR5cGVTaXplID0gc3o7CiAgICAgICAgIHNob3VsZEJl
KCJhcnJheS5sZW5ndGgiLCAiMzIgLyB0eXBlU2l6ZSIpOwogICAgICAgICB0cnkgewotICAgICAg
ICAgICAgc2hvdWxkQmUoImFycmF5LnNsaWNlKCkubGVuZ3RoIiwgIigzMiAvIHR5cGVTaXplKSIp
OworICAgICAgICAgICAgc2hvdWxkQmUoImFycmF5LnNsaWNlKDApLmxlbmd0aCIsICIoMzIgLyB0
eXBlU2l6ZSkiKTsKICAgICAgICAgICAgIHNob3VsZEJlKCJhcnJheS5zbGljZSgyKS5sZW5ndGgi
LCAiKDMyIC8gdHlwZVNpemUpIC0gMiIpOwogICAgICAgICAgICAgc2hvdWxkQmUoImFycmF5LnNs
aWNlKC0yKS5sZW5ndGgiLCAiMiIpOwogICAgICAgICAgICAgc2hvdWxkQmUoImFycmF5LnNsaWNl
KC0yMTQ3NDgzNjQ4KS5sZW5ndGgiLCAiKDMyIC8gdHlwZVNpemUpIik7CkBAIC02MzMsNyArNjUw
LDkgQEAgZnVuY3Rpb24gcnVuVGVzdHMoKSB7CiAgICAgdGVzdENvbnN0cnVjdGlvbldpdGhPdXRP
ZlJhbmdlVmFsdWVzKHR5cGUsIG5hbWUpOwogICAgIHRlc3RDb25zdHJ1Y3Rpb25XaXRoTmVnYXRp
dmVPdXRPZlJhbmdlVmFsdWVzKHR5cGUsIG5hbWUpOwogICAgIHRlc3RDb25zdHJ1Y3Rpb25XaXRo
VW5hbGlnbmVkT2Zmc2V0KHR5cGUsIG5hbWUsIHRlc3RDYXNlLmVsZW1lbnRTaXplSW5CeXRlcyk7
CisgICAgdGVzdENvbnN0cnVjdGlvbldpdGhVbmFsaWduZWRMZW5ndGgodHlwZSwgbmFtZSwgdGVz
dENhc2UuZWxlbWVudFNpemVJbkJ5dGVzKTsKICAgICB0ZXN0Q29uc3RydWN0aW9uT2ZIdWdlQXJy
YXkodHlwZSwgbmFtZSwgdGVzdENhc2UuZWxlbWVudFNpemVJbkJ5dGVzKTsKKyAgICB0ZXN0Q29u
c3RydWN0aW9uV2l0aEJvdGhBcnJheUJ1ZmZlckFuZExlbmd0aCh0eXBlLCBuYW1lLCB0ZXN0Q2Fz
ZS5lbGVtZW50U2l6ZUluQnl0ZXMpOwogICAgIHRlc3RTbGljaW5nV2l0aE91dE9mUmFuZ2VWYWx1
ZXModHlwZSwgbmFtZSwgdGVzdENhc2UuZWxlbWVudFNpemVJbkJ5dGVzKTsKICAgICB0ZXN0U2xp
Y2luZ1dpdGhEZWZhdWx0VmFsdWVzKHR5cGUsIG5hbWUsIHRlc3RDYXNlLmVsZW1lbnRTaXplSW5C
eXRlcyk7CiAgICAgdGVzdFNldHRpbmdGcm9tQXJyYXlXaXRoT3V0T2ZSYW5nZU9mZnNldCh0eXBl
LCBuYW1lKTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWVudW0tdGVz
dHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL2dsLWVudW0tdGVzdHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MTM2MSkKKysrIExheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWVudW0tdGVzdHMtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC03LDI3ICs3LDI3IEBAIENhbnZhcy5nZXRDb250ZXh0CiBQQVNTIGNvbnRl
eHQgZXhpc3RzCiAKIENoZWNraW5nIGdsIGVudW1zLgotUEFTUyBnbC5nZXRFcnJvcigpIGlzIGds
Lk5PX0VSUk9SCi1QQVNTIGdsLmJpbmRUZXh0dXJlKGRlc2t0b3BHTFsnVEVYVFVSRV8zRCddLCB0
ZXgpIHNob3VsZCByZXR1cm4gSU5WQUxJRF9FTlVNLgotUEFTUyBnbC5ibGVuZEVxdWF0aW9uKGRl
c2t0b3BHTFsnTUlOJ10pIHNob3VsZCByZXR1cm4gSU5WQUxJRF9FTlVNLgotUEFTUyBnbC5ibGVu
ZEVxdWF0aW9uKGRlc2t0b3BHTFsnTUFYJ10pIHNob3VsZCByZXR1cm4gSU5WQUxJRF9FTlVNLgot
UEFTUyBnbC5ibGVuZEVxdWF0aW9uU2VwYXJhdGUoZGVza3RvcEdMWydNSU4nXSwgZ2wuRlVOQ19B
REQpIHNob3VsZCByZXR1cm4gSU5WQUxJRF9FTlVNLgotUEFTUyBnbC5ibGVuZEVxdWF0aW9uU2Vw
YXJhdGUoZGVza3RvcEdMWydNQVgnXSwgZ2wuRlVOQ19BREQpIHNob3VsZCByZXR1cm4gSU5WQUxJ
RF9FTlVNLgotUEFTUyBnbC5ibGVuZEVxdWF0aW9uU2VwYXJhdGUoZ2wuRlVOQ19BREQsIGRlc2t0
b3BHTFsnTUlOJ10pIHNob3VsZCByZXR1cm4gSU5WQUxJRF9FTlVNLgotUEFTUyBnbC5ibGVuZEVx
dWF0aW9uU2VwYXJhdGUoZ2wuRlVOQ19BREQsIGRlc2t0b3BHTFsnTUFYJ10pIHNob3VsZCByZXR1
cm4gSU5WQUxJRF9FTlVNLgotUEFTUyBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgMywg
ZGVza3RvcEdMWydTVEFUSUNfUkVBRCddKSBzaG91bGQgcmV0dXJuIElOVkFMSURfRU5VTS4KLVBB
U1MgZ2wuZGlzYWJsZShkZXNrdG9wR0xbJ0NMSVBfUExBTkUwJ10pIHNob3VsZCByZXR1cm4gSU5W
QUxJRF9FTlVNLgotUEFTUyBnbC5kaXNhYmxlKGRlc2t0b3BHTFsnUE9JTlRfU1BSSVRFJ10pIHNo
b3VsZCByZXR1cm4gSU5WQUxJRF9FTlVNLgotUEFTUyBnbC5nZXRCdWZmZXJQYXJhbWV0ZXIoZ2wu
QVJSQVlfQlVGRkVSLCBkZXNrdG9wR0xbJ1BJWEVMX1BBQ0tfQlVGRkVSJ10pIHNob3VsZCByZXR1
cm4gSU5WQUxJRF9FTlVNLgotUEFTUyBnbC5oaW50KGRlc2t0b3BHTFsnUEVSU1BFQ1RJVkVfQ09S
UkVDVElPTl9ISU5UJ10sIGdsLkZBU1RFU1QpIHNob3VsZCByZXR1cm4gSU5WQUxJRF9FTlVNLgot
UEFTUyBnbC5pc0VuYWJsZWQoZGVza3RvcEdMWydDTElQX1BMQU5FMCddKSBzaG91bGQgcmV0dXJu
IElOVkFMSURfRU5VTS4KLVBBU1MgZ2wuaXNFbmFibGVkKGRlc2t0b3BHTFsnUE9JTlRfU1BSSVRF
J10pIHNob3VsZCByZXR1cm4gSU5WQUxJRF9FTlVNLgotUEFTUyBnbC5waXhlbFN0b3JlaShkZXNr
dG9wR0xbJ1BBQ0tfU1dBUF9CWVRFUyddLCAxKSBzaG91bGQgcmV0dXJuIElOVkFMSURfRU5VTS4K
LVBBU1MgZ2wucmVhZFBpeGVscygwLCAwLCAxLCAxLCBnbC5BTFBIQSwgZ2wuU0hPUlQsIGJ1Zikg
c2hvdWxkIHJldHVybiBJTlZBTElEX0VOVU0uCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgZ2wuTk9f
RVJST1IKLVBBU1MgZ2wuZ2V0VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIGRlc2t0b3BHTFsn
R0VORVJBVEVfTUlQTUFQJ10pIHNob3VsZCByZXR1cm4gSU5WQUxJRF9FTlVNLgotUEFTUyBnbC50
ZXhQYXJhbWV0ZXJpKGRlc2t0b3BHTFsnVEVYVFVSRV8zRCddLCBnbC5URVhUVVJFX01BR19GSUxU
RVIsIGdsLk5FQVJFU1QpIHNob3VsZCByZXR1cm4gSU5WQUxJRF9FTlVNLgotUEFTUyBnbC50ZXhQ
YXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGRlc2t0b3BHTFsnR0VORVJBVEVfTUlQTUFQJ10sIDEp
IHNob3VsZCByZXR1cm4gSU5WQUxJRF9FTlVNLgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5W
QUxJRF9FTlVNIDogZ2wuYmluZFRleHR1cmUoZGVza3RvcEdMWydURVhUVVJFXzNEJ10sIHRleCkg
c2hvdWxkIHJldHVybiBJTlZBTElEX0VOVU0uCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogSU5WQUxJRF9FTlVNIDogZ2wuYmxlbmRFcXVhdGlvbihkZXNrdG9wR0xbJ01JTiddKSBz
aG91bGQgcmV0dXJuIElOVkFMSURfRU5VTS4KK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBJTlZBTElEX0VOVU0gOiBnbC5ibGVuZEVxdWF0aW9uKGRlc2t0b3BHTFsnTUFYJ10pIHNo
b3VsZCByZXR1cm4gSU5WQUxJRF9FTlVNLgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IElOVkFMSURfRU5VTSA6IGdsLmJsZW5kRXF1YXRpb25TZXBhcmF0ZShkZXNrdG9wR0xbJ01J
TiddLCBnbC5GVU5DX0FERCkgc2hvdWxkIHJldHVybiBJTlZBTElEX0VOVU0uCitQQVNTIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9FTlVNIDogZ2wuYmxlbmRFcXVhdGlvblNl
cGFyYXRlKGRlc2t0b3BHTFsnTUFYJ10sIGdsLkZVTkNfQUREKSBzaG91bGQgcmV0dXJuIElOVkFM
SURfRU5VTS4KK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX0VOVU0g
OiBnbC5ibGVuZEVxdWF0aW9uU2VwYXJhdGUoZ2wuRlVOQ19BREQsIGRlc2t0b3BHTFsnTUlOJ10p
IHNob3VsZCByZXR1cm4gSU5WQUxJRF9FTlVNLgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IElOVkFMSURfRU5VTSA6IGdsLmJsZW5kRXF1YXRpb25TZXBhcmF0ZShnbC5GVU5DX0FE
RCwgZGVza3RvcEdMWydNQVgnXSkgc2hvdWxkIHJldHVybiBJTlZBTElEX0VOVU0uCitQQVNTIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9FTlVNIDogZ2wuYnVmZmVyRGF0YShn
bC5BUlJBWV9CVUZGRVIsIDMsIGRlc2t0b3BHTFsnU1RBVElDX1JFQUQnXSkgc2hvdWxkIHJldHVy
biBJTlZBTElEX0VOVU0uCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJ
RF9FTlVNIDogZ2wuZGlzYWJsZShkZXNrdG9wR0xbJ0NMSVBfUExBTkUwJ10pIHNob3VsZCByZXR1
cm4gSU5WQUxJRF9FTlVNLgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFM
SURfRU5VTSA6IGdsLmRpc2FibGUoZGVza3RvcEdMWydQT0lOVF9TUFJJVEUnXSkgc2hvdWxkIHJl
dHVybiBJTlZBTElEX0VOVU0uCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5W
QUxJRF9FTlVNIDogZ2wuZ2V0QnVmZmVyUGFyYW1ldGVyKGdsLkFSUkFZX0JVRkZFUiwgZGVza3Rv
cEdMWydQSVhFTF9QQUNLX0JVRkZFUiddKSBzaG91bGQgcmV0dXJuIElOVkFMSURfRU5VTS4KK1BB
U1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX0VOVU0gOiBnbC5oaW50KGRl
c2t0b3BHTFsnUEVSU1BFQ1RJVkVfQ09SUkVDVElPTl9ISU5UJ10sIGdsLkZBU1RFU1QpIHNob3Vs
ZCByZXR1cm4gSU5WQUxJRF9FTlVNLgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IElOVkFMSURfRU5VTSA6IGdsLmlzRW5hYmxlZChkZXNrdG9wR0xbJ0NMSVBfUExBTkUwJ10pIHNo
b3VsZCByZXR1cm4gSU5WQUxJRF9FTlVNLgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IElOVkFMSURfRU5VTSA6IGdsLmlzRW5hYmxlZChkZXNrdG9wR0xbJ1BPSU5UX1NQUklURSdd
KSBzaG91bGQgcmV0dXJuIElOVkFMSURfRU5VTS4KK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBJTlZBTElEX0VOVU0gOiBnbC5waXhlbFN0b3JlaShkZXNrdG9wR0xbJ1BBQ0tfU1dB
UF9CWVRFUyddLCAxKSBzaG91bGQgcmV0dXJuIElOVkFMSURfRU5VTS4KK1BBU1MgZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX0VOVU0gOiBnbC5yZWFkUGl4ZWxzKDAsIDAsIDEs
IDEsIGdsLkFMUEhBLCBnbC5TSE9SVCwgYnVmKSBzaG91bGQgcmV0dXJuIElOVkFMSURfRU5VTS4K
K1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IAorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfRU5VTSA6IGdsLmdldFRleFBhcmFtZXRl
cihnbC5URVhUVVJFXzJELCBkZXNrdG9wR0xbJ0dFTkVSQVRFX01JUE1BUCddKSBzaG91bGQgcmV0
dXJuIElOVkFMSURfRU5VTS4KK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZB
TElEX0VOVU0gOiBnbC50ZXhQYXJhbWV0ZXJpKGRlc2t0b3BHTFsnVEVYVFVSRV8zRCddLCBnbC5U
RVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpIHNob3VsZCByZXR1cm4gSU5WQUxJRF9FTlVN
LgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfRU5VTSA6IGdsLnRl
eFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZGVza3RvcEdMWydHRU5FUkFURV9NSVBNQVAnXSwg
MSkgc2hvdWxkIHJldHVybiBJTlZBTElEX0VOVU0uCiAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtZW51bS10
ZXN0cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2ds
LWVudW0tdGVzdHMuaHRtbAkocmV2aXNpb24gNzEzNjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9nbC1lbnVtLXRlc3RzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDExICsy
OCwxMSBAQCBpZiAoIWdsKSB7CiAgIGRlYnVnKCIiKTsKICAgZGVidWcoIkNoZWNraW5nIGdsIGVu
dW1zLiIpOwogCi0gIHZhciBidWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoMSk7CisgIHZhciBidWZm
ZXIgPSBuZXcgQXJyYXlCdWZmZXIoMik7CiAgIHZhciBidWYgPSBuZXcgVWludDE2QXJyYXkoYnVm
ZmVyKTsKICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKICAgZ2wuYmluZEJ1ZmZlcihn
bC5BUlJBWV9CVUZGRVIsIGdsLmNyZWF0ZUJ1ZmZlcigpKTsKLSAgc2hvdWxkQmUoImdsLmdldEVy
cm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJP
Uik7CiAKICAgdmFyIHRlc3RzID0gWwogICAgICJnbC5iaW5kVGV4dHVyZShkZXNrdG9wR0xbJ1RF
WFRVUkVfM0QnXSwgdGV4KSIsCkBAIC01NCwxMiArNTQsMTIgQEAgaWYgKCFnbCkgewogICBdOwog
ICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGVzdHMubGVuZ3RoOyArK2lpKSB7CiAgICAgZXZhbCh0
ZXN0c1tpaV0pOwotICAgIGFzc2VydE1zZyhnbC5nZXRFcnJvcigpID09IGdsLklOVkFMSURfRU5V
TSwKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwKICAgICAgICAgICAg
ICAgdGVzdHNbaWldICsgIiBzaG91bGQgcmV0dXJuIElOVkFMSURfRU5VTS4iKTsKICAgfQogCiAg
IGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7Ci0gIHNob3VsZEJlKCJnbC5nZXRF
cnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IpOwogCiAgIHRlc3RzID0gWwogICAgICJnbC5nZXRUZXhQYXJhbWV0ZXIoZ2wuVEVYVFVSRV8y
RCwgZGVza3RvcEdMWydHRU5FUkFURV9NSVBNQVAnXSkiLApAQCAtNjgsNyArNjgsNyBAQCBpZiAo
IWdsKSB7CiAgIF07CiAgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXN0cy5sZW5ndGg7ICsraWkp
IHsKICAgICBldmFsKHRlc3RzW2lpXSk7Ci0gICAgYXNzZXJ0TXNnKGdsLmdldEVycm9yKCkgPT0g
Z2wuSU5WQUxJRF9FTlVNLAorICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVN
LAogICAgICAgICAgICAgICB0ZXN0c1tpaV0gKyAiIHNob3VsZCByZXR1cm4gSU5WQUxJRF9FTlVN
LiIpOwogICB9CiB9Cg==
</data>
<flag name="review"
          id="63365"
          type_id="1"
          status="+"
          setter="kbr"
    />
    <flag name="commit-queue"
          id="63366"
          type_id="3"
          status="-"
          setter="zmo"
    />
          </attachment>
      

    </bug>

</bugzilla>