<?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>39949</bug_id>
          
          <creation_ts>2010-05-31 04:48:10 -0700</creation_ts>
          <short_desc>[GTK] Style fixes for the generated code in DOM bindings</short_desc>
          <delta_ts>2010-06-02 04:15:16 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Xan Lopez">xan.lopez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>232324</commentid>
    <comment_count>0</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-05-31 04:48:10 -0700</bug_when>
    <thetext>SSIA.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232327</commentid>
    <comment_count>1</comment_count>
      <attachid>57454</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-05-31 05:04:14 -0700</bug_when>
    <thetext>Created attachment 57454
domstylefixes.diff

Fix a bunch of style fixes in the generated code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232403</commentid>
    <comment_count>2</comment_count>
      <attachid>57454</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-05-31 08:59:28 -0700</bug_when>
    <thetext>Comment on attachment 57454
domstylefixes.diff

Looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233203</commentid>
    <comment_count>3</comment_count>
      <attachid>57454</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-06-02 04:15:05 -0700</bug_when>
    <thetext>Comment on attachment 57454
domstylefixes.diff

Pushed as r60558</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233204</commentid>
    <comment_count>4</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-06-02 04:15:16 -0700</bug_when>
    <thetext>Closing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57454</attachid>
            <date>2010-05-31 05:04:14 -0700</date>
            <delta_ts>2010-06-02 04:15:05 -0700</delta_ts>
            <desc>domstylefixes.diff</desc>
            <filename>domstylefixes.diff</filename>
            <type>text/plain</type>
            <size>52525</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAzNDhhNGFiMmM0N2M4ZGRiNDBiYWM5NGQ3Mzk5NWRjOTY5OThkMjU2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBN
