<?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>165630</bug_id>
          
          <creation_ts>2016-12-08 15:24:01 -0800</creation_ts>
          <short_desc>Add 64-bit signed LEB decode method</short_desc>
          <delta_ts>2016-12-08 17:34:35 -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>New Bugs</component>
          <version>WebKit 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="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1257916</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-12-08 15:24:01 -0800</bug_when>
    <thetext>Add 64-bit signed LEB decode method</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257918</commentid>
    <comment_count>1</comment_count>
      <attachid>296576</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-12-08 15:26:22 -0800</bug_when>
    <thetext>Created attachment 296576
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257948</commentid>
    <comment_count>2</comment_count>
      <attachid>296591</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-12-08 16:45:45 -0800</bug_when>
    <thetext>Created attachment 296591
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257950</commentid>
    <comment_count>3</comment_count>
      <attachid>296576</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-12-08 16:51:33 -0800</bug_when>
    <thetext>Comment on attachment 296576
Patch

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

&gt; Source/WTF/wtf/LEBDecoder.h:59
&gt; +template&lt;size_t maxByteLength, typename T&gt;
&gt; +inline bool WARN_UNUSED_RETURN decodeInt(const uint8_t* bytes, size_t length, size_t&amp; offset, T&amp; result)

I think it would have been better maxByteLength was obtained via traits on T.
e.g.
template &lt;typename T&gt; struct maxLEBBytes;
template &lt;&gt; maxLEBBytes&lt;uint32_t&gt; struct { static size_t maxByteLength = 5; }
template &lt;&gt; maxLEBBytes&lt;unit64_t&gt; struct { static size_t maxByteLength = 10; }
This would be less error prone than passing in matching template arguments.

&gt; Source/WTF/wtf/LEBDecoder.h:65
&gt; -    size_t last = std::min(max32BitLEBByteLength, length - offset - 1);
&gt; +    size_t last = std::min(maxByteLength, length - offset) - 1;

You should mention -1 moving out of std::min in the change log.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257951</commentid>
    <comment_count>4</comment_count>
      <attachid>296591</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-12-08 16:52:02 -0800</bug_when>
    <thetext>Comment on attachment 296591
Patch

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

&gt; Source/WTF/wtf/LEBDecoder.h:41
&gt; +    const size_t maxByteLength = (numBits - 1) / 7 + 1; // numBits / 7 rounding up.

Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257974</commentid>
    <comment_count>5</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-12-08 17:34:35 -0800</bug_when>
    <thetext>Committed r209586: &lt;http://trac.webkit.org/changeset/209586&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296576</attachid>
            <date>2016-12-08 15:26:22 -0800</date>
            <delta_ts>2016-12-08 16:52:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165630-20161208152540.patch</filename>
            <type>text/plain</type>
            <size>20141</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5NTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGU5YTQ2ZWM5NTYzMTlkMTM3OWQ1ZjBl
