<?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>173631</bug_id>
          
          <creation_ts>2017-06-20 17:54:14 -0700</creation_ts>
          <short_desc>Add support for structured serialization of CSS Geometry types</short_desc>
          <delta_ts>2017-06-21 13:06:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>https://drafts.fxtf.org/geometry-1/#structured-serialization</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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1321338</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-20 17:54:14 -0700</bug_when>
    <thetext>Add support for structured serialization of CSS Geometry types</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321341</commentid>
    <comment_count>1</comment_count>
      <attachid>313462</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-20 17:57:50 -0700</bug_when>
    <thetext>Created attachment 313462
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321342</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-20 18:00:27 -0700</bug_when>
    <thetext>Attachment 313462 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:2471:  An else statement can be removed when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321371</commentid>
    <comment_count>3</comment_count>
      <attachid>313475</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-20 19:51:25 -0700</bug_when>
    <thetext>Created attachment 313475
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321372</commentid>
    <comment_count>4</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-20 19:53:20 -0700</bug_when>
    <thetext>Attachment 313475 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:2504:  An else statement can be removed when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321391</commentid>
    <comment_count>5</comment_count>
      <attachid>313483</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-20 21:03:01 -0700</bug_when>
    <thetext>Created attachment 313483
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321393</commentid>
    <comment_count>6</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-20 21:04:41 -0700</bug_when>
    <thetext>Attachment 313483 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:2504:  An else statement can be removed when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321587</commentid>
    <comment_count>7</comment_count>
      <attachid>313483</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-21 13:06:03 -0700</bug_when>
    <thetext>Comment on attachment 313483
Patch

Clearing flags on attachment: 313483

Committed r218644: &lt;http://trac.webkit.org/changeset/218644&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321588</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-21 13:06:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313462</attachid>
            <date>2017-06-20 17:57:50 -0700</date>
            <delta_ts>2017-06-20 19:51:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173631-20170620175842.patch</filename>
            <type>text/plain</type>
            <size>22972</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxODYwMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDE3LTA2LTIwICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHN0cnVjdHVy