b24sIDMxIE1heSAyMDEwIDEzOjQ4OjQzICswMjAwClN1YmplY3Q6IFtQQVRDSF0gMjAxMC0wNS0z
MSAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKICAgICAgICBbR1RLXSBTdHlsZSBmaXhlcyBmb3IgdGhlIGdlbmVyYXRl
ZCBjb2RlIGluIERPTSBiaW5kaW5ncwogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zOTk0OQoKICAgICAgICBHZXQgcmlkIG9mIGV4dHJhIHNwYWNlcyBhbmQg
d3JvbmcgaW5kZW50YXRpb24gaW4gdGhlIGdlbmVyYXRlZAogICAgICAgIGNvZGUuCgogICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbToKICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5jcHA6CiAg
ICAgICAgKHdlYmtpdF9kb21fdGVzdF9jYWxsYmFja19jYWxsYmFja193aXRoX2NsYXNzMXBhcmFt
KToKICAgICAgICAod2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfY2xhc3My
cGFyYW0pOgogICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfY2FsbGJhY2tfd2l0aF9u
b25fYm9vbF9yZXR1cm5fdHlwZSk6CiAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9jYWxsYmFja19z
ZXRfcHJvcGVydHkpOgogICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfZ2V0X3Byb3Bl
cnR5KToKICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRl
c3RJbnRlcmZhY2UuY3BwOgogICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNlX3NldF9w
cm9wZXJ0eSk6CiAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2VfZ2V0X3Byb3BlcnR5
KToKICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RP
YmouY3BwOgogICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3ZvaWRfbWV0aG9kKToKICAgICAg
ICAod2Via2l0X2RvbV90ZXN0X29ial92b2lkX21ldGhvZF93aXRoX2FyZ3MpOgogICAgICAgICh3
ZWJraXRfZG9tX3Rlc3Rfb2JqX2ludF9tZXRob2QpOgogICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rf
b2JqX2ludF9tZXRob2Rfd2l0aF9hcmdzKToKICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9v
YmpfbWV0aG9kKToKICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9vYmpfbWV0aG9kX3dpdGhf
YXJncyk6CiAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3RoYXRfcmVxdWlyZXNf
YWxsX2FyZ3MpOgogICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF90aGF0X3JlcXVp
cmVzX2FsbF9hcmdzX2FuZF90aHJvd3MpOgogICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3Nl
cmlhbGl6ZWRfdmFsdWUpOgogICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF93aXRo
X2V4Y2VwdGlvbik6CiAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9keW5hbWljX2Zy
YW1lKToKICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial93aXRoX2R5bmFtaWNfZnJhbWVfYW5k
X2FyZyk6CiAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9keW5hbWljX2ZyYW1lX2Fu
ZF9vcHRpb25hbF9hcmcpOgogICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfZHluYW1p
Y19mcmFtZV9hbmRfdXNlcl9nZXN0dXJlKToKICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial93
aXRoX2R5bmFtaWNfZnJhbWVfYW5kX3VzZXJfZ2VzdHVyZV9hc2FkKToKICAgICAgICAod2Via2l0
X2RvbV90ZXN0X29ial93aXRoX3NjcmlwdF9zdGF0ZV92b2lkKToKICAgICAgICAod2Via2l0X2Rv
bV90ZXN0X29ial93aXRoX3NjcmlwdF9zdGF0ZV9vYmopOgogICAgICAgICh3ZWJraXRfZG9tX3Rl
c3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX3ZvaWRfZXhjZXB0aW9uKToKICAgICAgICAod2Via2l0
X2RvbV90ZXN0X29ial93aXRoX3NjcmlwdF9zdGF0ZV9vYmpfZXhjZXB0aW9uKToKICAgICAgICAo
d2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0aF9vcHRpb25hbF9hcmcpOgogICAgICAgICh3
ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF93aXRoX25vbl9vcHRpb25hbF9hcmdfYW5kX29wdGlv
bmFsX2FyZyk6CiAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfbm9uX29w
dGlvbmFsX2FyZ19hbmRfdHdvX29wdGlvbmFsX2FyZ3MpOgogICAgICAgICh3ZWJraXRfZG9tX3Rl
c3Rfb2JqX2dldF9yZWFkX29ubHlfaW50X2F0dHIpOgogICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rf
b2JqX2dldF9yZWFkX29ubHlfc3RyaW5nX2F0dHIpOgogICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rf
b2JqX2dldF9yZWFkX29ubHlfdGVzdF9vYmpfYXR0cik6CiAgICAgICAgKHdlYmtpdF9kb21fdGVz
dF9vYmpfZ2V0X2ludF9hdHRyKToKICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9zZXRfaW50
X2F0dHIpOgogICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9sb25nX2xvbmdfYXR0cik6
CiAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2xvbmdfbG9uZ19hdHRyKToKICAgICAg
ICAod2Via2l0X2RvbV90ZXN0X29ial9nZXRfdW5zaWduZWRfbG9uZ19sb25nX2F0dHIpOgogICAg
ICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF91bnNpZ25lZF9sb25nX2xvbmdfYXR0cik6CiAg
ICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3N0cmluZ19hdHRyKToKICAgICAgICAod2Vi
a2l0X2RvbV90ZXN0X29ial9zZXRfc3RyaW5nX2F0dHIpOgogICAgICAgICh3ZWJraXRfZG9tX3Rl
c3Rfb2JqX2dldF90ZXN0X29ial9hdHRyKToKICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9z
ZXRfdGVzdF9vYmpfYXR0cik6CiAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2F0dHJf
d2l0aF9leGNlcHRpb24pOgogICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9hdHRyX3dp
dGhfZXhjZXB0aW9uKToKICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9nZXRfYXR0cl93aXRo
X3NldHRlcl9leGNlcHRpb24pOgogICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9hdHRy
X3dpdGhfc2V0dGVyX2V4Y2VwdGlvbik6CiAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0
X2F0dHJfd2l0aF9nZXR0ZXJfZXhjZXB0aW9uKToKICAgICAgICAod2Via2l0X2RvbV90ZXN0X29i
al9zZXRfYXR0cl93aXRoX2dldHRlcl9leGNlcHRpb24pOgogICAgICAgICh3ZWJraXRfZG9tX3Rl
c3Rfb2JqX2dldF9zY3JpcHRfc3RyaW5nX2F0dHIpOgogICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rf
b2JqX3NldF9wcm9wZXJ0eSk6CiAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3Byb3Bl
cnR5KToKICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9jbGFzc19pbml0KToKLS0tCiBXZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0gICB8ICAgMTcgKy0K
IC4uLi9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2suY3BwIHwgICAx
NyArLQogLi4uL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5oICAg
fCAgICA2ICstCiAuLi4vdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RJbnRlcmZhY2UuY3BwICAg
ICAgICB8ICAgIDggKy0KIC4uLi9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2Jq
LmNwcCAgICAgIHwgIDIzOCArKysrKysrKy0tLS0tLS0tLS0tLQogLi4uL3NjcmlwdHMvdGVzdC9H
T2JqZWN0L1dlYktpdERPTVRlc3RPYmouaCAgICAgICAgfCAgIDg0ICsrKystLS0tCiA2IGZpbGVz
IGNoYW5nZWQsIDE2NCBpbnNlcnRpb25zKCspLCAyMDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtIGIvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCmluZGV4IGU3ODg2
NTcuLjY4NDUxMTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yR09iamVjdC5wbQorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckdPYmplY3QucG0KQEAgLTM2Miw3ICszNjIsNyBAQCBzdWIgR2VuZXJhdGVQcm9wZXJ0eSB7
CiAgICAgfQogCiAgICAgaWYgKGdyZXAgeyRfIGVxICRhdHRyaWJ1dGV9IEB3cml0ZWFibGVQcm9w
ZXJ0aWVzKSB7Ci0gICAgICAgIHB1c2goQHR4dFNldFByb3BzLCAiICAgY2FzZSAke3Byb3BFbnVt
fTpcbiAgICB7XG4iKTsKKyAgICAgICAgcHVzaChAdHh0U2V0UHJvcHMsICIgICAgY2FzZSAke3By
b3BFbnVtfTpcbiAgICB7XG4iKTsKICAgICAgICAgcHVzaChAdHh0U2V0UHJvcHMsICIgICAgICAg
IFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwO1xuIikgaWYgQHskYXR0cmlidXRlLT5zZXR0
ZXJFeGNlcHRpb25zfTsKICAgICAgICAgcHVzaChAdHh0U2V0UHJvcHMsICIgICAgICAgICR7c2V0
dGVyQ29udGVudEhlYWR9Iik7CiAgICAgICAgIHB1c2goQHR4dFNldFByb3BzLCAiLCBlYyIpIGlm
IEB7JGF0dHJpYnV0ZS0+c2V0dGVyRXhjZXB0aW9uc307CkBAIC0zNzAsNyArMzcwLDcgQEAgc3Vi
IEdlbmVyYXRlUHJvcGVydHkgewogICAgICAgICBwdXNoKEB0eHRTZXRQcm9wcywgIiAgICAgICAg
YnJlYWs7XG4gICAgfVxuIik7CiAgICAgfQogCi0gICAgcHVzaChAdHh0R2V0UHJvcHMsICIgICBj
YXNlICR7cHJvcEVudW19OlxuICAgIHtcbiIpOworICAgIHB1c2goQHR4dEdldFByb3BzLCAiICAg
IGNhc2UgJHtwcm9wRW51bX06XG4gICAge1xuIik7CiAKICAgICBteSAkZXhjZXB0aW9uID0gIiI7
CiAgICAgaWYgKEB7JGF0dHJpYnV0ZS0+Z2V0dGVyRXhjZXB0aW9uc30pIHsKQEAgLTU1MCw3ICs1
NTAsNyBAQCBFT0YKIAogICAgIGlmIChzY2FsYXIgQHdyaXRlYWJsZVByb3BlcnRpZXMgPiAwKSB7
CiAgICAgICAgICR0eHRTZXRQcm9wcyA9IDw8ICJFT0YiOwotICAgICR7Y2xhc3NOYW1lfSAqc2Vs
ZiA9IFdFQktJVF9ET01fJHtjbHNDYXBzfShvYmplY3QpOworICAgICR7Y2xhc3NOYW1lfSogc2Vs
ZiA9IFdFQktJVF9ET01fJHtjbHNDYXBzfShvYmplY3QpOwogICAgICRwcml2RnVuY3Rpb24KIEVP
RgogICAgICAgICBwdXNoKEB0eHRTZXRQcm9wcywgJHR4dFNldFByb3BzKTsKQEAgLTU4OSw2ICs1
ODksOSBAQCBFT0YKIEVPRgogICAgIHB1c2goQHR4dFNldFByb3BzLCAkdHh0U2V0UHJvcHMpOwog
CisgICAgIyBEbyBub3QgaW5zZXJ0IGV4dHJhIHNwYWNlcyB3aGVuIGludGVycG9sYXRpbmcgYXJy
YXkgdmFyaWFibGVzCisgICAgJCIgPSAiIjsKKwogICAgICRpbXBsQ29udGVudCA9IDw8ICJFT0Yi
OwogCiBzdGF0aWMgdm9pZCAke2xvd2VyQ2FzZUlmYWNlTmFtZX1fZmluYWxpemUoR09iamVjdCog
b2JqZWN0KQpAQCAtNzQ5LDcgKzc1Miw3IEBAIHN1YiBHZW5lcmF0ZUZ1bmN0aW9uIHsKICAgICBt
eSAkcmV0dXJuVHlwZSA9IEdldEdsaWJUeXBlTmFtZSgkZnVuY3Rpb25TaWdUeXBlKTsKICAgICBt
eSAkcmV0dXJuVmFsdWVJc0dET01UeXBlID0gSXNHRE9NQ2xhc3NUeXBlKCRmdW5jdGlvblNpZ1R5
cGUpOwogCi0gICAgbXkgJGZ1bmN0aW9uU2lnID0gIiRjbGFzc05hbWUgKnNlbGYiOworICAgIG15
ICRmdW5jdGlvblNpZyA9ICIke2NsYXNzTmFtZX0qIHNlbGYiOwogCiAgICAgbXkgJGNhbGxJbXBs
UGFyYW1zID0gIiI7CiAKQEAgLTgwMSw4ICs4MDQsOCBAQCBzdWIgR2VuZXJhdGVGdW5jdGlvbiB7
CiAgICAgICAgICRmdW5jdGlvblNpZyAuPSAiLCBHRXJyb3IgKiplcnJvciI7CiAgICAgfQogCi0g
ICAgcHVzaChAaEJvZHksICJXRUJLSVRfQVBJICRyZXR1cm5UeXBlXG4kZnVuY3Rpb25OYW1lICgk
ZnVuY3Rpb25TaWcpO1xuXG4iKTsKLSAgICBwdXNoKEBjQm9keSwgIiRyZXR1cm5UeXBlXG4kZnVu
Y3Rpb25OYW1lICgkZnVuY3Rpb25TaWcpXG57XG4iKTsKKyAgICBwdXNoKEBoQm9keSwgIldFQktJ
VF9BUEkgJHJldHVyblR5cGVcbiRmdW5jdGlvbk5hbWUoJGZ1bmN0aW9uU2lnKTtcblxuIik7Cisg
ICAgcHVzaChAY0JvZHksICIkcmV0dXJuVHlwZVxuJGZ1bmN0aW9uTmFtZSgkZnVuY3Rpb25TaWcp
XG57XG4iKTsKICAgICBwdXNoKEBjQm9keSwgIiAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxs
U3RhdGUgc3RhdGU7XG4iKTsKIAogICAgIGlmICgkY29uZGl0aW9uYWxNZXRob2RzeyRmdW5jdGlv
bk5hbWV9KSB7CkBAIC05NzIsNyArOTc1LDcgQEAgRU9GCiAgICAgICAgIHB1c2goQGNCb2R5LCAi
I2VuZGlmXG4iKTsKICAgICB9CiAKLSAgICBwdXNoKEBjQm9keSwgIlxufVxuXG4iKTsKKyAgICBw
dXNoKEBjQm9keSwgIn1cblxuIik7CiB9CiAKIHN1YiBDbGFzc0hhc0Z1bmN0aW9uIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVz
dENhbGxiYWNrLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdENhbGxiYWNrLmNwcAppbmRleCA4M2U4N2M1Li5lMzIwNDRlIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxs
YmFjay5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0Q2FsbGJhY2suY3BwCkBAIC01NCw3ICs1NCw3IEBAIGdwb2ludGVyIGtpdChXZWJD
b3JlOjpUZXN0Q2FsbGJhY2sqIG9iaikKIH0gLy8gbmFtZXNwYWNlIFdlYktpdCAvLwogCiBnYm9v
bGVhbgotd2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfY2xhc3MxcGFyYW0g
KFdlYktpdERPTVRlc3RDYWxsYmFjayAqc2VsZiwgV2ViS2l0RE9NQ2xhc3MxKiAgY2xhc3MxcGFy
YW0pCit3ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfY2FsbGJhY2tfd2l0aF9jbGFzczFwYXJhbShX
ZWJLaXRET01UZXN0Q2FsbGJhY2sqIHNlbGYsIFdlYktpdERPTUNsYXNzMSogIGNsYXNzMXBhcmFt
KQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3Jl
dHVybl92YWxfaWZfZmFpbCAoc2VsZiwgMCk7CkBAIC02NCwxMSArNjQsMTAgQEAgd2Via2l0X2Rv
bV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfY2xhc3MxcGFyYW0gKFdlYktpdERPTVRlc3RD
YWxsYmFjayAqc2VsZiwKICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoX2dfY2xhc3MxcGFyYW0s
IDApOwogICAgIGdib29sZWFuIHJlcyA9IGl0ZW0tPmNhbGxiYWNrV2l0aENsYXNzMVBhcmFtKF9n
X2NsYXNzMXBhcmFtKTsKICAgICByZXR1cm4gcmVzOwotCiB9CiAKIGdib29sZWFuCi13ZWJraXRf
ZG9tX3Rlc3RfY2FsbGJhY2tfY2FsbGJhY2tfd2l0aF9jbGFzczJwYXJhbSAoV2ViS2l0RE9NVGVz
dENhbGxiYWNrICpzZWxmLCBXZWJLaXRET01DbGFzczIqICBjbGFzczJwYXJhbSwgZ2NoYXIqICBz
dHJfYXJnKQord2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfY2xhc3MycGFy
YW0oV2ViS2l0RE9NVGVzdENhbGxiYWNrKiBzZWxmLCBXZWJLaXRET01DbGFzczIqICBjbGFzczJw
YXJhbSwgZ2NoYXIqICBzdHJfYXJnKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxT
dGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoc2VsZiwgMCk7CkBAIC04MCwx
MSArNzksMTAgQEAgd2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfY2xhc3My
cGFyYW0gKFdlYktpdERPTVRlc3RDYWxsYmFjayAqc2VsZiwKICAgICBXZWJDb3JlOjpTdHJpbmcg
X2dfc3RyX2FyZyA9IFdlYkNvcmU6OlN0cmluZzo6ZnJvbVVURjgoc3RyX2FyZyk7CiAgICAgZ2Jv
b2xlYW4gcmVzID0gaXRlbS0+Y2FsbGJhY2tXaXRoQ2xhc3MyUGFyYW0oX2dfY2xhc3MycGFyYW0s
IF9nX3N0cl9hcmcpOwogICAgIHJldHVybiByZXM7Ci0KIH0KIAogZ2xvbmcKLXdlYmtpdF9kb21f
dGVzdF9jYWxsYmFja19jYWxsYmFja193aXRoX25vbl9ib29sX3JldHVybl90eXBlIChXZWJLaXRE
T01UZXN0Q2FsbGJhY2sgKnNlbGYsIFdlYktpdERPTUNsYXNzMyogIGNsYXNzM3BhcmFtKQord2Vi
a2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfbm9uX2Jvb2xfcmV0dXJuX3R5cGUo
V2ViS2l0RE9NVGVzdENhbGxiYWNrKiBzZWxmLCBXZWJLaXRET01DbGFzczMqICBjbGFzczNwYXJh
bSkKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwgKHNlbGYsIDApOwpAQCAtOTQsNyArOTIsNiBAQCB3ZWJraXRfZG9t
X3Rlc3RfY2FsbGJhY2tfY2FsbGJhY2tfd2l0aF9ub25fYm9vbF9yZXR1cm5fdHlwZSAoV2ViS2l0
RE9NVGVzdENhbGxiYQogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChfZ19jbGFzczNwYXJhbSwg
MCk7CiAgICAgZ2xvbmcgcmVzID0gaXRlbS0+Y2FsbGJhY2tXaXRoTm9uQm9vbFJldHVyblR5cGUo
X2dfY2xhc3MzcGFyYW0pOwogICAgIHJldHVybiByZXM7Ci0KIH0KIAogCkBAIC0xMzcsOCArMTM0
LDggQEAgc3RhdGljIHZvaWQgd2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2ZpbmFsaXplKEdPYmpl
Y3QqIG9iamVjdCkKIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9jYWxsYmFja19zZXRfcHJv
cGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wX2lkLCBjb25zdCBHVmFsdWUqIHZhbHVl
LCBHUGFyYW1TcGVjKiBwc3BlYykKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3Rh
dGUgc3RhdGU7Ci0gICAgIHN3aXRjaCAocHJvcF9pZCkgewotICAgICBkZWZhdWx0OgorICAgIHN3
aXRjaCAocHJvcF9pZCkgeworICAgIGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dBUk5fSU5W
QUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BfaWQsIHBzcGVjKTsKICAgICAgICAgYnJlYWs7
CiAgICAgfQpAQCAtMTQ4LDggKzE0NSw4IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9j
YWxsYmFja19zZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wX2lkCiBzdGF0
aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfZ2V0X3Byb3BlcnR5KEdPYmplY3QqIG9i
amVjdCwgZ3VpbnQgcHJvcF9pZCwgR1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3BlYyogcHNwZWMpCiB7
CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwotICAgICBzd2l0Y2gg
KHByb3BfaWQpIHsKLSAgICAgZGVmYXVsdDoKKyAgICBzd2l0Y2ggKHByb3BfaWQpIHsKKyAgICBk
ZWZhdWx0OgogICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0
LCBwcm9wX2lkLCBwc3BlYyk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdENhbGxiYWNr
LmggYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RD
YWxsYmFjay5oCmluZGV4IDA4OGM0NTcuLmNmYzg4M2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdENhbGxiYWNrLmgKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJh
Y2suaApAQCAtNDcsMTMgKzQ3LDEzIEBAIFdFQktJVF9BUEkgR1R5cGUKIHdlYmtpdF9kb21fdGVz
dF9jYWxsYmFja19nZXRfdHlwZSAodm9pZCk7CiAKIFdFQktJVF9BUEkgZ2Jvb2xlYW4KLXdlYmtp
dF9kb21fdGVzdF9jYWxsYmFja19jYWxsYmFja193aXRoX2NsYXNzMXBhcmFtIChXZWJLaXRET01U
ZXN0Q2FsbGJhY2sgKnNlbGYsIFdlYktpdERPTUNsYXNzMSogIGNsYXNzMXBhcmFtKTsKK3dlYmtp
dF9kb21fdGVzdF9jYWxsYmFja19jYWxsYmFja193aXRoX2NsYXNzMXBhcmFtKFdlYktpdERPTVRl
c3RDYWxsYmFjayogc2VsZiwgV2ViS2l0RE9NQ2xhc3MxKiAgY2xhc3MxcGFyYW0pOwogCiBXRUJL
SVRfQVBJIGdib29sZWFuCi13ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfY2FsbGJhY2tfd2l0aF9j
bGFzczJwYXJhbSAoV2ViS2l0RE9NVGVzdENhbGxiYWNrICpzZWxmLCBXZWJLaXRET01DbGFzczIq
ICBjbGFzczJwYXJhbSwgZ2NoYXIqICBzdHJfYXJnKTsKK3dlYmtpdF9kb21fdGVzdF9jYWxsYmFj
a19jYWxsYmFja193aXRoX2NsYXNzMnBhcmFtKFdlYktpdERPTVRlc3RDYWxsYmFjayogc2VsZiwg
V2ViS2l0RE9NQ2xhc3MyKiAgY2xhc3MycGFyYW0sIGdjaGFyKiAgc3RyX2FyZyk7CiAKIFdFQktJ
VF9BUEkgZ2xvbmcKLXdlYmtpdF9kb21fdGVzdF9jYWxsYmFja19jYWxsYmFja193aXRoX25vbl9i
b29sX3JldHVybl90eXBlIChXZWJLaXRET01UZXN0Q2FsbGJhY2sgKnNlbGYsIFdlYktpdERPTUNs
YXNzMyogIGNsYXNzM3BhcmFtKTsKK3dlYmtpdF9kb21fdGVzdF9jYWxsYmFja19jYWxsYmFja193
aXRoX25vbl9ib29sX3JldHVybl90eXBlKFdlYktpdERPTVRlc3RDYWxsYmFjayogc2VsZiwgV2Vi
S2l0RE9NQ2xhc3MzKiAgY2xhc3MzcGFyYW0pOwogCiBHX0VORF9ERUNMUwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RJbnRl
cmZhY2UuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0SW50ZXJmYWNlLmNwcAppbmRleCAxZWM2ZTYyLi4yNjZlMmJkIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RJbnRlcmZh
Y2UuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdEludGVyZmFjZS5jcHAKQEAgLTg3LDggKzg3LDggQEAgc3RhdGljIHZvaWQgd2Via2l0
X2RvbV90ZXN0X2ludGVyZmFjZV9maW5hbGl6ZShHT2JqZWN0KiBvYmplY3QpCiBzdGF0aWMgdm9p
ZCB3ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNlX3NldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3Qs
IGd1aW50IHByb3BfaWQsIGNvbnN0IEdWYWx1ZSogdmFsdWUsIEdQYXJhbVNwZWMqIHBzcGVjKQog
ewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICAgc3dpdGNo
IChwcm9wX2lkKSB7Ci0gICAgIGRlZmF1bHQ6CisgICAgc3dpdGNoIChwcm9wX2lkKSB7CisgICAg
ZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVj
dCwgcHJvcF9pZCwgcHNwZWMpOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC05OCw4ICs5OCw4
IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2Vfc2V0X3Byb3BlcnR5KEdP
YmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pCiBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3Rf
aW50ZXJmYWNlX2dldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BfaWQsIEdW
YWx1ZSogdmFsdWUsIEdQYXJhbVNwZWMqIHBzcGVjKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRo
cmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICAgc3dpdGNoIChwcm9wX2lkKSB7Ci0gICAgIGRlZmF1
bHQ6CisgICAgc3dpdGNoIChwcm9wX2lkKSB7CisgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpF
Q1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOwogICAg
ICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcAppbmRleCBkMTIyMThiLi45ZTc3
NGI3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dl
YktpdERPTVRlc3RPYmouY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKQEAgLTUwLDE3ICs1MCwxNiBAQCBncG9pbnRlciBr
aXQoV2ViQ29yZTo6VGVzdE9iaiogb2JqKQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0IC8vCiAKIHZv
aWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfdm9pZF9tZXRob2QgKFdlYktpdERPTVRlc3RPYmogKnNl
bGYpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3ZvaWRfbWV0aG9kKFdlYktpdERPTVRlc3RPYmoqIHNl
bGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdf
cmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2Vi
S2l0Ojpjb3JlKHNlbGYpOwogICAgIGl0ZW0tPnZvaWRNZXRob2QoKTsKLQogfQogCiB2b2lkCi13
ZWJraXRfZG9tX3Rlc3Rfb2JqX3ZvaWRfbWV0aG9kX3dpdGhfYXJncyAoV2ViS2l0RE9NVGVzdE9i
aiAqc2VsZiwgZ2xvbmcgaW50X2FyZywgZ2NoYXIqICBzdHJfYXJnLCBXZWJLaXRET01UZXN0T2Jq
KiAgb2JqX2FyZykKK3dlYmtpdF9kb21fdGVzdF9vYmpfdm9pZF9tZXRob2Rfd2l0aF9hcmdzKFdl
YktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIGludF9hcmcsIGdjaGFyKiAgc3RyX2FyZywgV2Vi
S2l0RE9NVGVzdE9iaiogIG9ial9hcmcpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVs
bFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwpAQCAtNzEsMjIgKzcw
LDIwIEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfdm9pZF9tZXRob2Rfd2l0aF9hcmdzIChXZWJLaXRE
T01UZXN0T2JqICpzZWxmLCBnbG9uZyBpbnRfYXJnCiAgICAgV2ViQ29yZTo6VGVzdE9iaiAqIF9n
X29ial9hcmcgPSBXZWJLaXQ6OmNvcmUob2JqX2FyZyk7CiAgICAgZ19yZXR1cm5faWZfZmFpbCAo
X2dfb2JqX2FyZyk7CiAgICAgaXRlbS0+dm9pZE1ldGhvZFdpdGhBcmdzKGludF9hcmcsIF9nX3N0
cl9hcmcsIF9nX29ial9hcmcpOwotCiB9CiAKIGdsb25nCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2lu
dF9tZXRob2QgKFdlYktpdERPTVRlc3RPYmogKnNlbGYpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2lu
dF9tZXRob2QoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5U
aHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHNlbGYsIDAp
OwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAg
IGdsb25nIHJlcyA9IGl0ZW0tPmludE1ldGhvZCgpOwogICAgIHJldHVybiByZXM7Ci0KIH0KIAog
Z2xvbmcKLXdlYmtpdF9kb21fdGVzdF9vYmpfaW50X21ldGhvZF93aXRoX2FyZ3MgKFdlYktpdERP
TVRlc3RPYmogKnNlbGYsIGdsb25nIGludF9hcmcsIGdjaGFyKiAgc3RyX2FyZywgV2ViS2l0RE9N
VGVzdE9iaiogIG9ial9hcmcpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2ludF9tZXRob2Rfd2l0aF9h
cmdzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIGludF9hcmcsIGdjaGFyKiAgc3RyX2Fy
ZywgV2ViS2l0RE9NVGVzdE9iaiogIG9ial9hcmcpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhy
ZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChzZWxmLCAwKTsK
QEAgLTk4LDExICs5NSwxMCBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2ludF9tZXRob2Rfd2l0aF9h
cmdzIChXZWJLaXRET01UZXN0T2JqICpzZWxmLCBnbG9uZyBpbnRfYXJnLAogICAgIGdfcmV0dXJu
X3ZhbF9pZl9mYWlsIChfZ19vYmpfYXJnLCAwKTsKICAgICBnbG9uZyByZXMgPSBpdGVtLT5pbnRN
ZXRob2RXaXRoQXJncyhpbnRfYXJnLCBfZ19zdHJfYXJnLCBfZ19vYmpfYXJnKTsKICAgICByZXR1
cm4gcmVzOwotCiB9CiAKIFdlYktpdERPTVRlc3RPYmoqIAotd2Via2l0X2RvbV90ZXN0X29ial9v
YmpfbWV0aG9kIChXZWJLaXRET01UZXN0T2JqICpzZWxmKQord2Via2l0X2RvbV90ZXN0X29ial9v
YmpfbWV0aG9kKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWlu
VGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChzZWxmLCAw
KTsKQEAgLTExMCwxMSArMTA2LDEwIEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfb2JqX21ldGhvZCAo
V2ViS2l0RE9NVGVzdE9iaiAqc2VsZikKICAgICBQYXNzUmVmUHRyPFdlYkNvcmU6OlRlc3RPYmo+
IGdfcmVzID0gV1RGOjpnZXRQdHIoaXRlbS0+b2JqTWV0aG9kKCkpOwogICAgIFdlYktpdERPTVRl
c3RPYmoqICByZXMgPSBzdGF0aWNfY2FzdDxXZWJLaXRET01UZXN0T2JqKiA+KFdlYktpdDo6a2l0
KGdfcmVzLmdldCgpKSk7CiAgICAgcmV0dXJuIHJlczsKLQogfQogCiBXZWJLaXRET01UZXN0T2Jq
KiAKLXdlYmtpdF9kb21fdGVzdF9vYmpfb2JqX21ldGhvZF93aXRoX2FyZ3MgKFdlYktpdERPTVRl
c3RPYmogKnNlbGYsIGdsb25nIGludF9hcmcsIGdjaGFyKiAgc3RyX2FyZywgV2ViS2l0RE9NVGVz
dE9iaiogIG9ial9hcmcpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX29ial9tZXRob2Rfd2l0aF9hcmdz
KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIGludF9hcmcsIGdjaGFyKiAgc3RyX2FyZywg
V2ViS2l0RE9NVGVzdE9iaiogIG9ial9hcmcpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFk
TnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChzZWxmLCAwKTsKQEAg
LTEyNywxMSArMTIyLDEwIEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfb2JqX21ldGhvZF93aXRoX2Fy
Z3MgKFdlYktpdERPTVRlc3RPYmogKnNlbGYsIGdsb25nIGludF9hcmcsCiAgICAgUGFzc1JlZlB0
cjxXZWJDb3JlOjpUZXN0T2JqPiBnX3JlcyA9IFdURjo6Z2V0UHRyKGl0ZW0tPm9iak1ldGhvZFdp
dGhBcmdzKGludF9hcmcsIF9nX3N0cl9hcmcsIF9nX29ial9hcmcpKTsKICAgICBXZWJLaXRET01U
ZXN0T2JqKiAgcmVzID0gc3RhdGljX2Nhc3Q8V2ViS2l0RE9NVGVzdE9iaiogPihXZWJLaXQ6Omtp
dChnX3Jlcy5nZXQoKSkpOwogICAgIHJldHVybiByZXM7Ci0KIH0KIAogV2ViS2l0RE9NVGVzdE9i
aiogCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF90aGF0X3JlcXVpcmVzX2FsbF9hcmdzIChX
ZWJLaXRET01UZXN0T2JqICpzZWxmLCBnY2hhciogIHN0cl9hcmcsIFdlYktpdERPTVRlc3RPYmoq
ICBvYmpfYXJnKQord2Via2l0X2RvbV90ZXN0X29ial9tZXRob2RfdGhhdF9yZXF1aXJlc19hbGxf
YXJncyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnY2hhciogIHN0cl9hcmcsIFdlYktpdERPTVRl
c3RPYmoqICBvYmpfYXJnKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBz
dGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoc2VsZiwgMCk7CkBAIC0xNDQsMTEgKzEz
OCwxMCBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF90aGF0X3JlcXVpcmVzX2FsbF9hcmdz
IChXZWJLaXRET01UZXN0T2JqICpzZWxmLCBnY2hhcgogICAgIFBhc3NSZWZQdHI8V2ViQ29yZTo6
VGVzdE9iaj4gZ19yZXMgPSBXVEY6OmdldFB0cihpdGVtLT5tZXRob2RUaGF0UmVxdWlyZXNBbGxB
cmdzKF9nX3N0cl9hcmcsIF9nX29ial9hcmcpKTsKICAgICBXZWJLaXRET01UZXN0T2JqKiAgcmVz
ID0gc3RhdGljX2Nhc3Q8V2ViS2l0RE9NVGVzdE9iaiogPihXZWJLaXQ6OmtpdChnX3Jlcy5nZXQo
KSkpOwogICAgIHJldHVybiByZXM7Ci0KIH0KIAogV2ViS2l0RE9NVGVzdE9iaiogCi13ZWJraXRf
ZG9tX3Rlc3Rfb2JqX21ldGhvZF90aGF0X3JlcXVpcmVzX2FsbF9hcmdzX2FuZF90aHJvd3MgKFdl
YktpdERPTVRlc3RPYmogKnNlbGYsIGdjaGFyKiAgc3RyX2FyZywgV2ViS2l0RE9NVGVzdE9iaiog
IG9ial9hcmcsIEdFcnJvciAqKmVycm9yKQord2Via2l0X2RvbV90ZXN0X29ial9tZXRob2RfdGhh
dF9yZXF1aXJlc19hbGxfYXJnc19hbmRfdGhyb3dzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdj
aGFyKiAgc3RyX2FyZywgV2ViS2l0RE9NVGVzdE9iaiogIG9ial9hcmcsIEdFcnJvciAqKmVycm9y
KQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3Jl
dHVybl92YWxfaWZfZmFpbCAoc2VsZiwgMCk7CkBAIC0xNjcsMTEgKzE2MCwxMCBAQCB3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX21ldGhvZF90aGF0X3JlcXVpcmVzX2FsbF9hcmdzX2FuZF90aHJvd3MgKFdl
YktpdERPTVRlc3RPYmogKgogICAgIH0KICAgICBXZWJLaXRET01UZXN0T2JqKiAgcmVzID0gc3Rh
dGljX2Nhc3Q8V2ViS2l0RE9NVGVzdE9iaiogPihXZWJLaXQ6OmtpdChnX3Jlcy5nZXQoKSkpOwog
ICAgIHJldHVybiByZXM7Ci0KIH0KIAogdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXJpYWxp
emVkX3ZhbHVlIChXZWJLaXRET01UZXN0T2JqICpzZWxmLCBXZWJLaXRET01TZXJpYWxpemVkU2Ny
aXB0VmFsdWUqICBzZXJpYWxpemVkX2FyZykKK3dlYmtpdF9kb21fdGVzdF9vYmpfc2VyaWFsaXpl
ZF92YWx1ZShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01TZXJpYWxpemVkU2NyaXB0
VmFsdWUqICBzZXJpYWxpemVkX2FyZykKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxs
U3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbCAoc2VsZik7CkBAIC0xODAsMTEgKzE3
MiwxMCBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NlcmlhbGl6ZWRfdmFsdWUgKFdlYktpdERPTVRl
c3RPYmogKnNlbGYsIFdlYktpdERPTVNlcmlhbGl6ZQogICAgIFdlYkNvcmU6OlNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZSAqIF9nX3NlcmlhbGl6ZWRfYXJnID0gV2ViS2l0Ojpjb3JlKHNlcmlhbGl6ZWRf
YXJnKTsKICAgICBnX3JldHVybl9pZl9mYWlsIChfZ19zZXJpYWxpemVkX2FyZyk7CiAgICAgaXRl
bS0+c2VyaWFsaXplZFZhbHVlKF9nX3NlcmlhbGl6ZWRfYXJnKTsKLQogfQogCiB2b2lkCi13ZWJr
aXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF93aXRoX2V4Y2VwdGlvbiAoV2ViS2l0RE9NVGVzdE9iaiAq
c2VsZiwgR0Vycm9yICoqZXJyb3IpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF93aXRoX2V4
Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBHRXJyb3IgKiplcnJvcikKIHsKICAgICBX
ZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFp
bCAoc2VsZik7CkBAIC0xOTYsNyArMTg3LDYgQEAgd2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rf
d2l0aF9leGNlcHRpb24gKFdlYktpdERPTVRlc3RPYmogKnNlbGYsIEdFcnJvciAqKmVycm8KICAg
ICAgICAgV2ViQ29yZTo6Z2V0RXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKGVjLCBlY2Rlc2MpOwog
ICAgICAgICBnX3NldF9lcnJvcl9saXRlcmFsKGVycm9yLCBnX3F1YXJrX2Zyb21fc3RyaW5nKCJX
RUJLSVRfRE9NIiksIGVjZGVzYy5jb2RlLCBlY2Rlc2MubmFtZSk7CiAgICAgfQotCiB9CiAKIApA
QCAtMjA2LDY3ICsxOTYsNjEgQEAgd2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0aF9leGNl
cHRpb24gKFdlYktpdERPTVRlc3RPYmogKnNlbGYsIEdFcnJvciAqKmVycm8KIC8qIFRPRE86IGV2
ZW50IGZ1bmN0aW9uIHdlYmtpdF9kb21fdGVzdF9vYmpfcmVtb3ZlX2V2ZW50X2xpc3RlbmVyICov
CiAKIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9keW5hbWljX2ZyYW1lIChXZWJLaXRE
T01UZXN0T2JqICpzZWxmKQord2Via2l0X2RvbV90ZXN0X29ial93aXRoX2R5bmFtaWNfZnJhbWUo
V2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxs
U3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbCAoc2VsZik7CiAgICAgV2ViQ29yZTo6
VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CiAgICAgaXRlbS0+d2l0aER5bmFt
aWNGcmFtZSgpOwotCiB9CiAKIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9keW5hbWlj
X2ZyYW1lX2FuZF9hcmcgKFdlYktpdERPTVRlc3RPYmogKnNlbGYsIGdsb25nIGludF9hcmcpCit3
ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfZHluYW1pY19mcmFtZV9hbmRfYXJnKFdlYktpdERPTVRl
c3RPYmoqIHNlbGYsIGdsb25nIGludF9hcmcpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFk
TnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwogICAgIFdlYkNv
cmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIGl0ZW0tPndpdGhE
eW5hbWljRnJhbWVBbmRBcmcoaW50X2FyZyk7Ci0KIH0KIAogdm9pZAotd2Via2l0X2RvbV90ZXN0
X29ial93aXRoX2R5bmFtaWNfZnJhbWVfYW5kX29wdGlvbmFsX2FyZyAoV2ViS2l0RE9NVGVzdE9i
aiAqc2VsZiwgZ2xvbmcgaW50X2FyZywgZ2xvbmcgb3B0aW9uYWxfYXJnKQord2Via2l0X2RvbV90
ZXN0X29ial93aXRoX2R5bmFtaWNfZnJhbWVfYW5kX29wdGlvbmFsX2FyZyhXZWJLaXRET01UZXN0
T2JqKiBzZWxmLCBnbG9uZyBpbnRfYXJnLCBnbG9uZyBvcHRpb25hbF9hcmcpCiB7CiAgICAgV2Vi
Q29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwg
KHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYp
OwogICAgIGl0ZW0tPndpdGhEeW5hbWljRnJhbWVBbmRPcHRpb25hbEFyZyhpbnRfYXJnLCBvcHRp
b25hbF9hcmcpOwotCiB9CiAKIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9keW5hbWlj
X2ZyYW1lX2FuZF91c2VyX2dlc3R1cmUgKFdlYktpdERPTVRlc3RPYmogKnNlbGYsIGdsb25nIGlu
dF9hcmcpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfZHluYW1pY19mcmFtZV9hbmRfdXNlcl9n
ZXN0dXJlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIGludF9hcmcpCiB7CiAgICAgV2Vi
Q29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwg
KHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYp
OwogICAgIGl0ZW0tPndpdGhEeW5hbWljRnJhbWVBbmRVc2VyR2VzdHVyZShpbnRfYXJnKTsKLQog
fQogCiB2b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfZHluYW1pY19mcmFtZV9hbmRfdXNl
cl9nZXN0dXJlX2FzYWQgKFdlYktpdERPTVRlc3RPYmogKnNlbGYsIGdsb25nIGludF9hcmcsIGds
b25nIG9wdGlvbmFsX2FyZykKK3dlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9keW5hbWljX2ZyYW1l
X2FuZF91c2VyX2dlc3R1cmVfYXNhZChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyBpbnRf
YXJnLCBnbG9uZyBvcHRpb25hbF9hcmcpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVs
bFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwogICAgIFdlYkNvcmU6
OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIGl0ZW0tPndpdGhEeW5h
bWljRnJhbWVBbmRVc2VyR2VzdHVyZUFTQUQoaW50X2FyZywgb3B0aW9uYWxfYXJnKTsKLQogfQog
CiB2b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX3ZvaWQgKFdlYktp
dERPTVRlc3RPYmogKnNlbGYpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRl
X3ZvaWQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJl
YWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbCAoc2VsZik7CiAgICAgV2Vi
Q29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CiAgICAgaXRlbS0+d2l0
aFNjcmlwdFN0YXRlVm9pZCgpOwotCiB9CiAKIFdlYktpdERPTVRlc3RPYmoqIAotd2Via2l0X2Rv
bV90ZXN0X29ial93aXRoX3NjcmlwdF9zdGF0ZV9vYmogKFdlYktpdERPTVRlc3RPYmogKnNlbGYp
Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX29iaihXZWJLaXRET01UZXN0
T2JqKiBzZWxmKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsK
ICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoc2VsZiwgMCk7CkBAIC0yNzQsMTEgKzI1OCwxMCBA
QCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX29iaiAoV2ViS2l0RE9NVGVz
dE9iaiAqc2VsZikKICAgICBQYXNzUmVmUHRyPFdlYkNvcmU6OlRlc3RPYmo+IGdfcmVzID0gV1RG
OjpnZXRQdHIoaXRlbS0+d2l0aFNjcmlwdFN0YXRlT2JqKCkpOwogICAgIFdlYktpdERPTVRlc3RP
YmoqICByZXMgPSBzdGF0aWNfY2FzdDxXZWJLaXRET01UZXN0T2JqKiA+KFdlYktpdDo6a2l0KGdf
cmVzLmdldCgpKSk7CiAgICAgcmV0dXJuIHJlczsKLQogfQogCiB2b2lkCi13ZWJraXRfZG9tX3Rl
c3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX3ZvaWRfZXhjZXB0aW9uIChXZWJLaXRET01UZXN0T2Jq
ICpzZWxmLCBHRXJyb3IgKiplcnJvcikKK3dlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRf
c3RhdGVfdm9pZF9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgR0Vycm9yICoqZXJy
b3IpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdf
cmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwpAQCAtMjkwLDExICsyNzMsMTAgQEAgd2Via2l0X2RvbV90
ZXN0X29ial93aXRoX3NjcmlwdF9zdGF0ZV92b2lkX2V4Y2VwdGlvbiAoV2ViS2l0RE9NVGVzdE9i
aiAqc2VsZiwgR0UKICAgICAgICAgV2ViQ29yZTo6Z2V0RXhjZXB0aW9uQ29kZURlc2NyaXB0aW9u
KGVjLCBlY2Rlc2MpOwogICAgICAgICBnX3NldF9lcnJvcl9saXRlcmFsKGVycm9yLCBnX3F1YXJr
X2Zyb21fc3RyaW5nKCJXRUJLSVRfRE9NIiksIGVjZGVzYy5jb2RlLCBlY2Rlc2MubmFtZSk7CiAg
ICAgfQotCiB9CiAKIFdlYktpdERPTVRlc3RPYmoqIAotd2Via2l0X2RvbV90ZXN0X29ial93aXRo
X3NjcmlwdF9zdGF0ZV9vYmpfZXhjZXB0aW9uIChXZWJLaXRET01UZXN0T2JqICpzZWxmLCBHRXJy
b3IgKiplcnJvcikKK3dlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRfc3RhdGVfb2JqX2V4
Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBHRXJyb3IgKiplcnJvcikKIHsKICAgICBX
ZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFsX2lm
X2ZhaWwgKHNlbGYsIDApOwpAQCAtMzA4LDYzICsyOTAsNTcgQEAgd2Via2l0X2RvbV90ZXN0X29i
al93aXRoX3NjcmlwdF9zdGF0ZV9vYmpfZXhjZXB0aW9uIChXZWJLaXRET01UZXN0T2JqICpzZWxm
LCBHRXIKICAgICB9CiAgICAgV2ViS2l0RE9NVGVzdE9iaiogIHJlcyA9IHN0YXRpY19jYXN0PFdl
YktpdERPTVRlc3RPYmoqID4oV2ViS2l0OjpraXQoZ19yZXMuZ2V0KCkpKTsKICAgICByZXR1cm4g
cmVzOwotCiB9CiAKIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfb3B0aW9u
YWxfYXJnIChXZWJLaXRET01UZXN0T2JqICpzZWxmLCBnbG9uZyBvcHQpCit3ZWJraXRfZG9tX3Rl
c3Rfb2JqX21ldGhvZF93aXRoX29wdGlvbmFsX2FyZyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBn
bG9uZyBvcHQpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwog
ICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVt
ID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIGl0ZW0tPm1ldGhvZFdpdGhPcHRpb25hbEFyZyhv
cHQpOwotCiB9CiAKIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfbm9uX29w
dGlvbmFsX2FyZ19hbmRfb3B0aW9uYWxfYXJnIChXZWJLaXRET01UZXN0T2JqICpzZWxmLCBnbG9u
ZyBub25fb3B0LCBnbG9uZyBvcHQpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF93aXRoX25v
bl9vcHRpb25hbF9hcmdfYW5kX29wdGlvbmFsX2FyZyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBn
bG9uZyBub25fb3B0LCBnbG9uZyBvcHQpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVs
bFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwogICAgIFdlYkNvcmU6
OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIGl0ZW0tPm1ldGhvZFdp
dGhOb25PcHRpb25hbEFyZ0FuZE9wdGlvbmFsQXJnKG5vbl9vcHQsIG9wdCk7Ci0KIH0KIAogdm9p
ZAotd2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0aF9ub25fb3B0aW9uYWxfYXJnX2FuZF90
d29fb3B0aW9uYWxfYXJncyAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZiwgZ2xvbmcgbm9uX29wdCwg
Z2xvbmcgb3B0MSwgZ2xvbmcgb3B0MikKK3dlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhf
bm9uX29wdGlvbmFsX2FyZ19hbmRfdHdvX29wdGlvbmFsX2FyZ3MoV2ViS2l0RE9NVGVzdE9iaiog
c2VsZiwgZ2xvbmcgbm9uX29wdCwgZ2xvbmcgb3B0MSwgZ2xvbmcgb3B0MikKIHsKICAgICBXZWJD
b3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbCAo
c2VsZik7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7
CiAgICAgaXRlbS0+bWV0aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kVHdvT3B0aW9uYWxBcmdzKG5v
bl9vcHQsIG9wdDEsIG9wdDIpOwotCiB9CiAKIGdsb25nCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dl
dF9yZWFkX29ubHlfaW50X2F0dHIgKFdlYktpdERPTVRlc3RPYmogKnNlbGYpCit3ZWJraXRfZG9t
X3Rlc3Rfb2JqX2dldF9yZWFkX29ubHlfaW50X2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikK
IHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1
cm5fdmFsX2lmX2ZhaWwgKHNlbGYsIDApOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0g
V2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIGdsb25nIHJlcyA9IGl0ZW0tPnJlYWRPbmx5SW50QXR0
cigpOwogICAgIHJldHVybiByZXM7Ci0KIH0KIAogZ2NoYXIqIAotd2Via2l0X2RvbV90ZXN0X29i
al9nZXRfcmVhZF9vbmx5X3N0cmluZ19hdHRyIChXZWJLaXRET01UZXN0T2JqICpzZWxmKQord2Vi
a2l0X2RvbV90ZXN0X29ial9nZXRfcmVhZF9vbmx5X3N0cmluZ19hdHRyKFdlYktpdERPTVRlc3RP
YmoqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwog
ICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChzZWxmLCAwKTsKICAgICBXZWJDb3JlOjpUZXN0T2Jq
ICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKICAgICBnY2hhciogIHJlcyA9IGNvbnZlcnRU
b1VURjhTdHJpbmcoaXRlbS0+cmVhZE9ubHlTdHJpbmdBdHRyKCkpOwogICAgIHJldHVybiByZXM7
Ci0KIH0KIAogV2ViS2l0RE9NVGVzdE9iaiogCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWFk
X29ubHlfdGVzdF9vYmpfYXR0ciAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZikKK3dlYmtpdF9kb21f
dGVzdF9vYmpfZ2V0X3JlYWRfb25seV90ZXN0X29ial9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNl
bGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdf
cmV0dXJuX3ZhbF9pZl9mYWlsIChzZWxmLCAwKTsKQEAgLTM3Miw4NSArMzQ4LDc3IEBAIHdlYmtp
dF9kb21fdGVzdF9vYmpfZ2V0X3JlYWRfb25seV90ZXN0X29ial9hdHRyIChXZWJLaXRET01UZXN0
T2JqICpzZWxmKQogICAgIFBhc3NSZWZQdHI8V2ViQ29yZTo6VGVzdE9iaj4gZ19yZXMgPSBXVEY6
OmdldFB0cihpdGVtLT5yZWFkT25seVRlc3RPYmpBdHRyKCkpOwogICAgIFdlYktpdERPTVRlc3RP
YmoqICByZXMgPSBzdGF0aWNfY2FzdDxXZWJLaXRET01UZXN0T2JqKiA+KFdlYktpdDo6a2l0KGdf
cmVzLmdldCgpKSk7CiAgICAgcmV0dXJuIHJlczsKLQogfQogCiBnbG9uZwotd2Via2l0X2RvbV90
ZXN0X29ial9nZXRfaW50X2F0dHIgKFdlYktpdERPTVRlc3RPYmogKnNlbGYpCit3ZWJraXRfZG9t
X3Rlc3Rfb2JqX2dldF9pbnRfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogICAgIFdl
YkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZf
ZmFpbCAoc2VsZiwgMCk7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNv
cmUoc2VsZik7CiAgICAgZ2xvbmcgcmVzID0gaXRlbS0+aW50QXR0cigpOwogICAgIHJldHVybiBy
ZXM7Ci0KIH0KIAogdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfaW50X2F0dHIgKFdlYktp
dERPTVRlc3RPYmogKnNlbGYsIGdsb25nIHZhbHVlKQord2Via2l0X2RvbV90ZXN0X29ial9zZXRf
aW50X2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgdmFsdWUpCiB7CiAgICAgV2Vi
Q29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwg
KHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYp
OwogICAgIGl0ZW0tPnNldEludEF0dHIodmFsdWUpOwotCiB9CiAKIGdpbnQ2NAotd2Via2l0X2Rv
bV90ZXN0X29ial9nZXRfbG9uZ19sb25nX2F0dHIgKFdlYktpdERPTVRlc3RPYmogKnNlbGYpCit3
ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9sb25nX2xvbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBz
ZWxmKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBn
X3JldHVybl92YWxfaWZfZmFpbCAoc2VsZiwgMCk7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiAqIGl0
ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CiAgICAgZ2ludDY0IHJlcyA9IGl0ZW0tPmxvbmdMb25n
QXR0cigpOwogICAgIHJldHVybiByZXM7Ci0KIH0KIAogdm9pZAotd2Via2l0X2RvbV90ZXN0X29i
al9zZXRfbG9uZ19sb25nX2F0dHIgKFdlYktpdERPTVRlc3RPYmogKnNlbGYsIGdpbnQ2NCB2YWx1
ZSkKK3dlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2xvbmdfbG9uZ19hdHRyKFdlYktpdERPTVRlc3RP
YmoqIHNlbGYsIGdpbnQ2NCB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxs
U3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbCAoc2VsZik7CiAgICAgV2ViQ29yZTo6
VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CiAgICAgaXRlbS0+c2V0TG9uZ0xv
bmdBdHRyKHZhbHVlKTsKLQogfQogCiBndWludDY0Ci13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF91
bnNpZ25lZF9sb25nX2xvbmdfYXR0ciAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZikKK3dlYmtpdF9k
b21fdGVzdF9vYmpfZ2V0X3Vuc2lnbmVkX2xvbmdfbG9uZ19hdHRyKFdlYktpdERPTVRlc3RPYmoq
IHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAg
IGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChzZWxmLCAwKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqICog
aXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKICAgICBndWludDY0IHJlcyA9IGl0ZW0tPnVuc2ln
bmVkTG9uZ0xvbmdBdHRyKCk7CiAgICAgcmV0dXJuIHJlczsKLQogfQogCiB2b2lkCi13ZWJraXRf
ZG9tX3Rlc3Rfb2JqX3NldF91bnNpZ25lZF9sb25nX2xvbmdfYXR0ciAoV2ViS2l0RE9NVGVzdE9i
aiAqc2VsZiwgZ3VpbnQ2NCB2YWx1ZSkKK3dlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3Vuc2lnbmVk
X2xvbmdfbG9uZ19hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGd1aW50NjQgdmFsdWUpCiB7
CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJu
X2lmX2ZhaWwgKHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpj
b3JlKHNlbGYpOwogICAgIGl0ZW0tPnNldFVuc2lnbmVkTG9uZ0xvbmdBdHRyKHZhbHVlKTsKLQog
fQogCiBnY2hhciogCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9zdHJpbmdfYXR0ciAoV2ViS2l0
RE9NVGVzdE9iaiAqc2VsZikKK3dlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3N0cmluZ19hdHRyKFdl
YktpdERPTVRlc3RPYmoqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0
YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChzZWxmLCAwKTsKICAgICBXZWJD
b3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKICAgICBnY2hhciogIHJl
cyA9IGNvbnZlcnRUb1VURjhTdHJpbmcoaXRlbS0+c3RyaW5nQXR0cigpKTsKICAgICByZXR1cm4g
cmVzOwotCiB9CiAKIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3N0cmluZ19hdHRyIChX
ZWJLaXRET01UZXN0T2JqICpzZWxmLCBnY2hhciogIHZhbHVlKQord2Via2l0X2RvbV90ZXN0X29i
al9zZXRfc3RyaW5nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2NoYXIqICB2YWx1ZSkK
IHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1
cm5faWZfZmFpbCAoc2VsZik7CkBAIC00NTgsMTEgKzQyNiwxMCBAQCB3ZWJraXRfZG9tX3Rlc3Rf
b2JqX3NldF9zdHJpbmdfYXR0ciAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZiwgZ2NoYXIqICB2YWx1
ZSkKICAgICBnX3JldHVybl9pZl9mYWlsICh2YWx1ZSk7CiAgICAgV2ViQ29yZTo6U3RyaW5nIF9n
X3ZhbHVlID0gV2ViQ29yZTo6U3RyaW5nOjpmcm9tVVRGOCh2YWx1ZSk7CiAgICAgaXRlbS0+c2V0
U3RyaW5nQXR0cihfZ192YWx1ZSk7Ci0KIH0KIAogV2ViS2l0RE9NVGVzdE9iaiogCi13ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2dldF90ZXN0X29ial9hdHRyIChXZWJLaXRET01UZXN0T2JqICpzZWxmKQor
d2Via2l0X2RvbV90ZXN0X29ial9nZXRfdGVzdF9vYmpfYXR0cihXZWJLaXRET01UZXN0T2JqKiBz
ZWxmKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBn
X3JldHVybl92YWxfaWZfZmFpbCAoc2VsZiwgMCk7CkBAIC00NzAsMTEgKzQzNywxMCBAQCB3ZWJr
aXRfZG9tX3Rlc3Rfb2JqX2dldF90ZXN0X29ial9hdHRyIChXZWJLaXRET01UZXN0T2JqICpzZWxm
KQogICAgIFBhc3NSZWZQdHI8V2ViQ29yZTo6VGVzdE9iaj4gZ19yZXMgPSBXVEY6OmdldFB0cihp
dGVtLT50ZXN0T2JqQXR0cigpKTsKICAgICBXZWJLaXRET01UZXN0T2JqKiAgcmVzID0gc3RhdGlj
X2Nhc3Q8V2ViS2l0RE9NVGVzdE9iaiogPihXZWJLaXQ6OmtpdChnX3Jlcy5nZXQoKSkpOwogICAg
IHJldHVybiByZXM7Ci0KIH0KIAogdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfdGVzdF9v
YmpfYXR0ciAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZiwgV2ViS2l0RE9NVGVzdE9iaiogIHZhbHVl
KQord2Via2l0X2RvbV90ZXN0X29ial9zZXRfdGVzdF9vYmpfYXR0cihXZWJLaXRET01UZXN0T2Jq
KiBzZWxmLCBXZWJLaXRET01UZXN0T2JqKiAgdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWlu
VGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwpAQCAt
NDgzLDMyICs0NDksMjkgQEAgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfdGVzdF9vYmpfYXR0ciAo
V2ViS2l0RE9NVGVzdE9iaiAqc2VsZiwgV2ViS2l0RE9NVGVzdE9iaioKICAgICBXZWJDb3JlOjpU
ZXN0T2JqICogX2dfdmFsdWUgPSBXZWJLaXQ6OmNvcmUodmFsdWUpOwogICAgIGdfcmV0dXJuX2lm
X2ZhaWwgKF9nX3ZhbHVlKTsKICAgICBpdGVtLT5zZXRUZXN0T2JqQXR0cihfZ192YWx1ZSk7Ci0K
IH0KIAogZ2xvbmcKLXdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2F0dHJfd2l0aF9leGNlcHRpb24g
KFdlYktpdERPTVRlc3RPYmogKnNlbGYpCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9hdHRyX3dp
dGhfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNN
YWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChzZWxm
LCAwKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsK
ICAgICBnbG9uZyByZXMgPSBpdGVtLT5hdHRyV2l0aEV4Y2VwdGlvbigpOwogICAgIHJldHVybiBy
ZXM7Ci0KIH0KIAogdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfYXR0cl93aXRoX2V4Y2Vw
dGlvbiAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZiwgZ2xvbmcgdmFsdWUpCit3ZWJraXRfZG9tX3Rl
c3Rfb2JqX3NldF9hdHRyX3dpdGhfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGds
b25nIHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsK
ICAgICBnX3JldHVybl9pZl9mYWlsIChzZWxmKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRl
bSA9IFdlYktpdDo6Y29yZShzZWxmKTsKICAgICBpdGVtLT5zZXRBdHRyV2l0aEV4Y2VwdGlvbih2
YWx1ZSk7Ci0KIH0KIAogZ2xvbmcKLXdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2F0dHJfd2l0aF9z
ZXR0ZXJfZXhjZXB0aW9uIChXZWJLaXRET01UZXN0T2JqICpzZWxmLCBHRXJyb3IgKiplcnJvcikK
K3dlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2F0dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9uKFdlYktp
dERPTVRlc3RPYmoqIHNlbGYsIEdFcnJvciAqKmVycm9yKQogewogICAgIFdlYkNvcmU6OkpTTWFp
blRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoc2VsZiwg
MCk7CkBAIC01MjEsMTEgKzQ4NCwxMCBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9hdHRyX3dp
dGhfc2V0dGVyX2V4Y2VwdGlvbiAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZiwgR0VycgogICAgICAg
ICBnX3NldF9lcnJvcl9saXRlcmFsKGVycm9yLCBnX3F1YXJrX2Zyb21fc3RyaW5nKCJXRUJLSVRf
RE9NIiksIGVjZGVzYy5jb2RlLCBlY2Rlc2MubmFtZSk7CiAgICAgfQogICAgIHJldHVybiByZXM7
Ci0KIH0KIAogdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfYXR0cl93aXRoX3NldHRlcl9l
eGNlcHRpb24gKFdlYktpdERPTVRlc3RPYmogKnNlbGYsIGdsb25nIHZhbHVlLCBHRXJyb3IgKipl
cnJvcikKK3dlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2F0dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9u
KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIHZhbHVlLCBHRXJyb3IgKiplcnJvcikKIHsK
ICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5f
aWZfZmFpbCAoc2VsZik7CkBAIC01MzcsMjIgKzQ5OSwyMCBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X3NldF9hdHRyX3dpdGhfc2V0dGVyX2V4Y2VwdGlvbiAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZiwg
Z2xvbgogICAgICAgICBXZWJDb3JlOjpnZXRFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24oZWMsIGVj
ZGVzYyk7CiAgICAgICAgIGdfc2V0X2Vycm9yX2xpdGVyYWwoZXJyb3IsIGdfcXVhcmtfZnJvbV9z
dHJpbmcoIldFQktJVF9ET00iKSwgZWNkZXNjLmNvZGUsIGVjZGVzYy5uYW1lKTsKICAgICB9Ci0K
IH0KIAogZ2xvbmcKLXdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2F0dHJfd2l0aF9nZXR0ZXJfZXhj
ZXB0aW9uIChXZWJLaXRET01UZXN0T2JqICpzZWxmKQord2Via2l0X2RvbV90ZXN0X29ial9nZXRf
YXR0cl93aXRoX2dldHRlcl9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAg
ICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFs
X2lmX2ZhaWwgKHNlbGYsIDApOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0
Ojpjb3JlKHNlbGYpOwogICAgIGdsb25nIHJlcyA9IGl0ZW0tPmF0dHJXaXRoR2V0dGVyRXhjZXB0
aW9uKCk7CiAgICAgcmV0dXJuIHJlczsKLQogfQogCiB2b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2Jq
X3NldF9hdHRyX3dpdGhfZ2V0dGVyX2V4Y2VwdGlvbiAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZiwg
Z2xvbmcgdmFsdWUsIEdFcnJvciAqKmVycm9yKQord2Via2l0X2RvbV90ZXN0X29ial9zZXRfYXR0
cl93aXRoX2dldHRlcl9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgdmFs
dWUsIEdFcnJvciAqKmVycm9yKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0
ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsIChzZWxmKTsKQEAgLTU2NCwxOCArNTI0LDE2
IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2F0dHJfd2l0aF9nZXR0ZXJfZXhjZXB0aW9uIChX
ZWJLaXRET01UZXN0T2JqICpzZWxmLCBnbG9uCiAgICAgICAgIFdlYkNvcmU6OmdldEV4Y2VwdGlv
bkNvZGVEZXNjcmlwdGlvbihlYywgZWNkZXNjKTsKICAgICAgICAgZ19zZXRfZXJyb3JfbGl0ZXJh
bChlcnJvciwgZ19xdWFya19mcm9tX3N0cmluZygiV0VCS0lUX0RPTSIpLCBlY2Rlc2MuY29kZSwg
ZWNkZXNjLm5hbWUpOwogICAgIH0KLQogfQogCiBnY2hhciogCi13ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2dldF9zY3JpcHRfc3RyaW5nX2F0dHIgKFdlYktpdERPTVRlc3RPYmogKnNlbGYpCit3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2dldF9zY3JpcHRfc3RyaW5nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwgKHNlbGYsIDApOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVt
ID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIGdjaGFyKiAgcmVzID0gY29udmVydFRvVVRGOFN0
cmluZyhpdGVtLT5zY3JpcHRTdHJpbmdBdHRyKCkpOwogICAgIHJldHVybiByZXM7Ci0KIH0KIAog
CkBAIC02MzEsNDIgKzU4OSw0MiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2Zp
bmFsaXplKEdPYmplY3QqIG9iamVjdCkKIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpf
c2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgY29uc3QgR1ZhbHVl
KiB2YWx1ZSwgR1BhcmFtU3BlYyogcHNwZWMpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFk
TnVsbFN0YXRlIHN0YXRlOwotICAgICBXZWJLaXRET01UZXN0T2JqICpzZWxmID0gV0VCS0lUX0RP
TV9URVNUX09CSihvYmplY3QpOworICAgIFdlYktpdERPTVRlc3RPYmoqIHNlbGYgPSBXRUJLSVRf
RE9NX1RFU1RfT0JKKG9iamVjdCk7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiogY29yZVNlbGYgPSBX
ZWJLaXQ6OmNvcmUoc2VsZik7Ci0gICAgIHN3aXRjaCAocHJvcF9pZCkgeworICAgIHN3aXRjaCAo
cHJvcF9pZCkgewogICAgIGNhc2UgUFJPUF9JTlRfQVRUUjoKICAgICB7Ci0gICAgICAgICBjb3Jl
U2VsZi0+c2V0SW50QXR0cigoZ192YWx1ZV9nZXRfbG9uZyh2YWx1ZSkpICk7Ci0gICAgICAgICBi
cmVhazsKKyAgICAgICAgY29yZVNlbGYtPnNldEludEF0dHIoKGdfdmFsdWVfZ2V0X2xvbmcodmFs
dWUpKSk7CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFBST1BfVU5TSUdORURfTE9O
R19MT05HX0FUVFI6CiAgICAgewotICAgICAgICAgY29yZVNlbGYtPnNldFVuc2lnbmVkTG9uZ0xv
bmdBdHRyKChnX3ZhbHVlX2dldF91aW50NjQodmFsdWUpKSApOwotICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNvcmVTZWxmLT5zZXRVbnNpZ25lZExvbmdMb25nQXR0cigoZ192YWx1ZV9nZXRfdWlu
dDY0KHZhbHVlKSkpOworICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBQUk9QX1NUUklO
R19BVFRSOgogICAgIHsKLSAgICAgICAgIGNvcmVTZWxmLT5zZXRTdHJpbmdBdHRyKFdlYkNvcmU6
OlN0cmluZzo6ZnJvbVVURjgoZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKSkgKTsKLSAgICAgICAg
IGJyZWFrOworICAgICAgICBjb3JlU2VsZi0+c2V0U3RyaW5nQXR0cihXZWJDb3JlOjpTdHJpbmc6
OmZyb21VVEY4KGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSkpKTsKKyAgICAgICAgYnJlYWs7CiAg
ICAgfQogICAgIGNhc2UgUFJPUF9BVFRSX1dJVEhfRVhDRVBUSU9OOgogICAgIHsKLSAgICAgICAg
IGNvcmVTZWxmLT5zZXRBdHRyV2l0aEV4Y2VwdGlvbigoZ192YWx1ZV9nZXRfbG9uZyh2YWx1ZSkp
ICk7Ci0gICAgICAgICBicmVhazsKKyAgICAgICAgY29yZVNlbGYtPnNldEF0dHJXaXRoRXhjZXB0
aW9uKChnX3ZhbHVlX2dldF9sb25nKHZhbHVlKSkpOworICAgICAgICBicmVhazsKICAgICB9CiAg
ICAgY2FzZSBQUk9QX0FUVFJfV0lUSF9TRVRURVJfRVhDRVBUSU9OOgogICAgIHsKLSAgICAgICAg
IFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgICAgICAgY29yZVNlbGYtPnNldEF0
dHJXaXRoU2V0dGVyRXhjZXB0aW9uKChnX3ZhbHVlX2dldF9sb25nKHZhbHVlKSkgLCBlYyApOwot
ICAgICAgICAgYnJlYWs7CisgICAgICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOwor
ICAgICAgICBjb3JlU2VsZi0+c2V0QXR0cldpdGhTZXR0ZXJFeGNlcHRpb24oKGdfdmFsdWVfZ2V0
X2xvbmcodmFsdWUpKSwgZWMpOworICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBQUk9Q
X0FUVFJfV0lUSF9HRVRURVJfRVhDRVBUSU9OOgogICAgIHsKLSAgICAgICAgIFdlYkNvcmU6OkV4
Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgICAgICAgY29yZVNlbGYtPnNldEF0dHJXaXRoR2V0dGVy
RXhjZXB0aW9uKChnX3ZhbHVlX2dldF9sb25nKHZhbHVlKSkgLCBlYyApOwotICAgICAgICAgYnJl
YWs7CisgICAgICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgICAgICBjb3Jl
U2VsZi0+c2V0QXR0cldpdGhHZXR0ZXJFeGNlcHRpb24oKGdfdmFsdWVfZ2V0X2xvbmcodmFsdWUp
KSwgZWMpOworICAgICAgICBicmVhazsKICAgICB9Ci0gICAgIGRlZmF1bHQ6CisgICAgZGVmYXVs
dDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJv
cF9pZCwgcHNwZWMpOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC02NzYsNzMgKzYzNCw3MyBA
QCBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9wcm9wZXJ0eShHT2JqZWN0KiBv
YmplY3QsIGd1aW50IHByb3BfaWQsIGNvbgogc3RhdGljIHZvaWQgd2Via2l0X2RvbV90ZXN0X29i
al9nZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wX2lkLCBHVmFsdWUqIHZh
bHVlLCBHUGFyYW1TcGVjKiBwc3BlYykKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxs
U3RhdGUgc3RhdGU7Ci0gICAgIFdlYktpdERPTVRlc3RPYmoqIHNlbGYgPSBXRUJLSVRfRE9NX1RF
U1RfT0JKKG9iamVjdCk7CisgICAgV2ViS2l0RE9NVGVzdE9iaiogc2VsZiA9IFdFQktJVF9ET01f
VEVTVF9PQkoob2JqZWN0KTsKICAgICBXZWJDb3JlOjpUZXN0T2JqKiBjb3JlU2VsZiA9IFdlYktp
dDo6Y29yZShzZWxmKTsKLSAgICAgc3dpdGNoIChwcm9wX2lkKSB7CisgICAgc3dpdGNoIChwcm9w
X2lkKSB7CiAgICAgY2FzZSBQUk9QX1JFQURfT05MWV9JTlRfQVRUUjoKICAgICB7Ci0gICAgICAg
ICBnX3ZhbHVlX3NldF9sb25nKHZhbHVlLCBjb3JlU2VsZi0+cmVhZE9ubHlJbnRBdHRyKCkpOwot
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGdfdmFsdWVfc2V0X2xvbmcodmFsdWUsIGNvcmVTZWxm
LT5yZWFkT25seUludEF0dHIoKSk7CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFBS
T1BfUkVBRF9PTkxZX1NUUklOR19BVFRSOgogICAgIHsKLSAgICAgICAgIGdfdmFsdWVfdGFrZV9z
dHJpbmcodmFsdWUsIGNvbnZlcnRUb1VURjhTdHJpbmcoY29yZVNlbGYtPnJlYWRPbmx5U3RyaW5n
QXR0cigpKSk7Ci0gICAgICAgICBicmVhazsKKyAgICAgICAgZ192YWx1ZV90YWtlX3N0cmluZyh2
YWx1ZSwgY29udmVydFRvVVRGOFN0cmluZyhjb3JlU2VsZi0+cmVhZE9ubHlTdHJpbmdBdHRyKCkp
KTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUFJPUF9SRUFEX09OTFlfVEVTVF9P
QkpfQVRUUjoKICAgICB7Ci0gICAgICAgICBSZWZQdHI8V2ViQ29yZTo6VGVzdE9iaj4gcHRyID0g
Y29yZVNlbGYtPnJlYWRPbmx5VGVzdE9iakF0dHIoKTsKKyAgICAgICAgUmVmUHRyPFdlYkNvcmU6
OlRlc3RPYmo+IHB0ciA9IGNvcmVTZWxmLT5yZWFkT25seVRlc3RPYmpBdHRyKCk7CiAgICAgICAg
IGdfdmFsdWVfc2V0X29iamVjdCh2YWx1ZSwgV2ViS2l0OjpraXQocHRyLmdldCgpKSk7Ci0gICAg
ICAgICBicmVhazsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUFJPUF9JTlRfQVRU
UjoKICAgICB7Ci0gICAgICAgICBnX3ZhbHVlX3NldF9sb25nKHZhbHVlLCBjb3JlU2VsZi0+aW50
QXR0cigpKTsKLSAgICAgICAgIGJyZWFrOworICAgICAgICBnX3ZhbHVlX3NldF9sb25nKHZhbHVl
LCBjb3JlU2VsZi0+aW50QXR0cigpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2Ug
UFJPUF9MT05HX0xPTkdfQVRUUjoKICAgICB7Ci0gICAgICAgICBnX3ZhbHVlX3NldF9pbnQ2NCh2
YWx1ZSwgY29yZVNlbGYtPmxvbmdMb25nQXR0cigpKTsKLSAgICAgICAgIGJyZWFrOworICAgICAg
ICBnX3ZhbHVlX3NldF9pbnQ2NCh2YWx1ZSwgY29yZVNlbGYtPmxvbmdMb25nQXR0cigpKTsKKyAg
ICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUFJPUF9VTlNJR05FRF9MT05HX0xPTkdfQVRU
UjoKICAgICB7Ci0gICAgICAgICBnX3ZhbHVlX3NldF91aW50NjQodmFsdWUsIGNvcmVTZWxmLT51
bnNpZ25lZExvbmdMb25nQXR0cigpKTsKLSAgICAgICAgIGJyZWFrOworICAgICAgICBnX3ZhbHVl
X3NldF91aW50NjQodmFsdWUsIGNvcmVTZWxmLT51bnNpZ25lZExvbmdMb25nQXR0cigpKTsKKyAg
ICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUFJPUF9TVFJJTkdfQVRUUjoKICAgICB7Ci0g
ICAgICAgICBnX3ZhbHVlX3Rha2Vfc3RyaW5nKHZhbHVlLCBjb252ZXJ0VG9VVEY4U3RyaW5nKGNv
cmVTZWxmLT5zdHJpbmdBdHRyKCkpKTsKLSAgICAgICAgIGJyZWFrOworICAgICAgICBnX3ZhbHVl
X3Rha2Vfc3RyaW5nKHZhbHVlLCBjb252ZXJ0VG9VVEY4U3RyaW5nKGNvcmVTZWxmLT5zdHJpbmdB
dHRyKCkpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUFJPUF9URVNUX09CSl9B
VFRSOgogICAgIHsKLSAgICAgICAgIFJlZlB0cjxXZWJDb3JlOjpUZXN0T2JqPiBwdHIgPSBjb3Jl
U2VsZi0+dGVzdE9iakF0dHIoKTsKKyAgICAgICAgUmVmUHRyPFdlYkNvcmU6OlRlc3RPYmo+IHB0
ciA9IGNvcmVTZWxmLT50ZXN0T2JqQXR0cigpOwogICAgICAgICBnX3ZhbHVlX3NldF9vYmplY3Qo
dmFsdWUsIFdlYktpdDo6a2l0KHB0ci5nZXQoKSkpOwotICAgICAgICAgYnJlYWs7CisgICAgICAg
IGJyZWFrOwogICAgIH0KICAgICBjYXNlIFBST1BfQVRUUl9XSVRIX0VYQ0VQVElPTjoKICAgICB7
Ci0gICAgICAgICBnX3ZhbHVlX3NldF9sb25nKHZhbHVlLCBjb3JlU2VsZi0+YXR0cldpdGhFeGNl
cHRpb24oKSk7Ci0gICAgICAgICBicmVhazsKKyAgICAgICAgZ192YWx1ZV9zZXRfbG9uZyh2YWx1
ZSwgY29yZVNlbGYtPmF0dHJXaXRoRXhjZXB0aW9uKCkpOworICAgICAgICBicmVhazsKICAgICB9
CiAgICAgY2FzZSBQUk9QX0FUVFJfV0lUSF9TRVRURVJfRVhDRVBUSU9OOgogICAgIHsKLSAgICAg
ICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgICAgICAgZ192YWx1ZV9zZXRf
bG9uZyh2YWx1ZSwgY29yZVNlbGYtPmF0dHJXaXRoU2V0dGVyRXhjZXB0aW9uKGVjKSk7Ci0gICAg
ICAgICBicmVhazsKKyAgICAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAg
ICAgIGdfdmFsdWVfc2V0X2xvbmcodmFsdWUsIGNvcmVTZWxmLT5hdHRyV2l0aFNldHRlckV4Y2Vw
dGlvbihlYykpOworICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBQUk9QX0FUVFJfV0lU
SF9HRVRURVJfRVhDRVBUSU9OOgogICAgIHsKLSAgICAgICAgIGdfdmFsdWVfc2V0X2xvbmcodmFs
dWUsIGNvcmVTZWxmLT5hdHRyV2l0aEdldHRlckV4Y2VwdGlvbigpKTsKLSAgICAgICAgIGJyZWFr
OworICAgICAgICBnX3ZhbHVlX3NldF9sb25nKHZhbHVlLCBjb3JlU2VsZi0+YXR0cldpdGhHZXR0
ZXJFeGNlcHRpb24oKSk7CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFBST1BfU0NS
SVBUX1NUUklOR19BVFRSOgogICAgIHsKLSAgICAgICAgIGdfdmFsdWVfdGFrZV9zdHJpbmcodmFs
dWUsIGNvbnZlcnRUb1VURjhTdHJpbmcoY29yZVNlbGYtPnNjcmlwdFN0cmluZ0F0dHIoKSkpOwot
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGdfdmFsdWVfdGFrZV9zdHJpbmcodmFsdWUsIGNvbnZl
cnRUb1VURjhTdHJpbmcoY29yZVNlbGYtPnNjcmlwdFN0cmluZ0F0dHIoKSkpOworICAgICAgICBi
cmVhazsKICAgICB9Ci0gICAgIGRlZmF1bHQ6CisgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpF
Q1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOwogICAg
ICAgICBicmVhazsKICAgICB9CkBAIC03NjUsMjEgKzcyMywyMSBAQCBzdGF0aWMgdm9pZCB3ZWJr
aXRfZG9tX3Rlc3Rfb2JqX2NsYXNzX2luaXQoV2ViS2l0RE9NVGVzdE9iakNsYXNzKiByZXF1ZXN0
Q2xhc3MpCiBHX01BWExPTkcsIC8qIG1heCAqLwogMCwgLyogZGVmYXVsdCAqLwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRf
UEFSQU1fUkVBREFCTEUpKTsKLSAgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShn
b2JqZWN0Q2xhc3MsCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0
Q2xhc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1JFQURfT05M
WV9TVFJJTkdfQVRUUiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFy
YW1fc3BlY19zdHJpbmcoInJlYWQtb25seS1zdHJpbmctYXR0ciIsIC8qIG5hbWUgKi8KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRl
c3Rfb2JqX3JlYWQtb25seS1zdHJpbmctYXR0ciIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJyZWFkLW9ubHkgIGdjaGFyKiAgVGVzdE9iai5yZWFkLW9ubHktc3RyaW5nLWF0dHIiLCAvKiBs
b25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIs
IC8qIGRlZmF1bHQgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7Ci0gICAgIGdfb2JqZWN0
X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAorICAgIGdfb2JqZWN0X2NsYXNz
X2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUFJPUF9SRUFEX09OTFlfVEVTVF9PQkpfQVRUUiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19vYmplY3QoInJlYWQtb25seS10ZXN0
LW9iai1hdHRyIiwgLyogbmFtZSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF9vYmpfcmVhZC1vbmx5LXRlc3Qtb2JqLWF0
dHIiLCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVhZC1vbmx5ICBXZWJLaXRET01UZXN0
T2JqKiAgVGVzdE9iai5yZWFkLW9ubHktdGVzdC1vYmotYXR0ciIsIC8qIGxvbmdlciAtIGNvdWxk
IGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVyZSAqLwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfVFlQRV9ET01f
VEVTVF9PQkosIC8qIGdvYmplY3QgdHlwZSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBREFCTEUpKTsK
LSAgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCisgICAg
Z19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0lOVF9BVFRSLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX2xvbmcoImludC1hdHRyIiwgLyogbmFt
ZSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidGVzdF9vYmpfaW50LWF0dHIiLCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLwpAQCAt
Nzg4LDcgKzc0Niw3IEBAIEdfTUFYTE9ORywgLyogbWF4ICovCiBHX01BWExPTkcsIC8qIG1heCAq
LwogMCwgLyogZGVmYXVsdCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7Ci0gICAgIGdf
b2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAorICAgIGdfb2JqZWN0
X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgUFJPUF9MT05HX0xPTkdfQVRUUiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19pbnQ2NCgibG9uZy1sb25nLWF0dHIiLCAv
KiBuYW1lICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0ZXN0X29ial9sb25nLWxvbmctYXR0ciIsIC8qIHNob3J0IGRlc2NyaXB0
aW9uICovCkBAIC03OTcsNyArNzU1LDcgQEAgR19NQVhMT05HLCAvKiBtYXggKi8KIEdfTUFYSU5U
NjQsIC8qIG1heCAqLwogMCwgLyogZGVmYXVsdCAqLwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRF
KSk7Ci0gICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAor
ICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9VTlNJR05FRF9MT05HX0xPTkdfQVRU
UiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY191aW50
NjQoInVuc2lnbmVkLWxvbmctbG9uZy1hdHRyIiwgLyogbmFtZSAqLwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF9vYmpfdW5z
aWduZWQtbG9uZy1sb25nLWF0dHIiLCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLwpAQCAtODA2LDIx
ICs3NjQsMjEgQEAgR19NQVhJTlQ2NCwgLyogbWF4ICovCiBHX01BWFVJTlQ2NCwgLyogbWluICov
CiAwLCAvKiBkZWZhdWx0ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICAgZ19v
YmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCisgICAgZ19vYmplY3Rf
Y2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBQUk9QX1NUUklOR19BVFRSLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygic3RyaW5nLWF0dHIiLCAvKiBuYW1l
ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0ZXN0X29ial9zdHJpbmctYXR0ciIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJyZWFkLXdyaXRlICBnY2hhciogIFRlc3RPYmouc3RyaW5nLWF0dHIiLCAvKiBsb25nZXIgLSBj
b3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIsIC8qIGRlZmF1
bHQgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOwotICAgICBnX29iamVjdF9jbGFzc19p
bnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxs
X3Byb3BlcnR5KGdvYmplY3RDbGFzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFBST1BfVEVTVF9PQkpfQVRUUiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdfcGFyYW1fc3BlY19vYmplY3QoInRlc3Qtb2JqLWF0dHIiLCAvKiBuYW1lICovCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
ZXN0X29ial90ZXN0LW9iai1hdHRyIiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlYWQt
d3JpdGUgIFdlYktpdERPTVRlc3RPYmoqICBUZXN0T2JqLnRlc3Qtb2JqLWF0dHIiLCAvKiBsb25n
ZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lU
X1RZUEVfRE9NX1RFU1RfT0JKLCAvKiBnb2JqZWN0IHR5cGUgKi8KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JF
QURXUklURSkpOwotICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RD
bGFzcywKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfQVRUUl9XSVRIX0VYQ0VQ
VElPTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19s
b25nKCJhdHRyLXdpdGgtZXhjZXB0aW9uIiwgLyogbmFtZSAqLwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF9vYmpfYXR0ci13
aXRoLWV4Y2VwdGlvbiIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCkBAIC04MjksNyArNzg3LDcg
QEAgR19NQVhVSU5UNjQsIC8qIG1pbiAqLwogR19NQVhMT05HLCAvKiBtYXggKi8KIDAsIC8qIGRl
ZmF1bHQgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOwotICAgICBnX29iamVjdF9jbGFz
c19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKKyAgICBnX29iamVjdF9jbGFzc19pbnN0
YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFBST1BfQVRUUl9XSVRIX1NFVFRFUl9FWENFUFRJT04sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfbG9uZygiYXR0ci13aXRoLXNldHRlci1l
eGNlcHRpb24iLCAvKiBuYW1lICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X29ial9hdHRyLXdpdGgtc2V0dGVyLWV4Y2Vw
dGlvbiIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCkBAIC04MzgsNyArNzk2LDcgQEAgR19NQVhM
T05HLCAvKiBtYXggKi8KIEdfTUFYTE9ORywgLyogbWF4ICovCiAwLCAvKiBkZWZhdWx0ICovCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9w
cm9wZXJ0eShnb2JqZWN0Q2xhc3MsCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0
eShnb2JqZWN0Q2xhc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9Q
X0FUVFJfV0lUSF9HRVRURVJfRVhDRVBUSU9OLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ19wYXJhbV9zcGVjX2xvbmcoImF0dHItd2l0aC1nZXR0ZXItZXhjZXB0aW9uIiwg
LyogbmFtZSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidGVzdF9vYmpfYXR0ci13aXRoLWdldHRlci1leGNlcHRpb24iLCAvKiBz
aG9ydCBkZXNjcmlwdGlvbiAqLwpAQCAtODQ3LDcgKzgwNSw3IEBAIEdfTUFYTE9ORywgLyogbWF4
ICovCiBHX01BWExPTkcsIC8qIG1heCAqLwogMCwgLyogZGVmYXVsdCAqLwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFS
QU1fUkVBRFdSSVRFKSk7Ci0gICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29i
amVjdENsYXNzLAorICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENs
YXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9TQ1JJUFRfU1RS
SU5HX0FUVFIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3Nw
ZWNfc3RyaW5nKCJzY3JpcHQtc3RyaW5nLWF0dHIiLCAvKiBuYW1lICovCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X29ial9z
Y3JpcHQtc3RyaW5nLWF0dHIiLCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmou
aAppbmRleCAyODJlZGI4Li43MTVmZDIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaApAQCAtNDcsMzQgKzQ3
LDM0IEBAIFdFQktJVF9BUEkgR1R5cGUKIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3R5cGUgKHZv
aWQpOwogCiBXRUJLSVRfQVBJIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfdm9pZF9tZXRob2Qg
KFdlYktpdERPTVRlc3RPYmogKnNlbGYpOword2Via2l0X2RvbV90ZXN0X29ial92b2lkX21ldGhv
ZChXZWJLaXRET01UZXN0T2JqKiBzZWxmKTsKIAogV0VCS0lUX0FQSSB2b2lkCi13ZWJraXRfZG9t
X3Rlc3Rfb2JqX3ZvaWRfbWV0aG9kX3dpdGhfYXJncyAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZiwg
Z2xvbmcgaW50X2FyZywgZ2NoYXIqICBzdHJfYXJnLCBXZWJLaXRET01UZXN0T2JqKiAgb2JqX2Fy
Zyk7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3ZvaWRfbWV0aG9kX3dpdGhfYXJncyhXZWJLaXRET01U
ZXN0T2JqKiBzZWxmLCBnbG9uZyBpbnRfYXJnLCBnY2hhciogIHN0cl9hcmcsIFdlYktpdERPTVRl
c3RPYmoqICBvYmpfYXJnKTsKIAogV0VCS0lUX0FQSSBnbG9uZwotd2Via2l0X2RvbV90ZXN0X29i
al9pbnRfbWV0aG9kIChXZWJLaXRET01UZXN0T2JqICpzZWxmKTsKK3dlYmtpdF9kb21fdGVzdF9v
YmpfaW50X21ldGhvZChXZWJLaXRET01UZXN0T2JqKiBzZWxmKTsKIAogV0VCS0lUX0FQSSBnbG9u
Zwotd2Via2l0X2RvbV90ZXN0X29ial9pbnRfbWV0aG9kX3dpdGhfYXJncyAoV2ViS2l0RE9NVGVz
dE9iaiAqc2VsZiwgZ2xvbmcgaW50X2FyZywgZ2NoYXIqICBzdHJfYXJnLCBXZWJLaXRET01UZXN0
T2JqKiAgb2JqX2FyZyk7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2ludF9tZXRob2Rfd2l0aF9hcmdz
KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIGludF9hcmcsIGdjaGFyKiAgc3RyX2FyZywg
V2ViS2l0RE9NVGVzdE9iaiogIG9ial9hcmcpOwogCiBXRUJLSVRfQVBJIFdlYktpdERPTVRlc3RP
YmoqIAotd2Via2l0X2RvbV90ZXN0X29ial9vYmpfbWV0aG9kIChXZWJLaXRET01UZXN0T2JqICpz
ZWxmKTsKK3dlYmtpdF9kb21fdGVzdF9vYmpfb2JqX21ldGhvZChXZWJLaXRET01UZXN0T2JqKiBz
ZWxmKTsKIAogV0VCS0lUX0FQSSBXZWJLaXRET01UZXN0T2JqKiAKLXdlYmtpdF9kb21fdGVzdF9v
Ympfb2JqX21ldGhvZF93aXRoX2FyZ3MgKFdlYktpdERPTVRlc3RPYmogKnNlbGYsIGdsb25nIGlu
dF9hcmcsIGdjaGFyKiAgc3RyX2FyZywgV2ViS2l0RE9NVGVzdE9iaiogIG9ial9hcmcpOword2Vi
a2l0X2RvbV90ZXN0X29ial9vYmpfbWV0aG9kX3dpdGhfYXJncyhXZWJLaXRET01UZXN0T2JqKiBz
ZWxmLCBnbG9uZyBpbnRfYXJnLCBnY2hhciogIHN0cl9hcmcsIFdlYktpdERPTVRlc3RPYmoqICBv
YmpfYXJnKTsKIAogV0VCS0lUX0FQSSBXZWJLaXRET01UZXN0T2JqKiAKLXdlYmtpdF9kb21fdGVz
dF9vYmpfbWV0aG9kX3RoYXRfcmVxdWlyZXNfYWxsX2FyZ3MgKFdlYktpdERPTVRlc3RPYmogKnNl
bGYsIGdjaGFyKiAgc3RyX2FyZywgV2ViS2l0RE9NVGVzdE9iaiogIG9ial9hcmcpOword2Via2l0
X2RvbV90ZXN0X29ial9tZXRob2RfdGhhdF9yZXF1aXJlc19hbGxfYXJncyhXZWJLaXRET01UZXN0
T2JqKiBzZWxmLCBnY2hhciogIHN0cl9hcmcsIFdlYktpdERPTVRlc3RPYmoqICBvYmpfYXJnKTsK
IAogV0VCS0lUX0FQSSBXZWJLaXRET01UZXN0T2JqKiAKLXdlYmtpdF9kb21fdGVzdF9vYmpfbWV0
aG9kX3RoYXRfcmVxdWlyZXNfYWxsX2FyZ3NfYW5kX3Rocm93cyAoV2ViS2l0RE9NVGVzdE9iaiAq
c2VsZiwgZ2NoYXIqICBzdHJfYXJnLCBXZWJLaXRET01UZXN0T2JqKiAgb2JqX2FyZywgR0Vycm9y
ICoqZXJyb3IpOword2Via2l0X2RvbV90ZXN0X29ial9tZXRob2RfdGhhdF9yZXF1aXJlc19hbGxf
YXJnc19hbmRfdGhyb3dzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdjaGFyKiAgc3RyX2FyZywg
V2ViS2l0RE9NVGVzdE9iaiogIG9ial9hcmcsIEdFcnJvciAqKmVycm9yKTsKIAogV0VCS0lUX0FQ
SSB2b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3NlcmlhbGl6ZWRfdmFsdWUgKFdlYktpdERPTVRl
c3RPYmogKnNlbGYsIFdlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogIHNlcmlhbGl6ZWRf
YXJnKTsKK3dlYmtpdF9kb21fdGVzdF9vYmpfc2VyaWFsaXplZF92YWx1ZShXZWJLaXRET01UZXN0
T2JqKiBzZWxmLCBXZWJLaXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWUqICBzZXJpYWxpemVkX2Fy
Zyk7CiAKIFdFQktJVF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0aF9l
eGNlcHRpb24gKFdlYktpdERPTVRlc3RPYmogKnNlbGYsIEdFcnJvciAqKmVycm9yKTsKK3dlYmtp
dF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNl
bGYsIEdFcnJvciAqKmVycm9yKTsKIAogCiAvKiBUT0RPOiBldmVudCBmdW5jdGlvbiB3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2FkZF9ldmVudF9saXN0ZW5lciAqLwpAQCAtODMsMTAwICs4MywxMDAgQEAg
d2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0aF9leGNlcHRpb24gKFdlYktpdERPTVRlc3RP
YmogKnNlbGYsIEdFcnJvciAqKmVycm8KIC8qIFRPRE86IGV2ZW50IGZ1bmN0aW9uIHdlYmtpdF9k
b21fdGVzdF9vYmpfcmVtb3ZlX2V2ZW50X2xpc3RlbmVyICovCiAKIFdFQktJVF9BUEkgdm9pZAot
d2Via2l0X2RvbV90ZXN0X29ial93aXRoX2R5bmFtaWNfZnJhbWUgKFdlYktpdERPTVRlc3RPYmog
KnNlbGYpOword2Via2l0X2RvbV90ZXN0X29ial93aXRoX2R5bmFtaWNfZnJhbWUoV2ViS2l0RE9N
VGVzdE9iaiogc2VsZik7CiAKIFdFQktJVF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial93
aXRoX2R5bmFtaWNfZnJhbWVfYW5kX2FyZyAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZiwgZ2xvbmcg
aW50X2FyZyk7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfZHluYW1pY19mcmFtZV9hbmRfYXJn
KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIGludF9hcmcpOwogCiBXRUJLSVRfQVBJIHZv
aWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9keW5hbWljX2ZyYW1lX2FuZF9vcHRpb25hbF9h
cmcgKFdlYktpdERPTVRlc3RPYmogKnNlbGYsIGdsb25nIGludF9hcmcsIGdsb25nIG9wdGlvbmFs
X2FyZyk7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfZHluYW1pY19mcmFtZV9hbmRfb3B0aW9u
YWxfYXJnKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIGludF9hcmcsIGdsb25nIG9wdGlv
bmFsX2FyZyk7CiAKIFdFQktJVF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial93aXRoX2R5
bmFtaWNfZnJhbWVfYW5kX3VzZXJfZ2VzdHVyZSAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZiwgZ2xv
bmcgaW50X2FyZyk7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfZHluYW1pY19mcmFtZV9hbmRf
dXNlcl9nZXN0dXJlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIGludF9hcmcpOwogCiBX
RUJLSVRfQVBJIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9keW5hbWljX2ZyYW1lX2Fu
ZF91c2VyX2dlc3R1cmVfYXNhZCAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZiwgZ2xvbmcgaW50X2Fy
ZywgZ2xvbmcgb3B0aW9uYWxfYXJnKTsKK3dlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9keW5hbWlj
X2ZyYW1lX2FuZF91c2VyX2dlc3R1cmVfYXNhZChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9u
ZyBpbnRfYXJnLCBnbG9uZyBvcHRpb25hbF9hcmcpOwogCiBXRUJLSVRfQVBJIHZvaWQKLXdlYmtp
dF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRfc3RhdGVfdm9pZCAoV2ViS2l0RE9NVGVzdE9iaiAq
c2VsZik7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX3ZvaWQoV2ViS2l0
RE9NVGVzdE9iaiogc2VsZik7CiAKIFdFQktJVF9BUEkgV2ViS2l0RE9NVGVzdE9iaiogCi13ZWJr
aXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX29iaiAoV2ViS2l0RE9NVGVzdE9iaiAq
c2VsZik7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX29iaihXZWJLaXRE
T01UZXN0T2JqKiBzZWxmKTsKIAogV0VCS0lUX0FQSSB2b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2Jq
X3dpdGhfc2NyaXB0X3N0YXRlX3ZvaWRfZXhjZXB0aW9uIChXZWJLaXRET01UZXN0T2JqICpzZWxm
LCBHRXJyb3IgKiplcnJvcik7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRl
X3ZvaWRfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIEdFcnJvciAqKmVycm9yKTsK
IAogV0VCS0lUX0FQSSBXZWJLaXRET01UZXN0T2JqKiAKLXdlYmtpdF9kb21fdGVzdF9vYmpfd2l0
aF9zY3JpcHRfc3RhdGVfb2JqX2V4Y2VwdGlvbiAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZiwgR0Vy
cm9yICoqZXJyb3IpOword2Via2l0X2RvbV90ZXN0X29ial93aXRoX3NjcmlwdF9zdGF0ZV9vYmpf
ZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIEdFcnJvciAqKmVycm9yKTsKIAogV0VC
S0lUX0FQSSB2b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF93aXRoX29wdGlvbmFsX2Fy
ZyAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZiwgZ2xvbmcgb3B0KTsKK3dlYmtpdF9kb21fdGVzdF9v
YmpfbWV0aG9kX3dpdGhfb3B0aW9uYWxfYXJnKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25n
IG9wdCk7CiAKIFdFQktJVF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0
aF9ub25fb3B0aW9uYWxfYXJnX2FuZF9vcHRpb25hbF9hcmcgKFdlYktpdERPTVRlc3RPYmogKnNl
bGYsIGdsb25nIG5vbl9vcHQsIGdsb25nIG9wdCk7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhv
ZF93aXRoX25vbl9vcHRpb25hbF9hcmdfYW5kX29wdGlvbmFsX2FyZyhXZWJLaXRET01UZXN0T2Jq
KiBzZWxmLCBnbG9uZyBub25fb3B0LCBnbG9uZyBvcHQpOwogCiBXRUJLSVRfQVBJIHZvaWQKLXdl
YmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfbm9uX29wdGlvbmFsX2FyZ19hbmRfdHdvX29w
dGlvbmFsX2FyZ3MgKFdlYktpdERPTVRlc3RPYmogKnNlbGYsIGdsb25nIG5vbl9vcHQsIGdsb25n
IG9wdDEsIGdsb25nIG9wdDIpOword2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0aF9ub25f
b3B0aW9uYWxfYXJnX2FuZF90d29fb3B0aW9uYWxfYXJncyhXZWJLaXRET01UZXN0T2JqKiBzZWxm
LCBnbG9uZyBub25fb3B0LCBnbG9uZyBvcHQxLCBnbG9uZyBvcHQyKTsKIAogV0VCS0lUX0FQSSBn
bG9uZwotd2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVhZF9vbmx5X2ludF9hdHRyIChXZWJLaXRE
T01UZXN0T2JqICpzZWxmKTsKK3dlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3JlYWRfb25seV9pbnRf
YXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKTsKIAogV0VCS0lUX0FQSSBnY2hhciogCi13ZWJr
aXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWFkX29ubHlfc3RyaW5nX2F0dHIgKFdlYktpdERPTVRlc3RP
YmogKnNlbGYpOword2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVhZF9vbmx5X3N0cmluZ19hdHRy
KFdlYktpdERPTVRlc3RPYmoqIHNlbGYpOwogCiBXRUJLSVRfQVBJIFdlYktpdERPTVRlc3RPYmoq
IAotd2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVhZF9vbmx5X3Rlc3Rfb2JqX2F0dHIgKFdlYktp
dERPTVRlc3RPYmogKnNlbGYpOword2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVhZF9vbmx5X3Rl
c3Rfb2JqX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZik7CiAKIFdFQktJVF9BUEkgZ2xvbmcK
LXdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2ludF9hdHRyIChXZWJLaXRET01UZXN0T2JqICpzZWxm
KTsKK3dlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2ludF9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNl
bGYpOwogCiBXRUJLSVRfQVBJIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2ludF9hdHRy
IChXZWJLaXRET01UZXN0T2JqICpzZWxmLCBnbG9uZyB2YWx1ZSk7Cit3ZWJraXRfZG9tX3Rlc3Rf
b2JqX3NldF9pbnRfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSk7CiAK
IFdFQktJVF9BUEkgZ2ludDY0Ci13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9sb25nX2xvbmdfYXR0
ciAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZik7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9sb25n
X2xvbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKTsKIAogV0VCS0lUX0FQSSB2b2lkCi13
ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9sb25nX2xvbmdfYXR0ciAoV2ViS2l0RE9NVGVzdE9iaiAq
c2VsZiwgZ2ludDY0IHZhbHVlKTsKK3dlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2xvbmdfbG9uZ19h
dHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdpbnQ2NCB2YWx1ZSk7CiAKIFdFQktJVF9BUEkg
Z3VpbnQ2NAotd2Via2l0X2RvbV90ZXN0X29ial9nZXRfdW5zaWduZWRfbG9uZ19sb25nX2F0dHIg
KFdlYktpdERPTVRlc3RPYmogKnNlbGYpOword2Via2l0X2RvbV90ZXN0X29ial9nZXRfdW5zaWdu
ZWRfbG9uZ19sb25nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZik7CiAKIFdFQktJVF9BUEkg
dm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfdW5zaWduZWRfbG9uZ19sb25nX2F0dHIgKFdl
YktpdERPTVRlc3RPYmogKnNlbGYsIGd1aW50NjQgdmFsdWUpOword2Via2l0X2RvbV90ZXN0X29i
al9zZXRfdW5zaWduZWRfbG9uZ19sb25nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ3Vp
bnQ2NCB2YWx1ZSk7CiAKIFdFQktJVF9BUEkgZ2NoYXIqIAotd2Via2l0X2RvbV90ZXN0X29ial9n
ZXRfc3RyaW5nX2F0dHIgKFdlYktpdERPTVRlc3RPYmogKnNlbGYpOword2Via2l0X2RvbV90ZXN0
X29ial9nZXRfc3RyaW5nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZik7CiAKIFdFQktJVF9B
UEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfc3RyaW5nX2F0dHIgKFdlYktpdERPTVRl
c3RPYmogKnNlbGYsIGdjaGFyKiAgdmFsdWUpOword2Via2l0X2RvbV90ZXN0X29ial9zZXRfc3Ry
aW5nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2NoYXIqICB2YWx1ZSk7CiAKIFdFQktJ
VF9BUEkgV2ViS2l0RE9NVGVzdE9iaiogCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF90ZXN0X29i
al9hdHRyIChXZWJLaXRET01UZXN0T2JqICpzZWxmKTsKK3dlYmtpdF9kb21fdGVzdF9vYmpfZ2V0
X3Rlc3Rfb2JqX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZik7CiAKIFdFQktJVF9BUEkgdm9p
ZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfdGVzdF9vYmpfYXR0ciAoV2ViS2l0RE9NVGVzdE9i
aiAqc2VsZiwgV2ViS2l0RE9NVGVzdE9iaiogIHZhbHVlKTsKK3dlYmtpdF9kb21fdGVzdF9vYmpf
c2V0X3Rlc3Rfb2JqX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE9i
aiogIHZhbHVlKTsKIAogV0VCS0lUX0FQSSBnbG9uZwotd2Via2l0X2RvbV90ZXN0X29ial9nZXRf
YXR0cl93aXRoX2V4Y2VwdGlvbiAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZik7Cit3ZWJraXRfZG9t
X3Rlc3Rfb2JqX2dldF9hdHRyX3dpdGhfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYp
OwogCiBXRUJLSVRfQVBJIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2F0dHJfd2l0aF9l
eGNlcHRpb24gKFdlYktpdERPTVRlc3RPYmogKnNlbGYsIGdsb25nIHZhbHVlKTsKK3dlYmtpdF9k
b21fdGVzdF9vYmpfc2V0X2F0dHJfd2l0aF9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZiwgZ2xvbmcgdmFsdWUpOwogCiBXRUJLSVRfQVBJIGdsb25nCi13ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2dldF9hdHRyX3dpdGhfc2V0dGVyX2V4Y2VwdGlvbiAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZiwg
R0Vycm9yICoqZXJyb3IpOword2Via2l0X2RvbV90ZXN0X29ial9nZXRfYXR0cl93aXRoX3NldHRl
cl9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgR0Vycm9yICoqZXJyb3IpOwogCiBX
RUJLSVRfQVBJIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2F0dHJfd2l0aF9zZXR0ZXJf
ZXhjZXB0aW9uIChXZWJLaXRET01UZXN0T2JqICpzZWxmLCBnbG9uZyB2YWx1ZSwgR0Vycm9yICoq
ZXJyb3IpOword2Via2l0X2RvbV90ZXN0X29ial9zZXRfYXR0cl93aXRoX3NldHRlcl9leGNlcHRp
b24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgdmFsdWUsIEdFcnJvciAqKmVycm9yKTsK
IAogV0VCS0lUX0FQSSBnbG9uZwotd2Via2l0X2RvbV90ZXN0X29ial9nZXRfYXR0cl93aXRoX2dl
dHRlcl9leGNlcHRpb24gKFdlYktpdERPTVRlc3RPYmogKnNlbGYpOword2Via2l0X2RvbV90ZXN0
X29ial9nZXRfYXR0cl93aXRoX2dldHRlcl9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2Vs
Zik7CiAKIFdFQktJVF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfYXR0cl93aXRo
X2dldHRlcl9leGNlcHRpb24gKFdlYktpdERPTVRlc3RPYmogKnNlbGYsIGdsb25nIHZhbHVlLCBH
RXJyb3IgKiplcnJvcik7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9hdHRyX3dpdGhfZ2V0dGVy
X2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSwgR0Vycm9yICoq
ZXJyb3IpOwogCiBXRUJLSVRfQVBJIGdjaGFyKiAKLXdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3Nj
cmlwdF9zdHJpbmdfYXR0ciAoV2ViS2l0RE9NVGVzdE9iaiAqc2VsZik7Cit3ZWJraXRfZG9tX3Rl
c3Rfb2JqX2dldF9zY3JpcHRfc3RyaW5nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZik7CiAK
IEdfRU5EX0RFQ0xTCiAKLS0gCjEuNi42LjEKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>