ODAyZDk1NDE1ZTRlODgxODUuLmJhNWJiY2ZjZjQ1N2JiMjBhZGRjMzljZjk5ZDk0ZjNkODA0YzIz
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTYtMTItMDggIEtlaXRoIE1pbGxlciAgPGtlaXRo
X21pbGxlckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIDY0LWJpdCBzaWduZWQgTEVCIGRlY29k
ZSBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NTYzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBpbnQ2NCBMRUIgZGVjb2RlIGFuZCBmaXggc29tZSA2NC1iaXQgc3BlY2lmaWMgaXNzdWVz
CisgICAgICAgIHdpdGggdGhlIGRlY29kZXIuCisKKyAgICAgICAgKiB3dGYvTEVCRGVjb2Rlci5o
OgorICAgICAgICAoV1RGOjpMRUJEZWNvZGVyOjpkZWNvZGVVSW50KToKKyAgICAgICAgKFdURjo6
TEVCRGVjb2Rlcjo6ZGVjb2RlSW50KToKKyAgICAgICAgKFdURjo6TEVCRGVjb2Rlcjo6ZGVjb2Rl
VUludDMyKToKKyAgICAgICAgKFdURjo6TEVCRGVjb2Rlcjo6ZGVjb2RlVUludDY0KToKKyAgICAg
ICAgKFdURjo6TEVCRGVjb2Rlcjo6ZGVjb2RlSW50MzIpOgorICAgICAgICAoV1RGOjpMRUJEZWNv
ZGVyOjpkZWNvZGVJbnQ2NCk6CisKIDIwMTYtMTItMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjA5NDg5LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvTEVCRGVjb2Rlci5oIGIvU291cmNlL1dURi93dGYvTEVC
RGVjb2Rlci5oCmluZGV4IGU2MmQ2ZjFhMjhkOTY0MjgzYjZkZjc1ZGYxNzBkYjRmYzIyZmQ0MTEu
LmJkYzg2NzIzYjNjOGM2NWY3NThhMjJmYmNkMzhjNWFiOWZmM2ZkNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL0xFQkRlY29kZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9MRUJEZWNvZGVy
LmgKQEAgLTQxLDEwICs0MSwxMCBAQCBpbmxpbmUgYm9vbCBXQVJOX1VOVVNFRF9SRVRVUk4gZGVj
b2RlVUludChjb25zdCB1aW50OF90KiBieXRlcywgc2l6ZV90IGxlbmd0aCwgcwogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgcmVzdWx0ID0gMDsKICAgICB1bnNpZ25lZCBzaGlmdCA9IDA7Ci0g
ICAgc2l6ZV90IGxhc3QgPSBzdGQ6Om1pbihtYXhCeXRlTGVuZ3RoLCBsZW5ndGggLSBvZmZzZXQg
LSAxKTsKKyAgICBzaXplX3QgbGFzdCA9IHN0ZDo6bWluKG1heEJ5dGVMZW5ndGgsIGxlbmd0aCAt
IG9mZnNldCkgLSAxOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IHRydWU7ICsraSkgewogICAg
ICAgICB1aW50OF90IGJ5dGUgPSBieXRlc1tvZmZzZXQrK107Ci0gICAgICAgIHJlc3VsdCB8PSAo
Ynl0ZSAmIDB4N2YpIDw8IHNoaWZ0OworICAgICAgICByZXN1bHQgfD0gc3RhdGljX2Nhc3Q8VD4o
Ynl0ZSAmIDB4N2YpIDw8IHNoaWZ0OwogICAgICAgICBzaGlmdCArPSA3OwogICAgICAgICBpZiAo
IShieXRlICYgMHg4MCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTU1LDMwICs1NSwx
OCBAQCBpbmxpbmUgYm9vbCBXQVJOX1VOVVNFRF9SRVRVUk4gZGVjb2RlVUludChjb25zdCB1aW50
OF90KiBieXRlcywgc2l6ZV90IGxlbmd0aCwgcwogICAgIHJldHVybiB0cnVlOwogfQogCi1jb25z
dCBzaXplX3QgbWF4MzJCaXRMRUJCeXRlTGVuZ3RoID0gNTsKLWNvbnN0IHNpemVfdCBtYXg2NEJp
dExFQkJ5dGVMZW5ndGggPSAxMDsKLQotaW5saW5lIGJvb2wgV0FSTl9VTlVTRURfUkVUVVJOIGRl
Y29kZVVJbnQzMihjb25zdCB1aW50OF90KiBieXRlcywgc2l6ZV90IGxlbmd0aCwgc2l6ZV90JiBv
ZmZzZXQsIHVpbnQzMl90JiByZXN1bHQpCi17Ci0gICAgcmV0dXJuIGRlY29kZVVJbnQ8bWF4MzJC
aXRMRUJCeXRlTGVuZ3RoLCB1aW50MzJfdD4oYnl0ZXMsIGxlbmd0aCwgb2Zmc2V0LCByZXN1bHQp
OwotfQotCi1pbmxpbmUgYm9vbCBXQVJOX1VOVVNFRF9SRVRVUk4gZGVjb2RlVUludDY0KGNvbnN0
IHVpbnQ4X3QqIGJ5dGVzLCBzaXplX3QgbGVuZ3RoLCBzaXplX3QmIG9mZnNldCwgdWludDY0X3Qm
IHJlc3VsdCkKLXsKLSAgICByZXR1cm4gZGVjb2RlVUludDxtYXg2NEJpdExFQkJ5dGVMZW5ndGgs
IHVpbnQ2NF90PihieXRlcywgbGVuZ3RoLCBvZmZzZXQsIHJlc3VsdCk7Ci19Ci0KLWlubGluZSBi
b29sIFdBUk5fVU5VU0VEX1JFVFVSTiBkZWNvZGVJbnQzMihjb25zdCB1aW50OF90KiBieXRlcywg
c2l6ZV90IGxlbmd0aCwgc2l6ZV90JiBvZmZzZXQsIGludDMyX3QmIHJlc3VsdCkKK3RlbXBsYXRl
PHNpemVfdCBtYXhCeXRlTGVuZ3RoLCB0eXBlbmFtZSBUPgoraW5saW5lIGJvb2wgV0FSTl9VTlVT
RURfUkVUVVJOIGRlY29kZUludChjb25zdCB1aW50OF90KiBieXRlcywgc2l6ZV90IGxlbmd0aCwg
c2l6ZV90JiBvZmZzZXQsIFQmIHJlc3VsdCkKIHsKICAgICBpZiAobGVuZ3RoIDw9IG9mZnNldCkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJlc3VsdCA9IDA7CiAgICAgdW5zaWduZWQgc2hp
ZnQgPSAwOwotICAgIHNpemVfdCBsYXN0ID0gc3RkOjptaW4obWF4MzJCaXRMRUJCeXRlTGVuZ3Ro
LCBsZW5ndGggLSBvZmZzZXQgLSAxKTsKKyAgICBzaXplX3QgbGFzdCA9IHN0ZDo6bWluKG1heEJ5
dGVMZW5ndGgsIGxlbmd0aCAtIG9mZnNldCkgLSAxOwogICAgIHVpbnQ4X3QgYnl0ZTsKICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyB0cnVlOyArK2kpIHsKICAgICAgICAgYnl0ZSA9IGJ5dGVzW29m
ZnNldCsrXTsKLSAgICAgICAgcmVzdWx0IHw9IChieXRlICYgMHg3ZikgPDwgc2hpZnQ7CisgICAg
ICAgIHJlc3VsdCB8PSBzdGF0aWNfY2FzdDxUPihieXRlICYgMHg3ZikgPDwgc2hpZnQ7CiAgICAg
ICAgIHNoaWZ0ICs9IDc7CiAgICAgICAgIGlmICghKGJ5dGUgJiAweDgwKSkKICAgICAgICAgICAg
IGJyZWFrOwpAQCAtODYsOSArNzQsMzIgQEAgaW5saW5lIGJvb2wgV0FSTl9VTlVTRURfUkVUVVJO
IGRlY29kZUludDMyKGNvbnN0IHVpbnQ4X3QqIGJ5dGVzLCBzaXplX3QgbGVuZ3RoLAogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIGlmIChzaGlmdCA8IDMyICYmIChieXRl
ICYgMHg0MCkpCi0gICAgICAgIHJlc3VsdCB8PSAoKC0xdSkgPDwgc2hpZnQpOworICAgIGlmIChz
aGlmdCA8IHNpemVvZihUKSAqIDggJiYgKGJ5dGUgJiAweDQwKSkKKyAgICAgICAgcmVzdWx0IHw9
IHN0YXRpY19jYXN0PFQ+KC0xKSA8PCBzaGlmdDsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorY29u
c3Qgc2l6ZV90IG1heDMyQml0TEVCQnl0ZUxlbmd0aCA9IDU7Citjb25zdCBzaXplX3QgbWF4NjRC
aXRMRUJCeXRlTGVuZ3RoID0gMTA7CisKK2lubGluZSBib29sIFdBUk5fVU5VU0VEX1JFVFVSTiBk
ZWNvZGVVSW50MzIoY29uc3QgdWludDhfdCogYnl0ZXMsIHNpemVfdCBsZW5ndGgsIHNpemVfdCYg
b2Zmc2V0LCB1aW50MzJfdCYgcmVzdWx0KQoreworICAgIHJldHVybiBkZWNvZGVVSW50PG1heDMy
Qml0TEVCQnl0ZUxlbmd0aCwgdWludDMyX3Q+KGJ5dGVzLCBsZW5ndGgsIG9mZnNldCwgcmVzdWx0
KTsKK30KKworaW5saW5lIGJvb2wgV0FSTl9VTlVTRURfUkVUVVJOIGRlY29kZVVJbnQ2NChjb25z
dCB1aW50OF90KiBieXRlcywgc2l6ZV90IGxlbmd0aCwgc2l6ZV90JiBvZmZzZXQsIHVpbnQ2NF90
JiByZXN1bHQpCit7CisgICAgcmV0dXJuIGRlY29kZVVJbnQ8bWF4NjRCaXRMRUJCeXRlTGVuZ3Ro
LCB1aW50NjRfdD4oYnl0ZXMsIGxlbmd0aCwgb2Zmc2V0LCByZXN1bHQpOworfQorCitpbmxpbmUg
Ym9vbCBXQVJOX1VOVVNFRF9SRVRVUk4gZGVjb2RlSW50MzIoY29uc3QgdWludDhfdCogYnl0ZXMs
IHNpemVfdCBsZW5ndGgsIHNpemVfdCYgb2Zmc2V0LCBpbnQzMl90JiByZXN1bHQpCit7CisgICAg
cmV0dXJuIGRlY29kZUludDxtYXgzMkJpdExFQkJ5dGVMZW5ndGgsIGludDMyX3Q+KGJ5dGVzLCBs
ZW5ndGgsIG9mZnNldCwgcmVzdWx0KTsKK30KKworaW5saW5lIGJvb2wgV0FSTl9VTlVTRURfUkVU
VVJOIGRlY29kZUludDY0KGNvbnN0IHVpbnQ4X3QqIGJ5dGVzLCBzaXplX3QgbGVuZ3RoLCBzaXpl
X3QmIG9mZnNldCwgaW50NjRfdCYgcmVzdWx0KQoreworICAgIHJldHVybiBkZWNvZGVJbnQ8bWF4
NjRCaXRMRUJCeXRlTGVuZ3RoLCBpbnQ2NF90PihieXRlcywgbGVuZ3RoLCBvZmZzZXQsIHJlc3Vs
dCk7Cit9CisKIH0gfSAvLyBXVEY6OkxFQkRlY29kZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3MWQ3MDMwNTViODk2YzM1ZjE4ZDRhMDRmNzQy
MWZmMDllNTA2YWIxLi5iNzQyMGFhYTI3NjU5MjI2MjdmYmQ4ODhlMGQ0Y2VlNDBjNGY3NjU2IDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjEgQEAKKzIwMTYtMTItMDggIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIDY0LWJpdCBzaWduZWQgTEVCIGRlY29kZSBtZXRob2QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTYzMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3Ig
TEVCIGludDY0IGFuZCB1aW50NjQgZGVjb2RlIHNpbmNlIEkgZ3Vlc3MKKyAgICAgICAgSSBmb3Jn
b3QgdG8gYWRkIHRlc3RzIGJlZm9yZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL0xFQkRlY29kZXIuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGVzdFVJbnQzMkxF
QkRlY29kZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OnRlc3RVSW50NjRMRUJEZWNvZGUpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6
dGVzdEludDMyTEVCRGVjb2RlKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnRlc3RJbnQ2NExF
QkRlY29kZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjp0ZXN0VW5zaWduZWRMRUJEZWNvZGUp
OiBEZWxldGVkLgorCiAyMDE2LTEyLTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIwOTQ4OS4KZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0xFQkRlY29kZXIuY3BwIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvTEVCRGVjb2Rlci5jcHAKaW5kZXggNDI0NWM1YWM3MjdhOTIw
NTEyYjg2NDE5NWQyNjkxYjAzMjJiOTYxMi4uMjE0MTA4MGM0MzZjYjM2M2U3ODQyOWU1YTYxMjdi
NDVkYjY2MzZmOCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTEVC
RGVjb2Rlci5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTEVCRGVjb2Rl
ci5jcHAKQEAgLTMwLDUxICszMCwxMTEgQEAKIAogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewog
Ci1zdGF0aWMgdm9pZCB0ZXN0VW5zaWduZWRMRUJEZWNvZGUoc3RkOjppbml0aWFsaXplcl9saXN0
PHVpbnQ4X3Q+IGRhdGEsIHNpemVfdCBzdGFydE9mZnNldCwgYm9vbCBleHBlY3RlZFN0YXR1cywg
dWludDMyX3QgZXhwZWN0ZWRSZXN1bHQsIHNpemVfdCBleHBlY3RlZE9mZnNldCkKK3N0YXRpYyB2
b2lkIHRlc3RVSW50MzJMRUJEZWNvZGUoc3RkOjppbml0aWFsaXplcl9saXN0PHVpbnQ4X3Q+IGRh
dGEsIHNpemVfdCBzdGFydE9mZnNldCwgYm9vbCBleHBlY3RlZFN0YXR1cywgdWludDMyX3QgZXhw
ZWN0ZWRSZXN1bHQsIHNpemVfdCBleHBlY3RlZE9mZnNldCkKIHsKICAgICBWZWN0b3I8dWludDhf
dD4gdmVjdG9yKGRhdGEpOwogICAgIHVpbnQzMl90IHJlc3VsdDsKICAgICBib29sIHN0YXR1cyA9
IFdURjo6TEVCRGVjb2Rlcjo6ZGVjb2RlVUludDMyKHZlY3Rvci5kYXRhKCksIHZlY3Rvci5zaXpl
KCksIHN0YXJ0T2Zmc2V0LCByZXN1bHQpOwotICAgIEVYUEVDVF9FUShzdGF0dXMsIGV4cGVjdGVk
U3RhdHVzKTsKKyAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRTdGF0dXMsIHN0YXR1cyk7CiAgICAgaWYg
KGV4cGVjdGVkU3RhdHVzKSB7Ci0gICAgICAgIEVYUEVDVF9FUShyZXN1bHQsIGV4cGVjdGVkUmVz
dWx0KTsKLSAgICAgICAgRVhQRUNUX0VRKHN0YXJ0T2Zmc2V0LCBleHBlY3RlZE9mZnNldCk7Cisg
ICAgICAgIEVYUEVDVF9FUShleHBlY3RlZFJlc3VsdCwgcmVzdWx0KTsKKyAgICAgICAgRVhQRUNU
X0VRKGV4cGVjdGVkT2Zmc2V0LCBzdGFydE9mZnNldCk7CiAgICAgfQogfQogCiBURVNUKFdURiwg
TEVCRGVjb2RlclVJbnQzMikKIHsKICAgICAvLyBTaW1wbGUgdGVzdHMgdGhhdCB1c2UgYWxsIHRo
ZSBiaXRzIGluIHRoZSBhcnJheQotICAgIHRlc3RVbnNpZ25lZExFQkRlY29kZSh7IDB4MDcgfSwg
MCwgdHJ1ZSwgMHg3bHUsIDFsdSk7Ci0gICAgdGVzdFVuc2lnbmVkTEVCRGVjb2RlKHsgMHg3NyB9
LCAwLCB0cnVlLCAweDc3bHUsIDFsdSk7Ci0gICAgdGVzdFVuc2lnbmVkTEVCRGVjb2RlKHsgMHg4
MCwgMHgwNyB9LCAwLCB0cnVlLCAweDM4MGx1LCAybHUpOwotICAgIHRlc3RVbnNpZ25lZExFQkRl
Y29kZSh7IDB4ODksIDB4MTIgfSwgMCwgdHJ1ZSwgMHg5MDlsdSwgMmx1KTsKLSAgICB0ZXN0VW5z
aWduZWRMRUJEZWNvZGUoeyAweGYzLCAweDg1LCAweDAyIH0sIDAsIHRydWUsIDB4ODJmM2x1LCAz
bHUpOwotICAgIHRlc3RVbnNpZ25lZExFQkRlY29kZSh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4NzQg
fSwgMCwgdHJ1ZSwgMHhlOWZjMmYzbHUsIDRsdSk7Ci0gICAgdGVzdFVuc2lnbmVkTEVCRGVjb2Rl
KHsgMHhmMywgMHg4NSwgMHhmZiwgMHhmNCwgMHg3ZiB9LCAwLCB0cnVlLCAweGZlOWZjMmYzbHUs
IDVsdSk7CisgICAgdGVzdFVJbnQzMkxFQkRlY29kZSh7IDB4MDcgfSwgMCwgdHJ1ZSwgMHg3bHUs
IDFsdSk7CisgICAgdGVzdFVJbnQzMkxFQkRlY29kZSh7IDB4NzcgfSwgMCwgdHJ1ZSwgMHg3N2x1
LCAxbHUpOworICAgIHRlc3RVSW50MzJMRUJEZWNvZGUoeyAweDgwLCAweDA3IH0sIDAsIHRydWUs
IDB4MzgwbHUsIDJsdSk7CisgICAgdGVzdFVJbnQzMkxFQkRlY29kZSh7IDB4ODksIDB4MTIgfSwg
MCwgdHJ1ZSwgMHg5MDlsdSwgMmx1KTsKKyAgICB0ZXN0VUludDMyTEVCRGVjb2RlKHsgMHhmMywg
MHg4NSwgMHgwMiB9LCAwLCB0cnVlLCAweDgyZjNsdSwgM2x1KTsKKyAgICB0ZXN0VUludDMyTEVC
RGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHg3NCB9LCAwLCB0cnVlLCAweGU5ZmMyZjNsdSwg
NGx1KTsKKyAgICB0ZXN0VUludDMyTEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHhmNCwg
MHg3ZiB9LCAwLCB0cnVlLCAweGZlOWZjMmYzbHUsIDVsdSk7CiAgICAgLy8gVGVzdCB3aXRoIGV4
dHJhIHRyYWlsaW5nIG51bWJlcnMKLSAgICB0ZXN0VW5zaWduZWRMRUJEZWNvZGUoeyAweDA3LCAw
eDgwIH0sIDAsIHRydWUsIDB4N2x1LCAxbHUpOwotICAgIHRlc3RVbnNpZ25lZExFQkRlY29kZSh7
IDB4MDcsIDB4NzUgfSwgMCwgdHJ1ZSwgMHg3bHUsIDFsdSk7Ci0gICAgdGVzdFVuc2lnbmVkTEVC
RGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHg3NCwgMHg0MyB9LCAwLCB0cnVlLCAweGU5ZmMy
ZjNsdSwgNGx1KTsKLSAgICB0ZXN0VW5zaWduZWRMRUJEZWNvZGUoeyAweGYzLCAweDg1LCAweGZm
LCAweDc0LCAweDgwIH0sIDAsIHRydWUsIDB4ZTlmYzJmM2x1LCA0bHUpOworICAgIHRlc3RVSW50
MzJMRUJEZWNvZGUoeyAweDA3LCAweDgwIH0sIDAsIHRydWUsIDB4N2x1LCAxbHUpOworICAgIHRl
c3RVSW50MzJMRUJEZWNvZGUoeyAweDA3LCAweDc1IH0sIDAsIHRydWUsIDB4N2x1LCAxbHUpOwor
ICAgIHRlc3RVSW50MzJMRUJEZWNvZGUoeyAweGYzLCAweDg1LCAweGZmLCAweDc0LCAweDQzIH0s
IDAsIHRydWUsIDB4ZTlmYzJmM2x1LCA0bHUpOworICAgIHRlc3RVSW50MzJMRUJEZWNvZGUoeyAw
eGYzLCAweDg1LCAweGZmLCAweDc0LCAweDgwIH0sIDAsIHRydWUsIDB4ZTlmYzJmM2x1LCA0bHUp
OwogICAgIC8vIFRlc3Qgd2l0aCBwcmVjZWVkaW5nIG51bWJlcnMKLSAgICB0ZXN0VW5zaWduZWRM
RUJEZWNvZGUoeyAweGYzLCAweDA3IH0sIDEsIHRydWUsIDB4N2x1LCAybHUpOwotICAgIHRlc3RV
bnNpZ25lZExFQkRlY29kZSh7IDB4MDMsIDB4MDcgfSwgMSwgdHJ1ZSwgMHg3bHUsIDJsdSk7Ci0g
ICAgdGVzdFVuc2lnbmVkTEVCRGVjb2RlKHsgMHhmMiwgMHg1MywgMHg0MywgMHg2NywgMHg3OSwg
MHg3NyB9LCA1LCB0cnVlLCAweDc3bHUsIDZsdSk7Ci0gICAgdGVzdFVuc2lnbmVkTEVCRGVjb2Rl
KHsgMHhmMiwgMHg1MywgMHg0MywgMHhmNywgMHg4NCwgMHg3NyB9LCA1LCB0cnVlLCAweDc3bHUs
IDZ1bCk7Ci0gICAgdGVzdFVuc2lnbmVkTEVCRGVjb2RlKHsgMHhmMiwgMHg1MywgMHg0MywgMHhm
MywgMHg4NSwgMHgwMiB9LCAzLCB0cnVlLCAweDgyZjNsdSwgNmx1KTsKKyAgICB0ZXN0VUludDMy
TEVCRGVjb2RlKHsgMHhmMywgMHgwNyB9LCAxLCB0cnVlLCAweDdsdSwgMmx1KTsKKyAgICB0ZXN0
VUludDMyTEVCRGVjb2RlKHsgMHgwMywgMHgwNyB9LCAxLCB0cnVlLCAweDdsdSwgMmx1KTsKKyAg
ICB0ZXN0VUludDMyTEVCRGVjb2RlKHsgMHhmMiwgMHg1MywgMHg0MywgMHg2NywgMHg3OSwgMHg3
NyB9LCA1LCB0cnVlLCAweDc3bHUsIDZsdSk7CisgICAgdGVzdFVJbnQzMkxFQkRlY29kZSh7IDB4
ZjIsIDB4NTMsIDB4NDMsIDB4ZjcsIDB4ODQsIDB4NzcgfSwgNSwgdHJ1ZSwgMHg3N2x1LCA2dWwp
OworICAgIHRlc3RVSW50MzJMRUJEZWNvZGUoeyAweGYyLCAweDUzLCAweDQzLCAweGYzLCAweDg1
LCAweDAyIH0sIDMsIHRydWUsIDB4ODJmM2x1LCA2bHUpOwogICAgIC8vIFRlc3QgaW4gdGhlIG1p
ZGRsZQotICAgIHRlc3RVbnNpZ25lZExFQkRlY29kZSh7IDB4ZjMsIDB4MDcsIDB4ODkgfSwgMSwg
dHJ1ZSwgMHg3bHUsIDJsdSk7Ci0gICAgdGVzdFVuc2lnbmVkTEVCRGVjb2RlKHsgMHgwMywgMHgw
NywgMHgyMyB9LCAxLCB0cnVlLCAweDdsdSwgMmx1KTsKLSAgICB0ZXN0VW5zaWduZWRMRUJEZWNv
ZGUoeyAweGYyLCAweDUzLCAweDQzLCAweDY3LCAweDc5LCAweDc3LCAweDQzIH0sIDUsIHRydWUs
IDB4NzdsdSwgNmx1KTsKLSAgICB0ZXN0VW5zaWduZWRMRUJEZWNvZGUoeyAweGYyLCAweDUzLCAw
eDQzLCAweGY3LCAweDg0LCAweDc3LCAweGY5IH0sIDUsIHRydWUsIDB4NzdsdSwgNmx1KTsKLSAg
ICB0ZXN0VW5zaWduZWRMRUJEZWNvZGUoeyAweGYyLCAweDUzLCAweDQzLCAweGYzLCAweDg1LCAw
eDAyLCAweGE0IH0sIDMsIHRydWUsIDB4ODJmM2x1LCA2bHUpOworICAgIHRlc3RVSW50MzJMRUJE
ZWNvZGUoeyAweGYzLCAweDA3LCAweDg5IH0sIDEsIHRydWUsIDB4N2x1LCAybHUpOworICAgIHRl
c3RVSW50MzJMRUJEZWNvZGUoeyAweDAzLCAweDA3LCAweDIzIH0sIDEsIHRydWUsIDB4N2x1LCAy
bHUpOworICAgIHRlc3RVSW50MzJMRUJEZWNvZGUoeyAweGYyLCAweDUzLCAweDQzLCAweDY3LCAw
eDc5LCAweDc3LCAweDQzIH0sIDUsIHRydWUsIDB4NzdsdSwgNmx1KTsKKyAgICB0ZXN0VUludDMy
TEVCRGVjb2RlKHsgMHhmMiwgMHg1MywgMHg0MywgMHhmNywgMHg4NCwgMHg3NywgMHhmOSB9LCA1
LCB0cnVlLCAweDc3bHUsIDZsdSk7CisgICAgdGVzdFVJbnQzMkxFQkRlY29kZSh7IDB4ZjIsIDB4
NTMsIDB4NDMsIDB4ZjMsIDB4ODUsIDB4MDIsIDB4YTQgfSwgMywgdHJ1ZSwgMHg4MmYzbHUsIDZs
dSk7CiAgICAgLy8gVGVzdCBkZWNvZGUgdG9vIGxvbmcKLSAgICB0ZXN0VW5zaWduZWRMRUJEZWNv
ZGUoeyAweDgwLCAweDgwLCAweDgwLCAweDgwLCAweDgwLCAweDgwfSwgMCwgZmFsc2UsIDB4MGx1
LCAwbHUpOwotICAgIHRlc3RVbnNpZ25lZExFQkRlY29kZSh7IDB4ODAsIDB4ODAsIDB4YWIsIDB4
OGEsIDB4OWEsIDB4YTMsIDB4ZmZ9LCAxLCBmYWxzZSwgMHgwbHUsIDBsdSk7Ci0gICAgdGVzdFVu
c2lnbmVkTEVCRGVjb2RlKHsgMHg4MCwgMHg4MCwgMHhhYiwgMHg4YSwgMHg5YSwgMHhhMywgMHhm
Zn0sIDAsIGZhbHNlLCAweDBsdSwgMGx1KTsKKyAgICB0ZXN0VUludDMyTEVCRGVjb2RlKHsgMHg4
MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCB9LCAwLCBmYWxzZSwgMHgwbHUsIDBsdSk7
CisgICAgdGVzdFVJbnQzMkxFQkRlY29kZSh7IDB4ODAsIDB4ODAsIDB4YWIsIDB4OGEsIDB4OWEs
IDB4YTMsIDB4ZmYgfSwgMSwgZmFsc2UsIDB4MGx1LCAwbHUpOworICAgIHRlc3RVSW50MzJMRUJE
ZWNvZGUoeyAweDgwLCAweDgwLCAweGFiLCAweDhhLCAweDlhLCAweGEzLCAweGZmIH0sIDAsIGZh
bHNlLCAweDBsdSwgMGx1KTsKICAgICAvLyBUZXN0IGRlY29kZSBvZmYgZW5kIG9mIGFycmF5Ci0g
ICAgdGVzdFVuc2lnbmVkTEVCRGVjb2RlKHsgMHg4MCwgMHg4MCwgMHhhYiwgMHg4YSwgMHg5YSwg
MHhhMywgMHhmZn0sIDIsIGZhbHNlLCAweDBsdSwgMGx1KTsKKyAgICB0ZXN0VUludDMyTEVCRGVj
b2RlKHsgMHg4MCwgMHg4MCwgMHhhYiwgMHg4YSwgMHg5YSwgMHhhMywgMHhmZiB9LCAyLCBmYWxz
ZSwgMHgwbHUsIDBsdSk7Cit9CisKK3N0YXRpYyB2b2lkIHRlc3RVSW50NjRMRUJEZWNvZGUoc3Rk
Ojppbml0aWFsaXplcl9saXN0PHVpbnQ4X3Q+IGRhdGEsIHNpemVfdCBzdGFydE9mZnNldCwgYm9v
bCBleHBlY3RlZFN0YXR1cywgdWludDY0X3QgZXhwZWN0ZWRSZXN1bHQsIHNpemVfdCBleHBlY3Rl
ZE9mZnNldCkKK3sKKyAgICBWZWN0b3I8dWludDhfdD4gdmVjdG9yKGRhdGEpOworICAgIHVpbnQ2
NF90IHJlc3VsdDsKKyAgICBib29sIHN0YXR1cyA9IFdURjo6TEVCRGVjb2Rlcjo6ZGVjb2RlVUlu
dDY0KHZlY3Rvci5kYXRhKCksIHZlY3Rvci5zaXplKCksIHN0YXJ0T2Zmc2V0LCByZXN1bHQpOwor
ICAgIEVYUEVDVF9FUShleHBlY3RlZFN0YXR1cywgc3RhdHVzKTsKKyAgICBpZiAoZXhwZWN0ZWRT
dGF0dXMpIHsKKyAgICAgICAgRVhQRUNUX0VRKGV4cGVjdGVkUmVzdWx0LCByZXN1bHQpOworICAg
ICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRPZmZzZXQsIHN0YXJ0T2Zmc2V0KTsKKyAgICB9Cit9CisK
K1RFU1QoV1RGLCBMRUJEZWNvZGVyVUludDY0KQoreworICAgIC8vIFNpbXBsZSB0ZXN0cyB0aGF0
IHVzZSBhbGwgdGhlIGJpdHMgaW4gdGhlIGFycmF5CisgICAgdGVzdFVJbnQ2NExFQkRlY29kZSh7
IDB4MDcgfSwgMCwgdHJ1ZSwgMHg3bHUsIDFsdSk7CisgICAgdGVzdFVJbnQ2NExFQkRlY29kZSh7
IDB4NzcgfSwgMCwgdHJ1ZSwgMHg3N2x1LCAxbHUpOworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUo
eyAweDgwLCAweDA3IH0sIDAsIHRydWUsIDB4MzgwbHUsIDJsdSk7CisgICAgdGVzdFVJbnQ2NExF
QkRlY29kZSh7IDB4ODksIDB4MTIgfSwgMCwgdHJ1ZSwgMHg5MDlsdSwgMmx1KTsKKyAgICB0ZXN0
VUludDY0TEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHgwMiB9LCAwLCB0cnVlLCAweDgyZjNsdSwg
M2x1KTsKKyAgICB0ZXN0VUludDY0TEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHg3NCB9
LCAwLCB0cnVlLCAweGU5ZmMyZjNsdSwgNGx1KTsKKyAgICB0ZXN0VUludDY0TEVCRGVjb2RlKHsg
MHhmMywgMHg4NSwgMHhmZiwgMHhmNCwgMHg3ZiB9LCAwLCB0cnVlLCAweDdmZTlmYzJmM2x1LCA1
bHUpOworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweGYzLCAweDg1LCAweGZmLCAweGY0LCAw
eGZmLCAweDRiIH0sIDAsIHRydWUsIDB4MjVmZmU5ZmMyZjNsdSwgNmx1KTsKKyAgICB0ZXN0VUlu
dDY0TEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHhmNCwgMHhmZiwgMHhjYiwgMHgzYSB9
LCAwLCB0cnVlLCAweGVhNWZmZTlmYzJmM2x1LCA3bHUpOworICAgIHRlc3RVSW50NjRMRUJEZWNv
ZGUoeyAweGYzLCAweDg1LCAweGZmLCAweGY0LCAweGZmLCAweGNiLCAweGJhLCAweDBmIH0sIDAs
IHRydWUsIDB4MWVlYTVmZmU5ZmMyZjNsdSwgOGx1KTsKKyAgICB0ZXN0VUludDY0TEVCRGVjb2Rl
KHsgMHhmMywgMHg4NSwgMHhmZiwgMHhmNCwgMHhmZiwgMHhjYiwgMHhiYSwgMHg4ZiwgMHg2OSB9
LCAwLCB0cnVlLCAweDY5MWVlYTVmZmU5ZmMyZjNsdSwgOWx1KTsKKyAgICB0ZXN0VUludDY0TEVC
RGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHhmNCwgMHhmZiwgMHhjYiwgMHhiYSwgMHg4Ziwg
MHhlOSwgMHgwMSB9LCAwLCB0cnVlLCAweGU5MWVlYTVmZmU5ZmMyZjNsdSwgMTBsdSk7CisgICAg
dGVzdFVJbnQ2NExFQkRlY29kZSh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4ZjQsIDB4ZmYsIDB4Y2Is
IDB4YmEsIDB4OGYsIDB4ZTksIDB4NzAgfSwgMCwgdHJ1ZSwgMHg2OTFlZWE1ZmZlOWZjMmYzbHUs
IDEwbHUpOworICAgIC8vIFRlc3Qgd2l0aCBleHRyYSB0cmFpbGluZyBudW1iZXJzCisgICAgdGVz
dFVJbnQ2NExFQkRlY29kZSh7IDB4MDcsIDB4ODAgfSwgMCwgdHJ1ZSwgMHg3bHUsIDFsdSk7Cisg
ICAgdGVzdFVJbnQ2NExFQkRlY29kZSh7IDB4MDcsIDB4NzUgfSwgMCwgdHJ1ZSwgMHg3bHUsIDFs
dSk7CisgICAgdGVzdFVJbnQ2NExFQkRlY29kZSh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4NzQsIDB4
NDMgfSwgMCwgdHJ1ZSwgMHhlOWZjMmYzbHUsIDRsdSk7CisgICAgdGVzdFVJbnQ2NExFQkRlY29k
ZSh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4NzQsIDB4ODAgfSwgMCwgdHJ1ZSwgMHhlOWZjMmYzbHUs
IDRsdSk7CisgICAgdGVzdFVJbnQ2NExFQkRlY29kZSh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4ZjQs
IDB4ZmYsIDB4Y2IsIDB4YmEsIDB4OGYsIDB4NjksIDB4NDUgfSwgMCwgdHJ1ZSwgMHg2OTFlZWE1
ZmZlOWZjMmYzbHUsIDlsdSk7CisgICAgLy8gVGVzdCB3aXRoIHByZWNlZWRpbmcgbnVtYmVycwor
ICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweGYzLCAweDA3IH0sIDEsIHRydWUsIDB4N2x1LCAy
bHUpOworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweDAzLCAweDA3IH0sIDEsIHRydWUsIDB4
N2x1LCAybHUpOworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweGYyLCAweDUzLCAweDQzLCAw
eDY3LCAweDc5LCAweDc3IH0sIDUsIHRydWUsIDB4NzdsdSwgNmx1KTsKKyAgICB0ZXN0VUludDY0
TEVCRGVjb2RlKHsgMHhmMiwgMHg1MywgMHg0MywgMHhmNywgMHg4NCwgMHg3NyB9LCA1LCB0cnVl
LCAweDc3bHUsIDZ1bCk7CisgICAgdGVzdFVJbnQ2NExFQkRlY29kZSh7IDB4ZjIsIDB4NTMsIDB4
NDMsIDB4ZjMsIDB4ODUsIDB4MDIgfSwgMywgdHJ1ZSwgMHg4MmYzbHUsIDZsdSk7CisgICAgdGVz
dFVJbnQ2NExFQkRlY29kZSh7IDB4OTIsIDB4ZjMsIDB4ODUsIDB4ZmYsIDB4ZjQsIDB4ZmYsIDB4
Y2IsIDB4YmEsIDB4OGYsIDB4NjkgfSwgMSwgdHJ1ZSwgMHg2OTFlZWE1ZmZlOWZjMmYzbHUsIDEw
bHUpOworICAgIC8vIFRlc3QgaW4gdGhlIG1pZGRsZQorICAgIHRlc3RVSW50NjRMRUJEZWNvZGUo
eyAweGYzLCAweDA3LCAweDg5IH0sIDEsIHRydWUsIDB4N2x1LCAybHUpOworICAgIHRlc3RVSW50
NjRMRUJEZWNvZGUoeyAweDAzLCAweDA3LCAweDIzIH0sIDEsIHRydWUsIDB4N2x1LCAybHUpOwor
ICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweGYyLCAweDUzLCAweDQzLCAweDY3LCAweDc5LCAw
eDc3LCAweDQzIH0sIDUsIHRydWUsIDB4NzdsdSwgNmx1KTsKKyAgICB0ZXN0VUludDY0TEVCRGVj
b2RlKHsgMHhmMiwgMHg1MywgMHg0MywgMHhmNywgMHg4NCwgMHg3NywgMHhmOSB9LCA1LCB0cnVl
LCAweDc3bHUsIDZsdSk7CisgICAgdGVzdFVJbnQ2NExFQkRlY29kZSh7IDB4ZjIsIDB4NTMsIDB4
NDMsIDB4ZjMsIDB4ODUsIDB4MDIsIDB4YTQgfSwgMywgdHJ1ZSwgMHg4MmYzbHUsIDZsdSk7Cisg
ICAgdGVzdFVJbnQ2NExFQkRlY29kZSh7IDB4OTIsIDB4ZjMsIDB4ODUsIDB4ZmYsIDB4ZjQsIDB4
ZmYsIDB4Y2IsIDB4YmEsIDB4OGYsIDB4NjksIDB4ODUsIDB4NzUgfSwgMSwgdHJ1ZSwgMHg2OTFl
ZWE1ZmZlOWZjMmYzbHUsIDEwbHUpOworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweDkyLCAw
eDY1LCAweGYzLCAweDg1LCAweGZmLCAweGY0LCAweGZmLCAweGNiLCAweGJhLCAweDhmLCAweDY5
LCAweDg1LCAweDc1IH0sIDIsIHRydWUsIDB4NjkxZWVhNWZmZTlmYzJmM2x1LCAxMWx1KTsKKyAg
ICAvLyBUZXN0IGRlY29kZSB0b28gbG9uZworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweDgw
LCAweDgwLCAweDgwLCAweDgwLCAweDgwLCAweDgwLCAweDgwLCAweDgwLCAweDgwLCAweDgwLCAw
eDgwIH0sIDAsIGZhbHNlLCAweDBsdSwgMGx1KTsKKyAgICB0ZXN0VUludDY0TEVCRGVjb2RlKHsg
MHg4MCwgMHg4MCwgMHhhYiwgMHg4YSwgMHg5YSwgMHhhMywgMHhhMywgMHg5ZiwgMHhkMiwgMHhl
ZiwgMHg4YSwgMHg0ZSB9LCAxLCBmYWxzZSwgMHgwbHUsIDBsdSk7CisgICAgdGVzdFVJbnQ2NExF
QkRlY29kZSh7IDB4ODAsIDB4ODAsIDB4YWIsIDB4OGEsIDB4OWEsIDB4YTMsIDB4ZmYsIDB4ZWYs
IDB4ZDgsIDB4ZWUsIDB4YWEsIDB4YmIgfSwgMCwgZmFsc2UsIDB4MGx1LCAwbHUpOworICAgIHRl
c3RVSW50NjRMRUJEZWNvZGUoeyAweGYzLCAweDg1LCAweGZmLCAweGY0LCAweGZmLCAweGNiLCAw
eGJhLCAweDhmLCAweGE5LCAweGE4LCAweDA1IH0sIDAsIGZhbHNlLCAweDBsdSwgMGx1KTsKKyAg
ICAvLyBUZXN0IGRlY29kZSBvZmYgZW5kIG9mIGFycmF5CisgICAgdGVzdFVJbnQ2NExFQkRlY29k
ZSh7IDB4ODAsIDB4ODAsIDB4YWIsIDB4OGEsIDB4OWEsIDB4YTMsIDB4ZmYgfSwgMiwgZmFsc2Us
IDB4MGx1LCAwbHUpOworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweDgwLCAweDgwLCAweGFi
LCAweDhhLCAweDlhLCAweGEzLCAweGZmIH0sIDIsIGZhbHNlLCAweDBsdSwgMGx1KTsKKyAgICB0
ZXN0VUludDY0TEVCRGVjb2RlKHsgMHg5MiwgMHhmMywgMHg4NSwgMHhmZiwgMHhmNCwgMHhmZiwg
MHhjYiwgMHhiYSwgMHg4ZiB9LCAxLCBmYWxzZSwgMHgwbHUsIDBsdSk7CiB9CiAKIHN0YXRpYyB2
b2lkIHRlc3RJbnQzMkxFQkRlY29kZShzdGQ6OmluaXRpYWxpemVyX2xpc3Q8dWludDhfdD4gZGF0
YSwgc2l6ZV90IHN0YXJ0T2Zmc2V0LCBib29sIGV4cGVjdGVkU3RhdHVzLCBpbnQzMl90IGV4cGVj
dGVkUmVzdWx0LCBzaXplX3QgZXhwZWN0ZWRPZmZzZXQpCkBAIC04MiwxMCArMTQyLDEwIEBAIHN0
YXRpYyB2b2lkIHRlc3RJbnQzMkxFQkRlY29kZShzdGQ6OmluaXRpYWxpemVyX2xpc3Q8dWludDhf
dD4gZGF0YSwgc2l6ZV90IHN0YXJ0CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IHZlY3RvcihkYXRhKTsK
ICAgICBpbnQzMl90IHJlc3VsdDsKICAgICBib29sIHN0YXR1cyA9IFdURjo6TEVCRGVjb2Rlcjo6
ZGVjb2RlSW50MzIodmVjdG9yLmRhdGEoKSwgdmVjdG9yLnNpemUoKSwgc3RhcnRPZmZzZXQsIHJl
c3VsdCk7Ci0gICAgRVhQRUNUX0VRKHN0YXR1cywgZXhwZWN0ZWRTdGF0dXMpOworICAgIEVYUEVD
VF9FUShleHBlY3RlZFN0YXR1cywgc3RhdHVzKTsKICAgICBpZiAoZXhwZWN0ZWRTdGF0dXMpIHsK
LSAgICAgICAgRVhQRUNUX0VRKHJlc3VsdCwgZXhwZWN0ZWRSZXN1bHQpOwotICAgICAgICBFWFBF
Q1RfRVEoc3RhcnRPZmZzZXQsIGV4cGVjdGVkT2Zmc2V0KTsKKyAgICAgICAgRVhQRUNUX0VRKGV4
cGVjdGVkUmVzdWx0LCByZXN1bHQpOworICAgICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRPZmZzZXQs
IHN0YXJ0T2Zmc2V0KTsKICAgICB9CiB9CiAKQEAgLTExNywxMSArMTc3LDY1IEBAIFRFU1QoV1RG
LCBMRUJEZWNvZGVySW50MzIpCiAgICAgdGVzdEludDMyTEVCRGVjb2RlKHsgMHhmMiwgMHg1Mywg
MHg0MywgMHhmNywgMHg4NCwgMHg3NywgMHhmOSB9LCA1LCB0cnVlLCAtMHg5LCA2bHUpOwogICAg
IHRlc3RJbnQzMkxFQkRlY29kZSh7IDB4ZjIsIDB4NTMsIDB4NDMsIDB4ZjMsIDB4ODUsIDB4MDIs
IDB4YTQgfSwgMywgdHJ1ZSwgMHg4MmYzLCA2bHUpOwogICAgIC8vIFRlc3QgZGVjb2RlIHRvbyBs
b25nCi0gICAgdGVzdEludDMyTEVCRGVjb2RlKHsgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4
MCwgMHg4MH0sIDAsIGZhbHNlLCAweDAsIDBsdSk7Ci0gICAgdGVzdEludDMyTEVCRGVjb2RlKHsg
MHg4MCwgMHg4MCwgMHhhYiwgMHg4YSwgMHg5YSwgMHhhMywgMHhmZn0sIDEsIGZhbHNlLCAweDAs
IDBsdSk7Ci0gICAgdGVzdEludDMyTEVCRGVjb2RlKHsgMHg4MCwgMHg4MCwgMHhhYiwgMHg4YSwg
MHg5YSwgMHhhMywgMHhmZn0sIDAsIGZhbHNlLCAweDAsIDBsdSk7CisgICAgdGVzdEludDMyTEVC
RGVjb2RlKHsgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCB9LCAwLCBmYWxzZSwg
MHgwLCAwbHUpOworICAgIHRlc3RJbnQzMkxFQkRlY29kZSh7IDB4ODAsIDB4ODAsIDB4YWIsIDB4
OGEsIDB4OWEsIDB4YTMsIDB4ZmYgfSwgMSwgZmFsc2UsIDB4MCwgMGx1KTsKKyAgICB0ZXN0SW50
MzJMRUJEZWNvZGUoeyAweDgwLCAweDgwLCAweGFiLCAweDhhLCAweDlhLCAweGEzLCAweGZmIH0s
IDAsIGZhbHNlLCAweDAsIDBsdSk7CiAgICAgLy8gVGVzdCBkZWNvZGUgb2ZmIGVuZCBvZiBhcnJh
eQotICAgIHRlc3RJbnQzMkxFQkRlY29kZSh7IDB4ODAsIDB4ODAsIDB4YWIsIDB4OGEsIDB4OWEs
IDB4YTMsIDB4ZmZ9LCAyLCBmYWxzZSwgMHgwLCAwbHUpOworICAgIHRlc3RJbnQzMkxFQkRlY29k
ZSh7IDB4ODAsIDB4ODAsIDB4YWIsIDB4OGEsIDB4OWEsIDB4YTMsIDB4ZmYgfSwgMiwgZmFsc2Us
IDB4MCwgMGx1KTsKIH0KIAorc3RhdGljIHZvaWQgdGVzdEludDY0TEVCRGVjb2RlKHN0ZDo6aW5p
dGlhbGl6ZXJfbGlzdDx1aW50OF90PiBkYXRhLCBzaXplX3Qgc3RhcnRPZmZzZXQsIGJvb2wgZXhw
ZWN0ZWRTdGF0dXMsIGludDY0X3QgZXhwZWN0ZWRSZXN1bHQsIHNpemVfdCBleHBlY3RlZE9mZnNl
dCkKK3sKKyAgICBWZWN0b3I8dWludDhfdD4gdmVjdG9yKGRhdGEpOworICAgIGludDY0X3QgcmVz
dWx0OworICAgIGJvb2wgc3RhdHVzID0gV1RGOjpMRUJEZWNvZGVyOjpkZWNvZGVJbnQ2NCh2ZWN0
b3IuZGF0YSgpLCB2ZWN0b3Iuc2l6ZSgpLCBzdGFydE9mZnNldCwgcmVzdWx0KTsKKyAgICBFWFBF
Q1RfRVEoZXhwZWN0ZWRTdGF0dXMsIHN0YXR1cyk7CisgICAgaWYgKGV4cGVjdGVkU3RhdHVzKSB7
CisgICAgICAgIEVYUEVDVF9FUShleHBlY3RlZFJlc3VsdCwgcmVzdWx0KTsKKyAgICAgICAgRVhQ
RUNUX0VRKGV4cGVjdGVkT2Zmc2V0LCBzdGFydE9mZnNldCk7CisgICAgfQorfQorCitURVNUKFdU
RiwgTEVCRGVjb2RlckludDY0KQoreworICAgIC8vIFNpbXBsZSB0ZXN0cyB0aGF0IHVzZSBhbGwg
dGhlIGJpdHMgaW4gdGhlIGFycmF5CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHgwNyB9LCAw
LCB0cnVlLCAweDcsIDFsdSk7CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHg3NyB9LCAwLCB0
cnVlLCAtMHg5LCAxbHUpOworICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4ODAsIDB4MDcgfSwg
MCwgdHJ1ZSwgMHgzODAsIDJsdSk7CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHg4OSwgMHgx
MiB9LCAwLCB0cnVlLCAweDkwOSwgMmx1KTsKKyAgICB0ZXN0SW50NjRMRUJEZWNvZGUoeyAweGYz
LCAweDg1LCAweDAyIH0sIDAsIHRydWUsIDB4ODJmMywgM2x1KTsKKyAgICB0ZXN0SW50NjRMRUJE
ZWNvZGUoeyAweGYzLCAweDg1LCAweGZmLCAweDc0IH0sIDAsIHRydWUsIDB4ZmZmZmZmZmZmZTlm
YzJmMywgNGx1KTsKKyAgICB0ZXN0SW50NjRMRUJEZWNvZGUoeyAweGYzLCAweDg1LCAweGZmLCAw
eGY0LCAweDdmIH0sIDAsIHRydWUsIDB4ZmZmZmZmZmZmZTlmYzJmMywgNWx1KTsKKyAgICB0ZXN0
SW50NjRMRUJEZWNvZGUoeyAweGYzLCAweDg1LCAweGZmLCAweGY0LCAweDNmIH0sIDAsIHRydWUs
IDB4M2ZlOWZjMmYzLCA1bHUpOworICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4ZjMsIDB4ODUs
IDB4ZmYsIDB4ZjQsIDB4OGYsIDB4MWEgfSwgMCwgdHJ1ZSwgMHhkMGZlOWZjMmYzLCA2bHUpOwor
ICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4ZjQsIDB4OGYsIDB4
OWEsIDB4ODAsIDB4MmEgfSwgMCwgdHJ1ZSwgMHg1NDAwZDBmZTlmYzJmMywgOGx1KTsKKyAgICB0
ZXN0SW50NjRMRUJEZWNvZGUoeyAweGYzLCAweDg1LCAweGZmLCAweGY0LCAweDhmLCAweDlhLCAw
eDgwLCAweGFhLCAweDQxIH0sIDAsIHRydWUsIDB4YzE1NDAwZDBmZTlmYzJmMywgOWx1KTsKKyAg
ICB0ZXN0SW50NjRMRUJEZWNvZGUoeyAweGYzLCAweDg1LCAweGZmLCAweGY0LCAweDhmLCAweDlh
LCAweDgwLCAweGFhLCAweGMxLCAweDAxIH0sIDAsIHRydWUsIDB4YzE1NDAwZDBmZTlmYzJmMywg
MTBsdSk7CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHhmNCwg
MHg4ZiwgMHg5YSwgMHg4MCwgMHhhYSwgMHhjMSwgMHg2MiB9LCAwLCB0cnVlLCAweDQxNTQwMGQw
ZmU5ZmMyZjMsIDEwbHUpOworICAgIC8vIFRlc3Qgd2l0aCBleHRyYSB0cmFpbGluZyBudW1iZXJz
CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHgwNywgMHg4MCB9LCAwLCB0cnVlLCAweDcsIDFs
dSk7CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHgwNywgMHg3NSB9LCAwLCB0cnVlLCAweDcs
IDFsdSk7CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHg3NCwg
MHg0MyB9LCAwLCB0cnVlLCAweGZmZmZmZmZmZmU5ZmMyZjMsIDRsdSk7CisgICAgdGVzdEludDY0
TEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHg3NCwgMHg4MCB9LCAwLCB0cnVlLCAweGZm
ZmZmZmZmZmU5ZmMyZjMsIDRsdSk7CisgICAgLy8gVGVzdCB3aXRoIHByZWNlZWRpbmcgbnVtYmVy
cworICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4ZjMsIDB4MDcgfSwgMSwgdHJ1ZSwgMHg3LCAy
bHUpOworICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4MDMsIDB4MDcgfSwgMSwgdHJ1ZSwgMHg3
LCAybHUpOworICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4ZjIsIDB4NTMsIDB4NDMsIDB4Njcs
IDB4NzksIDB4NzcgfSwgNSwgdHJ1ZSwgLTB4OSwgNmx1KTsKKyAgICB0ZXN0SW50NjRMRUJEZWNv
ZGUoeyAweGYyLCAweDUzLCAweDQzLCAweGY3LCAweDg0LCAweDc3IH0sIDUsIHRydWUsIC0weDks
IDZsdSk7CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHhmMiwgMHg1MywgMHg0MywgMHhmMywg
MHg4NSwgMHgwMiB9LCAzLCB0cnVlLCAweDgyZjMsIDZsdSk7CisgICAgLy8gVGVzdCBpbiB0aGUg
bWlkZGxlCisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHhmMywgMHgwNywgMHg4OSB9LCAxLCB0
cnVlLCAweDcsIDJsdSk7CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHgwMywgMHgwNywgMHgy
MyB9LCAxLCB0cnVlLCAweDcsIDJsdSk7CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHhmMiwg
MHg1MywgMHg0MywgMHg2NywgMHg3OSwgMHg3NywgMHg0MyB9LCA1LCB0cnVlLCAtMHg5LCA2bHUp
OworICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4ZjIsIDB4NTMsIDB4NDMsIDB4ZjcsIDB4ODQs
IDB4NzcsIDB4ZjkgfSwgNSwgdHJ1ZSwgLTB4OSwgNmx1KTsKKyAgICB0ZXN0SW50NjRMRUJEZWNv
ZGUoeyAweGYyLCAweDUzLCAweDQzLCAweGYzLCAweDg1LCAweDAyLCAweGE0IH0sIDMsIHRydWUs
IDB4ODJmMywgNmx1KTsKKyAgICAvLyBUZXN0IGRlY29kZSB0b28gbG9uZworICAgIHRlc3RJbnQ2
NExFQkRlY29kZSh7IDB4ODAsIDB4ODAsIDB4ODAsIDB4ODAsIDB4ODAsIDB4ODAgfSwgMCwgZmFs
c2UsIDB4MCwgMGx1KTsKKyAgICB0ZXN0SW50NjRMRUJEZWNvZGUoeyAweDgwLCAweDgwLCAweGFi
LCAweDhhLCAweDlhLCAweGEzLCAweGZmIH0sIDEsIGZhbHNlLCAweDAsIDBsdSk7CisgICAgdGVz
dEludDY0TEVCRGVjb2RlKHsgMHg4MCwgMHg4MCwgMHhhYiwgMHg4YSwgMHg5YSwgMHhhMywgMHhm
ZiB9LCAwLCBmYWxzZSwgMHgwLCAwbHUpOworICAgIC8vIFRlc3QgZGVjb2RlIG9mZiBlbmQgb2Yg
YXJyYXkKKyAgICB0ZXN0SW50NjRMRUJEZWNvZGUoeyAweDgwLCAweDgwLCAweGFiLCAweDhhLCAw
eDlhLCAweGEzLCAweGZmIH0sIDIsIGZhbHNlLCAweDAsIDBsdSk7Cit9CisKKwogfSAvLyBuYW1l
c3BhY2UgVGVzdFdlYktpdEFQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296591</attachid>
            <date>2016-12-08 16:45:45 -0800</date>
            <delta_ts>2016-12-08 16:52:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165630-20161208164503.patch</filename>
            <type>text/plain</type>
            <size>20496</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5NTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGU5YTQ2ZWM5NTYzMTlkMTM3OWQ1ZjBl
