<?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>125962</bug_id>
          
          <creation_ts>2013-12-18 16:42:36 -0800</creation_ts>
          <short_desc>Deprecate some WKMutableDictionary functions</short_desc>
          <delta_ts>2013-12-18 17:19:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>961179</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-18 16:42:36 -0800</bug_when>
    <thetext>Deprecate some WKMutableDictionary functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961180</commentid>
    <comment_count>1</comment_count>
      <attachid>219588</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-18 16:43:16 -0800</bug_when>
    <thetext>Created attachment 219588
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961185</commentid>
    <comment_count>2</comment_count>
      <attachid>219591</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-18 17:00:45 -0800</bug_when>
    <thetext>Created attachment 219591
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961190</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-18 17:19:38 -0800</bug_when>
    <thetext>Committed r160811: &lt;http://trac.webkit.org/changeset/160811&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219588</attachid>
            <date>2013-12-18 16:43:16 -0800</date>
            <delta_ts>2013-12-18 17:00:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125962-20131218164315.patch</filename>
            <type>text/plain</type>
            <size>4484</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwODAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMmI1ZDFiZDE1Y2VkNmNk
MDA5ZDM5NmNiYmEyZmMwNzM5MTU3NjJkMC4uY2EyMzVjYWQwOTUwNGFmMTI4MDBjMzEyZDQzMDg5
NGM1M2JmNDA1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTEyLTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVwcmVjYXRlIHNv
bWUgV0tNdXRhYmxlRGljdGlvbmFyeSBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTk2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLRGVwcmVjYXRlZEZ1bmN0
aW9ucy5jcHA6CisgICAgICAgIChXS0RpY3Rpb25hcnlJc011dGFibGUpOgorICAgICAgICAoV0tE
aWN0aW9uYXJ5QWRkSXRlbSk6CisgICAgICAgIChXS0RpY3Rpb25hcnlSZW1vdmVJdGVtKToKKyAg
ICAgICAgKiBTaGFyZWQvQVBJL2MvV0tNdXRhYmxlRGljdGlvbmFyeS5jcHA6CisgICAgICAgICog
U2hhcmVkL0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuaDoKKwogMjAxMy0xMi0xOCAgVGltIEhv
cnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBQREZQbHVnaW46IE5l
dmVyIG1ha2UgYSBOU0V2ZW50VHlwZSA9IDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvYy9XS0RlcHJlY2F0ZWRGdW5jdGlvbnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSS9jL1dLRGVwcmVjYXRlZEZ1bmN0aW9ucy5jcHAKaW5kZXggOGU5ZmM2ZGFlMDI2YjQ1
NDBmYWMwNDhmYTc0ZDg1MDVhYWM4M2VlYy4uOGRlOGRmMDM2ZWU2MGY0Zjc0MTQ4MzY3Njc4YTgz
MWMwNWFjYTMwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGVw
cmVjYXRlZEZ1bmN0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dL
RGVwcmVjYXRlZEZ1bmN0aW9ucy5jcHAKQEAgLTI1LDEzICsyNSwyMiBAQAogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAKKyNpbmNsdWRlICJNdXRhYmxlRGljdGlvbmFyeS5oIgogI2luY2x1ZGUgIldL
QXJyYXkuaCIKKyNpbmNsdWRlICJXS011dGFibGVEaWN0aW9uYXJ5LmgiCisjaW5jbHVkZSAiV0tT
aGFyZWRBUElDYXN0LmgiCiAKIC8vIERlcHJlY2F0ZWQgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJl
IHJlbW92ZWQgZnJvbSB0aGUgZnJhbWV3b3JrIG9uY2Ugbm9ib2R5IHVzZXMgdGhlbS4KIAordXNp
bmcgbmFtZXNwYWNlIFdlYktpdDsKKwogZXh0ZXJuICJDIiB7CiBXS19FWFBPUlQgYm9vbCBXS0Fy
cmF5SXNNdXRhYmxlKFdLQXJyYXlSZWYgYXJyYXkpOwogCitXS19FWFBPUlQgYm9vbCBXS0RpY3Rp
b25hcnlBZGRJdGVtKFdLTXV0YWJsZURpY3Rpb25hcnlSZWYgZGljdGlvbmFyeSwgV0tTdHJpbmdS
ZWYga2V5LCBXS1R5cGVSZWYgaXRlbSk7CitXS19FWFBPUlQgYm9vbCBXS0RpY3Rpb25hcnlJc011
dGFibGUoV0tEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnkpOworV0tfRVhQT1JUIHZvaWQgV0tEaWN0
aW9uYXJ5UmVtb3ZlSXRlbShXS011dGFibGVEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnksIFdLU3Ry
aW5nUmVmIGtleSk7CisKICNpZiBQTEFURk9STShNQUMpCiBXS19FWFBPUlQgQ0dDb250ZXh0UmVm
IFdLR3JhcGhpY3NDb250ZXh0R2V0Q0dDb250ZXh0KFdLR3JhcGhpY3NDb250ZXh0UmVmIGdyYXBo
aWNzQ29udGV4dCk7CiAjZW5kaWYKQEAgLTQyLDYgKzUxLDIyIEBAIGJvb2wgV0tBcnJheUlzTXV0
YWJsZShXS0FycmF5UmVmKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBXS0RpY3Rpb25h
cnlJc011dGFibGUoV0tEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnlSZWYpCit7CisgICAgcmV0dXJu
IHRvSW1wbChkaWN0aW9uYXJ5UmVmKS0+aXNNdXRhYmxlKCk7Cit9CisKK2Jvb2wgV0tEaWN0aW9u
YXJ5QWRkSXRlbShXS011dGFibGVEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnlSZWYsIFdLU3RyaW5n
UmVmIGtleVJlZiwgV0tUeXBlUmVmIGl0ZW1SZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChkaWN0
aW9uYXJ5UmVmKS0+YWRkKHRvSW1wbChrZXlSZWYpLT5zdHJpbmcoKSwgdG9JbXBsKGl0ZW1SZWYp
KTsKK30KKwordm9pZCBXS0RpY3Rpb25hcnlSZW1vdmVJdGVtKFdLTXV0YWJsZURpY3Rpb25hcnlS
ZWYgZGljdGlvbmFyeVJlZiwgV0tTdHJpbmdSZWYga2V5UmVmKQoreworICAgIHRvSW1wbChkaWN0
aW9uYXJ5UmVmKS0+cmVtb3ZlKHRvSW1wbChrZXlSZWYpLT5zdHJpbmcoKSk7Cit9CisKKwogI2lm
IFBMQVRGT1JNKE1BQykKIENHQ29udGV4dFJlZiBXS0dyYXBoaWNzQ29udGV4dEdldENHQ29udGV4
dChXS0dyYXBoaWNzQ29udGV4dFJlZiBncmFwaGljc0NvbnRleHQpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlRGljdGlvbmFyeS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlRGljdGlvbmFyeS5jcHAKaW5kZXggYjA2
NmRmNWU0NWIyOGQzYTY2MTJjMTVhYzExMGYwNzgxNTU2ZWJiYi4uN2VhNWEzNjMwNzZkZGRiODE2
NzhmNGU1OWFmMjA1NDY2Njk1N2VmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS011dGFibGVEaWN0aW9uYXJ5LmNwcApAQCAtMzcsMjIgKzM3LDggQEAgV0tNdXRh
YmxlRGljdGlvbmFyeVJlZiBXS011dGFibGVEaWN0aW9uYXJ5Q3JlYXRlKCkKICAgICByZXR1cm4g
dG9BUEkoZGljdGlvbmFyeS5yZWxlYXNlKCkubGVha1JlZigpKTsKIH0KIAotYm9vbCBXS0RpY3Rp
b25hcnlJc011dGFibGUoV0tEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnlSZWYpCi17Ci0gICAgcmV0
dXJuIHRvSW1wbChkaWN0aW9uYXJ5UmVmKS0+aXNNdXRhYmxlKCk7Ci19Ci0KLWJvb2wgV0tEaWN0
aW9uYXJ5QWRkSXRlbShXS011dGFibGVEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnlSZWYsIFdLU3Ry
aW5nUmVmIGtleVJlZiwgV0tUeXBlUmVmIGl0ZW1SZWYpCi17Ci0gICAgcmV0dXJuIHRvSW1wbChk
aWN0aW9uYXJ5UmVmKS0+YWRkKHRvSW1wbChrZXlSZWYpLT5zdHJpbmcoKSwgdG9JbXBsKGl0ZW1S
ZWYpKTsKLX0KLQogYm9vbCBXS0RpY3Rpb25hcnlTZXRJdGVtKFdLTXV0YWJsZURpY3Rpb25hcnlS
ZWYgZGljdGlvbmFyeVJlZiwgV0tTdHJpbmdSZWYga2V5UmVmLCBXS1R5cGVSZWYgaXRlbVJlZikK
IHsKICAgICByZXR1cm4gdG9JbXBsKGRpY3Rpb25hcnlSZWYpLT5zZXQodG9JbXBsKGtleVJlZikt
PnN0cmluZygpLCB0b0ltcGwoaXRlbVJlZikpOwogfQogCi12b2lkIFdLRGljdGlvbmFyeVJlbW92
ZUl0ZW0oV0tNdXRhYmxlRGljdGlvbmFyeVJlZiBkaWN0aW9uYXJ5UmVmLCBXS1N0cmluZ1JlZiBr
ZXlSZWYpCi17Ci0gICAgdG9JbXBsKGRpY3Rpb25hcnlSZWYpLT5yZW1vdmUodG9JbXBsKGtleVJl
ZiktPnN0cmluZygpKTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS011dGFibGVEaWN0aW9uYXJ5LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tN
dXRhYmxlRGljdGlvbmFyeS5oCmluZGV4IDI0NTlmOTEzMjBlOWE2ZDU2NWY3MjZlZDc0NGFiY2Vh
YWMyZWE0NDEuLmU4Mjk3ZGFhODlkMTUzNzcwNzA0ODNlNDM3MGJhYmRlMGVkMzljMzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVEaWN0aW9uYXJ5LmgK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuaApA
QCAtMzgsMTEgKzM4LDcgQEAgZXh0ZXJuICJDIiB7CiAKIFdLX0VYUE9SVCBXS011dGFibGVEaWN0
aW9uYXJ5UmVmIFdLTXV0YWJsZURpY3Rpb25hcnlDcmVhdGUoKTsKIAotV0tfRVhQT1JUIGJvb2wg
V0tEaWN0aW9uYXJ5SXNNdXRhYmxlKFdLRGljdGlvbmFyeVJlZiBkaWN0aW9uYXJ5KTsKLQotV0tf
RVhQT1JUIGJvb2wgV0tEaWN0aW9uYXJ5QWRkSXRlbShXS011dGFibGVEaWN0aW9uYXJ5UmVmIGRp
Y3Rpb25hcnksIFdLU3RyaW5nUmVmIGtleSwgV0tUeXBlUmVmIGl0ZW0pOwogV0tfRVhQT1JUIGJv
b2wgV0tEaWN0aW9uYXJ5U2V0SXRlbShXS011dGFibGVEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnks
IFdLU3RyaW5nUmVmIGtleSwgV0tUeXBlUmVmIGl0ZW0pOwotV0tfRVhQT1JUIHZvaWQgV0tEaWN0
aW9uYXJ5UmVtb3ZlSXRlbShXS011dGFibGVEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnksIFdLU3Ry
aW5nUmVmIGtleSk7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219591</attachid>
            <date>2013-12-18 17:00:45 -0800</date>
            <delta_ts>2013-12-18 17:11:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125962-20131218170044.patch</filename>
            <type>text/plain</type>
            <size>45702</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwODAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMmI1ZDFiZDE1Y2VkNmNk