ZWQgc2VyaWFsaXphdGlvbiBvZiBDU1MgR2VvbWV0cnkgdHlwZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzYzMQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL3N0cnVjdHVyZWQtc2VyaWFsaXphdGlvbi5odG1s
CisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNsb25lU2VyaWFsaXplcjo6ZHVtcERPTVBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNs
b25lU2VyaWFsaXplcjo6ZHVtcERPTVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVTZXJp
YWxpemVyOjpkdW1wRE9NTWF0cml4KToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lU2VyaWFsaXpl
cjo6ZHVtcERPTVF1YWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVTZXJpYWxpemVyOjpkdW1w
SWZUZXJtaW5hbCk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6Z2V0SlNW
YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6cmVhZERPTVBvaW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lRGVzZXJpYWxpemVyOjpyZWFkRE9NTWF0cml4KToK
KyAgICAgICAgKFdlYkNvcmU6OkNsb25lRGVzZXJpYWxpemVyOjpyZWFkRE9NUmVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6cmVhZERPTVBvaW50SW5pdCk6CisgICAg
ICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6cmVhZERPTVF1YWQpOgorICAgICAgICAo
V2ViQ29yZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OnJlYWRUZXJtaW5hbCk6CisgICAgICAgICogY3Nz
L0RPTU1hdHJpeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01NYXRyaXg6OkRPTU1hdHJpeCk6
CisgICAgICAgICogY3NzL0RPTU1hdHJpeC5oOgorICAgICAgICAoV2ViQ29yZTo6RE9NTWF0cml4
OjpjcmVhdGUpOgorICAgICAgICAqIGNzcy9ET01NYXRyaXhSZWFkT25seS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpET01NYXRyaXhSZWFkT25seTo6RE9NTWF0cml4UmVhZE9ubHkpOgorICAgICAg
ICAqIGNzcy9ET01NYXRyaXhSZWFkT25seS5oOgorICAgICAgICAoV2ViQ29yZTo6RE9NTWF0cml4
UmVhZE9ubHk6OmNyZWF0ZSk6CisKIDIwMTctMDYtMjAgIE1hdHQgTGV3aXMgIDxqbGV3aXMzQGFw
cGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjE4NTMwLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkocmV2aXNpb24gMjE4NjAxKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xOTc0OCw3ICsxOTc0OCwxMSBAQAog
CQkJCUFENzI2RkU5MTZEOUY0MEEwMDNBNEU2RCAvKiBKU0NTU1J1bGVDdXN0b20uaCAqLywKIAkJ
CQk5MzkyMjYyRTEwMzIxMDg0MDA2RTdENUQgLyogSlNDU1NSdWxlTGlzdEN1c3RvbS5jcHAgKi8s
CiAJCQkJQkMyMEZCN0UwQzBFOEU2QzAwRDE0NDdGIC8qIEpTQ1NTVmFsdWVDdXN0b20uY3BwICov
LAorCQkJCURFQzI5NzVEMUI0REVCMkEwMDVGNTk0NSAvKiBKU0N1c3RvbUV2ZW50Q3VzdG9tLmNw
cCAqLywKKwkJCQk0OUM3QkE4QzEwNDJGNUIxMDAwOUQ0NDcgLyogSlNEb2N1bWVudEN1c3RvbS5j
cHAgKi8sCisJCQkJQUREQTk0QkYxOTY4NkY4MDAwNDUzMDI5IC8qIEpTRG9jdW1lbnRDdXN0b20u
aCAqLywKIAkJCQk3QzMzRjM2MDFCNEEwNTA0MDA1MDJDQUYgLyogSlNEb2N1bWVudEZyYWdtZW50
Q3VzdG9tLmNwcCAqLywKKwkJCQkwRjk0QTM5NTFFRjFCMTA1MDBGQkFGRkIgLyogSlNET01RdWFk
Q3VzdG9tLmNwcCAqLywKIAkJCQlCQzJFRDU1NDBDNkI5QkQzMDA5MjBCRkYgLyogSlNFbGVtZW50
Q3VzdG9tLmNwcCAqLywKIAkJCQlBREVDNzhGNzE4RUU1MzA4MDAxMzE1QzIgLyogSlNFbGVtZW50
Q3VzdG9tLmggKi8sCiAJCQkJQkNFRkFGNEQwQzMxN0U2OTAwRkE4MUY2IC8qIEpTRXZlbnRDdXN0
b20uY3BwICovLApAQCAtMjM2ODIsMTAgKzIzNjg2LDYgQEAKIAkJCQlCQzU4MjVGMjBDMEI4OTM4
MDA1M0YxQjUgLyogSlNDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcCAqLywKIAkJCQlBRDcy
NkZFQTE2RDlGNDBCMDAzQTRFNkQgLyogSlNDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmggKi8s
CiAJCQkJOUJDNUY5REYxRDVBQUY2QTAwMkI3NDlEIC8qIEpTQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5
Q3VzdG9tLmNwcCAqLywKLQkJCQlERUMyOTc1RDFCNERFQjJBMDA1RjU5NDUgLyogSlNDdXN0b21F
dmVudEN1c3RvbS5jcHAgKi8sCi0JCQkJNDlDN0JBOEMxMDQyRjVCMTAwMDlENDQ3IC8qIEpTRG9j
dW1lbnRDdXN0b20uY3BwICovLAotCQkJCUFEREE5NEJGMTk2ODZGODAwMDQ1MzAyOSAvKiBKU0Rv
Y3VtZW50Q3VzdG9tLmggKi8sCi0JCQkJMEY5NEEzOTUxRUYxQjEwNTAwRkJBRkZCIC8qIEpTRE9N
UXVhZEN1c3RvbS5jcHAgKi8sCiAJCQkJQkNEOUMyNUUwQzE3QUE2NzAwNUM5MEEyIC8qIEpTRE9N
V2luZG93Q3VzdG9tLmNwcCAqLywKIAkJCQk2NTJGQkJCQjBERTI3Q0I2MDAwMUQzODYgLyogSlNE
T01XaW5kb3dDdXN0b20uaCAqLywKIAkJCQlDMjgwODM0MTFDNkRDOTZBMDAxNDUxQjYgLyogSlNG
b250RmFjZUN1c3RvbS5jcHAgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAJKHJldmlzaW9uIDIxODYwMSkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDEwIEBACiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgi
CiAjaW5jbHVkZSAiSlNET01Db252ZXJ0QnVmZmVyU291cmNlLmgiCiAjaW5jbHVkZSAiSlNET01H
bG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJKU0RPTU1hdHJpeC5oIgorI2luY2x1ZGUgIkpTRE9N
UG9pbnQuaCIKKyNpbmNsdWRlICJKU0RPTVF1YWQuaCIKKyNpbmNsdWRlICJKU0RPTVJlY3QuaCIK
ICNpbmNsdWRlICJKU0ZpbGUuaCIKICNpbmNsdWRlICJKU0ZpbGVMaXN0LmgiCiAjaW5jbHVkZSAi
SlNJbWFnZURhdGEuaCIKQEAgLTE1Miw2ICsxNTYsMTMgQEAgZW51bSBTZXJpYWxpemF0aW9uVGFn
IHsKICNpZiBFTkFCTEUoV0VCQVNTRU1CTFkpCiAgICAgV2FzbU1vZHVsZVRhZyA9IDM1LAogI2Vu
ZGlmCisgICAgRE9NUG9pbnRSZWFkT25seVRhZyA9IDM2LAorICAgIERPTVBvaW50VGFnID0gMzcs
CisgICAgRE9NUmVjdFJlYWRPbmx5VGFnID0gMzgsCisgICAgRE9NUmVjdFRhZyA9IDM5LAorICAg
IERPTU1hdHJpeFJlYWRPbmx5VGFnID0gNDAsCisgICAgRE9NTWF0cml4VGFnID0gNDEsCisgICAg
RE9NUXVhZFRhZyA9IDQyLAogICAgIEVycm9yVGFnID0gMjU1CiB9OwogCkBAIC03NzIsNiArNzgz
LDg5IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBkdW1wSWZUZXJtaW5hbChidWZmZXJPYmos
IGNvZGUpOwogICAgIH0KIAorICAgIHZvaWQgZHVtcERPTVBvaW50KGNvbnN0IERPTVBvaW50UmVh
ZE9ubHkmIHBvaW50KQorICAgIHsKKyAgICAgICAgd3JpdGUocG9pbnQueCgpKTsKKyAgICAgICAg
d3JpdGUocG9pbnQueSgpKTsKKyAgICAgICAgd3JpdGUocG9pbnQueigpKTsKKyAgICAgICAgd3Jp
dGUocG9pbnQudygpKTsKKyAgICB9CisKKyAgICB2b2lkIGR1bXBET01Qb2ludChKU09iamVjdCog
b2JqKQorICAgIHsKKyAgICAgICAgVk0mIHZtID0gbV9leGVjLT52bSgpOworICAgICAgICBpZiAo
b2JqLT5pbmhlcml0cyh2bSwgSlNET01Qb2ludDo6aW5mbygpKSkKKyAgICAgICAgICAgIHdyaXRl
KERPTVBvaW50VGFnKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgd3JpdGUoRE9NUG9pbnRS
ZWFkT25seVRhZyk7CisKKyAgICAgICAgZHVtcERPTVBvaW50KGpzQ2FzdDxKU0RPTVBvaW50UmVh
ZE9ubHkqPihvYmopLT53cmFwcGVkKCkpOworICAgIH0KKworICAgIHZvaWQgZHVtcERPTVJlY3Qo
SlNPYmplY3QqIG9iaikKKyAgICB7CisgICAgICAgIFZNJiB2bSA9IG1fZXhlYy0+dm0oKTsKKyAg
ICAgICAgaWYgKG9iai0+aW5oZXJpdHModm0sIEpTRE9NUmVjdDo6aW5mbygpKSkKKyAgICAgICAg
ICAgIHdyaXRlKERPTVJlY3RUYWcpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB3cml0ZShE
T01SZWN0UmVhZE9ubHlUYWcpOworCisgICAgICAgIGF1dG8mIHJlY3QgPSBqc0Nhc3Q8SlNET01S
ZWN0UmVhZE9ubHkqPihvYmopLT53cmFwcGVkKCk7CisgICAgICAgIHdyaXRlKHJlY3QueCgpKTsK
KyAgICAgICAgd3JpdGUocmVjdC55KCkpOworICAgICAgICB3cml0ZShyZWN0LndpZHRoKCkpOwor
ICAgICAgICB3cml0ZShyZWN0LmhlaWdodCgpKTsKKyAgICB9CisKKyAgICB2b2lkIGR1bXBET01N
YXRyaXgoSlNPYmplY3QqIG9iaikKKyAgICB7CisgICAgICAgIFZNJiB2bSA9IG1fZXhlYy0+dm0o
KTsKKyAgICAgICAgaWYgKG9iai0+aW5oZXJpdHModm0sIEpTRE9NTWF0cml4OjppbmZvKCkpKQor
ICAgICAgICAgICAgd3JpdGUoRE9NTWF0cml4VGFnKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgd3JpdGUoRE9NTWF0cml4UmVhZE9ubHlUYWcpOworCisgICAgICAgIGF1dG8mIG1hdHJpeCA9
IGpzQ2FzdDxKU0RPTU1hdHJpeFJlYWRPbmx5Kj4ob2JqKS0+d3JhcHBlZCgpOworICAgICAgICBi
b29sIGlzMkQgPSBtYXRyaXguaXMyRCgpOworICAgICAgICB3cml0ZShzdGF0aWNfY2FzdDx1aW50
OF90PihpczJEKSk7CisgICAgICAgIGlmIChpczJEKSB7CisgICAgICAgICAgICB3cml0ZShtYXRy
aXgubTExKCkpOworICAgICAgICAgICAgd3JpdGUobWF0cml4Lm0xMigpKTsKKyAgICAgICAgICAg
IHdyaXRlKG1hdHJpeC5tMjEoKSk7CisgICAgICAgICAgICB3cml0ZShtYXRyaXgubTIyKCkpOwor
ICAgICAgICAgICAgd3JpdGUobWF0cml4Lm00MSgpKTsKKyAgICAgICAgICAgIHdyaXRlKG1hdHJp
eC5tNDIoKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB3cml0ZShtYXRyaXgubTEx
KCkpOworICAgICAgICAgICAgd3JpdGUobWF0cml4Lm0xMigpKTsKKyAgICAgICAgICAgIHdyaXRl
KG1hdHJpeC5tMTMoKSk7CisgICAgICAgICAgICB3cml0ZShtYXRyaXgubTE0KCkpOworICAgICAg
ICAgICAgd3JpdGUobWF0cml4Lm0yMSgpKTsKKyAgICAgICAgICAgIHdyaXRlKG1hdHJpeC5tMjIo
KSk7CisgICAgICAgICAgICB3cml0ZShtYXRyaXgubTIzKCkpOworICAgICAgICAgICAgd3JpdGUo
bWF0cml4Lm0yNCgpKTsKKyAgICAgICAgICAgIHdyaXRlKG1hdHJpeC5tMzEoKSk7CisgICAgICAg
ICAgICB3cml0ZShtYXRyaXgubTMyKCkpOworICAgICAgICAgICAgd3JpdGUobWF0cml4Lm0zMygp
KTsKKyAgICAgICAgICAgIHdyaXRlKG1hdHJpeC5tMzQoKSk7CisgICAgICAgICAgICB3cml0ZSht
YXRyaXgubTQxKCkpOworICAgICAgICAgICAgd3JpdGUobWF0cml4Lm00MigpKTsKKyAgICAgICAg
ICAgIHdyaXRlKG1hdHJpeC5tNDMoKSk7CisgICAgICAgICAgICB3cml0ZShtYXRyaXgubTQ0KCkp
OworICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCBkdW1wRE9NUXVhZChKU09iamVjdCogb2Jq
KQorICAgIHsKKyAgICAgICAgd3JpdGUoRE9NUXVhZFRhZyk7CisKKyAgICAgICAgYXV0byYgcXVh
ZCA9IGpzQ2FzdDxKU0RPTVF1YWQqPihvYmopLT53cmFwcGVkKCk7CisgICAgICAgIGR1bXBET01Q
b2ludChxdWFkLnAxKCkpOworICAgICAgICBkdW1wRE9NUG9pbnQocXVhZC5wMigpKTsKKyAgICAg
ICAgZHVtcERPTVBvaW50KHF1YWQucDMoKSk7CisgICAgICAgIGR1bXBET01Qb2ludChxdWFkLnA0
KCkpOworICAgIH0KKwogICAgIGJvb2wgZHVtcElmVGVybWluYWwoSlNWYWx1ZSB2YWx1ZSwgU2Vy
aWFsaXphdGlvblJldHVybkNvZGUmIGNvZGUpCiAgICAgewogICAgICAgICBpZiAoIXZhbHVlLmlz
Q2VsbCgpKSB7CkBAIC05NTMsNyArMTA0NywyMiBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQogI2VuZGlmCi0KKyAgICAgICAgICAgIGlmIChv
YmotPmluaGVyaXRzKHZtLCBKU0RPTVBvaW50UmVhZE9ubHk6OmluZm8oKSkpIHsKKyAgICAgICAg
ICAgICAgICBkdW1wRE9NUG9pbnQob2JqKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChvYmotPmluaGVyaXRzKHZtLCBKU0RPTVJl
Y3RSZWFkT25seTo6aW5mbygpKSkgeworICAgICAgICAgICAgICAgIGR1bXBET01SZWN0KG9iaik7
CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBpZiAob2JqLT5pbmhlcml0cyh2bSwgSlNET01NYXRyaXhSZWFkT25seTo6aW5mbygpKSkgewor
ICAgICAgICAgICAgICAgIGR1bXBET01NYXRyaXgob2JqKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChvYmotPmluaGVyaXRzKHZt
LCBKU0RPTVF1YWQ6OmluZm8oKSkpIHsKKyAgICAgICAgICAgICAgICBkdW1wRE9NUXVhZChvYmop
OworICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgfQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgICAgIC8vIEFueSBvdGhlciB0eXBlcyBh
cmUgZXhwZWN0ZWQgdG8gc2VyaWFsaXplIGFzIG51bGwuCkBAIC0yMzMwLDkgKzI0MzksMTY4IEBA
IHByaXZhdGU6CiAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KICAgICBKU1ZhbHVlIGdldEpTVmFsdWUo
VCYgbmF0aXZlT2JqKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGdldEpTVmFsdWUoJm5hdGl2ZU9i
aik7CisgICAgICAgIHJldHVybiB0b0pTKG1fZXhlYywganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0
Kj4obV9nbG9iYWxPYmplY3QpLCBuYXRpdmVPYmopOworICAgIH0KKworICAgIHRlbXBsYXRlPGNs
YXNzIFQ+CisgICAgSlNWYWx1ZSByZWFkRE9NUG9pbnQoKQorICAgIHsKKyAgICAgICAgZG91Ymxl
IHg7CisgICAgICAgIGlmICghcmVhZCh4KSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAg
ICAgIGRvdWJsZSB5OworICAgICAgICBpZiAoIXJlYWQoeSkpCisgICAgICAgICAgICByZXR1cm4g
eyB9OworICAgICAgICBkb3VibGUgejsKKyAgICAgICAgaWYgKCFyZWFkKHopKQorICAgICAgICAg
ICAgcmV0dXJuIHsgfTsKKyAgICAgICAgZG91YmxlIHc7CisgICAgICAgIGlmICghcmVhZCh3KSkK
KyAgICAgICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgcmV0dXJuIHRvSlNOZXdseUNyZWF0
ZWQobV9leGVjLCBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihtX2dsb2JhbE9iamVjdCksIFQ6
OmNyZWF0ZSh4LCB5LCB6LCB3KSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVD4KKyAg
ICBKU1ZhbHVlIHJlYWRET01NYXRyaXgoKQorICAgIHsKKyAgICAgICAgdWludDhfdCBpczJEOwor
ICAgICAgICBpZiAoIXJlYWQoaXMyRCkpCisgICAgICAgICAgICByZXR1cm4geyB9OworCisgICAg
ICAgIGlmIChpczJEKSB7CisgICAgICAgICAgICBkb3VibGUgbTExOworICAgICAgICAgICAgaWYg
KCFyZWFkKG0xMSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIGRv
dWJsZSBtMTI7CisgICAgICAgICAgICBpZiAoIXJlYWQobTEyKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4geyB9OworICAgICAgICAgICAgZG91YmxlIG0yMTsKKyAgICAgICAgICAgIGlmICghcmVh
ZChtMjEpKQorICAgICAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgICAgICBkb3VibGUg
bTIyOworICAgICAgICAgICAgaWYgKCFyZWFkKG0yMikpCisgICAgICAgICAgICAgICAgcmV0dXJu
IHsgfTsKKyAgICAgICAgICAgIGRvdWJsZSBtNDE7CisgICAgICAgICAgICBpZiAoIXJlYWQobTQx
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAgICAgZG91YmxlIG00MjsK
KyAgICAgICAgICAgIGlmICghcmVhZChtNDIpKQorICAgICAgICAgICAgICAgIHJldHVybiB7IH07
CisKKyAgICAgICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG1hdHJpeChtMTEsIG0xMiwgbTIx
LCBtMjIsIG00MSwgbTQyKTsKKyAgICAgICAgICAgIHJldHVybiB0b0pTTmV3bHlDcmVhdGVkKG1f
ZXhlYywganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4obV9nbG9iYWxPYmplY3QpLCBUOjpjcmVh
dGUoV1RGTW92ZShtYXRyaXgpLCBET01NYXRyaXhSZWFkT25seTo6SXMyRDo6WWVzKSk7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBkb3VibGUgbTExOworICAgICAgICAgICAgaWYgKCFy
ZWFkKG0xMSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIGRvdWJs
ZSBtMTI7CisgICAgICAgICAgICBpZiAoIXJlYWQobTEyKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4geyB9OworICAgICAgICAgICAgZG91YmxlIG0xMzsKKyAgICAgICAgICAgIGlmICghcmVhZCht
MTMpKQorICAgICAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgICAgICBkb3VibGUgbTE0
OworICAgICAgICAgICAgaWYgKCFyZWFkKG0xNCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHsg
fTsKKyAgICAgICAgICAgIGRvdWJsZSBtMjE7CisgICAgICAgICAgICBpZiAoIXJlYWQobTIxKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAgICAgZG91YmxlIG0yMjsKKyAg
ICAgICAgICAgIGlmICghcmVhZChtMjIpKQorICAgICAgICAgICAgICAgIHJldHVybiB7IH07Cisg
ICAgICAgICAgICBkb3VibGUgbTIzOworICAgICAgICAgICAgaWYgKCFyZWFkKG0yMykpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIGRvdWJsZSBtMjQ7CisgICAgICAg
ICAgICBpZiAoIXJlYWQobTI0KSkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAg
ICAgICAgZG91YmxlIG0zMTsKKyAgICAgICAgICAgIGlmICghcmVhZChtMzEpKQorICAgICAgICAg
ICAgICAgIHJldHVybiB7IH07CisgICAgICAgICAgICBkb3VibGUgbTMyOworICAgICAgICAgICAg
aWYgKCFyZWFkKG0zMikpCisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAg
IGRvdWJsZSBtMzM7CisgICAgICAgICAgICBpZiAoIXJlYWQobTMzKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4geyB9OworICAgICAgICAgICAgZG91YmxlIG0zNDsKKyAgICAgICAgICAgIGlmICgh
cmVhZChtMzQpKQorICAgICAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgICAgICBkb3Vi
bGUgbTQxOworICAgICAgICAgICAgaWYgKCFyZWFkKG00MSkpCisgICAgICAgICAgICAgICAgcmV0
dXJuIHsgfTsKKyAgICAgICAgICAgIGRvdWJsZSBtNDI7CisgICAgICAgICAgICBpZiAoIXJlYWQo
bTQyKSkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAgICAgZG91YmxlIG00
MzsKKyAgICAgICAgICAgIGlmICghcmVhZChtNDMpKQorICAgICAgICAgICAgICAgIHJldHVybiB7
IH07CisgICAgICAgICAgICBkb3VibGUgbTQ0OworICAgICAgICAgICAgaWYgKCFyZWFkKG00NCkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKworICAgICAgICAgICAgVHJhbnNmb3JtYXRp
b25NYXRyaXggbWF0cml4KG0xMSwgbTEyLCBtMTMsIG0xNCwgbTIxLCBtMjIsIG0yMywgbTI0LCBt
MzEsIG0zMiwgbTMzLCBtMzQsIG00MSwgbTQyLCBtNDMsIG00NCk7CisgICAgICAgICAgICByZXR1
cm4gdG9KU05ld2x5Q3JlYXRlZChtX2V4ZWMsIGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KG1f
Z2xvYmFsT2JqZWN0KSwgVDo6Y3JlYXRlKFdURk1vdmUobWF0cml4KSwgRE9NTWF0cml4UmVhZE9u
bHk6OklzMkQ6Ok5vKSk7CisgICAgICAgIH0KICAgICB9CiAKKyAgICB0ZW1wbGF0ZTxjbGFzcyBU
PgorICAgIEpTVmFsdWUgcmVhZERPTVJlY3QoKQorICAgIHsKKyAgICAgICAgZG91YmxlIHg7Cisg
ICAgICAgIGlmICghcmVhZCh4KSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIGRv
dWJsZSB5OworICAgICAgICBpZiAoIXJlYWQoeSkpCisgICAgICAgICAgICByZXR1cm4geyB9Owor
ICAgICAgICBkb3VibGUgd2lkdGg7CisgICAgICAgIGlmICghcmVhZCh3aWR0aCkpCisgICAgICAg
ICAgICByZXR1cm4geyB9OworICAgICAgICBkb3VibGUgaGVpZ2h0OworICAgICAgICBpZiAoIXJl
YWQoaGVpZ2h0KSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgcmV0dXJuIHRv
SlNOZXdseUNyZWF0ZWQobV9leGVjLCBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihtX2dsb2Jh
bE9iamVjdCksIFQ6OmNyZWF0ZSh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7CisgICAgfQorCisgICAg
c3RkOjpvcHRpb25hbDxET01Qb2ludEluaXQ+IHJlYWRET01Qb2ludEluaXQoKQorICAgIHsKKyAg
ICAgICAgZG91YmxlIHg7CisgICAgICAgIGlmICghcmVhZCh4KSkKKyAgICAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CisgICAgICAgIGRvdWJsZSB5OworICAgICAgICBpZiAoIXJlYWQoeSkp
CisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICBkb3VibGUgejsKKyAg
ICAgICAgaWYgKCFyZWFkKHopKQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAg
ICAgICAgZG91YmxlIHc7CisgICAgICAgIGlmICghcmVhZCh3KSkKKyAgICAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CisKKyAgICAgICAgcmV0dXJuIERPTVBvaW50SW5pdCB7IHgsIHksIHos
IHcgfTsKKyAgICB9CisKKyAgICBKU1ZhbHVlIHJlYWRET01RdWFkKCkKKyAgICB7CisgICAgICAg
IGF1dG8gcDEgPSByZWFkRE9NUG9pbnRJbml0KCk7CisgICAgICAgIGlmICghcDEpCisgICAgICAg
ICAgICByZXR1cm4gSlNWYWx1ZSgpOworICAgICAgICBhdXRvIHAyID0gcmVhZERPTVBvaW50SW5p
dCgpOworICAgICAgICBpZiAoIXAyKQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKKyAg
ICAgICAgYXV0byBwMyA9IHJlYWRET01Qb2ludEluaXQoKTsKKyAgICAgICAgaWYgKCFwMykKKyAg
ICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7CisgICAgICAgIGF1dG8gcDQgPSByZWFkRE9NUG9p
bnRJbml0KCk7CisgICAgICAgIGlmICghcDQpCisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgp
OworCisgICAgICAgIHJldHVybiB0b0pTTmV3bHlDcmVhdGVkKG1fZXhlYywganNDYXN0PEpTRE9N
R2xvYmFsT2JqZWN0Kj4obV9nbG9iYWxPYmplY3QpLCBET01RdWFkOjpjcmVhdGUocDEudmFsdWUo
KSwgcDIudmFsdWUoKSwgcDMudmFsdWUoKSwgcDQudmFsdWUoKSkpOworICAgIH0KKworCiAgICAg
SlNWYWx1ZSByZWFkVGVybWluYWwoKQogICAgIHsKICAgICAgICAgU2VyaWFsaXphdGlvblRhZyB0
YWcgPSByZWFkVGFnKCk7CkBAIC0yNjA3LDYgKzI4NzUsMjAgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIHJldHVybiBjcnlwdG9LZXk7CiAgICAgICAgIH0KICNlbmRpZgorICAgICAgICBjYXNlIERP
TVBvaW50UmVhZE9ubHlUYWc6CisgICAgICAgICAgICByZXR1cm4gcmVhZERPTVBvaW50PERPTVBv
aW50UmVhZE9ubHk+KCk7CisgICAgICAgIGNhc2UgRE9NUG9pbnRUYWc6CisgICAgICAgICAgICBy
ZXR1cm4gcmVhZERPTVBvaW50PERPTVBvaW50PigpOworICAgICAgICBjYXNlIERPTVJlY3RSZWFk
T25seVRhZzoKKyAgICAgICAgICAgIHJldHVybiByZWFkRE9NUmVjdDxET01SZWN0UmVhZE9ubHk+
KCk7CisgICAgICAgIGNhc2UgRE9NUmVjdFRhZzoKKyAgICAgICAgICAgIHJldHVybiByZWFkRE9N
UmVjdDxET01SZWN0PigpOworICAgICAgICBjYXNlIERPTU1hdHJpeFJlYWRPbmx5VGFnOgorICAg
ICAgICAgICAgcmV0dXJuIHJlYWRET01NYXRyaXg8RE9NTWF0cml4UmVhZE9ubHk+KCk7CisgICAg
ICAgIGNhc2UgRE9NTWF0cml4VGFnOgorICAgICAgICAgICAgcmV0dXJuIHJlYWRET01NYXRyaXg8
RE9NTWF0cml4PigpOworICAgICAgICBjYXNlIERPTVF1YWRUYWc6CisgICAgICAgICAgICByZXR1
cm4gcmVhZERPTVF1YWQoKTsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIG1fcHRyLS07
IC8vIFB1c2ggdGhlIHRhZyBiYWNrCiAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvY3NzL0RPTU1hdHJpeC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvY3NzL0RPTU1hdHJpeC5jcHAJKHJldmlzaW9uIDIxODYwMSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9ET01NYXRyaXguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNywxMSBA
QCBET01NYXRyaXg6OkRPTU1hdHJpeChjb25zdCBUcmFuc2Zvcm1hdGlvCiB7CiB9CiAKK0RPTU1h
dHJpeDo6RE9NTWF0cml4KFRyYW5zZm9ybWF0aW9uTWF0cml4JiYgbWF0cml4LCBJczJEIGlzMkQp
CisgICAgOiBET01NYXRyaXhSZWFkT25seShXVEZNb3ZlKG1hdHJpeCksIGlzMkQpCit7Cit9CisK
IC8vIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2dlb21ldHJ5LyNjcmVhdGUtYS1kb21tYXRyaXgt
ZnJvbS10aGUtZGljdGlvbmFyeQogRXhjZXB0aW9uT3I8UmVmPERPTU1hdHJpeD4+IERPTU1hdHJp
eDo6ZnJvbU1hdHJpeChET01NYXRyaXhJbml0JiYgaW5pdCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzcy9ET01NYXRyaXguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvRE9N
TWF0cml4LmgJKHJldmlzaW9uIDIxODYwMSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRy
aXguaAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsMTEgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBET01NYXRyaXgobWF0cml4LCBpczJEKSk7CiAgICAgfQogCisg
ICAgc3RhdGljIFJlZjxET01NYXRyaXg+IGNyZWF0ZShUcmFuc2Zvcm1hdGlvbk1hdHJpeCYmIG1h
dHJpeCwgSXMyRCBpczJEKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9N
TWF0cml4KFdURk1vdmUobWF0cml4KSwgaXMyRCkpOworICAgIH0KKwogICAgIHN0YXRpYyBFeGNl
cHRpb25PcjxSZWY8RE9NTWF0cml4Pj4gZnJvbU1hdHJpeChET01NYXRyaXhJbml0JiYpOwogCiAg
ICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxET01NYXRyaXg+PiBmcm9tRmxvYXQzMkFycmF5KFJl
ZjxGbG9hdDMyQXJyYXk+JiYpOwpAQCAtOTUsNiArMTAwLDcgQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICBET01NYXRyaXgoKSA9IGRlZmF1bHQ7CiAgICAgRE9NTWF0cml4KGNvbnN0IFRyYW5zZm9y
bWF0aW9uTWF0cml4JiwgSXMyRCk7CisgICAgRE9NTWF0cml4KFRyYW5zZm9ybWF0aW9uTWF0cml4
JiYsIElzMkQpOwogfTsKIAogaW5saW5lIHZvaWQgRE9NTWF0cml4OjpzZXRNMTMoZG91YmxlIGYp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4UmVhZE9ubHkuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXhSZWFkT25seS5jcHAJKHJldmlzaW9u
IDIxODYwMSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXhSZWFkT25seS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDEzIEBAIERPTU1hdHJpeFJlYWRPbmx5OjpET01NYXRy
aXhSZWFkT25seShjb24KICAgICBBU1NFUlQoIW1faXMyRCB8fCBtX21hdHJpeC5pc0FmZmluZSgp
KTsKIH0KIAorRE9NTWF0cml4UmVhZE9ubHk6OkRPTU1hdHJpeFJlYWRPbmx5KFRyYW5zZm9ybWF0
aW9uTWF0cml4JiYgbWF0cml4LCBJczJEIGlzMkQpCisgICAgOiBtX21hdHJpeChXVEZNb3ZlKG1h
dHJpeCkpCisgICAgLCBtX2lzMkQoaXMyRCA9PSBJczJEOjpZZXMpCit7CisgICAgQVNTRVJUKCFt
X2lzMkQgfHwgbV9tYXRyaXguaXNBZmZpbmUoKSk7Cit9CisKIGlubGluZSBSZWY8RE9NTWF0cml4
PiBET01NYXRyaXhSZWFkT25seTo6Y2xvbmVBc0RPTU1hdHJpeCgpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIERPTU1hdHJpeDo6Y3JlYXRlKG1fbWF0cml4LCBtX2lzMkQgPyBJczJEOjpZZXMgOiBJczJE
OjpObyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4UmVhZE9ubHkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4UmVhZE9ubHkuaAkocmV2aXNp
b24gMjE4NjAxKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0RPTU1hdHJpeFJlYWRPbmx5LmgJKHdv
cmtpbmcgY29weSkKQEAgLTY1LDYgKzY1LDExIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgRE9NTWF0cml4UmVhZE9ubHkobWF0cml4LCBpczJEKSk7CiAgICAgfQogCisg
ICAgc3RhdGljIFJlZjxET01NYXRyaXhSZWFkT25seT4gY3JlYXRlKFRyYW5zZm9ybWF0aW9uTWF0
cml4JiYgbWF0cml4LCBJczJEIGlzMkQpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBET01NYXRyaXhSZWFkT25seShXVEZNb3ZlKG1hdHJpeCksIGlzMkQpKTsKKyAgICB9CisK
ICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPERPTU1hdHJpeFJlYWRPbmx5Pj4gZnJvbU1hdHJp
eChET01NYXRyaXhJbml0JiYpOwogCiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxET01NYXRy
aXhSZWFkT25seT4+IGZyb21GbG9hdDMyQXJyYXkoUmVmPEZsb2F0MzJBcnJheT4mJik7CkBAIC0x
MjUsNiArMTMwLDcgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIERPTU1hdHJpeFJlYWRPbmx5
KCkgPSBkZWZhdWx0OwogICAgIERPTU1hdHJpeFJlYWRPbmx5KGNvbnN0IFRyYW5zZm9ybWF0aW9u
TWF0cml4JiwgSXMyRCk7CisgICAgRE9NTWF0cml4UmVhZE9ubHkoVHJhbnNmb3JtYXRpb25NYXRy
aXgmJiwgSXMyRCk7CiAKICAgICBSZWY8RE9NTWF0cml4PiBjbG9uZUFzRE9NTWF0cml4KCkgY29u
c3Q7CiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24gMjE4NjE5
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEyIEBACisyMDE3LTA2LTIwICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHN0cnVjdHVyZWQgc2VyaWFsaXphdGlvbiBvZiBD
U1MgR2VvbWV0cnkgdHlwZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3MzYzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL3N0cnVjdHVyZWQt
c2VyaWFsaXphdGlvbi1leHBlY3RlZC50eHQ6CisKIDIwMTctMDYtMTkgIFNhbSBXZWluaWcgIDxz
YW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbV2ViSURMXSBQcm9wZXJseSBtb2RlbCBidWZmZXIg
c291cmNlIC8gdHlwZWQgYXJyYXlzIGFzIHRoZWlyIG93biBJREwgdHlwZXMKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEvc3Ry
dWN0dXJlZC1zZXJpYWxpemF0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL3N0cnVj
dHVyZWQtc2VyaWFsaXphdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxODYwMSkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEv
c3RydWN0dXJlZC1zZXJpYWxpemF0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSwzMiArMSwzMiBAQAogCi1GQUlMIERPTVBvaW50UmVhZE9ubHkgY2xvbmU6IGJhc2ljIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9u
ZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4i
Ci1GQUlMIERPTVBvaW50UmVhZE9ubHkgY2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJv
ciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJ
TCBET01Qb2ludFJlYWRPbmx5IGNsb25lOiB0aHJvd2luZyBnZXR0ZXJzIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChE
T00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERP
TVBvaW50UmVhZE9ubHkgY2xvbmU6IG5vbi1pbml0aWFsIHZhbHVlcyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9N
IEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01Q
b2ludCBjbG9uZTogYmFzaWMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2Jq
ZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NUG9pbnQgY2xvbmU6IGN1c3RvbSBwcm9w
ZXJ0eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBi
ZSBjbG9uZWQuIgotRkFJTCBET01Qb2ludCBjbG9uZTogdGhyb3dpbmcgZ2V0dGVycyBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVF
cnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgot
RkFJTCBET01Qb2ludCBjbG9uZTogbm9uLWluaXRpYWwgdmFsdWVzIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00g
RXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERPTVJl
Y3RSZWFkT25seSBjbG9uZTogYmFzaWMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBU
aGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NUmVjdFJlYWRPbmx5IGNsb25l
OiBjdXN0b20gcHJvcGVydHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2Jq
ZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NUmVjdFJlYWRPbmx5IGNsb25lOiB0aHJv
d2luZyBnZXR0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBj
YW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERPTVJlY3RSZWFkT25seSBjbG9uZTogbm9uLWluaXRp
YWwgdmFsdWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4g
bm90IGJlIGNsb25lZC4iCi1GQUlMIERPTVJlY3QgY2xvbmU6IGJhc2ljIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChE
T00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERP
TVJlY3QgY2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAy
NSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01SZWN0IGNsb25lOiB0
aHJvd2luZyBnZXR0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVj
dCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERPTVJlY3QgY2xvbmU6IG5vbi1pbml0aWFsIHZh
bHVlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBi
ZSBjbG9uZWQuIgotRkFJTCBET01RdWFkIGNsb25lOiBiYXNpYyBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4
Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01RdWFk
IGNsb25lOiBjdXN0b20gcHJvcGVydHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBU
aGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NUXVhZCBjbG9uZTogdGhyb3dp
bmcgZ2V0dGVycyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2Fu
IG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01RdWFkIGNsb25lOiBub24taW5pdGlhbCB2YWx1ZXMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0
YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xv
bmVkLiIKLUZBSUwgRE9NTWF0cml4UmVhZE9ubHkgY2xvbmU6IGJhc2ljIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChE
T00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERP
TU1hdHJpeFJlYWRPbmx5IGNsb25lOiBjdXN0b20gcHJvcGVydHkgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBF
eGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NTWF0
cml4UmVhZE9ubHkgY2xvbmU6IHRocm93aW5nIGdldHRlcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNl
cHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NTWF0cml4
UmVhZE9ubHkgY2xvbmU6IG5vbi1pbml0aWFsIHZhbHVlcyAoMmQpIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00g
RXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERPTU1h
dHJpeFJlYWRPbmx5IGNsb25lOiBub24taW5pdGlhbCB2YWx1ZXMgKDNkKSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAo
RE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJTCBE
T01NYXRyaXggY2xvbmU6IGJhc2ljIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhl
IG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERPTU1hdHJpeCBjbG9uZTogY3VzdG9t
IHByb3BlcnR5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4g
bm90IGJlIGNsb25lZC4iCi1GQUlMIERPTU1hdHJpeCBjbG9uZTogdGhyb3dpbmcgZ2V0dGVycyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRh
Q2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9u
ZWQuIgotRkFJTCBET01NYXRyaXggY2xvbmU6IG5vbi1pbml0aWFsIHZhbHVlcyAoMmQpIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9u
ZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4i
Ci1GQUlMIERPTU1hdHJpeCBjbG9uZTogbm9uLWluaXRpYWwgdmFsdWVzICgzZCkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJy
b3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKK1BB
U1MgRE9NUG9pbnRSZWFkT25seSBjbG9uZTogYmFzaWMgCitQQVNTIERPTVBvaW50UmVhZE9ubHkg
Y2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSAKK1BBU1MgRE9NUG9pbnRSZWFkT25seSBjbG9uZTogdGhy
b3dpbmcgZ2V0dGVycyAKK1BBU1MgRE9NUG9pbnRSZWFkT25seSBjbG9uZTogbm9uLWluaXRpYWwg
dmFsdWVzIAorUEFTUyBET01Qb2ludCBjbG9uZTogYmFzaWMgCitQQVNTIERPTVBvaW50IGNsb25l
OiBjdXN0b20gcHJvcGVydHkgCitQQVNTIERPTVBvaW50IGNsb25lOiB0aHJvd2luZyBnZXR0ZXJz
IAorUEFTUyBET01Qb2ludCBjbG9uZTogbm9uLWluaXRpYWwgdmFsdWVzIAorUEFTUyBET01SZWN0
UmVhZE9ubHkgY2xvbmU6IGJhc2ljIAorUEFTUyBET01SZWN0UmVhZE9ubHkgY2xvbmU6IGN1c3Rv
bSBwcm9wZXJ0eSAKK1BBU1MgRE9NUmVjdFJlYWRPbmx5IGNsb25lOiB0aHJvd2luZyBnZXR0ZXJz
IAorUEFTUyBET01SZWN0UmVhZE9ubHkgY2xvbmU6IG5vbi1pbml0aWFsIHZhbHVlcyAKK1BBU1Mg
RE9NUmVjdCBjbG9uZTogYmFzaWMgCitQQVNTIERPTVJlY3QgY2xvbmU6IGN1c3RvbSBwcm9wZXJ0
eSAKK1BBU1MgRE9NUmVjdCBjbG9uZTogdGhyb3dpbmcgZ2V0dGVycyAKK1BBU1MgRE9NUmVjdCBj
bG9uZTogbm9uLWluaXRpYWwgdmFsdWVzIAorUEFTUyBET01RdWFkIGNsb25lOiBiYXNpYyAKK1BB
U1MgRE9NUXVhZCBjbG9uZTogY3VzdG9tIHByb3BlcnR5IAorUEFTUyBET01RdWFkIGNsb25lOiB0
aHJvd2luZyBnZXR0ZXJzIAorUEFTUyBET01RdWFkIGNsb25lOiBub24taW5pdGlhbCB2YWx1ZXMg
CitQQVNTIERPTU1hdHJpeFJlYWRPbmx5IGNsb25lOiBiYXNpYyAKK1BBU1MgRE9NTWF0cml4UmVh
ZE9ubHkgY2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSAKK1BBU1MgRE9NTWF0cml4UmVhZE9ubHkgY2xv
bmU6IHRocm93aW5nIGdldHRlcnMgCitQQVNTIERPTU1hdHJpeFJlYWRPbmx5IGNsb25lOiBub24t
aW5pdGlhbCB2YWx1ZXMgKDJkKSAKK1BBU1MgRE9NTWF0cml4UmVhZE9ubHkgY2xvbmU6IG5vbi1p
bml0aWFsIHZhbHVlcyAoM2QpIAorUEFTUyBET01NYXRyaXggY2xvbmU6IGJhc2ljIAorUEFTUyBE
T01NYXRyaXggY2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSAKK1BBU1MgRE9NTWF0cml4IGNsb25lOiB0
aHJvd2luZyBnZXR0ZXJzIAorUEFTUyBET01NYXRyaXggY2xvbmU6IG5vbi1pbml0aWFsIHZhbHVl
cyAoMmQpIAorUEFTUyBET01NYXRyaXggY2xvbmU6IG5vbi1pbml0aWFsIHZhbHVlcyAoM2QpIAog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313475</attachid>
            <date>2017-06-20 19:51:25 -0700</date>
            <delta_ts>2017-06-20 21:03:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173631-20170620195217.patch</filename>
            <type>text/plain</type>
            <size>25998</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxODYyMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDE3LTA2LTIwICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHN0cnVjdHVy
