<?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>175118</bug_id>
          
          <creation_ts>2017-08-03 00:39:01 -0700</creation_ts>
          <short_desc>Use LazyNeverDestroyed instead of DEFINE_GLOBAL for XMLNames, HTMLNames, MathMLNames and SVGNames</short_desc>
          <delta_ts>2017-11-15 13:10:42 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>174979</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1334692</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-08-03 00:39:01 -0700</bug_when>
    <thetext>Use LazyNeverDestroyed instead of DEFINE_GLOBAL for XMLNames, HTMLNames, MathMLNames and SVGNames

This is a sub-task of Bug 174979.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1334693</commentid>
    <comment_count>1</comment_count>
      <attachid>317097</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-08-03 00:39:35 -0700</bug_when>
    <thetext>Created attachment 317097
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365919</commentid>
    <comment_count>2</comment_count>
      <attachid>325324</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-10-29 22:35:35 -0700</bug_when>
    <thetext>Created attachment 325324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365943</commentid>
    <comment_count>3</comment_count>
      <attachid>325336</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-10-30 00:53:16 -0700</bug_when>
    <thetext>Created attachment 325336
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1366231</commentid>
    <comment_count>4</comment_count>
      <attachid>325336</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-30 16:41:06 -0700</bug_when>
    <thetext>Comment on attachment 325336
Patch

Clearing flags on attachment: 325336

Committed r224213: &lt;https://trac.webkit.org/changeset/224213&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1366232</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-30 16:41:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372382</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 13:10:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/35568903&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317097</attachid>
            <date>2017-08-03 00:39:35 -0700</date>
            <delta_ts>2017-10-29 22:35:30 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>htmlnames-3.patch</filename>
            <type>text/plain</type>
            <size>96791</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IGU0MTU1ZDE4ZDUxLi44YTNmODcxYjkxMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwCkBAIC0yODczLDEzICsyODczLDEzIEBAIGJvb2wgQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6aW5oZXJpdHNQcmVzZW50YXRpb25hbFJvbGUoKSBjb25zdAogICAgIHN3
aXRjaCAocm9sZVZhbHVlKCkpIHsKICAgICBjYXNlIExpc3RJdGVtUm9sZToKICAgICBjYXNlIExp
c3RNYXJrZXJSb2xlOiB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBhdXRvIGxpc3RJdGVtUGFyZW50
cyA9IG1ha2VOZXZlckRlc3Ryb3llZChWZWN0b3I8Y29uc3QgSFRNTFF1YWxpZmllZE5hbWUqPiB7
ICZkbFRhZywgJm9sVGFnLCAmdWxUYWcgfSk7CisgICAgICAgIHN0YXRpYyBjb25zdCBhdXRvIGxp
c3RJdGVtUGFyZW50cyA9IG1ha2VOZXZlckRlc3Ryb3llZChWZWN0b3I8Y29uc3QgSFRNTFF1YWxp
ZmllZE5hbWUqPiB7ICZkbFRhZy5nZXQoKSwgJm9sVGFnLmdldCgpLCAmdWxUYWcuZ2V0KCkgfSk7
CiAgICAgICAgIHBhcmVudFRhZ3MgPSAmbGlzdEl0ZW1QYXJlbnRzLmdldCgpOwogICAgICAgICBi
cmVhazsKICAgICB9CiAgICAgY2FzZSBHcmlkQ2VsbFJvbGU6CiAgICAgY2FzZSBDZWxsUm9sZTog
ewotICAgICAgICBzdGF0aWMgY29uc3QgYXV0byB0YWJsZUNlbGxQYXJlbnRzID0gbWFrZU5ldmVy
RGVzdHJveWVkKFZlY3Rvcjxjb25zdCBIVE1MUXVhbGlmaWVkTmFtZSo+IHsgJnRhYmxlVGFnIH0p
OworICAgICAgICBzdGF0aWMgY29uc3QgYXV0byB0YWJsZUNlbGxQYXJlbnRzID0gbWFrZU5ldmVy
RGVzdHJveWVkKFZlY3Rvcjxjb25zdCBIVE1MUXVhbGlmaWVkTmFtZSo+IHsgJnRhYmxlVGFnLmdl
dCgpIH0pOwogICAgICAgICBwYXJlbnRUYWdzID0gJnRhYmxlQ2VsbFBhcmVudHMuZ2V0KCk7CiAg
ICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRl
eCA2ZWFiY2IxNTY3YS4uMThlODQ5Y2RhMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZl
ci5jcHAKQEAgLTc1Myw3ICs3NTMsNyBAQCBzdGF0aWMgYm9vbCBoYXNFZmZlY3RpdmVEaXNwbGF5
Tm9uZUZvckRpc3BsYXlDb250ZW50cyhjb25zdCBFbGVtZW50JiBlbGVtZW50KQogewogICAgIC8v
IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZGlzcGxheS0zLyN1bmJveC1odG1sCiAgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hTZXQ8QXRvbWljU3RyaW5nPj4gdGFnTmFtZXMgPSBb
XSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBIVE1MUXVhbGlmaWVkTmFtZSogY29uc3QgdGFnTGlz
dFtdID0geworICAgICAgICBzdGF0aWMgTGF6eU5ldmVyRGVzdHJveWVkPGNvbnN0IEhUTUxRdWFs
aWZpZWROYW1lPiogY29uc3QgdGFnTGlzdFtdID0gewogICAgICAgICAgICAgJmJyVGFnLAogICAg
ICAgICAgICAgJndiclRhZywKICAgICAgICAgICAgICZtZXRlclRhZywKQEAgLTc3NCw3ICs3NzQs
NyBAQCBzdGF0aWMgYm9vbCBoYXNFZmZlY3RpdmVEaXNwbGF5Tm9uZUZvckRpc3BsYXlDb250ZW50
cyhjb25zdCBFbGVtZW50JiBlbGVtZW50KQogICAgICAgICB9OwogICAgICAgICBIYXNoU2V0PEF0
b21pY1N0cmluZz4gc2V0OwogICAgICAgICBmb3IgKGF1dG8mIG5hbWUgOiB0YWdMaXN0KQotICAg
ICAgICAgICAgc2V0LmFkZChuYW1lLT5sb2NhbE5hbWUoKSk7CisgICAgICAgICAgICBzZXQuYWRk
KG5hbWUtPmdldCgpLmxvY2FsTmFtZSgpKTsKICAgICAgICAgcmV0dXJuIHNldDsKICAgICB9KCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVhY3Rpb25R
dWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUu
Y3BwCmluZGV4IDg0OTYyMDY2ZWIxLi4yMDdlZTA1YmRjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuY3BwCkBAIC0xOTgsNyArMTk4LDcg
QEAgdm9pZCBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6ZW5xdWV1ZVBvc3RVcGdyYWRlUmVh
Y3Rpb25zKEVsZW1lbnQmIGVsZW1lbnQpCiAKIGJvb2wgQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVl
dWU6Om9ic2VydmVzU3R5bGVBdHRyaWJ1dGUoKSBjb25zdAogewotICAgIHJldHVybiBtX2ludGVy
ZmFjZS0+b2JzZXJ2ZXNBdHRyaWJ1dGUoSFRNTE5hbWVzOjpzdHlsZUF0dHIubG9jYWxOYW1lKCkp
OworICAgIHJldHVybiBtX2ludGVyZmFjZS0+b2JzZXJ2ZXNBdHRyaWJ1dGUoSFRNTE5hbWVzOjpz
dHlsZUF0dHItPmxvY2FsTmFtZSgpKTsKIH0KIAogdm9pZCBDdXN0b21FbGVtZW50UmVhY3Rpb25R
dWV1ZTo6aW52b2tlQWxsKEVsZW1lbnQmIGVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApp
bmRleCAwOTY3MDUzZWNiZS4uNWQzZTc1MDI0YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApA
QCAtMTE0MywxOCArMTE0MywxOCBAQCBDdXN0b21FbGVtZW50TmFtZVZhbGlkYXRpb25TdGF0dXMg
RG9jdW1lbnQ6OnZhbGlkYXRlQ3VzdG9tRWxlbWVudE5hbWUoY29uc3QgQXRvbQogICAgICAgICBy
ZXR1cm4gQ3VzdG9tRWxlbWVudE5hbWVWYWxpZGF0aW9uU3RhdHVzOjpDb250YWluc05vSHlwaGVu
OwogCiAjaWYgRU5BQkxFKE1BVEhNTCkKLSAgICBjb25zdCBhdXRvJiBhbm5vdGF0aW9uWG1sTG9j
YWxOYW1lID0gTWF0aE1MTmFtZXM6OmFubm90YXRpb25feG1sVGFnLmxvY2FsTmFtZSgpOworICAg
IGNvbnN0IGF1dG8mIGFubm90YXRpb25YbWxMb2NhbE5hbWUgPSBNYXRoTUxOYW1lczo6YW5ub3Rh
dGlvbl94bWxUYWctPmxvY2FsTmFtZSgpOwogI2Vsc2UKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8Y29uc3QgQXRvbWljU3RyaW5nPiBhbm5vdGF0aW9uWG1sTG9jYWxOYW1lKCJhbm5vdGF0aW9u
LXhtbCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwogI2VuZGlmCiAKLSAg
ICBpZiAobG9jYWxOYW1lID09IFNWR05hbWVzOjpjb2xvcl9wcm9maWxlVGFnLmxvY2FsTmFtZSgp
Ci0gICAgICAgIHx8IGxvY2FsTmFtZSA9PSBTVkdOYW1lczo6Zm9udF9mYWNlVGFnLmxvY2FsTmFt
ZSgpCi0gICAgICAgIHx8IGxvY2FsTmFtZSA9PSBTVkdOYW1lczo6Zm9udF9mYWNlX2Zvcm1hdFRh
Zy5sb2NhbE5hbWUoKQotICAgICAgICB8fCBsb2NhbE5hbWUgPT0gU1ZHTmFtZXM6OmZvbnRfZmFj
ZV9uYW1lVGFnLmxvY2FsTmFtZSgpCi0gICAgICAgIHx8IGxvY2FsTmFtZSA9PSBTVkdOYW1lczo6
Zm9udF9mYWNlX3NyY1RhZy5sb2NhbE5hbWUoKQotICAgICAgICB8fCBsb2NhbE5hbWUgPT0gU1ZH
TmFtZXM6OmZvbnRfZmFjZV91cmlUYWcubG9jYWxOYW1lKCkKLSAgICAgICAgfHwgbG9jYWxOYW1l
ID09IFNWR05hbWVzOjptaXNzaW5nX2dseXBoVGFnLmxvY2FsTmFtZSgpCisgICAgaWYgKGxvY2Fs
TmFtZSA9PSBTVkdOYW1lczo6Y29sb3JfcHJvZmlsZVRhZy0+bG9jYWxOYW1lKCkKKyAgICAgICAg
fHwgbG9jYWxOYW1lID09IFNWR05hbWVzOjpmb250X2ZhY2VUYWctPmxvY2FsTmFtZSgpCisgICAg
ICAgIHx8IGxvY2FsTmFtZSA9PSBTVkdOYW1lczo6Zm9udF9mYWNlX2Zvcm1hdFRhZy0+bG9jYWxO
YW1lKCkKKyAgICAgICAgfHwgbG9jYWxOYW1lID09IFNWR05hbWVzOjpmb250X2ZhY2VfbmFtZVRh
Zy0+bG9jYWxOYW1lKCkKKyAgICAgICAgfHwgbG9jYWxOYW1lID09IFNWR05hbWVzOjpmb250X2Zh
Y2Vfc3JjVGFnLT5sb2NhbE5hbWUoKQorICAgICAgICB8fCBsb2NhbE5hbWUgPT0gU1ZHTmFtZXM6
OmZvbnRfZmFjZV91cmlUYWctPmxvY2FsTmFtZSgpCisgICAgICAgIHx8IGxvY2FsTmFtZSA9PSBT
VkdOYW1lczo6bWlzc2luZ19nbHlwaFRhZy0+bG9jYWxOYW1lKCkKICAgICAgICAgfHwgbG9jYWxO
YW1lID09IGFubm90YXRpb25YbWxMb2NhbE5hbWUpCiAgICAgICAgIHJldHVybiBDdXN0b21FbGVt
ZW50TmFtZVZhbGlkYXRpb25TdGF0dXM6OkNvbmZsaWN0c1dpdGhTdGFuZGFyZEVsZW1lbnROYW1l
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggOGVjZTlkZTQ1YjcuLjFmOTE2YzU4OTQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC00NjIsNyArNDYyLDcgQEAgc3RhdGljIEFMV0FZU19J
TkxJTkUgYm9vbCBpc1N0eWxlQXR0cmlidXRlKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0
IEF0b21pY1MKIHsKICAgICBpZiAoc2hvdWxkSWdub3JlQXR0cmlidXRlQ2FzZShlbGVtZW50KSkK
ICAgICAgICAgcmV0dXJuIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGF0dHJpYnV0ZUxv
Y2FsTmFtZSwgInN0eWxlIik7Ci0gICAgcmV0dXJuIGF0dHJpYnV0ZUxvY2FsTmFtZSA9PSBzdHls
ZUF0dHIubG9jYWxOYW1lKCk7CisgICAgcmV0dXJuIGF0dHJpYnV0ZUxvY2FsTmFtZSA9PSBzdHls
ZUF0dHItPmxvY2FsTmFtZSgpOwogfQogCiBBTFdBWVNfSU5MSU5FIHZvaWQgRWxlbWVudDo6c3lu
Y2hyb25pemVBdHRyaWJ1dGUoY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbE5hbWUpIGNvbnN0CkBA
IC0xNzg5LDcgKzE3ODksNyBAQCB2b2lkIEVsZW1lbnQ6OnJlbW92ZVNoYWRvd1Jvb3QoKQogc3Rh
dGljIGJvb2wgY2FuQXR0YWNoQXV0aG9yU2hhZG93Um9vdChjb25zdCBFbGVtZW50JiBlbGVtZW50
KQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoU2V0PEF0b21pY1N0cmluZz4+IHRh
Z05hbWVzID0gW10gewotICAgICAgICBzdGF0aWMgY29uc3QgSFRNTFF1YWxpZmllZE5hbWUqIGNv
bnN0IHRhZ0xpc3RbXSA9IHsKKyAgICAgICAgc3RhdGljIExhenlOZXZlckRlc3Ryb3llZDxjb25z
dCBIVE1MUXVhbGlmaWVkTmFtZT4qIGNvbnN0IHRhZ0xpc3RbXSA9IHsKICAgICAgICAgICAgICZh
cnRpY2xlVGFnLAogICAgICAgICAgICAgJmFzaWRlVGFnLAogICAgICAgICAgICAgJmJsb2NrcXVv
dGVUYWcsCkBAIC0xODEwLDcgKzE4MTAsNyBAQCBzdGF0aWMgYm9vbCBjYW5BdHRhY2hBdXRob3JT
aGFkb3dSb290KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgICAgIH07CiAgICAgICAgIEhh
c2hTZXQ8QXRvbWljU3RyaW5nPiBzZXQ7CiAgICAgICAgIGZvciAoYXV0byYgbmFtZSA6IHRhZ0xp
c3QpCi0gICAgICAgICAgICBzZXQuYWRkKG5hbWUtPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgICAg
IHNldC5hZGQobmFtZS0+Z2V0KCkubG9jYWxOYW1lKCkpOwogICAgICAgICByZXR1cm4gc2V0Owog
ICAgIH0oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnREYXRhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50RGF0YS5jcHAKaW5kZXggNGI5ZWJmODg5NDgu
Ljk1MTUzMDU1ODRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudERhdGEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50RGF0YS5jcHAKQEAgLTE4OSwxOCAr
MTg5LDE4IEBAIEF0dHJpYnV0ZSogVW5pcXVlRWxlbWVudERhdGE6OmZpbmRBdHRyaWJ1dGVCeU5h
bWUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSkKIAogY29uc3QgQXR0cmlidXRlKiBFbGVtZW50
RGF0YTo6ZmluZExhbmd1YWdlQXR0cmlidXRlKCkgY29uc3QKIHsKLSAgICBBU1NFUlQoWE1MTmFt
ZXM6OmxhbmdBdHRyLmxvY2FsTmFtZSgpID09IEhUTUxOYW1lczo6bGFuZ0F0dHIubG9jYWxOYW1l
KCkpOworICAgIEFTU0VSVChYTUxOYW1lczo6bGFuZ0F0dHItPmxvY2FsTmFtZSgpID09IEhUTUxO
YW1lczo6bGFuZ0F0dHItPmxvY2FsTmFtZSgpKTsKIAogICAgIGNvbnN0IEF0dHJpYnV0ZSogYXR0
cmlidXRlcyA9IGF0dHJpYnV0ZUJhc2UoKTsKICAgICAvLyBTcGVjOiB4bWw6bGFuZyB0YWtlcyBw
cmVjZWRlbmNlIG92ZXIgaHRtbDpsYW5nIC0tIGh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS8j
Q183CiAgICAgY29uc3QgQXR0cmlidXRlKiBsYW5ndWFnZUF0dHJpYnV0ZSA9IG51bGxwdHI7CiAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMCwgY291bnQgPSBsZW5ndGgoKTsgaSA8IGNvdW50OyArK2kp
IHsKICAgICAgICAgY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSA9IGF0dHJpYnV0ZXNbaV0ubmFt
ZSgpOwotICAgICAgICBpZiAobmFtZS5sb2NhbE5hbWUoKSAhPSBIVE1MTmFtZXM6OmxhbmdBdHRy
LmxvY2FsTmFtZSgpKQorICAgICAgICBpZiAobmFtZS5sb2NhbE5hbWUoKSAhPSBIVE1MTmFtZXM6
OmxhbmdBdHRyLT5sb2NhbE5hbWUoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBp
ZiAobmFtZS5uYW1lc3BhY2VVUkkoKSA9PSBYTUxOYW1lczo6bGFuZ0F0dHIubmFtZXNwYWNlVVJJ
KCkpCisgICAgICAgIGlmIChuYW1lLm5hbWVzcGFjZVVSSSgpID09IFhNTE5hbWVzOjpsYW5nQXR0
ci0+bmFtZXNwYWNlVVJJKCkpCiAgICAgICAgICAgICByZXR1cm4gJmF0dHJpYnV0ZXNbaV07Ci0g
ICAgICAgIGlmIChuYW1lLm5hbWVzcGFjZVVSSSgpID09IEhUTUxOYW1lczo6bGFuZ0F0dHIubmFt
ZXNwYWNlVVJJKCkpCisgICAgICAgIGlmIChuYW1lLm5hbWVzcGFjZVVSSSgpID09IEhUTUxOYW1l
czo6bGFuZ0F0dHItPm5hbWVzcGFjZVVSSSgpKQogICAgICAgICAgICAgbGFuZ3VhZ2VBdHRyaWJ1
dGUgPSAmYXR0cmlidXRlc1tpXTsKICAgICB9CiAgICAgcmV0dXJuIGxhbmd1YWdlQXR0cmlidXRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbAppbmRleCBmMWYzY2Y3NzQ0My4uMTFlNWIzOTBhNTIg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCkBAIC00ODgsNyArNDg4LDcgQEAgc3ViIHByaW50
Q29uc3RydWN0b3JzCiAgICAgICAgIGlmICgkZW5hYmxlZFRhZ3N7JHRhZ05hbWV9e21hcFRvVGFn
TmFtZX0pIHsKICAgICAgICAgICAgIG15ICRtYXBwZWROYW1lID0gJGVuYWJsZWRUYWdzeyR0YWdO
YW1lfXttYXBUb1RhZ05hbWV9OwogICAgICAgICAgICAgcHJpbnRDb25zdHJ1Y3RvclNpZ25hdHVy
ZSgkRiwgJG1hcHBlZE5hbWUsICRtYXBwZWROYW1lIC4gIlRvIiAuICR0YWdOYW1lLCAidGFnTmFt
ZSIpOwotICAgICAgICAgICAgcHJpbnRDb25zdHJ1Y3RvckludGVyaW9yKCRGLCAkbWFwcGVkTmFt
ZSwgJGVuYWJsZWRUYWdzeyRtYXBwZWROYW1lfXtpbnRlcmZhY2VOYW1lfSwgIlF1YWxpZmllZE5h
bWUodGFnTmFtZS5wcmVmaXgoKSwgJHttYXBwZWROYW1lfVRhZy5sb2NhbE5hbWUoKSwgdGFnTmFt
ZS5uYW1lc3BhY2VVUkkoKSkiKTsKKyAgICAgICAgICAgIHByaW50Q29uc3RydWN0b3JJbnRlcmlv
cigkRiwgJG1hcHBlZE5hbWUsICRlbmFibGVkVGFnc3skbWFwcGVkTmFtZX17aW50ZXJmYWNlTmFt
ZX0sICJRdWFsaWZpZWROYW1lKHRhZ05hbWUucHJlZml4KCksICR7bWFwcGVkTmFtZX1UYWctPmxv
Y2FsTmFtZSgpLCB0YWdOYW1lLm5hbWVzcGFjZVVSSSgpKSIpOwogICAgICAgICB9CiAgICAgfQog
fQpAQCAtNzE4LDIxICs3MTgsMjUgQEAgc3ViIHByaW50TmFtZXNIZWFkZXJGaWxlCiAgICAgb3Bl
biBGLCAiPiRoZWFkZXJQYXRoIjsKIAogICAgIHByaW50TGljZW5zZUhlYWRlcigkRik7Ci0gICAg
cHJpbnRIZWFkZXJIZWFkKCRGLCAiRE9NIiwgJHBhcmFtZXRlcnN7bmFtZXNwYWNlfSwgJyNpbmNs
dWRlICJRdWFsaWZpZWROYW1lLmgiJywgImNsYXNzICRwYXJhbWV0ZXJze25hbWVzcGFjZX1RdWFs
aWZpZWROYW1lIDogcHVibGljIFF1YWxpZmllZE5hbWUgeyB9O1xuXG4iKTsKKyAgICBwcmludEhl
YWRlckhlYWQoJEYsICJET00iLCAkcGFyYW1ldGVyc3tuYW1lc3BhY2V9LCA8PEVORCwgImNsYXNz
ICRwYXJhbWV0ZXJze25hbWVzcGFjZX1RdWFsaWZpZWROYW1lIDogcHVibGljIFF1YWxpZmllZE5h
bWUgeyB9O1xuXG4iKTsKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKyNpbmNsdWRlICJRdWFsaWZpZWROYW1lLmgiCitF
TkQKIAogICAgIG15ICRsb3dlcmNhc2VOYW1lc3BhY2VQcmVmaXggPSBsYygkcGFyYW1ldGVyc3tu
YW1lc3BhY2VQcmVmaXh9KTsKIAogICAgIHByaW50IEYgIi8vIE5hbWVzcGFjZVxuIjsKLSAgICBw
cmludCBGICJXRUJDT1JFX0VYUE9SVCBleHRlcm4gY29uc3QgV1RGOjpBdG9taWNTdHJpbmcgJHts
b3dlcmNhc2VOYW1lc3BhY2VQcmVmaXh9TmFtZXNwYWNlVVJJO1xuXG4iOworICAgIHByaW50IEYg
IldFQkNPUkVfRVhQT1JUIGV4dGVybiBMYXp5TmV2ZXJEZXN0cm95ZWQ8Y29uc3QgV1RGOjpBdG9t
aWNTdHJpbmc+ICR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4fU5hbWVzcGFjZVVSSTtcblxuIjsK
IAogICAgIGlmIChrZXlzICVhbGxUYWdzKSB7CiAgICAgICAgIHByaW50IEYgIi8vIFRhZ3NcbiI7
Ci0gICAgICAgIHByaW50TWFjcm9zKCRGLCAiV0VCQ09SRV9FWFBPUlQgZXh0ZXJuIGNvbnN0IFdl
YkNvcmU6OiRwYXJhbWV0ZXJze25hbWVzcGFjZX1RdWFsaWZpZWROYW1lIiwgIlRhZyIsIFwlYWxs
VGFncyk7CisgICAgICAgIHByaW50TWFjcm9zKCRGLCAiV0VCQ09SRV9FWFBPUlQgZXh0ZXJuIExh
enlOZXZlckRlc3Ryb3llZDxjb25zdCBXZWJDb3JlOjokcGFyYW1ldGVyc3tuYW1lc3BhY2V9UXVh
bGlmaWVkTmFtZT4iLCAiVGFnIiwgXCVhbGxUYWdzKTsKICAgICB9CiAKICAgICBpZiAoa2V5cyAl
YWxsQXR0cnMpIHsKICAgICAgICAgcHJpbnQgRiAiLy8gQXR0cmlidXRlc1xuIjsKLSAgICAgICAg
cHJpbnRNYWNyb3MoJEYsICJXRUJDT1JFX0VYUE9SVCBleHRlcm4gY29uc3QgV2ViQ29yZTo6UXVh
bGlmaWVkTmFtZSIsICJBdHRyIiwgXCVhbGxBdHRycyk7CisgICAgICAgIHByaW50TWFjcm9zKCRG
LCAiV0VCQ09SRV9FWFBPUlQgZXh0ZXJuIExhenlOZXZlckRlc3Ryb3llZDxjb25zdCBXZWJDb3Jl
OjpRdWFsaWZpZWROYW1lPiIsICJBdHRyIiwgXCVhbGxBdHRycyk7CiAgICAgfQogICAgIHByaW50
IEYgIiNlbmRpZlxuXG4iOwogCkBAIC03NjEsMTQgKzc2NSwxNCBAQCBzdWIgcHJpbnROYW1lc0Nw
cEZpbGUKICAgICAKICAgICBteSAkbG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4ID0gbGMoJHBhcmFt
ZXRlcnN7bmFtZXNwYWNlUHJlZml4fSk7CiAKLSAgICBwcmludCBGICJXRUJDT1JFX0VYUE9SVCBE
RUZJTkVfR0xPQkFMKEF0b21pY1N0cmluZywgJHtsb3dlcmNhc2VOYW1lc3BhY2VQcmVmaXh9TmFt
ZXNwYWNlVVJJKVxuXG4iOworICAgIHByaW50IEYgIkxhenlOZXZlckRlc3Ryb3llZDxjb25zdCBB
dG9taWNTdHJpbmc+ICR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4fU5hbWVzcGFjZVVSSTtcblxu
IjsKIAogICAgIHByaW50IEYgU3RhdGljU3RyaW5nOjpHZW5lcmF0ZVN0cmluZ3MoXCVhbGxTdHJp
bmdzKTsKIAogICAgIGlmIChrZXlzICVhbGxUYWdzKSB7CiAgICAgICAgIHByaW50IEYgIi8vIFRh
Z3NcbiI7CiAgICAgICAgIGZvciBteSAkbmFtZSAoc29ydCBrZXlzICVhbGxUYWdzKSB7Ci0gICAg
ICAgICAgICBwcmludCBGICJXRUJDT1JFX0VYUE9SVCBERUZJTkVfR0xPQkFMKCRwYXJhbWV0ZXJz
e25hbWVzcGFjZX1RdWFsaWZpZWROYW1lLCAiLCAkbmFtZSwgIlRhZylcbiI7CisgICAgICAgICAg
ICBwcmludCBGICJXRUJDT1JFX0VYUE9SVCBMYXp5TmV2ZXJEZXN0cm95ZWQ8Y29uc3QgJHBhcmFt
ZXRlcnN7bmFtZXNwYWNlfVF1YWxpZmllZE5hbWU+ICR7bmFtZX1UYWc7XG4iOwogICAgICAgICB9
CiAgICAgICAgIAogICAgICAgICBwcmludCBGICJcblxuY29uc3QgV2ViQ29yZTo6JHBhcmFtZXRl
cnN7bmFtZXNwYWNlfVF1YWxpZmllZE5hbWUqIGNvbnN0KiBnZXQkcGFyYW1ldGVyc3tuYW1lc3Bh
Y2V9VGFncygpXG4iOwpAQCAtNzg0LDcgKzc4OCw3IEBAIHN1YiBwcmludE5hbWVzQ3BwRmlsZQog
ICAgIGlmIChrZXlzICVhbGxBdHRycykgewogICAgICAgICBwcmludCBGICJcbi8vIEF0dHJpYnV0
ZXNcbiI7CiAgICAgICAgIGZvciBteSAkbmFtZSAoc29ydCBrZXlzICVhbGxBdHRycykgewotICAg
ICAgICAgICAgcHJpbnQgRiAiV0VCQ09SRV9FWFBPUlQgREVGSU5FX0dMT0JBTChRdWFsaWZpZWRO
YW1lLCAiLCAkbmFtZSwgIkF0dHIpXG4iOworICAgICAgICAgICAgcHJpbnQgRiAiV0VCQ09SRV9F
WFBPUlQgTGF6eU5ldmVyRGVzdHJveWVkPGNvbnN0IFF1YWxpZmllZE5hbWU+ICR7bmFtZX1BdHRy
O1xuIjsKICAgICAgICAgfQogICAgICAgICBwcmludCBGICJcblxuY29uc3QgV2ViQ29yZTo6UXVh
bGlmaWVkTmFtZSogY29uc3QqIGdldCRwYXJhbWV0ZXJze25hbWVzcGFjZX1BdHRycygpXG4iOwog
ICAgICAgICBwcmludCBGICJ7XG4gICAgc3RhdGljIGNvbnN0IFdlYkNvcmU6OlF1YWxpZmllZE5h
bWUqIGNvbnN0ICRwYXJhbWV0ZXJze25hbWVzcGFjZX1BdHRyc1tdID0ge1xuIjsKQEAgLTgwMSw3
ICs4MDUsNyBAQCBzdWIgcHJpbnROYW1lc0NwcEZpbGUKICAgICBwcmludChGICIgICAgQXRvbWlj
U3RyaW5nICR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4fU5TKFwiJHBhcmFtZXRlcnN7bmFtZXNw
YWNlVVJJfVwiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTtcblxuIik7CiAK
ICAgICBwcmludChGICIgICAgLy8gTmFtZXNwYWNlXG4iKTsKLSAgICBwcmludChGICIgICAgbmV3
IChOb3ROdWxsLCAodm9pZCopJiR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4fU5hbWVzcGFjZVVS
SSkgQXRvbWljU3RyaW5nKCR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4fU5TKTtcbiIpOworICAg
IHByaW50KEYgIiAgICAke2xvd2VyY2FzZU5hbWVzcGFjZVByZWZpeH1OYW1lc3BhY2VVUkkuY29u
c3RydWN0KCR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4fU5TKTtcbiIpOwogICAgIHByaW50KEYg
IlxuIik7CiAgICAgcHJpbnQgRiBTdGF0aWNTdHJpbmc6OkdlbmVyYXRlU3RyaW5nQXNzZXJ0cyhc
JWFsbFN0cmluZ3MpOwogCkBAIC05MDQsNyArOTA4LDcgQEAgc3ViIHByaW50RGVmaW5pdGlvbnMK
IHByaW50IEYgPDxFTkQKIAogICAgIHN0cnVjdCAke2NhcGl0YWxpemVkVHlwZX1UYWJsZUVudHJ5
IHsKLSAgICAgICAgdm9pZCogdGFyZ2V0QWRkcmVzczsKKyAgICAgICAgTGF6eU5ldmVyRGVzdHJv
eWVkPGNvbnN0IFF1YWxpZmllZE5hbWU+KiB0YXJnZXRBZGRyZXNzOwogICAgICAgICBTdHJpbmdJ
bXBsJiBuYW1lOwogICAgIH07CiAKQEAgLTkxMiw3ICs5MTYsNyBAQCBwcmludCBGIDw8RU5ECiBF
TkQKIDsKICAgICBmb3IgbXkgJG5hbWUgKHNvcnQga2V5cyAlJG5hbWVzUmVmKSB7Ci0gICAgICAg
IHByaW50IEYgIiAgICAgICAgeyAodm9pZCopJiRuYW1lJHNob3J0Q2FtZWxUeXBlLCAqcmVpbnRl
cnByZXRfY2FzdDxTdHJpbmdJbXBsKj4oJiR7bmFtZX1EYXRhKSB9LFxuIjsKKyAgICAgICAgcHJp
bnQgRiAiICAgICAgICB7IHJlaW50ZXJwcmV0X2Nhc3Q8TGF6eU5ldmVyRGVzdHJveWVkPGNvbnN0
IFF1YWxpZmllZE5hbWU+Kj4oJiRuYW1lJHNob3J0Q2FtZWxUeXBlKSwgKnJlaW50ZXJwcmV0X2Nh
c3Q8U3RyaW5nSW1wbCo+KCYke25hbWV9RGF0YSkgfSxcbiI7CiAgICAgfQogCiBwcmludCBGIDw8
RU5ECkBAIC05MjIsOSArOTI2LDkgQEAgcHJpbnQgRiA8PEVORAogRU5ECiA7CiAgICAgaWYgKCRu
YW1lc3BhY2VVUkkgZXEgIm51bGxBdG9tKCkiKSB7Ci0gICAgICAgIHByaW50IEYgIiAgICAgICAg
Y3JlYXRlUXVhbGlmaWVkTmFtZShlbnRyeS50YXJnZXRBZGRyZXNzLCAmZW50cnkubmFtZSk7XG4i
OworICAgICAgICBwcmludCBGICIgICAgICAgIGVudHJ5LnRhcmdldEFkZHJlc3MtPmNvbnN0cnVj
dChudWxsQXRvbSgpLCBBdG9taWNTdHJpbmcoZW50cnkubmFtZSksIG51bGxBdG9tKCkpO1xuIjsK
ICAgICB9IGVsc2UgewotICAgICAgICBwcmludCBGICIgICAgICAgIGNyZWF0ZVF1YWxpZmllZE5h
bWUoZW50cnkudGFyZ2V0QWRkcmVzcywgJmVudHJ5Lm5hbWUsICRuYW1lc3BhY2VVUkkpO1xuIjsK
KyAgICAgICAgcHJpbnQgRiAiICAgICAgICBlbnRyeS50YXJnZXRBZGRyZXNzLT5jb25zdHJ1Y3Qo
bnVsbEF0b20oKSwgQXRvbWljU3RyaW5nKGVudHJ5Lm5hbWUpLCAkbmFtZXNwYWNlVVJJKTtcbiI7
CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb21qaXQvSlNEb2N1bWVu
dERPTUpJVC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb21qaXQvSlNEb2N1bWVudERPTUpJVC5jcHAK
aW5kZXggN2U4OGUwOTg1OGQuLjgyZmRjOTVlZTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb21qaXQvSlNEb2N1bWVudERPTUpJVC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9taml0
L0pTRG9jdW1lbnRET01KSVQuY3BwCkBAIC0xMDIsNyArMTAyLDcgQEAgUmVmPEpTQzo6RE9NSklU
OjpDYWxsRE9NR2V0dGVyU25pcHBldD4gY29tcGlsZURvY3VtZW50Qm9keUF0dHJpYnV0ZSgpCiAg
ICAgICAgIC8vIFdlIGVuc3VyZWQgdGhhdCB0aGUgbmFtZSBvZiB0aGUgZ2l2ZW4gZWxlbWVudCBp
cyBIVE1MIHF1YWxpZmllZC4KICAgICAgICAgLy8gSXQgYWxsb3dzIHVzIHRvIHBlcmZvcm0gbG9j
YWwgbmFtZSBjb21wYXJpc29uIQogICAgICAgICBsb2FkTG9jYWxOYW1lKGppdCwgc2NyYXRjaDEs
IHNjcmF0Y2gyKTsKLSAgICAgICAgbnVsbENhc2VzLmFwcGVuZChqaXQuYnJhbmNoUHRyKENDYWxs
SGVscGVyczo6Tm90RXF1YWwsIHNjcmF0Y2gyLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIo
SFRNTE5hbWVzOjpodG1sVGFnLmxvY2FsTmFtZSgpLmltcGwoKSkpKTsKKyAgICAgICAgbnVsbENh
c2VzLmFwcGVuZChqaXQuYnJhbmNoUHRyKENDYWxsSGVscGVyczo6Tm90RXF1YWwsIHNjcmF0Y2gy
LCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoSFRNTE5hbWVzOjpodG1sVGFnLT5sb2NhbE5h
bWUoKS5pbXBsKCkpKSk7CiAKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIUNBU1RfT0ZGU0VUKE5v
ZGUqLCBDb250YWluZXJOb2RlKikpOwogICAgICAgICBSRUxFQVNFX0FTU0VSVCghQ0FTVF9PRkZT
RVQoTm9kZSosIEVsZW1lbnQqKSk7CkBAIC0xMjAsOCArMTIwLDggQEAgUmVmPEpTQzo6RE9NSklU
OjpDYWxsRE9NR2V0dGVyU25pcHBldD4gY29tcGlsZURvY3VtZW50Qm9keUF0dHJpYnV0ZSgpCiAg
ICAgICAgIC8vIFdlIGVuc3VyZWQgdGhhdCB0aGUgbmFtZSBvZiB0aGUgZ2l2ZW4gZWxlbWVudCBp
cyBIVE1MIHF1YWxpZmllZC4KICAgICAgICAgLy8gSXQgYWxsb3dzIHVzIHRvIHBlcmZvcm0gbG9j
YWwgbmFtZSBjb21wYXJpc29uIQogICAgICAgICBsb2FkTG9jYWxOYW1lKGppdCwgc2NyYXRjaDEs
IHNjcmF0Y2gyKTsKLSAgICAgICAgc3VjY2Vzc0Nhc2VzLmFwcGVuZChqaXQuYnJhbmNoUHRyKEND
YWxsSGVscGVyczo6RXF1YWwsIHNjcmF0Y2gyLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIo
SFRNTE5hbWVzOjpib2R5VGFnLmxvY2FsTmFtZSgpLmltcGwoKSkpKTsKLSAgICAgICAgc3VjY2Vz
c0Nhc2VzLmFwcGVuZChqaXQuYnJhbmNoUHRyKENDYWxsSGVscGVyczo6RXF1YWwsIHNjcmF0Y2gy
LCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoSFRNTE5hbWVzOjpmcmFtZXNldFRhZy5sb2Nh
bE5hbWUoKS5pbXBsKCkpKSk7CisgICAgICAgIHN1Y2Nlc3NDYXNlcy5hcHBlbmQoaml0LmJyYW5j
aFB0cihDQ2FsbEhlbHBlcnM6OkVxdWFsLCBzY3JhdGNoMiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVk
SW1tUHRyKEhUTUxOYW1lczo6Ym9keVRhZy0+bG9jYWxOYW1lKCkuaW1wbCgpKSkpOworICAgICAg
ICBzdWNjZXNzQ2FzZXMuYXBwZW5kKGppdC5icmFuY2hQdHIoQ0NhbGxIZWxwZXJzOjpFcXVhbCwg
c2NyYXRjaDIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihIVE1MTmFtZXM6OmZyYW1lc2V0
VGFnLT5sb2NhbE5hbWUoKS5pbXBsKCkpKSk7CiAKICAgICAgICAgbm90SFRNTEVsZW1lbnRDYXNl
LmxpbmsoJmppdCk7CiAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhz
Y3JhdGNoMSwgTm9kZTo6bmV4dFNpYmxpbmdNZW1vcnlPZmZzZXQoKSksIHNjcmF0Y2gxKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA5OTI0NDAzNjY1YS4uOTYyYjVhMGY3MmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTMxMzQsNyArMzEzNCw3IEBAIHZvaWQgRWRp
dG9yOjp0ZXh0RGlkQ2hhbmdlSW5UZXh0QXJlYShFbGVtZW50KiBlKQogCiB2b2lkIEVkaXRvcjo6
YXBwbHlFZGl0aW5nU3R5bGVUb0JvZHlFbGVtZW50KCkgY29uc3QKIHsKLSAgICBhdXRvIGNvbGxl
Y3Rpb24gPSBkb2N1bWVudCgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKEhUTUxOYW1lczo6Ym9keVRh
Zy5sb2NhbE5hbWUoKSk7CisgICAgYXV0byBjb2xsZWN0aW9uID0gZG9jdW1lbnQoKS5nZXRFbGVt
ZW50c0J5VGFnTmFtZShIVE1MTmFtZXM6OmJvZHlUYWctPmxvY2FsTmFtZSgpKTsKICAgICB1bnNp
Z25lZCBsZW5ndGggPSBjb2xsZWN0aW9uLT5sZW5ndGgoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgbGVuZ3RoOyArK2kpCiAgICAgICAgIGFwcGx5RWRpdGluZ1N0eWxlVG9FbGVtZW50
KGNvbGxlY3Rpb24tPml0ZW0oaSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3JDb21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFu
ZC5jcHAKaW5kZXggYmRhZTVjYTc2OTYuLjVkNzUyNTZjNzVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKQEAgLTE0NDksOSArMTQ0OSw5IEBAIHN0YXRpYyBTdHJp
bmcgdmFsdWVEZWZhdWx0UGFyYWdyYXBoU2VwYXJhdG9yKEZyYW1lJiBmcmFtZSwgRXZlbnQqKQog
ewogICAgIHN3aXRjaCAoZnJhbWUuZWRpdG9yKCkuZGVmYXVsdFBhcmFncmFwaFNlcGFyYXRvcigp
KSB7CiAgICAgY2FzZSBFZGl0b3JQYXJhZ3JhcGhTZXBhcmF0b3JJc0RpdjoKLSAgICAgICAgcmV0
dXJuIGRpdlRhZy5sb2NhbE5hbWUoKTsKKyAgICAgICAgcmV0dXJuIGRpdlRhZy0+bG9jYWxOYW1l
KCk7CiAgICAgY2FzZSBFZGl0b3JQYXJhZ3JhcGhTZXBhcmF0b3JJc1A6Ci0gICAgICAgIHJldHVy
biBwVGFnLmxvY2FsTmFtZSgpOworICAgICAgICByZXR1cm4gcFRhZy0+bG9jYWxOYW1lKCk7CiAg
ICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvTWFya3VwQWNjdW11bGF0b3IuY3BwCmluZGV4IDk3OWNlNTNjYzNhLi45YmRmYTgzMzAyNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5jcHAKQEAgLTE0
OSw4ICsxNDksOCBAQCB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjpzZXJpYWxpemVOb2Rlc1dpdGhO
YW1lc3BhY2VzKE5vZGUmIHRhcmdldE5vZGUsIEVDaGlsZHJlbgogICAgICAgICBuYW1lc3BhY2VI
YXNoID0gKm5hbWVzcGFjZXM7CiAgICAgZWxzZSBpZiAoaW5YTUxGcmFnbWVudFNlcmlhbGl6YXRp
b24oKSkgewogICAgICAgICAvLyBNYWtlIHN1cmUgeG1sIHByZWZpeCBhbmQgbmFtZXNwYWNlIGFy
ZSBhbHdheXMga25vd24gdG8gdXBob2xkIHRoZSBjb25zdHJhaW50cyBsaXN0ZWQgYXQgaHR0cDov
L3d3dy53My5vcmcvVFIveG1sLW5hbWVzMTEvI3htbFJlc2VydmVkLgotICAgICAgICBuYW1lc3Bh
Y2VIYXNoLnNldCh4bWxBdG9tKCkuaW1wbCgpLCBYTUxOYW1lczo6eG1sTmFtZXNwYWNlVVJJLmlt
cGwoKSk7Ci0gICAgICAgIG5hbWVzcGFjZUhhc2guc2V0KFhNTE5hbWVzOjp4bWxOYW1lc3BhY2VV
UkkuaW1wbCgpLCB4bWxBdG9tKCkuaW1wbCgpKTsKKyAgICAgICAgbmFtZXNwYWNlSGFzaC5zZXQo
eG1sQXRvbSgpLmltcGwoKSwgWE1MTmFtZXM6OnhtbE5hbWVzcGFjZVVSSS0+aW1wbCgpKTsKKyAg
ICAgICAgbmFtZXNwYWNlSGFzaC5zZXQoWE1MTmFtZXM6OnhtbE5hbWVzcGFjZVVSSS0+aW1wbCgp
LCB4bWxBdG9tKCkuaW1wbCgpKTsKICAgICB9CiAKICAgICBpZiAoIWNoaWxkcmVuT25seSkKQEAg
LTMwNCw3ICszMDQsNyBAQCB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmROYW1lc3BhY2Uo
U3RyaW5nQnVpbGRlciYgcmVzdWx0LCBjb25zdCBBdG9taWNTdHJpbgogICAgICAgICBpZiAoaW5Y
TUxGcmFnbWVudFNlcmlhbGl6YXRpb24oKSAmJiAhcHJlZml4LmlzRW1wdHkoKSkKICAgICAgICAg
ICAgIG5hbWVzcGFjZXMuc2V0KG5hbWVzcGFjZVVSSS5pbXBsKCksIHByZSk7CiAgICAgICAgIC8v
IE1ha2Ugc3VyZSB4bWwgcHJlZml4IGFuZCBuYW1lc3BhY2UgYXJlIGFsd2F5cyBrbm93biB0byB1
cGhvbGQgdGhlIGNvbnN0cmFpbnRzIGxpc3RlZCBhdCBodHRwOi8vd3d3LnczLm9yZy9UUi94bWwt
bmFtZXMxMS8jeG1sUmVzZXJ2ZWQuCi0gICAgICAgIGlmIChuYW1lc3BhY2VVUkkuaW1wbCgpID09
IFhNTE5hbWVzOjp4bWxOYW1lc3BhY2VVUkkuaW1wbCgpKQorICAgICAgICBpZiAobmFtZXNwYWNl
VVJJLmltcGwoKSA9PSBYTUxOYW1lczo6eG1sTmFtZXNwYWNlVVJJLT5pbXBsKCkpCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyAnKTsKICAgICAgICAgcmVzdWx0
LmFwcGVuZCh4bWxuc0F0b20oKS5zdHJpbmcoKSk7CkBAIC02MDAsMTEgKzYwMCwxMSBAQCBib29s
IE1hcmt1cEFjY3VtdWxhdG9yOjplbGVtZW50Q2Fubm90SGF2ZUVuZFRhZyhjb25zdCBOb2RlJiBu
b2RlKQogICAgIC8vIElmIGN1cnJlbnQgbm9kZSBpcyBhbiBhcmVhLCBiYXNlLCBiYXNlZm9udCwg
Ymdzb3VuZCwgYnIsIGNvbCwgZW1iZWQsIGZyYW1lLCBociwgaW1nLAogICAgIC8vIGlucHV0LCBr
ZXlnZW4sIGxpbmssIG1ldGEsIHBhcmFtLCBzb3VyY2UsIHRyYWNrIG9yIHdiciBlbGVtZW50LCB0
aGVuIGNvbnRpbnVlIG9uIHRvCiAgICAgLy8gdGhlIG5leHQgY2hpbGQgbm9kZSBhdCB0aGlzIHBv
aW50LgotICAgIHN0YXRpYyBjb25zdCBIVE1MUXVhbGlmaWVkTmFtZSogdGFnc1tdID0geyAmYXJl
YVRhZywgJmJhc2VUYWcsICZiYXNlZm9udFRhZywgJmJnc291bmRUYWcsICZiclRhZywgJmNvbFRh
ZywgJmVtYmVkVGFnLAorICAgIHN0YXRpYyBMYXp5TmV2ZXJEZXN0cm95ZWQ8Y29uc3QgSFRNTFF1
YWxpZmllZE5hbWU+KiB0YWdzW10gPSB7ICZhcmVhVGFnLCAmYmFzZVRhZywgJmJhc2Vmb250VGFn
LCAmYmdzb3VuZFRhZywgJmJyVGFnLCAmY29sVGFnLCAmZW1iZWRUYWcsCiAgICAgICAgICZmcmFt
ZVRhZywgJmhyVGFnLCAmaW1nVGFnLCAmaW5wdXRUYWcsICZrZXlnZW5UYWcsICZsaW5rVGFnLCAm
bWV0YVRhZywgJnBhcmFtVGFnLCAmc291cmNlVGFnLCAmdHJhY2tUYWcsICZ3YnJUYWcgfTsKICAg
ICBhdXRvJiBlbGVtZW50ID0gZG93bmNhc3Q8SFRNTEVsZW1lbnQ+KG5vZGUpOwogICAgIGZvciAo
YXV0byogdGFnIDogdGFncykgewotICAgICAgICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKCp0YWcp
KQorICAgICAgICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKHRhZy0+Z2V0KCkpKQogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggYjJhOTkw
NTE4MjIuLjRkMjUyYTNkYzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Jl
cGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Jl
cGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcApAQCAtNTY3LDcgKzU2Nyw3IEBAIHN0YXRpYyBib29s
IGlzUHJvaGliaXRlZFBhcmFncmFwaENoaWxkKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkKIHsK
ICAgICAvLyBodHRwczovL2R2Y3MudzMub3JnL2hnL2VkaXRpbmcvcmF3LWZpbGUvNTdhYmU2ZDNj
YjYwL2VkaXRpbmcuaHRtbCNwcm9oaWJpdGVkLXBhcmFncmFwaC1jaGlsZAogICAgIHN0YXRpYyBj
b25zdCBhdXRvIGxvY2FsTmFtZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoW10gewotICAgICAgICBz
dGF0aWMgY29uc3QgSFRNTFF1YWxpZmllZE5hbWUqIGNvbnN0IHRhZ3NbXSA9IHsKKyAgICAgICAg
c3RhdGljIExhenlOZXZlckRlc3Ryb3llZDxjb25zdCBIVE1MUXVhbGlmaWVkTmFtZT4qIGNvbnN0
IHRhZ3NbXSA9IHsKICAgICAgICAgICAgICZhZGRyZXNzVGFnLAogICAgICAgICAgICAgJmFydGlj
bGVUYWcsCiAgICAgICAgICAgICAmYXNpZGVUYWcsCkBAIC02MTksNyArNjE5LDcgQEAgc3RhdGlj
IGJvb2wgaXNQcm9oaWJpdGVkUGFyYWdyYXBoQ2hpbGQoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1l
KQogICAgICAgICB9OwogICAgICAgICBIYXNoU2V0PEF0b21pY1N0cmluZz4gc2V0OwogICAgICAg
ICBmb3IgKGF1dG8mIHRhZyA6IHRhZ3MpCi0gICAgICAgICAgICBzZXQuYWRkKHRhZy0+bG9jYWxO
YW1lKCkpOworICAgICAgICAgICAgc2V0LmFkZCh0YWctPmdldCgpLmxvY2FsTmFtZSgpKTsKICAg
ICAgICAgcmV0dXJuIHNldDsKICAgICB9KCkpOwogICAgIHJldHVybiBsb2NhbE5hbWVzLmdldCgp
LmNvbnRhaW5zKG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9k
eUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCmlu
ZGV4IGIxZWU5YzRjMjJjLi44NGJiMzVmYmI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJv
ZHlFbGVtZW50LmNwcApAQCAtMTA2LDM0ICsxMDYsMzQgQEAgdm9pZCBIVE1MQm9keUVsZW1lbnQ6
OmNvbGxlY3RTdHlsZUZvclByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JgogSFRNTEVsZW1lbnQ6OkV2ZW50SGFuZGxlck5hbWVNYXAgSFRNTEJvZHlFbGVtZW50OjpjcmVh
dGVXaW5kb3dFdmVudEhhbmRsZXJOYW1lTWFwKCkKIHsKICAgICBzdGF0aWMgY29uc3QgUXVhbGlm
aWVkTmFtZSogY29uc3QgdGFibGVbXSA9IHsKLSAgICAgICAgJm9uYmVmb3JldW5sb2FkQXR0ciwK
LSAgICAgICAgJm9uYmx1ckF0dHIsCi0gICAgICAgICZvbmVycm9yQXR0ciwKLSAgICAgICAgJm9u
Zm9jdXNBdHRyLAotICAgICAgICAmb25mb2N1c2luQXR0ciwKLSAgICAgICAgJm9uZm9jdXNvdXRB
dHRyLAotICAgICAgICAmb25oYXNoY2hhbmdlQXR0ciwKLSAgICAgICAgJm9ubGFuZ3VhZ2VjaGFu
Z2VBdHRyLAotICAgICAgICAmb25sb2FkQXR0ciwKLSAgICAgICAgJm9ubWVzc2FnZUF0dHIsCi0g
ICAgICAgICZvbm9mZmxpbmVBdHRyLAotICAgICAgICAmb25vbmxpbmVBdHRyLAotICAgICAgICAm
b25vcmllbnRhdGlvbmNoYW5nZUF0dHIsCi0gICAgICAgICZvbnBhZ2VoaWRlQXR0ciwKLSAgICAg
ICAgJm9ucGFnZXNob3dBdHRyLAotICAgICAgICAmb25wb3BzdGF0ZUF0dHIsCi0gICAgICAgICZv
bnJlc2l6ZUF0dHIsCi0gICAgICAgICZvbnNjcm9sbEF0dHIsCi0gICAgICAgICZvbnN0b3JhZ2VB
dHRyLAotICAgICAgICAmb251bmxvYWRBdHRyLAotICAgICAgICAmb253ZWJraXRtb3VzZWZvcmNl
Y2hhbmdlZEF0dHIsCi0gICAgICAgICZvbndlYmtpdG1vdXNlZm9yY2Vkb3duQXR0ciwKLSAgICAg
ICAgJm9ud2Via2l0bW91c2Vmb3JjZXVwQXR0ciwKLSAgICAgICAgJm9ud2Via2l0bW91c2Vmb3Jj
ZXdpbGxiZWdpbkF0dHIsCi0gICAgICAgICZvbndlYmtpdHdpbGxyZXZlYWxib3R0b21BdHRyLAot
ICAgICAgICAmb253ZWJraXR3aWxscmV2ZWFsbGVmdEF0dHIsCi0gICAgICAgICZvbndlYmtpdHdp
bGxyZXZlYWxyaWdodEF0dHIsCi0gICAgICAgICZvbndlYmtpdHdpbGxyZXZlYWx0b3BBdHRyLAor
ICAgICAgICAmb25iZWZvcmV1bmxvYWRBdHRyLmdldCgpLAorICAgICAgICAmb25ibHVyQXR0ci5n
ZXQoKSwKKyAgICAgICAgJm9uZXJyb3JBdHRyLmdldCgpLAorICAgICAgICAmb25mb2N1c0F0dHIu
Z2V0KCksCisgICAgICAgICZvbmZvY3VzaW5BdHRyLmdldCgpLAorICAgICAgICAmb25mb2N1c291
dEF0dHIuZ2V0KCksCisgICAgICAgICZvbmhhc2hjaGFuZ2VBdHRyLmdldCgpLAorICAgICAgICAm
b25sYW5ndWFnZWNoYW5nZUF0dHIuZ2V0KCksCisgICAgICAgICZvbmxvYWRBdHRyLmdldCgpLAor
ICAgICAgICAmb25tZXNzYWdlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ub2ZmbGluZUF0dHIuZ2V0
KCksCisgICAgICAgICZvbm9ubGluZUF0dHIuZ2V0KCksCisgICAgICAgICZvbm9yaWVudGF0aW9u
Y2hhbmdlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ucGFnZWhpZGVBdHRyLmdldCgpLAorICAgICAg
ICAmb25wYWdlc2hvd0F0dHIuZ2V0KCksCisgICAgICAgICZvbnBvcHN0YXRlQXR0ci5nZXQoKSwK
KyAgICAgICAgJm9ucmVzaXplQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uc2Nyb2xsQXR0ci5nZXQo
KSwKKyAgICAgICAgJm9uc3RvcmFnZUF0dHIuZ2V0KCksCisgICAgICAgICZvbnVubG9hZEF0dHIu
Z2V0KCksCisgICAgICAgICZvbndlYmtpdG1vdXNlZm9yY2VjaGFuZ2VkQXR0ci5nZXQoKSwKKyAg
ICAgICAgJm9ud2Via2l0bW91c2Vmb3JjZWRvd25BdHRyLmdldCgpLAorICAgICAgICAmb253ZWJr
aXRtb3VzZWZvcmNldXBBdHRyLmdldCgpLAorICAgICAgICAmb253ZWJraXRtb3VzZWZvcmNld2ls
bGJlZ2luQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0d2lsbHJldmVhbGJvdHRvbUF0dHIu
Z2V0KCksCisgICAgICAgICZvbndlYmtpdHdpbGxyZXZlYWxsZWZ0QXR0ci5nZXQoKSwKKyAgICAg
ICAgJm9ud2Via2l0d2lsbHJldmVhbHJpZ2h0QXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0
d2lsbHJldmVhbHRvcEF0dHIuZ2V0KCksCiAgICAgfTsKIAogICAgIEV2ZW50SGFuZGxlck5hbWVN
YXAgbWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCmluZGV4IGNiZGZkZDNlZmNh
Li43MDE0MzQ3NjY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcApAQCAtMTc4
LDcgKzE3OCw3IEBAIGJvb2wgSFRNTERvY3VtZW50Ojppc0Nhc2VTZW5zaXRpdmVBdHRyaWJ1dGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkKICAgICBzdGF0aWMgY29uc3QgYXV0
byBjYXNlSW5zZW5zaXRpdmVBdHRyaWJ1dGVTZXQgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoW10gewog
ICAgICAgICAvLyBUaGlzIGlzIHRoZSBsaXN0IG9mIGF0dHJpYnV0ZXMgaW4gSFRNTCA0LjAxIHdp
dGggdmFsdWVzIG1hcmtlZCBhcyAiW0NJXSIgb3IgY2FzZS1pbnNlbnNpdGl2ZQogICAgICAgICAv
LyBNb3ppbGxhIHRyZWF0cyBhbGwgb3RoZXIgdmFsdWVzIGFzIGNhc2Utc2Vuc2l0aXZlLCB0aHVz
IHNvIGRvIHdlLgotICAgICAgICBzdGF0aWMgY29uc3QgUXVhbGlmaWVkTmFtZSogY29uc3QgbmFt
ZXNbXSA9IHsKKyAgICAgICAgc3RhdGljIExhenlOZXZlckRlc3Ryb3llZDxjb25zdCBRdWFsaWZp
ZWROYW1lPiogY29uc3QgbmFtZXNbXSA9IHsKICAgICAgICAgICAgICZhY2NlcHRfY2hhcnNldEF0
dHIsCiAgICAgICAgICAgICAmYWNjZXB0QXR0ciwKICAgICAgICAgICAgICZhbGlnbkF0dHIsCkBA
IC0yMjcsNyArMjI3LDcgQEAgYm9vbCBIVE1MRG9jdW1lbnQ6OmlzQ2FzZVNlbnNpdGl2ZUF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKQogICAgICAgICB9OwogICAg
ICAgICBIYXNoU2V0PEF0b21pY1N0cmluZz4gc2V0OwogICAgICAgICBmb3IgKGF1dG8qIG5hbWUg
OiBuYW1lcykKLSAgICAgICAgICAgIHNldC5hZGQobmFtZS0+bG9jYWxOYW1lKCkpOworICAgICAg
ICAgICAgc2V0LmFkZChuYW1lLT5nZXQoKS5sb2NhbE5hbWUoKSk7CiAgICAgICAgIHJldHVybiBz
ZXQ7CiAgICAgfSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAppbmRleCAwYjky
ODNjNGFiNC4uYTMxMmM1ZGQ3YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCkBA
IC0yMjIsMTA3ICsyMjIsMTA3IEBAIEhUTUxFbGVtZW50OjpFdmVudEhhbmRsZXJOYW1lTWFwIEhU
TUxFbGVtZW50OjpjcmVhdGVFdmVudEhhbmRsZXJOYW1lTWFwKCkKICAgICBFdmVudEhhbmRsZXJO
YW1lTWFwIG1hcDsKIAogICAgIHN0YXRpYyBjb25zdCBRdWFsaWZpZWROYW1lKiBjb25zdCB0YWJs
ZVtdID0gewotICAgICAgICAmb25hYm9ydEF0dHIsCi0gICAgICAgICZvbmFuaW1hdGlvbmVuZEF0
dHIsCi0gICAgICAgICZvbmFuaW1hdGlvbml0ZXJhdGlvbkF0dHIsCi0gICAgICAgICZvbmFuaW1h
dGlvbnN0YXJ0QXR0ciwKLSAgICAgICAgJm9uYXV0b2NvbXBsZXRlQXR0ciwKLSAgICAgICAgJm9u
YXV0b2NvbXBsZXRlZXJyb3JBdHRyLAotICAgICAgICAmb25iZWZvcmVjb3B5QXR0ciwKLSAgICAg
ICAgJm9uYmVmb3JlY3V0QXR0ciwKLSAgICAgICAgJm9uYmVmb3JlaW5wdXRBdHRyLAotICAgICAg
ICAmb25iZWZvcmVsb2FkQXR0ciwKLSAgICAgICAgJm9uYmVmb3JlcGFzdGVBdHRyLAotICAgICAg
ICAmb25ibHVyQXR0ciwKLSAgICAgICAgJm9uY2FucGxheUF0dHIsCi0gICAgICAgICZvbmNhbnBs
YXl0aHJvdWdoQXR0ciwKLSAgICAgICAgJm9uY2hhbmdlQXR0ciwKLSAgICAgICAgJm9uY2xpY2tB
dHRyLAotICAgICAgICAmb25jb250ZXh0bWVudUF0dHIsCi0gICAgICAgICZvbmNvcHlBdHRyLAot
ICAgICAgICAmb25jdXRBdHRyLAotICAgICAgICAmb25kYmxjbGlja0F0dHIsCi0gICAgICAgICZv
bmRyYWdBdHRyLAotICAgICAgICAmb25kcmFnZW5kQXR0ciwKLSAgICAgICAgJm9uZHJhZ2VudGVy
QXR0ciwKLSAgICAgICAgJm9uZHJhZ2xlYXZlQXR0ciwKLSAgICAgICAgJm9uZHJhZ292ZXJBdHRy
LAotICAgICAgICAmb25kcmFnc3RhcnRBdHRyLAotICAgICAgICAmb25kcm9wQXR0ciwKLSAgICAg
ICAgJm9uZHVyYXRpb25jaGFuZ2VBdHRyLAotICAgICAgICAmb25lbXB0aWVkQXR0ciwKLSAgICAg
ICAgJm9uZW5kZWRBdHRyLAotICAgICAgICAmb25lcnJvckF0dHIsCi0gICAgICAgICZvbmZvY3Vz
QXR0ciwKLSAgICAgICAgJm9uZm9jdXNpbkF0dHIsCi0gICAgICAgICZvbmZvY3Vzb3V0QXR0ciwK
LSAgICAgICAgJm9uZ2VzdHVyZWNoYW5nZUF0dHIsCi0gICAgICAgICZvbmdlc3R1cmVlbmRBdHRy
LAotICAgICAgICAmb25nZXN0dXJlc3RhcnRBdHRyLAotICAgICAgICAmb25pbnB1dEF0dHIsCi0g
ICAgICAgICZvbmludmFsaWRBdHRyLAotICAgICAgICAmb25rZXlkb3duQXR0ciwKLSAgICAgICAg
Jm9ua2V5cHJlc3NBdHRyLAotICAgICAgICAmb25rZXl1cEF0dHIsCi0gICAgICAgICZvbmxvYWRB
dHRyLAotICAgICAgICAmb25sb2FkZWRkYXRhQXR0ciwKLSAgICAgICAgJm9ubG9hZGVkbWV0YWRh
dGFBdHRyLAotICAgICAgICAmb25sb2Fkc3RhcnRBdHRyLAotICAgICAgICAmb25tb3VzZWRvd25B
dHRyLAotICAgICAgICAmb25tb3VzZWVudGVyQXR0ciwKLSAgICAgICAgJm9ubW91c2VsZWF2ZUF0
dHIsCi0gICAgICAgICZvbm1vdXNlbW92ZUF0dHIsCi0gICAgICAgICZvbm1vdXNlb3V0QXR0ciwK
LSAgICAgICAgJm9ubW91c2VvdmVyQXR0ciwKLSAgICAgICAgJm9ubW91c2V1cEF0dHIsCi0gICAg
ICAgICZvbm1vdXNld2hlZWxBdHRyLAotICAgICAgICAmb25wYXN0ZUF0dHIsCi0gICAgICAgICZv
bnBhdXNlQXR0ciwKLSAgICAgICAgJm9ucGxheUF0dHIsCi0gICAgICAgICZvbnBsYXlpbmdBdHRy
LAotICAgICAgICAmb25wcm9ncmVzc0F0dHIsCi0gICAgICAgICZvbnJhdGVjaGFuZ2VBdHRyLAot
ICAgICAgICAmb25yZXNldEF0dHIsCi0gICAgICAgICZvbnJlc2l6ZUF0dHIsCi0gICAgICAgICZv
bnNjcm9sbEF0dHIsCi0gICAgICAgICZvbnNlYXJjaEF0dHIsCi0gICAgICAgICZvbnNlZWtlZEF0
dHIsCi0gICAgICAgICZvbnNlZWtpbmdBdHRyLAotICAgICAgICAmb25zZWxlY3RBdHRyLAotICAg
ICAgICAmb25zZWxlY3RzdGFydEF0dHIsCi0gICAgICAgICZvbnN0YWxsZWRBdHRyLAotICAgICAg
ICAmb25zdWJtaXRBdHRyLAotICAgICAgICAmb25zdXNwZW5kQXR0ciwKLSAgICAgICAgJm9udGlt
ZXVwZGF0ZUF0dHIsCi0gICAgICAgICZvbnRvZ2dsZUF0dHIsCi0gICAgICAgICZvbnRvdWNoY2Fu
Y2VsQXR0ciwKLSAgICAgICAgJm9udG91Y2hlbmRBdHRyLAotICAgICAgICAmb250b3VjaGZvcmNl
Y2hhbmdlQXR0ciwKLSAgICAgICAgJm9udG91Y2htb3ZlQXR0ciwKLSAgICAgICAgJm9udG91Y2hz
dGFydEF0dHIsCi0gICAgICAgICZvbnRyYW5zaXRpb25lbmRBdHRyLAotICAgICAgICAmb252b2x1
bWVjaGFuZ2VBdHRyLAotICAgICAgICAmb253YWl0aW5nQXR0ciwKLSAgICAgICAgJm9ud2Via2l0
YmVnaW5mdWxsc2NyZWVuQXR0ciwKLSAgICAgICAgJm9ud2Via2l0Y3VycmVudHBsYXliYWNrdGFy
Z2V0aXN3aXJlbGVzc2NoYW5nZWRBdHRyLAotICAgICAgICAmb253ZWJraXRlbmRmdWxsc2NyZWVu
QXR0ciwKLSAgICAgICAgJm9ud2Via2l0ZnVsbHNjcmVlbmNoYW5nZUF0dHIsCi0gICAgICAgICZv
bndlYmtpdGZ1bGxzY3JlZW5lcnJvckF0dHIsCi0gICAgICAgICZvbndlYmtpdGtleWFkZGVkQXR0
ciwKLSAgICAgICAgJm9ud2Via2l0a2V5ZXJyb3JBdHRyLAotICAgICAgICAmb253ZWJraXRrZXlt
ZXNzYWdlQXR0ciwKLSAgICAgICAgJm9ud2Via2l0bW91c2Vmb3JjZWNoYW5nZWRBdHRyLAotICAg
ICAgICAmb253ZWJraXRtb3VzZWZvcmNlZG93bkF0dHIsCi0gICAgICAgICZvbndlYmtpdG1vdXNl
Zm9yY2V3aWxsYmVnaW5BdHRyLAotICAgICAgICAmb253ZWJraXRtb3VzZWZvcmNldXBBdHRyLAot
ICAgICAgICAmb253ZWJraXRuZWVka2V5QXR0ciwKLSAgICAgICAgJm9ud2Via2l0cGxheWJhY2t0
YXJnZXRhdmFpbGFiaWxpdHljaGFuZ2VkQXR0ciwKLSAgICAgICAgJm9ud2Via2l0cHJlc2VudGF0
aW9ubW9kZWNoYW5nZWRBdHRyLAotICAgICAgICAmb253ZWJraXR3aWxscmV2ZWFsYm90dG9tQXR0
ciwKLSAgICAgICAgJm9ud2Via2l0d2lsbHJldmVhbGxlZnRBdHRyLAotICAgICAgICAmb253ZWJr
aXR3aWxscmV2ZWFscmlnaHRBdHRyLAotICAgICAgICAmb253ZWJraXR3aWxscmV2ZWFsdG9wQXR0
ciwKLSAgICAgICAgJm9ud2hlZWxBdHRyLAorICAgICAgICAmb25hYm9ydEF0dHIuZ2V0KCksCisg
ICAgICAgICZvbmFuaW1hdGlvbmVuZEF0dHIuZ2V0KCksCisgICAgICAgICZvbmFuaW1hdGlvbml0
ZXJhdGlvbkF0dHIuZ2V0KCksCisgICAgICAgICZvbmFuaW1hdGlvbnN0YXJ0QXR0ci5nZXQoKSwK
KyAgICAgICAgJm9uYXV0b2NvbXBsZXRlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uYXV0b2NvbXBs
ZXRlZXJyb3JBdHRyLmdldCgpLAorICAgICAgICAmb25iZWZvcmVjb3B5QXR0ci5nZXQoKSwKKyAg
ICAgICAgJm9uYmVmb3JlY3V0QXR0ci5nZXQoKSwKKyAgICAgICAgJm9uYmVmb3JlaW5wdXRBdHRy
LmdldCgpLAorICAgICAgICAmb25iZWZvcmVsb2FkQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uYmVm
b3JlcGFzdGVBdHRyLmdldCgpLAorICAgICAgICAmb25ibHVyQXR0ci5nZXQoKSwKKyAgICAgICAg
Jm9uY2FucGxheUF0dHIuZ2V0KCksCisgICAgICAgICZvbmNhbnBsYXl0aHJvdWdoQXR0ci5nZXQo
KSwKKyAgICAgICAgJm9uY2hhbmdlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uY2xpY2tBdHRyLmdl
dCgpLAorICAgICAgICAmb25jb250ZXh0bWVudUF0dHIuZ2V0KCksCisgICAgICAgICZvbmNvcHlB
dHRyLmdldCgpLAorICAgICAgICAmb25jdXRBdHRyLmdldCgpLAorICAgICAgICAmb25kYmxjbGlj
a0F0dHIuZ2V0KCksCisgICAgICAgICZvbmRyYWdBdHRyLmdldCgpLAorICAgICAgICAmb25kcmFn
ZW5kQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uZHJhZ2VudGVyQXR0ci5nZXQoKSwKKyAgICAgICAg
Jm9uZHJhZ2xlYXZlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uZHJhZ292ZXJBdHRyLmdldCgpLAor
ICAgICAgICAmb25kcmFnc3RhcnRBdHRyLmdldCgpLAorICAgICAgICAmb25kcm9wQXR0ci5nZXQo
KSwKKyAgICAgICAgJm9uZHVyYXRpb25jaGFuZ2VBdHRyLmdldCgpLAorICAgICAgICAmb25lbXB0
aWVkQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uZW5kZWRBdHRyLmdldCgpLAorICAgICAgICAmb25l
cnJvckF0dHIuZ2V0KCksCisgICAgICAgICZvbmZvY3VzQXR0ci5nZXQoKSwKKyAgICAgICAgJm9u
Zm9jdXNpbkF0dHIuZ2V0KCksCisgICAgICAgICZvbmZvY3Vzb3V0QXR0ci5nZXQoKSwKKyAgICAg
ICAgJm9uZ2VzdHVyZWNoYW5nZUF0dHIuZ2V0KCksCisgICAgICAgICZvbmdlc3R1cmVlbmRBdHRy
LmdldCgpLAorICAgICAgICAmb25nZXN0dXJlc3RhcnRBdHRyLmdldCgpLAorICAgICAgICAmb25p
bnB1dEF0dHIuZ2V0KCksCisgICAgICAgICZvbmludmFsaWRBdHRyLmdldCgpLAorICAgICAgICAm
b25rZXlkb3duQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ua2V5cHJlc3NBdHRyLmdldCgpLAorICAg
ICAgICAmb25rZXl1cEF0dHIuZ2V0KCksCisgICAgICAgICZvbmxvYWRBdHRyLmdldCgpLAorICAg
ICAgICAmb25sb2FkZWRkYXRhQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ubG9hZGVkbWV0YWRhdGFB
dHRyLmdldCgpLAorICAgICAgICAmb25sb2Fkc3RhcnRBdHRyLmdldCgpLAorICAgICAgICAmb25t
b3VzZWRvd25BdHRyLmdldCgpLAorICAgICAgICAmb25tb3VzZWVudGVyQXR0ci5nZXQoKSwKKyAg
ICAgICAgJm9ubW91c2VsZWF2ZUF0dHIuZ2V0KCksCisgICAgICAgICZvbm1vdXNlbW92ZUF0dHIu
Z2V0KCksCisgICAgICAgICZvbm1vdXNlb3V0QXR0ci5nZXQoKSwKKyAgICAgICAgJm9ubW91c2Vv
dmVyQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ubW91c2V1cEF0dHIuZ2V0KCksCisgICAgICAgICZv
bm1vdXNld2hlZWxBdHRyLmdldCgpLAorICAgICAgICAmb25wYXN0ZUF0dHIuZ2V0KCksCisgICAg
ICAgICZvbnBhdXNlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ucGxheUF0dHIuZ2V0KCksCisgICAg
ICAgICZvbnBsYXlpbmdBdHRyLmdldCgpLAorICAgICAgICAmb25wcm9ncmVzc0F0dHIuZ2V0KCks
CisgICAgICAgICZvbnJhdGVjaGFuZ2VBdHRyLmdldCgpLAorICAgICAgICAmb25yZXNldEF0dHIu
Z2V0KCksCisgICAgICAgICZvbnJlc2l6ZUF0dHIuZ2V0KCksCisgICAgICAgICZvbnNjcm9sbEF0
dHIuZ2V0KCksCisgICAgICAgICZvbnNlYXJjaEF0dHIuZ2V0KCksCisgICAgICAgICZvbnNlZWtl
ZEF0dHIuZ2V0KCksCisgICAgICAgICZvbnNlZWtpbmdBdHRyLmdldCgpLAorICAgICAgICAmb25z
ZWxlY3RBdHRyLmdldCgpLAorICAgICAgICAmb25zZWxlY3RzdGFydEF0dHIuZ2V0KCksCisgICAg
ICAgICZvbnN0YWxsZWRBdHRyLmdldCgpLAorICAgICAgICAmb25zdWJtaXRBdHRyLmdldCgpLAor
ICAgICAgICAmb25zdXNwZW5kQXR0ci5nZXQoKSwKKyAgICAgICAgJm9udGltZXVwZGF0ZUF0dHIu
Z2V0KCksCisgICAgICAgICZvbnRvZ2dsZUF0dHIuZ2V0KCksCisgICAgICAgICZvbnRvdWNoY2Fu
Y2VsQXR0ci5nZXQoKSwKKyAgICAgICAgJm9udG91Y2hlbmRBdHRyLmdldCgpLAorICAgICAgICAm
b250b3VjaGZvcmNlY2hhbmdlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9udG91Y2htb3ZlQXR0ci5n
ZXQoKSwKKyAgICAgICAgJm9udG91Y2hzdGFydEF0dHIuZ2V0KCksCisgICAgICAgICZvbnRyYW5z
aXRpb25lbmRBdHRyLmdldCgpLAorICAgICAgICAmb252b2x1bWVjaGFuZ2VBdHRyLmdldCgpLAor
ICAgICAgICAmb253YWl0aW5nQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0YmVnaW5mdWxs
c2NyZWVuQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0Y3VycmVudHBsYXliYWNrdGFyZ2V0
aXN3aXJlbGVzc2NoYW5nZWRBdHRyLmdldCgpLAorICAgICAgICAmb253ZWJraXRlbmRmdWxsc2Ny
ZWVuQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0ZnVsbHNjcmVlbmNoYW5nZUF0dHIuZ2V0
KCksCisgICAgICAgICZvbndlYmtpdGZ1bGxzY3JlZW5lcnJvckF0dHIuZ2V0KCksCisgICAgICAg
ICZvbndlYmtpdGtleWFkZGVkQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0a2V5ZXJyb3JB
dHRyLmdldCgpLAorICAgICAgICAmb253ZWJraXRrZXltZXNzYWdlQXR0ci5nZXQoKSwKKyAgICAg
ICAgJm9ud2Via2l0bW91c2Vmb3JjZWNoYW5nZWRBdHRyLmdldCgpLAorICAgICAgICAmb253ZWJr
aXRtb3VzZWZvcmNlZG93bkF0dHIuZ2V0KCksCisgICAgICAgICZvbndlYmtpdG1vdXNlZm9yY2V3
aWxsYmVnaW5BdHRyLmdldCgpLAorICAgICAgICAmb253ZWJraXRtb3VzZWZvcmNldXBBdHRyLmdl
dCgpLAorICAgICAgICAmb253ZWJraXRuZWVka2V5QXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Vi
a2l0cGxheWJhY2t0YXJnZXRhdmFpbGFiaWxpdHljaGFuZ2VkQXR0ci5nZXQoKSwKKyAgICAgICAg
Jm9ud2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWRBdHRyLmdldCgpLAorICAgICAgICAmb253
ZWJraXR3aWxscmV2ZWFsYm90dG9tQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0d2lsbHJl
dmVhbGxlZnRBdHRyLmdldCgpLAorICAgICAgICAmb253ZWJraXR3aWxscmV2ZWFscmlnaHRBdHRy
LmdldCgpLAorICAgICAgICAmb253ZWJraXR3aWxscmV2ZWFsdG9wQXR0ci5nZXQoKSwKKyAgICAg
ICAgJm9ud2hlZWxBdHRyLmdldCgpLAogICAgIH07CiAKICAgICBwb3B1bGF0ZUV2ZW50SGFuZGxl
ck5hbWVNYXAobWFwLCB0YWJsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHAKaW5kZXggMDkyNDU1MTU4YzUuLmRmNTkzMGE2NTA5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9u
U2l0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlv
blNpdGUuY3BwCkBAIC03NjEsMTMgKzc2MSwxMyBAQCB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRl
OjpnZW5lcmF0ZUltcGxpZWRFbmRUYWdzKCkKIHZvaWQgSFRNTENvbnN0cnVjdGlvblNpdGU6OmZp
bmRGb3N0ZXJTaXRlKEhUTUxDb25zdHJ1Y3Rpb25TaXRlVGFzayYgdGFzaykKIHsKICAgICAvLyBX
aGVuIGEgbm9kZSBpcyB0byBiZSBmb3N0ZXIgcGFyZW50ZWQsIHRoZSBsYXN0IHRlbXBsYXRlIGVs
ZW1lbnQgd2l0aCBubyB0YWJsZSBlbGVtZW50IGlzIGJlbG93IGl0IGluIHRoZSBzdGFjayBvZiBv
cGVuIGVsZW1lbnRzIGlzIHRoZSBmb3N0ZXIgcGFyZW50IGVsZW1lbnQgKE5PVCB0aGUgdGVtcGxh
dGUncyBwYXJlbnQhKQotICAgIGF1dG8qIGxhc3RUZW1wbGF0ZUVsZW1lbnQgPSBtX29wZW5FbGVt
ZW50cy50b3Btb3N0KHRlbXBsYXRlVGFnLmxvY2FsTmFtZSgpKTsKKyAgICBhdXRvKiBsYXN0VGVt
cGxhdGVFbGVtZW50ID0gbV9vcGVuRWxlbWVudHMudG9wbW9zdCh0ZW1wbGF0ZVRhZy0+bG9jYWxO
YW1lKCkpOwogICAgIGlmIChsYXN0VGVtcGxhdGVFbGVtZW50ICYmICFtX29wZW5FbGVtZW50cy5p
blRhYmxlU2NvcGUodGFibGVUYWcpKSB7CiAgICAgICAgIHRhc2sucGFyZW50ID0gJmxhc3RUZW1w
bGF0ZUVsZW1lbnQtPmVsZW1lbnQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlm
IChhdXRvKiBsYXN0VGFibGVFbGVtZW50UmVjb3JkID0gbV9vcGVuRWxlbWVudHMudG9wbW9zdCh0
YWJsZVRhZy5sb2NhbE5hbWUoKSkpIHsKKyAgICBpZiAoYXV0byogbGFzdFRhYmxlRWxlbWVudFJl
Y29yZCA9IG1fb3BlbkVsZW1lbnRzLnRvcG1vc3QodGFibGVUYWctPmxvY2FsTmFtZSgpKSkgewog
ICAgICAgICBhdXRvJiBsYXN0VGFibGVFbGVtZW50ID0gbGFzdFRhYmxlRWxlbWVudFJlY29yZC0+
ZWxlbWVudCgpOwogICAgICAgICBhdXRvKiBwYXJlbnQgPSBsYXN0VGFibGVFbGVtZW50LnBhcmVu
dE5vZGUoKTsKICAgICAgICAgLy8gV2hlbiBwYXJzaW5nIEhUTUwgZnJhZ21lbnRzLCB3ZSBza2lw
IHN0ZXAgNC4yICgiTGV0IHJvb3QgYmUgYSBuZXcgaHRtbCBlbGVtZW50IHdpdGggbm8gYXR0cmli
dXRlcyIpIGZvciBlZmZpY2llbmN5LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTEVsZW1lbnRTdGFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MRWxlbWVudFN0YWNrLmNwcAppbmRleCA3MDU3MDNlZmM5MS4uMWNkOTQyY2NkNjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suY3BwCkBAIC01
MDYsNyArNTA2LDcgQEAgYm9vbCBIVE1MRWxlbWVudFN0YWNrOjppblNlbGVjdFNjb3BlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUpIGNvbnN0CiAKIGJvb2wgSFRNTEVsZW1lbnRTdGFjazo6
aGFzVGVtcGxhdGVJbkhUTUxTY29wZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGluU2NvcGVDb21t
b248aXNSb290Tm9kZT4obV90b3AuZ2V0KCksIHRlbXBsYXRlVGFnLmxvY2FsTmFtZSgpKTsKKyAg
ICByZXR1cm4gaW5TY29wZUNvbW1vbjxpc1Jvb3ROb2RlPihtX3RvcC5nZXQoKSwgdGVtcGxhdGVU
YWctPmxvY2FsTmFtZSgpKTsKIH0KIAogRWxlbWVudCYgSFRNTEVsZW1lbnRTdGFjazo6aHRtbEVs
ZW1lbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFByZWxvYWRTY2FubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVs
b2FkU2Nhbm5lci5jcHAKaW5kZXggNDZiOTFkZjk5ZWQuLmMyY2FkMDliYmIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKQEAgLTQy
NSw3ICs0MjUsNyBAQCB2b2lkIFRva2VuUHJlbG9hZFNjYW5uZXI6OnNjYW4oY29uc3QgSFRNTFRv
a2VuJiB0b2tlbiwgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxQcgogdm9pZCBUb2tlblByZWxvYWRT
Y2FubmVyOjp1cGRhdGVQcmVkaWN0ZWRCYXNlVVJMKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4pCiB7
CiAgICAgQVNTRVJUKG1fcHJlZGljdGVkQmFzZUVsZW1lbnRVUkwuaXNFbXB0eSgpKTsKLSAgICBp
ZiAoYXV0byogaHJlZkF0dHJpYnV0ZSA9IGZpbmRBdHRyaWJ1dGUodG9rZW4uYXR0cmlidXRlcygp
LCBocmVmQXR0ci5sb2NhbE5hbWUoKS5zdHJpbmcoKSkpCisgICAgaWYgKGF1dG8qIGhyZWZBdHRy
aWJ1dGUgPSBmaW5kQXR0cmlidXRlKHRva2VuLmF0dHJpYnV0ZXMoKSwgaHJlZkF0dHItPmxvY2Fs
TmFtZSgpLnN0cmluZygpKSkKICAgICAgICAgbV9wcmVkaWN0ZWRCYXNlRWxlbWVudFVSTCA9IFVS
TChtX2RvY3VtZW50VVJMLCBzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMoU3RyaW5n
SW1wbDo6Y3JlYXRlOEJpdElmUG9zc2libGUoaHJlZkF0dHJpYnV0ZS0+dmFsdWUpKSkuaXNvbGF0
ZWRDb3B5KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1
aWxkZXIuY3BwCmluZGV4IGY0ZjgwNmYwZmFiLi45Yjg2ZTA3NWE0YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC00NDIsOSArNDQyLDkg
QEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NGYWtlQ2hhcmFjdGVycyhjb25zdCBTdHJp
bmcmIGNoYXJhY3RlcnMpCiAKIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRmFrZVBFbmRU
YWdJZlBJbkJ1dHRvblNjb3BlKCkKIHsKLSAgICBpZiAoIW1fdHJlZS5vcGVuRWxlbWVudHMoKS5p
bkJ1dHRvblNjb3BlKHBUYWcubG9jYWxOYW1lKCkpKQorICAgIGlmICghbV90cmVlLm9wZW5FbGVt
ZW50cygpLmluQnV0dG9uU2NvcGUocFRhZy0+bG9jYWxOYW1lKCkpKQogICAgICAgICByZXR1cm47
Ci0gICAgQXRvbWljSFRNTFRva2VuIGVuZFAoSFRNTFRva2VuOjpFbmRUYWcsIHBUYWcubG9jYWxO
YW1lKCkpOworICAgIEF0b21pY0hUTUxUb2tlbiBlbmRQKEhUTUxUb2tlbjo6RW5kVGFnLCBwVGFn
LT5sb2NhbE5hbWUoKSk7CiAgICAgcHJvY2Vzc0VuZFRhZyhXVEZNb3ZlKGVuZFApKTsKIH0KIApA
QCAtNjg1LDcgKzY4NSw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRUYWdG
b3JJbkJvZHkoQXRvbWljSFRNTFRva2VuJiYgdG9rZW4pCiAgICAgICAgIHJldHVybjsKICAgICB9
CiAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBhVGFnKSB7Ci0gICAgICAgIEVsZW1lbnQqIGFjdGl2
ZUFUYWcgPSBtX3RyZWUuYWN0aXZlRm9ybWF0dGluZ0VsZW1lbnRzKCkuY2xvc2VzdEVsZW1lbnRJ
blNjb3BlV2l0aE5hbWUoYVRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgIEVsZW1lbnQqIGFjdGl2
ZUFUYWcgPSBtX3RyZWUuYWN0aXZlRm9ybWF0dGluZ0VsZW1lbnRzKCkuY2xvc2VzdEVsZW1lbnRJ
blNjb3BlV2l0aE5hbWUoYVRhZy0+bG9jYWxOYW1lKCkpOwogICAgICAgICBpZiAoYWN0aXZlQVRh
ZykgewogICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7CiAgICAgICAgICAgICBwcm9jZXNz
RmFrZUVuZFRhZyhhVGFnKTsKQEAgLTczNCw3ICs3MzQsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRl
cjo6cHJvY2Vzc1N0YXJ0VGFnRm9ySW5Cb2R5KEF0b21pY0hUTUxUb2tlbiYmIHRva2VuKQogICAg
IGlmICh0b2tlbi5uYW1lKCkgPT0gaW1hZ2VUYWcpIHsKICAgICAgICAgcGFyc2VFcnJvcih0b2tl
bik7CiAgICAgICAgIC8vIEFwcGFyZW50bHkgd2UncmUgbm90IHN1cHBvc2VkIHRvIGFzay4KLSAg
ICAgICAgdG9rZW4uc2V0TmFtZShpbWdUYWcubG9jYWxOYW1lKCkpOworICAgICAgICB0b2tlbi5z
ZXROYW1lKGltZ1RhZy0+bG9jYWxOYW1lKCkpOwogICAgICAgICAvLyBOb3RlIHRoZSBmYWxsIHRo
cm91Z2ggdG8gdGhlIGltZ1RhZyBoYW5kbGluZyBiZWxvdyEKICAgICB9CiAgICAgaWYgKHRva2Vu
Lm5hbWUoKSA9PSBhcmVhVGFnCkBAIC04MTMsNyArODEzLDcgQEAgdm9pZCBIVE1MVHJlZUJ1aWxk
ZXI6OnByb2Nlc3NTdGFydFRhZ0ZvckluQm9keShBdG9taWNIVE1MVG9rZW4mJiB0b2tlbikKICAg
ICB9CiAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBvcHRncm91cFRhZyB8fCB0b2tlbi5uYW1lKCkg
PT0gb3B0aW9uVGFnKSB7CiAgICAgICAgIGlmIChpczxIVE1MT3B0aW9uRWxlbWVudD4obV90cmVl
LmN1cnJlbnRTdGFja0l0ZW0oKS5ub2RlKCkpKSB7Ci0gICAgICAgICAgICBBdG9taWNIVE1MVG9r
ZW4gZW5kT3B0aW9uKEhUTUxUb2tlbjo6RW5kVGFnLCBvcHRpb25UYWcubG9jYWxOYW1lKCkpOwor
ICAgICAgICAgICAgQXRvbWljSFRNTFRva2VuIGVuZE9wdGlvbihIVE1MVG9rZW46OkVuZFRhZywg
b3B0aW9uVGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgICAgICAgICBwcm9jZXNzRW5kVGFnKFdURk1v
dmUoZW5kT3B0aW9uKSk7CiAgICAgICAgIH0KICAgICAgICAgbV90cmVlLnJlY29uc3RydWN0VGhl
QWN0aXZlRm9ybWF0dGluZ0VsZW1lbnRzKCk7CkBAIC04MjEsNyArODIxLDcgQEAgdm9pZCBIVE1M
VHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZ0ZvckluQm9keShBdG9taWNIVE1MVG9rZW4mJiB0
b2tlbikKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAodG9rZW4ubmFtZSgpID09IHJi
VGFnIHx8IHRva2VuLm5hbWUoKSA9PSBydGNUYWcpIHsKLSAgICAgICAgaWYgKG1fdHJlZS5vcGVu
RWxlbWVudHMoKS5pblNjb3BlKHJ1YnlUYWcubG9jYWxOYW1lKCkpKSB7CisgICAgICAgIGlmICht
X3RyZWUub3BlbkVsZW1lbnRzKCkuaW5TY29wZShydWJ5VGFnLT5sb2NhbE5hbWUoKSkpIHsKICAg
ICAgICAgICAgIG1fdHJlZS5nZW5lcmF0ZUltcGxpZWRFbmRUYWdzKCk7CiAgICAgICAgICAgICBp
ZiAoIW1fdHJlZS5jdXJyZW50U3RhY2tJdGVtKCkuaGFzVGFnTmFtZShydWJ5VGFnKSkKICAgICAg
ICAgICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKQEAgLTgzMCwyMiArODMwLDIyIEBAIHZvaWQg
SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRUYWdGb3JJbkJvZHkoQXRvbWljSFRNTFRva2Vu
JiYgdG9rZW4pCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKHRva2VuLm5hbWUoKSA9
PSBydFRhZyB8fCB0b2tlbi5uYW1lKCkgPT0gcnBUYWcpIHsKLSAgICAgICAgaWYgKG1fdHJlZS5v
cGVuRWxlbWVudHMoKS5pblNjb3BlKHJ1YnlUYWcubG9jYWxOYW1lKCkpKSB7Ci0gICAgICAgICAg
ICBtX3RyZWUuZ2VuZXJhdGVJbXBsaWVkRW5kVGFnc1dpdGhFeGNsdXNpb24ocnRjVGFnLmxvY2Fs
TmFtZSgpKTsKKyAgICAgICAgaWYgKG1fdHJlZS5vcGVuRWxlbWVudHMoKS5pblNjb3BlKHJ1YnlU
YWctPmxvY2FsTmFtZSgpKSkgeworICAgICAgICAgICAgbV90cmVlLmdlbmVyYXRlSW1wbGllZEVu
ZFRhZ3NXaXRoRXhjbHVzaW9uKHJ0Y1RhZy0+bG9jYWxOYW1lKCkpOwogICAgICAgICAgICAgaWYg
KCFtX3RyZWUuY3VycmVudFN0YWNrSXRlbSgpLmhhc1RhZ05hbWUocnVieVRhZykgJiYgIW1fdHJl
ZS5jdXJyZW50U3RhY2tJdGVtKCkuaGFzVGFnTmFtZShydGNUYWcpKQogICAgICAgICAgICAgICAg
IHBhcnNlRXJyb3IodG9rZW4pOwogICAgICAgICB9CiAgICAgICAgIG1fdHJlZS5pbnNlcnRIVE1M
RWxlbWVudChXVEZNb3ZlKHRva2VuKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgaWYg
KHRva2VuLm5hbWUoKSA9PSBNYXRoTUxOYW1lczo6bWF0aFRhZy5sb2NhbE5hbWUoKSkgeworICAg
IGlmICh0b2tlbi5uYW1lKCkgPT0gTWF0aE1MTmFtZXM6Om1hdGhUYWctPmxvY2FsTmFtZSgpKSB7
CiAgICAgICAgIG1fdHJlZS5yZWNvbnN0cnVjdFRoZUFjdGl2ZUZvcm1hdHRpbmdFbGVtZW50cygp
OwogICAgICAgICBhZGp1c3RNYXRoTUxBdHRyaWJ1dGVzKHRva2VuKTsKICAgICAgICAgYWRqdXN0
Rm9yZWlnbkF0dHJpYnV0ZXModG9rZW4pOwogICAgICAgICBtX3RyZWUuaW5zZXJ0Rm9yZWlnbkVs
ZW1lbnQoV1RGTW92ZSh0b2tlbiksIE1hdGhNTE5hbWVzOjptYXRobWxOYW1lc3BhY2VVUkkpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gU1ZHTmFtZXM6
OnN2Z1RhZy5sb2NhbE5hbWUoKSkgeworICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gU1ZHTmFtZXM6
OnN2Z1RhZy0+bG9jYWxOYW1lKCkpIHsKICAgICAgICAgbV90cmVlLnJlY29uc3RydWN0VGhlQWN0
aXZlRm9ybWF0dGluZ0VsZW1lbnRzKCk7CiAgICAgICAgIGFkanVzdFNWR0F0dHJpYnV0ZXModG9r
ZW4pOwogICAgICAgICBhZGp1c3RGb3JlaWduQXR0cmlidXRlcyh0b2tlbik7CkBAIC04OTAsNyAr
ODkwLDcgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NUZW1wbGF0ZVN0YXJ0VGFnKEF0
b21pY0hUTUxUb2tlbiYmIHRva2VuKQogCiBib29sIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1Rl
bXBsYXRlRW5kVGFnKEF0b21pY0hUTUxUb2tlbiYmIHRva2VuKQogewotICAgIEFTU0VSVCh0b2tl
bi5uYW1lKCkgPT0gdGVtcGxhdGVUYWcubG9jYWxOYW1lKCkpOworICAgIEFTU0VSVCh0b2tlbi5u
YW1lKCkgPT0gdGVtcGxhdGVUYWctPmxvY2FsTmFtZSgpKTsKICAgICBpZiAoIW1fdHJlZS5vcGVu
RWxlbWVudHMoKS5oYXNUZW1wbGF0ZUluSFRNTFNjb3BlKCkpIHsKICAgICAgICAgQVNTRVJUKG1f
dGVtcGxhdGVJbnNlcnRpb25Nb2Rlcy5pc0VtcHR5KCkgfHwgKG1fdGVtcGxhdGVJbnNlcnRpb25N
b2Rlcy5zaXplKCkgPT0gMSAmJiBtX2ZyYWdtZW50Q29udGV4dC5jb250ZXh0RWxlbWVudCgpLmhh
c1RhZ05hbWUodGVtcGxhdGVUYWcpKSk7CiAgICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwpAQCAt
OTA4LDcgKzkwOCw3IEBAIGJvb2wgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzVGVtcGxhdGVFbmRU
YWcoQXRvbWljSFRNTFRva2VuJiYgdG9rZW4pCiAKIGJvb2wgSFRNTFRyZWVCdWlsZGVyOjpwcm9j
ZXNzRW5kT2ZGaWxlRm9ySW5UZW1wbGF0ZUNvbnRlbnRzKEF0b21pY0hUTUxUb2tlbiYmIHRva2Vu
KQogewotICAgIEF0b21pY0hUTUxUb2tlbiBlbmRUZW1wbGF0ZShIVE1MVG9rZW46OkVuZFRhZywg
dGVtcGxhdGVUYWcubG9jYWxOYW1lKCkpOworICAgIEF0b21pY0hUTUxUb2tlbiBlbmRUZW1wbGF0
ZShIVE1MVG9rZW46OkVuZFRhZywgdGVtcGxhdGVUYWctPmxvY2FsTmFtZSgpKTsKICAgICBpZiAo
IXByb2Nlc3NUZW1wbGF0ZUVuZFRhZyhXVEZNb3ZlKGVuZFRlbXBsYXRlKSkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIApAQCAtMTI2OSw3ICsxMjY5LDcgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6
OnByb2Nlc3NTdGFydFRhZyhBdG9taWNIVE1MVG9rZW4mJiB0b2tlbikKICAgICAgICAgICAgIHx8
IHRva2VuLm5hbWUoKSA9PSB0clRhZwogICAgICAgICAgICAgfHwgaXNUYWJsZUNlbGxDb250ZXh0
VGFnKHRva2VuLm5hbWUoKSkpIHsKICAgICAgICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwotICAg
ICAgICAgICAgQXRvbWljSFRNTFRva2VuIGVuZFNlbGVjdChIVE1MVG9rZW46OkVuZFRhZywgc2Vs
ZWN0VGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRTZWxl
Y3QoSFRNTFRva2VuOjpFbmRUYWcsIHNlbGVjdFRhZy0+bG9jYWxOYW1lKCkpOwogICAgICAgICAg
ICAgcHJvY2Vzc0VuZFRhZyhXVEZNb3ZlKGVuZFNlbGVjdCkpOwogICAgICAgICAgICAgcHJvY2Vz
c1N0YXJ0VGFnKFdURk1vdmUodG9rZW4pKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTEyODIs
NyArMTI4Miw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRUYWcoQXRvbWlj
SFRNTFRva2VuJiYgdG9rZW4pCiAgICAgICAgIH0KICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9
PSBvcHRpb25UYWcpIHsKICAgICAgICAgICAgIGlmIChpczxIVE1MT3B0aW9uRWxlbWVudD4obV90
cmVlLmN1cnJlbnRTdGFja0l0ZW0oKS5ub2RlKCkpKSB7Ci0gICAgICAgICAgICAgICAgQXRvbWlj
SFRNTFRva2VuIGVuZE9wdGlvbihIVE1MVG9rZW46OkVuZFRhZywgb3B0aW9uVGFnLmxvY2FsTmFt
ZSgpKTsKKyAgICAgICAgICAgICAgICBBdG9taWNIVE1MVG9rZW4gZW5kT3B0aW9uKEhUTUxUb2tl
bjo6RW5kVGFnLCBvcHRpb25UYWctPmxvY2FsTmFtZSgpKTsKICAgICAgICAgICAgICAgICBwcm9j
ZXNzRW5kVGFnKFdURk1vdmUoZW5kT3B0aW9uKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICBtX3RyZWUuaW5zZXJ0SFRNTEVsZW1lbnQoV1RGTW92ZSh0b2tlbikpOwpAQCAtMTI5MCwxMSAr
MTI5MCwxMSBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1N0YXJ0VGFnKEF0b21pY0hU
TUxUb2tlbiYmIHRva2VuKQogICAgICAgICB9CiAgICAgICAgIGlmICh0b2tlbi5uYW1lKCkgPT0g
b3B0Z3JvdXBUYWcpIHsKICAgICAgICAgICAgIGlmIChpczxIVE1MT3B0aW9uRWxlbWVudD4obV90
cmVlLmN1cnJlbnRTdGFja0l0ZW0oKS5ub2RlKCkpKSB7Ci0gICAgICAgICAgICAgICAgQXRvbWlj
SFRNTFRva2VuIGVuZE9wdGlvbihIVE1MVG9rZW46OkVuZFRhZywgb3B0aW9uVGFnLmxvY2FsTmFt
ZSgpKTsKKyAgICAgICAgICAgICAgICBBdG9taWNIVE1MVG9rZW4gZW5kT3B0aW9uKEhUTUxUb2tl
bjo6RW5kVGFnLCBvcHRpb25UYWctPmxvY2FsTmFtZSgpKTsKICAgICAgICAgICAgICAgICBwcm9j
ZXNzRW5kVGFnKFdURk1vdmUoZW5kT3B0aW9uKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICBpZiAoaXM8SFRNTE9wdEdyb3VwRWxlbWVudD4obV90cmVlLmN1cnJlbnRTdGFja0l0ZW0oKS5u
b2RlKCkpKSB7Ci0gICAgICAgICAgICAgICAgQXRvbWljSFRNTFRva2VuIGVuZE9wdGdyb3VwKEhU
TUxUb2tlbjo6RW5kVGFnLCBvcHRncm91cFRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgICAgICAg
ICAgQXRvbWljSFRNTFRva2VuIGVuZE9wdGdyb3VwKEhUTUxUb2tlbjo6RW5kVGFnLCBvcHRncm91
cFRhZy0+bG9jYWxOYW1lKCkpOwogICAgICAgICAgICAgICAgIHByb2Nlc3NFbmRUYWcoV1RGTW92
ZShlbmRPcHRncm91cCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgbV90cmVlLmluc2Vy
dEhUTUxFbGVtZW50KFdURk1vdmUodG9rZW4pKTsKQEAgLTEzMDIsNyArMTMwMiw3IEBAIHZvaWQg
SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRUYWcoQXRvbWljSFRNTFRva2VuJiYgdG9rZW4p
CiAgICAgICAgIH0KICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBzZWxlY3RUYWcpIHsKICAg
ICAgICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwotICAgICAgICAgICAgQXRvbWljSFRNTFRva2Vu
IGVuZFNlbGVjdChIVE1MVG9rZW46OkVuZFRhZywgc2VsZWN0VGFnLmxvY2FsTmFtZSgpKTsKKyAg
ICAgICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRTZWxlY3QoSFRNTFRva2VuOjpFbmRUYWcsIHNl
bGVjdFRhZy0+bG9jYWxOYW1lKCkpOwogICAgICAgICAgICAgcHJvY2Vzc0VuZFRhZyhXVEZNb3Zl
KGVuZFNlbGVjdCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0xMzEyLDcg
KzEzMTIsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1N0YXJ0VGFnKEF0b21pY0hU
TUxUb2tlbiYmIHRva2VuKQogICAgICAgICAgICAgICAgIEFTU0VSVChpc1BhcnNpbmdGcmFnbWVu
dCgpKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBBdG9taWNIVE1MVG9rZW4gZW5kU2VsZWN0KEhUTUxUb2tlbjo6RW5kVGFnLCBzZWxlY3RUYWcu
bG9jYWxOYW1lKCkpOworICAgICAgICAgICAgQXRvbWljSFRNTFRva2VuIGVuZFNlbGVjdChIVE1M
VG9rZW46OkVuZFRhZywgc2VsZWN0VGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgICAgICAgICBwcm9j
ZXNzRW5kVGFnKFdURk1vdmUoZW5kU2VsZWN0KSk7CiAgICAgICAgICAgICBwcm9jZXNzU3RhcnRU
YWcoV1RGTW92ZSh0b2tlbikpOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTM4NCw3ICsxMzg0
LDcgQEAgYm9vbCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NCb2R5RW5kVGFnRm9ySW5Cb2R5KEF0
b21pY0hUTUxUb2tlbiYmIHRva2VuKQogewogICAgIEFTU0VSVCh0b2tlbi50eXBlKCkgPT0gSFRN
TFRva2VuOjpFbmRUYWcpOwogICAgIEFTU0VSVCh0b2tlbi5uYW1lKCkgPT0gYm9keVRhZyk7Ci0g
ICAgaWYgKCFtX3RyZWUub3BlbkVsZW1lbnRzKCkuaW5TY29wZShib2R5VGFnLmxvY2FsTmFtZSgp
KSkgeworICAgIGlmICghbV90cmVlLm9wZW5FbGVtZW50cygpLmluU2NvcGUoYm9keVRhZy0+bG9j
YWxOYW1lKCkpKSB7CiAgICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQpAQCAtMTcxMyw3ICsxNzEzLDcgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6
OnByb2Nlc3NFbmRUYWdGb3JJbkJvZHkoQXRvbWljSFRNTFRva2VuJiYgdG9rZW4pCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBodG1sVGFnKSB7Ci0gICAg
ICAgIEF0b21pY0hUTUxUb2tlbiBlbmRCb2R5KEhUTUxUb2tlbjo6RW5kVGFnLCBib2R5VGFnLmxv
Y2FsTmFtZSgpKTsKKyAgICAgICAgQXRvbWljSFRNTFRva2VuIGVuZEJvZHkoSFRNTFRva2VuOjpF
bmRUYWcsIGJvZHlUYWctPmxvY2FsTmFtZSgpKTsKICAgICAgICAgaWYgKHByb2Nlc3NCb2R5RW5k
VGFnRm9ySW5Cb2R5KFdURk1vdmUoZW5kQm9keSkpKQogICAgICAgICAgICAgcHJvY2Vzc0VuZFRh
ZyhXVEZNb3ZlKHRva2VuKSk7CiAgICAgICAgIHJldHVybjsKQEAgLTE4NTIsMTQgKzE4NTIsMTQg
QEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NFbmRUYWdGb3JJbkJvZHkoQXRvbWljSFRN
TFRva2VuJiYgdG9rZW4pCiAKIGJvb2wgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzQ2FwdGlvbkVu
ZFRhZ0ZvckluQ2FwdGlvbigpCiB7Ci0gICAgaWYgKCFtX3RyZWUub3BlbkVsZW1lbnRzKCkuaW5U
YWJsZVNjb3BlKGNhcHRpb25UYWcubG9jYWxOYW1lKCkpKSB7CisgICAgaWYgKCFtX3RyZWUub3Bl
bkVsZW1lbnRzKCkuaW5UYWJsZVNjb3BlKGNhcHRpb25UYWctPmxvY2FsTmFtZSgpKSkgewogICAg
ICAgICBBU1NFUlQoaXNQYXJzaW5nRnJhZ21lbnQoKSk7CiAgICAgICAgIC8vIEZJWE1FOiBwYXJz
ZSBlcnJvcgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIG1fdHJlZS5nZW5lcmF0
ZUltcGxpZWRFbmRUYWdzKCk7CiAgICAgLy8gRklYTUU6IHBhcnNlIGVycm9yIGlmICghbV90cmVl
LmN1cnJlbnRTdGFja0l0ZW0oKS5oYXNUYWdOYW1lKGNhcHRpb25UYWcpKQotICAgIG1fdHJlZS5v
cGVuRWxlbWVudHMoKS5wb3BVbnRpbFBvcHBlZChjYXB0aW9uVGFnLmxvY2FsTmFtZSgpKTsKKyAg
ICBtX3RyZWUub3BlbkVsZW1lbnRzKCkucG9wVW50aWxQb3BwZWQoY2FwdGlvblRhZy0+bG9jYWxO
YW1lKCkpOwogICAgIG1fdHJlZS5hY3RpdmVGb3JtYXR0aW5nRWxlbWVudHMoKS5jbGVhclRvTGFz
dE1hcmtlcigpOwogICAgIG1faW5zZXJ0aW9uTW9kZSA9IEluc2VydGlvbk1vZGU6OkluVGFibGU7
CiAgICAgcmV0dXJuIHRydWU7CkBAIC0xODg2LDcgKzE4ODYsNyBAQCBib29sIEhUTUxUcmVlQnVp
bGRlcjo6cHJvY2Vzc1RhYmxlRW5kVGFnRm9ySW5UYWJsZSgpCiAgICAgICAgIC8vIEZJWE1FOiBw
YXJzZSBlcnJvci4KICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KLSAgICBtX3RyZWUub3Bl
bkVsZW1lbnRzKCkucG9wVW50aWxQb3BwZWQodGFibGVUYWcubG9jYWxOYW1lKCkpOworICAgIG1f
dHJlZS5vcGVuRWxlbWVudHMoKS5wb3BVbnRpbFBvcHBlZCh0YWJsZVRhZy0+bG9jYWxOYW1lKCkp
OwogICAgIHJlc2V0SW5zZXJ0aW9uTW9kZUFwcHJvcHJpYXRlbHkoKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KQEAgLTIxMDgsNyArMjEwOCw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNz
RW5kVGFnKEF0b21pY0hUTUxUb2tlbiYmIHRva2VuKQogICAgICAgICAgICAgfHwgaXNUYWJsZUNl
bGxDb250ZXh0VGFnKHRva2VuLm5hbWUoKSkpIHsKICAgICAgICAgICAgIHBhcnNlRXJyb3IodG9r
ZW4pOwogICAgICAgICAgICAgaWYgKG1fdHJlZS5vcGVuRWxlbWVudHMoKS5pblRhYmxlU2NvcGUo
dG9rZW4ubmFtZSgpKSkgewotICAgICAgICAgICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRTZWxl
Y3QoSFRNTFRva2VuOjpFbmRUYWcsIHNlbGVjdFRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgICAg
ICAgICAgQXRvbWljSFRNTFRva2VuIGVuZFNlbGVjdChIVE1MVG9rZW46OkVuZFRhZywgc2VsZWN0
VGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgICAgICAgICAgICAgcHJvY2Vzc0VuZFRhZyhXVEZNb3Zl
KGVuZFNlbGVjdCkpOwogICAgICAgICAgICAgICAgIHByb2Nlc3NFbmRUYWcoV1RGTW92ZSh0b2tl
bikpOwogICAgICAgICAgICAgfQpAQCAtMjE0MSw3ICsyMTQxLDcgQEAgdm9pZCBIVE1MVHJlZUJ1
aWxkZXI6OnByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2VuJiYgdG9rZW4pCiAgICAgICAgICAg
ICAgICAgcGFyc2VFcnJvcih0b2tlbik7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICAgICAgfQotICAgICAgICAgICAgbV90cmVlLm9wZW5FbGVtZW50cygpLnBvcFVudGlsUG9wcGVk
KHNlbGVjdFRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgICAgICBtX3RyZWUub3BlbkVsZW1lbnRz
KCkucG9wVW50aWxQb3BwZWQoc2VsZWN0VGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgICAgICAgICBy
ZXNldEluc2VydGlvbk1vZGVBcHByb3ByaWF0ZWx5KCk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KQEAgLTIyMDEsNyArMjIwMSw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjppbnNl
cnRQaG9uZU51bWJlckxpbmsoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiAgICAgVmVjdG9yPEF0dHJp
YnV0ZT4gYXR0cmlidXRlczsKICAgICBhdHRyaWJ1dGVzLmFwcGVuZChBdHRyaWJ1dGUoSFRNTE5h
bWVzOjpocmVmQXR0ciwgQVNDSUlMaXRlcmFsKCJ0ZWw6IikgKyBzdHJpbmcpKTsKIAotICAgIGNv
bnN0IEF0b21pY1N0cmluZyYgYVRhZ0xvY2FsTmFtZSA9IGFUYWcubG9jYWxOYW1lKCk7CisgICAg
Y29uc3QgQXRvbWljU3RyaW5nJiBhVGFnTG9jYWxOYW1lID0gYVRhZy0+bG9jYWxOYW1lKCk7CiAg
ICAgQXRvbWljSFRNTFRva2VuIGFTdGFydFRva2VuKEhUTUxUb2tlbjo6U3RhcnRUYWcsIGFUYWdM
b2NhbE5hbWUsIFdURk1vdmUoYXR0cmlidXRlcykpOwogICAgIEF0b21pY0hUTUxUb2tlbiBhRW5k
VG9rZW4oSFRNTFRva2VuOjpFbmRUYWcsIGFUYWdMb2NhbE5hbWUpOwogCkBAIC0yNTM5LDMyICsy
NTM5LDMyIEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpkZWZhdWx0Rm9ySW5pdGlhbCgpCiAKIHZv
aWQgSFRNTFRyZWVCdWlsZGVyOjpkZWZhdWx0Rm9yQmVmb3JlSFRNTCgpCiB7Ci0gICAgQXRvbWlj
SFRNTFRva2VuIHN0YXJ0SFRNTChIVE1MVG9rZW46OlN0YXJ0VGFnLCBodG1sVGFnLmxvY2FsTmFt
ZSgpKTsKKyAgICBBdG9taWNIVE1MVG9rZW4gc3RhcnRIVE1MKEhUTUxUb2tlbjo6U3RhcnRUYWcs
IGh0bWxUYWctPmxvY2FsTmFtZSgpKTsKICAgICBtX3RyZWUuaW5zZXJ0SFRNTEh0bWxTdGFydFRh
Z0JlZm9yZUhUTUwoV1RGTW92ZShzdGFydEhUTUwpKTsKICAgICBtX2luc2VydGlvbk1vZGUgPSBJ
bnNlcnRpb25Nb2RlOjpCZWZvcmVIZWFkOwogfQogCiB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6ZGVm
YXVsdEZvckJlZm9yZUhlYWQoKQogewotICAgIEF0b21pY0hUTUxUb2tlbiBzdGFydEhlYWQoSFRN
TFRva2VuOjpTdGFydFRhZywgaGVhZFRhZy5sb2NhbE5hbWUoKSk7CisgICAgQXRvbWljSFRNTFRv
a2VuIHN0YXJ0SGVhZChIVE1MVG9rZW46OlN0YXJ0VGFnLCBoZWFkVGFnLT5sb2NhbE5hbWUoKSk7
CiAgICAgcHJvY2Vzc1N0YXJ0VGFnKFdURk1vdmUoc3RhcnRIZWFkKSk7CiB9CiAKIHZvaWQgSFRN
TFRyZWVCdWlsZGVyOjpkZWZhdWx0Rm9ySW5IZWFkKCkKIHsKLSAgICBBdG9taWNIVE1MVG9rZW4g
ZW5kSGVhZChIVE1MVG9rZW46OkVuZFRhZywgaGVhZFRhZy5sb2NhbE5hbWUoKSk7CisgICAgQXRv
bWljSFRNTFRva2VuIGVuZEhlYWQoSFRNTFRva2VuOjpFbmRUYWcsIGhlYWRUYWctPmxvY2FsTmFt
ZSgpKTsKICAgICBwcm9jZXNzRW5kVGFnKFdURk1vdmUoZW5kSGVhZCkpOwogfQogCiB2b2lkIEhU
TUxUcmVlQnVpbGRlcjo6ZGVmYXVsdEZvckluSGVhZE5vc2NyaXB0KCkKIHsKLSAgICBBdG9taWNI
VE1MVG9rZW4gZW5kTm9zY3JpcHQoSFRNTFRva2VuOjpFbmRUYWcsIG5vc2NyaXB0VGFnLmxvY2Fs
TmFtZSgpKTsKKyAgICBBdG9taWNIVE1MVG9rZW4gZW5kTm9zY3JpcHQoSFRNTFRva2VuOjpFbmRU
YWcsIG5vc2NyaXB0VGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgcHJvY2Vzc0VuZFRhZyhXVEZNb3Zl
KGVuZE5vc2NyaXB0KSk7CiB9CiAKIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpkZWZhdWx0Rm9yQWZ0
ZXJIZWFkKCkKIHsKLSAgICBBdG9taWNIVE1MVG9rZW4gc3RhcnRCb2R5KEhUTUxUb2tlbjo6U3Rh
cnRUYWcsIGJvZHlUYWcubG9jYWxOYW1lKCkpOworICAgIEF0b21pY0hUTUxUb2tlbiBzdGFydEJv
ZHkoSFRNTFRva2VuOjpTdGFydFRhZywgYm9keVRhZy0+bG9jYWxOYW1lKCkpOwogICAgIHByb2Nl
c3NTdGFydFRhZyhXVEZNb3ZlKHN0YXJ0Qm9keSkpOwogICAgIG1fZnJhbWVzZXRPayA9IHRydWU7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9UZXh0RG9jdW1lbnRQ
YXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvVGV4dERvY3VtZW50UGFyc2Vy
LmNwcAppbmRleCBmOTg4MjViMjA2MC4uM2IwMWQ3ZWQ3OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL1RleHREb2N1bWVudFBhcnNlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvVGV4dERvY3VtZW50UGFyc2VyLmNwcApAQCAtNTMsNyArNTMsNyBA
QCB2b2lkIFRleHREb2N1bWVudFBhcnNlcjo6aW5zZXJ0RmFrZVByZUVsZW1lbnQoKQogICAgIC8v
IGRpc3RydWJpbmcgdGhlIGxpbmUvY29sdW1uIG51bWJlciBjYWxjdWxhdGlvbnMuCiAgICAgVmVj
dG9yPEF0dHJpYnV0ZT4gYXR0cmlidXRlczsKICAgICBhdHRyaWJ1dGVzLmFwcGVuZChBdHRyaWJ1
dGUoc3R5bGVBdHRyLCAid29yZC13cmFwOiBicmVhay13b3JkOyB3aGl0ZS1zcGFjZTogcHJlLXdy
YXA7IikpOwotICAgIEF0b21pY0hUTUxUb2tlbiBmYWtlUHJlKEhUTUxUb2tlbjo6U3RhcnRUYWcs
IHByZVRhZy5sb2NhbE5hbWUoKSwgV1RGTW92ZShhdHRyaWJ1dGVzKSk7CisgICAgQXRvbWljSFRN
TFRva2VuIGZha2VQcmUoSFRNTFRva2VuOjpTdGFydFRhZywgcHJlVGFnLT5sb2NhbE5hbWUoKSwg
V1RGTW92ZShhdHRyaWJ1dGVzKSk7CiAgICAgdHJlZUJ1aWxkZXIoKS5jb25zdHJ1Y3RUcmVlKFdU
Rk1vdmUoZmFrZVByZSkpOwogCiAgICAgLy8gTm9ybWFsbHkgd2Ugd291bGQgc2tpcCB0aGUgZmly
c3QgXG4gYWZ0ZXIgYSA8cHJlPiBlbGVtZW50LCBidXQgd2UgZG9uJ3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUGF0aERhdGEuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHAKaW5kZXggNmVlYjU0NzZjZDYuLjAxYzRh
ZDE2OWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1BhdGhE
YXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1BhdGhEYXRhLmNw
cApAQCAtMTYwLDEzICsxNjAsMTMgQEAgdm9pZCB1cGRhdGVQYXRoRnJvbUdyYXBoaWNzRWxlbWVu
dChTVkdFbGVtZW50KiBlbGVtZW50LCBQYXRoJiBwYXRoKQogICAgIHN0YXRpYyBIYXNoTWFwPEF0
b21pY1N0cmluZ0ltcGwqLCBQYXRoVXBkYXRlRnVuY3Rpb24+KiBtYXAgPSAwOwogICAgIGlmICgh
bWFwKSB7CiAgICAgICAgIG1hcCA9IG5ldyBIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBQYXRo
VXBkYXRlRnVuY3Rpb24+OwotICAgICAgICBtYXAtPnNldChTVkdOYW1lczo6Y2lyY2xlVGFnLmxv
Y2FsTmFtZSgpLmltcGwoKSwgdXBkYXRlUGF0aEZyb21DaXJjbGVFbGVtZW50KTsKLSAgICAgICAg
bWFwLT5zZXQoU1ZHTmFtZXM6OmVsbGlwc2VUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCB1cGRhdGVQ
YXRoRnJvbUVsbGlwc2VFbGVtZW50KTsKLSAgICAgICAgbWFwLT5zZXQoU1ZHTmFtZXM6OmxpbmVU
YWcubG9jYWxOYW1lKCkuaW1wbCgpLCB1cGRhdGVQYXRoRnJvbUxpbmVFbGVtZW50KTsKLSAgICAg
ICAgbWFwLT5zZXQoU1ZHTmFtZXM6OnBhdGhUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCB1cGRhdGVQ
YXRoRnJvbVBhdGhFbGVtZW50KTsKLSAgICAgICAgbWFwLT5zZXQoU1ZHTmFtZXM6OnBvbHlnb25U
YWcubG9jYWxOYW1lKCkuaW1wbCgpLCB1cGRhdGVQYXRoRnJvbVBvbHlnb25FbGVtZW50KTsKLSAg
ICAgICAgbWFwLT5zZXQoU1ZHTmFtZXM6OnBvbHlsaW5lVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwg
dXBkYXRlUGF0aEZyb21Qb2x5bGluZUVsZW1lbnQpOwotICAgICAgICBtYXAtPnNldChTVkdOYW1l
czo6cmVjdFRhZy5sb2NhbE5hbWUoKS5pbXBsKCksIHVwZGF0ZVBhdGhGcm9tUmVjdEVsZW1lbnQp
OworICAgICAgICBtYXAtPnNldChTVkdOYW1lczo6Y2lyY2xlVGFnLT5sb2NhbE5hbWUoKS5pbXBs
KCksIHVwZGF0ZVBhdGhGcm9tQ2lyY2xlRWxlbWVudCk7CisgICAgICAgIG1hcC0+c2V0KFNWR05h
bWVzOjplbGxpcHNlVGFnLT5sb2NhbE5hbWUoKS5pbXBsKCksIHVwZGF0ZVBhdGhGcm9tRWxsaXBz
ZUVsZW1lbnQpOworICAgICAgICBtYXAtPnNldChTVkdOYW1lczo6bGluZVRhZy0+bG9jYWxOYW1l
KCkuaW1wbCgpLCB1cGRhdGVQYXRoRnJvbUxpbmVFbGVtZW50KTsKKyAgICAgICAgbWFwLT5zZXQo
U1ZHTmFtZXM6OnBhdGhUYWctPmxvY2FsTmFtZSgpLmltcGwoKSwgdXBkYXRlUGF0aEZyb21QYXRo
RWxlbWVudCk7CisgICAgICAgIG1hcC0+c2V0KFNWR05hbWVzOjpwb2x5Z29uVGFnLT5sb2NhbE5h
bWUoKS5pbXBsKCksIHVwZGF0ZVBhdGhGcm9tUG9seWdvbkVsZW1lbnQpOworICAgICAgICBtYXAt
PnNldChTVkdOYW1lczo6cG9seWxpbmVUYWctPmxvY2FsTmFtZSgpLmltcGwoKSwgdXBkYXRlUGF0
aEZyb21Qb2x5bGluZUVsZW1lbnQpOworICAgICAgICBtYXAtPnNldChTVkdOYW1lczo6cmVjdFRh
Zy0+bG9jYWxOYW1lKCkuaW1wbCgpLCB1cGRhdGVQYXRoRnJvbVJlY3RFbGVtZW50KTsKICAgICB9
CiAKICAgICBpZiAoUGF0aFVwZGF0ZUZ1bmN0aW9uIHBhdGhVcGRhdGVGdW5jdGlvbiA9IG1hcC0+
Z2V0KGVsZW1lbnQtPmxvY2FsTmFtZSgpLmltcGwoKSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5jcHAKaW5kZXggZWE5YjQ1MjExNTcuLjRkZDE2NzcyYTdm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuY3BwCkBA
IC00OSw0MCArNDksNDAgQEAgc3RhdGljIEhhc2hTZXQ8QXRvbWljU3RyaW5nPiYgY2xpcHBlckZp
bHRlck1hc2tlclRhZ3MoKQogICAgIGlmIChzX3RhZ0xpc3QuZ2V0KCkuaXNFbXB0eSgpKSB7CiAg
ICAgICAgIC8vICJjb250YWluZXIgZWxlbWVudHMiOiBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcx
MS9pbnRyby5odG1sI1Rlcm1Db250YWluZXJFbGVtZW50CiAgICAgICAgIC8vICJncmFwaGljcyBl
bGVtZW50cyIgOiBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9pbnRyby5odG1sI1Rlcm1HcmFw
aGljc0VsZW1lbnQKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6YVRhZy5s
b2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmNpcmNs
ZVRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6
OmVsbGlwc2VUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNW
R05hbWVzOjpnbHlwaFRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5h
ZGQoU1ZHTmFtZXM6OmdUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCku
YWRkKFNWR05hbWVzOjppbWFnZVRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5n
ZXQoKS5hZGQoU1ZHTmFtZXM6OmxpbmVUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xp
c3QuZ2V0KCkuYWRkKFNWR05hbWVzOjptYXJrZXJUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBz
X3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjptYXNrVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAg
ICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6bWlzc2luZ19nbHlwaFRhZy5sb2NhbE5h
bWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnBhdGhUYWcubG9j
YWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpwb2x5Z29u
VGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6
cG9seWxpbmVUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNW
R05hbWVzOjpyZWN0VGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFk
ZChTVkdOYW1lczo6c3ZnVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgp
LmFkZChTVkdOYW1lczo6dGV4dFRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5n
ZXQoKS5hZGQoU1ZHTmFtZXM6OnVzZVRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlz
dC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmFUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdM
aXN0LmdldCgpLmFkZChTVkdOYW1lczo6Y2lyY2xlVGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAg
IHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmVsbGlwc2VUYWctPmxvY2FsTmFtZSgpKTsK
KyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6Z2x5cGhUYWctPmxvY2FsTmFt
ZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6Z1RhZy0+bG9jYWxO
YW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjppbWFnZVRhZy0+
bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpsaW5l
VGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6
Om1hcmtlclRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNW
R05hbWVzOjptYXNrVGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5h
ZGQoU1ZHTmFtZXM6Om1pc3NpbmdfZ2x5cGhUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190
YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6cGF0aFRhZy0+bG9jYWxOYW1lKCkpOworICAgICAg
ICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpwb2x5Z29uVGFnLT5sb2NhbE5hbWUoKSk7
CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnBvbHlsaW5lVGFnLT5sb2Nh
bE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnJlY3RUYWct
PmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6c3Zn
VGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6
OnRleHRUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdO
YW1lczo6dXNlVGFnLT5sb2NhbE5hbWUoKSk7CiAKICAgICAgICAgLy8gTm90IGxpc3RlZCBpbiB0
aGUgZGVmaW5pdGlvbnMgaXMgdGhlIGNsaXBQYXRoIGVsZW1lbnQsIHRoZSBTVkcgc3BlYyBzYXlz
IHRob3VnaDoKICAgICAgICAgLy8gVGhlICJjbGlwUGF0aCIgZWxlbWVudCBvciBhbnkgb2YgaXRz
IGNoaWxkcmVuIGNhbiBzcGVjaWZ5IHByb3BlcnR5ICJjbGlwLXBhdGgiLgogICAgICAgICAvLyBT
byB3ZSBoYXZlIHRvIGFkZCBjbGlwUGF0aFRhZyBoZXJlLCBvdGhlcndoaXNlIGNsaXAtcGF0aCBv
biBjbGlwUGF0aCB3aWxsIGZhaWwuCiAgICAgICAgIC8vIChBbHJlYWR5IG1haWxlZCBTVkcgV0cs
IHdhaXRpbmcgZm9yIGEgc29sdXRpb24pCi0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZH
TmFtZXM6OmNsaXBQYXRoVGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgp
LmFkZChTVkdOYW1lczo6Y2xpcFBhdGhUYWctPmxvY2FsTmFtZSgpKTsKIAogICAgICAgICAvLyBO
b3QgbGlzdGVkIGluIHRoZSBkZWZpbml0aW9ucyBhcmUgdGhlIHRleHQgY29udGVudCBlbGVtZW50
cywgdGhvdWdoIGZpbHRlci9jbGlwcGVyL21hc2tlciBvbiB0c3Bhbi90ZXh0Ly4uIGlzIGFsbG93
ZWQuCiAgICAgICAgIC8vIChBbHJlYWR5IG1haWxlZCBTVkcgV0csIHdhaXRpbmcgZm9yIGEgc29s
dXRpb24pCi0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmFsdEdseXBoVGFn
LmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6dGV4
dFBhdGhUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05h
bWVzOjp0cmVmVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChT
VkdOYW1lczo6dHNwYW5UYWcubG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCku
YWRkKFNWR05hbWVzOjphbHRHbHlwaFRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xp
c3QuZ2V0KCkuYWRkKFNWR05hbWVzOjp0ZXh0UGF0aFRhZy0+bG9jYWxOYW1lKCkpOworICAgICAg
ICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjp0cmVmVGFnLT5sb2NhbE5hbWUoKSk7Cisg
ICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnRzcGFuVGFnLT5sb2NhbE5hbWUo
KSk7CiAKICAgICAgICAgLy8gTm90IGxpc3RlZCBpbiB0aGUgZGVmaW5pdGlvbnMgaXMgdGhlIGZv
cmVpZ25PYmplY3QgZWxlbWVudCwgYnV0IGNsaXAtcGF0aAogICAgICAgICAvLyBpcyBhIHN1cHBv
cnRlZCBhdHRyaWJ1dGUuCi0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmZv
cmVpZ25PYmplY3RUYWcubG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRk
KFNWR05hbWVzOjpmb3JlaWduT2JqZWN0VGFnLT5sb2NhbE5hbWUoKSk7CiAKICAgICAgICAgLy8g
RWxlbWVudHMgdGhhdCB3ZSBpZ25vcmUsIGFzIGl0IGRvZXNuJ3QgbWFrZSBhbnkgc2Vuc2UuCiAg
ICAgICAgIC8vIGRlZnMsIHBhdHRlcm4sIHN3aXRjaCAoRklYTUU6IE1haWwgU1ZHIFdHIGFib3V0
IHRoZXNlKQpAQCAtOTYsMTAgKzk2LDEwIEBAIHN0YXRpYyBIYXNoU2V0PEF0b21pY1N0cmluZz4m
IG1hcmtlclRhZ3MoKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoU2V0PEF0b21p
Y1N0cmluZz4+IHNfdGFnTGlzdDsKICAgICBpZiAoc190YWdMaXN0LmdldCgpLmlzRW1wdHkoKSkg
ewotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpsaW5lVGFnLmxvY2FsTmFt
ZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6cGF0aFRhZy5sb2Nh
bE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnBvbHlnb25U
YWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpw
b2x5bGluZVRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZH
TmFtZXM6OmxpbmVUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFk
ZChTVkdOYW1lczo6cGF0aFRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0
KCkuYWRkKFNWR05hbWVzOjpwb2x5Z29uVGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFn
TGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnBvbHlsaW5lVGFnLT5sb2NhbE5hbWUoKSk7CiAgICAg
fQogCiAgICAgcmV0dXJuIHNfdGFnTGlzdDsKQEAgLTEwOSwxOCArMTA5LDE4IEBAIHN0YXRpYyBI
YXNoU2V0PEF0b21pY1N0cmluZz4mIGZpbGxBbmRTdHJva2VUYWdzKCkKIHsKICAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8SGFzaFNldDxBdG9taWNTdHJpbmc+PiBzX3RhZ0xpc3Q7CiAgICAgaWYg
KHNfdGFnTGlzdC5nZXQoKS5pc0VtcHR5KCkpIHsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFk
ZChTVkdOYW1lczo6YWx0R2x5cGhUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3Qu
Z2V0KCkuYWRkKFNWR05hbWVzOjpjaXJjbGVUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3Rh
Z0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjplbGxpcHNlVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAg
ICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6bGluZVRhZy5sb2NhbE5hbWUoKSk7Ci0g
ICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnBhdGhUYWcubG9jYWxOYW1lKCkp
OwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpwb2x5Z29uVGFnLmxvY2Fs
TmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6cG9seWxpbmVU
YWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpy
ZWN0VGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1l
czo6dGV4dFRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZH
TmFtZXM6OnRleHRQYXRoVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgp
LmFkZChTVkdOYW1lczo6dHJlZlRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5n
ZXQoKS5hZGQoU1ZHTmFtZXM6OnRzcGFuVGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdM
aXN0LmdldCgpLmFkZChTVkdOYW1lczo6YWx0R2x5cGhUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAg
ICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6Y2lyY2xlVGFnLT5sb2NhbE5hbWUoKSk7
CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmVsbGlwc2VUYWctPmxvY2Fs
TmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6bGluZVRhZy0+
bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpwYXRo
VGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6
OnBvbHlnb25UYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChT
VkdOYW1lczo6cG9seWxpbmVUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0Lmdl
dCgpLmFkZChTVkdOYW1lczo6cmVjdFRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xp
c3QuZ2V0KCkuYWRkKFNWR05hbWVzOjp0ZXh0VGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNf
dGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnRleHRQYXRoVGFnLT5sb2NhbE5hbWUoKSk7Cisg
ICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnRyZWZUYWctPmxvY2FsTmFtZSgp
KTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6dHNwYW5UYWctPmxvY2Fs
TmFtZSgpKTsKICAgICB9CiAKICAgICByZXR1cm4gc190YWdMaXN0OwpAQCAtMTMwLDEwICsxMzAs
MTAgQEAgc3RhdGljIEhhc2hTZXQ8QXRvbWljU3RyaW5nPiYgY2hhaW5hYmxlUmVzb3VyY2VUYWdz
KCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaFNldDxBdG9taWNTdHJpbmc+PiBz
X3RhZ0xpc3Q7CiAgICAgaWYgKHNfdGFnTGlzdC5nZXQoKS5pc0VtcHR5KCkpIHsKLSAgICAgICAg
c190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6bGluZWFyR3JhZGllbnRUYWcubG9jYWxOYW1l
KCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpmaWx0ZXJUYWcubG9j
YWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpwYXR0ZXJu
VGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6
cmFkaWFsR3JhZGllbnRUYWcubG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCku
YWRkKFNWR05hbWVzOjpsaW5lYXJHcmFkaWVudFRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBz
X3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpmaWx0ZXJUYWctPmxvY2FsTmFtZSgpKTsKKyAg
ICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6cGF0dGVyblRhZy0+bG9jYWxOYW1l
KCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpyYWRpYWxHcmFkaWVu
dFRhZy0+bG9jYWxOYW1lKCkpOwogICAgIH0KIAogICAgIHJldHVybiBzX3RhZ0xpc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRCb29sZWFuLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRCb29sZWFuLmgKaW5kZXggNjUxNWEwNTMxOWIuLmVkZGQx
ZTc1OGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRCb29sZWFu
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkQm9vbGVhbi5oCkBAIC0zNCw3
ICszNCw3IEBAIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5pbWF0ZWRCb29sZWFuLCBi
b29sLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5CiBERUNMQVJFX0FOSU1BVEVEX1BST1BF
UlRZKFNWR0FuaW1hdGVkQm9vbGVhbiwgYm9vbCwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0
eSwgb3ZlcnJpZGUpCiAKICNkZWZpbmUgREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oT3duZXJUeXBl
LCBET01BdHRyaWJ1dGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKLURFRklORV9B
TklNQVRFRF9QUk9QRVJUWShBbmltYXRlZEJvb2xlYW4sIE93bmVyVHlwZSwgRE9NQXR0cmlidXRl
LCBET01BdHRyaWJ1dGUubG9jYWxOYW1lKCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkp
CitERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRCb29sZWFuLCBPd25lclR5cGUsIERP
TUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLT5sb2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwgTG93
ZXJQcm9wZXJ0eSkKIAogY2xhc3MgU1ZHQW5pbWF0aW9uRWxlbWVudDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkRW51bWVyYXRpb24uaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmgKaW5kZXggZDZkMTE0OTdkMDEuLjU5Y2Qx
OWRhMWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRFbnVtZXJh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmgK
QEAgLTMyLDcgKzMyLDcgQEAgdHlwZWRlZiBTVkdBbmltYXRlZFN0YXRpY1Byb3BlcnR5VGVhck9m
Zjx1bnNpZ25lZD4gU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbjsKIERFQ0xBUkVfQU5JTUFURURfUFJP
UEVSVFkoU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvblByb3BlcnR5VGVhck9mZjxFbnVtVHlwZT4sIEVu
dW1UeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCApCiAKICNkZWZpbmUgREVGSU5F
X0FOSU1BVEVEX0VOVU1FUkFUSU9OKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBVcHBlclByb3Bl
cnR5LCBMb3dlclByb3BlcnR5LCBFbnVtVHlwZSkgXAotREVGSU5FX0FOSU1BVEVEX1BST1BFUlRZ
KEFuaW1hdGVkRW51bWVyYXRpb24sIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1
dGUubG9jYWxOYW1lKCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCitERUZJTkVfQU5J
TUFURURfUFJPUEVSVFkoQW5pbWF0ZWRFbnVtZXJhdGlvbiwgT3duZXJUeXBlLCBET01BdHRyaWJ1
dGUsIERPTUF0dHJpYnV0ZS0+bG9jYWxOYW1lKCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVy
dHkpCiAKIGNsYXNzIFNWR0FuaW1hdGVkRW51bWVyYXRpb25BbmltYXRvciBmaW5hbCA6IHB1Ymxp
YyBTVkdBbmltYXRlZFR5cGVBbmltYXRvciB7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRJbnRlZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
QW5pbWF0ZWRJbnRlZ2VyLmgKaW5kZXggYTYyYTQ3MmU5M2MuLmRhNWY0NDFkODY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRJbnRlZ2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5oCkBAIC0zMiw3ICszMiw3IEBAIHR5cGVk
ZWYgU1ZHQW5pbWF0ZWRTdGF0aWNQcm9wZXJ0eVRlYXJPZmY8aW50PiBTVkdBbmltYXRlZEludGVn
ZXI7CiBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR0FuaW1hdGVkSW50ZWdlciwgaW50LCBV
cHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCApCiAKICNkZWZpbmUgREVGSU5FX0FOSU1BVEVE
X0lOVEVHRVIoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJv
cGVydHkpIFwKLURFRklORV9BTklNQVRFRF9QUk9QRVJUWShBbmltYXRlZEludGVnZXIsIE93bmVy
VHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUubG9jYWxOYW1lKCksIFVwcGVyUHJvcGVy
dHksIExvd2VyUHJvcGVydHkpCitERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRJbnRl
Z2VyLCBPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLT5sb2NhbE5hbWUoKSwg
VXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKIAogI2RlZmluZSBERUZJTkVfQU5JTUFURURf
SU5URUdFUl9NVUxUSVBMRV9XUkFQUEVSUyhPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgU1ZHRE9N
QXR0cmlidXRlSWRlbnRpZmllciwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAogREVG
SU5FX0FOSU1BVEVEX1BST1BFUlRZKEFuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlciwgT3du
ZXJUeXBlLCBET01BdHRyaWJ1dGUsIFNWR0RPTUF0dHJpYnV0ZUlkZW50aWZpZXIsIFVwcGVyUHJv
cGVydHksIExvd2VyUHJvcGVydHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
QW5pbWF0ZWRMZW5ndGguaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aC5o
CmluZGV4IDE0YTM0NjBjNzkwLi5mYTRjYTZlOTEyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVkTGVuZ3RoLmgKQEAgLTMyLDcgKzMyLDcgQEAgdXNpbmcgU1ZHQW5pbWF0ZWRMZW5ndGgg
PSBTVkdBbmltYXRlZFByb3BlcnR5VGVhck9mZjxTVkdMZW5ndGg+OwogREVDTEFSRV9BTklNQVRF
RF9QUk9QRVJUWShTVkdBbmltYXRlZExlbmd0aCwgU1ZHTGVuZ3RoVmFsdWUsIFVwcGVyUHJvcGVy
dHksIExvd2VyUHJvcGVydHksICkKIAogI2RlZmluZSBERUZJTkVfQU5JTUFURURfTEVOR1RIKE93
bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCi1E
RUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRMZW5ndGgsIE93bmVyVHlwZSwgRE9NQXR0
cmlidXRlLCBET01BdHRyaWJ1dGUubG9jYWxOYW1lKCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJv
cGVydHkpCitERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRMZW5ndGgsIE93bmVyVHlw
ZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUtPmxvY2FsTmFtZSgpLCBVcHBlclByb3BlcnR5
LCBMb3dlclByb3BlcnR5KQogCiBjbGFzcyBTVkdBbmltYXRpb25FbGVtZW50OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmgKaW5kZXggZjM2MTlhMDBlMWYuLjVl
Y2Y1NDJiYmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5n
dGhMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoTGlzdC5o
CkBAIC0zMyw3ICszMyw3IEBAIHVzaW5nIFNWR0FuaW1hdGVkTGVuZ3RoTGlzdCA9IFNWR0FuaW1h
dGVkTGlzdFByb3BlcnR5VGVhck9mZjxTVkdMZW5ndGhMaXN0VmFsdWVzCiBERUNMQVJFX0FOSU1B
VEVEX0xJU1RfUFJPUEVSVFkoU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LCBTVkdMZW5ndGhMaXN0VmFs
dWVzLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQogCiAjZGVmaW5lIERFRklORV9BTklN
QVRFRF9MRU5HVEhfTElTVChPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSkgXAotREVGSU5FX0FOSU1BVEVEX1BST1BFUlRZKEFuaW1hdGVkTGVuZ3Ro
TGlzdCwgT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwg
VXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKK0RFRklORV9BTklNQVRFRF9QUk9QRVJUWShB
bmltYXRlZExlbmd0aExpc3QsIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUt
PmxvY2FsTmFtZSgpLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQogCiBjbGFzcyBTVkdB
bmltYXRpb25FbGVtZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZWROdW1iZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJlci5oCmlu
ZGV4IDU1ZWIxMjFmMzNiLi4wZTE5ZDRkM2U2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FuaW1hdGVkTnVtYmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1h
dGVkTnVtYmVyLmgKQEAgLTMyLDcgKzMyLDcgQEAgdHlwZWRlZiBTVkdBbmltYXRlZFN0YXRpY1By
b3BlcnR5VGVhck9mZjxmbG9hdD4gU1ZHQW5pbWF0ZWROdW1iZXI7CiBERUNMQVJFX0FOSU1BVEVE
X1BST1BFUlRZKFNWR0FuaW1hdGVkTnVtYmVyLCBmbG9hdCwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQ
cm9wZXJ0eSwgKQogCiAjZGVmaW5lIERFRklORV9BTklNQVRFRF9OVU1CRVIoT3duZXJUeXBlLCBE
T01BdHRyaWJ1dGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKLURFRklORV9BTklN
QVRFRF9QUk9QRVJUWShBbmltYXRlZE51bWJlciwgT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIERP
TUF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKK0RF
RklORV9BTklNQVRFRF9QUk9QRVJUWShBbmltYXRlZE51bWJlciwgT3duZXJUeXBlLCBET01BdHRy
aWJ1dGUsIERPTUF0dHJpYnV0ZS0+bG9jYWxOYW1lKCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJv
cGVydHkpCiAKICNkZWZpbmUgREVGSU5FX0FOSU1BVEVEX05VTUJFUl9NVUxUSVBMRV9XUkFQUEVS
UyhPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgU1ZHRE9NQXR0cmlidXRlSWRlbnRpZmllciwgVXBw
ZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAogREVGSU5FX0FOSU1BVEVEX1BST1BFUlRZKEFu
aW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIsIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBTVkdE
T01BdHRyaWJ1dGVJZGVudGlmaWVyLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTnVtYmVyTGlzdC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTnVtYmVyTGlzdC5oCmluZGV4IGFhZDUxYTA0ZmQ3
Li41ODAyNWVhOTRlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVk
TnVtYmVyTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJlckxp
c3QuaApAQCAtMzMsNyArMzMsNyBAQCB1c2luZyBTVkdBbmltYXRlZE51bWJlckxpc3QgPSBTVkdB
bmltYXRlZExpc3RQcm9wZXJ0eVRlYXJPZmY8U1ZHTnVtYmVyTGlzdFZhbHVlcwogREVDTEFSRV9B
TklNQVRFRF9MSVNUX1BST1BFUlRZKFNWR0FuaW1hdGVkTnVtYmVyTGlzdCwgU1ZHTnVtYmVyTGlz
dFZhbHVlcywgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKIAogI2RlZmluZSBERUZJTkVf
QU5JTUFURURfTlVNQkVSX0xJU1QoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFVwcGVyUHJvcGVy
dHksIExvd2VyUHJvcGVydHkpIFwKLURFRklORV9BTklNQVRFRF9QUk9QRVJUWShBbmltYXRlZE51
bWJlckxpc3QsIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUubG9jYWxOYW1l
KCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCitERUZJTkVfQU5JTUFURURfUFJPUEVS
VFkoQW5pbWF0ZWROdW1iZXJMaXN0LCBPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgRE9NQXR0cmli
dXRlLT5sb2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKIAogY2xhc3Mg
U1ZHQW5pbWF0aW9uRWxlbWVudDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oCmluZGV4IDhmOWU3NmIwODU4Li5mYTY2ZmViOGRk
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3Bl
Y3RSYXRpby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFByZXNlcnZlQXNw
ZWN0UmF0aW8uaApAQCAtMzUsNyArMzUsNyBAQCB1c2luZyBTVkdBbmltYXRlZFByZXNlcnZlQXNw
ZWN0UmF0aW8gPSBTVkdBbmltYXRlZFByb3BlcnR5VGVhck9mZjxTVkdQcmVzZXJ2ZUFzcAogREVD
TEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8sIFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwg
KQogCiAjZGVmaW5lIERFRklORV9BTklNQVRFRF9QUkVTRVJWRUFTUEVDVFJBVElPKE93bmVyVHlw
ZSwgRE9NQXR0cmlidXRlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCi1ERUZJTkVf
QU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBPd25lclR5cGUs
IERPTUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLmxvY2FsTmFtZSgpLCBVcHBlclByb3BlcnR5LCBM
b3dlclByb3BlcnR5KQorREVGSU5FX0FOSU1BVEVEX1BST1BFUlRZKEFuaW1hdGVkUHJlc2VydmVB
c3BlY3RSYXRpbywgT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS0+bG9jYWxO
YW1lKCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCiAKIGNsYXNzIFNWR0FuaW1hdGlv
bkVsZW1lbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFJl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFJlY3QuaAppbmRleCBjOGZjZTRi
ZWQyZC4uOTVlNzM4NmJjYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRlZFJlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRSZWN0LmgKQEAg
LTM1LDcgKzM1LDcgQEAgdXNpbmcgU1ZHQW5pbWF0ZWRSZWN0ID0gU1ZHQW5pbWF0ZWRQcm9wZXJ0
eVRlYXJPZmY8U1ZHUmVjdD47CiBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR0FuaW1hdGVk
UmVjdCwgRmxvYXRSZWN0LCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCApCiAKICNkZWZp
bmUgREVGSU5FX0FOSU1BVEVEX1JFQ1QoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFVwcGVyUHJv
cGVydHksIExvd2VyUHJvcGVydHkpIFwKLURFRklORV9BTklNQVRFRF9QUk9QRVJUWShBbmltYXRl
ZFJlY3QsIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUubG9jYWxOYW1lKCks
IFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCitERUZJTkVfQU5JTUFURURfUFJPUEVSVFko
QW5pbWF0ZWRSZWN0LCBPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLT5sb2Nh
bE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKIAogY2xhc3MgU1ZHQW5pbWF0
aW9uRWxlbWVudDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVk
U3RyaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRTdHJpbmcuaAppbmRleCAy
YzhjMzM1NDY4ZS4uODZkMDQyMjg1NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZFN0cmluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFN0
cmluZy5oCkBAIC0zNSw3ICszNSw3IEBAIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5p
bWF0ZWRTdHJpbmcsIFN0cmluZywgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0CiBERUNMQVJF
X0FOSU1BVEVEX1BST1BFUlRZKFNWR0FuaW1hdGVkU3RyaW5nLCBTdHJpbmcsIFVwcGVyUHJvcGVy
dHksIExvd2VyUHJvcGVydHksIG92ZXJyaWRlKQogCiAjZGVmaW5lIERFRklORV9BTklNQVRFRF9T
VFJJTkcoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVy
dHkpIFwKLURFRklORV9BTklNQVRFRF9QUk9QRVJUWShBbmltYXRlZFN0cmluZywgT3duZXJUeXBl
LCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSkKK0RFRklORV9BTklNQVRFRF9QUk9QRVJUWShBbmltYXRlZFN0cmluZywg
T3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS0+bG9jYWxOYW1lKCksIFVwcGVy
UHJvcGVydHksIExvd2VyUHJvcGVydHkpCiAKIGNsYXNzIFNWR0FuaW1hdGlvbkVsZW1lbnQ7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFRyYW5zZm9ybUxpc3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFRyYW5zZm9ybUxpc3QuaAppbmRleCA0
YzkwMjJhNWI5MS4uZTNhM2EwZjkzNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZFRyYW5zZm9ybUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZWRUcmFuc2Zvcm1MaXN0LmgKQEAgLTMyLDcgKzMyLDcgQEAgdXNpbmcgU1ZHQW5pbWF0ZWRU
cmFuc2Zvcm1MaXN0ID0gU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0UHJvcGVydHlUZWFyT2ZmOwog
REVDTEFSRV9BTklNQVRFRF9MSVNUX1BST1BFUlRZKFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdCwg
U1ZHVHJhbnNmb3JtTGlzdFZhbHVlcywgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKIAog
I2RlZmluZSBERUZJTkVfQU5JTUFURURfVFJBTlNGT1JNX0xJU1QoT3duZXJUeXBlLCBET01BdHRy
aWJ1dGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKLURFRklORV9BTklNQVRFRF9Q
Uk9QRVJUWShBbmltYXRlZFRyYW5zZm9ybUxpc3QsIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBE
T01BdHRyaWJ1dGUubG9jYWxOYW1lKCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCitE
RUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LCBPd25lclR5cGUs
IERPTUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLT5sb2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSkKIAogY2xhc3MgU1ZHQW5pbWF0aW9uRWxlbWVudDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwCmluZGV4IGNhYzVkM2RkMTAyLi4wNWE5
M2NiZTk4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcApA
QCAtMTQyLDE1ICsxNDIsMTUgQEAgYm9vbCBTVkdBbmltYXRpb25FbGVtZW50Ojppc1N1cHBvcnRl
ZEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKICAgICAgICAgU1ZHVGVz
dHM6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKICAgICAgICAgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZDo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhzZXQpOwogICAgICAgICBzZXQu
YWRkKHsKLSAgICAgICAgICAgIFNWR05hbWVzOjp2YWx1ZXNBdHRyLAotICAgICAgICAgICAgU1ZH
TmFtZXM6OmtleVRpbWVzQXR0ciwKLSAgICAgICAgICAgIFNWR05hbWVzOjprZXlQb2ludHNBdHRy
LAotICAgICAgICAgICAgU1ZHTmFtZXM6OmtleVNwbGluZXNBdHRyLAotICAgICAgICAgICAgU1ZH
TmFtZXM6OmF0dHJpYnV0ZVR5cGVBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OmNhbGNNb2Rl
QXR0ciwKLSAgICAgICAgICAgIFNWR05hbWVzOjpmcm9tQXR0ciwKLSAgICAgICAgICAgIFNWR05h
bWVzOjp0b0F0dHIsCi0gICAgICAgICAgICBTVkdOYW1lczo6YnlBdHRyLAorICAgICAgICAgICAg
U1ZHTmFtZXM6OnZhbHVlc0F0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6a2V5VGlt
ZXNBdHRyLmdldCgpLAorICAgICAgICAgICAgU1ZHTmFtZXM6OmtleVBvaW50c0F0dHIuZ2V0KCks
CisgICAgICAgICAgICBTVkdOYW1lczo6a2V5U3BsaW5lc0F0dHIuZ2V0KCksCisgICAgICAgICAg
ICBTVkdOYW1lczo6YXR0cmlidXRlVHlwZUF0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1l
czo6Y2FsY01vZGVBdHRyLmdldCgpLAorICAgICAgICAgICAgU1ZHTmFtZXM6OmZyb21BdHRyLmdl
dCgpLAorICAgICAgICAgICAgU1ZHTmFtZXM6OnRvQXR0ci5nZXQoKSwKKyAgICAgICAgICAgIFNW
R05hbWVzOjpieUF0dHIuZ2V0KCksCiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm4gc2V0Owog
ICAgIH0oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5jcHAKaW5kZXggYjZh
ODE1MmRlNmQuLjU1MDJkNTEyMTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Q3Vyc29yRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1l
bnQuY3BwCkBAIC03MSw3ICs3MSw3IEBAIGJvb2wgU1ZHQ3Vyc29yRWxlbWVudDo6aXNTdXBwb3J0
ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgICAgIFNWR1Rl
c3RzOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNldCk7CiAgICAgICAgIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQ6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKICAgICAgICAgU1ZH
VVJJUmVmZXJlbmNlOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNldCk7Ci0gICAgICAgIHNldC5h
ZGQoeyBTVkdOYW1lczo6eEF0dHIsIFNWR05hbWVzOjp5QXR0ciB9KTsKKyAgICAgICAgc2V0LmFk
ZCh7IFNWR05hbWVzOjp4QXR0ci5nZXQoKSwgU1ZHTmFtZXM6OnlBdHRyLmdldCgpIH0pOwogICAg
ICAgICByZXR1cm4gc2V0OwogICAgIH0oKSk7CiAgICAgcmV0dXJuIHN1cHBvcnRlZEF0dHJpYnV0
ZXMuZ2V0KCkuY29udGFpbnM8U1ZHQXR0cmlidXRlSGFzaFRyYW5zbGF0b3I+KGF0dHJOYW1lKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCA3MDE4OTgxYjkyYi4uMTEzMWY0YmRiODgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKQEAgLTc1LDc3ICs3NSw3NyBAQCBzdGF0aWMg
TkVWRVJfSU5MSU5FIEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIENTU1Byb3BlcnR5SUQ+IGNy
ZWF0ZUF0dHJpYnV0ZU5hbQogCiAgICAgLy8gVGhpcyBsaXN0IHNob3VsZCBpbmNsdWRlIGFsbCBi
YXNlIENTUyBhbmQgU1ZHIENTUyBwcm9wZXJ0aWVzIHdoaWNoIGFyZSBleHBvc2VkIGFzIFNWRyBY
TUwgYXR0cmlidXRlcy4KICAgICBzdGF0aWMgY29uc3QgUXVhbGlmaWVkTmFtZSogY29uc3QgYXR0
cmlidXRlTmFtZXNbXSA9IHsKLSAgICAgICAgJmFsaWdubWVudF9iYXNlbGluZUF0dHIsCi0gICAg
ICAgICZiYXNlbGluZV9zaGlmdEF0dHIsCi0gICAgICAgICZidWZmZXJlZF9yZW5kZXJpbmdBdHRy
LAotICAgICAgICAmY2xpcEF0dHIsCi0gICAgICAgICZjbGlwX3BhdGhBdHRyLAotICAgICAgICAm
Y2xpcF9ydWxlQXR0ciwKLSAgICAgICAgJlNWR05hbWVzOjpjb2xvckF0dHIsCi0gICAgICAgICZj
b2xvcl9pbnRlcnBvbGF0aW9uQXR0ciwKLSAgICAgICAgJmNvbG9yX2ludGVycG9sYXRpb25fZmls
dGVyc0F0dHIsCi0gICAgICAgICZjb2xvcl9wcm9maWxlQXR0ciwKLSAgICAgICAgJmNvbG9yX3Jl
bmRlcmluZ0F0dHIsCi0gICAgICAgICZjdXJzb3JBdHRyLAotICAgICAgICAmY3hBdHRyLAotICAg
ICAgICAmY3lBdHRyLAotICAgICAgICAmU1ZHTmFtZXM6OmRpcmVjdGlvbkF0dHIsCi0gICAgICAg
ICZkaXNwbGF5QXR0ciwKLSAgICAgICAgJmRvbWluYW50X2Jhc2VsaW5lQXR0ciwKLSAgICAgICAg
JmVuYWJsZV9iYWNrZ3JvdW5kQXR0ciwKLSAgICAgICAgJmZpbGxBdHRyLAotICAgICAgICAmZmls
bF9vcGFjaXR5QXR0ciwKLSAgICAgICAgJmZpbGxfcnVsZUF0dHIsCi0gICAgICAgICZmaWx0ZXJB
dHRyLAotICAgICAgICAmZmxvb2RfY29sb3JBdHRyLAotICAgICAgICAmZmxvb2Rfb3BhY2l0eUF0
dHIsCi0gICAgICAgICZmb250X2ZhbWlseUF0dHIsCi0gICAgICAgICZmb250X3NpemVBdHRyLAot
ICAgICAgICAmZm9udF9zdHJldGNoQXR0ciwKLSAgICAgICAgJmZvbnRfc3R5bGVBdHRyLAotICAg
ICAgICAmZm9udF92YXJpYW50QXR0ciwKLSAgICAgICAgJmZvbnRfd2VpZ2h0QXR0ciwKLSAgICAg
ICAgJmdseXBoX29yaWVudGF0aW9uX2hvcml6b250YWxBdHRyLAotICAgICAgICAmZ2x5cGhfb3Jp
ZW50YXRpb25fdmVydGljYWxBdHRyLAotICAgICAgICAmaW1hZ2VfcmVuZGVyaW5nQXR0ciwKLSAg
ICAgICAgJlNWR05hbWVzOjpoZWlnaHRBdHRyLAotICAgICAgICAma2VybmluZ0F0dHIsCi0gICAg
ICAgICZsZXR0ZXJfc3BhY2luZ0F0dHIsCi0gICAgICAgICZsaWdodGluZ19jb2xvckF0dHIsCi0g
ICAgICAgICZtYXJrZXJfZW5kQXR0ciwKLSAgICAgICAgJm1hcmtlcl9taWRBdHRyLAotICAgICAg
ICAmbWFya2VyX3N0YXJ0QXR0ciwKLSAgICAgICAgJm1hc2tBdHRyLAotICAgICAgICAmbWFza190
eXBlQXR0ciwKLSAgICAgICAgJm9wYWNpdHlBdHRyLAotICAgICAgICAmb3ZlcmZsb3dBdHRyLAot
ICAgICAgICAmcGFpbnRfb3JkZXJBdHRyLAotICAgICAgICAmcG9pbnRlcl9ldmVudHNBdHRyLAot
ICAgICAgICAmckF0dHIsCi0gICAgICAgICZyeEF0dHIsCi0gICAgICAgICZyeUF0dHIsCi0gICAg
ICAgICZzaGFwZV9yZW5kZXJpbmdBdHRyLAotICAgICAgICAmc3RvcF9jb2xvckF0dHIsCi0gICAg
ICAgICZzdG9wX29wYWNpdHlBdHRyLAotICAgICAgICAmc3Ryb2tlQXR0ciwKLSAgICAgICAgJnN0
cm9rZV9kYXNoYXJyYXlBdHRyLAotICAgICAgICAmc3Ryb2tlX2Rhc2hvZmZzZXRBdHRyLAotICAg
ICAgICAmc3Ryb2tlX2xpbmVjYXBBdHRyLAotICAgICAgICAmc3Ryb2tlX2xpbmVqb2luQXR0ciwK
LSAgICAgICAgJnN0cm9rZV9taXRlcmxpbWl0QXR0ciwKLSAgICAgICAgJnN0cm9rZV9vcGFjaXR5
QXR0ciwKLSAgICAgICAgJnN0cm9rZV93aWR0aEF0dHIsCi0gICAgICAgICZ0ZXh0X2FuY2hvckF0
dHIsCi0gICAgICAgICZ0ZXh0X2RlY29yYXRpb25BdHRyLAotICAgICAgICAmdGV4dF9yZW5kZXJp
bmdBdHRyLAotICAgICAgICAmdW5pY29kZV9iaWRpQXR0ciwKLSAgICAgICAgJnZlY3Rvcl9lZmZl
Y3RBdHRyLAotICAgICAgICAmdmlzaWJpbGl0eUF0dHIsCi0gICAgICAgICZTVkdOYW1lczo6d2lk
dGhBdHRyLAotICAgICAgICAmd29yZF9zcGFjaW5nQXR0ciwKLSAgICAgICAgJndyaXRpbmdfbW9k
ZUF0dHIsCi0gICAgICAgICZ4QXR0ciwKLSAgICAgICAgJnlBdHRyLAorICAgICAgICAmYWxpZ25t
ZW50X2Jhc2VsaW5lQXR0ci5nZXQoKSwKKyAgICAgICAgJmJhc2VsaW5lX3NoaWZ0QXR0ci5nZXQo
KSwKKyAgICAgICAgJmJ1ZmZlcmVkX3JlbmRlcmluZ0F0dHIuZ2V0KCksCisgICAgICAgICZjbGlw
QXR0ci5nZXQoKSwKKyAgICAgICAgJmNsaXBfcGF0aEF0dHIuZ2V0KCksCisgICAgICAgICZjbGlw
X3J1bGVBdHRyLmdldCgpLAorICAgICAgICAmU1ZHTmFtZXM6OmNvbG9yQXR0ci5nZXQoKSwKKyAg
ICAgICAgJmNvbG9yX2ludGVycG9sYXRpb25BdHRyLmdldCgpLAorICAgICAgICAmY29sb3JfaW50
ZXJwb2xhdGlvbl9maWx0ZXJzQXR0ci5nZXQoKSwKKyAgICAgICAgJmNvbG9yX3Byb2ZpbGVBdHRy
LmdldCgpLAorICAgICAgICAmY29sb3JfcmVuZGVyaW5nQXR0ci5nZXQoKSwKKyAgICAgICAgJmN1
cnNvckF0dHIuZ2V0KCksCisgICAgICAgICZjeEF0dHIuZ2V0KCksCisgICAgICAgICZjeUF0dHIu
Z2V0KCksCisgICAgICAgICZTVkdOYW1lczo6ZGlyZWN0aW9uQXR0ci5nZXQoKSwKKyAgICAgICAg
JmRpc3BsYXlBdHRyLmdldCgpLAorICAgICAgICAmZG9taW5hbnRfYmFzZWxpbmVBdHRyLmdldCgp
LAorICAgICAgICAmZW5hYmxlX2JhY2tncm91bmRBdHRyLmdldCgpLAorICAgICAgICAmZmlsbEF0
dHIuZ2V0KCksCisgICAgICAgICZmaWxsX29wYWNpdHlBdHRyLmdldCgpLAorICAgICAgICAmZmls
bF9ydWxlQXR0ci5nZXQoKSwKKyAgICAgICAgJmZpbHRlckF0dHIuZ2V0KCksCisgICAgICAgICZm
bG9vZF9jb2xvckF0dHIuZ2V0KCksCisgICAgICAgICZmbG9vZF9vcGFjaXR5QXR0ci5nZXQoKSwK
KyAgICAgICAgJmZvbnRfZmFtaWx5QXR0ci5nZXQoKSwKKyAgICAgICAgJmZvbnRfc2l6ZUF0dHIu
Z2V0KCksCisgICAgICAgICZmb250X3N0cmV0Y2hBdHRyLmdldCgpLAorICAgICAgICAmZm9udF9z
dHlsZUF0dHIuZ2V0KCksCisgICAgICAgICZmb250X3ZhcmlhbnRBdHRyLmdldCgpLAorICAgICAg
ICAmZm9udF93ZWlnaHRBdHRyLmdldCgpLAorICAgICAgICAmZ2x5cGhfb3JpZW50YXRpb25faG9y
aXpvbnRhbEF0dHIuZ2V0KCksCisgICAgICAgICZnbHlwaF9vcmllbnRhdGlvbl92ZXJ0aWNhbEF0
dHIuZ2V0KCksCisgICAgICAgICZpbWFnZV9yZW5kZXJpbmdBdHRyLmdldCgpLAorICAgICAgICAm
U1ZHTmFtZXM6OmhlaWdodEF0dHIuZ2V0KCksCisgICAgICAgICZrZXJuaW5nQXR0ci5nZXQoKSwK
KyAgICAgICAgJmxldHRlcl9zcGFjaW5nQXR0ci5nZXQoKSwKKyAgICAgICAgJmxpZ2h0aW5nX2Nv
bG9yQXR0ci5nZXQoKSwKKyAgICAgICAgJm1hcmtlcl9lbmRBdHRyLmdldCgpLAorICAgICAgICAm
bWFya2VyX21pZEF0dHIuZ2V0KCksCisgICAgICAgICZtYXJrZXJfc3RhcnRBdHRyLmdldCgpLAor
ICAgICAgICAmbWFza0F0dHIuZ2V0KCksCisgICAgICAgICZtYXNrX3R5cGVBdHRyLmdldCgpLAor
ICAgICAgICAmb3BhY2l0eUF0dHIuZ2V0KCksCisgICAgICAgICZvdmVyZmxvd0F0dHIuZ2V0KCks
CisgICAgICAgICZwYWludF9vcmRlckF0dHIuZ2V0KCksCisgICAgICAgICZwb2ludGVyX2V2ZW50
c0F0dHIuZ2V0KCksCisgICAgICAgICZyQXR0ci5nZXQoKSwKKyAgICAgICAgJnJ4QXR0ci5nZXQo
KSwKKyAgICAgICAgJnJ5QXR0ci5nZXQoKSwKKyAgICAgICAgJnNoYXBlX3JlbmRlcmluZ0F0dHIu
Z2V0KCksCisgICAgICAgICZzdG9wX2NvbG9yQXR0ci5nZXQoKSwKKyAgICAgICAgJnN0b3Bfb3Bh
Y2l0eUF0dHIuZ2V0KCksCisgICAgICAgICZzdHJva2VBdHRyLmdldCgpLAorICAgICAgICAmc3Ry
b2tlX2Rhc2hhcnJheUF0dHIuZ2V0KCksCisgICAgICAgICZzdHJva2VfZGFzaG9mZnNldEF0dHIu
Z2V0KCksCisgICAgICAgICZzdHJva2VfbGluZWNhcEF0dHIuZ2V0KCksCisgICAgICAgICZzdHJv
a2VfbGluZWpvaW5BdHRyLmdldCgpLAorICAgICAgICAmc3Ryb2tlX21pdGVybGltaXRBdHRyLmdl
dCgpLAorICAgICAgICAmc3Ryb2tlX29wYWNpdHlBdHRyLmdldCgpLAorICAgICAgICAmc3Ryb2tl
X3dpZHRoQXR0ci5nZXQoKSwKKyAgICAgICAgJnRleHRfYW5jaG9yQXR0ci5nZXQoKSwKKyAgICAg
ICAgJnRleHRfZGVjb3JhdGlvbkF0dHIuZ2V0KCksCisgICAgICAgICZ0ZXh0X3JlbmRlcmluZ0F0
dHIuZ2V0KCksCisgICAgICAgICZ1bmljb2RlX2JpZGlBdHRyLmdldCgpLAorICAgICAgICAmdmVj
dG9yX2VmZmVjdEF0dHIuZ2V0KCksCisgICAgICAgICZ2aXNpYmlsaXR5QXR0ci5nZXQoKSwKKyAg
ICAgICAgJlNWR05hbWVzOjp3aWR0aEF0dHIuZ2V0KCksCisgICAgICAgICZ3b3JkX3NwYWNpbmdB
dHRyLmdldCgpLAorICAgICAgICAmd3JpdGluZ19tb2RlQXR0ci5nZXQoKSwKKyAgICAgICAgJnhB
dHRyLmdldCgpLAorICAgICAgICAmeUF0dHIuZ2V0KCksCiAgICAgfTsKIAogICAgIEhhc2hNYXA8
QXRvbWljU3RyaW5nSW1wbCosIENTU1Byb3BlcnR5SUQ+IG1hcDsKQEAgLTE1Nyw3ICsxNTcsNyBA
QCBzdGF0aWMgTkVWRVJfSU5MSU5FIEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIENTU1Byb3Bl
cnR5SUQ+IGNyZWF0ZUF0dHJpYnV0ZU5hbQogCiAgICAgLy8gRklYTUU6IFdoZW4gQ1NTIHN1cHBv
cnRzICJ0cmFuc2Zvcm0tb3JpZ2luIiB0aGlzIHNwZWNpYWwgY2FzZSBjYW4gYmUgcmVtb3ZlZCwK
ICAgICAvLyBhbmQgd2UgY2FuIGFkZCB0cmFuc2Zvcm1fb3JpZ2luQXR0ciB0byB0aGUgdGFibGUg
YWJvdmUgaW5zdGVhZC4KLSAgICBtYXAuYWRkKHRyYW5zZm9ybV9vcmlnaW5BdHRyLmxvY2FsTmFt
ZSgpLmltcGwoKSwgQ1NTUHJvcGVydHlUcmFuc2Zvcm1PcmlnaW4pOworICAgIG1hcC5hZGQodHJh
bnNmb3JtX29yaWdpbkF0dHItPmxvY2FsTmFtZSgpLmltcGwoKSwgQ1NTUHJvcGVydHlUcmFuc2Zv
cm1PcmlnaW4pOwogCiAgICAgcmV0dXJuIG1hcDsKIH0KQEAgLTY2OCwxMSArNjY4LDExIEBAIGJv
b2wgU1ZHRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlJiBjaGls
ZCkgY29uc3QKIAogICAgIHN0YXRpYyBjb25zdCBRdWFsaWZpZWROYW1lKiBjb25zdCBpbnZhbGlk
VGV4dENvbnRlbnRbXSB7CiAjaWYgRU5BQkxFKFNWR19GT05UUykKLSAgICAgICAgJlNWR05hbWVz
OjphbHRHbHlwaFRhZywKKyAgICAgICAgJlNWR05hbWVzOjphbHRHbHlwaFRhZy5nZXQoKSwKICNl
bmRpZgotICAgICAgICAmU1ZHTmFtZXM6OnRleHRQYXRoVGFnLAotICAgICAgICAmU1ZHTmFtZXM6
OnRyZWZUYWcsCi0gICAgICAgICZTVkdOYW1lczo6dHNwYW5UYWcsCisgICAgICAgICZTVkdOYW1l
czo6dGV4dFBhdGhUYWcuZ2V0KCksCisgICAgICAgICZTVkdOYW1lczo6dHJlZlRhZy5nZXQoKSwK
KyAgICAgICAgJlNWR05hbWVzOjp0c3BhblRhZy5nZXQoKSwKICAgICB9OwogICAgIGF1dG8mIG5h
bWUgPSBzdmdDaGlsZC5sb2NhbE5hbWUoKTsKICAgICBmb3IgKGF1dG8qIHRhZyA6IGludmFsaWRU
ZXh0Q29udGVudCkgewpAQCAtNzgwLDEwMCArNzgwLDEwMCBAQCBRdWFsaWZpZWROYW1lIFNWR0Vs
ZW1lbnQ6OmFuaW1hdGFibGVBdHRyaWJ1dGVGb3JOYW1lKGNvbnN0IEF0b21pY1N0cmluZyYgbG9j
YWxOYQogewogICAgIHN0YXRpYyBjb25zdCBhdXRvIGFuaW1hdGFibGVBdHRyaWJ1dGVzID0gbWFr
ZU5ldmVyRGVzdHJveWVkKFtdIHsKICAgICAgICAgc3RhdGljIGNvbnN0IFF1YWxpZmllZE5hbWUq
IGNvbnN0IG5hbWVzW10gPSB7Ci0gICAgICAgICAgICAmSFRNTE5hbWVzOjpjbGFzc0F0dHIsCi0g
ICAgICAgICAgICAmU1ZHTmFtZXM6OmFtcGxpdHVkZUF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFt
ZXM6OmF6aW11dGhBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpiYXNlRnJlcXVlbmN5QXR0
ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6Ymlhc0F0dHIsCi0gICAgICAgICAgICAmU1ZHTmFt
ZXM6OmNsaXBQYXRoVW5pdHNBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpjeEF0dHIsCi0g
ICAgICAgICAgICAmU1ZHTmFtZXM6OmN5QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6ZGlm
ZnVzZUNvbnN0YW50QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6ZGl2aXNvckF0dHIsCi0g
ICAgICAgICAgICAmU1ZHTmFtZXM6OmR4QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6ZHlB
dHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjplZGdlTW9kZUF0dHIsCi0gICAgICAgICAgICAm
U1ZHTmFtZXM6OmVsZXZhdGlvbkF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OmV4cG9uZW50
QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0
dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OmZpbHRlclJlc0F0dHIsCi0gICAgICAgICAgICAm
U1ZHTmFtZXM6OmZpbHRlclVuaXRzQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6ZnhBdHRy
LAotICAgICAgICAgICAgJlNWR05hbWVzOjpmeUF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6
OmdyYWRpZW50VHJhbnNmb3JtQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6Z3JhZGllbnRV
bml0c0F0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OmhlaWdodEF0dHIsCi0gICAgICAgICAg
ICAmU1ZHTmFtZXM6OmluMkF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OmluQXR0ciwKLSAg
ICAgICAgICAgICZTVkdOYW1lczo6aW50ZXJjZXB0QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1l
czo6azFBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjprMkF0dHIsCi0gICAgICAgICAgICAm
U1ZHTmFtZXM6OmszQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6azRBdHRyLAotICAgICAg
ICAgICAgJlNWR05hbWVzOjprZXJuZWxNYXRyaXhBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVz
OjprZXJuZWxVbml0TGVuZ3RoQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6bGVuZ3RoQWRq
dXN0QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6bGltaXRpbmdDb25lQW5nbGVBdHRyLAot
ICAgICAgICAgICAgJlNWR05hbWVzOjptYXJrZXJIZWlnaHRBdHRyLAotICAgICAgICAgICAgJlNW
R05hbWVzOjptYXJrZXJVbml0c0F0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6Om1hcmtlcldp
ZHRoQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6bWFza0NvbnRlbnRVbml0c0F0dHIsCi0g
ICAgICAgICAgICAmU1ZHTmFtZXM6Om1hc2tVbml0c0F0dHIsCi0gICAgICAgICAgICAmU1ZHTmFt
ZXM6Om1ldGhvZEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6Om1vZGVBdHRyLAotICAgICAg
ICAgICAgJlNWR05hbWVzOjpudW1PY3RhdmVzQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6
b2Zmc2V0QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6b3BlcmF0b3JBdHRyLAotICAgICAg
ICAgICAgJlNWR05hbWVzOjpvcmRlckF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6Om9yaWVu
dEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnBhdGhMZW5ndGhBdHRyLAotICAgICAgICAg
ICAgJlNWR05hbWVzOjpwYXR0ZXJuQ29udGVudFVuaXRzQXR0ciwKLSAgICAgICAgICAgICZTVkdO
YW1lczo6cGF0dGVyblRyYW5zZm9ybUF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnBhdHRl
cm5Vbml0c0F0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnBvaW50c0F0WEF0dHIsCi0gICAg
ICAgICAgICAmU1ZHTmFtZXM6OnBvaW50c0F0WUF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6
OnBvaW50c0F0WkF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnByZXNlcnZlQWxwaGFBdHRy
LAotICAgICAgICAgICAgJlNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwKLSAgICAg
ICAgICAgICZTVkdOYW1lczo6cHJpbWl0aXZlVW5pdHNBdHRyLAotICAgICAgICAgICAgJlNWR05h
bWVzOjpyYWRpdXNBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpyQXR0ciwKLSAgICAgICAg
ICAgICZTVkdOYW1lczo6cmVmWEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnJlZllBdHRy
LAotICAgICAgICAgICAgJlNWR05hbWVzOjpyZXN1bHRBdHRyLAotICAgICAgICAgICAgJlNWR05h
bWVzOjpyb3RhdGVBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpyeEF0dHIsCi0gICAgICAg
ICAgICAmU1ZHTmFtZXM6OnJ5QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6c2NhbGVBdHRy
LAotICAgICAgICAgICAgJlNWR05hbWVzOjpzZWVkQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1l
czo6c2xvcGVBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpzcGFjaW5nQXR0ciwKLSAgICAg
ICAgICAgICZTVkdOYW1lczo6c3BlY3VsYXJDb25zdGFudEF0dHIsCi0gICAgICAgICAgICAmU1ZH
TmFtZXM6OnNwZWN1bGFyRXhwb25lbnRBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpzcHJl
YWRNZXRob2RBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpzdGFydE9mZnNldEF0dHIsCi0g
ICAgICAgICAgICAmU1ZHTmFtZXM6OnN0ZERldmlhdGlvbkF0dHIsCi0gICAgICAgICAgICAmU1ZH
TmFtZXM6OnN0aXRjaFRpbGVzQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6c3VyZmFjZVNj
YWxlQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6dGFibGVWYWx1ZXNBdHRyLAotICAgICAg
ICAgICAgJlNWR05hbWVzOjp0YXJnZXRBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjp0YXJn
ZXRYQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6dGFyZ2V0WUF0dHIsCi0gICAgICAgICAg
ICAmU1ZHTmFtZXM6OnRyYW5zZm9ybUF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnR5cGVB
dHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjp2YWx1ZXNBdHRyLAotICAgICAgICAgICAgJlNW
R05hbWVzOjp2aWV3Qm94QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6d2lkdGhBdHRyLAot
ICAgICAgICAgICAgJlNWR05hbWVzOjp4MUF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6Ongy
QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6eEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFt
ZXM6OnhDaGFubmVsU2VsZWN0b3JBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjp5MUF0dHIs
Ci0gICAgICAgICAgICAmU1ZHTmFtZXM6OnkyQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6
eUF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnlDaGFubmVsU2VsZWN0b3JBdHRyLAotICAg
ICAgICAgICAgJlNWR05hbWVzOjp6QXR0ciwKLSAgICAgICAgICAgICZYTGlua05hbWVzOjpocmVm
QXR0ciwKKyAgICAgICAgICAgICZIVE1MTmFtZXM6OmNsYXNzQXR0ci5nZXQoKSwKKyAgICAgICAg
ICAgICZTVkdOYW1lczo6YW1wbGl0dWRlQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1l
czo6YXppbXV0aEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OmJhc2VGcmVxdWVu
Y3lBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpiaWFzQXR0ci5nZXQoKSwKKyAg
ICAgICAgICAgICZTVkdOYW1lczo6Y2xpcFBhdGhVbml0c0F0dHIuZ2V0KCksCisgICAgICAgICAg
ICAmU1ZHTmFtZXM6OmN4QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6Y3lBdHRy
LmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpkaWZmdXNlQ29uc3RhbnRBdHRyLmdldCgp
LAorICAgICAgICAgICAgJlNWR05hbWVzOjpkaXZpc29yQXR0ci5nZXQoKSwKKyAgICAgICAgICAg
ICZTVkdOYW1lczo6ZHhBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpkeUF0dHIu
Z2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OmVkZ2VNb2RlQXR0ci5nZXQoKSwKKyAgICAg
ICAgICAgICZTVkdOYW1lczo6ZWxldmF0aW9uQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdO
YW1lczo6ZXhwb25lbnRBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpleHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6Zmls
dGVyUmVzQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6ZmlsdGVyVW5pdHNBdHRy
LmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpmeEF0dHIuZ2V0KCksCisgICAgICAgICAg
ICAmU1ZHTmFtZXM6OmZ5QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6Z3JhZGll
bnRUcmFuc2Zvcm1BdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpncmFkaWVudFVu
aXRzQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6aGVpZ2h0QXR0ci5nZXQoKSwK
KyAgICAgICAgICAgICZTVkdOYW1lczo6aW4yQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdO
YW1lczo6aW5BdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjppbnRlcmNlcHRBdHRy
LmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjprMUF0dHIuZ2V0KCksCisgICAgICAgICAg
ICAmU1ZHTmFtZXM6OmsyQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6azNBdHRy
LmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjprNEF0dHIuZ2V0KCksCisgICAgICAgICAg
ICAmU1ZHTmFtZXM6Omtlcm5lbE1hdHJpeEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFt
ZXM6Omtlcm5lbFVuaXRMZW5ndGhBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjps
ZW5ndGhBZGp1c3RBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpsaW1pdGluZ0Nv
bmVBbmdsZUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6Om1hcmtlckhlaWdodEF0
dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6Om1hcmtlclVuaXRzQXR0ci5nZXQoKSwK
KyAgICAgICAgICAgICZTVkdOYW1lczo6bWFya2VyV2lkdGhBdHRyLmdldCgpLAorICAgICAgICAg
ICAgJlNWR05hbWVzOjptYXNrQ29udGVudFVuaXRzQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZT
VkdOYW1lczo6bWFza1VuaXRzQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6bWV0
aG9kQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6bW9kZUF0dHIuZ2V0KCksCisg
ICAgICAgICAgICAmU1ZHTmFtZXM6Om51bU9jdGF2ZXNBdHRyLmdldCgpLAorICAgICAgICAgICAg
JlNWR05hbWVzOjpvZmZzZXRBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpvcGVy
YXRvckF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6Om9yZGVyQXR0ci5nZXQoKSwK
KyAgICAgICAgICAgICZTVkdOYW1lczo6b3JpZW50QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZT
VkdOYW1lczo6cGF0aExlbmd0aEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnBh
dHRlcm5Db250ZW50VW5pdHNBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpwYXR0
ZXJuVHJhbnNmb3JtQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6cGF0dGVyblVu
aXRzQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6cG9pbnRzQXRYQXR0ci5nZXQo
KSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6cG9pbnRzQXRZQXR0ci5nZXQoKSwKKyAgICAgICAg
ICAgICZTVkdOYW1lczo6cG9pbnRzQXRaQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1l
czo6cHJlc2VydmVBbHBoYUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnByZXNl
cnZlQXNwZWN0UmF0aW9BdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpwcmltaXRp
dmVVbml0c0F0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnJhZGl1c0F0dHIuZ2V0
KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnJBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNW
R05hbWVzOjpyZWZYQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6cmVmWUF0dHIu
Z2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnJlc3VsdEF0dHIuZ2V0KCksCisgICAgICAg
ICAgICAmU1ZHTmFtZXM6OnJvdGF0ZUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6
OnJ4QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6cnlBdHRyLmdldCgpLAorICAg
ICAgICAgICAgJlNWR05hbWVzOjpzY2FsZUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFt
ZXM6OnNlZWRBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpzbG9wZUF0dHIuZ2V0
KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnNwYWNpbmdBdHRyLmdldCgpLAorICAgICAgICAg
ICAgJlNWR05hbWVzOjpzcGVjdWxhckNvbnN0YW50QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZT
VkdOYW1lczo6c3BlY3VsYXJFeHBvbmVudEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFt
ZXM6OnNwcmVhZE1ldGhvZEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnN0YXJ0
T2Zmc2V0QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6c3RkRGV2aWF0aW9uQXR0
ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6c3RpdGNoVGlsZXNBdHRyLmdldCgpLAor
ICAgICAgICAgICAgJlNWR05hbWVzOjpzdXJmYWNlU2NhbGVBdHRyLmdldCgpLAorICAgICAgICAg
ICAgJlNWR05hbWVzOjp0YWJsZVZhbHVlc0F0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFt
ZXM6OnRhcmdldEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnRhcmdldFhBdHRy
LmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjp0YXJnZXRZQXR0ci5nZXQoKSwKKyAgICAg
ICAgICAgICZTVkdOYW1lczo6dHJhbnNmb3JtQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdO
YW1lczo6dHlwZUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnZhbHVlc0F0dHIu
Z2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnZpZXdCb3hBdHRyLmdldCgpLAorICAgICAg
ICAgICAgJlNWR05hbWVzOjp3aWR0aEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6
OngxQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6eDJBdHRyLmdldCgpLAorICAg
ICAgICAgICAgJlNWR05hbWVzOjp4QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6
eENoYW5uZWxTZWxlY3RvckF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnkxQXR0
ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6eTJBdHRyLmdldCgpLAorICAgICAgICAg
ICAgJlNWR05hbWVzOjp5QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6eUNoYW5u
ZWxTZWxlY3RvckF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnpBdHRyLmdldCgp
LAorICAgICAgICAgICAgJlhMaW5rTmFtZXM6OmhyZWZBdHRyLmdldCgpLAogICAgICAgICB9Owog
ICAgICAgICBIYXNoTWFwPEF0b21pY1N0cmluZywgUXVhbGlmaWVkTmFtZT4gbWFwOwogICAgICAg
ICBmb3IgKGF1dG8mIG5hbWUgOiBuYW1lcykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVs
ZW1lbnQuY3BwCmluZGV4IDQwMjc4NWRmN2RiLi43NTVjNmZlOWVhYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcApAQCAtMTA5LDEzICsxMDksMTMgQEAgYm9vbCBTVkdG
aWx0ZXJFbGVtZW50Ojppc1N1cHBvcnRlZEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBh
dHRyTmFtZSkKICAgICAgICAgU1ZHTGFuZ1NwYWNlOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNl
dCk7CiAgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmFkZFN1cHBvcnRlZEF0
dHJpYnV0ZXMoc2V0KTsKICAgICAgICAgc2V0LmFkZCh7Ci0gICAgICAgICAgICBTVkdOYW1lczo6
ZmlsdGVyVW5pdHNBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OnByaW1pdGl2ZVVuaXRzQXR0
ciwKLSAgICAgICAgICAgIFNWR05hbWVzOjp4QXR0ciwKLSAgICAgICAgICAgIFNWR05hbWVzOjp5
QXR0ciwKLSAgICAgICAgICAgIFNWR05hbWVzOjp3aWR0aEF0dHIsCi0gICAgICAgICAgICBTVkdO
YW1lczo6aGVpZ2h0QXR0ciwKLSAgICAgICAgICAgIFNWR05hbWVzOjpmaWx0ZXJSZXNBdHRyLAor
ICAgICAgICAgICAgU1ZHTmFtZXM6OmZpbHRlclVuaXRzQXR0ci5nZXQoKSwKKyAgICAgICAgICAg
IFNWR05hbWVzOjpwcmltaXRpdmVVbml0c0F0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1l
czo6eEF0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6eUF0dHIuZ2V0KCksCisgICAg
ICAgICAgICBTVkdOYW1lczo6d2lkdGhBdHRyLmdldCgpLAorICAgICAgICAgICAgU1ZHTmFtZXM6
OmhlaWdodEF0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6ZmlsdGVyUmVzQXR0ci5n
ZXQoKSwKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybiBzZXQ7CiAgICAgfSgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJp
YnV0ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJk
QXR0cmlidXRlcy5jcHAKaW5kZXggZWQwNDcwMmQ5NmQuLjI0MGVmNTFiMDM2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzLmNwcApAQCAtNjQsMTEgKzY0LDExIEBAIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5k
YXJkQXR0cmlidXRlczo6U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKGNvbnN0
CiBib29sIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6aXNTdXBwb3J0ZWRB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiB7CiAgICAgc3RhdGljIGNv
bnN0IGF1dG8gc3VwcG9ydGVkQXR0cmlidXRlcyA9IG1ha2VOZXZlckRlc3Ryb3llZChIYXNoU2V0
PFF1YWxpZmllZE5hbWU+IHsKLSAgICAgICAgU1ZHTmFtZXM6OnhBdHRyLAotICAgICAgICBTVkdO
YW1lczo6eUF0dHIsCi0gICAgICAgIFNWR05hbWVzOjp3aWR0aEF0dHIsCi0gICAgICAgIFNWR05h
bWVzOjpoZWlnaHRBdHRyLAotICAgICAgICBTVkdOYW1lczo6cmVzdWx0QXR0ciwKKyAgICAgICAg
U1ZHTmFtZXM6OnhBdHRyLmdldCgpLAorICAgICAgICBTVkdOYW1lczo6eUF0dHIuZ2V0KCksCisg
ICAgICAgIFNWR05hbWVzOjp3aWR0aEF0dHIuZ2V0KCksCisgICAgICAgIFNWR05hbWVzOjpoZWln
aHRBdHRyLmdldCgpLAorICAgICAgICBTVkdOYW1lczo6cmVzdWx0QXR0ci5nZXQoKSwKICAgICB9
KTsKICAgICByZXR1cm4gc3VwcG9ydGVkQXR0cmlidXRlcy5nZXQoKS5jb250YWluczxTVkdBdHRy
aWJ1dGVIYXNoVHJhbnNsYXRvcj4oYXR0ck5hbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHAKaW5kZXggZWQ3ZWJmMjZmNzMuLjVlNjNmYjRk
ODRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5j
cHAKQEAgLTczLDcgKzczLDcgQEAgYm9vbCBTVkdGb3JlaWduT2JqZWN0RWxlbWVudDo6aXNTdXBw
b3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUKICAgICAgICAgSGFz
aFNldDxRdWFsaWZpZWROYW1lPiBzZXQ7CiAgICAgICAgIFNWR0xhbmdTcGFjZTo6YWRkU3VwcG9y
dGVkQXR0cmlidXRlcyhzZXQpOwogICAgICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
OjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNldCk7Ci0gICAgICAgIHNldC5hZGQoeyBTVkdOYW1l
czo6eEF0dHIsIFNWR05hbWVzOjp5QXR0ciwgU1ZHTmFtZXM6OndpZHRoQXR0ciwgU1ZHTmFtZXM6
OmhlaWdodEF0dHIgfSk7CisgICAgICAgIHNldC5hZGQoeyBTVkdOYW1lczo6eEF0dHIuZ2V0KCks
IFNWR05hbWVzOjp5QXR0ci5nZXQoKSwgU1ZHTmFtZXM6OndpZHRoQXR0ci5nZXQoKSwgU1ZHTmFt
ZXM6OmhlaWdodEF0dHIuZ2V0KCkgfSk7CiAgICAgICAgIHJldHVybiBzZXQ7CiAgICAgfSgpKTsK
ICAgICByZXR1cm4gc3VwcG9ydGVkQXR0cmlidXRlcy5nZXQoKS5jb250YWluczxTVkdBdHRyaWJ1
dGVIYXNoVHJhbnNsYXRvcj4oYXR0ck5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhZGll
bnRFbGVtZW50LmNwcAppbmRleCBlZTIzNDVmNDUxNy4uNzNhMGI3MWIwYjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIGJvb2wg
U1ZHR3JhZGllbnRFbGVtZW50Ojppc1N1cHBvcnRlZEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiBhdHRyTmFtZSkKICAgICAgICAgSGFzaFNldDxRdWFsaWZpZWROYW1lPiBzZXQ7CiAgICAg
ICAgIFNWR1VSSVJlZmVyZW5jZTo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhzZXQpOwogICAgICAg
ICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNl
dCk7Ci0gICAgICAgIHNldC5hZGQoeyBTVkdOYW1lczo6Z3JhZGllbnRVbml0c0F0dHIsIFNWR05h
bWVzOjpncmFkaWVudFRyYW5zZm9ybUF0dHIsIFNWR05hbWVzOjpzcHJlYWRNZXRob2RBdHRyIH0p
OworICAgICAgICBzZXQuYWRkKHsgU1ZHTmFtZXM6OmdyYWRpZW50VW5pdHNBdHRyLmdldCgpLCBT
VkdOYW1lczo6Z3JhZGllbnRUcmFuc2Zvcm1BdHRyLmdldCgpLCBTVkdOYW1lczo6c3ByZWFkTWV0
aG9kQXR0ci5nZXQoKSB9KTsKICAgICAgICAgcmV0dXJuIHNldDsKICAgICB9KCkpOwogICAgIHJl
dHVybiBzdXBwb3J0ZWRBdHRyaWJ1dGVzLmdldCgpLmNvbnRhaW5zPFNWR0F0dHJpYnV0ZUhhc2hU
cmFuc2xhdG9yPihhdHRyTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
SW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3Bw
CmluZGV4IDU0ODg5YzBlZjc0Li4wYjhhZjZkYmYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0lt
YWdlRWxlbWVudC5jcHAKQEAgLTg1LDcgKzg1LDcgQEAgYm9vbCBTVkdJbWFnZUVsZW1lbnQ6Omlz
U3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAg
ICBTVkdMYW5nU3BhY2U6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKICAgICAgICAgU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhzZXQpOwog
ICAgICAgICBTVkdVUklSZWZlcmVuY2U6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKLSAg
ICAgICAgc2V0LmFkZCh7IFNWR05hbWVzOjp4QXR0ciwgU1ZHTmFtZXM6OnlBdHRyLCBTVkdOYW1l
czo6d2lkdGhBdHRyLCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgU1ZHTmFtZXM6OnByZXNlcnZlQXNw
ZWN0UmF0aW9BdHRyIH0pOworICAgICAgICBzZXQuYWRkKHsgU1ZHTmFtZXM6OnhBdHRyLmdldCgp
LCBTVkdOYW1lczo6eUF0dHIuZ2V0KCksIFNWR05hbWVzOjp3aWR0aEF0dHIuZ2V0KCksIFNWR05h
bWVzOjpoZWlnaHRBdHRyLmdldCgpLCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIu
Z2V0KCkgfSk7CiAgICAgICAgIHJldHVybiBzZXQ7CiAgICAgfSgpKTsKICAgICByZXR1cm4gc3Vw
cG9ydGVkQXR0cmlidXRlcy5nZXQoKS5jb250YWluczxTVkdBdHRyaWJ1dGVIYXNoVHJhbnNsYXRv
cj4oYXR0ck5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5jcHAKaW5kZXggNTkw
NDE4OGY2ZDYuLjM1Mzg1ODU1MDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TGluZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5j
cHAKQEAgLTY4LDcgKzY4LDcgQEAgYm9vbCBTVkdMaW5lRWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgICAgIEhhc2hTZXQ8UXVh
bGlmaWVkTmFtZT4gc2V0OwogICAgICAgICBTVkdMYW5nU3BhY2U6OmFkZFN1cHBvcnRlZEF0dHJp
YnV0ZXMoc2V0KTsKICAgICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6YWRkU3Vw
cG9ydGVkQXR0cmlidXRlcyhzZXQpOwotICAgICAgICBzZXQuYWRkKHsgU1ZHTmFtZXM6OngxQXR0
ciwgU1ZHTmFtZXM6OngyQXR0ciwgU1ZHTmFtZXM6OnkxQXR0ciwgU1ZHTmFtZXM6OnkyQXR0ciB9
KTsKKyAgICAgICAgc2V0LmFkZCh7IFNWR05hbWVzOjp4MUF0dHIuZ2V0KCksIFNWR05hbWVzOjp4
MkF0dHIuZ2V0KCksIFNWR05hbWVzOjp5MUF0dHIuZ2V0KCksIFNWR05hbWVzOjp5MkF0dHIuZ2V0
KCkgfSk7CiAgICAgICAgIHJldHVybiBzZXQ7CiAgICAgfSgpKTsKICAgICByZXR1cm4gc3VwcG9y
dGVkQXR0cmlidXRlcy5nZXQoKS5jb250YWluczxTVkdBdHRyaWJ1dGVIYXNoVHJhbnNsYXRvcj4o
YXR0ck5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCmluZGV4IGU5
OGVmOWVlY2IyLi5mYTI1NTJlZTcwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R01hcmtlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVt
ZW50LmNwcApAQCAtMTEzLDEyICsxMTMsMTIgQEAgYm9vbCBTVkdNYXJrZXJFbGVtZW50Ojppc1N1
cHBvcnRlZEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKICAgICAgICAg
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhzZXQp
OwogICAgICAgICBTVkdGaXRUb1ZpZXdCb3g6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsK
ICAgICAgICAgc2V0LmFkZCh7Ci0gICAgICAgICAgICBTVkdOYW1lczo6bWFya2VyVW5pdHNBdHRy
LAotICAgICAgICAgICAgU1ZHTmFtZXM6OnJlZlhBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6
OnJlZllBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6Om1hcmtlcldpZHRoQXR0ciwKLSAgICAg
ICAgICAgIFNWR05hbWVzOjptYXJrZXJIZWlnaHRBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6
Om9yaWVudEF0dHIsCisgICAgICAgICAgICBTVkdOYW1lczo6bWFya2VyVW5pdHNBdHRyLmdldCgp
LAorICAgICAgICAgICAgU1ZHTmFtZXM6OnJlZlhBdHRyLmdldCgpLAorICAgICAgICAgICAgU1ZH
TmFtZXM6OnJlZllBdHRyLmdldCgpLAorICAgICAgICAgICAgU1ZHTmFtZXM6Om1hcmtlcldpZHRo
QXR0ci5nZXQoKSwKKyAgICAgICAgICAgIFNWR05hbWVzOjptYXJrZXJIZWlnaHRBdHRyLmdldCgp
LAorICAgICAgICAgICAgU1ZHTmFtZXM6Om9yaWVudEF0dHIuZ2V0KCksCiAgICAgICAgIH0pOwog
ICAgICAgICByZXR1cm4gc2V0OwogICAgIH0oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVt
ZW50LmNwcAppbmRleCBkNDQ5ODhlNDZkMC4uNWVjOWJjOGY2ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR01hc2tFbGVtZW50LmNwcApAQCAtODQsMTMgKzg0LDEzIEBAIGJvb2wgU1ZHTWFza0VsZW1l
bnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQog
ICAgICAgICBTVkdMYW5nU3BhY2U6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKICAgICAg
ICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhz
ZXQpOwogICAgICAgICBzZXQuYWRkKHsKLSAgICAgICAgICAgIFNWR05hbWVzOjptYXNrVW5pdHNB
dHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6Om1hc2tDb250ZW50VW5pdHNBdHRyLAotICAgICAg
ICAgICAgU1ZHTmFtZXM6OnJlZllBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OnhBdHRyLAot
ICAgICAgICAgICAgU1ZHTmFtZXM6OnlBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OndpZHRo
QXR0ciwKLSAgICAgICAgICAgIFNWR05hbWVzOjpoZWlnaHRBdHRyLAorICAgICAgICAgICAgU1ZH
TmFtZXM6Om1hc2tVbml0c0F0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6bWFza0Nv
bnRlbnRVbml0c0F0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6cmVmWUF0dHIuZ2V0
KCksCisgICAgICAgICAgICBTVkdOYW1lczo6eEF0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdO
YW1lczo6eUF0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6d2lkdGhBdHRyLmdldCgp
LAorICAgICAgICAgICAgU1ZHTmFtZXM6OmhlaWdodEF0dHIuZ2V0KCksCiAgICAgICAgIH0pOwog
ICAgICAgICByZXR1cm4gc2V0OwogICAgIH0oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVt
ZW50LmNwcAppbmRleCBlMjIzMGY0MTJkZC4uNDE0MWJlNWI5ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdGhFbGVtZW50LmNwcApAQCAtNjAsNyArNjAsNyBAQCBjb25zdCBTVkdQcm9wZXJ0eUlu
Zm8qIFNWR1BhdGhFbGVtZW50OjpkUHJvcGVydHlJbmZvKCkKICAgICAgICAgc19wcm9wZXJ0eUlu
Zm8gPSBuZXcgU1ZHUHJvcGVydHlJbmZvKEFuaW1hdGVkUGF0aCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb3BlcnR5SXNSZWFkV3JpdGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdOYW1lczo6ZEF0dHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdOYW1lczo6ZEF0
dHIubG9jYWxOYW1lKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBTVkdOYW1lczo6ZEF0dHItPmxvY2FsTmFtZSgpLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJlNWR1BhdGhFbGVtZW50OjpzeW5jaHJvbml6ZUQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmU1ZHUGF0aEVsZW1l
bnQ6Omxvb2t1cE9yQ3JlYXRlRFdyYXBwZXIpOwogICAgIH0KQEAgLTIxNSw3ICsyMTUsNyBAQCBi
b29sIFNWR1BhdGhFbGVtZW50Ojppc1N1cHBvcnRlZEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiBhdHRyTmFtZSkKICAgICAgICAgSGFzaFNldDxRdWFsaWZpZWROYW1lPiBzZXQ7CiAgICAg
ICAgIFNWR0xhbmdTcGFjZTo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhzZXQpOwogICAgICAgICBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNldCk7
Ci0gICAgICAgIHNldC5hZGQoeyBTVkdOYW1lczo6ZEF0dHIsIFNWR05hbWVzOjpwYXRoTGVuZ3Ro
QXR0ciB9KTsKKyAgICAgICAgc2V0LmFkZCh7IFNWR05hbWVzOjpkQXR0ci5nZXQoKSwgU1ZHTmFt
ZXM6OnBhdGhMZW5ndGhBdHRyLmdldCgpIH0pOwogICAgICAgICByZXR1cm4gc2V0OwogICAgIH0o
KSk7CiAgICAgcmV0dXJuIHN1cHBvcnRlZEF0dHJpYnV0ZXMuZ2V0KCkuY29udGFpbnM8U1ZHQXR0
cmlidXRlSGFzaFRyYW5zbGF0b3I+KGF0dHJOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
dGVybkVsZW1lbnQuY3BwCmluZGV4IGJjYTdlZmRlYmVkLi4xNWNmYjkxMGM3YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCkBAIC05OSw4ICs5OSw4IEBAIGJvb2wg
U1ZHUGF0dGVybkVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIGF0dHJOYW1lKQogICAgICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjphZGRT
dXBwb3J0ZWRBdHRyaWJ1dGVzKHNldCk7CiAgICAgICAgIFNWR0ZpdFRvVmlld0JveDo6YWRkU3Vw
cG9ydGVkQXR0cmlidXRlcyhzZXQpOwogICAgICAgICBzZXQuYWRkKHsKLSAgICAgICAgICAgIFNW
R05hbWVzOjpwYXR0ZXJuVW5pdHNBdHRyLCBTVkdOYW1lczo6cGF0dGVybkNvbnRlbnRVbml0c0F0
dHIsIFNWR05hbWVzOjpwYXR0ZXJuVHJhbnNmb3JtQXR0ciwKLSAgICAgICAgICAgIFNWR05hbWVz
Ojp4QXR0ciwgU1ZHTmFtZXM6OnlBdHRyLCBTVkdOYW1lczo6d2lkdGhBdHRyLCBTVkdOYW1lczo6
aGVpZ2h0QXR0ciwKKyAgICAgICAgICAgIFNWR05hbWVzOjpwYXR0ZXJuVW5pdHNBdHRyLmdldCgp
LCBTVkdOYW1lczo6cGF0dGVybkNvbnRlbnRVbml0c0F0dHIuZ2V0KCksIFNWR05hbWVzOjpwYXR0
ZXJuVHJhbnNmb3JtQXR0ci5nZXQoKSwKKyAgICAgICAgICAgIFNWR05hbWVzOjp4QXR0ci5nZXQo
KSwgU1ZHTmFtZXM6OnlBdHRyLmdldCgpLCBTVkdOYW1lczo6d2lkdGhBdHRyLmdldCgpLCBTVkdO
YW1lczo6aGVpZ2h0QXR0ci5nZXQoKSwKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybiBzZXQ7
CiAgICAgfSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuY3BwCmluZGV4IDk3N2Nm
OWYwOGYyLi4wNTRmOThkZTQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bv
bHlFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuY3Bw
CkBAIC00MSw3ICs0MSw3IEBAIGNvbnN0IFNWR1Byb3BlcnR5SW5mbyogU1ZHUG9seUVsZW1lbnQ6
OnBvaW50c1Byb3BlcnR5SW5mbygpCiAgICAgICAgIHNfcHJvcGVydHlJbmZvID0gbmV3IFNWR1By
b3BlcnR5SW5mbyhBbmltYXRlZFBvaW50cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFByb3BlcnR5SXNSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdOYW1lczo6cG9pbnRzQXR0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR05hbWVzOjpwb2ludHNBdHRy
LmxvY2FsTmFtZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgU1ZHTmFtZXM6OnBvaW50c0F0dHItPmxvY2FsTmFtZSgpLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJlNWR1BvbHlFbGVtZW50OjpzeW5jaHJvbml6ZVBv
aW50cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZTVkdQ
b2x5RWxlbWVudDo6bG9va3VwT3JDcmVhdGVQb2ludHNXcmFwcGVyKTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwCmluZGV4IDAxNTlk
MWMwMTU2Li5jOWQ5ZGNjMDk0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Jh
ZGlhbEdyYWRpZW50RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JhZGlh
bEdyYWRpZW50RWxlbWVudC5jcHAKQEAgLTc1LDcgKzc1LDcgQEAgUmVmPFNWR1JhZGlhbEdyYWRp
ZW50RWxlbWVudD4gU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmEKIGJvb2wgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Ojppc1N1cHBvcnRlZEF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKIHsKICAgICBzdGF0aWMgY29uc3QgYXV0
byBzdXBwb3J0ZWRBdHRyaWJ1dGVzID0gbWFrZU5ldmVyRGVzdHJveWVkKEhhc2hTZXQ8UXVhbGlm
aWVkTmFtZT4gewotICAgICAgICBTVkdOYW1lczo6Y3hBdHRyLCBTVkdOYW1lczo6Y3lBdHRyLCBT
VkdOYW1lczo6ZnhBdHRyLCBTVkdOYW1lczo6ZnlBdHRyLCBTVkdOYW1lczo6ckF0dHIsIFNWR05h
bWVzOjpmckF0dHIsCisgICAgICAgIFNWR05hbWVzOjpjeEF0dHIuZ2V0KCksIFNWR05hbWVzOjpj
eUF0dHIuZ2V0KCksIFNWR05hbWVzOjpmeEF0dHIuZ2V0KCksIFNWR05hbWVzOjpmeUF0dHIuZ2V0
KCksIFNWR05hbWVzOjpyQXR0ci5nZXQoKSwgU1ZHTmFtZXM6OmZyQXR0ci5nZXQoKSwKICAgICB9
KTsKICAgICByZXR1cm4gc3VwcG9ydGVkQXR0cmlidXRlcy5nZXQoKS5jb250YWluczxTVkdBdHRy
aWJ1dGVIYXNoVHJhbnNsYXRvcj4oYXR0ck5hbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAppbmRleCBlZDUxNDg3ZGNhOS4uMjlkODgxOWU0YmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCkBAIC00
Niw3ICs0Niw3IEBAIGNvbnN0IFNWR1Byb3BlcnR5SW5mbyogU1ZHVGV4dENvbnRlbnRFbGVtZW50
Ojp0ZXh0TGVuZ3RoUHJvcGVydHlJbmZvKCkKICAgICAgICAgc19wcm9wZXJ0eUluZm8gPSBuZXcg
U1ZHUHJvcGVydHlJbmZvKEFuaW1hdGVkTGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlJc1JlYWRXcml0ZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR05hbWVzOjp0ZXh0TGVuZ3RoQXR0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR05hbWVzOjp0
ZXh0TGVuZ3RoQXR0ci5sb2NhbE5hbWUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFNWR05hbWVzOjp0ZXh0TGVuZ3RoQXR0ci0+bG9jYWxOYW1lKCksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmU1ZHVGV4dENvbnRl
bnRFbGVtZW50OjpzeW5jaHJvbml6ZVRleHRMZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmU1ZHVGV4dENvbnRlbnRFbGVtZW50Ojpsb29rdXBPckNy
ZWF0ZVRleHRMZW5ndGhXcmFwcGVyKTsKICAgICB9CkBAIC0xOTQsNyArMTk0LDcgQEAgYm9vbCBT
VkdUZXh0Q29udGVudEVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICBIYXNoU2V0PFF1YWxpZmllZE5hbWU+IHNldDsKICAg
ICAgICAgU1ZHTGFuZ1NwYWNlOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNldCk7CiAgICAgICAg
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0
KTsKLSAgICAgICAgc2V0LmFkZCh7IFNWR05hbWVzOjpsZW5ndGhBZGp1c3RBdHRyLCBTVkdOYW1l
czo6dGV4dExlbmd0aEF0dHIgfSk7CisgICAgICAgIHNldC5hZGQoeyBTVkdOYW1lczo6bGVuZ3Ro
QWRqdXN0QXR0ci5nZXQoKSwgU1ZHTmFtZXM6OnRleHRMZW5ndGhBdHRyLmdldCgpIH0pOwogICAg
ICAgICByZXR1cm4gc2V0OwogICAgIH0oKSk7CiAgICAgcmV0dXJuIHN1cHBvcnRlZEF0dHJpYnV0
ZXMuZ2V0KCkuY29udGFpbnM8U1ZHQXR0cmlidXRlSGFzaFRyYW5zbGF0b3I+KGF0dHJOYW1lKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHAKaW5kZXggNzUxN2U4Yjhh
NjAuLmRmOTMzNjdjNDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBh
dGhFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50
LmNwcApAQCAtNzQsNyArNzQsNyBAQCBib29sIFNWR1RleHRQYXRoRWxlbWVudDo6aXNTdXBwb3J0
ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgc3RhdGljIGNv
bnN0IGF1dG8gc3VwcG9ydGVkQXR0cmlidXRlcyA9IG1ha2VOZXZlckRlc3Ryb3llZChbXSB7CiAg
ICAgICAgIEhhc2hTZXQ8UXVhbGlmaWVkTmFtZT4gc2V0OwogICAgICAgICBTVkdVUklSZWZlcmVu
Y2U6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKLSAgICAgICAgc2V0LmFkZCh7IFNWR05h
bWVzOjpzdGFydE9mZnNldEF0dHIsIFNWR05hbWVzOjptZXRob2RBdHRyLCBTVkdOYW1lczo6c3Bh
Y2luZ0F0dHIgfSk7CisgICAgICAgIHNldC5hZGQoeyBTVkdOYW1lczo6c3RhcnRPZmZzZXRBdHRy
LmdldCgpLCBTVkdOYW1lczo6bWV0aG9kQXR0ci5nZXQoKSwgU1ZHTmFtZXM6OnNwYWNpbmdBdHRy
LmdldCgpIH0pOwogICAgICAgICByZXR1cm4gc2V0OwogICAgIH0oKSk7CiAgICAgcmV0dXJuIHN1
cHBvcnRlZEF0dHJpYnV0ZXMuZ2V0KCkuY29udGFpbnM8U1ZHQXR0cmlidXRlSGFzaFRyYW5zbGF0
b3I+KGF0dHJOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcAppbmRleCAzM2My
OGYyNTYzOC4uNThmY2UyN2Y0MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdV
c2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAK
QEAgLTE5Niw3ICsxOTYsMTAgQEAgc3RhdGljIEhhc2hTZXQ8QXRvbWljU3RyaW5nPiBjcmVhdGVB
bGxvd2VkRWxlbWVudFNldCgpCiAgICAgLy8gRXhjbHVkZWQgYXJlIGFueXRoaW5nIHRoYXQgaXMg
dXNlZCBieSByZWZlcmVuY2Ugb3IgdGhhdCBvbmx5IG1ha2Ugc2Vuc2UgdG8gYXBwZWFyIG9uY2Ug
aW4gYSBkb2N1bWVudC4KICAgICB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAgICAgSGFzaFNl
dDxBdG9taWNTdHJpbmc+IHNldDsKLSAgICBmb3IgKGF1dG8mIHRhZyA6IHsgYVRhZywgY2lyY2xl
VGFnLCBkZXNjVGFnLCBlbGxpcHNlVGFnLCBnVGFnLCBpbWFnZVRhZywgbGluZVRhZywgbWV0YWRh
dGFUYWcsIHBhdGhUYWcsIHBvbHlnb25UYWcsIHBvbHlsaW5lVGFnLCByZWN0VGFnLCBzdmdUYWcs
IHN3aXRjaFRhZywgc3ltYm9sVGFnLCB0ZXh0VGFnLCB0ZXh0UGF0aFRhZywgdGl0bGVUYWcsIHRy
ZWZUYWcsIHRzcGFuVGFnLCB1c2VUYWcgfSkKKyAgICBmb3IgKGF1dG8mIHRhZyA6IHsgYVRhZy5n
ZXQoKSwgY2lyY2xlVGFnLmdldCgpLCBkZXNjVGFnLmdldCgpLCBlbGxpcHNlVGFnLmdldCgpLCBn
VGFnLmdldCgpLAorICAgICAgICAgICAgaW1hZ2VUYWcuZ2V0KCksIGxpbmVUYWcuZ2V0KCksIG1l
dGFkYXRhVGFnLmdldCgpLCBwYXRoVGFnLmdldCgpLCBwb2x5Z29uVGFnLmdldCgpLAorICAgICAg
ICAgICAgcG9seWxpbmVUYWcuZ2V0KCksIHJlY3RUYWcuZ2V0KCksIHN2Z1RhZy5nZXQoKSwgc3dp
dGNoVGFnLmdldCgpLCBzeW1ib2xUYWcuZ2V0KCksCisgICAgICAgICAgICB0ZXh0VGFnLmdldCgp
LCB0ZXh0UGF0aFRhZy5nZXQoKSwgdGl0bGVUYWcuZ2V0KCksIHRyZWZUYWcuZ2V0KCksIHRzcGFu
VGFnLmdldCgpLCB1c2VUYWcuZ2V0KCkgfSkKICAgICAgICAgc2V0LmFkZCh0YWcubG9jYWxOYW1l
KCkpOwogICAgIHJldHVybiBzZXQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwv
TmF0aXZlWFBhdGhOU1Jlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9OYXRpdmVYUGF0
aE5TUmVzb2x2ZXIuY3BwCmluZGV4IGFiYTc0MzVlZDIxLi45OGM2ZDM5YWRmOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUveG1sL05hdGl2ZVhQYXRoTlNSZXNvbHZlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUveG1sL05hdGl2ZVhQYXRoTlNSZXNvbHZlci5jcHAKQEAgLTQ2LDcgKzQ2LDcg
QEAgU3RyaW5nIE5hdGl2ZVhQYXRoTlNSZXNvbHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKGNvbnN0
IFN0cmluZyYgcHJlZml4KQogICAgIC8vIFRoaXMgaXMgbm90IGRvbmUgYnkgTm9kZTo6bG9va3Vw
TmFtZXNwYWNlVVJJIGFzIHBlciB0aGUgRE9NMyBDb3JlIHNwZWMsCiAgICAgLy8gYnV0IHRoZSBY
UGF0aCBzcGVjIHNheXMgdGhhdCB3ZSBzaG91bGQgZG8gaXQgZm9yIFhQYXRoTlNSZXNvbHZlci4K
ICAgICBpZiAocHJlZml4ID09ICJ4bWwiKQotICAgICAgICByZXR1cm4gWE1MTmFtZXM6OnhtbE5h
bWVzcGFjZVVSSTsKKyAgICAgICAgcmV0dXJuIFhNTE5hbWVzOjp4bWxOYW1lc3BhY2VVUkkuZ2V0
KCk7CiAgICAgCiAgICAgcmV0dXJuIG1fbm9kZSA/IG1fbm9kZS0+bG9va3VwTmFtZXNwYWNlVVJJ
KHByZWZpeCkuc3RyaW5nKCkgOiBTdHJpbmcoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUveG1s
L3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5jcHAKaW5kZXggNGNiY2NkOTcwNGQuLmQ4MDM5YWZi
ODEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFy
c2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2Vy
LmNwcApAQCAtMjcwLDcgKzI3MCw3IEBAIGJvb2wgWE1MRG9jdW1lbnRQYXJzZXI6OnBhcnNlRG9j
dW1lbnRGcmFnbWVudChjb25zdCBTdHJpbmcmIGNodW5rLCBEb2N1bWVudEZyYWdtCiAgICAgLy8g
RklYTUU6IFdlIG5lZWQgdG8gaW1wbGVtZW50IHRoZSBIVE1MNSBYTUwgRnJhZ21lbnQgcGFyc2lu
ZyBhbGdvcml0aG06CiAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBz
L2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvdGhlLXhodG1sLXN5bnRheC5odG1sI3htbC1mcmFnbWVu
dC1wYXJzaW5nLWFsZ29yaXRobQogICAgIC8vIEZvciBub3cgd2UgaGF2ZSBhIGhhY2sgZm9yIHNj
cmlwdC9zdHlsZSBpbm5lckhUTUwgc3VwcG9ydDoKLSAgICBpZiAoY29udGV4dEVsZW1lbnQgJiYg
KGNvbnRleHRFbGVtZW50LT5oYXNMb2NhbE5hbWUoSFRNTE5hbWVzOjpzY3JpcHRUYWcubG9jYWxO
YW1lKCkpIHx8IGNvbnRleHRFbGVtZW50LT5oYXNMb2NhbE5hbWUoSFRNTE5hbWVzOjpzdHlsZVRh
Zy5sb2NhbE5hbWUoKSkpKSB7CisgICAgaWYgKGNvbnRleHRFbGVtZW50ICYmIChjb250ZXh0RWxl
bWVudC0+aGFzTG9jYWxOYW1lKEhUTUxOYW1lczo6c2NyaXB0VGFnLT5sb2NhbE5hbWUoKSkgfHwg
Y29udGV4dEVsZW1lbnQtPmhhc0xvY2FsTmFtZShIVE1MTmFtZXM6OnN0eWxlVGFnLT5sb2NhbE5h
bWUoKSkpKSB7CiAgICAgICAgIGZyYWdtZW50LnBhcnNlckFwcGVuZENoaWxkKGZyYWdtZW50LmRv
Y3VtZW50KCkuY3JlYXRlVGV4dE5vZGUoY2h1bmspKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>325324</attachid>
            <date>2017-10-29 22:35:35 -0700</date>
            <delta_ts>2017-10-30 00:53:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175118-20171030143533.patch</filename>
            <type>text/plain</type>
            <size>113091</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0MTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGI2OWU0MTAzNzU3ZGVj
Y2UyOGE2MmQ5YjEyYWM2ZDAwNDNmNDA4OC4uNTI5ODgyNGQxODQ2YmFmOTU4ZjRjZTFkMmRlMTFm
MjJhYjA3YTFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzNiBAQAorMjAxNy0xMC0yOSAgRnVq
aWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBVc2UgTGF6
eU5ldmVyRGVzdHJveWVkIGluc3RlYWQgb2YgREVGSU5FX0dMT0JBTCBmb3IgWE1MTmFtZXMsIEhU
TUxOYW1lcywgTWF0aE1MTmFtZXMgYW5kIFNWR05hbWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUxMTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgc2luY2UgdGhlcmUgc2hvdWxk
IGJlIG5vIGJlaGF2aW9yYWwgY2hhbmdlLgorCisgICAgICAgICogZG9tL21ha2VfbmFtZXMucGw6
CisgICAgICAgIChwcmludENvbnN0cnVjdG9ycyk6CisgICAgICAgIChwcmludE5hbWVzSGVhZGVy
RmlsZSk6CisgICAgICAgIChwcmludE5hbWVzQ3BwRmlsZSk6CisgICAgICAgIChwcmludERlZmlu
aXRpb25zKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aW5o
ZXJpdHNQcmVzZW50YXRpb25hbFJvbGUgY29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29s
dmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omhhc0VmZmVjdGl2ZURpc3BsYXlOb25lRm9yRGlz
cGxheUNvbnRlbnRzKToKKyAgICAgICAgKiBkb20vQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6Om9ic2Vy
dmVzU3R5bGVBdHRyaWJ1dGUgY29uc3QpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dmFsaWRhdGVDdXN0b21FbGVtZW50TmFtZSk6Cisg
ICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNTdHlsZUF0dHJp
YnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpjYW5BdHRhY2hBdXRob3JTaGFkb3dSb290KToKKyAg
ICAgICAgKiBkb20vRWxlbWVudERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudERh
dGE6OmZpbmRMYW5ndWFnZUF0dHJpYnV0ZSBjb25zdCk6CisgICAgICAgICogZG9taml0L0pTRG9j
dW1lbnRET01KSVQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcGlsZURvY3VtZW50Qm9keUF0
dHJpYnV0ZSk6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RWRpdG9yOjphcHBseUVkaXRpbmdTdHlsZVRvQm9keUVsZW1lbnQgY29uc3QpOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2YWx1ZURl
ZmF1bHRQYXJhZ3JhcGhTZXBhcmF0b3IpOgorICAgICAgICAqIGVkaXRpbmcvTWFya3VwQWNjdW11
bGF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11bGF0b3I6OnNlcmlhbGl6
ZU5vZGVzV2l0aE5hbWVzcGFjZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11bGF0
b3I6OmFwcGVuZE5hbWVzcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRv
cjo6ZWxlbWVudENhbm5vdEhhdmVFbmRUYWcpOgorICAgICAgICAqIGVkaXRpbmcvUmVwbGFjZVNl
bGVjdGlvbkNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNQcm9oaWJpdGVkUGFyYWdy
YXBoQ2hpbGQpOgorICAgICAgICAqIGh0bWwvSFRNTEJvZHlFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxCb2R5RWxlbWVudDo6Y3JlYXRlV2luZG93RXZlbnRIYW5kbGVyTmFtZU1h
cCk6CisgICAgICAgICogaHRtbC9IVE1MRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTERvY3VtZW50Ojppc0Nhc2VTZW5zaXRpdmVBdHRyaWJ1dGUpOgorICAgICAgICAqIGh0bWwv
SFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OmNyZWF0ZUV2
ZW50SGFuZGxlck5hbWVNYXApOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rp
b25TaXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpmaW5k
Rm9zdGVyU2l0ZSk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudFN0YWNrOjpoYXNUZW1wbGF0ZUluSFRNTFNj
b3BlIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6dXBkYXRlUHJlZGljdGVk
QmFzZVVSTCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0Zha2VQRW5kVGFnSWZQSW5C
dXR0b25TY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NT
dGFydFRhZ0ZvckluQm9keSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnBy
b2Nlc3NUZW1wbGF0ZUVuZFRhZyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6
OnByb2Nlc3NFbmRPZkZpbGVGb3JJblRlbXBsYXRlQ29udGVudHMpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRUYWcpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzQm9keUVuZFRhZ0ZvckluQm9keSk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NFbmRUYWdGb3JJbkJvZHkpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzQ2FwdGlvbkVuZFRhZ0ZvckluQ2Fw
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NUYWJsZUVu
ZFRhZ0ZvckluVGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9j
ZXNzRW5kVGFnKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6aW5zZXJ0UGhv
bmVOdW1iZXJMaW5rKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6ZGVmYXVs
dEZvckJlZm9yZUhUTUwpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpkZWZh
dWx0Rm9yQmVmb3JlSGVhZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OmRl
ZmF1bHRGb3JJbkhlYWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpkZWZh
dWx0Rm9ySW5IZWFkTm9zY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVy
OjpkZWZhdWx0Rm9yQWZ0ZXJIZWFkKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9UZXh0RG9jdW1l
bnRQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dERvY3VtZW50UGFyc2VyOjppbnNl
cnRGYWtlUHJlRWxlbWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpwYXRoRnJvbUdyYXBoaWNzRWxlbWVudCk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2xp
cHBlckZpbHRlck1hc2tlclRhZ3MpOgorICAgICAgICAoV2ViQ29yZTo6bWFya2VyVGFncyk6Cisg
ICAgICAgIChXZWJDb3JlOjpmaWxsQW5kU3Ryb2tlVGFncyk6CisgICAgICAgIChXZWJDb3JlOjpj
aGFpbmFibGVSZXNvdXJjZVRhZ3MpOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZEJvb2xlYW4u
aDoKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oOgorICAgICAgICAqIHN2
Zy9TVkdBbmltYXRlZEludGVnZXIuaDoKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRMZW5ndGgu
aDoKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0Lmg6CisgICAgICAgICogc3Zn
L1NWR0FuaW1hdGVkTnVtYmVyLmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkTnVtYmVyTGlz
dC5oOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaDoKKyAg
ICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRSZWN0Lmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVk
U3RyaW5nLmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdC5oOgorICAg
ICAgICAqIHN2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGlvbkVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcv
U1ZHQ3Vyc29yRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdDdXJzb3JFbGVtZW50
Ojppc1N1cHBvcnRlZEF0dHJpYnV0ZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQXR0cmlidXRlTmFtZVRvQ1NTUHJvcGVydHlJRE1hcCk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVy
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OmFuaW1hdGFibGVBdHRyaWJ1
dGVGb3JOYW1lKToKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdGaWx0ZXJFbGVtZW50Ojppc1N1cHBvcnRlZEF0dHJpYnV0ZSk6CisgICAg
ICAgICogc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM6OmlzU3Vw
cG9ydGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQ6OmlzU3VwcG9y
dGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0dyYWRpZW50RWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUp
OgorICAgICAgICAqIHN2Zy9TVkdJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHSW1hZ2VFbGVtZW50Ojppc1N1cHBvcnRlZEF0dHJpYnV0ZSk6CisgICAgICAgICogc3ZnL1NW
R0xpbmVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xpbmVFbGVtZW50Ojppc1N1
cHBvcnRlZEF0dHJpYnV0ZSk6CisgICAgICAgICogc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHTWFya2VyRWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUp
OgorICAgICAgICAqIHN2Zy9TVkdNYXNrRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdNYXNrRWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdQ
YXRoRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoRWxlbWVudDo6ZFByb3Bl
cnR5SW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoRWxlbWVudDo6aXNTdXBwb3J0ZWRB
dHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdQYXR0ZXJuRWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUpOgorICAg
ICAgICAqIHN2Zy9TVkdQb2x5RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2x5
RWxlbWVudDo6cG9pbnRzUHJvcGVydHlJbmZvKToKKyAgICAgICAgKiBzdmcvU1ZHUmFkaWFsR3Jh
ZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JhZGlhbEdyYWRpZW50RWxl
bWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVu
dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50Ojp0
ZXh0TGVuZ3RoUHJvcGVydHlJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRDb250ZW50
RWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdUZXh0UGF0
aEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dFBhdGhFbGVtZW50Ojppc1N1
cHBvcnRlZEF0dHJpYnV0ZSk6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y3JlYXRlQWxsb3dlZEVsZW1lbnRTZXQpOgorICAgICAgICAqIHhtbC9O
YXRpdmVYUGF0aE5TUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF0aXZlWFBhdGhO
U1Jlc29sdmVyOjpsb29rdXBOYW1lc3BhY2VVUkkpOgorICAgICAgICAqIHhtbC9wYXJzZXIvWE1M
RG9jdW1lbnRQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MRG9jdW1lbnRQYXJzZXI6
OnBhcnNlRG9jdW1lbnRGcmFnbWVudCk6CisKIDIwMTctMTAtMjkgIFNhbSBXZWluaWcgIDxzYW1A
d2Via2l0Lm9yZz4KIAogICAgICAgICBbQ29uaWMgR3JhZGllbnRzXSBBZGQgc3VwcG9ydCBmb3Ig
cGFyc2luZyBjb25pYyBncmFkaWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDNkZGJhMzhj
YjQ4ZjE4ZjkxNzM1NTc5OTY0NzhiZTc4NGNmMGMxMmEuLmFjZDIyZTFmYWQ0YmY3MTczNjZkYjUy
ODNiZDZiYmRhNzEzMTBkZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtMjg4MywxMyArMjg4
MywxMyBAQCBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmluaGVyaXRzUHJlc2VudGF0
aW9uYWxSb2xlKCkgY29uc3QKICAgICBzd2l0Y2ggKHJvbGVWYWx1ZSgpKSB7CiAgICAgY2FzZSBB
Y2Nlc3NpYmlsaXR5Um9sZTo6TGlzdEl0ZW06CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6
TGlzdE1hcmtlcjogewotICAgICAgICBzdGF0aWMgY29uc3QgYXV0byBsaXN0SXRlbVBhcmVudHMg
PSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVjdG9yPGNvbnN0IEhUTUxRdWFsaWZpZWROYW1lKj4geyAm
ZGxUYWcsICZvbFRhZywgJnVsVGFnIH0pOworICAgICAgICBzdGF0aWMgY29uc3QgYXV0byBsaXN0
SXRlbVBhcmVudHMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVjdG9yPGNvbnN0IEhUTUxRdWFsaWZp
ZWROYW1lKj4geyAmZGxUYWcuZ2V0KCksICZvbFRhZy5nZXQoKSwgJnVsVGFnLmdldCgpIH0pOwog
ICAgICAgICBwYXJlbnRUYWdzID0gJmxpc3RJdGVtUGFyZW50cy5nZXQoKTsKICAgICAgICAgYnJl
YWs7CiAgICAgfQogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkdyaWRDZWxsOgogICAgIGNh
c2UgQWNjZXNzaWJpbGl0eVJvbGU6OkNlbGw6IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IGF1dG8g
dGFibGVDZWxsUGFyZW50cyA9IG1ha2VOZXZlckRlc3Ryb3llZChWZWN0b3I8Y29uc3QgSFRNTFF1
YWxpZmllZE5hbWUqPiB7ICZ0YWJsZVRhZyB9KTsKKyAgICAgICAgc3RhdGljIGNvbnN0IGF1dG8g
dGFibGVDZWxsUGFyZW50cyA9IG1ha2VOZXZlckRlc3Ryb3llZChWZWN0b3I8Y29uc3QgSFRNTFF1
YWxpZmllZE5hbWUqPiB7ICZ0YWJsZVRhZy5nZXQoKSB9KTsKICAgICAgICAgcGFyZW50VGFncyA9
ICZ0YWJsZUNlbGxQYXJlbnRzLmdldCgpOwogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggMDlhZTdiMWU3OWI0ZDczZDRiZDg2YjgzMDA0
MjE3MjQ1YjRiNGMzMy4uOGIzMzYwYzQ0NjE5MTg0MTdkZWUzZTgxNjAwZWM5NzU2NmYwYzEwMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtNzUxLDIzICs3NTEsMjMgQEAg
c3RhdGljIGJvb2wgaGFzRWZmZWN0aXZlRGlzcGxheU5vbmVGb3JEaXNwbGF5Q29udGVudHMoY29u
c3QgRWxlbWVudCYgZWxlbWVudCkKICAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LWRpc3BsYXktMy8jdW5ib3gtaHRtbAogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoU2V0
PEF0b21pY1N0cmluZz4+IHRhZ05hbWVzID0gW10gewogICAgICAgICBzdGF0aWMgY29uc3QgSFRN
TFF1YWxpZmllZE5hbWUqIGNvbnN0IHRhZ0xpc3RbXSA9IHsKLSAgICAgICAgICAgICZiclRhZywK
LSAgICAgICAgICAgICZ3YnJUYWcsCi0gICAgICAgICAgICAmbWV0ZXJUYWcsCi0gICAgICAgICAg
ICAmYXBwbGV0VGFnLAotICAgICAgICAgICAgJnByb2dyZXNzVGFnLAotICAgICAgICAgICAgJmNh
bnZhc1RhZywKLSAgICAgICAgICAgICZlbWJlZFRhZywKLSAgICAgICAgICAgICZvYmplY3RUYWcs
Ci0gICAgICAgICAgICAmYXVkaW9UYWcsCi0gICAgICAgICAgICAmaWZyYW1lVGFnLAotICAgICAg
ICAgICAgJmltZ1RhZywKLSAgICAgICAgICAgICZ2aWRlb1RhZywKLSAgICAgICAgICAgICZmcmFt
ZVRhZywKLSAgICAgICAgICAgICZmcmFtZXNldFRhZywKLSAgICAgICAgICAgICZpbnB1dFRhZywK
LSAgICAgICAgICAgICZ0ZXh0YXJlYVRhZywKLSAgICAgICAgICAgICZzZWxlY3RUYWcsCisgICAg
ICAgICAgICAmYnJUYWcuZ2V0KCksCisgICAgICAgICAgICAmd2JyVGFnLmdldCgpLAorICAgICAg
ICAgICAgJm1ldGVyVGFnLmdldCgpLAorICAgICAgICAgICAgJmFwcGxldFRhZy5nZXQoKSwKKyAg
ICAgICAgICAgICZwcm9ncmVzc1RhZy5nZXQoKSwKKyAgICAgICAgICAgICZjYW52YXNUYWcuZ2V0
KCksCisgICAgICAgICAgICAmZW1iZWRUYWcuZ2V0KCksCisgICAgICAgICAgICAmb2JqZWN0VGFn
LmdldCgpLAorICAgICAgICAgICAgJmF1ZGlvVGFnLmdldCgpLAorICAgICAgICAgICAgJmlmcmFt
ZVRhZy5nZXQoKSwKKyAgICAgICAgICAgICZpbWdUYWcuZ2V0KCksCisgICAgICAgICAgICAmdmlk
ZW9UYWcuZ2V0KCksCisgICAgICAgICAgICAmZnJhbWVUYWcuZ2V0KCksCisgICAgICAgICAgICAm
ZnJhbWVzZXRUYWcuZ2V0KCksCisgICAgICAgICAgICAmaW5wdXRUYWcuZ2V0KCksCisgICAgICAg
ICAgICAmdGV4dGFyZWFUYWcuZ2V0KCksCisgICAgICAgICAgICAmc2VsZWN0VGFnLmdldCgpLAog
ICAgICAgICB9OwogICAgICAgICBIYXNoU2V0PEF0b21pY1N0cmluZz4gc2V0OwogICAgICAgICBm
b3IgKGF1dG8mIG5hbWUgOiB0YWdMaXN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0
b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5jcHAKaW5kZXggODQ5NjIwNjZlYjEzY2M0ZWZkNjgxNDYy
YzU4MjY2ZmE1ZmExYmIyNi4uMjA3ZWUwNWJkYzY3NTVjZTdmOTJhOWUzZmU0OWI1YThkZjQ5NzNm
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1
ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVl
dWUuY3BwCkBAIC0xOTgsNyArMTk4LDcgQEAgdm9pZCBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1
ZTo6ZW5xdWV1ZVBvc3RVcGdyYWRlUmVhY3Rpb25zKEVsZW1lbnQmIGVsZW1lbnQpCiAKIGJvb2wg
Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6Om9ic2VydmVzU3R5bGVBdHRyaWJ1dGUoKSBjb25z
dAogewotICAgIHJldHVybiBtX2ludGVyZmFjZS0+b2JzZXJ2ZXNBdHRyaWJ1dGUoSFRNTE5hbWVz
OjpzdHlsZUF0dHIubG9jYWxOYW1lKCkpOworICAgIHJldHVybiBtX2ludGVyZmFjZS0+b2JzZXJ2
ZXNBdHRyaWJ1dGUoSFRNTE5hbWVzOjpzdHlsZUF0dHItPmxvY2FsTmFtZSgpKTsKIH0KIAogdm9p
ZCBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6aW52b2tlQWxsKEVsZW1lbnQmIGVsZW1lbnQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAxYTIyMGZkMDI2Zjc3MzkzOTE5MWU1OGMwYTQ2
YmRmYjUzOTNiZTg2Li4xZjMzOGVmM2JiZWU5OThkNzFlOGEwYzFjMGZlZTA5MmVmZDMzODNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTExNTEsMTggKzExNTEsMTggQEAgQ3VzdG9tRWxl
bWVudE5hbWVWYWxpZGF0aW9uU3RhdHVzIERvY3VtZW50Ojp2YWxpZGF0ZUN1c3RvbUVsZW1lbnRO
YW1lKGNvbnN0IEF0b20KICAgICAgICAgcmV0dXJuIEN1c3RvbUVsZW1lbnROYW1lVmFsaWRhdGlv
blN0YXR1czo6Q29udGFpbnNOb0h5cGhlbjsKIAogI2lmIEVOQUJMRShNQVRITUwpCi0gICAgY29u
c3QgYXV0byYgYW5ub3RhdGlvblhtbExvY2FsTmFtZSA9IE1hdGhNTE5hbWVzOjphbm5vdGF0aW9u
X3htbFRhZy5sb2NhbE5hbWUoKTsKKyAgICBjb25zdCBhdXRvJiBhbm5vdGF0aW9uWG1sTG9jYWxO
YW1lID0gTWF0aE1MTmFtZXM6OmFubm90YXRpb25feG1sVGFnLT5sb2NhbE5hbWUoKTsKICNlbHNl
CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0b21pY1N0cmluZz4gYW5ub3RhdGlv
blhtbExvY2FsTmFtZSgiYW5ub3RhdGlvbi14bWwiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKTsKICNlbmRpZgogCi0gICAgaWYgKGxvY2FsTmFtZSA9PSBTVkdOYW1lczo6Y29s
b3JfcHJvZmlsZVRhZy5sb2NhbE5hbWUoKQotICAgICAgICB8fCBsb2NhbE5hbWUgPT0gU1ZHTmFt
ZXM6OmZvbnRfZmFjZVRhZy5sb2NhbE5hbWUoKQotICAgICAgICB8fCBsb2NhbE5hbWUgPT0gU1ZH
TmFtZXM6OmZvbnRfZmFjZV9mb3JtYXRUYWcubG9jYWxOYW1lKCkKLSAgICAgICAgfHwgbG9jYWxO
YW1lID09IFNWR05hbWVzOjpmb250X2ZhY2VfbmFtZVRhZy5sb2NhbE5hbWUoKQotICAgICAgICB8
fCBsb2NhbE5hbWUgPT0gU1ZHTmFtZXM6OmZvbnRfZmFjZV9zcmNUYWcubG9jYWxOYW1lKCkKLSAg
ICAgICAgfHwgbG9jYWxOYW1lID09IFNWR05hbWVzOjpmb250X2ZhY2VfdXJpVGFnLmxvY2FsTmFt
ZSgpCi0gICAgICAgIHx8IGxvY2FsTmFtZSA9PSBTVkdOYW1lczo6bWlzc2luZ19nbHlwaFRhZy5s
b2NhbE5hbWUoKQorICAgIGlmIChsb2NhbE5hbWUgPT0gU1ZHTmFtZXM6OmNvbG9yX3Byb2ZpbGVU
YWctPmxvY2FsTmFtZSgpCisgICAgICAgIHx8IGxvY2FsTmFtZSA9PSBTVkdOYW1lczo6Zm9udF9m
YWNlVGFnLT5sb2NhbE5hbWUoKQorICAgICAgICB8fCBsb2NhbE5hbWUgPT0gU1ZHTmFtZXM6OmZv
bnRfZmFjZV9mb3JtYXRUYWctPmxvY2FsTmFtZSgpCisgICAgICAgIHx8IGxvY2FsTmFtZSA9PSBT
VkdOYW1lczo6Zm9udF9mYWNlX25hbWVUYWctPmxvY2FsTmFtZSgpCisgICAgICAgIHx8IGxvY2Fs
TmFtZSA9PSBTVkdOYW1lczo6Zm9udF9mYWNlX3NyY1RhZy0+bG9jYWxOYW1lKCkKKyAgICAgICAg
fHwgbG9jYWxOYW1lID09IFNWR05hbWVzOjpmb250X2ZhY2VfdXJpVGFnLT5sb2NhbE5hbWUoKQor
ICAgICAgICB8fCBsb2NhbE5hbWUgPT0gU1ZHTmFtZXM6Om1pc3NpbmdfZ2x5cGhUYWctPmxvY2Fs
TmFtZSgpCiAgICAgICAgIHx8IGxvY2FsTmFtZSA9PSBhbm5vdGF0aW9uWG1sTG9jYWxOYW1lKQog
ICAgICAgICByZXR1cm4gQ3VzdG9tRWxlbWVudE5hbWVWYWxpZGF0aW9uU3RhdHVzOjpDb25mbGlj
dHNXaXRoU3RhbmRhcmRFbGVtZW50TmFtZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDY1
YjE3NzAwZDViYTU0ZjMyOWM5YTJiZmFkZWYxMmJkZjIyODVhYTIuLmFkNTYwMjcyMDM3MWFjZWQy
NzE3MjgzZDU3N2M5MjBhOGE5NDk0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTQ2Myw3
ICs0NjMsNyBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBib29sIGlzU3R5bGVBdHRyaWJ1dGUoY29u
c3QgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgQXRvbWljUwogewogICAgIGlmIChzaG91bGRJZ25v
cmVBdHRyaWJ1dGVDYXNlKGVsZW1lbnQpKQogICAgICAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2UoYXR0cmlidXRlTG9jYWxOYW1lLCAic3R5bGUiKTsKLSAgICByZXR1cm4g
YXR0cmlidXRlTG9jYWxOYW1lID09IHN0eWxlQXR0ci5sb2NhbE5hbWUoKTsKKyAgICByZXR1cm4g
YXR0cmlidXRlTG9jYWxOYW1lID09IHN0eWxlQXR0ci0+bG9jYWxOYW1lKCk7CiB9CiAKIEFMV0FZ
U19JTkxJTkUgdm9pZCBFbGVtZW50OjpzeW5jaHJvbml6ZUF0dHJpYnV0ZShjb25zdCBBdG9taWNT
dHJpbmcmIGxvY2FsTmFtZSkgY29uc3QKQEAgLTE4MTYsMjMgKzE4MTYsMjMgQEAgc3RhdGljIGJv
b2wgY2FuQXR0YWNoQXV0aG9yU2hhZG93Um9vdChjb25zdCBFbGVtZW50JiBlbGVtZW50KQogewog
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoU2V0PEF0b21pY1N0cmluZz4+IHRhZ05hbWVz
ID0gW10gewogICAgICAgICBzdGF0aWMgY29uc3QgSFRNTFF1YWxpZmllZE5hbWUqIGNvbnN0IHRh
Z0xpc3RbXSA9IHsKLSAgICAgICAgICAgICZhcnRpY2xlVGFnLAotICAgICAgICAgICAgJmFzaWRl
VGFnLAotICAgICAgICAgICAgJmJsb2NrcXVvdGVUYWcsCi0gICAgICAgICAgICAmYm9keVRhZywK
LSAgICAgICAgICAgICZkaXZUYWcsCi0gICAgICAgICAgICAmZm9vdGVyVGFnLAotICAgICAgICAg
ICAgJmgxVGFnLAotICAgICAgICAgICAgJmgyVGFnLAotICAgICAgICAgICAgJmgzVGFnLAotICAg
ICAgICAgICAgJmg0VGFnLAotICAgICAgICAgICAgJmg1VGFnLAotICAgICAgICAgICAgJmg2VGFn
LAotICAgICAgICAgICAgJmhlYWRlclRhZywKLSAgICAgICAgICAgICZuYXZUYWcsCi0gICAgICAg
ICAgICAmcFRhZywKLSAgICAgICAgICAgICZzZWN0aW9uVGFnLAotICAgICAgICAgICAgJnNwYW5U
YWcKKyAgICAgICAgICAgICZhcnRpY2xlVGFnLmdldCgpLAorICAgICAgICAgICAgJmFzaWRlVGFn
LmdldCgpLAorICAgICAgICAgICAgJmJsb2NrcXVvdGVUYWcuZ2V0KCksCisgICAgICAgICAgICAm
Ym9keVRhZy5nZXQoKSwKKyAgICAgICAgICAgICZkaXZUYWcuZ2V0KCksCisgICAgICAgICAgICAm
Zm9vdGVyVGFnLmdldCgpLAorICAgICAgICAgICAgJmgxVGFnLmdldCgpLAorICAgICAgICAgICAg
JmgyVGFnLmdldCgpLAorICAgICAgICAgICAgJmgzVGFnLmdldCgpLAorICAgICAgICAgICAgJmg0
VGFnLmdldCgpLAorICAgICAgICAgICAgJmg1VGFnLmdldCgpLAorICAgICAgICAgICAgJmg2VGFn
LmdldCgpLAorICAgICAgICAgICAgJmhlYWRlclRhZy5nZXQoKSwKKyAgICAgICAgICAgICZuYXZU
YWcuZ2V0KCksCisgICAgICAgICAgICAmcFRhZy5nZXQoKSwKKyAgICAgICAgICAgICZzZWN0aW9u
VGFnLmdldCgpLAorICAgICAgICAgICAgJnNwYW5UYWcuZ2V0KCkKICAgICAgICAgfTsKICAgICAg
ICAgSGFzaFNldDxBdG9taWNTdHJpbmc+IHNldDsKICAgICAgICAgZm9yIChhdXRvJiBuYW1lIDog
dGFnTGlzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50RGF0YS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudERhdGEuY3BwCmluZGV4IDRiOWViZjg4OTQ4MTlk
NGUzZDJhYmE2Y2ZjNGIxNjY1ZDE4N2YyNmYuLjk1MTUzMDU1ODRiYTQxZTZhZjQ3YWEzOTQ0ZjE5
MThiZGNkMmRmODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50RGF0YS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnREYXRhLmNwcApAQCAtMTg5LDE4ICsx
ODksMTggQEAgQXR0cmlidXRlKiBVbmlxdWVFbGVtZW50RGF0YTo6ZmluZEF0dHJpYnV0ZUJ5TmFt
ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKQogCiBjb25zdCBBdHRyaWJ1dGUqIEVsZW1lbnRE
YXRhOjpmaW5kTGFuZ3VhZ2VBdHRyaWJ1dGUoKSBjb25zdAogewotICAgIEFTU0VSVChYTUxOYW1l
czo6bGFuZ0F0dHIubG9jYWxOYW1lKCkgPT0gSFRNTE5hbWVzOjpsYW5nQXR0ci5sb2NhbE5hbWUo
KSk7CisgICAgQVNTRVJUKFhNTE5hbWVzOjpsYW5nQXR0ci0+bG9jYWxOYW1lKCkgPT0gSFRNTE5h
bWVzOjpsYW5nQXR0ci0+bG9jYWxOYW1lKCkpOwogCiAgICAgY29uc3QgQXR0cmlidXRlKiBhdHRy
aWJ1dGVzID0gYXR0cmlidXRlQmFzZSgpOwogICAgIC8vIFNwZWM6IHhtbDpsYW5nIHRha2VzIHBy
ZWNlZGVuY2Ugb3ZlciBodG1sOmxhbmcgLS0gaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxLyND
XzcKICAgICBjb25zdCBBdHRyaWJ1dGUqIGxhbmd1YWdlQXR0cmlidXRlID0gbnVsbHB0cjsKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwLCBjb3VudCA9IGxlbmd0aCgpOyBpIDwgY291bnQ7ICsraSkg
ewogICAgICAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lID0gYXR0cmlidXRlc1tpXS5uYW1l
KCk7Ci0gICAgICAgIGlmIChuYW1lLmxvY2FsTmFtZSgpICE9IEhUTUxOYW1lczo6bGFuZ0F0dHIu
bG9jYWxOYW1lKCkpCisgICAgICAgIGlmIChuYW1lLmxvY2FsTmFtZSgpICE9IEhUTUxOYW1lczo6
bGFuZ0F0dHItPmxvY2FsTmFtZSgpKQogICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlm
IChuYW1lLm5hbWVzcGFjZVVSSSgpID09IFhNTE5hbWVzOjpsYW5nQXR0ci5uYW1lc3BhY2VVUkko
KSkKKyAgICAgICAgaWYgKG5hbWUubmFtZXNwYWNlVVJJKCkgPT0gWE1MTmFtZXM6OmxhbmdBdHRy
LT5uYW1lc3BhY2VVUkkoKSkKICAgICAgICAgICAgIHJldHVybiAmYXR0cmlidXRlc1tpXTsKLSAg
ICAgICAgaWYgKG5hbWUubmFtZXNwYWNlVVJJKCkgPT0gSFRNTE5hbWVzOjpsYW5nQXR0ci5uYW1l
c3BhY2VVUkkoKSkKKyAgICAgICAgaWYgKG5hbWUubmFtZXNwYWNlVVJJKCkgPT0gSFRNTE5hbWVz
OjpsYW5nQXR0ci0+bmFtZXNwYWNlVVJJKCkpCiAgICAgICAgICAgICBsYW5ndWFnZUF0dHJpYnV0
ZSA9ICZhdHRyaWJ1dGVzW2ldOwogICAgIH0KICAgICByZXR1cm4gbGFuZ3VhZ2VBdHRyaWJ1dGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCmluZGV4IDlkYTY0YmZhOWI0OGY4OGZhOTNhMWI0ODk4
ODc3NTllOTMxZTk5MmMuLjRiZjRjMGY0MzZiOGVmNWY2ZGU0MWRiMWFiNDIxMTVhZjg4YjY4OGMg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCkBAIC00ODYsNyArNDg2LDcgQEAgc3ViIHByaW50
Q29uc3RydWN0b3JzCiAgICAgICAgIGlmICgkZW5hYmxlZFRhZ3N7JHRhZ05hbWV9e21hcFRvVGFn
TmFtZX0pIHsKICAgICAgICAgICAgIG15ICRtYXBwZWROYW1lID0gJGVuYWJsZWRUYWdzeyR0YWdO
YW1lfXttYXBUb1RhZ05hbWV9OwogICAgICAgICAgICAgcHJpbnRDb25zdHJ1Y3RvclNpZ25hdHVy
ZSgkRiwgJG1hcHBlZE5hbWUsICRtYXBwZWROYW1lIC4gIlRvIiAuICR0YWdOYW1lLCAidGFnTmFt
ZSIpOwotICAgICAgICAgICAgcHJpbnRDb25zdHJ1Y3RvckludGVyaW9yKCRGLCAkbWFwcGVkTmFt
ZSwgJGVuYWJsZWRUYWdzeyRtYXBwZWROYW1lfXtpbnRlcmZhY2VOYW1lfSwgIlF1YWxpZmllZE5h
bWUodGFnTmFtZS5wcmVmaXgoKSwgJHttYXBwZWROYW1lfVRhZy5sb2NhbE5hbWUoKSwgdGFnTmFt
ZS5uYW1lc3BhY2VVUkkoKSkiKTsKKyAgICAgICAgICAgIHByaW50Q29uc3RydWN0b3JJbnRlcmlv
cigkRiwgJG1hcHBlZE5hbWUsICRlbmFibGVkVGFnc3skbWFwcGVkTmFtZX17aW50ZXJmYWNlTmFt
ZX0sICJRdWFsaWZpZWROYW1lKHRhZ05hbWUucHJlZml4KCksICR7bWFwcGVkTmFtZX1UYWctPmxv
Y2FsTmFtZSgpLCB0YWdOYW1lLm5hbWVzcGFjZVVSSSgpKSIpOwogICAgICAgICB9CiAgICAgfQog
fQpAQCAtNzE2LDIxICs3MTYsMjUgQEAgc3ViIHByaW50TmFtZXNIZWFkZXJGaWxlCiAgICAgb3Bl
biBGLCAiPiRoZWFkZXJQYXRoIjsKIAogICAgIHByaW50TGljZW5zZUhlYWRlcigkRik7Ci0gICAg
cHJpbnRIZWFkZXJIZWFkKCRGLCAiRE9NIiwgJHBhcmFtZXRlcnN7bmFtZXNwYWNlfSwgJyNpbmNs
dWRlICJRdWFsaWZpZWROYW1lLmgiJywgImNsYXNzICRwYXJhbWV0ZXJze25hbWVzcGFjZX1RdWFs
aWZpZWROYW1lIDogcHVibGljIFF1YWxpZmllZE5hbWUgeyB9O1xuXG4iKTsKKyAgICBwcmludEhl
YWRlckhlYWQoJEYsICJET00iLCAkcGFyYW1ldGVyc3tuYW1lc3BhY2V9LCA8PEVORCwgImNsYXNz
ICRwYXJhbWV0ZXJze25hbWVzcGFjZX1RdWFsaWZpZWROYW1lIDogcHVibGljIFF1YWxpZmllZE5h
bWUgeyB9O1xuXG4iKTsKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKyNpbmNsdWRlICJRdWFsaWZpZWROYW1lLmgiCitF
TkQKIAogICAgIG15ICRsb3dlcmNhc2VOYW1lc3BhY2VQcmVmaXggPSBsYygkcGFyYW1ldGVyc3tu
YW1lc3BhY2VQcmVmaXh9KTsKIAogICAgIHByaW50IEYgIi8vIE5hbWVzcGFjZVxuIjsKLSAgICBw
cmludCBGICJXRUJDT1JFX0VYUE9SVCBleHRlcm4gY29uc3QgV1RGOjpBdG9taWNTdHJpbmcgJHts
b3dlcmNhc2VOYW1lc3BhY2VQcmVmaXh9TmFtZXNwYWNlVVJJO1xuXG4iOworICAgIHByaW50IEYg
IldFQkNPUkVfRVhQT1JUIGV4dGVybiBMYXp5TmV2ZXJEZXN0cm95ZWQ8Y29uc3QgV1RGOjpBdG9t
aWNTdHJpbmc+ICR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4fU5hbWVzcGFjZVVSSTtcblxuIjsK
IAogICAgIGlmIChrZXlzICVhbGxUYWdzKSB7CiAgICAgICAgIHByaW50IEYgIi8vIFRhZ3NcbiI7
Ci0gICAgICAgIHByaW50TWFjcm9zKCRGLCAiV0VCQ09SRV9FWFBPUlQgZXh0ZXJuIGNvbnN0IFdl
YkNvcmU6OiRwYXJhbWV0ZXJze25hbWVzcGFjZX1RdWFsaWZpZWROYW1lIiwgIlRhZyIsIFwlYWxs
VGFncyk7CisgICAgICAgIHByaW50TWFjcm9zKCRGLCAiV0VCQ09SRV9FWFBPUlQgZXh0ZXJuIExh
enlOZXZlckRlc3Ryb3llZDxjb25zdCBXZWJDb3JlOjokcGFyYW1ldGVyc3tuYW1lc3BhY2V9UXVh
bGlmaWVkTmFtZT4iLCAiVGFnIiwgXCVhbGxUYWdzKTsKICAgICB9CiAKICAgICBpZiAoa2V5cyAl
YWxsQXR0cnMpIHsKICAgICAgICAgcHJpbnQgRiAiLy8gQXR0cmlidXRlc1xuIjsKLSAgICAgICAg
cHJpbnRNYWNyb3MoJEYsICJXRUJDT1JFX0VYUE9SVCBleHRlcm4gY29uc3QgV2ViQ29yZTo6UXVh
bGlmaWVkTmFtZSIsICJBdHRyIiwgXCVhbGxBdHRycyk7CisgICAgICAgIHByaW50TWFjcm9zKCRG
LCAiV0VCQ09SRV9FWFBPUlQgZXh0ZXJuIExhenlOZXZlckRlc3Ryb3llZDxjb25zdCBXZWJDb3Jl
OjpRdWFsaWZpZWROYW1lPiIsICJBdHRyIiwgXCVhbGxBdHRycyk7CiAgICAgfQogICAgIHByaW50
IEYgIiNlbmRpZlxuXG4iOwogCkBAIC03NTksMTQgKzc2MywxNCBAQCBzdWIgcHJpbnROYW1lc0Nw
cEZpbGUKICAgICAKICAgICBteSAkbG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4ID0gbGMoJHBhcmFt
ZXRlcnN7bmFtZXNwYWNlUHJlZml4fSk7CiAKLSAgICBwcmludCBGICJXRUJDT1JFX0VYUE9SVCBE
RUZJTkVfR0xPQkFMKEF0b21pY1N0cmluZywgJHtsb3dlcmNhc2VOYW1lc3BhY2VQcmVmaXh9TmFt
ZXNwYWNlVVJJKVxuXG4iOworICAgIHByaW50IEYgIkxhenlOZXZlckRlc3Ryb3llZDxjb25zdCBB
dG9taWNTdHJpbmc+ICR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4fU5hbWVzcGFjZVVSSTtcblxu
IjsKIAogICAgIHByaW50IEYgU3RhdGljU3RyaW5nOjpHZW5lcmF0ZVN0cmluZ3MoXCVhbGxTdHJp
bmdzKTsKIAogICAgIGlmIChrZXlzICVhbGxUYWdzKSB7CiAgICAgICAgIHByaW50IEYgIi8vIFRh
Z3NcbiI7CiAgICAgICAgIGZvciBteSAkbmFtZSAoc29ydCBrZXlzICVhbGxUYWdzKSB7Ci0gICAg
ICAgICAgICBwcmludCBGICJXRUJDT1JFX0VYUE9SVCBERUZJTkVfR0xPQkFMKCRwYXJhbWV0ZXJz
e25hbWVzcGFjZX1RdWFsaWZpZWROYW1lLCAiLCAkbmFtZSwgIlRhZylcbiI7CisgICAgICAgICAg
ICBwcmludCBGICJXRUJDT1JFX0VYUE9SVCBMYXp5TmV2ZXJEZXN0cm95ZWQ8Y29uc3QgJHBhcmFt
ZXRlcnN7bmFtZXNwYWNlfVF1YWxpZmllZE5hbWU+ICR7bmFtZX1UYWc7XG4iOwogICAgICAgICB9
CiAgICAgICAgIAogICAgICAgICBwcmludCBGICJcblxuY29uc3QgV2ViQ29yZTo6JHBhcmFtZXRl
cnN7bmFtZXNwYWNlfVF1YWxpZmllZE5hbWUqIGNvbnN0KiBnZXQkcGFyYW1ldGVyc3tuYW1lc3Bh
Y2V9VGFncygpXG4iOwpAQCAtNzgyLDcgKzc4Niw3IEBAIHN1YiBwcmludE5hbWVzQ3BwRmlsZQog
ICAgIGlmIChrZXlzICVhbGxBdHRycykgewogICAgICAgICBwcmludCBGICJcbi8vIEF0dHJpYnV0
ZXNcbiI7CiAgICAgICAgIGZvciBteSAkbmFtZSAoc29ydCBrZXlzICVhbGxBdHRycykgewotICAg
ICAgICAgICAgcHJpbnQgRiAiV0VCQ09SRV9FWFBPUlQgREVGSU5FX0dMT0JBTChRdWFsaWZpZWRO
YW1lLCAiLCAkbmFtZSwgIkF0dHIpXG4iOworICAgICAgICAgICAgcHJpbnQgRiAiV0VCQ09SRV9F
WFBPUlQgTGF6eU5ldmVyRGVzdHJveWVkPGNvbnN0IFF1YWxpZmllZE5hbWU+ICR7bmFtZX1BdHRy
O1xuIjsKICAgICAgICAgfQogICAgICAgICBwcmludCBGICJcblxuY29uc3QgV2ViQ29yZTo6UXVh
bGlmaWVkTmFtZSogY29uc3QqIGdldCRwYXJhbWV0ZXJze25hbWVzcGFjZX1BdHRycygpXG4iOwog
ICAgICAgICBwcmludCBGICJ7XG4gICAgc3RhdGljIGNvbnN0IFdlYkNvcmU6OlF1YWxpZmllZE5h
bWUqIGNvbnN0ICRwYXJhbWV0ZXJze25hbWVzcGFjZX1BdHRyc1tdID0ge1xuIjsKQEAgLTc5OSw3
ICs4MDMsNyBAQCBzdWIgcHJpbnROYW1lc0NwcEZpbGUKICAgICBwcmludChGICIgICAgQXRvbWlj
U3RyaW5nICR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4fU5TKFwiJHBhcmFtZXRlcnN7bmFtZXNw
YWNlVVJJfVwiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTtcblxuIik7CiAK
ICAgICBwcmludChGICIgICAgLy8gTmFtZXNwYWNlXG4iKTsKLSAgICBwcmludChGICIgICAgbmV3
IChOb3ROdWxsLCAodm9pZCopJiR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4fU5hbWVzcGFjZVVS
SSkgQXRvbWljU3RyaW5nKCR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4fU5TKTtcbiIpOworICAg
IHByaW50KEYgIiAgICAke2xvd2VyY2FzZU5hbWVzcGFjZVByZWZpeH1OYW1lc3BhY2VVUkkuY29u
c3RydWN0KCR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4fU5TKTtcbiIpOwogICAgIHByaW50KEYg
IlxuIik7CiAgICAgcHJpbnQgRiBTdGF0aWNTdHJpbmc6OkdlbmVyYXRlU3RyaW5nQXNzZXJ0cyhc
JWFsbFN0cmluZ3MpOwogCkBAIC04OTksMzEgKzkwMywyOCBAQCBzdWIgcHJpbnREZWZpbml0aW9u
cwogICAgIG15ICRzaG9ydENhbWVsVHlwZSA9IHVjZmlyc3Qoc3Vic3RyKHN1YnN0cigkdHlwZSwg
MCwgLTEpLCAwLCA0KSk7CiAgICAgbXkgJGNhcGl0YWxpemVkVHlwZSA9IHVjZmlyc3QoJHR5cGUp
OwogICAgIAotcHJpbnQgRiA8PEVORAorcHJpbnQgRiA8PEVORDsKIAogICAgIHN0cnVjdCAke2Nh
cGl0YWxpemVkVHlwZX1UYWJsZUVudHJ5IHsKLSAgICAgICAgdm9pZCogdGFyZ2V0QWRkcmVzczsK
KyAgICAgICAgTGF6eU5ldmVyRGVzdHJveWVkPGNvbnN0IFF1YWxpZmllZE5hbWU+KiB0YXJnZXRB
ZGRyZXNzOwogICAgICAgICBjb25zdCBTdGF0aWNTdHJpbmdJbXBsJiBuYW1lOwogICAgIH07CiAK
ICAgICBzdGF0aWMgY29uc3QgJHtjYXBpdGFsaXplZFR5cGV9VGFibGVFbnRyeSAke3R5cGV9VGFi
bGVbXSA9IHsKIEVORAotOworCisgICAgbXkgJGNhc3QgPSAkdHlwZSBlcSAidGFncyIgPyAiKExh
enlOZXZlckRlc3Ryb3llZDxjb25zdCBRdWFsaWZpZWROYW1lPiopIiA6ICIiOwogICAgIGZvciBt
eSAkbmFtZSAoc29ydCBrZXlzICUkbmFtZXNSZWYpIHsKLSAgICAgICAgcHJpbnQgRiAiICAgICAg
ICB7ICh2b2lkKikmJG5hbWUkc2hvcnRDYW1lbFR5cGUsICooJiR7bmFtZX1EYXRhKSB9LFxuIjsK
KyAgICAgICAgcHJpbnQgRiAiICAgICAgICB7ICRjYXN0JiRuYW1lJHNob3J0Q2FtZWxUeXBlLCAq
KCYke25hbWV9RGF0YSkgfSxcbiI7CiAgICAgfQogCi1wcmludCBGIDw8RU5ECitwcmludCBGIDw8
RU5EOwogICAgIH07CiAKICAgICBmb3IgKGF1dG8mIGVudHJ5IDogJHt0eXBlfVRhYmxlKQorICAg
ICAgICBlbnRyeS50YXJnZXRBZGRyZXNzLT5jb25zdHJ1Y3QobnVsbEF0b20oKSwgQXRvbWljU3Ry
aW5nKCZlbnRyeS5uYW1lKSwgJG5hbWVzcGFjZVVSSSk7CiBFTkQKLTsKLSAgICBpZiAoJG5hbWVz
cGFjZVVSSSBlcSAibnVsbEF0b20oKSIpIHsKLSAgICAgICAgcHJpbnQgRiAiICAgICAgICBjcmVh
dGVRdWFsaWZpZWROYW1lKGVudHJ5LnRhcmdldEFkZHJlc3MsICZlbnRyeS5uYW1lKTtcbiI7Ci0g
ICAgfSBlbHNlIHsKLSAgICAgICAgcHJpbnQgRiAiICAgICAgICBjcmVhdGVRdWFsaWZpZWROYW1l
KGVudHJ5LnRhcmdldEFkZHJlc3MsICZlbnRyeS5uYW1lLCAkbmFtZXNwYWNlVVJJKTtcbiI7Ci0g
ICAgfQorCiB9CiAKICMjIEVsZW1lbnRGYWN0b3J5IHJvdXRpbmVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb21qaXQvSlNEb2N1bWVudERPTUpJVC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b21qaXQvSlNEb2N1bWVudERPTUpJVC5jcHAKaW5kZXggZTZlNDQ3NTI2ZWRiOGI0MjYwYzM0MTBm
OTNmZWViYjk3OTIxZjQ3Mi4uYjgzM2EzODJhZGQ3MTdjZjkwNjNmMWIyZjhkYThmY2M4OGZlMzg3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9taml0L0pTRG9jdW1lbnRET01KSVQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbWppdC9KU0RvY3VtZW50RE9NSklULmNwcApAQCAtMTAy
LDcgKzEwMiw3IEBAIFJlZjxKU0M6OkRPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBwZXQ+IGNvbXBp
bGVEb2N1bWVudEJvZHlBdHRyaWJ1dGUoKQogICAgICAgICAvLyBXZSBlbnN1cmVkIHRoYXQgdGhl
IG5hbWUgb2YgdGhlIGdpdmVuIGVsZW1lbnQgaXMgSFRNTCBxdWFsaWZpZWQuCiAgICAgICAgIC8v
IEl0IGFsbG93cyB1cyB0byBwZXJmb3JtIGxvY2FsIG5hbWUgY29tcGFyaXNvbiEKICAgICAgICAg
bG9hZExvY2FsTmFtZShqaXQsIHNjcmF0Y2gxLCBzY3JhdGNoMik7Ci0gICAgICAgIG51bGxDYXNl
cy5hcHBlbmQoaml0LmJyYW5jaFB0cihDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLCBzY3JhdGNoMiwg
Q0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKEhUTUxOYW1lczo6aHRtbFRhZy5sb2NhbE5hbWUo
KS5pbXBsKCkpKSk7CisgICAgICAgIG51bGxDYXNlcy5hcHBlbmQoaml0LmJyYW5jaFB0cihDQ2Fs
bEhlbHBlcnM6Ok5vdEVxdWFsLCBzY3JhdGNoMiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRy
KEhUTUxOYW1lczo6aHRtbFRhZy0+bG9jYWxOYW1lKCkuaW1wbCgpKSkpOwogCiAgICAgICAgIFJF
TEVBU0VfQVNTRVJUKCFDQVNUX09GRlNFVChOb2RlKiwgQ29udGFpbmVyTm9kZSopKTsKICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoIUNBU1RfT0ZGU0VUKE5vZGUqLCBFbGVtZW50KikpOwpAQCAtMTIw
LDggKzEyMCw4IEBAIFJlZjxKU0M6OkRPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBwZXQ+IGNvbXBp
bGVEb2N1bWVudEJvZHlBdHRyaWJ1dGUoKQogICAgICAgICAvLyBXZSBlbnN1cmVkIHRoYXQgdGhl
IG5hbWUgb2YgdGhlIGdpdmVuIGVsZW1lbnQgaXMgSFRNTCBxdWFsaWZpZWQuCiAgICAgICAgIC8v
IEl0IGFsbG93cyB1cyB0byBwZXJmb3JtIGxvY2FsIG5hbWUgY29tcGFyaXNvbiEKICAgICAgICAg
bG9hZExvY2FsTmFtZShqaXQsIHNjcmF0Y2gxLCBzY3JhdGNoMik7Ci0gICAgICAgIHN1Y2Nlc3ND
YXNlcy5hcHBlbmQoaml0LmJyYW5jaFB0cihDQ2FsbEhlbHBlcnM6OkVxdWFsLCBzY3JhdGNoMiwg
Q0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKEhUTUxOYW1lczo6Ym9keVRhZy5sb2NhbE5hbWUo
KS5pbXBsKCkpKSk7Ci0gICAgICAgIHN1Y2Nlc3NDYXNlcy5hcHBlbmQoaml0LmJyYW5jaFB0cihD
Q2FsbEhlbHBlcnM6OkVxdWFsLCBzY3JhdGNoMiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRy
KEhUTUxOYW1lczo6ZnJhbWVzZXRUYWcubG9jYWxOYW1lKCkuaW1wbCgpKSkpOworICAgICAgICBz
dWNjZXNzQ2FzZXMuYXBwZW5kKGppdC5icmFuY2hQdHIoQ0NhbGxIZWxwZXJzOjpFcXVhbCwgc2Ny
YXRjaDIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihIVE1MTmFtZXM6OmJvZHlUYWctPmxv
Y2FsTmFtZSgpLmltcGwoKSkpKTsKKyAgICAgICAgc3VjY2Vzc0Nhc2VzLmFwcGVuZChqaXQuYnJh
bmNoUHRyKENDYWxsSGVscGVyczo6RXF1YWwsIHNjcmF0Y2gyLCBDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW1QdHIoSFRNTE5hbWVzOjpmcmFtZXNldFRhZy0+bG9jYWxOYW1lKCkuaW1wbCgpKSkpOwog
CiAgICAgICAgIG5vdEhUTUxFbGVtZW50Q2FzZS5saW5rKCZqaXQpOwogICAgICAgICBqaXQubG9h
ZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaDEsIE5vZGU6Om5leHRTaWJsaW5nTWVt
b3J5T2Zmc2V0KCkpLCBzY3JhdGNoMSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXgg
YmUzZGE4ZWUyZjc1ZWJlMmU3NjdiYmE2ZTc3N2YwOTE1Zjk4ODIyNS4uODZhYmIxZGZkYTczY2Qw
YTdhZGZhOGE3Yzg2Nzk5YzdhZjBmZDhmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApA
QCAtMzIwNiw3ICszMjA2LDcgQEAgdm9pZCBFZGl0b3I6OnRleHREaWRDaGFuZ2VJblRleHRBcmVh
KEVsZW1lbnQqIGUpCiAKIHZvaWQgRWRpdG9yOjphcHBseUVkaXRpbmdTdHlsZVRvQm9keUVsZW1l
bnQoKSBjb25zdAogewotICAgIGF1dG8gY29sbGVjdGlvbiA9IGRvY3VtZW50KCkuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoSFRNTE5hbWVzOjpib2R5VGFnLmxvY2FsTmFtZSgpKTsKKyAgICBhdXRvIGNv
bGxlY3Rpb24gPSBkb2N1bWVudCgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKEhUTUxOYW1lczo6Ym9k
eVRhZy0+bG9jYWxOYW1lKCkpOwogICAgIHVuc2lnbmVkIGxlbmd0aCA9IGNvbGxlY3Rpb24tPmxl
bmd0aCgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkKICAgICAg
ICAgYXBwbHlFZGl0aW5nU3R5bGVUb0VsZW1lbnQoY29sbGVjdGlvbi0+aXRlbShpKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAppbmRleCAzNTUwMTFlZjc0ZjkyYTAw
NjI1NGVhMjNkMDNjMjg1YmI0ZmJhNDQ3Li5mMzQxNjA1ODYwOTcyOTA2NGRhNTA4NmM2NTI4YTVi
NTFjNjFhNzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1h
bmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKQEAg
LTE0NTAsOSArMTQ1MCw5IEBAIHN0YXRpYyBTdHJpbmcgdmFsdWVEZWZhdWx0UGFyYWdyYXBoU2Vw
YXJhdG9yKEZyYW1lJiBmcmFtZSwgRXZlbnQqKQogewogICAgIHN3aXRjaCAoZnJhbWUuZWRpdG9y
KCkuZGVmYXVsdFBhcmFncmFwaFNlcGFyYXRvcigpKSB7CiAgICAgY2FzZSBFZGl0b3JQYXJhZ3Jh
cGhTZXBhcmF0b3JJc0RpdjoKLSAgICAgICAgcmV0dXJuIGRpdlRhZy5sb2NhbE5hbWUoKTsKKyAg
ICAgICAgcmV0dXJuIGRpdlRhZy0+bG9jYWxOYW1lKCk7CiAgICAgY2FzZSBFZGl0b3JQYXJhZ3Jh
cGhTZXBhcmF0b3JJc1A6Ci0gICAgICAgIHJldHVybiBwVGFnLmxvY2FsTmFtZSgpOworICAgICAg
ICByZXR1cm4gcFRhZy0+bG9jYWxOYW1lKCk7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxh
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuY3BwCmlu
ZGV4IDE5ZDI1NGQyZDE3ZDRhZDViNDk5MzJkMDgzYzk0Y2ExZmM1MDA0ZmQuLjZiYmJlYjc0NTE0
NDFhZDM1NmIyMTAwMzljMzE2MTdiMWRmOGQzZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvTWFya3VwQWNjdW11bGF0b3IuY3BwCkBAIC0xNDcsOCArMTQ3LDggQEAgdm9pZCBNYXJrdXBB
Y2N1bXVsYXRvcjo6c2VyaWFsaXplTm9kZXNXaXRoTmFtZXNwYWNlcyhOb2RlJiB0YXJnZXROb2Rl
LCBFQ2hpbGRyZW4KICAgICAgICAgbmFtZXNwYWNlSGFzaCA9ICpuYW1lc3BhY2VzOwogICAgIGVs
c2UgaWYgKGluWE1MRnJhZ21lbnRTZXJpYWxpemF0aW9uKCkpIHsKICAgICAgICAgLy8gTWFrZSBz
dXJlIHhtbCBwcmVmaXggYW5kIG5hbWVzcGFjZSBhcmUgYWx3YXlzIGtub3duIHRvIHVwaG9sZCB0
aGUgY29uc3RyYWludHMgbGlzdGVkIGF0IGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1uYW1lczEx
LyN4bWxSZXNlcnZlZC4KLSAgICAgICAgbmFtZXNwYWNlSGFzaC5zZXQoeG1sQXRvbSgpLmltcGwo
KSwgWE1MTmFtZXM6OnhtbE5hbWVzcGFjZVVSSS5pbXBsKCkpOwotICAgICAgICBuYW1lc3BhY2VI
YXNoLnNldChYTUxOYW1lczo6eG1sTmFtZXNwYWNlVVJJLmltcGwoKSwgeG1sQXRvbSgpLmltcGwo
KSk7CisgICAgICAgIG5hbWVzcGFjZUhhc2guc2V0KHhtbEF0b20oKS5pbXBsKCksIFhNTE5hbWVz
Ojp4bWxOYW1lc3BhY2VVUkktPmltcGwoKSk7CisgICAgICAgIG5hbWVzcGFjZUhhc2guc2V0KFhN
TE5hbWVzOjp4bWxOYW1lc3BhY2VVUkktPmltcGwoKSwgeG1sQXRvbSgpLmltcGwoKSk7CiAgICAg
fQogCiAgICAgaWYgKCFjaGlsZHJlbk9ubHkpCkBAIC0zMDIsNyArMzAyLDcgQEAgdm9pZCBNYXJr
dXBBY2N1bXVsYXRvcjo6YXBwZW5kTmFtZXNwYWNlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29u
c3QgQXRvbWljU3RyaW4KICAgICAgICAgaWYgKGluWE1MRnJhZ21lbnRTZXJpYWxpemF0aW9uKCkg
JiYgIXByZWZpeC5pc0VtcHR5KCkpCiAgICAgICAgICAgICBuYW1lc3BhY2VzLnNldChuYW1lc3Bh
Y2VVUkkuaW1wbCgpLCBwcmUpOwogICAgICAgICAvLyBNYWtlIHN1cmUgeG1sIHByZWZpeCBhbmQg
bmFtZXNwYWNlIGFyZSBhbHdheXMga25vd24gdG8gdXBob2xkIHRoZSBjb25zdHJhaW50cyBsaXN0
ZWQgYXQgaHR0cDovL3d3dy53My5vcmcvVFIveG1sLW5hbWVzMTEvI3htbFJlc2VydmVkLgotICAg
ICAgICBpZiAobmFtZXNwYWNlVVJJLmltcGwoKSA9PSBYTUxOYW1lczo6eG1sTmFtZXNwYWNlVVJJ
LmltcGwoKSkKKyAgICAgICAgaWYgKG5hbWVzcGFjZVVSSS5pbXBsKCkgPT0gWE1MTmFtZXM6Onht
bE5hbWVzcGFjZVVSSS0+aW1wbCgpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICByZXN1
bHQuYXBwZW5kKCcgJyk7CiAgICAgICAgIHJlc3VsdC5hcHBlbmQoeG1sbnNBdG9tKCkuc3RyaW5n
KCkpOwpAQCAtNTk4LDggKzU5OCw5IEBAIGJvb2wgTWFya3VwQWNjdW11bGF0b3I6OmVsZW1lbnRD
YW5ub3RIYXZlRW5kVGFnKGNvbnN0IE5vZGUmIG5vZGUpCiAgICAgLy8gSWYgY3VycmVudCBub2Rl
IGlzIGFuIGFyZWEsIGJhc2UsIGJhc2Vmb250LCBiZ3NvdW5kLCBiciwgY29sLCBlbWJlZCwgZnJh
bWUsIGhyLCBpbWcsCiAgICAgLy8gaW5wdXQsIGtleWdlbiwgbGluaywgbWV0YSwgcGFyYW0sIHNv
dXJjZSwgdHJhY2sgb3Igd2JyIGVsZW1lbnQsIHRoZW4gY29udGludWUgb24gdG8KICAgICAvLyB0
aGUgbmV4dCBjaGlsZCBub2RlIGF0IHRoaXMgcG9pbnQuCi0gICAgc3RhdGljIGNvbnN0IEhUTUxR
dWFsaWZpZWROYW1lKiB0YWdzW10gPSB7ICZhcmVhVGFnLCAmYmFzZVRhZywgJmJhc2Vmb250VGFn
LCAmYmdzb3VuZFRhZywgJmJyVGFnLCAmY29sVGFnLCAmZW1iZWRUYWcsCi0gICAgICAgICZmcmFt
ZVRhZywgJmhyVGFnLCAmaW1nVGFnLCAmaW5wdXRUYWcsICZrZXlnZW5UYWcsICZsaW5rVGFnLCAm
bWV0YVRhZywgJnBhcmFtVGFnLCAmc291cmNlVGFnLCAmdHJhY2tUYWcsICZ3YnJUYWcgfTsKKyAg
ICBzdGF0aWMgY29uc3QgSFRNTFF1YWxpZmllZE5hbWUqIHRhZ3NbXSA9IHsgJmFyZWFUYWcuZ2V0
KCksICZiYXNlVGFnLmdldCgpLCAmYmFzZWZvbnRUYWcuZ2V0KCksICZiZ3NvdW5kVGFnLmdldCgp
LAorICAgICAgICAmYnJUYWcuZ2V0KCksICZjb2xUYWcuZ2V0KCksICZlbWJlZFRhZy5nZXQoKSwg
JmZyYW1lVGFnLmdldCgpLCAmaHJUYWcuZ2V0KCksICZpbWdUYWcuZ2V0KCksICZpbnB1dFRhZy5n
ZXQoKSwKKyAgICAgICAgJmtleWdlblRhZy5nZXQoKSwgJmxpbmtUYWcuZ2V0KCksICZtZXRhVGFn
LmdldCgpLCAmcGFyYW1UYWcuZ2V0KCksICZzb3VyY2VUYWcuZ2V0KCksICZ0cmFja1RhZy5nZXQo
KSwgJndiclRhZy5nZXQoKSB9OwogICAgIGF1dG8mIGVsZW1lbnQgPSBkb3duY2FzdDxIVE1MRWxl
bWVudD4obm9kZSk7CiAgICAgZm9yIChhdXRvKiB0YWcgOiB0YWdzKSB7CiAgICAgICAgIGlmIChl
bGVtZW50Lmhhc1RhZ05hbWUoKnRhZykpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCmluZGV4IGM0MjdmMTI0YWVkYTVhNTI3OGEzMzNk
OWZhOTY3NWY4NTIxODI3OTYuLjkzYThkYjBmNzNlNTY0MWY2ZDg0ZDQwNDFhMDQ4MDE4NGExMmUy
ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQuY3BwCkBAIC01NjgsNTQgKzU2OCw1NCBAQCBzdGF0aWMgYm9vbCBpc1Byb2hpYml0ZWRQ
YXJhZ3JhcGhDaGlsZChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpCiAgICAgLy8gaHR0cHM6Ly9k
dmNzLnczLm9yZy9oZy9lZGl0aW5nL3Jhdy1maWxlLzU3YWJlNmQzY2I2MC9lZGl0aW5nLmh0bWwj
cHJvaGliaXRlZC1wYXJhZ3JhcGgtY2hpbGQKICAgICBzdGF0aWMgY29uc3QgYXV0byBsb2NhbE5h
bWVzID0gbWFrZU5ldmVyRGVzdHJveWVkKFtdIHsKICAgICAgICAgc3RhdGljIGNvbnN0IEhUTUxR
dWFsaWZpZWROYW1lKiBjb25zdCB0YWdzW10gPSB7Ci0gICAgICAgICAgICAmYWRkcmVzc1RhZywK
LSAgICAgICAgICAgICZhcnRpY2xlVGFnLAotICAgICAgICAgICAgJmFzaWRlVGFnLAotICAgICAg
ICAgICAgJmJsb2NrcXVvdGVUYWcsCi0gICAgICAgICAgICAmY2FwdGlvblRhZywKLSAgICAgICAg
ICAgICZjZW50ZXJUYWcsCi0gICAgICAgICAgICAmY29sVGFnLAotICAgICAgICAgICAgJmNvbGdy
b3VwVGFnLAotICAgICAgICAgICAgJmRkVGFnLAotICAgICAgICAgICAgJmRldGFpbHNUYWcsCi0g
ICAgICAgICAgICAmZGlyVGFnLAotICAgICAgICAgICAgJmRpdlRhZywKLSAgICAgICAgICAgICZk
bFRhZywKLSAgICAgICAgICAgICZkdFRhZywKLSAgICAgICAgICAgICZmaWVsZHNldFRhZywKLSAg
ICAgICAgICAgICZmaWdjYXB0aW9uVGFnLAotICAgICAgICAgICAgJmZpZ3VyZVRhZywKLSAgICAg
ICAgICAgICZmb290ZXJUYWcsCi0gICAgICAgICAgICAmZm9ybVRhZywKLSAgICAgICAgICAgICZo
MVRhZywKLSAgICAgICAgICAgICZoMlRhZywKLSAgICAgICAgICAgICZoM1RhZywKLSAgICAgICAg
ICAgICZoNFRhZywKLSAgICAgICAgICAgICZoNVRhZywKLSAgICAgICAgICAgICZoNlRhZywKLSAg
ICAgICAgICAgICZoZWFkZXJUYWcsCi0gICAgICAgICAgICAmaGdyb3VwVGFnLAotICAgICAgICAg
ICAgJmhyVGFnLAotICAgICAgICAgICAgJmxpVGFnLAotICAgICAgICAgICAgJmxpc3RpbmdUYWcs
Ci0gICAgICAgICAgICAmbWFpblRhZywgLy8gTWlzc2luZyBpbiB0aGUgc3BlY2lmaWNhdGlvbi4K
LSAgICAgICAgICAgICZtZW51VGFnLAotICAgICAgICAgICAgJm5hdlRhZywKLSAgICAgICAgICAg
ICZvbFRhZywKLSAgICAgICAgICAgICZwVGFnLAotICAgICAgICAgICAgJnBsYWludGV4dFRhZywK
LSAgICAgICAgICAgICZwcmVUYWcsCi0gICAgICAgICAgICAmc2VjdGlvblRhZywKLSAgICAgICAg
ICAgICZzdW1tYXJ5VGFnLAotICAgICAgICAgICAgJnRhYmxlVGFnLAotICAgICAgICAgICAgJnRi
b2R5VGFnLAotICAgICAgICAgICAgJnRkVGFnLAotICAgICAgICAgICAgJnRmb290VGFnLAotICAg
ICAgICAgICAgJnRoVGFnLAotICAgICAgICAgICAgJnRoZWFkVGFnLAotICAgICAgICAgICAgJnRy
VGFnLAotICAgICAgICAgICAgJnVsVGFnLAotICAgICAgICAgICAgJnhtcFRhZywKKyAgICAgICAg
ICAgICZhZGRyZXNzVGFnLmdldCgpLAorICAgICAgICAgICAgJmFydGljbGVUYWcuZ2V0KCksCisg
ICAgICAgICAgICAmYXNpZGVUYWcuZ2V0KCksCisgICAgICAgICAgICAmYmxvY2txdW90ZVRhZy5n
ZXQoKSwKKyAgICAgICAgICAgICZjYXB0aW9uVGFnLmdldCgpLAorICAgICAgICAgICAgJmNlbnRl
clRhZy5nZXQoKSwKKyAgICAgICAgICAgICZjb2xUYWcuZ2V0KCksCisgICAgICAgICAgICAmY29s
Z3JvdXBUYWcuZ2V0KCksCisgICAgICAgICAgICAmZGRUYWcuZ2V0KCksCisgICAgICAgICAgICAm
ZGV0YWlsc1RhZy5nZXQoKSwKKyAgICAgICAgICAgICZkaXJUYWcuZ2V0KCksCisgICAgICAgICAg
ICAmZGl2VGFnLmdldCgpLAorICAgICAgICAgICAgJmRsVGFnLmdldCgpLAorICAgICAgICAgICAg
JmR0VGFnLmdldCgpLAorICAgICAgICAgICAgJmZpZWxkc2V0VGFnLmdldCgpLAorICAgICAgICAg
ICAgJmZpZ2NhcHRpb25UYWcuZ2V0KCksCisgICAgICAgICAgICAmZmlndXJlVGFnLmdldCgpLAor
ICAgICAgICAgICAgJmZvb3RlclRhZy5nZXQoKSwKKyAgICAgICAgICAgICZmb3JtVGFnLmdldCgp
LAorICAgICAgICAgICAgJmgxVGFnLmdldCgpLAorICAgICAgICAgICAgJmgyVGFnLmdldCgpLAor
ICAgICAgICAgICAgJmgzVGFnLmdldCgpLAorICAgICAgICAgICAgJmg0VGFnLmdldCgpLAorICAg
ICAgICAgICAgJmg1VGFnLmdldCgpLAorICAgICAgICAgICAgJmg2VGFnLmdldCgpLAorICAgICAg
ICAgICAgJmhlYWRlclRhZy5nZXQoKSwKKyAgICAgICAgICAgICZoZ3JvdXBUYWcuZ2V0KCksCisg
ICAgICAgICAgICAmaHJUYWcuZ2V0KCksCisgICAgICAgICAgICAmbGlUYWcuZ2V0KCksCisgICAg
ICAgICAgICAmbGlzdGluZ1RhZy5nZXQoKSwKKyAgICAgICAgICAgICZtYWluVGFnLmdldCgpLCAv
LyBNaXNzaW5nIGluIHRoZSBzcGVjaWZpY2F0aW9uLgorICAgICAgICAgICAgJm1lbnVUYWcuZ2V0
KCksCisgICAgICAgICAgICAmbmF2VGFnLmdldCgpLAorICAgICAgICAgICAgJm9sVGFnLmdldCgp
LAorICAgICAgICAgICAgJnBUYWcuZ2V0KCksCisgICAgICAgICAgICAmcGxhaW50ZXh0VGFnLmdl
dCgpLAorICAgICAgICAgICAgJnByZVRhZy5nZXQoKSwKKyAgICAgICAgICAgICZzZWN0aW9uVGFn
LmdldCgpLAorICAgICAgICAgICAgJnN1bW1hcnlUYWcuZ2V0KCksCisgICAgICAgICAgICAmdGFi
bGVUYWcuZ2V0KCksCisgICAgICAgICAgICAmdGJvZHlUYWcuZ2V0KCksCisgICAgICAgICAgICAm
dGRUYWcuZ2V0KCksCisgICAgICAgICAgICAmdGZvb3RUYWcuZ2V0KCksCisgICAgICAgICAgICAm
dGhUYWcuZ2V0KCksCisgICAgICAgICAgICAmdGhlYWRUYWcuZ2V0KCksCisgICAgICAgICAgICAm
dHJUYWcuZ2V0KCksCisgICAgICAgICAgICAmdWxUYWcuZ2V0KCksCisgICAgICAgICAgICAmeG1w
VGFnLmdldCgpLAogICAgICAgICB9OwogICAgICAgICBIYXNoU2V0PEF0b21pY1N0cmluZz4gc2V0
OwogICAgICAgICBmb3IgKGF1dG8mIHRhZyA6IHRhZ3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxC
b2R5RWxlbWVudC5jcHAKaW5kZXggNDA0ZWViZGE0ZDNjZGRlYjM5MTg0YmFjN2UyMGU3ODdiMjdm
ZmM3Yi4uMmVlNTFlY2E4ZDQzZTc5NzhmYWVkOTQ0YTcyMmQ5ZmZmNGRmNjExNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcApAQCAtMTA0LDM0ICsxMDQsMzQgQEAgdm9p
ZCBIVE1MQm9keUVsZW1lbnQ6OmNvbGxlY3RTdHlsZUZvclByZXNlbnRhdGlvbkF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJgogSFRNTEVsZW1lbnQ6OkV2ZW50SGFuZGxlck5hbWVNYXAgSFRN
TEJvZHlFbGVtZW50OjpjcmVhdGVXaW5kb3dFdmVudEhhbmRsZXJOYW1lTWFwKCkKIHsKICAgICBz
dGF0aWMgY29uc3QgUXVhbGlmaWVkTmFtZSogY29uc3QgdGFibGVbXSA9IHsKLSAgICAgICAgJm9u
YmVmb3JldW5sb2FkQXR0ciwKLSAgICAgICAgJm9uYmx1ckF0dHIsCi0gICAgICAgICZvbmVycm9y
QXR0ciwKLSAgICAgICAgJm9uZm9jdXNBdHRyLAotICAgICAgICAmb25mb2N1c2luQXR0ciwKLSAg
ICAgICAgJm9uZm9jdXNvdXRBdHRyLAotICAgICAgICAmb25oYXNoY2hhbmdlQXR0ciwKLSAgICAg
ICAgJm9ubGFuZ3VhZ2VjaGFuZ2VBdHRyLAotICAgICAgICAmb25sb2FkQXR0ciwKLSAgICAgICAg
Jm9ubWVzc2FnZUF0dHIsCi0gICAgICAgICZvbm9mZmxpbmVBdHRyLAotICAgICAgICAmb25vbmxp
bmVBdHRyLAotICAgICAgICAmb25vcmllbnRhdGlvbmNoYW5nZUF0dHIsCi0gICAgICAgICZvbnBh
Z2VoaWRlQXR0ciwKLSAgICAgICAgJm9ucGFnZXNob3dBdHRyLAotICAgICAgICAmb25wb3BzdGF0
ZUF0dHIsCi0gICAgICAgICZvbnJlc2l6ZUF0dHIsCi0gICAgICAgICZvbnNjcm9sbEF0dHIsCi0g
ICAgICAgICZvbnN0b3JhZ2VBdHRyLAotICAgICAgICAmb251bmxvYWRBdHRyLAotICAgICAgICAm
b253ZWJraXRtb3VzZWZvcmNlY2hhbmdlZEF0dHIsCi0gICAgICAgICZvbndlYmtpdG1vdXNlZm9y
Y2Vkb3duQXR0ciwKLSAgICAgICAgJm9ud2Via2l0bW91c2Vmb3JjZXVwQXR0ciwKLSAgICAgICAg
Jm9ud2Via2l0bW91c2Vmb3JjZXdpbGxiZWdpbkF0dHIsCi0gICAgICAgICZvbndlYmtpdHdpbGxy
ZXZlYWxib3R0b21BdHRyLAotICAgICAgICAmb253ZWJraXR3aWxscmV2ZWFsbGVmdEF0dHIsCi0g
ICAgICAgICZvbndlYmtpdHdpbGxyZXZlYWxyaWdodEF0dHIsCi0gICAgICAgICZvbndlYmtpdHdp
bGxyZXZlYWx0b3BBdHRyLAorICAgICAgICAmb25iZWZvcmV1bmxvYWRBdHRyLmdldCgpLAorICAg
ICAgICAmb25ibHVyQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uZXJyb3JBdHRyLmdldCgpLAorICAg
ICAgICAmb25mb2N1c0F0dHIuZ2V0KCksCisgICAgICAgICZvbmZvY3VzaW5BdHRyLmdldCgpLAor
ICAgICAgICAmb25mb2N1c291dEF0dHIuZ2V0KCksCisgICAgICAgICZvbmhhc2hjaGFuZ2VBdHRy
LmdldCgpLAorICAgICAgICAmb25sYW5ndWFnZWNoYW5nZUF0dHIuZ2V0KCksCisgICAgICAgICZv
bmxvYWRBdHRyLmdldCgpLAorICAgICAgICAmb25tZXNzYWdlQXR0ci5nZXQoKSwKKyAgICAgICAg
Jm9ub2ZmbGluZUF0dHIuZ2V0KCksCisgICAgICAgICZvbm9ubGluZUF0dHIuZ2V0KCksCisgICAg
ICAgICZvbm9yaWVudGF0aW9uY2hhbmdlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ucGFnZWhpZGVB
dHRyLmdldCgpLAorICAgICAgICAmb25wYWdlc2hvd0F0dHIuZ2V0KCksCisgICAgICAgICZvbnBv
cHN0YXRlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ucmVzaXplQXR0ci5nZXQoKSwKKyAgICAgICAg
Jm9uc2Nyb2xsQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uc3RvcmFnZUF0dHIuZ2V0KCksCisgICAg
ICAgICZvbnVubG9hZEF0dHIuZ2V0KCksCisgICAgICAgICZvbndlYmtpdG1vdXNlZm9yY2VjaGFu
Z2VkQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0bW91c2Vmb3JjZWRvd25BdHRyLmdldCgp
LAorICAgICAgICAmb253ZWJraXRtb3VzZWZvcmNldXBBdHRyLmdldCgpLAorICAgICAgICAmb253
ZWJraXRtb3VzZWZvcmNld2lsbGJlZ2luQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0d2ls
bHJldmVhbGJvdHRvbUF0dHIuZ2V0KCksCisgICAgICAgICZvbndlYmtpdHdpbGxyZXZlYWxsZWZ0
QXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0d2lsbHJldmVhbHJpZ2h0QXR0ci5nZXQoKSwK
KyAgICAgICAgJm9ud2Via2l0d2lsbHJldmVhbHRvcEF0dHIuZ2V0KCksCiAgICAgfTsKIAogICAg
IEV2ZW50SGFuZGxlck5hbWVNYXAgbWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3Bw
CmluZGV4IDk2NWU2ZGU0NzQyMDdjZGZhZjhkMTM2YmZlMTk1ZjdjNGViZWFhNzUuLjQ2MjlkOTFm
Yzc5YmVkMzFiMjRlZjgzYjVjY2Q3ODFhNzBkZjgzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
b2N1bWVudC5jcHAKQEAgLTE3Nyw1MSArMTc3LDUxIEBAIGJvb2wgSFRNTERvY3VtZW50Ojppc0Nh
c2VTZW5zaXRpdmVBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkK
ICAgICAgICAgLy8gVGhpcyBpcyB0aGUgbGlzdCBvZiBhdHRyaWJ1dGVzIGluIEhUTUwgNC4wMSB3
aXRoIHZhbHVlcyBtYXJrZWQgYXMgIltDSV0iIG9yIGNhc2UtaW5zZW5zaXRpdmUKICAgICAgICAg
Ly8gTW96aWxsYSB0cmVhdHMgYWxsIG90aGVyIHZhbHVlcyBhcyBjYXNlLXNlbnNpdGl2ZSwgdGh1
cyBzbyBkbyB3ZS4KICAgICAgICAgc3RhdGljIGNvbnN0IFF1YWxpZmllZE5hbWUqIGNvbnN0IG5h
bWVzW10gPSB7Ci0gICAgICAgICAgICAmYWNjZXB0X2NoYXJzZXRBdHRyLAotICAgICAgICAgICAg
JmFjY2VwdEF0dHIsCi0gICAgICAgICAgICAmYWxpZ25BdHRyLAotICAgICAgICAgICAgJmFsaW5r
QXR0ciwKLSAgICAgICAgICAgICZheGlzQXR0ciwKLSAgICAgICAgICAgICZiZ2NvbG9yQXR0ciwK
LSAgICAgICAgICAgICZjaGFyc2V0QXR0ciwKLSAgICAgICAgICAgICZjaGVja2VkQXR0ciwKLSAg
ICAgICAgICAgICZjbGVhckF0dHIsCi0gICAgICAgICAgICAmY29kZXR5cGVBdHRyLAotICAgICAg
ICAgICAgJmNvbG9yQXR0ciwKLSAgICAgICAgICAgICZjb21wYWN0QXR0ciwKLSAgICAgICAgICAg
ICZkZWNsYXJlQXR0ciwKLSAgICAgICAgICAgICZkZWZlckF0dHIsCi0gICAgICAgICAgICAmZGly
QXR0ciwKLSAgICAgICAgICAgICZkaXNhYmxlZEF0dHIsCi0gICAgICAgICAgICAmZW5jdHlwZUF0
dHIsCi0gICAgICAgICAgICAmZmFjZUF0dHIsCi0gICAgICAgICAgICAmZnJhbWVBdHRyLAotICAg
ICAgICAgICAgJmhyZWZsYW5nQXR0ciwKLSAgICAgICAgICAgICZodHRwX2VxdWl2QXR0ciwKLSAg
ICAgICAgICAgICZsYW5nQXR0ciwKLSAgICAgICAgICAgICZsYW5ndWFnZUF0dHIsCi0gICAgICAg
ICAgICAmbGlua0F0dHIsCi0gICAgICAgICAgICAmbWVkaWFBdHRyLAotICAgICAgICAgICAgJm1l
dGhvZEF0dHIsCi0gICAgICAgICAgICAmbXVsdGlwbGVBdHRyLAotICAgICAgICAgICAgJm5vaHJl
ZkF0dHIsCi0gICAgICAgICAgICAmbm9yZXNpemVBdHRyLAotICAgICAgICAgICAgJm5vc2hhZGVB
dHRyLAotICAgICAgICAgICAgJm5vd3JhcEF0dHIsCi0gICAgICAgICAgICAmcmVhZG9ubHlBdHRy
LAotICAgICAgICAgICAgJnJlbEF0dHIsCi0gICAgICAgICAgICAmcmV2QXR0ciwKLSAgICAgICAg
ICAgICZydWxlc0F0dHIsCi0gICAgICAgICAgICAmc2NvcGVBdHRyLAotICAgICAgICAgICAgJnNj
cm9sbGluZ0F0dHIsCi0gICAgICAgICAgICAmc2VsZWN0ZWRBdHRyLAotICAgICAgICAgICAgJnNo
YXBlQXR0ciwKLSAgICAgICAgICAgICZ0YXJnZXRBdHRyLAotICAgICAgICAgICAgJnRleHRBdHRy
LAotICAgICAgICAgICAgJnR5cGVBdHRyLAotICAgICAgICAgICAgJnZhbGlnbkF0dHIsCi0gICAg
ICAgICAgICAmdmFsdWV0eXBlQXR0ciwKLSAgICAgICAgICAgICZ2bGlua0F0dHIsCisgICAgICAg
ICAgICAmYWNjZXB0X2NoYXJzZXRBdHRyLmdldCgpLAorICAgICAgICAgICAgJmFjY2VwdEF0dHIu
Z2V0KCksCisgICAgICAgICAgICAmYWxpZ25BdHRyLmdldCgpLAorICAgICAgICAgICAgJmFsaW5r
QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZheGlzQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZi
Z2NvbG9yQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZjaGFyc2V0QXR0ci5nZXQoKSwKKyAgICAg
ICAgICAgICZjaGVja2VkQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZjbGVhckF0dHIuZ2V0KCks
CisgICAgICAgICAgICAmY29kZXR5cGVBdHRyLmdldCgpLAorICAgICAgICAgICAgJmNvbG9yQXR0
ci5nZXQoKSwKKyAgICAgICAgICAgICZjb21wYWN0QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZk
ZWNsYXJlQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZkZWZlckF0dHIuZ2V0KCksCisgICAgICAg
ICAgICAmZGlyQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZkaXNhYmxlZEF0dHIuZ2V0KCksCisg
ICAgICAgICAgICAmZW5jdHlwZUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmZmFjZUF0dHIuZ2V0
KCksCisgICAgICAgICAgICAmZnJhbWVBdHRyLmdldCgpLAorICAgICAgICAgICAgJmhyZWZsYW5n
QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZodHRwX2VxdWl2QXR0ci5nZXQoKSwKKyAgICAgICAg
ICAgICZsYW5nQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZsYW5ndWFnZUF0dHIuZ2V0KCksCisg
ICAgICAgICAgICAmbGlua0F0dHIuZ2V0KCksCisgICAgICAgICAgICAmbWVkaWFBdHRyLmdldCgp
LAorICAgICAgICAgICAgJm1ldGhvZEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmbXVsdGlwbGVB
dHRyLmdldCgpLAorICAgICAgICAgICAgJm5vaHJlZkF0dHIuZ2V0KCksCisgICAgICAgICAgICAm
bm9yZXNpemVBdHRyLmdldCgpLAorICAgICAgICAgICAgJm5vc2hhZGVBdHRyLmdldCgpLAorICAg
ICAgICAgICAgJm5vd3JhcEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmcmVhZG9ubHlBdHRyLmdl
dCgpLAorICAgICAgICAgICAgJnJlbEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmcmV2QXR0ci5n
ZXQoKSwKKyAgICAgICAgICAgICZydWxlc0F0dHIuZ2V0KCksCisgICAgICAgICAgICAmc2NvcGVB
dHRyLmdldCgpLAorICAgICAgICAgICAgJnNjcm9sbGluZ0F0dHIuZ2V0KCksCisgICAgICAgICAg
ICAmc2VsZWN0ZWRBdHRyLmdldCgpLAorICAgICAgICAgICAgJnNoYXBlQXR0ci5nZXQoKSwKKyAg
ICAgICAgICAgICZ0YXJnZXRBdHRyLmdldCgpLAorICAgICAgICAgICAgJnRleHRBdHRyLmdldCgp
LAorICAgICAgICAgICAgJnR5cGVBdHRyLmdldCgpLAorICAgICAgICAgICAgJnZhbGlnbkF0dHIu
Z2V0KCksCisgICAgICAgICAgICAmdmFsdWV0eXBlQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZ2
bGlua0F0dHIuZ2V0KCksCiAgICAgICAgIH07CiAgICAgICAgIEhhc2hTZXQ8QXRvbWljU3RyaW5n
PiBzZXQ7CiAgICAgICAgIGZvciAoYXV0byogbmFtZSA6IG5hbWVzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxFbGVtZW50LmNwcAppbmRleCBlYTU4MWM0OTA0Mzc2YTAwNTRkOWY3NmQzYjc2MTgyMjQyZDUw
N2Q3Li5hNGQ0MzFlZjFjMWEyYjUzZGI2YjAxMDgzNTIzZTFjYWNmOGE2YzVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxFbGVtZW50LmNwcApAQCAtMjIyLDEwNyArMjIyLDEwNyBAQCBIVE1MRWxlbWVu
dDo6RXZlbnRIYW5kbGVyTmFtZU1hcCBIVE1MRWxlbWVudDo6Y3JlYXRlRXZlbnRIYW5kbGVyTmFt
ZU1hcCgpCiAgICAgRXZlbnRIYW5kbGVyTmFtZU1hcCBtYXA7CiAKICAgICBzdGF0aWMgY29uc3Qg
UXVhbGlmaWVkTmFtZSogY29uc3QgdGFibGVbXSA9IHsKLSAgICAgICAgJm9uYWJvcnRBdHRyLAot
ICAgICAgICAmb25hbmltYXRpb25lbmRBdHRyLAotICAgICAgICAmb25hbmltYXRpb25pdGVyYXRp
b25BdHRyLAotICAgICAgICAmb25hbmltYXRpb25zdGFydEF0dHIsCi0gICAgICAgICZvbmF1dG9j
b21wbGV0ZUF0dHIsCi0gICAgICAgICZvbmF1dG9jb21wbGV0ZWVycm9yQXR0ciwKLSAgICAgICAg
Jm9uYmVmb3JlY29weUF0dHIsCi0gICAgICAgICZvbmJlZm9yZWN1dEF0dHIsCi0gICAgICAgICZv
bmJlZm9yZWlucHV0QXR0ciwKLSAgICAgICAgJm9uYmVmb3JlbG9hZEF0dHIsCi0gICAgICAgICZv
bmJlZm9yZXBhc3RlQXR0ciwKLSAgICAgICAgJm9uYmx1ckF0dHIsCi0gICAgICAgICZvbmNhbnBs
YXlBdHRyLAotICAgICAgICAmb25jYW5wbGF5dGhyb3VnaEF0dHIsCi0gICAgICAgICZvbmNoYW5n
ZUF0dHIsCi0gICAgICAgICZvbmNsaWNrQXR0ciwKLSAgICAgICAgJm9uY29udGV4dG1lbnVBdHRy
LAotICAgICAgICAmb25jb3B5QXR0ciwKLSAgICAgICAgJm9uY3V0QXR0ciwKLSAgICAgICAgJm9u
ZGJsY2xpY2tBdHRyLAotICAgICAgICAmb25kcmFnQXR0ciwKLSAgICAgICAgJm9uZHJhZ2VuZEF0
dHIsCi0gICAgICAgICZvbmRyYWdlbnRlckF0dHIsCi0gICAgICAgICZvbmRyYWdsZWF2ZUF0dHIs
Ci0gICAgICAgICZvbmRyYWdvdmVyQXR0ciwKLSAgICAgICAgJm9uZHJhZ3N0YXJ0QXR0ciwKLSAg
ICAgICAgJm9uZHJvcEF0dHIsCi0gICAgICAgICZvbmR1cmF0aW9uY2hhbmdlQXR0ciwKLSAgICAg
ICAgJm9uZW1wdGllZEF0dHIsCi0gICAgICAgICZvbmVuZGVkQXR0ciwKLSAgICAgICAgJm9uZXJy
b3JBdHRyLAotICAgICAgICAmb25mb2N1c0F0dHIsCi0gICAgICAgICZvbmZvY3VzaW5BdHRyLAot
ICAgICAgICAmb25mb2N1c291dEF0dHIsCi0gICAgICAgICZvbmdlc3R1cmVjaGFuZ2VBdHRyLAot
ICAgICAgICAmb25nZXN0dXJlZW5kQXR0ciwKLSAgICAgICAgJm9uZ2VzdHVyZXN0YXJ0QXR0ciwK
LSAgICAgICAgJm9uaW5wdXRBdHRyLAotICAgICAgICAmb25pbnZhbGlkQXR0ciwKLSAgICAgICAg
Jm9ua2V5ZG93bkF0dHIsCi0gICAgICAgICZvbmtleXByZXNzQXR0ciwKLSAgICAgICAgJm9ua2V5
dXBBdHRyLAotICAgICAgICAmb25sb2FkQXR0ciwKLSAgICAgICAgJm9ubG9hZGVkZGF0YUF0dHIs
Ci0gICAgICAgICZvbmxvYWRlZG1ldGFkYXRhQXR0ciwKLSAgICAgICAgJm9ubG9hZHN0YXJ0QXR0
ciwKLSAgICAgICAgJm9ubW91c2Vkb3duQXR0ciwKLSAgICAgICAgJm9ubW91c2VlbnRlckF0dHIs
Ci0gICAgICAgICZvbm1vdXNlbGVhdmVBdHRyLAotICAgICAgICAmb25tb3VzZW1vdmVBdHRyLAot
ICAgICAgICAmb25tb3VzZW91dEF0dHIsCi0gICAgICAgICZvbm1vdXNlb3ZlckF0dHIsCi0gICAg
ICAgICZvbm1vdXNldXBBdHRyLAotICAgICAgICAmb25tb3VzZXdoZWVsQXR0ciwKLSAgICAgICAg
Jm9ucGFzdGVBdHRyLAotICAgICAgICAmb25wYXVzZUF0dHIsCi0gICAgICAgICZvbnBsYXlBdHRy
LAotICAgICAgICAmb25wbGF5aW5nQXR0ciwKLSAgICAgICAgJm9ucHJvZ3Jlc3NBdHRyLAotICAg
ICAgICAmb25yYXRlY2hhbmdlQXR0ciwKLSAgICAgICAgJm9ucmVzZXRBdHRyLAotICAgICAgICAm
b25yZXNpemVBdHRyLAotICAgICAgICAmb25zY3JvbGxBdHRyLAotICAgICAgICAmb25zZWFyY2hB
dHRyLAotICAgICAgICAmb25zZWVrZWRBdHRyLAotICAgICAgICAmb25zZWVraW5nQXR0ciwKLSAg
ICAgICAgJm9uc2VsZWN0QXR0ciwKLSAgICAgICAgJm9uc2VsZWN0c3RhcnRBdHRyLAotICAgICAg
ICAmb25zdGFsbGVkQXR0ciwKLSAgICAgICAgJm9uc3VibWl0QXR0ciwKLSAgICAgICAgJm9uc3Vz
cGVuZEF0dHIsCi0gICAgICAgICZvbnRpbWV1cGRhdGVBdHRyLAotICAgICAgICAmb250b2dnbGVB
dHRyLAotICAgICAgICAmb250b3VjaGNhbmNlbEF0dHIsCi0gICAgICAgICZvbnRvdWNoZW5kQXR0
ciwKLSAgICAgICAgJm9udG91Y2hmb3JjZWNoYW5nZUF0dHIsCi0gICAgICAgICZvbnRvdWNobW92
ZUF0dHIsCi0gICAgICAgICZvbnRvdWNoc3RhcnRBdHRyLAotICAgICAgICAmb250cmFuc2l0aW9u
ZW5kQXR0ciwKLSAgICAgICAgJm9udm9sdW1lY2hhbmdlQXR0ciwKLSAgICAgICAgJm9ud2FpdGlu
Z0F0dHIsCi0gICAgICAgICZvbndlYmtpdGJlZ2luZnVsbHNjcmVlbkF0dHIsCi0gICAgICAgICZv
bndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkQXR0ciwKLSAgICAg
ICAgJm9ud2Via2l0ZW5kZnVsbHNjcmVlbkF0dHIsCi0gICAgICAgICZvbndlYmtpdGZ1bGxzY3Jl
ZW5jaGFuZ2VBdHRyLAotICAgICAgICAmb253ZWJraXRmdWxsc2NyZWVuZXJyb3JBdHRyLAotICAg
ICAgICAmb253ZWJraXRrZXlhZGRlZEF0dHIsCi0gICAgICAgICZvbndlYmtpdGtleWVycm9yQXR0
ciwKLSAgICAgICAgJm9ud2Via2l0a2V5bWVzc2FnZUF0dHIsCi0gICAgICAgICZvbndlYmtpdG1v
dXNlZm9yY2VjaGFuZ2VkQXR0ciwKLSAgICAgICAgJm9ud2Via2l0bW91c2Vmb3JjZWRvd25BdHRy
LAotICAgICAgICAmb253ZWJraXRtb3VzZWZvcmNld2lsbGJlZ2luQXR0ciwKLSAgICAgICAgJm9u
d2Via2l0bW91c2Vmb3JjZXVwQXR0ciwKLSAgICAgICAgJm9ud2Via2l0bmVlZGtleUF0dHIsCi0g
ICAgICAgICZvbndlYmtpdHBsYXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdlZEF0dHIsCi0g
ICAgICAgICZvbndlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkQXR0ciwKLSAgICAgICAgJm9u
d2Via2l0d2lsbHJldmVhbGJvdHRvbUF0dHIsCi0gICAgICAgICZvbndlYmtpdHdpbGxyZXZlYWxs
ZWZ0QXR0ciwKLSAgICAgICAgJm9ud2Via2l0d2lsbHJldmVhbHJpZ2h0QXR0ciwKLSAgICAgICAg
Jm9ud2Via2l0d2lsbHJldmVhbHRvcEF0dHIsCi0gICAgICAgICZvbndoZWVsQXR0ciwKKyAgICAg
ICAgJm9uYWJvcnRBdHRyLmdldCgpLAorICAgICAgICAmb25hbmltYXRpb25lbmRBdHRyLmdldCgp
LAorICAgICAgICAmb25hbmltYXRpb25pdGVyYXRpb25BdHRyLmdldCgpLAorICAgICAgICAmb25h
bmltYXRpb25zdGFydEF0dHIuZ2V0KCksCisgICAgICAgICZvbmF1dG9jb21wbGV0ZUF0dHIuZ2V0
KCksCisgICAgICAgICZvbmF1dG9jb21wbGV0ZWVycm9yQXR0ci5nZXQoKSwKKyAgICAgICAgJm9u
YmVmb3JlY29weUF0dHIuZ2V0KCksCisgICAgICAgICZvbmJlZm9yZWN1dEF0dHIuZ2V0KCksCisg
ICAgICAgICZvbmJlZm9yZWlucHV0QXR0ci5nZXQoKSwKKyAgICAgICAgJm9uYmVmb3JlbG9hZEF0
dHIuZ2V0KCksCisgICAgICAgICZvbmJlZm9yZXBhc3RlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9u
Ymx1ckF0dHIuZ2V0KCksCisgICAgICAgICZvbmNhbnBsYXlBdHRyLmdldCgpLAorICAgICAgICAm
b25jYW5wbGF5dGhyb3VnaEF0dHIuZ2V0KCksCisgICAgICAgICZvbmNoYW5nZUF0dHIuZ2V0KCks
CisgICAgICAgICZvbmNsaWNrQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uY29udGV4dG1lbnVBdHRy
LmdldCgpLAorICAgICAgICAmb25jb3B5QXR0ci5nZXQoKSwKKyAgICAgICAgJm9uY3V0QXR0ci5n
ZXQoKSwKKyAgICAgICAgJm9uZGJsY2xpY2tBdHRyLmdldCgpLAorICAgICAgICAmb25kcmFnQXR0
ci5nZXQoKSwKKyAgICAgICAgJm9uZHJhZ2VuZEF0dHIuZ2V0KCksCisgICAgICAgICZvbmRyYWdl
bnRlckF0dHIuZ2V0KCksCisgICAgICAgICZvbmRyYWdsZWF2ZUF0dHIuZ2V0KCksCisgICAgICAg
ICZvbmRyYWdvdmVyQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uZHJhZ3N0YXJ0QXR0ci5nZXQoKSwK
KyAgICAgICAgJm9uZHJvcEF0dHIuZ2V0KCksCisgICAgICAgICZvbmR1cmF0aW9uY2hhbmdlQXR0
ci5nZXQoKSwKKyAgICAgICAgJm9uZW1wdGllZEF0dHIuZ2V0KCksCisgICAgICAgICZvbmVuZGVk
QXR0ci5nZXQoKSwKKyAgICAgICAgJm9uZXJyb3JBdHRyLmdldCgpLAorICAgICAgICAmb25mb2N1
c0F0dHIuZ2V0KCksCisgICAgICAgICZvbmZvY3VzaW5BdHRyLmdldCgpLAorICAgICAgICAmb25m
b2N1c291dEF0dHIuZ2V0KCksCisgICAgICAgICZvbmdlc3R1cmVjaGFuZ2VBdHRyLmdldCgpLAor
ICAgICAgICAmb25nZXN0dXJlZW5kQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uZ2VzdHVyZXN0YXJ0
QXR0ci5nZXQoKSwKKyAgICAgICAgJm9uaW5wdXRBdHRyLmdldCgpLAorICAgICAgICAmb25pbnZh
bGlkQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ua2V5ZG93bkF0dHIuZ2V0KCksCisgICAgICAgICZv
bmtleXByZXNzQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ua2V5dXBBdHRyLmdldCgpLAorICAgICAg
ICAmb25sb2FkQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ubG9hZGVkZGF0YUF0dHIuZ2V0KCksCisg
ICAgICAgICZvbmxvYWRlZG1ldGFkYXRhQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ubG9hZHN0YXJ0
QXR0ci5nZXQoKSwKKyAgICAgICAgJm9ubW91c2Vkb3duQXR0ci5nZXQoKSwKKyAgICAgICAgJm9u
bW91c2VlbnRlckF0dHIuZ2V0KCksCisgICAgICAgICZvbm1vdXNlbGVhdmVBdHRyLmdldCgpLAor
ICAgICAgICAmb25tb3VzZW1vdmVBdHRyLmdldCgpLAorICAgICAgICAmb25tb3VzZW91dEF0dHIu
Z2V0KCksCisgICAgICAgICZvbm1vdXNlb3ZlckF0dHIuZ2V0KCksCisgICAgICAgICZvbm1vdXNl
dXBBdHRyLmdldCgpLAorICAgICAgICAmb25tb3VzZXdoZWVsQXR0ci5nZXQoKSwKKyAgICAgICAg
Jm9ucGFzdGVBdHRyLmdldCgpLAorICAgICAgICAmb25wYXVzZUF0dHIuZ2V0KCksCisgICAgICAg
ICZvbnBsYXlBdHRyLmdldCgpLAorICAgICAgICAmb25wbGF5aW5nQXR0ci5nZXQoKSwKKyAgICAg
ICAgJm9ucHJvZ3Jlc3NBdHRyLmdldCgpLAorICAgICAgICAmb25yYXRlY2hhbmdlQXR0ci5nZXQo
KSwKKyAgICAgICAgJm9ucmVzZXRBdHRyLmdldCgpLAorICAgICAgICAmb25yZXNpemVBdHRyLmdl
dCgpLAorICAgICAgICAmb25zY3JvbGxBdHRyLmdldCgpLAorICAgICAgICAmb25zZWFyY2hBdHRy
LmdldCgpLAorICAgICAgICAmb25zZWVrZWRBdHRyLmdldCgpLAorICAgICAgICAmb25zZWVraW5n
QXR0ci5nZXQoKSwKKyAgICAgICAgJm9uc2VsZWN0QXR0ci5nZXQoKSwKKyAgICAgICAgJm9uc2Vs
ZWN0c3RhcnRBdHRyLmdldCgpLAorICAgICAgICAmb25zdGFsbGVkQXR0ci5nZXQoKSwKKyAgICAg
ICAgJm9uc3VibWl0QXR0ci5nZXQoKSwKKyAgICAgICAgJm9uc3VzcGVuZEF0dHIuZ2V0KCksCisg
ICAgICAgICZvbnRpbWV1cGRhdGVBdHRyLmdldCgpLAorICAgICAgICAmb250b2dnbGVBdHRyLmdl
dCgpLAorICAgICAgICAmb250b3VjaGNhbmNlbEF0dHIuZ2V0KCksCisgICAgICAgICZvbnRvdWNo
ZW5kQXR0ci5nZXQoKSwKKyAgICAgICAgJm9udG91Y2hmb3JjZWNoYW5nZUF0dHIuZ2V0KCksCisg
ICAgICAgICZvbnRvdWNobW92ZUF0dHIuZ2V0KCksCisgICAgICAgICZvbnRvdWNoc3RhcnRBdHRy
LmdldCgpLAorICAgICAgICAmb250cmFuc2l0aW9uZW5kQXR0ci5nZXQoKSwKKyAgICAgICAgJm9u
dm9sdW1lY2hhbmdlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2FpdGluZ0F0dHIuZ2V0KCksCisg
ICAgICAgICZvbndlYmtpdGJlZ2luZnVsbHNjcmVlbkF0dHIuZ2V0KCksCisgICAgICAgICZvbndl
YmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkQXR0ci5nZXQoKSwKKyAg
ICAgICAgJm9ud2Via2l0ZW5kZnVsbHNjcmVlbkF0dHIuZ2V0KCksCisgICAgICAgICZvbndlYmtp
dGZ1bGxzY3JlZW5jaGFuZ2VBdHRyLmdldCgpLAorICAgICAgICAmb253ZWJraXRmdWxsc2NyZWVu
ZXJyb3JBdHRyLmdldCgpLAorICAgICAgICAmb253ZWJraXRrZXlhZGRlZEF0dHIuZ2V0KCksCisg
ICAgICAgICZvbndlYmtpdGtleWVycm9yQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0a2V5
bWVzc2FnZUF0dHIuZ2V0KCksCisgICAgICAgICZvbndlYmtpdG1vdXNlZm9yY2VjaGFuZ2VkQXR0
ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0bW91c2Vmb3JjZWRvd25BdHRyLmdldCgpLAorICAg
ICAgICAmb253ZWJraXRtb3VzZWZvcmNld2lsbGJlZ2luQXR0ci5nZXQoKSwKKyAgICAgICAgJm9u
d2Via2l0bW91c2Vmb3JjZXVwQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0bmVlZGtleUF0
dHIuZ2V0KCksCisgICAgICAgICZvbndlYmtpdHBsYXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hh
bmdlZEF0dHIuZ2V0KCksCisgICAgICAgICZvbndlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2Vk
QXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0d2lsbHJldmVhbGJvdHRvbUF0dHIuZ2V0KCks
CisgICAgICAgICZvbndlYmtpdHdpbGxyZXZlYWxsZWZ0QXR0ci5nZXQoKSwKKyAgICAgICAgJm9u
d2Via2l0d2lsbHJldmVhbHJpZ2h0QXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0d2lsbHJl
dmVhbHRvcEF0dHIuZ2V0KCksCisgICAgICAgICZvbndoZWVsQXR0ci5nZXQoKSwKICAgICB9Owog
CiAgICAgcG9wdWxhdGVFdmVudEhhbmRsZXJOYW1lTWFwKG1hcCwgdGFibGUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwCmluZGV4
IGM4MWE5YWYwZTI5NThkMjQzMmMzNmYzNzVlNzMzZTcxMWRhMzUzNjMuLmNhNjJjNjBhN2FmM2M0
MmQ4MmFkZjBkY2FjMGUzMzA4OTMwZGU1YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHAKQEAgLTc1OSwxMyArNzU5LDEzIEBA
IHZvaWQgSFRNTENvbnN0cnVjdGlvblNpdGU6OmdlbmVyYXRlSW1wbGllZEVuZFRhZ3MoKQogdm9p
ZCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6ZmluZEZvc3RlclNpdGUoSFRNTENvbnN0cnVjdGlvblNp
dGVUYXNrJiB0YXNrKQogewogICAgIC8vIFdoZW4gYSBub2RlIGlzIHRvIGJlIGZvc3RlciBwYXJl
bnRlZCwgdGhlIGxhc3QgdGVtcGxhdGUgZWxlbWVudCB3aXRoIG5vIHRhYmxlIGVsZW1lbnQgaXMg
YmVsb3cgaXQgaW4gdGhlIHN0YWNrIG9mIG9wZW4gZWxlbWVudHMgaXMgdGhlIGZvc3RlciBwYXJl
bnQgZWxlbWVudCAoTk9UIHRoZSB0ZW1wbGF0ZSdzIHBhcmVudCEpCi0gICAgYXV0byogbGFzdFRl
bXBsYXRlRWxlbWVudCA9IG1fb3BlbkVsZW1lbnRzLnRvcG1vc3QodGVtcGxhdGVUYWcubG9jYWxO
YW1lKCkpOworICAgIGF1dG8qIGxhc3RUZW1wbGF0ZUVsZW1lbnQgPSBtX29wZW5FbGVtZW50cy50
b3Btb3N0KHRlbXBsYXRlVGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgaWYgKGxhc3RUZW1wbGF0ZUVs
ZW1lbnQgJiYgIW1fb3BlbkVsZW1lbnRzLmluVGFibGVTY29wZSh0YWJsZVRhZykpIHsKICAgICAg
ICAgdGFzay5wYXJlbnQgPSAmbGFzdFRlbXBsYXRlRWxlbWVudC0+ZWxlbWVudCgpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKGF1dG8qIGxhc3RUYWJsZUVsZW1lbnRSZWNvcmQg
PSBtX29wZW5FbGVtZW50cy50b3Btb3N0KHRhYmxlVGFnLmxvY2FsTmFtZSgpKSkgeworICAgIGlm
IChhdXRvKiBsYXN0VGFibGVFbGVtZW50UmVjb3JkID0gbV9vcGVuRWxlbWVudHMudG9wbW9zdCh0
YWJsZVRhZy0+bG9jYWxOYW1lKCkpKSB7CiAgICAgICAgIGF1dG8mIGxhc3RUYWJsZUVsZW1lbnQg
PSBsYXN0VGFibGVFbGVtZW50UmVjb3JkLT5lbGVtZW50KCk7CiAgICAgICAgIGF1dG8qIHBhcmVu
dCA9IGxhc3RUYWJsZUVsZW1lbnQucGFyZW50Tm9kZSgpOwogICAgICAgICAvLyBXaGVuIHBhcnNp
bmcgSFRNTCBmcmFnbWVudHMsIHdlIHNraXAgc3RlcCA0LjIgKCJMZXQgcm9vdCBiZSBhIG5ldyBo
dG1sIGVsZW1lbnQgd2l0aCBubyBhdHRyaWJ1dGVzIikgZm9yIGVmZmljaWVuY3ksCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suY3BwCmluZGV4IDA5OTU3
ZDIyNjk5OGZiN2I2YmYxYzJmMDkwZGJiNDIzNTE2MTExODQuLjllYTYzYmM1NTI5ODhjYWUxY2Rj
OGZlYWE4MjY3MDNiMDdjYzM3MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxFbGVtZW50U3RhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxFbGVtZW50U3RhY2suY3BwCkBAIC01MDIsNyArNTAyLDcgQEAgYm9vbCBIVE1MRWxlbWVu
dFN0YWNrOjppblNlbGVjdFNjb3BlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUpIGNvbnN0
CiAKIGJvb2wgSFRNTEVsZW1lbnRTdGFjazo6aGFzVGVtcGxhdGVJbkhUTUxTY29wZSgpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIGluU2NvcGVDb21tb248aXNSb290Tm9kZT4obV90b3AuZ2V0KCksIHRl
bXBsYXRlVGFnLmxvY2FsTmFtZSgpKTsKKyAgICByZXR1cm4gaW5TY29wZUNvbW1vbjxpc1Jvb3RO
b2RlPihtX3RvcC5nZXQoKSwgdGVtcGxhdGVUYWctPmxvY2FsTmFtZSgpKTsKIH0KIAogRWxlbWVu
dCYgSFRNTEVsZW1lbnRTdGFjazo6aHRtbEVsZW1lbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKaW5kZXggMDhkMjhjZGQ0
MjE3NzNhZDE3NmQzZjBlNzU0MDdhNmU2ZjAwMzQ4NC4uYzNiYTllY2ZhNGFlOTdlOTUxMDJiNDg2
NGJmYjg5NDQ0MTFmNmUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFByZWxvYWRTY2FubmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MUHJlbG9hZFNjYW5uZXIuY3BwCkBAIC00MjcsNyArNDI3LDcgQEAgdm9pZCBUb2tlblByZWxv
YWRTY2FubmVyOjpzY2FuKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4sIFZlY3RvcjxzdGQ6OnVuaXF1
ZV9wdHI8UHIKIHZvaWQgVG9rZW5QcmVsb2FkU2Nhbm5lcjo6dXBkYXRlUHJlZGljdGVkQmFzZVVS
TChjb25zdCBIVE1MVG9rZW4mIHRva2VuKQogewogICAgIEFTU0VSVChtX3ByZWRpY3RlZEJhc2VF
bGVtZW50VVJMLmlzRW1wdHkoKSk7Ci0gICAgaWYgKGF1dG8qIGhyZWZBdHRyaWJ1dGUgPSBmaW5k
QXR0cmlidXRlKHRva2VuLmF0dHJpYnV0ZXMoKSwgaHJlZkF0dHIubG9jYWxOYW1lKCkuc3RyaW5n
KCkpKQorICAgIGlmIChhdXRvKiBocmVmQXR0cmlidXRlID0gZmluZEF0dHJpYnV0ZSh0b2tlbi5h
dHRyaWJ1dGVzKCksIGhyZWZBdHRyLT5sb2NhbE5hbWUoKS5zdHJpbmcoKSkpCiAgICAgICAgIG1f
cHJlZGljdGVkQmFzZUVsZW1lbnRVUkwgPSBVUkwobV9kb2N1bWVudFVSTCwgc3RyaXBMZWFkaW5n
QW5kVHJhaWxpbmdIVE1MU3BhY2VzKFN0cmluZ0ltcGw6OmNyZWF0ZThCaXRJZlBvc3NpYmxlKGhy
ZWZBdHRyaWJ1dGUtPnZhbHVlKSkpLmlzb2xhdGVkQ29weSgpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCAxNWIyZTQxN2ZmNGFi
Yjc4NTRjZDVkY2M5MDFjNmI0YTE2MTJiNzIxLi5iMTBhNGM0OTAyNTgxNTRkZTU5NTk3NmQxODAy
NWUyMTlhNGM0ZTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVl
QnVpbGRlci5jcHAKQEAgLTQ0MCw5ICs0NDAsOSBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJv
Y2Vzc0Zha2VDaGFyYWN0ZXJzKGNvbnN0IFN0cmluZyYgY2hhcmFjdGVycykKIAogdm9pZCBIVE1M
VHJlZUJ1aWxkZXI6OnByb2Nlc3NGYWtlUEVuZFRhZ0lmUEluQnV0dG9uU2NvcGUoKQogewotICAg
IGlmICghbV90cmVlLm9wZW5FbGVtZW50cygpLmluQnV0dG9uU2NvcGUocFRhZy5sb2NhbE5hbWUo
KSkpCisgICAgaWYgKCFtX3RyZWUub3BlbkVsZW1lbnRzKCkuaW5CdXR0b25TY29wZShwVGFnLT5s
b2NhbE5hbWUoKSkpCiAgICAgICAgIHJldHVybjsKLSAgICBBdG9taWNIVE1MVG9rZW4gZW5kUChI
VE1MVG9rZW46OkVuZFRhZywgcFRhZy5sb2NhbE5hbWUoKSk7CisgICAgQXRvbWljSFRNTFRva2Vu
IGVuZFAoSFRNTFRva2VuOjpFbmRUYWcsIHBUYWctPmxvY2FsTmFtZSgpKTsKICAgICBwcm9jZXNz
RW5kVGFnKFdURk1vdmUoZW5kUCkpOwogfQogCkBAIC02ODMsNyArNjgzLDcgQEAgdm9pZCBIVE1M
VHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZ0ZvckluQm9keShBdG9taWNIVE1MVG9rZW4mJiB0
b2tlbikKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAodG9rZW4ubmFtZSgpID09IGFU
YWcpIHsKLSAgICAgICAgUmVmUHRyPEVsZW1lbnQ+IGFjdGl2ZUFUYWcgPSBtX3RyZWUuYWN0aXZl
Rm9ybWF0dGluZ0VsZW1lbnRzKCkuY2xvc2VzdEVsZW1lbnRJblNjb3BlV2l0aE5hbWUoYVRhZy5s
b2NhbE5hbWUoKSk7CisgICAgICAgIFJlZlB0cjxFbGVtZW50PiBhY3RpdmVBVGFnID0gbV90cmVl
LmFjdGl2ZUZvcm1hdHRpbmdFbGVtZW50cygpLmNsb3Nlc3RFbGVtZW50SW5TY29wZVdpdGhOYW1l
KGFUYWctPmxvY2FsTmFtZSgpKTsKICAgICAgICAgaWYgKGFjdGl2ZUFUYWcpIHsKICAgICAgICAg
ICAgIHBhcnNlRXJyb3IodG9rZW4pOwogICAgICAgICAgICAgcHJvY2Vzc0Zha2VFbmRUYWcoYVRh
Zyk7CkBAIC03MzIsNyArNzMyLDcgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFy
dFRhZ0ZvckluQm9keShBdG9taWNIVE1MVG9rZW4mJiB0b2tlbikKICAgICBpZiAodG9rZW4ubmFt
ZSgpID09IGltYWdlVGFnKSB7CiAgICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwogICAgICAgICAv
LyBBcHBhcmVudGx5IHdlJ3JlIG5vdCBzdXBwb3NlZCB0byBhc2suCi0gICAgICAgIHRva2VuLnNl
dE5hbWUoaW1nVGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgdG9rZW4uc2V0TmFtZShpbWdUYWct
PmxvY2FsTmFtZSgpKTsKICAgICAgICAgLy8gTm90ZSB0aGUgZmFsbCB0aHJvdWdoIHRvIHRoZSBp
bWdUYWcgaGFuZGxpbmcgYmVsb3chCiAgICAgfQogICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gYXJl
YVRhZwpAQCAtODExLDcgKzgxMSw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzU3Rh
cnRUYWdGb3JJbkJvZHkoQXRvbWljSFRNTFRva2VuJiYgdG9rZW4pCiAgICAgfQogICAgIGlmICh0
b2tlbi5uYW1lKCkgPT0gb3B0Z3JvdXBUYWcgfHwgdG9rZW4ubmFtZSgpID09IG9wdGlvblRhZykg
ewogICAgICAgICBpZiAoaXM8SFRNTE9wdGlvbkVsZW1lbnQ+KG1fdHJlZS5jdXJyZW50U3RhY2tJ
dGVtKCkubm9kZSgpKSkgewotICAgICAgICAgICAgQXRvbWljSFRNTFRva2VuIGVuZE9wdGlvbihI
VE1MVG9rZW46OkVuZFRhZywgb3B0aW9uVGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgICAgIEF0
b21pY0hUTUxUb2tlbiBlbmRPcHRpb24oSFRNTFRva2VuOjpFbmRUYWcsIG9wdGlvblRhZy0+bG9j
YWxOYW1lKCkpOwogICAgICAgICAgICAgcHJvY2Vzc0VuZFRhZyhXVEZNb3ZlKGVuZE9wdGlvbikp
OwogICAgICAgICB9CiAgICAgICAgIG1fdHJlZS5yZWNvbnN0cnVjdFRoZUFjdGl2ZUZvcm1hdHRp
bmdFbGVtZW50cygpOwpAQCAtODE5LDcgKzgxOSw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpw
cm9jZXNzU3RhcnRUYWdGb3JJbkJvZHkoQXRvbWljSFRNTFRva2VuJiYgdG9rZW4pCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSByYlRhZyB8fCB0b2tlbi5u
YW1lKCkgPT0gcnRjVGFnKSB7Ci0gICAgICAgIGlmIChtX3RyZWUub3BlbkVsZW1lbnRzKCkuaW5T
Y29wZShydWJ5VGFnLmxvY2FsTmFtZSgpKSkgeworICAgICAgICBpZiAobV90cmVlLm9wZW5FbGVt
ZW50cygpLmluU2NvcGUocnVieVRhZy0+bG9jYWxOYW1lKCkpKSB7CiAgICAgICAgICAgICBtX3Ry
ZWUuZ2VuZXJhdGVJbXBsaWVkRW5kVGFncygpOwogICAgICAgICAgICAgaWYgKCFtX3RyZWUuY3Vy
cmVudFN0YWNrSXRlbSgpLmhhc1RhZ05hbWUocnVieVRhZykpCiAgICAgICAgICAgICAgICAgcGFy
c2VFcnJvcih0b2tlbik7CkBAIC04MjgsMjIgKzgyOCwyMiBAQCB2b2lkIEhUTUxUcmVlQnVpbGRl
cjo6cHJvY2Vzc1N0YXJ0VGFnRm9ySW5Cb2R5KEF0b21pY0hUTUxUb2tlbiYmIHRva2VuKQogICAg
ICAgICByZXR1cm47CiAgICAgfQogICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gcnRUYWcgfHwgdG9r
ZW4ubmFtZSgpID09IHJwVGFnKSB7Ci0gICAgICAgIGlmIChtX3RyZWUub3BlbkVsZW1lbnRzKCku
aW5TY29wZShydWJ5VGFnLmxvY2FsTmFtZSgpKSkgewotICAgICAgICAgICAgbV90cmVlLmdlbmVy
YXRlSW1wbGllZEVuZFRhZ3NXaXRoRXhjbHVzaW9uKHJ0Y1RhZy5sb2NhbE5hbWUoKSk7CisgICAg
ICAgIGlmIChtX3RyZWUub3BlbkVsZW1lbnRzKCkuaW5TY29wZShydWJ5VGFnLT5sb2NhbE5hbWUo
KSkpIHsKKyAgICAgICAgICAgIG1fdHJlZS5nZW5lcmF0ZUltcGxpZWRFbmRUYWdzV2l0aEV4Y2x1
c2lvbihydGNUYWctPmxvY2FsTmFtZSgpKTsKICAgICAgICAgICAgIGlmICghbV90cmVlLmN1cnJl
bnRTdGFja0l0ZW0oKS5oYXNUYWdOYW1lKHJ1YnlUYWcpICYmICFtX3RyZWUuY3VycmVudFN0YWNr
SXRlbSgpLmhhc1RhZ05hbWUocnRjVGFnKSkKICAgICAgICAgICAgICAgICBwYXJzZUVycm9yKHRv
a2VuKTsKICAgICAgICAgfQogICAgICAgICBtX3RyZWUuaW5zZXJ0SFRNTEVsZW1lbnQoV1RGTW92
ZSh0b2tlbikpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGlmICh0b2tlbi5uYW1lKCkg
PT0gTWF0aE1MTmFtZXM6Om1hdGhUYWcubG9jYWxOYW1lKCkpIHsKKyAgICBpZiAodG9rZW4ubmFt
ZSgpID09IE1hdGhNTE5hbWVzOjptYXRoVGFnLT5sb2NhbE5hbWUoKSkgewogICAgICAgICBtX3Ry
ZWUucmVjb25zdHJ1Y3RUaGVBY3RpdmVGb3JtYXR0aW5nRWxlbWVudHMoKTsKICAgICAgICAgYWRq
dXN0TWF0aE1MQXR0cmlidXRlcyh0b2tlbik7CiAgICAgICAgIGFkanVzdEZvcmVpZ25BdHRyaWJ1
dGVzKHRva2VuKTsKICAgICAgICAgbV90cmVlLmluc2VydEZvcmVpZ25FbGVtZW50KFdURk1vdmUo
dG9rZW4pLCBNYXRoTUxOYW1lczo6bWF0aG1sTmFtZXNwYWNlVVJJKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KLSAgICBpZiAodG9rZW4ubmFtZSgpID09IFNWR05hbWVzOjpzdmdUYWcubG9jYWxO
YW1lKCkpIHsKKyAgICBpZiAodG9rZW4ubmFtZSgpID09IFNWR05hbWVzOjpzdmdUYWctPmxvY2Fs
TmFtZSgpKSB7CiAgICAgICAgIG1fdHJlZS5yZWNvbnN0cnVjdFRoZUFjdGl2ZUZvcm1hdHRpbmdF
bGVtZW50cygpOwogICAgICAgICBhZGp1c3RTVkdBdHRyaWJ1dGVzKHRva2VuKTsKICAgICAgICAg
YWRqdXN0Rm9yZWlnbkF0dHJpYnV0ZXModG9rZW4pOwpAQCAtODg4LDcgKzg4OCw3IEBAIHZvaWQg
SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzVGVtcGxhdGVTdGFydFRhZyhBdG9taWNIVE1MVG9rZW4m
JiB0b2tlbikKIAogYm9vbCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NUZW1wbGF0ZUVuZFRhZyhB
dG9taWNIVE1MVG9rZW4mJiB0b2tlbikKIHsKLSAgICBBU1NFUlQodG9rZW4ubmFtZSgpID09IHRl
bXBsYXRlVGFnLmxvY2FsTmFtZSgpKTsKKyAgICBBU1NFUlQodG9rZW4ubmFtZSgpID09IHRlbXBs
YXRlVGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgaWYgKCFtX3RyZWUub3BlbkVsZW1lbnRzKCkuaGFz
VGVtcGxhdGVJbkhUTUxTY29wZSgpKSB7CiAgICAgICAgIEFTU0VSVChtX3RlbXBsYXRlSW5zZXJ0
aW9uTW9kZXMuaXNFbXB0eSgpIHx8IChtX3RlbXBsYXRlSW5zZXJ0aW9uTW9kZXMuc2l6ZSgpID09
IDEgJiYgbV9mcmFnbWVudENvbnRleHQuY29udGV4dEVsZW1lbnQoKS5oYXNUYWdOYW1lKHRlbXBs
YXRlVGFnKSkpOwogICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKQEAgLTkwNiw3ICs5MDYsNyBA
QCBib29sIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1RlbXBsYXRlRW5kVGFnKEF0b21pY0hUTUxU
b2tlbiYmIHRva2VuKQogCiBib29sIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZE9mRmlsZUZv
ckluVGVtcGxhdGVDb250ZW50cyhBdG9taWNIVE1MVG9rZW4mJiB0b2tlbikKIHsKLSAgICBBdG9t
aWNIVE1MVG9rZW4gZW5kVGVtcGxhdGUoSFRNTFRva2VuOjpFbmRUYWcsIHRlbXBsYXRlVGFnLmxv
Y2FsTmFtZSgpKTsKKyAgICBBdG9taWNIVE1MVG9rZW4gZW5kVGVtcGxhdGUoSFRNTFRva2VuOjpF
bmRUYWcsIHRlbXBsYXRlVGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgaWYgKCFwcm9jZXNzVGVtcGxh
dGVFbmRUYWcoV1RGTW92ZShlbmRUZW1wbGF0ZSkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
QEAgLTEyNjcsNyArMTI2Nyw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRU
YWcoQXRvbWljSFRNTFRva2VuJiYgdG9rZW4pCiAgICAgICAgICAgICB8fCB0b2tlbi5uYW1lKCkg
PT0gdHJUYWcKICAgICAgICAgICAgIHx8IGlzVGFibGVDZWxsQ29udGV4dFRhZyh0b2tlbi5uYW1l
KCkpKSB7CiAgICAgICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKLSAgICAgICAgICAgIEF0b21p
Y0hUTUxUb2tlbiBlbmRTZWxlY3QoSFRNTFRva2VuOjpFbmRUYWcsIHNlbGVjdFRhZy5sb2NhbE5h
bWUoKSk7CisgICAgICAgICAgICBBdG9taWNIVE1MVG9rZW4gZW5kU2VsZWN0KEhUTUxUb2tlbjo6
RW5kVGFnLCBzZWxlY3RUYWctPmxvY2FsTmFtZSgpKTsKICAgICAgICAgICAgIHByb2Nlc3NFbmRU
YWcoV1RGTW92ZShlbmRTZWxlY3QpKTsKICAgICAgICAgICAgIHByb2Nlc3NTdGFydFRhZyhXVEZN
b3ZlKHRva2VuKSk7CiAgICAgICAgICAgICByZXR1cm47CkBAIC0xMjgwLDcgKzEyODAsNyBAQCB2
b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1N0YXJ0VGFnKEF0b21pY0hUTUxUb2tlbiYmIHRv
a2VuKQogICAgICAgICB9CiAgICAgICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gb3B0aW9uVGFnKSB7
CiAgICAgICAgICAgICBpZiAoaXM8SFRNTE9wdGlvbkVsZW1lbnQ+KG1fdHJlZS5jdXJyZW50U3Rh
Y2tJdGVtKCkubm9kZSgpKSkgewotICAgICAgICAgICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRP
cHRpb24oSFRNTFRva2VuOjpFbmRUYWcsIG9wdGlvblRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAg
ICAgICAgICAgQXRvbWljSFRNTFRva2VuIGVuZE9wdGlvbihIVE1MVG9rZW46OkVuZFRhZywgb3B0
aW9uVGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgICAgICAgICAgICAgcHJvY2Vzc0VuZFRhZyhXVEZN
b3ZlKGVuZE9wdGlvbikpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgbV90cmVlLmluc2Vy
dEhUTUxFbGVtZW50KFdURk1vdmUodG9rZW4pKTsKQEAgLTEyODgsMTEgKzEyODgsMTEgQEAgdm9p
ZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZyhBdG9taWNIVE1MVG9rZW4mJiB0b2tl
bikKICAgICAgICAgfQogICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IG9wdGdyb3VwVGFnKSB7
CiAgICAgICAgICAgICBpZiAoaXM8SFRNTE9wdGlvbkVsZW1lbnQ+KG1fdHJlZS5jdXJyZW50U3Rh
Y2tJdGVtKCkubm9kZSgpKSkgewotICAgICAgICAgICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRP
cHRpb24oSFRNTFRva2VuOjpFbmRUYWcsIG9wdGlvblRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAg
ICAgICAgICAgQXRvbWljSFRNTFRva2VuIGVuZE9wdGlvbihIVE1MVG9rZW46OkVuZFRhZywgb3B0
aW9uVGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgICAgICAgICAgICAgcHJvY2Vzc0VuZFRhZyhXVEZN
b3ZlKGVuZE9wdGlvbikpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGlzPEhUTUxP
cHRHcm91cEVsZW1lbnQ+KG1fdHJlZS5jdXJyZW50U3RhY2tJdGVtKCkubm9kZSgpKSkgewotICAg
ICAgICAgICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRPcHRncm91cChIVE1MVG9rZW46OkVuZFRh
Zywgb3B0Z3JvdXBUYWcubG9jYWxOYW1lKCkpOworICAgICAgICAgICAgICAgIEF0b21pY0hUTUxU
b2tlbiBlbmRPcHRncm91cChIVE1MVG9rZW46OkVuZFRhZywgb3B0Z3JvdXBUYWctPmxvY2FsTmFt
ZSgpKTsKICAgICAgICAgICAgICAgICBwcm9jZXNzRW5kVGFnKFdURk1vdmUoZW5kT3B0Z3JvdXAp
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIG1fdHJlZS5pbnNlcnRIVE1MRWxlbWVudChX
VEZNb3ZlKHRva2VuKSk7CkBAIC0xMzAwLDcgKzEzMDAsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRl
cjo6cHJvY2Vzc1N0YXJ0VGFnKEF0b21pY0hUTUxUb2tlbiYmIHRva2VuKQogICAgICAgICB9CiAg
ICAgICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gc2VsZWN0VGFnKSB7CiAgICAgICAgICAgICBwYXJz
ZUVycm9yKHRva2VuKTsKLSAgICAgICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRTZWxlY3QoSFRN
TFRva2VuOjpFbmRUYWcsIHNlbGVjdFRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgICAgICBBdG9t
aWNIVE1MVG9rZW4gZW5kU2VsZWN0KEhUTUxUb2tlbjo6RW5kVGFnLCBzZWxlY3RUYWctPmxvY2Fs
TmFtZSgpKTsKICAgICAgICAgICAgIHByb2Nlc3NFbmRUYWcoV1RGTW92ZShlbmRTZWxlY3QpKTsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMTMxMCw3ICsxMzEwLDcgQEAgdm9p
ZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZyhBdG9taWNIVE1MVG9rZW4mJiB0b2tl
bikKICAgICAgICAgICAgICAgICBBU1NFUlQoaXNQYXJzaW5nRnJhZ21lbnQoKSk7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgQXRvbWljSFRNTFRv
a2VuIGVuZFNlbGVjdChIVE1MVG9rZW46OkVuZFRhZywgc2VsZWN0VGFnLmxvY2FsTmFtZSgpKTsK
KyAgICAgICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRTZWxlY3QoSFRNTFRva2VuOjpFbmRUYWcs
IHNlbGVjdFRhZy0+bG9jYWxOYW1lKCkpOwogICAgICAgICAgICAgcHJvY2Vzc0VuZFRhZyhXVEZN
b3ZlKGVuZFNlbGVjdCkpOwogICAgICAgICAgICAgcHJvY2Vzc1N0YXJ0VGFnKFdURk1vdmUodG9r
ZW4pKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTEzODIsNyArMTM4Miw3IEBAIGJvb2wgSFRN
TFRyZWVCdWlsZGVyOjpwcm9jZXNzQm9keUVuZFRhZ0ZvckluQm9keShBdG9taWNIVE1MVG9rZW4m
JiB0b2tlbikKIHsKICAgICBBU1NFUlQodG9rZW4udHlwZSgpID09IEhUTUxUb2tlbjo6RW5kVGFn
KTsKICAgICBBU1NFUlQodG9rZW4ubmFtZSgpID09IGJvZHlUYWcpOwotICAgIGlmICghbV90cmVl
Lm9wZW5FbGVtZW50cygpLmluU2NvcGUoYm9keVRhZy5sb2NhbE5hbWUoKSkpIHsKKyAgICBpZiAo
IW1fdHJlZS5vcGVuRWxlbWVudHMoKS5pblNjb3BlKGJvZHlUYWctPmxvY2FsTmFtZSgpKSkgewog
ICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
QEAgLTE3MTEsNyArMTcxMSw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFn
Rm9ySW5Cb2R5KEF0b21pY0hUTUxUb2tlbiYmIHRva2VuKQogICAgICAgICByZXR1cm47CiAgICAg
fQogICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gaHRtbFRhZykgewotICAgICAgICBBdG9taWNIVE1M
VG9rZW4gZW5kQm9keShIVE1MVG9rZW46OkVuZFRhZywgYm9keVRhZy5sb2NhbE5hbWUoKSk7Cisg
ICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRCb2R5KEhUTUxUb2tlbjo6RW5kVGFnLCBib2R5VGFn
LT5sb2NhbE5hbWUoKSk7CiAgICAgICAgIGlmIChwcm9jZXNzQm9keUVuZFRhZ0ZvckluQm9keShX
VEZNb3ZlKGVuZEJvZHkpKSkKICAgICAgICAgICAgIHByb2Nlc3NFbmRUYWcoV1RGTW92ZSh0b2tl
bikpOwogICAgICAgICByZXR1cm47CkBAIC0xODUwLDE0ICsxODUwLDE0IEBAIHZvaWQgSFRNTFRy
ZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnRm9ySW5Cb2R5KEF0b21pY0hUTUxUb2tlbiYmIHRva2Vu
KQogCiBib29sIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0NhcHRpb25FbmRUYWdGb3JJbkNhcHRp
b24oKQogewotICAgIGlmICghbV90cmVlLm9wZW5FbGVtZW50cygpLmluVGFibGVTY29wZShjYXB0
aW9uVGFnLmxvY2FsTmFtZSgpKSkgeworICAgIGlmICghbV90cmVlLm9wZW5FbGVtZW50cygpLmlu
VGFibGVTY29wZShjYXB0aW9uVGFnLT5sb2NhbE5hbWUoKSkpIHsKICAgICAgICAgQVNTRVJUKGlz
UGFyc2luZ0ZyYWdtZW50KCkpOwogICAgICAgICAvLyBGSVhNRTogcGFyc2UgZXJyb3IKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBtX3RyZWUuZ2VuZXJhdGVJbXBsaWVkRW5kVGFn
cygpOwogICAgIC8vIEZJWE1FOiBwYXJzZSBlcnJvciBpZiAoIW1fdHJlZS5jdXJyZW50U3RhY2tJ
dGVtKCkuaGFzVGFnTmFtZShjYXB0aW9uVGFnKSkKLSAgICBtX3RyZWUub3BlbkVsZW1lbnRzKCku
cG9wVW50aWxQb3BwZWQoY2FwdGlvblRhZy5sb2NhbE5hbWUoKSk7CisgICAgbV90cmVlLm9wZW5F
bGVtZW50cygpLnBvcFVudGlsUG9wcGVkKGNhcHRpb25UYWctPmxvY2FsTmFtZSgpKTsKICAgICBt
X3RyZWUuYWN0aXZlRm9ybWF0dGluZ0VsZW1lbnRzKCkuY2xlYXJUb0xhc3RNYXJrZXIoKTsKICAg
ICBtX2luc2VydGlvbk1vZGUgPSBJbnNlcnRpb25Nb2RlOjpJblRhYmxlOwogICAgIHJldHVybiB0
cnVlOwpAQCAtMTg4NCw3ICsxODg0LDcgQEAgYm9vbCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NU
YWJsZUVuZFRhZ0ZvckluVGFibGUoKQogICAgICAgICAvLyBGSVhNRTogcGFyc2UgZXJyb3IuCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9Ci0gICAgbV90cmVlLm9wZW5FbGVtZW50cygpLnBv
cFVudGlsUG9wcGVkKHRhYmxlVGFnLmxvY2FsTmFtZSgpKTsKKyAgICBtX3RyZWUub3BlbkVsZW1l
bnRzKCkucG9wVW50aWxQb3BwZWQodGFibGVUYWctPmxvY2FsTmFtZSgpKTsKICAgICByZXNldElu
c2VydGlvbk1vZGVBcHByb3ByaWF0ZWx5KCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0yMTA2
LDcgKzIxMDYsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZFRhZyhBdG9taWNI
VE1MVG9rZW4mJiB0b2tlbikKICAgICAgICAgICAgIHx8IGlzVGFibGVDZWxsQ29udGV4dFRhZyh0
b2tlbi5uYW1lKCkpKSB7CiAgICAgICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKICAgICAgICAg
ICAgIGlmIChtX3RyZWUub3BlbkVsZW1lbnRzKCkuaW5UYWJsZVNjb3BlKHRva2VuLm5hbWUoKSkp
IHsKLSAgICAgICAgICAgICAgICBBdG9taWNIVE1MVG9rZW4gZW5kU2VsZWN0KEhUTUxUb2tlbjo6
RW5kVGFnLCBzZWxlY3RUYWcubG9jYWxOYW1lKCkpOworICAgICAgICAgICAgICAgIEF0b21pY0hU
TUxUb2tlbiBlbmRTZWxlY3QoSFRNTFRva2VuOjpFbmRUYWcsIHNlbGVjdFRhZy0+bG9jYWxOYW1l
KCkpOwogICAgICAgICAgICAgICAgIHByb2Nlc3NFbmRUYWcoV1RGTW92ZShlbmRTZWxlY3QpKTsK
ICAgICAgICAgICAgICAgICBwcm9jZXNzRW5kVGFnKFdURk1vdmUodG9rZW4pKTsKICAgICAgICAg
ICAgIH0KQEAgLTIxMzksNyArMjEzOSw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNz
RW5kVGFnKEF0b21pY0hUTUxUb2tlbiYmIHRva2VuKQogICAgICAgICAgICAgICAgIHBhcnNlRXJy
b3IodG9rZW4pOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIG1fdHJlZS5vcGVuRWxlbWVudHMoKS5wb3BVbnRpbFBvcHBlZChzZWxlY3RUYWcubG9j
YWxOYW1lKCkpOworICAgICAgICAgICAgbV90cmVlLm9wZW5FbGVtZW50cygpLnBvcFVudGlsUG9w
cGVkKHNlbGVjdFRhZy0+bG9jYWxOYW1lKCkpOwogICAgICAgICAgICAgcmVzZXRJbnNlcnRpb25N
b2RlQXBwcm9wcmlhdGVseSgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0y
MTk5LDcgKzIxOTksNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6aW5zZXJ0UGhvbmVOdW1iZXJM
aW5rKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogICAgIFZlY3RvcjxBdHRyaWJ1dGU+IGF0dHJpYnV0
ZXM7CiAgICAgYXR0cmlidXRlcy5hcHBlbmQoQXR0cmlidXRlKEhUTUxOYW1lczo6aHJlZkF0dHIs
IEFTQ0lJTGl0ZXJhbCgidGVsOiIpICsgc3RyaW5nKSk7CiAKLSAgICBjb25zdCBBdG9taWNTdHJp
bmcmIGFUYWdMb2NhbE5hbWUgPSBhVGFnLmxvY2FsTmFtZSgpOworICAgIGNvbnN0IEF0b21pY1N0
cmluZyYgYVRhZ0xvY2FsTmFtZSA9IGFUYWctPmxvY2FsTmFtZSgpOwogICAgIEF0b21pY0hUTUxU
b2tlbiBhU3RhcnRUb2tlbihIVE1MVG9rZW46OlN0YXJ0VGFnLCBhVGFnTG9jYWxOYW1lLCBXVEZN
b3ZlKGF0dHJpYnV0ZXMpKTsKICAgICBBdG9taWNIVE1MVG9rZW4gYUVuZFRva2VuKEhUTUxUb2tl
bjo6RW5kVGFnLCBhVGFnTG9jYWxOYW1lKTsKIApAQCAtMjUzNywzMiArMjUzNywzMiBAQCB2b2lk
IEhUTUxUcmVlQnVpbGRlcjo6ZGVmYXVsdEZvckluaXRpYWwoKQogCiB2b2lkIEhUTUxUcmVlQnVp
bGRlcjo6ZGVmYXVsdEZvckJlZm9yZUhUTUwoKQogewotICAgIEF0b21pY0hUTUxUb2tlbiBzdGFy
dEhUTUwoSFRNTFRva2VuOjpTdGFydFRhZywgaHRtbFRhZy5sb2NhbE5hbWUoKSk7CisgICAgQXRv
bWljSFRNTFRva2VuIHN0YXJ0SFRNTChIVE1MVG9rZW46OlN0YXJ0VGFnLCBodG1sVGFnLT5sb2Nh
bE5hbWUoKSk7CiAgICAgbV90cmVlLmluc2VydEhUTUxIdG1sU3RhcnRUYWdCZWZvcmVIVE1MKFdU
Rk1vdmUoc3RhcnRIVE1MKSk7CiAgICAgbV9pbnNlcnRpb25Nb2RlID0gSW5zZXJ0aW9uTW9kZTo6
QmVmb3JlSGVhZDsKIH0KIAogdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OmRlZmF1bHRGb3JCZWZvcmVI
ZWFkKCkKIHsKLSAgICBBdG9taWNIVE1MVG9rZW4gc3RhcnRIZWFkKEhUTUxUb2tlbjo6U3RhcnRU
YWcsIGhlYWRUYWcubG9jYWxOYW1lKCkpOworICAgIEF0b21pY0hUTUxUb2tlbiBzdGFydEhlYWQo
SFRNTFRva2VuOjpTdGFydFRhZywgaGVhZFRhZy0+bG9jYWxOYW1lKCkpOwogICAgIHByb2Nlc3NT
dGFydFRhZyhXVEZNb3ZlKHN0YXJ0SGVhZCkpOwogfQogCiB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6
ZGVmYXVsdEZvckluSGVhZCgpCiB7Ci0gICAgQXRvbWljSFRNTFRva2VuIGVuZEhlYWQoSFRNTFRv
a2VuOjpFbmRUYWcsIGhlYWRUYWcubG9jYWxOYW1lKCkpOworICAgIEF0b21pY0hUTUxUb2tlbiBl
bmRIZWFkKEhUTUxUb2tlbjo6RW5kVGFnLCBoZWFkVGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgcHJv
Y2Vzc0VuZFRhZyhXVEZNb3ZlKGVuZEhlYWQpKTsKIH0KIAogdm9pZCBIVE1MVHJlZUJ1aWxkZXI6
OmRlZmF1bHRGb3JJbkhlYWROb3NjcmlwdCgpCiB7Ci0gICAgQXRvbWljSFRNTFRva2VuIGVuZE5v
c2NyaXB0KEhUTUxUb2tlbjo6RW5kVGFnLCBub3NjcmlwdFRhZy5sb2NhbE5hbWUoKSk7CisgICAg
QXRvbWljSFRNTFRva2VuIGVuZE5vc2NyaXB0KEhUTUxUb2tlbjo6RW5kVGFnLCBub3NjcmlwdFRh
Zy0+bG9jYWxOYW1lKCkpOwogICAgIHByb2Nlc3NFbmRUYWcoV1RGTW92ZShlbmROb3NjcmlwdCkp
OwogfQogCiB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6ZGVmYXVsdEZvckFmdGVySGVhZCgpCiB7Ci0g
ICAgQXRvbWljSFRNTFRva2VuIHN0YXJ0Qm9keShIVE1MVG9rZW46OlN0YXJ0VGFnLCBib2R5VGFn
LmxvY2FsTmFtZSgpKTsKKyAgICBBdG9taWNIVE1MVG9rZW4gc3RhcnRCb2R5KEhUTUxUb2tlbjo6
U3RhcnRUYWcsIGJvZHlUYWctPmxvY2FsTmFtZSgpKTsKICAgICBwcm9jZXNzU3RhcnRUYWcoV1RG
TW92ZShzdGFydEJvZHkpKTsKICAgICBtX2ZyYW1lc2V0T2sgPSB0cnVlOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvVGV4dERvY3VtZW50UGFyc2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1RleHREb2N1bWVudFBhcnNlci5jcHAKaW5kZXggZjk4
ODI1YjIwNjA5N2YyYzRhOGMxZmU4NGI0MGI2ZDhmMGE1ZWFjYS4uM2IwMWQ3ZWQ3OGU4MTZlNWU3
YTYxNjNiZTlhODIwNTU0NGJhMDc4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvVGV4dERvY3VtZW50UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9UZXh0RG9jdW1lbnRQYXJzZXIuY3BwCkBAIC01Myw3ICs1Myw3IEBAIHZvaWQgVGV4dERv
Y3VtZW50UGFyc2VyOjppbnNlcnRGYWtlUHJlRWxlbWVudCgpCiAgICAgLy8gZGlzdHJ1YmluZyB0
aGUgbGluZS9jb2x1bW4gbnVtYmVyIGNhbGN1bGF0aW9ucy4KICAgICBWZWN0b3I8QXR0cmlidXRl
PiBhdHRyaWJ1dGVzOwogICAgIGF0dHJpYnV0ZXMuYXBwZW5kKEF0dHJpYnV0ZShzdHlsZUF0dHIs
ICJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsiKSk7Ci0gICAg
QXRvbWljSFRNTFRva2VuIGZha2VQcmUoSFRNTFRva2VuOjpTdGFydFRhZywgcHJlVGFnLmxvY2Fs
TmFtZSgpLCBXVEZNb3ZlKGF0dHJpYnV0ZXMpKTsKKyAgICBBdG9taWNIVE1MVG9rZW4gZmFrZVBy
ZShIVE1MVG9rZW46OlN0YXJ0VGFnLCBwcmVUYWctPmxvY2FsTmFtZSgpLCBXVEZNb3ZlKGF0dHJp
YnV0ZXMpKTsKICAgICB0cmVlQnVpbGRlcigpLmNvbnN0cnVjdFRyZWUoV1RGTW92ZShmYWtlUHJl
KSk7CiAKICAgICAvLyBOb3JtYWxseSB3ZSB3b3VsZCBza2lwIHRoZSBmaXJzdCBcbiBhZnRlciBh
IDxwcmU+IGVsZW1lbnQsIGJ1dCB3ZSBkb24ndApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1BhdGhEYXRhLmNwcAppbmRleCA5YWE5ZTFiZTFkOGJkOGNiYzcxMDk1NGY5MjEzOGVm
ZDlmZDYwODQ4Li41YmE5MjgxZTJlMGM3ZTcyYWIxOWI2NTA4MzAxYjMwNmNkMDc1YmIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1BhdGhEYXRhLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1BhdGhEYXRhLmNwcApAQCAtMTc3LDEz
ICsxNzcsMTMgQEAgUGF0aCBwYXRoRnJvbUdyYXBoaWNzRWxlbWVudChTVkdFbGVtZW50KiBlbGVt
ZW50KQogICAgIHN0YXRpYyBIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBQYXRoRnJvbUZ1bmN0
aW9uPiogbWFwID0gMDsKICAgICBpZiAoIW1hcCkgewogICAgICAgICBtYXAgPSBuZXcgSGFzaE1h
cDxBdG9taWNTdHJpbmdJbXBsKiwgUGF0aEZyb21GdW5jdGlvbj47Ci0gICAgICAgIG1hcC0+c2V0
KFNWR05hbWVzOjpjaXJjbGVUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCBwYXRoRnJvbUNpcmNsZUVs
ZW1lbnQpOwotICAgICAgICBtYXAtPnNldChTVkdOYW1lczo6ZWxsaXBzZVRhZy5sb2NhbE5hbWUo
KS5pbXBsKCksIHBhdGhGcm9tRWxsaXBzZUVsZW1lbnQpOwotICAgICAgICBtYXAtPnNldChTVkdO
YW1lczo6bGluZVRhZy5sb2NhbE5hbWUoKS5pbXBsKCksIHBhdGhGcm9tTGluZUVsZW1lbnQpOwot
ICAgICAgICBtYXAtPnNldChTVkdOYW1lczo6cGF0aFRhZy5sb2NhbE5hbWUoKS5pbXBsKCksIHBh
dGhGcm9tUGF0aEVsZW1lbnQpOwotICAgICAgICBtYXAtPnNldChTVkdOYW1lczo6cG9seWdvblRh
Zy5sb2NhbE5hbWUoKS5pbXBsKCksIHBhdGhGcm9tUG9seWdvbkVsZW1lbnQpOwotICAgICAgICBt
YXAtPnNldChTVkdOYW1lczo6cG9seWxpbmVUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCBwYXRoRnJv
bVBvbHlsaW5lRWxlbWVudCk7Ci0gICAgICAgIG1hcC0+c2V0KFNWR05hbWVzOjpyZWN0VGFnLmxv
Y2FsTmFtZSgpLmltcGwoKSwgcGF0aEZyb21SZWN0RWxlbWVudCk7CisgICAgICAgIG1hcC0+c2V0
KFNWR05hbWVzOjpjaXJjbGVUYWctPmxvY2FsTmFtZSgpLmltcGwoKSwgcGF0aEZyb21DaXJjbGVF
bGVtZW50KTsKKyAgICAgICAgbWFwLT5zZXQoU1ZHTmFtZXM6OmVsbGlwc2VUYWctPmxvY2FsTmFt
ZSgpLmltcGwoKSwgcGF0aEZyb21FbGxpcHNlRWxlbWVudCk7CisgICAgICAgIG1hcC0+c2V0KFNW
R05hbWVzOjpsaW5lVGFnLT5sb2NhbE5hbWUoKS5pbXBsKCksIHBhdGhGcm9tTGluZUVsZW1lbnQp
OworICAgICAgICBtYXAtPnNldChTVkdOYW1lczo6cGF0aFRhZy0+bG9jYWxOYW1lKCkuaW1wbCgp
LCBwYXRoRnJvbVBhdGhFbGVtZW50KTsKKyAgICAgICAgbWFwLT5zZXQoU1ZHTmFtZXM6OnBvbHln
b25UYWctPmxvY2FsTmFtZSgpLmltcGwoKSwgcGF0aEZyb21Qb2x5Z29uRWxlbWVudCk7CisgICAg
ICAgIG1hcC0+c2V0KFNWR05hbWVzOjpwb2x5bGluZVRhZy0+bG9jYWxOYW1lKCkuaW1wbCgpLCBw
YXRoRnJvbVBvbHlsaW5lRWxlbWVudCk7CisgICAgICAgIG1hcC0+c2V0KFNWR05hbWVzOjpyZWN0
VGFnLT5sb2NhbE5hbWUoKS5pbXBsKCksIHBhdGhGcm9tUmVjdEVsZW1lbnQpOwogICAgIH0KIAog
ICAgIGlmIChQYXRoRnJvbUZ1bmN0aW9uIHBhdGhGcm9tRnVuY3Rpb24gPSBtYXAtPmdldChlbGVt
ZW50LT5sb2NhbE5hbWUoKS5pbXBsKCkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdSZXNvdXJjZXMuY3BwCmluZGV4IDhhZTYxYzhmNTFmNjhhNDA4ZjMyODk2Y2YyZGM0ODk1
OGFkMDEzYmQuLmQ4ZTcxYjc0NWE0MjliMzIyZmVjMzA2MjEwNjRhMzhiY2UzZTBmYzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5jcHAKQEAgLTQ4LDQw
ICs0OCw0MCBAQCBzdGF0aWMgSGFzaFNldDxBdG9taWNTdHJpbmc+JiBjbGlwcGVyRmlsdGVyTWFz
a2VyVGFncygpCiAgICAgaWYgKHNfdGFnTGlzdC5nZXQoKS5pc0VtcHR5KCkpIHsKICAgICAgICAg
Ly8gImNvbnRhaW5lciBlbGVtZW50cyI6IGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ludHJv
Lmh0bWwjVGVybUNvbnRhaW5lckVsZW1lbnQKICAgICAgICAgLy8gImdyYXBoaWNzIGVsZW1lbnRz
IiA6IGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ludHJvLmh0bWwjVGVybUdyYXBoaWNzRWxl
bWVudAotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjphVGFnLmxvY2FsTmFt
ZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6Y2lyY2xlVGFnLmxv
Y2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6ZWxsaXBz
ZVRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6
OmdseXBoVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdO
YW1lczo6Z1RhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZH
TmFtZXM6OmltYWdlVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFk
ZChTVkdOYW1lczo6bGluZVRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQo
KS5hZGQoU1ZHTmFtZXM6Om1hcmtlclRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlz
dC5nZXQoKS5hZGQoU1ZHTmFtZXM6Om1hc2tUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3Rh
Z0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjptaXNzaW5nX2dseXBoVGFnLmxvY2FsTmFtZSgpKTsK
LSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6cGF0aFRhZy5sb2NhbE5hbWUo
KSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnBvbHlnb25UYWcubG9j
YWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpwb2x5bGlu
ZVRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6
OnJlY3RUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05h
bWVzOjpzdmdUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNW
R05hbWVzOjp0ZXh0VGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFk
ZChTVkdOYW1lczo6dXNlVGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgp
LmFkZChTVkdOYW1lczo6YVRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0
KCkuYWRkKFNWR05hbWVzOjpjaXJjbGVUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdM
aXN0LmdldCgpLmFkZChTVkdOYW1lczo6ZWxsaXBzZVRhZy0+bG9jYWxOYW1lKCkpOworICAgICAg
ICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpnbHlwaFRhZy0+bG9jYWxOYW1lKCkpOwor
ICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpnVGFnLT5sb2NhbE5hbWUoKSk7
CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmltYWdlVGFnLT5sb2NhbE5h
bWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmxpbmVUYWctPmxv
Y2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6bWFya2Vy
VGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6
Om1hc2tUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdO
YW1lczo6bWlzc2luZ19nbHlwaFRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3Qu
Z2V0KCkuYWRkKFNWR05hbWVzOjpwYXRoVGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFn
TGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnBvbHlnb25UYWctPmxvY2FsTmFtZSgpKTsKKyAgICAg
ICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6cG9seWxpbmVUYWctPmxvY2FsTmFtZSgp
KTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6cmVjdFRhZy0+bG9jYWxO
YW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpzdmdUYWctPmxv
Y2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6dGV4dFRh
Zy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjp1
c2VUYWctPmxvY2FsTmFtZSgpKTsKIAogICAgICAgICAvLyBOb3QgbGlzdGVkIGluIHRoZSBkZWZp
bml0aW9ucyBpcyB0aGUgY2xpcFBhdGggZWxlbWVudCwgdGhlIFNWRyBzcGVjIHNheXMgdGhvdWdo
OgogICAgICAgICAvLyBUaGUgImNsaXBQYXRoIiBlbGVtZW50IG9yIGFueSBvZiBpdHMgY2hpbGRy
ZW4gY2FuIHNwZWNpZnkgcHJvcGVydHkgImNsaXAtcGF0aCIuCiAgICAgICAgIC8vIFNvIHdlIGhh
dmUgdG8gYWRkIGNsaXBQYXRoVGFnIGhlcmUsIG90aGVyd2hpc2UgY2xpcC1wYXRoIG9uIGNsaXBQ
YXRoIHdpbGwgZmFpbC4KICAgICAgICAgLy8gKEFscmVhZHkgbWFpbGVkIFNWRyBXRywgd2FpdGlu
ZyBmb3IgYSBzb2x1dGlvbikKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6
Y2xpcFBhdGhUYWcubG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNW
R05hbWVzOjpjbGlwUGF0aFRhZy0+bG9jYWxOYW1lKCkpOwogCiAgICAgICAgIC8vIE5vdCBsaXN0
ZWQgaW4gdGhlIGRlZmluaXRpb25zIGFyZSB0aGUgdGV4dCBjb250ZW50IGVsZW1lbnRzLCB0aG91
Z2ggZmlsdGVyL2NsaXBwZXIvbWFza2VyIG9uIHRzcGFuL3RleHQvLi4gaXMgYWxsb3dlZC4KICAg
ICAgICAgLy8gKEFscmVhZHkgbWFpbGVkIFNWRyBXRywgd2FpdGluZyBmb3IgYSBzb2x1dGlvbikK
LSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6YWx0R2x5cGhUYWcubG9jYWxO
YW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjp0ZXh0UGF0aFRh
Zy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnRy
ZWZUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVz
Ojp0c3BhblRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZH
TmFtZXM6OmFsdEdseXBoVGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQo
KS5hZGQoU1ZHTmFtZXM6OnRleHRQYXRoVGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFn
TGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnRyZWZUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAg
c190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6dHNwYW5UYWctPmxvY2FsTmFtZSgpKTsKIAog
ICAgICAgICAvLyBOb3QgbGlzdGVkIGluIHRoZSBkZWZpbml0aW9ucyBpcyB0aGUgZm9yZWlnbk9i
amVjdCBlbGVtZW50LCBidXQgY2xpcC1wYXRoCiAgICAgICAgIC8vIGlzIGEgc3VwcG9ydGVkIGF0
dHJpYnV0ZS4KLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6Zm9yZWlnbk9i
amVjdFRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFt
ZXM6OmZvcmVpZ25PYmplY3RUYWctPmxvY2FsTmFtZSgpKTsKIAogICAgICAgICAvLyBFbGVtZW50
cyB0aGF0IHdlIGlnbm9yZSwgYXMgaXQgZG9lc24ndCBtYWtlIGFueSBzZW5zZS4KICAgICAgICAg
Ly8gZGVmcywgcGF0dGVybiwgc3dpdGNoIChGSVhNRTogTWFpbCBTVkcgV0cgYWJvdXQgdGhlc2Up
CkBAIC05NSwxMCArOTUsMTAgQEAgc3RhdGljIEhhc2hTZXQ8QXRvbWljU3RyaW5nPiYgbWFya2Vy
VGFncygpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hTZXQ8QXRvbWljU3RyaW5n
Pj4gc190YWdMaXN0OwogICAgIGlmIChzX3RhZ0xpc3QuZ2V0KCkuaXNFbXB0eSgpKSB7Ci0gICAg
ICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmxpbmVUYWcubG9jYWxOYW1lKCkpOwot
ICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpwYXRoVGFnLmxvY2FsTmFtZSgp
KTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6cG9seWdvblRhZy5sb2Nh
bE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnBvbHlsaW5l
VGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6
bGluZVRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05h
bWVzOjpwYXRoVGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQo
U1ZHTmFtZXM6OnBvbHlnb25UYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0Lmdl
dCgpLmFkZChTVkdOYW1lczo6cG9seWxpbmVUYWctPmxvY2FsTmFtZSgpKTsKICAgICB9CiAKICAg
ICByZXR1cm4gc190YWdMaXN0OwpAQCAtMTA4LDE4ICsxMDgsMTggQEAgc3RhdGljIEhhc2hTZXQ8
QXRvbWljU3RyaW5nPiYgZmlsbEFuZFN0cm9rZVRhZ3MoKQogewogICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxIYXNoU2V0PEF0b21pY1N0cmluZz4+IHNfdGFnTGlzdDsKICAgICBpZiAoc190YWdM
aXN0LmdldCgpLmlzRW1wdHkoKSkgewotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05h
bWVzOjphbHRHbHlwaFRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5h
ZGQoU1ZHTmFtZXM6OmNpcmNsZVRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5n
ZXQoKS5hZGQoU1ZHTmFtZXM6OmVsbGlwc2VUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3Rh
Z0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpsaW5lVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAg
c190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6cGF0aFRhZy5sb2NhbE5hbWUoKSk7Ci0gICAg
ICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnBvbHlnb25UYWcubG9jYWxOYW1lKCkp
OwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpwb2x5bGluZVRhZy5sb2Nh
bE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnJlY3RUYWcu
bG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjp0ZXh0
VGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6
dGV4dFBhdGhUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNW
R05hbWVzOjp0cmVmVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFk
ZChTVkdOYW1lczo6dHNwYW5UYWcubG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0
KCkuYWRkKFNWR05hbWVzOjphbHRHbHlwaFRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3Rh
Z0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpjaXJjbGVUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAg
ICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6ZWxsaXBzZVRhZy0+bG9jYWxOYW1lKCkp
OworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpsaW5lVGFnLT5sb2NhbE5h
bWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnBhdGhUYWctPmxv
Y2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6cG9seWdv
blRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVz
Ojpwb2x5bGluZVRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRk
KFNWR05hbWVzOjpyZWN0VGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQo
KS5hZGQoU1ZHTmFtZXM6OnRleHRUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0
LmdldCgpLmFkZChTVkdOYW1lczo6dGV4dFBhdGhUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAg
c190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6dHJlZlRhZy0+bG9jYWxOYW1lKCkpOworICAg
ICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjp0c3BhblRhZy0+bG9jYWxOYW1lKCkp
OwogICAgIH0KIAogICAgIHJldHVybiBzX3RhZ0xpc3Q7CkBAIC0xMjksMTAgKzEyOSwxMCBAQCBz
dGF0aWMgSGFzaFNldDxBdG9taWNTdHJpbmc+JiBjaGFpbmFibGVSZXNvdXJjZVRhZ3MoKQogewog
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoU2V0PEF0b21pY1N0cmluZz4+IHNfdGFnTGlz
dDsKICAgICBpZiAoc190YWdMaXN0LmdldCgpLmlzRW1wdHkoKSkgewotICAgICAgICBzX3RhZ0xp
c3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpsaW5lYXJHcmFkaWVudFRhZy5sb2NhbE5hbWUoKSk7Ci0g
ICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmZpbHRlclRhZy5sb2NhbE5hbWUo
KSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnBhdHRlcm5UYWcubG9j
YWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpyYWRpYWxH
cmFkaWVudFRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZH
TmFtZXM6OmxpbmVhckdyYWRpZW50VGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlz
dC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmZpbHRlclRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBz
X3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpwYXR0ZXJuVGFnLT5sb2NhbE5hbWUoKSk7Cisg
ICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnJhZGlhbEdyYWRpZW50VGFnLT5s
b2NhbE5hbWUoKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHNfdGFnTGlzdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEJvb2xlYW4uaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlZEJvb2xlYW4uaAppbmRleCA2NTE1YTA1MzE5YjFmMDBhZjk1OTNkOTll
NjU4NzdjYzExN2NjMTkzLi5lZGRkMWU3NThjZjZlNGVmYjA2MDgwZGE0MTNmMzUzZGQ5OTNiN2E3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRCb29sZWFuLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkQm9vbGVhbi5oCkBAIC0zNCw3ICszNCw3
IEBAIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5pbWF0ZWRCb29sZWFuLCBib29sLCBV
cHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5CiBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNW
R0FuaW1hdGVkQm9vbGVhbiwgYm9vbCwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgb3Zl
cnJpZGUpCiAKICNkZWZpbmUgREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oT3duZXJUeXBlLCBET01B
dHRyaWJ1dGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKLURFRklORV9BTklNQVRF
RF9QUk9QRVJUWShBbmltYXRlZEJvb2xlYW4sIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01B
dHRyaWJ1dGUubG9jYWxOYW1lKCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCitERUZJ
TkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRCb29sZWFuLCBPd25lclR5cGUsIERPTUF0dHJp
YnV0ZSwgRE9NQXR0cmlidXRlLT5sb2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9w
ZXJ0eSkKIAogY2xhc3MgU1ZHQW5pbWF0aW9uRWxlbWVudDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkRW51bWVyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmgKaW5kZXggZDZkMTE0OTdkMDE3MDYyMWE5MTRjMGEw
NjI2YjQzZjkyNGM2NmU2YS4uNTljZDE5ZGExZDY5MTEzZmViMGI2ZTljYzUwZTQ3ZThhYjE5ZmYw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkRW51bWVyYXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oCkBAIC0z
Miw3ICszMiw3IEBAIHR5cGVkZWYgU1ZHQW5pbWF0ZWRTdGF0aWNQcm9wZXJ0eVRlYXJPZmY8dW5z
aWduZWQ+IFNWR0FuaW1hdGVkRW51bWVyYXRpb247CiBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZ
KFNWR0FuaW1hdGVkRW51bWVyYXRpb25Qcm9wZXJ0eVRlYXJPZmY8RW51bVR5cGU+LCBFbnVtVHlw
ZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgKQogCiAjZGVmaW5lIERFRklORV9BTklN
QVRFRF9FTlVNRVJBVElPTihPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSwgRW51bVR5cGUpIFwKLURFRklORV9BTklNQVRFRF9QUk9QRVJUWShBbmlt
YXRlZEVudW1lcmF0aW9uLCBPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLmxv
Y2FsTmFtZSgpLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQorREVGSU5FX0FOSU1BVEVE
X1BST1BFUlRZKEFuaW1hdGVkRW51bWVyYXRpb24sIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBE
T01BdHRyaWJ1dGUtPmxvY2FsTmFtZSgpLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQog
CiBjbGFzcyBTVkdBbmltYXRlZEVudW1lcmF0aW9uQW5pbWF0b3IgZmluYWwgOiBwdWJsaWMgU1ZH
QW5pbWF0ZWRUeXBlQW5pbWF0b3IgewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1h
dGVkSW50ZWdlci5oCmluZGV4IGE2MmE0NzJlOTNjNjJiZmM5OGM0MDAxMWE5MTY3NDQ3NmQxMWU2
MTIuLmRhNWY0NDFkODY1YjE1NWY4N2E2MjFmZjhkZjdiNjBjZmIyZjliNzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEludGVnZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0ZWRJbnRlZ2VyLmgKQEAgLTMyLDcgKzMyLDcgQEAgdHlwZWRlZiBT
VkdBbmltYXRlZFN0YXRpY1Byb3BlcnR5VGVhck9mZjxpbnQ+IFNWR0FuaW1hdGVkSW50ZWdlcjsK
IERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5pbWF0ZWRJbnRlZ2VyLCBpbnQsIFVwcGVy
UHJvcGVydHksIExvd2VyUHJvcGVydHksICkKIAogI2RlZmluZSBERUZJTkVfQU5JTUFURURfSU5U
RUdFUihPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0
eSkgXAotREVGSU5FX0FOSU1BVEVEX1BST1BFUlRZKEFuaW1hdGVkSW50ZWdlciwgT3duZXJUeXBl
LCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSkKK0RFRklORV9BTklNQVRFRF9QUk9QRVJUWShBbmltYXRlZEludGVnZXIs
IE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUtPmxvY2FsTmFtZSgpLCBVcHBl
clByb3BlcnR5LCBMb3dlclByb3BlcnR5KQogCiAjZGVmaW5lIERFRklORV9BTklNQVRFRF9JTlRF
R0VSX01VTFRJUExFX1dSQVBQRVJTKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBTVkdET01BdHRy
aWJ1dGVJZGVudGlmaWVyLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCiBERUZJTkVf
QU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyLCBPd25lclR5
cGUsIERPTUF0dHJpYnV0ZSwgU1ZHRE9NQXR0cmlidXRlSWRlbnRpZmllciwgVXBwZXJQcm9wZXJ0
eSwgTG93ZXJQcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRlZExlbmd0aC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoLmgKaW5k
ZXggMTRhMzQ2MGM3OTAwMmFkOGY3MzMxNGY2ZjlhY2Q4Nzg4MTg4ZDkzYy4uZmE0Y2E2ZTkxMmU4
MzdjOTFjODUyZjNiOGM0MTJkZDhmMjIwNTE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FuaW1hdGVkTGVuZ3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1h
dGVkTGVuZ3RoLmgKQEAgLTMyLDcgKzMyLDcgQEAgdXNpbmcgU1ZHQW5pbWF0ZWRMZW5ndGggPSBT
VkdBbmltYXRlZFByb3BlcnR5VGVhck9mZjxTVkdMZW5ndGg+OwogREVDTEFSRV9BTklNQVRFRF9Q
Uk9QRVJUWShTVkdBbmltYXRlZExlbmd0aCwgU1ZHTGVuZ3RoVmFsdWUsIFVwcGVyUHJvcGVydHks
IExvd2VyUHJvcGVydHksICkKIAogI2RlZmluZSBERUZJTkVfQU5JTUFURURfTEVOR1RIKE93bmVy
VHlwZSwgRE9NQXR0cmlidXRlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCi1ERUZJ
TkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRMZW5ndGgsIE93bmVyVHlwZSwgRE9NQXR0cmli
dXRlLCBET01BdHRyaWJ1dGUubG9jYWxOYW1lKCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVy
dHkpCitERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRMZW5ndGgsIE93bmVyVHlwZSwg
RE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUtPmxvY2FsTmFtZSgpLCBVcHBlclByb3BlcnR5LCBM
b3dlclByb3BlcnR5KQogCiBjbGFzcyBTVkdBbmltYXRpb25FbGVtZW50OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmgKaW5kZXggZjM2MTlhMDBlMWYyODNjOGU2
Y2Q0ZWQ4OThlMTIwYzY4NzMzZjA5OS4uNWVjZjU0MmJiZDZiMTdkMDNhYjBjNmZmNzVlNGYzZmI2
OGFkYjVhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3Ro
TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aExpc3QuaApA
QCAtMzMsNyArMzMsNyBAQCB1c2luZyBTVkdBbmltYXRlZExlbmd0aExpc3QgPSBTVkdBbmltYXRl
ZExpc3RQcm9wZXJ0eVRlYXJPZmY8U1ZHTGVuZ3RoTGlzdFZhbHVlcwogREVDTEFSRV9BTklNQVRF
RF9MSVNUX1BST1BFUlRZKFNWR0FuaW1hdGVkTGVuZ3RoTGlzdCwgU1ZHTGVuZ3RoTGlzdFZhbHVl
cywgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKIAogI2RlZmluZSBERUZJTkVfQU5JTUFU
RURfTEVOR1RIX0xJU1QoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFVwcGVyUHJvcGVydHksIExv
d2VyUHJvcGVydHkpIFwKLURFRklORV9BTklNQVRFRF9QUk9QRVJUWShBbmltYXRlZExlbmd0aExp
c3QsIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUubG9jYWxOYW1lKCksIFVw
cGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCitERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5p
bWF0ZWRMZW5ndGhMaXN0LCBPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLT5s
b2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKIAogY2xhc3MgU1ZHQW5p
bWF0aW9uRWxlbWVudDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1h
dGVkTnVtYmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXIuaAppbmRl
eCA1NWViMTIxZjMzYmRjN2M2ZTcyNDRlNzRlNjlmOTE5MmQ5ZmU2ZGQwLi4wZTE5ZDRkM2U2NjY1
YjVjOGIxNTY1NDgwMDAyMzM4MWJjNTY2ODNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0ZWROdW1iZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
ZWROdW1iZXIuaApAQCAtMzIsNyArMzIsNyBAQCB0eXBlZGVmIFNWR0FuaW1hdGVkU3RhdGljUHJv
cGVydHlUZWFyT2ZmPGZsb2F0PiBTVkdBbmltYXRlZE51bWJlcjsKIERFQ0xBUkVfQU5JTUFURURf
UFJPUEVSVFkoU1ZHQW5pbWF0ZWROdW1iZXIsIGZsb2F0LCBVcHBlclByb3BlcnR5LCBMb3dlclBy
b3BlcnR5LCApCiAKICNkZWZpbmUgREVGSU5FX0FOSU1BVEVEX05VTUJFUihPd25lclR5cGUsIERP
TUF0dHJpYnV0ZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAotREVGSU5FX0FOSU1B
VEVEX1BST1BFUlRZKEFuaW1hdGVkTnVtYmVyLCBPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgRE9N
QXR0cmlidXRlLmxvY2FsTmFtZSgpLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQorREVG
SU5FX0FOSU1BVEVEX1BST1BFUlRZKEFuaW1hdGVkTnVtYmVyLCBPd25lclR5cGUsIERPTUF0dHJp
YnV0ZSwgRE9NQXR0cmlidXRlLT5sb2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9w
ZXJ0eSkKIAogI2RlZmluZSBERUZJTkVfQU5JTUFURURfTlVNQkVSX01VTFRJUExFX1dSQVBQRVJT
KE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBTVkdET01BdHRyaWJ1dGVJZGVudGlmaWVyLCBVcHBl
clByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCiBERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5p
bWF0ZWROdW1iZXJPcHRpb25hbE51bWJlciwgT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFNWR0RP
TUF0dHJpYnV0ZUlkZW50aWZpZXIsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXJMaXN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXJMaXN0LmgKaW5kZXggYWFkNTFhMDRmZDcw
M2YxN2EyNDRhYzEyZWU0ZDZhYWQzYTE2YWNmMi4uNTgwMjVlYTk0ZTkwMzhiN2NkNWJiNWJhZjcz
NmY2YzZjOGI5NGEwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVk
TnVtYmVyTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJlckxp
c3QuaApAQCAtMzMsNyArMzMsNyBAQCB1c2luZyBTVkdBbmltYXRlZE51bWJlckxpc3QgPSBTVkdB
bmltYXRlZExpc3RQcm9wZXJ0eVRlYXJPZmY8U1ZHTnVtYmVyTGlzdFZhbHVlcwogREVDTEFSRV9B
TklNQVRFRF9MSVNUX1BST1BFUlRZKFNWR0FuaW1hdGVkTnVtYmVyTGlzdCwgU1ZHTnVtYmVyTGlz
dFZhbHVlcywgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKIAogI2RlZmluZSBERUZJTkVf
QU5JTUFURURfTlVNQkVSX0xJU1QoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFVwcGVyUHJvcGVy
dHksIExvd2VyUHJvcGVydHkpIFwKLURFRklORV9BTklNQVRFRF9QUk9QRVJUWShBbmltYXRlZE51
bWJlckxpc3QsIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUubG9jYWxOYW1l
KCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCitERUZJTkVfQU5JTUFURURfUFJPUEVS
VFkoQW5pbWF0ZWROdW1iZXJMaXN0LCBPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgRE9NQXR0cmli
dXRlLT5sb2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKIAogY2xhc3Mg
U1ZHQW5pbWF0aW9uRWxlbWVudDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oCmluZGV4IDhmOWU3NmIwODU4ZTEzMDI0M2MwMjFk
MTc3OTBiYzE2YTM1ZDQzNDYuLmZhNjZmZWI4ZGQzMzFkODQwZjUwYzE4NTk2ZGRlYjY0M2I1Yjk5
MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFByZXNlcnZlQXNw
ZWN0UmF0aW8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFz
cGVjdFJhdGlvLmgKQEAgLTM1LDcgKzM1LDcgQEAgdXNpbmcgU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFz
cGVjdFJhdGlvID0gU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRlYXJPZmY8U1ZHUHJlc2VydmVBc3AKIERF
Q0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBT
VkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHks
ICkKIAogI2RlZmluZSBERUZJTkVfQU5JTUFURURfUFJFU0VSVkVBU1BFQ1RSQVRJTyhPd25lclR5
cGUsIERPTUF0dHJpYnV0ZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAotREVGSU5F
X0FOSU1BVEVEX1BST1BFUlRZKEFuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbywgT3duZXJUeXBl
LCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSkKK0RFRklORV9BTklNQVRFRF9QUk9QRVJUWShBbmltYXRlZFByZXNlcnZl
QXNwZWN0UmF0aW8sIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUtPmxvY2Fs
TmFtZSgpLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQogCiBjbGFzcyBTVkdBbmltYXRp
b25FbGVtZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRS
ZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRSZWN0LmgKaW5kZXggYzhmY2U0
YmVkMmQ2NzA2ZTBmMzk1ZDc4ZDRmNTdlOWM2ZTZiZmE4YS4uOTVlNzM4NmJjYTZiNDNlM2VlZDkw
NDYyNTFjZDJkMWU3ODMxYTlkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVkUmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFJlY3QuaApA
QCAtMzUsNyArMzUsNyBAQCB1c2luZyBTVkdBbmltYXRlZFJlY3QgPSBTVkdBbmltYXRlZFByb3Bl
cnR5VGVhck9mZjxTVkdSZWN0PjsKIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5pbWF0
ZWRSZWN0LCBGbG9hdFJlY3QsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksICkKIAogI2Rl
ZmluZSBERUZJTkVfQU5JTUFURURfUkVDVChPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgVXBwZXJQ
cm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAotREVGSU5FX0FOSU1BVEVEX1BST1BFUlRZKEFuaW1h
dGVkUmVjdCwgT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5sb2NhbE5hbWUo
KSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKK0RFRklORV9BTklNQVRFRF9QUk9QRVJU
WShBbmltYXRlZFJlY3QsIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUtPmxv
Y2FsTmFtZSgpLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQogCiBjbGFzcyBTVkdBbmlt
YXRpb25FbGVtZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
ZWRTdHJpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFN0cmluZy5oCmluZGV4
IDJjOGMzMzU0NjhlMDBkMWYyY2ViMThmMTFmYjQxNjljZTU4Yzk5NTcuLjg2ZDA0MjI4NTRjMjY1
YTBmMTQwMDM1YTIxODhlMjc5MGQ3YmM3ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZFN0cmluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRl
ZFN0cmluZy5oCkBAIC0zNSw3ICszNSw3IEBAIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZH
QW5pbWF0ZWRTdHJpbmcsIFN0cmluZywgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0CiBERUNM
QVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR0FuaW1hdGVkU3RyaW5nLCBTdHJpbmcsIFVwcGVyUHJv
cGVydHksIExvd2VyUHJvcGVydHksIG92ZXJyaWRlKQogCiAjZGVmaW5lIERFRklORV9BTklNQVRF
RF9TVFJJTkcoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJv
cGVydHkpIFwKLURFRklORV9BTklNQVRFRF9QUk9QRVJUWShBbmltYXRlZFN0cmluZywgT3duZXJU
eXBlLCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0
eSwgTG93ZXJQcm9wZXJ0eSkKK0RFRklORV9BTklNQVRFRF9QUk9QRVJUWShBbmltYXRlZFN0cmlu
ZywgT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS0+bG9jYWxOYW1lKCksIFVw
cGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCiAKIGNsYXNzIFNWR0FuaW1hdGlvbkVsZW1lbnQ7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFRyYW5zZm9ybUxp
c3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFRyYW5zZm9ybUxpc3QuaAppbmRl
eCA0YzkwMjJhNWI5MWJmYWYwY2Y4ZTdjMDljNTZmNTMyMmU0YTUzZjA4Li5lM2EzYTBmOTM0NWEz
OTBlZGNhYTcwZWMwMzAxODAxMzhkZWJhODM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVkVHJhbnNmb3JtTGlzdC5oCkBAIC0zMiw3ICszMiw3IEBAIHVzaW5nIFNWR0FuaW1h
dGVkVHJhbnNmb3JtTGlzdCA9IFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdFByb3BlcnR5VGVhck9m
ZjsKIERFQ0xBUkVfQU5JTUFURURfTElTVF9QUk9QRVJUWShTVkdBbmltYXRlZFRyYW5zZm9ybUxp
c3QsIFNWR1RyYW5zZm9ybUxpc3RWYWx1ZXMsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkp
CiAKICNkZWZpbmUgREVGSU5FX0FOSU1BVEVEX1RSQU5TRk9STV9MSVNUKE93bmVyVHlwZSwgRE9N
QXR0cmlidXRlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCi1ERUZJTkVfQU5JTUFU
RURfUFJPUEVSVFkoQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LCBPd25lclR5cGUsIERPTUF0dHJpYnV0
ZSwgRE9NQXR0cmlidXRlLmxvY2FsTmFtZSgpLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5
KQorREVGSU5FX0FOSU1BVEVEX1BST1BFUlRZKEFuaW1hdGVkVHJhbnNmb3JtTGlzdCwgT3duZXJU
eXBlLCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS0+bG9jYWxOYW1lKCksIFVwcGVyUHJvcGVy
dHksIExvd2VyUHJvcGVydHkpCiAKIGNsYXNzIFNWR0FuaW1hdGlvbkVsZW1lbnQ7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcAppbmRleCBjYWM1ZDNkZDEwMjY2
YTFiZTAzYTdjYzNlYzFjYTE5NTE1Zjk0YjhjLi4wNWE5M2NiZTk4NzQzOTUzNDdhMDNmMjEzZWRi
ODIxZWRmMTdiNTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9u
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQu
Y3BwCkBAIC0xNDIsMTUgKzE0MiwxNSBAQCBib29sIFNWR0FuaW1hdGlvbkVsZW1lbnQ6OmlzU3Vw
cG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICBT
VkdUZXN0czo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhzZXQpOwogICAgICAgICBTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNldCk7CiAgICAgICAg
IHNldC5hZGQoewotICAgICAgICAgICAgU1ZHTmFtZXM6OnZhbHVlc0F0dHIsCi0gICAgICAgICAg
ICBTVkdOYW1lczo6a2V5VGltZXNBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OmtleVBvaW50
c0F0dHIsCi0gICAgICAgICAgICBTVkdOYW1lczo6a2V5U3BsaW5lc0F0dHIsCi0gICAgICAgICAg
ICBTVkdOYW1lczo6YXR0cmlidXRlVHlwZUF0dHIsCi0gICAgICAgICAgICBTVkdOYW1lczo6Y2Fs
Y01vZGVBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OmZyb21BdHRyLAotICAgICAgICAgICAg
U1ZHTmFtZXM6OnRvQXR0ciwKLSAgICAgICAgICAgIFNWR05hbWVzOjpieUF0dHIsCisgICAgICAg
ICAgICBTVkdOYW1lczo6dmFsdWVzQXR0ci5nZXQoKSwKKyAgICAgICAgICAgIFNWR05hbWVzOjpr
ZXlUaW1lc0F0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6a2V5UG9pbnRzQXR0ci5n
ZXQoKSwKKyAgICAgICAgICAgIFNWR05hbWVzOjprZXlTcGxpbmVzQXR0ci5nZXQoKSwKKyAgICAg
ICAgICAgIFNWR05hbWVzOjphdHRyaWJ1dGVUeXBlQXR0ci5nZXQoKSwKKyAgICAgICAgICAgIFNW
R05hbWVzOjpjYWxjTW9kZUF0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6ZnJvbUF0
dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6dG9BdHRyLmdldCgpLAorICAgICAgICAg
ICAgU1ZHTmFtZXM6OmJ5QXR0ci5nZXQoKSwKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybiBz
ZXQ7CiAgICAgfSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmNwcAppbmRl
eCBiNmE4MTUyZGU2ZDAxNThjOTEzMTcxNmY0YzBiYjM0YzliM2JmNDI3Li41NTAyZDUxMjE2N2E5
ZmM1ZjVhZjlkOTI5ZTYwYTk4Njk3OTMxMWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQ3Vyc29yRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0N1cnNv
ckVsZW1lbnQuY3BwCkBAIC03MSw3ICs3MSw3IEBAIGJvb2wgU1ZHQ3Vyc29yRWxlbWVudDo6aXNT
dXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgICAg
IFNWR1Rlc3RzOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNldCk7CiAgICAgICAgIFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKICAgICAg
ICAgU1ZHVVJJUmVmZXJlbmNlOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNldCk7Ci0gICAgICAg
IHNldC5hZGQoeyBTVkdOYW1lczo6eEF0dHIsIFNWR05hbWVzOjp5QXR0ciB9KTsKKyAgICAgICAg
c2V0LmFkZCh7IFNWR05hbWVzOjp4QXR0ci5nZXQoKSwgU1ZHTmFtZXM6OnlBdHRyLmdldCgpIH0p
OwogICAgICAgICByZXR1cm4gc2V0OwogICAgIH0oKSk7CiAgICAgcmV0dXJuIHN1cHBvcnRlZEF0
dHJpYnV0ZXMuZ2V0KCkuY29udGFpbnM8U1ZHQXR0cmlidXRlSGFzaFRyYW5zbGF0b3I+KGF0dHJO
YW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCAyOTIxMTk0Nzc3NTZiYWQwN2Y3
ODUxY2RmYmIxOWNhOWVlOTBiNTBhLi45ODk3MmM1ZDgyNDRjMmE0YzAwZDI4YThjOGNkZTEyMGNj
Mzg3NWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC03NSw3NyArNzUsNzcgQEAg
c3RhdGljIE5FVkVSX0lOTElORSBIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBDU1NQcm9wZXJ0
eUlEPiBjcmVhdGVBdHRyaWJ1dGVOYW0KIAogICAgIC8vIFRoaXMgbGlzdCBzaG91bGQgaW5jbHVk
ZSBhbGwgYmFzZSBDU1MgYW5kIFNWRyBDU1MgcHJvcGVydGllcyB3aGljaCBhcmUgZXhwb3NlZCBh
cyBTVkcgWE1MIGF0dHJpYnV0ZXMuCiAgICAgc3RhdGljIGNvbnN0IFF1YWxpZmllZE5hbWUqIGNv
bnN0IGF0dHJpYnV0ZU5hbWVzW10gPSB7Ci0gICAgICAgICZhbGlnbm1lbnRfYmFzZWxpbmVBdHRy
LAotICAgICAgICAmYmFzZWxpbmVfc2hpZnRBdHRyLAotICAgICAgICAmYnVmZmVyZWRfcmVuZGVy
aW5nQXR0ciwKLSAgICAgICAgJmNsaXBBdHRyLAotICAgICAgICAmY2xpcF9wYXRoQXR0ciwKLSAg
ICAgICAgJmNsaXBfcnVsZUF0dHIsCi0gICAgICAgICZTVkdOYW1lczo6Y29sb3JBdHRyLAotICAg
ICAgICAmY29sb3JfaW50ZXJwb2xhdGlvbkF0dHIsCi0gICAgICAgICZjb2xvcl9pbnRlcnBvbGF0
aW9uX2ZpbHRlcnNBdHRyLAotICAgICAgICAmY29sb3JfcHJvZmlsZUF0dHIsCi0gICAgICAgICZj
b2xvcl9yZW5kZXJpbmdBdHRyLAotICAgICAgICAmY3Vyc29yQXR0ciwKLSAgICAgICAgJmN4QXR0
ciwKLSAgICAgICAgJmN5QXR0ciwKLSAgICAgICAgJlNWR05hbWVzOjpkaXJlY3Rpb25BdHRyLAot
ICAgICAgICAmZGlzcGxheUF0dHIsCi0gICAgICAgICZkb21pbmFudF9iYXNlbGluZUF0dHIsCi0g
ICAgICAgICZlbmFibGVfYmFja2dyb3VuZEF0dHIsCi0gICAgICAgICZmaWxsQXR0ciwKLSAgICAg
ICAgJmZpbGxfb3BhY2l0eUF0dHIsCi0gICAgICAgICZmaWxsX3J1bGVBdHRyLAotICAgICAgICAm
ZmlsdGVyQXR0ciwKLSAgICAgICAgJmZsb29kX2NvbG9yQXR0ciwKLSAgICAgICAgJmZsb29kX29w
YWNpdHlBdHRyLAotICAgICAgICAmZm9udF9mYW1pbHlBdHRyLAotICAgICAgICAmZm9udF9zaXpl
QXR0ciwKLSAgICAgICAgJmZvbnRfc3RyZXRjaEF0dHIsCi0gICAgICAgICZmb250X3N0eWxlQXR0
ciwKLSAgICAgICAgJmZvbnRfdmFyaWFudEF0dHIsCi0gICAgICAgICZmb250X3dlaWdodEF0dHIs
Ci0gICAgICAgICZnbHlwaF9vcmllbnRhdGlvbl9ob3Jpem9udGFsQXR0ciwKLSAgICAgICAgJmds
eXBoX29yaWVudGF0aW9uX3ZlcnRpY2FsQXR0ciwKLSAgICAgICAgJmltYWdlX3JlbmRlcmluZ0F0
dHIsCi0gICAgICAgICZTVkdOYW1lczo6aGVpZ2h0QXR0ciwKLSAgICAgICAgJmtlcm5pbmdBdHRy
LAotICAgICAgICAmbGV0dGVyX3NwYWNpbmdBdHRyLAotICAgICAgICAmbGlnaHRpbmdfY29sb3JB
dHRyLAotICAgICAgICAmbWFya2VyX2VuZEF0dHIsCi0gICAgICAgICZtYXJrZXJfbWlkQXR0ciwK
LSAgICAgICAgJm1hcmtlcl9zdGFydEF0dHIsCi0gICAgICAgICZtYXNrQXR0ciwKLSAgICAgICAg
Jm1hc2tfdHlwZUF0dHIsCi0gICAgICAgICZvcGFjaXR5QXR0ciwKLSAgICAgICAgJm92ZXJmbG93
QXR0ciwKLSAgICAgICAgJnBhaW50X29yZGVyQXR0ciwKLSAgICAgICAgJnBvaW50ZXJfZXZlbnRz
QXR0ciwKLSAgICAgICAgJnJBdHRyLAotICAgICAgICAmcnhBdHRyLAotICAgICAgICAmcnlBdHRy
LAotICAgICAgICAmc2hhcGVfcmVuZGVyaW5nQXR0ciwKLSAgICAgICAgJnN0b3BfY29sb3JBdHRy
LAotICAgICAgICAmc3RvcF9vcGFjaXR5QXR0ciwKLSAgICAgICAgJnN0cm9rZUF0dHIsCi0gICAg
ICAgICZzdHJva2VfZGFzaGFycmF5QXR0ciwKLSAgICAgICAgJnN0cm9rZV9kYXNob2Zmc2V0QXR0
ciwKLSAgICAgICAgJnN0cm9rZV9saW5lY2FwQXR0ciwKLSAgICAgICAgJnN0cm9rZV9saW5lam9p
bkF0dHIsCi0gICAgICAgICZzdHJva2VfbWl0ZXJsaW1pdEF0dHIsCi0gICAgICAgICZzdHJva2Vf
b3BhY2l0eUF0dHIsCi0gICAgICAgICZzdHJva2Vfd2lkdGhBdHRyLAotICAgICAgICAmdGV4dF9h
bmNob3JBdHRyLAotICAgICAgICAmdGV4dF9kZWNvcmF0aW9uQXR0ciwKLSAgICAgICAgJnRleHRf
cmVuZGVyaW5nQXR0ciwKLSAgICAgICAgJnVuaWNvZGVfYmlkaUF0dHIsCi0gICAgICAgICZ2ZWN0
b3JfZWZmZWN0QXR0ciwKLSAgICAgICAgJnZpc2liaWxpdHlBdHRyLAotICAgICAgICAmU1ZHTmFt
ZXM6OndpZHRoQXR0ciwKLSAgICAgICAgJndvcmRfc3BhY2luZ0F0dHIsCi0gICAgICAgICZ3cml0
aW5nX21vZGVBdHRyLAotICAgICAgICAmeEF0dHIsCi0gICAgICAgICZ5QXR0ciwKKyAgICAgICAg
JmFsaWdubWVudF9iYXNlbGluZUF0dHIuZ2V0KCksCisgICAgICAgICZiYXNlbGluZV9zaGlmdEF0
dHIuZ2V0KCksCisgICAgICAgICZidWZmZXJlZF9yZW5kZXJpbmdBdHRyLmdldCgpLAorICAgICAg
ICAmY2xpcEF0dHIuZ2V0KCksCisgICAgICAgICZjbGlwX3BhdGhBdHRyLmdldCgpLAorICAgICAg
ICAmY2xpcF9ydWxlQXR0ci5nZXQoKSwKKyAgICAgICAgJlNWR05hbWVzOjpjb2xvckF0dHIuZ2V0
KCksCisgICAgICAgICZjb2xvcl9pbnRlcnBvbGF0aW9uQXR0ci5nZXQoKSwKKyAgICAgICAgJmNv
bG9yX2ludGVycG9sYXRpb25fZmlsdGVyc0F0dHIuZ2V0KCksCisgICAgICAgICZjb2xvcl9wcm9m
aWxlQXR0ci5nZXQoKSwKKyAgICAgICAgJmNvbG9yX3JlbmRlcmluZ0F0dHIuZ2V0KCksCisgICAg
ICAgICZjdXJzb3JBdHRyLmdldCgpLAorICAgICAgICAmY3hBdHRyLmdldCgpLAorICAgICAgICAm
Y3lBdHRyLmdldCgpLAorICAgICAgICAmU1ZHTmFtZXM6OmRpcmVjdGlvbkF0dHIuZ2V0KCksCisg
ICAgICAgICZkaXNwbGF5QXR0ci5nZXQoKSwKKyAgICAgICAgJmRvbWluYW50X2Jhc2VsaW5lQXR0
ci5nZXQoKSwKKyAgICAgICAgJmVuYWJsZV9iYWNrZ3JvdW5kQXR0ci5nZXQoKSwKKyAgICAgICAg
JmZpbGxBdHRyLmdldCgpLAorICAgICAgICAmZmlsbF9vcGFjaXR5QXR0ci5nZXQoKSwKKyAgICAg
ICAgJmZpbGxfcnVsZUF0dHIuZ2V0KCksCisgICAgICAgICZmaWx0ZXJBdHRyLmdldCgpLAorICAg
ICAgICAmZmxvb2RfY29sb3JBdHRyLmdldCgpLAorICAgICAgICAmZmxvb2Rfb3BhY2l0eUF0dHIu
Z2V0KCksCisgICAgICAgICZmb250X2ZhbWlseUF0dHIuZ2V0KCksCisgICAgICAgICZmb250X3Np
emVBdHRyLmdldCgpLAorICAgICAgICAmZm9udF9zdHJldGNoQXR0ci5nZXQoKSwKKyAgICAgICAg
JmZvbnRfc3R5bGVBdHRyLmdldCgpLAorICAgICAgICAmZm9udF92YXJpYW50QXR0ci5nZXQoKSwK
KyAgICAgICAgJmZvbnRfd2VpZ2h0QXR0ci5nZXQoKSwKKyAgICAgICAgJmdseXBoX29yaWVudGF0
aW9uX2hvcml6b250YWxBdHRyLmdldCgpLAorICAgICAgICAmZ2x5cGhfb3JpZW50YXRpb25fdmVy
dGljYWxBdHRyLmdldCgpLAorICAgICAgICAmaW1hZ2VfcmVuZGVyaW5nQXR0ci5nZXQoKSwKKyAg
ICAgICAgJlNWR05hbWVzOjpoZWlnaHRBdHRyLmdldCgpLAorICAgICAgICAma2VybmluZ0F0dHIu
Z2V0KCksCisgICAgICAgICZsZXR0ZXJfc3BhY2luZ0F0dHIuZ2V0KCksCisgICAgICAgICZsaWdo
dGluZ19jb2xvckF0dHIuZ2V0KCksCisgICAgICAgICZtYXJrZXJfZW5kQXR0ci5nZXQoKSwKKyAg
ICAgICAgJm1hcmtlcl9taWRBdHRyLmdldCgpLAorICAgICAgICAmbWFya2VyX3N0YXJ0QXR0ci5n
ZXQoKSwKKyAgICAgICAgJm1hc2tBdHRyLmdldCgpLAorICAgICAgICAmbWFza190eXBlQXR0ci5n
ZXQoKSwKKyAgICAgICAgJm9wYWNpdHlBdHRyLmdldCgpLAorICAgICAgICAmb3ZlcmZsb3dBdHRy
LmdldCgpLAorICAgICAgICAmcGFpbnRfb3JkZXJBdHRyLmdldCgpLAorICAgICAgICAmcG9pbnRl
cl9ldmVudHNBdHRyLmdldCgpLAorICAgICAgICAmckF0dHIuZ2V0KCksCisgICAgICAgICZyeEF0
dHIuZ2V0KCksCisgICAgICAgICZyeUF0dHIuZ2V0KCksCisgICAgICAgICZzaGFwZV9yZW5kZXJp
bmdBdHRyLmdldCgpLAorICAgICAgICAmc3RvcF9jb2xvckF0dHIuZ2V0KCksCisgICAgICAgICZz
dG9wX29wYWNpdHlBdHRyLmdldCgpLAorICAgICAgICAmc3Ryb2tlQXR0ci5nZXQoKSwKKyAgICAg
ICAgJnN0cm9rZV9kYXNoYXJyYXlBdHRyLmdldCgpLAorICAgICAgICAmc3Ryb2tlX2Rhc2hvZmZz
ZXRBdHRyLmdldCgpLAorICAgICAgICAmc3Ryb2tlX2xpbmVjYXBBdHRyLmdldCgpLAorICAgICAg
ICAmc3Ryb2tlX2xpbmVqb2luQXR0ci5nZXQoKSwKKyAgICAgICAgJnN0cm9rZV9taXRlcmxpbWl0
QXR0ci5nZXQoKSwKKyAgICAgICAgJnN0cm9rZV9vcGFjaXR5QXR0ci5nZXQoKSwKKyAgICAgICAg
JnN0cm9rZV93aWR0aEF0dHIuZ2V0KCksCisgICAgICAgICZ0ZXh0X2FuY2hvckF0dHIuZ2V0KCks
CisgICAgICAgICZ0ZXh0X2RlY29yYXRpb25BdHRyLmdldCgpLAorICAgICAgICAmdGV4dF9yZW5k
ZXJpbmdBdHRyLmdldCgpLAorICAgICAgICAmdW5pY29kZV9iaWRpQXR0ci5nZXQoKSwKKyAgICAg
ICAgJnZlY3Rvcl9lZmZlY3RBdHRyLmdldCgpLAorICAgICAgICAmdmlzaWJpbGl0eUF0dHIuZ2V0
KCksCisgICAgICAgICZTVkdOYW1lczo6d2lkdGhBdHRyLmdldCgpLAorICAgICAgICAmd29yZF9z
cGFjaW5nQXR0ci5nZXQoKSwKKyAgICAgICAgJndyaXRpbmdfbW9kZUF0dHIuZ2V0KCksCisgICAg
ICAgICZ4QXR0ci5nZXQoKSwKKyAgICAgICAgJnlBdHRyLmdldCgpLAogICAgIH07CiAKICAgICBI
YXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBDU1NQcm9wZXJ0eUlEPiBtYXA7CkBAIC0xNTcsNyAr
MTU3LDcgQEAgc3RhdGljIE5FVkVSX0lOTElORSBIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBD
U1NQcm9wZXJ0eUlEPiBjcmVhdGVBdHRyaWJ1dGVOYW0KIAogICAgIC8vIEZJWE1FOiBXaGVuIENT
UyBzdXBwb3J0cyAidHJhbnNmb3JtLW9yaWdpbiIgdGhpcyBzcGVjaWFsIGNhc2UgY2FuIGJlIHJl
bW92ZWQsCiAgICAgLy8gYW5kIHdlIGNhbiBhZGQgdHJhbnNmb3JtX29yaWdpbkF0dHIgdG8gdGhl
IHRhYmxlIGFib3ZlIGluc3RlYWQuCi0gICAgbWFwLmFkZCh0cmFuc2Zvcm1fb3JpZ2luQXR0ci5s
b2NhbE5hbWUoKS5pbXBsKCksIENTU1Byb3BlcnR5VHJhbnNmb3JtT3JpZ2luKTsKKyAgICBtYXAu
YWRkKHRyYW5zZm9ybV9vcmlnaW5BdHRyLT5sb2NhbE5hbWUoKS5pbXBsKCksIENTU1Byb3BlcnR5
VHJhbnNmb3JtT3JpZ2luKTsKIAogICAgIHJldHVybiBtYXA7CiB9CkBAIC02NTksMTEgKzY1OSwx
MSBAQCBib29sIFNWR0VsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9k
ZSYgY2hpbGQpIGNvbnN0CiAKICAgICBzdGF0aWMgY29uc3QgUXVhbGlmaWVkTmFtZSogY29uc3Qg
aW52YWxpZFRleHRDb250ZW50W10gewogI2lmIEVOQUJMRShTVkdfRk9OVFMpCi0gICAgICAgICZT
VkdOYW1lczo6YWx0R2x5cGhUYWcsCisgICAgICAgICZTVkdOYW1lczo6YWx0R2x5cGhUYWcuZ2V0
KCksCiAjZW5kaWYKLSAgICAgICAgJlNWR05hbWVzOjp0ZXh0UGF0aFRhZywKLSAgICAgICAgJlNW
R05hbWVzOjp0cmVmVGFnLAotICAgICAgICAmU1ZHTmFtZXM6OnRzcGFuVGFnLAorICAgICAgICAm
U1ZHTmFtZXM6OnRleHRQYXRoVGFnLmdldCgpLAorICAgICAgICAmU1ZHTmFtZXM6OnRyZWZUYWcu
Z2V0KCksCisgICAgICAgICZTVkdOYW1lczo6dHNwYW5UYWcuZ2V0KCksCiAgICAgfTsKICAgICBh
dXRvJiBuYW1lID0gc3ZnQ2hpbGQubG9jYWxOYW1lKCk7CiAgICAgZm9yIChhdXRvKiB0YWcgOiBp
bnZhbGlkVGV4dENvbnRlbnQpIHsKQEAgLTc3MSwxMDAgKzc3MSwxMDAgQEAgUXVhbGlmaWVkTmFt
ZSBTVkdFbGVtZW50OjphbmltYXRhYmxlQXR0cmlidXRlRm9yTmFtZShjb25zdCBBdG9taWNTdHJp
bmcmIGxvY2FsTmEKIHsKICAgICBzdGF0aWMgY29uc3QgYXV0byBhbmltYXRhYmxlQXR0cmlidXRl
cyA9IG1ha2VOZXZlckRlc3Ryb3llZChbXSB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBRdWFsaWZp
ZWROYW1lKiBjb25zdCBuYW1lc1tdID0gewotICAgICAgICAgICAgJkhUTUxOYW1lczo6Y2xhc3NB
dHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjphbXBsaXR1ZGVBdHRyLAotICAgICAgICAgICAg
JlNWR05hbWVzOjphemltdXRoQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6YmFzZUZyZXF1
ZW5jeUF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OmJpYXNBdHRyLAotICAgICAgICAgICAg
JlNWR05hbWVzOjpjbGlwUGF0aFVuaXRzQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6Y3hB
dHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpjeUF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFt
ZXM6OmRpZmZ1c2VDb25zdGFudEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OmRpdmlzb3JB
dHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpkeEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFt
ZXM6OmR5QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6ZWRnZU1vZGVBdHRyLAotICAgICAg
ICAgICAgJlNWR05hbWVzOjplbGV2YXRpb25BdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpl
eHBvbmVudEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWRBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpmaWx0ZXJSZXNBdHRyLAotICAgICAg
ICAgICAgJlNWR05hbWVzOjpmaWx0ZXJVbml0c0F0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6
OmZ4QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6ZnlBdHRyLAotICAgICAgICAgICAgJlNW
R05hbWVzOjpncmFkaWVudFRyYW5zZm9ybUF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6Omdy
YWRpZW50VW5pdHNBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpoZWlnaHRBdHRyLAotICAg
ICAgICAgICAgJlNWR05hbWVzOjppbjJBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjppbkF0
dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OmludGVyY2VwdEF0dHIsCi0gICAgICAgICAgICAm
U1ZHTmFtZXM6OmsxQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6azJBdHRyLAotICAgICAg
ICAgICAgJlNWR05hbWVzOjprM0F0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6Oms0QXR0ciwK
LSAgICAgICAgICAgICZTVkdOYW1lczo6a2VybmVsTWF0cml4QXR0ciwKLSAgICAgICAgICAgICZT
VkdOYW1lczo6a2VybmVsVW5pdExlbmd0aEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6Omxl
bmd0aEFkanVzdEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OmxpbWl0aW5nQ29uZUFuZ2xl
QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6bWFya2VySGVpZ2h0QXR0ciwKLSAgICAgICAg
ICAgICZTVkdOYW1lczo6bWFya2VyVW5pdHNBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpt
YXJrZXJXaWR0aEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6Om1hc2tDb250ZW50VW5pdHNB
dHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjptYXNrVW5pdHNBdHRyLAotICAgICAgICAgICAg
JlNWR05hbWVzOjptZXRob2RBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjptb2RlQXR0ciwK
LSAgICAgICAgICAgICZTVkdOYW1lczo6bnVtT2N0YXZlc0F0dHIsCi0gICAgICAgICAgICAmU1ZH
TmFtZXM6Om9mZnNldEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6Om9wZXJhdG9yQXR0ciwK
LSAgICAgICAgICAgICZTVkdOYW1lczo6b3JkZXJBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVz
OjpvcmllbnRBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpwYXRoTGVuZ3RoQXR0ciwKLSAg
ICAgICAgICAgICZTVkdOYW1lczo6cGF0dGVybkNvbnRlbnRVbml0c0F0dHIsCi0gICAgICAgICAg
ICAmU1ZHTmFtZXM6OnBhdHRlcm5UcmFuc2Zvcm1BdHRyLAotICAgICAgICAgICAgJlNWR05hbWVz
OjpwYXR0ZXJuVW5pdHNBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpwb2ludHNBdFhBdHRy
LAotICAgICAgICAgICAgJlNWR05hbWVzOjpwb2ludHNBdFlBdHRyLAotICAgICAgICAgICAgJlNW
R05hbWVzOjpwb2ludHNBdFpBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpwcmVzZXJ2ZUFs
cGhhQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIs
Ci0gICAgICAgICAgICAmU1ZHTmFtZXM6OnByaW1pdGl2ZVVuaXRzQXR0ciwKLSAgICAgICAgICAg
ICZTVkdOYW1lczo6cmFkaXVzQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6ckF0dHIsCi0g
ICAgICAgICAgICAmU1ZHTmFtZXM6OnJlZlhBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpy
ZWZZQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6cmVzdWx0QXR0ciwKLSAgICAgICAgICAg
ICZTVkdOYW1lczo6cm90YXRlQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6cnhBdHRyLAot
ICAgICAgICAgICAgJlNWR05hbWVzOjpyeUF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnNj
YWxlQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6c2VlZEF0dHIsCi0gICAgICAgICAgICAm
U1ZHTmFtZXM6OnNsb3BlQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6c3BhY2luZ0F0dHIs
Ci0gICAgICAgICAgICAmU1ZHTmFtZXM6OnNwZWN1bGFyQ29uc3RhbnRBdHRyLAotICAgICAgICAg
ICAgJlNWR05hbWVzOjpzcGVjdWxhckV4cG9uZW50QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1l
czo6c3ByZWFkTWV0aG9kQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6c3RhcnRPZmZzZXRB
dHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpzdGREZXZpYXRpb25BdHRyLAotICAgICAgICAg
ICAgJlNWR05hbWVzOjpzdGl0Y2hUaWxlc0F0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnN1
cmZhY2VTY2FsZUF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnRhYmxlVmFsdWVzQXR0ciwK
LSAgICAgICAgICAgICZTVkdOYW1lczo6dGFyZ2V0QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1l
czo6dGFyZ2V0WEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnRhcmdldFlBdHRyLAotICAg
ICAgICAgICAgJlNWR05hbWVzOjp0cmFuc2Zvcm1BdHRyLAotICAgICAgICAgICAgJlNWR05hbWVz
Ojp0eXBlQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6dmFsdWVzQXR0ciwKLSAgICAgICAg
ICAgICZTVkdOYW1lczo6dmlld0JveEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OndpZHRo
QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6eDFBdHRyLAotICAgICAgICAgICAgJlNWR05h
bWVzOjp4MkF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnhBdHRyLAotICAgICAgICAgICAg
JlNWR05hbWVzOjp4Q2hhbm5lbFNlbGVjdG9yQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6
eTFBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjp5MkF0dHIsCi0gICAgICAgICAgICAmU1ZH
TmFtZXM6OnlBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjp5Q2hhbm5lbFNlbGVjdG9yQXR0
ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6ekF0dHIsCi0gICAgICAgICAgICAmWExpbmtOYW1l
czo6aHJlZkF0dHIsCisgICAgICAgICAgICAmSFRNTE5hbWVzOjpjbGFzc0F0dHIuZ2V0KCksCisg
ICAgICAgICAgICAmU1ZHTmFtZXM6OmFtcGxpdHVkZUF0dHIuZ2V0KCksCisgICAgICAgICAgICAm
U1ZHTmFtZXM6OmF6aW11dGhBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpiYXNl
RnJlcXVlbmN5QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6Ymlhc0F0dHIuZ2V0
KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OmNsaXBQYXRoVW5pdHNBdHRyLmdldCgpLAorICAg
ICAgICAgICAgJlNWR05hbWVzOjpjeEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6
OmN5QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6ZGlmZnVzZUNvbnN0YW50QXR0
ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6ZGl2aXNvckF0dHIuZ2V0KCksCisgICAg
ICAgICAgICAmU1ZHTmFtZXM6OmR4QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6
ZHlBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjplZGdlTW9kZUF0dHIuZ2V0KCks
CisgICAgICAgICAgICAmU1ZHTmFtZXM6OmVsZXZhdGlvbkF0dHIuZ2V0KCksCisgICAgICAgICAg
ICAmU1ZHTmFtZXM6OmV4cG9uZW50QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6
ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFt
ZXM6OmZpbHRlclJlc0F0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OmZpbHRlclVu
aXRzQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6ZnhBdHRyLmdldCgpLAorICAg
ICAgICAgICAgJlNWR05hbWVzOjpmeUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6
OmdyYWRpZW50VHJhbnNmb3JtQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6Z3Jh
ZGllbnRVbml0c0F0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OmhlaWdodEF0dHIu
Z2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OmluMkF0dHIuZ2V0KCksCisgICAgICAgICAg
ICAmU1ZHTmFtZXM6OmluQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6aW50ZXJj
ZXB0QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6azFBdHRyLmdldCgpLAorICAg
ICAgICAgICAgJlNWR05hbWVzOjprMkF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6
OmszQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6azRBdHRyLmdldCgpLAorICAg
ICAgICAgICAgJlNWR05hbWVzOjprZXJuZWxNYXRyaXhBdHRyLmdldCgpLAorICAgICAgICAgICAg
JlNWR05hbWVzOjprZXJuZWxVbml0TGVuZ3RoQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdO
YW1lczo6bGVuZ3RoQWRqdXN0QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6bGlt
aXRpbmdDb25lQW5nbGVBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjptYXJrZXJI
ZWlnaHRBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjptYXJrZXJVbml0c0F0dHIu
Z2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6Om1hcmtlcldpZHRoQXR0ci5nZXQoKSwKKyAg
ICAgICAgICAgICZTVkdOYW1lczo6bWFza0NvbnRlbnRVbml0c0F0dHIuZ2V0KCksCisgICAgICAg
ICAgICAmU1ZHTmFtZXM6Om1hc2tVbml0c0F0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFt
ZXM6Om1ldGhvZEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6Om1vZGVBdHRyLmdl
dCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpudW1PY3RhdmVzQXR0ci5nZXQoKSwKKyAgICAg
ICAgICAgICZTVkdOYW1lczo6b2Zmc2V0QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1l
czo6b3BlcmF0b3JBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpvcmRlckF0dHIu
Z2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6Om9yaWVudEF0dHIuZ2V0KCksCisgICAgICAg
ICAgICAmU1ZHTmFtZXM6OnBhdGhMZW5ndGhBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05h
bWVzOjpwYXR0ZXJuQ29udGVudFVuaXRzQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1l
czo6cGF0dGVyblRyYW5zZm9ybUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnBh
dHRlcm5Vbml0c0F0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnBvaW50c0F0WEF0
dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnBvaW50c0F0WUF0dHIuZ2V0KCksCisg
ICAgICAgICAgICAmU1ZHTmFtZXM6OnBvaW50c0F0WkF0dHIuZ2V0KCksCisgICAgICAgICAgICAm
U1ZHTmFtZXM6OnByZXNlcnZlQWxwaGFBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVz
OjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6
cHJpbWl0aXZlVW5pdHNBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpyYWRpdXNB
dHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpyQXR0ci5nZXQoKSwKKyAgICAgICAg
ICAgICZTVkdOYW1lczo6cmVmWEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnJl
ZllBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpyZXN1bHRBdHRyLmdldCgpLAor
ICAgICAgICAgICAgJlNWR05hbWVzOjpyb3RhdGVBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNW
R05hbWVzOjpyeEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnJ5QXR0ci5nZXQo
KSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6c2NhbGVBdHRyLmdldCgpLAorICAgICAgICAgICAg
JlNWR05hbWVzOjpzZWVkQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6c2xvcGVB
dHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpzcGFjaW5nQXR0ci5nZXQoKSwKKyAg
ICAgICAgICAgICZTVkdOYW1lczo6c3BlY3VsYXJDb25zdGFudEF0dHIuZ2V0KCksCisgICAgICAg
ICAgICAmU1ZHTmFtZXM6OnNwZWN1bGFyRXhwb25lbnRBdHRyLmdldCgpLAorICAgICAgICAgICAg
JlNWR05hbWVzOjpzcHJlYWRNZXRob2RBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVz
OjpzdGFydE9mZnNldEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnN0ZERldmlh
dGlvbkF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnN0aXRjaFRpbGVzQXR0ci5n
ZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6c3VyZmFjZVNjYWxlQXR0ci5nZXQoKSwKKyAg
ICAgICAgICAgICZTVkdOYW1lczo6dGFibGVWYWx1ZXNBdHRyLmdldCgpLAorICAgICAgICAgICAg
JlNWR05hbWVzOjp0YXJnZXRBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjp0YXJn
ZXRYQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6dGFyZ2V0WUF0dHIuZ2V0KCks
CisgICAgICAgICAgICAmU1ZHTmFtZXM6OnRyYW5zZm9ybUF0dHIuZ2V0KCksCisgICAgICAgICAg
ICAmU1ZHTmFtZXM6OnR5cGVBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjp2YWx1
ZXNBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjp2aWV3Qm94QXR0ci5nZXQoKSwK
KyAgICAgICAgICAgICZTVkdOYW1lczo6d2lkdGhBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNW
R05hbWVzOjp4MUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OngyQXR0ci5nZXQo
KSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6eEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZH
TmFtZXM6OnhDaGFubmVsU2VsZWN0b3JBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVz
Ojp5MUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnkyQXR0ci5nZXQoKSwKKyAg
ICAgICAgICAgICZTVkdOYW1lczo6eUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6
OnlDaGFubmVsU2VsZWN0b3JBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjp6QXR0
ci5nZXQoKSwKKyAgICAgICAgICAgICZYTGlua05hbWVzOjpocmVmQXR0ci5nZXQoKSwKICAgICAg
ICAgfTsKICAgICAgICAgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFF1YWxpZmllZE5hbWU+IG1hcDsK
ICAgICAgICAgZm9yIChhdXRvJiBuYW1lIDogbmFtZXMpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
aWx0ZXJFbGVtZW50LmNwcAppbmRleCAxM2E5ODE0NjliZjEwMDY4ZTE4YmIzZTczYjk0MjNiN2Jj
ZTA1NTViLi43OGI4YzEyYTAzMGNmYTY5NTZiYTc1MmI1ZGNkMzQwMTRjNGQyNjcxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwCkBAIC0xMDksMTMgKzEwOSwxMyBAQCBi
b29sIFNWR0ZpbHRlckVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICBTVkdMYW5nU3BhY2U6OmFkZFN1cHBvcnRlZEF0dHJp
YnV0ZXMoc2V0KTsKICAgICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6YWRkU3Vw
cG9ydGVkQXR0cmlidXRlcyhzZXQpOwogICAgICAgICBzZXQuYWRkKHsKLSAgICAgICAgICAgIFNW
R05hbWVzOjpmaWx0ZXJVbml0c0F0dHIsCi0gICAgICAgICAgICBTVkdOYW1lczo6cHJpbWl0aXZl
VW5pdHNBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OnhBdHRyLAotICAgICAgICAgICAgU1ZH
TmFtZXM6OnlBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OndpZHRoQXR0ciwKLSAgICAgICAg
ICAgIFNWR05hbWVzOjpoZWlnaHRBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OmZpbHRlclJl
c0F0dHIsCisgICAgICAgICAgICBTVkdOYW1lczo6ZmlsdGVyVW5pdHNBdHRyLmdldCgpLAorICAg
ICAgICAgICAgU1ZHTmFtZXM6OnByaW1pdGl2ZVVuaXRzQXR0ci5nZXQoKSwKKyAgICAgICAgICAg
IFNWR05hbWVzOjp4QXR0ci5nZXQoKSwKKyAgICAgICAgICAgIFNWR05hbWVzOjp5QXR0ci5nZXQo
KSwKKyAgICAgICAgICAgIFNWR05hbWVzOjp3aWR0aEF0dHIuZ2V0KCksCisgICAgICAgICAgICBT
VkdOYW1lczo6aGVpZ2h0QXR0ci5nZXQoKSwKKyAgICAgICAgICAgIFNWR05hbWVzOjpmaWx0ZXJS
ZXNBdHRyLmdldCgpLAogICAgICAgICB9KTsKICAgICAgICAgcmV0dXJuIHNldDsKICAgICB9KCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5k
YXJkQXR0cmlidXRlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzLmNwcAppbmRleCA3NGI2ZGVlYjg2MDA3MzlkMzcwMGVlMjljMTZh
ODNkZjUzZjgwNmVkLi43N2EzYTk3MWE2YzcyZjBiZjlmMWM4OGEzYzMzZjcwODVmYWFiZTdhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzLmNwcApAQCAtNjQsMTEgKzY0LDExIEBAIFNWR0ZpbHRlclByaW1p
dGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1
dGVzKGNvbnN0CiBib29sIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6aXNT
dXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiB7CiAgICAg
c3RhdGljIGNvbnN0IGF1dG8gc3VwcG9ydGVkQXR0cmlidXRlcyA9IG1ha2VOZXZlckRlc3Ryb3ll
ZChIYXNoU2V0PFF1YWxpZmllZE5hbWU+IHsKLSAgICAgICAgU1ZHTmFtZXM6OnhBdHRyLAotICAg
ICAgICBTVkdOYW1lczo6eUF0dHIsCi0gICAgICAgIFNWR05hbWVzOjp3aWR0aEF0dHIsCi0gICAg
ICAgIFNWR05hbWVzOjpoZWlnaHRBdHRyLAotICAgICAgICBTVkdOYW1lczo6cmVzdWx0QXR0ciwK
KyAgICAgICAgU1ZHTmFtZXM6OnhBdHRyLmdldCgpLAorICAgICAgICBTVkdOYW1lczo6eUF0dHIu
Z2V0KCksCisgICAgICAgIFNWR05hbWVzOjp3aWR0aEF0dHIuZ2V0KCksCisgICAgICAgIFNWR05h
bWVzOjpoZWlnaHRBdHRyLmdldCgpLAorICAgICAgICBTVkdOYW1lczo6cmVzdWx0QXR0ci5nZXQo
KSwKICAgICB9KTsKICAgICByZXR1cm4gc3VwcG9ydGVkQXR0cmlidXRlcy5nZXQoKS5jb250YWlu
czxTVkdBdHRyaWJ1dGVIYXNoVHJhbnNsYXRvcj4oYXR0ck5hbWUpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHAKaW5kZXggZWQ3ZWJmMjZmNzM0
YzQyNWVkZGU2Njg4NjE2ZTAyOGQwNTY2OTE2My4uNWU2M2ZiNGQ4NGYwYmFkMjZiN2VjYzhhNzE4
YzhjOTQ4ZWQwMjVjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25P
YmplY3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVj
dEVsZW1lbnQuY3BwCkBAIC03Myw3ICs3Myw3IEBAIGJvb2wgU1ZHRm9yZWlnbk9iamVjdEVsZW1l
bnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lCiAg
ICAgICAgIEhhc2hTZXQ8UXVhbGlmaWVkTmFtZT4gc2V0OwogICAgICAgICBTVkdMYW5nU3BhY2U6
OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKICAgICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZDo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhzZXQpOwotICAgICAgICBzZXQuYWRk
KHsgU1ZHTmFtZXM6OnhBdHRyLCBTVkdOYW1lczo6eUF0dHIsIFNWR05hbWVzOjp3aWR0aEF0dHIs
IFNWR05hbWVzOjpoZWlnaHRBdHRyIH0pOworICAgICAgICBzZXQuYWRkKHsgU1ZHTmFtZXM6OnhB
dHRyLmdldCgpLCBTVkdOYW1lczo6eUF0dHIuZ2V0KCksIFNWR05hbWVzOjp3aWR0aEF0dHIuZ2V0
KCksIFNWR05hbWVzOjpoZWlnaHRBdHRyLmdldCgpIH0pOwogICAgICAgICByZXR1cm4gc2V0Owog
ICAgIH0oKSk7CiAgICAgcmV0dXJuIHN1cHBvcnRlZEF0dHJpYnV0ZXMuZ2V0KCkuY29udGFpbnM8
U1ZHQXR0cmlidXRlSGFzaFRyYW5zbGF0b3I+KGF0dHJOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0dyYWRpZW50RWxlbWVudC5jcHAKaW5kZXggYzYwZTNhYzI3ODA5NTMwY2ZkMzBmMTgzNWNm
YWFmMWQ5YzY3MTE1Ni4uNDc0NDJjZmUzZWU4YTNhZmI3NGE2MjljZjAyNzM4NDE4NjVhY2Q1NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAKQEAgLTY3LDcgKzY3
LDcgQEAgYm9vbCBTVkdHcmFkaWVudEVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICBIYXNoU2V0PFF1YWxpZmllZE5hbWU+
IHNldDsKICAgICAgICAgU1ZHVVJJUmVmZXJlbmNlOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNl
dCk7CiAgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmFkZFN1cHBvcnRlZEF0
dHJpYnV0ZXMoc2V0KTsKLSAgICAgICAgc2V0LmFkZCh7IFNWR05hbWVzOjpncmFkaWVudFVuaXRz
QXR0ciwgU1ZHTmFtZXM6OmdyYWRpZW50VHJhbnNmb3JtQXR0ciwgU1ZHTmFtZXM6OnNwcmVhZE1l
dGhvZEF0dHIgfSk7CisgICAgICAgIHNldC5hZGQoeyBTVkdOYW1lczo6Z3JhZGllbnRVbml0c0F0
dHIuZ2V0KCksIFNWR05hbWVzOjpncmFkaWVudFRyYW5zZm9ybUF0dHIuZ2V0KCksIFNWR05hbWVz
OjpzcHJlYWRNZXRob2RBdHRyLmdldCgpIH0pOwogICAgICAgICByZXR1cm4gc2V0OwogICAgIH0o
KSk7CiAgICAgcmV0dXJuIHN1cHBvcnRlZEF0dHJpYnV0ZXMuZ2V0KCkuY29udGFpbnM8U1ZHQXR0
cmlidXRlSGFzaFRyYW5zbGF0b3I+KGF0dHJOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdl
RWxlbWVudC5jcHAKaW5kZXggMWQxMzVlNDBjNWUwMmY1MDA3OTliOTg5ZTY2MmY3MTBmNGNhZjhk
OS4uNDI4YWY4MGQyZjgxMGU3YzMyNmE0NjkwMWQyYWQzMzE3ZDYyNmIyNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAKQEAgLTg1LDcgKzg1LDcgQEAgYm9vbCBTVkdJbWFn
ZUVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJO
YW1lKQogICAgICAgICBTVkdMYW5nU3BhY2U6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsK
ICAgICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6YWRkU3VwcG9ydGVkQXR0cmli
dXRlcyhzZXQpOwogICAgICAgICBTVkdVUklSZWZlcmVuY2U6OmFkZFN1cHBvcnRlZEF0dHJpYnV0
ZXMoc2V0KTsKLSAgICAgICAgc2V0LmFkZCh7IFNWR05hbWVzOjp4QXR0ciwgU1ZHTmFtZXM6OnlB
dHRyLCBTVkdOYW1lczo6d2lkdGhBdHRyLCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgU1ZHTmFtZXM6
OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyIH0pOworICAgICAgICBzZXQuYWRkKHsgU1ZHTmFtZXM6
OnhBdHRyLmdldCgpLCBTVkdOYW1lczo6eUF0dHIuZ2V0KCksIFNWR05hbWVzOjp3aWR0aEF0dHIu
Z2V0KCksIFNWR05hbWVzOjpoZWlnaHRBdHRyLmdldCgpLCBTVkdOYW1lczo6cHJlc2VydmVBc3Bl
Y3RSYXRpb0F0dHIuZ2V0KCkgfSk7CiAgICAgICAgIHJldHVybiBzZXQ7CiAgICAgfSgpKTsKICAg
ICByZXR1cm4gc3VwcG9ydGVkQXR0cmlidXRlcy5nZXQoKS5jb250YWluczxTVkdBdHRyaWJ1dGVI
YXNoVHJhbnNsYXRvcj4oYXR0ck5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0xpbmVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5j
cHAKaW5kZXggNTkwNDE4OGY2ZDZkMWJmZTNjODVmNDc5MGE3Y2NhM2IwNDcyNzFmNC4uMzUzODU4
NTUwOGMzNmNkM2RmMmM1YjQwNTI2NzY3NjY4ZDQwMjFjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TGluZUVsZW1lbnQuY3BwCkBAIC02OCw3ICs2OCw3IEBAIGJvb2wgU1ZHTGluZUVsZW1lbnQ6Omlz
U3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAg
ICBIYXNoU2V0PFF1YWxpZmllZE5hbWU+IHNldDsKICAgICAgICAgU1ZHTGFuZ1NwYWNlOjphZGRT
dXBwb3J0ZWRBdHRyaWJ1dGVzKHNldCk7CiAgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQ6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKLSAgICAgICAgc2V0LmFkZCh7IFNW
R05hbWVzOjp4MUF0dHIsIFNWR05hbWVzOjp4MkF0dHIsIFNWR05hbWVzOjp5MUF0dHIsIFNWR05h
bWVzOjp5MkF0dHIgfSk7CisgICAgICAgIHNldC5hZGQoeyBTVkdOYW1lczo6eDFBdHRyLmdldCgp
LCBTVkdOYW1lczo6eDJBdHRyLmdldCgpLCBTVkdOYW1lczo6eTFBdHRyLmdldCgpLCBTVkdOYW1l
czo6eTJBdHRyLmdldCgpIH0pOwogICAgICAgICByZXR1cm4gc2V0OwogICAgIH0oKSk7CiAgICAg
cmV0dXJuIHN1cHBvcnRlZEF0dHJpYnV0ZXMuZ2V0KCkuY29udGFpbnM8U1ZHQXR0cmlidXRlSGFz
aFRyYW5zbGF0b3I+KGF0dHJOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdNYXJrZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50
LmNwcAppbmRleCA0MTRjNGM2M2YzNjI2ZWFiOGJjZmVlYTdmYjRjNmZlMmU5MWVjNzM3Li5jN2Uy
MGYxZGE4ZmVhMjRiNThmNTk3N2M0NWJkYTY3ODJkOTg2OWY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR01hcmtlckVsZW1lbnQuY3BwCkBAIC0xMTMsMTIgKzExMywxMiBAQCBib29sIFNWR01hcmtl
ckVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJO
YW1lKQogICAgICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjphZGRTdXBwb3J0ZWRB
dHRyaWJ1dGVzKHNldCk7CiAgICAgICAgIFNWR0ZpdFRvVmlld0JveDo6YWRkU3VwcG9ydGVkQXR0
cmlidXRlcyhzZXQpOwogICAgICAgICBzZXQuYWRkKHsKLSAgICAgICAgICAgIFNWR05hbWVzOjpt
YXJrZXJVbml0c0F0dHIsCi0gICAgICAgICAgICBTVkdOYW1lczo6cmVmWEF0dHIsCi0gICAgICAg
ICAgICBTVkdOYW1lczo6cmVmWUF0dHIsCi0gICAgICAgICAgICBTVkdOYW1lczo6bWFya2VyV2lk
dGhBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6Om1hcmtlckhlaWdodEF0dHIsCi0gICAgICAg
ICAgICBTVkdOYW1lczo6b3JpZW50QXR0ciwKKyAgICAgICAgICAgIFNWR05hbWVzOjptYXJrZXJV
bml0c0F0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6cmVmWEF0dHIuZ2V0KCksCisg
ICAgICAgICAgICBTVkdOYW1lczo6cmVmWUF0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1l
czo6bWFya2VyV2lkdGhBdHRyLmdldCgpLAorICAgICAgICAgICAgU1ZHTmFtZXM6Om1hcmtlckhl
aWdodEF0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6b3JpZW50QXR0ci5nZXQoKSwK
ICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybiBzZXQ7CiAgICAgfSgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHTWFza0VsZW1lbnQuY3BwCmluZGV4IGNhMDg1ODA4MjVlMDliM2U0MDVkMDE5YzdiOGMx
N2U1YjM0OWU0OTIuLjBhMjhiYzE5NWZmNmM0ZDBiZjc3NzFjYjNlNzA5MDQyOGY2ZTEwZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNwcApAQCAtODQsMTMgKzg0LDEzIEBAIGJv
b2wgU1ZHTWFza0VsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIGF0dHJOYW1lKQogICAgICAgICBTVkdMYW5nU3BhY2U6OmFkZFN1cHBvcnRlZEF0dHJpYnV0
ZXMoc2V0KTsKICAgICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6YWRkU3VwcG9y
dGVkQXR0cmlidXRlcyhzZXQpOwogICAgICAgICBzZXQuYWRkKHsKLSAgICAgICAgICAgIFNWR05h
bWVzOjptYXNrVW5pdHNBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6Om1hc2tDb250ZW50VW5p
dHNBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OnJlZllBdHRyLAotICAgICAgICAgICAgU1ZH
TmFtZXM6OnhBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OnlBdHRyLAotICAgICAgICAgICAg
U1ZHTmFtZXM6OndpZHRoQXR0ciwKLSAgICAgICAgICAgIFNWR05hbWVzOjpoZWlnaHRBdHRyLAor
ICAgICAgICAgICAgU1ZHTmFtZXM6Om1hc2tVbml0c0F0dHIuZ2V0KCksCisgICAgICAgICAgICBT
VkdOYW1lczo6bWFza0NvbnRlbnRVbml0c0F0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1l
czo6cmVmWUF0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6eEF0dHIuZ2V0KCksCisg
ICAgICAgICAgICBTVkdOYW1lczo6eUF0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6
d2lkdGhBdHRyLmdldCgpLAorICAgICAgICAgICAgU1ZHTmFtZXM6OmhlaWdodEF0dHIuZ2V0KCks
CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm4gc2V0OwogICAgIH0oKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhdGhFbGVtZW50LmNwcAppbmRleCBjMmRkODQ5MzUxMTY1ZGMxZjJkZmE1NTA5NmIw
Mzg2OGMzNzg5OTNkLi4wNjMxYTU1MjcyZmIxZGNmZjFmMjIzMWE2ZTVhZmZmMWM2YTUxM2IwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAKQEAgLTU4LDExICs1OCwxMSBAQCBj
b25zdCBTVkdQcm9wZXJ0eUluZm8qIFNWR1BhdGhFbGVtZW50OjpkUHJvcGVydHlJbmZvKCkKICAg
ICBzdGF0aWMgY29uc3QgU1ZHUHJvcGVydHlJbmZvKiBzX3Byb3BlcnR5SW5mbyA9IG51bGxwdHI7
CiAgICAgaWYgKCFzX3Byb3BlcnR5SW5mbykgewogICAgICAgICBzX3Byb3BlcnR5SW5mbyA9IG5l
dyBTVkdQcm9wZXJ0eUluZm8oQW5pbWF0ZWRQYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlJc1JlYWRXcml0ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR05hbWVzOjpkQXR0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR05hbWVzOjpkQXR0ci5sb2Nh
bE5hbWUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZT
VkdQYXRoRWxlbWVudDo6c3luY2hyb25pemVELAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJlNWR1BhdGhFbGVtZW50Ojpsb29rdXBPckNyZWF0ZURXcmFwcGVy
KTsKKyAgICAgICAgICAgIFByb3BlcnR5SXNSZWFkV3JpdGUsCisgICAgICAgICAgICBTVkdOYW1l
czo6ZEF0dHIsCisgICAgICAgICAgICBTVkdOYW1lczo6ZEF0dHItPmxvY2FsTmFtZSgpLAorICAg
ICAgICAgICAgJlNWR1BhdGhFbGVtZW50OjpzeW5jaHJvbml6ZUQsCisgICAgICAgICAgICAmU1ZH
UGF0aEVsZW1lbnQ6Omxvb2t1cE9yQ3JlYXRlRFdyYXBwZXIpOwogICAgIH0KICAgICByZXR1cm4g
c19wcm9wZXJ0eUluZm87CiB9CkBAIC0yMTQsNyArMjE0LDcgQEAgYm9vbCBTVkdQYXRoRWxlbWVu
dDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAg
ICAgICAgIEhhc2hTZXQ8UXVhbGlmaWVkTmFtZT4gc2V0OwogICAgICAgICBTVkdMYW5nU3BhY2U6
OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKICAgICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZDo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhzZXQpOwotICAgICAgICBzZXQuYWRk
KHsgU1ZHTmFtZXM6OmRBdHRyLCBTVkdOYW1lczo6cGF0aExlbmd0aEF0dHIgfSk7CisgICAgICAg
IHNldC5hZGQoeyBTVkdOYW1lczo6ZEF0dHIuZ2V0KCksIFNWR05hbWVzOjpwYXRoTGVuZ3RoQXR0
ci5nZXQoKSB9KTsKICAgICAgICAgcmV0dXJuIHNldDsKICAgICB9KCkpOwogICAgIHJldHVybiBz
dXBwb3J0ZWRBdHRyaWJ1dGVzLmdldCgpLmNvbnRhaW5zPFNWR0F0dHJpYnV0ZUhhc2hUcmFuc2xh
dG9yPihhdHRyTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVy
bkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcApp
bmRleCAzZmVhODgxNDk4MmMyZjQ5MTc4OTc2MmU3OWQ2NDdiMTc5ZTBiZjdhLi4yZTAyYTA2MzAw
NjY4ODM0ZWE1YmJhNzVkMGYxZDNjZWI2Y2IzMmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQ
YXR0ZXJuRWxlbWVudC5jcHAKQEAgLTk5LDggKzk5LDggQEAgYm9vbCBTVkdQYXR0ZXJuRWxlbWVu
dDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAg
ICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmFkZFN1cHBvcnRlZEF0dHJpYnV0
ZXMoc2V0KTsKICAgICAgICAgU1ZHRml0VG9WaWV3Qm94OjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVz
KHNldCk7CiAgICAgICAgIHNldC5hZGQoewotICAgICAgICAgICAgU1ZHTmFtZXM6OnBhdHRlcm5V
bml0c0F0dHIsIFNWR05hbWVzOjpwYXR0ZXJuQ29udGVudFVuaXRzQXR0ciwgU1ZHTmFtZXM6OnBh
dHRlcm5UcmFuc2Zvcm1BdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OnhBdHRyLCBTVkdOYW1l
czo6eUF0dHIsIFNWR05hbWVzOjp3aWR0aEF0dHIsIFNWR05hbWVzOjpoZWlnaHRBdHRyLAorICAg
ICAgICAgICAgU1ZHTmFtZXM6OnBhdHRlcm5Vbml0c0F0dHIuZ2V0KCksIFNWR05hbWVzOjpwYXR0
ZXJuQ29udGVudFVuaXRzQXR0ci5nZXQoKSwgU1ZHTmFtZXM6OnBhdHRlcm5UcmFuc2Zvcm1BdHRy
LmdldCgpLAorICAgICAgICAgICAgU1ZHTmFtZXM6OnhBdHRyLmdldCgpLCBTVkdOYW1lczo6eUF0
dHIuZ2V0KCksIFNWR05hbWVzOjp3aWR0aEF0dHIuZ2V0KCksIFNWR05hbWVzOjpoZWlnaHRBdHRy
LmdldCgpLAogICAgICAgICB9KTsKICAgICAgICAgcmV0dXJuIHNldDsKICAgICB9KCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5jcHAKaW5kZXggOTc3Y2Y5ZjA4ZjI1NjU1MmFkMTc0
OTRlZGU5ZWZlZWM0NjY1ZWExYS4uOTIyNWRjMGJhNzczNDEyNzQyMDg1MmZkNzNjYzlmZDFiNTRj
MmEwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuY3BwCkBAIC0zOSwxMSArMzks
MTEgQEAgY29uc3QgU1ZHUHJvcGVydHlJbmZvKiBTVkdQb2x5RWxlbWVudDo6cG9pbnRzUHJvcGVy
dHlJbmZvKCkKICAgICBzdGF0aWMgY29uc3QgU1ZHUHJvcGVydHlJbmZvKiBzX3Byb3BlcnR5SW5m
byA9IG51bGxwdHI7CiAgICAgaWYgKCFzX3Byb3BlcnR5SW5mbykgewogICAgICAgICBzX3Byb3Bl
cnR5SW5mbyA9IG5ldyBTVkdQcm9wZXJ0eUluZm8oQW5pbWF0ZWRQb2ludHMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eUlzUmVhZFdyaXRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZHTmFtZXM6OnBv
aW50c0F0dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT
VkdOYW1lczo6cG9pbnRzQXR0ci5sb2NhbE5hbWUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZTVkdQb2x5RWxlbWVudDo6c3luY2hyb25pemVQb2ludHMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmU1ZHUG9seUVs
ZW1lbnQ6Omxvb2t1cE9yQ3JlYXRlUG9pbnRzV3JhcHBlcik7CisgICAgICAgICAgICBQcm9wZXJ0
eUlzUmVhZFdyaXRlLAorICAgICAgICAgICAgU1ZHTmFtZXM6OnBvaW50c0F0dHIsCisgICAgICAg
ICAgICBTVkdOYW1lczo6cG9pbnRzQXR0ci0+bG9jYWxOYW1lKCksCisgICAgICAgICAgICAmU1ZH
UG9seUVsZW1lbnQ6OnN5bmNocm9uaXplUG9pbnRzLAorICAgICAgICAgICAgJlNWR1BvbHlFbGVt
ZW50Ojpsb29rdXBPckNyZWF0ZVBvaW50c1dyYXBwZXIpOwogICAgIH0KICAgICByZXR1cm4gc19w
cm9wZXJ0eUluZm87CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmFkaWFs
R3JhZGllbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVu
dEVsZW1lbnQuY3BwCmluZGV4IDAxNTlkMWMwMTU2MGY4YjNlOGVjNzUyOTY5MGMyNmE0OTcxOWZh
ZmYuLmM5ZDlkY2MwOTQ0NjMyMzRkZDkxZDk2Nzk3YjRhNTUxMzc2MzRjMjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwCkBAIC03NSw3ICs3
NSw3IEBAIFJlZjxTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ+IFNWR1JhZGlhbEdyYWRpZW50RWxl
bWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hCiBib29sIFNWR1JhZGlhbEdyYWRpZW50RWxl
bWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUp
CiB7CiAgICAgc3RhdGljIGNvbnN0IGF1dG8gc3VwcG9ydGVkQXR0cmlidXRlcyA9IG1ha2VOZXZl
ckRlc3Ryb3llZChIYXNoU2V0PFF1YWxpZmllZE5hbWU+IHsKLSAgICAgICAgU1ZHTmFtZXM6OmN4
QXR0ciwgU1ZHTmFtZXM6OmN5QXR0ciwgU1ZHTmFtZXM6OmZ4QXR0ciwgU1ZHTmFtZXM6OmZ5QXR0
ciwgU1ZHTmFtZXM6OnJBdHRyLCBTVkdOYW1lczo6ZnJBdHRyLAorICAgICAgICBTVkdOYW1lczo6
Y3hBdHRyLmdldCgpLCBTVkdOYW1lczo6Y3lBdHRyLmdldCgpLCBTVkdOYW1lczo6ZnhBdHRyLmdl
dCgpLCBTVkdOYW1lczo6ZnlBdHRyLmdldCgpLCBTVkdOYW1lczo6ckF0dHIuZ2V0KCksIFNWR05h
bWVzOjpmckF0dHIuZ2V0KCksCiAgICAgfSk7CiAgICAgcmV0dXJuIHN1cHBvcnRlZEF0dHJpYnV0
ZXMuZ2V0KCkuY29udGFpbnM8U1ZHQXR0cmlidXRlSGFzaFRyYW5zbGF0b3I+KGF0dHJOYW1lKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKaW5kZXgg
ZWQ1MTQ4N2RjYTkxYjAwOGE5NjBjM2FiMDg5MzIxMjNhM2E0YzY3Mi4uMmQ4YzcwZGZjMjI2Yzlj
MzdlYzlmOWM5YzI0ZjNmZWFmYmRhZjViNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rl
eHRDb250ZW50RWxlbWVudC5jcHAKQEAgLTQ0LDExICs0NCwxMSBAQCBjb25zdCBTVkdQcm9wZXJ0
eUluZm8qIFNWR1RleHRDb250ZW50RWxlbWVudDo6dGV4dExlbmd0aFByb3BlcnR5SW5mbygpCiAg
ICAgc3RhdGljIGNvbnN0IFNWR1Byb3BlcnR5SW5mbyogc19wcm9wZXJ0eUluZm8gPSBudWxscHRy
OwogICAgIGlmICghc19wcm9wZXJ0eUluZm8pIHsKICAgICAgICAgc19wcm9wZXJ0eUluZm8gPSBu
ZXcgU1ZHUHJvcGVydHlJbmZvKEFuaW1hdGVkTGVuZ3RoLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlJc1JlYWRXcml0ZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR05hbWVzOjp0ZXh0TGVuZ3RoQXR0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR05hbWVz
Ojp0ZXh0TGVuZ3RoQXR0ci5sb2NhbE5hbWUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZTVkdUZXh0Q29udGVudEVsZW1lbnQ6OnN5bmNocm9uaXplVGV4
dExlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZT
VkdUZXh0Q29udGVudEVsZW1lbnQ6Omxvb2t1cE9yQ3JlYXRlVGV4dExlbmd0aFdyYXBwZXIpOwor
ICAgICAgICAgICAgUHJvcGVydHlJc1JlYWRXcml0ZSwKKyAgICAgICAgICAgIFNWR05hbWVzOjp0
ZXh0TGVuZ3RoQXR0ciwKKyAgICAgICAgICAgIFNWR05hbWVzOjp0ZXh0TGVuZ3RoQXR0ci0+bG9j
YWxOYW1lKCksCisgICAgICAgICAgICAmU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpzeW5jaHJvbml6
ZVRleHRMZW5ndGgsCisgICAgICAgICAgICAmU1ZHVGV4dENvbnRlbnRFbGVtZW50Ojpsb29rdXBP
ckNyZWF0ZVRleHRMZW5ndGhXcmFwcGVyKTsKICAgICB9CiAgICAgcmV0dXJuIHNfcHJvcGVydHlJ
bmZvOwogfQpAQCAtMTk0LDcgKzE5NCw3IEBAIGJvb2wgU1ZHVGV4dENvbnRlbnRFbGVtZW50Ojpp
c1N1cHBvcnRlZEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKICAgICAg
ICAgSGFzaFNldDxRdWFsaWZpZWROYW1lPiBzZXQ7CiAgICAgICAgIFNWR0xhbmdTcGFjZTo6YWRk
U3VwcG9ydGVkQXR0cmlidXRlcyhzZXQpOwogICAgICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNldCk7Ci0gICAgICAgIHNldC5hZGQoeyBT
VkdOYW1lczo6bGVuZ3RoQWRqdXN0QXR0ciwgU1ZHTmFtZXM6OnRleHRMZW5ndGhBdHRyIH0pOwor
ICAgICAgICBzZXQuYWRkKHsgU1ZHTmFtZXM6Omxlbmd0aEFkanVzdEF0dHIuZ2V0KCksIFNWR05h
bWVzOjp0ZXh0TGVuZ3RoQXR0ci5nZXQoKSB9KTsKICAgICAgICAgcmV0dXJuIHNldDsKICAgICB9
KCkpOwogICAgIHJldHVybiBzdXBwb3J0ZWRBdHRyaWJ1dGVzLmdldCgpLmNvbnRhaW5zPFNWR0F0
dHJpYnV0ZUhhc2hUcmFuc2xhdG9yPihhdHRyTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdU
ZXh0UGF0aEVsZW1lbnQuY3BwCmluZGV4IGRlYzNlZjY3ZWEwNzNjYzMwNmE2YjZjMWEyMWFmMGZh
MWMzYjUyNTIuLmU4YWE4ODZmMjdkZGQ5NzEzMGRjOThjY2MzNWQ0MmFlMWZlMTQxNDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwCkBAIC03NCw3ICs3NCw3IEBA
IGJvb2wgU1ZHVGV4dFBhdGhFbGVtZW50Ojppc1N1cHBvcnRlZEF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiBhdHRyTmFtZSkKICAgICBzdGF0aWMgY29uc3QgYXV0byBzdXBwb3J0ZWRBdHRy
aWJ1dGVzID0gbWFrZU5ldmVyRGVzdHJveWVkKFtdIHsKICAgICAgICAgSGFzaFNldDxRdWFsaWZp
ZWROYW1lPiBzZXQ7CiAgICAgICAgIFNWR1VSSVJlZmVyZW5jZTo6YWRkU3VwcG9ydGVkQXR0cmli
dXRlcyhzZXQpOwotICAgICAgICBzZXQuYWRkKHsgU1ZHTmFtZXM6OnN0YXJ0T2Zmc2V0QXR0ciwg
U1ZHTmFtZXM6Om1ldGhvZEF0dHIsIFNWR05hbWVzOjpzcGFjaW5nQXR0ciB9KTsKKyAgICAgICAg
c2V0LmFkZCh7IFNWR05hbWVzOjpzdGFydE9mZnNldEF0dHIuZ2V0KCksIFNWR05hbWVzOjptZXRo
b2RBdHRyLmdldCgpLCBTVkdOYW1lczo6c3BhY2luZ0F0dHIuZ2V0KCkgfSk7CiAgICAgICAgIHJl
dHVybiBzZXQ7CiAgICAgfSgpKTsKICAgICByZXR1cm4gc3VwcG9ydGVkQXR0cmlidXRlcy5nZXQo
KS5jb250YWluczxTVkdBdHRyaWJ1dGVIYXNoVHJhbnNsYXRvcj4oYXR0ck5hbWUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCmluZGV4IGIxOWNiNDU2ZGYzMTdjN2NiZGM5NWU5MzUz
Njc3NThkYzRhMGU2NTQuLjZlMjg2MzQ4NDFjZTQ4NDI2MWQwZDdmZTM4ZTAxMjAyMGYzODVhYTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKQEAgLTE5Nyw3ICsxOTcsNyBAQCBz
dGF0aWMgSGFzaFNldDxBdG9taWNTdHJpbmc+IGNyZWF0ZUFsbG93ZWRFbGVtZW50U2V0KCkKICAg
ICAvLyBFeGNsdWRlZCBhcmUgYW55dGhpbmcgdGhhdCBpcyB1c2VkIGJ5IHJlZmVyZW5jZSBvciB0
aGF0IG9ubHkgbWFrZSBzZW5zZSB0byBhcHBlYXIgb25jZSBpbiBhIGRvY3VtZW50LgogICAgIHVz
aW5nIG5hbWVzcGFjZSBTVkdOYW1lczsKICAgICBIYXNoU2V0PEF0b21pY1N0cmluZz4gc2V0Owot
ICAgIGZvciAoYXV0byYgdGFnIDogeyBhVGFnLCBjaXJjbGVUYWcsIGRlc2NUYWcsIGVsbGlwc2VU
YWcsIGdUYWcsIGltYWdlVGFnLCBsaW5lVGFnLCBtZXRhZGF0YVRhZywgcGF0aFRhZywgcG9seWdv
blRhZywgcG9seWxpbmVUYWcsIHJlY3RUYWcsIHN2Z1RhZywgc3dpdGNoVGFnLCBzeW1ib2xUYWcs
IHRleHRUYWcsIHRleHRQYXRoVGFnLCB0aXRsZVRhZywgdHJlZlRhZywgdHNwYW5UYWcsIHVzZVRh
ZyB9KQorICAgIGZvciAoYXV0byYgdGFnIDogeyBhVGFnLmdldCgpLCBjaXJjbGVUYWcuZ2V0KCks
IGRlc2NUYWcuZ2V0KCksIGVsbGlwc2VUYWcuZ2V0KCksIGdUYWcuZ2V0KCksIGltYWdlVGFnLmdl
dCgpLCBsaW5lVGFnLmdldCgpLCBtZXRhZGF0YVRhZy5nZXQoKSwgcGF0aFRhZy5nZXQoKSwgcG9s
eWdvblRhZy5nZXQoKSwgcG9seWxpbmVUYWcuZ2V0KCksIHJlY3RUYWcuZ2V0KCksIHN2Z1RhZy5n
ZXQoKSwgc3dpdGNoVGFnLmdldCgpLCBzeW1ib2xUYWcuZ2V0KCksIHRleHRUYWcuZ2V0KCksIHRl
eHRQYXRoVGFnLmdldCgpLCB0aXRsZVRhZy5nZXQoKSwgdHJlZlRhZy5nZXQoKSwgdHNwYW5UYWcu
Z2V0KCksIHVzZVRhZy5nZXQoKSB9KQogICAgICAgICBzZXQuYWRkKHRhZy5sb2NhbE5hbWUoKSk7
CiAgICAgcmV0dXJuIHNldDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9OYXRp
dmVYUGF0aE5TUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL05hdGl2ZVhQYXRoTlNS
ZXNvbHZlci5jcHAKaW5kZXggMjcwY2E5ZDFjYjVkNmI5ODIzMmZmYzBlYjY5MjM0MjgwMTE0ZmEz
OS4uMTRmNTE5NDY1ZmUxNzdmZTM1MjcyODAxMzMxNWNkMGViMTE4ZTFiMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUveG1sL05hdGl2ZVhQYXRoTlNSZXNvbHZlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUveG1sL05hdGl2ZVhQYXRoTlNSZXNvbHZlci5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAg
U3RyaW5nIE5hdGl2ZVhQYXRoTlNSZXNvbHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKGNvbnN0IFN0
cmluZyYgcHJlZml4KQogICAgIC8vIFRoaXMgaXMgbm90IGRvbmUgYnkgTm9kZTo6bG9va3VwTmFt
ZXNwYWNlVVJJIGFzIHBlciB0aGUgRE9NMyBDb3JlIHNwZWMsCiAgICAgLy8gYnV0IHRoZSBYUGF0
aCBzcGVjIHNheXMgdGhhdCB3ZSBzaG91bGQgZG8gaXQgZm9yIFhQYXRoTlNSZXNvbHZlci4KICAg
ICBpZiAocHJlZml4ID09ICJ4bWwiKQotICAgICAgICByZXR1cm4gWE1MTmFtZXM6OnhtbE5hbWVz
cGFjZVVSSTsKKyAgICAgICAgcmV0dXJuIFhNTE5hbWVzOjp4bWxOYW1lc3BhY2VVUkkuZ2V0KCk7
CiAgICAgCiAgICAgcmV0dXJuIG1fbm9kZSA/IG1fbm9kZS0+bG9va3VwTmFtZXNwYWNlVVJJKHBy
ZWZpeCkuc3RyaW5nKCkgOiBTdHJpbmcoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL3Bh
cnNlci9YTUxEb2N1bWVudFBhcnNlci5jcHAKaW5kZXggOTVmNWM1ZDZmMzIxY2E3OWI5MThmNTcw
NmI0ZmZmYzM2OTU0MWQxMS4uOGU2YjgzNTRjZjhjZTIxMWUwNzYyNzUxNzYyZWEwNGE1ZDcyODhm
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5j
cHAKQEAgLTI2NSw3ICsyNjUsNyBAQCBib29sIFhNTERvY3VtZW50UGFyc2VyOjpwYXJzZURvY3Vt
ZW50RnJhZ21lbnQoY29uc3QgU3RyaW5nJiBjaHVuaywgRG9jdW1lbnRGcmFnbQogICAgIC8vIEZJ
WE1FOiBXZSBuZWVkIHRvIGltcGxlbWVudCB0aGUgSFRNTDUgWE1MIEZyYWdtZW50IHBhcnNpbmcg
YWxnb3JpdGhtOgogICAgIC8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9j
dXJyZW50LXdvcmsvbXVsdGlwYWdlL3RoZS14aHRtbC1zeW50YXguaHRtbCN4bWwtZnJhZ21lbnQt
cGFyc2luZy1hbGdvcml0aG0KICAgICAvLyBGb3Igbm93IHdlIGhhdmUgYSBoYWNrIGZvciBzY3Jp
cHQvc3R5bGUgaW5uZXJIVE1MIHN1cHBvcnQ6Ci0gICAgaWYgKGNvbnRleHRFbGVtZW50ICYmIChj
b250ZXh0RWxlbWVudC0+aGFzTG9jYWxOYW1lKEhUTUxOYW1lczo6c2NyaXB0VGFnLmxvY2FsTmFt
ZSgpKSB8fCBjb250ZXh0RWxlbWVudC0+aGFzTG9jYWxOYW1lKEhUTUxOYW1lczo6c3R5bGVUYWcu
bG9jYWxOYW1lKCkpKSkgeworICAgIGlmIChjb250ZXh0RWxlbWVudCAmJiAoY29udGV4dEVsZW1l
bnQtPmhhc0xvY2FsTmFtZShIVE1MTmFtZXM6OnNjcmlwdFRhZy0+bG9jYWxOYW1lKCkpIHx8IGNv
bnRleHRFbGVtZW50LT5oYXNMb2NhbE5hbWUoSFRNTE5hbWVzOjpzdHlsZVRhZy0+bG9jYWxOYW1l
KCkpKSkgewogICAgICAgICBmcmFnbWVudC5wYXJzZXJBcHBlbmRDaGlsZChmcmFnbWVudC5kb2N1
bWVudCgpLmNyZWF0ZVRleHROb2RlKGNodW5rKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>325336</attachid>
            <date>2017-10-30 00:53:16 -0700</date>
            <delta_ts>2017-10-30 16:41:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175118-20171030005311.patch</filename>
            <type>text/plain</type>
            <size>114803</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0MTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2IwMGYxMDAyMzcwZmFm
ZmRlZmIzNGVlOWRhNDg3YWM3M2Q2ZTUyMi4uNTdlZTdhYTAwMWFjMDZlOTY3MDFlOWE0ZTFiYzhj
MWM1YWZlYmM3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzOCBAQAorMjAxNy0xMC0zMCAgRnVq
aWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBVc2UgTGF6
eU5ldmVyRGVzdHJveWVkIGluc3RlYWQgb2YgREVGSU5FX0dMT0JBTCBmb3IgWE1MTmFtZXMsIEhU
TUxOYW1lcywgTWF0aE1MTmFtZXMgYW5kIFNWR05hbWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUxMTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9wIHVzaW5nIERFRklORV9HTE9CQUwgaGFjayBp
biBmYXZvciBvZiBMYXp5TmV2ZXJEZXN0cm95ZWQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNp
bmNlIHRoZXJlIHNob3VsZCBiZSBubyBiZWhhdmlvcmFsIGNoYW5nZS4KKworICAgICAgICAqIGRv
bS9tYWtlX25hbWVzLnBsOgorICAgICAgICAocHJpbnRDb25zdHJ1Y3RvcnMpOgorICAgICAgICAo
cHJpbnROYW1lc0hlYWRlckZpbGUpOgorICAgICAgICAocHJpbnROYW1lc0NwcEZpbGUpOgorICAg
ICAgICAocHJpbnREZWZpbml0aW9ucyk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3Q6OmluaGVyaXRzUHJlc2VudGF0aW9uYWxSb2xlIGNvbnN0KToKKyAgICAgICAg
KiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoYXNFZmZlY3RpdmVE
aXNwbGF5Tm9uZUZvckRpc3BsYXlDb250ZW50cyk6CisgICAgICAgICogZG9tL0N1c3RvbUVsZW1l
bnRSZWFjdGlvblF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUVsZW1lbnRSZWFj
dGlvblF1ZXVlOjpvYnNlcnZlc1N0eWxlQXR0cmlidXRlIGNvbnN0KToKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnZhbGlkYXRlQ3VzdG9t
RWxlbWVudE5hbWUpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmlzU3R5bGVBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6Y2FuQXR0YWNoQXV0aG9y
U2hhZG93Um9vdCk6CisgICAgICAgICogZG9tL0VsZW1lbnREYXRhLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkVsZW1lbnREYXRhOjpmaW5kTGFuZ3VhZ2VBdHRyaWJ1dGUgY29uc3QpOgorICAgICAg
ICAqIGRvbWppdC9KU0RvY3VtZW50RE9NSklULmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXBp
bGVEb2N1bWVudEJvZHlBdHRyaWJ1dGUpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6YXBwbHlFZGl0aW5nU3R5bGVUb0JvZHlFbGVtZW50
IGNvbnN0KToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6dmFsdWVEZWZhdWx0UGFyYWdyYXBoU2VwYXJhdG9yKToKKyAgICAgICAgKiBlZGl0
aW5nL01hcmt1cEFjY3VtdWxhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cEFjY3Vt
dWxhdG9yOjpzZXJpYWxpemVOb2Rlc1dpdGhOYW1lc3BhY2VzKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmROYW1lc3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6
TWFya3VwQWNjdW11bGF0b3I6OmVsZW1lbnRDYW5ub3RIYXZlRW5kVGFnKToKKyAgICAgICAgKiBl
ZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omlz
UHJvaGliaXRlZFBhcmFncmFwaENoaWxkKToKKyAgICAgICAgKiBodG1sL0hUTUxCb2R5RWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQm9keUVsZW1lbnQ6OmNyZWF0ZVdpbmRvd0V2
ZW50SGFuZGxlck5hbWVNYXApOgorICAgICAgICAqIGh0bWwvSFRNTERvY3VtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudDo6aXNDYXNlU2Vuc2l0aXZlQXR0cmlidXRlKToK
KyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxF
bGVtZW50OjpjcmVhdGVFdmVudEhhbmRsZXJOYW1lTWFwKToKKyAgICAgICAgKiBodG1sL3BhcnNl
ci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29uc3Ry
dWN0aW9uU2l0ZTo6ZmluZEZvc3RlclNpdGUpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxF
bGVtZW50U3RhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnRTdGFjazo6aGFz
VGVtcGxhdGVJbkhUTUxTY29wZSBjb25zdCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBy
ZWxvYWRTY2FubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRva2VuUHJlbG9hZFNjYW5uZXI6
OnVwZGF0ZVByZWRpY3RlZEJhc2VVUkwpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVl
QnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NG
YWtlUEVuZFRhZ0lmUEluQnV0dG9uU2NvcGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVC
dWlsZGVyOjpwcm9jZXNzU3RhcnRUYWdGb3JJbkJvZHkpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRyZWVCdWlsZGVyOjpwcm9jZXNzVGVtcGxhdGVFbmRUYWcpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kT2ZGaWxlRm9ySW5UZW1wbGF0ZUNvbnRlbnRzKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1N0YXJ0VGFnKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0JvZHlFbmRUYWdGb3JJbkJv
ZHkpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnRm9y
SW5Cb2R5KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0NhcHRp
b25FbmRUYWdGb3JJbkNhcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVy
Ojpwcm9jZXNzVGFibGVFbmRUYWdGb3JJblRhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxU
cmVlQnVpbGRlcjo6cHJvY2Vzc0VuZFRhZyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1
aWxkZXI6Omluc2VydFBob25lTnVtYmVyTGluayk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJl
ZUJ1aWxkZXI6OmRlZmF1bHRGb3JCZWZvcmVIVE1MKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxU
cmVlQnVpbGRlcjo6ZGVmYXVsdEZvckJlZm9yZUhlYWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRyZWVCdWlsZGVyOjpkZWZhdWx0Rm9ySW5IZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxU
cmVlQnVpbGRlcjo6ZGVmYXVsdEZvckluSGVhZE5vc2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxUcmVlQnVpbGRlcjo6ZGVmYXVsdEZvckFmdGVySGVhZCk6CisgICAgICAgICogaHRtbC9w
YXJzZXIvVGV4dERvY3VtZW50UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHREb2N1
bWVudFBhcnNlcjo6aW5zZXJ0RmFrZVByZUVsZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvU1ZHUGF0aERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGF0aEZyb21HcmFwaGljc0Vs
ZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmNsaXBwZXJGaWx0ZXJNYXNrZXJUYWdzKToKKyAgICAgICAgKFdlYkNvcmU6
Om1hcmtlclRhZ3MpOgorICAgICAgICAoV2ViQ29yZTo6ZmlsbEFuZFN0cm9rZVRhZ3MpOgorICAg
ICAgICAoV2ViQ29yZTo6Y2hhaW5hYmxlUmVzb3VyY2VUYWdzKToKKyAgICAgICAgKiBzdmcvU1ZH
QW5pbWF0ZWRCb29sZWFuLmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkRW51bWVyYXRpb24u
aDoKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRJbnRlZ2VyLmg6CisgICAgICAgICogc3ZnL1NW
R0FuaW1hdGVkTGVuZ3RoLmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoTGlzdC5o
OgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZE51bWJlci5oOgorICAgICAgICAqIHN2Zy9TVkdB
bmltYXRlZE51bWJlckxpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFz
cGVjdFJhdGlvLmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkUmVjdC5oOgorICAgICAgICAq
IHN2Zy9TVkdBbmltYXRlZFN0cmluZy5oOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZFRyYW5z
Zm9ybUxpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25FbGVtZW50Ojppc1N1cHBvcnRlZEF0dHJpYnV0ZSk6
CisgICAgICAgICogc3ZnL1NWR0N1cnNvckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHQ3Vyc29yRWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9T
VkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUF0dHJpYnV0ZU5hbWVUb0NT
U1Byb3BlcnR5SURNYXApOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6Y2hpbGRTaG91
bGRDcmVhdGVSZW5kZXJlciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50Ojph
bmltYXRhYmxlQXR0cmlidXRlRm9yTmFtZSk6CisgICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyRWxlbWVudDo6aXNTdXBwb3J0ZWRB
dHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJp
YnV0ZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzOjppc1N1cHBvcnRlZEF0dHJpYnV0ZSk6CisgICAgICAgICogc3ZnL1NWR0ZvcmVp
Z25PYmplY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvcmVpZ25PYmplY3RF
bGVtZW50Ojppc1N1cHBvcnRlZEF0dHJpYnV0ZSk6CisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdHcmFkaWVudEVsZW1lbnQ6OmlzU3Vw
cG9ydGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcvU1ZHSW1hZ2VFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlRWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUpOgor
ICAgICAgICAqIHN2Zy9TVkdMaW5lRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdM
aW5lRWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdNYXJr
ZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR01hcmtlckVsZW1lbnQ6OmlzU3Vw
cG9ydGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHTWFza0VsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKToKKyAg
ICAgICAgKiBzdmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0
aEVsZW1lbnQ6OmRQcm9wZXJ0eUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVsZW1l
bnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcvU1ZHUGF0dGVybkVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OmlzU3VwcG9ydGVk
QXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcvU1ZHUG9seUVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUG9seUVsZW1lbnQ6OnBvaW50c1Byb3BlcnR5SW5mbyk6CisgICAgICAgICog
c3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdS
YWRpYWxHcmFkaWVudEVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBz
dmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRD
b250ZW50RWxlbWVudDo6dGV4dExlbmd0aFByb3BlcnR5SW5mbyk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKToKKyAgICAgICAg
KiBzdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRQ
YXRoRWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdVc2VF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUFsbG93ZWRFbGVtZW50U2V0KToK
KyAgICAgICAgKiB4bWwvTmF0aXZlWFBhdGhOU1Jlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok5hdGl2ZVhQYXRoTlNSZXNvbHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKToKKyAgICAgICAg
KiB4bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhN
TERvY3VtZW50UGFyc2VyOjpwYXJzZURvY3VtZW50RnJhZ21lbnQpOgorCiAyMDE3LTEwLTI3ICBB
bGljaWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVh
bWVyXVtNU0VdIFRyaW0gc3BhY2UgYmV0d2VlbiBjb2RlY3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMjY4MWUyYzE3
NmM4ZGZlNjI0ZDZkY2E4MTY4NTgwNjk3N2FkNDA1ZC4uYjQ3YTdkOWFhZjBiYjI5MDhhYTEyZDNj
YWM2NjFlMTVhMzAyNmM4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0xMC0zMCAg
RnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBVc2Ug
TGF6eU5ldmVyRGVzdHJveWVkIGluc3RlYWQgb2YgREVGSU5FX0dMT0JBTCBmb3IgWE1MTmFtZXMs
IEhUTUxOYW1lcywgTWF0aE1MTmFtZXMgYW5kIFNWR05hbWVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUxMTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2d0ay9ET00vV2ViS2l0RE9NSFRNTFByaXZhdGUuY3BwOgorICAgICAgICAoV2ViS2l0Ojp3
cmFwKToKKwogMjAxNy0xMC0yNyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFJFR1JFU1NJT04gKHIyMjQwNzcpOiBEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3M6
OnNldEFWS2l0RW5hYmxlZCgpIG5vdCBwcm90ZWN0ZWQgYnkgSEFWRShBVktJVCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCmluZGV4IDFmNDZjMzFiYjQyZTAzNjdkYWUyMjk1MDQyNDk2ZTUyZDBkZDg2YWYu
LmVkNDRmODZmMzMxYTdjZmU3NTZiNjBkYTY0N2NmOTFkODM3ZTMwYjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0LmNwcApAQCAtMjg4MywxMyArMjg4MywxMyBAQCBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6OmluaGVyaXRzUHJlc2VudGF0aW9uYWxSb2xlKCkgY29uc3QKICAgICBzd2l0Y2ggKHJv
bGVWYWx1ZSgpKSB7CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6TGlzdEl0ZW06CiAgICAg
Y2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6TGlzdE1hcmtlcjogewotICAgICAgICBzdGF0aWMgY29u
c3QgYXV0byBsaXN0SXRlbVBhcmVudHMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVjdG9yPGNvbnN0
IEhUTUxRdWFsaWZpZWROYW1lKj4geyAmZGxUYWcsICZvbFRhZywgJnVsVGFnIH0pOworICAgICAg
ICBzdGF0aWMgY29uc3QgYXV0byBsaXN0SXRlbVBhcmVudHMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQo
VmVjdG9yPGNvbnN0IEhUTUxRdWFsaWZpZWROYW1lKj4geyAmZGxUYWcuZ2V0KCksICZvbFRhZy5n
ZXQoKSwgJnVsVGFnLmdldCgpIH0pOwogICAgICAgICBwYXJlbnRUYWdzID0gJmxpc3RJdGVtUGFy
ZW50cy5nZXQoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgQWNjZXNzaWJpbGl0
eVJvbGU6OkdyaWRDZWxsOgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkNlbGw6IHsKLSAg
ICAgICAgc3RhdGljIGNvbnN0IGF1dG8gdGFibGVDZWxsUGFyZW50cyA9IG1ha2VOZXZlckRlc3Ry
b3llZChWZWN0b3I8Y29uc3QgSFRNTFF1YWxpZmllZE5hbWUqPiB7ICZ0YWJsZVRhZyB9KTsKKyAg
ICAgICAgc3RhdGljIGNvbnN0IGF1dG8gdGFibGVDZWxsUGFyZW50cyA9IG1ha2VOZXZlckRlc3Ry
b3llZChWZWN0b3I8Y29uc3QgSFRNTFF1YWxpZmllZE5hbWUqPiB7ICZ0YWJsZVRhZy5nZXQoKSB9
KTsKICAgICAgICAgcGFyZW50VGFncyA9ICZ0YWJsZUNlbGxQYXJlbnRzLmdldCgpOwogICAgICAg
ICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNv
bHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggMDlh
ZTdiMWU3OWI0ZDczZDRiZDg2YjgzMDA0MjE3MjQ1YjRiNGMzMy4uOGIzMzYwYzQ0NjE5MTg0MTdk
ZWUzZTgxNjAwZWM5NzU2NmYwYzEwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNw
cApAQCAtNzUxLDIzICs3NTEsMjMgQEAgc3RhdGljIGJvb2wgaGFzRWZmZWN0aXZlRGlzcGxheU5v
bmVGb3JEaXNwbGF5Q29udGVudHMoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKICAgICAvLyBodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWRpc3BsYXktMy8jdW5ib3gtaHRtbAogICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxIYXNoU2V0PEF0b21pY1N0cmluZz4+IHRhZ05hbWVzID0gW10gewog
ICAgICAgICBzdGF0aWMgY29uc3QgSFRNTFF1YWxpZmllZE5hbWUqIGNvbnN0IHRhZ0xpc3RbXSA9
IHsKLSAgICAgICAgICAgICZiclRhZywKLSAgICAgICAgICAgICZ3YnJUYWcsCi0gICAgICAgICAg
ICAmbWV0ZXJUYWcsCi0gICAgICAgICAgICAmYXBwbGV0VGFnLAotICAgICAgICAgICAgJnByb2dy
ZXNzVGFnLAotICAgICAgICAgICAgJmNhbnZhc1RhZywKLSAgICAgICAgICAgICZlbWJlZFRhZywK
LSAgICAgICAgICAgICZvYmplY3RUYWcsCi0gICAgICAgICAgICAmYXVkaW9UYWcsCi0gICAgICAg
ICAgICAmaWZyYW1lVGFnLAotICAgICAgICAgICAgJmltZ1RhZywKLSAgICAgICAgICAgICZ2aWRl
b1RhZywKLSAgICAgICAgICAgICZmcmFtZVRhZywKLSAgICAgICAgICAgICZmcmFtZXNldFRhZywK
LSAgICAgICAgICAgICZpbnB1dFRhZywKLSAgICAgICAgICAgICZ0ZXh0YXJlYVRhZywKLSAgICAg
ICAgICAgICZzZWxlY3RUYWcsCisgICAgICAgICAgICAmYnJUYWcuZ2V0KCksCisgICAgICAgICAg
ICAmd2JyVGFnLmdldCgpLAorICAgICAgICAgICAgJm1ldGVyVGFnLmdldCgpLAorICAgICAgICAg
ICAgJmFwcGxldFRhZy5nZXQoKSwKKyAgICAgICAgICAgICZwcm9ncmVzc1RhZy5nZXQoKSwKKyAg
ICAgICAgICAgICZjYW52YXNUYWcuZ2V0KCksCisgICAgICAgICAgICAmZW1iZWRUYWcuZ2V0KCks
CisgICAgICAgICAgICAmb2JqZWN0VGFnLmdldCgpLAorICAgICAgICAgICAgJmF1ZGlvVGFnLmdl
dCgpLAorICAgICAgICAgICAgJmlmcmFtZVRhZy5nZXQoKSwKKyAgICAgICAgICAgICZpbWdUYWcu
Z2V0KCksCisgICAgICAgICAgICAmdmlkZW9UYWcuZ2V0KCksCisgICAgICAgICAgICAmZnJhbWVU
YWcuZ2V0KCksCisgICAgICAgICAgICAmZnJhbWVzZXRUYWcuZ2V0KCksCisgICAgICAgICAgICAm
aW5wdXRUYWcuZ2V0KCksCisgICAgICAgICAgICAmdGV4dGFyZWFUYWcuZ2V0KCksCisgICAgICAg
ICAgICAmc2VsZWN0VGFnLmdldCgpLAogICAgICAgICB9OwogICAgICAgICBIYXNoU2V0PEF0b21p
Y1N0cmluZz4gc2V0OwogICAgICAgICBmb3IgKGF1dG8mIG5hbWUgOiB0YWdMaXN0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5jcHAKaW5kZXgg
ODQ5NjIwNjZlYjEzY2M0ZWZkNjgxNDYyYzU4MjY2ZmE1ZmExYmIyNi4uMjA3ZWUwNWJkYzY3NTVj
ZTdmOTJhOWUzZmU0OWI1YThkZjQ5NzNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuY3BwCkBAIC0xOTgsNyArMTk4LDcgQEAgdm9pZCBD
dXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6ZW5xdWV1ZVBvc3RVcGdyYWRlUmVhY3Rpb25zKEVs
ZW1lbnQmIGVsZW1lbnQpCiAKIGJvb2wgQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6Om9ic2Vy
dmVzU3R5bGVBdHRyaWJ1dGUoKSBjb25zdAogewotICAgIHJldHVybiBtX2ludGVyZmFjZS0+b2Jz
ZXJ2ZXNBdHRyaWJ1dGUoSFRNTE5hbWVzOjpzdHlsZUF0dHIubG9jYWxOYW1lKCkpOworICAgIHJl
dHVybiBtX2ludGVyZmFjZS0+b2JzZXJ2ZXNBdHRyaWJ1dGUoSFRNTE5hbWVzOjpzdHlsZUF0dHIt
PmxvY2FsTmFtZSgpKTsKIH0KIAogdm9pZCBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6aW52
b2tlQWxsKEVsZW1lbnQmIGVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBkNDBm
OTljNTBkMzYwZDk1ZmJmMjM3OGIxNzI4YzM5OTcwMTk0ZjFjLi43NmQwOTRjODA2YzhhZTQzYjY3
MGQ3ZjMzMzFmY2UwZjdlODRjYzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTExMzUs
MTggKzExMzUsMTggQEAgQ3VzdG9tRWxlbWVudE5hbWVWYWxpZGF0aW9uU3RhdHVzIERvY3VtZW50
Ojp2YWxpZGF0ZUN1c3RvbUVsZW1lbnROYW1lKGNvbnN0IEF0b20KICAgICAgICAgcmV0dXJuIEN1
c3RvbUVsZW1lbnROYW1lVmFsaWRhdGlvblN0YXR1czo6Q29udGFpbnNOb0h5cGhlbjsKIAogI2lm
IEVOQUJMRShNQVRITUwpCi0gICAgY29uc3QgYXV0byYgYW5ub3RhdGlvblhtbExvY2FsTmFtZSA9
IE1hdGhNTE5hbWVzOjphbm5vdGF0aW9uX3htbFRhZy5sb2NhbE5hbWUoKTsKKyAgICBjb25zdCBh
dXRvJiBhbm5vdGF0aW9uWG1sTG9jYWxOYW1lID0gTWF0aE1MTmFtZXM6OmFubm90YXRpb25feG1s
VGFnLT5sb2NhbE5hbWUoKTsKICNlbHNlCiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0
IEF0b21pY1N0cmluZz4gYW5ub3RhdGlvblhtbExvY2FsTmFtZSgiYW5ub3RhdGlvbi14bWwiLCBB
dG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKICNlbmRpZgogCi0gICAgaWYgKGxv
Y2FsTmFtZSA9PSBTVkdOYW1lczo6Y29sb3JfcHJvZmlsZVRhZy5sb2NhbE5hbWUoKQotICAgICAg
ICB8fCBsb2NhbE5hbWUgPT0gU1ZHTmFtZXM6OmZvbnRfZmFjZVRhZy5sb2NhbE5hbWUoKQotICAg
ICAgICB8fCBsb2NhbE5hbWUgPT0gU1ZHTmFtZXM6OmZvbnRfZmFjZV9mb3JtYXRUYWcubG9jYWxO
YW1lKCkKLSAgICAgICAgfHwgbG9jYWxOYW1lID09IFNWR05hbWVzOjpmb250X2ZhY2VfbmFtZVRh
Zy5sb2NhbE5hbWUoKQotICAgICAgICB8fCBsb2NhbE5hbWUgPT0gU1ZHTmFtZXM6OmZvbnRfZmFj
ZV9zcmNUYWcubG9jYWxOYW1lKCkKLSAgICAgICAgfHwgbG9jYWxOYW1lID09IFNWR05hbWVzOjpm
b250X2ZhY2VfdXJpVGFnLmxvY2FsTmFtZSgpCi0gICAgICAgIHx8IGxvY2FsTmFtZSA9PSBTVkdO
YW1lczo6bWlzc2luZ19nbHlwaFRhZy5sb2NhbE5hbWUoKQorICAgIGlmIChsb2NhbE5hbWUgPT0g
U1ZHTmFtZXM6OmNvbG9yX3Byb2ZpbGVUYWctPmxvY2FsTmFtZSgpCisgICAgICAgIHx8IGxvY2Fs
TmFtZSA9PSBTVkdOYW1lczo6Zm9udF9mYWNlVGFnLT5sb2NhbE5hbWUoKQorICAgICAgICB8fCBs
b2NhbE5hbWUgPT0gU1ZHTmFtZXM6OmZvbnRfZmFjZV9mb3JtYXRUYWctPmxvY2FsTmFtZSgpCisg
ICAgICAgIHx8IGxvY2FsTmFtZSA9PSBTVkdOYW1lczo6Zm9udF9mYWNlX25hbWVUYWctPmxvY2Fs
TmFtZSgpCisgICAgICAgIHx8IGxvY2FsTmFtZSA9PSBTVkdOYW1lczo6Zm9udF9mYWNlX3NyY1Rh
Zy0+bG9jYWxOYW1lKCkKKyAgICAgICAgfHwgbG9jYWxOYW1lID09IFNWR05hbWVzOjpmb250X2Zh
Y2VfdXJpVGFnLT5sb2NhbE5hbWUoKQorICAgICAgICB8fCBsb2NhbE5hbWUgPT0gU1ZHTmFtZXM6
Om1pc3NpbmdfZ2x5cGhUYWctPmxvY2FsTmFtZSgpCiAgICAgICAgIHx8IGxvY2FsTmFtZSA9PSBh
bm5vdGF0aW9uWG1sTG9jYWxOYW1lKQogICAgICAgICByZXR1cm4gQ3VzdG9tRWxlbWVudE5hbWVW
YWxpZGF0aW9uU3RhdHVzOjpDb25mbGljdHNXaXRoU3RhbmRhcmRFbGVtZW50TmFtZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCmluZGV4IGQwNmI5ZDE1YjU5Y2ZmYThlYzJhMDAyNjdmNWQ5Y2I0N2Ix
NDBkNWMuLjEzZWYzZjAyZDI5ZTEyNTg3NWVkMGVhNzAwYTA2YWIzOGMwZTBkOWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAKQEAgLTQ2Myw3ICs0NjMsNyBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBi
b29sIGlzU3R5bGVBdHRyaWJ1dGUoY29uc3QgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgQXRvbWlj
UwogewogICAgIGlmIChzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKGVsZW1lbnQpKQogICAgICAg
ICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoYXR0cmlidXRlTG9jYWxOYW1l
LCAic3R5bGUiKTsKLSAgICByZXR1cm4gYXR0cmlidXRlTG9jYWxOYW1lID09IHN0eWxlQXR0ci5s
b2NhbE5hbWUoKTsKKyAgICByZXR1cm4gYXR0cmlidXRlTG9jYWxOYW1lID09IHN0eWxlQXR0ci0+
bG9jYWxOYW1lKCk7CiB9CiAKIEFMV0FZU19JTkxJTkUgdm9pZCBFbGVtZW50OjpzeW5jaHJvbml6
ZUF0dHJpYnV0ZShjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsTmFtZSkgY29uc3QKQEAgLTE4MTYs
MjMgKzE4MTYsMjMgQEAgc3RhdGljIGJvb2wgY2FuQXR0YWNoQXV0aG9yU2hhZG93Um9vdChjb25z
dCBFbGVtZW50JiBlbGVtZW50KQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoU2V0
PEF0b21pY1N0cmluZz4+IHRhZ05hbWVzID0gW10gewogICAgICAgICBzdGF0aWMgY29uc3QgSFRN
TFF1YWxpZmllZE5hbWUqIGNvbnN0IHRhZ0xpc3RbXSA9IHsKLSAgICAgICAgICAgICZhcnRpY2xl
VGFnLAotICAgICAgICAgICAgJmFzaWRlVGFnLAotICAgICAgICAgICAgJmJsb2NrcXVvdGVUYWcs
Ci0gICAgICAgICAgICAmYm9keVRhZywKLSAgICAgICAgICAgICZkaXZUYWcsCi0gICAgICAgICAg
ICAmZm9vdGVyVGFnLAotICAgICAgICAgICAgJmgxVGFnLAotICAgICAgICAgICAgJmgyVGFnLAot
ICAgICAgICAgICAgJmgzVGFnLAotICAgICAgICAgICAgJmg0VGFnLAotICAgICAgICAgICAgJmg1
VGFnLAotICAgICAgICAgICAgJmg2VGFnLAotICAgICAgICAgICAgJmhlYWRlclRhZywKLSAgICAg
ICAgICAgICZuYXZUYWcsCi0gICAgICAgICAgICAmcFRhZywKLSAgICAgICAgICAgICZzZWN0aW9u
VGFnLAotICAgICAgICAgICAgJnNwYW5UYWcKKyAgICAgICAgICAgICZhcnRpY2xlVGFnLmdldCgp
LAorICAgICAgICAgICAgJmFzaWRlVGFnLmdldCgpLAorICAgICAgICAgICAgJmJsb2NrcXVvdGVU
YWcuZ2V0KCksCisgICAgICAgICAgICAmYm9keVRhZy5nZXQoKSwKKyAgICAgICAgICAgICZkaXZU
YWcuZ2V0KCksCisgICAgICAgICAgICAmZm9vdGVyVGFnLmdldCgpLAorICAgICAgICAgICAgJmgx
VGFnLmdldCgpLAorICAgICAgICAgICAgJmgyVGFnLmdldCgpLAorICAgICAgICAgICAgJmgzVGFn
LmdldCgpLAorICAgICAgICAgICAgJmg0VGFnLmdldCgpLAorICAgICAgICAgICAgJmg1VGFnLmdl
dCgpLAorICAgICAgICAgICAgJmg2VGFnLmdldCgpLAorICAgICAgICAgICAgJmhlYWRlclRhZy5n
ZXQoKSwKKyAgICAgICAgICAgICZuYXZUYWcuZ2V0KCksCisgICAgICAgICAgICAmcFRhZy5nZXQo
KSwKKyAgICAgICAgICAgICZzZWN0aW9uVGFnLmdldCgpLAorICAgICAgICAgICAgJnNwYW5UYWcu
Z2V0KCkKICAgICAgICAgfTsKICAgICAgICAgSGFzaFNldDxBdG9taWNTdHJpbmc+IHNldDsKICAg
ICAgICAgZm9yIChhdXRvJiBuYW1lIDogdGFnTGlzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudERhdGEu
Y3BwCmluZGV4IDRiOWViZjg4OTQ4MTlkNGUzZDJhYmE2Y2ZjNGIxNjY1ZDE4N2YyNmYuLjk1MTUz
MDU1ODRiYTQxZTZhZjQ3YWEzOTQ0ZjE5MThiZGNkMmRmODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnREYXRhLmNwcApAQCAtMTg5LDE4ICsxODksMTggQEAgQXR0cmlidXRlKiBVbmlxdWVFbGVtZW50
RGF0YTo6ZmluZEF0dHJpYnV0ZUJ5TmFtZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKQogCiBj
b25zdCBBdHRyaWJ1dGUqIEVsZW1lbnREYXRhOjpmaW5kTGFuZ3VhZ2VBdHRyaWJ1dGUoKSBjb25z
dAogewotICAgIEFTU0VSVChYTUxOYW1lczo6bGFuZ0F0dHIubG9jYWxOYW1lKCkgPT0gSFRNTE5h
bWVzOjpsYW5nQXR0ci5sb2NhbE5hbWUoKSk7CisgICAgQVNTRVJUKFhNTE5hbWVzOjpsYW5nQXR0
ci0+bG9jYWxOYW1lKCkgPT0gSFRNTE5hbWVzOjpsYW5nQXR0ci0+bG9jYWxOYW1lKCkpOwogCiAg
ICAgY29uc3QgQXR0cmlidXRlKiBhdHRyaWJ1dGVzID0gYXR0cmlidXRlQmFzZSgpOwogICAgIC8v
IFNwZWM6IHhtbDpsYW5nIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBodG1sOmxhbmcgLS0gaHR0cDov
L3d3dy53My5vcmcvVFIveGh0bWwxLyNDXzcKICAgICBjb25zdCBBdHRyaWJ1dGUqIGxhbmd1YWdl
QXR0cmlidXRlID0gbnVsbHB0cjsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwLCBjb3VudCA9IGxl
bmd0aCgpOyBpIDwgY291bnQ7ICsraSkgewogICAgICAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBu
YW1lID0gYXR0cmlidXRlc1tpXS5uYW1lKCk7Ci0gICAgICAgIGlmIChuYW1lLmxvY2FsTmFtZSgp
ICE9IEhUTUxOYW1lczo6bGFuZ0F0dHIubG9jYWxOYW1lKCkpCisgICAgICAgIGlmIChuYW1lLmxv
Y2FsTmFtZSgpICE9IEhUTUxOYW1lczo6bGFuZ0F0dHItPmxvY2FsTmFtZSgpKQogICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIGlmIChuYW1lLm5hbWVzcGFjZVVSSSgpID09IFhNTE5hbWVz
OjpsYW5nQXR0ci5uYW1lc3BhY2VVUkkoKSkKKyAgICAgICAgaWYgKG5hbWUubmFtZXNwYWNlVVJJ
KCkgPT0gWE1MTmFtZXM6OmxhbmdBdHRyLT5uYW1lc3BhY2VVUkkoKSkKICAgICAgICAgICAgIHJl
dHVybiAmYXR0cmlidXRlc1tpXTsKLSAgICAgICAgaWYgKG5hbWUubmFtZXNwYWNlVVJJKCkgPT0g
SFRNTE5hbWVzOjpsYW5nQXR0ci5uYW1lc3BhY2VVUkkoKSkKKyAgICAgICAgaWYgKG5hbWUubmFt
ZXNwYWNlVVJJKCkgPT0gSFRNTE5hbWVzOjpsYW5nQXR0ci0+bmFtZXNwYWNlVVJJKCkpCiAgICAg
ICAgICAgICBsYW5ndWFnZUF0dHJpYnV0ZSA9ICZhdHRyaWJ1dGVzW2ldOwogICAgIH0KICAgICBy
ZXR1cm4gbGFuZ3VhZ2VBdHRyaWJ1dGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
bWFrZV9uYW1lcy5wbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCmluZGV4IDlk
YTY0YmZhOWI0OGY4OGZhOTNhMWI0ODk4ODc3NTllOTMxZTk5MmMuLjRiZjRjMGY0MzZiOGVmNWY2
ZGU0MWRiMWFiNDIxMTVhZjg4YjY4OGMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9t
YWtlX25hbWVzLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCkBAIC00
ODYsNyArNDg2LDcgQEAgc3ViIHByaW50Q29uc3RydWN0b3JzCiAgICAgICAgIGlmICgkZW5hYmxl
ZFRhZ3N7JHRhZ05hbWV9e21hcFRvVGFnTmFtZX0pIHsKICAgICAgICAgICAgIG15ICRtYXBwZWRO
YW1lID0gJGVuYWJsZWRUYWdzeyR0YWdOYW1lfXttYXBUb1RhZ05hbWV9OwogICAgICAgICAgICAg
cHJpbnRDb25zdHJ1Y3RvclNpZ25hdHVyZSgkRiwgJG1hcHBlZE5hbWUsICRtYXBwZWROYW1lIC4g
IlRvIiAuICR0YWdOYW1lLCAidGFnTmFtZSIpOwotICAgICAgICAgICAgcHJpbnRDb25zdHJ1Y3Rv
ckludGVyaW9yKCRGLCAkbWFwcGVkTmFtZSwgJGVuYWJsZWRUYWdzeyRtYXBwZWROYW1lfXtpbnRl
cmZhY2VOYW1lfSwgIlF1YWxpZmllZE5hbWUodGFnTmFtZS5wcmVmaXgoKSwgJHttYXBwZWROYW1l
fVRhZy5sb2NhbE5hbWUoKSwgdGFnTmFtZS5uYW1lc3BhY2VVUkkoKSkiKTsKKyAgICAgICAgICAg
IHByaW50Q29uc3RydWN0b3JJbnRlcmlvcigkRiwgJG1hcHBlZE5hbWUsICRlbmFibGVkVGFnc3sk
bWFwcGVkTmFtZX17aW50ZXJmYWNlTmFtZX0sICJRdWFsaWZpZWROYW1lKHRhZ05hbWUucHJlZml4
KCksICR7bWFwcGVkTmFtZX1UYWctPmxvY2FsTmFtZSgpLCB0YWdOYW1lLm5hbWVzcGFjZVVSSSgp
KSIpOwogICAgICAgICB9CiAgICAgfQogfQpAQCAtNzE2LDIxICs3MTYsMjUgQEAgc3ViIHByaW50
TmFtZXNIZWFkZXJGaWxlCiAgICAgb3BlbiBGLCAiPiRoZWFkZXJQYXRoIjsKIAogICAgIHByaW50
TGljZW5zZUhlYWRlcigkRik7Ci0gICAgcHJpbnRIZWFkZXJIZWFkKCRGLCAiRE9NIiwgJHBhcmFt
ZXRlcnN7bmFtZXNwYWNlfSwgJyNpbmNsdWRlICJRdWFsaWZpZWROYW1lLmgiJywgImNsYXNzICRw
YXJhbWV0ZXJze25hbWVzcGFjZX1RdWFsaWZpZWROYW1lIDogcHVibGljIFF1YWxpZmllZE5hbWUg
eyB9O1xuXG4iKTsKKyAgICBwcmludEhlYWRlckhlYWQoJEYsICJET00iLCAkcGFyYW1ldGVyc3tu
YW1lc3BhY2V9LCA8PEVORCwgImNsYXNzICRwYXJhbWV0ZXJze25hbWVzcGFjZX1RdWFsaWZpZWRO
YW1lIDogcHVibGljIFF1YWxpZmllZE5hbWUgeyB9O1xuXG4iKTsKKyNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKyNpbmNs
dWRlICJRdWFsaWZpZWROYW1lLmgiCitFTkQKIAogICAgIG15ICRsb3dlcmNhc2VOYW1lc3BhY2VQ
cmVmaXggPSBsYygkcGFyYW1ldGVyc3tuYW1lc3BhY2VQcmVmaXh9KTsKIAogICAgIHByaW50IEYg
Ii8vIE5hbWVzcGFjZVxuIjsKLSAgICBwcmludCBGICJXRUJDT1JFX0VYUE9SVCBleHRlcm4gY29u
c3QgV1RGOjpBdG9taWNTdHJpbmcgJHtsb3dlcmNhc2VOYW1lc3BhY2VQcmVmaXh9TmFtZXNwYWNl
VVJJO1xuXG4iOworICAgIHByaW50IEYgIldFQkNPUkVfRVhQT1JUIGV4dGVybiBMYXp5TmV2ZXJE
ZXN0cm95ZWQ8Y29uc3QgV1RGOjpBdG9taWNTdHJpbmc+ICR7bG93ZXJjYXNlTmFtZXNwYWNlUHJl
Zml4fU5hbWVzcGFjZVVSSTtcblxuIjsKIAogICAgIGlmIChrZXlzICVhbGxUYWdzKSB7CiAgICAg
ICAgIHByaW50IEYgIi8vIFRhZ3NcbiI7Ci0gICAgICAgIHByaW50TWFjcm9zKCRGLCAiV0VCQ09S
RV9FWFBPUlQgZXh0ZXJuIGNvbnN0IFdlYkNvcmU6OiRwYXJhbWV0ZXJze25hbWVzcGFjZX1RdWFs
aWZpZWROYW1lIiwgIlRhZyIsIFwlYWxsVGFncyk7CisgICAgICAgIHByaW50TWFjcm9zKCRGLCAi
V0VCQ09SRV9FWFBPUlQgZXh0ZXJuIExhenlOZXZlckRlc3Ryb3llZDxjb25zdCBXZWJDb3JlOjok
cGFyYW1ldGVyc3tuYW1lc3BhY2V9UXVhbGlmaWVkTmFtZT4iLCAiVGFnIiwgXCVhbGxUYWdzKTsK
ICAgICB9CiAKICAgICBpZiAoa2V5cyAlYWxsQXR0cnMpIHsKICAgICAgICAgcHJpbnQgRiAiLy8g
QXR0cmlidXRlc1xuIjsKLSAgICAgICAgcHJpbnRNYWNyb3MoJEYsICJXRUJDT1JFX0VYUE9SVCBl
eHRlcm4gY29uc3QgV2ViQ29yZTo6UXVhbGlmaWVkTmFtZSIsICJBdHRyIiwgXCVhbGxBdHRycyk7
CisgICAgICAgIHByaW50TWFjcm9zKCRGLCAiV0VCQ09SRV9FWFBPUlQgZXh0ZXJuIExhenlOZXZl
ckRlc3Ryb3llZDxjb25zdCBXZWJDb3JlOjpRdWFsaWZpZWROYW1lPiIsICJBdHRyIiwgXCVhbGxB
dHRycyk7CiAgICAgfQogICAgIHByaW50IEYgIiNlbmRpZlxuXG4iOwogCkBAIC03NTksMTQgKzc2
MywxNCBAQCBzdWIgcHJpbnROYW1lc0NwcEZpbGUKICAgICAKICAgICBteSAkbG93ZXJjYXNlTmFt
ZXNwYWNlUHJlZml4ID0gbGMoJHBhcmFtZXRlcnN7bmFtZXNwYWNlUHJlZml4fSk7CiAKLSAgICBw
cmludCBGICJXRUJDT1JFX0VYUE9SVCBERUZJTkVfR0xPQkFMKEF0b21pY1N0cmluZywgJHtsb3dl
cmNhc2VOYW1lc3BhY2VQcmVmaXh9TmFtZXNwYWNlVVJJKVxuXG4iOworICAgIHByaW50IEYgIkxh
enlOZXZlckRlc3Ryb3llZDxjb25zdCBBdG9taWNTdHJpbmc+ICR7bG93ZXJjYXNlTmFtZXNwYWNl
UHJlZml4fU5hbWVzcGFjZVVSSTtcblxuIjsKIAogICAgIHByaW50IEYgU3RhdGljU3RyaW5nOjpH
ZW5lcmF0ZVN0cmluZ3MoXCVhbGxTdHJpbmdzKTsKIAogICAgIGlmIChrZXlzICVhbGxUYWdzKSB7
CiAgICAgICAgIHByaW50IEYgIi8vIFRhZ3NcbiI7CiAgICAgICAgIGZvciBteSAkbmFtZSAoc29y
dCBrZXlzICVhbGxUYWdzKSB7Ci0gICAgICAgICAgICBwcmludCBGICJXRUJDT1JFX0VYUE9SVCBE
RUZJTkVfR0xPQkFMKCRwYXJhbWV0ZXJze25hbWVzcGFjZX1RdWFsaWZpZWROYW1lLCAiLCAkbmFt
ZSwgIlRhZylcbiI7CisgICAgICAgICAgICBwcmludCBGICJXRUJDT1JFX0VYUE9SVCBMYXp5TmV2
ZXJEZXN0cm95ZWQ8Y29uc3QgJHBhcmFtZXRlcnN7bmFtZXNwYWNlfVF1YWxpZmllZE5hbWU+ICR7
bmFtZX1UYWc7XG4iOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBwcmludCBGICJcblxu
Y29uc3QgV2ViQ29yZTo6JHBhcmFtZXRlcnN7bmFtZXNwYWNlfVF1YWxpZmllZE5hbWUqIGNvbnN0
KiBnZXQkcGFyYW1ldGVyc3tuYW1lc3BhY2V9VGFncygpXG4iOwpAQCAtNzgyLDcgKzc4Niw3IEBA
IHN1YiBwcmludE5hbWVzQ3BwRmlsZQogICAgIGlmIChrZXlzICVhbGxBdHRycykgewogICAgICAg
ICBwcmludCBGICJcbi8vIEF0dHJpYnV0ZXNcbiI7CiAgICAgICAgIGZvciBteSAkbmFtZSAoc29y
dCBrZXlzICVhbGxBdHRycykgewotICAgICAgICAgICAgcHJpbnQgRiAiV0VCQ09SRV9FWFBPUlQg
REVGSU5FX0dMT0JBTChRdWFsaWZpZWROYW1lLCAiLCAkbmFtZSwgIkF0dHIpXG4iOworICAgICAg
ICAgICAgcHJpbnQgRiAiV0VCQ09SRV9FWFBPUlQgTGF6eU5ldmVyRGVzdHJveWVkPGNvbnN0IFF1
YWxpZmllZE5hbWU+ICR7bmFtZX1BdHRyO1xuIjsKICAgICAgICAgfQogICAgICAgICBwcmludCBG
ICJcblxuY29uc3QgV2ViQ29yZTo6UXVhbGlmaWVkTmFtZSogY29uc3QqIGdldCRwYXJhbWV0ZXJz
e25hbWVzcGFjZX1BdHRycygpXG4iOwogICAgICAgICBwcmludCBGICJ7XG4gICAgc3RhdGljIGNv
bnN0IFdlYkNvcmU6OlF1YWxpZmllZE5hbWUqIGNvbnN0ICRwYXJhbWV0ZXJze25hbWVzcGFjZX1B
dHRyc1tdID0ge1xuIjsKQEAgLTc5OSw3ICs4MDMsNyBAQCBzdWIgcHJpbnROYW1lc0NwcEZpbGUK
ICAgICBwcmludChGICIgICAgQXRvbWljU3RyaW5nICR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4
fU5TKFwiJHBhcmFtZXRlcnN7bmFtZXNwYWNlVVJJfVwiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVj
dEZyb21MaXRlcmFsKTtcblxuIik7CiAKICAgICBwcmludChGICIgICAgLy8gTmFtZXNwYWNlXG4i
KTsKLSAgICBwcmludChGICIgICAgbmV3IChOb3ROdWxsLCAodm9pZCopJiR7bG93ZXJjYXNlTmFt
ZXNwYWNlUHJlZml4fU5hbWVzcGFjZVVSSSkgQXRvbWljU3RyaW5nKCR7bG93ZXJjYXNlTmFtZXNw
YWNlUHJlZml4fU5TKTtcbiIpOworICAgIHByaW50KEYgIiAgICAke2xvd2VyY2FzZU5hbWVzcGFj
ZVByZWZpeH1OYW1lc3BhY2VVUkkuY29uc3RydWN0KCR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4
fU5TKTtcbiIpOwogICAgIHByaW50KEYgIlxuIik7CiAgICAgcHJpbnQgRiBTdGF0aWNTdHJpbmc6
OkdlbmVyYXRlU3RyaW5nQXNzZXJ0cyhcJWFsbFN0cmluZ3MpOwogCkBAIC04OTksMzEgKzkwMywy
OCBAQCBzdWIgcHJpbnREZWZpbml0aW9ucwogICAgIG15ICRzaG9ydENhbWVsVHlwZSA9IHVjZmly
c3Qoc3Vic3RyKHN1YnN0cigkdHlwZSwgMCwgLTEpLCAwLCA0KSk7CiAgICAgbXkgJGNhcGl0YWxp
emVkVHlwZSA9IHVjZmlyc3QoJHR5cGUpOwogICAgIAotcHJpbnQgRiA8PEVORAorcHJpbnQgRiA8
PEVORDsKIAogICAgIHN0cnVjdCAke2NhcGl0YWxpemVkVHlwZX1UYWJsZUVudHJ5IHsKLSAgICAg
ICAgdm9pZCogdGFyZ2V0QWRkcmVzczsKKyAgICAgICAgTGF6eU5ldmVyRGVzdHJveWVkPGNvbnN0
IFF1YWxpZmllZE5hbWU+KiB0YXJnZXRBZGRyZXNzOwogICAgICAgICBjb25zdCBTdGF0aWNTdHJp
bmdJbXBsJiBuYW1lOwogICAgIH07CiAKICAgICBzdGF0aWMgY29uc3QgJHtjYXBpdGFsaXplZFR5
cGV9VGFibGVFbnRyeSAke3R5cGV9VGFibGVbXSA9IHsKIEVORAotOworCisgICAgbXkgJGNhc3Qg
PSAkdHlwZSBlcSAidGFncyIgPyAiKExhenlOZXZlckRlc3Ryb3llZDxjb25zdCBRdWFsaWZpZWRO
YW1lPiopIiA6ICIiOwogICAgIGZvciBteSAkbmFtZSAoc29ydCBrZXlzICUkbmFtZXNSZWYpIHsK
LSAgICAgICAgcHJpbnQgRiAiICAgICAgICB7ICh2b2lkKikmJG5hbWUkc2hvcnRDYW1lbFR5cGUs
ICooJiR7bmFtZX1EYXRhKSB9LFxuIjsKKyAgICAgICAgcHJpbnQgRiAiICAgICAgICB7ICRjYXN0
JiRuYW1lJHNob3J0Q2FtZWxUeXBlLCAqKCYke25hbWV9RGF0YSkgfSxcbiI7CiAgICAgfQogCi1w
cmludCBGIDw8RU5ECitwcmludCBGIDw8RU5EOwogICAgIH07CiAKICAgICBmb3IgKGF1dG8mIGVu
dHJ5IDogJHt0eXBlfVRhYmxlKQorICAgICAgICBlbnRyeS50YXJnZXRBZGRyZXNzLT5jb25zdHJ1
Y3QobnVsbEF0b20oKSwgQXRvbWljU3RyaW5nKCZlbnRyeS5uYW1lKSwgJG5hbWVzcGFjZVVSSSk7
CiBFTkQKLTsKLSAgICBpZiAoJG5hbWVzcGFjZVVSSSBlcSAibnVsbEF0b20oKSIpIHsKLSAgICAg
ICAgcHJpbnQgRiAiICAgICAgICBjcmVhdGVRdWFsaWZpZWROYW1lKGVudHJ5LnRhcmdldEFkZHJl
c3MsICZlbnRyeS5uYW1lKTtcbiI7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcHJpbnQgRiAiICAg
ICAgICBjcmVhdGVRdWFsaWZpZWROYW1lKGVudHJ5LnRhcmdldEFkZHJlc3MsICZlbnRyeS5uYW1l
LCAkbmFtZXNwYWNlVVJJKTtcbiI7Ci0gICAgfQorCiB9CiAKICMjIEVsZW1lbnRGYWN0b3J5IHJv
dXRpbmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb21qaXQvSlNEb2N1bWVudERPTUpJ
VC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb21qaXQvSlNEb2N1bWVudERPTUpJVC5jcHAKaW5kZXgg
ZTZlNDQ3NTI2ZWRiOGI0MjYwYzM0MTBmOTNmZWViYjk3OTIxZjQ3Mi4uYjgzM2EzODJhZGQ3MTdj
ZjkwNjNmMWIyZjhkYThmY2M4OGZlMzg3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
aml0L0pTRG9jdW1lbnRET01KSVQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbWppdC9KU0Rv
Y3VtZW50RE9NSklULmNwcApAQCAtMTAyLDcgKzEwMiw3IEBAIFJlZjxKU0M6OkRPTUpJVDo6Q2Fs
bERPTUdldHRlclNuaXBwZXQ+IGNvbXBpbGVEb2N1bWVudEJvZHlBdHRyaWJ1dGUoKQogICAgICAg
ICAvLyBXZSBlbnN1cmVkIHRoYXQgdGhlIG5hbWUgb2YgdGhlIGdpdmVuIGVsZW1lbnQgaXMgSFRN
TCBxdWFsaWZpZWQuCiAgICAgICAgIC8vIEl0IGFsbG93cyB1cyB0byBwZXJmb3JtIGxvY2FsIG5h
bWUgY29tcGFyaXNvbiEKICAgICAgICAgbG9hZExvY2FsTmFtZShqaXQsIHNjcmF0Y2gxLCBzY3Jh
dGNoMik7Ci0gICAgICAgIG51bGxDYXNlcy5hcHBlbmQoaml0LmJyYW5jaFB0cihDQ2FsbEhlbHBl
cnM6Ok5vdEVxdWFsLCBzY3JhdGNoMiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKEhUTUxO
YW1lczo6aHRtbFRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpKSk7CisgICAgICAgIG51bGxDYXNlcy5h
cHBlbmQoaml0LmJyYW5jaFB0cihDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLCBzY3JhdGNoMiwgQ0Nh
bGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKEhUTUxOYW1lczo6aHRtbFRhZy0+bG9jYWxOYW1lKCku
aW1wbCgpKSkpOwogCiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFDQVNUX09GRlNFVChOb2RlKiwg
Q29udGFpbmVyTm9kZSopKTsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIUNBU1RfT0ZGU0VUKE5v
ZGUqLCBFbGVtZW50KikpOwpAQCAtMTIwLDggKzEyMCw4IEBAIFJlZjxKU0M6OkRPTUpJVDo6Q2Fs
bERPTUdldHRlclNuaXBwZXQ+IGNvbXBpbGVEb2N1bWVudEJvZHlBdHRyaWJ1dGUoKQogICAgICAg
ICAvLyBXZSBlbnN1cmVkIHRoYXQgdGhlIG5hbWUgb2YgdGhlIGdpdmVuIGVsZW1lbnQgaXMgSFRN
TCBxdWFsaWZpZWQuCiAgICAgICAgIC8vIEl0IGFsbG93cyB1cyB0byBwZXJmb3JtIGxvY2FsIG5h
bWUgY29tcGFyaXNvbiEKICAgICAgICAgbG9hZExvY2FsTmFtZShqaXQsIHNjcmF0Y2gxLCBzY3Jh
dGNoMik7Ci0gICAgICAgIHN1Y2Nlc3NDYXNlcy5hcHBlbmQoaml0LmJyYW5jaFB0cihDQ2FsbEhl
bHBlcnM6OkVxdWFsLCBzY3JhdGNoMiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKEhUTUxO
YW1lczo6Ym9keVRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpKSk7Ci0gICAgICAgIHN1Y2Nlc3NDYXNl
cy5hcHBlbmQoaml0LmJyYW5jaFB0cihDQ2FsbEhlbHBlcnM6OkVxdWFsLCBzY3JhdGNoMiwgQ0Nh
bGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKEhUTUxOYW1lczo6ZnJhbWVzZXRUYWcubG9jYWxOYW1l
KCkuaW1wbCgpKSkpOworICAgICAgICBzdWNjZXNzQ2FzZXMuYXBwZW5kKGppdC5icmFuY2hQdHIo
Q0NhbGxIZWxwZXJzOjpFcXVhbCwgc2NyYXRjaDIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0
cihIVE1MTmFtZXM6OmJvZHlUYWctPmxvY2FsTmFtZSgpLmltcGwoKSkpKTsKKyAgICAgICAgc3Vj
Y2Vzc0Nhc2VzLmFwcGVuZChqaXQuYnJhbmNoUHRyKENDYWxsSGVscGVyczo6RXF1YWwsIHNjcmF0
Y2gyLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoSFRNTE5hbWVzOjpmcmFtZXNldFRhZy0+
bG9jYWxOYW1lKCkuaW1wbCgpKSkpOwogCiAgICAgICAgIG5vdEhUTUxFbGVtZW50Q2FzZS5saW5r
KCZqaXQpOwogICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRj
aDEsIE5vZGU6Om5leHRTaWJsaW5nTWVtb3J5T2Zmc2V0KCkpLCBzY3JhdGNoMSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggYmUzZGE4ZWUyZjc1ZWJlMmU3NjdiYmE2ZTc3N2YwOTE1
Zjk4ODIyNS4uODZhYmIxZGZkYTczY2QwYTdhZGZhOGE3Yzg2Nzk5YzdhZjBmZDhmZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMzIwNiw3ICszMjA2LDcgQEAgdm9pZCBFZGl0b3I6
OnRleHREaWRDaGFuZ2VJblRleHRBcmVhKEVsZW1lbnQqIGUpCiAKIHZvaWQgRWRpdG9yOjphcHBs
eUVkaXRpbmdTdHlsZVRvQm9keUVsZW1lbnQoKSBjb25zdAogewotICAgIGF1dG8gY29sbGVjdGlv
biA9IGRvY3VtZW50KCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoSFRNTE5hbWVzOjpib2R5VGFnLmxv
Y2FsTmFtZSgpKTsKKyAgICBhdXRvIGNvbGxlY3Rpb24gPSBkb2N1bWVudCgpLmdldEVsZW1lbnRz
QnlUYWdOYW1lKEhUTUxOYW1lczo6Ym9keVRhZy0+bG9jYWxOYW1lKCkpOwogICAgIHVuc2lnbmVk
IGxlbmd0aCA9IGNvbGxlY3Rpb24tPmxlbmd0aCgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBsZW5ndGg7ICsraSkKICAgICAgICAgYXBwbHlFZGl0aW5nU3R5bGVUb0VsZW1lbnQoY29s
bGVjdGlvbi0+aXRlbShpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRvckNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNw
cAppbmRleCAzNTUwMTFlZjc0ZjkyYTAwNjI1NGVhMjNkMDNjMjg1YmI0ZmJhNDQ3Li5mMzQxNjA1
ODYwOTcyOTA2NGRhNTA4NmM2NTI4YTViNTFjNjFhNzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yQ29tbWFuZC5jcHAKQEAgLTE0NTAsOSArMTQ1MCw5IEBAIHN0YXRpYyBTdHJpbmcg
dmFsdWVEZWZhdWx0UGFyYWdyYXBoU2VwYXJhdG9yKEZyYW1lJiBmcmFtZSwgRXZlbnQqKQogewog
ICAgIHN3aXRjaCAoZnJhbWUuZWRpdG9yKCkuZGVmYXVsdFBhcmFncmFwaFNlcGFyYXRvcigpKSB7
CiAgICAgY2FzZSBFZGl0b3JQYXJhZ3JhcGhTZXBhcmF0b3JJc0RpdjoKLSAgICAgICAgcmV0dXJu
IGRpdlRhZy5sb2NhbE5hbWUoKTsKKyAgICAgICAgcmV0dXJuIGRpdlRhZy0+bG9jYWxOYW1lKCk7
CiAgICAgY2FzZSBFZGl0b3JQYXJhZ3JhcGhTZXBhcmF0b3JJc1A6Ci0gICAgICAgIHJldHVybiBw
VGFnLmxvY2FsTmFtZSgpOworICAgICAgICByZXR1cm4gcFRhZy0+bG9jYWxOYW1lKCk7CiAgICAg
fQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
TWFya3VwQWNjdW11bGF0b3IuY3BwCmluZGV4IDE5ZDI1NGQyZDE3ZDRhZDViNDk5MzJkMDgzYzk0
Y2ExZmM1MDA0ZmQuLjZiYmJlYjc0NTE0NDFhZDM1NmIyMTAwMzljMzE2MTdiMWRmOGQzZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuY3BwCkBAIC0xNDcs
OCArMTQ3LDggQEAgdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6c2VyaWFsaXplTm9kZXNXaXRoTmFt
ZXNwYWNlcyhOb2RlJiB0YXJnZXROb2RlLCBFQ2hpbGRyZW4KICAgICAgICAgbmFtZXNwYWNlSGFz
aCA9ICpuYW1lc3BhY2VzOwogICAgIGVsc2UgaWYgKGluWE1MRnJhZ21lbnRTZXJpYWxpemF0aW9u
KCkpIHsKICAgICAgICAgLy8gTWFrZSBzdXJlIHhtbCBwcmVmaXggYW5kIG5hbWVzcGFjZSBhcmUg
YWx3YXlzIGtub3duIHRvIHVwaG9sZCB0aGUgY29uc3RyYWludHMgbGlzdGVkIGF0IGh0dHA6Ly93
d3cudzMub3JnL1RSL3htbC1uYW1lczExLyN4bWxSZXNlcnZlZC4KLSAgICAgICAgbmFtZXNwYWNl
SGFzaC5zZXQoeG1sQXRvbSgpLmltcGwoKSwgWE1MTmFtZXM6OnhtbE5hbWVzcGFjZVVSSS5pbXBs
KCkpOwotICAgICAgICBuYW1lc3BhY2VIYXNoLnNldChYTUxOYW1lczo6eG1sTmFtZXNwYWNlVVJJ
LmltcGwoKSwgeG1sQXRvbSgpLmltcGwoKSk7CisgICAgICAgIG5hbWVzcGFjZUhhc2guc2V0KHht
bEF0b20oKS5pbXBsKCksIFhNTE5hbWVzOjp4bWxOYW1lc3BhY2VVUkktPmltcGwoKSk7CisgICAg
ICAgIG5hbWVzcGFjZUhhc2guc2V0KFhNTE5hbWVzOjp4bWxOYW1lc3BhY2VVUkktPmltcGwoKSwg
eG1sQXRvbSgpLmltcGwoKSk7CiAgICAgfQogCiAgICAgaWYgKCFjaGlsZHJlbk9ubHkpCkBAIC0z
MDIsNyArMzAyLDcgQEAgdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kTmFtZXNwYWNlKFN0
cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgQXRvbWljU3RyaW4KICAgICAgICAgaWYgKGluWE1M
RnJhZ21lbnRTZXJpYWxpemF0aW9uKCkgJiYgIXByZWZpeC5pc0VtcHR5KCkpCiAgICAgICAgICAg
ICBuYW1lc3BhY2VzLnNldChuYW1lc3BhY2VVUkkuaW1wbCgpLCBwcmUpOwogICAgICAgICAvLyBN
YWtlIHN1cmUgeG1sIHByZWZpeCBhbmQgbmFtZXNwYWNlIGFyZSBhbHdheXMga25vd24gdG8gdXBo
b2xkIHRoZSBjb25zdHJhaW50cyBsaXN0ZWQgYXQgaHR0cDovL3d3dy53My5vcmcvVFIveG1sLW5h
bWVzMTEvI3htbFJlc2VydmVkLgotICAgICAgICBpZiAobmFtZXNwYWNlVVJJLmltcGwoKSA9PSBY
TUxOYW1lczo6eG1sTmFtZXNwYWNlVVJJLmltcGwoKSkKKyAgICAgICAgaWYgKG5hbWVzcGFjZVVS
SS5pbXBsKCkgPT0gWE1MTmFtZXM6OnhtbE5hbWVzcGFjZVVSSS0+aW1wbCgpKQogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7CiAgICAgICAgIHJlc3VsdC5h
cHBlbmQoeG1sbnNBdG9tKCkuc3RyaW5nKCkpOwpAQCAtNTk4LDggKzU5OCw5IEBAIGJvb2wgTWFy
a3VwQWNjdW11bGF0b3I6OmVsZW1lbnRDYW5ub3RIYXZlRW5kVGFnKGNvbnN0IE5vZGUmIG5vZGUp
CiAgICAgLy8gSWYgY3VycmVudCBub2RlIGlzIGFuIGFyZWEsIGJhc2UsIGJhc2Vmb250LCBiZ3Nv
dW5kLCBiciwgY29sLCBlbWJlZCwgZnJhbWUsIGhyLCBpbWcsCiAgICAgLy8gaW5wdXQsIGtleWdl
biwgbGluaywgbWV0YSwgcGFyYW0sIHNvdXJjZSwgdHJhY2sgb3Igd2JyIGVsZW1lbnQsIHRoZW4g
Y29udGludWUgb24gdG8KICAgICAvLyB0aGUgbmV4dCBjaGlsZCBub2RlIGF0IHRoaXMgcG9pbnQu
Ci0gICAgc3RhdGljIGNvbnN0IEhUTUxRdWFsaWZpZWROYW1lKiB0YWdzW10gPSB7ICZhcmVhVGFn
LCAmYmFzZVRhZywgJmJhc2Vmb250VGFnLCAmYmdzb3VuZFRhZywgJmJyVGFnLCAmY29sVGFnLCAm
ZW1iZWRUYWcsCi0gICAgICAgICZmcmFtZVRhZywgJmhyVGFnLCAmaW1nVGFnLCAmaW5wdXRUYWcs
ICZrZXlnZW5UYWcsICZsaW5rVGFnLCAmbWV0YVRhZywgJnBhcmFtVGFnLCAmc291cmNlVGFnLCAm
dHJhY2tUYWcsICZ3YnJUYWcgfTsKKyAgICBzdGF0aWMgY29uc3QgSFRNTFF1YWxpZmllZE5hbWUq
IHRhZ3NbXSA9IHsgJmFyZWFUYWcuZ2V0KCksICZiYXNlVGFnLmdldCgpLCAmYmFzZWZvbnRUYWcu
Z2V0KCksICZiZ3NvdW5kVGFnLmdldCgpLAorICAgICAgICAmYnJUYWcuZ2V0KCksICZjb2xUYWcu
Z2V0KCksICZlbWJlZFRhZy5nZXQoKSwgJmZyYW1lVGFnLmdldCgpLCAmaHJUYWcuZ2V0KCksICZp
bWdUYWcuZ2V0KCksICZpbnB1dFRhZy5nZXQoKSwKKyAgICAgICAgJmtleWdlblRhZy5nZXQoKSwg
JmxpbmtUYWcuZ2V0KCksICZtZXRhVGFnLmdldCgpLCAmcGFyYW1UYWcuZ2V0KCksICZzb3VyY2VU
YWcuZ2V0KCksICZ0cmFja1RhZy5nZXQoKSwgJndiclRhZy5nZXQoKSB9OwogICAgIGF1dG8mIGVs
ZW1lbnQgPSBkb3duY2FzdDxIVE1MRWxlbWVudD4obm9kZSk7CiAgICAgZm9yIChhdXRvKiB0YWcg
OiB0YWdzKSB7CiAgICAgICAgIGlmIChlbGVtZW50Lmhhc1RhZ05hbWUoKnRhZykpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCmluZGV4
IGM0MjdmMTI0YWVkYTVhNTI3OGEzMzNkOWZhOTY3NWY4NTIxODI3OTYuLjkzYThkYjBmNzNlNTY0
MWY2ZDg0ZDQwNDFhMDQ4MDE4NGExMmUyZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBAIC01NjgsNTQgKzU2OCw1NCBAQCBz
dGF0aWMgYm9vbCBpc1Byb2hpYml0ZWRQYXJhZ3JhcGhDaGlsZChjb25zdCBBdG9taWNTdHJpbmcm
IG5hbWUpCiAgICAgLy8gaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9lZGl0aW5nL3Jhdy1maWxlLzU3
YWJlNmQzY2I2MC9lZGl0aW5nLmh0bWwjcHJvaGliaXRlZC1wYXJhZ3JhcGgtY2hpbGQKICAgICBz
dGF0aWMgY29uc3QgYXV0byBsb2NhbE5hbWVzID0gbWFrZU5ldmVyRGVzdHJveWVkKFtdIHsKICAg
ICAgICAgc3RhdGljIGNvbnN0IEhUTUxRdWFsaWZpZWROYW1lKiBjb25zdCB0YWdzW10gPSB7Ci0g
ICAgICAgICAgICAmYWRkcmVzc1RhZywKLSAgICAgICAgICAgICZhcnRpY2xlVGFnLAotICAgICAg
ICAgICAgJmFzaWRlVGFnLAotICAgICAgICAgICAgJmJsb2NrcXVvdGVUYWcsCi0gICAgICAgICAg
ICAmY2FwdGlvblRhZywKLSAgICAgICAgICAgICZjZW50ZXJUYWcsCi0gICAgICAgICAgICAmY29s
VGFnLAotICAgICAgICAgICAgJmNvbGdyb3VwVGFnLAotICAgICAgICAgICAgJmRkVGFnLAotICAg
ICAgICAgICAgJmRldGFpbHNUYWcsCi0gICAgICAgICAgICAmZGlyVGFnLAotICAgICAgICAgICAg
JmRpdlRhZywKLSAgICAgICAgICAgICZkbFRhZywKLSAgICAgICAgICAgICZkdFRhZywKLSAgICAg
ICAgICAgICZmaWVsZHNldFRhZywKLSAgICAgICAgICAgICZmaWdjYXB0aW9uVGFnLAotICAgICAg
ICAgICAgJmZpZ3VyZVRhZywKLSAgICAgICAgICAgICZmb290ZXJUYWcsCi0gICAgICAgICAgICAm
Zm9ybVRhZywKLSAgICAgICAgICAgICZoMVRhZywKLSAgICAgICAgICAgICZoMlRhZywKLSAgICAg
ICAgICAgICZoM1RhZywKLSAgICAgICAgICAgICZoNFRhZywKLSAgICAgICAgICAgICZoNVRhZywK
LSAgICAgICAgICAgICZoNlRhZywKLSAgICAgICAgICAgICZoZWFkZXJUYWcsCi0gICAgICAgICAg
ICAmaGdyb3VwVGFnLAotICAgICAgICAgICAgJmhyVGFnLAotICAgICAgICAgICAgJmxpVGFnLAot
ICAgICAgICAgICAgJmxpc3RpbmdUYWcsCi0gICAgICAgICAgICAmbWFpblRhZywgLy8gTWlzc2lu
ZyBpbiB0aGUgc3BlY2lmaWNhdGlvbi4KLSAgICAgICAgICAgICZtZW51VGFnLAotICAgICAgICAg
ICAgJm5hdlRhZywKLSAgICAgICAgICAgICZvbFRhZywKLSAgICAgICAgICAgICZwVGFnLAotICAg
ICAgICAgICAgJnBsYWludGV4dFRhZywKLSAgICAgICAgICAgICZwcmVUYWcsCi0gICAgICAgICAg
ICAmc2VjdGlvblRhZywKLSAgICAgICAgICAgICZzdW1tYXJ5VGFnLAotICAgICAgICAgICAgJnRh
YmxlVGFnLAotICAgICAgICAgICAgJnRib2R5VGFnLAotICAgICAgICAgICAgJnRkVGFnLAotICAg
ICAgICAgICAgJnRmb290VGFnLAotICAgICAgICAgICAgJnRoVGFnLAotICAgICAgICAgICAgJnRo
ZWFkVGFnLAotICAgICAgICAgICAgJnRyVGFnLAotICAgICAgICAgICAgJnVsVGFnLAotICAgICAg
ICAgICAgJnhtcFRhZywKKyAgICAgICAgICAgICZhZGRyZXNzVGFnLmdldCgpLAorICAgICAgICAg
ICAgJmFydGljbGVUYWcuZ2V0KCksCisgICAgICAgICAgICAmYXNpZGVUYWcuZ2V0KCksCisgICAg
ICAgICAgICAmYmxvY2txdW90ZVRhZy5nZXQoKSwKKyAgICAgICAgICAgICZjYXB0aW9uVGFnLmdl
dCgpLAorICAgICAgICAgICAgJmNlbnRlclRhZy5nZXQoKSwKKyAgICAgICAgICAgICZjb2xUYWcu
Z2V0KCksCisgICAgICAgICAgICAmY29sZ3JvdXBUYWcuZ2V0KCksCisgICAgICAgICAgICAmZGRU
YWcuZ2V0KCksCisgICAgICAgICAgICAmZGV0YWlsc1RhZy5nZXQoKSwKKyAgICAgICAgICAgICZk
aXJUYWcuZ2V0KCksCisgICAgICAgICAgICAmZGl2VGFnLmdldCgpLAorICAgICAgICAgICAgJmRs
VGFnLmdldCgpLAorICAgICAgICAgICAgJmR0VGFnLmdldCgpLAorICAgICAgICAgICAgJmZpZWxk
c2V0VGFnLmdldCgpLAorICAgICAgICAgICAgJmZpZ2NhcHRpb25UYWcuZ2V0KCksCisgICAgICAg
ICAgICAmZmlndXJlVGFnLmdldCgpLAorICAgICAgICAgICAgJmZvb3RlclRhZy5nZXQoKSwKKyAg
ICAgICAgICAgICZmb3JtVGFnLmdldCgpLAorICAgICAgICAgICAgJmgxVGFnLmdldCgpLAorICAg
ICAgICAgICAgJmgyVGFnLmdldCgpLAorICAgICAgICAgICAgJmgzVGFnLmdldCgpLAorICAgICAg
ICAgICAgJmg0VGFnLmdldCgpLAorICAgICAgICAgICAgJmg1VGFnLmdldCgpLAorICAgICAgICAg
ICAgJmg2VGFnLmdldCgpLAorICAgICAgICAgICAgJmhlYWRlclRhZy5nZXQoKSwKKyAgICAgICAg
ICAgICZoZ3JvdXBUYWcuZ2V0KCksCisgICAgICAgICAgICAmaHJUYWcuZ2V0KCksCisgICAgICAg
ICAgICAmbGlUYWcuZ2V0KCksCisgICAgICAgICAgICAmbGlzdGluZ1RhZy5nZXQoKSwKKyAgICAg
ICAgICAgICZtYWluVGFnLmdldCgpLCAvLyBNaXNzaW5nIGluIHRoZSBzcGVjaWZpY2F0aW9uLgor
ICAgICAgICAgICAgJm1lbnVUYWcuZ2V0KCksCisgICAgICAgICAgICAmbmF2VGFnLmdldCgpLAor
ICAgICAgICAgICAgJm9sVGFnLmdldCgpLAorICAgICAgICAgICAgJnBUYWcuZ2V0KCksCisgICAg
ICAgICAgICAmcGxhaW50ZXh0VGFnLmdldCgpLAorICAgICAgICAgICAgJnByZVRhZy5nZXQoKSwK
KyAgICAgICAgICAgICZzZWN0aW9uVGFnLmdldCgpLAorICAgICAgICAgICAgJnN1bW1hcnlUYWcu
Z2V0KCksCisgICAgICAgICAgICAmdGFibGVUYWcuZ2V0KCksCisgICAgICAgICAgICAmdGJvZHlU
YWcuZ2V0KCksCisgICAgICAgICAgICAmdGRUYWcuZ2V0KCksCisgICAgICAgICAgICAmdGZvb3RU
YWcuZ2V0KCksCisgICAgICAgICAgICAmdGhUYWcuZ2V0KCksCisgICAgICAgICAgICAmdGhlYWRU
YWcuZ2V0KCksCisgICAgICAgICAgICAmdHJUYWcuZ2V0KCksCisgICAgICAgICAgICAmdWxUYWcu
Z2V0KCksCisgICAgICAgICAgICAmeG1wVGFnLmdldCgpLAogICAgICAgICB9OwogICAgICAgICBI
YXNoU2V0PEF0b21pY1N0cmluZz4gc2V0OwogICAgICAgICBmb3IgKGF1dG8mIHRhZyA6IHRhZ3Mp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAKaW5kZXggNDA0ZWViZGE0ZDNj
ZGRlYjM5MTg0YmFjN2UyMGU3ODdiMjdmZmM3Yi4uMmVlNTFlY2E4ZDQzZTc5NzhmYWVkOTQ0YTcy
MmQ5ZmZmNGRmNjExNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcApA
QCAtMTA0LDM0ICsxMDQsMzQgQEAgdm9pZCBIVE1MQm9keUVsZW1lbnQ6OmNvbGxlY3RTdHlsZUZv
clByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJgogSFRNTEVsZW1lbnQ6
OkV2ZW50SGFuZGxlck5hbWVNYXAgSFRNTEJvZHlFbGVtZW50OjpjcmVhdGVXaW5kb3dFdmVudEhh
bmRsZXJOYW1lTWFwKCkKIHsKICAgICBzdGF0aWMgY29uc3QgUXVhbGlmaWVkTmFtZSogY29uc3Qg
dGFibGVbXSA9IHsKLSAgICAgICAgJm9uYmVmb3JldW5sb2FkQXR0ciwKLSAgICAgICAgJm9uYmx1
ckF0dHIsCi0gICAgICAgICZvbmVycm9yQXR0ciwKLSAgICAgICAgJm9uZm9jdXNBdHRyLAotICAg
ICAgICAmb25mb2N1c2luQXR0ciwKLSAgICAgICAgJm9uZm9jdXNvdXRBdHRyLAotICAgICAgICAm
b25oYXNoY2hhbmdlQXR0ciwKLSAgICAgICAgJm9ubGFuZ3VhZ2VjaGFuZ2VBdHRyLAotICAgICAg
ICAmb25sb2FkQXR0ciwKLSAgICAgICAgJm9ubWVzc2FnZUF0dHIsCi0gICAgICAgICZvbm9mZmxp
bmVBdHRyLAotICAgICAgICAmb25vbmxpbmVBdHRyLAotICAgICAgICAmb25vcmllbnRhdGlvbmNo
YW5nZUF0dHIsCi0gICAgICAgICZvbnBhZ2VoaWRlQXR0ciwKLSAgICAgICAgJm9ucGFnZXNob3dB
dHRyLAotICAgICAgICAmb25wb3BzdGF0ZUF0dHIsCi0gICAgICAgICZvbnJlc2l6ZUF0dHIsCi0g
ICAgICAgICZvbnNjcm9sbEF0dHIsCi0gICAgICAgICZvbnN0b3JhZ2VBdHRyLAotICAgICAgICAm
b251bmxvYWRBdHRyLAotICAgICAgICAmb253ZWJraXRtb3VzZWZvcmNlY2hhbmdlZEF0dHIsCi0g
ICAgICAgICZvbndlYmtpdG1vdXNlZm9yY2Vkb3duQXR0ciwKLSAgICAgICAgJm9ud2Via2l0bW91
c2Vmb3JjZXVwQXR0ciwKLSAgICAgICAgJm9ud2Via2l0bW91c2Vmb3JjZXdpbGxiZWdpbkF0dHIs
Ci0gICAgICAgICZvbndlYmtpdHdpbGxyZXZlYWxib3R0b21BdHRyLAotICAgICAgICAmb253ZWJr
aXR3aWxscmV2ZWFsbGVmdEF0dHIsCi0gICAgICAgICZvbndlYmtpdHdpbGxyZXZlYWxyaWdodEF0
dHIsCi0gICAgICAgICZvbndlYmtpdHdpbGxyZXZlYWx0b3BBdHRyLAorICAgICAgICAmb25iZWZv
cmV1bmxvYWRBdHRyLmdldCgpLAorICAgICAgICAmb25ibHVyQXR0ci5nZXQoKSwKKyAgICAgICAg
Jm9uZXJyb3JBdHRyLmdldCgpLAorICAgICAgICAmb25mb2N1c0F0dHIuZ2V0KCksCisgICAgICAg
ICZvbmZvY3VzaW5BdHRyLmdldCgpLAorICAgICAgICAmb25mb2N1c291dEF0dHIuZ2V0KCksCisg
ICAgICAgICZvbmhhc2hjaGFuZ2VBdHRyLmdldCgpLAorICAgICAgICAmb25sYW5ndWFnZWNoYW5n
ZUF0dHIuZ2V0KCksCisgICAgICAgICZvbmxvYWRBdHRyLmdldCgpLAorICAgICAgICAmb25tZXNz
YWdlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ub2ZmbGluZUF0dHIuZ2V0KCksCisgICAgICAgICZv
bm9ubGluZUF0dHIuZ2V0KCksCisgICAgICAgICZvbm9yaWVudGF0aW9uY2hhbmdlQXR0ci5nZXQo
KSwKKyAgICAgICAgJm9ucGFnZWhpZGVBdHRyLmdldCgpLAorICAgICAgICAmb25wYWdlc2hvd0F0
dHIuZ2V0KCksCisgICAgICAgICZvbnBvcHN0YXRlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ucmVz
aXplQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uc2Nyb2xsQXR0ci5nZXQoKSwKKyAgICAgICAgJm9u
c3RvcmFnZUF0dHIuZ2V0KCksCisgICAgICAgICZvbnVubG9hZEF0dHIuZ2V0KCksCisgICAgICAg
ICZvbndlYmtpdG1vdXNlZm9yY2VjaGFuZ2VkQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0
bW91c2Vmb3JjZWRvd25BdHRyLmdldCgpLAorICAgICAgICAmb253ZWJraXRtb3VzZWZvcmNldXBB
dHRyLmdldCgpLAorICAgICAgICAmb253ZWJraXRtb3VzZWZvcmNld2lsbGJlZ2luQXR0ci5nZXQo
KSwKKyAgICAgICAgJm9ud2Via2l0d2lsbHJldmVhbGJvdHRvbUF0dHIuZ2V0KCksCisgICAgICAg
ICZvbndlYmtpdHdpbGxyZXZlYWxsZWZ0QXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0d2ls
bHJldmVhbHJpZ2h0QXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0d2lsbHJldmVhbHRvcEF0
dHIuZ2V0KCksCiAgICAgfTsKIAogICAgIEV2ZW50SGFuZGxlck5hbWVNYXAgbWFwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCmluZGV4IDk2NWU2ZGU0NzQyMDdjZGZhZjhkMTM2YmZl
MTk1ZjdjNGViZWFhNzUuLjQ2MjlkOTFmYzc5YmVkMzFiMjRlZjgzYjVjY2Q3ODFhNzBkZjgzNTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAKQEAgLTE3Nyw1MSArMTc3LDUxIEBA
IGJvb2wgSFRNTERvY3VtZW50Ojppc0Nhc2VTZW5zaXRpdmVBdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgYXR0cmlidXRlTmFtZSkKICAgICAgICAgLy8gVGhpcyBpcyB0aGUgbGlzdCBvZiBh
dHRyaWJ1dGVzIGluIEhUTUwgNC4wMSB3aXRoIHZhbHVlcyBtYXJrZWQgYXMgIltDSV0iIG9yIGNh
c2UtaW5zZW5zaXRpdmUKICAgICAgICAgLy8gTW96aWxsYSB0cmVhdHMgYWxsIG90aGVyIHZhbHVl
cyBhcyBjYXNlLXNlbnNpdGl2ZSwgdGh1cyBzbyBkbyB3ZS4KICAgICAgICAgc3RhdGljIGNvbnN0
IFF1YWxpZmllZE5hbWUqIGNvbnN0IG5hbWVzW10gPSB7Ci0gICAgICAgICAgICAmYWNjZXB0X2No
YXJzZXRBdHRyLAotICAgICAgICAgICAgJmFjY2VwdEF0dHIsCi0gICAgICAgICAgICAmYWxpZ25B
dHRyLAotICAgICAgICAgICAgJmFsaW5rQXR0ciwKLSAgICAgICAgICAgICZheGlzQXR0ciwKLSAg
ICAgICAgICAgICZiZ2NvbG9yQXR0ciwKLSAgICAgICAgICAgICZjaGFyc2V0QXR0ciwKLSAgICAg
ICAgICAgICZjaGVja2VkQXR0ciwKLSAgICAgICAgICAgICZjbGVhckF0dHIsCi0gICAgICAgICAg
ICAmY29kZXR5cGVBdHRyLAotICAgICAgICAgICAgJmNvbG9yQXR0ciwKLSAgICAgICAgICAgICZj
b21wYWN0QXR0ciwKLSAgICAgICAgICAgICZkZWNsYXJlQXR0ciwKLSAgICAgICAgICAgICZkZWZl
ckF0dHIsCi0gICAgICAgICAgICAmZGlyQXR0ciwKLSAgICAgICAgICAgICZkaXNhYmxlZEF0dHIs
Ci0gICAgICAgICAgICAmZW5jdHlwZUF0dHIsCi0gICAgICAgICAgICAmZmFjZUF0dHIsCi0gICAg
ICAgICAgICAmZnJhbWVBdHRyLAotICAgICAgICAgICAgJmhyZWZsYW5nQXR0ciwKLSAgICAgICAg
ICAgICZodHRwX2VxdWl2QXR0ciwKLSAgICAgICAgICAgICZsYW5nQXR0ciwKLSAgICAgICAgICAg
ICZsYW5ndWFnZUF0dHIsCi0gICAgICAgICAgICAmbGlua0F0dHIsCi0gICAgICAgICAgICAmbWVk
aWFBdHRyLAotICAgICAgICAgICAgJm1ldGhvZEF0dHIsCi0gICAgICAgICAgICAmbXVsdGlwbGVB
dHRyLAotICAgICAgICAgICAgJm5vaHJlZkF0dHIsCi0gICAgICAgICAgICAmbm9yZXNpemVBdHRy
LAotICAgICAgICAgICAgJm5vc2hhZGVBdHRyLAotICAgICAgICAgICAgJm5vd3JhcEF0dHIsCi0g
ICAgICAgICAgICAmcmVhZG9ubHlBdHRyLAotICAgICAgICAgICAgJnJlbEF0dHIsCi0gICAgICAg
ICAgICAmcmV2QXR0ciwKLSAgICAgICAgICAgICZydWxlc0F0dHIsCi0gICAgICAgICAgICAmc2Nv
cGVBdHRyLAotICAgICAgICAgICAgJnNjcm9sbGluZ0F0dHIsCi0gICAgICAgICAgICAmc2VsZWN0
ZWRBdHRyLAotICAgICAgICAgICAgJnNoYXBlQXR0ciwKLSAgICAgICAgICAgICZ0YXJnZXRBdHRy
LAotICAgICAgICAgICAgJnRleHRBdHRyLAotICAgICAgICAgICAgJnR5cGVBdHRyLAotICAgICAg
ICAgICAgJnZhbGlnbkF0dHIsCi0gICAgICAgICAgICAmdmFsdWV0eXBlQXR0ciwKLSAgICAgICAg
ICAgICZ2bGlua0F0dHIsCisgICAgICAgICAgICAmYWNjZXB0X2NoYXJzZXRBdHRyLmdldCgpLAor
ICAgICAgICAgICAgJmFjY2VwdEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmYWxpZ25BdHRyLmdl
dCgpLAorICAgICAgICAgICAgJmFsaW5rQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZheGlzQXR0
ci5nZXQoKSwKKyAgICAgICAgICAgICZiZ2NvbG9yQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZj
aGFyc2V0QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZjaGVja2VkQXR0ci5nZXQoKSwKKyAgICAg
ICAgICAgICZjbGVhckF0dHIuZ2V0KCksCisgICAgICAgICAgICAmY29kZXR5cGVBdHRyLmdldCgp
LAorICAgICAgICAgICAgJmNvbG9yQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZjb21wYWN0QXR0
ci5nZXQoKSwKKyAgICAgICAgICAgICZkZWNsYXJlQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZk
ZWZlckF0dHIuZ2V0KCksCisgICAgICAgICAgICAmZGlyQXR0ci5nZXQoKSwKKyAgICAgICAgICAg
ICZkaXNhYmxlZEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmZW5jdHlwZUF0dHIuZ2V0KCksCisg
ICAgICAgICAgICAmZmFjZUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmZnJhbWVBdHRyLmdldCgp
LAorICAgICAgICAgICAgJmhyZWZsYW5nQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZodHRwX2Vx
dWl2QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZsYW5nQXR0ci5nZXQoKSwKKyAgICAgICAgICAg
ICZsYW5ndWFnZUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmbGlua0F0dHIuZ2V0KCksCisgICAg
ICAgICAgICAmbWVkaWFBdHRyLmdldCgpLAorICAgICAgICAgICAgJm1ldGhvZEF0dHIuZ2V0KCks
CisgICAgICAgICAgICAmbXVsdGlwbGVBdHRyLmdldCgpLAorICAgICAgICAgICAgJm5vaHJlZkF0
dHIuZ2V0KCksCisgICAgICAgICAgICAmbm9yZXNpemVBdHRyLmdldCgpLAorICAgICAgICAgICAg
Jm5vc2hhZGVBdHRyLmdldCgpLAorICAgICAgICAgICAgJm5vd3JhcEF0dHIuZ2V0KCksCisgICAg
ICAgICAgICAmcmVhZG9ubHlBdHRyLmdldCgpLAorICAgICAgICAgICAgJnJlbEF0dHIuZ2V0KCks
CisgICAgICAgICAgICAmcmV2QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZydWxlc0F0dHIuZ2V0
KCksCisgICAgICAgICAgICAmc2NvcGVBdHRyLmdldCgpLAorICAgICAgICAgICAgJnNjcm9sbGlu
Z0F0dHIuZ2V0KCksCisgICAgICAgICAgICAmc2VsZWN0ZWRBdHRyLmdldCgpLAorICAgICAgICAg
ICAgJnNoYXBlQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZ0YXJnZXRBdHRyLmdldCgpLAorICAg
ICAgICAgICAgJnRleHRBdHRyLmdldCgpLAorICAgICAgICAgICAgJnR5cGVBdHRyLmdldCgpLAor
ICAgICAgICAgICAgJnZhbGlnbkF0dHIuZ2V0KCksCisgICAgICAgICAgICAmdmFsdWV0eXBlQXR0
ci5nZXQoKSwKKyAgICAgICAgICAgICZ2bGlua0F0dHIuZ2V0KCksCiAgICAgICAgIH07CiAgICAg
ICAgIEhhc2hTZXQ8QXRvbWljU3RyaW5nPiBzZXQ7CiAgICAgICAgIGZvciAoYXV0byogbmFtZSA6
IG5hbWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAppbmRleCBlYTU4MWM0OTA0Mzc2
YTAwNTRkOWY3NmQzYjc2MTgyMjQyZDUwN2Q3Li5hNGQ0MzFlZjFjMWEyYjUzZGI2YjAxMDgzNTIz
ZTFjYWNmOGE2YzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcApAQCAtMjIyLDEw
NyArMjIyLDEwNyBAQCBIVE1MRWxlbWVudDo6RXZlbnRIYW5kbGVyTmFtZU1hcCBIVE1MRWxlbWVu
dDo6Y3JlYXRlRXZlbnRIYW5kbGVyTmFtZU1hcCgpCiAgICAgRXZlbnRIYW5kbGVyTmFtZU1hcCBt
YXA7CiAKICAgICBzdGF0aWMgY29uc3QgUXVhbGlmaWVkTmFtZSogY29uc3QgdGFibGVbXSA9IHsK
LSAgICAgICAgJm9uYWJvcnRBdHRyLAotICAgICAgICAmb25hbmltYXRpb25lbmRBdHRyLAotICAg
ICAgICAmb25hbmltYXRpb25pdGVyYXRpb25BdHRyLAotICAgICAgICAmb25hbmltYXRpb25zdGFy
dEF0dHIsCi0gICAgICAgICZvbmF1dG9jb21wbGV0ZUF0dHIsCi0gICAgICAgICZvbmF1dG9jb21w
bGV0ZWVycm9yQXR0ciwKLSAgICAgICAgJm9uYmVmb3JlY29weUF0dHIsCi0gICAgICAgICZvbmJl
Zm9yZWN1dEF0dHIsCi0gICAgICAgICZvbmJlZm9yZWlucHV0QXR0ciwKLSAgICAgICAgJm9uYmVm
b3JlbG9hZEF0dHIsCi0gICAgICAgICZvbmJlZm9yZXBhc3RlQXR0ciwKLSAgICAgICAgJm9uYmx1
ckF0dHIsCi0gICAgICAgICZvbmNhbnBsYXlBdHRyLAotICAgICAgICAmb25jYW5wbGF5dGhyb3Vn
aEF0dHIsCi0gICAgICAgICZvbmNoYW5nZUF0dHIsCi0gICAgICAgICZvbmNsaWNrQXR0ciwKLSAg
ICAgICAgJm9uY29udGV4dG1lbnVBdHRyLAotICAgICAgICAmb25jb3B5QXR0ciwKLSAgICAgICAg
Jm9uY3V0QXR0ciwKLSAgICAgICAgJm9uZGJsY2xpY2tBdHRyLAotICAgICAgICAmb25kcmFnQXR0
ciwKLSAgICAgICAgJm9uZHJhZ2VuZEF0dHIsCi0gICAgICAgICZvbmRyYWdlbnRlckF0dHIsCi0g
ICAgICAgICZvbmRyYWdsZWF2ZUF0dHIsCi0gICAgICAgICZvbmRyYWdvdmVyQXR0ciwKLSAgICAg
ICAgJm9uZHJhZ3N0YXJ0QXR0ciwKLSAgICAgICAgJm9uZHJvcEF0dHIsCi0gICAgICAgICZvbmR1
cmF0aW9uY2hhbmdlQXR0ciwKLSAgICAgICAgJm9uZW1wdGllZEF0dHIsCi0gICAgICAgICZvbmVu
ZGVkQXR0ciwKLSAgICAgICAgJm9uZXJyb3JBdHRyLAotICAgICAgICAmb25mb2N1c0F0dHIsCi0g
ICAgICAgICZvbmZvY3VzaW5BdHRyLAotICAgICAgICAmb25mb2N1c291dEF0dHIsCi0gICAgICAg
ICZvbmdlc3R1cmVjaGFuZ2VBdHRyLAotICAgICAgICAmb25nZXN0dXJlZW5kQXR0ciwKLSAgICAg
ICAgJm9uZ2VzdHVyZXN0YXJ0QXR0ciwKLSAgICAgICAgJm9uaW5wdXRBdHRyLAotICAgICAgICAm
b25pbnZhbGlkQXR0ciwKLSAgICAgICAgJm9ua2V5ZG93bkF0dHIsCi0gICAgICAgICZvbmtleXBy
ZXNzQXR0ciwKLSAgICAgICAgJm9ua2V5dXBBdHRyLAotICAgICAgICAmb25sb2FkQXR0ciwKLSAg
ICAgICAgJm9ubG9hZGVkZGF0YUF0dHIsCi0gICAgICAgICZvbmxvYWRlZG1ldGFkYXRhQXR0ciwK
LSAgICAgICAgJm9ubG9hZHN0YXJ0QXR0ciwKLSAgICAgICAgJm9ubW91c2Vkb3duQXR0ciwKLSAg
ICAgICAgJm9ubW91c2VlbnRlckF0dHIsCi0gICAgICAgICZvbm1vdXNlbGVhdmVBdHRyLAotICAg
ICAgICAmb25tb3VzZW1vdmVBdHRyLAotICAgICAgICAmb25tb3VzZW91dEF0dHIsCi0gICAgICAg
ICZvbm1vdXNlb3ZlckF0dHIsCi0gICAgICAgICZvbm1vdXNldXBBdHRyLAotICAgICAgICAmb25t
b3VzZXdoZWVsQXR0ciwKLSAgICAgICAgJm9ucGFzdGVBdHRyLAotICAgICAgICAmb25wYXVzZUF0
dHIsCi0gICAgICAgICZvbnBsYXlBdHRyLAotICAgICAgICAmb25wbGF5aW5nQXR0ciwKLSAgICAg
ICAgJm9ucHJvZ3Jlc3NBdHRyLAotICAgICAgICAmb25yYXRlY2hhbmdlQXR0ciwKLSAgICAgICAg
Jm9ucmVzZXRBdHRyLAotICAgICAgICAmb25yZXNpemVBdHRyLAotICAgICAgICAmb25zY3JvbGxB
dHRyLAotICAgICAgICAmb25zZWFyY2hBdHRyLAotICAgICAgICAmb25zZWVrZWRBdHRyLAotICAg
ICAgICAmb25zZWVraW5nQXR0ciwKLSAgICAgICAgJm9uc2VsZWN0QXR0ciwKLSAgICAgICAgJm9u
c2VsZWN0c3RhcnRBdHRyLAotICAgICAgICAmb25zdGFsbGVkQXR0ciwKLSAgICAgICAgJm9uc3Vi
bWl0QXR0ciwKLSAgICAgICAgJm9uc3VzcGVuZEF0dHIsCi0gICAgICAgICZvbnRpbWV1cGRhdGVB
dHRyLAotICAgICAgICAmb250b2dnbGVBdHRyLAotICAgICAgICAmb250b3VjaGNhbmNlbEF0dHIs
Ci0gICAgICAgICZvbnRvdWNoZW5kQXR0ciwKLSAgICAgICAgJm9udG91Y2hmb3JjZWNoYW5nZUF0
dHIsCi0gICAgICAgICZvbnRvdWNobW92ZUF0dHIsCi0gICAgICAgICZvbnRvdWNoc3RhcnRBdHRy
LAotICAgICAgICAmb250cmFuc2l0aW9uZW5kQXR0ciwKLSAgICAgICAgJm9udm9sdW1lY2hhbmdl
QXR0ciwKLSAgICAgICAgJm9ud2FpdGluZ0F0dHIsCi0gICAgICAgICZvbndlYmtpdGJlZ2luZnVs
bHNjcmVlbkF0dHIsCi0gICAgICAgICZvbndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2ly
ZWxlc3NjaGFuZ2VkQXR0ciwKLSAgICAgICAgJm9ud2Via2l0ZW5kZnVsbHNjcmVlbkF0dHIsCi0g
ICAgICAgICZvbndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2VBdHRyLAotICAgICAgICAmb253ZWJraXRm
dWxsc2NyZWVuZXJyb3JBdHRyLAotICAgICAgICAmb253ZWJraXRrZXlhZGRlZEF0dHIsCi0gICAg
ICAgICZvbndlYmtpdGtleWVycm9yQXR0ciwKLSAgICAgICAgJm9ud2Via2l0a2V5bWVzc2FnZUF0
dHIsCi0gICAgICAgICZvbndlYmtpdG1vdXNlZm9yY2VjaGFuZ2VkQXR0ciwKLSAgICAgICAgJm9u
d2Via2l0bW91c2Vmb3JjZWRvd25BdHRyLAotICAgICAgICAmb253ZWJraXRtb3VzZWZvcmNld2ls
bGJlZ2luQXR0ciwKLSAgICAgICAgJm9ud2Via2l0bW91c2Vmb3JjZXVwQXR0ciwKLSAgICAgICAg
Jm9ud2Via2l0bmVlZGtleUF0dHIsCi0gICAgICAgICZvbndlYmtpdHBsYXliYWNrdGFyZ2V0YXZh
aWxhYmlsaXR5Y2hhbmdlZEF0dHIsCi0gICAgICAgICZvbndlYmtpdHByZXNlbnRhdGlvbm1vZGVj
aGFuZ2VkQXR0ciwKLSAgICAgICAgJm9ud2Via2l0d2lsbHJldmVhbGJvdHRvbUF0dHIsCi0gICAg
ICAgICZvbndlYmtpdHdpbGxyZXZlYWxsZWZ0QXR0ciwKLSAgICAgICAgJm9ud2Via2l0d2lsbHJl
dmVhbHJpZ2h0QXR0ciwKLSAgICAgICAgJm9ud2Via2l0d2lsbHJldmVhbHRvcEF0dHIsCi0gICAg
ICAgICZvbndoZWVsQXR0ciwKKyAgICAgICAgJm9uYWJvcnRBdHRyLmdldCgpLAorICAgICAgICAm
b25hbmltYXRpb25lbmRBdHRyLmdldCgpLAorICAgICAgICAmb25hbmltYXRpb25pdGVyYXRpb25B
dHRyLmdldCgpLAorICAgICAgICAmb25hbmltYXRpb25zdGFydEF0dHIuZ2V0KCksCisgICAgICAg
ICZvbmF1dG9jb21wbGV0ZUF0dHIuZ2V0KCksCisgICAgICAgICZvbmF1dG9jb21wbGV0ZWVycm9y
QXR0ci5nZXQoKSwKKyAgICAgICAgJm9uYmVmb3JlY29weUF0dHIuZ2V0KCksCisgICAgICAgICZv
bmJlZm9yZWN1dEF0dHIuZ2V0KCksCisgICAgICAgICZvbmJlZm9yZWlucHV0QXR0ci5nZXQoKSwK
KyAgICAgICAgJm9uYmVmb3JlbG9hZEF0dHIuZ2V0KCksCisgICAgICAgICZvbmJlZm9yZXBhc3Rl
QXR0ci5nZXQoKSwKKyAgICAgICAgJm9uYmx1ckF0dHIuZ2V0KCksCisgICAgICAgICZvbmNhbnBs
YXlBdHRyLmdldCgpLAorICAgICAgICAmb25jYW5wbGF5dGhyb3VnaEF0dHIuZ2V0KCksCisgICAg
ICAgICZvbmNoYW5nZUF0dHIuZ2V0KCksCisgICAgICAgICZvbmNsaWNrQXR0ci5nZXQoKSwKKyAg
ICAgICAgJm9uY29udGV4dG1lbnVBdHRyLmdldCgpLAorICAgICAgICAmb25jb3B5QXR0ci5nZXQo
KSwKKyAgICAgICAgJm9uY3V0QXR0ci5nZXQoKSwKKyAgICAgICAgJm9uZGJsY2xpY2tBdHRyLmdl
dCgpLAorICAgICAgICAmb25kcmFnQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uZHJhZ2VuZEF0dHIu
Z2V0KCksCisgICAgICAgICZvbmRyYWdlbnRlckF0dHIuZ2V0KCksCisgICAgICAgICZvbmRyYWds
ZWF2ZUF0dHIuZ2V0KCksCisgICAgICAgICZvbmRyYWdvdmVyQXR0ci5nZXQoKSwKKyAgICAgICAg
Jm9uZHJhZ3N0YXJ0QXR0ci5nZXQoKSwKKyAgICAgICAgJm9uZHJvcEF0dHIuZ2V0KCksCisgICAg
ICAgICZvbmR1cmF0aW9uY2hhbmdlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uZW1wdGllZEF0dHIu
Z2V0KCksCisgICAgICAgICZvbmVuZGVkQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uZXJyb3JBdHRy
LmdldCgpLAorICAgICAgICAmb25mb2N1c0F0dHIuZ2V0KCksCisgICAgICAgICZvbmZvY3VzaW5B
dHRyLmdldCgpLAorICAgICAgICAmb25mb2N1c291dEF0dHIuZ2V0KCksCisgICAgICAgICZvbmdl
c3R1cmVjaGFuZ2VBdHRyLmdldCgpLAorICAgICAgICAmb25nZXN0dXJlZW5kQXR0ci5nZXQoKSwK
KyAgICAgICAgJm9uZ2VzdHVyZXN0YXJ0QXR0ci5nZXQoKSwKKyAgICAgICAgJm9uaW5wdXRBdHRy
LmdldCgpLAorICAgICAgICAmb25pbnZhbGlkQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ua2V5ZG93
bkF0dHIuZ2V0KCksCisgICAgICAgICZvbmtleXByZXNzQXR0ci5nZXQoKSwKKyAgICAgICAgJm9u
a2V5dXBBdHRyLmdldCgpLAorICAgICAgICAmb25sb2FkQXR0ci5nZXQoKSwKKyAgICAgICAgJm9u
bG9hZGVkZGF0YUF0dHIuZ2V0KCksCisgICAgICAgICZvbmxvYWRlZG1ldGFkYXRhQXR0ci5nZXQo
KSwKKyAgICAgICAgJm9ubG9hZHN0YXJ0QXR0ci5nZXQoKSwKKyAgICAgICAgJm9ubW91c2Vkb3du
QXR0ci5nZXQoKSwKKyAgICAgICAgJm9ubW91c2VlbnRlckF0dHIuZ2V0KCksCisgICAgICAgICZv
bm1vdXNlbGVhdmVBdHRyLmdldCgpLAorICAgICAgICAmb25tb3VzZW1vdmVBdHRyLmdldCgpLAor
ICAgICAgICAmb25tb3VzZW91dEF0dHIuZ2V0KCksCisgICAgICAgICZvbm1vdXNlb3ZlckF0dHIu
Z2V0KCksCisgICAgICAgICZvbm1vdXNldXBBdHRyLmdldCgpLAorICAgICAgICAmb25tb3VzZXdo
ZWVsQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ucGFzdGVBdHRyLmdldCgpLAorICAgICAgICAmb25w
YXVzZUF0dHIuZ2V0KCksCisgICAgICAgICZvbnBsYXlBdHRyLmdldCgpLAorICAgICAgICAmb25w
bGF5aW5nQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ucHJvZ3Jlc3NBdHRyLmdldCgpLAorICAgICAg
ICAmb25yYXRlY2hhbmdlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ucmVzZXRBdHRyLmdldCgpLAor
ICAgICAgICAmb25yZXNpemVBdHRyLmdldCgpLAorICAgICAgICAmb25zY3JvbGxBdHRyLmdldCgp
LAorICAgICAgICAmb25zZWFyY2hBdHRyLmdldCgpLAorICAgICAgICAmb25zZWVrZWRBdHRyLmdl
dCgpLAorICAgICAgICAmb25zZWVraW5nQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uc2VsZWN0QXR0
ci5nZXQoKSwKKyAgICAgICAgJm9uc2VsZWN0c3RhcnRBdHRyLmdldCgpLAorICAgICAgICAmb25z
dGFsbGVkQXR0ci5nZXQoKSwKKyAgICAgICAgJm9uc3VibWl0QXR0ci5nZXQoKSwKKyAgICAgICAg
Jm9uc3VzcGVuZEF0dHIuZ2V0KCksCisgICAgICAgICZvbnRpbWV1cGRhdGVBdHRyLmdldCgpLAor
ICAgICAgICAmb250b2dnbGVBdHRyLmdldCgpLAorICAgICAgICAmb250b3VjaGNhbmNlbEF0dHIu
Z2V0KCksCisgICAgICAgICZvbnRvdWNoZW5kQXR0ci5nZXQoKSwKKyAgICAgICAgJm9udG91Y2hm
b3JjZWNoYW5nZUF0dHIuZ2V0KCksCisgICAgICAgICZvbnRvdWNobW92ZUF0dHIuZ2V0KCksCisg
ICAgICAgICZvbnRvdWNoc3RhcnRBdHRyLmdldCgpLAorICAgICAgICAmb250cmFuc2l0aW9uZW5k
QXR0ci5nZXQoKSwKKyAgICAgICAgJm9udm9sdW1lY2hhbmdlQXR0ci5nZXQoKSwKKyAgICAgICAg
Jm9ud2FpdGluZ0F0dHIuZ2V0KCksCisgICAgICAgICZvbndlYmtpdGJlZ2luZnVsbHNjcmVlbkF0
dHIuZ2V0KCksCisgICAgICAgICZvbndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxl
c3NjaGFuZ2VkQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0ZW5kZnVsbHNjcmVlbkF0dHIu
Z2V0KCksCisgICAgICAgICZvbndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2VBdHRyLmdldCgpLAorICAg
ICAgICAmb253ZWJraXRmdWxsc2NyZWVuZXJyb3JBdHRyLmdldCgpLAorICAgICAgICAmb253ZWJr
aXRrZXlhZGRlZEF0dHIuZ2V0KCksCisgICAgICAgICZvbndlYmtpdGtleWVycm9yQXR0ci5nZXQo
KSwKKyAgICAgICAgJm9ud2Via2l0a2V5bWVzc2FnZUF0dHIuZ2V0KCksCisgICAgICAgICZvbndl
YmtpdG1vdXNlZm9yY2VjaGFuZ2VkQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0bW91c2Vm
b3JjZWRvd25BdHRyLmdldCgpLAorICAgICAgICAmb253ZWJraXRtb3VzZWZvcmNld2lsbGJlZ2lu
QXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0bW91c2Vmb3JjZXVwQXR0ci5nZXQoKSwKKyAg
ICAgICAgJm9ud2Via2l0bmVlZGtleUF0dHIuZ2V0KCksCisgICAgICAgICZvbndlYmtpdHBsYXli
YWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdlZEF0dHIuZ2V0KCksCisgICAgICAgICZvbndlYmtp
dHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkQXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0d2ls
bHJldmVhbGJvdHRvbUF0dHIuZ2V0KCksCisgICAgICAgICZvbndlYmtpdHdpbGxyZXZlYWxsZWZ0
QXR0ci5nZXQoKSwKKyAgICAgICAgJm9ud2Via2l0d2lsbHJldmVhbHJpZ2h0QXR0ci5nZXQoKSwK
KyAgICAgICAgJm9ud2Via2l0d2lsbHJldmVhbHRvcEF0dHIuZ2V0KCksCisgICAgICAgICZvbndo
ZWVsQXR0ci5nZXQoKSwKICAgICB9OwogCiAgICAgcG9wdWxhdGVFdmVudEhhbmRsZXJOYW1lTWFw
KG1hcCwgdGFibGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TENvbnN0cnVjdGlvblNpdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENv
bnN0cnVjdGlvblNpdGUuY3BwCmluZGV4IGM4MWE5YWYwZTI5NThkMjQzMmMzNmYzNzVlNzMzZTcx
MWRhMzUzNjMuLmNhNjJjNjBhN2FmM2M0MmQ4MmFkZjBkY2FjMGUzMzA4OTMwZGU1YWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5j
cHAKQEAgLTc1OSwxMyArNzU5LDEzIEBAIHZvaWQgSFRNTENvbnN0cnVjdGlvblNpdGU6OmdlbmVy
YXRlSW1wbGllZEVuZFRhZ3MoKQogdm9pZCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6ZmluZEZvc3Rl
clNpdGUoSFRNTENvbnN0cnVjdGlvblNpdGVUYXNrJiB0YXNrKQogewogICAgIC8vIFdoZW4gYSBu
b2RlIGlzIHRvIGJlIGZvc3RlciBwYXJlbnRlZCwgdGhlIGxhc3QgdGVtcGxhdGUgZWxlbWVudCB3
aXRoIG5vIHRhYmxlIGVsZW1lbnQgaXMgYmVsb3cgaXQgaW4gdGhlIHN0YWNrIG9mIG9wZW4gZWxl
bWVudHMgaXMgdGhlIGZvc3RlciBwYXJlbnQgZWxlbWVudCAoTk9UIHRoZSB0ZW1wbGF0ZSdzIHBh
cmVudCEpCi0gICAgYXV0byogbGFzdFRlbXBsYXRlRWxlbWVudCA9IG1fb3BlbkVsZW1lbnRzLnRv
cG1vc3QodGVtcGxhdGVUYWcubG9jYWxOYW1lKCkpOworICAgIGF1dG8qIGxhc3RUZW1wbGF0ZUVs
ZW1lbnQgPSBtX29wZW5FbGVtZW50cy50b3Btb3N0KHRlbXBsYXRlVGFnLT5sb2NhbE5hbWUoKSk7
CiAgICAgaWYgKGxhc3RUZW1wbGF0ZUVsZW1lbnQgJiYgIW1fb3BlbkVsZW1lbnRzLmluVGFibGVT
Y29wZSh0YWJsZVRhZykpIHsKICAgICAgICAgdGFzay5wYXJlbnQgPSAmbGFzdFRlbXBsYXRlRWxl
bWVudC0+ZWxlbWVudCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKGF1dG8q
IGxhc3RUYWJsZUVsZW1lbnRSZWNvcmQgPSBtX29wZW5FbGVtZW50cy50b3Btb3N0KHRhYmxlVGFn
LmxvY2FsTmFtZSgpKSkgeworICAgIGlmIChhdXRvKiBsYXN0VGFibGVFbGVtZW50UmVjb3JkID0g
bV9vcGVuRWxlbWVudHMudG9wbW9zdCh0YWJsZVRhZy0+bG9jYWxOYW1lKCkpKSB7CiAgICAgICAg
IGF1dG8mIGxhc3RUYWJsZUVsZW1lbnQgPSBsYXN0VGFibGVFbGVtZW50UmVjb3JkLT5lbGVtZW50
KCk7CiAgICAgICAgIGF1dG8qIHBhcmVudCA9IGxhc3RUYWJsZUVsZW1lbnQucGFyZW50Tm9kZSgp
OwogICAgICAgICAvLyBXaGVuIHBhcnNpbmcgSFRNTCBmcmFnbWVudHMsIHdlIHNraXAgc3RlcCA0
LjIgKCJMZXQgcm9vdCBiZSBhIG5ldyBodG1sIGVsZW1lbnQgd2l0aCBubyBhdHRyaWJ1dGVzIikg
Zm9yIGVmZmljaWVuY3ksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MRWxlbWVudFN0YWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVt
ZW50U3RhY2suY3BwCmluZGV4IDA5OTU3ZDIyNjk5OGZiN2I2YmYxYzJmMDkwZGJiNDIzNTE2MTEx
ODQuLjllYTYzYmM1NTI5ODhjYWUxY2RjOGZlYWE4MjY3MDNiMDdjYzM3MjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suY3BwCkBAIC01MDIsNyAr
NTAyLDcgQEAgYm9vbCBIVE1MRWxlbWVudFN0YWNrOjppblNlbGVjdFNjb3BlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUpIGNvbnN0CiAKIGJvb2wgSFRNTEVsZW1lbnRTdGFjazo6aGFzVGVt
cGxhdGVJbkhUTUxTY29wZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGluU2NvcGVDb21tb248aXNS
b290Tm9kZT4obV90b3AuZ2V0KCksIHRlbXBsYXRlVGFnLmxvY2FsTmFtZSgpKTsKKyAgICByZXR1
cm4gaW5TY29wZUNvbW1vbjxpc1Jvb3ROb2RlPihtX3RvcC5nZXQoKSwgdGVtcGxhdGVUYWctPmxv
Y2FsTmFtZSgpKTsKIH0KIAogRWxlbWVudCYgSFRNTEVsZW1lbnRTdGFjazo6aHRtbEVsZW1lbnQo
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxv
YWRTY2FubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5jcHAKaW5kZXggMDhkMjhjZGQ0MjE3NzNhZDE3NmQzZjBlNzU0MDdhNmU2ZjAwMzQ4NC4u
YzNiYTllY2ZhNGFlOTdlOTUxMDJiNDg2NGJmYjg5NDQ0MTFmNmUxMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCkBAIC00MjcsNyAr
NDI3LDcgQEAgdm9pZCBUb2tlblByZWxvYWRTY2FubmVyOjpzY2FuKGNvbnN0IEhUTUxUb2tlbiYg
dG9rZW4sIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8UHIKIHZvaWQgVG9rZW5QcmVsb2FkU2Nhbm5l
cjo6dXBkYXRlUHJlZGljdGVkQmFzZVVSTChjb25zdCBIVE1MVG9rZW4mIHRva2VuKQogewogICAg
IEFTU0VSVChtX3ByZWRpY3RlZEJhc2VFbGVtZW50VVJMLmlzRW1wdHkoKSk7Ci0gICAgaWYgKGF1
dG8qIGhyZWZBdHRyaWJ1dGUgPSBmaW5kQXR0cmlidXRlKHRva2VuLmF0dHJpYnV0ZXMoKSwgaHJl
ZkF0dHIubG9jYWxOYW1lKCkuc3RyaW5nKCkpKQorICAgIGlmIChhdXRvKiBocmVmQXR0cmlidXRl
ID0gZmluZEF0dHJpYnV0ZSh0b2tlbi5hdHRyaWJ1dGVzKCksIGhyZWZBdHRyLT5sb2NhbE5hbWUo
KS5zdHJpbmcoKSkpCiAgICAgICAgIG1fcHJlZGljdGVkQmFzZUVsZW1lbnRVUkwgPSBVUkwobV9k
b2N1bWVudFVSTCwgc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKFN0cmluZ0ltcGw6
OmNyZWF0ZThCaXRJZlBvc3NpYmxlKGhyZWZBdHRyaWJ1dGUtPnZhbHVlKSkpLmlzb2xhdGVkQ29w
eSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJl
ZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVy
LmNwcAppbmRleCAxNWIyZTQxN2ZmNGFiYjc4NTRjZDVkY2M5MDFjNmI0YTE2MTJiNzIxLi5iMTBh
NGM0OTAyNTgxNTRkZTU5NTk3NmQxODAyNWUyMTlhNGM0ZTRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAgLTQ0MCw5ICs0NDAsOSBAQCB2
b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0Zha2VDaGFyYWN0ZXJzKGNvbnN0IFN0cmluZyYg
Y2hhcmFjdGVycykKIAogdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NGYWtlUEVuZFRhZ0lm
UEluQnV0dG9uU2NvcGUoKQogewotICAgIGlmICghbV90cmVlLm9wZW5FbGVtZW50cygpLmluQnV0
dG9uU2NvcGUocFRhZy5sb2NhbE5hbWUoKSkpCisgICAgaWYgKCFtX3RyZWUub3BlbkVsZW1lbnRz
KCkuaW5CdXR0b25TY29wZShwVGFnLT5sb2NhbE5hbWUoKSkpCiAgICAgICAgIHJldHVybjsKLSAg
ICBBdG9taWNIVE1MVG9rZW4gZW5kUChIVE1MVG9rZW46OkVuZFRhZywgcFRhZy5sb2NhbE5hbWUo
KSk7CisgICAgQXRvbWljSFRNTFRva2VuIGVuZFAoSFRNTFRva2VuOjpFbmRUYWcsIHBUYWctPmxv
Y2FsTmFtZSgpKTsKICAgICBwcm9jZXNzRW5kVGFnKFdURk1vdmUoZW5kUCkpOwogfQogCkBAIC02
ODMsNyArNjgzLDcgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZ0Zvcklu
Qm9keShBdG9taWNIVE1MVG9rZW4mJiB0b2tlbikKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAg
ICBpZiAodG9rZW4ubmFtZSgpID09IGFUYWcpIHsKLSAgICAgICAgUmVmUHRyPEVsZW1lbnQ+IGFj
dGl2ZUFUYWcgPSBtX3RyZWUuYWN0aXZlRm9ybWF0dGluZ0VsZW1lbnRzKCkuY2xvc2VzdEVsZW1l
bnRJblNjb3BlV2l0aE5hbWUoYVRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgIFJlZlB0cjxFbGVt
ZW50PiBhY3RpdmVBVGFnID0gbV90cmVlLmFjdGl2ZUZvcm1hdHRpbmdFbGVtZW50cygpLmNsb3Nl
c3RFbGVtZW50SW5TY29wZVdpdGhOYW1lKGFUYWctPmxvY2FsTmFtZSgpKTsKICAgICAgICAgaWYg
KGFjdGl2ZUFUYWcpIHsKICAgICAgICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwogICAgICAgICAg
ICAgcHJvY2Vzc0Zha2VFbmRUYWcoYVRhZyk7CkBAIC03MzIsNyArNzMyLDcgQEAgdm9pZCBIVE1M
VHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZ0ZvckluQm9keShBdG9taWNIVE1MVG9rZW4mJiB0
b2tlbikKICAgICBpZiAodG9rZW4ubmFtZSgpID09IGltYWdlVGFnKSB7CiAgICAgICAgIHBhcnNl
RXJyb3IodG9rZW4pOwogICAgICAgICAvLyBBcHBhcmVudGx5IHdlJ3JlIG5vdCBzdXBwb3NlZCB0
byBhc2suCi0gICAgICAgIHRva2VuLnNldE5hbWUoaW1nVGFnLmxvY2FsTmFtZSgpKTsKKyAgICAg
ICAgdG9rZW4uc2V0TmFtZShpbWdUYWctPmxvY2FsTmFtZSgpKTsKICAgICAgICAgLy8gTm90ZSB0
aGUgZmFsbCB0aHJvdWdoIHRvIHRoZSBpbWdUYWcgaGFuZGxpbmcgYmVsb3chCiAgICAgfQogICAg
IGlmICh0b2tlbi5uYW1lKCkgPT0gYXJlYVRhZwpAQCAtODExLDcgKzgxMSw3IEBAIHZvaWQgSFRN
TFRyZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRUYWdGb3JJbkJvZHkoQXRvbWljSFRNTFRva2VuJiYg
dG9rZW4pCiAgICAgfQogICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gb3B0Z3JvdXBUYWcgfHwgdG9r
ZW4ubmFtZSgpID09IG9wdGlvblRhZykgewogICAgICAgICBpZiAoaXM8SFRNTE9wdGlvbkVsZW1l
bnQ+KG1fdHJlZS5jdXJyZW50U3RhY2tJdGVtKCkubm9kZSgpKSkgewotICAgICAgICAgICAgQXRv
bWljSFRNTFRva2VuIGVuZE9wdGlvbihIVE1MVG9rZW46OkVuZFRhZywgb3B0aW9uVGFnLmxvY2Fs
TmFtZSgpKTsKKyAgICAgICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRPcHRpb24oSFRNTFRva2Vu
OjpFbmRUYWcsIG9wdGlvblRhZy0+bG9jYWxOYW1lKCkpOwogICAgICAgICAgICAgcHJvY2Vzc0Vu
ZFRhZyhXVEZNb3ZlKGVuZE9wdGlvbikpOwogICAgICAgICB9CiAgICAgICAgIG1fdHJlZS5yZWNv
bnN0cnVjdFRoZUFjdGl2ZUZvcm1hdHRpbmdFbGVtZW50cygpOwpAQCAtODE5LDcgKzgxOSw3IEBA
IHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRUYWdGb3JJbkJvZHkoQXRvbWljSFRN
TFRva2VuJiYgdG9rZW4pCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKHRva2VuLm5h
bWUoKSA9PSByYlRhZyB8fCB0b2tlbi5uYW1lKCkgPT0gcnRjVGFnKSB7Ci0gICAgICAgIGlmICht
X3RyZWUub3BlbkVsZW1lbnRzKCkuaW5TY29wZShydWJ5VGFnLmxvY2FsTmFtZSgpKSkgeworICAg
ICAgICBpZiAobV90cmVlLm9wZW5FbGVtZW50cygpLmluU2NvcGUocnVieVRhZy0+bG9jYWxOYW1l
KCkpKSB7CiAgICAgICAgICAgICBtX3RyZWUuZ2VuZXJhdGVJbXBsaWVkRW5kVGFncygpOwogICAg
ICAgICAgICAgaWYgKCFtX3RyZWUuY3VycmVudFN0YWNrSXRlbSgpLmhhc1RhZ05hbWUocnVieVRh
ZykpCiAgICAgICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7CkBAIC04MjgsMjIgKzgyOCwy
MiBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1N0YXJ0VGFnRm9ySW5Cb2R5KEF0b21p
Y0hUTUxUb2tlbiYmIHRva2VuKQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmICh0b2tl
bi5uYW1lKCkgPT0gcnRUYWcgfHwgdG9rZW4ubmFtZSgpID09IHJwVGFnKSB7Ci0gICAgICAgIGlm
IChtX3RyZWUub3BlbkVsZW1lbnRzKCkuaW5TY29wZShydWJ5VGFnLmxvY2FsTmFtZSgpKSkgewot
ICAgICAgICAgICAgbV90cmVlLmdlbmVyYXRlSW1wbGllZEVuZFRhZ3NXaXRoRXhjbHVzaW9uKHJ0
Y1RhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgIGlmIChtX3RyZWUub3BlbkVsZW1lbnRzKCkuaW5T
Y29wZShydWJ5VGFnLT5sb2NhbE5hbWUoKSkpIHsKKyAgICAgICAgICAgIG1fdHJlZS5nZW5lcmF0
ZUltcGxpZWRFbmRUYWdzV2l0aEV4Y2x1c2lvbihydGNUYWctPmxvY2FsTmFtZSgpKTsKICAgICAg
ICAgICAgIGlmICghbV90cmVlLmN1cnJlbnRTdGFja0l0ZW0oKS5oYXNUYWdOYW1lKHJ1YnlUYWcp
ICYmICFtX3RyZWUuY3VycmVudFN0YWNrSXRlbSgpLmhhc1RhZ05hbWUocnRjVGFnKSkKICAgICAg
ICAgICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKICAgICAgICAgfQogICAgICAgICBtX3RyZWUu
aW5zZXJ0SFRNTEVsZW1lbnQoV1RGTW92ZSh0b2tlbikpOwogICAgICAgICByZXR1cm47CiAgICAg
fQotICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gTWF0aE1MTmFtZXM6Om1hdGhUYWcubG9jYWxOYW1l
KCkpIHsKKyAgICBpZiAodG9rZW4ubmFtZSgpID09IE1hdGhNTE5hbWVzOjptYXRoVGFnLT5sb2Nh
bE5hbWUoKSkgewogICAgICAgICBtX3RyZWUucmVjb25zdHJ1Y3RUaGVBY3RpdmVGb3JtYXR0aW5n
RWxlbWVudHMoKTsKICAgICAgICAgYWRqdXN0TWF0aE1MQXR0cmlidXRlcyh0b2tlbik7CiAgICAg
ICAgIGFkanVzdEZvcmVpZ25BdHRyaWJ1dGVzKHRva2VuKTsKICAgICAgICAgbV90cmVlLmluc2Vy
dEZvcmVpZ25FbGVtZW50KFdURk1vdmUodG9rZW4pLCBNYXRoTUxOYW1lczo6bWF0aG1sTmFtZXNw
YWNlVVJJKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBpZiAodG9rZW4ubmFtZSgpID09
IFNWR05hbWVzOjpzdmdUYWcubG9jYWxOYW1lKCkpIHsKKyAgICBpZiAodG9rZW4ubmFtZSgpID09
IFNWR05hbWVzOjpzdmdUYWctPmxvY2FsTmFtZSgpKSB7CiAgICAgICAgIG1fdHJlZS5yZWNvbnN0
cnVjdFRoZUFjdGl2ZUZvcm1hdHRpbmdFbGVtZW50cygpOwogICAgICAgICBhZGp1c3RTVkdBdHRy
aWJ1dGVzKHRva2VuKTsKICAgICAgICAgYWRqdXN0Rm9yZWlnbkF0dHJpYnV0ZXModG9rZW4pOwpA
QCAtODg4LDcgKzg4OCw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzVGVtcGxhdGVT
dGFydFRhZyhBdG9taWNIVE1MVG9rZW4mJiB0b2tlbikKIAogYm9vbCBIVE1MVHJlZUJ1aWxkZXI6
OnByb2Nlc3NUZW1wbGF0ZUVuZFRhZyhBdG9taWNIVE1MVG9rZW4mJiB0b2tlbikKIHsKLSAgICBB
U1NFUlQodG9rZW4ubmFtZSgpID09IHRlbXBsYXRlVGFnLmxvY2FsTmFtZSgpKTsKKyAgICBBU1NF
UlQodG9rZW4ubmFtZSgpID09IHRlbXBsYXRlVGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgaWYgKCFt
X3RyZWUub3BlbkVsZW1lbnRzKCkuaGFzVGVtcGxhdGVJbkhUTUxTY29wZSgpKSB7CiAgICAgICAg
IEFTU0VSVChtX3RlbXBsYXRlSW5zZXJ0aW9uTW9kZXMuaXNFbXB0eSgpIHx8IChtX3RlbXBsYXRl
SW5zZXJ0aW9uTW9kZXMuc2l6ZSgpID09IDEgJiYgbV9mcmFnbWVudENvbnRleHQuY29udGV4dEVs
ZW1lbnQoKS5oYXNUYWdOYW1lKHRlbXBsYXRlVGFnKSkpOwogICAgICAgICBwYXJzZUVycm9yKHRv
a2VuKTsKQEAgLTkwNiw3ICs5MDYsNyBAQCBib29sIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1Rl
bXBsYXRlRW5kVGFnKEF0b21pY0hUTUxUb2tlbiYmIHRva2VuKQogCiBib29sIEhUTUxUcmVlQnVp
bGRlcjo6cHJvY2Vzc0VuZE9mRmlsZUZvckluVGVtcGxhdGVDb250ZW50cyhBdG9taWNIVE1MVG9r
ZW4mJiB0b2tlbikKIHsKLSAgICBBdG9taWNIVE1MVG9rZW4gZW5kVGVtcGxhdGUoSFRNTFRva2Vu
OjpFbmRUYWcsIHRlbXBsYXRlVGFnLmxvY2FsTmFtZSgpKTsKKyAgICBBdG9taWNIVE1MVG9rZW4g
ZW5kVGVtcGxhdGUoSFRNTFRva2VuOjpFbmRUYWcsIHRlbXBsYXRlVGFnLT5sb2NhbE5hbWUoKSk7
CiAgICAgaWYgKCFwcm9jZXNzVGVtcGxhdGVFbmRUYWcoV1RGTW92ZShlbmRUZW1wbGF0ZSkpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTEyNjcsNyArMTI2Nyw3IEBAIHZvaWQgSFRNTFRy
ZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRUYWcoQXRvbWljSFRNTFRva2VuJiYgdG9rZW4pCiAgICAg
ICAgICAgICB8fCB0b2tlbi5uYW1lKCkgPT0gdHJUYWcKICAgICAgICAgICAgIHx8IGlzVGFibGVD
ZWxsQ29udGV4dFRhZyh0b2tlbi5uYW1lKCkpKSB7CiAgICAgICAgICAgICBwYXJzZUVycm9yKHRv
a2VuKTsKLSAgICAgICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRTZWxlY3QoSFRNTFRva2VuOjpF
bmRUYWcsIHNlbGVjdFRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgICAgICBBdG9taWNIVE1MVG9r
ZW4gZW5kU2VsZWN0KEhUTUxUb2tlbjo6RW5kVGFnLCBzZWxlY3RUYWctPmxvY2FsTmFtZSgpKTsK
ICAgICAgICAgICAgIHByb2Nlc3NFbmRUYWcoV1RGTW92ZShlbmRTZWxlY3QpKTsKICAgICAgICAg
ICAgIHByb2Nlc3NTdGFydFRhZyhXVEZNb3ZlKHRva2VuKSk7CiAgICAgICAgICAgICByZXR1cm47
CkBAIC0xMjgwLDcgKzEyODAsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1N0YXJ0
VGFnKEF0b21pY0hUTUxUb2tlbiYmIHRva2VuKQogICAgICAgICB9CiAgICAgICAgIGlmICh0b2tl
bi5uYW1lKCkgPT0gb3B0aW9uVGFnKSB7CiAgICAgICAgICAgICBpZiAoaXM8SFRNTE9wdGlvbkVs
ZW1lbnQ+KG1fdHJlZS5jdXJyZW50U3RhY2tJdGVtKCkubm9kZSgpKSkgewotICAgICAgICAgICAg
ICAgIEF0b21pY0hUTUxUb2tlbiBlbmRPcHRpb24oSFRNTFRva2VuOjpFbmRUYWcsIG9wdGlvblRh
Zy5sb2NhbE5hbWUoKSk7CisgICAgICAgICAgICAgICAgQXRvbWljSFRNTFRva2VuIGVuZE9wdGlv
bihIVE1MVG9rZW46OkVuZFRhZywgb3B0aW9uVGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgICAgICAg
ICAgICAgcHJvY2Vzc0VuZFRhZyhXVEZNb3ZlKGVuZE9wdGlvbikpOwogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgbV90cmVlLmluc2VydEhUTUxFbGVtZW50KFdURk1vdmUodG9rZW4pKTsKQEAg
LTEyODgsMTEgKzEyODgsMTEgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRh
ZyhBdG9taWNIVE1MVG9rZW4mJiB0b2tlbikKICAgICAgICAgfQogICAgICAgICBpZiAodG9rZW4u
bmFtZSgpID09IG9wdGdyb3VwVGFnKSB7CiAgICAgICAgICAgICBpZiAoaXM8SFRNTE9wdGlvbkVs
ZW1lbnQ+KG1fdHJlZS5jdXJyZW50U3RhY2tJdGVtKCkubm9kZSgpKSkgewotICAgICAgICAgICAg
ICAgIEF0b21pY0hUTUxUb2tlbiBlbmRPcHRpb24oSFRNTFRva2VuOjpFbmRUYWcsIG9wdGlvblRh
Zy5sb2NhbE5hbWUoKSk7CisgICAgICAgICAgICAgICAgQXRvbWljSFRNTFRva2VuIGVuZE9wdGlv
bihIVE1MVG9rZW46OkVuZFRhZywgb3B0aW9uVGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgICAgICAg
ICAgICAgcHJvY2Vzc0VuZFRhZyhXVEZNb3ZlKGVuZE9wdGlvbikpOwogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgaWYgKGlzPEhUTUxPcHRHcm91cEVsZW1lbnQ+KG1fdHJlZS5jdXJyZW50U3Rh
Y2tJdGVtKCkubm9kZSgpKSkgewotICAgICAgICAgICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRP
cHRncm91cChIVE1MVG9rZW46OkVuZFRhZywgb3B0Z3JvdXBUYWcubG9jYWxOYW1lKCkpOworICAg
ICAgICAgICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRPcHRncm91cChIVE1MVG9rZW46OkVuZFRh
Zywgb3B0Z3JvdXBUYWctPmxvY2FsTmFtZSgpKTsKICAgICAgICAgICAgICAgICBwcm9jZXNzRW5k
VGFnKFdURk1vdmUoZW5kT3B0Z3JvdXApKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIG1f
dHJlZS5pbnNlcnRIVE1MRWxlbWVudChXVEZNb3ZlKHRva2VuKSk7CkBAIC0xMzAwLDcgKzEzMDAs
NyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1N0YXJ0VGFnKEF0b21pY0hUTUxUb2tl
biYmIHRva2VuKQogICAgICAgICB9CiAgICAgICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gc2VsZWN0
VGFnKSB7CiAgICAgICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKLSAgICAgICAgICAgIEF0b21p
Y0hUTUxUb2tlbiBlbmRTZWxlY3QoSFRNTFRva2VuOjpFbmRUYWcsIHNlbGVjdFRhZy5sb2NhbE5h
bWUoKSk7CisgICAgICAgICAgICBBdG9taWNIVE1MVG9rZW4gZW5kU2VsZWN0KEhUTUxUb2tlbjo6
RW5kVGFnLCBzZWxlY3RUYWctPmxvY2FsTmFtZSgpKTsKICAgICAgICAgICAgIHByb2Nlc3NFbmRU
YWcoV1RGTW92ZShlbmRTZWxlY3QpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpA
QCAtMTMxMCw3ICsxMzEwLDcgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRh
ZyhBdG9taWNIVE1MVG9rZW4mJiB0b2tlbikKICAgICAgICAgICAgICAgICBBU1NFUlQoaXNQYXJz
aW5nRnJhZ21lbnQoKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgQXRvbWljSFRNTFRva2VuIGVuZFNlbGVjdChIVE1MVG9rZW46OkVuZFRhZywg
c2VsZWN0VGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRT
ZWxlY3QoSFRNTFRva2VuOjpFbmRUYWcsIHNlbGVjdFRhZy0+bG9jYWxOYW1lKCkpOwogICAgICAg
ICAgICAgcHJvY2Vzc0VuZFRhZyhXVEZNb3ZlKGVuZFNlbGVjdCkpOwogICAgICAgICAgICAgcHJv
Y2Vzc1N0YXJ0VGFnKFdURk1vdmUodG9rZW4pKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTEz
ODIsNyArMTM4Miw3IEBAIGJvb2wgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzQm9keUVuZFRhZ0Zv
ckluQm9keShBdG9taWNIVE1MVG9rZW4mJiB0b2tlbikKIHsKICAgICBBU1NFUlQodG9rZW4udHlw
ZSgpID09IEhUTUxUb2tlbjo6RW5kVGFnKTsKICAgICBBU1NFUlQodG9rZW4ubmFtZSgpID09IGJv
ZHlUYWcpOwotICAgIGlmICghbV90cmVlLm9wZW5FbGVtZW50cygpLmluU2NvcGUoYm9keVRhZy5s
b2NhbE5hbWUoKSkpIHsKKyAgICBpZiAoIW1fdHJlZS5vcGVuRWxlbWVudHMoKS5pblNjb3BlKGJv
ZHlUYWctPmxvY2FsTmFtZSgpKSkgewogICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIH0KQEAgLTE3MTEsNyArMTcxMSw3IEBAIHZvaWQgSFRNTFRy
ZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnRm9ySW5Cb2R5KEF0b21pY0hUTUxUb2tlbiYmIHRva2Vu
KQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gaHRtbFRh
ZykgewotICAgICAgICBBdG9taWNIVE1MVG9rZW4gZW5kQm9keShIVE1MVG9rZW46OkVuZFRhZywg
Ym9keVRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRCb2R5KEhU
TUxUb2tlbjo6RW5kVGFnLCBib2R5VGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgICAgIGlmIChwcm9j
ZXNzQm9keUVuZFRhZ0ZvckluQm9keShXVEZNb3ZlKGVuZEJvZHkpKSkKICAgICAgICAgICAgIHBy
b2Nlc3NFbmRUYWcoV1RGTW92ZSh0b2tlbikpOwogICAgICAgICByZXR1cm47CkBAIC0xODUwLDE0
ICsxODUwLDE0IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnRm9ySW5Cb2R5
KEF0b21pY0hUTUxUb2tlbiYmIHRva2VuKQogCiBib29sIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vz
c0NhcHRpb25FbmRUYWdGb3JJbkNhcHRpb24oKQogewotICAgIGlmICghbV90cmVlLm9wZW5FbGVt
ZW50cygpLmluVGFibGVTY29wZShjYXB0aW9uVGFnLmxvY2FsTmFtZSgpKSkgeworICAgIGlmICgh
bV90cmVlLm9wZW5FbGVtZW50cygpLmluVGFibGVTY29wZShjYXB0aW9uVGFnLT5sb2NhbE5hbWUo
KSkpIHsKICAgICAgICAgQVNTRVJUKGlzUGFyc2luZ0ZyYWdtZW50KCkpOwogICAgICAgICAvLyBG
SVhNRTogcGFyc2UgZXJyb3IKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBtX3Ry
ZWUuZ2VuZXJhdGVJbXBsaWVkRW5kVGFncygpOwogICAgIC8vIEZJWE1FOiBwYXJzZSBlcnJvciBp
ZiAoIW1fdHJlZS5jdXJyZW50U3RhY2tJdGVtKCkuaGFzVGFnTmFtZShjYXB0aW9uVGFnKSkKLSAg
ICBtX3RyZWUub3BlbkVsZW1lbnRzKCkucG9wVW50aWxQb3BwZWQoY2FwdGlvblRhZy5sb2NhbE5h
bWUoKSk7CisgICAgbV90cmVlLm9wZW5FbGVtZW50cygpLnBvcFVudGlsUG9wcGVkKGNhcHRpb25U
YWctPmxvY2FsTmFtZSgpKTsKICAgICBtX3RyZWUuYWN0aXZlRm9ybWF0dGluZ0VsZW1lbnRzKCku
Y2xlYXJUb0xhc3RNYXJrZXIoKTsKICAgICBtX2luc2VydGlvbk1vZGUgPSBJbnNlcnRpb25Nb2Rl
OjpJblRhYmxlOwogICAgIHJldHVybiB0cnVlOwpAQCAtMTg4NCw3ICsxODg0LDcgQEAgYm9vbCBI
VE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NUYWJsZUVuZFRhZ0ZvckluVGFibGUoKQogICAgICAgICAv
LyBGSVhNRTogcGFyc2UgZXJyb3IuCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9Ci0gICAg
bV90cmVlLm9wZW5FbGVtZW50cygpLnBvcFVudGlsUG9wcGVkKHRhYmxlVGFnLmxvY2FsTmFtZSgp
KTsKKyAgICBtX3RyZWUub3BlbkVsZW1lbnRzKCkucG9wVW50aWxQb3BwZWQodGFibGVUYWctPmxv
Y2FsTmFtZSgpKTsKICAgICByZXNldEluc2VydGlvbk1vZGVBcHByb3ByaWF0ZWx5KCk7CiAgICAg
cmV0dXJuIHRydWU7CiB9CkBAIC0yMTA2LDcgKzIxMDYsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRl
cjo6cHJvY2Vzc0VuZFRhZyhBdG9taWNIVE1MVG9rZW4mJiB0b2tlbikKICAgICAgICAgICAgIHx8
IGlzVGFibGVDZWxsQ29udGV4dFRhZyh0b2tlbi5uYW1lKCkpKSB7CiAgICAgICAgICAgICBwYXJz
ZUVycm9yKHRva2VuKTsKICAgICAgICAgICAgIGlmIChtX3RyZWUub3BlbkVsZW1lbnRzKCkuaW5U
YWJsZVNjb3BlKHRva2VuLm5hbWUoKSkpIHsKLSAgICAgICAgICAgICAgICBBdG9taWNIVE1MVG9r
ZW4gZW5kU2VsZWN0KEhUTUxUb2tlbjo6RW5kVGFnLCBzZWxlY3RUYWcubG9jYWxOYW1lKCkpOwor
ICAgICAgICAgICAgICAgIEF0b21pY0hUTUxUb2tlbiBlbmRTZWxlY3QoSFRNTFRva2VuOjpFbmRU
YWcsIHNlbGVjdFRhZy0+bG9jYWxOYW1lKCkpOwogICAgICAgICAgICAgICAgIHByb2Nlc3NFbmRU
YWcoV1RGTW92ZShlbmRTZWxlY3QpKTsKICAgICAgICAgICAgICAgICBwcm9jZXNzRW5kVGFnKFdU
Rk1vdmUodG9rZW4pKTsKICAgICAgICAgICAgIH0KQEAgLTIxMzksNyArMjEzOSw3IEBAIHZvaWQg
SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tlbiYmIHRva2VuKQog
ICAgICAgICAgICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwogICAgICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG1fdHJlZS5vcGVuRWxlbWVudHMoKS5wb3BV
bnRpbFBvcHBlZChzZWxlY3RUYWcubG9jYWxOYW1lKCkpOworICAgICAgICAgICAgbV90cmVlLm9w
ZW5FbGVtZW50cygpLnBvcFVudGlsUG9wcGVkKHNlbGVjdFRhZy0+bG9jYWxOYW1lKCkpOwogICAg
ICAgICAgICAgcmVzZXRJbnNlcnRpb25Nb2RlQXBwcm9wcmlhdGVseSgpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CkBAIC0yMTk5LDcgKzIxOTksNyBAQCB2b2lkIEhUTUxUcmVlQnVp
bGRlcjo6aW5zZXJ0UGhvbmVOdW1iZXJMaW5rKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogICAgIFZl
Y3RvcjxBdHRyaWJ1dGU+IGF0dHJpYnV0ZXM7CiAgICAgYXR0cmlidXRlcy5hcHBlbmQoQXR0cmli
dXRlKEhUTUxOYW1lczo6aHJlZkF0dHIsIEFTQ0lJTGl0ZXJhbCgidGVsOiIpICsgc3RyaW5nKSk7
CiAKLSAgICBjb25zdCBBdG9taWNTdHJpbmcmIGFUYWdMb2NhbE5hbWUgPSBhVGFnLmxvY2FsTmFt
ZSgpOworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgYVRhZ0xvY2FsTmFtZSA9IGFUYWctPmxvY2Fs
TmFtZSgpOwogICAgIEF0b21pY0hUTUxUb2tlbiBhU3RhcnRUb2tlbihIVE1MVG9rZW46OlN0YXJ0
VGFnLCBhVGFnTG9jYWxOYW1lLCBXVEZNb3ZlKGF0dHJpYnV0ZXMpKTsKICAgICBBdG9taWNIVE1M
VG9rZW4gYUVuZFRva2VuKEhUTUxUb2tlbjo6RW5kVGFnLCBhVGFnTG9jYWxOYW1lKTsKIApAQCAt
MjUzNywzMiArMjUzNywzMiBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6ZGVmYXVsdEZvckluaXRp
YWwoKQogCiB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6ZGVmYXVsdEZvckJlZm9yZUhUTUwoKQogewot
ICAgIEF0b21pY0hUTUxUb2tlbiBzdGFydEhUTUwoSFRNTFRva2VuOjpTdGFydFRhZywgaHRtbFRh
Zy5sb2NhbE5hbWUoKSk7CisgICAgQXRvbWljSFRNTFRva2VuIHN0YXJ0SFRNTChIVE1MVG9rZW46
OlN0YXJ0VGFnLCBodG1sVGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgbV90cmVlLmluc2VydEhUTUxI
dG1sU3RhcnRUYWdCZWZvcmVIVE1MKFdURk1vdmUoc3RhcnRIVE1MKSk7CiAgICAgbV9pbnNlcnRp
b25Nb2RlID0gSW5zZXJ0aW9uTW9kZTo6QmVmb3JlSGVhZDsKIH0KIAogdm9pZCBIVE1MVHJlZUJ1
aWxkZXI6OmRlZmF1bHRGb3JCZWZvcmVIZWFkKCkKIHsKLSAgICBBdG9taWNIVE1MVG9rZW4gc3Rh
cnRIZWFkKEhUTUxUb2tlbjo6U3RhcnRUYWcsIGhlYWRUYWcubG9jYWxOYW1lKCkpOworICAgIEF0
b21pY0hUTUxUb2tlbiBzdGFydEhlYWQoSFRNTFRva2VuOjpTdGFydFRhZywgaGVhZFRhZy0+bG9j
YWxOYW1lKCkpOwogICAgIHByb2Nlc3NTdGFydFRhZyhXVEZNb3ZlKHN0YXJ0SGVhZCkpOwogfQog
CiB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6ZGVmYXVsdEZvckluSGVhZCgpCiB7Ci0gICAgQXRvbWlj
SFRNTFRva2VuIGVuZEhlYWQoSFRNTFRva2VuOjpFbmRUYWcsIGhlYWRUYWcubG9jYWxOYW1lKCkp
OworICAgIEF0b21pY0hUTUxUb2tlbiBlbmRIZWFkKEhUTUxUb2tlbjo6RW5kVGFnLCBoZWFkVGFn
LT5sb2NhbE5hbWUoKSk7CiAgICAgcHJvY2Vzc0VuZFRhZyhXVEZNb3ZlKGVuZEhlYWQpKTsKIH0K
IAogdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OmRlZmF1bHRGb3JJbkhlYWROb3NjcmlwdCgpCiB7Ci0g
ICAgQXRvbWljSFRNTFRva2VuIGVuZE5vc2NyaXB0KEhUTUxUb2tlbjo6RW5kVGFnLCBub3Njcmlw
dFRhZy5sb2NhbE5hbWUoKSk7CisgICAgQXRvbWljSFRNTFRva2VuIGVuZE5vc2NyaXB0KEhUTUxU
b2tlbjo6RW5kVGFnLCBub3NjcmlwdFRhZy0+bG9jYWxOYW1lKCkpOwogICAgIHByb2Nlc3NFbmRU
YWcoV1RGTW92ZShlbmROb3NjcmlwdCkpOwogfQogCiB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6ZGVm
YXVsdEZvckFmdGVySGVhZCgpCiB7Ci0gICAgQXRvbWljSFRNTFRva2VuIHN0YXJ0Qm9keShIVE1M
VG9rZW46OlN0YXJ0VGFnLCBib2R5VGFnLmxvY2FsTmFtZSgpKTsKKyAgICBBdG9taWNIVE1MVG9r
ZW4gc3RhcnRCb2R5KEhUTUxUb2tlbjo6U3RhcnRUYWcsIGJvZHlUYWctPmxvY2FsTmFtZSgpKTsK
ICAgICBwcm9jZXNzU3RhcnRUYWcoV1RGTW92ZShzdGFydEJvZHkpKTsKICAgICBtX2ZyYW1lc2V0
T2sgPSB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvVGV4
dERvY3VtZW50UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1RleHREb2N1
bWVudFBhcnNlci5jcHAKaW5kZXggZjk4ODI1YjIwNjA5N2YyYzRhOGMxZmU4NGI0MGI2ZDhmMGE1
ZWFjYS4uM2IwMWQ3ZWQ3OGU4MTZlNWU3YTYxNjNiZTlhODIwNTU0NGJhMDc4YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvVGV4dERvY3VtZW50UGFyc2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9UZXh0RG9jdW1lbnRQYXJzZXIuY3BwCkBAIC01
Myw3ICs1Myw3IEBAIHZvaWQgVGV4dERvY3VtZW50UGFyc2VyOjppbnNlcnRGYWtlUHJlRWxlbWVu
dCgpCiAgICAgLy8gZGlzdHJ1YmluZyB0aGUgbGluZS9jb2x1bW4gbnVtYmVyIGNhbGN1bGF0aW9u
cy4KICAgICBWZWN0b3I8QXR0cmlidXRlPiBhdHRyaWJ1dGVzOwogICAgIGF0dHJpYnV0ZXMuYXBw
ZW5kKEF0dHJpYnV0ZShzdHlsZUF0dHIsICJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IHdoaXRlLXNw
YWNlOiBwcmUtd3JhcDsiKSk7Ci0gICAgQXRvbWljSFRNTFRva2VuIGZha2VQcmUoSFRNTFRva2Vu
OjpTdGFydFRhZywgcHJlVGFnLmxvY2FsTmFtZSgpLCBXVEZNb3ZlKGF0dHJpYnV0ZXMpKTsKKyAg
ICBBdG9taWNIVE1MVG9rZW4gZmFrZVByZShIVE1MVG9rZW46OlN0YXJ0VGFnLCBwcmVUYWctPmxv
Y2FsTmFtZSgpLCBXVEZNb3ZlKGF0dHJpYnV0ZXMpKTsKICAgICB0cmVlQnVpbGRlcigpLmNvbnN0
cnVjdFRyZWUoV1RGTW92ZShmYWtlUHJlKSk7CiAKICAgICAvLyBOb3JtYWxseSB3ZSB3b3VsZCBz
a2lwIHRoZSBmaXJzdCBcbiBhZnRlciBhIDxwcmU+IGVsZW1lbnQsIGJ1dCB3ZSBkb24ndApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1BhdGhEYXRhLmNwcAppbmRleCA5YWE5ZTFi
ZTFkOGJkOGNiYzcxMDk1NGY5MjEzOGVmZDlmZDYwODQ4Li41YmE5MjgxZTJlMGM3ZTcyYWIxOWI2
NTA4MzAxYjMwNmNkMDc1YmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1BhdGhEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1BhdGhEYXRhLmNwcApAQCAtMTc3LDEzICsxNzcsMTMgQEAgUGF0aCBwYXRoRnJvbUdyYXBoaWNz
RWxlbWVudChTVkdFbGVtZW50KiBlbGVtZW50KQogICAgIHN0YXRpYyBIYXNoTWFwPEF0b21pY1N0
cmluZ0ltcGwqLCBQYXRoRnJvbUZ1bmN0aW9uPiogbWFwID0gMDsKICAgICBpZiAoIW1hcCkgewog
ICAgICAgICBtYXAgPSBuZXcgSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgUGF0aEZyb21GdW5j
dGlvbj47Ci0gICAgICAgIG1hcC0+c2V0KFNWR05hbWVzOjpjaXJjbGVUYWcubG9jYWxOYW1lKCku
aW1wbCgpLCBwYXRoRnJvbUNpcmNsZUVsZW1lbnQpOwotICAgICAgICBtYXAtPnNldChTVkdOYW1l
czo6ZWxsaXBzZVRhZy5sb2NhbE5hbWUoKS5pbXBsKCksIHBhdGhGcm9tRWxsaXBzZUVsZW1lbnQp
OwotICAgICAgICBtYXAtPnNldChTVkdOYW1lczo6bGluZVRhZy5sb2NhbE5hbWUoKS5pbXBsKCks
IHBhdGhGcm9tTGluZUVsZW1lbnQpOwotICAgICAgICBtYXAtPnNldChTVkdOYW1lczo6cGF0aFRh
Zy5sb2NhbE5hbWUoKS5pbXBsKCksIHBhdGhGcm9tUGF0aEVsZW1lbnQpOwotICAgICAgICBtYXAt
PnNldChTVkdOYW1lczo6cG9seWdvblRhZy5sb2NhbE5hbWUoKS5pbXBsKCksIHBhdGhGcm9tUG9s
eWdvbkVsZW1lbnQpOwotICAgICAgICBtYXAtPnNldChTVkdOYW1lczo6cG9seWxpbmVUYWcubG9j
YWxOYW1lKCkuaW1wbCgpLCBwYXRoRnJvbVBvbHlsaW5lRWxlbWVudCk7Ci0gICAgICAgIG1hcC0+
c2V0KFNWR05hbWVzOjpyZWN0VGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgcGF0aEZyb21SZWN0RWxl
bWVudCk7CisgICAgICAgIG1hcC0+c2V0KFNWR05hbWVzOjpjaXJjbGVUYWctPmxvY2FsTmFtZSgp
LmltcGwoKSwgcGF0aEZyb21DaXJjbGVFbGVtZW50KTsKKyAgICAgICAgbWFwLT5zZXQoU1ZHTmFt
ZXM6OmVsbGlwc2VUYWctPmxvY2FsTmFtZSgpLmltcGwoKSwgcGF0aEZyb21FbGxpcHNlRWxlbWVu
dCk7CisgICAgICAgIG1hcC0+c2V0KFNWR05hbWVzOjpsaW5lVGFnLT5sb2NhbE5hbWUoKS5pbXBs
KCksIHBhdGhGcm9tTGluZUVsZW1lbnQpOworICAgICAgICBtYXAtPnNldChTVkdOYW1lczo6cGF0
aFRhZy0+bG9jYWxOYW1lKCkuaW1wbCgpLCBwYXRoRnJvbVBhdGhFbGVtZW50KTsKKyAgICAgICAg
bWFwLT5zZXQoU1ZHTmFtZXM6OnBvbHlnb25UYWctPmxvY2FsTmFtZSgpLmltcGwoKSwgcGF0aEZy
b21Qb2x5Z29uRWxlbWVudCk7CisgICAgICAgIG1hcC0+c2V0KFNWR05hbWVzOjpwb2x5bGluZVRh
Zy0+bG9jYWxOYW1lKCkuaW1wbCgpLCBwYXRoRnJvbVBvbHlsaW5lRWxlbWVudCk7CisgICAgICAg
IG1hcC0+c2V0KFNWR05hbWVzOjpyZWN0VGFnLT5sb2NhbE5hbWUoKS5pbXBsKCksIHBhdGhGcm9t
UmVjdEVsZW1lbnQpOwogICAgIH0KIAogICAgIGlmIChQYXRoRnJvbUZ1bmN0aW9uIHBhdGhGcm9t
RnVuY3Rpb24gPSBtYXAtPmdldChlbGVtZW50LT5sb2NhbE5hbWUoKS5pbXBsKCkpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuY3BwCmluZGV4IDhhZTYxYzhm
NTFmNjhhNDA4ZjMyODk2Y2YyZGM0ODk1OGFkMDEzYmQuLmQ4ZTcxYjc0NWE0MjliMzIyZmVjMzA2
MjEwNjRhMzhiY2UzZTBmYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvU1ZHUmVzb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1Jlc291cmNlcy5jcHAKQEAgLTQ4LDQwICs0OCw0MCBAQCBzdGF0aWMgSGFzaFNldDxBdG9taWNT
dHJpbmc+JiBjbGlwcGVyRmlsdGVyTWFza2VyVGFncygpCiAgICAgaWYgKHNfdGFnTGlzdC5nZXQo
KS5pc0VtcHR5KCkpIHsKICAgICAgICAgLy8gImNvbnRhaW5lciBlbGVtZW50cyI6IGh0dHA6Ly93
d3cudzMub3JnL1RSL1NWRzExL2ludHJvLmh0bWwjVGVybUNvbnRhaW5lckVsZW1lbnQKICAgICAg
ICAgLy8gImdyYXBoaWNzIGVsZW1lbnRzIiA6IGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2lu
dHJvLmh0bWwjVGVybUdyYXBoaWNzRWxlbWVudAotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRk
KFNWR05hbWVzOjphVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFk
ZChTVkdOYW1lczo6Y2lyY2xlVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0Lmdl
dCgpLmFkZChTVkdOYW1lczo6ZWxsaXBzZVRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFn
TGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmdseXBoVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAg
c190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6Z1RhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAg
IHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmltYWdlVGFnLmxvY2FsTmFtZSgpKTsKLSAg
ICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6bGluZVRhZy5sb2NhbE5hbWUoKSk7
Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6Om1hcmtlclRhZy5sb2NhbE5h
bWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6Om1hc2tUYWcubG9j
YWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjptaXNzaW5n
X2dseXBoVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdO
YW1lczo6cGF0aFRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQo
U1ZHTmFtZXM6OnBvbHlnb25UYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0
KCkuYWRkKFNWR05hbWVzOjpwb2x5bGluZVRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFn
TGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnJlY3RUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBz
X3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpzdmdUYWcubG9jYWxOYW1lKCkpOwotICAgICAg
ICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjp0ZXh0VGFnLmxvY2FsTmFtZSgpKTsKLSAg
ICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6dXNlVGFnLmxvY2FsTmFtZSgpKTsK
KyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6YVRhZy0+bG9jYWxOYW1lKCkp
OworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpjaXJjbGVUYWctPmxvY2Fs
TmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6ZWxsaXBzZVRh
Zy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpn
bHlwaFRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05h
bWVzOjpnVGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZH
TmFtZXM6OmltYWdlVGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5h
ZGQoU1ZHTmFtZXM6OmxpbmVUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0Lmdl
dCgpLmFkZChTVkdOYW1lczo6bWFya2VyVGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFn
TGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6Om1hc2tUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAg
c190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6bWlzc2luZ19nbHlwaFRhZy0+bG9jYWxOYW1l
KCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpwYXRoVGFnLT5sb2Nh
bE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnBvbHlnb25U
YWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6
cG9seWxpbmVUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChT
VkdOYW1lczo6cmVjdFRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCku
YWRkKFNWR05hbWVzOjpzdmdUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0Lmdl
dCgpLmFkZChTVkdOYW1lczo6dGV4dFRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xp
c3QuZ2V0KCkuYWRkKFNWR05hbWVzOjp1c2VUYWctPmxvY2FsTmFtZSgpKTsKIAogICAgICAgICAv
LyBOb3QgbGlzdGVkIGluIHRoZSBkZWZpbml0aW9ucyBpcyB0aGUgY2xpcFBhdGggZWxlbWVudCwg
dGhlIFNWRyBzcGVjIHNheXMgdGhvdWdoOgogICAgICAgICAvLyBUaGUgImNsaXBQYXRoIiBlbGVt
ZW50IG9yIGFueSBvZiBpdHMgY2hpbGRyZW4gY2FuIHNwZWNpZnkgcHJvcGVydHkgImNsaXAtcGF0
aCIuCiAgICAgICAgIC8vIFNvIHdlIGhhdmUgdG8gYWRkIGNsaXBQYXRoVGFnIGhlcmUsIG90aGVy
d2hpc2UgY2xpcC1wYXRoIG9uIGNsaXBQYXRoIHdpbGwgZmFpbC4KICAgICAgICAgLy8gKEFscmVh
ZHkgbWFpbGVkIFNWRyBXRywgd2FpdGluZyBmb3IgYSBzb2x1dGlvbikKLSAgICAgICAgc190YWdM
aXN0LmdldCgpLmFkZChTVkdOYW1lczo6Y2xpcFBhdGhUYWcubG9jYWxOYW1lKCkpOworICAgICAg
ICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpjbGlwUGF0aFRhZy0+bG9jYWxOYW1lKCkp
OwogCiAgICAgICAgIC8vIE5vdCBsaXN0ZWQgaW4gdGhlIGRlZmluaXRpb25zIGFyZSB0aGUgdGV4
dCBjb250ZW50IGVsZW1lbnRzLCB0aG91Z2ggZmlsdGVyL2NsaXBwZXIvbWFza2VyIG9uIHRzcGFu
L3RleHQvLi4gaXMgYWxsb3dlZC4KICAgICAgICAgLy8gKEFscmVhZHkgbWFpbGVkIFNWRyBXRywg
d2FpdGluZyBmb3IgYSBzb2x1dGlvbikKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdO
YW1lczo6YWx0R2x5cGhUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCku
YWRkKFNWR05hbWVzOjp0ZXh0UGF0aFRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlz
dC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnRyZWZUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3Rh
Z0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjp0c3BhblRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAg
IHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmFsdEdseXBoVGFnLT5sb2NhbE5hbWUoKSk7
CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnRleHRQYXRoVGFnLT5sb2Nh
bE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnRyZWZUYWct
PmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6dHNw
YW5UYWctPmxvY2FsTmFtZSgpKTsKIAogICAgICAgICAvLyBOb3QgbGlzdGVkIGluIHRoZSBkZWZp
bml0aW9ucyBpcyB0aGUgZm9yZWlnbk9iamVjdCBlbGVtZW50LCBidXQgY2xpcC1wYXRoCiAgICAg
ICAgIC8vIGlzIGEgc3VwcG9ydGVkIGF0dHJpYnV0ZS4KLSAgICAgICAgc190YWdMaXN0LmdldCgp
LmFkZChTVkdOYW1lczo6Zm9yZWlnbk9iamVjdFRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNf
dGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmZvcmVpZ25PYmplY3RUYWctPmxvY2FsTmFtZSgp
KTsKIAogICAgICAgICAvLyBFbGVtZW50cyB0aGF0IHdlIGlnbm9yZSwgYXMgaXQgZG9lc24ndCBt
YWtlIGFueSBzZW5zZS4KICAgICAgICAgLy8gZGVmcywgcGF0dGVybiwgc3dpdGNoIChGSVhNRTog
TWFpbCBTVkcgV0cgYWJvdXQgdGhlc2UpCkBAIC05NSwxMCArOTUsMTAgQEAgc3RhdGljIEhhc2hT
ZXQ8QXRvbWljU3RyaW5nPiYgbWFya2VyVGFncygpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPEhhc2hTZXQ8QXRvbWljU3RyaW5nPj4gc190YWdMaXN0OwogICAgIGlmIChzX3RhZ0xpc3Qu
Z2V0KCkuaXNFbXB0eSgpKSB7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6
OmxpbmVUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05h
bWVzOjpwYXRoVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChT
VkdOYW1lczo6cG9seWdvblRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQo
KS5hZGQoU1ZHTmFtZXM6OnBvbHlsaW5lVGFnLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdM
aXN0LmdldCgpLmFkZChTVkdOYW1lczo6bGluZVRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBz
X3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpwYXRoVGFnLT5sb2NhbE5hbWUoKSk7CisgICAg
ICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnBvbHlnb25UYWctPmxvY2FsTmFtZSgp
KTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6cG9seWxpbmVUYWctPmxv
Y2FsTmFtZSgpKTsKICAgICB9CiAKICAgICByZXR1cm4gc190YWdMaXN0OwpAQCAtMTA4LDE4ICsx
MDgsMTggQEAgc3RhdGljIEhhc2hTZXQ8QXRvbWljU3RyaW5nPiYgZmlsbEFuZFN0cm9rZVRhZ3Mo
KQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoU2V0PEF0b21pY1N0cmluZz4+IHNf
dGFnTGlzdDsKICAgICBpZiAoc190YWdMaXN0LmdldCgpLmlzRW1wdHkoKSkgewotICAgICAgICBz
X3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjphbHRHbHlwaFRhZy5sb2NhbE5hbWUoKSk7Ci0g
ICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmNpcmNsZVRhZy5sb2NhbE5hbWUo
KSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmVsbGlwc2VUYWcubG9j
YWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpsaW5lVGFn
LmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6cGF0
aFRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6
OnBvbHlnb25UYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNW
R05hbWVzOjpwb2x5bGluZVRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQo
KS5hZGQoU1ZHTmFtZXM6OnJlY3RUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3Qu
Z2V0KCkuYWRkKFNWR05hbWVzOjp0ZXh0VGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgc190YWdM
aXN0LmdldCgpLmFkZChTVkdOYW1lczo6dGV4dFBhdGhUYWcubG9jYWxOYW1lKCkpOwotICAgICAg
ICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjp0cmVmVGFnLmxvY2FsTmFtZSgpKTsKLSAg
ICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6dHNwYW5UYWcubG9jYWxOYW1lKCkp
OworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjphbHRHbHlwaFRhZy0+bG9j
YWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpjaXJjbGVU
YWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6
ZWxsaXBzZVRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNW
R05hbWVzOjpsaW5lVGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5h
ZGQoU1ZHTmFtZXM6OnBhdGhUYWctPmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0Lmdl
dCgpLmFkZChTVkdOYW1lczo6cG9seWdvblRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3Rh
Z0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpwb2x5bGluZVRhZy0+bG9jYWxOYW1lKCkpOworICAg
ICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpyZWN0VGFnLT5sb2NhbE5hbWUoKSk7
CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OnRleHRUYWctPmxvY2FsTmFt
ZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6dGV4dFBhdGhUYWct
PmxvY2FsTmFtZSgpKTsKKyAgICAgICAgc190YWdMaXN0LmdldCgpLmFkZChTVkdOYW1lczo6dHJl
ZlRhZy0+bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVz
Ojp0c3BhblRhZy0+bG9jYWxOYW1lKCkpOwogICAgIH0KIAogICAgIHJldHVybiBzX3RhZ0xpc3Q7
CkBAIC0xMjksMTAgKzEyOSwxMCBAQCBzdGF0aWMgSGFzaFNldDxBdG9taWNTdHJpbmc+JiBjaGFp
bmFibGVSZXNvdXJjZVRhZ3MoKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoU2V0
PEF0b21pY1N0cmluZz4+IHNfdGFnTGlzdDsKICAgICBpZiAoc190YWdMaXN0LmdldCgpLmlzRW1w
dHkoKSkgewotICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpsaW5lYXJHcmFk
aWVudFRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFt
ZXM6OmZpbHRlclRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQo
U1ZHTmFtZXM6OnBhdHRlcm5UYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBzX3RhZ0xpc3QuZ2V0
KCkuYWRkKFNWR05hbWVzOjpyYWRpYWxHcmFkaWVudFRhZy5sb2NhbE5hbWUoKSk7CisgICAgICAg
IHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmxpbmVhckdyYWRpZW50VGFnLT5sb2NhbE5h
bWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFtZXM6OmZpbHRlclRhZy0+
bG9jYWxOYW1lKCkpOworICAgICAgICBzX3RhZ0xpc3QuZ2V0KCkuYWRkKFNWR05hbWVzOjpwYXR0
ZXJuVGFnLT5sb2NhbE5hbWUoKSk7CisgICAgICAgIHNfdGFnTGlzdC5nZXQoKS5hZGQoU1ZHTmFt
ZXM6OnJhZGlhbEdyYWRpZW50VGFnLT5sb2NhbE5hbWUoKSk7CiAgICAgfQogCiAgICAgcmV0dXJu
IHNfdGFnTGlzdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEJv
b2xlYW4uaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEJvb2xlYW4uaAppbmRleCA2
NTE1YTA1MzE5YjFmMDBhZjk1OTNkOTllNjU4NzdjYzExN2NjMTkzLi5lZGRkMWU3NThjZjZlNGVm
YjA2MDgwZGE0MTNmMzUzZGQ5OTNiN2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHQW5pbWF0ZWRCb29sZWFuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVk
Qm9vbGVhbi5oCkBAIC0zNCw3ICszNCw3IEBAIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZH
QW5pbWF0ZWRCb29sZWFuLCBib29sLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5CiBERUNM
QVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR0FuaW1hdGVkQm9vbGVhbiwgYm9vbCwgVXBwZXJQcm9w
ZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgb3ZlcnJpZGUpCiAKICNkZWZpbmUgREVGSU5FX0FOSU1BVEVE
X0JPT0xFQU4oT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJv
cGVydHkpIFwKLURFRklORV9BTklNQVRFRF9QUk9QRVJUWShBbmltYXRlZEJvb2xlYW4sIE93bmVy
VHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUubG9jYWxOYW1lKCksIFVwcGVyUHJvcGVy
dHksIExvd2VyUHJvcGVydHkpCitERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRCb29s
ZWFuLCBPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLT5sb2NhbE5hbWUoKSwg
VXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKIAogY2xhc3MgU1ZHQW5pbWF0aW9uRWxlbWVu
dDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkRW51bWVyYXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmgKaW5kZXgg
ZDZkMTE0OTdkMDE3MDYyMWE5MTRjMGEwNjI2YjQzZjkyNGM2NmU2YS4uNTljZDE5ZGExZDY5MTEz
ZmViMGI2ZTljYzUwZTQ3ZThhYjE5ZmYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGVkRW51bWVyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZWRFbnVtZXJhdGlvbi5oCkBAIC0zMiw3ICszMiw3IEBAIHR5cGVkZWYgU1ZHQW5pbWF0ZWRT
dGF0aWNQcm9wZXJ0eVRlYXJPZmY8dW5zaWduZWQ+IFNWR0FuaW1hdGVkRW51bWVyYXRpb247CiBE
RUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR0FuaW1hdGVkRW51bWVyYXRpb25Qcm9wZXJ0eVRl
YXJPZmY8RW51bVR5cGU+LCBFbnVtVHlwZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwg
KQogCiAjZGVmaW5lIERFRklORV9BTklNQVRFRF9FTlVNRVJBVElPTihPd25lclR5cGUsIERPTUF0
dHJpYnV0ZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgRW51bVR5cGUpIFwKLURFRklO
RV9BTklNQVRFRF9QUk9QRVJUWShBbmltYXRlZEVudW1lcmF0aW9uLCBPd25lclR5cGUsIERPTUF0
dHJpYnV0ZSwgRE9NQXR0cmlidXRlLmxvY2FsTmFtZSgpLCBVcHBlclByb3BlcnR5LCBMb3dlclBy
b3BlcnR5KQorREVGSU5FX0FOSU1BVEVEX1BST1BFUlRZKEFuaW1hdGVkRW51bWVyYXRpb24sIE93
bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUtPmxvY2FsTmFtZSgpLCBVcHBlclBy
b3BlcnR5LCBMb3dlclByb3BlcnR5KQogCiBjbGFzcyBTVkdBbmltYXRlZEVudW1lcmF0aW9uQW5p
bWF0b3IgZmluYWwgOiBwdWJsaWMgU1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3IgewogcHVibGljOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5oCmluZGV4IGE2MmE0NzJlOTNjNjJi
ZmM5OGM0MDAxMWE5MTY3NDQ3NmQxMWU2MTIuLmRhNWY0NDFkODY1YjE1NWY4N2E2MjFmZjhkZjdi
NjBjZmIyZjliNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZElu
dGVnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRJbnRlZ2VyLmgKQEAg
LTMyLDcgKzMyLDcgQEAgdHlwZWRlZiBTVkdBbmltYXRlZFN0YXRpY1Byb3BlcnR5VGVhck9mZjxp
bnQ+IFNWR0FuaW1hdGVkSW50ZWdlcjsKIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5p
bWF0ZWRJbnRlZ2VyLCBpbnQsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksICkKIAogI2Rl
ZmluZSBERUZJTkVfQU5JTUFURURfSU5URUdFUihPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgVXBw
ZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAotREVGSU5FX0FOSU1BVEVEX1BST1BFUlRZKEFu
aW1hdGVkSW50ZWdlciwgT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5sb2Nh
bE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKK0RFRklORV9BTklNQVRFRF9Q
Uk9QRVJUWShBbmltYXRlZEludGVnZXIsIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRy
aWJ1dGUtPmxvY2FsTmFtZSgpLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQogCiAjZGVm
aW5lIERFRklORV9BTklNQVRFRF9JTlRFR0VSX01VTFRJUExFX1dSQVBQRVJTKE93bmVyVHlwZSwg
RE9NQXR0cmlidXRlLCBTVkdET01BdHRyaWJ1dGVJZGVudGlmaWVyLCBVcHBlclByb3BlcnR5LCBM
b3dlclByb3BlcnR5KSBcCiBERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRJbnRlZ2Vy
T3B0aW9uYWxJbnRlZ2VyLCBPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgU1ZHRE9NQXR0cmlidXRl
SWRlbnRpZmllciwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGVkTGVuZ3RoLmgKaW5kZXggMTRhMzQ2MGM3OTAwMmFkOGY3MzMxNGY2ZjlhY2Q4
Nzg4MTg4ZDkzYy4uZmE0Y2E2ZTkxMmU4MzdjOTFjODUyZjNiOGM0MTJkZDhmMjIwNTE1NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoLmgKQEAgLTMyLDcgKzMyLDcgQEAgdXNp
bmcgU1ZHQW5pbWF0ZWRMZW5ndGggPSBTVkdBbmltYXRlZFByb3BlcnR5VGVhck9mZjxTVkdMZW5n
dGg+OwogREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdBbmltYXRlZExlbmd0aCwgU1ZHTGVu
Z3RoVmFsdWUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksICkKIAogI2RlZmluZSBERUZJ
TkVfQU5JTUFURURfTEVOR1RIKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBVcHBlclByb3BlcnR5
LCBMb3dlclByb3BlcnR5KSBcCi1ERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRMZW5n
dGgsIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUubG9jYWxOYW1lKCksIFVw
cGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCitERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5p
bWF0ZWRMZW5ndGgsIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUtPmxvY2Fs
TmFtZSgpLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQogCiBjbGFzcyBTVkdBbmltYXRp
b25FbGVtZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRM
ZW5ndGhMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmgK
aW5kZXggZjM2MTlhMDBlMWYyODNjOGU2Y2Q0ZWQ4OThlMTIwYzY4NzMzZjA5OS4uNWVjZjU0MmJi
ZDZiMTdkMDNhYjBjNmZmNzVlNGYzZmI2OGFkYjVhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZExlbmd0aExpc3QuaApAQCAtMzMsNyArMzMsNyBAQCB1c2luZyBTVkdBbmltYXRl
ZExlbmd0aExpc3QgPSBTVkdBbmltYXRlZExpc3RQcm9wZXJ0eVRlYXJPZmY8U1ZHTGVuZ3RoTGlz
dFZhbHVlcwogREVDTEFSRV9BTklNQVRFRF9MSVNUX1BST1BFUlRZKFNWR0FuaW1hdGVkTGVuZ3Ro
TGlzdCwgU1ZHTGVuZ3RoTGlzdFZhbHVlcywgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkK
IAogI2RlZmluZSBERUZJTkVfQU5JTUFURURfTEVOR1RIX0xJU1QoT3duZXJUeXBlLCBET01BdHRy
aWJ1dGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKLURFRklORV9BTklNQVRFRF9Q
Uk9QRVJUWShBbmltYXRlZExlbmd0aExpc3QsIE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01B
dHRyaWJ1dGUubG9jYWxOYW1lKCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCitERUZJ
TkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRMZW5ndGhMaXN0LCBPd25lclR5cGUsIERPTUF0
dHJpYnV0ZSwgRE9NQXR0cmlidXRlLT5sb2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQ
cm9wZXJ0eSkKIAogY2xhc3MgU1ZHQW5pbWF0aW9uRWxlbWVudDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTnVtYmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHQW5pbWF0ZWROdW1iZXIuaAppbmRleCA1NWViMTIxZjMzYmRjN2M2ZTcyNDRlNzRlNjlmOTE5
MmQ5ZmU2ZGQwLi4wZTE5ZDRkM2U2NjY1YjVjOGIxNTY1NDgwMDAyMzM4MWJjNTY2ODNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXIuaApAQCAtMzIsNyArMzIsNyBAQCB0eXBl
ZGVmIFNWR0FuaW1hdGVkU3RhdGljUHJvcGVydHlUZWFyT2ZmPGZsb2F0PiBTVkdBbmltYXRlZE51
bWJlcjsKIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5pbWF0ZWROdW1iZXIsIGZsb2F0
LCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCApCiAKICNkZWZpbmUgREVGSU5FX0FOSU1B
VEVEX05VTUJFUihPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQ
cm9wZXJ0eSkgXAotREVGSU5FX0FOSU1BVEVEX1BST1BFUlRZKEFuaW1hdGVkTnVtYmVyLCBPd25l
clR5cGUsIERPTUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLmxvY2FsTmFtZSgpLCBVcHBlclByb3Bl
cnR5LCBMb3dlclByb3BlcnR5KQorREVGSU5FX0FOSU1BVEVEX1BST1BFUlRZKEFuaW1hdGVkTnVt
YmVyLCBPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLT5sb2NhbE5hbWUoKSwg
VXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKIAogI2RlZmluZSBERUZJTkVfQU5JTUFURURf
TlVNQkVSX01VTFRJUExFX1dSQVBQRVJTKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBTVkdET01B
dHRyaWJ1dGVJZGVudGlmaWVyLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCiBERUZJ
TkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlciwgT3duZXJU
eXBlLCBET01BdHRyaWJ1dGUsIFNWR0RPTUF0dHJpYnV0ZUlkZW50aWZpZXIsIFVwcGVyUHJvcGVy
dHksIExvd2VyUHJvcGVydHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZWROdW1iZXJMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXJM
aXN0LmgKaW5kZXggYWFkNTFhMDRmZDcwM2YxN2EyNDRhYzEyZWU0ZDZhYWQzYTE2YWNmMi4uNTgw
MjVlYTk0ZTkwMzhiN2NkNWJiNWJhZjczNmY2YzZjOGI5NGEwMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTnVtYmVyTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlZE51bWJlckxpc3QuaApAQCAtMzMsNyArMzMsNyBAQCB1c2luZyBTVkdB
bmltYXRlZE51bWJlckxpc3QgPSBTVkdBbmltYXRlZExpc3RQcm9wZXJ0eVRlYXJPZmY8U1ZHTnVt
YmVyTGlzdFZhbHVlcwogREVDTEFSRV9BTklNQVRFRF9MSVNUX1BST1BFUlRZKFNWR0FuaW1hdGVk
TnVtYmVyTGlzdCwgU1ZHTnVtYmVyTGlzdFZhbHVlcywgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9w
ZXJ0eSkKIAogI2RlZmluZSBERUZJTkVfQU5JTUFURURfTlVNQkVSX0xJU1QoT3duZXJUeXBlLCBE
T01BdHRyaWJ1dGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKLURFRklORV9BTklN
QVRFRF9QUk9QRVJUWShBbmltYXRlZE51bWJlckxpc3QsIE93bmVyVHlwZSwgRE9NQXR0cmlidXRl
LCBET01BdHRyaWJ1dGUubG9jYWxOYW1lKCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkp
CitERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWROdW1iZXJMaXN0LCBPd25lclR5cGUs
IERPTUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLT5sb2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSkKIAogY2xhc3MgU1ZHQW5pbWF0aW9uRWxlbWVudDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oCmluZGV4
IDhmOWU3NmIwODU4ZTEzMDI0M2MwMjFkMTc3OTBiYzE2YTM1ZDQzNDYuLmZhNjZmZWI4ZGQzMzFk
ODQwZjUwYzE4NTk2ZGRlYjY0M2I1Yjk5MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgKQEAgLTM1LDcgKzM1LDcgQEAgdXNp
bmcgU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvID0gU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRl
YXJPZmY8U1ZHUHJlc2VydmVBc3AKIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5pbWF0
ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUsIFVwcGVy
UHJvcGVydHksIExvd2VyUHJvcGVydHksICkKIAogI2RlZmluZSBERUZJTkVfQU5JTUFURURfUFJF
U0VSVkVBU1BFQ1RSQVRJTyhPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSkgXAotREVGSU5FX0FOSU1BVEVEX1BST1BFUlRZKEFuaW1hdGVkUHJlc2Vy
dmVBc3BlY3RSYXRpbywgT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5sb2Nh
bE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKK0RFRklORV9BTklNQVRFRF9Q
Uk9QRVJUWShBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8sIE93bmVyVHlwZSwgRE9NQXR0cmli
dXRlLCBET01BdHRyaWJ1dGUtPmxvY2FsTmFtZSgpLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3Bl
cnR5KQogCiBjbGFzcyBTVkdBbmltYXRpb25FbGVtZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZWRSZWN0LmgKaW5kZXggYzhmY2U0YmVkMmQ2NzA2ZTBmMzk1ZDc4ZDRmNTdlOWM2ZTZiZmE4
YS4uOTVlNzM4NmJjYTZiNDNlM2VlZDkwNDYyNTFjZDJkMWU3ODMxYTlkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlZFJlY3QuaApAQCAtMzUsNyArMzUsNyBAQCB1c2luZyBTVkdBbmltYXRl
ZFJlY3QgPSBTVkdBbmltYXRlZFByb3BlcnR5VGVhck9mZjxTVkdSZWN0PjsKIERFQ0xBUkVfQU5J
TUFURURfUFJPUEVSVFkoU1ZHQW5pbWF0ZWRSZWN0LCBGbG9hdFJlY3QsIFVwcGVyUHJvcGVydHks
IExvd2VyUHJvcGVydHksICkKIAogI2RlZmluZSBERUZJTkVfQU5JTUFURURfUkVDVChPd25lclR5
cGUsIERPTUF0dHJpYnV0ZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAotREVGSU5F
X0FOSU1BVEVEX1BST1BFUlRZKEFuaW1hdGVkUmVjdCwgT3duZXJUeXBlLCBET01BdHRyaWJ1dGUs
IERPTUF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkK
K0RFRklORV9BTklNQVRFRF9QUk9QRVJUWShBbmltYXRlZFJlY3QsIE93bmVyVHlwZSwgRE9NQXR0
cmlidXRlLCBET01BdHRyaWJ1dGUtPmxvY2FsTmFtZSgpLCBVcHBlclByb3BlcnR5LCBMb3dlclBy
b3BlcnR5KQogCiBjbGFzcyBTVkdBbmltYXRpb25FbGVtZW50OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRTdHJpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZFN0cmluZy5oCmluZGV4IDJjOGMzMzU0NjhlMDBkMWYyY2ViMThmMTFmYjQxNjlj
ZTU4Yzk5NTcuLjg2ZDA0MjI4NTRjMjY1YTBmMTQwMDM1YTIxODhlMjc5MGQ3YmM3ZTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFN0cmluZy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFN0cmluZy5oCkBAIC0zNSw3ICszNSw3IEBAIERFQ0xB
UkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5pbWF0ZWRTdHJpbmcsIFN0cmluZywgVXBwZXJQcm9w
ZXJ0eSwgTG93ZXJQcm9wZXJ0CiBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR0FuaW1hdGVk
U3RyaW5nLCBTdHJpbmcsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIG92ZXJyaWRlKQog
CiAjZGVmaW5lIERFRklORV9BTklNQVRFRF9TVFJJTkcoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUs
IFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKLURFRklORV9BTklNQVRFRF9QUk9QRVJU
WShBbmltYXRlZFN0cmluZywgT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5s
b2NhbE5hbWUoKSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKK0RFRklORV9BTklNQVRF
RF9QUk9QRVJUWShBbmltYXRlZFN0cmluZywgT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIERPTUF0
dHJpYnV0ZS0+bG9jYWxOYW1lKCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCiAKIGNs
YXNzIFNWR0FuaW1hdGlvbkVsZW1lbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZFRyYW5zZm9ybUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRlZFRyYW5zZm9ybUxpc3QuaAppbmRleCA0YzkwMjJhNWI5MWJmYWYwY2Y4ZTdjMDljNTZmNTMy
MmU0YTUzZjA4Li5lM2EzYTBmOTM0NWEzOTBlZGNhYTcwZWMwMzAxODAxMzhkZWJhODM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdC5oCkBAIC0zMiw3
ICszMiw3IEBAIHVzaW5nIFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdCA9IFNWR0FuaW1hdGVkVHJh
bnNmb3JtTGlzdFByb3BlcnR5VGVhck9mZjsKIERFQ0xBUkVfQU5JTUFURURfTElTVF9QUk9QRVJU
WShTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3QsIFNWR1RyYW5zZm9ybUxpc3RWYWx1ZXMsIFVwcGVy
UHJvcGVydHksIExvd2VyUHJvcGVydHkpCiAKICNkZWZpbmUgREVGSU5FX0FOSU1BVEVEX1RSQU5T
Rk9STV9MSVNUKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBVcHBlclByb3BlcnR5LCBMb3dlclBy
b3BlcnR5KSBcCi1ERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0
LCBPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLmxvY2FsTmFtZSgpLCBVcHBl
clByb3BlcnR5LCBMb3dlclByb3BlcnR5KQorREVGSU5FX0FOSU1BVEVEX1BST1BFUlRZKEFuaW1h
dGVkVHJhbnNmb3JtTGlzdCwgT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS0+
bG9jYWxOYW1lKCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCiAKIGNsYXNzIFNWR0Fu
aW1hdGlvbkVsZW1lbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRpb25FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50
LmNwcAppbmRleCBjYWM1ZDNkZDEwMjY2YTFiZTAzYTdjYzNlYzFjYTE5NTE1Zjk0YjhjLi4wNWE5
M2NiZTk4NzQzOTUzNDdhMDNmMjEzZWRiODIxZWRmMTdiNTJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwCkBAIC0xNDIsMTUgKzE0MiwxNSBAQCBib29sIFNW
R0FuaW1hdGlvbkVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIGF0dHJOYW1lKQogICAgICAgICBTVkdUZXN0czo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhz
ZXQpOwogICAgICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjphZGRTdXBwb3J0ZWRB
dHRyaWJ1dGVzKHNldCk7CiAgICAgICAgIHNldC5hZGQoewotICAgICAgICAgICAgU1ZHTmFtZXM6
OnZhbHVlc0F0dHIsCi0gICAgICAgICAgICBTVkdOYW1lczo6a2V5VGltZXNBdHRyLAotICAgICAg
ICAgICAgU1ZHTmFtZXM6OmtleVBvaW50c0F0dHIsCi0gICAgICAgICAgICBTVkdOYW1lczo6a2V5
U3BsaW5lc0F0dHIsCi0gICAgICAgICAgICBTVkdOYW1lczo6YXR0cmlidXRlVHlwZUF0dHIsCi0g
ICAgICAgICAgICBTVkdOYW1lczo6Y2FsY01vZGVBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6
OmZyb21BdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OnRvQXR0ciwKLSAgICAgICAgICAgIFNW
R05hbWVzOjpieUF0dHIsCisgICAgICAgICAgICBTVkdOYW1lczo6dmFsdWVzQXR0ci5nZXQoKSwK
KyAgICAgICAgICAgIFNWR05hbWVzOjprZXlUaW1lc0F0dHIuZ2V0KCksCisgICAgICAgICAgICBT
VkdOYW1lczo6a2V5UG9pbnRzQXR0ci5nZXQoKSwKKyAgICAgICAgICAgIFNWR05hbWVzOjprZXlT
cGxpbmVzQXR0ci5nZXQoKSwKKyAgICAgICAgICAgIFNWR05hbWVzOjphdHRyaWJ1dGVUeXBlQXR0
ci5nZXQoKSwKKyAgICAgICAgICAgIFNWR05hbWVzOjpjYWxjTW9kZUF0dHIuZ2V0KCksCisgICAg
ICAgICAgICBTVkdOYW1lczo6ZnJvbUF0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6
dG9BdHRyLmdldCgpLAorICAgICAgICAgICAgU1ZHTmFtZXM6OmJ5QXR0ci5nZXQoKSwKICAgICAg
ICAgfSk7CiAgICAgICAgIHJldHVybiBzZXQ7CiAgICAgfSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdDdXJzb3JFbGVtZW50LmNwcAppbmRleCBiNmE4MTUyZGU2ZDAxNThjOTEzMTcxNmY0YzBiYjM0
YzliM2JmNDI3Li41NTAyZDUxMjE2N2E5ZmM1ZjVhZjlkOTI5ZTYwYTk4Njk3OTMxMWM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuY3BwCkBAIC03MSw3ICs3MSw3IEBAIGJv
b2wgU1ZHQ3Vyc29yRWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgYXR0ck5hbWUpCiAgICAgICAgIFNWR1Rlc3RzOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVz
KHNldCk7CiAgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmFkZFN1cHBvcnRl
ZEF0dHJpYnV0ZXMoc2V0KTsKICAgICAgICAgU1ZHVVJJUmVmZXJlbmNlOjphZGRTdXBwb3J0ZWRB
dHRyaWJ1dGVzKHNldCk7Ci0gICAgICAgIHNldC5hZGQoeyBTVkdOYW1lczo6eEF0dHIsIFNWR05h
bWVzOjp5QXR0ciB9KTsKKyAgICAgICAgc2V0LmFkZCh7IFNWR05hbWVzOjp4QXR0ci5nZXQoKSwg
U1ZHTmFtZXM6OnlBdHRyLmdldCgpIH0pOwogICAgICAgICByZXR1cm4gc2V0OwogICAgIH0oKSk7
CiAgICAgcmV0dXJuIHN1cHBvcnRlZEF0dHJpYnV0ZXMuZ2V0KCkuY29udGFpbnM8U1ZHQXR0cmli
dXRlSGFzaFRyYW5zbGF0b3I+KGF0dHJOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcApp
bmRleCAyOTIxMTk0Nzc3NTZiYWQwN2Y3ODUxY2RmYmIxOWNhOWVlOTBiNTBhLi45ODk3MmM1ZDgy
NDRjMmE0YzAwZDI4YThjOGNkZTEyMGNjMzg3NWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQu
Y3BwCkBAIC03NSw3NyArNzUsNzcgQEAgc3RhdGljIE5FVkVSX0lOTElORSBIYXNoTWFwPEF0b21p
Y1N0cmluZ0ltcGwqLCBDU1NQcm9wZXJ0eUlEPiBjcmVhdGVBdHRyaWJ1dGVOYW0KIAogICAgIC8v
IFRoaXMgbGlzdCBzaG91bGQgaW5jbHVkZSBhbGwgYmFzZSBDU1MgYW5kIFNWRyBDU1MgcHJvcGVy
dGllcyB3aGljaCBhcmUgZXhwb3NlZCBhcyBTVkcgWE1MIGF0dHJpYnV0ZXMuCiAgICAgc3RhdGlj
IGNvbnN0IFF1YWxpZmllZE5hbWUqIGNvbnN0IGF0dHJpYnV0ZU5hbWVzW10gPSB7Ci0gICAgICAg
ICZhbGlnbm1lbnRfYmFzZWxpbmVBdHRyLAotICAgICAgICAmYmFzZWxpbmVfc2hpZnRBdHRyLAot
ICAgICAgICAmYnVmZmVyZWRfcmVuZGVyaW5nQXR0ciwKLSAgICAgICAgJmNsaXBBdHRyLAotICAg
ICAgICAmY2xpcF9wYXRoQXR0ciwKLSAgICAgICAgJmNsaXBfcnVsZUF0dHIsCi0gICAgICAgICZT
VkdOYW1lczo6Y29sb3JBdHRyLAotICAgICAgICAmY29sb3JfaW50ZXJwb2xhdGlvbkF0dHIsCi0g
ICAgICAgICZjb2xvcl9pbnRlcnBvbGF0aW9uX2ZpbHRlcnNBdHRyLAotICAgICAgICAmY29sb3Jf
cHJvZmlsZUF0dHIsCi0gICAgICAgICZjb2xvcl9yZW5kZXJpbmdBdHRyLAotICAgICAgICAmY3Vy
c29yQXR0ciwKLSAgICAgICAgJmN4QXR0ciwKLSAgICAgICAgJmN5QXR0ciwKLSAgICAgICAgJlNW
R05hbWVzOjpkaXJlY3Rpb25BdHRyLAotICAgICAgICAmZGlzcGxheUF0dHIsCi0gICAgICAgICZk
b21pbmFudF9iYXNlbGluZUF0dHIsCi0gICAgICAgICZlbmFibGVfYmFja2dyb3VuZEF0dHIsCi0g
ICAgICAgICZmaWxsQXR0ciwKLSAgICAgICAgJmZpbGxfb3BhY2l0eUF0dHIsCi0gICAgICAgICZm
aWxsX3J1bGVBdHRyLAotICAgICAgICAmZmlsdGVyQXR0ciwKLSAgICAgICAgJmZsb29kX2NvbG9y
QXR0ciwKLSAgICAgICAgJmZsb29kX29wYWNpdHlBdHRyLAotICAgICAgICAmZm9udF9mYW1pbHlB
dHRyLAotICAgICAgICAmZm9udF9zaXplQXR0ciwKLSAgICAgICAgJmZvbnRfc3RyZXRjaEF0dHIs
Ci0gICAgICAgICZmb250X3N0eWxlQXR0ciwKLSAgICAgICAgJmZvbnRfdmFyaWFudEF0dHIsCi0g
ICAgICAgICZmb250X3dlaWdodEF0dHIsCi0gICAgICAgICZnbHlwaF9vcmllbnRhdGlvbl9ob3Jp
em9udGFsQXR0ciwKLSAgICAgICAgJmdseXBoX29yaWVudGF0aW9uX3ZlcnRpY2FsQXR0ciwKLSAg
ICAgICAgJmltYWdlX3JlbmRlcmluZ0F0dHIsCi0gICAgICAgICZTVkdOYW1lczo6aGVpZ2h0QXR0
ciwKLSAgICAgICAgJmtlcm5pbmdBdHRyLAotICAgICAgICAmbGV0dGVyX3NwYWNpbmdBdHRyLAot
ICAgICAgICAmbGlnaHRpbmdfY29sb3JBdHRyLAotICAgICAgICAmbWFya2VyX2VuZEF0dHIsCi0g
ICAgICAgICZtYXJrZXJfbWlkQXR0ciwKLSAgICAgICAgJm1hcmtlcl9zdGFydEF0dHIsCi0gICAg
ICAgICZtYXNrQXR0ciwKLSAgICAgICAgJm1hc2tfdHlwZUF0dHIsCi0gICAgICAgICZvcGFjaXR5
QXR0ciwKLSAgICAgICAgJm92ZXJmbG93QXR0ciwKLSAgICAgICAgJnBhaW50X29yZGVyQXR0ciwK
LSAgICAgICAgJnBvaW50ZXJfZXZlbnRzQXR0ciwKLSAgICAgICAgJnJBdHRyLAotICAgICAgICAm
cnhBdHRyLAotICAgICAgICAmcnlBdHRyLAotICAgICAgICAmc2hhcGVfcmVuZGVyaW5nQXR0ciwK
LSAgICAgICAgJnN0b3BfY29sb3JBdHRyLAotICAgICAgICAmc3RvcF9vcGFjaXR5QXR0ciwKLSAg
ICAgICAgJnN0cm9rZUF0dHIsCi0gICAgICAgICZzdHJva2VfZGFzaGFycmF5QXR0ciwKLSAgICAg
ICAgJnN0cm9rZV9kYXNob2Zmc2V0QXR0ciwKLSAgICAgICAgJnN0cm9rZV9saW5lY2FwQXR0ciwK
LSAgICAgICAgJnN0cm9rZV9saW5lam9pbkF0dHIsCi0gICAgICAgICZzdHJva2VfbWl0ZXJsaW1p
dEF0dHIsCi0gICAgICAgICZzdHJva2Vfb3BhY2l0eUF0dHIsCi0gICAgICAgICZzdHJva2Vfd2lk
dGhBdHRyLAotICAgICAgICAmdGV4dF9hbmNob3JBdHRyLAotICAgICAgICAmdGV4dF9kZWNvcmF0
aW9uQXR0ciwKLSAgICAgICAgJnRleHRfcmVuZGVyaW5nQXR0ciwKLSAgICAgICAgJnVuaWNvZGVf
YmlkaUF0dHIsCi0gICAgICAgICZ2ZWN0b3JfZWZmZWN0QXR0ciwKLSAgICAgICAgJnZpc2liaWxp
dHlBdHRyLAotICAgICAgICAmU1ZHTmFtZXM6OndpZHRoQXR0ciwKLSAgICAgICAgJndvcmRfc3Bh
Y2luZ0F0dHIsCi0gICAgICAgICZ3cml0aW5nX21vZGVBdHRyLAotICAgICAgICAmeEF0dHIsCi0g
ICAgICAgICZ5QXR0ciwKKyAgICAgICAgJmFsaWdubWVudF9iYXNlbGluZUF0dHIuZ2V0KCksCisg
ICAgICAgICZiYXNlbGluZV9zaGlmdEF0dHIuZ2V0KCksCisgICAgICAgICZidWZmZXJlZF9yZW5k
ZXJpbmdBdHRyLmdldCgpLAorICAgICAgICAmY2xpcEF0dHIuZ2V0KCksCisgICAgICAgICZjbGlw
X3BhdGhBdHRyLmdldCgpLAorICAgICAgICAmY2xpcF9ydWxlQXR0ci5nZXQoKSwKKyAgICAgICAg
JlNWR05hbWVzOjpjb2xvckF0dHIuZ2V0KCksCisgICAgICAgICZjb2xvcl9pbnRlcnBvbGF0aW9u
QXR0ci5nZXQoKSwKKyAgICAgICAgJmNvbG9yX2ludGVycG9sYXRpb25fZmlsdGVyc0F0dHIuZ2V0
KCksCisgICAgICAgICZjb2xvcl9wcm9maWxlQXR0ci5nZXQoKSwKKyAgICAgICAgJmNvbG9yX3Jl
bmRlcmluZ0F0dHIuZ2V0KCksCisgICAgICAgICZjdXJzb3JBdHRyLmdldCgpLAorICAgICAgICAm
Y3hBdHRyLmdldCgpLAorICAgICAgICAmY3lBdHRyLmdldCgpLAorICAgICAgICAmU1ZHTmFtZXM6
OmRpcmVjdGlvbkF0dHIuZ2V0KCksCisgICAgICAgICZkaXNwbGF5QXR0ci5nZXQoKSwKKyAgICAg
ICAgJmRvbWluYW50X2Jhc2VsaW5lQXR0ci5nZXQoKSwKKyAgICAgICAgJmVuYWJsZV9iYWNrZ3Jv
dW5kQXR0ci5nZXQoKSwKKyAgICAgICAgJmZpbGxBdHRyLmdldCgpLAorICAgICAgICAmZmlsbF9v
cGFjaXR5QXR0ci5nZXQoKSwKKyAgICAgICAgJmZpbGxfcnVsZUF0dHIuZ2V0KCksCisgICAgICAg
ICZmaWx0ZXJBdHRyLmdldCgpLAorICAgICAgICAmZmxvb2RfY29sb3JBdHRyLmdldCgpLAorICAg
ICAgICAmZmxvb2Rfb3BhY2l0eUF0dHIuZ2V0KCksCisgICAgICAgICZmb250X2ZhbWlseUF0dHIu
Z2V0KCksCisgICAgICAgICZmb250X3NpemVBdHRyLmdldCgpLAorICAgICAgICAmZm9udF9zdHJl
dGNoQXR0ci5nZXQoKSwKKyAgICAgICAgJmZvbnRfc3R5bGVBdHRyLmdldCgpLAorICAgICAgICAm
Zm9udF92YXJpYW50QXR0ci5nZXQoKSwKKyAgICAgICAgJmZvbnRfd2VpZ2h0QXR0ci5nZXQoKSwK
KyAgICAgICAgJmdseXBoX29yaWVudGF0aW9uX2hvcml6b250YWxBdHRyLmdldCgpLAorICAgICAg
ICAmZ2x5cGhfb3JpZW50YXRpb25fdmVydGljYWxBdHRyLmdldCgpLAorICAgICAgICAmaW1hZ2Vf
cmVuZGVyaW5nQXR0ci5nZXQoKSwKKyAgICAgICAgJlNWR05hbWVzOjpoZWlnaHRBdHRyLmdldCgp
LAorICAgICAgICAma2VybmluZ0F0dHIuZ2V0KCksCisgICAgICAgICZsZXR0ZXJfc3BhY2luZ0F0
dHIuZ2V0KCksCisgICAgICAgICZsaWdodGluZ19jb2xvckF0dHIuZ2V0KCksCisgICAgICAgICZt
YXJrZXJfZW5kQXR0ci5nZXQoKSwKKyAgICAgICAgJm1hcmtlcl9taWRBdHRyLmdldCgpLAorICAg
ICAgICAmbWFya2VyX3N0YXJ0QXR0ci5nZXQoKSwKKyAgICAgICAgJm1hc2tBdHRyLmdldCgpLAor
ICAgICAgICAmbWFza190eXBlQXR0ci5nZXQoKSwKKyAgICAgICAgJm9wYWNpdHlBdHRyLmdldCgp
LAorICAgICAgICAmb3ZlcmZsb3dBdHRyLmdldCgpLAorICAgICAgICAmcGFpbnRfb3JkZXJBdHRy
LmdldCgpLAorICAgICAgICAmcG9pbnRlcl9ldmVudHNBdHRyLmdldCgpLAorICAgICAgICAmckF0
dHIuZ2V0KCksCisgICAgICAgICZyeEF0dHIuZ2V0KCksCisgICAgICAgICZyeUF0dHIuZ2V0KCks
CisgICAgICAgICZzaGFwZV9yZW5kZXJpbmdBdHRyLmdldCgpLAorICAgICAgICAmc3RvcF9jb2xv
ckF0dHIuZ2V0KCksCisgICAgICAgICZzdG9wX29wYWNpdHlBdHRyLmdldCgpLAorICAgICAgICAm
c3Ryb2tlQXR0ci5nZXQoKSwKKyAgICAgICAgJnN0cm9rZV9kYXNoYXJyYXlBdHRyLmdldCgpLAor
ICAgICAgICAmc3Ryb2tlX2Rhc2hvZmZzZXRBdHRyLmdldCgpLAorICAgICAgICAmc3Ryb2tlX2xp
bmVjYXBBdHRyLmdldCgpLAorICAgICAgICAmc3Ryb2tlX2xpbmVqb2luQXR0ci5nZXQoKSwKKyAg
ICAgICAgJnN0cm9rZV9taXRlcmxpbWl0QXR0ci5nZXQoKSwKKyAgICAgICAgJnN0cm9rZV9vcGFj
aXR5QXR0ci5nZXQoKSwKKyAgICAgICAgJnN0cm9rZV93aWR0aEF0dHIuZ2V0KCksCisgICAgICAg
ICZ0ZXh0X2FuY2hvckF0dHIuZ2V0KCksCisgICAgICAgICZ0ZXh0X2RlY29yYXRpb25BdHRyLmdl
dCgpLAorICAgICAgICAmdGV4dF9yZW5kZXJpbmdBdHRyLmdldCgpLAorICAgICAgICAmdW5pY29k
ZV9iaWRpQXR0ci5nZXQoKSwKKyAgICAgICAgJnZlY3Rvcl9lZmZlY3RBdHRyLmdldCgpLAorICAg
ICAgICAmdmlzaWJpbGl0eUF0dHIuZ2V0KCksCisgICAgICAgICZTVkdOYW1lczo6d2lkdGhBdHRy
LmdldCgpLAorICAgICAgICAmd29yZF9zcGFjaW5nQXR0ci5nZXQoKSwKKyAgICAgICAgJndyaXRp
bmdfbW9kZUF0dHIuZ2V0KCksCisgICAgICAgICZ4QXR0ci5nZXQoKSwKKyAgICAgICAgJnlBdHRy
LmdldCgpLAogICAgIH07CiAKICAgICBIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBDU1NQcm9w
ZXJ0eUlEPiBtYXA7CkBAIC0xNTcsNyArMTU3LDcgQEAgc3RhdGljIE5FVkVSX0lOTElORSBIYXNo
TWFwPEF0b21pY1N0cmluZ0ltcGwqLCBDU1NQcm9wZXJ0eUlEPiBjcmVhdGVBdHRyaWJ1dGVOYW0K
IAogICAgIC8vIEZJWE1FOiBXaGVuIENTUyBzdXBwb3J0cyAidHJhbnNmb3JtLW9yaWdpbiIgdGhp
cyBzcGVjaWFsIGNhc2UgY2FuIGJlIHJlbW92ZWQsCiAgICAgLy8gYW5kIHdlIGNhbiBhZGQgdHJh
bnNmb3JtX29yaWdpbkF0dHIgdG8gdGhlIHRhYmxlIGFib3ZlIGluc3RlYWQuCi0gICAgbWFwLmFk
ZCh0cmFuc2Zvcm1fb3JpZ2luQXR0ci5sb2NhbE5hbWUoKS5pbXBsKCksIENTU1Byb3BlcnR5VHJh
bnNmb3JtT3JpZ2luKTsKKyAgICBtYXAuYWRkKHRyYW5zZm9ybV9vcmlnaW5BdHRyLT5sb2NhbE5h
bWUoKS5pbXBsKCksIENTU1Byb3BlcnR5VHJhbnNmb3JtT3JpZ2luKTsKIAogICAgIHJldHVybiBt
YXA7CiB9CkBAIC02NTksMTEgKzY1OSwxMSBAQCBib29sIFNWR0VsZW1lbnQ6OmNoaWxkU2hvdWxk
Q3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYgY2hpbGQpIGNvbnN0CiAKICAgICBzdGF0aWMgY29u
c3QgUXVhbGlmaWVkTmFtZSogY29uc3QgaW52YWxpZFRleHRDb250ZW50W10gewogI2lmIEVOQUJM
RShTVkdfRk9OVFMpCi0gICAgICAgICZTVkdOYW1lczo6YWx0R2x5cGhUYWcsCisgICAgICAgICZT
VkdOYW1lczo6YWx0R2x5cGhUYWcuZ2V0KCksCiAjZW5kaWYKLSAgICAgICAgJlNWR05hbWVzOjp0
ZXh0UGF0aFRhZywKLSAgICAgICAgJlNWR05hbWVzOjp0cmVmVGFnLAotICAgICAgICAmU1ZHTmFt
ZXM6OnRzcGFuVGFnLAorICAgICAgICAmU1ZHTmFtZXM6OnRleHRQYXRoVGFnLmdldCgpLAorICAg
ICAgICAmU1ZHTmFtZXM6OnRyZWZUYWcuZ2V0KCksCisgICAgICAgICZTVkdOYW1lczo6dHNwYW5U
YWcuZ2V0KCksCiAgICAgfTsKICAgICBhdXRvJiBuYW1lID0gc3ZnQ2hpbGQubG9jYWxOYW1lKCk7
CiAgICAgZm9yIChhdXRvKiB0YWcgOiBpbnZhbGlkVGV4dENvbnRlbnQpIHsKQEAgLTc3MSwxMDAg
Kzc3MSwxMDAgQEAgUXVhbGlmaWVkTmFtZSBTVkdFbGVtZW50OjphbmltYXRhYmxlQXR0cmlidXRl
Rm9yTmFtZShjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsTmEKIHsKICAgICBzdGF0aWMgY29uc3Qg
YXV0byBhbmltYXRhYmxlQXR0cmlidXRlcyA9IG1ha2VOZXZlckRlc3Ryb3llZChbXSB7CiAgICAg
ICAgIHN0YXRpYyBjb25zdCBRdWFsaWZpZWROYW1lKiBjb25zdCBuYW1lc1tdID0gewotICAgICAg
ICAgICAgJkhUTUxOYW1lczo6Y2xhc3NBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjphbXBs
aXR1ZGVBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjphemltdXRoQXR0ciwKLSAgICAgICAg
ICAgICZTVkdOYW1lczo6YmFzZUZyZXF1ZW5jeUF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6
OmJpYXNBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpjbGlwUGF0aFVuaXRzQXR0ciwKLSAg
ICAgICAgICAgICZTVkdOYW1lczo6Y3hBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpjeUF0
dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OmRpZmZ1c2VDb25zdGFudEF0dHIsCi0gICAgICAg
ICAgICAmU1ZHTmFtZXM6OmRpdmlzb3JBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpkeEF0
dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OmR5QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1l
czo6ZWRnZU1vZGVBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjplbGV2YXRpb25BdHRyLAot
ICAgICAgICAgICAgJlNWR05hbWVzOjpleHBvbmVudEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFt
ZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVz
OjpmaWx0ZXJSZXNBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpmaWx0ZXJVbml0c0F0dHIs
Ci0gICAgICAgICAgICAmU1ZHTmFtZXM6OmZ4QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6
ZnlBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpncmFkaWVudFRyYW5zZm9ybUF0dHIsCi0g
ICAgICAgICAgICAmU1ZHTmFtZXM6OmdyYWRpZW50VW5pdHNBdHRyLAotICAgICAgICAgICAgJlNW
R05hbWVzOjpoZWlnaHRBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjppbjJBdHRyLAotICAg
ICAgICAgICAgJlNWR05hbWVzOjppbkF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OmludGVy
Y2VwdEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OmsxQXR0ciwKLSAgICAgICAgICAgICZT
VkdOYW1lczo6azJBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjprM0F0dHIsCi0gICAgICAg
ICAgICAmU1ZHTmFtZXM6Oms0QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6a2VybmVsTWF0
cml4QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6a2VybmVsVW5pdExlbmd0aEF0dHIsCi0g
ICAgICAgICAgICAmU1ZHTmFtZXM6Omxlbmd0aEFkanVzdEF0dHIsCi0gICAgICAgICAgICAmU1ZH
TmFtZXM6OmxpbWl0aW5nQ29uZUFuZ2xlQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6bWFy
a2VySGVpZ2h0QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6bWFya2VyVW5pdHNBdHRyLAot
ICAgICAgICAgICAgJlNWR05hbWVzOjptYXJrZXJXaWR0aEF0dHIsCi0gICAgICAgICAgICAmU1ZH
TmFtZXM6Om1hc2tDb250ZW50VW5pdHNBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjptYXNr
VW5pdHNBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjptZXRob2RBdHRyLAotICAgICAgICAg
ICAgJlNWR05hbWVzOjptb2RlQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6bnVtT2N0YXZl
c0F0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6Om9mZnNldEF0dHIsCi0gICAgICAgICAgICAm
U1ZHTmFtZXM6Om9wZXJhdG9yQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6b3JkZXJBdHRy
LAotICAgICAgICAgICAgJlNWR05hbWVzOjpvcmllbnRBdHRyLAotICAgICAgICAgICAgJlNWR05h
bWVzOjpwYXRoTGVuZ3RoQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6cGF0dGVybkNvbnRl
bnRVbml0c0F0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnBhdHRlcm5UcmFuc2Zvcm1BdHRy
LAotICAgICAgICAgICAgJlNWR05hbWVzOjpwYXR0ZXJuVW5pdHNBdHRyLAotICAgICAgICAgICAg
JlNWR05hbWVzOjpwb2ludHNBdFhBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpwb2ludHNB
dFlBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpwb2ludHNBdFpBdHRyLAotICAgICAgICAg
ICAgJlNWR05hbWVzOjpwcmVzZXJ2ZUFscGhhQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6
cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnByaW1pdGl2
ZVVuaXRzQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6cmFkaXVzQXR0ciwKLSAgICAgICAg
ICAgICZTVkdOYW1lczo6ckF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnJlZlhBdHRyLAot
ICAgICAgICAgICAgJlNWR05hbWVzOjpyZWZZQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6
cmVzdWx0QXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6cm90YXRlQXR0ciwKLSAgICAgICAg
ICAgICZTVkdOYW1lczo6cnhBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpyeUF0dHIsCi0g
ICAgICAgICAgICAmU1ZHTmFtZXM6OnNjYWxlQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6
c2VlZEF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnNsb3BlQXR0ciwKLSAgICAgICAgICAg
ICZTVkdOYW1lczo6c3BhY2luZ0F0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnNwZWN1bGFy
Q29uc3RhbnRBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpzcGVjdWxhckV4cG9uZW50QXR0
ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6c3ByZWFkTWV0aG9kQXR0ciwKLSAgICAgICAgICAg
ICZTVkdOYW1lczo6c3RhcnRPZmZzZXRBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpzdGRE
ZXZpYXRpb25BdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjpzdGl0Y2hUaWxlc0F0dHIsCi0g
ICAgICAgICAgICAmU1ZHTmFtZXM6OnN1cmZhY2VTY2FsZUF0dHIsCi0gICAgICAgICAgICAmU1ZH
TmFtZXM6OnRhYmxlVmFsdWVzQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6dGFyZ2V0QXR0
ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6dGFyZ2V0WEF0dHIsCi0gICAgICAgICAgICAmU1ZH
TmFtZXM6OnRhcmdldFlBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjp0cmFuc2Zvcm1BdHRy
LAotICAgICAgICAgICAgJlNWR05hbWVzOjp0eXBlQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1l
czo6dmFsdWVzQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6dmlld0JveEF0dHIsCi0gICAg
ICAgICAgICAmU1ZHTmFtZXM6OndpZHRoQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6eDFB
dHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjp4MkF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFt
ZXM6OnhBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjp4Q2hhbm5lbFNlbGVjdG9yQXR0ciwK
LSAgICAgICAgICAgICZTVkdOYW1lczo6eTFBdHRyLAotICAgICAgICAgICAgJlNWR05hbWVzOjp5
MkF0dHIsCi0gICAgICAgICAgICAmU1ZHTmFtZXM6OnlBdHRyLAotICAgICAgICAgICAgJlNWR05h
bWVzOjp5Q2hhbm5lbFNlbGVjdG9yQXR0ciwKLSAgICAgICAgICAgICZTVkdOYW1lczo6ekF0dHIs
Ci0gICAgICAgICAgICAmWExpbmtOYW1lczo6aHJlZkF0dHIsCisgICAgICAgICAgICAmSFRNTE5h
bWVzOjpjbGFzc0F0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OmFtcGxpdHVkZUF0
dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OmF6aW11dGhBdHRyLmdldCgpLAorICAg
ICAgICAgICAgJlNWR05hbWVzOjpiYXNlRnJlcXVlbmN5QXR0ci5nZXQoKSwKKyAgICAgICAgICAg
ICZTVkdOYW1lczo6Ymlhc0F0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OmNsaXBQ
YXRoVW5pdHNBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpjeEF0dHIuZ2V0KCks
CisgICAgICAgICAgICAmU1ZHTmFtZXM6OmN5QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdO
YW1lczo6ZGlmZnVzZUNvbnN0YW50QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6
ZGl2aXNvckF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OmR4QXR0ci5nZXQoKSwK
KyAgICAgICAgICAgICZTVkdOYW1lczo6ZHlBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05h
bWVzOjplZGdlTW9kZUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OmVsZXZhdGlv
bkF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OmV4cG9uZW50QXR0ci5nZXQoKSwK
KyAgICAgICAgICAgICZTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIuZ2V0
KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OmZpbHRlclJlc0F0dHIuZ2V0KCksCisgICAgICAg
ICAgICAmU1ZHTmFtZXM6OmZpbHRlclVuaXRzQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdO
YW1lczo6ZnhBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpmeUF0dHIuZ2V0KCks
CisgICAgICAgICAgICAmU1ZHTmFtZXM6OmdyYWRpZW50VHJhbnNmb3JtQXR0ci5nZXQoKSwKKyAg
ICAgICAgICAgICZTVkdOYW1lczo6Z3JhZGllbnRVbml0c0F0dHIuZ2V0KCksCisgICAgICAgICAg
ICAmU1ZHTmFtZXM6OmhlaWdodEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6Omlu
MkF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OmluQXR0ci5nZXQoKSwKKyAgICAg
ICAgICAgICZTVkdOYW1lczo6aW50ZXJjZXB0QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdO
YW1lczo6azFBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjprMkF0dHIuZ2V0KCks
CisgICAgICAgICAgICAmU1ZHTmFtZXM6OmszQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdO
YW1lczo6azRBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjprZXJuZWxNYXRyaXhB
dHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjprZXJuZWxVbml0TGVuZ3RoQXR0ci5n
ZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6bGVuZ3RoQWRqdXN0QXR0ci5nZXQoKSwKKyAg
ICAgICAgICAgICZTVkdOYW1lczo6bGltaXRpbmdDb25lQW5nbGVBdHRyLmdldCgpLAorICAgICAg
ICAgICAgJlNWR05hbWVzOjptYXJrZXJIZWlnaHRBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNW
R05hbWVzOjptYXJrZXJVbml0c0F0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6Om1h
cmtlcldpZHRoQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6bWFza0NvbnRlbnRV
bml0c0F0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6Om1hc2tVbml0c0F0dHIuZ2V0
KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6Om1ldGhvZEF0dHIuZ2V0KCksCisgICAgICAgICAg
ICAmU1ZHTmFtZXM6Om1vZGVBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpudW1P
Y3RhdmVzQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6b2Zmc2V0QXR0ci5nZXQo
KSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6b3BlcmF0b3JBdHRyLmdldCgpLAorICAgICAgICAg
ICAgJlNWR05hbWVzOjpvcmRlckF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6Om9y
aWVudEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnBhdGhMZW5ndGhBdHRyLmdl
dCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpwYXR0ZXJuQ29udGVudFVuaXRzQXR0ci5nZXQo
KSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6cGF0dGVyblRyYW5zZm9ybUF0dHIuZ2V0KCksCisg
ICAgICAgICAgICAmU1ZHTmFtZXM6OnBhdHRlcm5Vbml0c0F0dHIuZ2V0KCksCisgICAgICAgICAg
ICAmU1ZHTmFtZXM6OnBvaW50c0F0WEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6
OnBvaW50c0F0WUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnBvaW50c0F0WkF0
dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnByZXNlcnZlQWxwaGFBdHRyLmdldCgp
LAorICAgICAgICAgICAgJlNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ci5nZXQoKSwK
KyAgICAgICAgICAgICZTVkdOYW1lczo6cHJpbWl0aXZlVW5pdHNBdHRyLmdldCgpLAorICAgICAg
ICAgICAgJlNWR05hbWVzOjpyYWRpdXNBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVz
OjpyQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6cmVmWEF0dHIuZ2V0KCksCisg
ICAgICAgICAgICAmU1ZHTmFtZXM6OnJlZllBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05h
bWVzOjpyZXN1bHRBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpyb3RhdGVBdHRy
LmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpyeEF0dHIuZ2V0KCksCisgICAgICAgICAg
ICAmU1ZHTmFtZXM6OnJ5QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6c2NhbGVB
dHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpzZWVkQXR0ci5nZXQoKSwKKyAgICAg
ICAgICAgICZTVkdOYW1lczo6c2xvcGVBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVz
OjpzcGFjaW5nQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6c3BlY3VsYXJDb25z
dGFudEF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnNwZWN1bGFyRXhwb25lbnRB
dHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjpzcHJlYWRNZXRob2RBdHRyLmdldCgp
LAorICAgICAgICAgICAgJlNWR05hbWVzOjpzdGFydE9mZnNldEF0dHIuZ2V0KCksCisgICAgICAg
ICAgICAmU1ZHTmFtZXM6OnN0ZERldmlhdGlvbkF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZH
TmFtZXM6OnN0aXRjaFRpbGVzQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6c3Vy
ZmFjZVNjYWxlQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6dGFibGVWYWx1ZXNB
dHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjp0YXJnZXRBdHRyLmdldCgpLAorICAg
ICAgICAgICAgJlNWR05hbWVzOjp0YXJnZXRYQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdO
YW1lczo6dGFyZ2V0WUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnRyYW5zZm9y
bUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnR5cGVBdHRyLmdldCgpLAorICAg
ICAgICAgICAgJlNWR05hbWVzOjp2YWx1ZXNBdHRyLmdldCgpLAorICAgICAgICAgICAgJlNWR05h
bWVzOjp2aWV3Qm94QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6d2lkdGhBdHRy
LmdldCgpLAorICAgICAgICAgICAgJlNWR05hbWVzOjp4MUF0dHIuZ2V0KCksCisgICAgICAgICAg
ICAmU1ZHTmFtZXM6OngyQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6eEF0dHIu
Z2V0KCksCisgICAgICAgICAgICAmU1ZHTmFtZXM6OnhDaGFubmVsU2VsZWN0b3JBdHRyLmdldCgp
LAorICAgICAgICAgICAgJlNWR05hbWVzOjp5MUF0dHIuZ2V0KCksCisgICAgICAgICAgICAmU1ZH
TmFtZXM6OnkyQXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZTVkdOYW1lczo6eUF0dHIuZ2V0KCks
CisgICAgICAgICAgICAmU1ZHTmFtZXM6OnlDaGFubmVsU2VsZWN0b3JBdHRyLmdldCgpLAorICAg
ICAgICAgICAgJlNWR05hbWVzOjp6QXR0ci5nZXQoKSwKKyAgICAgICAgICAgICZYTGlua05hbWVz
OjpocmVmQXR0ci5nZXQoKSwKICAgICAgICAgfTsKICAgICAgICAgSGFzaE1hcDxBdG9taWNTdHJp
bmcsIFF1YWxpZmllZE5hbWU+IG1hcDsKICAgICAgICAgZm9yIChhdXRvJiBuYW1lIDogbmFtZXMp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAppbmRleCAxM2E5ODE0Njli
ZjEwMDY4ZTE4YmIzZTczYjk0MjNiN2JjZTA1NTViLi43OGI4YzEyYTAzMGNmYTY5NTZiYTc1MmI1
ZGNkMzQwMTRjNGQyNjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVy
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3Bw
CkBAIC0xMDksMTMgKzEwOSwxMyBAQCBib29sIFNWR0ZpbHRlckVsZW1lbnQ6OmlzU3VwcG9ydGVk
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICBTVkdMYW5n
U3BhY2U6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKICAgICAgICAgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZDo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhzZXQpOwogICAgICAgICBz
ZXQuYWRkKHsKLSAgICAgICAgICAgIFNWR05hbWVzOjpmaWx0ZXJVbml0c0F0dHIsCi0gICAgICAg
ICAgICBTVkdOYW1lczo6cHJpbWl0aXZlVW5pdHNBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6
OnhBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OnlBdHRyLAotICAgICAgICAgICAgU1ZHTmFt
ZXM6OndpZHRoQXR0ciwKLSAgICAgICAgICAgIFNWR05hbWVzOjpoZWlnaHRBdHRyLAotICAgICAg
ICAgICAgU1ZHTmFtZXM6OmZpbHRlclJlc0F0dHIsCisgICAgICAgICAgICBTVkdOYW1lczo6Zmls
dGVyVW5pdHNBdHRyLmdldCgpLAorICAgICAgICAgICAgU1ZHTmFtZXM6OnByaW1pdGl2ZVVuaXRz
QXR0ci5nZXQoKSwKKyAgICAgICAgICAgIFNWR05hbWVzOjp4QXR0ci5nZXQoKSwKKyAgICAgICAg
ICAgIFNWR05hbWVzOjp5QXR0ci5nZXQoKSwKKyAgICAgICAgICAgIFNWR05hbWVzOjp3aWR0aEF0
dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6aGVpZ2h0QXR0ci5nZXQoKSwKKyAgICAg
ICAgICAgIFNWR05hbWVzOjpmaWx0ZXJSZXNBdHRyLmdldCgpLAogICAgICAgICB9KTsKICAgICAg
ICAgcmV0dXJuIHNldDsKICAgICB9KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcAppbmRleCA3NGI2
ZGVlYjg2MDA3MzlkMzcwMGVlMjljMTZhODNkZjUzZjgwNmVkLi43N2EzYTk3MWE2YzcyZjBiZjlm
MWM4OGEzYzMzZjcwODVmYWFiZTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcApAQCAtNjQsMTEg
KzY0LDExIEBAIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6U1ZHRmlsdGVy
UHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKGNvbnN0CiBib29sIFNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlczo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgYXR0ck5hbWUpCiB7CiAgICAgc3RhdGljIGNvbnN0IGF1dG8gc3VwcG9ydGVkQXR0cmli
dXRlcyA9IG1ha2VOZXZlckRlc3Ryb3llZChIYXNoU2V0PFF1YWxpZmllZE5hbWU+IHsKLSAgICAg
ICAgU1ZHTmFtZXM6OnhBdHRyLAotICAgICAgICBTVkdOYW1lczo6eUF0dHIsCi0gICAgICAgIFNW
R05hbWVzOjp3aWR0aEF0dHIsCi0gICAgICAgIFNWR05hbWVzOjpoZWlnaHRBdHRyLAotICAgICAg
ICBTVkdOYW1lczo6cmVzdWx0QXR0ciwKKyAgICAgICAgU1ZHTmFtZXM6OnhBdHRyLmdldCgpLAor
ICAgICAgICBTVkdOYW1lczo6eUF0dHIuZ2V0KCksCisgICAgICAgIFNWR05hbWVzOjp3aWR0aEF0
dHIuZ2V0KCksCisgICAgICAgIFNWR05hbWVzOjpoZWlnaHRBdHRyLmdldCgpLAorICAgICAgICBT
VkdOYW1lczo6cmVzdWx0QXR0ci5nZXQoKSwKICAgICB9KTsKICAgICByZXR1cm4gc3VwcG9ydGVk
QXR0cmlidXRlcy5nZXQoKS5jb250YWluczxTVkdBdHRyaWJ1dGVIYXNoVHJhbnNsYXRvcj4oYXR0
ck5hbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmpl
Y3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVu
dC5jcHAKaW5kZXggZWQ3ZWJmMjZmNzM0YzQyNWVkZGU2Njg4NjE2ZTAyOGQwNTY2OTE2My4uNWU2
M2ZiNGQ4NGYwYmFkMjZiN2VjYzhhNzE4YzhjOTQ4ZWQwMjVjMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwCkBAIC03Myw3ICs3Myw3IEBAIGJv
b2wgU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIGF0dHJOYW1lCiAgICAgICAgIEhhc2hTZXQ8UXVhbGlmaWVkTmFtZT4gc2V0
OwogICAgICAgICBTVkdMYW5nU3BhY2U6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKICAg
ICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6YWRkU3VwcG9ydGVkQXR0cmlidXRl
cyhzZXQpOwotICAgICAgICBzZXQuYWRkKHsgU1ZHTmFtZXM6OnhBdHRyLCBTVkdOYW1lczo6eUF0
dHIsIFNWR05hbWVzOjp3aWR0aEF0dHIsIFNWR05hbWVzOjpoZWlnaHRBdHRyIH0pOworICAgICAg
ICBzZXQuYWRkKHsgU1ZHTmFtZXM6OnhBdHRyLmdldCgpLCBTVkdOYW1lczo6eUF0dHIuZ2V0KCks
IFNWR05hbWVzOjp3aWR0aEF0dHIuZ2V0KCksIFNWR05hbWVzOjpoZWlnaHRBdHRyLmdldCgpIH0p
OwogICAgICAgICByZXR1cm4gc2V0OwogICAgIH0oKSk7CiAgICAgcmV0dXJuIHN1cHBvcnRlZEF0
dHJpYnV0ZXMuZ2V0KCkuY29udGFpbnM8U1ZHQXR0cmlidXRlSGFzaFRyYW5zbGF0b3I+KGF0dHJO
YW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAKaW5kZXggYzYw
ZTNhYzI3ODA5NTMwY2ZkMzBmMTgzNWNmYWFmMWQ5YzY3MTE1Ni4uNDc0NDJjZmUzZWU4YTNhZmI3
NGE2MjljZjAyNzM4NDE4NjVhY2Q1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0dyYWRpZW50RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50
RWxlbWVudC5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgYm9vbCBTVkdHcmFkaWVudEVsZW1lbnQ6Omlz
U3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAg
ICBIYXNoU2V0PFF1YWxpZmllZE5hbWU+IHNldDsKICAgICAgICAgU1ZHVVJJUmVmZXJlbmNlOjph
ZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNldCk7CiAgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQ6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKLSAgICAgICAgc2V0LmFkZCh7
IFNWR05hbWVzOjpncmFkaWVudFVuaXRzQXR0ciwgU1ZHTmFtZXM6OmdyYWRpZW50VHJhbnNmb3Jt
QXR0ciwgU1ZHTmFtZXM6OnNwcmVhZE1ldGhvZEF0dHIgfSk7CisgICAgICAgIHNldC5hZGQoeyBT
VkdOYW1lczo6Z3JhZGllbnRVbml0c0F0dHIuZ2V0KCksIFNWR05hbWVzOjpncmFkaWVudFRyYW5z
Zm9ybUF0dHIuZ2V0KCksIFNWR05hbWVzOjpzcHJlYWRNZXRob2RBdHRyLmdldCgpIH0pOwogICAg
ICAgICByZXR1cm4gc2V0OwogICAgIH0oKSk7CiAgICAgcmV0dXJuIHN1cHBvcnRlZEF0dHJpYnV0
ZXMuZ2V0KCkuY29udGFpbnM8U1ZHQXR0cmlidXRlSGFzaFRyYW5zbGF0b3I+KGF0dHJOYW1lKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAKaW5kZXggMWQxMzVlNDBjNWUwMmY1
MDA3OTliOTg5ZTY2MmY3MTBmNGNhZjhkOS4uNDI4YWY4MGQyZjgxMGU3YzMyNmE0NjkwMWQyYWQz
MzE3ZDYyNmIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAKQEAgLTg1
LDcgKzg1LDcgQEAgYm9vbCBTVkdJbWFnZUVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICBTVkdMYW5nU3BhY2U6OmFkZFN1
cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKICAgICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZDo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhzZXQpOwogICAgICAgICBTVkdVUklSZWZlcmVu
Y2U6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKLSAgICAgICAgc2V0LmFkZCh7IFNWR05h
bWVzOjp4QXR0ciwgU1ZHTmFtZXM6OnlBdHRyLCBTVkdOYW1lczo6d2lkdGhBdHRyLCBTVkdOYW1l
czo6aGVpZ2h0QXR0ciwgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyIH0pOworICAg
ICAgICBzZXQuYWRkKHsgU1ZHTmFtZXM6OnhBdHRyLmdldCgpLCBTVkdOYW1lczo6eUF0dHIuZ2V0
KCksIFNWR05hbWVzOjp3aWR0aEF0dHIuZ2V0KCksIFNWR05hbWVzOjpoZWlnaHRBdHRyLmdldCgp
LCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIuZ2V0KCkgfSk7CiAgICAgICAgIHJl
dHVybiBzZXQ7CiAgICAgfSgpKTsKICAgICByZXR1cm4gc3VwcG9ydGVkQXR0cmlidXRlcy5nZXQo
KS5jb250YWluczxTVkdBdHRyaWJ1dGVIYXNoVHJhbnNsYXRvcj4oYXR0ck5hbWUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5jcHAKaW5kZXggNTkwNDE4OGY2ZDZkMWJmZTNjODVmNDc5
MGE3Y2NhM2IwNDcyNzFmNC4uMzUzODU4NTUwOGMzNmNkM2RmMmM1YjQwNTI2NzY3NjY4ZDQwMjFj
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuY3BwCkBAIC02OCw3ICs2OCw3IEBA
IGJvb2wgU1ZHTGluZUVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICBIYXNoU2V0PFF1YWxpZmllZE5hbWU+IHNldDsKICAg
ICAgICAgU1ZHTGFuZ1NwYWNlOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNldCk7CiAgICAgICAg
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0
KTsKLSAgICAgICAgc2V0LmFkZCh7IFNWR05hbWVzOjp4MUF0dHIsIFNWR05hbWVzOjp4MkF0dHIs
IFNWR05hbWVzOjp5MUF0dHIsIFNWR05hbWVzOjp5MkF0dHIgfSk7CisgICAgICAgIHNldC5hZGQo
eyBTVkdOYW1lczo6eDFBdHRyLmdldCgpLCBTVkdOYW1lczo6eDJBdHRyLmdldCgpLCBTVkdOYW1l
czo6eTFBdHRyLmdldCgpLCBTVkdOYW1lczo6eTJBdHRyLmdldCgpIH0pOwogICAgICAgICByZXR1
cm4gc2V0OwogICAgIH0oKSk7CiAgICAgcmV0dXJuIHN1cHBvcnRlZEF0dHJpYnV0ZXMuZ2V0KCku
Y29udGFpbnM8U1ZHQXR0cmlidXRlSGFzaFRyYW5zbGF0b3I+KGF0dHJOYW1lKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAppbmRleCA0MTRjNGM2M2YzNjI2ZWFiOGJjZmVl
YTdmYjRjNmZlMmU5MWVjNzM3Li5jN2UyMGYxZGE4ZmVhMjRiNThmNTk3N2M0NWJkYTY3ODJkOTg2
OWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCkBAIC0xMTMsMTIg
KzExMywxMiBAQCBib29sIFNWR01hcmtlckVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNldCk7CiAgICAgICAgIFNWR0ZpdFRv
Vmlld0JveDo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhzZXQpOwogICAgICAgICBzZXQuYWRkKHsK
LSAgICAgICAgICAgIFNWR05hbWVzOjptYXJrZXJVbml0c0F0dHIsCi0gICAgICAgICAgICBTVkdO
YW1lczo6cmVmWEF0dHIsCi0gICAgICAgICAgICBTVkdOYW1lczo6cmVmWUF0dHIsCi0gICAgICAg
ICAgICBTVkdOYW1lczo6bWFya2VyV2lkdGhBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6Om1h
cmtlckhlaWdodEF0dHIsCi0gICAgICAgICAgICBTVkdOYW1lczo6b3JpZW50QXR0ciwKKyAgICAg
ICAgICAgIFNWR05hbWVzOjptYXJrZXJVbml0c0F0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdO
YW1lczo6cmVmWEF0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6cmVmWUF0dHIuZ2V0
KCksCisgICAgICAgICAgICBTVkdOYW1lczo6bWFya2VyV2lkdGhBdHRyLmdldCgpLAorICAgICAg
ICAgICAgU1ZHTmFtZXM6Om1hcmtlckhlaWdodEF0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdO
YW1lczo6b3JpZW50QXR0ci5nZXQoKSwKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybiBzZXQ7
CiAgICAgfSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCmluZGV4IGNhMDg1
ODA4MjVlMDliM2U0MDVkMDE5YzdiOGMxN2U1YjM0OWU0OTIuLjBhMjhiYzE5NWZmNmM0ZDBiZjc3
NzFjYjNlNzA5MDQyOGY2ZTEwZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdN
YXNrRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNw
cApAQCAtODQsMTMgKzg0LDEzIEBAIGJvb2wgU1ZHTWFza0VsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICBTVkdMYW5nU3Bh
Y2U6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKICAgICAgICAgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZDo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhzZXQpOwogICAgICAgICBzZXQu
YWRkKHsKLSAgICAgICAgICAgIFNWR05hbWVzOjptYXNrVW5pdHNBdHRyLAotICAgICAgICAgICAg
U1ZHTmFtZXM6Om1hc2tDb250ZW50VW5pdHNBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OnJl
ZllBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OnhBdHRyLAotICAgICAgICAgICAgU1ZHTmFt
ZXM6OnlBdHRyLAotICAgICAgICAgICAgU1ZHTmFtZXM6OndpZHRoQXR0ciwKLSAgICAgICAgICAg
IFNWR05hbWVzOjpoZWlnaHRBdHRyLAorICAgICAgICAgICAgU1ZHTmFtZXM6Om1hc2tVbml0c0F0
dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6bWFza0NvbnRlbnRVbml0c0F0dHIuZ2V0
KCksCisgICAgICAgICAgICBTVkdOYW1lczo6cmVmWUF0dHIuZ2V0KCksCisgICAgICAgICAgICBT
VkdOYW1lczo6eEF0dHIuZ2V0KCksCisgICAgICAgICAgICBTVkdOYW1lczo6eUF0dHIuZ2V0KCks
CisgICAgICAgICAgICBTVkdOYW1lczo6d2lkdGhBdHRyLmdldCgpLAorICAgICAgICAgICAgU1ZH
TmFtZXM6OmhlaWdodEF0dHIuZ2V0KCksCiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm4gc2V0
OwogICAgIH0oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAppbmRleCBjMmRk
ODQ5MzUxMTY1ZGMxZjJkZmE1NTA5NmIwMzg2OGMzNzg5OTNkLi4wNjMxYTU1MjcyZmIxZGNmZjFm
MjIzMWE2ZTVhZmZmMWM2YTUxM2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0aEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5j
cHAKQEAgLTU4LDExICs1OCwxMSBAQCBjb25zdCBTVkdQcm9wZXJ0eUluZm8qIFNWR1BhdGhFbGVt
ZW50OjpkUHJvcGVydHlJbmZvKCkKICAgICBzdGF0aWMgY29uc3QgU1ZHUHJvcGVydHlJbmZvKiBz
X3Byb3BlcnR5SW5mbyA9IG51bGxwdHI7CiAgICAgaWYgKCFzX3Byb3BlcnR5SW5mbykgewogICAg
ICAgICBzX3Byb3BlcnR5SW5mbyA9IG5ldyBTVkdQcm9wZXJ0eUluZm8oQW5pbWF0ZWRQYXRoLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlJc1Jl
YWRXcml0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNW
R05hbWVzOjpkQXR0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFNWR05hbWVzOjpkQXR0ci5sb2NhbE5hbWUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZTVkdQYXRoRWxlbWVudDo6c3luY2hyb25pemVELAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlNWR1BhdGhFbGVtZW50
Ojpsb29rdXBPckNyZWF0ZURXcmFwcGVyKTsKKyAgICAgICAgICAgIFByb3BlcnR5SXNSZWFkV3Jp
dGUsCisgICAgICAgICAgICBTVkdOYW1lczo6ZEF0dHIsCisgICAgICAgICAgICBTVkdOYW1lczo6
ZEF0dHItPmxvY2FsTmFtZSgpLAorICAgICAgICAgICAgJlNWR1BhdGhFbGVtZW50OjpzeW5jaHJv
bml6ZUQsCisgICAgICAgICAgICAmU1ZHUGF0aEVsZW1lbnQ6Omxvb2t1cE9yQ3JlYXRlRFdyYXBw
ZXIpOwogICAgIH0KICAgICByZXR1cm4gc19wcm9wZXJ0eUluZm87CiB9CkBAIC0yMTQsNyArMjE0
LDcgQEAgYm9vbCBTVkdQYXRoRWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgICAgIEhhc2hTZXQ8UXVhbGlmaWVkTmFtZT4gc2V0
OwogICAgICAgICBTVkdMYW5nU3BhY2U6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKICAg
ICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6YWRkU3VwcG9ydGVkQXR0cmlidXRl
cyhzZXQpOwotICAgICAgICBzZXQuYWRkKHsgU1ZHTmFtZXM6OmRBdHRyLCBTVkdOYW1lczo6cGF0
aExlbmd0aEF0dHIgfSk7CisgICAgICAgIHNldC5hZGQoeyBTVkdOYW1lczo6ZEF0dHIuZ2V0KCks
IFNWR05hbWVzOjpwYXRoTGVuZ3RoQXR0ci5nZXQoKSB9KTsKICAgICAgICAgcmV0dXJuIHNldDsK
ICAgICB9KCkpOwogICAgIHJldHVybiBzdXBwb3J0ZWRBdHRyaWJ1dGVzLmdldCgpLmNvbnRhaW5z
PFNWR0F0dHJpYnV0ZUhhc2hUcmFuc2xhdG9yPihhdHRyTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdHRlcm5FbGVtZW50LmNwcAppbmRleCAzZmVhODgxNDk4MmMyZjQ5MTc4OTc2MmU3OWQ2
NDdiMTc5ZTBiZjdhLi4yZTAyYTA2MzAwNjY4ODM0ZWE1YmJhNzVkMGYxZDNjZWI2Y2IzMmJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAKQEAgLTk5LDggKzk5LDgg
QEAgYm9vbCBTVkdQYXR0ZXJuRWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQ6OmFkZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKICAgICAgICAgU1ZHRml0VG9WaWV3Qm94
OjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNldCk7CiAgICAgICAgIHNldC5hZGQoewotICAgICAg
ICAgICAgU1ZHTmFtZXM6OnBhdHRlcm5Vbml0c0F0dHIsIFNWR05hbWVzOjpwYXR0ZXJuQ29udGVu
dFVuaXRzQXR0ciwgU1ZHTmFtZXM6OnBhdHRlcm5UcmFuc2Zvcm1BdHRyLAotICAgICAgICAgICAg
U1ZHTmFtZXM6OnhBdHRyLCBTVkdOYW1lczo6eUF0dHIsIFNWR05hbWVzOjp3aWR0aEF0dHIsIFNW
R05hbWVzOjpoZWlnaHRBdHRyLAorICAgICAgICAgICAgU1ZHTmFtZXM6OnBhdHRlcm5Vbml0c0F0
dHIuZ2V0KCksIFNWR05hbWVzOjpwYXR0ZXJuQ29udGVudFVuaXRzQXR0ci5nZXQoKSwgU1ZHTmFt
ZXM6OnBhdHRlcm5UcmFuc2Zvcm1BdHRyLmdldCgpLAorICAgICAgICAgICAgU1ZHTmFtZXM6OnhB
dHRyLmdldCgpLCBTVkdOYW1lczo6eUF0dHIuZ2V0KCksIFNWR05hbWVzOjp3aWR0aEF0dHIuZ2V0
KCksIFNWR05hbWVzOjpoZWlnaHRBdHRyLmdldCgpLAogICAgICAgICB9KTsKICAgICAgICAgcmV0
dXJuIHNldDsKICAgICB9KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bv
bHlFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5jcHAKaW5k
ZXggOTc3Y2Y5ZjA4ZjI1NjU1MmFkMTc0OTRlZGU5ZWZlZWM0NjY1ZWExYS4uOTIyNWRjMGJhNzcz
NDEyNzQyMDg1MmZkNzNjYzlmZDFiNTRjMmEwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BvbHlFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9seUVs
ZW1lbnQuY3BwCkBAIC0zOSwxMSArMzksMTEgQEAgY29uc3QgU1ZHUHJvcGVydHlJbmZvKiBTVkdQ
b2x5RWxlbWVudDo6cG9pbnRzUHJvcGVydHlJbmZvKCkKICAgICBzdGF0aWMgY29uc3QgU1ZHUHJv
cGVydHlJbmZvKiBzX3Byb3BlcnR5SW5mbyA9IG51bGxwdHI7CiAgICAgaWYgKCFzX3Byb3BlcnR5
SW5mbykgewogICAgICAgICBzX3Byb3BlcnR5SW5mbyA9IG5ldyBTVkdQcm9wZXJ0eUluZm8oQW5p
bWF0ZWRQb2ludHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBQcm9wZXJ0eUlzUmVhZFdyaXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgU1ZHTmFtZXM6OnBvaW50c0F0dHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBTVkdOYW1lczo6cG9pbnRzQXR0ci5sb2NhbE5hbWUoKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZTVkdQb2x5RWxl
bWVudDo6c3luY2hyb25pemVQb2ludHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmU1ZHUG9seUVsZW1lbnQ6Omxvb2t1cE9yQ3JlYXRlUG9pbnRzV3JhcHBl
cik7CisgICAgICAgICAgICBQcm9wZXJ0eUlzUmVhZFdyaXRlLAorICAgICAgICAgICAgU1ZHTmFt
ZXM6OnBvaW50c0F0dHIsCisgICAgICAgICAgICBTVkdOYW1lczo6cG9pbnRzQXR0ci0+bG9jYWxO
YW1lKCksCisgICAgICAgICAgICAmU1ZHUG9seUVsZW1lbnQ6OnN5bmNocm9uaXplUG9pbnRzLAor
ICAgICAgICAgICAgJlNWR1BvbHlFbGVtZW50Ojpsb29rdXBPckNyZWF0ZVBvaW50c1dyYXBwZXIp
OwogICAgIH0KICAgICByZXR1cm4gc19wcm9wZXJ0eUluZm87CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwCmluZGV4IDAxNTlkMWMwMTU2MGY4
YjNlOGVjNzUyOTY5MGMyNmE0OTcxOWZhZmYuLmM5ZDlkY2MwOTQ0NjMyMzRkZDkxZDk2Nzk3YjRh
NTUxMzc2MzRjMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVu
dEVsZW1lbnQuY3BwCkBAIC03NSw3ICs3NSw3IEBAIFJlZjxTVkdSYWRpYWxHcmFkaWVudEVsZW1l
bnQ+IFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hCiBi
b29sIFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiB7CiAgICAgc3RhdGljIGNvbnN0IGF1dG8gc3VwcG9y
dGVkQXR0cmlidXRlcyA9IG1ha2VOZXZlckRlc3Ryb3llZChIYXNoU2V0PFF1YWxpZmllZE5hbWU+
IHsKLSAgICAgICAgU1ZHTmFtZXM6OmN4QXR0ciwgU1ZHTmFtZXM6OmN5QXR0ciwgU1ZHTmFtZXM6
OmZ4QXR0ciwgU1ZHTmFtZXM6OmZ5QXR0ciwgU1ZHTmFtZXM6OnJBdHRyLCBTVkdOYW1lczo6ZnJB
dHRyLAorICAgICAgICBTVkdOYW1lczo6Y3hBdHRyLmdldCgpLCBTVkdOYW1lczo6Y3lBdHRyLmdl
dCgpLCBTVkdOYW1lczo6ZnhBdHRyLmdldCgpLCBTVkdOYW1lczo6ZnlBdHRyLmdldCgpLCBTVkdO
YW1lczo6ckF0dHIuZ2V0KCksIFNWR05hbWVzOjpmckF0dHIuZ2V0KCksCiAgICAgfSk7CiAgICAg
cmV0dXJuIHN1cHBvcnRlZEF0dHJpYnV0ZXMuZ2V0KCkuY29udGFpbnM8U1ZHQXR0cmlidXRlSGFz
aFRyYW5zbGF0b3I+KGF0dHJOYW1lKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRD
b250ZW50RWxlbWVudC5jcHAKaW5kZXggZWQ1MTQ4N2RjYTkxYjAwOGE5NjBjM2FiMDg5MzIxMjNh
M2E0YzY3Mi4uMmQ4YzcwZGZjMjI2YzljMzdlYzlmOWM5YzI0ZjNmZWFmYmRhZjViNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKQEAgLTQ0LDExICs0
NCwxMSBAQCBjb25zdCBTVkdQcm9wZXJ0eUluZm8qIFNWR1RleHRDb250ZW50RWxlbWVudDo6dGV4
dExlbmd0aFByb3BlcnR5SW5mbygpCiAgICAgc3RhdGljIGNvbnN0IFNWR1Byb3BlcnR5SW5mbyog
c19wcm9wZXJ0eUluZm8gPSBudWxscHRyOwogICAgIGlmICghc19wcm9wZXJ0eUluZm8pIHsKICAg
ICAgICAgc19wcm9wZXJ0eUluZm8gPSBuZXcgU1ZHUHJvcGVydHlJbmZvKEFuaW1hdGVkTGVuZ3Ro
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlJ
c1JlYWRXcml0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFNWR05hbWVzOjp0ZXh0TGVuZ3RoQXR0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFNWR05hbWVzOjp0ZXh0TGVuZ3RoQXR0ci5sb2NhbE5hbWUoKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZTVkdUZXh0Q29udGVu
dEVsZW1lbnQ6OnN5bmNocm9uaXplVGV4dExlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZTVkdUZXh0Q29udGVudEVsZW1lbnQ6Omxvb2t1cE9yQ3Jl
YXRlVGV4dExlbmd0aFdyYXBwZXIpOworICAgICAgICAgICAgUHJvcGVydHlJc1JlYWRXcml0ZSwK
KyAgICAgICAgICAgIFNWR05hbWVzOjp0ZXh0TGVuZ3RoQXR0ciwKKyAgICAgICAgICAgIFNWR05h
bWVzOjp0ZXh0TGVuZ3RoQXR0ci0+bG9jYWxOYW1lKCksCisgICAgICAgICAgICAmU1ZHVGV4dENv
bnRlbnRFbGVtZW50OjpzeW5jaHJvbml6ZVRleHRMZW5ndGgsCisgICAgICAgICAgICAmU1ZHVGV4
dENvbnRlbnRFbGVtZW50Ojpsb29rdXBPckNyZWF0ZVRleHRMZW5ndGhXcmFwcGVyKTsKICAgICB9
CiAgICAgcmV0dXJuIHNfcHJvcGVydHlJbmZvOwogfQpAQCAtMTk0LDcgKzE5NCw3IEBAIGJvb2wg
U1ZHVGV4dENvbnRlbnRFbGVtZW50Ojppc1N1cHBvcnRlZEF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiBhdHRyTmFtZSkKICAgICAgICAgSGFzaFNldDxRdWFsaWZpZWROYW1lPiBzZXQ7CiAg
ICAgICAgIFNWR0xhbmdTcGFjZTo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhzZXQpOwogICAgICAg
ICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjphZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKHNl
dCk7Ci0gICAgICAgIHNldC5hZGQoeyBTVkdOYW1lczo6bGVuZ3RoQWRqdXN0QXR0ciwgU1ZHTmFt
ZXM6OnRleHRMZW5ndGhBdHRyIH0pOworICAgICAgICBzZXQuYWRkKHsgU1ZHTmFtZXM6Omxlbmd0
aEFkanVzdEF0dHIuZ2V0KCksIFNWR05hbWVzOjp0ZXh0TGVuZ3RoQXR0ci5nZXQoKSB9KTsKICAg
ICAgICAgcmV0dXJuIHNldDsKICAgICB9KCkpOwogICAgIHJldHVybiBzdXBwb3J0ZWRBdHRyaWJ1
dGVzLmdldCgpLmNvbnRhaW5zPFNWR0F0dHJpYnV0ZUhhc2hUcmFuc2xhdG9yPihhdHRyTmFtZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwCmluZGV4IGRlYzNlZjY3
ZWEwNzNjYzMwNmE2YjZjMWEyMWFmMGZhMWMzYjUyNTIuLmU4YWE4ODZmMjdkZGQ5NzEzMGRjOThj
Y2MzNWQ0MmFlMWZlMTQxNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0
UGF0aEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1l
bnQuY3BwCkBAIC03NCw3ICs3NCw3IEBAIGJvb2wgU1ZHVGV4dFBhdGhFbGVtZW50Ojppc1N1cHBv
cnRlZEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKICAgICBzdGF0aWMg
Y29uc3QgYXV0byBzdXBwb3J0ZWRBdHRyaWJ1dGVzID0gbWFrZU5ldmVyRGVzdHJveWVkKFtdIHsK
ICAgICAgICAgSGFzaFNldDxRdWFsaWZpZWROYW1lPiBzZXQ7CiAgICAgICAgIFNWR1VSSVJlZmVy
ZW5jZTo6YWRkU3VwcG9ydGVkQXR0cmlidXRlcyhzZXQpOwotICAgICAgICBzZXQuYWRkKHsgU1ZH
TmFtZXM6OnN0YXJ0T2Zmc2V0QXR0ciwgU1ZHTmFtZXM6Om1ldGhvZEF0dHIsIFNWR05hbWVzOjpz
cGFjaW5nQXR0ciB9KTsKKyAgICAgICAgc2V0LmFkZCh7IFNWR05hbWVzOjpzdGFydE9mZnNldEF0
dHIuZ2V0KCksIFNWR05hbWVzOjptZXRob2RBdHRyLmdldCgpLCBTVkdOYW1lczo6c3BhY2luZ0F0
dHIuZ2V0KCkgfSk7CiAgICAgICAgIHJldHVybiBzZXQ7CiAgICAgfSgpKTsKICAgICByZXR1cm4g
c3VwcG9ydGVkQXR0cmlidXRlcy5nZXQoKS5jb250YWluczxTVkdBdHRyaWJ1dGVIYXNoVHJhbnNs
YXRvcj4oYXR0ck5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCmluZGV4IGIx
OWNiNDU2ZGYzMTdjN2NiZGM5NWU5MzUzNjc3NThkYzRhMGU2NTQuLjZlMjg2MzQ4NDFjZTQ4NDI2
MWQwZDdmZTM4ZTAxMjAyMGYzODVhYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdVc2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5j
cHAKQEAgLTE5Nyw3ICsxOTcsNyBAQCBzdGF0aWMgSGFzaFNldDxBdG9taWNTdHJpbmc+IGNyZWF0
ZUFsbG93ZWRFbGVtZW50U2V0KCkKICAgICAvLyBFeGNsdWRlZCBhcmUgYW55dGhpbmcgdGhhdCBp
cyB1c2VkIGJ5IHJlZmVyZW5jZSBvciB0aGF0IG9ubHkgbWFrZSBzZW5zZSB0byBhcHBlYXIgb25j
ZSBpbiBhIGRvY3VtZW50LgogICAgIHVzaW5nIG5hbWVzcGFjZSBTVkdOYW1lczsKICAgICBIYXNo
U2V0PEF0b21pY1N0cmluZz4gc2V0OwotICAgIGZvciAoYXV0byYgdGFnIDogeyBhVGFnLCBjaXJj
bGVUYWcsIGRlc2NUYWcsIGVsbGlwc2VUYWcsIGdUYWcsIGltYWdlVGFnLCBsaW5lVGFnLCBtZXRh
ZGF0YVRhZywgcGF0aFRhZywgcG9seWdvblRhZywgcG9seWxpbmVUYWcsIHJlY3RUYWcsIHN2Z1Rh
Zywgc3dpdGNoVGFnLCBzeW1ib2xUYWcsIHRleHRUYWcsIHRleHRQYXRoVGFnLCB0aXRsZVRhZywg
dHJlZlRhZywgdHNwYW5UYWcsIHVzZVRhZyB9KQorICAgIGZvciAoYXV0byYgdGFnIDogeyBhVGFn
LmdldCgpLCBjaXJjbGVUYWcuZ2V0KCksIGRlc2NUYWcuZ2V0KCksIGVsbGlwc2VUYWcuZ2V0KCks
IGdUYWcuZ2V0KCksIGltYWdlVGFnLmdldCgpLCBsaW5lVGFnLmdldCgpLCBtZXRhZGF0YVRhZy5n
ZXQoKSwgcGF0aFRhZy5nZXQoKSwgcG9seWdvblRhZy5nZXQoKSwgcG9seWxpbmVUYWcuZ2V0KCks
IHJlY3RUYWcuZ2V0KCksIHN2Z1RhZy5nZXQoKSwgc3dpdGNoVGFnLmdldCgpLCBzeW1ib2xUYWcu
Z2V0KCksIHRleHRUYWcuZ2V0KCksIHRleHRQYXRoVGFnLmdldCgpLCB0aXRsZVRhZy5nZXQoKSwg
dHJlZlRhZy5nZXQoKSwgdHNwYW5UYWcuZ2V0KCksIHVzZVRhZy5nZXQoKSB9KQogICAgICAgICBz
ZXQuYWRkKHRhZy5sb2NhbE5hbWUoKSk7CiAgICAgcmV0dXJuIHNldDsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3htbC9OYXRpdmVYUGF0aE5TUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUveG1sL05hdGl2ZVhQYXRoTlNSZXNvbHZlci5jcHAKaW5kZXggMjcwY2E5ZDFjYjVkNmI5
ODIzMmZmYzBlYjY5MjM0MjgwMTE0ZmEzOS4uMTRmNTE5NDY1ZmUxNzdmZTM1MjcyODAxMzMxNWNk
MGViMTE4ZTFiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL05hdGl2ZVhQYXRoTlNS
ZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL05hdGl2ZVhQYXRoTlNSZXNvbHZl
ci5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgU3RyaW5nIE5hdGl2ZVhQYXRoTlNSZXNvbHZlcjo6bG9v
a3VwTmFtZXNwYWNlVVJJKGNvbnN0IFN0cmluZyYgcHJlZml4KQogICAgIC8vIFRoaXMgaXMgbm90
IGRvbmUgYnkgTm9kZTo6bG9va3VwTmFtZXNwYWNlVVJJIGFzIHBlciB0aGUgRE9NMyBDb3JlIHNw
ZWMsCiAgICAgLy8gYnV0IHRoZSBYUGF0aCBzcGVjIHNheXMgdGhhdCB3ZSBzaG91bGQgZG8gaXQg
Zm9yIFhQYXRoTlNSZXNvbHZlci4KICAgICBpZiAocHJlZml4ID09ICJ4bWwiKQotICAgICAgICBy
ZXR1cm4gWE1MTmFtZXM6OnhtbE5hbWVzcGFjZVVSSTsKKyAgICAgICAgcmV0dXJuIFhNTE5hbWVz
Ojp4bWxOYW1lc3BhY2VVUkkuZ2V0KCk7CiAgICAgCiAgICAgcmV0dXJuIG1fbm9kZSA/IG1fbm9k
ZS0+bG9va3VwTmFtZXNwYWNlVVJJKHByZWZpeCkuc3RyaW5nKCkgOiBTdHJpbmcoKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5jcHAKaW5kZXgg
OTVmNWM1ZDZmMzIxY2E3OWI5MThmNTcwNmI0ZmZmYzM2OTU0MWQxMS4uOGU2YjgzNTRjZjhjZTIx
MWUwNzYyNzUxNzYyZWEwNGE1ZDcyODhmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1s
L3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL3Bh
cnNlci9YTUxEb2N1bWVudFBhcnNlci5jcHAKQEAgLTI2NSw3ICsyNjUsNyBAQCBib29sIFhNTERv
Y3VtZW50UGFyc2VyOjpwYXJzZURvY3VtZW50RnJhZ21lbnQoY29uc3QgU3RyaW5nJiBjaHVuaywg
RG9jdW1lbnRGcmFnbQogICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIGltcGxlbWVudCB0aGUgSFRN
TDUgWE1MIEZyYWdtZW50IHBhcnNpbmcgYWxnb3JpdGhtOgogICAgIC8vIGh0dHA6Ly93d3cud2hh
dHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL3RoZS14aHRtbC1z
eW50YXguaHRtbCN4bWwtZnJhZ21lbnQtcGFyc2luZy1hbGdvcml0aG0KICAgICAvLyBGb3Igbm93
IHdlIGhhdmUgYSBoYWNrIGZvciBzY3JpcHQvc3R5bGUgaW5uZXJIVE1MIHN1cHBvcnQ6Ci0gICAg
aWYgKGNvbnRleHRFbGVtZW50ICYmIChjb250ZXh0RWxlbWVudC0+aGFzTG9jYWxOYW1lKEhUTUxO
YW1lczo6c2NyaXB0VGFnLmxvY2FsTmFtZSgpKSB8fCBjb250ZXh0RWxlbWVudC0+aGFzTG9jYWxO
YW1lKEhUTUxOYW1lczo6c3R5bGVUYWcubG9jYWxOYW1lKCkpKSkgeworICAgIGlmIChjb250ZXh0
RWxlbWVudCAmJiAoY29udGV4dEVsZW1lbnQtPmhhc0xvY2FsTmFtZShIVE1MTmFtZXM6OnNjcmlw
dFRhZy0+bG9jYWxOYW1lKCkpIHx8IGNvbnRleHRFbGVtZW50LT5oYXNMb2NhbE5hbWUoSFRNTE5h
bWVzOjpzdHlsZVRhZy0+bG9jYWxOYW1lKCkpKSkgewogICAgICAgICBmcmFnbWVudC5wYXJzZXJB
cHBlbmRDaGlsZChmcmFnbWVudC5kb2N1bWVudCgpLmNyZWF0ZVRleHROb2RlKGNodW5rKSk7CiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ3RrL0RPTS9XZWJLaXRET01IVE1MUHJpdmF0ZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9ET00v
V2ViS2l0RE9NSFRNTFByaXZhdGUuY3BwCmluZGV4IDJhMjY0YzcyMjMxZmE4NDRmNDc3NGQ3MDBm
ZmE3MTE2NTAxN2Y0M2YuLjEwYjEwNGVjZTIzMDIzYjVkM2EyODEzOWE1Y2I5NzYxOTY0NjliYzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Z3RrL0RPTS9XZWJLaXRET01IVE1MUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvRE9NL1dlYktpdERPTUhUTUxQcml2YXRlLmNw
cApAQCAtMjI5LDcgKzIyOSw3IEBAIFdlYktpdERPTUhUTUxFbGVtZW50KiB3cmFwKEhUTUxFbGVt
ZW50KiBlbGVtZW50KQogewogICAgIHN0YXRpYyBIYXNoTWFwPGNvbnN0IFF1YWxpZmllZE5hbWU6
OlF1YWxpZmllZE5hbWVJbXBsKiwgSFRNTEVsZW1lbnRXcmFwRnVuY3Rpb24+IG1hcDsKICAgICBp
ZiAobWFwLmlzRW1wdHkoKSkgewotI2RlZmluZSBBRERfSFRNTF9XUkFQUEVSKFRhZ05hbWUsIEVs
ZW1lbnROYW1lKSBtYXAuc2V0KFRhZ05hbWUjI1RhZy5pbXBsKCksIFRhZ05hbWUjI1dyYXBwZXIp
OworI2RlZmluZSBBRERfSFRNTF9XUkFQUEVSKFRhZ05hbWUsIEVsZW1lbnROYW1lKSBtYXAuc2V0
KFRhZ05hbWUjI1RhZy0+aW1wbCgpLCBUYWdOYW1lIyNXcmFwcGVyKTsKICAgICAgICAgRk9SX0VB
Q0hfSFRNTF9UQUcoQUREX0hUTUxfV1JBUFBFUikKICN1bmRlZiBBRERfSFRNTF9XUkFQUEVSCiAg
ICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>