MDA5ZDM5NmNiYmEyZmMwNzM5MTU3NjJkMC4uY2EyMzVjYWQwOTUwNGFmMTI4MDBjMzEyZDQzMDg5
NGM1M2JmNDA1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTEyLTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVwcmVjYXRlIHNv
bWUgV0tNdXRhYmxlRGljdGlvbmFyeSBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTk2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLRGVwcmVjYXRlZEZ1bmN0
aW9ucy5jcHA6CisgICAgICAgIChXS0RpY3Rpb25hcnlJc011dGFibGUpOgorICAgICAgICAoV0tE
aWN0aW9uYXJ5QWRkSXRlbSk6CisgICAgICAgIChXS0RpY3Rpb25hcnlSZW1vdmVJdGVtKToKKyAg
ICAgICAgKiBTaGFyZWQvQVBJL2MvV0tNdXRhYmxlRGljdGlvbmFyeS5jcHA6CisgICAgICAgICog
U2hhcmVkL0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuaDoKKwogMjAxMy0xMi0xOCAgVGltIEhv
cnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBQREZQbHVnaW46IE5l
dmVyIG1ha2UgYSBOU0V2ZW50VHlwZSA9IDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvYy9XS0RlcHJlY2F0ZWRGdW5jdGlvbnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSS9jL1dLRGVwcmVjYXRlZEZ1bmN0aW9ucy5jcHAKaW5kZXggOGU5ZmM2ZGFlMDI2YjQ1
NDBmYWMwNDhmYTc0ZDg1MDVhYWM4M2VlYy4uOGRlOGRmMDM2ZWU2MGY0Zjc0MTQ4MzY3Njc4YTgz
MWMwNWFjYTMwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGVw
cmVjYXRlZEZ1bmN0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dL
RGVwcmVjYXRlZEZ1bmN0aW9ucy5jcHAKQEAgLTI1LDEzICsyNSwyMiBAQAogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAKKyNpbmNsdWRlICJNdXRhYmxlRGljdGlvbmFyeS5oIgogI2luY2x1ZGUgIldL
QXJyYXkuaCIKKyNpbmNsdWRlICJXS011dGFibGVEaWN0aW9uYXJ5LmgiCisjaW5jbHVkZSAiV0tT
aGFyZWRBUElDYXN0LmgiCiAKIC8vIERlcHJlY2F0ZWQgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJl
IHJlbW92ZWQgZnJvbSB0aGUgZnJhbWV3b3JrIG9uY2Ugbm9ib2R5IHVzZXMgdGhlbS4KIAordXNp
bmcgbmFtZXNwYWNlIFdlYktpdDsKKwogZXh0ZXJuICJDIiB7CiBXS19FWFBPUlQgYm9vbCBXS0Fy
cmF5SXNNdXRhYmxlKFdLQXJyYXlSZWYgYXJyYXkpOwogCitXS19FWFBPUlQgYm9vbCBXS0RpY3Rp
b25hcnlBZGRJdGVtKFdLTXV0YWJsZURpY3Rpb25hcnlSZWYgZGljdGlvbmFyeSwgV0tTdHJpbmdS
ZWYga2V5LCBXS1R5cGVSZWYgaXRlbSk7CitXS19FWFBPUlQgYm9vbCBXS0RpY3Rpb25hcnlJc011
dGFibGUoV0tEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnkpOworV0tfRVhQT1JUIHZvaWQgV0tEaWN0
aW9uYXJ5UmVtb3ZlSXRlbShXS011dGFibGVEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnksIFdLU3Ry
aW5nUmVmIGtleSk7CisKICNpZiBQTEFURk9STShNQUMpCiBXS19FWFBPUlQgQ0dDb250ZXh0UmVm
IFdLR3JhcGhpY3NDb250ZXh0R2V0Q0dDb250ZXh0KFdLR3JhcGhpY3NDb250ZXh0UmVmIGdyYXBo
aWNzQ29udGV4dCk7CiAjZW5kaWYKQEAgLTQyLDYgKzUxLDIyIEBAIGJvb2wgV0tBcnJheUlzTXV0
YWJsZShXS0FycmF5UmVmKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBXS0RpY3Rpb25h
cnlJc011dGFibGUoV0tEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnlSZWYpCit7CisgICAgcmV0dXJu
IHRvSW1wbChkaWN0aW9uYXJ5UmVmKS0+aXNNdXRhYmxlKCk7Cit9CisKK2Jvb2wgV0tEaWN0aW9u
YXJ5QWRkSXRlbShXS011dGFibGVEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnlSZWYsIFdLU3RyaW5n
UmVmIGtleVJlZiwgV0tUeXBlUmVmIGl0ZW1SZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChkaWN0
aW9uYXJ5UmVmKS0+YWRkKHRvSW1wbChrZXlSZWYpLT5zdHJpbmcoKSwgdG9JbXBsKGl0ZW1SZWYp
KTsKK30KKwordm9pZCBXS0RpY3Rpb25hcnlSZW1vdmVJdGVtKFdLTXV0YWJsZURpY3Rpb25hcnlS
ZWYgZGljdGlvbmFyeVJlZiwgV0tTdHJpbmdSZWYga2V5UmVmKQoreworICAgIHRvSW1wbChkaWN0
aW9uYXJ5UmVmKS0+cmVtb3ZlKHRvSW1wbChrZXlSZWYpLT5zdHJpbmcoKSk7Cit9CisKKwogI2lm
IFBMQVRGT1JNKE1BQykKIENHQ29udGV4dFJlZiBXS0dyYXBoaWNzQ29udGV4dEdldENHQ29udGV4
dChXS0dyYXBoaWNzQ29udGV4dFJlZiBncmFwaGljc0NvbnRleHQpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlRGljdGlvbmFyeS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlRGljdGlvbmFyeS5jcHAKaW5kZXggYjA2
NmRmNWU0NWIyOGQzYTY2MTJjMTVhYzExMGYwNzgxNTU2ZWJiYi4uN2VhNWEzNjMwNzZkZGRiODE2
NzhmNGU1OWFmMjA1NDY2Njk1N2VmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS011dGFibGVEaWN0aW9uYXJ5LmNwcApAQCAtMzcsMjIgKzM3LDggQEAgV0tNdXRh
YmxlRGljdGlvbmFyeVJlZiBXS011dGFibGVEaWN0aW9uYXJ5Q3JlYXRlKCkKICAgICByZXR1cm4g
dG9BUEkoZGljdGlvbmFyeS5yZWxlYXNlKCkubGVha1JlZigpKTsKIH0KIAotYm9vbCBXS0RpY3Rp
b25hcnlJc011dGFibGUoV0tEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnlSZWYpCi17Ci0gICAgcmV0
dXJuIHRvSW1wbChkaWN0aW9uYXJ5UmVmKS0+aXNNdXRhYmxlKCk7Ci19Ci0KLWJvb2wgV0tEaWN0
aW9uYXJ5QWRkSXRlbShXS011dGFibGVEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnlSZWYsIFdLU3Ry
aW5nUmVmIGtleVJlZiwgV0tUeXBlUmVmIGl0ZW1SZWYpCi17Ci0gICAgcmV0dXJuIHRvSW1wbChk
aWN0aW9uYXJ5UmVmKS0+YWRkKHRvSW1wbChrZXlSZWYpLT5zdHJpbmcoKSwgdG9JbXBsKGl0ZW1S
ZWYpKTsKLX0KLQogYm9vbCBXS0RpY3Rpb25hcnlTZXRJdGVtKFdLTXV0YWJsZURpY3Rpb25hcnlS
ZWYgZGljdGlvbmFyeVJlZiwgV0tTdHJpbmdSZWYga2V5UmVmLCBXS1R5cGVSZWYgaXRlbVJlZikK
IHsKICAgICByZXR1cm4gdG9JbXBsKGRpY3Rpb25hcnlSZWYpLT5zZXQodG9JbXBsKGtleVJlZikt
PnN0cmluZygpLCB0b0ltcGwoaXRlbVJlZikpOwogfQogCi12b2lkIFdLRGljdGlvbmFyeVJlbW92
ZUl0ZW0oV0tNdXRhYmxlRGljdGlvbmFyeVJlZiBkaWN0aW9uYXJ5UmVmLCBXS1N0cmluZ1JlZiBr
ZXlSZWYpCi17Ci0gICAgdG9JbXBsKGRpY3Rpb25hcnlSZWYpLT5yZW1vdmUodG9JbXBsKGtleVJl
ZiktPnN0cmluZygpKTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS011dGFibGVEaWN0aW9uYXJ5LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tN
dXRhYmxlRGljdGlvbmFyeS5oCmluZGV4IDI0NTlmOTEzMjBlOWE2ZDU2NWY3MjZlZDc0NGFiY2Vh
YWMyZWE0NDEuLmU4Mjk3ZGFhODlkMTUzNzcwNzA0ODNlNDM3MGJhYmRlMGVkMzljMzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVEaWN0aW9uYXJ5LmgK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuaApA
QCAtMzgsMTEgKzM4LDcgQEAgZXh0ZXJuICJDIiB7CiAKIFdLX0VYUE9SVCBXS011dGFibGVEaWN0
aW9uYXJ5UmVmIFdLTXV0YWJsZURpY3Rpb25hcnlDcmVhdGUoKTsKIAotV0tfRVhQT1JUIGJvb2wg
V0tEaWN0aW9uYXJ5SXNNdXRhYmxlKFdLRGljdGlvbmFyeVJlZiBkaWN0aW9uYXJ5KTsKLQotV0tf
RVhQT1JUIGJvb2wgV0tEaWN0aW9uYXJ5QWRkSXRlbShXS011dGFibGVEaWN0aW9uYXJ5UmVmIGRp
Y3Rpb25hcnksIFdLU3RyaW5nUmVmIGtleSwgV0tUeXBlUmVmIGl0ZW0pOwogV0tfRVhQT1JUIGJv
b2wgV0tEaWN0aW9uYXJ5U2V0SXRlbShXS011dGFibGVEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnks
IFdLU3RyaW5nUmVmIGtleSwgV0tUeXBlUmVmIGl0ZW0pOwotV0tfRVhQT1JUIHZvaWQgV0tEaWN0
aW9uYXJ5UmVtb3ZlSXRlbShXS011dGFibGVEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnksIFdLU3Ry
aW5nUmVmIGtleSk7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDQ3OTgwNThiNzIwYzA3ZTcwYWVlZDhk
MzM2NzFhYWY0MDFhNWRjZDIuLjI3ODFiNTc1Zjg4MjIwNjA4NWYxYTRlZjIxODdlMTc1OTVlMzYy
MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw1MCBAQAorMjAxMy0xMi0xOCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBw
bGUuY29tPgorCisgICAgICAgIERlcHJlY2F0ZSBzb21lIFdLTXV0YWJsZURpY3Rpb25hcnkgZnVu
Y3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MjU5NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvUGxhdGZvcm1VdGlsaXRpZXMuY3BwOgorICAgICAgICAoVGVzdFdlYktp
dEFQSTo6VXRpbDo6Y3JlYXRlSW5pdGlhbGl6YXRpb25EaWN0aW9uYXJ5Rm9ySW5qZWN0ZWRCdW5k
bGVUZXN0KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRGlkQXNzb2Np
YXRlRm9ybUNvbnRyb2xzX0J1bmRsZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpkaWRB
c3NvY2lhdGVGb3JtQ29udHJvbHMpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mi9XaWxsTG9hZF9CdW5kbGUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6V2lsbExv
YWRUZXN0Ojp3aWxsTG9hZFVSTFJlcXVlc3QpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6V2ls
bExvYWRUZXN0Ojp3aWxsTG9hZERhdGFSZXF1ZXN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V1RSOjpjcmVhdGVNb3VzZU1lc3NhZ2VCb2R5KToKKyAgICAgICAgKFdUUjo6RXZlbnRTZW5kaW5n
Q29udHJvbGxlcjo6bW91c2VNb3ZlVG8pOgorICAgICAgICAoV1RSOjpFdmVudFNlbmRpbmdDb250
cm9sbGVyOjpsZWFwRm9yd2FyZCk6CisgICAgICAgIChXVFI6OmNyZWF0ZUtleURvd25NZXNzYWdl
Qm9keSk6CisgICAgICAgIChXVFI6OkV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6Om1vdXNlU2Nyb2xs
QnkpOgorICAgICAgICAoV1RSOjpFdmVudFNlbmRpbmdDb250cm9sbGVyOjpjb250aW51b3VzTW91
c2VTY3JvbGxCeSk6CisgICAgICAgIChXVFI6OkV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmFkZFRv
dWNoUG9pbnQpOgorICAgICAgICAoV1RSOjpFdmVudFNlbmRpbmdDb250cm9sbGVyOjp1cGRhdGVU
b3VjaFBvaW50KToKKyAgICAgICAgKFdUUjo6RXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6c2V0VG91
Y2hNb2RpZmllcik6CisgICAgICAgIChXVFI6OkV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OnNldFRv
dWNoUG9pbnRSYWRpdXMpOgorICAgICAgICAoV1RSOjpFdmVudFNlbmRpbmdDb250cm9sbGVyOjp0
b3VjaFN0YXJ0KToKKyAgICAgICAgKFdUUjo6RXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6dG91Y2hN
b3ZlKToKKyAgICAgICAgKFdUUjo6RXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6dG91Y2hFbmQpOgor
ICAgICAgICAoV1RSOjpFdmVudFNlbmRpbmdDb250cm9sbGVyOjp0b3VjaENhbmNlbCk6CisgICAg
ICAgIChXVFI6OkV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNsZWFyVG91Y2hQb2ludHMpOgorICAg
ICAgICAoV1RSOjpFdmVudFNlbmRpbmdDb250cm9sbGVyOjpyZWxlYXNlVG91Y2hQb2ludCk6Cisg
ICAgICAgIChXVFI6OkV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNhbmNlbFRvdWNoUG9pbnQpOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
Y3BwOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6ZG9uZSk6CisgICAgICAgIChXVFI6
OkluamVjdGVkQnVuZGxlOjpzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbik6CisgICAgICAgIChX
VFI6OkluamVjdGVkQnVuZGxlOjpzZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZSk6CisgICAgICAgIChX
VFI6OkluamVjdGVkQnVuZGxlOjpzZXRWaXNpYmlsaXR5U3RhdGUpOgorICAgICAgICAoV1RSOjpJ
bmplY3RlZEJ1bmRsZTo6cXVldWVMb2FkKToKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6
OnF1ZXVlTG9hZEhUTUxTdHJpbmcpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZSk6
CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFN0YXRlVG9Db25zaXN0ZW50VmFs
dWVzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAg
ICAgICAgKFdUUjo6dXBkYXRlVGhyZWFkZWRTY3JvbGxpbmdGb3JDdXJyZW50VGVzdCk6CisgICAg
ICAgIChXVFI6OnVwZGF0ZUxheW91dFR5cGUpOgorICAgICAgICAoV1RSOjpUZXN0SW52b2NhdGlv
bjo6aW52b2tlKToKKwogMjAxMy0xMi0xOCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIFtXaW5DYWlyb10gUHJlcGFyYXRpb24gZm9yIEdTdHJl
YW1lciBvbiBXaW5kb3dzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9y
bVV0aWxpdGllcy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtVXRpbGl0aWVzLmNw
cAppbmRleCAzZjQ4Njc2NDUyMjZkOTY0MDA1MzQwNTlmM2IzYzVkZTRlNzEwNGFhLi5jZWJmZjdi
ZTk2Yjc4MGU3YzdmZWI4MGIxNzE1YmVjN2JkYWZlYmFmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1BsYXRmb3JtVXRpbGl0aWVzLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1BsYXRmb3JtVXRpbGl0aWVzLmNwcApAQCAtNDUsMTAgKzQ1LDEwIEBAIFdLRGljdGlvbmFyeVJl
ZiBjcmVhdGVJbml0aWFsaXphdGlvbkRpY3Rpb25hcnlGb3JJbmplY3RlZEJ1bmRsZVRlc3QoY29u
c3Qgc3RkOjpzCiAKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdGVzdE5hbWVLZXkoQWRv
cHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRlc3ROYW1lIikpOwogICAgIFdL
UmV0YWluUHRyPFdLU3RyaW5nUmVmPiB0ZXN0TmFtZVN0cmluZyhBZG9wdFdLLCBXS1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZyh0ZXN0TmFtZS5jX3N0cigpKSk7Ci0gICAgV0tEaWN0aW9uYXJ5
QWRkSXRlbShpbml0aWFsaXphdGlvbkRpY3Rpb25hcnksIHRlc3ROYW1lS2V5LmdldCgpLCB0ZXN0
TmFtZVN0cmluZy5nZXQoKSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShpbml0aWFsaXphdGlv
bkRpY3Rpb25hcnksIHRlc3ROYW1lS2V5LmdldCgpLCB0ZXN0TmFtZVN0cmluZy5nZXQoKSk7CiAK
ICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdXNlckRhdGFLZXkoQWRvcHRXSywgV0tTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlVzZXJEYXRhIikpOwotICAgIFdLRGljdGlvbmFyeUFk
ZEl0ZW0oaW5pdGlhbGl6YXRpb25EaWN0aW9uYXJ5LCB1c2VyRGF0YUtleS5nZXQoKSwgdXNlckRh
dGEpOworICAgIFdLRGljdGlvbmFyeVNldEl0ZW0oaW5pdGlhbGl6YXRpb25EaWN0aW9uYXJ5LCB1
c2VyRGF0YUtleS5nZXQoKSwgdXNlckRhdGEpOwogCiAgICAgcmV0dXJuIGluaXRpYWxpemF0aW9u
RGljdGlvbmFyeTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mi9EaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNfQnVuZGxlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Mi9EaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNfQnVuZGxlLmNwcApp
bmRleCBiNjE4MzZhZGMxYTlkODc0NWE3NDRhNTk0MTY0OTdkOTVlMjY3YWM4Li44ODAxYWVjOWE0
OGYwMWJhZWYyZWU4ODg2MmExOTYxYmQ0ODkwZjU5IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdDIvRGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzX0J1bmRsZS5jcHAK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RpZEFzc29jaWF0ZUZvcm1D
b250cm9sc19CdW5kbGUuY3BwCkBAIC01MCw5ICs1MCw5IEBAIHN0YXRpYyB2b2lkIGRpZEFzc29j
aWF0ZUZvcm1Db250cm9scyhXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tBcnJheVJlZiBlbGVtZW50
SGFuCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tNdXRhYmxlRGljdGlvbmFyeVJlZj4gbWVzc2FnZUJv
ZHkgPSBhZG9wdFdLKFdLTXV0YWJsZURpY3Rpb25hcnlDcmVhdGUoKSk7CiAKLSAgICBXS0RpY3Rp
b25hcnlBZGRJdGVtKG1lc3NhZ2VCb2R5LmdldCgpLCBVdGlsOjp0b1dLKCJQYWdlIikuZ2V0KCks
IHBhZ2UpOworICAgIFdLRGljdGlvbmFyeVNldEl0ZW0obWVzc2FnZUJvZHkuZ2V0KCksIFV0aWw6
OnRvV0soIlBhZ2UiKS5nZXQoKSwgcGFnZSk7CiAgICAgV0tSZXRhaW5QdHI8V0tVSW50NjRSZWY+
IG51bWJlck9mRWxlbWVudHMgPSBhZG9wdFdLKFdLVUludDY0Q3JlYXRlKFdLQXJyYXlHZXRTaXpl
KGVsZW1lbnRIYW5kbGVzKSkpOwotICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0obWVzc2FnZUJvZHku
Z2V0KCksIFV0aWw6OnRvV0soIk51bWJlck9mQ29udHJvbHMiKS5nZXQoKSwgbnVtYmVyT2ZFbGVt
ZW50cy5nZXQoKSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShtZXNzYWdlQm9keS5nZXQoKSwg
VXRpbDo6dG9XSygiTnVtYmVyT2ZDb250cm9scyIpLmdldCgpLCBudW1iZXJPZkVsZW1lbnRzLmdl
dCgpKTsKIAogICAgIFdLQnVuZGxlUG9zdE1lc3NhZ2UoSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVy
OjpzaGFyZWQoKS5idW5kbGUoKSwgVXRpbDo6dG9XSygiRGlkUmVjZWl2ZURpZEFzc29jaWF0ZUZv
cm1Db250cm9scyIpLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSk7CiB9CmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV2lsbExvYWRfQnVuZGxlLmNwcCBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XaWxsTG9hZF9CdW5kbGUuY3BwCmluZGV4
IGI3MWI4YTAyNzk3ZjRiMjRkYjBhYTBhZDVmODk4Y2NhNWQ3NmIxMDQuLjQ3ZmEwYTIxMjNhNzU4
OTUwMzc3YzE3Y2EwZWNiZGM1Yjk0YjMyNzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9XaWxsTG9hZF9CdW5kbGUuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Mi9XaWxsTG9hZF9CdW5kbGUuY3BwCkBAIC00NCw4ICs0NCw4IEBA
IHByaXZhdGU6CiAgICAgewogICAgICAgICBXS1JldGFpblB0cjxXS011dGFibGVEaWN0aW9uYXJ5
UmVmPiBtZXNzYWdlQm9keSA9IGFkb3B0V0soV0tNdXRhYmxlRGljdGlvbmFyeUNyZWF0ZSgpKTsK
IAotICAgICAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKG1lc3NhZ2VCb2R5LmdldCgpLCBVdGlsOjp0
b1dLKCJVUkxSZXF1ZXN0UmV0dXJuIikuZ2V0KCksIHJlcXVlc3QpOwotICAgICAgICBXS0RpY3Rp
b25hcnlBZGRJdGVtKG1lc3NhZ2VCb2R5LmdldCgpLCBVdGlsOjp0b1dLKCJVc2VyRGF0YVJldHVy
biIpLmdldCgpLCB1c2VyRGF0YSk7CisgICAgICAgIFdLRGljdGlvbmFyeVNldEl0ZW0obWVzc2Fn
ZUJvZHkuZ2V0KCksIFV0aWw6OnRvV0soIlVSTFJlcXVlc3RSZXR1cm4iKS5nZXQoKSwgcmVxdWVz
dCk7CisgICAgICAgIFdLRGljdGlvbmFyeVNldEl0ZW0obWVzc2FnZUJvZHkuZ2V0KCksIFV0aWw6
OnRvV0soIlVzZXJEYXRhUmV0dXJuIikuZ2V0KCksIHVzZXJEYXRhKTsKIAogICAgICAgICBXS0J1
bmRsZVBvc3RNZXNzYWdlKEluamVjdGVkQnVuZGxlQ29udHJvbGxlcjo6c2hhcmVkKCkuYnVuZGxl
KCksIFV0aWw6OnRvV0soIldpbGxMb2FkVVJMUmVxdWVzdFJldHVybiIpLmdldCgpLCBtZXNzYWdl
Qm9keS5nZXQoKSk7CiAgICAgfQpAQCAtNTQsMTIgKzU0LDEyIEBAIHByaXZhdGU6CiAgICAgewog
ICAgICAgICBXS1JldGFpblB0cjxXS011dGFibGVEaWN0aW9uYXJ5UmVmPiBtZXNzYWdlQm9keSA9
IGFkb3B0V0soV0tNdXRhYmxlRGljdGlvbmFyeUNyZWF0ZSgpKTsKIAotICAgICAgICBXS0RpY3Rp
b25hcnlBZGRJdGVtKG1lc3NhZ2VCb2R5LmdldCgpLCBVdGlsOjp0b1dLKCJVUkxSZXF1ZXN0UmV0
dXJuIikuZ2V0KCksIHJlcXVlc3QpOwotICAgICAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKG1lc3Nh
Z2VCb2R5LmdldCgpLCBVdGlsOjp0b1dLKCJEYXRhUmV0dXJuIikuZ2V0KCksIGRhdGEpOwotICAg
ICAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKG1lc3NhZ2VCb2R5LmdldCgpLCBVdGlsOjp0b1dLKCJN
SU1FVHlwZVJldHVybiIpLmdldCgpLCBNSU1FVHlwZSk7Ci0gICAgICAgIFdLRGljdGlvbmFyeUFk
ZEl0ZW0obWVzc2FnZUJvZHkuZ2V0KCksIFV0aWw6OnRvV0soIkVuY29kaW5nTmFtZVJldHVybiIp
LmdldCgpLCBlbmNvZGluZ05hbWUpOwotICAgICAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKG1lc3Nh
Z2VCb2R5LmdldCgpLCBVdGlsOjp0b1dLKCJVbnJlYWNoYWJsZVVSTFJldHVybiIpLmdldCgpLCB1
bnJlYWNoYWJsZVVSTCk7Ci0gICAgICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0obWVzc2FnZUJvZHku
Z2V0KCksIFV0aWw6OnRvV0soIlVzZXJEYXRhUmV0dXJuIikuZ2V0KCksIHVzZXJEYXRhKTsKKyAg
ICAgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShtZXNzYWdlQm9keS5nZXQoKSwgVXRpbDo6dG9XSygi
VVJMUmVxdWVzdFJldHVybiIpLmdldCgpLCByZXF1ZXN0KTsKKyAgICAgICAgV0tEaWN0aW9uYXJ5
U2V0SXRlbShtZXNzYWdlQm9keS5nZXQoKSwgVXRpbDo6dG9XSygiRGF0YVJldHVybiIpLmdldCgp
LCBkYXRhKTsKKyAgICAgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShtZXNzYWdlQm9keS5nZXQoKSwg
VXRpbDo6dG9XSygiTUlNRVR5cGVSZXR1cm4iKS5nZXQoKSwgTUlNRVR5cGUpOworICAgICAgICBX
S0RpY3Rpb25hcnlTZXRJdGVtKG1lc3NhZ2VCb2R5LmdldCgpLCBVdGlsOjp0b1dLKCJFbmNvZGlu
Z05hbWVSZXR1cm4iKS5nZXQoKSwgZW5jb2RpbmdOYW1lKTsKKyAgICAgICAgV0tEaWN0aW9uYXJ5
U2V0SXRlbShtZXNzYWdlQm9keS5nZXQoKSwgVXRpbDo6dG9XSygiVW5yZWFjaGFibGVVUkxSZXR1
cm4iKS5nZXQoKSwgdW5yZWFjaGFibGVVUkwpOworICAgICAgICBXS0RpY3Rpb25hcnlTZXRJdGVt
KG1lc3NhZ2VCb2R5LmdldCgpLCBVdGlsOjp0b1dLKCJVc2VyRGF0YVJldHVybiIpLmdldCgpLCB1
c2VyRGF0YSk7CiAKICAgICAgICAgV0tCdW5kbGVQb3N0TWVzc2FnZShJbmplY3RlZEJ1bmRsZUNv
bnRyb2xsZXI6OnNoYXJlZCgpLmJ1bmRsZSgpLCBVdGlsOjp0b1dLKCJXaWxsTG9hZERhdGFSZXF1
ZXN0UmV0dXJuIikuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpKTsKIApkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVy
LmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5jcHAKaW5kZXggZjcwMmI1Y2E0NjFkNjkyYWMzNWMxZjBmZDNjMDM1NTI0Yzkz
MDk2My4uOTZjNzljNDUyOWM0NjgxM2NhYTM0N2IzOTkxMjc2ZDM1NmNiZDc2MyAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250
cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2
ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCkBAIC0xOTIsMTUgKzE5MiwxNSBAQCBzdGF0aWMgV0tN
dXRhYmxlRGljdGlvbmFyeVJlZiBjcmVhdGVNb3VzZU1lc3NhZ2VCb2R5KE1vdXNlU3RhdGUgc3Rh
dGUsIGludCBidXR0bwogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3NhZ2VL
ZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlN1Yk1lc3NhZ2UiKSk7
CiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdL
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHN0YXRlID09IE1vdXNlVXAgPyAiTW91c2VVcCIg
OiAiTW91c2VEb3duIikpOwotICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNz
YWdlQm9keSwgc3ViTWVzc2FnZUtleS5nZXQoKSwgc3ViTWVzc2FnZU5hbWUuZ2V0KCkpOworICAg
IFdLRGljdGlvbmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keSwgc3ViTWVzc2FnZUtl
eS5nZXQoKSwgc3ViTWVzc2FnZU5hbWUuZ2V0KCkpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJp
bmdSZWY+IGJ1dHRvbktleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
IkJ1dHRvbiIpKTsKICAgICBXS1JldGFpblB0cjxXS1VJbnQ2NFJlZj4gYnV0dG9uUmVmID0gYWRv
cHRXSyhXS1VJbnQ2NENyZWF0ZShidXR0b24pKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKEV2
ZW50U2VuZGVyTWVzc2FnZUJvZHksIGJ1dHRvbktleS5nZXQoKSwgYnV0dG9uUmVmLmdldCgpKTsK
KyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHksIGJ1dHRvbktl
eS5nZXQoKSwgYnV0dG9uUmVmLmdldCgpKTsKIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVm
PiBtb2RpZmllcnNLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJN
b2RpZmllcnMiKSk7CiAgICAgV0tSZXRhaW5QdHI8V0tVSW50NjRSZWY+IG1vZGlmaWVyc1JlZiA9
IGFkb3B0V0soV0tVSW50NjRDcmVhdGUobW9kaWZpZXJzKSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRk
SXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LCBtb2RpZmllcnNLZXkuZ2V0KCksIG1vZGlmaWVy
c1JlZi5nZXQoKSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShFdmVudFNlbmRlck1lc3NhZ2VC
b2R5LCBtb2RpZmllcnNLZXkuZ2V0KCksIG1vZGlmaWVyc1JlZi5nZXQoKSk7CiAKICAgICByZXR1
cm4gRXZlbnRTZW5kZXJNZXNzYWdlQm9keTsKIH0KQEAgLTIzOCwxNSArMjM4LDE1IEBAIHZvaWQg
RXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6bW91c2VNb3ZlVG8oaW50IHgsIGludCB5KQogCiAgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3NhZ2VLZXkoQWRvcHRXSywgV0tTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoIlN1Yk1lc3NhZ2UiKSk7CiAgICAgV0tSZXRhaW5QdHI8V0tT
dHJpbmdSZWY+IHN1Yk1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJNb3VzZU1vdmVUbyIpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKEV2ZW50U2Vu
ZGVyTWVzc2FnZUJvZHkuZ2V0KCksIHN1Yk1lc3NhZ2VLZXkuZ2V0KCksIHN1Yk1lc3NhZ2VOYW1l
LmdldCgpKTsKKyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHku
Z2V0KCksIHN1Yk1lc3NhZ2VLZXkuZ2V0KCksIHN1Yk1lc3NhZ2VOYW1lLmdldCgpKTsKIAogICAg
IFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB4S2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCJYIikpOwogICAgIFdLUmV0YWluUHRyPFdLRG91YmxlUmVmPiB4UmVmKEFk
b3B0V0ssIFdLRG91YmxlQ3JlYXRlKHgpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKEV2ZW50
U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIHhLZXkuZ2V0KCksIHhSZWYuZ2V0KCkpOworICAgIFdL
RGljdGlvbmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgeEtleS5nZXQo
KSwgeFJlZi5nZXQoKSk7CiAKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4geUtleShBZG9w
dFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiWSIpKTsKICAgICBXS1JldGFpblB0
cjxXS0RvdWJsZVJlZj4geVJlZihBZG9wdFdLLCBXS0RvdWJsZUNyZWF0ZSh5KSk7Ci0gICAgV0tE
aWN0aW9uYXJ5QWRkSXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCB5S2V5LmdldCgp
LCB5UmVmLmdldCgpKTsKKyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKEV2ZW50U2VuZGVyTWVzc2Fn
ZUJvZHkuZ2V0KCksIHlLZXkuZ2V0KCksIHlSZWYuZ2V0KCkpOwogCiAgICAgV0tCdW5kbGVQb3N0
U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgRXZl
bnRTZW5kZXJNZXNzYWdlTmFtZS5nZXQoKSwgRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwg
MCk7CiB9CkBAIC0yNTgsMTEgKzI1OCwxMSBAQCB2b2lkIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6
OmxlYXBGb3J3YXJkKGludCBtaWxsaXNlY29uZHMpCiAKICAgICBXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4gc3ViTWVzc2FnZUtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
ZygiU3ViTWVzc2FnZSIpKTsKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gc3ViTWVzc2Fn
ZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkxlYXBGb3J3YXJk
IikpOwotICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQo
KSwgc3ViTWVzc2FnZUtleS5nZXQoKSwgc3ViTWVzc2FnZU5hbWUuZ2V0KCkpOworICAgIFdLRGlj
dGlvbmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgc3ViTWVzc2FnZUtl
eS5nZXQoKSwgc3ViTWVzc2FnZU5hbWUuZ2V0KCkpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJp
bmdSZWY+IHRpbWVLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRp
bWVJbk1pbGxpc2Vjb25kcyIpKTsKICAgICBXS1JldGFpblB0cjxXS1VJbnQ2NFJlZj4gdGltZVJl
ZihBZG9wdFdLLCBXS1VJbnQ2NENyZWF0ZShtaWxsaXNlY29uZHMpKTsKLSAgICBXS0RpY3Rpb25h
cnlBZGRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIHRpbWVLZXkuZ2V0KCksIHRp
bWVSZWYuZ2V0KCkpOworICAgIFdLRGljdGlvbmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdl
Qm9keS5nZXQoKSwgdGltZUtleS5nZXQoKSwgdGltZVJlZi5nZXQoKSk7CiAKICAgICBXS0J1bmRs
ZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgp
LCBFdmVudFNlbmRlck1lc3NhZ2VOYW1lLmdldCgpLCBFdmVudFNlbmRlck1lc3NhZ2VCb2R5Lmdl
dCgpLCAwKTsKIH0KQEAgLTI4OSwxOCArMjg5LDE4IEBAIHN0YXRpYyBXS1JldGFpblB0cjxXS011
dGFibGVEaWN0aW9uYXJ5UmVmPiBjcmVhdGVLZXlEb3duTWVzc2FnZUJvZHkoSlNTdHJpbmdSZWYK
IAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBzdWJNZXNzYWdlS2V5KEFkb3B0V0ssIFdL
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTdWJNZXNzYWdlIikpOwogICAgIFdLUmV0YWlu
UHRyPFdLU3RyaW5nUmVmPiBzdWJNZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdp
dGhVVEY4Q1N0cmluZygiS2V5RG93biIpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKEV2ZW50
U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIHN1Yk1lc3NhZ2VLZXkuZ2V0KCksIHN1Yk1lc3NhZ2VO
YW1lLmdldCgpKTsKKyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJv
ZHkuZ2V0KCksIHN1Yk1lc3NhZ2VLZXkuZ2V0KCksIHN1Yk1lc3NhZ2VOYW1lLmdldCgpKTsKIAog
ICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBrZXlLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIktleSIpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKEV2ZW50
U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIGtleUtleS5nZXQoKSwgdG9XSyhrZXkpLmdldCgpKTsK
KyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIGtl
eUtleS5nZXQoKSwgdG9XSyhrZXkpLmdldCgpKTsKIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5n
UmVmPiBtb2RpZmllcnNLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
Ik1vZGlmaWVycyIpKTsKICAgICBXS1JldGFpblB0cjxXS1VJbnQ2NFJlZj4gbW9kaWZpZXJzUmVm
KEFkb3B0V0ssIFdLVUludDY0Q3JlYXRlKG1vZGlmaWVycykpOwotICAgIFdLRGljdGlvbmFyeUFk
ZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgbW9kaWZpZXJzS2V5LmdldCgpLCBt
b2RpZmllcnNSZWYuZ2V0KCkpOworICAgIFdLRGljdGlvbmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJN
ZXNzYWdlQm9keS5nZXQoKSwgbW9kaWZpZXJzS2V5LmdldCgpLCBtb2RpZmllcnNSZWYuZ2V0KCkp
OwogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGxvY2F0aW9uS2V5KEFkb3B0V0ssIFdL
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJMb2NhdGlvbiIpKTsKICAgICBXS1JldGFpblB0
cjxXS1VJbnQ2NFJlZj4gbG9jYXRpb25SZWYoQWRvcHRXSywgV0tVSW50NjRDcmVhdGUobG9jYXRp
b24pKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0
KCksIGxvY2F0aW9uS2V5LmdldCgpLCBsb2NhdGlvblJlZi5nZXQoKSk7CisgICAgV0tEaWN0aW9u
YXJ5U2V0SXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCBsb2NhdGlvbktleS5nZXQo
KSwgbG9jYXRpb25SZWYuZ2V0KCkpOwogCiAgICAgcmV0dXJuIEV2ZW50U2VuZGVyTWVzc2FnZUJv
ZHk7CiB9CkBAIC0zMzMsMTUgKzMzMywxNSBAQCB2b2lkIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6
Om1vdXNlU2Nyb2xsQnkoaW50IHgsIGludCB5KQogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdS
ZWY+IHN1Yk1lc3NhZ2VLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
IlN1Yk1lc3NhZ2UiKSk7CiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3NhZ2VO
YW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJNb3VzZVNjcm9sbEJ5
IikpOwotICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQo
KSwgc3ViTWVzc2FnZUtleS5nZXQoKSwgc3ViTWVzc2FnZU5hbWUuZ2V0KCkpOworICAgIFdLRGlj
dGlvbmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgc3ViTWVzc2FnZUtl
eS5nZXQoKSwgc3ViTWVzc2FnZU5hbWUuZ2V0KCkpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJp
bmdSZWY+IHhLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlgiKSk7
CiAgICAgV0tSZXRhaW5QdHI8V0tEb3VibGVSZWY+IHhSZWYoQWRvcHRXSywgV0tEb3VibGVDcmVh
dGUoeCkpOwotICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5n
ZXQoKSwgeEtleS5nZXQoKSwgeFJlZi5nZXQoKSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShF
dmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCB4S2V5LmdldCgpLCB4UmVmLmdldCgpKTsKIAog
ICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB5S2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRl
V2l0aFVURjhDU3RyaW5nKCJZIikpOwogICAgIFdLUmV0YWluUHRyPFdLRG91YmxlUmVmPiB5UmVm
KEFkb3B0V0ssIFdLRG91YmxlQ3JlYXRlKHkpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKEV2
ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIHlLZXkuZ2V0KCksIHlSZWYuZ2V0KCkpOworICAg
IFdLRGljdGlvbmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgeUtleS5n
ZXQoKSwgeVJlZi5nZXQoKSk7CiAKICAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2Uo
SW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBFdmVudFNlbmRlck1lc3NhZ2VOYW1l
LmdldCgpLCBFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCAwKTsKIH0KQEAgLTM1MywxOSAr
MzUzLDE5IEBAIHZvaWQgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGludW91c01vdXNlU2Ny
b2xsQnkoaW50IHgsIGludCB5LCBib29sIHBhZ2VkKQogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJp
bmdSZWY+IHN1Yk1lc3NhZ2VLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIlN1Yk1lc3NhZ2UiKSk7CiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3Nh
Z2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJDb250aW51b3Vz
TW91c2VTY3JvbGxCeSIpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKEV2ZW50U2VuZGVyTWVz
c2FnZUJvZHkuZ2V0KCksIHN1Yk1lc3NhZ2VLZXkuZ2V0KCksIHN1Yk1lc3NhZ2VOYW1lLmdldCgp
KTsKKyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCks
IHN1Yk1lc3NhZ2VLZXkuZ2V0KCksIHN1Yk1lc3NhZ2VOYW1lLmdldCgpKTsKIAogICAgIFdLUmV0
YWluUHRyPFdLU3RyaW5nUmVmPiB4S2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJYIikpOwogICAgIFdLUmV0YWluUHRyPFdLRG91YmxlUmVmPiB4UmVmKEFkb3B0V0ss
IFdLRG91YmxlQ3JlYXRlKHgpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKEV2ZW50U2VuZGVy
TWVzc2FnZUJvZHkuZ2V0KCksIHhLZXkuZ2V0KCksIHhSZWYuZ2V0KCkpOworICAgIFdLRGljdGlv
bmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgeEtleS5nZXQoKSwgeFJl
Zi5nZXQoKSk7CiAKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4geUtleShBZG9wdFdLLCBX
S1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiWSIpKTsKICAgICBXS1JldGFpblB0cjxXS0Rv
dWJsZVJlZj4geVJlZihBZG9wdFdLLCBXS0RvdWJsZUNyZWF0ZSh5KSk7Ci0gICAgV0tEaWN0aW9u
YXJ5QWRkSXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCB5S2V5LmdldCgpLCB5UmVm
LmdldCgpKTsKKyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHku
Z2V0KCksIHlLZXkuZ2V0KCksIHlSZWYuZ2V0KCkpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJp
bmdSZWY+IHBhZ2VkS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJQ
YWdlZCIpKTsKICAgICBXS1JldGFpblB0cjxXS1VJbnQ2NFJlZj4gcGFnZWRSZWYoQWRvcHRXSywg
V0tVSW50NjRDcmVhdGUocGFnZWQpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKEV2ZW50U2Vu
ZGVyTWVzc2FnZUJvZHkuZ2V0KCksIHBhZ2VkS2V5LmdldCgpLCBwYWdlZFJlZi5nZXQoKSk7Cisg
ICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCBwYWdl
ZEtleS5nZXQoKSwgcGFnZWRSZWYuZ2V0KCkpOwogCiAgICAgV0tCdW5kbGVQb3N0U3luY2hyb25v
dXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgRXZlbnRTZW5kZXJN
ZXNzYWdlTmFtZS5nZXQoKSwgRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgMCk7CiB9CkBA
IC00NDcsMTUgKzQ0NywxNSBAQCB2b2lkIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmFkZFRvdWNo
UG9pbnQoaW50IHgsIGludCB5KQogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1l
c3NhZ2VLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlN1Yk1lc3Nh
Z2UiKSk7CiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3NhZ2VOYW1lKEFkb3B0
V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJBZGRUb3VjaFBvaW50IikpOwotICAg
IFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgc3ViTWVz
c2FnZUtleS5nZXQoKSwgc3ViTWVzc2FnZU5hbWUuZ2V0KCkpOworICAgIFdLRGljdGlvbmFyeVNl
dEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgc3ViTWVzc2FnZUtleS5nZXQoKSwg
c3ViTWVzc2FnZU5hbWUuZ2V0KCkpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHhL
ZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlgiKSk7CiAgICAgV0tS
ZXRhaW5QdHI8V0tVSW50NjRSZWY+IHhSZWYoQWRvcHRXSywgV0tVSW50NjRDcmVhdGUoeCkpOwot
ICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgeEtl
eS5nZXQoKSwgeFJlZi5nZXQoKSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShFdmVudFNlbmRl
ck1lc3NhZ2VCb2R5LmdldCgpLCB4S2V5LmdldCgpLCB4UmVmLmdldCgpKTsKIAogICAgIFdLUmV0
YWluUHRyPFdLU3RyaW5nUmVmPiB5S2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJZIikpOwogICAgIFdLUmV0YWluUHRyPFdLVUludDY0UmVmPiB5UmVmKEFkb3B0V0ss
IFdLVUludDY0Q3JlYXRlKHkpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKEV2ZW50U2VuZGVy
TWVzc2FnZUJvZHkuZ2V0KCksIHlLZXkuZ2V0KCksIHlSZWYuZ2V0KCkpOworICAgIFdLRGljdGlv
bmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgeUtleS5nZXQoKSwgeVJl
Zi5nZXQoKSk7CiAKICAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRC
dW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBFdmVudFNlbmRlck1lc3NhZ2VOYW1lLmdldCgpLCBF
dmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCAwKTsKIH0KQEAgLTQ2NywxOSArNDY3LDE5IEBA
IHZvaWQgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6dXBkYXRlVG91Y2hQb2ludChpbnQgaW5kZXgs
IGludCB4LCBpbnQgeSkKIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBzdWJNZXNzYWdl
S2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTdWJNZXNzYWdlIikp
OwogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBzdWJNZXNzYWdlTmFtZShBZG9wdFdLLCBX
S1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVXBkYXRlVG91Y2hQb2ludCIpKTsKLSAgICBX
S0RpY3Rpb25hcnlBZGRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIHN1Yk1lc3Nh
Z2VLZXkuZ2V0KCksIHN1Yk1lc3NhZ2VOYW1lLmdldCgpKTsKKyAgICBXS0RpY3Rpb25hcnlTZXRJ
dGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIHN1Yk1lc3NhZ2VLZXkuZ2V0KCksIHN1
Yk1lc3NhZ2VOYW1lLmdldCgpKTsKIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBpbmRl
eEtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSW5kZXgiKSk7CiAg
ICAgV0tSZXRhaW5QdHI8V0tVSW50NjRSZWY+IGluZGV4UmVmKEFkb3B0V0ssIFdLVUludDY0Q3Jl
YXRlKGluZGV4KSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShFdmVudFNlbmRlck1lc3NhZ2VC
b2R5LmdldCgpLCBpbmRleEtleS5nZXQoKSwgaW5kZXhSZWYuZ2V0KCkpOworICAgIFdLRGljdGlv
bmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgaW5kZXhLZXkuZ2V0KCks
IGluZGV4UmVmLmdldCgpKTsKIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB4S2V5KEFk
b3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJYIikpOwogICAgIFdLUmV0YWlu
UHRyPFdLVUludDY0UmVmPiB4UmVmKEFkb3B0V0ssIFdLVUludDY0Q3JlYXRlKHgpKTsKLSAgICBX
S0RpY3Rpb25hcnlBZGRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIHhLZXkuZ2V0
KCksIHhSZWYuZ2V0KCkpOworICAgIFdLRGljdGlvbmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJNZXNz
YWdlQm9keS5nZXQoKSwgeEtleS5nZXQoKSwgeFJlZi5nZXQoKSk7CiAKICAgICBXS1JldGFpblB0
cjxXS1N0cmluZ1JlZj4geUtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
ZygiWSIpKTsKICAgICBXS1JldGFpblB0cjxXS1VJbnQ2NFJlZj4geVJlZihBZG9wdFdLLCBXS1VJ
bnQ2NENyZWF0ZSh5KSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShFdmVudFNlbmRlck1lc3Nh
Z2VCb2R5LmdldCgpLCB5S2V5LmdldCgpLCB5UmVmLmdldCgpKTsKKyAgICBXS0RpY3Rpb25hcnlT
ZXRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIHlLZXkuZ2V0KCksIHlSZWYuZ2V0
KCkpOwogCiAgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxl
OjpzaGFyZWQoKS5idW5kbGUoKSwgRXZlbnRTZW5kZXJNZXNzYWdlTmFtZS5nZXQoKSwgRXZlbnRT
ZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgMCk7CiB9CkBAIC00OTEsNyArNDkxLDcgQEAgdm9pZCBF
dmVudFNlbmRpbmdDb250cm9sbGVyOjpzZXRUb3VjaE1vZGlmaWVyKGNvbnN0IEpTU3RyaW5nUmVm
ICZtb2RpZmllciwgYm9vbAogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3Nh
Z2VLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlN1Yk1lc3NhZ2Ui
KSk7CiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3NhZ2VOYW1lKEFkb3B0V0ss
IFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRUb3VjaE1vZGlmaWVyIikpOwotICAg
IFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgc3ViTWVz
c2FnZUtleS5nZXQoKSwgc3ViTWVzc2FnZU5hbWUuZ2V0KCkpOworICAgIFdLRGljdGlvbmFyeVNl
dEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgc3ViTWVzc2FnZUtleS5nZXQoKSwg
c3ViTWVzc2FnZU5hbWUuZ2V0KCkpOwogCiAgICAgV0tFdmVudE1vZGlmaWVycyBtb2QgPSAwOwog
ICAgIGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1vZGlmaWVyLCAiY3RybCIpKQpA
QCAtNTA1LDExICs1MDUsMTEgQEAgdm9pZCBFdmVudFNlbmRpbmdDb250cm9sbGVyOjpzZXRUb3Vj
aE1vZGlmaWVyKGNvbnN0IEpTU3RyaW5nUmVmICZtb2RpZmllciwgYm9vbAogCiAgICAgV0tSZXRh
aW5QdHI8V0tTdHJpbmdSZWY+IG1vZGlmaWVyS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCJNb2RpZmllciIpKTsKICAgICBXS1JldGFpblB0cjxXS1VJbnQ2NFJlZj4g
bW9kaWZpZXJSZWYoQWRvcHRXSywgV0tVSW50NjRDcmVhdGUobW9kKSk7Ci0gICAgV0tEaWN0aW9u
YXJ5QWRkSXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCBtb2RpZmllcktleS5nZXQo
KSwgbW9kaWZpZXJSZWYuZ2V0KCkpOworICAgIFdLRGljdGlvbmFyeVNldEl0ZW0oRXZlbnRTZW5k
ZXJNZXNzYWdlQm9keS5nZXQoKSwgbW9kaWZpZXJLZXkuZ2V0KCksIG1vZGlmaWVyUmVmLmdldCgp
KTsKIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBlbmFibGVLZXkoQWRvcHRXSywgV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkVuYWJsZSIpKTsKICAgICBXS1JldGFpblB0cjxX
S1VJbnQ2NFJlZj4gZW5hYmxlUmVmKEFkb3B0V0ssIFdLVUludDY0Q3JlYXRlKGVuYWJsZSkpOwot
ICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgZW5h
YmxlS2V5LmdldCgpLCBlbmFibGVSZWYuZ2V0KCkpOworICAgIFdLRGljdGlvbmFyeVNldEl0ZW0o
RXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgZW5hYmxlS2V5LmdldCgpLCBlbmFibGVSZWYu
Z2V0KCkpOwogCiAgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVu
ZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgRXZlbnRTZW5kZXJNZXNzYWdlTmFtZS5nZXQoKSwgRXZl
bnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgMCk7CiB9CkBAIC01MjIsMTUgKzUyMiwxNSBAQCB2
b2lkIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OnNldFRvdWNoUG9pbnRSYWRpdXMoaW50IHJhZGl1
c1gsIGludCByYWRpdXNZKQogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3Nh
Z2VLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlN1Yk1lc3NhZ2Ui
KSk7CiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3NhZ2VOYW1lKEFkb3B0V0ss
IFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRUb3VjaFBvaW50UmFkaXVzIikpOwot
ICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgc3Vi
TWVzc2FnZUtleS5nZXQoKSwgc3ViTWVzc2FnZU5hbWUuZ2V0KCkpOworICAgIFdLRGljdGlvbmFy
eVNldEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgc3ViTWVzc2FnZUtleS5nZXQo
KSwgc3ViTWVzc2FnZU5hbWUuZ2V0KCkpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+
IHhLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlJhZGl1c1giKSk7
CiAgICAgV0tSZXRhaW5QdHI8V0tVSW50NjRSZWY+IHhSZWYoQWRvcHRXSywgV0tVSW50NjRDcmVh
dGUocmFkaXVzWCkpOwotICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdl
Qm9keS5nZXQoKSwgeEtleS5nZXQoKSwgeFJlZi5nZXQoKSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0
SXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCB4S2V5LmdldCgpLCB4UmVmLmdldCgp
KTsKIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB5S2V5KEFkb3B0V0ssIFdLU3RyaW5n
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKCJSYWRpdXNZIikpOwogICAgIFdLUmV0YWluUHRyPFdLVUlu
dDY0UmVmPiB5UmVmKEFkb3B0V0ssIFdLVUludDY0Q3JlYXRlKHJhZGl1c1kpKTsKLSAgICBXS0Rp
Y3Rpb25hcnlBZGRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIHlLZXkuZ2V0KCks
IHlSZWYuZ2V0KCkpOworICAgIFdLRGljdGlvbmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdl
Qm9keS5nZXQoKSwgeUtleS5nZXQoKSwgeVJlZi5nZXQoKSk7CiAKICAgICBXS0J1bmRsZVBvc3RT
eW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBFdmVu
dFNlbmRlck1lc3NhZ2VOYW1lLmdldCgpLCBFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCAw
KTsKIH0KQEAgLTU0Miw3ICs1NDIsNyBAQCB2b2lkIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OnRv
dWNoU3RhcnQoKQogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3NhZ2VLZXko
QWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlN1Yk1lc3NhZ2UiKSk7CiAg
ICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJUb3VjaFN0YXJ0IikpOwotICAgIFdLRGljdGlvbmFy
eUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgc3ViTWVzc2FnZUtleS5nZXQo
KSwgc3ViTWVzc2FnZU5hbWUuZ2V0KCkpOworICAgIFdLRGljdGlvbmFyeVNldEl0ZW0oRXZlbnRT
ZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgc3ViTWVzc2FnZUtleS5nZXQoKSwgc3ViTWVzc2FnZU5h
bWUuZ2V0KCkpOwogCiAgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVk
QnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgRXZlbnRTZW5kZXJNZXNzYWdlTmFtZS5nZXQoKSwg
RXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgMCk7CiB9CkBAIC01NTQsNyArNTU0LDcgQEAg
dm9pZCBFdmVudFNlbmRpbmdDb250cm9sbGVyOjp0b3VjaE1vdmUoKQogCiAgICAgV0tSZXRhaW5Q
dHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3NhZ2VLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcoIlN1Yk1lc3NhZ2UiKSk7CiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+
IHN1Yk1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJU
b3VjaE1vdmUiKSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShFdmVudFNlbmRlck1lc3NhZ2VC
b2R5LmdldCgpLCBzdWJNZXNzYWdlS2V5LmdldCgpLCBzdWJNZXNzYWdlTmFtZS5nZXQoKSk7Cisg
ICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCBzdWJN
ZXNzYWdlS2V5LmdldCgpLCBzdWJNZXNzYWdlTmFtZS5nZXQoKSk7CiAKICAgICBXS0J1bmRsZVBv
c3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBF
dmVudFNlbmRlck1lc3NhZ2VOYW1lLmdldCgpLCBFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgp
LCAwKTsKIH0KQEAgLTU2Niw3ICs1NjYsNyBAQCB2b2lkIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6
OnRvdWNoRW5kKCkKIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBzdWJNZXNzYWdlS2V5
KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTdWJNZXNzYWdlIikpOwog
ICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBzdWJNZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0
cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG91Y2hFbmQiKSk7Ci0gICAgV0tEaWN0aW9uYXJ5
QWRkSXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCBzdWJNZXNzYWdlS2V5LmdldCgp
LCBzdWJNZXNzYWdlTmFtZS5nZXQoKSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShFdmVudFNl
bmRlck1lc3NhZ2VCb2R5LmdldCgpLCBzdWJNZXNzYWdlS2V5LmdldCgpLCBzdWJNZXNzYWdlTmFt
ZS5nZXQoKSk7CiAKICAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRC
dW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBFdmVudFNlbmRlck1lc3NhZ2VOYW1lLmdldCgpLCBF
dmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCAwKTsKIH0KQEAgLTU3OCw3ICs1NzgsNyBAQCB2
b2lkIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OnRvdWNoQ2FuY2VsKCkKIAogICAgIFdLUmV0YWlu
UHRyPFdLU3RyaW5nUmVmPiBzdWJNZXNzYWdlS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCJTdWJNZXNzYWdlIikpOwogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVm
PiBzdWJNZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygi
VG91Y2hDYW5jZWwiKSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShFdmVudFNlbmRlck1lc3Nh
Z2VCb2R5LmdldCgpLCBzdWJNZXNzYWdlS2V5LmdldCgpLCBzdWJNZXNzYWdlTmFtZS5nZXQoKSk7
CisgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCBz
dWJNZXNzYWdlS2V5LmdldCgpLCBzdWJNZXNzYWdlTmFtZS5nZXQoKSk7CiAKICAgICBXS0J1bmRs
ZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgp
LCBFdmVudFNlbmRlck1lc3NhZ2VOYW1lLmdldCgpLCBFdmVudFNlbmRlck1lc3NhZ2VCb2R5Lmdl
dCgpLCAwKTsKIH0KQEAgLTU5MCw3ICs1OTAsNyBAQCB2b2lkIEV2ZW50U2VuZGluZ0NvbnRyb2xs
ZXI6OmNsZWFyVG91Y2hQb2ludHMoKQogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1
Yk1lc3NhZ2VLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlN1Yk1l
c3NhZ2UiKSk7CiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3NhZ2VOYW1lKEFk
b3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJDbGVhclRvdWNoUG9pbnRzIikp
OwotICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwg
c3ViTWVzc2FnZUtleS5nZXQoKSwgc3ViTWVzc2FnZU5hbWUuZ2V0KCkpOworICAgIFdLRGljdGlv
bmFyeVNldEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgc3ViTWVzc2FnZUtleS5n
ZXQoKSwgc3ViTWVzc2FnZU5hbWUuZ2V0KCkpOwogCiAgICAgV0tCdW5kbGVQb3N0U3luY2hyb25v
dXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgRXZlbnRTZW5kZXJN
ZXNzYWdlTmFtZS5nZXQoKSwgRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgMCk7CiB9CkBA
IC02MDIsMTEgKzYwMiwxMSBAQCB2b2lkIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OnJlbGVhc2VU
b3VjaFBvaW50KGludCBpbmRleCkKIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBzdWJN
ZXNzYWdlS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTdWJNZXNz
YWdlIikpOwogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBzdWJNZXNzYWdlTmFtZShBZG9w
dFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiUmVsZWFzZVRvdWNoUG9pbnQiKSk7
Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCBz
dWJNZXNzYWdlS2V5LmdldCgpLCBzdWJNZXNzYWdlTmFtZS5nZXQoKSk7CisgICAgV0tEaWN0aW9u
YXJ5U2V0SXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCBzdWJNZXNzYWdlS2V5Lmdl
dCgpLCBzdWJNZXNzYWdlTmFtZS5nZXQoKSk7CiAKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1Jl
Zj4gaW5kZXhLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkluZGV4
IikpOwogICAgIFdLUmV0YWluUHRyPFdLVUludDY0UmVmPiBpbmRleFJlZihBZG9wdFdLLCBXS1VJ
bnQ2NENyZWF0ZShpbmRleCkpOwotICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJN
ZXNzYWdlQm9keS5nZXQoKSwgaW5kZXhLZXkuZ2V0KCksIGluZGV4UmVmLmdldCgpKTsKKyAgICBX
S0RpY3Rpb25hcnlTZXRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIGluZGV4S2V5
LmdldCgpLCBpbmRleFJlZi5nZXQoKSk7CiAKICAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01l
c3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBFdmVudFNlbmRlck1lc3Nh
Z2VOYW1lLmdldCgpLCBFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCAwKTsKIH0KQEAgLTYx
OCwxMSArNjE4LDExIEBAIHZvaWQgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y2FuY2VsVG91Y2hQ
b2ludChpbnQgaW5kZXgpCiAKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gc3ViTWVzc2Fn
ZUtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU3ViTWVzc2FnZSIp
KTsKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gc3ViTWVzc2FnZU5hbWUoQWRvcHRXSywg
V0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkNhbmNlbFRvdWNoUG9pbnQiKSk7Ci0gICAg
V0tEaWN0aW9uYXJ5QWRkSXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCBzdWJNZXNz
YWdlS2V5LmdldCgpLCBzdWJNZXNzYWdlTmFtZS5nZXQoKSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0
SXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCBzdWJNZXNzYWdlS2V5LmdldCgpLCBz
dWJNZXNzYWdlTmFtZS5nZXQoKSk7CiAKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaW5k
ZXhLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkluZGV4IikpOwog
ICAgIFdLUmV0YWluUHRyPFdLVUludDY0UmVmPiBpbmRleFJlZihBZG9wdFdLLCBXS1VJbnQ2NENy
ZWF0ZShpbmRleCkpOwotICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdl
Qm9keS5nZXQoKSwgaW5kZXhLZXkuZ2V0KCksIGluZGV4UmVmLmdldCgpKTsKKyAgICBXS0RpY3Rp
b25hcnlTZXRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIGluZGV4S2V5LmdldCgp
LCBpbmRleFJlZi5nZXQoKSk7CiAKICAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2Uo
SW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBFdmVudFNlbmRlck1lc3NhZ2VOYW1l
LmdldCgpLCBFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCAwKTsKIH0KZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5j
cHAKaW5kZXggYzk1NmE3ODBkY2E4NGQzMDkxYmQ4NjBlZTE0ZDhmODk1ZjFkY2Q4Ni4uZjcxZmU5
MzYwODAxODI2OTM3NGFiNjU1YmZjOWNmMzJiNDgwMGI1MCAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAg
LTI5MywxMyArMjkzLDEzIEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmRvbmUoKQogICAgIFdLUmV0
YWluUHRyPFdLTXV0YWJsZURpY3Rpb25hcnlSZWY+IGRvbmVNZXNzYWdlQm9keShBZG9wdFdLLCBX
S011dGFibGVEaWN0aW9uYXJ5Q3JlYXRlKCkpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdS
ZWY+IHBpeGVsUmVzdWx0S2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
ZygiUGl4ZWxSZXN1bHQiKSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShkb25lTWVzc2FnZUJv
ZHkuZ2V0KCksIHBpeGVsUmVzdWx0S2V5LmdldCgpLCBtX3BpeGVsUmVzdWx0LmdldCgpKTsKKyAg
ICBXS0RpY3Rpb25hcnlTZXRJdGVtKGRvbmVNZXNzYWdlQm9keS5nZXQoKSwgcGl4ZWxSZXN1bHRL
ZXkuZ2V0KCksIG1fcGl4ZWxSZXN1bHQuZ2V0KCkpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJp
bmdSZWY+IHJlcGFpbnRSZWN0c0tleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoIlJlcGFpbnRSZWN0cyIpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKGRvbmVNZXNz
YWdlQm9keS5nZXQoKSwgcmVwYWludFJlY3RzS2V5LmdldCgpLCBtX3JlcGFpbnRSZWN0cy5nZXQo
KSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShkb25lTWVzc2FnZUJvZHkuZ2V0KCksIHJlcGFp
bnRSZWN0c0tleS5nZXQoKSwgbV9yZXBhaW50UmVjdHMuZ2V0KCkpOwogCiAgICAgV0tSZXRhaW5Q
dHI8V0tTdHJpbmdSZWY+IGF1ZGlvUmVzdWx0S2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdp
dGhVVEY4Q1N0cmluZygiQXVkaW9SZXN1bHQiKSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShk
b25lTWVzc2FnZUJvZHkuZ2V0KCksIGF1ZGlvUmVzdWx0S2V5LmdldCgpLCBtX2F1ZGlvUmVzdWx0
LmdldCgpKTsKKyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKGRvbmVNZXNzYWdlQm9keS5nZXQoKSwg
YXVkaW9SZXN1bHRLZXkuZ2V0KCksIG1fYXVkaW9SZXN1bHQuZ2V0KCkpOwogCiAgICAgV0tCdW5k
bGVQb3N0TWVzc2FnZShtX2J1bmRsZSwgZG9uZU1lc3NhZ2VOYW1lLmdldCgpLCBkb25lTWVzc2Fn
ZUJvZHkuZ2V0KCkpOwogCkBAIC0zOTgsNDcgKzM5OCw0NyBAQCB2b2lkIEluamVjdGVkQnVuZGxl
OjpzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihkb3VibGUgbGF0aXR1ZGUsIGRvdWJsZSBsb25n
aXR1ZAogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGxhdGl0dWRlS2V5V0soQWRvcHRX
SywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImxhdGl0dWRlIikpOwogICAgIFdLUmV0
YWluUHRyPFdLRG91YmxlUmVmPiBsYXRpdHVkZVdLKEFkb3B0V0ssIFdLRG91YmxlQ3JlYXRlKGxh
dGl0dWRlKSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShtZXNzYWdlQm9keS5nZXQoKSwgbGF0
aXR1ZGVLZXlXSy5nZXQoKSwgbGF0aXR1ZGVXSy5nZXQoKSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0
SXRlbShtZXNzYWdlQm9keS5nZXQoKSwgbGF0aXR1ZGVLZXlXSy5nZXQoKSwgbGF0aXR1ZGVXSy5n
ZXQoKSk7CiAKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbG9uZ2l0dWRlS2V5V0soQWRv
cHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImxvbmdpdHVkZSIpKTsKICAgICBX
S1JldGFpblB0cjxXS0RvdWJsZVJlZj4gbG9uZ2l0dWRlV0soQWRvcHRXSywgV0tEb3VibGVDcmVh
dGUobG9uZ2l0dWRlKSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShtZXNzYWdlQm9keS5nZXQo
KSwgbG9uZ2l0dWRlS2V5V0suZ2V0KCksIGxvbmdpdHVkZVdLLmdldCgpKTsKKyAgICBXS0RpY3Rp
b25hcnlTZXRJdGVtKG1lc3NhZ2VCb2R5LmdldCgpLCBsb25naXR1ZGVLZXlXSy5nZXQoKSwgbG9u
Z2l0dWRlV0suZ2V0KCkpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGFjY3VyYWN5
S2V5V0soQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImFjY3VyYWN5Iikp
OwogICAgIFdLUmV0YWluUHRyPFdLRG91YmxlUmVmPiBhY2N1cmFjeVdLKEFkb3B0V0ssIFdLRG91
YmxlQ3JlYXRlKGFjY3VyYWN5KSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShtZXNzYWdlQm9k
eS5nZXQoKSwgYWNjdXJhY3lLZXlXSy5nZXQoKSwgYWNjdXJhY3lXSy5nZXQoKSk7CisgICAgV0tE
aWN0aW9uYXJ5U2V0SXRlbShtZXNzYWdlQm9keS5nZXQoKSwgYWNjdXJhY3lLZXlXSy5nZXQoKSwg
YWNjdXJhY3lXSy5nZXQoKSk7CiAKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gcHJvdmlk
ZXNBbHRpdHVkZUtleVdLKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJw
cm92aWRlc0FsdGl0dWRlIikpOwogICAgIFdLUmV0YWluUHRyPFdLQm9vbGVhblJlZj4gcHJvdmlk
ZXNBbHRpdHVkZVdLKEFkb3B0V0ssIFdLQm9vbGVhbkNyZWF0ZShwcm92aWRlc0FsdGl0dWRlKSk7
Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShtZXNzYWdlQm9keS5nZXQoKSwgcHJvdmlkZXNBbHRp
dHVkZUtleVdLLmdldCgpLCBwcm92aWRlc0FsdGl0dWRlV0suZ2V0KCkpOworICAgIFdLRGljdGlv
bmFyeVNldEl0ZW0obWVzc2FnZUJvZHkuZ2V0KCksIHByb3ZpZGVzQWx0aXR1ZGVLZXlXSy5nZXQo
KSwgcHJvdmlkZXNBbHRpdHVkZVdLLmdldCgpKTsKIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5n
UmVmPiBhbHRpdHVkZUtleVdLKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJhbHRpdHVkZSIpKTsKICAgICBXS1JldGFpblB0cjxXS0RvdWJsZVJlZj4gYWx0aXR1ZGVXSyhB
ZG9wdFdLLCBXS0RvdWJsZUNyZWF0ZShhbHRpdHVkZSkpOwotICAgIFdLRGljdGlvbmFyeUFkZEl0
ZW0obWVzc2FnZUJvZHkuZ2V0KCksIGFsdGl0dWRlS2V5V0suZ2V0KCksIGFsdGl0dWRlV0suZ2V0
KCkpOworICAgIFdLRGljdGlvbmFyeVNldEl0ZW0obWVzc2FnZUJvZHkuZ2V0KCksIGFsdGl0dWRl
S2V5V0suZ2V0KCksIGFsdGl0dWRlV0suZ2V0KCkpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJp
bmdSZWY+IHByb3ZpZGVzQWx0aXR1ZGVBY2N1cmFjeUtleVdLKEFkb3B0V0ssIFdLU3RyaW5nQ3Jl
YXRlV2l0aFVURjhDU3RyaW5nKCJwcm92aWRlc0FsdGl0dWRlQWNjdXJhY3kiKSk7CiAgICAgV0tS
ZXRhaW5QdHI8V0tCb29sZWFuUmVmPiBwcm92aWRlc0FsdGl0dWRlQWNjdXJhY3lXSyhBZG9wdFdL
LCBXS0Jvb2xlYW5DcmVhdGUocHJvdmlkZXNBbHRpdHVkZUFjY3VyYWN5KSk7Ci0gICAgV0tEaWN0
aW9uYXJ5QWRkSXRlbShtZXNzYWdlQm9keS5nZXQoKSwgcHJvdmlkZXNBbHRpdHVkZUFjY3VyYWN5
S2V5V0suZ2V0KCksIHByb3ZpZGVzQWx0aXR1ZGVBY2N1cmFjeVdLLmdldCgpKTsKKyAgICBXS0Rp
Y3Rpb25hcnlTZXRJdGVtKG1lc3NhZ2VCb2R5LmdldCgpLCBwcm92aWRlc0FsdGl0dWRlQWNjdXJh
Y3lLZXlXSy5nZXQoKSwgcHJvdmlkZXNBbHRpdHVkZUFjY3VyYWN5V0suZ2V0KCkpOwogCiAgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGFsdGl0dWRlQWNjdXJhY3lLZXlXSyhBZG9wdFdLLCBX
S1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiYWx0aXR1ZGVBY2N1cmFjeSIpKTsKICAgICBX
S1JldGFpblB0cjxXS0RvdWJsZVJlZj4gYWx0aXR1ZGVBY2N1cmFjeVdLKEFkb3B0V0ssIFdLRG91
YmxlQ3JlYXRlKGFsdGl0dWRlQWNjdXJhY3kpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKG1l
c3NhZ2VCb2R5LmdldCgpLCBhbHRpdHVkZUFjY3VyYWN5S2V5V0suZ2V0KCksIGFsdGl0dWRlQWNj
dXJhY3lXSy5nZXQoKSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShtZXNzYWdlQm9keS5nZXQo
KSwgYWx0aXR1ZGVBY2N1cmFjeUtleVdLLmdldCgpLCBhbHRpdHVkZUFjY3VyYWN5V0suZ2V0KCkp
OwogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHByb3ZpZGVzSGVhZGluZ0tleVdLKEFk
b3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJwcm92aWRlc0hlYWRpbmciKSk7
CiAgICAgV0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiBwcm92aWRlc0hlYWRpbmdXSyhBZG9wdFdL
LCBXS0Jvb2xlYW5DcmVhdGUocHJvdmlkZXNIZWFkaW5nKSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRk
SXRlbShtZXNzYWdlQm9keS5nZXQoKSwgcHJvdmlkZXNIZWFkaW5nS2V5V0suZ2V0KCksIHByb3Zp
ZGVzSGVhZGluZ1dLLmdldCgpKTsKKyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKG1lc3NhZ2VCb2R5
LmdldCgpLCBwcm92aWRlc0hlYWRpbmdLZXlXSy5nZXQoKSwgcHJvdmlkZXNIZWFkaW5nV0suZ2V0
KCkpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGhlYWRpbmdLZXlXSyhBZG9wdFdL
LCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiaGVhZGluZyIpKTsKICAgICBXS1JldGFp
blB0cjxXS0RvdWJsZVJlZj4gaGVhZGluZ1dLKEFkb3B0V0ssIFdLRG91YmxlQ3JlYXRlKGhlYWRp
bmcpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKG1lc3NhZ2VCb2R5LmdldCgpLCBoZWFkaW5n
S2V5V0suZ2V0KCksIGhlYWRpbmdXSy5nZXQoKSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbSht
ZXNzYWdlQm9keS5nZXQoKSwgaGVhZGluZ0tleVdLLmdldCgpLCBoZWFkaW5nV0suZ2V0KCkpOwog
CiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHByb3ZpZGVzU3BlZWRLZXlXSyhBZG9wdFdL
LCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygicHJvdmlkZXNTcGVlZCIpKTsKICAgICBX
S1JldGFpblB0cjxXS0Jvb2xlYW5SZWY+IHByb3ZpZGVzU3BlZWRXSyhBZG9wdFdLLCBXS0Jvb2xl
YW5DcmVhdGUocHJvdmlkZXNTcGVlZCkpOwotICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0obWVzc2Fn
ZUJvZHkuZ2V0KCksIHByb3ZpZGVzU3BlZWRLZXlXSy5nZXQoKSwgcHJvdmlkZXNTcGVlZFdLLmdl
dCgpKTsKKyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKG1lc3NhZ2VCb2R5LmdldCgpLCBwcm92aWRl
c1NwZWVkS2V5V0suZ2V0KCksIHByb3ZpZGVzU3BlZWRXSy5nZXQoKSk7CiAKICAgICBXS1JldGFp
blB0cjxXS1N0cmluZ1JlZj4gc3BlZWRLZXlXSyhBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygic3BlZWQiKSk7CiAgICAgV0tSZXRhaW5QdHI8V0tEb3VibGVSZWY+IHNwZWVk
V0soQWRvcHRXSywgV0tEb3VibGVDcmVhdGUoc3BlZWQpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJ
dGVtKG1lc3NhZ2VCb2R5LmdldCgpLCBzcGVlZEtleVdLLmdldCgpLCBzcGVlZFdLLmdldCgpKTsK
KyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKG1lc3NhZ2VCb2R5LmdldCgpLCBzcGVlZEtleVdLLmdl
dCgpLCBzcGVlZFdLLmdldCgpKTsKIAogICAgIFdLQnVuZGxlUG9zdE1lc3NhZ2UobV9idW5kbGUs
IG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSk7CiB9CkBAIC00NTcsMTEgKzQ1
NywxMSBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZShib29s
IGVuYWJsZWQsIGJvb2wgcGVybWlzc2l2ZSkKIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVm
PiBlbmFibGVkS2V5V0soQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImVu
YWJsZWQiKSk7CiAgICAgV0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiBlbmFibGVkV0soQWRvcHRX
SywgV0tCb29sZWFuQ3JlYXRlKGVuYWJsZWQpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKG1l
c3NhZ2VCb2R5LmdldCgpLCBlbmFibGVkS2V5V0suZ2V0KCksIGVuYWJsZWRXSy5nZXQoKSk7Cisg
ICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShtZXNzYWdlQm9keS5nZXQoKSwgZW5hYmxlZEtleVdLLmdl
dCgpLCBlbmFibGVkV0suZ2V0KCkpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHBl
cm1pc3NpdmVLZXlXSyhBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygicGVy
bWlzc2l2ZSIpKTsKICAgICBXS1JldGFpblB0cjxXS0Jvb2xlYW5SZWY+IHBlcm1pc3NpdmVXSyhB
ZG9wdFdLLCBXS0Jvb2xlYW5DcmVhdGUocGVybWlzc2l2ZSkpOwotICAgIFdLRGljdGlvbmFyeUFk
ZEl0ZW0obWVzc2FnZUJvZHkuZ2V0KCksIHBlcm1pc3NpdmVLZXlXSy5nZXQoKSwgcGVybWlzc2l2
ZVdLLmdldCgpKTsKKyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKG1lc3NhZ2VCb2R5LmdldCgpLCBw
ZXJtaXNzaXZlS2V5V0suZ2V0KCksIHBlcm1pc3NpdmVXSy5nZXQoKSk7CiAKICAgICBXS0J1bmRs
ZVBvc3RNZXNzYWdlKG1fYnVuZGxlLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0
KCkpOwogfQpAQCAtNDczLDExICs0NzMsMTEgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0Vmlz
aWJpbGl0eVN0YXRlKFdLUGFnZVZpc2liaWxpdHlTdGF0ZSB2aXNpYmlsaXR5U3RhdGUsIGIKIAog
ICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB2aXNpYmlsaXR5U3RhdGVLZXlXSyhBZG9wdFdL
LCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygidmlzaWJpbGl0eVN0YXRlIikpOwogICAg
IFdLUmV0YWluUHRyPFdLVUludDY0UmVmPiB2aXNpYmlsaXR5U3RhdGVXSyhBZG9wdFdLLCBXS1VJ
bnQ2NENyZWF0ZSh2aXNpYmlsaXR5U3RhdGUpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKG1l
c3NhZ2VCb2R5LmdldCgpLCB2aXNpYmlsaXR5U3RhdGVLZXlXSy5nZXQoKSwgdmlzaWJpbGl0eVN0
YXRlV0suZ2V0KCkpOworICAgIFdLRGljdGlvbmFyeVNldEl0ZW0obWVzc2FnZUJvZHkuZ2V0KCks
IHZpc2liaWxpdHlTdGF0ZUtleVdLLmdldCgpLCB2aXNpYmlsaXR5U3RhdGVXSy5nZXQoKSk7CiAK
ICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaXNJbml0aWFsS2V5V0soQWRvcHRXSywgV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImlzSW5pdGlhbFN0YXRlIikpOwogICAgIFdLUmV0
YWluUHRyPFdLQm9vbGVhblJlZj4gaXNJbml0aWFsV0soQWRvcHRXSywgV0tCb29sZWFuQ3JlYXRl
KGlzSW5pdGlhbFN0YXRlKSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShtZXNzYWdlQm9keS5n
ZXQoKSwgaXNJbml0aWFsS2V5V0suZ2V0KCksIGlzSW5pdGlhbFdLLmdldCgpKTsKKyAgICBXS0Rp
Y3Rpb25hcnlTZXRJdGVtKG1lc3NhZ2VCb2R5LmdldCgpLCBpc0luaXRpYWxLZXlXSy5nZXQoKSwg
aXNJbml0aWFsV0suZ2V0KCkpOwogCiAgICAgV0tCdW5kbGVQb3N0TWVzc2FnZShtX2J1bmRsZSwg
bWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpKTsKIH0KQEAgLTUyOCwxMCArNTI4
LDEwIEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnF1ZXVlTG9hZChXS1N0cmluZ1JlZiB1cmwsIFdL
U3RyaW5nUmVmIHRhcmdldCkKICAgICBXS1JldGFpblB0cjxXS011dGFibGVEaWN0aW9uYXJ5UmVm
PiBsb2FkRGF0YShBZG9wdFdLLCBXS011dGFibGVEaWN0aW9uYXJ5Q3JlYXRlKCkpOwogCiAgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHVybEtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdp
dGhVVEY4Q1N0cmluZygidXJsIikpOwotICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0obG9hZERhdGEu
Z2V0KCksIHVybEtleS5nZXQoKSwgdXJsKTsKKyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKGxvYWRE
YXRhLmdldCgpLCB1cmxLZXkuZ2V0KCksIHVybCk7CiAKICAgICBXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4gdGFyZ2V0S2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJ0
YXJnZXQiKSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShsb2FkRGF0YS5nZXQoKSwgdGFyZ2V0
S2V5LmdldCgpLCB0YXJnZXQpOworICAgIFdLRGljdGlvbmFyeVNldEl0ZW0obG9hZERhdGEuZ2V0
KCksIHRhcmdldEtleS5nZXQoKSwgdGFyZ2V0KTsKIAogICAgIFdLQnVuZGxlUG9zdE1lc3NhZ2Uo
bV9idW5kbGUsIG1lc3NhZ2VOYW1lLmdldCgpLCBsb2FkRGF0YS5nZXQoKSk7CiB9CkBAIC01NDUs
MTYgKzU0NSwxNiBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpxdWV1ZUxvYWRIVE1MU3RyaW5nKFdL
U3RyaW5nUmVmIGNvbnRlbnQsIFdLU3RyaW5nUmVmIGJhc2VVUgogICAgIFdLUmV0YWluUHRyPFdL
TXV0YWJsZURpY3Rpb25hcnlSZWY+IGxvYWREYXRhKEFkb3B0V0ssIFdLTXV0YWJsZURpY3Rpb25h
cnlDcmVhdGUoKSk7CiAKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gY29udGVudEtleShB
ZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiY29udGVudCIpKTsKLSAgICBX
S0RpY3Rpb25hcnlBZGRJdGVtKGxvYWREYXRhLmdldCgpLCBjb250ZW50S2V5LmdldCgpLCBjb250
ZW50KTsKKyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKGxvYWREYXRhLmdldCgpLCBjb250ZW50S2V5
LmdldCgpLCBjb250ZW50KTsKIAogICAgIGlmIChiYXNlVVJMKSB7CiAgICAgICAgIFdLUmV0YWlu
UHRyPFdLU3RyaW5nUmVmPiBiYXNlVVJMS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVU
RjhDU3RyaW5nKCJiYXNlVVJMIikpOwotICAgICAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKGxvYWRE
YXRhLmdldCgpLCBiYXNlVVJMS2V5LmdldCgpLCBiYXNlVVJMKTsKKyAgICAgICAgV0tEaWN0aW9u
YXJ5U2V0SXRlbShsb2FkRGF0YS5nZXQoKSwgYmFzZVVSTEtleS5nZXQoKSwgYmFzZVVSTCk7CiAg
ICAgfQogCiAgICAgaWYgKHVucmVhY2hhYmxlVVJMKSB7CiAgICAgICAgIFdLUmV0YWluUHRyPFdL
U3RyaW5nUmVmPiB1bnJlYWNoYWJsZVVSTEtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygidW5yZWFjaGFibGVVUkwiKSk7Ci0gICAgICAgIFdLRGljdGlvbmFyeUFkZEl0
ZW0obG9hZERhdGEuZ2V0KCksIHVucmVhY2hhYmxlVVJMS2V5LmdldCgpLCB1bnJlYWNoYWJsZVVS
TCk7CisgICAgICAgIFdLRGljdGlvbmFyeVNldEl0ZW0obG9hZERhdGEuZ2V0KCksIHVucmVhY2hh
YmxlVVJMS2V5LmdldCgpLCB1bnJlYWNoYWJsZVVSTCk7CiAgICAgfQogCiAgICAgV0tCdW5kbGVQ
b3N0TWVzc2FnZShtX2J1bmRsZSwgbWVzc2FnZU5hbWUuZ2V0KCksIGxvYWREYXRhLmdldCgpKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMDYzNDQ2MjJl
OWI5MzI4OWYyMjRiMTkzM2YyZjcxMjk4NjgxNDEyMy4uOGFlMjRlNjYzZTAzM2NiMGU2NDNiOTEw
ZTc5YTVmZmU5NDZlN2FhZiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHAKQEAgLTM2Miw3ICszNjIsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjppbml0aWFsaXpl
KGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiAgICAgICAgIHZpZXdPcHRpb25zID0gYWRv
cHRXSyhXS011dGFibGVEaWN0aW9uYXJ5Q3JlYXRlKCkpOwogICAgICAgICBXS1JldGFpblB0cjxX
S1N0cmluZ1JlZj4gdXNlUmVtb3RlTGF5ZXJUcmVlS2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZygiUmVtb3RlTGF5ZXJUcmVlIikpOwogICAgICAgICBXS1JldGFpblB0
cjxXS0Jvb2xlYW5SZWY+IHVzZVJlbW90ZUxheWVyVHJlZVZhbHVlID0gYWRvcHRXSyhXS0Jvb2xl
YW5DcmVhdGUobV9zaG91bGRVc2VSZW1vdGVMYXllclRyZWUpKTsKLSAgICAgICAgV0tEaWN0aW9u
YXJ5QWRkSXRlbSh2aWV3T3B0aW9ucy5nZXQoKSwgdXNlUmVtb3RlTGF5ZXJUcmVlS2V5LmdldCgp
LCB1c2VSZW1vdGVMYXllclRyZWVWYWx1ZS5nZXQoKSk7CisgICAgICAgIFdLRGljdGlvbmFyeVNl
dEl0ZW0odmlld09wdGlvbnMuZ2V0KCksIHVzZVJlbW90ZUxheWVyVHJlZUtleS5nZXQoKSwgdXNl
UmVtb3RlTGF5ZXJUcmVlVmFsdWUuZ2V0KCkpOwogICAgIH0KIAogICAgIGNyZWF0ZVdlYlZpZXdX
aXRoT3B0aW9ucyh2aWV3T3B0aW9ucy5nZXQoKSk7CkBAIC01NTQsNyArNTU0LDcgQEAgYm9vbCBU
ZXN0Q29udHJvbGxlcjo6cmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcygpCiAKICAgICBXS1Jl
dGFpblB0cjxXS1N0cmluZ1JlZj4gc2hvdWxkR0NLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRl
V2l0aFVURjhDU3RyaW5nKCJTaG91bGRHQyIpKTsKICAgICBXS1JldGFpblB0cjxXS0Jvb2xlYW5S
ZWY+IHNob3VsZEdDVmFsdWUgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShtX2djQmV0d2VlblRl
c3RzKSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShyZXNldE1lc3NhZ2VCb2R5LmdldCgpLCBz
aG91bGRHQ0tleS5nZXQoKSwgc2hvdWxkR0NWYWx1ZS5nZXQoKSk7CisgICAgV0tEaWN0aW9uYXJ5
U2V0SXRlbShyZXNldE1lc3NhZ2VCb2R5LmdldCgpLCBzaG91bGRHQ0tleS5nZXQoKSwgc2hvdWxk
R0NWYWx1ZS5nZXQoKSk7CiAKICAgICBXS0NvbnRleHRQb3N0TWVzc2FnZVRvSW5qZWN0ZWRCdW5k
bGUoVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLmNvbnRleHQoKSwgbWVzc2FnZU5hbWUuZ2V0KCks
IHJlc2V0TWVzc2FnZUJvZHkuZ2V0KCkpOwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uY3BwCmluZGV4IDdhZTJjNWE2ZGRmMTVhOTdmZjk4NGQ4NzEzMTQ2YTUxM2U1OWY2
NDUuLjJjY2ZmMDc0NDMwMjMxM2U1ZGZjNjM3OGM3NDE4N2Y5Yjk3ZTkzNDUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCkBAIC0xNDksMTEgKzE0OSwxMSBAQCBz
dGF0aWMgdm9pZCB1cGRhdGVUaHJlYWRlZFNjcm9sbGluZ0ZvckN1cnJlbnRUZXN0KGNvbnN0IGNo
YXIqIHBhdGhPclVSTCkKICAgICBXS1JldGFpblB0cjxXS011dGFibGVEaWN0aW9uYXJ5UmVmPiB2
aWV3T3B0aW9ucyA9IGFkb3B0V0soV0tNdXRhYmxlRGljdGlvbmFyeUNyZWF0ZSgpKTsKICAgICBX
S1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdXNlVGhyZWFkZWRTY3JvbGxpbmdLZXkgPSBhZG9wdFdL
KFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJUaHJlYWRlZFNjcm9sbGluZyIpKTsKICAg
ICBXS1JldGFpblB0cjxXS0Jvb2xlYW5SZWY+IHVzZVRocmVhZGVkU2Nyb2xsaW5nVmFsdWUgPSBh
ZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShzaG91bGRVc2VUaHJlYWRlZFNjcm9sbGluZyhwYXRoT3JV
UkwpKSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbSh2aWV3T3B0aW9ucy5nZXQoKSwgdXNlVGhy
ZWFkZWRTY3JvbGxpbmdLZXkuZ2V0KCksIHVzZVRocmVhZGVkU2Nyb2xsaW5nVmFsdWUuZ2V0KCkp
OworICAgIFdLRGljdGlvbmFyeVNldEl0ZW0odmlld09wdGlvbnMuZ2V0KCksIHVzZVRocmVhZGVk
U2Nyb2xsaW5nS2V5LmdldCgpLCB1c2VUaHJlYWRlZFNjcm9sbGluZ1ZhbHVlLmdldCgpKTsKIAog
ICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB1c2VSZW1vdGVMYXllclRyZWVLZXkgPSBhZG9w
dFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJSZW1vdGVMYXllclRyZWUiKSk7CiAg
ICAgV0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiB1c2VSZW1vdGVMYXllclRyZWVWYWx1ZSA9IGFk
b3B0V0soV0tCb29sZWFuQ3JlYXRlKFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS5zaG91bGRVc2VS
ZW1vdGVMYXllclRyZWUoKSkpOwotICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0odmlld09wdGlvbnMu
Z2V0KCksIHVzZVJlbW90ZUxheWVyVHJlZUtleS5nZXQoKSwgdXNlUmVtb3RlTGF5ZXJUcmVlVmFs
dWUuZ2V0KCkpOworICAgIFdLRGljdGlvbmFyeVNldEl0ZW0odmlld09wdGlvbnMuZ2V0KCksIHVz
ZVJlbW90ZUxheWVyVHJlZUtleS5nZXQoKSwgdXNlUmVtb3RlTGF5ZXJUcmVlVmFsdWUuZ2V0KCkp
OwogCiAgICAgVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLmVuc3VyZVZpZXdTdXBwb3J0c09wdGlv
bnModmlld09wdGlvbnMuZ2V0KCkpOwogI2Vsc2UKQEAgLTE4Miw3ICsxODIsNyBAQCBzdGF0aWMg
dm9pZCB1cGRhdGVMYXlvdXRUeXBlKGNvbnN0IGNoYXIqIHBhdGhPclVSTCkKICAgICBXS1JldGFp
blB0cjxXS011dGFibGVEaWN0aW9uYXJ5UmVmPiB2aWV3T3B0aW9ucyA9IGFkb3B0V0soV0tNdXRh
YmxlRGljdGlvbmFyeUNyZWF0ZSgpKTsKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdXNl
Rml4ZWRMYXlvdXRLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJV
c2VGaXhlZExheW91dCIpKTsKICAgICBXS1JldGFpblB0cjxXS0Jvb2xlYW5SZWY+IHVzZUZpeGVk
TGF5b3V0VmFsdWUgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShzaG91bGRVc2VGaXhlZExheW91
dChwYXRoT3JVUkwpKSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbSh2aWV3T3B0aW9ucy5nZXQo
KSwgdXNlRml4ZWRMYXlvdXRLZXkuZ2V0KCksIHVzZUZpeGVkTGF5b3V0VmFsdWUuZ2V0KCkpOwor
ICAgIFdLRGljdGlvbmFyeVNldEl0ZW0odmlld09wdGlvbnMuZ2V0KCksIHVzZUZpeGVkTGF5b3V0
S2V5LmdldCgpLCB1c2VGaXhlZExheW91dFZhbHVlLmdldCgpKTsKIAogICAgIFRlc3RDb250cm9s
bGVyOjpzaGFyZWQoKS5lbnN1cmVWaWV3U3VwcG9ydHNPcHRpb25zKHZpZXdPcHRpb25zLmdldCgp
KTsKIH0KQEAgLTIwMSwxOSArMjAxLDE5IEBAIHZvaWQgVGVzdEludm9jYXRpb246Omludm9rZSgp
CiAKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gZHVtcEZyYW1lTG9hZERlbGVnYXRlc0tl
eSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkR1bXBGcmFtZUxvYWRE
ZWxlZ2F0ZXMiKSk7CiAgICAgV0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiBkdW1wRnJhbWVMb2Fk
RGVsZWdhdGVzVmFsdWUgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShzaG91bGRMb2dGcmFtZUxv
YWREZWxlZ2F0ZXMobV9wYXRoT3JVUkwuY19zdHIoKSkpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJ
dGVtKGJlZ2luVGVzdE1lc3NhZ2VCb2R5LmdldCgpLCBkdW1wRnJhbWVMb2FkRGVsZWdhdGVzS2V5
LmdldCgpLCBkdW1wRnJhbWVMb2FkRGVsZWdhdGVzVmFsdWUuZ2V0KCkpOworICAgIFdLRGljdGlv
bmFyeVNldEl0ZW0oYmVnaW5UZXN0TWVzc2FnZUJvZHkuZ2V0KCksIGR1bXBGcmFtZUxvYWREZWxl
Z2F0ZXNLZXkuZ2V0KCksIGR1bXBGcmFtZUxvYWREZWxlZ2F0ZXNWYWx1ZS5nZXQoKSk7CiAKICAg
ICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gZHVtcFBpeGVsc0tleSA9IGFkb3B0V0soV0tTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkR1bXBQaXhlbHMiKSk7CiAgICAgV0tSZXRhaW5QdHI8
V0tCb29sZWFuUmVmPiBkdW1wUGl4ZWxzVmFsdWUgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZSht
X2R1bXBQaXhlbHMpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKGJlZ2luVGVzdE1lc3NhZ2VC
b2R5LmdldCgpLCBkdW1wUGl4ZWxzS2V5LmdldCgpLCBkdW1wUGl4ZWxzVmFsdWUuZ2V0KCkpOwor
ICAgIFdLRGljdGlvbmFyeVNldEl0ZW0oYmVnaW5UZXN0TWVzc2FnZUJvZHkuZ2V0KCksIGR1bXBQ
aXhlbHNLZXkuZ2V0KCksIGR1bXBQaXhlbHNWYWx1ZS5nZXQoKSk7CiAKICAgICBXS1JldGFpblB0
cjxXS1N0cmluZ1JlZj4gdXNlV2FpdFRvRHVtcFdhdGNoZG9nVGltZXJLZXkgPSBhZG9wdFdLKFdL
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJVc2VXYWl0VG9EdW1wV2F0Y2hkb2dUaW1lciIp
KTsKICAgICBXS1JldGFpblB0cjxXS0Jvb2xlYW5SZWY+IHVzZVdhaXRUb0R1bXBXYXRjaGRvZ1Rp
bWVyVmFsdWUgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShUZXN0Q29udHJvbGxlcjo6c2hhcmVk
KCkudXNlV2FpdFRvRHVtcFdhdGNoZG9nVGltZXIoKSkpOwotICAgIFdLRGljdGlvbmFyeUFkZEl0
ZW0oYmVnaW5UZXN0TWVzc2FnZUJvZHkuZ2V0KCksIHVzZVdhaXRUb0R1bXBXYXRjaGRvZ1RpbWVy
S2V5LmdldCgpLCB1c2VXYWl0VG9EdW1wV2F0Y2hkb2dUaW1lclZhbHVlLmdldCgpKTsKKyAgICBX
S0RpY3Rpb25hcnlTZXRJdGVtKGJlZ2luVGVzdE1lc3NhZ2VCb2R5LmdldCgpLCB1c2VXYWl0VG9E
dW1wV2F0Y2hkb2dUaW1lcktleS5nZXQoKSwgdXNlV2FpdFRvRHVtcFdhdGNoZG9nVGltZXJWYWx1
ZS5nZXQoKSk7CiAKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdGltZW91dEtleSA9IGFk
b3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRpbWVvdXQiKSk7CiAgICAgV0tS
ZXRhaW5QdHI8V0tVSW50NjRSZWY+IHRpbWVvdXRWYWx1ZSA9IGFkb3B0V0soV0tVSW50NjRDcmVh
dGUobV90aW1lb3V0KSk7Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShiZWdpblRlc3RNZXNzYWdl
Qm9keS5nZXQoKSwgdGltZW91dEtleS5nZXQoKSwgdGltZW91dFZhbHVlLmdldCgpKTsKKyAgICBX
S0RpY3Rpb25hcnlTZXRJdGVtKGJlZ2luVGVzdE1lc3NhZ2VCb2R5LmdldCgpLCB0aW1lb3V0S2V5
LmdldCgpLCB0aW1lb3V0VmFsdWUuZ2V0KCkpOwogCiAgICAgV0tDb250ZXh0UG9zdE1lc3NhZ2VU
b0luamVjdGVkQnVuZGxlKFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS5jb250ZXh0KCksIG1lc3Nh
Z2VOYW1lLmdldCgpLCBiZWdpblRlc3RNZXNzYWdlQm9keS5nZXQoKSk7CiAK
</data>
<flag name="review"
          id="243244"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>