ZWQgc2VyaWFsaXphdGlvbiBvZiBDU1MgR2VvbWV0cnkgdHlwZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzYzMQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL3N0cnVjdHVyZWQtc2VyaWFsaXphdGlvbi5odG1s
CisKKyAgICAgICAgQWRkcyBzdXBwb3J0IGZvciBzZXJpYWxpemluZyB0aGUgbmV3IGdlb21ldHJ5
IHR5cGVzIGFzIHNwZWNpZmllZCBieToKKyAgICAgICAgaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcv
Z2VvbWV0cnktMS8jc3RydWN0dXJlZC1zZXJpYWxpemF0aW9uCisKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIE1vdmUgYSBmZXcgY3VzdG9tIGJp
bmRpbmdzIGludG8gdGhlICJHQyAvIFdyYXBwaW5nIE9ubHkiIHNpbmNlIHRoZXkgaGF2ZSBubyBt
b3JlIGN1c3RvbSBvcGVyYXRpb25zIG9yIGF0dHJpYnV0ZXMuCisKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVT
ZXJpYWxpemVyOjpkdW1wRE9NUG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVTZXJpYWxp
emVyOjpkdW1wRE9NUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZVNlcmlhbGl6ZXI6OmR1
bXBET01NYXRyaXgpOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVTZXJpYWxpemVyOjpkdW1wRE9N
UXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZVNlcmlhbGl6ZXI6OmR1bXBJZlRlcm1pbmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lRGVzZXJpYWxpemVyOjpnZXRKU1ZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNsb25lRGVzZXJpYWxpemVyOjpyZWFkRE9NUG9pbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OnJlYWRET01NYXRyaXgpOgorICAgICAgICAo
V2ViQ29yZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OnJlYWRET01SZWN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkNsb25lRGVzZXJpYWxpemVyOjpyZWFkRE9NUG9pbnRJbml0KToKKyAgICAgICAgKFdlYkNv
cmU6OkNsb25lRGVzZXJpYWxpemVyOjpyZWFkRE9NUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpD
bG9uZURlc2VyaWFsaXplcjo6cmVhZFRlcm1pbmFsKToKKyAgICAgICAgQWRkIHNlcmlhbGl6YXRp
b24vZGVzZXJpYWxpemF0aW9uIG9mIHRoZSBnZW9tZXRyeSB0eXBlcy4KKworICAgICAgICAqIGNz
cy9ET01NYXRyaXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NTWF0cml4OjpET01NYXRyaXgp
OgorICAgICAgICAqIGNzcy9ET01NYXRyaXguaDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTU1hdHJp
eDo6Y3JlYXRlKToKKyAgICAgICAgKiBjc3MvRE9NTWF0cml4UmVhZE9ubHkuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NTWF0cml4UmVhZE9ubHk6OkRPTU1hdHJpeFJlYWRPbmx5KToKKyAgICAg
ICAgKiBjc3MvRE9NTWF0cml4UmVhZE9ubHkuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTU1hdHJp
eFJlYWRPbmx5OjpjcmVhdGUpOgorICAgICAgICBBZGQgY3JlYXRlIGZ1bmN0aW9ucyBhbmQgY29u
c3RydWN0b3JzIHRoYXQgdGFrZSBhIFRyYW5zZm9ybWF0aW9uTWF0cml4IGJ5IHItdmFsdWUgcmVm
ZXJlbmNlCisgICAgICAgIHNvIHRoZXkgY2FuIGJlIG1vdmVkIGludG8gdGhlIERPTSB0eXBlLgor
CiAyMDE3LTA2LTIwICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgogCiAgICAgICAgIFtwcmVs
b2FkXSBUdXJuIG9uIHByZWxvYWQncyBmZWF0dXJlIGZsYWcgYnkgZGVmYXVsdC4KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJl
dmlzaW9uIDIxODYyMSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTk3NDgsMTEgKzE5NzQ4LDE2IEBACiAJCQkJ
QUQ3MjZGRTkxNkQ5RjQwQTAwM0E0RTZEIC8qIEpTQ1NTUnVsZUN1c3RvbS5oICovLAogCQkJCTkz
OTIyNjJFMTAzMjEwODQwMDZFN0Q1RCAvKiBKU0NTU1J1bGVMaXN0Q3VzdG9tLmNwcCAqLywKIAkJ
CQlCQzIwRkI3RTBDMEU4RTZDMDBEMTQ0N0YgLyogSlNDU1NWYWx1ZUN1c3RvbS5jcHAgKi8sCisJ
CQkJNDlDN0JBOEMxMDQyRjVCMTAwMDlENDQ3IC8qIEpTRG9jdW1lbnRDdXN0b20uY3BwICovLAor
CQkJCUFEREE5NEJGMTk2ODZGODAwMDQ1MzAyOSAvKiBKU0RvY3VtZW50Q3VzdG9tLmggKi8sCiAJ
CQkJN0MzM0YzNjAxQjRBMDUwNDAwNTAyQ0FGIC8qIEpTRG9jdW1lbnRGcmFnbWVudEN1c3RvbS5j
cHAgKi8sCisJCQkJMEY5NEEzOTUxRUYxQjEwNTAwRkJBRkZCIC8qIEpTRE9NUXVhZEN1c3RvbS5j
cHAgKi8sCiAJCQkJQkMyRUQ1NTQwQzZCOUJEMzAwOTIwQkZGIC8qIEpTRWxlbWVudEN1c3RvbS5j
cHAgKi8sCiAJCQkJQURFQzc4RjcxOEVFNTMwODAwMTMxNUMyIC8qIEpTRWxlbWVudEN1c3RvbS5o
ICovLAogCQkJCUJDRUZBRjREMEMzMTdFNjkwMEZBODFGNiAvKiBKU0V2ZW50Q3VzdG9tLmNwcCAq
LywKIAkJCQlFMzRFRTQ5RjFEQzJENTc1MDBFQUE5RDMgLyogSlNFdmVudEN1c3RvbS5oICovLAor
CQkJCUJDNjA5MDFFMEU5MUI4RUMwMDBDNjhCNSAvKiBKU0V2ZW50VGFyZ2V0Q3VzdG9tLmNwcCAq
LywKKwkJCQk0NkI2M0Y2QjFDNkU4Q0RGMDAyRTkxNEIgLyogSlNFdmVudFRhcmdldEN1c3RvbS5o
ICovLAogCQkJCUJDQ0JBRDNBMEMxOEJGRjgwMENFODkwRiAvKiBKU0hUTUxDb2xsZWN0aW9uQ3Vz
dG9tLmNwcCAqLywKIAkJCQk1MTJCREI0QzFDNDZCMEZGMDA2NDk0REYgLyogSlNJREJDdXJzb3JD
dXN0b20uY3BwICovLAogCQkJCTUxNDEyOThEMUM1RkQ3RTkwMDU5RTcxNCAvKiBKU0lEQkN1cnNv
cldpdGhWYWx1ZUN1c3RvbS5jcHAgKi8sCkBAIC0yMzYyNiw4ICsyMzYzMSw2IEBACiAJCQkJN0M0
NUM5Q0IxRTNFOEU0OTAwQUFCNTU4IC8qIEpTRE9NV3JhcHBlckNhY2hlLmNwcCAqLywKIAkJCQk3
QzQ1QzlDODFFM0U4QjUxMDBBQUI1NTggLyogSlNET01XcmFwcGVyQ2FjaGUuaCAqLywKIAkJCQlF
M0E1ODcyRTFEQzNGNTI2MDBGNjA3QTYgLyogSlNEeW5hbWljRG93bmNhc3QuaCAqLywKLQkJCQlC
QzYwOTAxRTBFOTFCOEVDMDAwQzY4QjUgLyogSlNFdmVudFRhcmdldEN1c3RvbS5jcHAgKi8sCi0J
CQkJNDZCNjNGNkIxQzZFOENERjAwMkU5MTRCIC8qIEpTRXZlbnRUYXJnZXRDdXN0b20uaCAqLywK
IAkJCQkzMzE0QUNFOTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCAqLywK
IAkJCQkzMzE0QUNFQTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmggKi8sCiAJ
CQkJOEY5MzREODQxMTg5RjFFRTAwNTA4RDVEIC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHAg
Ki8sCkBAIC0yMzY4Myw5ICsyMzY4Niw2IEBACiAJCQkJQUQ3MjZGRUExNkQ5RjQwQjAwM0E0RTZE
IC8qIEpTQ1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5oICovLAogCQkJCTlCQzVGOURGMUQ1QUFG
NkEwMDJCNzQ5RCAvKiBKU0N1c3RvbUVsZW1lbnRSZWdpc3RyeUN1c3RvbS5jcHAgKi8sCiAJCQkJ
REVDMjk3NUQxQjRERUIyQTAwNUY1OTQ1IC8qIEpTQ3VzdG9tRXZlbnRDdXN0b20uY3BwICovLAot
CQkJCTQ5QzdCQThDMTA0MkY1QjEwMDA5RDQ0NyAvKiBKU0RvY3VtZW50Q3VzdG9tLmNwcCAqLywK
LQkJCQlBRERBOTRCRjE5Njg2RjgwMDA0NTMwMjkgLyogSlNEb2N1bWVudEN1c3RvbS5oICovLAot
CQkJCTBGOTRBMzk1MUVGMUIxMDUwMEZCQUZGQiAvKiBKU0RPTVF1YWRDdXN0b20uY3BwICovLAog
CQkJCUJDRDlDMjVFMEMxN0FBNjcwMDVDOTBBMiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5jcHAgKi8s
CiAJCQkJNjUyRkJCQkIwREUyN0NCNjAwMDFEMzg2IC8qIEpTRE9NV2luZG93Q3VzdG9tLmggKi8s
CiAJCQkJQzI4MDgzNDExQzZEQzk2QTAwMTQ1MUI2IC8qIEpTRm9udEZhY2VDdXN0b20uY3BwICov
LApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVk
U2NyaXB0VmFsdWUuY3BwCShyZXZpc2lvbiAyMTg2MjEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2
ICs0NSwxMCBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTRE9NQ29u
dmVydEJ1ZmZlclNvdXJjZS5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5j
bHVkZSAiSlNET01NYXRyaXguaCIKKyNpbmNsdWRlICJKU0RPTVBvaW50LmgiCisjaW5jbHVkZSAi
SlNET01RdWFkLmgiCisjaW5jbHVkZSAiSlNET01SZWN0LmgiCiAjaW5jbHVkZSAiSlNGaWxlLmgi
CiAjaW5jbHVkZSAiSlNGaWxlTGlzdC5oIgogI2luY2x1ZGUgIkpTSW1hZ2VEYXRhLmgiCkBAIC0x
NTIsNiArMTU2LDEzIEBAIGVudW0gU2VyaWFsaXphdGlvblRhZyB7CiAjaWYgRU5BQkxFKFdFQkFT
U0VNQkxZKQogICAgIFdhc21Nb2R1bGVUYWcgPSAzNSwKICNlbmRpZgorICAgIERPTVBvaW50UmVh
ZE9ubHlUYWcgPSAzNiwKKyAgICBET01Qb2ludFRhZyA9IDM3LAorICAgIERPTVJlY3RSZWFkT25s
eVRhZyA9IDM4LAorICAgIERPTVJlY3RUYWcgPSAzOSwKKyAgICBET01NYXRyaXhSZWFkT25seVRh
ZyA9IDQwLAorICAgIERPTU1hdHJpeFRhZyA9IDQxLAorICAgIERPTVF1YWRUYWcgPSA0MiwKICAg
ICBFcnJvclRhZyA9IDI1NQogfTsKIApAQCAtMzI3LDYgKzMzOCwxMCBAQCBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgU3RyaW5nRGF0YUlzOEJpdEZsCiAgKiAgICB8IEFycmF5QnVmZmVyVmlld1RhZyBB
cnJheUJ1ZmZlclZpZXdTdWJ0YWcgPGJ5dGVPZmZzZXQ6dWludDMyX3Q+IDxieXRlTGVuZ3RoOnVp
bnQzMl90PiAoQXJyYXlCdWZmZXIgfCBPYmplY3RSZWZlcmVuY2UpCiAgKiAgICB8IEFycmF5QnVm
ZmVyVHJhbnNmZXJUYWcgPHZhbHVlOnVpbnQzMl90PgogICogICAgfCBDcnlwdG9LZXlUYWcgPHdy
YXBwZWRLZXlMZW5ndGg6dWludDMyX3Q+IDxmYWN0b3I6Ynl0ZXt3cmFwcGVkS2V5TGVuZ3RofT4K
KyAqICAgIHwgRE9NUG9pbnQKKyAqICAgIHwgRE9NUmVjdAorICogICAgfCBET01NYXRyaXgKKyAq
ICAgIHwgRE9NUXVhZAogICoKICAqIEluc2lkZSB3cmFwcGVkIGNyeXB0byBrZXksIGRhdGEgaXMg
c2VyaWFsaXplZCBpbiB0aGlzIGZvcm1hdDoKICAqCkBAIC0zOTUsNiArNDEwLDM1IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBTdHJpbmdEYXRhSXM4Qml0RmwKICAqCiAgKiBDcnlwdG9LZXlSYXcg
Oi0KICAqICAgIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXJUYWcgPGtleVNpemU6dWludDMyX3Q+
IDxrZXlEYXRhOmJ5dGV7a2V5U2l6ZX0+CisgKgorICogRE9NUG9pbnQgOi0KKyAqICAgICAgICBE
T01Qb2ludFJlYWRPbmx5VGFnIERPTVBvaW50RGF0YQorICogICAgICB8IERPTVBvaW50VGFnIERP
TVBvaW50RGF0YQorICoKKyAqIERPTVBvaW50RGF0YSA6LQorICogICAgICA8eDpkb3VibGU+IDx5
OmRvdWJsZT4gPHo6ZG91YmxlPiA8dzpkb3VibGU+CisgKgorICogRE9NUmVjdCA6LQorICogICAg
ICAgIERPTVJlY3RSZWFkT25seVRhZyBET01SZWN0RGF0YQorICogICAgICB8IERPTVJlY3RUYWcg
RE9NUmVjdERhdGEKKyAqCisgKiBET01SZWN0RGF0YSA6LQorICogICAgICA8eDpkb3VibGU+IDx5
OmRvdWJsZT4gPHdpZHRoOmRvdWJsZT4gPGhlaWdodDpkb3VibGU+CisgKgorICogRE9NTWF0cml4
IDotCisgKiAgICAgICAgRE9NTWF0cml4UmVhZE9ubHlUYWcgRE9NTWF0cml4RGF0YQorICogICAg
ICB8IERPTU1hdHJpeFRhZyBET01NYXRyaXhEYXRhCisgKgorICogRE9NTWF0cml4RGF0YSA6LQor
ICogICAgICAgIDxpczJEOnVpbnQ4X3Q6dHJ1ZT4gPG0xMTpkb3VibGU+IDxtMTI6ZG91YmxlPiA8
bTIxOmRvdWJsZT4gPG0yMjpkb3VibGU+IDxtNDE6ZG91YmxlPiA8bTQyOmRvdWJsZT4KKyAqICAg
ICAgfCA8aXMyRDp1aW50OF90OmZhbHNlPiA8bTExOmRvdWJsZT4gPG0xMjpkb3VibGU+IDxtMTM6
ZG91YmxlPiA8bTE0OmRvdWJsZT4gPG0yMTpkb3VibGU+IDxtMjI6ZG91YmxlPiA8bTIzOmRvdWJs
ZT4gPG0yNDpkb3VibGU+IDxtMzE6ZG91YmxlPiA8bTMyOmRvdWJsZT4gPG0zMzpkb3VibGU+IDxt
MzQ6ZG91YmxlPiA8bTQxOmRvdWJsZT4gPG00Mjpkb3VibGU+IDxtNDM6ZG91YmxlPiA8bTQ0OmRv
dWJsZT4KKyAqCisgKiBET01RdWFkIDotCisgKiAgICAgIERPTVF1YWRUYWcgRE9NUXVhZERhdGEK
KyAqCisgKiBET01RdWFkRGF0YSA6LQorICogICAgICA8cDE6RE9NUG9pbnREYXRhPiA8cDI6RE9N
UG9pbnREYXRhPiA8cDM6RE9NUG9pbnREYXRhPiA8cDQ6RE9NUG9pbnREYXRhPgorICoKICAqLwog
CiB1c2luZyBEZXNlcmlhbGl6YXRpb25SZXN1bHQgPSBzdGQ6OnBhaXI8SlNDOjpKU1ZhbHVlLCBT
ZXJpYWxpemF0aW9uUmV0dXJuQ29kZT47CkBAIC03NzIsNiArODE2LDg5IEBAIHByaXZhdGU6CiAg
ICAgICAgIHJldHVybiBkdW1wSWZUZXJtaW5hbChidWZmZXJPYmosIGNvZGUpOwogICAgIH0KIAor
ICAgIHZvaWQgZHVtcERPTVBvaW50KGNvbnN0IERPTVBvaW50UmVhZE9ubHkmIHBvaW50KQorICAg
IHsKKyAgICAgICAgd3JpdGUocG9pbnQueCgpKTsKKyAgICAgICAgd3JpdGUocG9pbnQueSgpKTsK
KyAgICAgICAgd3JpdGUocG9pbnQueigpKTsKKyAgICAgICAgd3JpdGUocG9pbnQudygpKTsKKyAg
ICB9CisKKyAgICB2b2lkIGR1bXBET01Qb2ludChKU09iamVjdCogb2JqKQorICAgIHsKKyAgICAg
ICAgVk0mIHZtID0gbV9leGVjLT52bSgpOworICAgICAgICBpZiAob2JqLT5pbmhlcml0cyh2bSwg
SlNET01Qb2ludDo6aW5mbygpKSkKKyAgICAgICAgICAgIHdyaXRlKERPTVBvaW50VGFnKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgd3JpdGUoRE9NUG9pbnRSZWFkT25seVRhZyk7CisKKyAg
ICAgICAgZHVtcERPTVBvaW50KGpzQ2FzdDxKU0RPTVBvaW50UmVhZE9ubHkqPihvYmopLT53cmFw
cGVkKCkpOworICAgIH0KKworICAgIHZvaWQgZHVtcERPTVJlY3QoSlNPYmplY3QqIG9iaikKKyAg
ICB7CisgICAgICAgIFZNJiB2bSA9IG1fZXhlYy0+dm0oKTsKKyAgICAgICAgaWYgKG9iai0+aW5o
ZXJpdHModm0sIEpTRE9NUmVjdDo6aW5mbygpKSkKKyAgICAgICAgICAgIHdyaXRlKERPTVJlY3RU
YWcpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB3cml0ZShET01SZWN0UmVhZE9ubHlUYWcp
OworCisgICAgICAgIGF1dG8mIHJlY3QgPSBqc0Nhc3Q8SlNET01SZWN0UmVhZE9ubHkqPihvYmop
LT53cmFwcGVkKCk7CisgICAgICAgIHdyaXRlKHJlY3QueCgpKTsKKyAgICAgICAgd3JpdGUocmVj
dC55KCkpOworICAgICAgICB3cml0ZShyZWN0LndpZHRoKCkpOworICAgICAgICB3cml0ZShyZWN0
LmhlaWdodCgpKTsKKyAgICB9CisKKyAgICB2b2lkIGR1bXBET01NYXRyaXgoSlNPYmplY3QqIG9i
aikKKyAgICB7CisgICAgICAgIFZNJiB2bSA9IG1fZXhlYy0+dm0oKTsKKyAgICAgICAgaWYgKG9i
ai0+aW5oZXJpdHModm0sIEpTRE9NTWF0cml4OjppbmZvKCkpKQorICAgICAgICAgICAgd3JpdGUo
RE9NTWF0cml4VGFnKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgd3JpdGUoRE9NTWF0cml4
UmVhZE9ubHlUYWcpOworCisgICAgICAgIGF1dG8mIG1hdHJpeCA9IGpzQ2FzdDxKU0RPTU1hdHJp
eFJlYWRPbmx5Kj4ob2JqKS0+d3JhcHBlZCgpOworICAgICAgICBib29sIGlzMkQgPSBtYXRyaXgu
aXMyRCgpOworICAgICAgICB3cml0ZShzdGF0aWNfY2FzdDx1aW50OF90PihpczJEKSk7CisgICAg
ICAgIGlmIChpczJEKSB7CisgICAgICAgICAgICB3cml0ZShtYXRyaXgubTExKCkpOworICAgICAg
ICAgICAgd3JpdGUobWF0cml4Lm0xMigpKTsKKyAgICAgICAgICAgIHdyaXRlKG1hdHJpeC5tMjEo
KSk7CisgICAgICAgICAgICB3cml0ZShtYXRyaXgubTIyKCkpOworICAgICAgICAgICAgd3JpdGUo
bWF0cml4Lm00MSgpKTsKKyAgICAgICAgICAgIHdyaXRlKG1hdHJpeC5tNDIoKSk7CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICB3cml0ZShtYXRyaXgubTExKCkpOworICAgICAgICAgICAg
d3JpdGUobWF0cml4Lm0xMigpKTsKKyAgICAgICAgICAgIHdyaXRlKG1hdHJpeC5tMTMoKSk7Cisg
ICAgICAgICAgICB3cml0ZShtYXRyaXgubTE0KCkpOworICAgICAgICAgICAgd3JpdGUobWF0cml4
Lm0yMSgpKTsKKyAgICAgICAgICAgIHdyaXRlKG1hdHJpeC5tMjIoKSk7CisgICAgICAgICAgICB3
cml0ZShtYXRyaXgubTIzKCkpOworICAgICAgICAgICAgd3JpdGUobWF0cml4Lm0yNCgpKTsKKyAg
ICAgICAgICAgIHdyaXRlKG1hdHJpeC5tMzEoKSk7CisgICAgICAgICAgICB3cml0ZShtYXRyaXgu
bTMyKCkpOworICAgICAgICAgICAgd3JpdGUobWF0cml4Lm0zMygpKTsKKyAgICAgICAgICAgIHdy
aXRlKG1hdHJpeC5tMzQoKSk7CisgICAgICAgICAgICB3cml0ZShtYXRyaXgubTQxKCkpOworICAg
ICAgICAgICAgd3JpdGUobWF0cml4Lm00MigpKTsKKyAgICAgICAgICAgIHdyaXRlKG1hdHJpeC5t
NDMoKSk7CisgICAgICAgICAgICB3cml0ZShtYXRyaXgubTQ0KCkpOworICAgICAgICB9CisgICAg
fQorCisgICAgdm9pZCBkdW1wRE9NUXVhZChKU09iamVjdCogb2JqKQorICAgIHsKKyAgICAgICAg
d3JpdGUoRE9NUXVhZFRhZyk7CisKKyAgICAgICAgYXV0byYgcXVhZCA9IGpzQ2FzdDxKU0RPTVF1
YWQqPihvYmopLT53cmFwcGVkKCk7CisgICAgICAgIGR1bXBET01Qb2ludChxdWFkLnAxKCkpOwor
ICAgICAgICBkdW1wRE9NUG9pbnQocXVhZC5wMigpKTsKKyAgICAgICAgZHVtcERPTVBvaW50KHF1
YWQucDMoKSk7CisgICAgICAgIGR1bXBET01Qb2ludChxdWFkLnA0KCkpOworICAgIH0KKwogICAg
IGJvb2wgZHVtcElmVGVybWluYWwoSlNWYWx1ZSB2YWx1ZSwgU2VyaWFsaXphdGlvblJldHVybkNv
ZGUmIGNvZGUpCiAgICAgewogICAgICAgICBpZiAoIXZhbHVlLmlzQ2VsbCgpKSB7CkBAIC05NTMs
NyArMTA4MCwyMiBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
ICAgICAgICAgfQogI2VuZGlmCi0KKyAgICAgICAgICAgIGlmIChvYmotPmluaGVyaXRzKHZtLCBK
U0RPTVBvaW50UmVhZE9ubHk6OmluZm8oKSkpIHsKKyAgICAgICAgICAgICAgICBkdW1wRE9NUG9p
bnQob2JqKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGlmIChvYmotPmluaGVyaXRzKHZtLCBKU0RPTVJlY3RSZWFkT25seTo6aW5mbygp
KSkgeworICAgICAgICAgICAgICAgIGR1bXBET01SZWN0KG9iaik7CisgICAgICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAob2JqLT5pbmhlcml0
cyh2bSwgSlNET01NYXRyaXhSZWFkT25seTo6aW5mbygpKSkgeworICAgICAgICAgICAgICAgIGR1
bXBET01NYXRyaXgob2JqKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGlmIChvYmotPmluaGVyaXRzKHZtLCBKU0RPTVF1YWQ6OmluZm8o
KSkpIHsKKyAgICAgICAgICAgICAgICBkdW1wRE9NUXVhZChvYmopOworICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICB9CiAgICAgICAgIC8vIEFueSBvdGhlciB0eXBlcyBhcmUgZXhwZWN0ZWQgdG8gc2Vy
aWFsaXplIGFzIG51bGwuCkBAIC0yMzMwLDkgKzI0NzIsMTY5IEBAIHByaXZhdGU6CiAgICAgdGVt
cGxhdGU8Y2xhc3MgVD4KICAgICBKU1ZhbHVlIGdldEpTVmFsdWUoVCYgbmF0aXZlT2JqKQogICAg
IHsKLSAgICAgICAgcmV0dXJuIGdldEpTVmFsdWUoJm5hdGl2ZU9iaik7CisgICAgICAgIHJldHVy
biB0b0pTKG1fZXhlYywganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4obV9nbG9iYWxPYmplY3Qp
LCBuYXRpdmVPYmopOworICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFQ+CisgICAgSlNWYWx1
ZSByZWFkRE9NUG9pbnQoKQorICAgIHsKKyAgICAgICAgZG91YmxlIHg7CisgICAgICAgIGlmICgh
cmVhZCh4KSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIGRvdWJsZSB5OworICAg
ICAgICBpZiAoIXJlYWQoeSkpCisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICBkb3Vi
bGUgejsKKyAgICAgICAgaWYgKCFyZWFkKHopKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAg
ICAgICAgZG91YmxlIHc7CisgICAgICAgIGlmICghcmVhZCh3KSkKKyAgICAgICAgICAgIHJldHVy
biB7IH07CisKKyAgICAgICAgcmV0dXJuIHRvSlNOZXdseUNyZWF0ZWQobV9leGVjLCBqc0Nhc3Q8
SlNET01HbG9iYWxPYmplY3QqPihtX2dsb2JhbE9iamVjdCksIFQ6OmNyZWF0ZSh4LCB5LCB6LCB3
KSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVD4KKyAgICBKU1ZhbHVlIHJlYWRET01N
YXRyaXgoKQorICAgIHsKKyAgICAgICAgdWludDhfdCBpczJEOworICAgICAgICBpZiAoIXJlYWQo
aXMyRCkpCisgICAgICAgICAgICByZXR1cm4geyB9OworCisgICAgICAgIGlmIChpczJEKSB7Cisg
ICAgICAgICAgICBkb3VibGUgbTExOworICAgICAgICAgICAgaWYgKCFyZWFkKG0xMSkpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIGRvdWJsZSBtMTI7CisgICAgICAg
ICAgICBpZiAoIXJlYWQobTEyKSkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAg
ICAgICAgZG91YmxlIG0yMTsKKyAgICAgICAgICAgIGlmICghcmVhZChtMjEpKQorICAgICAgICAg
ICAgICAgIHJldHVybiB7IH07CisgICAgICAgICAgICBkb3VibGUgbTIyOworICAgICAgICAgICAg
aWYgKCFyZWFkKG0yMikpCisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAg
IGRvdWJsZSBtNDE7CisgICAgICAgICAgICBpZiAoIXJlYWQobTQxKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4geyB9OworICAgICAgICAgICAgZG91YmxlIG00MjsKKyAgICAgICAgICAgIGlmICgh
cmVhZChtNDIpKQorICAgICAgICAgICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgICAgIFRy
YW5zZm9ybWF0aW9uTWF0cml4IG1hdHJpeChtMTEsIG0xMiwgbTIxLCBtMjIsIG00MSwgbTQyKTsK
KyAgICAgICAgICAgIHJldHVybiB0b0pTTmV3bHlDcmVhdGVkKG1fZXhlYywganNDYXN0PEpTRE9N
R2xvYmFsT2JqZWN0Kj4obV9nbG9iYWxPYmplY3QpLCBUOjpjcmVhdGUoV1RGTW92ZShtYXRyaXgp
LCBET01NYXRyaXhSZWFkT25seTo6SXMyRDo6WWVzKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICBkb3VibGUgbTExOworICAgICAgICAgICAgaWYgKCFyZWFkKG0xMSkpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIGRvdWJsZSBtMTI7CisgICAgICAgICAg
ICBpZiAoIXJlYWQobTEyKSkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAg
ICAgZG91YmxlIG0xMzsKKyAgICAgICAgICAgIGlmICghcmVhZChtMTMpKQorICAgICAgICAgICAg
ICAgIHJldHVybiB7IH07CisgICAgICAgICAgICBkb3VibGUgbTE0OworICAgICAgICAgICAgaWYg
KCFyZWFkKG0xNCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIGRv
dWJsZSBtMjE7CisgICAgICAgICAgICBpZiAoIXJlYWQobTIxKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4geyB9OworICAgICAgICAgICAgZG91YmxlIG0yMjsKKyAgICAgICAgICAgIGlmICghcmVh
ZChtMjIpKQorICAgICAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgICAgICBkb3VibGUg
bTIzOworICAgICAgICAgICAgaWYgKCFyZWFkKG0yMykpCisgICAgICAgICAgICAgICAgcmV0dXJu
IHsgfTsKKyAgICAgICAgICAgIGRvdWJsZSBtMjQ7CisgICAgICAgICAgICBpZiAoIXJlYWQobTI0
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAgICAgZG91YmxlIG0zMTsK
KyAgICAgICAgICAgIGlmICghcmVhZChtMzEpKQorICAgICAgICAgICAgICAgIHJldHVybiB7IH07
CisgICAgICAgICAgICBkb3VibGUgbTMyOworICAgICAgICAgICAgaWYgKCFyZWFkKG0zMikpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIGRvdWJsZSBtMzM7CisgICAg
ICAgICAgICBpZiAoIXJlYWQobTMzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAg
ICAgICAgICAgZG91YmxlIG0zNDsKKyAgICAgICAgICAgIGlmICghcmVhZChtMzQpKQorICAgICAg
ICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgICAgICBkb3VibGUgbTQxOworICAgICAgICAg
ICAgaWYgKCFyZWFkKG00MSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAg
ICAgIGRvdWJsZSBtNDI7CisgICAgICAgICAgICBpZiAoIXJlYWQobTQyKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4geyB9OworICAgICAgICAgICAgZG91YmxlIG00MzsKKyAgICAgICAgICAgIGlm
ICghcmVhZChtNDMpKQorICAgICAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgICAgICBk
b3VibGUgbTQ0OworICAgICAgICAgICAgaWYgKCFyZWFkKG00NCkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIHsgfTsKKworICAgICAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbWF0cml4KG0x
MSwgbTEyLCBtMTMsIG0xNCwgbTIxLCBtMjIsIG0yMywgbTI0LCBtMzEsIG0zMiwgbTMzLCBtMzQs
IG00MSwgbTQyLCBtNDMsIG00NCk7CisgICAgICAgICAgICByZXR1cm4gdG9KU05ld2x5Q3JlYXRl
ZChtX2V4ZWMsIGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KG1fZ2xvYmFsT2JqZWN0KSwgVDo6
Y3JlYXRlKFdURk1vdmUobWF0cml4KSwgRE9NTWF0cml4UmVhZE9ubHk6OklzMkQ6Ok5vKSk7Cisg
ICAgICAgIH0KICAgICB9CiAKKyAgICB0ZW1wbGF0ZTxjbGFzcyBUPgorICAgIEpTVmFsdWUgcmVh
ZERPTVJlY3QoKQorICAgIHsKKyAgICAgICAgZG91YmxlIHg7CisgICAgICAgIGlmICghcmVhZCh4
KSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIGRvdWJsZSB5OworICAgICAgICBp
ZiAoIXJlYWQoeSkpCisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICBkb3VibGUgd2lk
dGg7CisgICAgICAgIGlmICghcmVhZCh3aWR0aCkpCisgICAgICAgICAgICByZXR1cm4geyB9Owor
ICAgICAgICBkb3VibGUgaGVpZ2h0OworICAgICAgICBpZiAoIXJlYWQoaGVpZ2h0KSkKKyAgICAg
ICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgcmV0dXJuIHRvSlNOZXdseUNyZWF0ZWQobV9l
eGVjLCBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihtX2dsb2JhbE9iamVjdCksIFQ6OmNyZWF0
ZSh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7CisgICAgfQorCisgICAgc3RkOjpvcHRpb25hbDxET01Q
b2ludEluaXQ+IHJlYWRET01Qb2ludEluaXQoKQorICAgIHsKKyAgICAgICAgZG91YmxlIHg7Cisg
ICAgICAgIGlmICghcmVhZCh4KSkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Cisg
ICAgICAgIGRvdWJsZSB5OworICAgICAgICBpZiAoIXJlYWQoeSkpCisgICAgICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OworICAgICAgICBkb3VibGUgejsKKyAgICAgICAgaWYgKCFyZWFkKHop
KQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgZG91YmxlIHc7Cisg
ICAgICAgIGlmICghcmVhZCh3KSkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisK
KyAgICAgICAgRE9NUG9pbnRJbml0IHBvaW50IHsgeCwgeSwgeiwgdyB9OworICAgICAgICByZXR1
cm4gV1RGTW92ZShwb2ludCk7CisgICAgfQorCisgICAgSlNWYWx1ZSByZWFkRE9NUXVhZCgpCisg
ICAgeworICAgICAgICBhdXRvIHAxID0gcmVhZERPTVBvaW50SW5pdCgpOworICAgICAgICBpZiAo
IXAxKQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKKyAgICAgICAgYXV0byBwMiA9IHJl
YWRET01Qb2ludEluaXQoKTsKKyAgICAgICAgaWYgKCFwMikKKyAgICAgICAgICAgIHJldHVybiBK
U1ZhbHVlKCk7CisgICAgICAgIGF1dG8gcDMgPSByZWFkRE9NUG9pbnRJbml0KCk7CisgICAgICAg
IGlmICghcDMpCisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOworICAgICAgICBhdXRvIHA0
ID0gcmVhZERPTVBvaW50SW5pdCgpOworICAgICAgICBpZiAoIXA0KQorICAgICAgICAgICAgcmV0
dXJuIEpTVmFsdWUoKTsKKworICAgICAgICByZXR1cm4gdG9KU05ld2x5Q3JlYXRlZChtX2V4ZWMs
IGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KG1fZ2xvYmFsT2JqZWN0KSwgRE9NUXVhZDo6Y3Jl
YXRlKHAxLnZhbHVlKCksIHAyLnZhbHVlKCksIHAzLnZhbHVlKCksIHA0LnZhbHVlKCkpKTsKKyAg
ICB9CisKKwogICAgIEpTVmFsdWUgcmVhZFRlcm1pbmFsKCkKICAgICB7CiAgICAgICAgIFNlcmlh
bGl6YXRpb25UYWcgdGFnID0gcmVhZFRhZygpOwpAQCAtMjYwNyw2ICsyOTA5LDIwIEBAIHByaXZh
dGU6CiAgICAgICAgICAgICByZXR1cm4gY3J5cHRvS2V5OwogICAgICAgICB9CiAjZW5kaWYKKyAg
ICAgICAgY2FzZSBET01Qb2ludFJlYWRPbmx5VGFnOgorICAgICAgICAgICAgcmV0dXJuIHJlYWRE
T01Qb2ludDxET01Qb2ludFJlYWRPbmx5PigpOworICAgICAgICBjYXNlIERPTVBvaW50VGFnOgor
ICAgICAgICAgICAgcmV0dXJuIHJlYWRET01Qb2ludDxET01Qb2ludD4oKTsKKyAgICAgICAgY2Fz
ZSBET01SZWN0UmVhZE9ubHlUYWc6CisgICAgICAgICAgICByZXR1cm4gcmVhZERPTVJlY3Q8RE9N
UmVjdFJlYWRPbmx5PigpOworICAgICAgICBjYXNlIERPTVJlY3RUYWc6CisgICAgICAgICAgICBy
ZXR1cm4gcmVhZERPTVJlY3Q8RE9NUmVjdD4oKTsKKyAgICAgICAgY2FzZSBET01NYXRyaXhSZWFk
T25seVRhZzoKKyAgICAgICAgICAgIHJldHVybiByZWFkRE9NTWF0cml4PERPTU1hdHJpeFJlYWRP
bmx5PigpOworICAgICAgICBjYXNlIERPTU1hdHJpeFRhZzoKKyAgICAgICAgICAgIHJldHVybiBy
ZWFkRE9NTWF0cml4PERPTU1hdHJpeD4oKTsKKyAgICAgICAgY2FzZSBET01RdWFkVGFnOgorICAg
ICAgICAgICAgcmV0dXJuIHJlYWRET01RdWFkKCk7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICBtX3B0ci0tOyAvLyBQdXNoIHRoZSB0YWcgYmFjawogICAgICAgICAgICAgcmV0dXJuIEpT
VmFsdWUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXguY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXguY3BwCShyZXZpc2lvbiAyMTg2MjEp
CisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzcsNiArMzcsMTEgQEAgRE9NTWF0cml4OjpET01NYXRyaXgoY29uc3QgVHJhbnNmb3JtYXRpbwog
ewogfQogCitET01NYXRyaXg6OkRPTU1hdHJpeChUcmFuc2Zvcm1hdGlvbk1hdHJpeCYmIG1hdHJp
eCwgSXMyRCBpczJEKQorICAgIDogRE9NTWF0cml4UmVhZE9ubHkoV1RGTW92ZShtYXRyaXgpLCBp
czJEKQoreworfQorCiAvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS8jY3JlYXRl
LWEtZG9tbWF0cml4LWZyb20tdGhlLWRpY3Rpb25hcnkKIEV4Y2VwdGlvbk9yPFJlZjxET01NYXRy
aXg+PiBET01NYXRyaXg6OmZyb21NYXRyaXgoRE9NTWF0cml4SW5pdCYmIGluaXQpCiB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvY3NzL0RPTU1hdHJpeC5oCShyZXZpc2lvbiAyMTg2MjEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9jc3MvRE9NTWF0cml4LmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDExIEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9NTWF0cml4KG1hdHJpeCwgaXMyRCkp
OwogICAgIH0KIAorICAgIHN0YXRpYyBSZWY8RE9NTWF0cml4PiBjcmVhdGUoVHJhbnNmb3JtYXRp
b25NYXRyaXgmJiBtYXRyaXgsIElzMkQgaXMyRCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IERPTU1hdHJpeChXVEZNb3ZlKG1hdHJpeCksIGlzMkQpKTsKKyAgICB9CisKICAg
ICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPERPTU1hdHJpeD4+IGZyb21NYXRyaXgoRE9NTWF0cml4
SW5pdCYmKTsKIAogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RE9NTWF0cml4Pj4gZnJvbUZs
b2F0MzJBcnJheShSZWY8RmxvYXQzMkFycmF5PiYmKTsKQEAgLTk1LDYgKzEwMCw3IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgRE9NTWF0cml4KCkgPSBkZWZhdWx0OwogICAgIERPTU1hdHJpeChj
b25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIElzMkQpOworICAgIERPTU1hdHJpeChUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYmLCBJczJEKTsKIH07CiAKIGlubGluZSB2b2lkIERPTU1hdHJpeDo6c2V0
TTEzKGRvdWJsZSBmKQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0RPTU1hdHJpeFJlYWRPbmx5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4UmVhZE9ubHku
Y3BwCShyZXZpc2lvbiAyMTg2MjEpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4UmVh
ZE9ubHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0NywxMyBAQCBET01NYXRyaXhSZWFk
T25seTo6RE9NTWF0cml4UmVhZE9ubHkoY29uCiAgICAgQVNTRVJUKCFtX2lzMkQgfHwgbV9tYXRy
aXguaXNBZmZpbmUoKSk7CiB9CiAKK0RPTU1hdHJpeFJlYWRPbmx5OjpET01NYXRyaXhSZWFkT25s
eShUcmFuc2Zvcm1hdGlvbk1hdHJpeCYmIG1hdHJpeCwgSXMyRCBpczJEKQorICAgIDogbV9tYXRy
aXgoV1RGTW92ZShtYXRyaXgpKQorICAgICwgbV9pczJEKGlzMkQgPT0gSXMyRDo6WWVzKQorewor
ICAgIEFTU0VSVCghbV9pczJEIHx8IG1fbWF0cml4LmlzQWZmaW5lKCkpOworfQorCiBpbmxpbmUg
UmVmPERPTU1hdHJpeD4gRE9NTWF0cml4UmVhZE9ubHk6OmNsb25lQXNET01NYXRyaXgoKSBjb25z
dAogewogICAgIHJldHVybiBET01NYXRyaXg6OmNyZWF0ZShtX21hdHJpeCwgbV9pczJEID8gSXMy
RDo6WWVzIDogSXMyRDo6Tm8pOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0RPTU1hdHJpeFJl
YWRPbmx5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0RPTU1hdHJpeFJlYWRP
bmx5LmgJKHJldmlzaW9uIDIxODYyMSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXhS
ZWFkT25seS5oCSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSwxMSBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IERPTU1hdHJpeFJlYWRPbmx5KG1hdHJpeCwgaXMyRCkp
OwogICAgIH0KIAorICAgIHN0YXRpYyBSZWY8RE9NTWF0cml4UmVhZE9ubHk+IGNyZWF0ZShUcmFu
c2Zvcm1hdGlvbk1hdHJpeCYmIG1hdHJpeCwgSXMyRCBpczJEKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgRE9NTWF0cml4UmVhZE9ubHkoV1RGTW92ZShtYXRyaXgpLCBpczJE
KSk7CisgICAgfQorCiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxET01NYXRyaXhSZWFkT25s
eT4+IGZyb21NYXRyaXgoRE9NTWF0cml4SW5pdCYmKTsKIAogICAgIHN0YXRpYyBFeGNlcHRpb25P
cjxSZWY8RE9NTWF0cml4UmVhZE9ubHk+PiBmcm9tRmxvYXQzMkFycmF5KFJlZjxGbG9hdDMyQXJy
YXk+JiYpOwpAQCAtMTI1LDYgKzEzMCw3IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBET01N
YXRyaXhSZWFkT25seSgpID0gZGVmYXVsdDsKICAgICBET01NYXRyaXhSZWFkT25seShjb25zdCBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCYsIElzMkQpOworICAgIERPTU1hdHJpeFJlYWRPbmx5KFRyYW5z
Zm9ybWF0aW9uTWF0cml4JiYsIElzMkQpOwogCiAgICAgUmVmPERPTU1hdHJpeD4gY2xvbmVBc0RP
TU1hdHJpeCgpIGNvbnN0OwogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxODYyMSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wNi0yMCAgU2FtIFdlaW5pZyAgPHNh
bUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzdHJ1Y3R1cmVkIHNlcmlh
bGl6YXRpb24gb2YgQ1NTIEdlb21ldHJ5IHR5cGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM2MzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnkt
MS9zdHJ1Y3R1cmVkLXNlcmlhbGl6YXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICBVcGRhdGUg
dGVzdCByZXN1bHRzIG5vdyB0aGF0IHRoZXkgcGFzcy4KKwogMjAxNy0wNi0xOSAgU2FtIFdlaW5p
ZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtXZWJJRExdIFByb3Blcmx5IG1vZGVsIGJ1
ZmZlciBzb3VyY2UgLyB0eXBlZCBhcnJheXMgYXMgdGhlaXIgb3duIElETCB0eXBlcwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnkt
MS9zdHJ1Y3R1cmVkLXNlcmlhbGl6YXRpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5LTEv
c3RydWN0dXJlZC1zZXJpYWxpemF0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE4NjIxKQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0
cnktMS9zdHJ1Y3R1cmVkLXNlcmlhbGl6YXRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMyICsxLDMyIEBACiAKLUZBSUwgRE9NUG9pbnRSZWFkT25seSBjbG9uZTogYmFzaWMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0
YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xv
bmVkLiIKLUZBSUwgRE9NUG9pbnRSZWFkT25seSBjbG9uZTogY3VzdG9tIHByb3BlcnR5IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9u
ZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4i
Ci1GQUlMIERPTVBvaW50UmVhZE9ubHkgY2xvbmU6IHRocm93aW5nIGdldHRlcnMgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJy
b3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZB
SUwgRE9NUG9pbnRSZWFkT25seSBjbG9uZTogbm9uLWluaXRpYWwgdmFsdWVzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9y
IChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlM
IERPTVBvaW50IGNsb25lOiBiYXNpYyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRo
ZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01Qb2ludCBjbG9uZTogY3VzdG9t
IHByb3BlcnR5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4g
bm90IGJlIGNsb25lZC4iCi1GQUlMIERPTVBvaW50IGNsb25lOiB0aHJvd2luZyBnZXR0ZXJzIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFD
bG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25l
ZC4iCi1GQUlMIERPTVBvaW50IGNsb25lOiBub24taW5pdGlhbCB2YWx1ZXMgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3Ig
KERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwg
RE9NUmVjdFJlYWRPbmx5IGNsb25lOiBiYXNpYyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAy
NSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01SZWN0UmVhZE9ubHkg
Y2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRo
ZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01SZWN0UmVhZE9ubHkgY2xvbmU6
IHRocm93aW5nIGdldHRlcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2Jq
ZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NUmVjdFJlYWRPbmx5IGNsb25lOiBub24t
aW5pdGlhbCB2YWx1ZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0
IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NUmVjdCBjbG9uZTogYmFzaWMgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJy
b3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZB
SUwgRE9NUmVjdCBjbG9uZTogY3VzdG9tIHByb3BlcnR5IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0
aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERPTVJlY3QgY2xv
bmU6IHRocm93aW5nIGdldHRlcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUg
b2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NUmVjdCBjbG9uZTogbm9uLWluaXRp
YWwgdmFsdWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4g
bm90IGJlIGNsb25lZC4iCi1GQUlMIERPTVF1YWQgY2xvbmU6IGJhc2ljIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChE
T00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERP
TVF1YWQgY2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAy
NSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01RdWFkIGNsb25lOiB0
aHJvd2luZyBnZXR0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVj
dCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERPTVF1YWQgY2xvbmU6IG5vbi1pbml0aWFsIHZh
bHVlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBi
ZSBjbG9uZWQuIgotRkFJTCBET01NYXRyaXhSZWFkT25seSBjbG9uZTogYmFzaWMgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJy
b3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZB
SUwgRE9NTWF0cml4UmVhZE9ubHkgY2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAo
RE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJTCBE
T01NYXRyaXhSZWFkT25seSBjbG9uZTogdGhyb3dpbmcgZ2V0dGVycyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9N
IEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01N
YXRyaXhSZWFkT25seSBjbG9uZTogbm9uLWluaXRpYWwgdmFsdWVzICgyZCkgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3Ig
KERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwg
RE9NTWF0cml4UmVhZE9ubHkgY2xvbmU6IG5vbi1pbml0aWFsIHZhbHVlcyAoM2QpIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVy
cm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCi1G
QUlMIERPTU1hdHJpeCBjbG9uZTogYmFzaWMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUp
OiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NTWF0cml4IGNsb25lOiBj
dXN0b20gcHJvcGVydHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0
IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NTWF0cml4IGNsb25lOiB0aHJvd2luZyBnZXR0
ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJl
IGNsb25lZC4iCi1GQUlMIERPTU1hdHJpeCBjbG9uZTogbm9uLWluaXRpYWwgdmFsdWVzICgyZCkg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0
YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xv
bmVkLiIKLUZBSUwgRE9NTWF0cml4IGNsb25lOiBub24taW5pdGlhbCB2YWx1ZXMgKDNkKSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xv
bmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQu
IgorUEFTUyBET01Qb2ludFJlYWRPbmx5IGNsb25lOiBiYXNpYyAKK1BBU1MgRE9NUG9pbnRSZWFk
T25seSBjbG9uZTogY3VzdG9tIHByb3BlcnR5IAorUEFTUyBET01Qb2ludFJlYWRPbmx5IGNsb25l
OiB0aHJvd2luZyBnZXR0ZXJzIAorUEFTUyBET01Qb2ludFJlYWRPbmx5IGNsb25lOiBub24taW5p
dGlhbCB2YWx1ZXMgCitQQVNTIERPTVBvaW50IGNsb25lOiBiYXNpYyAKK1BBU1MgRE9NUG9pbnQg
Y2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSAKK1BBU1MgRE9NUG9pbnQgY2xvbmU6IHRocm93aW5nIGdl
dHRlcnMgCitQQVNTIERPTVBvaW50IGNsb25lOiBub24taW5pdGlhbCB2YWx1ZXMgCitQQVNTIERP
TVJlY3RSZWFkT25seSBjbG9uZTogYmFzaWMgCitQQVNTIERPTVJlY3RSZWFkT25seSBjbG9uZTog
Y3VzdG9tIHByb3BlcnR5IAorUEFTUyBET01SZWN0UmVhZE9ubHkgY2xvbmU6IHRocm93aW5nIGdl
dHRlcnMgCitQQVNTIERPTVJlY3RSZWFkT25seSBjbG9uZTogbm9uLWluaXRpYWwgdmFsdWVzIAor
UEFTUyBET01SZWN0IGNsb25lOiBiYXNpYyAKK1BBU1MgRE9NUmVjdCBjbG9uZTogY3VzdG9tIHBy
b3BlcnR5IAorUEFTUyBET01SZWN0IGNsb25lOiB0aHJvd2luZyBnZXR0ZXJzIAorUEFTUyBET01S
ZWN0IGNsb25lOiBub24taW5pdGlhbCB2YWx1ZXMgCitQQVNTIERPTVF1YWQgY2xvbmU6IGJhc2lj
IAorUEFTUyBET01RdWFkIGNsb25lOiBjdXN0b20gcHJvcGVydHkgCitQQVNTIERPTVF1YWQgY2xv
bmU6IHRocm93aW5nIGdldHRlcnMgCitQQVNTIERPTVF1YWQgY2xvbmU6IG5vbi1pbml0aWFsIHZh
bHVlcyAKK1BBU1MgRE9NTWF0cml4UmVhZE9ubHkgY2xvbmU6IGJhc2ljIAorUEFTUyBET01NYXRy
aXhSZWFkT25seSBjbG9uZTogY3VzdG9tIHByb3BlcnR5IAorUEFTUyBET01NYXRyaXhSZWFkT25s
eSBjbG9uZTogdGhyb3dpbmcgZ2V0dGVycyAKK1BBU1MgRE9NTWF0cml4UmVhZE9ubHkgY2xvbmU6
IG5vbi1pbml0aWFsIHZhbHVlcyAoMmQpIAorUEFTUyBET01NYXRyaXhSZWFkT25seSBjbG9uZTog
bm9uLWluaXRpYWwgdmFsdWVzICgzZCkgCitQQVNTIERPTU1hdHJpeCBjbG9uZTogYmFzaWMgCitQ
QVNTIERPTU1hdHJpeCBjbG9uZTogY3VzdG9tIHByb3BlcnR5IAorUEFTUyBET01NYXRyaXggY2xv
bmU6IHRocm93aW5nIGdldHRlcnMgCitQQVNTIERPTU1hdHJpeCBjbG9uZTogbm9uLWluaXRpYWwg
dmFsdWVzICgyZCkgCitQQVNTIERPTU1hdHJpeCBjbG9uZTogbm9uLWluaXRpYWwgdmFsdWVzICgz
ZCkgCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313483</attachid>
            <date>2017-06-20 21:03:01 -0700</date>
            <delta_ts>2017-06-21 13:06:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173631-20170620210354.patch</filename>
            <type>text/plain</type>
            <size>25890</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxODYyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDE3LTA2LTIwICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHN0cnVjdHVy
