<?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>257541</bug_id>
          
          <creation_ts>2023-05-31 08:38:05 -0700</creation_ts>
          <short_desc>REGRESSION(264697@main): Caused assertion failures, AI-clobberize disagreement</short_desc>
          <delta_ts>2023-05-31 08:43:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>257474</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1959042</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2023-05-31 08:38:05 -0700</bug_when>
    <thetext>https://commits.webkit.org/264697@main introduced a regression:
Caused assertion failures, AI-clobberize disagreement

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1959044</commentid>
    <comment_count>1</comment_count>
      <attachid>466549</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2023-05-31 08:38:13 -0700</bug_when>
    <thetext>Created attachment 466549
REVERT of 264697@main

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1959047</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-05-31 08:42:21 -0700</bug_when>
    <thetext>Committed 264735@main (b79ffb3e8877): &lt;https://commits.webkit.org/264735@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 466549.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1959048</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-05-31 08:43:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/110064233&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>466549</attachid>
            <date>2023-05-31 08:38:13 -0700</date>
            <delta_ts>2023-05-31 08:42:22 -0700</delta_ts>
            <desc>REVERT of 264697@main</desc>
            <filename>bug-257541-20230531153812.patch</filename>
            <type>text/plain</type>
            <size>34397</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSBhMmI2NjY0OGFhNzA3MzlkZDFmNTEwN2M1Yzg4YzY0MjkzMDUwMmI1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBXZWQsIDMxIE1heSAyMDIzIDE1OjM4OjEwICswMDAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIDI2NDY5N0BtYWluLgogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI1NzU0MQoKQ2F1c2VkIGFzc2VydGlvbiBmYWlsdXJlcywgQUkt