ODAyZDk1NDE1ZTRlODgxODUuLjJlMDc0ZWFjYTcxNTgyMmNlN2VlNTUzMWNiNjE2YmZjZGI0MTM0
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTYtMTItMDggIEtlaXRoIE1pbGxlciAgPGtlaXRo
X21pbGxlckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIDY0LWJpdCBzaWduZWQgTEVCIGRlY29k
ZSBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NTYzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBpbnQ2NCBMRUIgZGVjb2RlIGFuZCBmaXggc29tZSA2NC1iaXQgc3BlY2lmaWMgaXNzdWVz
CisgICAgICAgIHdpdGggdGhlIGRlY29kZXIuIFRoZXJlIGlzIGFsc28gYSBmaXggd2hlcmUgd2Ug
d291bGQgYWxsb3cKKyAgICAgICAgTEVCcyB3aXRoIGNhbm9uaWNhbCBsZW5ndGggKyAxIHNpemUg
dGhhdCBpcyBmaXhlZCBieSB0aGlzCisgICAgICAgIHBhdGNoLgorCisgICAgICAgICogd3RmL0xF
QkRlY29kZXIuaDoKKyAgICAgICAgKFdURjo6TEVCRGVjb2Rlcjo6ZGVjb2RlVUludCk6CisgICAg
ICAgIChXVEY6OkxFQkRlY29kZXI6OmRlY29kZUludCk6CisgICAgICAgIChXVEY6OkxFQkRlY29k
ZXI6OmRlY29kZVVJbnQzMik6CisgICAgICAgIChXVEY6OkxFQkRlY29kZXI6OmRlY29kZVVJbnQ2
NCk6CisgICAgICAgIChXVEY6OkxFQkRlY29kZXI6OmRlY29kZUludDMyKToKKyAgICAgICAgKFdU
Rjo6TEVCRGVjb2Rlcjo6ZGVjb2RlSW50NjQpOgorCiAyMDE2LTEyLTA4ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIw
OTQ4OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xFQkRlY29kZXIuaCBiL1NvdXJjZS9X
VEYvd3RmL0xFQkRlY29kZXIuaAppbmRleCBlNjJkNmYxYTI4ZDk2NDI4M2I2ZGY3NWRmMTcwZGI0
ZmMyMmZkNDExLi4xZDQ4MTc2OWM2ZGNiNWJmY2JjOGVmNTAyYThhN2U4MzgwMWY4OGM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9MRUJEZWNvZGVyLmgKKysrIGIvU291cmNlL1dURi93dGYv
TEVCRGVjb2Rlci5oCkBAIC0zNCwxNyArMzQsMTkgQEAKIAogbmFtZXNwYWNlIFdURiB7IG5hbWVz
cGFjZSBMRUJEZWNvZGVyIHsKIAotdGVtcGxhdGU8c2l6ZV90IG1heEJ5dGVMZW5ndGgsIHR5cGVu
YW1lIFQ+Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogaW5saW5lIGJvb2wgV0FSTl9VTlVTRURfUkVU
VVJOIGRlY29kZVVJbnQoY29uc3QgdWludDhfdCogYnl0ZXMsIHNpemVfdCBsZW5ndGgsIHNpemVf
dCYgb2Zmc2V0LCBUJiByZXN1bHQpCiB7CisgICAgY29uc3Qgc2l6ZV90IG51bUJpdHMgPSBzaXpl
b2YoVCkgKiBDSEFSX0JJVDsKKyAgICBjb25zdCBzaXplX3QgbWF4Qnl0ZUxlbmd0aCA9IChudW1C
aXRzIC0gMSkgLyA3ICsgMTsgLy8gbnVtQml0cyAvIDcgcm91bmRpbmcgdXAuCiAgICAgaWYgKGxl
bmd0aCA8PSBvZmZzZXQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXN1bHQgPSAwOwog
ICAgIHVuc2lnbmVkIHNoaWZ0ID0gMDsKLSAgICBzaXplX3QgbGFzdCA9IHN0ZDo6bWluKG1heEJ5
dGVMZW5ndGgsIGxlbmd0aCAtIG9mZnNldCAtIDEpOworICAgIHNpemVfdCBsYXN0ID0gc3RkOjpt
aW4obWF4Qnl0ZUxlbmd0aCwgbGVuZ3RoIC0gb2Zmc2V0KSAtIDE7CiAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgdHJ1ZTsgKytpKSB7CiAgICAgICAgIHVpbnQ4X3QgYnl0ZSA9IGJ5dGVzW29mZnNl
dCsrXTsKLSAgICAgICAgcmVzdWx0IHw9IChieXRlICYgMHg3ZikgPDwgc2hpZnQ7CisgICAgICAg
IHJlc3VsdCB8PSBzdGF0aWNfY2FzdDxUPihieXRlICYgMHg3ZikgPDwgc2hpZnQ7CiAgICAgICAg
IHNoaWZ0ICs9IDc7CiAgICAgICAgIGlmICghKGJ5dGUgJiAweDgwKSkKICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwpAQCAtNTUsMzAgKzU3LDIwIEBAIGlubGluZSBib29sIFdBUk5fVU5VU0VEX1JF
VFVSTiBkZWNvZGVVSW50KGNvbnN0IHVpbnQ4X3QqIGJ5dGVzLCBzaXplX3QgbGVuZ3RoLCBzCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLWNvbnN0IHNpemVfdCBtYXgzMkJpdExFQkJ5dGVMZW5ndGgg
PSA1OwotY29uc3Qgc2l6ZV90IG1heDY0Qml0TEVCQnl0ZUxlbmd0aCA9IDEwOwotCi1pbmxpbmUg
Ym9vbCBXQVJOX1VOVVNFRF9SRVRVUk4gZGVjb2RlVUludDMyKGNvbnN0IHVpbnQ4X3QqIGJ5dGVz
LCBzaXplX3QgbGVuZ3RoLCBzaXplX3QmIG9mZnNldCwgdWludDMyX3QmIHJlc3VsdCkKLXsKLSAg
ICByZXR1cm4gZGVjb2RlVUludDxtYXgzMkJpdExFQkJ5dGVMZW5ndGgsIHVpbnQzMl90PihieXRl
cywgbGVuZ3RoLCBvZmZzZXQsIHJlc3VsdCk7Ci19Ci0KLWlubGluZSBib29sIFdBUk5fVU5VU0VE
X1JFVFVSTiBkZWNvZGVVSW50NjQoY29uc3QgdWludDhfdCogYnl0ZXMsIHNpemVfdCBsZW5ndGgs
IHNpemVfdCYgb2Zmc2V0LCB1aW50NjRfdCYgcmVzdWx0KQotewotICAgIHJldHVybiBkZWNvZGVV
SW50PG1heDY0Qml0TEVCQnl0ZUxlbmd0aCwgdWludDY0X3Q+KGJ5dGVzLCBsZW5ndGgsIG9mZnNl
dCwgcmVzdWx0KTsKLX0KLQotaW5saW5lIGJvb2wgV0FSTl9VTlVTRURfUkVUVVJOIGRlY29kZUlu
dDMyKGNvbnN0IHVpbnQ4X3QqIGJ5dGVzLCBzaXplX3QgbGVuZ3RoLCBzaXplX3QmIG9mZnNldCwg
aW50MzJfdCYgcmVzdWx0KQordGVtcGxhdGU8dHlwZW5hbWUgVD4KK2lubGluZSBib29sIFdBUk5f
VU5VU0VEX1JFVFVSTiBkZWNvZGVJbnQoY29uc3QgdWludDhfdCogYnl0ZXMsIHNpemVfdCBsZW5n
dGgsIHNpemVfdCYgb2Zmc2V0LCBUJiByZXN1bHQpCiB7CisgICAgY29uc3Qgc2l6ZV90IG51bUJp
dHMgPSBzaXplb2YoVCkgKiBDSEFSX0JJVDsKKyAgICBjb25zdCBzaXplX3QgbWF4Qnl0ZUxlbmd0
aCA9IChudW1CaXRzIC0gMSkgLyA3ICsgMTsgLy8gbnVtQml0cyAvIDcgcm91bmRpbmcgdXAuCiAg
ICAgaWYgKGxlbmd0aCA8PSBvZmZzZXQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXN1
bHQgPSAwOwogICAgIHVuc2lnbmVkIHNoaWZ0ID0gMDsKLSAgICBzaXplX3QgbGFzdCA9IHN0ZDo6
bWluKG1heDMyQml0TEVCQnl0ZUxlbmd0aCwgbGVuZ3RoIC0gb2Zmc2V0IC0gMSk7CisgICAgc2l6
ZV90IGxhc3QgPSBzdGQ6Om1pbihtYXhCeXRlTGVuZ3RoLCBsZW5ndGggLSBvZmZzZXQpIC0gMTsK
ICAgICB1aW50OF90IGJ5dGU7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgdHJ1ZTsgKytpKSB7
CiAgICAgICAgIGJ5dGUgPSBieXRlc1tvZmZzZXQrK107Ci0gICAgICAgIHJlc3VsdCB8PSAoYnl0
ZSAmIDB4N2YpIDw8IHNoaWZ0OworICAgICAgICByZXN1bHQgfD0gc3RhdGljX2Nhc3Q8VD4oYnl0
ZSAmIDB4N2YpIDw8IHNoaWZ0OwogICAgICAgICBzaGlmdCArPSA3OwogICAgICAgICBpZiAoIShi
eXRlICYgMHg4MCkpCiAgICAgICAgICAgICBicmVhazsKQEAgLTg2LDkgKzc4LDI5IEBAIGlubGlu
ZSBib29sIFdBUk5fVU5VU0VEX1JFVFVSTiBkZWNvZGVJbnQzMihjb25zdCB1aW50OF90KiBieXRl
cywgc2l6ZV90IGxlbmd0aCwKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAg
ICBpZiAoc2hpZnQgPCAzMiAmJiAoYnl0ZSAmIDB4NDApKQotICAgICAgICByZXN1bHQgfD0gKCgt
MXUpIDw8IHNoaWZ0KTsKKyAgICBpZiAoc2hpZnQgPCBudW1CaXRzICYmIChieXRlICYgMHg0MCkp
CisgICAgICAgIHJlc3VsdCB8PSBzdGF0aWNfY2FzdDxUPigtMSkgPDwgc2hpZnQ7CiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKK2lubGluZSBib29sIFdBUk5fVU5VU0VEX1JFVFVSTiBkZWNvZGVVSW50
MzIoY29uc3QgdWludDhfdCogYnl0ZXMsIHNpemVfdCBsZW5ndGgsIHNpemVfdCYgb2Zmc2V0LCB1
aW50MzJfdCYgcmVzdWx0KQoreworICAgIHJldHVybiBkZWNvZGVVSW50PHVpbnQzMl90PihieXRl
cywgbGVuZ3RoLCBvZmZzZXQsIHJlc3VsdCk7Cit9CisKK2lubGluZSBib29sIFdBUk5fVU5VU0VE
X1JFVFVSTiBkZWNvZGVVSW50NjQoY29uc3QgdWludDhfdCogYnl0ZXMsIHNpemVfdCBsZW5ndGgs
IHNpemVfdCYgb2Zmc2V0LCB1aW50NjRfdCYgcmVzdWx0KQoreworICAgIHJldHVybiBkZWNvZGVV
SW50PHVpbnQ2NF90PihieXRlcywgbGVuZ3RoLCBvZmZzZXQsIHJlc3VsdCk7Cit9CisKK2lubGlu
ZSBib29sIFdBUk5fVU5VU0VEX1JFVFVSTiBkZWNvZGVJbnQzMihjb25zdCB1aW50OF90KiBieXRl
cywgc2l6ZV90IGxlbmd0aCwgc2l6ZV90JiBvZmZzZXQsIGludDMyX3QmIHJlc3VsdCkKK3sKKyAg
ICByZXR1cm4gZGVjb2RlSW50PGludDMyX3Q+KGJ5dGVzLCBsZW5ndGgsIG9mZnNldCwgcmVzdWx0
KTsKK30KKworaW5saW5lIGJvb2wgV0FSTl9VTlVTRURfUkVUVVJOIGRlY29kZUludDY0KGNvbnN0
IHVpbnQ4X3QqIGJ5dGVzLCBzaXplX3QgbGVuZ3RoLCBzaXplX3QmIG9mZnNldCwgaW50NjRfdCYg
cmVzdWx0KQoreworICAgIHJldHVybiBkZWNvZGVJbnQ8aW50NjRfdD4oYnl0ZXMsIGxlbmd0aCwg
b2Zmc2V0LCByZXN1bHQpOworfQorCiB9IH0gLy8gV1RGOjpMRUJEZWNvZGVyCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzFkNzAzMDU1Yjg5NmMz
NWYxOGQ0YTA0Zjc0MjFmZjA5ZTUwNmFiMS4uYjc0MjBhYWEyNzY1OTIyNjI3ZmJkODg4ZTBkNGNl
ZTQwYzRmNzY1NiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTEyLTA4ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9t
aWxsZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCA2NC1iaXQgc2lnbmVkIExFQiBkZWNvZGUg
bWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjU2MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgdGVzdHMgZm9yIExFQiBpbnQ2NCBhbmQgdWludDY0IGRlY29kZSBzaW5jZSBJIGd1ZXNzCisg
ICAgICAgIEkgZm9yZ290IHRvIGFkZCB0ZXN0cyBiZWZvcmUuCisKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dURi9MRUJEZWNvZGVyLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OnRlc3RVSW50MzJMRUJEZWNvZGUpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjp0ZXN0VUludDY0TEVCRGVjb2RlKToKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OnRlc3RJbnQzMkxFQkRlY29kZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJ
Ojp0ZXN0SW50NjRMRUJEZWNvZGUpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGVzdFVuc2ln
bmVkTEVCRGVjb2RlKTogRGVsZXRlZC4KKwogMjAxNi0xMi0wOCAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMDk0ODku
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9MRUJEZWNvZGVyLmNw
cCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0xFQkRlY29kZXIuY3BwCmluZGV4IDQy
NDVjNWFjNzI3YTkyMDUxMmI4NjQxOTVkMjY5MWIwMzIyYjk2MTIuLjIxNDEwODBjNDM2Y2IzNjNl
Nzg0MjllNWE2MTI3YjQ1ZGI2NjM2ZjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL0xFQkRlY29kZXIuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL0xFQkRlY29kZXIuY3BwCkBAIC0zMCw1MSArMzAsMTExIEBACiAKIG5hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJIHsKIAotc3RhdGljIHZvaWQgdGVzdFVuc2lnbmVkTEVCRGVjb2RlKHN0ZDo6aW5p
dGlhbGl6ZXJfbGlzdDx1aW50OF90PiBkYXRhLCBzaXplX3Qgc3RhcnRPZmZzZXQsIGJvb2wgZXhw
ZWN0ZWRTdGF0dXMsIHVpbnQzMl90IGV4cGVjdGVkUmVzdWx0LCBzaXplX3QgZXhwZWN0ZWRPZmZz
ZXQpCitzdGF0aWMgdm9pZCB0ZXN0VUludDMyTEVCRGVjb2RlKHN0ZDo6aW5pdGlhbGl6ZXJfbGlz
dDx1aW50OF90PiBkYXRhLCBzaXplX3Qgc3RhcnRPZmZzZXQsIGJvb2wgZXhwZWN0ZWRTdGF0dXMs
IHVpbnQzMl90IGV4cGVjdGVkUmVzdWx0LCBzaXplX3QgZXhwZWN0ZWRPZmZzZXQpCiB7CiAgICAg
VmVjdG9yPHVpbnQ4X3Q+IHZlY3RvcihkYXRhKTsKICAgICB1aW50MzJfdCByZXN1bHQ7CiAgICAg
Ym9vbCBzdGF0dXMgPSBXVEY6OkxFQkRlY29kZXI6OmRlY29kZVVJbnQzMih2ZWN0b3IuZGF0YSgp
LCB2ZWN0b3Iuc2l6ZSgpLCBzdGFydE9mZnNldCwgcmVzdWx0KTsKLSAgICBFWFBFQ1RfRVEoc3Rh
dHVzLCBleHBlY3RlZFN0YXR1cyk7CisgICAgRVhQRUNUX0VRKGV4cGVjdGVkU3RhdHVzLCBzdGF0
dXMpOwogICAgIGlmIChleHBlY3RlZFN0YXR1cykgewotICAgICAgICBFWFBFQ1RfRVEocmVzdWx0
LCBleHBlY3RlZFJlc3VsdCk7Ci0gICAgICAgIEVYUEVDVF9FUShzdGFydE9mZnNldCwgZXhwZWN0
ZWRPZmZzZXQpOworICAgICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRSZXN1bHQsIHJlc3VsdCk7Cisg
ICAgICAgIEVYUEVDVF9FUShleHBlY3RlZE9mZnNldCwgc3RhcnRPZmZzZXQpOwogICAgIH0KIH0K
IAogVEVTVChXVEYsIExFQkRlY29kZXJVSW50MzIpCiB7CiAgICAgLy8gU2ltcGxlIHRlc3RzIHRo
YXQgdXNlIGFsbCB0aGUgYml0cyBpbiB0aGUgYXJyYXkKLSAgICB0ZXN0VW5zaWduZWRMRUJEZWNv
ZGUoeyAweDA3IH0sIDAsIHRydWUsIDB4N2x1LCAxbHUpOwotICAgIHRlc3RVbnNpZ25lZExFQkRl
Y29kZSh7IDB4NzcgfSwgMCwgdHJ1ZSwgMHg3N2x1LCAxbHUpOwotICAgIHRlc3RVbnNpZ25lZExF
QkRlY29kZSh7IDB4ODAsIDB4MDcgfSwgMCwgdHJ1ZSwgMHgzODBsdSwgMmx1KTsKLSAgICB0ZXN0
VW5zaWduZWRMRUJEZWNvZGUoeyAweDg5LCAweDEyIH0sIDAsIHRydWUsIDB4OTA5bHUsIDJsdSk7
Ci0gICAgdGVzdFVuc2lnbmVkTEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHgwMiB9LCAwLCB0cnVl
LCAweDgyZjNsdSwgM2x1KTsKLSAgICB0ZXN0VW5zaWduZWRMRUJEZWNvZGUoeyAweGYzLCAweDg1
LCAweGZmLCAweDc0IH0sIDAsIHRydWUsIDB4ZTlmYzJmM2x1LCA0bHUpOwotICAgIHRlc3RVbnNp
Z25lZExFQkRlY29kZSh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4ZjQsIDB4N2YgfSwgMCwgdHJ1ZSwg
MHhmZTlmYzJmM2x1LCA1bHUpOworICAgIHRlc3RVSW50MzJMRUJEZWNvZGUoeyAweDA3IH0sIDAs
IHRydWUsIDB4N2x1LCAxbHUpOworICAgIHRlc3RVSW50MzJMRUJEZWNvZGUoeyAweDc3IH0sIDAs
IHRydWUsIDB4NzdsdSwgMWx1KTsKKyAgICB0ZXN0VUludDMyTEVCRGVjb2RlKHsgMHg4MCwgMHgw
NyB9LCAwLCB0cnVlLCAweDM4MGx1LCAybHUpOworICAgIHRlc3RVSW50MzJMRUJEZWNvZGUoeyAw
eDg5LCAweDEyIH0sIDAsIHRydWUsIDB4OTA5bHUsIDJsdSk7CisgICAgdGVzdFVJbnQzMkxFQkRl
Y29kZSh7IDB4ZjMsIDB4ODUsIDB4MDIgfSwgMCwgdHJ1ZSwgMHg4MmYzbHUsIDNsdSk7CisgICAg
dGVzdFVJbnQzMkxFQkRlY29kZSh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4NzQgfSwgMCwgdHJ1ZSwg
MHhlOWZjMmYzbHUsIDRsdSk7CisgICAgdGVzdFVJbnQzMkxFQkRlY29kZSh7IDB4ZjMsIDB4ODUs
IDB4ZmYsIDB4ZjQsIDB4N2YgfSwgMCwgdHJ1ZSwgMHhmZTlmYzJmM2x1LCA1bHUpOwogICAgIC8v
IFRlc3Qgd2l0aCBleHRyYSB0cmFpbGluZyBudW1iZXJzCi0gICAgdGVzdFVuc2lnbmVkTEVCRGVj
b2RlKHsgMHgwNywgMHg4MCB9LCAwLCB0cnVlLCAweDdsdSwgMWx1KTsKLSAgICB0ZXN0VW5zaWdu
ZWRMRUJEZWNvZGUoeyAweDA3LCAweDc1IH0sIDAsIHRydWUsIDB4N2x1LCAxbHUpOwotICAgIHRl
c3RVbnNpZ25lZExFQkRlY29kZSh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4NzQsIDB4NDMgfSwgMCwg
dHJ1ZSwgMHhlOWZjMmYzbHUsIDRsdSk7Ci0gICAgdGVzdFVuc2lnbmVkTEVCRGVjb2RlKHsgMHhm
MywgMHg4NSwgMHhmZiwgMHg3NCwgMHg4MCB9LCAwLCB0cnVlLCAweGU5ZmMyZjNsdSwgNGx1KTsK
KyAgICB0ZXN0VUludDMyTEVCRGVjb2RlKHsgMHgwNywgMHg4MCB9LCAwLCB0cnVlLCAweDdsdSwg
MWx1KTsKKyAgICB0ZXN0VUludDMyTEVCRGVjb2RlKHsgMHgwNywgMHg3NSB9LCAwLCB0cnVlLCAw
eDdsdSwgMWx1KTsKKyAgICB0ZXN0VUludDMyTEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwg
MHg3NCwgMHg0MyB9LCAwLCB0cnVlLCAweGU5ZmMyZjNsdSwgNGx1KTsKKyAgICB0ZXN0VUludDMy
TEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHg3NCwgMHg4MCB9LCAwLCB0cnVlLCAweGU5
ZmMyZjNsdSwgNGx1KTsKICAgICAvLyBUZXN0IHdpdGggcHJlY2VlZGluZyBudW1iZXJzCi0gICAg
dGVzdFVuc2lnbmVkTEVCRGVjb2RlKHsgMHhmMywgMHgwNyB9LCAxLCB0cnVlLCAweDdsdSwgMmx1
KTsKLSAgICB0ZXN0VW5zaWduZWRMRUJEZWNvZGUoeyAweDAzLCAweDA3IH0sIDEsIHRydWUsIDB4
N2x1LCAybHUpOwotICAgIHRlc3RVbnNpZ25lZExFQkRlY29kZSh7IDB4ZjIsIDB4NTMsIDB4NDMs
IDB4NjcsIDB4NzksIDB4NzcgfSwgNSwgdHJ1ZSwgMHg3N2x1LCA2bHUpOwotICAgIHRlc3RVbnNp
Z25lZExFQkRlY29kZSh7IDB4ZjIsIDB4NTMsIDB4NDMsIDB4ZjcsIDB4ODQsIDB4NzcgfSwgNSwg
dHJ1ZSwgMHg3N2x1LCA2dWwpOwotICAgIHRlc3RVbnNpZ25lZExFQkRlY29kZSh7IDB4ZjIsIDB4
NTMsIDB4NDMsIDB4ZjMsIDB4ODUsIDB4MDIgfSwgMywgdHJ1ZSwgMHg4MmYzbHUsIDZsdSk7Cisg
ICAgdGVzdFVJbnQzMkxFQkRlY29kZSh7IDB4ZjMsIDB4MDcgfSwgMSwgdHJ1ZSwgMHg3bHUsIDJs
dSk7CisgICAgdGVzdFVJbnQzMkxFQkRlY29kZSh7IDB4MDMsIDB4MDcgfSwgMSwgdHJ1ZSwgMHg3
bHUsIDJsdSk7CisgICAgdGVzdFVJbnQzMkxFQkRlY29kZSh7IDB4ZjIsIDB4NTMsIDB4NDMsIDB4
NjcsIDB4NzksIDB4NzcgfSwgNSwgdHJ1ZSwgMHg3N2x1LCA2bHUpOworICAgIHRlc3RVSW50MzJM
RUJEZWNvZGUoeyAweGYyLCAweDUzLCAweDQzLCAweGY3LCAweDg0LCAweDc3IH0sIDUsIHRydWUs
IDB4NzdsdSwgNnVsKTsKKyAgICB0ZXN0VUludDMyTEVCRGVjb2RlKHsgMHhmMiwgMHg1MywgMHg0
MywgMHhmMywgMHg4NSwgMHgwMiB9LCAzLCB0cnVlLCAweDgyZjNsdSwgNmx1KTsKICAgICAvLyBU
ZXN0IGluIHRoZSBtaWRkbGUKLSAgICB0ZXN0VW5zaWduZWRMRUJEZWNvZGUoeyAweGYzLCAweDA3
LCAweDg5IH0sIDEsIHRydWUsIDB4N2x1LCAybHUpOwotICAgIHRlc3RVbnNpZ25lZExFQkRlY29k
ZSh7IDB4MDMsIDB4MDcsIDB4MjMgfSwgMSwgdHJ1ZSwgMHg3bHUsIDJsdSk7Ci0gICAgdGVzdFVu
c2lnbmVkTEVCRGVjb2RlKHsgMHhmMiwgMHg1MywgMHg0MywgMHg2NywgMHg3OSwgMHg3NywgMHg0
MyB9LCA1LCB0cnVlLCAweDc3bHUsIDZsdSk7Ci0gICAgdGVzdFVuc2lnbmVkTEVCRGVjb2RlKHsg
MHhmMiwgMHg1MywgMHg0MywgMHhmNywgMHg4NCwgMHg3NywgMHhmOSB9LCA1LCB0cnVlLCAweDc3
bHUsIDZsdSk7Ci0gICAgdGVzdFVuc2lnbmVkTEVCRGVjb2RlKHsgMHhmMiwgMHg1MywgMHg0Mywg
MHhmMywgMHg4NSwgMHgwMiwgMHhhNCB9LCAzLCB0cnVlLCAweDgyZjNsdSwgNmx1KTsKKyAgICB0
ZXN0VUludDMyTEVCRGVjb2RlKHsgMHhmMywgMHgwNywgMHg4OSB9LCAxLCB0cnVlLCAweDdsdSwg
Mmx1KTsKKyAgICB0ZXN0VUludDMyTEVCRGVjb2RlKHsgMHgwMywgMHgwNywgMHgyMyB9LCAxLCB0
cnVlLCAweDdsdSwgMmx1KTsKKyAgICB0ZXN0VUludDMyTEVCRGVjb2RlKHsgMHhmMiwgMHg1Mywg
MHg0MywgMHg2NywgMHg3OSwgMHg3NywgMHg0MyB9LCA1LCB0cnVlLCAweDc3bHUsIDZsdSk7Cisg
ICAgdGVzdFVJbnQzMkxFQkRlY29kZSh7IDB4ZjIsIDB4NTMsIDB4NDMsIDB4ZjcsIDB4ODQsIDB4
NzcsIDB4ZjkgfSwgNSwgdHJ1ZSwgMHg3N2x1LCA2bHUpOworICAgIHRlc3RVSW50MzJMRUJEZWNv
ZGUoeyAweGYyLCAweDUzLCAweDQzLCAweGYzLCAweDg1LCAweDAyLCAweGE0IH0sIDMsIHRydWUs
IDB4ODJmM2x1LCA2bHUpOwogICAgIC8vIFRlc3QgZGVjb2RlIHRvbyBsb25nCi0gICAgdGVzdFVu
c2lnbmVkTEVCRGVjb2RlKHsgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MH0sIDAs
IGZhbHNlLCAweDBsdSwgMGx1KTsKLSAgICB0ZXN0VW5zaWduZWRMRUJEZWNvZGUoeyAweDgwLCAw
eDgwLCAweGFiLCAweDhhLCAweDlhLCAweGEzLCAweGZmfSwgMSwgZmFsc2UsIDB4MGx1LCAwbHUp
OwotICAgIHRlc3RVbnNpZ25lZExFQkRlY29kZSh7IDB4ODAsIDB4ODAsIDB4YWIsIDB4OGEsIDB4
OWEsIDB4YTMsIDB4ZmZ9LCAwLCBmYWxzZSwgMHgwbHUsIDBsdSk7CisgICAgdGVzdFVJbnQzMkxF
QkRlY29kZSh7IDB4ODAsIDB4ODAsIDB4ODAsIDB4ODAsIDB4ODAsIDB4ODAgfSwgMCwgZmFsc2Us
IDB4MGx1LCAwbHUpOworICAgIHRlc3RVSW50MzJMRUJEZWNvZGUoeyAweDgwLCAweDgwLCAweGFi
LCAweDhhLCAweDlhLCAweGEzLCAweGZmIH0sIDEsIGZhbHNlLCAweDBsdSwgMGx1KTsKKyAgICB0
ZXN0VUludDMyTEVCRGVjb2RlKHsgMHg4MCwgMHg4MCwgMHhhYiwgMHg4YSwgMHg5YSwgMHhhMywg
MHhmZiB9LCAwLCBmYWxzZSwgMHgwbHUsIDBsdSk7CiAgICAgLy8gVGVzdCBkZWNvZGUgb2ZmIGVu
ZCBvZiBhcnJheQotICAgIHRlc3RVbnNpZ25lZExFQkRlY29kZSh7IDB4ODAsIDB4ODAsIDB4YWIs
IDB4OGEsIDB4OWEsIDB4YTMsIDB4ZmZ9LCAyLCBmYWxzZSwgMHgwbHUsIDBsdSk7CisgICAgdGVz
dFVJbnQzMkxFQkRlY29kZSh7IDB4ODAsIDB4ODAsIDB4YWIsIDB4OGEsIDB4OWEsIDB4YTMsIDB4
ZmYgfSwgMiwgZmFsc2UsIDB4MGx1LCAwbHUpOworfQorCitzdGF0aWMgdm9pZCB0ZXN0VUludDY0
TEVCRGVjb2RlKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDx1aW50OF90PiBkYXRhLCBzaXplX3Qgc3Rh
cnRPZmZzZXQsIGJvb2wgZXhwZWN0ZWRTdGF0dXMsIHVpbnQ2NF90IGV4cGVjdGVkUmVzdWx0LCBz
aXplX3QgZXhwZWN0ZWRPZmZzZXQpCit7CisgICAgVmVjdG9yPHVpbnQ4X3Q+IHZlY3RvcihkYXRh
KTsKKyAgICB1aW50NjRfdCByZXN1bHQ7CisgICAgYm9vbCBzdGF0dXMgPSBXVEY6OkxFQkRlY29k
ZXI6OmRlY29kZVVJbnQ2NCh2ZWN0b3IuZGF0YSgpLCB2ZWN0b3Iuc2l6ZSgpLCBzdGFydE9mZnNl
dCwgcmVzdWx0KTsKKyAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRTdGF0dXMsIHN0YXR1cyk7CisgICAg
aWYgKGV4cGVjdGVkU3RhdHVzKSB7CisgICAgICAgIEVYUEVDVF9FUShleHBlY3RlZFJlc3VsdCwg
cmVzdWx0KTsKKyAgICAgICAgRVhQRUNUX0VRKGV4cGVjdGVkT2Zmc2V0LCBzdGFydE9mZnNldCk7
CisgICAgfQorfQorCitURVNUKFdURiwgTEVCRGVjb2RlclVJbnQ2NCkKK3sKKyAgICAvLyBTaW1w
bGUgdGVzdHMgdGhhdCB1c2UgYWxsIHRoZSBiaXRzIGluIHRoZSBhcnJheQorICAgIHRlc3RVSW50
NjRMRUJEZWNvZGUoeyAweDA3IH0sIDAsIHRydWUsIDB4N2x1LCAxbHUpOworICAgIHRlc3RVSW50
NjRMRUJEZWNvZGUoeyAweDc3IH0sIDAsIHRydWUsIDB4NzdsdSwgMWx1KTsKKyAgICB0ZXN0VUlu
dDY0TEVCRGVjb2RlKHsgMHg4MCwgMHgwNyB9LCAwLCB0cnVlLCAweDM4MGx1LCAybHUpOworICAg
IHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweDg5LCAweDEyIH0sIDAsIHRydWUsIDB4OTA5bHUsIDJs
dSk7CisgICAgdGVzdFVJbnQ2NExFQkRlY29kZSh7IDB4ZjMsIDB4ODUsIDB4MDIgfSwgMCwgdHJ1
ZSwgMHg4MmYzbHUsIDNsdSk7CisgICAgdGVzdFVJbnQ2NExFQkRlY29kZSh7IDB4ZjMsIDB4ODUs
IDB4ZmYsIDB4NzQgfSwgMCwgdHJ1ZSwgMHhlOWZjMmYzbHUsIDRsdSk7CisgICAgdGVzdFVJbnQ2
NExFQkRlY29kZSh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4ZjQsIDB4N2YgfSwgMCwgdHJ1ZSwgMHg3
ZmU5ZmMyZjNsdSwgNWx1KTsKKyAgICB0ZXN0VUludDY0TEVCRGVjb2RlKHsgMHhmMywgMHg4NSwg
MHhmZiwgMHhmNCwgMHhmZiwgMHg0YiB9LCAwLCB0cnVlLCAweDI1ZmZlOWZjMmYzbHUsIDZsdSk7
CisgICAgdGVzdFVJbnQ2NExFQkRlY29kZSh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4ZjQsIDB4ZmYs
IDB4Y2IsIDB4M2EgfSwgMCwgdHJ1ZSwgMHhlYTVmZmU5ZmMyZjNsdSwgN2x1KTsKKyAgICB0ZXN0
VUludDY0TEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHhmNCwgMHhmZiwgMHhjYiwgMHhi
YSwgMHgwZiB9LCAwLCB0cnVlLCAweDFlZWE1ZmZlOWZjMmYzbHUsIDhsdSk7CisgICAgdGVzdFVJ
bnQ2NExFQkRlY29kZSh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4ZjQsIDB4ZmYsIDB4Y2IsIDB4YmEs
IDB4OGYsIDB4NjkgfSwgMCwgdHJ1ZSwgMHg2OTFlZWE1ZmZlOWZjMmYzbHUsIDlsdSk7CisgICAg
dGVzdFVJbnQ2NExFQkRlY29kZSh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4ZjQsIDB4ZmYsIDB4Y2Is
IDB4YmEsIDB4OGYsIDB4ZTksIDB4MDEgfSwgMCwgdHJ1ZSwgMHhlOTFlZWE1ZmZlOWZjMmYzbHUs
IDEwbHUpOworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweGYzLCAweDg1LCAweGZmLCAweGY0
LCAweGZmLCAweGNiLCAweGJhLCAweDhmLCAweGU5LCAweDcwIH0sIDAsIHRydWUsIDB4NjkxZWVh
NWZmZTlmYzJmM2x1LCAxMGx1KTsKKyAgICAvLyBUZXN0IHdpdGggZXh0cmEgdHJhaWxpbmcgbnVt
YmVycworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweDA3LCAweDgwIH0sIDAsIHRydWUsIDB4
N2x1LCAxbHUpOworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweDA3LCAweDc1IH0sIDAsIHRy
dWUsIDB4N2x1LCAxbHUpOworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweGYzLCAweDg1LCAw
eGZmLCAweDc0LCAweDQzIH0sIDAsIHRydWUsIDB4ZTlmYzJmM2x1LCA0bHUpOworICAgIHRlc3RV
SW50NjRMRUJEZWNvZGUoeyAweGYzLCAweDg1LCAweGZmLCAweDc0LCAweDgwIH0sIDAsIHRydWUs
IDB4ZTlmYzJmM2x1LCA0bHUpOworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweGYzLCAweDg1
LCAweGZmLCAweGY0LCAweGZmLCAweGNiLCAweGJhLCAweDhmLCAweDY5LCAweDQ1IH0sIDAsIHRy
dWUsIDB4NjkxZWVhNWZmZTlmYzJmM2x1LCA5bHUpOworICAgIC8vIFRlc3Qgd2l0aCBwcmVjZWVk
aW5nIG51bWJlcnMKKyAgICB0ZXN0VUludDY0TEVCRGVjb2RlKHsgMHhmMywgMHgwNyB9LCAxLCB0
cnVlLCAweDdsdSwgMmx1KTsKKyAgICB0ZXN0VUludDY0TEVCRGVjb2RlKHsgMHgwMywgMHgwNyB9
LCAxLCB0cnVlLCAweDdsdSwgMmx1KTsKKyAgICB0ZXN0VUludDY0TEVCRGVjb2RlKHsgMHhmMiwg
MHg1MywgMHg0MywgMHg2NywgMHg3OSwgMHg3NyB9LCA1LCB0cnVlLCAweDc3bHUsIDZsdSk7Cisg
ICAgdGVzdFVJbnQ2NExFQkRlY29kZSh7IDB4ZjIsIDB4NTMsIDB4NDMsIDB4ZjcsIDB4ODQsIDB4
NzcgfSwgNSwgdHJ1ZSwgMHg3N2x1LCA2dWwpOworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAw
eGYyLCAweDUzLCAweDQzLCAweGYzLCAweDg1LCAweDAyIH0sIDMsIHRydWUsIDB4ODJmM2x1LCA2
bHUpOworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweDkyLCAweGYzLCAweDg1LCAweGZmLCAw
eGY0LCAweGZmLCAweGNiLCAweGJhLCAweDhmLCAweDY5IH0sIDEsIHRydWUsIDB4NjkxZWVhNWZm
ZTlmYzJmM2x1LCAxMGx1KTsKKyAgICAvLyBUZXN0IGluIHRoZSBtaWRkbGUKKyAgICB0ZXN0VUlu
dDY0TEVCRGVjb2RlKHsgMHhmMywgMHgwNywgMHg4OSB9LCAxLCB0cnVlLCAweDdsdSwgMmx1KTsK
KyAgICB0ZXN0VUludDY0TEVCRGVjb2RlKHsgMHgwMywgMHgwNywgMHgyMyB9LCAxLCB0cnVlLCAw
eDdsdSwgMmx1KTsKKyAgICB0ZXN0VUludDY0TEVCRGVjb2RlKHsgMHhmMiwgMHg1MywgMHg0Mywg
MHg2NywgMHg3OSwgMHg3NywgMHg0MyB9LCA1LCB0cnVlLCAweDc3bHUsIDZsdSk7CisgICAgdGVz
dFVJbnQ2NExFQkRlY29kZSh7IDB4ZjIsIDB4NTMsIDB4NDMsIDB4ZjcsIDB4ODQsIDB4NzcsIDB4
ZjkgfSwgNSwgdHJ1ZSwgMHg3N2x1LCA2bHUpOworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAw
eGYyLCAweDUzLCAweDQzLCAweGYzLCAweDg1LCAweDAyLCAweGE0IH0sIDMsIHRydWUsIDB4ODJm
M2x1LCA2bHUpOworICAgIHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweDkyLCAweGYzLCAweDg1LCAw
eGZmLCAweGY0LCAweGZmLCAweGNiLCAweGJhLCAweDhmLCAweDY5LCAweDg1LCAweDc1IH0sIDEs
IHRydWUsIDB4NjkxZWVhNWZmZTlmYzJmM2x1LCAxMGx1KTsKKyAgICB0ZXN0VUludDY0TEVCRGVj
b2RlKHsgMHg5MiwgMHg2NSwgMHhmMywgMHg4NSwgMHhmZiwgMHhmNCwgMHhmZiwgMHhjYiwgMHhi
YSwgMHg4ZiwgMHg2OSwgMHg4NSwgMHg3NSB9LCAyLCB0cnVlLCAweDY5MWVlYTVmZmU5ZmMyZjNs
dSwgMTFsdSk7CisgICAgLy8gVGVzdCBkZWNvZGUgdG9vIGxvbmcKKyAgICB0ZXN0VUludDY0TEVC
RGVjb2RlKHsgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwg
MHg4MCwgMHg4MCwgMHg4MCB9LCAwLCBmYWxzZSwgMHgwbHUsIDBsdSk7CisgICAgdGVzdFVJbnQ2
NExFQkRlY29kZSh7IDB4ODAsIDB4ODAsIDB4YWIsIDB4OGEsIDB4OWEsIDB4YTMsIDB4YTMsIDB4
OWYsIDB4ZDIsIDB4ZWYsIDB4OGEsIDB4NGUgfSwgMSwgZmFsc2UsIDB4MGx1LCAwbHUpOworICAg
IHRlc3RVSW50NjRMRUJEZWNvZGUoeyAweDgwLCAweDgwLCAweGFiLCAweDhhLCAweDlhLCAweGEz
LCAweGZmLCAweGVmLCAweGQ4LCAweGVlLCAweGFhLCAweGJiIH0sIDAsIGZhbHNlLCAweDBsdSwg
MGx1KTsKKyAgICB0ZXN0VUludDY0TEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHhmNCwg
MHhmZiwgMHhjYiwgMHhiYSwgMHg4ZiwgMHhhOSwgMHhhOCwgMHgwNSB9LCAwLCBmYWxzZSwgMHgw
bHUsIDBsdSk7CisgICAgLy8gVGVzdCBkZWNvZGUgb2ZmIGVuZCBvZiBhcnJheQorICAgIHRlc3RV
SW50NjRMRUJEZWNvZGUoeyAweDgwLCAweDgwLCAweGFiLCAweDhhLCAweDlhLCAweGEzLCAweGZm
IH0sIDIsIGZhbHNlLCAweDBsdSwgMGx1KTsKKyAgICB0ZXN0VUludDY0TEVCRGVjb2RlKHsgMHg4
MCwgMHg4MCwgMHhhYiwgMHg4YSwgMHg5YSwgMHhhMywgMHhmZiB9LCAyLCBmYWxzZSwgMHgwbHUs
IDBsdSk7CisgICAgdGVzdFVJbnQ2NExFQkRlY29kZSh7IDB4OTIsIDB4ZjMsIDB4ODUsIDB4ZmYs
IDB4ZjQsIDB4ZmYsIDB4Y2IsIDB4YmEsIDB4OGYgfSwgMSwgZmFsc2UsIDB4MGx1LCAwbHUpOwog
fQogCiBzdGF0aWMgdm9pZCB0ZXN0SW50MzJMRUJEZWNvZGUoc3RkOjppbml0aWFsaXplcl9saXN0
PHVpbnQ4X3Q+IGRhdGEsIHNpemVfdCBzdGFydE9mZnNldCwgYm9vbCBleHBlY3RlZFN0YXR1cywg
aW50MzJfdCBleHBlY3RlZFJlc3VsdCwgc2l6ZV90IGV4cGVjdGVkT2Zmc2V0KQpAQCAtODIsMTAg
KzE0MiwxMCBAQCBzdGF0aWMgdm9pZCB0ZXN0SW50MzJMRUJEZWNvZGUoc3RkOjppbml0aWFsaXpl
cl9saXN0PHVpbnQ4X3Q+IGRhdGEsIHNpemVfdCBzdGFydAogICAgIFZlY3Rvcjx1aW50OF90PiB2
ZWN0b3IoZGF0YSk7CiAgICAgaW50MzJfdCByZXN1bHQ7CiAgICAgYm9vbCBzdGF0dXMgPSBXVEY6
OkxFQkRlY29kZXI6OmRlY29kZUludDMyKHZlY3Rvci5kYXRhKCksIHZlY3Rvci5zaXplKCksIHN0
YXJ0T2Zmc2V0LCByZXN1bHQpOwotICAgIEVYUEVDVF9FUShzdGF0dXMsIGV4cGVjdGVkU3RhdHVz
KTsKKyAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRTdGF0dXMsIHN0YXR1cyk7CiAgICAgaWYgKGV4cGVj
dGVkU3RhdHVzKSB7Ci0gICAgICAgIEVYUEVDVF9FUShyZXN1bHQsIGV4cGVjdGVkUmVzdWx0KTsK
LSAgICAgICAgRVhQRUNUX0VRKHN0YXJ0T2Zmc2V0LCBleHBlY3RlZE9mZnNldCk7CisgICAgICAg
IEVYUEVDVF9FUShleHBlY3RlZFJlc3VsdCwgcmVzdWx0KTsKKyAgICAgICAgRVhQRUNUX0VRKGV4
cGVjdGVkT2Zmc2V0LCBzdGFydE9mZnNldCk7CiAgICAgfQogfQogCkBAIC0xMTcsMTEgKzE3Nyw2
NSBAQCBURVNUKFdURiwgTEVCRGVjb2RlckludDMyKQogICAgIHRlc3RJbnQzMkxFQkRlY29kZSh7
IDB4ZjIsIDB4NTMsIDB4NDMsIDB4ZjcsIDB4ODQsIDB4NzcsIDB4ZjkgfSwgNSwgdHJ1ZSwgLTB4
OSwgNmx1KTsKICAgICB0ZXN0SW50MzJMRUJEZWNvZGUoeyAweGYyLCAweDUzLCAweDQzLCAweGYz
LCAweDg1LCAweDAyLCAweGE0IH0sIDMsIHRydWUsIDB4ODJmMywgNmx1KTsKICAgICAvLyBUZXN0
IGRlY29kZSB0b28gbG9uZwotICAgIHRlc3RJbnQzMkxFQkRlY29kZSh7IDB4ODAsIDB4ODAsIDB4
ODAsIDB4ODAsIDB4ODAsIDB4ODB9LCAwLCBmYWxzZSwgMHgwLCAwbHUpOwotICAgIHRlc3RJbnQz
MkxFQkRlY29kZSh7IDB4ODAsIDB4ODAsIDB4YWIsIDB4OGEsIDB4OWEsIDB4YTMsIDB4ZmZ9LCAx
LCBmYWxzZSwgMHgwLCAwbHUpOwotICAgIHRlc3RJbnQzMkxFQkRlY29kZSh7IDB4ODAsIDB4ODAs
IDB4YWIsIDB4OGEsIDB4OWEsIDB4YTMsIDB4ZmZ9LCAwLCBmYWxzZSwgMHgwLCAwbHUpOworICAg
IHRlc3RJbnQzMkxFQkRlY29kZSh7IDB4ODAsIDB4ODAsIDB4ODAsIDB4ODAsIDB4ODAsIDB4ODAg
fSwgMCwgZmFsc2UsIDB4MCwgMGx1KTsKKyAgICB0ZXN0SW50MzJMRUJEZWNvZGUoeyAweDgwLCAw
eDgwLCAweGFiLCAweDhhLCAweDlhLCAweGEzLCAweGZmIH0sIDEsIGZhbHNlLCAweDAsIDBsdSk7
CisgICAgdGVzdEludDMyTEVCRGVjb2RlKHsgMHg4MCwgMHg4MCwgMHhhYiwgMHg4YSwgMHg5YSwg
MHhhMywgMHhmZiB9LCAwLCBmYWxzZSwgMHgwLCAwbHUpOwogICAgIC8vIFRlc3QgZGVjb2RlIG9m
ZiBlbmQgb2YgYXJyYXkKLSAgICB0ZXN0SW50MzJMRUJEZWNvZGUoeyAweDgwLCAweDgwLCAweGFi
LCAweDhhLCAweDlhLCAweGEzLCAweGZmfSwgMiwgZmFsc2UsIDB4MCwgMGx1KTsKKyAgICB0ZXN0
SW50MzJMRUJEZWNvZGUoeyAweDgwLCAweDgwLCAweGFiLCAweDhhLCAweDlhLCAweGEzLCAweGZm
IH0sIDIsIGZhbHNlLCAweDAsIDBsdSk7CiB9CiAKK3N0YXRpYyB2b2lkIHRlc3RJbnQ2NExFQkRl
Y29kZShzdGQ6OmluaXRpYWxpemVyX2xpc3Q8dWludDhfdD4gZGF0YSwgc2l6ZV90IHN0YXJ0T2Zm
c2V0LCBib29sIGV4cGVjdGVkU3RhdHVzLCBpbnQ2NF90IGV4cGVjdGVkUmVzdWx0LCBzaXplX3Qg
ZXhwZWN0ZWRPZmZzZXQpCit7CisgICAgVmVjdG9yPHVpbnQ4X3Q+IHZlY3RvcihkYXRhKTsKKyAg
ICBpbnQ2NF90IHJlc3VsdDsKKyAgICBib29sIHN0YXR1cyA9IFdURjo6TEVCRGVjb2Rlcjo6ZGVj
b2RlSW50NjQodmVjdG9yLmRhdGEoKSwgdmVjdG9yLnNpemUoKSwgc3RhcnRPZmZzZXQsIHJlc3Vs
dCk7CisgICAgRVhQRUNUX0VRKGV4cGVjdGVkU3RhdHVzLCBzdGF0dXMpOworICAgIGlmIChleHBl
Y3RlZFN0YXR1cykgeworICAgICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRSZXN1bHQsIHJlc3VsdCk7
CisgICAgICAgIEVYUEVDVF9FUShleHBlY3RlZE9mZnNldCwgc3RhcnRPZmZzZXQpOworICAgIH0K
K30KKworVEVTVChXVEYsIExFQkRlY29kZXJJbnQ2NCkKK3sKKyAgICAvLyBTaW1wbGUgdGVzdHMg
dGhhdCB1c2UgYWxsIHRoZSBiaXRzIGluIHRoZSBhcnJheQorICAgIHRlc3RJbnQ2NExFQkRlY29k
ZSh7IDB4MDcgfSwgMCwgdHJ1ZSwgMHg3LCAxbHUpOworICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7
IDB4NzcgfSwgMCwgdHJ1ZSwgLTB4OSwgMWx1KTsKKyAgICB0ZXN0SW50NjRMRUJEZWNvZGUoeyAw
eDgwLCAweDA3IH0sIDAsIHRydWUsIDB4MzgwLCAybHUpOworICAgIHRlc3RJbnQ2NExFQkRlY29k
ZSh7IDB4ODksIDB4MTIgfSwgMCwgdHJ1ZSwgMHg5MDksIDJsdSk7CisgICAgdGVzdEludDY0TEVC
RGVjb2RlKHsgMHhmMywgMHg4NSwgMHgwMiB9LCAwLCB0cnVlLCAweDgyZjMsIDNsdSk7CisgICAg
dGVzdEludDY0TEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHg3NCB9LCAwLCB0cnVlLCAw
eGZmZmZmZmZmZmU5ZmMyZjMsIDRsdSk7CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHhmMywg
MHg4NSwgMHhmZiwgMHhmNCwgMHg3ZiB9LCAwLCB0cnVlLCAweGZmZmZmZmZmZmU5ZmMyZjMsIDVs
dSk7CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHhmNCwgMHgz
ZiB9LCAwLCB0cnVlLCAweDNmZTlmYzJmMywgNWx1KTsKKyAgICB0ZXN0SW50NjRMRUJEZWNvZGUo
eyAweGYzLCAweDg1LCAweGZmLCAweGY0LCAweDhmLCAweDFhIH0sIDAsIHRydWUsIDB4ZDBmZTlm
YzJmMywgNmx1KTsKKyAgICB0ZXN0SW50NjRMRUJEZWNvZGUoeyAweGYzLCAweDg1LCAweGZmLCAw
eGY0LCAweDhmLCAweDlhLCAweDgwLCAweDJhIH0sIDAsIHRydWUsIDB4NTQwMGQwZmU5ZmMyZjMs
IDhsdSk7CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHhmNCwg
MHg4ZiwgMHg5YSwgMHg4MCwgMHhhYSwgMHg0MSB9LCAwLCB0cnVlLCAweGMxNTQwMGQwZmU5ZmMy
ZjMsIDlsdSk7CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHhmMywgMHg4NSwgMHhmZiwgMHhm
NCwgMHg4ZiwgMHg5YSwgMHg4MCwgMHhhYSwgMHhjMSwgMHgwMSB9LCAwLCB0cnVlLCAweGMxNTQw
MGQwZmU5ZmMyZjMsIDEwbHUpOworICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4ZjMsIDB4ODUs
IDB4ZmYsIDB4ZjQsIDB4OGYsIDB4OWEsIDB4ODAsIDB4YWEsIDB4YzEsIDB4NjIgfSwgMCwgdHJ1
ZSwgMHg0MTU0MDBkMGZlOWZjMmYzLCAxMGx1KTsKKyAgICAvLyBUZXN0IHdpdGggZXh0cmEgdHJh
aWxpbmcgbnVtYmVycworICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4MDcsIDB4ODAgfSwgMCwg
dHJ1ZSwgMHg3LCAxbHUpOworICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4MDcsIDB4NzUgfSwg
MCwgdHJ1ZSwgMHg3LCAxbHUpOworICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4ZjMsIDB4ODUs
IDB4ZmYsIDB4NzQsIDB4NDMgfSwgMCwgdHJ1ZSwgMHhmZmZmZmZmZmZlOWZjMmYzLCA0bHUpOwor
ICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4NzQsIDB4ODAgfSwg
MCwgdHJ1ZSwgMHhmZmZmZmZmZmZlOWZjMmYzLCA0bHUpOworICAgIC8vIFRlc3Qgd2l0aCBwcmVj
ZWVkaW5nIG51bWJlcnMKKyAgICB0ZXN0SW50NjRMRUJEZWNvZGUoeyAweGYzLCAweDA3IH0sIDEs
IHRydWUsIDB4NywgMmx1KTsKKyAgICB0ZXN0SW50NjRMRUJEZWNvZGUoeyAweDAzLCAweDA3IH0s
IDEsIHRydWUsIDB4NywgMmx1KTsKKyAgICB0ZXN0SW50NjRMRUJEZWNvZGUoeyAweGYyLCAweDUz
LCAweDQzLCAweDY3LCAweDc5LCAweDc3IH0sIDUsIHRydWUsIC0weDksIDZsdSk7CisgICAgdGVz
dEludDY0TEVCRGVjb2RlKHsgMHhmMiwgMHg1MywgMHg0MywgMHhmNywgMHg4NCwgMHg3NyB9LCA1
LCB0cnVlLCAtMHg5LCA2bHUpOworICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4ZjIsIDB4NTMs
IDB4NDMsIDB4ZjMsIDB4ODUsIDB4MDIgfSwgMywgdHJ1ZSwgMHg4MmYzLCA2bHUpOworICAgIC8v
IFRlc3QgaW4gdGhlIG1pZGRsZQorICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4ZjMsIDB4MDcs
IDB4ODkgfSwgMSwgdHJ1ZSwgMHg3LCAybHUpOworICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4
MDMsIDB4MDcsIDB4MjMgfSwgMSwgdHJ1ZSwgMHg3LCAybHUpOworICAgIHRlc3RJbnQ2NExFQkRl
Y29kZSh7IDB4ZjIsIDB4NTMsIDB4NDMsIDB4NjcsIDB4NzksIDB4NzcsIDB4NDMgfSwgNSwgdHJ1
ZSwgLTB4OSwgNmx1KTsKKyAgICB0ZXN0SW50NjRMRUJEZWNvZGUoeyAweGYyLCAweDUzLCAweDQz
LCAweGY3LCAweDg0LCAweDc3LCAweGY5IH0sIDUsIHRydWUsIC0weDksIDZsdSk7CisgICAgdGVz
dEludDY0TEVCRGVjb2RlKHsgMHhmMiwgMHg1MywgMHg0MywgMHhmMywgMHg4NSwgMHgwMiwgMHhh
NCB9LCAzLCB0cnVlLCAweDgyZjMsIDZsdSk7CisgICAgLy8gVGVzdCBkZWNvZGUgdG9vIGxvbmcK
KyAgICB0ZXN0SW50NjRMRUJEZWNvZGUoeyAweDgwLCAweDgwLCAweDgwLCAweDgwLCAweDgwLCAw
eDgwIH0sIDAsIGZhbHNlLCAweDAsIDBsdSk7CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHg4
MCwgMHg4MCwgMHhhYiwgMHg4YSwgMHg5YSwgMHhhMywgMHhmZiB9LCAxLCBmYWxzZSwgMHgwLCAw
bHUpOworICAgIHRlc3RJbnQ2NExFQkRlY29kZSh7IDB4ODAsIDB4ODAsIDB4YWIsIDB4OGEsIDB4
OWEsIDB4YTMsIDB4ZmYgfSwgMCwgZmFsc2UsIDB4MCwgMGx1KTsKKyAgICAvLyBUZXN0IGRlY29k
ZSBvZmYgZW5kIG9mIGFycmF5CisgICAgdGVzdEludDY0TEVCRGVjb2RlKHsgMHg4MCwgMHg4MCwg
MHhhYiwgMHg4YSwgMHg5YSwgMHhhMywgMHhmZiB9LCAyLCBmYWxzZSwgMHgwLCAwbHUpOworfQor
CisKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>
<flag name="review"
          id="319018"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>