ZWQgc2VyaWFsaXphdGlvbiBvZiBDU1MgR2VvbWV0cnkgdHlwZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzYzMQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS0xL3N0cnVjdHVyZWQtc2VyaWFsaXphdGlvbi5odG1s
CisKKyAgICAgICAgQWRkcyBzdXBwb3J0IGZvciBzZXJpYWxpemluZyB0aGUgbmV3IGdlb21ldHJ5
IHR5cGVzIGFzIHNwZWNpZmllZCBieToKKyAgICAgICAgaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcv
Z2VvbWV0cnktMS8jc3RydWN0dXJlZC1zZXJpYWxpemF0aW9uCisKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIE1vdmUgYSBmZXcgY3VzdG9tIGJp
bmRpbmdzIGludG8gdGhlICJHQyAvIFdyYXBwaW5nIE9ubHkiIHNpbmNlIHRoZXkgaGF2ZSBubyBt
b3JlIGN1c3RvbSBvcGVyYXRpb25zIG9yIGF0dHJpYnV0ZXMuCisKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVT
ZXJpYWxpemVyOjpkdW1wRE9NUG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVTZXJpYWxp
emVyOjpkdW1wRE9NUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZVNlcmlhbGl6ZXI6OmR1
bXBET01NYXRyaXgpOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVTZXJpYWxpemVyOjpkdW1wRE9N
UXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZVNlcmlhbGl6ZXI6OmR1bXBJZlRlcm1pbmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lRGVzZXJpYWxpemVyOjpnZXRKU1ZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNsb25lRGVzZXJpYWxpemVyOjpyZWFkRE9NUG9pbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OnJlYWRET01NYXRyaXgpOgorICAgICAgICAo
V2ViQ29yZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OnJlYWRET01SZWN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkNsb25lRGVzZXJpYWxpemVyOjpyZWFkRE9NUG9pbnRJbml0KToKKyAgICAgICAgKFdlYkNv
cmU6OkNsb25lRGVzZXJpYWxpemVyOjpyZWFkRE9NUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpD
bG9uZURlc2VyaWFsaXplcjo6cmVhZFRlcm1pbmFsKToKKyAgICAgICAgQWRkIHNlcmlhbGl6YXRp
b24vZGVzZXJpYWxpemF0aW9uIG9mIHRoZSBnZW9tZXRyeSB0eXBlcy4KKworICAgICAgICAqIGNz
cy9ET01NYXRyaXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NTWF0cml4OjpET01NYXRyaXgp
OgorICAgICAgICAqIGNzcy9ET01NYXRyaXguaDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTU1hdHJp
eDo6Y3JlYXRlKToKKyAgICAgICAgKiBjc3MvRE9NTWF0cml4UmVhZE9ubHkuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NTWF0cml4UmVhZE9ubHk6OkRPTU1hdHJpeFJlYWRPbmx5KToKKyAgICAg
ICAgKiBjc3MvRE9NTWF0cml4UmVhZE9ubHkuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTU1hdHJp
eFJlYWRPbmx5OjpjcmVhdGUpOgorICAgICAgICBBZGQgY3JlYXRlIGZ1bmN0aW9ucyBhbmQgY29u
c3RydWN0b3JzIHRoYXQgdGFrZSBhIFRyYW5zZm9ybWF0aW9uTWF0cml4IGJ5IHItdmFsdWUgcmVm
ZXJlbmNlCisgICAgICAgIHNvIHRoZXkgY2FuIGJlIG1vdmVkIGludG8gdGhlIERPTSB0eXBlLgor
CiAyMDE3LTA2LTIwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyIHNob3VsZCBiZSB0aHJlYWQgc2FmZSByZWYgY291bnRl
ZApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkocmV2aXNpb24gMjE4NjIzKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xOTc0OCwxMSArMTk3NDgs
MTYgQEAKIAkJCQlBRDcyNkZFOTE2RDlGNDBBMDAzQTRFNkQgLyogSlNDU1NSdWxlQ3VzdG9tLmgg
Ki8sCiAJCQkJOTM5MjI2MkUxMDMyMTA4NDAwNkU3RDVEIC8qIEpTQ1NTUnVsZUxpc3RDdXN0b20u
Y3BwICovLAogCQkJCUJDMjBGQjdFMEMwRThFNkMwMEQxNDQ3RiAvKiBKU0NTU1ZhbHVlQ3VzdG9t
LmNwcCAqLywKKwkJCQk0OUM3QkE4QzEwNDJGNUIxMDAwOUQ0NDcgLyogSlNEb2N1bWVudEN1c3Rv
bS5jcHAgKi8sCisJCQkJQUREQTk0QkYxOTY4NkY4MDAwNDUzMDI5IC8qIEpTRG9jdW1lbnRDdXN0
b20uaCAqLywKIAkJCQk3QzMzRjM2MDFCNEEwNTA0MDA1MDJDQUYgLyogSlNEb2N1bWVudEZyYWdt
ZW50Q3VzdG9tLmNwcCAqLywKKwkJCQkwRjk0QTM5NTFFRjFCMTA1MDBGQkFGRkIgLyogSlNET01R
dWFkQ3VzdG9tLmNwcCAqLywKIAkJCQlCQzJFRDU1NDBDNkI5QkQzMDA5MjBCRkYgLyogSlNFbGVt
ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlBREVDNzhGNzE4RUU1MzA4MDAxMzE1QzIgLyogSlNFbGVt
ZW50Q3VzdG9tLmggKi8sCiAJCQkJQkNFRkFGNEQwQzMxN0U2OTAwRkE4MUY2IC8qIEpTRXZlbnRD
dXN0b20uY3BwICovLAogCQkJCUUzNEVFNDlGMURDMkQ1NzUwMEVBQTlEMyAvKiBKU0V2ZW50Q3Vz
dG9tLmggKi8sCisJCQkJQkM2MDkwMUUwRTkxQjhFQzAwMEM2OEI1IC8qIEpTRXZlbnRUYXJnZXRD
dXN0b20uY3BwICovLAorCQkJCTQ2QjYzRjZCMUM2RThDREYwMDJFOTE0QiAvKiBKU0V2ZW50VGFy
Z2V0Q3VzdG9tLmggKi8sCiAJCQkJQkNDQkFEM0EwQzE4QkZGODAwQ0U4OTBGIC8qIEpTSFRNTENv
bGxlY3Rpb25DdXN0b20uY3BwICovLAogCQkJCTUxMkJEQjRDMUM0NkIwRkYwMDY0OTRERiAvKiBK
U0lEQkN1cnNvckN1c3RvbS5jcHAgKi8sCiAJCQkJNTE0MTI5OEQxQzVGRDdFOTAwNTlFNzE0IC8q
IEpTSURCQ3Vyc29yV2l0aFZhbHVlQ3VzdG9tLmNwcCAqLywKQEAgLTIzNjI2LDggKzIzNjMxLDYg
QEAKIAkJCQk3QzQ1QzlDQjFFM0U4RTQ5MDBBQUI1NTggLyogSlNET01XcmFwcGVyQ2FjaGUuY3Bw
ICovLAogCQkJCTdDNDVDOUM4MUUzRThCNTEwMEFBQjU1OCAvKiBKU0RPTVdyYXBwZXJDYWNoZS5o
ICovLAogCQkJCUUzQTU4NzJFMURDM0Y1MjYwMEY2MDdBNiAvKiBKU0R5bmFtaWNEb3duY2FzdC5o
ICovLAotCQkJCUJDNjA5MDFFMEU5MUI4RUMwMDBDNjhCNSAvKiBKU0V2ZW50VGFyZ2V0Q3VzdG9t
LmNwcCAqLywKLQkJCQk0NkI2M0Y2QjFDNkU4Q0RGMDAyRTkxNEIgLyogSlNFdmVudFRhcmdldEN1
c3RvbS5oICovLAogCQkJCTMzMTRBQ0U5MTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJh
c2UuY3BwICovLAogCQkJCTMzMTRBQ0VBMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJh
c2UuaCAqLywKIAkJCQk4RjkzNEQ4NDExODlGMUVFMDA1MDhENUQgLyogSlNNYWluVGhyZWFkRXhl
Y1N0YXRlLmNwcCAqLywKQEAgLTIzNjgzLDkgKzIzNjg2LDYgQEAKIAkJCQlBRDcyNkZFQTE2RDlG
NDBCMDAzQTRFNkQgLyogSlNDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmggKi8sCiAJCQkJOUJD
NUY5REYxRDVBQUY2QTAwMkI3NDlEIC8qIEpTQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5Q3VzdG9tLmNw
cCAqLywKIAkJCQlERUMyOTc1RDFCNERFQjJBMDA1RjU5NDUgLyogSlNDdXN0b21FdmVudEN1c3Rv
bS5jcHAgKi8sCi0JCQkJNDlDN0JBOEMxMDQyRjVCMTAwMDlENDQ3IC8qIEpTRG9jdW1lbnRDdXN0
b20uY3BwICovLAotCQkJCUFEREE5NEJGMTk2ODZGODAwMDQ1MzAyOSAvKiBKU0RvY3VtZW50Q3Vz
dG9tLmggKi8sCi0JCQkJMEY5NEEzOTUxRUYxQjEwNTAwRkJBRkZCIC8qIEpTRE9NUXVhZEN1c3Rv
bS5jcHAgKi8sCiAJCQkJQkNEOUMyNUUwQzE3QUE2NzAwNUM5MEEyIC8qIEpTRE9NV2luZG93Q3Vz
dG9tLmNwcCAqLywKIAkJCQk2NTJGQkJCQjBERTI3Q0I2MDAwMUQzODYgLyogSlNET01XaW5kb3dD
dXN0b20uaCAqLywKIAkJCQlDMjgwODM0MTFDNkRDOTZBMDAxNDUxQjYgLyogSlNGb250RmFjZUN1
c3RvbS5jcHAgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVk
U2NyaXB0VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAJKHJldmlzaW9uIDIxODYyMykKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ1LDYgKzQ1LDEwIEBACiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVk
ZSAiSlNET01Db252ZXJ0QnVmZmVyU291cmNlLmgiCiAjaW5jbHVkZSAiSlNET01HbG9iYWxPYmpl
Y3QuaCIKKyNpbmNsdWRlICJKU0RPTU1hdHJpeC5oIgorI2luY2x1ZGUgIkpTRE9NUG9pbnQuaCIK
KyNpbmNsdWRlICJKU0RPTVF1YWQuaCIKKyNpbmNsdWRlICJKU0RPTVJlY3QuaCIKICNpbmNsdWRl
ICJKU0ZpbGUuaCIKICNpbmNsdWRlICJKU0ZpbGVMaXN0LmgiCiAjaW5jbHVkZSAiSlNJbWFnZURh
dGEuaCIKQEAgLTE1Miw2ICsxNTYsMTMgQEAgZW51bSBTZXJpYWxpemF0aW9uVGFnIHsKICNpZiBF
TkFCTEUoV0VCQVNTRU1CTFkpCiAgICAgV2FzbU1vZHVsZVRhZyA9IDM1LAogI2VuZGlmCisgICAg
RE9NUG9pbnRSZWFkT25seVRhZyA9IDM2LAorICAgIERPTVBvaW50VGFnID0gMzcsCisgICAgRE9N
UmVjdFJlYWRPbmx5VGFnID0gMzgsCisgICAgRE9NUmVjdFRhZyA9IDM5LAorICAgIERPTU1hdHJp
eFJlYWRPbmx5VGFnID0gNDAsCisgICAgRE9NTWF0cml4VGFnID0gNDEsCisgICAgRE9NUXVhZFRh
ZyA9IDQyLAogICAgIEVycm9yVGFnID0gMjU1CiB9OwogCkBAIC0zMjcsNiArMzM4LDEwIEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJpbmdEYXRhSXM4Qml0RmwKICAqICAgIHwgQXJyYXlCdWZm
ZXJWaWV3VGFnIEFycmF5QnVmZmVyVmlld1N1YnRhZyA8Ynl0ZU9mZnNldDp1aW50MzJfdD4gPGJ5
dGVMZW5ndGg6dWludDMyX3Q+IChBcnJheUJ1ZmZlciB8IE9iamVjdFJlZmVyZW5jZSkKICAqICAg
IHwgQXJyYXlCdWZmZXJUcmFuc2ZlclRhZyA8dmFsdWU6dWludDMyX3Q+CiAgKiAgICB8IENyeXB0
b0tleVRhZyA8d3JhcHBlZEtleUxlbmd0aDp1aW50MzJfdD4gPGZhY3RvcjpieXRle3dyYXBwZWRL
ZXlMZW5ndGh9PgorICogICAgfCBET01Qb2ludAorICogICAgfCBET01SZWN0CisgKiAgICB8IERP
TU1hdHJpeAorICogICAgfCBET01RdWFkCiAgKgogICogSW5zaWRlIHdyYXBwZWQgY3J5cHRvIGtl
eSwgZGF0YSBpcyBzZXJpYWxpemVkIGluIHRoaXMgZm9ybWF0OgogICoKQEAgLTM5NSw2ICs0MTAs
MzUgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cmluZ0RhdGFJczhCaXRGbAogICoKICAqIENy
eXB0b0tleVJhdyA6LQogICogICAgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllclRhZyA8a2V5U2l6
ZTp1aW50MzJfdD4gPGtleURhdGE6Ynl0ZXtrZXlTaXplfT4KKyAqCisgKiBET01Qb2ludCA6LQor
ICogICAgICAgIERPTVBvaW50UmVhZE9ubHlUYWcgRE9NUG9pbnREYXRhCisgKiAgICAgIHwgRE9N
UG9pbnRUYWcgRE9NUG9pbnREYXRhCisgKgorICogRE9NUG9pbnREYXRhIDotCisgKiAgICAgIDx4
OmRvdWJsZT4gPHk6ZG91YmxlPiA8ejpkb3VibGU+IDx3OmRvdWJsZT4KKyAqCisgKiBET01SZWN0
IDotCisgKiAgICAgICAgRE9NUmVjdFJlYWRPbmx5VGFnIERPTVJlY3REYXRhCisgKiAgICAgIHwg
RE9NUmVjdFRhZyBET01SZWN0RGF0YQorICoKKyAqIERPTVJlY3REYXRhIDotCisgKiAgICAgIDx4
OmRvdWJsZT4gPHk6ZG91YmxlPiA8d2lkdGg6ZG91YmxlPiA8aGVpZ2h0OmRvdWJsZT4KKyAqCisg
KiBET01NYXRyaXggOi0KKyAqICAgICAgICBET01NYXRyaXhSZWFkT25seVRhZyBET01NYXRyaXhE
YXRhCisgKiAgICAgIHwgRE9NTWF0cml4VGFnIERPTU1hdHJpeERhdGEKKyAqCisgKiBET01NYXRy
aXhEYXRhIDotCisgKiAgICAgICAgPGlzMkQ6dWludDhfdDp0cnVlPiA8bTExOmRvdWJsZT4gPG0x
Mjpkb3VibGU+IDxtMjE6ZG91YmxlPiA8bTIyOmRvdWJsZT4gPG00MTpkb3VibGU+IDxtNDI6ZG91
YmxlPgorICogICAgICB8IDxpczJEOnVpbnQ4X3Q6ZmFsc2U+IDxtMTE6ZG91YmxlPiA8bTEyOmRv
dWJsZT4gPG0xMzpkb3VibGU+IDxtMTQ6ZG91YmxlPiA8bTIxOmRvdWJsZT4gPG0yMjpkb3VibGU+
IDxtMjM6ZG91YmxlPiA8bTI0OmRvdWJsZT4gPG0zMTpkb3VibGU+IDxtMzI6ZG91YmxlPiA8bTMz
OmRvdWJsZT4gPG0zNDpkb3VibGU+IDxtNDE6ZG91YmxlPiA8bTQyOmRvdWJsZT4gPG00Mzpkb3Vi
bGU+IDxtNDQ6ZG91YmxlPgorICoKKyAqIERPTVF1YWQgOi0KKyAqICAgICAgRE9NUXVhZFRhZyBE
T01RdWFkRGF0YQorICoKKyAqIERPTVF1YWREYXRhIDotCisgKiAgICAgIDxwMTpET01Qb2ludERh
dGE+IDxwMjpET01Qb2ludERhdGE+IDxwMzpET01Qb2ludERhdGE+IDxwNDpET01Qb2ludERhdGE+
CisgKgogICovCiAKIHVzaW5nIERlc2VyaWFsaXphdGlvblJlc3VsdCA9IHN0ZDo6cGFpcjxKU0M6
OkpTVmFsdWUsIFNlcmlhbGl6YXRpb25SZXR1cm5Db2RlPjsKQEAgLTc3Miw2ICs4MTYsODkgQEAg
cHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGR1bXBJZlRlcm1pbmFsKGJ1ZmZlck9iaiwgY29kZSk7
CiAgICAgfQogCisgICAgdm9pZCBkdW1wRE9NUG9pbnQoY29uc3QgRE9NUG9pbnRSZWFkT25seSYg
cG9pbnQpCisgICAgeworICAgICAgICB3cml0ZShwb2ludC54KCkpOworICAgICAgICB3cml0ZShw
b2ludC55KCkpOworICAgICAgICB3cml0ZShwb2ludC56KCkpOworICAgICAgICB3cml0ZShwb2lu
dC53KCkpOworICAgIH0KKworICAgIHZvaWQgZHVtcERPTVBvaW50KEpTT2JqZWN0KiBvYmopCisg
ICAgeworICAgICAgICBWTSYgdm0gPSBtX2V4ZWMtPnZtKCk7CisgICAgICAgIGlmIChvYmotPmlu
aGVyaXRzKHZtLCBKU0RPTVBvaW50OjppbmZvKCkpKQorICAgICAgICAgICAgd3JpdGUoRE9NUG9p
bnRUYWcpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB3cml0ZShET01Qb2ludFJlYWRPbmx5
VGFnKTsKKworICAgICAgICBkdW1wRE9NUG9pbnQoanNDYXN0PEpTRE9NUG9pbnRSZWFkT25seSo+
KG9iaiktPndyYXBwZWQoKSk7CisgICAgfQorCisgICAgdm9pZCBkdW1wRE9NUmVjdChKU09iamVj
dCogb2JqKQorICAgIHsKKyAgICAgICAgVk0mIHZtID0gbV9leGVjLT52bSgpOworICAgICAgICBp
ZiAob2JqLT5pbmhlcml0cyh2bSwgSlNET01SZWN0OjppbmZvKCkpKQorICAgICAgICAgICAgd3Jp
dGUoRE9NUmVjdFRhZyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHdyaXRlKERPTVJlY3RS
ZWFkT25seVRhZyk7CisKKyAgICAgICAgYXV0byYgcmVjdCA9IGpzQ2FzdDxKU0RPTVJlY3RSZWFk
T25seSo+KG9iaiktPndyYXBwZWQoKTsKKyAgICAgICAgd3JpdGUocmVjdC54KCkpOworICAgICAg
ICB3cml0ZShyZWN0LnkoKSk7CisgICAgICAgIHdyaXRlKHJlY3Qud2lkdGgoKSk7CisgICAgICAg
IHdyaXRlKHJlY3QuaGVpZ2h0KCkpOworICAgIH0KKworICAgIHZvaWQgZHVtcERPTU1hdHJpeChK
U09iamVjdCogb2JqKQorICAgIHsKKyAgICAgICAgVk0mIHZtID0gbV9leGVjLT52bSgpOworICAg
ICAgICBpZiAob2JqLT5pbmhlcml0cyh2bSwgSlNET01NYXRyaXg6OmluZm8oKSkpCisgICAgICAg
ICAgICB3cml0ZShET01NYXRyaXhUYWcpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB3cml0
ZShET01NYXRyaXhSZWFkT25seVRhZyk7CisKKyAgICAgICAgYXV0byYgbWF0cml4ID0ganNDYXN0
PEpTRE9NTWF0cml4UmVhZE9ubHkqPihvYmopLT53cmFwcGVkKCk7CisgICAgICAgIGJvb2wgaXMy
RCA9IG1hdHJpeC5pczJEKCk7CisgICAgICAgIHdyaXRlKHN0YXRpY19jYXN0PHVpbnQ4X3Q+KGlz
MkQpKTsKKyAgICAgICAgaWYgKGlzMkQpIHsKKyAgICAgICAgICAgIHdyaXRlKG1hdHJpeC5tMTEo
KSk7CisgICAgICAgICAgICB3cml0ZShtYXRyaXgubTEyKCkpOworICAgICAgICAgICAgd3JpdGUo
bWF0cml4Lm0yMSgpKTsKKyAgICAgICAgICAgIHdyaXRlKG1hdHJpeC5tMjIoKSk7CisgICAgICAg
ICAgICB3cml0ZShtYXRyaXgubTQxKCkpOworICAgICAgICAgICAgd3JpdGUobWF0cml4Lm00Migp
KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHdyaXRlKG1hdHJpeC5tMTEoKSk7Cisg
ICAgICAgICAgICB3cml0ZShtYXRyaXgubTEyKCkpOworICAgICAgICAgICAgd3JpdGUobWF0cml4
Lm0xMygpKTsKKyAgICAgICAgICAgIHdyaXRlKG1hdHJpeC5tMTQoKSk7CisgICAgICAgICAgICB3
cml0ZShtYXRyaXgubTIxKCkpOworICAgICAgICAgICAgd3JpdGUobWF0cml4Lm0yMigpKTsKKyAg
ICAgICAgICAgIHdyaXRlKG1hdHJpeC5tMjMoKSk7CisgICAgICAgICAgICB3cml0ZShtYXRyaXgu
bTI0KCkpOworICAgICAgICAgICAgd3JpdGUobWF0cml4Lm0zMSgpKTsKKyAgICAgICAgICAgIHdy
aXRlKG1hdHJpeC5tMzIoKSk7CisgICAgICAgICAgICB3cml0ZShtYXRyaXgubTMzKCkpOworICAg
ICAgICAgICAgd3JpdGUobWF0cml4Lm0zNCgpKTsKKyAgICAgICAgICAgIHdyaXRlKG1hdHJpeC5t
NDEoKSk7CisgICAgICAgICAgICB3cml0ZShtYXRyaXgubTQyKCkpOworICAgICAgICAgICAgd3Jp
dGUobWF0cml4Lm00MygpKTsKKyAgICAgICAgICAgIHdyaXRlKG1hdHJpeC5tNDQoKSk7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICB2b2lkIGR1bXBET01RdWFkKEpTT2JqZWN0KiBvYmopCisgICAg
eworICAgICAgICB3cml0ZShET01RdWFkVGFnKTsKKworICAgICAgICBhdXRvJiBxdWFkID0ganND
YXN0PEpTRE9NUXVhZCo+KG9iaiktPndyYXBwZWQoKTsKKyAgICAgICAgZHVtcERPTVBvaW50KHF1
YWQucDEoKSk7CisgICAgICAgIGR1bXBET01Qb2ludChxdWFkLnAyKCkpOworICAgICAgICBkdW1w
RE9NUG9pbnQocXVhZC5wMygpKTsKKyAgICAgICAgZHVtcERPTVBvaW50KHF1YWQucDQoKSk7Cisg
ICAgfQorCiAgICAgYm9vbCBkdW1wSWZUZXJtaW5hbChKU1ZhbHVlIHZhbHVlLCBTZXJpYWxpemF0
aW9uUmV0dXJuQ29kZSYgY29kZSkKICAgICB7CiAgICAgICAgIGlmICghdmFsdWUuaXNDZWxsKCkp
IHsKQEAgLTk1Myw3ICsxMDgwLDIyIEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgICAgICB9CiAjZW5kaWYKLQorICAgICAgICAgICAgaWYgKG9iai0+aW5o
ZXJpdHModm0sIEpTRE9NUG9pbnRSZWFkT25seTo6aW5mbygpKSkgeworICAgICAgICAgICAgICAg
IGR1bXBET01Qb2ludChvYmopOworICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgaWYgKG9iai0+aW5oZXJpdHModm0sIEpTRE9NUmVjdFJlYWRP
bmx5OjppbmZvKCkpKSB7CisgICAgICAgICAgICAgICAgZHVtcERPTVJlY3Qob2JqKTsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChv
YmotPmluaGVyaXRzKHZtLCBKU0RPTU1hdHJpeFJlYWRPbmx5OjppbmZvKCkpKSB7CisgICAgICAg
ICAgICAgICAgZHVtcERPTU1hdHJpeChvYmopOworICAgICAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKG9iai0+aW5oZXJpdHModm0sIEpTRE9N
UXVhZDo6aW5mbygpKSkgeworICAgICAgICAgICAgICAgIGR1bXBET01RdWFkKG9iaik7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICAgICAgLy8gQW55IG90aGVyIHR5cGVzIGFyZSBleHBl
Y3RlZCB0byBzZXJpYWxpemUgYXMgbnVsbC4KQEAgLTIzMzAsNyArMjQ3MiwxNjIgQEAgcHJpdmF0
ZToKICAgICB0ZW1wbGF0ZTxjbGFzcyBUPgogICAgIEpTVmFsdWUgZ2V0SlNWYWx1ZShUJiBuYXRp
dmVPYmopCiAgICAgewotICAgICAgICByZXR1cm4gZ2V0SlNWYWx1ZSgmbmF0aXZlT2JqKTsKKyAg
ICAgICAgcmV0dXJuIHRvSlMobV9leGVjLCBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihtX2ds
b2JhbE9iamVjdCksIG5hdGl2ZU9iaik7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVD4K
KyAgICBKU1ZhbHVlIHJlYWRET01Qb2ludCgpCisgICAgeworICAgICAgICBkb3VibGUgeDsKKyAg
ICAgICAgaWYgKCFyZWFkKHgpKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgZG91
YmxlIHk7CisgICAgICAgIGlmICghcmVhZCh5KSkKKyAgICAgICAgICAgIHJldHVybiB7IH07Cisg
ICAgICAgIGRvdWJsZSB6OworICAgICAgICBpZiAoIXJlYWQoeikpCisgICAgICAgICAgICByZXR1
cm4geyB9OworICAgICAgICBkb3VibGUgdzsKKyAgICAgICAgaWYgKCFyZWFkKHcpKQorICAgICAg
ICAgICAgcmV0dXJuIHsgfTsKKworICAgICAgICByZXR1cm4gdG9KU05ld2x5Q3JlYXRlZChtX2V4
ZWMsIGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KG1fZ2xvYmFsT2JqZWN0KSwgVDo6Y3JlYXRl
KHgsIHksIHosIHcpKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBUPgorICAgIEpTVmFs
dWUgcmVhZERPTU1hdHJpeCgpCisgICAgeworICAgICAgICB1aW50OF90IGlzMkQ7CisgICAgICAg
IGlmICghcmVhZChpczJEKSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgaWYg
KGlzMkQpIHsKKyAgICAgICAgICAgIGRvdWJsZSBtMTE7CisgICAgICAgICAgICBpZiAoIXJlYWQo
bTExKSkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAgICAgZG91YmxlIG0x
MjsKKyAgICAgICAgICAgIGlmICghcmVhZChtMTIpKQorICAgICAgICAgICAgICAgIHJldHVybiB7
IH07CisgICAgICAgICAgICBkb3VibGUgbTIxOworICAgICAgICAgICAgaWYgKCFyZWFkKG0yMSkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIGRvdWJsZSBtMjI7Cisg
ICAgICAgICAgICBpZiAoIXJlYWQobTIyKSkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9Owor
ICAgICAgICAgICAgZG91YmxlIG00MTsKKyAgICAgICAgICAgIGlmICghcmVhZChtNDEpKQorICAg
ICAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgICAgICBkb3VibGUgbTQyOworICAgICAg
ICAgICAgaWYgKCFyZWFkKG00MikpCisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKworICAg
ICAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbWF0cml4KG0xMSwgbTEyLCBtMjEsIG0yMiwg
bTQxLCBtNDIpOworICAgICAgICAgICAgcmV0dXJuIHRvSlNOZXdseUNyZWF0ZWQobV9leGVjLCBq
c0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihtX2dsb2JhbE9iamVjdCksIFQ6OmNyZWF0ZShXVEZN
b3ZlKG1hdHJpeCksIERPTU1hdHJpeFJlYWRPbmx5OjpJczJEOjpZZXMpKTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGRvdWJsZSBtMTE7CisgICAgICAgICAgICBpZiAoIXJlYWQobTEx
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAgICAgZG91YmxlIG0xMjsK
KyAgICAgICAgICAgIGlmICghcmVhZChtMTIpKQorICAgICAgICAgICAgICAgIHJldHVybiB7IH07
CisgICAgICAgICAgICBkb3VibGUgbTEzOworICAgICAgICAgICAgaWYgKCFyZWFkKG0xMykpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIGRvdWJsZSBtMTQ7CisgICAg
ICAgICAgICBpZiAoIXJlYWQobTE0KSkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAg
ICAgICAgICAgZG91YmxlIG0yMTsKKyAgICAgICAgICAgIGlmICghcmVhZChtMjEpKQorICAgICAg
ICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgICAgICBkb3VibGUgbTIyOworICAgICAgICAg
ICAgaWYgKCFyZWFkKG0yMikpCisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAg
ICAgIGRvdWJsZSBtMjM7CisgICAgICAgICAgICBpZiAoIXJlYWQobTIzKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4geyB9OworICAgICAgICAgICAgZG91YmxlIG0yNDsKKyAgICAgICAgICAgIGlm
ICghcmVhZChtMjQpKQorICAgICAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgICAgICBk
b3VibGUgbTMxOworICAgICAgICAgICAgaWYgKCFyZWFkKG0zMSkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICAgICAgICAgIGRvdWJsZSBtMzI7CisgICAgICAgICAgICBpZiAoIXJl
YWQobTMyKSkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICAgICAgZG91Ymxl
IG0zMzsKKyAgICAgICAgICAgIGlmICghcmVhZChtMzMpKQorICAgICAgICAgICAgICAgIHJldHVy
biB7IH07CisgICAgICAgICAgICBkb3VibGUgbTM0OworICAgICAgICAgICAgaWYgKCFyZWFkKG0z
NCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIGRvdWJsZSBtNDE7
CisgICAgICAgICAgICBpZiAoIXJlYWQobTQxKSkKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9
OworICAgICAgICAgICAgZG91YmxlIG00MjsKKyAgICAgICAgICAgIGlmICghcmVhZChtNDIpKQor
ICAgICAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgICAgICBkb3VibGUgbTQzOworICAg
ICAgICAgICAgaWYgKCFyZWFkKG00MykpCisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAg
ICAgICAgICAgIGRvdWJsZSBtNDQ7CisgICAgICAgICAgICBpZiAoIXJlYWQobTQ0KSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4geyB9OworCisgICAgICAgICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCBtYXRyaXgobTExLCBtMTIsIG0xMywgbTE0LCBtMjEsIG0yMiwgbTIzLCBtMjQsIG0zMSwgbTMy
LCBtMzMsIG0zNCwgbTQxLCBtNDIsIG00MywgbTQ0KTsKKyAgICAgICAgICAgIHJldHVybiB0b0pT
TmV3bHlDcmVhdGVkKG1fZXhlYywganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4obV9nbG9iYWxP
YmplY3QpLCBUOjpjcmVhdGUoV1RGTW92ZShtYXRyaXgpLCBET01NYXRyaXhSZWFkT25seTo6SXMy
RDo6Tm8pKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFQ+CisgICAg
SlNWYWx1ZSByZWFkRE9NUmVjdCgpCisgICAgeworICAgICAgICBkb3VibGUgeDsKKyAgICAgICAg
aWYgKCFyZWFkKHgpKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgZG91YmxlIHk7
CisgICAgICAgIGlmICghcmVhZCh5KSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAg
IGRvdWJsZSB3aWR0aDsKKyAgICAgICAgaWYgKCFyZWFkKHdpZHRoKSkKKyAgICAgICAgICAgIHJl
dHVybiB7IH07CisgICAgICAgIGRvdWJsZSBoZWlnaHQ7CisgICAgICAgIGlmICghcmVhZChoZWln
aHQpKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKworICAgICAgICByZXR1cm4gdG9KU05ld2x5
Q3JlYXRlZChtX2V4ZWMsIGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KG1fZ2xvYmFsT2JqZWN0
KSwgVDo6Y3JlYXRlKHgsIHksIHdpZHRoLCBoZWlnaHQpKTsKKyAgICB9CisKKyAgICBzdGQ6Om9w
dGlvbmFsPERPTVBvaW50SW5pdD4gcmVhZERPTVBvaW50SW5pdCgpCisgICAgeworICAgICAgICBE
T01Qb2ludEluaXQgcG9pbnQ7CisgICAgICAgIGlmICghcmVhZChwb2ludC54KSkKKyAgICAgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgIGlmICghcmVhZChwb2ludC55KSkKKyAg
ICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgIGlmICghcmVhZChwb2ludC56
KSkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgIGlmICghcmVhZChw
b2ludC53KSkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICAgICAgcmV0
dXJuIFdURk1vdmUocG9pbnQpOworICAgIH0KKworICAgIEpTVmFsdWUgcmVhZERPTVF1YWQoKQor
ICAgIHsKKyAgICAgICAgYXV0byBwMSA9IHJlYWRET01Qb2ludEluaXQoKTsKKyAgICAgICAgaWYg
KCFwMSkKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7CisgICAgICAgIGF1dG8gcDIgPSBy
ZWFkRE9NUG9pbnRJbml0KCk7CisgICAgICAgIGlmICghcDIpCisgICAgICAgICAgICByZXR1cm4g
SlNWYWx1ZSgpOworICAgICAgICBhdXRvIHAzID0gcmVhZERPTVBvaW50SW5pdCgpOworICAgICAg
ICBpZiAoIXAzKQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKKyAgICAgICAgYXV0byBw
NCA9IHJlYWRET01Qb2ludEluaXQoKTsKKyAgICAgICAgaWYgKCFwNCkKKyAgICAgICAgICAgIHJl
dHVybiBKU1ZhbHVlKCk7CisKKyAgICAgICAgcmV0dXJuIHRvSlNOZXdseUNyZWF0ZWQobV9leGVj
LCBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihtX2dsb2JhbE9iamVjdCksIERPTVF1YWQ6OmNy
ZWF0ZShwMS52YWx1ZSgpLCBwMi52YWx1ZSgpLCBwMy52YWx1ZSgpLCBwNC52YWx1ZSgpKSk7CiAg
ICAgfQogCiAgICAgSlNWYWx1ZSByZWFkVGVybWluYWwoKQpAQCAtMjYwNyw2ICsyOTA0LDIwIEBA
IHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm4gY3J5cHRvS2V5OwogICAgICAgICB9CiAjZW5k
aWYKKyAgICAgICAgY2FzZSBET01Qb2ludFJlYWRPbmx5VGFnOgorICAgICAgICAgICAgcmV0dXJu
IHJlYWRET01Qb2ludDxET01Qb2ludFJlYWRPbmx5PigpOworICAgICAgICBjYXNlIERPTVBvaW50
VGFnOgorICAgICAgICAgICAgcmV0dXJuIHJlYWRET01Qb2ludDxET01Qb2ludD4oKTsKKyAgICAg
ICAgY2FzZSBET01SZWN0UmVhZE9ubHlUYWc6CisgICAgICAgICAgICByZXR1cm4gcmVhZERPTVJl
Y3Q8RE9NUmVjdFJlYWRPbmx5PigpOworICAgICAgICBjYXNlIERPTVJlY3RUYWc6CisgICAgICAg
ICAgICByZXR1cm4gcmVhZERPTVJlY3Q8RE9NUmVjdD4oKTsKKyAgICAgICAgY2FzZSBET01NYXRy
aXhSZWFkT25seVRhZzoKKyAgICAgICAgICAgIHJldHVybiByZWFkRE9NTWF0cml4PERPTU1hdHJp
eFJlYWRPbmx5PigpOworICAgICAgICBjYXNlIERPTU1hdHJpeFRhZzoKKyAgICAgICAgICAgIHJl
dHVybiByZWFkRE9NTWF0cml4PERPTU1hdHJpeD4oKTsKKyAgICAgICAgY2FzZSBET01RdWFkVGFn
OgorICAgICAgICAgICAgcmV0dXJuIHJlYWRET01RdWFkKCk7CiAgICAgICAgIGRlZmF1bHQ6CiAg
ICAgICAgICAgICBtX3B0ci0tOyAvLyBQdXNoIHRoZSB0YWcgYmFjawogICAgICAgICAgICAgcmV0
dXJuIEpTVmFsdWUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXguY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXguY3BwCShyZXZpc2lvbiAy
MTg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzcsNiArMzcsMTEgQEAgRE9NTWF0cml4OjpET01NYXRyaXgoY29uc3QgVHJhbnNmb3Jt
YXRpbwogewogfQogCitET01NYXRyaXg6OkRPTU1hdHJpeChUcmFuc2Zvcm1hdGlvbk1hdHJpeCYm
IG1hdHJpeCwgSXMyRCBpczJEKQorICAgIDogRE9NTWF0cml4UmVhZE9ubHkoV1RGTW92ZShtYXRy
aXgpLCBpczJEKQoreworfQorCiAvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9nZW9tZXRyeS8j
Y3JlYXRlLWEtZG9tbWF0cml4LWZyb20tdGhlLWRpY3Rpb25hcnkKIEV4Y2VwdGlvbk9yPFJlZjxE
T01NYXRyaXg+PiBET01NYXRyaXg6OmZyb21NYXRyaXgoRE9NTWF0cml4SW5pdCYmIGluaXQpCiB7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvY3NzL0RPTU1hdHJpeC5oCShyZXZpc2lvbiAyMTg2MjMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9jc3MvRE9NTWF0cml4LmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDExIEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9NTWF0cml4KG1hdHJpeCwg
aXMyRCkpOwogICAgIH0KIAorICAgIHN0YXRpYyBSZWY8RE9NTWF0cml4PiBjcmVhdGUoVHJhbnNm
b3JtYXRpb25NYXRyaXgmJiBtYXRyaXgsIElzMkQgaXMyRCkKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IERPTU1hdHJpeChXVEZNb3ZlKG1hdHJpeCksIGlzMkQpKTsKKyAgICB9
CisKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPERPTU1hdHJpeD4+IGZyb21NYXRyaXgoRE9N
TWF0cml4SW5pdCYmKTsKIAogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RE9NTWF0cml4Pj4g
ZnJvbUZsb2F0MzJBcnJheShSZWY8RmxvYXQzMkFycmF5PiYmKTsKQEAgLTk1LDYgKzEwMCw3IEBA
IHB1YmxpYzoKIHByaXZhdGU6CiAgICAgRE9NTWF0cml4KCkgPSBkZWZhdWx0OwogICAgIERPTU1h
dHJpeChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIElzMkQpOworICAgIERPTU1hdHJpeChU
cmFuc2Zvcm1hdGlvbk1hdHJpeCYmLCBJczJEKTsKIH07CiAKIGlubGluZSB2b2lkIERPTU1hdHJp
eDo6c2V0TTEzKGRvdWJsZSBmKQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0RPTU1hdHJpeFJl
YWRPbmx5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4UmVh
ZE9ubHkuY3BwCShyZXZpc2lvbiAyMTg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0
cml4UmVhZE9ubHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0NywxMyBAQCBET01NYXRy
aXhSZWFkT25seTo6RE9NTWF0cml4UmVhZE9ubHkoY29uCiAgICAgQVNTRVJUKCFtX2lzMkQgfHwg
bV9tYXRyaXguaXNBZmZpbmUoKSk7CiB9CiAKK0RPTU1hdHJpeFJlYWRPbmx5OjpET01NYXRyaXhS
ZWFkT25seShUcmFuc2Zvcm1hdGlvbk1hdHJpeCYmIG1hdHJpeCwgSXMyRCBpczJEKQorICAgIDog
bV9tYXRyaXgoV1RGTW92ZShtYXRyaXgpKQorICAgICwgbV9pczJEKGlzMkQgPT0gSXMyRDo6WWVz
KQoreworICAgIEFTU0VSVCghbV9pczJEIHx8IG1fbWF0cml4LmlzQWZmaW5lKCkpOworfQorCiBp
bmxpbmUgUmVmPERPTU1hdHJpeD4gRE9NTWF0cml4UmVhZE9ubHk6OmNsb25lQXNET01NYXRyaXgo
KSBjb25zdAogewogICAgIHJldHVybiBET01NYXRyaXg6OmNyZWF0ZShtX21hdHJpeCwgbV9pczJE
ID8gSXMyRDo6WWVzIDogSXMyRDo6Tm8pOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0RPTU1h
dHJpeFJlYWRPbmx5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0RPTU1hdHJp
eFJlYWRPbmx5LmgJKHJldmlzaW9uIDIxODYyMykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01N
YXRyaXhSZWFkT25seS5oCSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSwxMSBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IERPTU1hdHJpeFJlYWRPbmx5KG1hdHJpeCwg
aXMyRCkpOwogICAgIH0KIAorICAgIHN0YXRpYyBSZWY8RE9NTWF0cml4UmVhZE9ubHk+IGNyZWF0
ZShUcmFuc2Zvcm1hdGlvbk1hdHJpeCYmIG1hdHJpeCwgSXMyRCBpczJEKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9NTWF0cml4UmVhZE9ubHkoV1RGTW92ZShtYXRyaXgp
LCBpczJEKSk7CisgICAgfQorCiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxET01NYXRyaXhS
ZWFkT25seT4+IGZyb21NYXRyaXgoRE9NTWF0cml4SW5pdCYmKTsKIAogICAgIHN0YXRpYyBFeGNl
cHRpb25PcjxSZWY8RE9NTWF0cml4UmVhZE9ubHk+PiBmcm9tRmxvYXQzMkFycmF5KFJlZjxGbG9h
dDMyQXJyYXk+JiYpOwpAQCAtMTI1LDYgKzEzMCw3IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAg
ICBET01NYXRyaXhSZWFkT25seSgpID0gZGVmYXVsdDsKICAgICBET01NYXRyaXhSZWFkT25seShj
b25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIElzMkQpOworICAgIERPTU1hdHJpeFJlYWRPbmx5
KFRyYW5zZm9ybWF0aW9uTWF0cml4JiYsIElzMkQpOwogCiAgICAgUmVmPERPTU1hdHJpeD4gY2xv
bmVBc0RPTU1hdHJpeCgpIGNvbnN0OwogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDIxODYyMykKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wNi0yMCAgU2FtIFdlaW5p
ZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzdHJ1Y3R1cmVk
IHNlcmlhbGl6YXRpb24gb2YgQ1NTIEdlb21ldHJ5IHR5cGVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM2MzEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2Vv
bWV0cnktMS9zdHJ1Y3R1cmVkLXNlcmlhbGl6YXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICBV
cGRhdGUgdGVzdCByZXN1bHRzIG5vdyB0aGF0IHRoZXkgcGFzcy4KKwogMjAxNy0wNi0xOSAgU2Ft
IFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtXZWJJRExdIFByb3Blcmx5IG1v
ZGVsIGJ1ZmZlciBzb3VyY2UgLyB0eXBlZCBhcnJheXMgYXMgdGhlaXIgb3duIElETCB0eXBlcwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2Vv
bWV0cnktMS9zdHJ1Y3R1cmVkLXNlcmlhbGl6YXRpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21l
dHJ5LTEvc3RydWN0dXJlZC1zZXJpYWxpemF0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE4
NjIzKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Z2VvbWV0cnktMS9zdHJ1Y3R1cmVkLXNlcmlhbGl6YXRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMyICsxLDMyIEBACiAKLUZBSUwgRE9NUG9pbnRSZWFkT25seSBjbG9uZTog
YmFzaWMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3Qg
YmUgY2xvbmVkLiIKLUZBSUwgRE9NUG9pbnRSZWFkT25seSBjbG9uZTogY3VzdG9tIHByb3BlcnR5
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRh
dGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNs
b25lZC4iCi1GQUlMIERPTVBvaW50UmVhZE9ubHkgY2xvbmU6IHRocm93aW5nIGdldHRlcnMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNs
b25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVk
LiIKLUZBSUwgRE9NUG9pbnRSZWFkT25seSBjbG9uZTogbm9uLWluaXRpYWwgdmFsdWVzIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9u
ZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4i
Ci1GQUlMIERPTVBvaW50IGNsb25lOiBiYXNpYyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAy
NSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01Qb2ludCBjbG9uZTog
Y3VzdG9tIHByb3BlcnR5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVj
dCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERPTVBvaW50IGNsb25lOiB0aHJvd2luZyBnZXR0
ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJl
IGNsb25lZC4iCi1GQUlMIERPTVBvaW50IGNsb25lOiBub24taW5pdGlhbCB2YWx1ZXMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25l
RXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIK
LUZBSUwgRE9NUmVjdFJlYWRPbmx5IGNsb25lOiBiYXNpYyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2Vw
dGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01SZWN0UmVh
ZE9ubHkgY2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAy
NSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01SZWN0UmVhZE9ubHkg
Y2xvbmU6IHRocm93aW5nIGdldHRlcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBU
aGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NUmVjdFJlYWRPbmx5IGNsb25l
OiBub24taW5pdGlhbCB2YWx1ZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUg
b2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NUmVjdCBjbG9uZTogYmFzaWMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNs
b25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVk
LiIKLUZBSUwgRE9NUmVjdCBjbG9uZTogY3VzdG9tIHByb3BlcnR5IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00g
RXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERPTVJl
Y3QgY2xvbmU6IHRocm93aW5nIGdldHRlcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUp
OiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NUmVjdCBjbG9uZTogbm9u
LWluaXRpYWwgdmFsdWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVj
dCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERPTVF1YWQgY2xvbmU6IGJhc2ljIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVy
cm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCi1G
QUlMIERPTVF1YWQgY2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2Vw
dGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01RdWFkIGNs
b25lOiB0aHJvd2luZyBnZXR0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhl
IG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4iCi1GQUlMIERPTVF1YWQgY2xvbmU6IG5vbi1pbml0
aWFsIHZhbHVlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJEYXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2Fu
IG5vdCBiZSBjbG9uZWQuIgotRkFJTCBET01NYXRyaXhSZWFkT25seSBjbG9uZTogYmFzaWMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNs
b25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVk
LiIKLUZBSUwgRE9NTWF0cml4UmVhZE9ubHkgY2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVF
cnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgot
RkFJTCBET01NYXRyaXhSZWFkT25seSBjbG9uZTogdGhyb3dpbmcgZ2V0dGVycyBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJEYXRhQ2xvbmVFcnJv
ciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuIgotRkFJ
TCBET01NYXRyaXhSZWFkT25seSBjbG9uZTogbm9uLWluaXRpYWwgdmFsdWVzICgyZCkgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25l
RXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIK
LUZBSUwgRE9NTWF0cml4UmVhZE9ubHkgY2xvbmU6IG5vbi1pbml0aWFsIHZhbHVlcyAoM2QpIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkRhdGFD
bG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25l
ZC4iCi1GQUlMIERPTU1hdHJpeCBjbG9uZTogYmFzaWMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRp
b24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NTWF0cml4IGNs
b25lOiBjdXN0b20gcHJvcGVydHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUg
b2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLiIKLUZBSUwgRE9NTWF0cml4IGNsb25lOiB0aHJvd2lu
ZyBnZXR0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIkRhdGFDbG9uZUVycm9yIChET00gRXhjZXB0aW9uIDI1KTogVGhlIG9iamVjdCBjYW4g
bm90IGJlIGNsb25lZC4iCi1GQUlMIERPTU1hdHJpeCBjbG9uZTogbm9uLWluaXRpYWwgdmFsdWVz
ICgyZCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiRGF0YUNsb25lRXJyb3IgKERPTSBFeGNlcHRpb24gMjUpOiBUaGUgb2JqZWN0IGNhbiBub3Qg
YmUgY2xvbmVkLiIKLUZBSUwgRE9NTWF0cml4IGNsb25lOiBub24taW5pdGlhbCB2YWx1ZXMgKDNk
KSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJE
YXRhQ2xvbmVFcnJvciAoRE9NIEV4Y2VwdGlvbiAyNSk6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBj
bG9uZWQuIgorUEFTUyBET01Qb2ludFJlYWRPbmx5IGNsb25lOiBiYXNpYyAKK1BBU1MgRE9NUG9p
bnRSZWFkT25seSBjbG9uZTogY3VzdG9tIHByb3BlcnR5IAorUEFTUyBET01Qb2ludFJlYWRPbmx5
IGNsb25lOiB0aHJvd2luZyBnZXR0ZXJzIAorUEFTUyBET01Qb2ludFJlYWRPbmx5IGNsb25lOiBu
b24taW5pdGlhbCB2YWx1ZXMgCitQQVNTIERPTVBvaW50IGNsb25lOiBiYXNpYyAKK1BBU1MgRE9N
UG9pbnQgY2xvbmU6IGN1c3RvbSBwcm9wZXJ0eSAKK1BBU1MgRE9NUG9pbnQgY2xvbmU6IHRocm93
aW5nIGdldHRlcnMgCitQQVNTIERPTVBvaW50IGNsb25lOiBub24taW5pdGlhbCB2YWx1ZXMgCitQ
QVNTIERPTVJlY3RSZWFkT25seSBjbG9uZTogYmFzaWMgCitQQVNTIERPTVJlY3RSZWFkT25seSBj
bG9uZTogY3VzdG9tIHByb3BlcnR5IAorUEFTUyBET01SZWN0UmVhZE9ubHkgY2xvbmU6IHRocm93
aW5nIGdldHRlcnMgCitQQVNTIERPTVJlY3RSZWFkT25seSBjbG9uZTogbm9uLWluaXRpYWwgdmFs
dWVzIAorUEFTUyBET01SZWN0IGNsb25lOiBiYXNpYyAKK1BBU1MgRE9NUmVjdCBjbG9uZTogY3Vz
dG9tIHByb3BlcnR5IAorUEFTUyBET01SZWN0IGNsb25lOiB0aHJvd2luZyBnZXR0ZXJzIAorUEFT
UyBET01SZWN0IGNsb25lOiBub24taW5pdGlhbCB2YWx1ZXMgCitQQVNTIERPTVF1YWQgY2xvbmU6
IGJhc2ljIAorUEFTUyBET01RdWFkIGNsb25lOiBjdXN0b20gcHJvcGVydHkgCitQQVNTIERPTVF1
YWQgY2xvbmU6IHRocm93aW5nIGdldHRlcnMgCitQQVNTIERPTVF1YWQgY2xvbmU6IG5vbi1pbml0
aWFsIHZhbHVlcyAKK1BBU1MgRE9NTWF0cml4UmVhZE9ubHkgY2xvbmU6IGJhc2ljIAorUEFTUyBE
T01NYXRyaXhSZWFkT25seSBjbG9uZTogY3VzdG9tIHByb3BlcnR5IAorUEFTUyBET01NYXRyaXhS
ZWFkT25seSBjbG9uZTogdGhyb3dpbmcgZ2V0dGVycyAKK1BBU1MgRE9NTWF0cml4UmVhZE9ubHkg
Y2xvbmU6IG5vbi1pbml0aWFsIHZhbHVlcyAoMmQpIAorUEFTUyBET01NYXRyaXhSZWFkT25seSBj
bG9uZTogbm9uLWluaXRpYWwgdmFsdWVzICgzZCkgCitQQVNTIERPTU1hdHJpeCBjbG9uZTogYmFz
aWMgCitQQVNTIERPTU1hdHJpeCBjbG9uZTogY3VzdG9tIHByb3BlcnR5IAorUEFTUyBET01NYXRy
aXggY2xvbmU6IHRocm93aW5nIGdldHRlcnMgCitQQVNTIERPTU1hdHJpeCBjbG9uZTogbm9uLWlu
aXRpYWwgdmFsdWVzICgyZCkgCitQQVNTIERPTU1hdHJpeCBjbG9uZTogbm9uLWluaXRpYWwgdmFs
dWVzICgzZCkgCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>