Y2xvYmJlcml6ZSBkaXNhZ3JlZW1lbnQKClJldmVydGVkIGNoYW5nZXNldDoKCiJbSlNDXSBJbXBs
ZW1lbnQgaXNOYU4gLyBOdW1iZXIuaXNOYU4gaW4gQysrIgpodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjU3NDc0Cmh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnLzI2NDY5
N0BtYWluCi0tLQogLi4uL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0RhdGVQcm90b3R5cGUuanMg
IHwgIDYgKy0KIC4uLi9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9HbG9iYWxPYmplY3QuanMgICB8
ICA5ICsrCiAuLi4vYnVpbHRpbnMvTnVtYmVyQ29uc3RydWN0b3IuanMgICAgICAgICAgICAgfCAg
NyArKwogLi4uL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oICAgICAgIHwgMjMg
LS0tLS0KIC4uLi9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwICB8IDIw
IC0tLS0tCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaCAgICAgfCAx
MiAtLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcCAgICAgICB8ICA0
IC0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAgICB8IDI3IC0t
LS0tLQogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oICAgICAgIHwgIDIg
LQogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcCAgIHwgMTcgLS0t
LQogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmggICAgIHwgIDIgLQog
Li4uL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgICAgIHwgIDIgLQogU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmggIHwgIDQgLQogLi4uL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgIHwgODMgLS0tLS0tLS0tLS0t
LS0tLS0tLQogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oIHwg
IDIgLQogLi4uL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCAgICAgICAgICAgIHwgMTAg
LS0tCiAuLi4vZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwICAgICAgICAgICAgICAgfCAxMCAt
LS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcCB8ICAyIC0K
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcCB8IDc1IC0tLS0t
LS0tLS0tLS0tLS0tCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5j
cHAgfCAyMCAtLS0tLQogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMu
aCAgIHwgIDIgLQogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50cmluc2ljLmggICAg
IHwgIDIgLQogLi4uL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIHwg
IDIgKy0KIC4uLi9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcCAgICAgICB8ICA2
IC0tCiAuLi4vcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oICAgICAgICAgfCAgMSAt
CiAuLi4vcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAgICAgICAgICAgICAgfCAxMSArLS0K
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcCAgICAgICAgICB8ICA0IC0KIC4u
Li9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qcyAgICB8ICA0ICstCiAuLi4v
TW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5qcyAgICAgICAgfCAxNCArKy0tCiAuLi4v
c3RyZWFtcy9Xcml0YWJsZVN0cmVhbUludGVybmFscy5qcyAgICAgICAgfCAgMiArLQogMzAgZmls
ZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMzUzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9EYXRlUHJvdG90eXBlLmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0RhdGVQcm90b3R5cGUuanMKaW5kZXggNzg1YWQ2
ODdiNjAzLi4wZDI1MGRkZGU5M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9EYXRlUHJvdG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9EYXRlUHJvdG90eXBlLmpzCkBAIC04Miw3ICs4Miw3IEBAIGZ1bmN0aW9uIHRvTG9jYWxl
U3RyaW5nKC8qIGxvY2FsZXMsIG9wdGlvbnMgKi8pCiAgICAgLy8gaHR0cDovL3d3dy5lY21hLWlu
dGVybmF0aW9uYWwub3JnL2VjbWEtNDAyLzIuMC8jc2VjLURhdGUucHJvdG90eXBlLnRvTG9jYWxl
U3RyaW5nCiAKICAgICB2YXIgdmFsdWUgPSBAdGhpc1RpbWVWYWx1ZS5AY2FsbCh0aGlzKTsKLSAg
ICBpZiAodmFsdWUgIT09IHZhbHVlKQorICAgIGlmIChAaXNOYU4odmFsdWUpKQogICAgICAgICBy
ZXR1cm4gIkludmFsaWQgRGF0ZSI7CiAKICAgICB2YXIgb3B0aW9ucyA9IEB0b0RhdGVUaW1lT3B0
aW9uc0FueUFsbChAYXJndW1lbnQoMSkpOwpAQCAtMTQyLDcgKzE0Miw3IEBAIGZ1bmN0aW9uIHRv
TG9jYWxlRGF0ZVN0cmluZygvKiBsb2NhbGVzLCBvcHRpb25zICovKQogICAgIC8vIGh0dHA6Ly93
d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTQwMi8yLjAvI3NlYy1EYXRlLnByb3RvdHlw
ZS50b0xvY2FsZURhdGVTdHJpbmcKIAogICAgIHZhciB2YWx1ZSA9IEB0aGlzVGltZVZhbHVlLkBj
YWxsKHRoaXMpOwotICAgIGlmICh2YWx1ZSAhPT0gdmFsdWUpCisgICAgaWYgKEBpc05hTih2YWx1
ZSkpCiAgICAgICAgIHJldHVybiAiSW52YWxpZCBEYXRlIjsKIAogICAgIHZhciBvcHRpb25zID0g
QHRvRGF0ZVRpbWVPcHRpb25zRGF0ZURhdGUoQGFyZ3VtZW50KDEpKTsKQEAgLTIwMyw3ICsyMDMs
NyBAQCBmdW5jdGlvbiB0b0xvY2FsZVRpbWVTdHJpbmcoLyogbG9jYWxlcywgb3B0aW9ucyAqLykK
ICAgICAvLyBodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS00MDIvMi4wLyNz
ZWMtRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nCiAKICAgICB2YXIgdmFsdWUgPSBA
dGhpc1RpbWVWYWx1ZS5AY2FsbCh0aGlzKTsKLSAgICBpZiAodmFsdWUgIT09IHZhbHVlKQorICAg
IGlmIChAaXNOYU4odmFsdWUpKQogICAgICAgICByZXR1cm4gIkludmFsaWQgRGF0ZSI7CiAKICAg
ICB2YXIgb3B0aW9ucyA9IEB0b0RhdGVUaW1lT3B0aW9uc1RpbWVUaW1lKEBhcmd1bWVudCgxKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvR2xvYmFsT2JqZWN0
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcwppbmRl
eCA2NDBkZDAzMjZiM2QuLjMxOTcxYzU2MTk2MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvR2xvYmFsT2JqZWN0LmpzCkBAIC0zNSwzICszNSwxMiBAQCBmdW5jdGlvbiBp
c0Zpbml0ZSh2YWx1ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiBudW1iZXJW
YWx1ZSAhPT0gQEluZmluaXR5ICYmIG51bWJlclZhbHVlICE9PSAtQEluZmluaXR5OwogfQorCitA
bGlua1RpbWVDb25zdGFudAorZnVuY3Rpb24gaXNOYU4odmFsdWUpCit7CisgICAgInVzZSBzdHJp
Y3QiOworCisgICAgdmFyIG51bWJlclZhbHVlID0gQHRvTnVtYmVyKHZhbHVlKTsKKyAgICByZXR1
cm4gbnVtYmVyVmFsdWUgIT09IG51bWJlclZhbHVlOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL051bWJlckNvbnN0cnVjdG9yLmpzIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL051bWJlckNvbnN0cnVjdG9yLmpzCmluZGV4IGQ1MWNhZDQyOGQ3
Ni4uMmMwZTRjODY4MTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRp
bnMvTnVtYmVyQ29uc3RydWN0b3IuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0
aW5zL051bWJlckNvbnN0cnVjdG9yLmpzCkBAIC0zNiwzICszNiwxMCBAQCBmdW5jdGlvbiBpc0Zp
bml0ZSh2YWx1ZSkKIAogICAgIHJldHVybiB2YWx1ZSAhPT0gQEluZmluaXR5ICYmIHZhbHVlICE9
PSAtQEluZmluaXR5OwogfQorCitmdW5jdGlvbiBpc05hTih2YWx1ZSkKK3sKKyAgICAidXNlIHN0
cmljdCI7CisKKyAgICByZXR1cm4gdmFsdWUgIT09IHZhbHVlOworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5o
CmluZGV4IDQwMGMyN2I2NzVhNC4uZGU0NjM3ZTc1YTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBA
IC0xOTI2LDI5ICsxOTI2LDYgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3Rh
dGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAgYnJl
YWs7CiAgICAgfQogCi0gICAgY2FzZSBHbG9iYWxJc05hTjogewotICAgICAgICBBYnN0cmFjdFZh
bHVlIGNoaWxkID0gZm9yTm9kZShub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgIGlmIChKU1ZhbHVl
IHZhbHVlID0gY2hpbGQudmFsdWUoKTsgdmFsdWUgJiYgdmFsdWUuaXNOdW1iZXIoKSkgewotICAg
ICAgICAgICAgaWYgKG5vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSAhPSBEb3VibGVSZXBVc2UpCi0g
ICAgICAgICAgICAgICAgZGlkRm9sZENsb2JiZXJXb3JsZCgpOwotICAgICAgICAgICAgc2V0Q29u
c3RhbnQobm9kZSwganNCb29sZWFuKHN0ZDo6aXNuYW4odmFsdWUuYXNOdW1iZXIoKSkpKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNsb2JiZXJXb3JsZCgpOwotICAg
ICAgICBzZXROb25DZWxsVHlwZUZvck5vZGUobm9kZSwgU3BlY0Jvb2xlYW4pOwotICAgICAgICBi
cmVhazsKLSAgICB9Ci0KLSAgICBjYXNlIE51bWJlcklzTmFOOiB7Ci0gICAgICAgIEFic3RyYWN0
VmFsdWUgY2hpbGQgPSBmb3JOb2RlKG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAgaWYgKEpTVmFs
dWUgdmFsdWUgPSBjaGlsZC52YWx1ZSgpKSB7Ci0gICAgICAgICAgICBzZXRDb25zdGFudChub2Rl
LCBqc0Jvb2xlYW4odmFsdWUuaXNOdW1iZXIoKSAmJiBzdGQ6OmlzbmFuKHZhbHVlLmFzTnVtYmVy
KCkpKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBzZXROb25DZWxs
VHlwZUZvck5vZGUobm9kZSwgU3BlY0Jvb2xlYW4pOwotICAgICAgICBicmVhazsKLSAgICB9Ci0K
ICAgICBjYXNlIFR5cGVPZjogewogICAgICAgICBKU1ZhbHVlIGNoaWxkID0gZm9yTm9kZShub2Rl
LT5jaGlsZDEoKSkudmFsdWUoKTsKICAgICAgICAgQWJzdHJhY3RWYWx1ZSYgYWJzdHJhY3RDaGls
ZCA9IGZvck5vZGUobm9kZS0+Y2hpbGQxKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCA3NWY3YjA1NTRmZjUuLjAzMmY5YmI4NzFm
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAKQEAgLTI5MzEsMjYgKzI5MzEsNiBAQCBhdXRvIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVJbnRy
aW5zaWNDYWxsKE5vZGUqIGNhbGxlZSwgT3BlcmFuZCByZXN1bHQsIENhbGxWYXJpYQogICAgICAg
ICAgICAgcmV0dXJuIENhbGxPcHRpbWl6YXRpb25SZXN1bHQ6OklubGluZWQ7CiAgICAgICAgIH0K
IAotICAgICAgICBjYXNlIEdsb2JhbElzTmFOSW50cmluc2ljOiB7Ci0gICAgICAgICAgICBpZiAo
YXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgPCAyKQotICAgICAgICAgICAgICAgIHJldHVybiBD
YWxsT3B0aW1pemF0aW9uUmVzdWx0OjpEaWROb3RoaW5nOwotCi0gICAgICAgICAgICBpbnNlcnRD
aGVja3MoKTsKLSAgICAgICAgICAgIHNldFJlc3VsdChhZGRUb0dyYXBoKEdsb2JhbElzTmFOLCBn
ZXQodmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnRJbmNsdWRpbmdUaGlzKDEsIHJlZ2lzdGVyT2Zm
c2V0KSkpKTsKLQotICAgICAgICAgICAgcmV0dXJuIENhbGxPcHRpbWl6YXRpb25SZXN1bHQ6Oklu
bGluZWQ7Ci0gICAgICAgIH0KLQotICAgICAgICBjYXNlIE51bWJlcklzTmFOSW50cmluc2ljOiB7
Ci0gICAgICAgICAgICBpZiAoYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgPCAyKQotICAgICAg
ICAgICAgICAgIHJldHVybiBDYWxsT3B0aW1pemF0aW9uUmVzdWx0OjpEaWROb3RoaW5nOwotCi0g
ICAgICAgICAgICBpbnNlcnRDaGVja3MoKTsKLSAgICAgICAgICAgIHNldFJlc3VsdChhZGRUb0dy
YXBoKE51bWJlcklzTmFOLCBnZXQodmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnRJbmNsdWRpbmdU
aGlzKDEsIHJlZ2lzdGVyT2Zmc2V0KSkpKTsKLQotICAgICAgICAgICAgcmV0dXJuIENhbGxPcHRp
bWl6YXRpb25SZXN1bHQ6OklubGluZWQ7Ci0gICAgICAgIH0KLQogICAgICAgICBjYXNlIFJlZ0V4
cEV4ZWNJbnRyaW5zaWM6IHsKICAgICAgICAgICAgIGlmIChhcmd1bWVudENvdW50SW5jbHVkaW5n
VGhpcyA8IDIpCiAgICAgICAgICAgICAgICAgcmV0dXJuIENhbGxPcHRpbWl6YXRpb25SZXN1bHQ6
OkRpZE5vdGhpbmc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Ns
b2JiZXJpemUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmlu
ZGV4IDQyMzhhZTMxMjkwMS4uMjM3YzBkZGI5ZjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Nsb2JiZXJpemUuaApAQCAtMjYwLDE4ICsyNjAsNiBAQCB2b2lkIGNsb2JiZXJpemUo
R3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3Qg
V3JpdGVGdQogICAgICAgICBkZWYoUHVyZVZhbHVlKG5vZGUpKTsKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgY2FzZSBOdW1iZXJJc05hTjoKLSAgICAgICAgZGVmKFB1cmVWYWx1ZShub2RlKSk7Ci0g
ICAgICAgIHJldHVybjsKLQotICAgIGNhc2UgR2xvYmFsSXNOYU46IHsKLSAgICAgICAgaWYgKG5v
ZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBEb3VibGVSZXBVc2UpCi0gICAgICAgICAgICBkZWYo
UHVyZVZhbHVlKG5vZGUpKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgY2xvYmJlclRvcCgp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgY2FzZSBTdHJpbmdMb2NhbGVDb21wYXJl
OgogICAgICAgICByZWFkKFdvcmxkKTsKICAgICAgICAgd3JpdGUoU2lkZVN0YXRlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAppbmRleCA3YWUwNDYxMjRiOGEuLmFkYjZm
YTc5ZmZiYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0Mu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcApAQCAtMjYx
LDcgKzI2MSw2IEBAIGJvb2wgZG9lc0dDKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBj
YXNlIERhdGFWaWV3U2V0OgogICAgIGNhc2UgUHV0QnlPZmZzZXQ6CiAgICAgY2FzZSBXZWFrTWFw
R2V0OgotICAgIGNhc2UgTnVtYmVySXNOYU46CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogI2lm
IEFTU0VSVF9FTkFCTEVECkBAIC00NDcsOSArNDQ2LDYgQEAgYm9vbCBkb2VzR0MoR3JhcGgmIGdy
YXBoLCBOb2RlKiBub2RlKQogI2VuZGlmIC8vIG5vdCBBU1NFUlRfRU5BQkxFRAogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKIAotICAgIGNhc2UgR2xvYmFsSXNOYU46Ci0gICAgICAgIHJldHVybiBub2Rl
LT5jaGlsZDEoKS51c2VLaW5kKCkgIT0gRG91YmxlUmVwVXNlOwotCiAgICAgY2FzZSBDYWxsTnVt
YmVyQ29uc3RydWN0b3I6CiAgICAgICAgIHN3aXRjaCAobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgp
KSB7CiAgICAgICAgIGNhc2UgQmlnSW50MzJVc2U6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdGaXh1cFBoYXNlLmNwcAppbmRleCA4YTRlMGFlOWJlMzAuLjhhMmVjOGU4NjM3ZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0yOTA1LDMz
ICsyOTA1LDYgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwog
Ci0gICAgICAgIGNhc2UgR2xvYmFsSXNOYU46IHsKLSAgICAgICAgICAgIGlmIChub2RlLT5jaGls
ZDEoKS0+c2hvdWxkU3BlY3VsYXRlSW50MzIoKSkgewotICAgICAgICAgICAgICAgIGZpeEVkZ2U8
SW50MzJVc2U+KG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAgICAgICAgICBtX2dyYXBoLmNvbnZl
cnRUb0NvbnN0YW50KG5vZGUsIGpzQm9vbGVhbihmYWxzZSkpOwotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKG5vZGUtPmNoaWxkMSgpLT5zaG91
bGRTcGVjdWxhdGVOdW1iZXIoKSkgewotICAgICAgICAgICAgICAgIGZpeEVkZ2U8RG91YmxlUmVw
VXNlPihub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgICAgICAgICAgbm9kZS0+Y2xlYXJGbGFncyhO
b2RlTXVzdEdlbmVyYXRlKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgY2FzZSBOdW1iZXJJc05h
TjogewotICAgICAgICAgICAgaWYgKG5vZGUtPmNoaWxkMSgpLT5zaG91bGRTcGVjdWxhdGVJbnQz
MigpKSB7Ci0gICAgICAgICAgICAgICAgZml4RWRnZTxJbnQzMlVzZT4obm9kZS0+Y2hpbGQxKCkp
OwotICAgICAgICAgICAgICAgIG1fZ3JhcGguY29udmVydFRvQ29uc3RhbnQobm9kZSwganNCb29s
ZWFuKGZhbHNlKSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBpZiAobm9kZS0+Y2hpbGQxKCktPnNob3VsZFNwZWN1bGF0ZU51bWJlcigpKSB7Ci0g
ICAgICAgICAgICAgICAgZml4RWRnZTxEb3VibGVSZXBVc2U+KG5vZGUtPmNoaWxkMSgpKTsKLSAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICB9Ci0KICAgICAgICAgY2FzZSBTZXRDYWxsZWU6CiAgICAgICAgICAgICBmaXhFZGdl
PENlbGxVc2U+KG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCmluZGV4IGE5NTgzNTFjMjRiNS4uMTYwZWU1MTgw
OWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCkBAIC00MzEsOCAr
NDMxLDYgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIG1hY3JvKElzTnVt
YmVyLCBOb2RlUmVzdWx0Qm9vbGVhbikgXAogICAgIC8qIElzQmlnSW50IGlzIG9ubHkgdXNlZCB3
aGVuIFVTRV9CSUdJTlQzMi4gT3RoZXJ3aXNlIHdlIGVtaXQgSXNDZWxsV2l0aFR5cGUgKi9cCiAg
ICAgbWFjcm8oSXNCaWdJbnQsIE5vZGVSZXN1bHRCb29sZWFuKSBcCi0gICAgbWFjcm8oR2xvYmFs
SXNOYU4sIE5vZGVNdXN0R2VuZXJhdGUgfCBOb2RlUmVzdWx0Qm9vbGVhbikgXAotICAgIG1hY3Jv
KE51bWJlcklzTmFOLCBOb2RlUmVzdWx0Qm9vbGVhbikgXAogICAgIG1hY3JvKE51bWJlcklzSW50
ZWdlciwgTm9kZVJlc3VsdEJvb2xlYW4pIFwKICAgICBtYWNybyhJc09iamVjdCwgTm9kZVJlc3Vs
dEJvb2xlYW4pIFwKICAgICBtYWNybyhJc0NhbGxhYmxlLCBOb2RlUmVzdWx0Qm9vbGVhbikgXApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKaW5kZXggZTExNzkx
YzU0YjM4Li42NDM0NTQ2NDJkYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
cGVyYXRpb25zLmNwcApAQCAtMzI1MSwyMyArMzI1MSw2IEBAIEpTQ19ERUZJTkVfSklUX09QRVJB
VElPTihvcGVyYXRpb25OdW1iZXJJc0ludGVnZXIsIHNpemVfdCwgKEpTR2xvYmFsT2JqZWN0KiBn
bG9iCiAgICAgcmV0dXJuIE51bWJlckNvbnN0cnVjdG9yOjppc0ludGVnZXJJbXBsKEpTVmFsdWU6
OmRlY29kZSh2YWx1ZSkpOwogfQogCi1KU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9u
TnVtYmVySXNOYU4sIFVDUFVTdHJpY3RJbnQzMiwgKEVuY29kZWRKU1ZhbHVlIHZhbHVlKSkKLXsK
LSAgICBKU1ZhbHVlIGFyZ3VtZW50ID0gSlNWYWx1ZTo6ZGVjb2RlKHZhbHVlKTsKLSAgICBpZiAo
IWFyZ3VtZW50LmlzTnVtYmVyKCkpCi0gICAgICAgIHJldHVybiB0b1VDUFVTdHJpY3RJbnQzMigw
KTsKLSAgICByZXR1cm4gdG9VQ1BVU3RyaWN0SW50MzIoISFzdGQ6OmlzbmFuKGFyZ3VtZW50LmFz
TnVtYmVyKCkpKTsKLX0KLQotSlNDX0RFRklORV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbklzTmFO
LCBVQ1BVU3RyaWN0SW50MzIsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB2YWx1ZSkpCi17Ci0gICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwotICAg
IENhbGxGcmFtZSogY2FsbEZyYW1lID0gREVDTEFSRV9DQUxMX0ZSQU1FKHZtKTsKLSAgICBKSVRP
cGVyYXRpb25Qcm9sb2d1ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGNhbGxGcmFtZSk7Ci0g
ICAgSlNWYWx1ZSBhcmd1bWVudCA9IEpTVmFsdWU6OmRlY29kZSh2YWx1ZSk7Ci0gICAgcmV0dXJu
IHRvVUNQVVN0cmljdEludDMyKHN0ZDo6aXNuYW4oYXJndW1lbnQudG9OdW1iZXIoZ2xvYmFsT2Jq
ZWN0KSkpOwotfQotCiBzdGF0aWMgQUxXQVlTX0lOTElORSBVQ1BVU3RyaWN0SW50MzIgYXJyYXlJ
bmRleE9mU3RyaW5nKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEJ1dHRlcmZseSogYnV0
dGVyZmx5LCBKU1N0cmluZyogc2VhcmNoRWxlbWVudCwgaW50MzJfdCBpbmRleCkKIHsKICAgICBW
TSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
T3BlcmF0aW9ucy5oCmluZGV4IDNhYWQwY2VlZWNmMy4uMjEwYThlOGZmYzI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaApAQCAtMzUzLDggKzM1Myw2IEBAIEpT
Q19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uQ29udmVydEJveGVkRG91YmxlVG9JbnQ1
MiwgaW50NjRfdCwgKEVuY29kZWRKCiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlv
bkNvbnZlcnREb3VibGVUb0ludDUyLCBpbnQ2NF90LCAoZG91YmxlKSk7CiAKIEpTQ19ERUNMQVJF
X0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTnVtYmVySXNJbnRlZ2VyLCBzaXplX3QsIChKU0dsb2Jh
bE9iamVjdCosIEVuY29kZWRKU1ZhbHVlKSk7Ci1KU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9w
ZXJhdGlvbk51bWJlcklzTmFOLCBVQ1BVU3RyaWN0SW50MzIsIChFbmNvZGVkSlNWYWx1ZSkpOwot
SlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25Jc05hTiwgVUNQVVN0cmljdEludDMy
LCAoSlNHbG9iYWxPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSkpOwogCiBKU0NfREVDTEFSRV9KSVRf
T1BFUkFUSU9OKG9wZXJhdGlvbk5ld1Jhd09iamVjdCwgY2hhciosIChWTSosIFN0cnVjdHVyZSos
IGludDMyX3QsIEJ1dHRlcmZseSopKTsKIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0
aW9uTmV3T2JqZWN0V2l0aEJ1dHRlcmZseSwgSlNDZWxsKiwgKFZNKiwgU3RydWN0dXJlKiwgQnV0
dGVyZmx5KikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVk
aWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAppbmRleCA3Y2FkMjhiYjliZDcuLjc2NTgw
OTc5YTQ5NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0
aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKQEAgLTExMzAsOCArMTEzMCw2IEBAIHBy
aXZhdGU6CiAgICAgICAgIGNhc2UgSXNOdW1iZXI6CiAgICAgICAgIGNhc2UgSXNCaWdJbnQ6CiAg
ICAgICAgIGNhc2UgTnVtYmVySXNJbnRlZ2VyOgotICAgICAgICBjYXNlIEdsb2JhbElzTmFOOgot
ICAgICAgICBjYXNlIE51bWJlcklzTmFOOgogICAgICAgICBjYXNlIElzT2JqZWN0OgogICAgICAg
ICBjYXNlIElzQ2FsbGFibGU6CiAgICAgICAgIGNhc2UgSXNDb25zdHJ1Y3RvcjoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXggYjE1MWU0M2NhZWQ2
Li5jYmE4ZDZhYjQ3Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U2FmZVRvRXhlY3V0ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRv
RXhlY3V0ZS5oCkBAIC0zMjUsMTIgKzMyNSw4IEBAIGJvb2wgc2FmZVRvRXhlY3V0ZShBYnN0cmFj
dFN0YXRlVHlwZSYgc3RhdGUsIEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgYm9vbCBpZ25vCiAg
ICAgY2FzZSBEYXRhVmlld0dldEZsb2F0OgogICAgIGNhc2UgUmVzb2x2ZVJvcGU6CiAgICAgY2Fz
ZSBHZXRXZWJBc3NlbWJseUluc3RhbmNlRXhwb3J0czoKLSAgICBjYXNlIE51bWJlcklzTmFOOgog
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGNhc2UgR2xvYmFsSXNOYU46Ci0gICAgICAgIHJl
dHVybiBub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gRG91YmxlUmVwVXNlOwotCiAgICAgY2Fz
ZSBHZXRCdXR0ZXJmbHk6CiAgICAgICAgIHJldHVybiBzdGF0ZS5mb3JOb2RlKG5vZGUtPmNoaWxk
MSgpKS5pc1R5cGUoU3BlY09iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggMGIwOTBkMjZiZjhjLi4xMTg2YWUxYjg1MjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3Bw
CkBAIC0xNzAyOSw4OSArMTcwMjksNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlU3Ry
aW5nTG9jYWxlQ29tcGFyZShOb2RlKiBub2RlKQogICAgIHN0cmljdEludDMyUmVzdWx0KHJlc3Vs
dEdQUiwgbm9kZSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVHbG9iYWxJc05h
TihOb2RlKiBub2RlKQotewotICAgIHN3aXRjaCAobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpKSB7
Ci0gICAgY2FzZSBEb3VibGVSZXBVc2U6IHsKLSAgICAgICAgU3BlY3VsYXRlRG91YmxlT3BlcmFu
ZCBhcmd1bWVudCh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgIEdQUlRlbXBvcmFyeSBz
Y3JhdGNoKHRoaXMpOwotCi0gICAgICAgIEZQUlJlZyBhcmd1bWVudEZQUiA9IGFyZ3VtZW50LmZw
cigpOwotICAgICAgICBHUFJSZWcgc2NyYXRjaEdQUiA9IHNjcmF0Y2guZ3ByKCk7Ci0KLSAgICAg
ICAgY29tcGFyZURvdWJsZShEb3VibGVOb3RFcXVhbE9yVW5vcmRlcmVkLCBhcmd1bWVudEZQUiwg
YXJndW1lbnRGUFIsIHNjcmF0Y2hHUFIpOwotICAgICAgICB1bmJsZXNzZWRCb29sZWFuUmVzdWx0
KHNjcmF0Y2hHUFIsIG5vZGUpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSBVbnR5
cGVkVXNlOiB7Ci0gICAgICAgIEpTVmFsdWVPcGVyYW5kIGFyZ3VtZW50KHRoaXMsIG5vZGUtPmNo
aWxkMSgpKTsKLSAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gxKHRoaXMpOwotCi0gICAgICAg
IGJvb2wgbWF5QmVJbnQzMiA9IG1faW50ZXJwcmV0ZXIuZm9yTm9kZShub2RlLT5jaGlsZDEoKSku
bV90eXBlICYgU3BlY0ludDMyT25seTsKLQotICAgICAgICBKU1ZhbHVlUmVncyBhcmd1bWVudFJl
Z3MgPSBhcmd1bWVudC5qc1ZhbHVlUmVncygpOwotICAgICAgICBHUFJSZWcgc2NyYXRjaDFHUFIg
PSBzY3JhdGNoMS5ncHIoKTsKLQotICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwotICAgICAgICBK
dW1wIGlzSW50MzI7Ci0gICAgICAgIGlmIChtYXlCZUludDMyKSB7Ci0gICAgICAgICAgICBtb3Zl
KFRydXN0ZWRJbW0zMigwKSwgc2NyYXRjaDFHUFIpOwotICAgICAgICAgICAgaXNJbnQzMiA9IGJy
YW5jaElmSW50MzIoYXJndW1lbnRSZWdzKTsKLSAgICAgICAgfQotICAgICAgICBjYWxsT3BlcmF0
aW9uKG9wZXJhdGlvbklzTmFOLCBzY3JhdGNoMUdQUiwgTGlua2FibGVDb25zdGFudDo6Z2xvYmFs
T2JqZWN0KCp0aGlzLCBub2RlKSwgYXJndW1lbnRSZWdzKTsKLSAgICAgICAgZXhjZXB0aW9uQ2hl
Y2soKTsKLSAgICAgICAgaWYgKG1heUJlSW50MzIpCi0gICAgICAgICAgICBpc0ludDMyLmxpbmso
dGhpcyk7Ci0gICAgICAgIHVuYmxlc3NlZEJvb2xlYW5SZXN1bHQoc2NyYXRjaDFHUFIsIG5vZGUp
OwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgREZHX0NSQVNI
KG1fZ3JhcGgsIG5vZGUsICJCYWQgdXNlIGtpbmQiKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQot
fQotCi12b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTnVtYmVySXNOYU4oTm9kZSogbm9kZSkK
LXsKLSAgICBzd2l0Y2ggKG5vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSkgewotICAgIGNhc2UgRG91
YmxlUmVwVXNlOiB7Ci0gICAgICAgIFNwZWN1bGF0ZURvdWJsZU9wZXJhbmQgYXJndW1lbnQodGhp
cywgbm9kZS0+Y2hpbGQxKCkpOwotICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsK
LQotICAgICAgICBGUFJSZWcgYXJndW1lbnRGUFIgPSBhcmd1bWVudC5mcHIoKTsKLSAgICAgICAg
R1BSUmVnIHNjcmF0Y2hHUFIgPSBzY3JhdGNoLmdwcigpOwotCi0gICAgICAgIGNvbXBhcmVEb3Vi
bGUoRG91YmxlTm90RXF1YWxPclVub3JkZXJlZCwgYXJndW1lbnRGUFIsIGFyZ3VtZW50RlBSLCBz
Y3JhdGNoR1BSKTsKLSAgICAgICAgdW5ibGVzc2VkQm9vbGVhblJlc3VsdChzY3JhdGNoR1BSLCBu
b2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgVW50eXBlZFVzZTogewotICAg
ICAgICBKU1ZhbHVlT3BlcmFuZCBhcmd1bWVudCh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0gICAg
ICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMSh0aGlzKTsKLQotICAgICAgICBib29sIG1heUJlSW50
MzIgPSBtX2ludGVycHJldGVyLmZvck5vZGUobm9kZS0+Y2hpbGQxKCkpLm1fdHlwZSAmIFNwZWNJ
bnQzMk9ubHk7Ci0KLSAgICAgICAgSlNWYWx1ZVJlZ3MgYXJndW1lbnRSZWdzID0gYXJndW1lbnQu
anNWYWx1ZVJlZ3MoKTsKLSAgICAgICAgR1BSUmVnIHNjcmF0Y2gxR1BSID0gc2NyYXRjaDEuZ3By
KCk7Ci0KLSAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICAgICAgSnVtcCBpc0ludDMyOwot
ICAgICAgICBpZiAobWF5QmVJbnQzMikgewotICAgICAgICAgICAgbW92ZShUcnVzdGVkSW1tMzIo
MCksIHNjcmF0Y2gxR1BSKTsKLSAgICAgICAgICAgIGlzSW50MzIgPSBicmFuY2hJZkludDMyKGFy
Z3VtZW50UmVncyk7Ci0gICAgICAgIH0KLSAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25O
dW1iZXJJc05hTiwgc2NyYXRjaDFHUFIsIGFyZ3VtZW50UmVncyk7Ci0gICAgICAgIGlmIChtYXlC
ZUludDMyKQotICAgICAgICAgICAgaXNJbnQzMi5saW5rKHRoaXMpOwotICAgICAgICB1bmJsZXNz
ZWRCb29sZWFuUmVzdWx0KHNjcmF0Y2gxR1BSLCBub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
fQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIERGR19DUkFTSChtX2dyYXBoLCBub2RlLCAiQmFkIHVz
ZSBraW5kIik7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLX0KLQogfSB9IC8vIG5hbWVzcGFjZSBK
U0M6OkRGRwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuaAppbmRleCA0Nzk2ZjIxOGIwMzYuLmY4Mzk3OTBmZWRlOCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApAQCAtMTYyNyw4ICsxNjI3
LDYgQEAgcHVibGljOgogICAgIHZvaWQgY29tcGlsZVN0cmluZ0NvZGVQb2ludEF0KE5vZGUqKTsK
ICAgICB2b2lkIGNvbXBpbGVTdHJpbmdMb2NhbGVDb21wYXJlKE5vZGUqKTsKICAgICB2b2lkIGNv
bXBpbGVEYXRlR2V0KE5vZGUqKTsKLSAgICB2b2lkIGNvbXBpbGVHbG9iYWxJc05hTihOb2RlKik7
Ci0gICAgdm9pZCBjb21waWxlTnVtYmVySXNOYU4oTm9kZSopOwogCiAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgSlNDbGFzcywgdHlwZW5hbWUgT3BlcmF0aW9uPgogICAgIHZvaWQgY29tcGlsZUNyZWF0
ZUludGVybmFsRmllbGRPYmplY3QoTm9kZSosIE9wZXJhdGlvbik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCBhOTcz
ZDExMWUzNTEuLjk3ODZlOTQ0ZWYyNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC0zNjk1LDE2ICszNjk1LDYgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBicmVhazsK
ICAgICB9CiAKLSAgICBjYXNlIEdsb2JhbElzTmFOOiB7Ci0gICAgICAgIGNvbXBpbGVHbG9iYWxJ
c05hTihub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgY2FzZSBOdW1iZXJJc05h
TjogewotICAgICAgICBjb21waWxlTnVtYmVySXNOYU4obm9kZSk7Ci0gICAgICAgIGJyZWFrOwot
ICAgIH0KLQogICAgIGNhc2UgSXNPYmplY3Q6IHsKICAgICAgICAgY29tcGlsZUlzT2JqZWN0KG5v
ZGUpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IDYyOTVhZWUzZTIwNS4uNDM3MDJlNjBlYWRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAKQEAgLTQ5NzIsMTYgKzQ5NzIsNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5v
ZGUqIG5vZGUpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGNhc2UgR2xvYmFsSXNOYU46
IHsKLSAgICAgICAgY29tcGlsZUdsb2JhbElzTmFOKG5vZGUpOwotICAgICAgICBicmVhazsKLSAg
ICB9Ci0KLSAgICBjYXNlIE51bWJlcklzTmFOOiB7Ci0gICAgICAgIGNvbXBpbGVOdW1iZXJJc05h
Tihub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBNYXBIYXNoOiB7CiAg
ICAgICAgIHN3aXRjaCAobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpKSB7CiAjaWYgVVNFKEJJR0lO
VDMyKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRp
ZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCmlu
ZGV4IDlhOGI1ZTJlMWM5Ny4uODAxMjZjZDFjZTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCkBAIC0yODYsOCArMjg2LDYgQEAgaW5saW5lIENh
cGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBJc051bWJlcjoK
ICAgICBjYXNlIElzQmlnSW50OgogICAgIGNhc2UgTnVtYmVySXNJbnRlZ2VyOgotICAgIGNhc2Ug
R2xvYmFsSXNOYU46Ci0gICAgY2FzZSBOdW1iZXJJc05hTjoKICAgICBjYXNlIElzT2JqZWN0Ogog
ICAgIGNhc2UgSXNDYWxsYWJsZToKICAgICBjYXNlIElzQ29uc3RydWN0b3I6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKaW5kZXggNzgxMzg4Njg1OTZm
Li5kNDNlYTEwYTUxZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9CMy5jcHAKQEAgLTE1MTAsMTIgKzE1MTAsNiBAQCBwcml2YXRlOgogICAgICAgICBjYXNl
IE51bWJlcklzSW50ZWdlcjoKICAgICAgICAgICAgIGNvbXBpbGVOdW1iZXJJc0ludGVnZXIoKTsK
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIEdsb2JhbElzTmFOOgotICAgICAgICAg
ICAgY29tcGlsZUdsb2JhbElzTmFOKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSBOdW1iZXJJc05hTjoKLSAgICAgICAgICAgIGNvbXBpbGVOdW1iZXJJc05hTigpOwotICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgSXNDZWxsV2l0aFR5cGU6CiAgICAgICAgICAgICBj
b21waWxlSXNDZWxsV2l0aFR5cGUoKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTMxNzEsNzUg
KzEzMTY1LDYgQEAgSUdOT1JFX0NMQU5HX1dBUk5JTkdTX0VORAogICAgICAgICBzZXRCb29sZWFu
KG1fb3V0LnBoaShJbnQzMiwgdHJ1ZVJlc3VsdCwgZmFsc2VSZXN1bHQsIHBhdGNocG9pbnRSZXN1
bHQpKTsKICAgICB9CiAKLSAgICB2b2lkIGNvbXBpbGVHbG9iYWxJc05hTigpCi0gICAgewotICAg
ICAgICBzd2l0Y2ggKG1fbm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpKSB7Ci0gICAgICAgIGNhc2Ug
RG91YmxlUmVwVXNlOiB7Ci0gICAgICAgICAgICBMVmFsdWUgYXJndW1lbnQgPSBsb3dEb3VibGUo
bV9ub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgICAgICBzZXRCb29sZWFuKG1fb3V0LmRvdWJsZU5v
dEVxdWFsT3JVbm9yZGVyZWQoYXJndW1lbnQsIGFyZ3VtZW50KSk7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFVudHlwZWRVc2U6IHsKLSAgICAgICAgICAgIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihtX29y
aWdpbi5zZW1hbnRpYyk7Ci0gICAgICAgICAgICBMVmFsdWUgYXJndW1lbnQgPSBsb3dKU1ZhbHVl
KG1fbm9kZS0+Y2hpbGQxKCkpOwotICAgICAgICAgICAgYm9vbCBtYXlCZUludDMyID0gYWJzdHJh
Y3RWYWx1ZShtX25vZGUtPmNoaWxkMSgpKS5tX3R5cGUgJiBTcGVjSW50MzJPbmx5OwotICAgICAg
ICAgICAgaWYgKG1heUJlSW50MzIpIHsKLSAgICAgICAgICAgICAgICBMQmFzaWNCbG9jayBub3RJ
bnQzMk51bWJlckNhc2UgPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICAgICAgICAgIExCYXNp
Y0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7Ci0KLSAgICAgICAgICAgICAg
ICBWYWx1ZUZyb21CbG9jayBmYXN0UmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmNvbnN0SW50
MzIoMCkpOwotICAgICAgICAgICAgICAgIG1fb3V0LmJyYW5jaChpc0ludDMyKGFyZ3VtZW50LCBw
cm92ZW5UeXBlKG1fbm9kZS0+Y2hpbGQxKCkpKSwgdW5zdXJlKGNvbnRpbnVhdGlvbiksIHVuc3Vy
ZShub3RJbnQzMk51bWJlckNhc2UpKTsKLQotICAgICAgICAgICAgICAgIExCYXNpY0Jsb2NrIGxh
c3ROZXh0ID0gbV9vdXQuYXBwZW5kVG8obm90SW50MzJOdW1iZXJDYXNlLCBjb250aW51YXRpb24p
OwotICAgICAgICAgICAgICAgIFZhbHVlRnJvbUJsb2NrIHNsb3dSZXN1bHQgPSBtX291dC5hbmNo
b3IobV9vdXQuY2FzdFRvSW50MzIodm1DYWxsKEludDY0LCBvcGVyYXRpb25Jc05hTiwgd2Vha1Bv
aW50ZXIoZ2xvYmFsT2JqZWN0KSwgYXJndW1lbnQpKSk7Ci0gICAgICAgICAgICAgICAgbV9vdXQu
anVtcChjb250aW51YXRpb24pOwotCi0gICAgICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29u
dGludWF0aW9uLCBsYXN0TmV4dCk7Ci0gICAgICAgICAgICAgICAgc2V0Qm9vbGVhbihtX291dC5w
aGkoSW50MzIsIGZhc3RSZXN1bHQsIHNsb3dSZXN1bHQpKTsKLSAgICAgICAgICAgIH0gZWxzZQot
ICAgICAgICAgICAgICAgIHNldEJvb2xlYW4obV9vdXQuY2FzdFRvSW50MzIodm1DYWxsKEludDY0
LCBvcGVyYXRpb25Jc05hTiwgd2Vha1BvaW50ZXIoZ2xvYmFsT2JqZWN0KSwgYXJndW1lbnQpKSk7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBkZWZhdWx0OgotICAgICAg
ICAgICAgREZHX0NSQVNIKG1fZ3JhcGgsIG1fbm9kZSwgIkJhZCB1c2Uga2luZCIpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICB2b2lkIGNvbXBpbGVOdW1iZXJJ
c05hTigpCi0gICAgewotICAgICAgICBzd2l0Y2ggKG1fbm9kZS0+Y2hpbGQxKCkudXNlS2luZCgp
KSB7Ci0gICAgICAgIGNhc2UgRG91YmxlUmVwVXNlOiB7Ci0gICAgICAgICAgICBMVmFsdWUgYXJn
dW1lbnQgPSBsb3dEb3VibGUobV9ub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgICAgICBzZXRCb29s
ZWFuKG1fb3V0LmRvdWJsZU5vdEVxdWFsT3JVbm9yZGVyZWQoYXJndW1lbnQsIGFyZ3VtZW50KSk7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFVudHlwZWRVc2U6
IHsKLSAgICAgICAgICAgIExWYWx1ZSBhcmd1bWVudCA9IGxvd0pTVmFsdWUobV9ub2RlLT5jaGls
ZDEoKSk7Ci0gICAgICAgICAgICBib29sIG1heUJlSW50MzIgPSBhYnN0cmFjdFZhbHVlKG1fbm9k
ZS0+Y2hpbGQxKCkpLm1fdHlwZSAmIFNwZWNJbnQzMk9ubHk7Ci0gICAgICAgICAgICBpZiAobWF5
QmVJbnQzMikgewotICAgICAgICAgICAgICAgIExCYXNpY0Jsb2NrIG5vdEludDMyTnVtYmVyQ2Fz
ZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7Ci0gICAgICAgICAgICAgICAgTEJhc2ljQmxvY2sgY29udGlu
dWF0aW9uID0gbV9vdXQubmV3QmxvY2soKTsKLQotICAgICAgICAgICAgICAgIFZhbHVlRnJvbUJs
b2NrIGZhc3RSZXN1bHQgPSBtX291dC5hbmNob3IobV9vdXQuY29uc3RJbnQzMigwKSk7Ci0gICAg
ICAgICAgICAgICAgbV9vdXQuYnJhbmNoKGlzSW50MzIoYXJndW1lbnQsIHByb3ZlblR5cGUobV9u
b2RlLT5jaGlsZDEoKSkpLCB1bnN1cmUoY29udGludWF0aW9uKSwgdW5zdXJlKG5vdEludDMyTnVt
YmVyQ2FzZSkpOwotCi0gICAgICAgICAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5leHQgPSBtX291
dC5hcHBlbmRUbyhub3RJbnQzMk51bWJlckNhc2UsIGNvbnRpbnVhdGlvbik7Ci0gICAgICAgICAg
ICAgICAgVmFsdWVGcm9tQmxvY2sgc2xvd1Jlc3VsdCA9IG1fb3V0LmFuY2hvcihtX291dC5jYXN0
VG9JbnQzMih2bUNhbGwoSW50NjQsIG9wZXJhdGlvbk51bWJlcklzTmFOLCBhcmd1bWVudCkpKTsK
LSAgICAgICAgICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7Ci0KLSAgICAgICAgICAg
ICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0KTsKLSAgICAgICAgICAg
ICAgICBzZXRCb29sZWFuKG1fb3V0LnBoaShJbnQzMiwgZmFzdFJlc3VsdCwgc2xvd1Jlc3VsdCkp
OwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgc2V0Qm9vbGVhbihtX291dC5j
YXN0VG9JbnQzMih2bUNhbGwoSW50NjQsIG9wZXJhdGlvbk51bWJlcklzTmFOLCBhcmd1bWVudCkp
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAg
ICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwgbV9ub2RlLCAiQmFkIHVzZSBraW5kIik7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLQogI2lmIFVTRShCSUdJTlQzMikKICAg
ICB2b2lkIGNvbXBpbGVJc0JpZ0ludCgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwCmluZGV4IDlmMDg5NmE1YTVmOS4uNWE0YjUzMWYzNTQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwCkBA
IC04MzIsMjYgKzgzMiw2IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRUaHVua1B0clRhZz4g
ZnJvbUNoYXJDb2RlVGh1bmtHZW5lcmF0b3IoVk0mIHZtKQogICAgIHJldHVybiBqaXQuZmluYWxp
emUodm0uaml0U3R1YnMtPmN0aU5hdGl2ZVRhaWxDYWxsKHZtKSwgImZyb21DaGFyQ29kZSIpOwog
fQogCi1NYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUVGh1bmtQdHJUYWc+IGdsb2JhbElzTmFOVGh1
bmtHZW5lcmF0b3IoVk0mIHZtKQotewotICAgIFNwZWNpYWxpemVkVGh1bmtKSVQgaml0KHZtLCAx
KTsKLSAgICBqaXQubG9hZEpTQXJndW1lbnQoMCwgSlNSSW5mbzo6anNSZWdUMTApOwotICAgIGpp
dC5hcHBlbmRGYWlsdXJlKGppdC5icmFuY2hJZk5vdEludDMyKEpTUkluZm86OmpzUmVnVDEwKSk7
Ci0gICAgaml0Lm1vdmVUcnVzdGVkVmFsdWUoanNCb29sZWFuKGZhbHNlKSwgSlNSSW5mbzo6anNS
ZWdUMTApOwotICAgIGppdC5yZXR1cm5KU1ZhbHVlKEpTUkluZm86OmpzUmVnVDEwKTsKLSAgICBy
ZXR1cm4gaml0LmZpbmFsaXplKHZtLmppdFN0dWJzLT5jdGlOYXRpdmVUYWlsQ2FsbCh2bSksICJp
c05hTiIpOwotfQotCi1NYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUVGh1bmtQdHJUYWc+IG51bWJl
cklzTmFOVGh1bmtHZW5lcmF0b3IoVk0mIHZtKQotewotICAgIFNwZWNpYWxpemVkVGh1bmtKSVQg
aml0KHZtLCAxKTsKLSAgICBqaXQubG9hZEpTQXJndW1lbnQoMCwgSlNSSW5mbzo6anNSZWdUMTAp
OwotICAgIGppdC5hcHBlbmRGYWlsdXJlKGppdC5icmFuY2hJZk5vdEludDMyKEpTUkluZm86Ompz
UmVnVDEwKSk7Ci0gICAgaml0Lm1vdmVUcnVzdGVkVmFsdWUoanNCb29sZWFuKGZhbHNlKSwgSlNS
SW5mbzo6anNSZWdUMTApOwotICAgIGppdC5yZXR1cm5KU1ZhbHVlKEpTUkluZm86OmpzUmVnVDEw
KTsKLSAgICByZXR1cm4gaml0LmZpbmFsaXplKHZtLmppdFN0dWJzLT5jdGlOYXRpdmVUYWlsQ2Fs
bCh2bSksICJOdW1iZXIuaXNOYU4iKTsKLX0KLQogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFRo
dW5rUHRyVGFnPiBzdHJpbmdQcm90b3R5cGVDb2RlUG9pbnRBdFRodW5rR2VuZXJhdG9yKFZNJiB2
bSkKIHsKICAgICBTcGVjaWFsaXplZFRodW5rSklUIGppdCh2bSwgMSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuaAppbmRleCAyYTMwOGU4ZjkwMDQuLjNlZTVm
ZDFjZmE4MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVy
YXRvcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5o
CkBAIC02Niw4ICs2Niw2IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRUaHVua1B0clRhZz4g
Y2hhckF0VGh1bmtHZW5lcmF0b3IoVk0mKTsKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRUaHVu
a1B0clRhZz4gc3RyaW5nUHJvdG90eXBlQ29kZVBvaW50QXRUaHVua0dlbmVyYXRvcihWTSYpOwog
TWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFRodW5rUHRyVGFnPiBjbHozMlRodW5rR2VuZXJhdG9y
KFZNJik7CiBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUVGh1bmtQdHJUYWc+IGZyb21DaGFyQ29k
ZVRodW5rR2VuZXJhdG9yKFZNJik7Ci1NYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUVGh1bmtQdHJU
YWc+IGdsb2JhbElzTmFOVGh1bmtHZW5lcmF0b3IoVk0mKTsKLU1hY3JvQXNzZW1ibGVyQ29kZVJl
ZjxKSVRUaHVua1B0clRhZz4gbnVtYmVySXNOYU5UaHVua0dlbmVyYXRvcihWTSYpOwogTWFjcm9B
c3NlbWJsZXJDb2RlUmVmPEpJVFRodW5rUHRyVGFnPiBhYnNUaHVua0dlbmVyYXRvcihWTSYpOwog
TWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFRodW5rUHRyVGFnPiBjZWlsVGh1bmtHZW5lcmF0b3Io
Vk0mKTsKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRUaHVua1B0clRhZz4gZXhwVGh1bmtHZW5l
cmF0b3IoVk0mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dHJpbnNpYy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50cmluc2ljLmgKaW5k
ZXggYjIxMTU1NGM1NDRmLi5mYjdjYmNmMmNhZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0ludHJpbnNpYy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludHJpbnNpYy5oCkBAIC04Miw3ICs4Miw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
IG1hY3JvKERhdGVQcm90b3R5cGVHZXRUaW1lem9uZU9mZnNldEludHJpbnNpYykgXAogICAgIG1h
Y3JvKERhdGVQcm90b3R5cGVHZXRZZWFySW50cmluc2ljKSBcCiAgICAgbWFjcm8oRnJvbUNoYXJD
b2RlSW50cmluc2ljKSBcCi0gICAgbWFjcm8oR2xvYmFsSXNOYU5JbnRyaW5zaWMpIFwKICAgICBt
YWNybyhQb3dJbnRyaW5zaWMpIFwKICAgICBtYWNybyhGbG9vckludHJpbnNpYykgXAogICAgIG1h
Y3JvKENlaWxJbnRyaW5zaWMpIFwKQEAgLTExOCw3ICsxMTcsNiBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICBtYWNybyhTdHJpbmdQcm90b3R5cGVTdWJzdHJpbmdJbnRyaW5zaWMpIFwKICAgICBtYWNy
byhTdHJpbmdQcm90b3R5cGVUb0xvd2VyQ2FzZUludHJpbnNpYykgXAogICAgIG1hY3JvKE51bWJl
clByb3RvdHlwZVRvU3RyaW5nSW50cmluc2ljKSBcCi0gICAgbWFjcm8oTnVtYmVySXNOYU5JbnRy
aW5zaWMpIFwKICAgICBtYWNybyhOdW1iZXJJc0ludGVnZXJJbnRyaW5zaWMpIFwKICAgICBtYWNy
byhOdW1iZXJDb25zdHJ1Y3RvckludHJpbnNpYykgXAogICAgIG1hY3JvKElNdWxJbnRyaW5zaWMp
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNw
cAppbmRleCA2OTA5MzUzZmIyZGIuLmFkMGVjYWMyODIyMSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNTYyLDcgKzU2Miw3IEBA
IGNvbnN0IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKiBKU0dsb2JhbE9iamVjdDo6YmFzZUdsb2Jh
bE9iamVjdE1ldGhvZFRhYmxlKCkKIAogLyogU291cmNlIGZvciBKU0dsb2JhbE9iamVjdC5sdXQu
aAogQGJlZ2luIGdsb2JhbE9iamVjdFRhYmxlCi0gIGlzTmFOICAgICAgICAgICAgICAgICBnbG9i
YWxGdW5jSXNOYU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb250RW51bXxGdW5jdGlv
biAxICAgICAgICAgR2xvYmFsSXNOYU5JbnRyaW5zaWMKKyAgaXNOYU4gICAgICAgICAgICAgICAg
IEpTQnVpbHRpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERvbnRFbnVtfEZ1
bmN0aW9uIDEKICAgaXNGaW5pdGUgICAgICAgICAgICAgIEpTQnVpbHRpbiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uIDEKICAgZXNjYXBlICAgICAg
ICAgICAgICAgIGdsb2JhbEZ1bmNFc2NhcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERv
bnRFbnVtfEZ1bmN0aW9uIDEKICAgdW5lc2NhcGUgICAgICAgICAgICAgIGdsb2JhbEZ1bmNVbmVz
Y2FwZSAgICAgICAgICAgICAgICAgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uIDEKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rp
b25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVu
Y3Rpb25zLmNwcAppbmRleCBlYWM0OWQyYjFhZDcuLjgzOGFlYzQxZTZjMSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rp
b25zLmNwcApAQCAtMTA1MywxMCArMTA1Myw0IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihn
bG9iYWxGdW5jSGFuZGxlUG9zaXRpdmVQcm94eVNldFRyYXBSZXN1bHQsIChKU0dsb2JhbE9iCiAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIH0KIAotSlNDX0RFRklO
RV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNJc05hTiwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKLXsKLSAgICBKU1ZhbHVlIGFyZ3VtZW50ID0g
Y2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9v
bGVhbihzdGQ6OmlzbmFuKGFyZ3VtZW50LnRvTnVtYmVyKGdsb2JhbE9iamVjdCkpKSk7Ci19Ci0K
IH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmgKaW5kZXggYzI2YzQzNmU1NDAwLi42MGVl
MWM3MjM0MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0RnVuY3Rpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaApAQCAtNjQsNyArNjQsNiBAQCBKU0NfREVDTEFSRV9I
T1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNEYXRlVGltZUZvcm1hdCk7CiBKU0NfREVDTEFSRV9IT1NU
X0ZVTkNUSU9OKGdsb2JhbEZ1bmNIYW5kbGVOZWdhdGl2ZVByb3h5SGFzVHJhcFJlc3VsdCk7CiBK
U0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNIYW5kbGVQb3NpdGl2ZVByb3h5U2V0
VHJhcFJlc3VsdCk7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNIYW5kbGVQ
cm94eUdldFRyYXBSZXN1bHQpOwotSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihnbG9iYWxGdW5j
SXNOYU4pOwogCiBKU19FWFBPUlRfUFJJVkFURSBkb3VibGUganNUb051bWJlcihTdHJpbmdWaWV3
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29u
c3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3Ry
dWN0b3IuY3BwCmluZGV4IDgwZGExYjJhYWI1ZC4uOGJkZWQxZmU2YjVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCkBAIC0y
OCw3ICsyOCw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1zdGF0aWMgSlNDX0RFQ0xBUkVfSE9T
VF9GVU5DVElPTihudW1iZXJDb25zdHJ1Y3RvckZ1bmNJc05hTik7CiBzdGF0aWMgSlNDX0RFQ0xB
UkVfSE9TVF9GVU5DVElPTihudW1iZXJDb25zdHJ1Y3RvckZ1bmNJc0ludGVnZXIpOwogc3RhdGlj
IEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04obnVtYmVyQ29uc3RydWN0b3JGdW5jSXNTYWZlSW50
ZWdlcik7CiAKQEAgLTQ1LDcgKzQ0LDcgQEAgY29uc3QgQ2xhc3NJbmZvIE51bWJlckNvbnN0cnVj
dG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiJfcywgJkJhc2U6OnNfaW5mbywgJm51bWIKIC8qIFNv
dXJjZSBmb3IgTnVtYmVyQ29uc3RydWN0b3IubHV0LmgKIEBiZWdpbiBudW1iZXJDb25zdHJ1Y3Rv
clRhYmxlCiAgIGlzRmluaXRlICAgICAgIEpTQnVpbHRpbiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIERvbnRFbnVtfEZ1bmN0aW9uIDEKLSAgaXNOYU4gICAgICAgICAgbnVtYmVyQ29uc3RydWN0
b3JGdW5jSXNOYU4gICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gMSBOdW1iZXJJc05hTkludHJp
bnNpYworICBpc05hTiAgICAgICAgICBKU0J1aWx0aW4gICAgICAgICAgICAgICAgICAgICAgICAg
ICBEb250RW51bXxGdW5jdGlvbiAxCiAgIGlzU2FmZUludGVnZXIgIG51bWJlckNvbnN0cnVjdG9y
RnVuY0lzU2FmZUludGVnZXIgIERvbnRFbnVtfEZ1bmN0aW9uIDEKIEBlbmQKICovCkBAIC0xNTMs
MTIgKzE1Miw0IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihudW1iZXJDb25zdHJ1Y3RvckZ1
bmNJc1NhZmVJbnRlZ2VyLCAoSlNHbG9iYWxPYmplY3QqLCBDCiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc0Jvb2xlYW4oaXNTYWZlSW50ZWdlcihhcmd1bWVudC5hc0RvdWJsZSgpKSkpOwog
fQogCi1KU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04obnVtYmVyQ29uc3RydWN0b3JGdW5jSXNOYU4s
IChKU0dsb2JhbE9iamVjdCosIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKLXsKLSAgICBKU1ZhbHVl
IGFyZ3VtZW50ID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKLSAgICBpZiAoIWFyZ3VtZW50Lmlz
TnVtYmVyKCkpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKGZhbHNl
KSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4oc3RkOjppc25hbihhcmd1
bWVudC5hc051bWJlcigpKSkpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1ZNLmNwcAppbmRleCA4NzI0NTYxMzc5ODEuLmMzNDliMDhmYTA1NyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcApAQCAtNTk4LDEwICs1OTgsNiBAQCBzdGF0
aWMgVGh1bmtHZW5lcmF0b3IgdGh1bmtHZW5lcmF0b3JGb3JJbnRyaW5zaWMoSW50cmluc2ljIGlu
dHJpbnNpYykKICAgICAgICAgcmV0dXJuIGNsejMyVGh1bmtHZW5lcmF0b3I7CiAgICAgY2FzZSBG
cm9tQ2hhckNvZGVJbnRyaW5zaWM6CiAgICAgICAgIHJldHVybiBmcm9tQ2hhckNvZGVUaHVua0dl
bmVyYXRvcjsKLSAgICBjYXNlIEdsb2JhbElzTmFOSW50cmluc2ljOgotICAgICAgICByZXR1cm4g
Z2xvYmFsSXNOYU5UaHVua0dlbmVyYXRvcjsKLSAgICBjYXNlIE51bWJlcklzTmFOSW50cmluc2lj
OgotICAgICAgICByZXR1cm4gbnVtYmVySXNOYU5UaHVua0dlbmVyYXRvcjsKICAgICBjYXNlIFNx
cnRJbnRyaW5zaWM6CiAgICAgICAgIHJldHVybiBzcXJ0VGh1bmtHZW5lcmF0b3I7CiAgICAgY2Fz
ZSBBYnNJbnRyaW5zaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVh
bXMvUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qcwppbmRleCAxZDNiZThlY2Q5
NTIuLjM4ZjZiNmYxNzExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJl
YW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzLmpzCkBAIC00NSw3ICs0
NSw3IEBAIGZ1bmN0aW9uIHByaXZhdGVJbml0aWFsaXplUmVhZGFibGVCeXRlU3RyZWFtQ29udHJv
bGxlcihzdHJlYW0sIHVuZGVybHlpbmdCeXRlU291CiAgICAgQHB1dEJ5SWREaXJlY3RQcml2YXRl
KHRoaXMsICJjbG9zZVJlcXVlc3RlZCIsIGZhbHNlKTsKIAogICAgIGxldCBod20gPSBAdG9OdW1i
ZXIoaGlnaFdhdGVyTWFyayk7Ci0gICAgaWYgKGh3bSAhPT0gaHdtIHx8IGh3bSA8IDApCisgICAg
aWYgKEBpc05hTihod20pIHx8IGh3bSA8IDApCiAgICAgICAgIEB0aHJvd1JhbmdlRXJyb3IoImhp
Z2hXYXRlck1hcmsgdmFsdWUgaXMgbmVnYXRpdmUgb3Igbm90IGEgbnVtYmVyIik7CiAgICAgQHB1
dEJ5SWREaXJlY3RQcml2YXRlKHRoaXMsICJzdHJhdGVneUhXTSIsIGh3bSk7CiAKQEAgLTM3OSw3
ICszNzksNyBAQCBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUmVzcG9uZChj
b250cm9sbGVyLCBieXRlc1dyaXR0ZW4pCiAKICAgICBieXRlc1dyaXR0ZW4gPSBAdG9OdW1iZXIo
Ynl0ZXNXcml0dGVuKTsKIAotICAgIGlmIChieXRlc1dyaXR0ZW4gIT09IGJ5dGVzV3JpdHRlbiB8
fCBieXRlc1dyaXR0ZW4gPT09IEBJbmZpbml0eSB8fCBieXRlc1dyaXR0ZW4gPCAwICkKKyAgICBp
ZiAoQGlzTmFOKGJ5dGVzV3JpdHRlbikgfHwgYnl0ZXNXcml0dGVuID09PSBASW5maW5pdHkgfHwg
Ynl0ZXNXcml0dGVuIDwgMCApCiAgICAgICAgIEB0aHJvd1JhbmdlRXJyb3IoImJ5dGVzV3JpdHRl
biBoYXMgYW4gaW5jb3JyZWN0IHZhbHVlIik7CiAKICAgICBAYXNzZXJ0KEBnZXRCeUlkRGlyZWN0
UHJpdmF0ZShjb250cm9sbGVyLCAicGVuZGluZ1B1bGxJbnRvcyIpLmxlbmd0aCA+IDApOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5q
cyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9TdHJlYW1JbnRlcm5hbHMuanMKaW5k
ZXggYTEzY2YwZTA5ODIxLi4xZmZlOWJlMGY0ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9TdHJlYW1JbnRlcm5hbHMuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5qcwpAQCAtMTA2LDEyICsxMDYsMTUgQEAg
ZnVuY3Rpb24gdmFsaWRhdGVBbmROb3JtYWxpemVRdWV1aW5nU3RyYXRlZ3koc2l6ZSwgaGlnaFdh
dGVyTWFyaykKICAgICBpZiAoc2l6ZSAhPT0gQHVuZGVmaW5lZCAmJiB0eXBlb2Ygc2l6ZSAhPT0g
ImZ1bmN0aW9uIikKICAgICAgICAgQHRocm93VHlwZUVycm9yKCJzaXplIHBhcmFtZXRlciBtdXN0
IGJlIGEgZnVuY3Rpb24iKTsKIAotICAgIGhpZ2hXYXRlck1hcmsgPSBAdG9OdW1iZXIoaGlnaFdh
dGVyTWFyayk7CisgICAgY29uc3Qgbm9ybWFsaXplZFN0cmF0ZWd5ID0geworICAgICAgICBzaXpl
OiBzaXplLAorICAgICAgICBoaWdoV2F0ZXJNYXJrOiBAdG9OdW1iZXIoaGlnaFdhdGVyTWFyaykK
KyAgICB9OwogCi0gICAgaWYgKGhpZ2hXYXRlck1hcmsgIT09IGhpZ2hXYXRlck1hcmsgfHwgaGln
aFdhdGVyTWFyayA8IDApCisgICAgaWYgKEBpc05hTihub3JtYWxpemVkU3RyYXRlZ3kuaGlnaFdh
dGVyTWFyaykgfHwgbm9ybWFsaXplZFN0cmF0ZWd5LmhpZ2hXYXRlck1hcmsgPCAwKQogICAgICAg
ICBAdGhyb3dSYW5nZUVycm9yKCJoaWdoV2F0ZXJNYXJrIHZhbHVlIGlzIG5lZ2F0aXZlIG9yIG5v
dCBhIG51bWJlciIpOwogCi0gICAgcmV0dXJuIHsgc2l6ZSwgaGlnaFdhdGVyTWFyayB9OworICAg
IHJldHVybiBub3JtYWxpemVkU3RyYXRlZ3k7CiB9CiAKIGZ1bmN0aW9uIG5ld1F1ZXVlKCkKQEAg
LTE4NywxMSArMTkwLDEwIEBAIGZ1bmN0aW9uIGV4dHJhY3RIaWdoV2F0ZXJNYXJrKHN0cmF0ZWd5
LCBkZWZhdWx0SFdNKQogICAgIGlmIChoaWdoV2F0ZXJNYXJrID09PSBAdW5kZWZpbmVkKQogICAg
ICAgICByZXR1cm4gZGVmYXVsdEhXTTsKIAotICAgIGNvbnN0IHJlc3VsdCA9IEB0b051bWJlciho
aWdoV2F0ZXJNYXJrKTsKLSAgICBpZiAocmVzdWx0ICE9PSByZXN1bHQgfHwgcmVzdWx0IDwgMCkK
KyAgICBpZiAoQGlzTmFOKGhpZ2hXYXRlck1hcmspIHx8IGhpZ2hXYXRlck1hcmsgPCAwKQogICAg
ICAgICBAdGhyb3dSYW5nZUVycm9yKCJoaWdoV2F0ZXJNYXJrIHZhbHVlIGlzIG5lZ2F0aXZlIG9y
IG5vdCBhIG51bWJlciIpOwogCi0gICAgcmV0dXJuIHJlc3VsdDsKKyAgICByZXR1cm4gQHRvTnVt
YmVyKGhpZ2hXYXRlck1hcmspOwogfQogCiBmdW5jdGlvbiBleHRyYWN0SGlnaFdhdGVyTWFya0Zy
b21RdWV1aW5nU3RyYXRlZ3lJbml0KGluaXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanMKaW5kZXggNzhjZTc4
NGE1YjUxLi5jOThiZTE0YjI2OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3RyZWFtcy9Xcml0YWJsZVN0cmVhbUludGVybmFscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanMKQEAgLTQ4LDcgKzQ4LDcg
QEAgZnVuY3Rpb24gYWNxdWlyZVdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlcihzdHJlYW0pCiAv
LyBodHRwczovL3N0cmVhbXMuc3BlYy53aGF0d2cub3JnLyNjcmVhdGUtd3JpdGFibGUtc3RyZWFt
CiBmdW5jdGlvbiBjcmVhdGVXcml0YWJsZVN0cmVhbShzdGFydEFsZ29yaXRobSwgd3JpdGVBbGdv
cml0aG0sIGNsb3NlQWxnb3JpdGhtLCBhYm9ydEFsZ29yaXRobSwgaGlnaFdhdGVyTWFyaywgc2l6
ZUFsZ29yaXRobSkKIHsKLSAgICBAYXNzZXJ0KHR5cGVvZiBoaWdoV2F0ZXJNYXJrID09PSAibnVt
YmVyIiAmJiBoaWdoV2F0ZXJNYXJrID09PSBoaWdoV2F0ZXJNYXJrICYmIGhpZ2hXYXRlck1hcmsg
Pj0gMCk7CisgICAgQGFzc2VydCh0eXBlb2YgaGlnaFdhdGVyTWFyayA9PT0gIm51bWJlciIgJiYg
IUBpc05hTihoaWdoV2F0ZXJNYXJrKSAmJiBoaWdoV2F0ZXJNYXJrID49IDApOwogCiAgICAgY29u
c3QgaW50ZXJuYWxTdHJlYW0gPSB7IH07CiAgICAgQGluaXRpYWxpemVXcml0YWJsZVN0cmVhbVNs
b3RzKGludGVybmFsU3RyZWFtLCB7IH0pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>