<?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>93340</bug_id>
          
          <creation_ts>2012-08-06 23:21:43 -0700</creation_ts>
          <short_desc>REGRESSION(r124780): We don&apos;t want an incomplete feature set for the chromium branch cut. (Requested by annacc on #webkit).</short_desc>
          <delta_ts>2012-08-06 23:41:13 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>91773</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>annacc</cc>
    
    <cc>eric.carlson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>688862</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 23:21:43 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/124780 broke the build:
We don&apos;t want an incomplete feature set for the chromium branch cut. (Requested by annacc on #webkit).

This is an automatic bug report generated by the sheriff-bot. 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 case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688864</commentid>
    <comment_count>1</comment_count>
      <attachid>156876</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 23:22:32 -0700</bug_when>
    <thetext>Created attachment 156876
ROLLOUT of r124780

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 rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout 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>688876</commentid>
    <comment_count>2</comment_count>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-08-06 23:41:01 -0700</bug_when>
    <thetext>*** Bug 93294 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688877</commentid>
    <comment_count>3</comment_count>
      <attachid>156876</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 23:41:09 -0700</bug_when>
    <thetext>Comment on attachment 156876
ROLLOUT of r124780

Clearing flags on attachment: 156876

Committed r124857: &lt;http://trac.webkit.org/changeset/124857&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688878</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 23:41:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156876</attachid>
            <date>2012-08-06 23:22:32 -0700</date>
            <delta_ts>2012-08-06 23:41:09 -0700</delta_ts>
            <desc>ROLLOUT of r124780</desc>
            <filename>bug-93340-20120807062808.patch</filename>
            <type>text/plain</type>
            <size>44032</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0ODU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTk2NmVkZTdkMTY5Yzhj
OTc3OGUzMjE5YmIyNDVjN2I1NjNlYWI0NS4uMDliZmQ0ZWRhYmIzNTkzYzE2MjljZDM2YjQxZDBi
ZDg5Y2E2YjEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ5IEBACiAyMDEyLTA4LTA2ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAorICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTI0NzgwLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMjQ3ODAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkzMzQwCisKKyAgICAgICAgV2UgZG9uJ3Qgd2FudCBhbiBpbmNvbXBsZXRlIGZl
YXR1cmUgc2V0IGZvciB0aGUgY2hyb21pdW0KKyAgICAgICAgYnJhbmNoIGN1dC4gKFJlcXVlc3Rl
ZCBieSBhbm5hY2Mgb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFr
ZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6CisgICAgICAgICogR05VbWFrZWZpbGUu
bGlzdC5hbToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmg6IFJl
bW92ZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGw6IFJl
bW92ZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5
LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNl
UmVnaXN0cnkuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OlNvdXJjZUJ1ZmZl
cik6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmJ1ZmZlcmVkKToKKyAgICAgICAg
KFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJj
ZUJ1ZmZlcjo6YWJvcnQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmNsZWFyKToKKyAgICAgICAgKFNvdXJjZUJ1ZmZlcik6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaDoKKyAgICAgICAg
KiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0Lmg6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGh0
bWwvRE9NVVJMLmNwcDoKKyAgICAgICAgKiBodG1sL0RPTVVSTC5oOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChET01VUkwpOgorICAgICAgICAqIGh0bWwvRE9NVVJMLmlkbDoKKyAgICAg
ICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKKzIwMTItMDgtMDYgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIxMjQ3OTguCiAgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEy
NDc5OAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMz
MzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZGI4OGEwNTdhNmE0NzE5ZWFkOGM4ZTQyOWQzYjg1
NWY2ZTIxMThhMS4uYzU3MGYwODk2M2FjMTc4MjUyODI4OTg2MjE4ZDJhODE4YWRiMmFlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTE5NCw3ICsxOTQsNiBAQCBTRVQoV2ViQ29yZV9JRExfRklM
RVMKICAgICBNb2R1bGVzL2ludGVudHMvSW50ZW50UmVzdWx0Q2FsbGJhY2suaWRsCiAgICAgTW9k
dWxlcy9pbnRlbnRzL05hdmlnYXRvckludGVudHMuaWRsCiAKLSAgICBNb2R1bGVzL21lZGlhc291
cmNlL01lZGlhU291cmNlLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmlkbAogICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwKIApAQCAt
ODI1LDcgKzgyNCw2IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBNb2R1bGVzL2ludGVudHMv
SW50ZW50UmVxdWVzdC5jcHAKICAgICBNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5j
cHAKIAotICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCiAgICAgTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCiAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXJMaXN0LmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggMGZh
OGFjY2Y0OWIxMTdiYzBkNWYwOGM4ZGMwY2Y4NDU5NzQ3ZWM5Yi4uZjgwYTllMjBiNThlZDIwNTA5
MTZmYjhjMjE2ODhhODYwNjhhMzE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAt
MjM3LDkgKzIzNyw2IEBACiAjaW5jbHVkZSAiSlNNZWRpYUVycm9yLmNwcCIKICNpbmNsdWRlICJK
U01lZGlhTGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNNZWRpYVF1ZXJ5TGlzdC5jcHAiCi0jaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKLSNpbmNsdWRlICJKU01lZGlhU291cmNlLmNwcCIKLSNlbmRpZgog
I2luY2x1ZGUgIkpTTWVtb3J5SW5mby5jcHAiCiAjaW5jbHVkZSAiSlNNZXNzYWdlQ2hhbm5lbC5j
cHAiCiAjaW5jbHVkZSAiSlNNZXNzYWdlRXZlbnQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggNzRkZDRmM2QzNWZjZmQyNzkwM2M1OWM5ZjAyOTRmNDdlZDY3NzJkNS4uMGNm
MjliZTk4ZTMxNzJjOGY5ZDY2YTliMTkzZDkyNWQ5MGM3NzVkZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0xMDYsNyArMTA2LDYgQEAgQklORElOR19JRExTID0gXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9pbmRleGVkZGIvSURCVmVyc2lvbkNoYW5nZUV2ZW50LmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJWZXJzaW9uQ2hhbmdlUmVxdWVzdC5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4
ZWREYXRhYmFzZS5pZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRp
YVNvdXJjZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyTGlzdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdp
bmRvd05vdGlmaWNhdGlvbnMuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCAx
NTYyZTI1OTBjNzc2Y2RmMzIzOGEzYzE5OTg3MzI0ZWVkNTMxNmM5Li45M2YzZGRhNmEzMDY3Yjk3
MWY5N2RkZDI3OGQ0NTc5MDYzZGU5ZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBA
IC02MjQsNyArNjI0LDYgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1ZJREVPX1RSQUNLPTEp
IHsKIAogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NPVVJDRT0xKSB7CiAgIElETF9C
SU5ESU5HUyArPSBcCi0gICAgJCRQV0QvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5p
ZGwgXAogICAgICQkUFdEL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbCBcCiAg
ICAgJCRQV0QvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggY2JiYmRiY2UwNDAwZDc0M2I5OGU5NThlMzE0
ZGE2ZjcxYTIzYTljZi4uNDBlNzEyOWFkMmQ2MTc5NmJlZWRhYTBlOTJjNjBlNjEwYjIwMDJmMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0zODMsOCArMzgzLDYgQEAgd2ViY29y
ZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFFcnJv
ci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFMaXN0LmNwcCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhTGlzdC5oIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTWVkaWFTb3VyY2UuY3BwIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFTb3Vy
Y2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU3RyZWFtLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU3RyZWFtLmggXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNNZWRpYVN0cmVhbUV2ZW50LmNwcCBcCkBAIC03MDIsNyArNzAwLDYgQEAgZG9tX2Jp
bmRpbmdfaWRscyArPSBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9u
Q2FsbGJhY2suaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25F
cnJvci5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9y
Q2FsbGJhY2suaWRsIFwKLQkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3Vy
Y2UuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlk
bCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRs
IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVkaWFTdHJlYW0u
aWRsIFwKQEAgLTExNzUsMTAgKzExNzIsNiBAQCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvUGFnZUdyb3VwSW5kZXhlZERhdGFi
YXNlLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRleHRJ
bmRleGVkRGF0YWJhc2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9X
b3JrZXJDb250ZXh0SW5kZXhlZERhdGFiYXNlLmggXAotCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL01lZGlhU291cmNlLmggXAotCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNmY4NGQ5NDM5OWU4ZTdmODBkNjY2ZWJkMTc1MzFjMGI3NTBiMmRkZi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcAorKysgL2Rldi9udWxsCkBAIC0x
LDI4NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBt
ZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIk1lZGlhU291cmNlLmgi
Ci0KLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotCi0jaW5jbHVkZSAiQ29udGVudFR5cGUuaCIK
LSNpbmNsdWRlICJFdmVudC5oIgotI2luY2x1ZGUgIlRpbWVSYW5nZXMuaCIKLSNpbmNsdWRlIDx3
dGYvVWludDhBcnJheS5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVBhc3NSZWZQdHI8TWVk
aWFTb3VyY2U+IE1lZGlhU291cmNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU291cmNlKGNvbnRleHQpKTsK
LX0KLQotTWVkaWFTb3VyY2U6Ok1lZGlhU291cmNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQpCi0gICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcihjb250ZXh0KQotICAgICwg
bV9yZWFkeVN0YXRlKGNsb3NlZEtleXdvcmQoKSkKLSAgICAsIG1fcGxheWVyKDApCi0gICAgLCBt
X25leHRTb3VyY2VCdWZmZXJJZCgwKQotewotICAgIG1fc291cmNlQnVmZmVycyA9IFNvdXJjZUJ1
ZmZlckxpc3Q6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwotICAgIG1fYWN0aXZl
U291cmNlQnVmZmVycyA9IFNvdXJjZUJ1ZmZlckxpc3Q6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkpOwotfQotCi1Tb3VyY2VCdWZmZXJMaXN0KiBNZWRpYVNvdXJjZTo6c291cmNlQnVm
ZmVycygpCi17Ci0gICAgcmV0dXJuIG1fc291cmNlQnVmZmVycy5nZXQoKTsKLX0KLQotU291cmNl
QnVmZmVyTGlzdCogTWVkaWFTb3VyY2U6OmFjdGl2ZVNvdXJjZUJ1ZmZlcnMoKQotewotICAgIC8v
IEZJWE1FKDkxNjQ5KTogc3VwcG9ydCB0cmFjayBzZWxlY3Rpb24KLSAgICByZXR1cm4gbV9hY3Rp
dmVTb3VyY2VCdWZmZXJzLmdldCgpOwotfQotCi1Tb3VyY2VCdWZmZXIqIE1lZGlhU291cmNlOjph
ZGRTb3VyY2VCdWZmZXIoY29uc3QgU3RyaW5nJiB0eXBlLCBFeGNlcHRpb25Db2RlJiBlYykKLXsK
LSAgICAvLyAzLjEgaHR0cDovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvdGlw
L21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuaHRtbCNkb20tYWRkc291cmNlYnVmZmVyCi0gICAg
Ly8gMS4gSWYgdHlwZSBpcyBudWxsIG9yIGFuIGVtcHR5IHRoZW4gdGhyb3cgYW4gSU5WQUxJRF9B
Q0NFU1NfRVJSIGV4Y2VwdGlvbiBhbmQKLSAgICAvLyBhYm9ydCB0aGVzZSBzdGVwcy4KLSAgICBp
ZiAodHlwZS5pc051bGwoKSB8fCB0eXBlLmlzRW1wdHkoKSkgewotICAgICAgICBlYyA9IElOVkFM
SURfQUNDRVNTX0VSUjsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgLy8gMi4gSWYg
dHlwZSBjb250YWlucyBhIE1JTUUgdHlwZSB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQgLi4uLCB0aGVu
IHRocm93IGEKLSAgICAvLyBOT1RfU1VQUE9SVEVEX0VSUiBleGNlcHRpb24gYW5kIGFib3J0IHRo
ZXNlIHN0ZXBzLgotICAgIENvbnRlbnRUeXBlIGNvbnRlbnRUeXBlKHR5cGUpOwotICAgIFZlY3Rv
cjxTdHJpbmc+IGNvZGVjcyA9IGNvbnRlbnRUeXBlLmNvZGVjcygpOwotCi0gICAgaWYgKCFjb2Rl
Y3Muc2l6ZSgpKSB7Ci0gICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Ci0gICAgICAgIHJl
dHVybiAwOwotICAgIH0KLSAgICAKLSAgICAvLyA0LiBJZiB0aGUgcmVhZHlTdGF0ZSBhdHRyaWJ1
dGUgaXMgbm90IGluIHRoZSAib3BlbiIgc3RhdGUgdGhlbiB0aHJvdyBhbgotICAgIC8vIElOVkFM
SURfU1RBVEVfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCi0gICAgaWYgKCFt
X3BsYXllciB8fCBtX3JlYWR5U3RhdGUgIT0gb3BlbktleXdvcmQoKSkgewotICAgICAgICBlYyA9
IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICAvLyA1
LiBDcmVhdGUgYSBuZXcgU291cmNlQnVmZmVyIG9iamVjdCBhbmQgYXNzb2NpYXRlZCByZXNvdXJj
ZXMuCi0gICAgUmVmUHRyPFNvdXJjZUJ1ZmZlcj4gYnVmZmVyID0gU291cmNlQnVmZmVyOjpjcmVh
dGUoU3RyaW5nOjpudW1iZXIoKyttX25leHRTb3VyY2VCdWZmZXJJZCksIHRoaXMpOwotCi0gICAg
c3dpdGNoIChtX3BsYXllci0+c291cmNlQWRkSWQoYnVmZmVyLT5pZCgpLCBjb250ZW50VHlwZS50
eXBlKCksIGNvZGVjcykpIHsKLSAgICBjYXNlIE1lZGlhUGxheWVyOjpPazoKLSAgICAgICAgLy8g
Ni4gQWRkIHRoZSBuZXcgb2JqZWN0IHRvIHNvdXJjZUJ1ZmZlcnMgYW5kIGZpcmUgYSBhZGRzb3Vy
Y2VidWZmZXIgb24gdGhhdCBvYmplY3QuCi0gICAgICAgIG1fc291cmNlQnVmZmVycy0+YWRkKGJ1
ZmZlcik7Ci0gICAgICAgIG1fYWN0aXZlU291cmNlQnVmZmVycy0+YWRkKGJ1ZmZlcik7Ci0gICAg
ICAgIC8vIDcuIFJldHVybiB0aGUgbmV3IG9iamVjdCB0byB0aGUgY2FsbGVyLgotICAgICAgICBy
ZXR1cm4gYnVmZmVyLmdldCgpOwotICAgIGNhc2UgTWVkaWFQbGF5ZXI6Ok5vdFN1cHBvcnRlZDoK
LSAgICAgICAgLy8gMiAoY29udCkuIElmIHR5cGUgY29udGFpbnMgYSBNSU1FIHR5cGUgLi4uIHRo
YXQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIHRoZSB0eXBlcyAKLSAgICAgICAgLy8gc3BlY2lmaWVk
IGZvciB0aGUgb3RoZXIgU291cmNlQnVmZmVyIG9iamVjdHMgaW4gc291cmNlQnVmZmVycywgdGhl
biB0aHJvdwotICAgICAgICAvLyBhIE5PVF9TVVBQT1JURURfRVJSIGV4Y2VwdGlvbiBhbmQgYWJv
cnQgdGhlc2Ugc3RlcHMuCi0gICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Ci0gICAgICAg
IHJldHVybiAwOwotICAgIGNhc2UgTWVkaWFQbGF5ZXI6OlJlYWNoZWRJZExpbWl0OgotICAgICAg
ICAvLyAzIChjb250KS4gSWYgdGhlIHVzZXIgYWdlbnQgY2FuJ3QgaGFuZGxlIGFueSBtb3JlIFNv
dXJjZUJ1ZmZlciBvYmplY3RzIHRoZW4gdGhyb3cgCi0gICAgICAgIC8vIGEgUVVPVEFfRVhDRUVE
RURfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCi0gICAgICAgIGVjID0gUVVP
VEFfRVhDRUVERURfRVJSOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMDsKLX0KLQotdm9pZCBNZWRpYVNvdXJjZTo6cmVt
b3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciogYnVmZmVyLCBFeGNlcHRpb25Db2RlJiBlYykK
LXsKLSAgICAvLyAzLjEgaHR0cDovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUv
dGlwL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UuaHRtbCNkb20tcmVtb3Zlc291cmNlYnVmZmVy
Ci0gICAgLy8gMS4gSWYgc291cmNlQnVmZmVyIGlzIG51bGwgdGhlbiB0aHJvdyBhbiBJTlZBTElE
X0FDQ0VTU19FUlIgZXhjZXB0aW9uIGFuZAotICAgIC8vIGFib3J0IHRoZXNlIHN0ZXBzLgotICAg
IGlmICghYnVmZmVyKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gMi4gSWYgc291cmNlQnVmZmVycyBpcyBlbXB0eSB0
aGVuIHRocm93IGFuIElOVkFMSURfU1RBVEVfRVJSIGV4Y2VwdGlvbiBhbmQKLSAgICAvLyBhYm9y
dCB0aGVzZSBzdGVwcy4KLSAgICBpZiAoIW1fcGxheWVyIHx8ICFtX3NvdXJjZUJ1ZmZlcnMtPmxl
bmd0aCgpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICAvLyAzLiBJZiBzb3VyY2VCdWZmZXIgc3BlY2lmaWVzIGFuIG9iamVj
dCB0aGF0IGlzIG5vdCBpbiBzb3VyY2VCdWZmZXJzIHRoZW4KLSAgICAvLyB0aHJvdyBhIE5PVF9G
T1VORF9FUlIgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KLSAgICAvLyA2LiBSZW1v
dmUgc291cmNlQnVmZmVyIGZyb20gc291cmNlQnVmZmVycyBhbmQgZmlyZSBhIHJlbW92ZXNvdXJj
ZWJ1ZmZlciBldmVudAotICAgIC8vIG9uIHRoYXQgb2JqZWN0LgotICAgIGlmICghbV9zb3VyY2VC
dWZmZXJzLT5yZW1vdmUoYnVmZmVyKSkgewotICAgICAgICBlYyA9IE5PVF9GT1VORF9FUlI7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyA3LiBEZXN0cm95IGFsbCByZXNvdXJjZXMg
Zm9yIHNvdXJjZUJ1ZmZlci4KLSAgICBtX2FjdGl2ZVNvdXJjZUJ1ZmZlcnMtPnJlbW92ZShidWZm
ZXIpOwotICAgIG1fcGxheWVyLT5zb3VyY2VSZW1vdmVJZChidWZmZXItPmlkKCkpOwotCi0gICAg
Ly8gNC4gUmVtb3ZlIHRyYWNrIGluZm9ybWF0aW9uIGZyb20gYXVkaW9UcmFja3MsIHZpZGVvVHJh
Y2tzLCBhbmQgdGV4dFRyYWNrcyBmb3IgYWxsIHRyYWNrcyAKLSAgICAvLyBhc3NvY2lhdGVkIHdp
dGggc291cmNlQnVmZmVyIGFuZCBmaXJlIGEgc2ltcGxlIGV2ZW50IG5hbWVkIGNoYW5nZSBvbiB0
aGUgbW9kaWZpZWQgbGlzdHMuCi0gICAgLy8gRklYTUUoOTE2NDkpOiBzdXBwb3J0IHRyYWNrIHNl
bGVjdGlvbgotCi0gICAgLy8gNS4gSWYgc291cmNlQnVmZmVyIGlzIGluIGFjdGl2ZVNvdXJjZUJ1
ZmZlcnMsIHRoZW4gcmVtb3ZlIGl0IGZyb20gdGhhdCBsaXN0IGFuZCBmaXJlIGEKLSAgICAvLyBy
ZW1vdmVzb3VyY2VidWZmZXIgZXZlbnQgb24gdGhhdCBvYmplY3QuCi0gICAgLy8gRklYTUUoOTE2
NDkpOiBzdXBwb3J0IHRyYWNrIHNlbGVjdGlvbgotfQotCi1jb25zdCBTdHJpbmcmIE1lZGlhU291
cmNlOjpyZWFkeVN0YXRlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9yZWFkeVN0YXRlOwotfQot
Ci12b2lkIE1lZGlhU291cmNlOjpzZXRSZWFkeVN0YXRlKGNvbnN0IFN0cmluZyYgc3RhdGUpCi17
Ci0gICAgQVNTRVJUKHN0YXRlID09IG9wZW5LZXl3b3JkKCkgfHwgc3RhdGUgPT0gY2xvc2VkS2V5
d29yZCgpIHx8IHN0YXRlID09IGVuZGVkS2V5d29yZCgpKTsKLSAgICBpZiAobV9yZWFkeVN0YXRl
ID09IHN0YXRlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBTdHJpbmcgb2xkU3RhdGUgPSBtX3Jl
YWR5U3RhdGU7Ci0gICAgbV9yZWFkeVN0YXRlID0gc3RhdGU7Ci0KLSAgICBpZiAobV9yZWFkeVN0
YXRlID09IGNsb3NlZEtleXdvcmQoKSkgewotICAgICAgICBtX3NvdXJjZUJ1ZmZlcnMtPmNsZWFy
KCk7Ci0gICAgICAgIG1fYWN0aXZlU291cmNlQnVmZmVycy0+Y2xlYXIoKTsKLSAgICAgICAgbV9w
bGF5ZXIgPSAwOwotICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLndlYmtpdHNvdXJjZWNsb3NlRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotICAgIAotICAgIGlmIChvbGRTdGF0ZSA9PSBvcGVuS2V5d29yZCgpICYmIG1f
cmVhZHlTdGF0ZSA9PSBlbmRlZEtleXdvcmQoKSkgewotICAgICAgICBkaXNwYXRjaEV2ZW50KEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndlYmtpdHNvdXJjZWVuZGVkRXZlbnQsIGZhbHNlLCBm
YWxzZSkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG1fcmVhZHlTdGF0ZSA9
PSBvcGVuS2V5d29yZCgpKSB7Ci0gICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShl
dmVudE5hbWVzKCkud2Via2l0c291cmNlb3BlbkV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLX0KLQotdm9pZCBNZWRpYVNvdXJjZTo6ZW5kT2ZTdHJlYW0oY29u
c3QgU3RyaW5nJiBlcnJvciwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgLy8gMy4xIGh0dHA6
Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jhdy1maWxlL3RpcC9tZWRpYS1zb3VyY2UvbWVk
aWEtc291cmNlLmh0bWwjZG9tLWVuZG9mc3RyZWFtCi0gICAgLy8gMS4gSWYgdGhlIHJlYWR5U3Rh
dGUgYXR0cmlidXRlIGlzIG5vdCBpbiB0aGUgIm9wZW4iIHN0YXRlIHRoZW4gdGhyb3cgYW4KLSAg
ICAvLyBJTlZBTElEX1NUQVRFX0VSUiBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgot
ICAgIGlmICghbV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlICE9IG9wZW5LZXl3b3JkKCkpIHsKLSAg
ICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIE1lZGlhUGxheWVyOjpFbmRPZlN0cmVhbVN0YXR1cyBlb3NTdGF0dXMgPSBNZWRpYVBsYXll
cjo6RW9zTm9FcnJvcjsKLQotICAgIGlmIChlcnJvci5pc051bGwoKSB8fCBlcnJvci5pc0VtcHR5
KCkpCi0gICAgICAgIGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NOb0Vycm9yOwotICAgIGVs
c2UgaWYgKGVycm9yID09ICJuZXR3b3JrIikKLSAgICAgICAgZW9zU3RhdHVzID0gTWVkaWFQbGF5
ZXI6OkVvc05ldHdvcmtFcnJvcjsKLSAgICBlbHNlIGlmIChlcnJvciA9PSAiZGVjb2RlIikKLSAg
ICAgICAgZW9zU3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc0RlY29kZUVycm9yOwotICAgIGVsc2Ug
ewotICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQotICAgIC8vIDIuIENoYW5nZSB0aGUgcmVhZHlTdGF0ZSBhdHRyaWJ1dGUgdmFsdWUgdG8g
ImVuZGVkIi4KLSAgICBzZXRSZWFkeVN0YXRlKGVuZGVkS2V5d29yZCgpKTsKLSAgICBtX3BsYXll
ci0+c291cmNlRW5kT2ZTdHJlYW0oZW9zU3RhdHVzKTsKLX0KLQotUGFzc1JlZlB0cjxUaW1lUmFu
Z2VzPiBNZWRpYVNvdXJjZTo6YnVmZmVyZWQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29k
ZSYgZWMpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX3BsYXllciB8fCBtX3JlYWR5U3RhdGUgPT0gY2xv
c2VkS2V5d29yZCgpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAg
IHJldHVybiAwOwotICAgIH0KLQotICAgIHJldHVybiBtX3BsYXllci0+c291cmNlQnVmZmVyZWQo
aWQpOwotfQotCi12b2lkIE1lZGlhU291cmNlOjphcHBlbmQoY29uc3QgU3RyaW5nJiBpZCwgUGFz
c1JlZlB0cjxVaW50OEFycmF5PiBkYXRhLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBpZiAo
IWRhdGEuZ2V0KCkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIW1fcGxheWVyIHx8IG1fcmVhZHlTdGF0ZSAhPSBv
cGVuS2V5d29yZCgpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIWRhdGEtPmxlbmd0aCgpKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBpZiAoIW1fcGxheWVyLT5zb3VyY2VBcHBlbmQoaWQsIGRhdGEtPmRhdGEoKSwg
ZGF0YS0+bGVuZ3RoKCkpKSB7Ci0gICAgICAgIGVjID0gU1lOVEFYX0VSUjsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLX0KLQotdm9pZCBNZWRpYVNvdXJjZTo6YWJvcnQoY29uc3QgU3RyaW5nJiBp
ZCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKCFtX3BsYXllciB8fCBtX3JlYWR5U3Rh
dGUgIT0gb3BlbktleXdvcmQoKSkgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFtX3BsYXllci0+c291cmNlQWJvcnQo
aWQpKQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotY29uc3QgQXRvbWljU3Ry
aW5nJiBNZWRpYVNvdXJjZTo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGV2
ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JNZWRpYVNvdXJjZTsKLX0KLQotU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogTWVkaWFTb3VyY2U6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAotewot
ICAgIHJldHVybiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcjo6c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpOwotfQotCi1FdmVudFRhcmdldERhdGEqIE1lZGlhU291cmNlOjpldmVudFRhcmdldERh
dGEoKQotewotICAgIHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7Ci19Ci0KLUV2ZW50VGFyZ2V0
RGF0YSogTWVkaWFTb3VyY2U6OmVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpCi17Ci0gICAgcmV0dXJu
ICZtX2V2ZW50VGFyZ2V0RGF0YTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFT
b3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2Uu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjQ2YWMzYWU3NzAwNjY4ZTAyZWQyOTU4
OGU0ZGU3ZjgwZGYwMjMzMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgK
KysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0g
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0g
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgTWVkaWFTb3VyY2VfaAotI2Rl
ZmluZSBNZWRpYVNvdXJjZV9oCi0KLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotCi0jaW5jbHVk
ZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKLSNpbmNsdWRlICJNZWRpYVBsYXllci5o
IgotI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlci5oIgotI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlckxpc3Qu
aCIKLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIE1lZGlhU291cmNlIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFTb3VyY2U+LCBwdWJs
aWMgRXZlbnRUYXJnZXQsIHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7Ci1wdWJs
aWM6Ci0gICAgc3RhdGljIGNvbnN0IFN0cmluZyYgb3BlbktleXdvcmQoKQotICAgIHsKLSAgICAg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIG9wZW4sICgib3BlbiIpKTsKLSAg
ICAgICAgcmV0dXJuIG9wZW47Ci0gICAgfQotCi0gICAgc3RhdGljIGNvbnN0IFN0cmluZyYgY2xv
c2VkS2V5d29yZCgpCi0gICAgewotICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0
cmluZywgY2xvc2VkLCAoImNsb3NlZCIpKTsKLSAgICAgICAgcmV0dXJuIGNsb3NlZDsKLSAgICB9
Ci0KLSAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiBlbmRlZEtleXdvcmQoKQotICAgIHsKLSAgICAg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGVuZGVkLCAoImVuZGVkIikpOwot
ICAgICAgICByZXR1cm4gZW5kZWQ7Ci0gICAgfQotCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8TWVk
aWFTb3VyY2U+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7Ci0gICAgdmlydHVhbCB+
TWVkaWFTb3VyY2UoKSB7IH0KLQotICAgIFNvdXJjZUJ1ZmZlckxpc3QqIHNvdXJjZUJ1ZmZlcnMo
KTsKLSAgICBTb3VyY2VCdWZmZXJMaXN0KiBhY3RpdmVTb3VyY2VCdWZmZXJzKCk7Ci0KLSAgICBT
b3VyY2VCdWZmZXIqIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBTdHJpbmcmIHR5cGUsIEV4Y2VwdGlv
bkNvZGUmKTsKLSAgICB2b2lkIHJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXIqLCBFeGNl
cHRpb25Db2RlJik7Ci0KLSAgICBjb25zdCBTdHJpbmcmIHJlYWR5U3RhdGUoKSBjb25zdDsKLSAg
ICB2b2lkIHNldFJlYWR5U3RhdGUoY29uc3QgU3RyaW5nJik7Ci0KLSAgICB2b2lkIGVuZE9mU3Ry
ZWFtKGNvbnN0IFN0cmluZyYgZXJyb3IsIEV4Y2VwdGlvbkNvZGUmKTsKLQotICAgIHZvaWQgc2V0
TWVkaWFQbGF5ZXIoTWVkaWFQbGF5ZXIqIHBsYXllcikgeyBtX3BsYXllciA9IHBsYXllcjsgfQot
ICAgIAotICAgIFBhc3NSZWZQdHI8VGltZVJhbmdlcz4gYnVmZmVyZWQoY29uc3QgU3RyaW5nJiBp
ZCwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwotICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYg
aWQsIFBhc3NSZWZQdHI8VWludDhBcnJheT4gZGF0YSwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZv
aWQgYWJvcnQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYpOwotCi0gICAgLy8gRXZl
bnRUYXJnZXQgaW50ZXJmYWNlCi0gICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVy
ZmFjZU5hbWUoKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBPVkVSUklERTsKLQotICAgIHVz
aW5nIFJlZkNvdW50ZWQ8TWVkaWFTb3VyY2U+OjpyZWY7Ci0gICAgdXNpbmcgUmVmQ291bnRlZDxN
ZWRpYVNvdXJjZT46OmRlcmVmOwotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IE1lZGlhU291cmNl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKLQotICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRh
KiBldmVudFRhcmdldERhdGEoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0
YSogZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkgT1ZFUlJJREU7Ci0KLSAgICB2aXJ0dWFsIHZvaWQg
cmVmRXZlbnRUYXJnZXQoKSBPVkVSUklERSB7IHJlZigpOyB9Ci0gICAgdmlydHVhbCB2b2lkIGRl
cmVmRXZlbnRUYXJnZXQoKSBPVkVSUklERSB7IGRlcmVmKCk7IH0KLQotICAgIEV2ZW50VGFyZ2V0
RGF0YSBtX2V2ZW50VGFyZ2V0RGF0YTsKLQotICAgIFN0cmluZyBtX3JlYWR5U3RhdGU7Ci0gICAg
TWVkaWFQbGF5ZXIqIG1fcGxheWVyOwotCi0gICAgUmVmUHRyPFNvdXJjZUJ1ZmZlckxpc3Q+IG1f
c291cmNlQnVmZmVyczsKLSAgICBSZWZQdHI8U291cmNlQnVmZmVyTGlzdD4gbV9hY3RpdmVTb3Vy
Y2VCdWZmZXJzOwotICAgIGludCBtX25leHRTb3VyY2VCdWZmZXJJZDsKLX07Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDI1ZjdkZWMxYmJkNWI5Nzc2YjhjZDhiNzYwNDY3ZDAzMTRiYTZkYjUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSw2
NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6
Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
LSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLSAKLW1vZHVsZSBodG1sIHsKLQotICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRp
dGlvbmFsPU1FRElBX1NPVVJDRSwKLSAgICAgICAgVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291
cmNlLAotICAgICAgICBFdmVudFRhcmdldCwKLSAgICAgICAgQ29uc3RydWN0b3IsCi0gICAgICAg
IENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKLSAgICBdIE1lZGlhU291cmNlIHsKLSAg
ICAgICAgLy8gQWxsIHRoZSBzb3VyY2UgYnVmZmVycyBjcmVhdGVkIGJ5IHRoaXMgb2JqZWN0Lgot
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU291cmNlQnVmZmVyTGlzdCBzb3VyY2VCdWZmZXJz
OwotCi0gICAgICAgIC8vIFN1YnNldCBvZiBzb3VyY2VCdWZmZXJzIHRoYXQgcHJvdmlkZSBkYXRh
IGZvciB0aGUgc2VsZWN0ZWQvZW5hYmxlZCB0cmFja3MuCi0gICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBTb3VyY2VCdWZmZXJMaXN0IGFjdGl2ZVNvdXJjZUJ1ZmZlcnM7Ci0KLSAgICAgICAgU291
cmNlQnVmZmVyIGFkZFNvdXJjZUJ1ZmZlcihpbiBET01TdHJpbmcgdHlwZSkgcmFpc2VzIChET01F
eGNlcHRpb24pOwotICAgICAgICB2b2lkIHJlbW92ZVNvdXJjZUJ1ZmZlcihpbiBTb3VyY2VCdWZm
ZXIgYnVmZmVyKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0KLSAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyByZWFkeVN0YXRlOwotICAgICAgICAKLSAgICAgICAgdm9pZCBlbmRP
ZlN0cmVhbShpbiBbT3B0aW9uYWw9RGVmYXVsdElzTnVsbFN0cmluZ10gRE9NU3RyaW5nIGVycm9y
KQotICAgICAgICAgICAgcmFpc2VzIChET01FeGNlcHRpb24pOwotICAgICAgICAKLSAgICAgICAg
Ly8gRXZlbnRUYXJnZXQgaW50ZXJmYWNlCi0gICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihp
biBET01TdHJpbmcgdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50
TGlzdGVuZXIgbGlzdGVuZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0
aW9uYWxdIGJvb2xlYW4gdXNlQ2FwdHVyZSk7Ci0gICAgICAgIHZvaWQgcmVtb3ZlRXZlbnRMaXN0
ZW5lcihpbiBET01TdHJpbmcgdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gdXNlQ2FwdHVyZSk7Ci0gICAgICAgIGJvb2xlYW4g
ZGlzcGF0Y2hFdmVudChpbiBFdmVudCBldmVudCkKLSAgICAgICAgICAgIHJhaXNlcyhFdmVudEV4
Y2VwdGlvbik7Ci0gICAgfTsKLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGRjNmU0Yzc2ZTUyMGU4YmY2NWJjNGUwZDg1NjEzNWVlOGE2YjEyZTcu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDcwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTWVk
aWFTb3VyY2VSZWdpc3RyeS5oIgotCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLQotI2luY2x1
ZGUgIktVUkwuaCIKLSNpbmNsdWRlICJNZWRpYVNvdXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9NYWlu
VGhyZWFkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotTWVkaWFTb3VyY2VSZWdpc3RyeSYg
TWVkaWFTb3VyY2VSZWdpc3RyeTo6cmVnaXN0cnkoKQotewotICAgIC8vIFNpbmNlIFdlYldvcmtl
cnMgY2Fubm90IG9idGFpbiBNZWRpYVNvdXJjZSBvYmplY3RzLCB3ZSBzaG91bGQgYmUgb24gdGhl
IG1haW4gdGhyZWFkLgotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgREVGSU5FX1NU
QVRJQ19MT0NBTChNZWRpYVNvdXJjZVJlZ2lzdHJ5LCBpbnN0YW5jZSwgKCkpOwotICAgIHJldHVy
biBpbnN0YW5jZTsKLX0KLQotdm9pZCBNZWRpYVNvdXJjZVJlZ2lzdHJ5OjpyZWdpc3Rlck1lZGlh
U291cmNlVVJMKGNvbnN0IEtVUkwmIHVybCwgUGFzc1JlZlB0cjxNZWRpYVNvdXJjZT4gc291cmNl
KQotewotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgbV9tZWRpYVNvdXJjZXMuc2V0
KHVybC5zdHJpbmcoKSwgc291cmNlKTsKLX0KLQotdm9pZCBNZWRpYVNvdXJjZVJlZ2lzdHJ5Ojp1
bnJlZ2lzdGVyTWVkaWFTb3VyY2VVUkwoY29uc3QgS1VSTCYgdXJsKQotewotICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7Ci0gICAgbV9tZWRpYVNvdXJjZXMucmVtb3ZlKHVybC5zdHJpbmcoKSk7
Ci19Ci0KLU1lZGlhU291cmNlKiBNZWRpYVNvdXJjZVJlZ2lzdHJ5Ojpsb29rdXBNZWRpYVNvdXJj
ZShjb25zdCBTdHJpbmcmIHVybCkKLXsKLSAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwotICAg
IHJldHVybiBtX21lZGlhU291cmNlcy5nZXQodXJsKS5nZXQoKTsKLX0KLQotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDk2ZGE2YjM0N2M3MGM1MTFjYjQ2OGZlZDIxNzI3Mjk3MTY2NzUzNzQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmgKKysrIC9kZXYvbnVsbApA
QCAtMSw2MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0g
KiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0g
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAot
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2lmbmRlZiBNZWRpYVNvdXJjZVJlZ2lzdHJ5X2gKLSNkZWZpbmUgTWVk
aWFTb3VyY2VSZWdpc3RyeV9oCi0KLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotCi0jaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBL
VVJMOwotY2xhc3MgTWVkaWFTb3VyY2U7Ci0KLWNsYXNzIE1lZGlhU291cmNlUmVnaXN0cnkgewot
cHVibGljOgotICAgIC8vIFJldHVybnMgYSBzaW5nbGUgaW5zdGFuY2Ugb2YgTWVkaWFTb3VyY2VS
ZWdpc3RyeS4KLSAgICBzdGF0aWMgTWVkaWFTb3VyY2VSZWdpc3RyeSYgcmVnaXN0cnkoKTsKLQot
ICAgIC8vIFJlZ2lzdGVycyBhIGJsb2IgVVJMIHJlZmVycmluZyB0byB0aGUgc3BlY2lmaWVkIG1l
ZGlhIHNvdXJjZS4KLSAgICB2b2lkIHJlZ2lzdGVyTWVkaWFTb3VyY2VVUkwoY29uc3QgS1VSTCYs
IFBhc3NSZWZQdHI8TWVkaWFTb3VyY2U+KTsKLSAgICB2b2lkIHVucmVnaXN0ZXJNZWRpYVNvdXJj
ZVVSTChjb25zdCBLVVJMJik7Ci0KLSAgICBNZWRpYVNvdXJjZSogbG9va3VwTWVkaWFTb3VyY2Uo
Y29uc3QgU3RyaW5nJiB1cmwpOwotCi1wcml2YXRlOgotICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQ
dHI8TWVkaWFTb3VyY2U+ID4gbV9tZWRpYVNvdXJjZXM7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZgotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggNTkxOTEwODAzMDgwODA1N2E4Zjg3
MGJhYjNkODhmMDJmNWRiMDkxYS4uN2IzNjgyMTZhNjJkMmUyMjRjMmMwMjMyM2ZmM2Q5YWM1YjBm
Yzk0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyLmNwcApAQCAtMzgsOSArMzgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LVNvdXJjZUJ1ZmZlcjo6U291cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgaWQsIFBhc3NSZWZQdHI8
TWVkaWFTb3VyY2U+IHNvdXJjZSkKK1NvdXJjZUJ1ZmZlcjo6U291cmNlQnVmZmVyKGNvbnN0IFN0
cmluZyYgaWQpCiAgICAgOiBtX2lkKGlkKQotICAgICwgbV9zb3VyY2Uoc291cmNlKQogewogfQog
CkBAIC00OCwzNCArNDcsMjAgQEAgU291cmNlQnVmZmVyOjp+U291cmNlQnVmZmVyKCkKIHsKIH0K
IAotUGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiBTb3VyY2VCdWZmZXI6OmJ1ZmZlcmVkKEV4Y2VwdGlv
bkNvZGUmIGVjKSBjb25zdAorUGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiBTb3VyY2VCdWZmZXI6OmJ1
ZmZlcmVkKEV4Y2VwdGlvbkNvZGUmKSBjb25zdAogewotICAgIGlmICghbV9zb3VyY2UpIHsKLSAg
ICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQot
Ci0gICAgcmV0dXJuIG1fc291cmNlLT5idWZmZXJlZChpZCgpLCBlYyk7CisgICAgLy8gRklYTUUo
OTE3NzMpOiByZXR1cm4gYnVmZmVyZWQgZGF0YSBmcm9tIG1lZGlhIHNvdXJjZS4KKyAgICByZXR1
cm4gMDsKIH0KIAotdm9pZCBTb3VyY2VCdWZmZXI6OmFwcGVuZChQYXNzUmVmUHRyPFVpbnQ4QXJy
YXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBTb3VyY2VCdWZmZXI6OmFwcGVuZChQ
YXNzUmVmUHRyPFVpbnQ4QXJyYXk+LCBFeGNlcHRpb25Db2RlJikKIHsKLSAgICBpZiAoIW1fc291
cmNlKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICBtX3NvdXJjZS0+YXBwZW5kKGlkKCksIGRhdGEsIGVjKTsKKyAgICAvLyBG
SVhNRSg5MTc3Myk6IGFwcGVuZCB0aGUgZGF0YSB0byB0aGUgbWVkaWEgc291cmNlLgogfQogCi12
b2lkIFNvdXJjZUJ1ZmZlcjo6YWJvcnQoRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIFNvdXJjZUJ1
ZmZlcjo6YWJvcnQoRXhjZXB0aW9uQ29kZSYpCiB7Ci0gICAgaWYgKCFtX3NvdXJjZSkgewotICAg
ICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgbV9zb3VyY2UtPmFib3J0KGlkKCksIGVjKTsKKyAgICAvLyBGSVhNRSg5MTc3Myk6IHNpZ25h
bCB0aGUgbWVkaWEgc291cmNlIHRvIGFib3J0IHRoaXMgc291cmNlIGJ1ZmZlci4KIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmgKaW5kZXggZDE4MGRkNGQ3YjA2OWYxODUyOGZhYmJkZjAwMmE5
MjFiYzZhZDI2ZS4uMGNiZmYzZTEzZmRiY2I3MDZkOGYyMTgwZWRkODdkZjI0NmU3YTZlZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5o
CkBAIC0zNCw3ICszNCw2IEBACiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIAogI2luY2x1ZGUg
IkV4Y2VwdGlvbkNvZGUuaCIKLSNpbmNsdWRlICJNZWRpYVNvdXJjZS5oIgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTQ1LDkgKzQ0LDkgQEAgY2xhc3MgVGltZVJhbmdlczsK
IAogY2xhc3MgU291cmNlQnVmZmVyIDogcHVibGljIFJlZkNvdW50ZWQ8U291cmNlQnVmZmVyPiB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U291cmNlQnVmZmVyPiBjcmVhdGUoY29u
c3QgU3RyaW5nJiBpZCwgUGFzc1JlZlB0cjxNZWRpYVNvdXJjZT4gc291cmNlKQorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFNvdXJjZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgaWQpCiAgICAg
ewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNvdXJjZUJ1ZmZlcihpZCwgc291cmNlKSk7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU291cmNlQnVmZmVyKGlkKSk7CiAgICAgfQog
CiAgICAgdmlydHVhbCB+U291cmNlQnVmZmVyKCk7CkBAIC02MCwxMyArNTksMTIgQEAgcHVibGlj
OgogICAgIAogICAgIGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CiAK
LSAgICB2b2lkIGNsZWFyKCkgeyBtX3NvdXJjZS5jbGVhcigpOyB9CisgICAgdm9pZCBjbGVhcigp
IHsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IFNvdXJjZUJ1ZmZlcihjb25zdCBTdHJpbmcm
IGlkLCBQYXNzUmVmUHRyPE1lZGlhU291cmNlPik7CisgICAgZXhwbGljaXQgU291cmNlQnVmZmVy
KGNvbnN0IFN0cmluZyYgaWQpOwogCiAgICAgU3RyaW5nIG1faWQ7Ci0gICAgUmVmUHRyPE1lZGlh
U291cmNlPiBtX3NvdXJjZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3Qu
Y3BwCmluZGV4IDY2MmI0NmYwZmI2N2E4NjE1NzI4ZmI4YTM0ZDBiMmJhMTc2MzJlZDMuLjNjYzQ2
NzgzMWY1MWIxMmRjOTBiZmJmOWQ1NjMwOWZjNjYzYzBiOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcApAQCAt
MzQsNyArMzQsNiBAQAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAKICNpbmNsdWRlICJFdmVu
dC5oIgotI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXJMaXN0LmgKaW5kZXggNmY3ZjlhNzg5MjdlMTY3MTIxYjdhNjMwZjg4YjlmNTE3NDE3Y2VkYS4u
N2U5ZjgzMTUyNzFmYWYzMTliNjI5MDhlMzdjNjJhMjA0MmRlMGY3ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmgKQEAg
LTM0LDEzICszNCwxMiBAQAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAKICNpbmNsdWRlICJF
dmVudFRhcmdldC5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlci5oIgogI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFNvdXJjZUJ1ZmZlcjsKLQogY2xhc3MgU291cmNlQnVmZmVyTGlzdCA6IHB1
YmxpYyBSZWZDb3VudGVkPFNvdXJjZUJ1ZmZlckxpc3Q+LCBwdWJsaWMgRXZlbnRUYXJnZXQgewog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvdXJjZUJ1ZmZlckxpc3Q+IGNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYmE4ZDBhNjY2
MTI1ZDY2NjRlNzAwZmUzNjcyOTFmMjU2MGZiMDc2OC4uMGY3Y2QwY2NmM2Y5YTFlMjUzOWZjMzQy
MWM2Y2VlMzVjMWJhODVkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0zMDI4LDEzICszMDI4LDkgQEAgY29u
dGFpbnMoREVGSU5FUywgRU5BQkxFX0ZJTEVfU1lTVEVNPTEpIHsKIAogY29udGFpbnMoREVGSU5F
UywgRU5BQkxFX01FRElBX1NPVVJDRT0xKSB7CiAgICAgSEVBREVSUyArPSBcCi0gICAgICAgIE1v
ZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaCBcCi0gICAgICAgIE1vZHVsZXMvbWVkaWFz
b3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oIFwKICAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXIuaCBcCiAgICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyTGlzdC5oCiAgICAgU09VUkNFUyArPSBcCi0gICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2Uv
TWVkaWFTb3VyY2UuY3BwIFwKLSAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJj
ZVJlZ2lzdHJ5LmNwcCBcCiAgICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmNwcCBcCiAgICAgICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCAwNmMxZmNmODkwMmI0NzU2NDcyMGQxYzZkNDQyYmIwMjJk
YmJjMDY4Li43OGQ4MDBmNjNlN2ZlNTA3OWFjZjY2ZGQxYWMxMWE3OTFiZGQwNzEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCkBAIC04MjksNyArODI5LDYgQEAKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVu
dHMvSW50ZW50LmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL0ludGVudFJlc3Vs
dENhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL05hdmlnYXRvcklu
dGVudHMuaWRsJywKLSAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNl
LmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRs
JywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRs
JywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0RPTVdpbmRvd01lZGlhU3RyZWFt
LmlkbCcsCkBAIC0xNTQ0LDEwICsxNTQzLDYgQEAKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVu
dHMvSW50ZW50UmVzdWx0Q2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRz
L05hdmlnYXRvckludGVudHMuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvTmF2
aWdhdG9ySW50ZW50cy5oJywKLSAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlh
U291cmNlLmNwcCcsCi0gICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJj
ZS5oJywKLSAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0
cnkuY3BwJywKLSAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVn
aXN0cnkuaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oJywK
ICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggM2Fk
NzM1MDY4NGNiMWRlMGRmNGI5MGMzOTY5YmIxNGU4NDNmY2E4My4uYzgxZWVmZTFlYzU5MjY5Yzcx
YmMzZjhmZDFkMjU4ZTc2ZmNlMDk2YSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKQEAgLTI1MDg2LDIyICsyNTA4Niw2IEBACiAJCQkJTmFtZT0ibWVk
aWFzb3VyY2UiCiAJCQkJPgogCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxl
c1xtZWRpYXNvdXJjZVxNZWRpYVNvdXJjZS5jcHAiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJ
PEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXG1lZGlhc291cmNlXE1lZGlhU291
cmNlLmgiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxNb2R1bGVzXG1lZGlhc291cmNlXE1lZGlhU291cmNlUmVnaXN0cnkuY3BwIgotCQkJCQk+
Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xt
ZWRpYXNvdXJjZVxNZWRpYVNvdXJjZVJlZ2lzdHJ5LmgiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0g
ICAgICAgIDxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xtZWRpYXNvdXJjZVxT
b3VyY2VCdWZmZXIuY3BwIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM2OTZiYjA2MWZmYzI0
ODIzZTI1ZWI3Y2ZjMjlhNzk0Zjg4MDI0ZjQuLjhiM2I1MWUyNjAyMjc4NDcyN2RhYWZjYjU4MDFl
OWI0ZTNjMzcxNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTExNjI4LDExICsxMTYyOCw2IEBACiAJCUIxMEI2OTdFMTQwQzE3
NDAwMEJDMUMyNiAvKiBXZWJWVFRUb2tlbml6ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV2ViVlRUVG9rZW5pemVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQjEwQjY5N0YxNDBDMTc0MDAwQkMxQzI2IC8qIFdlYlZUVFRva2VuaXplci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJWVFRUb2tlbml6ZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjE4Mjc0OTIxMzRDQTRDMTAwQjk4QzJEIC8qIENhbGxi
YWNrRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2Fs
bGJhY2tGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIxQTk0MkRF
MTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBNZWRpYVNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCUIxQTk0MkRGMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQlCMUE5NDJFMDE1QjVDRTIyMDBENTI1RDEgLyogTWVkaWFTb3VyY2UuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhU291cmNlLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJQjFBOTQyRTExNUI1Q0UyMjAwRDUyNUQxIC8qIE1lZGlhU291cmNlUmVn
aXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTb3Vy
Y2VSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIxQTk0MkUyMTVC
NUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZVJlZ2lzdHJ5LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE1lZGlhU291cmNlUmVnaXN0cnkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQjFBOTQyRTMxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1ZmZlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTb3VyY2VCdWZmZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMUE5NDJFNDE1QjVDRTIyMDBENTI1RDEgLyog
U291cmNlQnVmZmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNvdXJjZUJ1
ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMUE5NDJFNTE1QjVDRTIyMDBE
NTI1RDEgLyogU291cmNlQnVmZmVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTb3VyY2VC
dWZmZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTkwNzUsMTEgKzE5MDcw
LDYgQEAKIAkJQjFBOTQyREQxNUI1Q0UyMjAwRDUyNUQxIC8qIG1lZGlhc291cmNlICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQlCMUE5NDJERTE1QjVDRTIy
MDBENTI1RDEgLyogTWVkaWFTb3VyY2UuY3BwICovLAotCQkJCUIxQTk0MkRGMTVCNUNFMjIwMEQ1
MjVEMSAvKiBNZWRpYVNvdXJjZS5oICovLAotCQkJCUIxQTk0MkUwMTVCNUNFMjIwMEQ1MjVEMSAv
KiBNZWRpYVNvdXJjZS5pZGwgKi8sCi0JCQkJQjFBOTQyRTExNUI1Q0UyMjAwRDUyNUQxIC8qIE1l
ZGlhU291cmNlUmVnaXN0cnkuY3BwICovLAotCQkJCUIxQTk0MkUyMTVCNUNFMjIwMEQ1MjVEMSAv
KiBNZWRpYVNvdXJjZVJlZ2lzdHJ5LmggKi8sCiAJCQkJQjFBOTQyRTMxNUI1Q0UyMjAwRDUyNUQx
IC8qIFNvdXJjZUJ1ZmZlci5jcHAgKi8sCiAJCQkJQjFBOTQyRTQxNUI1Q0UyMjAwRDUyNUQxIC8q
IFNvdXJjZUJ1ZmZlci5oICovLAogCQkJCUIxQTk0MkU1MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3Vy
Y2VCdWZmZXIuaWRsICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFy
Z2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAppbmRleCBkODVhOGM0Yzk0
ZGIxYjQ4ZWZhZGY0N2JhYWI0ZDJjM2QyNDFlNzQxLi5kMzRhMjY1Njc1NDZmZWZkZGI3OGJkM2I4
ZDNmMGVkYmRmZTBiOTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaApAQCAtNTYsNyArNTYs
NiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSmF2YVNjcmlwdEF1ZGlvTm9kZTsK
ICAgICBjbGFzcyBMb2NhbE1lZGlhU3RyZWFtOwogICAgIGNsYXNzIE1lZGlhQ29udHJvbGxlcjsK
LSAgICBjbGFzcyBNZWRpYVNvdXJjZTsKICAgICBjbGFzcyBNZWRpYVN0cmVhbTsKICAgICBjbGFz
cyBNZXNzYWdlUG9ydDsKICAgICBjbGFzcyBOb2RlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRh
cmdldEZhY3RvcnkuaW4KaW5kZXggNmQ5NzJjMzk2ZDc2MzMyZTFhMGIyNjU3MzFhZTNkYjhhNDlm
MjFlOS4uMGE0OWVjZWZkMmMyODE3OTQwMWIzMzgyZDQzOWJmNWFkNDU2MjkxNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC0xNSw3ICsxNSw2IEBAIElEQlZl
cnNpb25DaGFuZ2VSZXF1ZXN0IGNvbmRpdGlvbmFsPUlOREVYRURfREFUQUJBU0UKIEphdmFTY3Jp
cHRBdWRpb05vZGUgY29uZGl0aW9uYWw9V0VCX0FVRElPCiBMb2NhbE1lZGlhU3RyZWFtIGNvbmRp
dGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFDb250cm9sbGVyIGNvbmRpdGlvbmFsPVZJREVPCi1N
ZWRpYVNvdXJjZSBjb25kaXRpb25hbD1NRURJQV9TT1VSQ0UKIE1lZGlhU3RyZWFtIGNvbmRpdGlv
bmFsPU1FRElBX1NUUkVBTQogTWVkaWFTdHJlYW1UcmFjayBjb25kaXRpb25hbD1NRURJQV9TVFJF
QU0KIE1lZGlhU3RyZWFtVHJhY2tMaXN0IGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9ET01VUkwuY3BwCmluZGV4IGY0MjM1ZDk1YmY3MDY0NTg3NTY2ZWIwNmVhZDNhZjUxODQ5ZGQz
NjguLjRmOTc4MGRjZDZiMzM0NzYzOThiYjRjNjhiNDk4ZTVjYjA5OTE5OTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RPTVVSTC5jcHAKQEAgLTQyLDExICs0Miw2IEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKLSNpbmNsdWRlICJNZWRpYVNvdXJjZS5oIgotI2luY2x1ZGUgIk1lZGlhU291cmNlUmVnaXN0
cnkuaCIKLSNlbmRpZgotCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICNpbmNsdWRlICJNZWRp
YVN0cmVhbS5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKQEAgLTU0LDI2ICs0
OSw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
Ci1TdHJpbmcgRE9NVVJMOjpjcmVhdGVPYmplY3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWVkaWFTb3VyY2UqIHNvdXJjZSkKLXsKLSAgICAvLyBT
aW5jZSBXZWJXb3JrZXJzIGNhbm5vdCBvYnRhaW4gTWVkaWFTb3VyY2Ugb2JqZWN0cywgd2Ugc2hv
dWxkIGJlIG9uIHRoZSBtYWluIHRocmVhZC4KLSAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwot
Ci0gICAgaWYgKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0IHx8ICFzb3VyY2UpCi0gICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKLQotICAgIEtVUkwgcHVibGljVVJMID0gQmxvYlVSTDo6Y3JlYXRlUHVi
bGljVVJMKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpOwotICAgIGlm
IChwdWJsaWNVUkwuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0KLSAgICBN
ZWRpYVNvdXJjZVJlZ2lzdHJ5OjpyZWdpc3RyeSgpLnJlZ2lzdGVyTWVkaWFTb3VyY2VVUkwocHVi
bGljVVJMLCBzb3VyY2UpOwotICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnB1YmxpY1VSTE1h
bmFnZXIoKS5zdHJlYW1VUkxzKCkuYWRkKHB1YmxpY1VSTC5zdHJpbmcoKSk7Ci0KLSAgICByZXR1
cm4gcHVibGljVVJMLnN0cmluZygpOwotfQotI2VuZGlmCi0KICNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQogU3RyaW5nIERPTVVSTDo6Y3JlYXRlT2JqZWN0VVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1lZGlhU3RyZWFtKiBzdHJlYW0pCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9ET01VUkwuaAppbmRleCBkNzFmYjkzZjM1NWI1YWQyZTJmZWJkMmZiOTAzMTgzZDk3NDEyMTdi
Li4yNWFlMDEzZWIwYThhMTBiYzQzMzNhMGJiYjRhMDc3OTE3YjI3ZmE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9N
VVJMLmgKQEAgLTM2LDcgKzM2LDYgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQmxv
YjsKLWNsYXNzIE1lZGlhU291cmNlOwogY2xhc3MgTWVkaWFTdHJlYW07CiBjbGFzcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OwogCkBAIC01MCw5ICs0OSw2IEBAIHB1YmxpYzoKIAogICAgIHN0YXRp
YyBTdHJpbmcgY3JlYXRlT2JqZWN0VVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBCbG9iKik7
CiAgICAgc3RhdGljIHZvaWQgcmV2b2tlT2JqZWN0VVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBjb25zdCBTdHJpbmcmKTsKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHN0YXRpYyBT
dHJpbmcgY3JlYXRlT2JqZWN0VVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBNZWRpYVNvdXJj
ZSopOwotI2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBzdGF0aWMgU3RyaW5n
IGNyZWF0ZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTWVkaWFTdHJlYW0qKTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsCmluZGV4IGIzNmU4ZjdjZWJhZTdkYzM3NmU5YmFh
MzI5Y2RjZTk4ZTJlYTBhY2IuLmVkMDRjMjNkNWM2N2IzMWMzYjkzNzM2MjA3ZmI0MGFlOTZhMTZh
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwKQEAgLTMzLDkgKzMzLDYgQEAgbW9kdWxlIGh0bWwg
ewogICAgICAgICBKU05vU3RhdGljVGFibGVzLAogICAgICAgICBJbnRlcmZhY2VOYW1lPVVSTAog
ICAgIF0gRE9NVVJMIHsKLSNpZiBkZWZpbmVkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICYmIEVOQUJM
RV9NRURJQV9TT1VSQ0UKLSAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
VHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsXSBzdGF0aWMgRE9NU3RyaW5nIGNyZWF0ZU9i
amVjdFVSTChpbiBNZWRpYVNvdXJjZT8gc291cmNlKTsKLSNlbmRpZgogI2lmIGRlZmluZWQoRU5B
QkxFX01FRElBX1NUUkVBTSkgJiYgRU5BQkxFX01FRElBX1NUUkVBTQogICAgICAgICBbQ2FsbFdp
dGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCxUcmVhdFJldHVybmVkTnVsbFN0cmluZ0FzPU51bGxd
IHN0YXRpYyBET01TdHJpbmcgY3JlYXRlT2JqZWN0VVJMKGluIE1lZGlhU3RyZWFtPyBzdHJlYW0p
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNmQxOTU3YjQ4YjRiMWY3
MWNiZWZmZDVjYmMxYjM1NDlmZjVkYmY0NS4uZjFhMzQ3NDM4OTY2OGU1ODdkOTc4OTFhNzkzMjQ4
ZGM2YWY0YTdkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtNzg1LDcgKzc4NSw2
IEBAIG1vZHVsZSB3aW5kb3cgewogCiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TVVU
QVRJT05fT0JTRVJWRVJTXSBNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3IgV2ViS2l0TXV0YXRp
b25PYnNlcnZlcjsKIAotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJD
RSwgVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBNZWRpYVNvdXJjZUNvbnN0cnVjdG9y
IE1lZGlhU291cmNlOwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJD
RSwgVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSBTb3VyY2VCdWZmZXJDb25zdHJ1Y3Rv
ciBTb3VyY2VCdWZmZXI7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TUVESUFfU09V
UkNFLCBWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIFNvdXJjZUJ1ZmZlckxpc3RDb25z
dHJ1Y3RvciBTb3VyY2VCdWZmZXJMaXN0OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>