<?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>100440</bug_id>
          
          <creation_ts>2012-10-25 18:02:11 -0700</creation_ts>
          <short_desc>REGRESSION(r132514): &quot;Broke chromium content_browsertests AccessibilityAriaMenu AccessibilityInputRange AccessibilityListMarkers&quot; (Requested by scheib on #webkit).</short_desc>
          <delta_ts>2012-10-25 18:21:14 -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>99547</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>cfleizach</cc>
    
    <cc>dmazzoni</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>751386</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-25 18:02:11 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/132514 broke the build:
&quot;Broke chromium content_browsertests AccessibilityAriaMenu AccessibilityInputRange AccessibilityListMarkers&quot; (Requested by scheib 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>751388</commentid>
    <comment_count>1</comment_count>
      <attachid>170775</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-25 18:02:56 -0700</bug_when>
    <thetext>Created attachment 170775
ROLLOUT of r132514

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>751403</commentid>
    <comment_count>2</comment_count>
      <attachid>170775</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-25 18:21:11 -0700</bug_when>
    <thetext>Comment on attachment 170775
ROLLOUT of r132514

Clearing flags on attachment: 170775

Committed r132549: &lt;http://trac.webkit.org/changeset/132549&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751404</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-25 18:21:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170775</attachid>
            <date>2012-10-25 18:02:56 -0700</date>
            <delta_ts>2012-10-25 18:21:11 -0700</delta_ts>
            <desc>ROLLOUT of r132514</desc>
            <filename>bug-100440-20121026010920.patch</filename>
            <type>text/plain</type>
            <size>58935</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmQ0ZmEzNDZjYjRjMTY2
Y2VhNjk2MGFjMTNlNTJjNDkzMzhiZTk5OC4uMzM3MThlYjdkYWUwMjAxMzlkOWIyZmE2MDNkYjc1
NTYwYzFkMTEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDEyLTEwLTI1ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTMyNTE0LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMzI1MTQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMDQ0MAorCisgICAgICAgICJCcm9rZSBjaHJvbWl1bSBjb250ZW50X2Jyb3dz
ZXJ0ZXN0cyBBY2Nlc3NpYmlsaXR5QXJpYU1lbnUKKyAgICAgICAgQWNjZXNzaWJpbGl0eUlucHV0
UmFuZ2UgQWNjZXNzaWJpbGl0eUxpc3RNYXJrZXJzIiAoUmVxdWVzdGVkCisgICAgICAgIGJ5IHNj
aGVpYiBvbiAjd2Via2l0KS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpjb250ZW50Q2hhbmdlZCk6CisgICAgICAg
IChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6QVhPYmplY3RDYWNoZTo6aGFuZGxlQXJpYVJvbGVDaGFuZ2VkKToKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKEFYT2JqZWN0Q2FjaGUpOgor
ICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Y29udGVudENoYW5nZWQpOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpBY2Nlc3NpYmlsaXR5T2JqZWN0KToKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmNvbnRlbnRDaGFuZ2VkKToKKyAgICAgICAgKEFjY2Vzc2li
aWxpdHlPYmplY3QpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmNvcnJlc3BvbmRpbmdDb250cm9sRm9yTGFiZWxFbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvbnRlbnRDaGFuZ2Vk
KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaDoK
KyAgICAgICAgKEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QpOgorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eVNjcm9sbFZpZXc6OmlzQXR0YWNobWVudCk6CisgICAgICAgIChXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5U2Nyb2xsVmlldzo6d2lkZ2V0Rm9yQXR0YWNobWVudFZpZXcpOgorICAgICAg
ICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJhcnMpOgor
ICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNjcm9sbFZpZXc6OndlYkFyZWFPYmplY3Qp
OgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNjcm9sbFZpZXc6OmVsZW1lbnRSZWN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3Ojpkb2N1bWVudEZy
YW1lVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldzo6cGFy
ZW50T2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3Ojpw
YXJlbnRPYmplY3RJZkV4aXN0cyk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5U2Ny
b2xsVmlldzo6Z2V0U2Nyb2xsYWJsZUFyZWFJZlNjcm9sbGFibGUpOgorICAgICAgICAoV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eVNjcm9sbFZpZXc6OnNjcm9sbFRvKToKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlTY3JvbGxWaWV3Lmg6CisgICAgICAgIChXZWJDb3JlOjpBY2Nl
c3NpYmlsaXR5U2Nyb2xsVmlldzo6c2Nyb2xsVmlldyk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5
U2Nyb2xsVmlldyk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVRhYmxlOjppc0RhdGFUYWJsZSk6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZp
Y2F0aW9uKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmRlbGV0ZUxpbmVCb3hUcmVl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjcmVhdGVBbmRBcHBlbmRSb290SW5s
aW5lQm94KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c3R5bGVXaWxsQ2hhbmdlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpzZXRU
ZXh0KToKKwogMjAxMi0xMC0yNSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjU0NDYyNj4gW2NnXSBSZW5kZXJCbG9jazo6c2VsZWN0
aW9uR2FwcygpIGlzIGV4dHJlbWVseSBzbG93IHdoZW4gdGhlcmUgYXJlIG1hbnkgZmxvYXRzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGY5YzgyMjE1MDliZjk0Njk5YTc3NzFkZWRmNjNk
ZDVjZmE5MzFmNmEuLmIyMmZmNDY2NjdlZDU5NWEzNjMxZDI3NDMyN2MwM2MwY2EzMDI4YTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAtMjUgIFNo
ZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzI1MTQuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzEzMjUxNAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwNDQwCisKKyAgICAgICAgIkJyb2tlIGNocm9taXVtIGNvbnRlbnRfYnJv
d3NlcnRlc3RzIEFjY2Vzc2liaWxpdHlBcmlhTWVudQorICAgICAgICBBY2Nlc3NpYmlsaXR5SW5w
dXRSYW5nZSBBY2Nlc3NpYmlsaXR5TGlzdE1hcmtlcnMiIChSZXF1ZXN0ZWQKKyAgICAgICAgYnkg
c2NoZWliIG9uICN3ZWJraXQpLgorCisgICAgICAgICogcHVibGljL1dlYkFjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb24uaDoKKyAgICAgICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisK
IDIwMTItMTAtMjUgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbY2hyb21pdW1dIFJlZ3Jlc3Npb246IG5hdmlnYXRpbmcgYmV0d2VlbiBjb21wb3NpdGVk
IHBhZ2VzIGRvZXNuJ3QgY2F1c2UgcmVkcmF3IHVudGlsIHNjcm9sbGVkCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBjZWFjOTRiZjVjZmU5
OGQ4MWUwY2E3ZjEzY2IyNDc2N2Y2MjI2NTNhLi42NjVhYmMwODc2YzI0NzkwM2Q3ODI3NGIxZGMx
MGQ4ZTkzZmE3OGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHAKQEAgLTYwLDcgKzYwLDYgQEAKICNpbmNsdWRlICJIVE1MQXJlYUVsZW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxl
bWVudC5oIgotI2luY2x1ZGUgIkhUTUxMYWJlbEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFt
ZXMuaCIKICNpZiBFTkFCTEUoVklERU8pCiAjaW5jbHVkZSAiTWVkaWFDb250cm9sRWxlbWVudHMu
aCIKQEAgLTMzNCw5ICszMzMsNiBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hl
OjpnZXRPckNyZWF0ZShOb2RlKiBub2RlKQogICAgIG1fbm9kZU9iamVjdE1hcHBpbmcuc2V0KG5v
ZGUsIG5ld09iai0+YXhPYmplY3RJRCgpKTsKICAgICBtX29iamVjdHMuc2V0KG5ld09iai0+YXhP
YmplY3RJRCgpLCBuZXdPYmopOwogICAgIGF0dGFjaFdyYXBwZXIobmV3T2JqLmdldCgpKTsKLQot
ICAgIG5ld09iai0+c2V0Q2FjaGVkSXNJZ25vcmVkVmFsdWUobmV3T2JqLT5hY2Nlc3NpYmlsaXR5
SXNJZ25vcmVkKCkpOwotCiAgICAgcmV0dXJuIG5ld09iai5nZXQoKTsKIH0KIApAQCAtMzU1LDkg
KzM1MSw2IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRl
KFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiAgICAgbV9yZW5kZXJPYmplY3RNYXBwaW5nLnNldChy
ZW5kZXJlciwgbmV3T2JqLT5heE9iamVjdElEKCkpOwogICAgIG1fb2JqZWN0cy5zZXQobmV3T2Jq
LT5heE9iamVjdElEKCksIG5ld09iaik7CiAgICAgYXR0YWNoV3JhcHBlcihuZXdPYmouZ2V0KCkp
OwotCi0gICAgbmV3T2JqLT5zZXRDYWNoZWRJc0lnbm9yZWRWYWx1ZShuZXdPYmotPmFjY2Vzc2li
aWxpdHlJc0lnbm9yZWQoKSk7Ci0KICAgICByZXR1cm4gbmV3T2JqLmdldCgpOwogfQogICAgIApA
QCAtNTM0LDI2ICs1MjcsMTYgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpyZW1vdmVBWElEKEFjY2Vz
c2liaWxpdHlPYmplY3QqIG9iamVjdCkKICAgICBtX2lkc0luVXNlLnJlbW92ZShvYmpJRCk7CiB9
CiAKLXZvaWQgQVhPYmplY3RDYWNoZTo6dGV4dENoYW5nZWQoTm9kZSogbm9kZSkKK3ZvaWQgQVhP
YmplY3RDYWNoZTo6Y29udGVudENoYW5nZWQoTm9kZSogbm9kZSkKIHsKLSAgICB0ZXh0Q2hhbmdl
ZChnZXRPckNyZWF0ZShub2RlKSk7CisgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVj
dCA9IGdldE9yQ3JlYXRlKG5vZGUpKQorICAgICAgICBvYmplY3QtPmNvbnRlbnRDaGFuZ2VkKCk7
IAogfQogCi12b2lkIEFYT2JqZWN0Q2FjaGU6OnRleHRDaGFuZ2VkKFJlbmRlck9iamVjdCogcmVu
ZGVyZXIpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmNvbnRlbnRDaGFuZ2VkKFJlbmRlck9iamVjdCog
cmVuZGVyZXIpCiB7Ci0gICAgdGV4dENoYW5nZWQoZ2V0T3JDcmVhdGUocmVuZGVyZXIpKTsKLX0K
LQotdm9pZCBBWE9iamVjdENhY2hlOjp0ZXh0Q2hhbmdlZChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBv
YmopCi17Ci0gICAgaWYgKCFvYmopCi0gICAgICAgIHJldHVybjsKLQotICAgIGJvb2wgcGFyZW50
QWxyZWFkeUV4aXN0cyA9IG9iai0+cGFyZW50T2JqZWN0SWZFeGlzdHMoKTsKLSAgICBvYmotPnRl
eHRDaGFuZ2VkKCk7Ci0gICAgcG9zdE5vdGlmaWNhdGlvbihvYmosIG9iai0+ZG9jdW1lbnQoKSwg
QVhPYmplY3RDYWNoZTo6QVhUZXh0Q2hhbmdlZCwgdHJ1ZSk7Ci0gICAgaWYgKHBhcmVudEFscmVh
ZHlFeGlzdHMpCi0gICAgICAgIG9iai0+bm90aWZ5SWZJZ25vcmVkVmFsdWVDaGFuZ2VkKCk7Cisg
ICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IGdldE9yQ3JlYXRlKHJlbmRlcmVy
KSkKKyAgICAgICAgb2JqZWN0LT5jb250ZW50Q2hhbmdlZCgpOyAKIH0KIAogdm9pZCBBWE9iamVj
dENhY2hlOjp1cGRhdGVDYWNoZUFmdGVyTm9kZUlzQXR0YWNoZWQoTm9kZSogbm9kZSkKQEAgLTU2
NSwyMyArNTQ4LDE0IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dXBkYXRlQ2FjaGVBZnRlck5vZGVJ
c0F0dGFjaGVkKE5vZGUqIG5vZGUpCiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6Y2hpbGRyZW5DaGFu
Z2VkKE5vZGUqIG5vZGUpCiB7Ci0gICAgY2hpbGRyZW5DaGFuZ2VkKGdldChub2RlKSk7CisgICAg
aWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaiA9IGdldChub2RlKSkKKyAgICAgICAgb2JqLT5j
aGlsZHJlbkNoYW5nZWQoKTsKIH0KIAogdm9pZCBBWE9iamVjdENhY2hlOjpjaGlsZHJlbkNoYW5n
ZWQoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKLSAgICBjaGlsZHJlbkNoYW5nZWQoZ2V0KHJl
bmRlcmVyKSk7Ci19Ci0KLXZvaWQgQVhPYmplY3RDYWNoZTo6Y2hpbGRyZW5DaGFuZ2VkKEFjY2Vz
c2liaWxpdHlPYmplY3QqIG9iaikKLXsKLSAgICBpZiAoIW9iaikKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgb2JqLT5jaGlsZHJlbkNoYW5nZWQoKTsKLQotICAgIGlmIChvYmotPnBhcmVudE9iamVj
dElmRXhpc3RzKCkgJiYgb2JqLT5jYWNoZWRJc0lnbm9yZWRWYWx1ZSgpICE9IG9iai0+YWNjZXNz
aWJpbGl0eUlzSWdub3JlZCgpKQotICAgICAgICBjaGlsZHJlbkNoYW5nZWQob2JqLT5wYXJlbnRP
YmplY3QoKSk7CisgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaiA9IGdldChyZW5kZXJl
cikpCisgICAgICAgIG9iai0+Y2hpbGRyZW5DaGFuZ2VkKCk7CiB9CiAgICAgCiB2b2lkIEFYT2Jq
ZWN0Q2FjaGU6Om5vdGlmaWNhdGlvblBvc3RUaW1lckZpcmVkKFRpbWVyPEFYT2JqZWN0Q2FjaGU+
KikKQEAgLTczMiw1NSArNzA2LDggQEAgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVBY3RpdmVE
ZXNjZW5kYW50Q2hhbmdlZChOb2RlKiBub2RlKQogCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRs
ZUFyaWFSb2xlQ2hhbmdlZChOb2RlKiBub2RlKQogewotICAgIGlmIChBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBvYmogPSBnZXRPckNyZWF0ZShub2RlKSkgeworICAgIGlmIChBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBvYmogPSBnZXRPckNyZWF0ZShub2RlKSkKICAgICAgICAgb2JqLT51cGRhdGVBY2Nlc3Np
YmlsaXR5Um9sZSgpOwotICAgICAgICBvYmotPm5vdGlmeUlmSWdub3JlZFZhbHVlQ2hhbmdlZCgp
OwotICAgIH0KLX0KLQotdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVBdHRyaWJ1dGVDaGFuZ2Vk
KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBFbGVtZW50KiBlbGVtZW50KQotewotICAg
IGlmIChhdHRyTmFtZSA9PSByb2xlQXR0cikKLSAgICAgICAgaGFuZGxlQXJpYVJvbGVDaGFuZ2Vk
KGVsZW1lbnQpOwotICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IGFsdEF0dHIgfHwgYXR0ck5hbWUg
PT0gdGl0bGVBdHRyKQotICAgICAgICB0ZXh0Q2hhbmdlZChlbGVtZW50KTsKLSAgICBlbHNlIGlm
IChhdHRyTmFtZSA9PSBmb3JBdHRyICYmIGVsZW1lbnQtPmhhc1RhZ05hbWUobGFiZWxUYWcpKQot
ICAgICAgICBsYWJlbENoYW5nZWQoZWxlbWVudCk7Ci0KLSAgICBpZiAoIWF0dHJOYW1lLmxvY2Fs
TmFtZSgpLnN0cmluZygpLnN0YXJ0c1dpdGgoImFyaWEtIikpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGlmIChhdHRyTmFtZSA9PSBhcmlhX2FjdGl2ZWRlc2NlbmRhbnRBdHRyKQotICAgICAgICBo
YW5kbGVBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZChlbGVtZW50KTsKLSAgICBlbHNlIGlmIChhdHRy
TmFtZSA9PSBhcmlhX3ZhbHVlbm93QXR0ciB8fCBhdHRyTmFtZSA9PSBhcmlhX3ZhbHVldGV4dEF0
dHIpCi0gICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhPYmplY3RDYWNoZTo6QVhW
YWx1ZUNoYW5nZWQsIHRydWUpOwotICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IGFyaWFfbGFiZWxB
dHRyIHx8IGF0dHJOYW1lID09IGFyaWFfbGFiZWxlZGJ5QXR0ciB8fCBhdHRyTmFtZSA9PSBhcmlh
X2xhYmVsbGVkYnlBdHRyKQotICAgICAgICB0ZXh0Q2hhbmdlZChlbGVtZW50KTsKLSAgICBlbHNl
IGlmIChhdHRyTmFtZSA9PSBhcmlhX2NoZWNrZWRBdHRyKQotICAgICAgICBjaGVja2VkU3RhdGVD
aGFuZ2VkKGVsZW1lbnQpOwotICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IGFyaWFfc2VsZWN0ZWRB
dHRyKQotICAgICAgICBzZWxlY3RlZENoaWxkcmVuQ2hhbmdlZChlbGVtZW50KTsKLSAgICBlbHNl
IGlmIChhdHRyTmFtZSA9PSBhcmlhX2V4cGFuZGVkQXR0cikKLSAgICAgICAgaGFuZGxlQXJpYUV4
cGFuZGVkQ2hhbmdlKGVsZW1lbnQpOwotICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IGFyaWFfaGlk
ZGVuQXR0cikKLSAgICAgICAgY2hpbGRyZW5DaGFuZ2VkKGVsZW1lbnQtPnBhcmVudE5vZGUoKSk7
Ci0gICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gYXJpYV9pbnZhbGlkQXR0cikKLSAgICAgICAgcG9z
dE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWE9iamVjdENhY2hlOjpBWEludmFsaWRTdGF0dXNDaGFu
Z2VkLCB0cnVlKTsKLSAgICBlbHNlCi0gICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwg
QVhPYmplY3RDYWNoZTo6QVhBcmlhQXR0cmlidXRlQ2hhbmdlZCwgdHJ1ZSk7Ci19Ci0KLXZvaWQg
QVhPYmplY3RDYWNoZTo6bGFiZWxDaGFuZ2VkKEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgQVNT
RVJUKGVsZW1lbnQtPmhhc1RhZ05hbWUobGFiZWxUYWcpKTsKLSAgICBIVE1MRWxlbWVudCogY29y
cmVzcG9uZGluZ0NvbnRyb2wgPSBzdGF0aWNfY2FzdDxIVE1MTGFiZWxFbGVtZW50Kj4oZWxlbWVu
dCktPmNvbnRyb2woKTsKLSAgICB0ZXh0Q2hhbmdlZChjb3JyZXNwb25kaW5nQ29udHJvbCk7Ci19
Ci0KLXZvaWQgQVhPYmplY3RDYWNoZTo6cmVjb21wdXRlSXNJZ25vcmVkKFJlbmRlck9iamVjdCog
cmVuZGVyZXIpCi17Ci0gICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaiA9IGdldChyZW5k
ZXJlcikpCi0gICAgICAgIG9iai0+bm90aWZ5SWZJZ25vcmVkVmFsdWVDaGFuZ2VkKCk7CiB9CiAK
IFZpc2libGVQb3NpdGlvbiBBWE9iamVjdENhY2hlOjp2aXNpYmxlUG9zaXRpb25Gb3JUZXh0TWFy
a2VyRGF0YShUZXh0TWFya2VyRGF0YSYgdGV4dE1hcmtlckRhdGEpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDRlZGY4MTUwM2UxZWU0MzYyNjkw
YjlkZjMwODI5Y2IxYjc5Mzg5YjkuLmZkZmQ1YWZiZjhhZWMwY2IzODYwMThlYWExZjIxODliYzcw
MjJiNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5o
CkBAIC04OSwxMyArODksMTIgQEAgcHVibGljOgogICAgIHZvaWQgYXR0YWNoV3JhcHBlcihBY2Nl
c3NpYmlsaXR5T2JqZWN0Kik7CiAgICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoTm9kZSopOwogICAg
IHZvaWQgY2hpbGRyZW5DaGFuZ2VkKFJlbmRlck9iamVjdCopOwotICAgIHZvaWQgY2hpbGRyZW5D
aGFuZ2VkKEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKICAgICB2b2lkIGNoZWNrZWRTdGF0ZUNoYW5n
ZWQoTm9kZSopOwogICAgIHZvaWQgc2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQoTm9kZSopOwogICAg
IHZvaWQgc2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQoUmVuZGVyT2JqZWN0Kik7CiAgICAgLy8gQ2Fs
bGVkIGJ5IGEgbm9kZSB3aGVuIHRleHQgb3IgYSB0ZXh0IGVxdWl2YWxlbnQgKGUuZy4gYWx0KSBh
dHRyaWJ1dGUgaXMgY2hhbmdlZC4KLSAgICB2b2lkIHRleHRDaGFuZ2VkKE5vZGUqKTsKLSAgICB2
b2lkIHRleHRDaGFuZ2VkKFJlbmRlck9iamVjdCopOworICAgIHZvaWQgY29udGVudENoYW5nZWQo
Tm9kZSopOworICAgIHZvaWQgY29udGVudENoYW5nZWQoUmVuZGVyT2JqZWN0Kik7CiAgICAgLy8g
Q2FsbGVkIHdoZW4gYSBub2RlIGhhcyBqdXN0IGJlZW4gYXR0YWNoZWQsIHNvIHdlIGNhbiBtYWtl
IHN1cmUgd2UgaGF2ZSB0aGUgcmlnaHQgc3ViY2xhc3Mgb2YgQWNjZXNzaWJpbGl0eU9iamVjdC4K
ICAgICB2b2lkIHVwZGF0ZUNhY2hlQWZ0ZXJOb2RlSXNBdHRhY2hlZChOb2RlKik7CiAKQEAgLTEw
Niw5ICsxMDUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBoYW5kbGVBcmlhRXhwYW5kZWRDaGFuZ2Uo
Tm9kZSopOwogICAgIHZvaWQgaGFuZGxlU2Nyb2xsYmFyVXBkYXRlKFNjcm9sbFZpZXcqKTsKIAot
ICAgIHZvaWQgaGFuZGxlQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRy
TmFtZSwgRWxlbWVudCopOwotICAgIHZvaWQgcmVjb21wdXRlSXNJZ25vcmVkKFJlbmRlck9iamVj
dCogcmVuZGVyZXIpOwotCiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogICAgIHN0YXRpYyB2b2lk
IGVuYWJsZUFjY2Vzc2liaWxpdHkoKSB7IGdBY2Nlc3NpYmlsaXR5RW5hYmxlZCA9IHRydWU7IH0K
ICAgICAvLyBFbmhhbmNlZCB1c2VyIGludGVyZmFjZSBhY2Nlc3NpYmlsaXR5IGNhbiBiZSB0b2dn
bGVkIGJ5IHRoZSBhc3Npc3RpdmUgdGVjaG5vbG9neS4KQEAgLTE1Niw4ICsxNTIsNiBAQCBwdWJs
aWM6CiAgICAgICAgIEFYUm93Q29sbGFwc2VkLAogICAgICAgICBBWFJvd0V4cGFuZGVkLAogICAg
ICAgICBBWEludmFsaWRTdGF0dXNDaGFuZ2VkLAotICAgICAgICBBWFRleHRDaGFuZ2VkLAotICAg
ICAgICBBWEFyaWFBdHRyaWJ1dGVDaGFuZ2VkCiAgICAgfTsKIAogICAgIHZvaWQgcG9zdE5vdGlm
aWNhdGlvbihSZW5kZXJPYmplY3QqLCBBWE5vdGlmaWNhdGlvbiwgYm9vbCBwb3N0VG9FbGVtZW50
LCBQb3N0VHlwZSA9IFBvc3RBc3luY2hyb25vdXNseSk7CkBAIC0xODYsOCArMTgwLDYgQEAgcHJv
dGVjdGVkOgogICAgIHZvaWQgcG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlP
YmplY3QqLCBBWE5vdGlmaWNhdGlvbik7CiAgICAgdm9pZCBub2RlVGV4dENoYW5nZVBsYXRmb3Jt
Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqLCBBWFRleHRDaGFuZ2UsIHVuc2lnbmVk
IG9mZnNldCwgY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBmcmFtZUxvYWRpbmdFdmVudFBsYXRm
b3JtTm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqLCBBWExvYWRpbmdFdmVudCk7Ci0g
ICAgdm9pZCB0ZXh0Q2hhbmdlZChBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7Ci0gICAgdm9pZCBsYWJl
bENoYW5nZWQoRWxlbWVudCopOwogCiAgICAgLy8gVGhpcyBpcyBhIHdlYWsgcmVmZXJlbmNlIGNh
Y2hlIGZvciBrbm93aW5nIGlmIE5vZGVzIHVzZWQgYnkgVGV4dE1hcmtlcnMgYXJlIHZhbGlkLgog
ICAgIHZvaWQgc2V0Tm9kZUluVXNlKE5vZGUqIG4pIHsgbV90ZXh0TWFya2VyTm9kZXMuYWRkKG4p
OyB9CkBAIC0yNDAsMTAgKzIzMiw4IEBAIGlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmF0dGFj
aFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVjdCopIHsgfQogaW5saW5lIHZvaWQgQVhPYmplY3RD
YWNoZTo6Y2hlY2tlZFN0YXRlQ2hhbmdlZChOb2RlKikgeyB9CiBpbmxpbmUgdm9pZCBBWE9iamVj
dENhY2hlOjpjaGlsZHJlbkNoYW5nZWQoUmVuZGVyT2JqZWN0KikgeyB9CiBpbmxpbmUgdm9pZCBB
WE9iamVjdENhY2hlOjpjaGlsZHJlbkNoYW5nZWQoTm9kZSopIHsgfQotaW5saW5lIHZvaWQgQVhP
YmplY3RDYWNoZTo6Y2hpbGRyZW5DaGFuZ2VkKEFjY2Vzc2liaWxpdHlPYmplY3QqKSB7IH0KLWlu
bGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnRleHRDaGFuZ2VkKFJlbmRlck9iamVjdCopIHsgfQot
aW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6dGV4dENoYW5nZWQoTm9kZSopIHsgfQotaW5saW5l
IHZvaWQgQVhPYmplY3RDYWNoZTo6dGV4dENoYW5nZWQoQWNjZXNzaWJpbGl0eU9iamVjdCopIHsg
fQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6Y29udGVudENoYW5nZWQoUmVuZGVyT2JqZWN0
KikgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpjb250ZW50Q2hhbmdlZChOb2RlKikg
eyB9CiBpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjp1cGRhdGVDYWNoZUFmdGVyTm9kZUlzQXR0
YWNoZWQoTm9kZSopIHsgfQogaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6ZGV0YWNoV3JhcHBl
cihBY2Nlc3NpYmlsaXR5T2JqZWN0KikgeyB9CiBpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpm
cmFtZUxvYWRpbmdFdmVudE5vdGlmaWNhdGlvbihGcmFtZSosIEFYTG9hZGluZ0V2ZW50KSB7IH0K
QEAgLTI1Myw4ICsyNDMsNiBAQCBpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVBcmlh
RXhwYW5kZWRDaGFuZ2UoTm9kZSopIHsgfQogaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFu
ZGxlQXJpYVJvbGVDaGFuZ2VkKE5vZGUqKSB7IH0KIGlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6
OmhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkKE5vZGUqLCBOb2RlKikgeyB9CiBpbmxpbmUg
dm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVTY3JvbGxiYXJVcGRhdGUoU2Nyb2xsVmlldyopIHsg
fQotaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlQXR0cmlidXRlQ2hhbmdlZChjb25z
dCBRdWFsaWZpZWROYW1lJiwgRWxlbWVudCopIHsgfQotaW5saW5lIHZvaWQgQVhPYmplY3RDYWNo
ZTo6cmVjb21wdXRlSXNJZ25vcmVkKFJlbmRlck9iamVjdCopIHsgfQogaW5saW5lIHZvaWQgQVhP
YmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcihjb25zdCBOb2RlKikgeyB9CiBpbmxp
bmUgdm9pZCBBWE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZU5vdGlmaWNhdGlvbihOb2RlKiwg
QVhUZXh0Q2hhbmdlLCB1bnNpZ25lZCwgY29uc3QgU3RyaW5nJikgeyB9CiBpbmxpbmUgdm9pZCBB
WE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZVBsYXRmb3JtTm90aWZpY2F0aW9uKEFjY2Vzc2li
aWxpdHlPYmplY3QqLCBBWFRleHRDaGFuZ2UsIHVuc2lnbmVkLCBjb25zdCBTdHJpbmcmKSB7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwCmluZGV4IGU2NzViZTJmMzhlMjc1YzdkZWM5YTRkNWVlOWY5OTZiOTFkYTQ2YzAuLjc0
YzhkOWYwZDU0ZmU0NTU0NjYxMWRhNTg4M2NmYzRhNWI1ZmJjM2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtNzIs
NyArNzIsNiBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpBY2Nlc3NpYmlsaXR5T2JqZWN0KCkKICAg
ICA6IG1faWQoMCkKICAgICAsIG1faGF2ZUNoaWxkcmVuKGZhbHNlKQogICAgICwgbV9yb2xlKFVu
a25vd25Sb2xlKQotICAgICwgbV9jYWNoZWRJc0lnbm9yZWRWYWx1ZShEZWZhdWx0QmVoYXZpb3Ip
CiAjaWYgUExBVEZPUk0oR1RLKQogICAgICwgbV93cmFwcGVyKDApCiAjZWxpZiBQTEFURk9STShD
SFJPTUlVTSkKQEAgLTE3NzEsMjggKzE3NzAsNiBAQCB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6
OnNjcm9sbFRvR2xvYmFsUG9pbnQoY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvaW50KSBjb25zdAog
ICAgIH0KIH0KIAotYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpjYWNoZWRJc0lnbm9yZWRWYWx1
ZSgpCi17Ci0gICAgaWYgKG1fY2FjaGVkSXNJZ25vcmVkVmFsdWUgPT0gRGVmYXVsdEJlaGF2aW9y
KQotICAgICAgICBtX2NhY2hlZElzSWdub3JlZFZhbHVlID0gYWNjZXNzaWJpbGl0eUlzSWdub3Jl
ZCgpID8gSWdub3JlT2JqZWN0IDogSW5jbHVkZU9iamVjdDsKLQotICAgIHJldHVybiBtX2NhY2hl
ZElzSWdub3JlZFZhbHVlID09IElnbm9yZU9iamVjdDsKLX0KLQotdm9pZCBBY2Nlc3NpYmlsaXR5
T2JqZWN0OjpzZXRDYWNoZWRJc0lnbm9yZWRWYWx1ZShib29sIGlzSWdub3JlZCkKLXsKLSAgICBt
X2NhY2hlZElzSWdub3JlZFZhbHVlID0gaXNJZ25vcmVkID8gSWdub3JlT2JqZWN0IDogSW5jbHVk
ZU9iamVjdDsKLX0KLQotdm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpub3RpZnlJZklnbm9yZWRW
YWx1ZUNoYW5nZWQoKQotewotICAgIGJvb2wgaXNJZ25vcmVkID0gYWNjZXNzaWJpbGl0eUlzSWdu
b3JlZCgpOwotICAgIGlmIChjYWNoZWRJc0lnbm9yZWRWYWx1ZSgpICE9IGlzSWdub3JlZCkgewot
ICAgICAgICBheE9iamVjdENhY2hlKCktPmNoaWxkcmVuQ2hhbmdlZChwYXJlbnRPYmplY3QoKSk7
Ci0gICAgICAgIHNldENhY2hlZElzSWdub3JlZFZhbHVlKGlzSWdub3JlZCk7Ci0gICAgfQotfQot
CiBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFyaWFQcmVzc2VkSXNQcmVzZW50KCkgY29uc3QK
IHsKICAgICByZXR1cm4gIWdldEF0dHJpYnV0ZShhcmlhX3ByZXNzZWRBdHRyKS5pc0VtcHR5KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5oCmluZGV4IDYwYmM5MmQwZGI3OTQxYjI0YjUzNDgyNjUwNTE0YTg2M2FkZTQ0MGIuLjg3M2E1
YzZlZjNmZTE0ZGJiYjM5ZmQ0MjZhYTlmMDBmNzdhMzhhODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC02MTAsNyArNjEw
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkZWNyZW1lbnQoKSB7IH0KIAogICAgIHZp
cnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgdGV4dENo
YW5nZWQoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgY29udGVudENoYW5nZWQoKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgdXBkYXRlQWNjZXNzaWJpbGl0eVJvbGUoKSB7IH0KICAgICBjb25zdCBBY2Nl
c3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIGNoaWxkcmVuKCk7CiAgICAgdmlydHVhbCB2b2lkIGFk
ZENoaWxkcmVuKCkgeyB9CkBAIC03MjksMTIgKzcyOSw2IEBAIHB1YmxpYzoKICAgICAvLyBTY3Jv
bGwgdGhpcyBvYmplY3QgdG8gYSBnaXZlbiBwb2ludCBpbiBnbG9iYWwgY29vcmRpbmF0ZXMgb2Yg
dGhlIHRvcC1sZXZlbCB3aW5kb3cuCiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbFRvR2xvYmFsUG9p
bnQoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKIAotICAgIGJvb2wgY2FjaGVkSXNJZ25vcmVkVmFs
dWUoKTsKLSAgICB2b2lkIHNldENhY2hlZElzSWdub3JlZFZhbHVlKGJvb2wpOwotCi0gICAgLy8g
RmlyZXMgYSBjaGlsZHJlbiBjaGFuZ2VkIG5vdGlmaWNhdGlvbiBvbiB0aGUgcGFyZW50IGlmIHRo
ZSBpc0lnbm9yZWQgdmFsdWUgY2hhbmdlZC4KLSAgICB2b2lkIG5vdGlmeUlmSWdub3JlZFZhbHVl
Q2hhbmdlZCgpOwotCiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogI2lmIFBMQVRGT1JNKEdUSykK
ICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciogd3JhcHBlcigpIGNvbnN0OwpAQCAtNzcz
LDcgKzc2Nyw2IEBAIHByb3RlY3RlZDoKICAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3Ig
bV9jaGlsZHJlbjsKICAgICBtdXRhYmxlIGJvb2wgbV9oYXZlQ2hpbGRyZW47CiAgICAgQWNjZXNz
aWJpbGl0eVJvbGUgbV9yb2xlOwotICAgIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gbV9j
YWNoZWRJc0lnbm9yZWRWYWx1ZTsKICAgICAKICAgICAvLyBJZiB0aGlzIG9iamVjdCBpdHNlbGYg
c2Nyb2xscywgcmV0dXJuIGl0cyBTY3JvbGxhYmxlQXJlYS4KICAgICB2aXJ0dWFsIFNjcm9sbGFi
bGVBcmVhKiBnZXRTY3JvbGxhYmxlQXJlYUlmU2Nyb2xsYWJsZSgpIGNvbnN0IHsgcmV0dXJuIDA7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDAyZTc2OThiODZlMmY1MmViMTkzZDg5MGI2MWI1
YTc5YjYxNzYxZGYuLjY4NzcxNmM1NDBjZjgyZWEwYWNlMDIwZjJkZWUwY2MwNDdmMDRhMmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtMTA5NCw4ICsxMDk0LDggQEAgYm9vbCBBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAgICAvLyBO
T1RFOiBCUnMgYWx3YXlzIGhhdmUgdGV4dCBib3hlcyBub3csIHNvIHRoZSB0ZXh0IGJveCBjaGVj
ayBoZXJlIGNhbiBiZSByZW1vdmVkCiAgICAgaWYgKG1fcmVuZGVyZXItPmlzVGV4dCgpKSB7CiAg
ICAgICAgIC8vIHN0YXRpYyB0ZXh0IGJlbmVhdGggTWVudUl0ZW1zIGFuZCBNZW51QnV0dG9ucyBh
cmUganVzdCByZXBvcnRlZCBhbG9uZyB3aXRoIHRoZSBtZW51IGl0ZW0sIHNvIGl0J3MgaWdub3Jl
ZCBvbiBhbiBpbmRpdmlkdWFsIGxldmVsCi0gICAgICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHBh
cmVudCA9IHBhcmVudE9iamVjdFVuaWdub3JlZCgpOwotICAgICAgICBpZiAocGFyZW50ICYmIChw
YXJlbnQtPmFyaWFSb2xlQXR0cmlidXRlKCkgPT0gTWVudUl0ZW1Sb2xlIHx8IHBhcmVudC0+YXJp
YVJvbGVBdHRyaWJ1dGUoKSA9PSBNZW51QnV0dG9uUm9sZSkpCisgICAgICAgIGlmIChwYXJlbnRP
YmplY3RVbmlnbm9yZWQoKS0+YXJpYVJvbGVBdHRyaWJ1dGUoKSA9PSBNZW51SXRlbVJvbGUKKyAg
ICAgICAgICAgIHx8IHBhcmVudE9iamVjdFVuaWdub3JlZCgpLT5hcmlhUm9sZUF0dHJpYnV0ZSgp
ID09IE1lbnVCdXR0b25Sb2xlKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIFJl
bmRlclRleHQqIHJlbmRlclRleHQgPSB0b1JlbmRlclRleHQobV9yZW5kZXJlcik7CiAgICAgICAg
IGlmIChtX3JlbmRlcmVyLT5pc0JSKCkgfHwgIXJlbmRlclRleHQtPmZpcnN0VGV4dEJveCgpKQpA
QCAtMjIxMiwxMCArMjIxMiw2IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3Q6OmNvcnJlc3BvbmRpbmdDb250cm9sRm9yTGFiZWxFbGVtCiAgICAgSFRNTEVs
ZW1lbnQqIGNvcnJlc3BvbmRpbmdDb250cm9sID0gbGFiZWxFbGVtZW50LT5jb250cm9sKCk7CiAg
ICAgaWYgKCFjb3JyZXNwb25kaW5nQ29udHJvbCkKICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAv
LyBNYWtlIHN1cmUgdGhlIGNvcnJlc3BvbmRpbmcgY29udHJvbCBpc24ndCBhIGRlc2NlbmRhbnQg
b2YgdGhpcyBsYWJlbCB0aGF0J3MgaW4gdGhlIG1pZGRsZSBvZiBiZWluZyBkZXN0cm95ZWQuCi0g
ICAgaWYgKGNvcnJlc3BvbmRpbmdDb250cm9sLT5yZW5kZXJlcigpICYmICFjb3JyZXNwb25kaW5n
Q29udHJvbC0+cmVuZGVyZXIoKS0+cGFyZW50KCkpCi0gICAgICAgIHJldHVybiAwOwogICAgIAog
ICAgIHJldHVybiBheE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKGNvcnJlc3BvbmRpbmdDb250
cm9sKTsgICAgIAogfQpAQCAtMjUzMiw3ICsyNTI4LDcgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0OjpjYW5TZXRUZXh0UmFuZ2VBdHRyaWJ1dGVzKCkgY29uc3QKICAgICByZXR1cm4g
aXNUZXh0Q29udHJvbCgpOwogfQogCi12b2lkIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnRl
eHRDaGFuZ2VkKCkKK3ZvaWQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6Y29udGVudENoYW5n
ZWQoKQogewogICAgIC8vIElmIHRoaXMgZWxlbWVudCBzdXBwb3J0cyBBUklBIGxpdmUgcmVnaW9u
cywgb3IgaXMgcGFydCBvZiBhIHJlZ2lvbiB3aXRoIGFuIEFSSUEgZWRpdGFibGUgcm9sZSwKICAg
ICAvLyB0aGVuIG5vdGlmeSB0aGUgQVQgb2YgY2hhbmdlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgKaW5kZXgg
YWIwOTI0MDE3OWM1NmIwN2IzMDJiYmEwZGFmNDI5YjUyNGRjMTQ0NS4uYjE3NTJkM2YxN2Y0NDI0
MmZkYTMzOTc2YWNkMTlhZmIwY2I2NWQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgKQEAgLTE2NSw3ICsx
NjUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5T3JpZW50YXRpb24gb3Jp
ZW50YXRpb24oKSBjb25zdDsKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoKCk7Ci0gICAg
dmlydHVhbCB2b2lkIHRleHRDaGFuZ2VkKCk7CisgICAgdmlydHVhbCB2b2lkIGNvbnRlbnRDaGFu
Z2VkKCk7CiAgICAgdmlydHVhbCB2b2lkIGFkZENoaWxkcmVuKCk7CiAgICAgdmlydHVhbCBib29s
IGNhbkhhdmVDaGlsZHJlbigpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBzZWxlY3RlZENoaWxk
cmVuKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmNwcAppbmRleCAx
MmU1YjRiZjM3OTllZTMxMDM2ZDk2NTg3OGMyY2ZhODNkN2VmY2I5Li42ZDEzYWFkMDYxNzhmMTFk
NjgyM2FiMjNlN2JjZTAxNzViOGE2MDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmNwcApAQCAtNDMsMTcgKzQz
LDYgQEAgQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXc6OkFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3KFNj
cm9sbFZpZXcqIHZpZXcpCiB7CiB9CiAKLUFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3Ojp+QWNjZXNz
aWJpbGl0eVNjcm9sbFZpZXcoKQotewotICAgIEFTU0VSVChpc0RldGFjaGVkKCkpOwotfQotCi12
b2lkIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3OjpkZXRhY2goKQotewotICAgIEFjY2Vzc2liaWxp
dHlPYmplY3Q6OmRldGFjaCgpOwotICAgIG1fc2Nyb2xsVmlldyA9IDA7Ci19Ci0KIFBhc3NSZWZQ
dHI8QWNjZXNzaWJpbGl0eVNjcm9sbFZpZXc+IEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3OjpjcmVh
dGUoU2Nyb2xsVmlldyogdmlldykKIHsKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEFjY2Vzc2li
aWxpdHlTY3JvbGxWaWV3KHZpZXcpKTsKQEAgLTc4LDEyICs2NywxMiBAQCBBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldzo6c2Nyb2xsQmFyKEFjY2Vzc2liaWxpdHlP
cmllbnRhdGlvbgogLy8gSW4gV2ViS2l0MiwgdGhlIFNjcm9sbFZpZXcgb2JqZWN0IHdpbGwgcmV0
dXJuIHRoZSBBWCBpbmZvcm1hdGlvbiAoYmVjYXVzZSB0aGVyZSBhcmUgbm8gcGxhdGZvcm0gd2lk
Z2V0cykuCiBib29sIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3Ojppc0F0dGFjaG1lbnQoKSBjb25z
dAogewotICAgIHJldHVybiBtX3Njcm9sbFZpZXcgJiYgbV9zY3JvbGxWaWV3LT5wbGF0Zm9ybVdp
ZGdldCgpOworICAgIHJldHVybiBtX3Njcm9sbFZpZXctPnBsYXRmb3JtV2lkZ2V0KCk7CiB9CiAK
IFdpZGdldCogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXc6OndpZGdldEZvckF0dGFjaG1lbnRWaWV3
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9zY3JvbGxWaWV3OworICAgIHJldHVybiBtX3Njcm9s
bFZpZXcuZ2V0KCk7CiB9CiAgICAgCiB2b2lkIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3Ojp1cGRh
dGVDaGlsZHJlbklmTmVjZXNzYXJ5KCkKQEAgLTk5LDkgKzg4LDYgQEAgdm9pZCBBY2Nlc3NpYmls
aXR5U2Nyb2xsVmlldzo6dXBkYXRlQ2hpbGRyZW5JZk5lY2Vzc2FyeSgpCiAKIHZvaWQgQWNjZXNz
aWJpbGl0eVNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJhcnMoKQogewotICAgIGlmICghbV9zY3Jv
bGxWaWV3KQotICAgICAgICByZXR1cm47Ci0KICAgICBpZiAobV9zY3JvbGxWaWV3LT5ob3Jpem9u
dGFsU2Nyb2xsYmFyKCkgJiYgIW1faG9yaXpvbnRhbFNjcm9sbGJhcikKICAgICAgICAgbV9ob3Jp
em9udGFsU2Nyb2xsYmFyID0gYWRkQ2hpbGRTY3JvbGxiYXIobV9zY3JvbGxWaWV3LT5ob3Jpem9u
dGFsU2Nyb2xsYmFyKCkpOwogICAgIGVsc2UgaWYgKCFtX3Njcm9sbFZpZXctPmhvcml6b250YWxT
Y3JvbGxiYXIoKSAmJiBtX2hvcml6b250YWxTY3JvbGxiYXIpIHsKQEAgLTE2NywxMCArMTUzLDEw
IEBAIHZvaWQgQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXc6OmFkZENoaWxkcmVuKCkKIAogQWNjZXNz
aWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXc6OndlYkFyZWFPYmplY3QoKSBj
b25zdAogewotICAgIGlmICghbV9zY3JvbGxWaWV3IHx8ICFtX3Njcm9sbFZpZXctPmlzRnJhbWVW
aWV3KCkpCisgICAgaWYgKCFtX3Njcm9sbFZpZXctPmlzRnJhbWVWaWV3KCkpCiAgICAgICAgIHJl
dHVybiAwOwogICAgIAotICAgIERvY3VtZW50KiBkb2MgPSBzdGF0aWNfY2FzdDxGcmFtZVZpZXcq
PihtX3Njcm9sbFZpZXcpLT5mcmFtZSgpLT5kb2N1bWVudCgpOworICAgIERvY3VtZW50KiBkb2Mg
PSBzdGF0aWNfY2FzdDxGcmFtZVZpZXcqPihtX3Njcm9sbFZpZXcuZ2V0KCkpLT5mcmFtZSgpLT5k
b2N1bWVudCgpOwogICAgIGlmICghZG9jIHx8ICFkb2MtPnJlbmRlcmVyKCkpCiAgICAgICAgIHJl
dHVybiAwOwogCkBAIC0xOTMsMjYgKzE3OSwyMyBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nl
c3NpYmlsaXR5U2Nyb2xsVmlldzo6YWNjZXNzaWJpbGl0eUhpdFRlc3QoY29uc3QgSW50UG9pbgog
CiBMYXlvdXRSZWN0IEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3OjplbGVtZW50UmVjdCgpIGNvbnN0
CiB7Ci0gICAgaWYgKCFtX3Njcm9sbFZpZXcpCi0gICAgICAgIHJldHVybiBMYXlvdXRSZWN0KCk7
Ci0KICAgICByZXR1cm4gbV9zY3JvbGxWaWV3LT5mcmFtZVJlY3QoKTsKIH0KIAogRnJhbWVWaWV3
KiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldzo6ZG9jdW1lbnRGcmFtZVZpZXcoKSBjb25zdAogewot
ICAgIGlmICghbV9zY3JvbGxWaWV3IHx8ICFtX3Njcm9sbFZpZXctPmlzRnJhbWVWaWV3KCkpCisg
ICAgaWYgKCFtX3Njcm9sbFZpZXctPmlzRnJhbWVWaWV3KCkpCiAgICAgICAgIHJldHVybiAwOwog
ICAgIAotICAgIHJldHVybiBzdGF0aWNfY2FzdDxGcmFtZVZpZXcqPihtX3Njcm9sbFZpZXcpOwor
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxGcmFtZVZpZXcqPihtX3Njcm9sbFZpZXcuZ2V0KCkpOwog
fSAgICAKIAogQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXc6OnBh
cmVudE9iamVjdCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Njcm9sbFZpZXcgfHwgIW1fc2Nyb2xs
Vmlldy0+aXNGcmFtZVZpZXcoKSkKKyAgICBpZiAoIW1fc2Nyb2xsVmlldy0+aXNGcmFtZVZpZXco
KSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCi0gICAgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBv
d25lciA9IHN0YXRpY19jYXN0PEZyYW1lVmlldyo+KG1fc2Nyb2xsVmlldyktPmZyYW1lKCktPm93
bmVyRWxlbWVudCgpOworICAgIEhUTUxGcmFtZU93bmVyRWxlbWVudCogb3duZXIgPSBzdGF0aWNf
Y2FzdDxGcmFtZVZpZXcqPihtX3Njcm9sbFZpZXcuZ2V0KCkpLT5mcmFtZSgpLT5vd25lckVsZW1l
bnQoKTsKICAgICBpZiAob3duZXIgJiYgb3duZXItPnJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVy
biBheE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKG93bmVyKTsKIApAQCAtMjIxLDEwICsyMDQs
MTAgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXc6OnBhcmVu
dE9iamVjdCgpIGNvbnN0CiAgICAgCiBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5
U2Nyb2xsVmlldzo6cGFyZW50T2JqZWN0SWZFeGlzdHMoKSBjb25zdAogewotICAgIGlmICghbV9z
Y3JvbGxWaWV3IHx8ICFtX3Njcm9sbFZpZXctPmlzRnJhbWVWaWV3KCkpCisgICAgaWYgKCFtX3Nj
cm9sbFZpZXctPmlzRnJhbWVWaWV3KCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIAotICAgIEhU
TUxGcmFtZU93bmVyRWxlbWVudCogb3duZXIgPSBzdGF0aWNfY2FzdDxGcmFtZVZpZXcqPihtX3Nj
cm9sbFZpZXcpLT5mcmFtZSgpLT5vd25lckVsZW1lbnQoKTsKKyAgICBIVE1MRnJhbWVPd25lckVs
ZW1lbnQqIG93bmVyID0gc3RhdGljX2Nhc3Q8RnJhbWVWaWV3Kj4obV9zY3JvbGxWaWV3LmdldCgp
KS0+ZnJhbWUoKS0+b3duZXJFbGVtZW50KCk7CiAgICAgaWYgKG93bmVyICYmIG93bmVyLT5yZW5k
ZXJlcigpKQogICAgICAgICByZXR1cm4gYXhPYmplY3RDYWNoZSgpLT5nZXQob3duZXIpOwogICAg
IApAQCAtMjMzLDEzICsyMTYsMTIgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0
eVNjcm9sbFZpZXc6OnBhcmVudE9iamVjdElmRXhpc3RzKCkgY29uc3QKIAogU2Nyb2xsYWJsZUFy
ZWEqIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3OjpnZXRTY3JvbGxhYmxlQXJlYUlmU2Nyb2xsYWJs
ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fc2Nyb2xsVmlldzsKKyAgICByZXR1cm4gbV9zY3Jv
bGxWaWV3LmdldCgpOwogfQogCiB2b2lkIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3OjpzY3JvbGxU
byhjb25zdCBJbnRQb2ludCYgcG9pbnQpIGNvbnN0CiB7Ci0gICAgaWYgKG1fc2Nyb2xsVmlldykK
LSAgICAgICAgbV9zY3JvbGxWaWV3LT5zZXRTY3JvbGxQb3NpdGlvbihwb2ludCk7CisgICAgbV9z
Y3JvbGxWaWV3LT5zZXRTY3JvbGxQb3NpdGlvbihwb2ludCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlTY3JvbGxWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlTY3JvbGxWaWV3LmgKaW5kZXggNGZmOGEyMjNmZDg3OWI2YjU2MTRhZTU0ZWIz
NTE0Njc3NzRkMDlhYS4uOTk1MzE2NGRmMmVlMTc2MDU1OTcxN2I0MzQ4MWUzODhhMzFjN2Q2NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2Ny
b2xsVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVNjcm9sbFZpZXcuaApAQCAtMzgsMTAgKzM4LDcgQEAgY2xhc3MgQWNjZXNzaWJpbGl0eVNjcm9s
bFZpZXcgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU9iamVjdCB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVNjcm9sbFZpZXc+IGNyZWF0ZShTY3JvbGxWaWV3Kik7
ICAgIAogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3QgeyBy
ZXR1cm4gU2Nyb2xsQXJlYVJvbGU7IH0KLSAgICBTY3JvbGxWaWV3KiBzY3JvbGxWaWV3KCkgY29u
c3QgeyByZXR1cm4gbV9zY3JvbGxWaWV3OyB9Ci0KLSAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5
U2Nyb2xsVmlldygpOwotICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKKyAgICBTY3JvbGxWaWV3
KiBzY3JvbGxWaWV3KCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxWaWV3LmdldCgpOyB9CiAKIHBy
b3RlY3RlZDoKICAgICB2aXJ0dWFsIFNjcm9sbGFibGVBcmVhKiBnZXRTY3JvbGxhYmxlQXJlYUlm
U2Nyb2xsYWJsZSgpIGNvbnN0OwpAQCAtNzUsNyArNzIsNyBAQCBwcml2YXRlOgogICAgIEFjY2Vz
c2liaWxpdHlTY3JvbGxiYXIqIGFkZENoaWxkU2Nyb2xsYmFyKFNjcm9sbGJhciopOwogICAgIHZv
aWQgcmVtb3ZlQ2hpbGRTY3JvbGxiYXIoQWNjZXNzaWJpbGl0eU9iamVjdCopOwogICAgIAotICAg
IFNjcm9sbFZpZXcqIG1fc2Nyb2xsVmlldzsKKyAgICBSZWZQdHI8U2Nyb2xsVmlldz4gbV9zY3Jv
bGxWaWV3OwogICAgIFJlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBtX2hvcml6b250YWxTY3Jv
bGxiYXI7CiAgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+IG1fdmVydGljYWxTY3JvbGxi
YXI7CiAgICAgYm9vbCBtX2NoaWxkcmVuRGlydHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAKaW5kZXggYTZkYWIyNTQ2OWE2MTQ3
MDY0YTJlYTYwMDVkY2Q0MjY1MzVkYTUzNC4uYjFkMTU1ZDQyYjI2ZDc4MGQ4M2QxMzhjZTUyYzkw
NTg0ZDcxOGUwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5VGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVRhYmxlLmNwcApAQCAtMTMwLDcgKzEzMCw2IEBAIGJvb2wgQWNjZXNzaWJpbGl0
eVRhYmxlOjppc0RhdGFUYWJsZSgpIGNvbnN0CiAgICAgCiAgICAgLy8gZ28gdGhyb3VnaCB0aGUg
Y2VsbCdzIGFuZCBjaGVjayBmb3IgdGVsbC10YWxlIHNpZ25zIG9mICJkYXRhIiB0YWJsZSBzdGF0
dXMKICAgICAvLyBjZWxscyBoYXZlIGJvcmRlcnMsIG9yIHVzZSBhdHRyaWJ1dGVzIGxpa2UgaGVh
ZGVycywgYWJiciwgc2NvcGUgb3IgYXhpcwotICAgIHRhYmxlLT5yZWNhbGNTZWN0aW9uc0lmTmVl
ZGVkKCk7CiAgICAgUmVuZGVyVGFibGVTZWN0aW9uKiBmaXJzdEJvZHkgPSB0YWJsZS0+Zmlyc3RC
b2R5KCk7CiAgICAgaWYgKCFmaXJzdEJvZHkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0vQVhPYmplY3RDYWNo
ZUNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0vQVhP
YmplY3RDYWNoZUNocm9taXVtLmNwcAppbmRleCBmNjhhNTkxODIzMjJiZTYwOGEyYmQ1NDhlZjhm
NTI0OTg3Y2U0OTIyLi5hOTVlMDQ0MThjY2Q0OThkMjg2ZGM4N2E4MDhhYmIzMzEwMmUwYTcwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FYT2JqZWN0
Q2FjaGVDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJv
bWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCkBAIC04MiwxMiArODIsMTAgQEAgdm9pZCBB
WE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVj
dCogb2JqLCBBWE5vdGlmaWMKICAgICAgICAgLy8gZGVzY2VuZGFudCBhbmQgc2VuZCB0aGUgQVhG
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBub3RpZmljYXRpb24uCiAgICAgICAgIGhhbmRsZUZvY3Vz
ZWRVSUVsZW1lbnRDaGFuZ2VkKDAsIG9iai0+ZG9jdW1lbnQoKS0+Zm9jdXNlZE5vZGUoKSk7CiAg
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgQVhBcmlhQXR0cmlidXRlQ2hhbmdlZDoKICAgICBjYXNl
IEFYQXV0b2NvcnJlY3Rpb25PY2N1cmVkOgogICAgIGNhc2UgQVhDaGVja2VkU3RhdGVDaGFuZ2Vk
OgogICAgIGNhc2UgQVhDaGlsZHJlbkNoYW5nZWQ6CiAgICAgY2FzZSBBWEZvY3VzZWRVSUVsZW1l
bnRDaGFuZ2VkOgotICAgIGNhc2UgQVhJbnZhbGlkU3RhdHVzQ2hhbmdlZDoKICAgICBjYXNlIEFY
TGF5b3V0Q29tcGxldGU6CiAgICAgY2FzZSBBWExpdmVSZWdpb25DaGFuZ2VkOgogICAgIGNhc2Ug
QVhMb2FkQ29tcGxldGU6CkBAIC05OSw4ICs5Nyw4IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9z
dFBsYXRmb3JtTm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaiwgQVhOb3RpZmlj
CiAgICAgY2FzZSBBWFNjcm9sbGVkVG9BbmNob3I6CiAgICAgY2FzZSBBWFNlbGVjdGVkQ2hpbGRy
ZW5DaGFuZ2VkOgogICAgIGNhc2UgQVhTZWxlY3RlZFRleHRDaGFuZ2VkOgotICAgIGNhc2UgQVhU
ZXh0Q2hhbmdlZDoKICAgICBjYXNlIEFYVmFsdWVDaGFuZ2VkOgorICAgIGNhc2UgQVhJbnZhbGlk
U3RhdHVzQ2hhbmdlZDoKICAgICAgICAgYnJlYWs7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAKaW5kZXggOTFhOTZjN2VlNzIyNmUzY2I4MjhmNDc0ODU0YTRiMjkzOTVkYTE4MS4uNGU3OWVk
ZjBkMzgzMDdlMjIyOWY3OTIzMTUzZmY0MWMzZTU3MjJlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cApAQCAtNzI4LDggKzcyOCwzMSBAQCB2b2lkIEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiBuZQogCiAgICAgaW52
YWxpZGF0ZU5vZGVMaXN0Q2FjaGVzSW5BbmNlc3RvcnMoJm5hbWUsIHRoaXMpOwogCi0gICAgaWYg
KEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCi0gICAgICAgIGRvY3VtZW50
KCktPmF4T2JqZWN0Q2FjaGUoKS0+aGFuZGxlQXR0cmlidXRlQ2hhbmdlZChuYW1lLCB0aGlzKTsK
KyAgICBpZiAoIUFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCisgICAgICAg
IHJldHVybjsKKworICAgIGlmIChuYW1lID09IGFyaWFfYWN0aXZlZGVzY2VuZGFudEF0dHIpIHsK
KyAgICAgICAgLy8gYW55IGNoYW5nZSB0byBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgYXR0cmlidXRl
IHRyaWdnZXJzIGFjY2Vzc2liaWxpdHkgZm9jdXMgY2hhbmdlLCBidXQgZG9jdW1lbnQgZm9jdXMg
cmVtYWlucyBpbnRhY3QKKyAgICAgICAgZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5oYW5k
bGVBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCh0aGlzKTsKKyAgICB9IGVsc2UgaWYgKG5hbWUgPT0g
cm9sZUF0dHIpIHsKKyAgICAgICAgLy8gdGhlIHJvbGUgYXR0cmlidXRlIGNhbiBjaGFuZ2UgYXQg
YW55IHRpbWUsIGFuZCB0aGUgQWNjZXNzaWJpbGl0eU9iamVjdCBtdXN0IHBpY2sgdXAgdGhlc2Ug
Y2hhbmdlcworICAgICAgICBkb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPmhhbmRsZUFyaWFS
b2xlQ2hhbmdlZCh0aGlzKTsKKyAgICB9IGVsc2UgaWYgKG5hbWUgPT0gYXJpYV92YWx1ZW5vd0F0
dHIpIHsKKyAgICAgICAgLy8gSWYgdGhlIHZhbHVlbm93IGF0dHJpYnV0ZSBjaGFuZ2VzLCBBWCBj
bGllbnRzIG5lZWQgdG8gYmUgbm90aWZpZWQuCisgICAgICAgIGRvY3VtZW50KCktPmF4T2JqZWN0
Q2FjaGUoKS0+cG9zdE5vdGlmaWNhdGlvbih0aGlzLCBBWE9iamVjdENhY2hlOjpBWFZhbHVlQ2hh
bmdlZCwgdHJ1ZSk7CisgICAgfSBlbHNlIGlmIChuYW1lID09IGFyaWFfbGFiZWxBdHRyIHx8IG5h
bWUgPT0gYXJpYV9sYWJlbGVkYnlBdHRyIHx8IG5hbWUgPT0gYWx0QXR0ciB8fCBuYW1lID09IHRp
dGxlQXR0cikgeworICAgICAgICAvLyBJZiB0aGUgY29udGVudCBvZiBhbiBlbGVtZW50IGNoYW5n
ZXMgZHVlIHRvIGFuIGF0dHJpYnV0ZSBjaGFuZ2UsIG5vdGlmeSBhY2Nlc3NpYmlsaXR5LgorICAg
ICAgICBkb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPmNvbnRlbnRDaGFuZ2VkKHRoaXMpOwor
ICAgIH0gZWxzZSBpZiAobmFtZSA9PSBhcmlhX2NoZWNrZWRBdHRyKQorICAgICAgICBkb2N1bWVu
dCgpLT5heE9iamVjdENhY2hlKCktPmNoZWNrZWRTdGF0ZUNoYW5nZWQodGhpcyk7CisgICAgZWxz
ZSBpZiAobmFtZSA9PSBhcmlhX3NlbGVjdGVkQXR0cikKKyAgICAgICAgZG9jdW1lbnQoKS0+YXhP
YmplY3RDYWNoZSgpLT5zZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCh0aGlzKTsKKyAgICBlbHNlIGlm
IChuYW1lID09IGFyaWFfZXhwYW5kZWRBdHRyKQorICAgICAgICBkb2N1bWVudCgpLT5heE9iamVj
dENhY2hlKCktPmhhbmRsZUFyaWFFeHBhbmRlZENoYW5nZSh0aGlzKTsKKyAgICBlbHNlIGlmIChu
YW1lID09IGFyaWFfaGlkZGVuQXR0cikKKyAgICAgICAgZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNo
ZSgpLT5jaGlsZHJlbkNoYW5nZWQodGhpcyk7CisgICAgZWxzZSBpZiAobmFtZSA9PSBhcmlhX2lu
dmFsaWRBdHRyKQorICAgICAgICBkb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPnBvc3ROb3Rp
ZmljYXRpb24odGhpcywgQVhPYmplY3RDYWNoZTo6QVhJbnZhbGlkU3RhdHVzQ2hhbmdlZCwgdHJ1
ZSk7CiB9CiAKIHZvaWQgRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBh
dHRyaWJ1dGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCAw
ZWM2OTg4YTBhY2E3OWRiMTlhYTE0ZjlkN2Q0MDY2NThkMzIxYzM4Li5mMjBiMGIyMmY4NzNlNjhl
YjE0MzM5NWVkMjA4YThkNzE4ZGJlZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAKQEAgLTI0LDcgKzI0LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJSZW5kZXJCbG9jay5oIgogCi0jaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1
ZGUgIkNvbHVtbkluZm8uaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVsZW1l
bnQuaCIKQEAgLTEwMTIsOCArMTAxMSw2IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmRlbGV0ZUxpbmVC
b3hUcmVlKCkKICAgICAgICAgfQogICAgIH0KICAgICBtX2xpbmVCb3hlcy5kZWxldGVMaW5lQm94
VHJlZShyZW5kZXJBcmVuYSgpKTsKLSAgICBpZiAoVU5MSUtFTFkoQVhPYmplY3RDYWNoZTo6YWNj
ZXNzaWJpbGl0eUVuYWJsZWQoKSkpCi0gICAgICAgIGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUo
KS0+cmVjb21wdXRlSXNJZ25vcmVkKHRoaXMpOwogfQogCiBSb290SW5saW5lQm94KiBSZW5kZXJC
bG9jazo6Y3JlYXRlUm9vdElubGluZUJveCgpIApAQCAtMTAyNSwxMCArMTAyMiw2IEBAIFJvb3RJ
bmxpbmVCb3gqIFJlbmRlckJsb2NrOjpjcmVhdGVBbmRBcHBlbmRSb290SW5saW5lQm94KCkKIHsK
ICAgICBSb290SW5saW5lQm94KiByb290Qm94ID0gY3JlYXRlUm9vdElubGluZUJveCgpOwogICAg
IG1fbGluZUJveGVzLmFwcGVuZExpbmVCb3gocm9vdEJveCk7Ci0KLSAgICBpZiAoVU5MSUtFTFko
QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkgJiYgbV9saW5lQm94ZXMuZmly
c3RMaW5lQm94KCkgPT0gcm9vdEJveCkKLSAgICAgICAgZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNo
ZSgpLT5yZWNvbXB1dGVJc0lnbm9yZWQodGhpcyk7Ci0KICAgICByZXR1cm4gcm9vdEJveDsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCA0YzI5YjJk
MGY1YzhiMDhiYWE5MTJiNTA1YzlmMGQ5ZmI3YjlkMjVmLi4yMzFlZjhjZjY5MzQ4ZjBmMDIzOTJj
MWIyMjkxYzE3NDljNTU4NzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcApAQCAtMTgyOSw3ICsxODI5LDcgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OnN0eWxlV2ls
bENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG5ld1MKICAg
ICAgICAgICAgICAgICBkb2N1bWVudCgpLT5zZXRBbm5vdGF0ZWRSZWdpb25zRGlydHkodHJ1ZSk7
CiAjZW5kaWYKICAgICAgICAgICAgIGlmICh2aXNpYmlsaXR5Q2hhbmdlZCAmJiBBWE9iamVjdENh
Y2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQotICAgICAgICAgICAgICAgIGRvY3VtZW50KCkt
PmF4T2JqZWN0Q2FjaGUoKS0+Y2hpbGRyZW5DaGFuZ2VkKHBhcmVudCgpKTsKKyAgICAgICAgICAg
ICAgICBkb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPmNoaWxkcmVuQ2hhbmdlZCh0aGlzKTsK
IAogICAgICAgICAgICAgLy8gS2VlcCBsYXllciBoaWVyYXJjaHkgdmlzaWJpbGl0eSBiaXRzIHVw
IHRvIGRhdGUgaWYgdmlzaWJpbGl0eSBjaGFuZ2VzLgogICAgICAgICAgICAgaWYgKG1fc3R5bGUt
PnZpc2liaWxpdHkoKSAhPSBuZXdTdHlsZS0+dmlzaWJpbGl0eSgpKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKaW5kZXggM2Y4ZDcxNWVhZTg2NGVlOTE4ZThkYTVmNjdk
ZWVkM2Q1YzY3MDM5MC4uOWEwNzdiZjMwZmZlYjc2MWY0NmFiOTI1YTg1MjVjOTUyYTAyNDY2ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApAQCAtMTQ2Niw3ICsxNDY2
LDcgQEAgdm9pZCBSZW5kZXJUZXh0OjpzZXRUZXh0KFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gdGV4
dCwgYm9vbCBmb3JjZSkKICAgICAKICAgICBBWE9iamVjdENhY2hlKiBheE9iamVjdENhY2hlID0g
ZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpOwogICAgIGlmIChheE9iamVjdENhY2hlLT5hY2Nl
c3NpYmlsaXR5RW5hYmxlZCgpKQotICAgICAgICBheE9iamVjdENhY2hlLT50ZXh0Q2hhbmdlZCh0
aGlzKTsKKyAgICAgICAgYXhPYmplY3RDYWNoZS0+Y29udGVudENoYW5nZWQodGhpcyk7CiB9CiAK
IFN0cmluZyBSZW5kZXJUZXh0Ojp0ZXh0V2l0aG91dFRyYW5zY29kaW5nKCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb24uaAppbmRleCA2MjlkOTg4ZjU0Mzk3ZGNlMzIzYzNmYzVmZTA3MDhlNTQx
NTlhNzMwLi5kZTY4ZDM3YjA0MzhkNTIwNjcxNzFiZDZhNGYxYTRlNmY1NzNhYjQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbi5oCkBAIC01NCw4ICs1NCwxMSBAQCBlbnVtIFdlYkFjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb24gewogICAgIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25Sb3dDb2xs
YXBzZWQsCiAgICAgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvblJvd0V4cGFuZGVkLAogICAg
IFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25JbnZhbGlkU3RhdHVzQ2hhbmdlZCwKLSAgICBX
ZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uVGV4dENoYW5nZWQsCi0gICAgV2ViQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbkFyaWFBdHRyaWJ1dGVDaGFuZ2VkCisKKyAgICAvLyBGSVhNRTogbm93
IHRoYXQgd2UncmUgdXNpbmcgQXNzZXJ0TWF0Y2hpbmdFbnVtcywgd2UgZG9uJ3QgbmVlZCBhCisg
ICAgLy8gY2F0Y2gtYWxsICJpbnZhbGlkIiBub3RpZmljYXRpb24gZW51bS4gUmVtb3ZlIHRoaXMg
b25jZSBpdCdzIGJlZW4KKyAgICAvLyByZW1vdmVkIGZyb20gQ2hyb21pdW0uCisgICAgV2ViQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkludmFsaWQsCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5n
RW51bXMuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVt
cy5jcHAKaW5kZXggMDI1NzI3OWJhZDcxMDI5NTA1OWVlNGExNzZiNTQ0NTQ5ODcwYzhkOC4uOTVl
OGI2MDdkMjI4ZjhiZTg1Y2RjZTlhMzFiMTg5MzcxMTNkNTJiZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKQEAgLTE1Myw4ICsx
NTMsNiBAQCBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb25Sb3dDb3VudENoYW5nZWQsIEFYT2JqZQogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uUm93Q29sbGFwc2VkLCBBWE9iamVjdENh
Y2hlOjpBWFJvd0NvbGxhcHNlZCk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb25Sb3dFeHBhbmRlZCwgQVhPYmplY3RDYWNoZTo6QVhSb3dF
eHBhbmRlZCk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb25JbnZhbGlkU3RhdHVzQ2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhJbnZhbGlk
U3RhdHVzQ2hhbmdlZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2li
aWxpdHlOb3RpZmljYXRpb25UZXh0Q2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhUZXh0Q2hhbmdl
ZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb25BcmlhQXR0cmlidXRlQ2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhBcmlhQXR0cmlidXRl
Q2hhbmdlZCk7CiAKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQWNjZXNzaWJpbGl0
eVJvbGVVbmtub3duLCBVbmtub3duUm9sZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkFjY2Vzc2liaWxpdHlSb2xlQnV0dG9uLCBCdXR0b25Sb2xlKTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3ZGYxOWM2ZmQ1NTViODcyMWNk
ODY0YjFlM2Q5NzMyYWEyYTVlZDNkLi4wNjcxMzgwZDg3N2FkNjU1MzY2NzlkMDM1MDkyZGY5YTQ4
YjVmNWQxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAtMjUgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmll
dy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzI1
MTQuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEzMjUxNAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNDQwCisKKyAg
ICAgICAgIkJyb2tlIGNocm9taXVtIGNvbnRlbnRfYnJvd3NlcnRlc3RzIEFjY2Vzc2liaWxpdHlB
cmlhTWVudQorICAgICAgICBBY2Nlc3NpYmlsaXR5SW5wdXRSYW5nZSBBY2Nlc3NpYmlsaXR5TGlz
dE1hcmtlcnMiIChSZXF1ZXN0ZWQKKyAgICAgICAgYnkgc2NoZWliIG9uICN3ZWJraXQpLgorCisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwOgorICAgICAg
ICAoV2ViVmlld0hvc3Q6OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKToKKwogMjAxMi0x
MC0yNSAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICByd3Qg
LS1saW50LXRlc3QtZmlsZXMgZG9lc24ndCBoYW5kbGUgdGhlIGNhc2NhZGUgcHJvcGVybHkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAppbmRleCAyOWFj
Y2VlZDBmZDllZjI4NDQxOGE3ZjNjZjc1MmZiMmRkY2E2OWJjLi5kMzc2MjJkYjk5NTg4Zjc5MTVi
MjQ0ZWY5Y2I3ZDA1ZTIxMmZjNzMxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vV2ViVmlld0hvc3QuY3BwCkBAIC02OTYsMTIgKzY5Niw2IEBAIHZvaWQgV2ViVmlld0hvc3Q6
OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKGNvbnN0IFdlYkFjY2Vzc2liaWxpdHlPYmpl
Y3QmIG9iCiAgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSW52YWxpZFN0YXR1
c0NoYW5nZWQ6CiAgICAgICAgIG5vdGlmaWNhdGlvbk5hbWUgPSAiSW52YWxpZFN0YXR1c0NoYW5n
ZWQiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b25UZXh0Q2hhbmdlZDoKLSAgICAgICAgbm90aWZpY2F0aW9uTmFtZSA9ICJUZXh0Q2hhbmdlZCI7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkFy
aWFBdHRyaWJ1dGVDaGFuZ2VkOgotICAgICAgICBub3RpZmljYXRpb25OYW1lID0gIkFyaWFBdHRy
aWJ1dGVDaGFuZ2VkIjsKLSAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgbm90
aWZpY2F0aW9uTmFtZSA9ICJVbmtub3duTm90aWZpY2F0aW9uIjsKICAgICAgICAgYnJlYWs7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggYzdlMzlhZGE0ODI2NTJiZTRmY2U2MjY4ZmVmYmQwNGIzMzA1MDY1ZS4uNzIxZTQ4MzQ1
Yjg1NTlhOGQ5ZTczODQ0NmExNGJkOWRjYjc4MGY2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisy
MDEyLTEwLTI1ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKwor
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTMyNTE0LgorICAgICAgICBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMzI1MTQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDQ0MAorCisgICAgICAgICJCcm9rZSBjaHJvbWl1
bSBjb250ZW50X2Jyb3dzZXJ0ZXN0cyBBY2Nlc3NpYmlsaXR5QXJpYU1lbnUKKyAgICAgICAgQWNj
ZXNzaWJpbGl0eUlucHV0UmFuZ2UgQWNjZXNzaWJpbGl0eUxpc3RNYXJrZXJzIiAoUmVxdWVzdGVk
CisgICAgICAgIGJ5IHNjaGVpYiBvbiAjd2Via2l0KS4KKworICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvYXJpYS1jaGVja2JveC1zZW5kcy1ub3RpZmljYXRpb24uaHRtbDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L25vdGlmaWNhdGlvbi1saXN0ZW5lcnMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNo
YW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQt
bm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L2FkZC10by1tZW51LWxpc3QtY3Jhc2hlcy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9hZGQtdG8tbWVudS1saXN0LWNy
YXNoZXMuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2lz
LWlnbm9yZWQtY2hhbmdlLXNlbmRzLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9pcy1pZ25vcmVkLWNo
YW5nZS1zZW5kcy1ub3RpZmljYXRpb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L290aGVyLWFyaWEtYXR0cmlidXRlLWNoYW5nZS1zZW5k
cy1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvb3RoZXItYXJpYS1hdHRyaWJ1dGUtY2hhbmdlLXNlbmRz
LW5vdGlmaWNhdGlvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvdGV4dC1jaGFuZ2Utbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3RleHQtY2hh
bmdlLW5vdGlmaWNhdGlvbi5odG1sOiBSZW1vdmVkLgorCiAyMDEyLTEwLTI1ICBWaW5jZW50IFNj
aGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCByZWJhc2Vs
aW5lIG9mIHRlc3RzIGZhaWxpbmcgYWZ0ZXIgMTMyNTI5IHJvbGxlZCBvdXQgMTMyMjY5LgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWNoZWNrYm94LXNlbmRzLW5v
dGlmaWNhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWNoZWNrYm94
LXNlbmRzLW5vdGlmaWNhdGlvbi5odG1sCmluZGV4IGY3OTkxMTIyODQyY2EyMGNmMWVmY2FmZjI2
NjVlMzA3NTBjYmEwNzMuLjRmNmM2MGVjOWJmOTI0ZDZjOTIxNmEzNGU5NGJmMmJkY2RhYmFlMmMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1jaGVja2JveC1zZW5k
cy1ub3RpZmljYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEt
Y2hlY2tib3gtc2VuZHMtbm90aWZpY2F0aW9uLmh0bWwKQEAgLTcsMTMgKzcsMTUgQEAKICAgICAg
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCiAgICAgICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3RzIHRoYXQgY2hlY2tpbmcgb2YgYW4gYXJpYSBjaGVja2JveCBzZW5kcyBhIG5v
dGlmaWNhdGlvbi4iKTsKKyAgICAgICAgd2luZG93LnJvb3QgPSBhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5yb290RWxlbWVudDsKKyAgICAgICAgd2luZG93LmJvZHkgPSByb290LmNoaWxkQXRJbmRl
eCgwKTsKIAotICAgICAgICB2YXIgYWNjZXNzaWJsZUNoZWNrYm94ID0gYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJjaGVja2JveDEiKTsKKyAgICAgICAgdmFy
IGFjY2Vzc2libGVDaGVja2JveCA9IGJvZHkuY2hpbGRBdEluZGV4KDApOwogICAgICAgICB2YXIg
bm90aWZpY2F0aW9uQ291bnQgPSAwOwogCiAgICAgICAgIGZ1bmN0aW9uIGxpc3RlbmVyKG5vdGlm
aWNhdGlvbikgewotICAgICAgICAgICAgaWYgKG5vdGlmaWNhdGlvbiA9PSAiQ2hlY2tlZFN0YXRl
Q2hhbmdlZCIpCi0gICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uQ291bnQrKzsKKyAgICAgICAg
aWYgKG5vdGlmaWNhdGlvbiA9PSAiQ2hlY2tlZFN0YXRlQ2hhbmdlZCIpCisgICAgICAgICAgICBu
b3RpZmljYXRpb25Db3VudCsrOwogCiAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSAiR290IG5vdGlmaWNhdGlvbjogIiArIG5vdGlmaWNh
dGlvbiArICJcbiI7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbm90
aWZpY2F0aW9uLWxpc3RlbmVycy5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ub3Rp
ZmljYXRpb24tbGlzdGVuZXJzLmh0bWwKaW5kZXggNjI2YzVlYjhmZWRjZmJhOTFjOGFiMGEwYTZj
Y2ExNjAyNTg2ODI3YS4uM2RkODg4ODQ0ZDBjNGE2MGZjOTRlOWMyMmRmZjYyZDI2YmFhZWI2MyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ub3RpZmljYXRpb24tbGlzdGVu
ZXJzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ub3RpZmljYXRpb24tbGlz
dGVuZXJzLmh0bWwKQEAgLTcsNyArNyw3IEBACiAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgog
Ci08c2VsZWN0IGlkPSJzZWxlY3QiIHZhbHVlPSJTZWxlY3QiPjwvc2VsZWN0PgorPHNlbGVjdCBp
ZD0ic2VsZWN0IiB2YWx1ZT0iU2VsZWN0Ij48b3B0aW9uPkE8b3B0aW9uPkI8L3NlbGVjdD4KIAog
PGRpdiBpZD0ic2xpZGVyIiB0YWJpbmRleD0iMCIgcm9sZT0ic2xpZGVyIiBhcmlhLXZhbHVlbm93
PSI1Ij5TbGlkZXI8L2Rpdj4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2Vk
LW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUt
bXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90
aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBkNGZjOGFlNTQ0NTA2MWE4MGU1ODhjNjc3ZDFj
YWU2NjE3M2EyNGRiLi5hMDZiM2M0M2NmM2QxMWIwYmQ1ZjE1NGQyOTAzMjYxZjFhZTlmYjQ1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVk
LnR4dApAQCAtNyw4ICs3LDYgQEAgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBNb250
aD1BWFZhbHVlRGVzY3JpcHRpb246IDEwCiBGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBBWEhlbHA6
IERheT1BWFZhbHVlRGVzY3JpcHRpb246IDA5CiBGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBBWEhl
bHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9uOiAyMDEyCiBWYWx1ZUNoYW5nZWQgQVhIZWxwOiBE
YXk9QVhWYWx1ZURlc2NyaXB0aW9uOiAwNAotVmFsdWVDaGFuZ2VkIEFYSGVscDogRGF5PUFYVmFs
dWVEZXNjcmlwdGlvbjogMDQKLVZhbHVlQ2hhbmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURlc2Ny
aXB0aW9uOiAyMDEzCiBWYWx1ZUNoYW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlv
bjogMjAxMwogCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVs
ZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDJlNWVk
OWJkYTYzMjJmZDE1NmVhNDUxZTkxMzg3Y2YzODI4MDI0ZGIuLjllNmU2ZDI3MzE0NTQ5Y2ZiODMz
ZGU2MGUzZTg1YmUzMTA0ZDI3NWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdl
ZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdl
ZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0CkBAIC03LDggKzcsNiBAQCBGb2N1c2VkVUlFbGVt
ZW50Q2hhbmdlZCBBWEhlbHA6IEhvdXJzPUFYVmFsdWVEZXNjcmlwdGlvbjogMTIKIEZvY3VzZWRV
SUVsZW1lbnRDaGFuZ2VkIEFYSGVscDogTWludXRlcz1BWFZhbHVlRGVzY3JpcHRpb246IDM0CiBW
YWx1ZUNoYW5nZWQgQVhIZWxwOiBNaW51dGVzPUFYVmFsdWVEZXNjcmlwdGlvbjogMDUKIFZhbHVl
Q2hhbmdlZCBBWEhlbHA6IE1pbnV0ZXM9QVhWYWx1ZURlc2NyaXB0aW9uOiAwNQotVmFsdWVDaGFu
Z2VkIEFYSGVscDogTWludXRlcz1BWFZhbHVlRGVzY3JpcHRpb246IDA1Ci1WYWx1ZUNoYW5nZWQg
QVhIZWxwOiBNaW51dGVzPUFYVmFsdWVEZXNjcmlwdGlvbjogMDUKIAogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L2FkZC10by1tZW51LWxpc3QtY3Jhc2hlcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2FkZC10by1tZW51
LWxpc3QtY3Jhc2hlcy1leHBlY3RlZC50eHQKaW5kZXggYzk2MmVhM2YxYTMxM2YyM2NhZTIwZDg3
YWYwYWIwMzI5N2I5YTJhNC4uODlmYTQyNDYyZDVhZGUwMzIyMDg4N2M1ODFmMDdkMGE3YTg2Y2Jl
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9hZGQtdG8tbWVudS1saXN0LWNyYXNoZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvYWRkLXRvLW1lbnUtbGlzdC1jcmFzaGVz
LWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDggQEAKIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQg
YWRkaW5nIGEgc2VsZWN0ZWQgb3B0aW9uIHRvIGEgbWVudSBsaXN0IHZpYSBhbiB1bnVzdWFsIHJv
dXRlIChkb2N1bWVudC53cml0ZSBmcm9tIGFuIGV4dGVybmFsIHNjcmlwdCkgZG9lc24ndCB0cmln
Z2VyIGEgY3Jhc2ggd2hlbiBkaWRVcGRhdGVBY3RpdmVPcHRpb24gaXMgY2FsbGVkIGJlZm9yZSB0
aGUgY2hpbGRyZW4gYXJlIHVwZGF0ZWQuCiAKLVBBU1MgYWNjZXNzaWJsZU1lbnVsaXN0LmNoaWxk
QXRJbmRleCgwKS5jaGlsZHJlbkNvdW50IGlzIDEKLVBBU1MgYWNjZXNzaWJsZU1lbnVsaXN0LmNo
aWxkQXRJbmRleCgwKS5jaGlsZHJlbkNvdW50IGlzIDIKLVBBU1MgYWNjZXNzaWJsZU1lbnVsaXN0
LmNoaWxkQXRJbmRleCgwKS5jaGlsZHJlbkNvdW50IGlzIDEKK1BBU1MgYWNjZXNzaWJsZVBvcHVw
LmNoaWxkcmVuQ291bnQgaXMgMQorUEFTUyBhY2Nlc3NpYmxlUG9wdXAuY2hpbGRyZW5Db3VudCBp
cyAyCitQQVNTIGFjY2Vzc2libGVQb3B1cC5jaGlsZHJlbkNvdW50IGlzIDEKIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9hZGQtdG8tbWVudS1saXN0LWNy
YXNoZXMuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
YWRkLXRvLW1lbnUtbGlzdC1jcmFzaGVzLmh0bWwKaW5kZXggYWVjYjRlNWEwZDBlNzVlMmI0Yzhm
MGM5ZDc4MTMwZjdjOWRkYTY1MS4uNzUxMDMzOGZmYzUyZGE4YThjNThhYjFhMWQxOTlhYjk3ZjNh
NjE1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9hZGQtdG8tbWVudS1saXN0LWNyYXNoZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2FkZC10by1tZW51LWxpc3QtY3Jhc2hlcy5odG1s
CkBAIC0xOSwxOCArMTksMTkgQEAKICAgICAgICAgbWVudWxpc3QuZm9jdXMoKTsKICAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikg
ewogICAgICAgICAgICAgd2luZG93LmFjY2Vzc2libGVNZW51bGlzdCA9IGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwotICAgICAgICAgICAgc2hvdWxkQmUoImFjY2Vzc2li
bGVNZW51bGlzdC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRyZW5Db3VudCIsICIxIik7CisgICAgICAg
ICAgICB3aW5kb3cuYWNjZXNzaWJsZVBvcHVwID0gYWNjZXNzaWJsZU1lbnVsaXN0LmNoaWxkQXRJ
bmRleCgwKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJhY2Nlc3NpYmxlUG9wdXAuY2hpbGRyZW5D
b3VudCIsICIxIik7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0i
ZGF0YTp0ZXh0L2phdmFzY3JpcHQsZG9jdW1lbnQud3JpdGUoJzxvcHRpb24gc2VsZWN0ZWQ+Micp
OyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdD4KICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
ICYmIHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikKLSAgICAgICAgICAgIHNob3VsZEJl
KCJhY2Nlc3NpYmxlTWVudWxpc3QuY2hpbGRBdEluZGV4KDApLmNoaWxkcmVuQ291bnQiLCAiMiIp
OworICAgICAgICAgICAgc2hvdWxkQmUoImFjY2Vzc2libGVQb3B1cC5jaGlsZHJlbkNvdW50Iiwg
IjIiKTsKICAgICA8L3NjcmlwdD4KICAgICA8c2NyaXB0PgogICAgICAgICBtZW51bGlzdC5yZW1v
dmVDaGlsZChtZW51bGlzdC5zZWxlY3RlZE9wdGlvbnNbMF0pOwogICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIgJiYgd2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKQotICAgICAgICAg
ICAgc2hvdWxkQmUoImFjY2Vzc2libGVNZW51bGlzdC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRyZW5D
b3VudCIsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJsZVBvcHVwLmNoaWxk
cmVuQ291bnQiLCAiMSIpOwogICAgIDwvc2NyaXB0PgogPC9zZWxlY3Q+CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvaXMtaWdub3JlZC1j
aGFuZ2Utc2VuZHMtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvaXMtaWdub3JlZC1jaGFuZ2Utc2VuZHMtbm90aWZp
Y2F0aW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGRiZGM2
ZGI1N2E5YTRjMzFlNmYwYzMxODM4ZWVlNDRhOGQ3MDM3Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L2lzLWlnbm9yZWQtY2hhbmdlLXNlbmRzLW5vdGlmaWNhdGlvbi1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi1UaGlzIHRlc3QgZW5zdXJlcyB0
aGF0IGEgY2hhbmdlIHRvIGFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgZmlyZXMgYSBjaGlsZHJlbiBj
aGFuZ2VkIG5vdGlmaWNhdGlvbiBvbiB0aGUgcGFyZW50LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCi0KLQotUEFTUyBhY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2hpZGRlbkRpdkNvbnRhaW5l
cicpICE9IG51bGwgaXMgdHJ1ZQotUEFTUyBhY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2hpZGRlbkRp
dicpICE9IG51bGwgaXMgZmFsc2UKLVBBU1MgYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdpbnZpc2li
bGVEaXZDb250YWluZXInKSAhPSBudWxsIGlzIHRydWUKLVBBU1MgYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCdpbnZpc2libGVEaXYnKSAhPSBudWxsIGlzIGZhbHNlCi1QQVNTIGFjY2Vzc2libGVFbGVt
ZW50QnlJZCgnZW1wdHlEaXZDb250YWluZXInKSAhPSBudWxsIGlzIHRydWUKLVBBU1MgYWNjZXNz
aWJsZUVsZW1lbnRCeUlkKCdlbXB0eURpdicpICE9IG51bGwgaXMgZmFsc2UKLVBBU1MgYWNjZXNz
aWJsZUVsZW1lbnRCeUlkKCdkaXZXaXRob3V0Um9sZUNvbnRhaW5lcicpICE9IG51bGwgaXMgdHJ1
ZQotUEFTUyBhY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2RpdldpdGhvdXRSb2xlJykgIT0gbnVsbCBp
cyBmYWxzZQotUEFTUyBhY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2RpdldpdGhvdXRMYWJlbENvbnRh
aW5lcicpICE9IG51bGwgaXMgdHJ1ZQotUEFTUyBhY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2Rpdldp
dGhvdXRMYWJlbCcpICE9IG51bGwgaXMgZmFsc2UKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1Hb3QgQ2hpbGRyZW5DaGFuZ2VkIG5vdGlmaWNhdGlv
biBvbiBoaWRkZW5EaXZDb250YWluZXIKLVBBU1MgYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdoaWRk
ZW5EaXZDb250YWluZXInKS5jaGlsZHJlbkNvdW50IGlzIDEKLUdvdCBDaGlsZHJlbkNoYW5nZWQg
bm90aWZpY2F0aW9uIG9uIGludmlzaWJsZURpdkNvbnRhaW5lcgotUEFTUyBhY2Nlc3NpYmxlRWxl
bWVudEJ5SWQoJ2ludmlzaWJsZURpdkNvbnRhaW5lcicpLmNoaWxkcmVuQ291bnQgaXMgMQotR290
IENoaWxkcmVuQ2hhbmdlZCBub3RpZmljYXRpb24gb24gZW1wdHlEaXZDb250YWluZXIKLVBBU1Mg
YWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdlbXB0eURpdkNvbnRhaW5lcicpLmNoaWxkcmVuQ291bnQg
aXMgMQotR290IENoaWxkcmVuQ2hhbmdlZCBub3RpZmljYXRpb24gb24gZGl2V2l0aG91dFJvbGVD
b250YWluZXIKLVBBU1MgYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdkaXZXaXRob3V0Um9sZUNvbnRh
aW5lcicpLmNoaWxkcmVuQ291bnQgaXMgMQotR290IENoaWxkcmVuQ2hhbmdlZCBub3RpZmljYXRp
b24gb24gZGl2V2l0aG91dExhYmVsQ29udGFpbmVyCi1QQVNTIGFjY2Vzc2libGVFbGVtZW50QnlJ
ZCgnZGl2V2l0aG91dExhYmVsQ29udGFpbmVyJykuY2hpbGRyZW5Db3VudCBpcyAxCi1BbGwgbm90
aWZpY2F0aW9ucyByZWNlaXZlZCBzdWNjZXNzZnVsbHkuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvaXMtaWdub3JlZC1jaGFuZ2Utc2Vu
ZHMtbm90aWZpY2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L2lzLWlnbm9yZWQtY2hhbmdlLXNlbmRzLW5vdGlmaWNhdGlvbi5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDY1OTcwYjZkZmY5NGFjZDI2ZDU4ZTZmZDMzZDAz
ZGZkZTM1ZTU5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvaXMtaWdub3JlZC1j
aGFuZ2Utc2VuZHMtbm90aWZpY2F0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMzEgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotCi08ZGl2IGlkPSJjb250YWluZXIiPgotCi0gIDxkaXYgaWQ9ImhpZGRlbkRpdkNv
bnRhaW5lciIgYXJpYS1sYWJlbD0iaGlkZGVuRGl2Q29udGFpbmVyIj4KLSAgICA8ZGl2IGlkPSJo
aWRkZW5EaXYiIGhpZGRlbj4KLSAgICAgIDxkaXY+Ci0gICAgICAgIDxidXR0b24+QnV0dG9uPC9i
dXR0b24+Ci0gICAgICA8L2Rpdj4KLSAgICA8L2Rpdj4KLSAgPC9kaXY+Ci0KLSAgPGRpdiBpZD0i
aW52aXNpYmxlRGl2Q29udGFpbmVyIiBhcmlhLWxhYmVsPSJpbnZpc2libGVEaXZDb250YWluZXIi
PgotICAgIDxkaXYgaWQ9ImludmlzaWJsZURpdiIgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbiI+
Ci0gICAgICA8ZGl2PgotICAgICAgICA8YnV0dG9uPkJ1dHRvbjwvYnV0dG9uPgotICAgICAgPC9k
aXY+Ci0gICAgPC9kaXY+Ci0gIDwvZGl2PgotCi0gIDxkaXYgaWQ9ImVtcHR5RGl2Q29udGFpbmVy
IiBhcmlhLWxhYmVsPSJlbXB0eURpdkNvbnRhaW5lciI+Ci0gICAgPGRpdiBpZD0iZW1wdHlEaXYi
PjwvZGl2PgotICA8L2Rpdj4KLQotICA8ZGl2IGlkPSJkaXZXaXRob3V0Um9sZUNvbnRhaW5lciIg
YXJpYS1sYWJlbD0iZGl2V2l0aG91dFJvbGVDb250YWluZXIiPgotICAgIDxkaXYgaWQ9ImRpdldp
dGhvdXRSb2xlIj4KLSAgICAgIDxkaXY+Ci0gICAgICAgIDxidXR0b24+QnV0dG9uPC9idXR0b24+
Ci0gICAgICA8L2Rpdj4KLSAgICA8L2Rpdj4KLSAgPC9kaXY+Ci0KLSAgPGRpdiBpZD0iZGl2V2l0
aG91dExhYmVsQ29udGFpbmVyIiBhcmlhLWxhYmVsPSJkaXZXaXRob3V0TGFiZWxDb250YWluZXIi
PgotICAgIDxkaXYgaWQ9ImRpdldpdGhvdXRMYWJlbCI+Ci0gICAgICA8ZGl2PgotICAgICAgICA8
YnV0dG9uPkJ1dHRvbjwvYnV0dG9uPgotICAgICAgPC9kaXY+Ci0gICAgPC9kaXY+Ci0gIDwvZGl2
PgotCi08L2Rpdj4KLQotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgYSBjaGFuZ2UgdG8gYWNjZXNzaWJpbGl0eUlz
SWdub3JlZCBmaXJlcyBhIGNoaWxkcmVuIGNoYW5nZWQgbm90aWZpY2F0aW9uIG9uIHRoZSBwYXJl
bnQuIik7Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLQotICAgIGZ1bmN0aW9uIGFjY2Vzc2libGVFbGVtZW50QnlJZChp
ZCkgewotICAgICAgICByZXR1cm4gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKGlkKTsKLSAgICB9Ci0KLSAgICB3aW5kb3cuc3VjY2Vzc0NvdW50ID0gMDsKLSAg
ICBmdW5jdGlvbiBnb3RTdWNjZXNzZnVsTm90aWZpY2F0aW9uKCkgewotICAgICAgICBzdWNjZXNz
Q291bnQrKzsKLSAgICAgICAgaWYgKHN1Y2Nlc3NDb3VudCAhPSA1KQotICAgICAgICAgICAgcmV0
dXJuOwotCi0gICAgICAgIGRlYnVnKCdBbGwgbm90aWZpY2F0aW9ucyByZWNlaXZlZCBzdWNjZXNz
ZnVsbHkuJyk7Ci0gICAgICAgIGFjY2Vzc2libGVFbGVtZW50QnlJZCgnaGlkZGVuRGl2Q29udGFp
bmVyJykucmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKTsKLSAgICAgICAgYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCdpbnZpc2libGVEaXZDb250YWluZXInKS5yZW1vdmVOb3RpZmljYXRpb25MaXN0
ZW5lcigpOwotICAgICAgICBhY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2VtcHR5RGl2Q29udGFpbmVy
JykucmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKTsKLSAgICAgICAgYWNjZXNzaWJsZUVsZW1l
bnRCeUlkKCdkaXZXaXRob3V0Um9sZUNvbnRhaW5lcicpLnJlbW92ZU5vdGlmaWNhdGlvbkxpc3Rl
bmVyKCk7Ci0gICAgICAgIGFjY2Vzc2libGVFbGVtZW50QnlJZCgnZGl2V2l0aG91dExhYmVsQ29u
dGFpbmVyJykucmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKTsKLSAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpLmhpZGRlbiA9IHRydWU7Ci0gICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
ICAgIH0KLQotICAgIHNob3VsZEJlVHJ1ZSgiYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdoaWRkZW5E
aXZDb250YWluZXInKSAhPSBudWxsIik7Ci0gICAgc2hvdWxkQmVGYWxzZSgiYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCdoaWRkZW5EaXYnKSAhPSBudWxsIik7Ci0gICAgYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCdoaWRkZW5EaXZDb250YWluZXInKS5hZGROb3RpZmljYXRpb25MaXN0ZW5lcihmdW5jdGlv
bihub3RpZmljYXRpb24pIHsKLSAgICAgICAgZGVidWcoJ0dvdCAnICsgbm90aWZpY2F0aW9uICsg
JyBub3RpZmljYXRpb24gb24gaGlkZGVuRGl2Q29udGFpbmVyJyk7Ci0gICAgICAgIHNob3VsZEJl
KCJhY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2hpZGRlbkRpdkNvbnRhaW5lcicpLmNoaWxkcmVuQ291
bnQiLCAiMSIpOwotICAgICAgICBnb3RTdWNjZXNzZnVsTm90aWZpY2F0aW9uKCk7Ci0gICAgfSk7
Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hpZGRlbkRpdicpLmhpZGRlbiA9IGZhbHNl
OwotCi0gICAgc2hvdWxkQmVUcnVlKCJhY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2ludmlzaWJsZURp
dkNvbnRhaW5lcicpICE9IG51bGwiKTsKLSAgICBzaG91bGRCZUZhbHNlKCJhY2Nlc3NpYmxlRWxl
bWVudEJ5SWQoJ2ludmlzaWJsZURpdicpICE9IG51bGwiKTsKLSAgICBhY2Nlc3NpYmxlRWxlbWVu
dEJ5SWQoJ2ludmlzaWJsZURpdkNvbnRhaW5lcicpLmFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKGZ1
bmN0aW9uKG5vdGlmaWNhdGlvbikgewotICAgICAgICBkZWJ1ZygnR290ICcgKyBub3RpZmljYXRp
b24gKyAnIG5vdGlmaWNhdGlvbiBvbiBpbnZpc2libGVEaXZDb250YWluZXInKTsKLSAgICAgICAg
c2hvdWxkQmUoImFjY2Vzc2libGVFbGVtZW50QnlJZCgnaW52aXNpYmxlRGl2Q29udGFpbmVyJyku
Y2hpbGRyZW5Db3VudCIsICIxIik7Ci0gICAgICAgIGdvdFN1Y2Nlc3NmdWxOb3RpZmljYXRpb24o
KTsKLSAgICB9KTsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW52aXNpYmxlRGl2Jyku
c3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxlJzsKLQotICAgIHNob3VsZEJlVHJ1ZSgiYWNjZXNz
aWJsZUVsZW1lbnRCeUlkKCdlbXB0eURpdkNvbnRhaW5lcicpICE9IG51bGwiKTsKLSAgICBzaG91
bGRCZUZhbHNlKCJhY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2VtcHR5RGl2JykgIT0gbnVsbCIpOwot
ICAgIGFjY2Vzc2libGVFbGVtZW50QnlJZCgnZW1wdHlEaXZDb250YWluZXInKS5hZGROb3RpZmlj
YXRpb25MaXN0ZW5lcihmdW5jdGlvbihub3RpZmljYXRpb24pIHsKLSAgICAgICAgZGVidWcoJ0dv
dCAnICsgbm90aWZpY2F0aW9uICsgJyBub3RpZmljYXRpb24gb24gZW1wdHlEaXZDb250YWluZXIn
KTsKLSAgICAgICAgc2hvdWxkQmUoImFjY2Vzc2libGVFbGVtZW50QnlJZCgnZW1wdHlEaXZDb250
YWluZXInKS5jaGlsZHJlbkNvdW50IiwgIjEiKTsKLSAgICAgICAgZ290U3VjY2Vzc2Z1bE5vdGlm
aWNhdGlvbigpOwotICAgIH0pOwotCi0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VtcHR5
RGl2JykuaW5uZXJUZXh0ID0gJ05vdCBlbXB0eSBhbnltb3JlLic7Ci0gICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2VtcHR5RGl2Jykub2Zmc2V0TGVmdDsKLQotICAgIHNob3VsZEJlVHJ1ZSgi
YWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdkaXZXaXRob3V0Um9sZUNvbnRhaW5lcicpICE9IG51bGwi
KTsKLSAgICBzaG91bGRCZUZhbHNlKCJhY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2RpdldpdGhvdXRS
b2xlJykgIT0gbnVsbCIpOwotICAgIGFjY2Vzc2libGVFbGVtZW50QnlJZCgnZGl2V2l0aG91dFJv
bGVDb250YWluZXInKS5hZGROb3RpZmljYXRpb25MaXN0ZW5lcihmdW5jdGlvbihub3RpZmljYXRp
b24pIHsKLSAgICAgICAgZGVidWcoJ0dvdCAnICsgbm90aWZpY2F0aW9uICsgJyBub3RpZmljYXRp
b24gb24gZGl2V2l0aG91dFJvbGVDb250YWluZXInKTsKLSAgICAgICAgc2hvdWxkQmUoImFjY2Vz
c2libGVFbGVtZW50QnlJZCgnZGl2V2l0aG91dFJvbGVDb250YWluZXInKS5jaGlsZHJlbkNvdW50
IiwgIjEiKTsKLSAgICAgICAgZ290U3VjY2Vzc2Z1bE5vdGlmaWNhdGlvbigpOwotICAgIH0pOwot
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXZXaXRob3V0Um9sZScpLnNldEF0dHJpYnV0
ZSgncm9sZScsICdoZWFkaW5nJyk7Ci0KLSAgICBzaG91bGRCZVRydWUoImFjY2Vzc2libGVFbGVt
ZW50QnlJZCgnZGl2V2l0aG91dExhYmVsQ29udGFpbmVyJykgIT0gbnVsbCIpOwotICAgIHNob3Vs
ZEJlRmFsc2UoImFjY2Vzc2libGVFbGVtZW50QnlJZCgnZGl2V2l0aG91dExhYmVsJykgIT0gbnVs
bCIpOwotICAgIGFjY2Vzc2libGVFbGVtZW50QnlJZCgnZGl2V2l0aG91dExhYmVsQ29udGFpbmVy
JykuYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoZnVuY3Rpb24obm90aWZpY2F0aW9uKSB7Ci0gICAg
ICAgIGRlYnVnKCdHb3QgJyArIG5vdGlmaWNhdGlvbiArICcgbm90aWZpY2F0aW9uIG9uIGRpdldp
dGhvdXRMYWJlbENvbnRhaW5lcicpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJsZUVsZW1l
bnRCeUlkKCdkaXZXaXRob3V0TGFiZWxDb250YWluZXInKS5jaGlsZHJlbkNvdW50IiwgIjEiKTsK
LSAgICAgICAgZ290U3VjY2Vzc2Z1bE5vdGlmaWNhdGlvbigpOwotICAgIH0pOwotICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdkaXZXaXRob3V0TGFiZWwnKS5zZXRBdHRyaWJ1dGUoJ2FyaWEt
bGFiZWwnLCAnTGFiZWwnKTsKLQotICAgIGRlYnVnKCcnKTsKLX0KLQotPC9zY3JpcHQ+Ci0KLTxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9vdGhlci1hcmlhLWF0dHJpYnV0ZS1jaGFuZ2Utc2Vu
ZHMtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvb3RoZXItYXJpYS1hdHRyaWJ1dGUtY2hhbmdlLXNlbmRzLW5vdGlm
aWNhdGlvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlNzA3
ZTZkNDc2NWMyMzJiZGU2NmU1MGVjMTg3YTc5ZmVhOWVkZWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9vdGhlci1hcmlhLWF0dHJpYnV0ZS1jaGFuZ2Utc2VuZHMtbm90aWZpY2F0
aW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLVRoaXMgdGVz
dCBlbnN1cmVzIHRoYXQgYSBjaGFuZ2UgdG8gYW55IEFSSUEgYXR0cmlidXRlLCBub3QganVzdCBh
IHN0YXRlLCBzZW5kcyBhIG5vdGlmaWNhdGlvbi4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgotCi0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci1Hb3QgQXJpYUF0dHJpYnV0ZUNoYW5nZWQgbm90aWZpY2F0aW9uIG9uIGFyaWEtYnVzeQotR290
IEFyaWFBdHRyaWJ1dGVDaGFuZ2VkIG5vdGlmaWNhdGlvbiBvbiBhcmlhLWRpc2FibGVkCi1Hb3Qg
QXJpYUF0dHJpYnV0ZUNoYW5nZWQgbm90aWZpY2F0aW9uIG9uIGFyaWEtcmVhZG9ubHkKLUdvdCBB
cmlhQXR0cmlidXRlQ2hhbmdlZCBub3RpZmljYXRpb24gb24gYXJpYS1yZXF1aXJlZAotQWxsIG5v
dGlmaWNhdGlvbnMgcmVjZWl2ZWQgc3VjY2Vzc2Z1bGx5LgotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L290aGVyLWFyaWEtYXR0cmlidXRl
LWNoYW5nZS1zZW5kcy1ub3RpZmljYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvb3RoZXItYXJpYS1hdHRyaWJ1dGUtY2hhbmdlLXNlbmRzLW5v
dGlmaWNhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMWI4MDE3ZWY1
MGU1MmQ2ZGZlYjY3NGE1Zjk3YmY4MDZmYzdlNjA2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvb3RoZXItYXJpYS1hdHRyaWJ1dGUtY2hhbmdlLXNlbmRzLW5vdGlmaWNhdGlvbi5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotCi08ZGl2IGlkPSJjb250YWlu
ZXIiPgotICA8YnV0dG9uIGlkPSJhcmlhLWJ1c3kiIGFyaWEtYnVzeT0iZmFsc2UiPkJ1c3k8L2J1
dHRvbj4KLSAgPGJ1dHRvbiBpZD0iYXJpYS1kaXNhYmxlZCIgYXJpYS1kaXNhYmxlZD0iZmFsc2Ui
PkRpc2FibGVkPC9idXR0b24+Ci0gIDxidXR0b24gaWQ9ImFyaWEtcmVhZG9ubHkiIGFyaWEtcmVh
ZG9ubHk9ImZhbHNlIj5SZWFkb25seTwvYnV0dG9uPgotICA8YnV0dG9uIGlkPSJhcmlhLXJlcXVp
cmVkIiBhcmlhLXJlcXVpcmVkPSJmYWxzZSI+UmVxdWlyZWQ8L2J1dHRvbj4KLTwvZGl2PgotCi08
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IGVuc3VyZXMgdGhhdCBhIGNoYW5nZSB0byBhbnkgQVJJQSBhdHRyaWJ1dGUsIG5vdCBqdXN0IGEg
c3RhdGUsIHNlbmRzIGEgbm90aWZpY2F0aW9uLiIpOwotCi1pZiAod2luZG93LnRlc3RSdW5uZXIg
JiYgd2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0KLSAgICBmdW5jdGlv
biBhY2Nlc3NpYmxlRWxlbWVudEJ5SWQoaWQpIHsKLSAgICAgICAgcmV0dXJuIGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZChpZCk7Ci0gICAgfQotCi0gICAgd2lu
ZG93LnN1Y2Nlc3NDb3VudCA9IDA7Ci0gICAgZnVuY3Rpb24gZ290U3VjY2Vzc2Z1bE5vdGlmaWNh
dGlvbigpIHsKLSAgICAgICAgc3VjY2Vzc0NvdW50Kys7Ci0gICAgICAgIGlmIChzdWNjZXNzQ291
bnQgIT0gNCkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBkZWJ1ZygnQWxsIG5vdGlm
aWNhdGlvbnMgcmVjZWl2ZWQgc3VjY2Vzc2Z1bGx5LicpOwotICAgICAgICBhY2Nlc3NpYmxlRWxl
bWVudEJ5SWQoJ2FyaWEtYnVzeScpLnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCk7Ci0gICAg
ICAgIGFjY2Vzc2libGVFbGVtZW50QnlJZCgnYXJpYS1kaXNhYmxlZCcpLnJlbW92ZU5vdGlmaWNh
dGlvbkxpc3RlbmVyKCk7Ci0gICAgICAgIGFjY2Vzc2libGVFbGVtZW50QnlJZCgnYXJpYS1yZWFk
b25seScpLnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCk7Ci0gICAgICAgIGFjY2Vzc2libGVF
bGVtZW50QnlJZCgnYXJpYS1yZXF1aXJlZCcpLnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCk7
Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpLmhpZGRlbiA9
IHRydWU7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0KLQotICAgIGFjY2Vzc2libGVFbGVtZW50QnlJZCgn
YXJpYS1idXN5JykuYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoZnVuY3Rpb24obm90aWZpY2F0aW9u
KSB7Ci0gICAgICAgIGRlYnVnKCdHb3QgJyArIG5vdGlmaWNhdGlvbiArICcgbm90aWZpY2F0aW9u
IG9uIGFyaWEtYnVzeScpOwotICAgICAgICBnb3RTdWNjZXNzZnVsTm90aWZpY2F0aW9uKCk7Ci0g
ICAgfSk7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FyaWEtYnVzeScpLnNldEF0dHJp
YnV0ZSgnYXJpYS1idXN5JywgJ3RydWUnKTsKLQotICAgIGFjY2Vzc2libGVFbGVtZW50QnlJZCgn
YXJpYS1kaXNhYmxlZCcpLmFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKGZ1bmN0aW9uKG5vdGlmaWNh
dGlvbikgewotICAgICAgICBkZWJ1ZygnR290ICcgKyBub3RpZmljYXRpb24gKyAnIG5vdGlmaWNh
dGlvbiBvbiBhcmlhLWRpc2FibGVkJyk7Ci0gICAgICAgIGdvdFN1Y2Nlc3NmdWxOb3RpZmljYXRp
b24oKTsKLSAgICB9KTsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXJpYS1kaXNhYmxl
ZCcpLnNldEF0dHJpYnV0ZSgnYXJpYS1kaXNhYmxlZCcsICd0cnVlJyk7Ci0KLSAgICBhY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoJ2FyaWEtcmVhZG9ubHknKS5hZGROb3RpZmljYXRpb25MaXN0ZW5lcihm
dW5jdGlvbihub3RpZmljYXRpb24pIHsKLSAgICAgICAgZGVidWcoJ0dvdCAnICsgbm90aWZpY2F0
aW9uICsgJyBub3RpZmljYXRpb24gb24gYXJpYS1yZWFkb25seScpOwotICAgICAgICBnb3RTdWNj
ZXNzZnVsTm90aWZpY2F0aW9uKCk7Ci0gICAgfSk7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2FyaWEtcmVhZG9ubHknKS5zZXRBdHRyaWJ1dGUoJ2FyaWEtcmVhZG9ubHknLCAndHJ1ZScp
OwotCi0gICAgYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdhcmlhLXJlcXVpcmVkJykuYWRkTm90aWZp
Y2F0aW9uTGlzdGVuZXIoZnVuY3Rpb24obm90aWZpY2F0aW9uKSB7Ci0gICAgICAgIGRlYnVnKCdH
b3QgJyArIG5vdGlmaWNhdGlvbiArICcgbm90aWZpY2F0aW9uIG9uIGFyaWEtcmVxdWlyZWQnKTsK
LSAgICAgICAgZ290U3VjY2Vzc2Z1bE5vdGlmaWNhdGlvbigpOwotICAgIH0pOwotICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdhcmlhLXJlcXVpcmVkJykuc2V0QXR0cmlidXRlKCdhcmlhLXJl
cXVpcmVkJywgJ3RydWUnKTsKLQotICAgIGRlYnVnKCcnKTsKLX0KLQotPC9zY3JpcHQ+Ci0KLTxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS90ZXh0LWNoYW5nZS1ub3RpZmljYXRpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS90ZXh0
LWNoYW5nZS1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBiYmJhOTcxZDUyZjIxY2E0ZTc1Y2VkNGY5NjUwZTgwNzQyMzVlMDk5Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvdGV4dC1jaGFuZ2Utbm90aWZpY2F0aW9uLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLVRoaXMgdGVzdCBlbnN1cmVz
IHRoYXQgYSBjaGFuZ2UgdG8gYW4gZWxlbWVudCdzIGFjY2Vzc2libGUgdGV4dCwgZXZlbiBpZiBp
bmRpcmVjdCwgc2VuZHMgYSBub3RpZmljYXRpb24uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KLQotCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotR290IFRleHRDaGFuZ2VkIG5vdGlmaWNhdGlvbiBvbiBhcmlhLWxhYmVsCi1Hb3QgVGV4dENo
YW5nZWQgbm90aWZpY2F0aW9uIG9uIHRpdGxlCi1Hb3QgVGV4dENoYW5nZWQgbm90aWZpY2F0aW9u
IG9uIGxhYmVsbGVkYnkKLUdvdCBUZXh0Q2hhbmdlZCBub3RpZmljYXRpb24gb24gbGFiZWxlZAot
QWxsIG5vdGlmaWNhdGlvbnMgcmVjZWl2ZWQgc3VjY2Vzc2Z1bGx5LgotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3RleHQtY2hhbmdlLW5v
dGlmaWNhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS90ZXh0LWNoYW5nZS1ub3RpZmljYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNmQ1ZGIwYTU1OTBiYjJkODBmNjc4ZTM5OGYxNmMyZmFhYTc3M2Y5OC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3RleHQtY2hhbmdlLW5vdGlmaWNhdGlvbi5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotCi08ZGl2IGlkPSJjb250YWluZXIi
PgotICA8YnV0dG9uIGlkPSJhcmlhLWxhYmVsIiBhcmlhLWxhYmVsPSJBcmlhIExhYmVsIj5Db250
ZW50PC9idXR0b24+Ci0gIDxidXR0b24gaWQ9InRpdGxlIiB0aXRsZT0iVGl0bGUiPkNvbnRlbnQ8
L2J1dHRvbj4KLSAgPGJ1dHRvbiBpZD0ibGFiZWxsZWRieSIgYXJpYS1sYWJlbGxlZGJ5PSJsYWJl
bDEiPkNvbnRlbnQ8L2J1dHRvbj4KLSAgPGJ1dHRvbiBpZD0ibGFiZWxlZCI+Q29udGVudDwvYnV0
dG9uPgotCi0gIDxsYWJlbCBpZD0ibGFiZWwxIj5MYWJlbDE8L2xhYmVsPgotICA8bGFiZWwgaWQ9
ImxhYmVsMiI+TGFiZWwyPC9sYWJlbD4KLTwvZGl2PgotCi08ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBhIGNoYW5n
ZSB0byBhbiBlbGVtZW50J3MgYWNjZXNzaWJsZSB0ZXh0LCBldmVuIGlmIGluZGlyZWN0LCBzZW5k
cyBhIG5vdGlmaWNhdGlvbi4iKTsKLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5h
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwot
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi0gICAgZnVuY3Rpb24gYWNjZXNzaWJs
ZUVsZW1lbnRCeUlkKGlkKSB7Ci0gICAgICAgIHJldHVybiBhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoaWQpOwotICAgIH0KLQotICAgIHdpbmRvdy5zdWNjZXNz
Q291bnQgPSAwOwotICAgIGZ1bmN0aW9uIGdvdFN1Y2Nlc3NmdWxOb3RpZmljYXRpb24oKSB7Ci0g
ICAgICAgIHN1Y2Nlc3NDb3VudCsrOwotICAgICAgICBpZiAoc3VjY2Vzc0NvdW50ICE9IDQpCi0g
ICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgZGVidWcoJ0FsbCBub3RpZmljYXRpb25zIHJl
Y2VpdmVkIHN1Y2Nlc3NmdWxseS4nKTsKLSAgICAgICAgYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdh
cmlhLWxhYmVsJykucmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKTsKLSAgICAgICAgYWNjZXNz
aWJsZUVsZW1lbnRCeUlkKCd0aXRsZScpLnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCk7Ci0g
ICAgICAgIGFjY2Vzc2libGVFbGVtZW50QnlJZCgnbGFiZWxsZWRieScpLnJlbW92ZU5vdGlmaWNh
dGlvbkxpc3RlbmVyKCk7Ci0gICAgICAgIGFjY2Vzc2libGVFbGVtZW50QnlJZCgnbGFiZWxlZCcp
LnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCk7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2NvbnRhaW5lcicpLmhpZGRlbiA9IHRydWU7Ci0gICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0K
LQotICAgIGFjY2Vzc2libGVFbGVtZW50QnlJZCgnYXJpYS1sYWJlbCcpLmFkZE5vdGlmaWNhdGlv
bkxpc3RlbmVyKGZ1bmN0aW9uKG5vdGlmaWNhdGlvbikgewotICAgICAgICBkZWJ1ZygnR290ICcg
KyBub3RpZmljYXRpb24gKyAnIG5vdGlmaWNhdGlvbiBvbiBhcmlhLWxhYmVsJyk7Ci0gICAgICAg
IGdvdFN1Y2Nlc3NmdWxOb3RpZmljYXRpb24oKTsKLSAgICB9KTsKLSAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnYXJpYS1sYWJlbCcpLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsICdOZXcg
YXJpYS1sYWJlbCcpOwotCi0gICAgYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCd0aXRsZScpLmFkZE5v
dGlmaWNhdGlvbkxpc3RlbmVyKGZ1bmN0aW9uKG5vdGlmaWNhdGlvbikgewotICAgICAgICBkZWJ1
ZygnR290ICcgKyBub3RpZmljYXRpb24gKyAnIG5vdGlmaWNhdGlvbiBvbiB0aXRsZScpOwotICAg
ICAgICBnb3RTdWNjZXNzZnVsTm90aWZpY2F0aW9uKCk7Ci0gICAgfSk7Ci0gICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3RpdGxlJykudGl0bGUgPSAnTmV3IHRpdGxlJzsKLQotICAgIGFjY2Vz
c2libGVFbGVtZW50QnlJZCgnbGFiZWxsZWRieScpLmFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKGZ1
bmN0aW9uKG5vdGlmaWNhdGlvbikgewotICAgICAgICBkZWJ1ZygnR290ICcgKyBub3RpZmljYXRp
b24gKyAnIG5vdGlmaWNhdGlvbiBvbiBsYWJlbGxlZGJ5Jyk7Ci0gICAgICAgIGdvdFN1Y2Nlc3Nm
dWxOb3RpZmljYXRpb24oKTsKLSAgICB9KTsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
bGFiZWxsZWRieScpLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5JywgJ2xhYmVsMicpOwot
Ci0gICAgYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdsYWJlbGVkJykuYWRkTm90aWZpY2F0aW9uTGlz
dGVuZXIoZnVuY3Rpb24obm90aWZpY2F0aW9uKSB7Ci0gICAgICAgIGRlYnVnKCdHb3QgJyArIG5v
dGlmaWNhdGlvbiArICcgbm90aWZpY2F0aW9uIG9uIGxhYmVsZWQnKTsKLSAgICAgICAgZ290U3Vj
Y2Vzc2Z1bE5vdGlmaWNhdGlvbigpOwotICAgIH0pOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdsYWJlbDEnKS5zZXRBdHRyaWJ1dGUoJ2ZvcicsICdsYWJlbGVkJyk7Ci0KLSAgICBkZWJ1
ZygnJyk7Ci19Ci0KLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>