<?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>70305</bug_id>
          
          <creation_ts>2011-10-17 22:44:56 -0700</creation_ts>
          <short_desc>REGRESSION(r97669): Broke accessibility tests on Windows (Requested by rniwa on #webkit).</short_desc>
          <delta_ts>2011-10-17 22:50:03 -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>70241</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>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>485815</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 22:44:56 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/97669 broke the build:
Broke accessibility tests on Windows (Requested by rniwa 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>485816</commentid>
    <comment_count>1</comment_count>
      <attachid>111385</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 22:45:24 -0700</bug_when>
    <thetext>Created attachment 111385
ROLLOUT of r97669

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>485817</commentid>
    <comment_count>2</comment_count>
      <attachid>111385</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 22:49:52 -0700</bug_when>
    <thetext>Comment on attachment 111385
ROLLOUT of r97669

Clearing flags on attachment: 111385

Committed r97721: &lt;http://trac.webkit.org/changeset/97721&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485818</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 22:50:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111385</attachid>
            <date>2011-10-17 22:45:24 -0700</date>
            <delta_ts>2011-10-17 22:49:51 -0700</delta_ts>
            <desc>ROLLOUT of r97669</desc>
            <filename>bug-70305-20111018054247.patch</filename>
            <type>text/plain</type>
            <size>41646</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc3MjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2MmZlZWQ0ZjhiNjA1NzJi
OTlmZDBkZTdlZTBiYzI2YTVmZThlNWNlLi5mN2IxNjI4NWU2OTBjZTc5NDMzZWQ5NDIwNmI3ZjBm
OGU4MzI4YTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTEtMTAtMTcgIFNoZXJp
ZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHI5NzY2OS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9j
aGFuZ2VzZXQvOTc2NjkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcwMzA1CisKKyAgICAgICAgQnJva2UgYWNjZXNzaWJpbGl0eSB0ZXN0cyBvbiBXaW5k
b3dzIChSZXF1ZXN0ZWQgYnkgcm5pd2Egb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRlKToKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNb2NrT2JqZWN0Lmg6CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmVsZW1lbnRBY2Nlc3NpYmlsaXR5SGl0VGVzdCk6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmJvdW5kaW5nQm94UmVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpjbGVhckNoaWxkcmVuKToKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnVwZGF0ZUNoaWxkcmVu
SWZOZWNlc3NhcnkpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dDo6YWRkQ2hpbGRyZW4pOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5C
dXR0b24uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVNwaW5CdXR0b24uaDogUmVtb3ZlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUFjdGlvbk5hbWVzXSk6CisgICAgICAgICgtW1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10p
OgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBzdWJyb2xlXSk6Cisg
ICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRy
aWJ1dGVWYWx1ZTpdKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxl
bWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVsZW1lbnQ6OnJlcGVhdGlu
Z1RpbWVyRmlyZWQpOgorICAgICAgICAqIGh0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVt
ZW50cy5oOgorCiAyMDExLTEwLTE3ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZW1vdmUgT3B0aW9uR3JvdXBFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IDI0M2VmOTliNDQ3MmFhNDQ3ZjU0MWM4MDJlY2U2OTk0YzFhNjZhZTcuLjVmYWFlMGQ2YTFk
MDVkMDM0Zjk5NGUxY2NlYmM3YzkyNTIxZjAzZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00
MTAsNyArNDEwLDYgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGFjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKICAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlTY3JvbGxiYXIuY3BwCiAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2Nyb2xsVmll
dy5jcHAKLSAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmNwcAogICAg
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNsaWRlci5jcHAKICAgICBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAKICAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlU
YWJsZUNlbGwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA2MDQ5YzhjN2Iz
ODc1Y2QyNzI3N2Q4NDFkNGI5ZGY0MTBhMjhmZTkzLi5mYTBkYWQ1YmEzMGM4NjA1MzRmM2JhNWMy
YjkzYTJkN2Y4NDFhZjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTYzNSw4
ICs2MzUsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCBcCiAJU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2xpZGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2xpZGVyLmggXAotCVNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5jcHAgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDdhZjFkZTEwMTc0ZTc2MmE5NmI3YmE3MTUzYWIzODcwMjM1YWQ2YzYuLjFkYTU1
MmFmNjlhODVlNDBiNzVlMmE1MzhjMGJhYzhjM2FjNDUyMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAg
LTE2OTIsOCArMTY5Miw2IEBACiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5U2Nyb2xsYmFyLmgnLAogICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVNsaWRlci5jcHAnLAogICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNs
aWRlci5oJywKLSAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0
dG9uLmNwcCcsCi0gICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvbi5oJywKICAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5j
cHAnLAogICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmgnLAog
ICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5jcHAnLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnBybwppbmRleCA3MDc4NjdkZTQzZGMxYWNhNmM0YzI4ZWQ0NjM4NjRhYTQ3YTdjMmU1
Li40ZmE1ODU1YTJjZGFhYjFlOWFiNjQ1MjQ1MWI4YWJjODBjZGRhZWRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBy
bwpAQCAtNDMsNyArNDMsNiBAQCBTT1VSQ0VTICs9IFwKICAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlTY3JvbGxiYXIuY3BwIFwKICAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlT
Y3JvbGxWaWV3LmNwcCBcCiAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2xpZGVyLmNw
cCBcICAgIAotICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwIFwg
ICAgCiAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWQuY3BwIFwgICAgCiAg
ICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmNwcCBcICAgIAogICAg
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmNwcCBcICAgIApAQCAtMTI2
Myw3ICsxMjYyLDYgQEAgSEVBREVSUyArPSBcCiAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5U2Nyb2xsYmFyLmggXAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNjcm9sbFZp
ZXcuaCBcCiAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2xpZGVyLmggXAotICAgIGFj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCBcCiAgICAgYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmggXAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVRhYmxlQ29sdW1uLmggXAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxl
LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRl
eCA2NGRhNjdhOWVmYjRlMGI5M2UzNWNkZWQ5NmEzNDM0MGRmZDJmOWVjLi40ZGM5ZTdlMTU5YThj
N2NmYjVjNWE2NTMwYTFkZWQwOWE1MDUxNzIxIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjUyMjEsMTMgKzI1MjIxLDYgQEAKIAkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGFjY2Vzc2liaWxpdHlcQWNjZXNzaWJpbGl0eVNsaWRlci5oIgogCQkJCT4K
IAkJCTwvRmlsZT4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxGaWxlCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFJlbGF0aXZlUGF0aD0iLi5cYWNjZXNzaWJpbGl0eVxBY2Nlc3Np
YmlsaXR5U3BpbkJ1dHRvbi5jcHAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4K
LSAgICAgICAgICAgICAgICAgICAgICAgIDwvRmlsZT4KLSAgICAgICAgICAgICAgICAgICAgICAg
IDxGaWxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGF0aXZlUGF0aD0iLi5c
YWNjZXNzaWJpbGl0eVxBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oIgotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA+CiAJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cYWNjZXNz
aWJpbGl0eVxBY2Nlc3NpYmlsaXR5VGFibGUuY3BwIgogCQkJCT4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkZDAwNTY5OGVhY2E0
MjQxZDlmOWJjMzNkODE0ZjA4YzViMmI0ODkyLi4xOTYxNGVjNzAzZmFhODJiMjYzOWU1MTA2MzEz
NDAzOWM4MjA5NzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC02NzEsOCArNjcxLDYgQEAKIAkJMjlBODEyNEIwRkJCOUNBOTAw
NTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTI0NzBGQkI5Q0E5MDA1MTAyOTMgLyogQVhPYmplY3RD
YWNoZU1hYy5tbSAqLzsgfTsKIAkJMjlBQ0IyMTIxNDNFNzEyODAwNkJDQTVGIC8qIEFjY2Vzc2li
aWxpdHlNb2NrT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyOUFDQjIxMTE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmpl
Y3QuaCAqLzsgfTsKIAkJMjlBQ0IyMTQxNDNFNzQ5ODAwNkJDQTVGIC8qIEFjY2Vzc2liaWxpdHlN
b2NrT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDI5QUNCMjEzMTQzRTc0OTgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5j
cHAgKi87IH07Ci0JCTI5RDdCQ0Y2MTQ0NEFGNTgwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3Bp
bkJ1dHRvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOUQ3QkNGNTE0NDRBRjU4MDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3Bw
ICovOyB9OwotCQkyOUQ3QkNGQTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5C
dXR0b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5
RDdCQ0Y5MTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovOyB9
OwogCQkyQkU4RTJDNzEyQTU4OUVDMDBGQUQ1NTAgLyogSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQkU4RTJDNjEy
QTU4OUVDMDBGQUQ1NTAgLyogSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmggKi87IH07CiAJCTJCRThF
MkM5MTJBNThBMDEwMEZBRDU1MCAvKiBIVE1MTWV0YUNoYXJzZXRQYXJzZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkJFOEUyQzgxMkE1OEEwMTAw
RkFENTUwIC8qIEhUTUxNZXRhQ2hhcnNldFBhcnNlci5jcHAgKi87IH07CiAJCTJEM0EwRTM2MTNB
N0Q3NjEwMEU4NUFGMCAvKiBTVkdQYXJzaW5nRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEM0EwRTM1MTNBN0Q3NjEwMEU4NUFGMCAvKiBTVkdQ
YXJzaW5nRXJyb3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtNzc1Myw4ICs3NzUxLDYgQEAKIAkJMjlBODEyNDcwRkJCOUNBOTAwNTEwMjkzIC8q
IEFYT2JqZWN0Q2FjaGVNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBBWE9iamVjdENhY2hlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
OUFDQjIxMTE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlBQ0IyMTMxNDNFNzQ5ODAwNkJDQTVGIC8q
IEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJMjlEN0JDRjUxNDQ0QUY1ODAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEFjY2Vzc2li
aWxpdHlTcGluQnV0dG9uLmNwcDsgcGF0aCA9IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNw
aW5CdXR0b24uY3BwOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07Ci0JCTI5RDdCQ0Y5MTQ0
NEFGN0QwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyQkU4RTJDNjEyQTU4OUVDMDBGQUQ1NTAgLyogSFRNTE1ldGFD
aGFyc2V0UGFyc2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEhUTUxNZXRh
Q2hhcnNldFBhcnNlci5oOyBwYXRoID0gcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyQkU4RTJDODEyQTU4QTAxMDBGQUQ1NTAgLyog
SFRNTE1ldGFDaGFyc2V0UGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEhUTUxNZXRhQ2hhcnNldFBhcnNlci5jcHA7IHBhdGggPSBwYXJzZXIvSFRNTE1ldGFD
aGFyc2V0UGFyc2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQzQTBFMzUx
M0E3RDc2MTAwRTg1QUYwIC8qIFNWR1BhcnNpbmdFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTVkdQYXJzaW5nRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTE0NTY4LDggKzE0NTY0LDYgQEAKIAkJCQkyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYg
LyogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCAqLywKIAkJCQkyOTgxQ0FBOTEzMTgyMkVDMDBE
MTJGMkEgLyogQWNjZXNzaWJpbGl0eVNsaWRlci5jcHAgKi8sCiAJCQkJMDcwOUZDNEQxMDI1REVF
MzAwNTlDREJBIC8qIEFjY2Vzc2liaWxpdHlTbGlkZXIuaCAqLywKLQkJCQkyOUQ3QkNGNTE0NDRB
RjU4MDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwICovLAotCQkJCTI5RDdC
Q0Y5MTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovLAogCQkJ
CTI5ODFDQUFBMTMxODIyRUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5VGFibGUuY3BwICovLAog
CQkJCTI5QTgxMjBEMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5VGFibGUuaCAqLywK
IAkJCQkyOTgxQ0FBQjEzMTgyMkVDMDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5j
cHAgKi8sCkBAIC0yNDYxNSw3ICsyNDYwOSw2IEBACiAJCQkJMzEwNjAzNzkxNDMyODFDRDAwQUJG
NEJBIC8qIERPTVdlYktpdENTU0ZpbHRlclZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTA2
MDM3QjE0MzI4MUNEMDBBQkY0QkEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyVmFsdWVJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMjlBQ0IyMTIxNDNFNzEyODAwNkJDQTVGIC8qIEFjY2Vzc2li
aWxpdHlNb2NrT2JqZWN0LmggaW4gSGVhZGVycyAqLywKLQkJCQkyOUQ3QkNGQTE0NDRBRjdEMDA3
MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTlC
Mzc1RURCMTQ0NzhBMDEwMEYzQ0FFNSAvKiBNaWNyb0RhdGFJdGVtTGlzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDlBRjJENjkxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRv
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzFDQ0I0OUQxNDQ4MjRBQzAwQzY3NkQ2IC8qIEltYWdl
QnlTaXplQ2FjaGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjc0NjYsNyArMjc0NTksNiBAQAogCQkJ
CTMxMDYwMzc0MTQzMjgxOUMwMEFCRjRCQSAvKiBKU1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTMxMDYwMzdBMTQzMjgxQ0QwMEFCRjRCQSAvKiBET01XZWJLaXRD
U1NGaWx0ZXJWYWx1ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTI5QUNCMjE0MTQzRTc0OTgwMDZC
Q0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQky
OUQ3QkNGNjE0NDRBRjU4MDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMEYwOTA4N0YxNDQ0RkRCMjAwMDI4OTE3IC8qIFNjcm9sbGJhclRo
ZW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTlCMzc1RURBMTQ0NzhBMDEwMEYzQ0FFNSAvKiBN
aWNyb0RhdGFJdGVtTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUFGMkQ2QzE0NDM1RDIx
MDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcCBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXgg
YzI0YmQzYmZkOWE2MzdmOWE1MTQ0OGY0NjU3MDg5MTFlZmY1NjJlNy4uMWM5YjQ2YTVhNTk5NGI2
Y2QyZWIxNjJiZGFiNzAyODBjODAyYTliYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC00NSw3ICs0NSw2IEBACiAjaW5jbHVkZSAiQWNj
ZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5U2Nyb2xsYmFy
LmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVNsaWRlci5oIgotI2luY2x1ZGUgIkFjY2Vzc2li
aWxpdHlTcGluQnV0dG9uLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVRhYmxlLmgiCiAjaW5j
bHVkZSAiQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlU
YWJsZUNvbHVtbi5oIgpAQCAtMzI1LDEyICszMjQsNiBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBB
WE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZShBY2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogICAgIGNh
c2UgTWVudUxpc3RPcHRpb25Sb2xlOgogICAgICAgICBvYmogPSBBY2Nlc3NpYmlsaXR5TWVudUxp
c3RPcHRpb246OmNyZWF0ZSgpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFNwaW5CdXR0b25S
b2xlOgotICAgICAgICBvYmogPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbjo6Y3JlYXRlKCk7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgU3BpbkJ1dHRvblBhcnRSb2xlOgotICAgICAgICBvYmog
PSBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvblBhcnQ6OmNyZWF0ZSgpOwotICAgICAgICBicmVhazsK
ICAgICBkZWZhdWx0OgogICAgICAgICBvYmogPSAwOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuaAppbmRleCBm
ODRmOTY1MGY3YmYxMjY1Y2RkYzgyODQ2NmEzNWJlOTY5NDJmNWFhLi4zM2YxM2JjN2UwZmZlOWIz
MmFjNTVmYWYwYWJjYjk0MzJiMDdhOGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5oCkBAIC0zOSwxNSArMzksMTIg
QEAgcHVibGljOgogICAgIAogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eU9iamVjdCogcGFyZW50
T2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9wYXJlbnQ7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0
UGFyZW50KEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudCkgeyBtX3BhcmVudCA9IHBhcmVudDsg
fTsKLQotcHJvdGVjdGVkOgotICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG1fcGFyZW50OwotCi1w
cml2YXRlOgotICAgIHZpcnR1YWwgYm9vbCBpc01vY2tPYmplY3QoKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9Ci0KKyAgICAKICAgICAvLyBNdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBwYXJlbnQgb2Jq
ZWN0IGNsZWFycyBpdHMgY2hpbGRyZW4uCiAgICAgdmlydHVhbCB2b2lkIGRldGFjaEZyb21QYXJl
bnQoKSB7IG1fcGFyZW50ID0gMDsgfQorICAgIAorcHJvdGVjdGVkOgorICAgIEFjY2Vzc2liaWxp
dHlPYmplY3QqIG1fcGFyZW50OwogfTsgCiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHAKaW5kZXggZTc4ZTlkYzc5Y2FjNWIzZTBjNTkxZjI3NzAyYTIwYWRjYWUzMGI1NS4uOTAw
YWY0YTZlM2U3NjhkNWNmZTRhNDEwNzViMjA2YWEwYjUwY2VmZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC00MDgs
MjQgKzQwOCw2IEBAIExheW91dFBvaW50IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmNsaWNrUG9pbnQo
KQogICAgIHJldHVybiBMYXlvdXRQb2ludChyZWN0LngoKSArIHJlY3Qud2lkdGgoKSAvIDIsIHJl
Y3QueSgpICsgcmVjdC5oZWlnaHQoKSAvIDIpOwogfQogCi1MYXlvdXRSZWN0IEFjY2Vzc2liaWxp
dHlPYmplY3Q6OmJvdW5kaW5nQm94Rm9yUXVhZHMoUmVuZGVyT2JqZWN0KiBvYmosIGNvbnN0IFZl
Y3RvcjxGbG9hdFF1YWQ+JiBxdWFkcykKLXsKLSAgICBzaXplX3QgY291bnQgPSBxdWFkcy5zaXpl
KCk7Ci0gICAgaWYgKCFjb3VudCkKLSAgICAgICAgcmV0dXJuIExheW91dFJlY3QoKTsKLSAgICAK
LSAgICBMYXlvdXRSZWN0IHJlc3VsdDsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50
OyArK2kpIHsKLSAgICAgICAgTGF5b3V0UmVjdCByID0gcXVhZHNbaV0uZW5jbG9zaW5nQm91bmRp
bmdCb3goKTsKLSAgICAgICAgaWYgKCFyLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgaWYgKG9i
ai0+c3R5bGUoKS0+aGFzQXBwZWFyYW5jZSgpKQotICAgICAgICAgICAgICAgIG9iai0+dGhlbWUo
KS0+YWRqdXN0UmVwYWludFJlY3Qob2JqLCByKTsKLSAgICAgICAgICAgIHJlc3VsdC51bml0ZShy
KTsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotICAgIAogYm9vbCBB
Y2Nlc3NpYmlsaXR5T2JqZWN0OjpwcmVzcygpIGNvbnN0CiB7CiAgICAgRWxlbWVudCogYWN0aW9u
RWxlbSA9IGFjdGlvbkVsZW1lbnQoKTsKQEAgLTEzNDMsMTMgKzEzMjUsNiBAQCBBY2Nlc3NpYmls
aXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5T2JqZWN0OjplbGVtZW50QWNjZXNzaWJpbGl0eUhpdFRl
c3QoY29uc3QgTGF5bwogICAgICAgICBpZiAod2lkZ2V0ICYmIHdpZGdldC0+aXNGcmFtZVZpZXco
KSkKICAgICAgICAgICAgIHJldHVybiBheE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKHdpZGdl
dCktPmFjY2Vzc2liaWxpdHlIaXRUZXN0KHRvUG9pbnQocG9pbnQgLSB3aWRnZXQtPmZyYW1lUmVj
dCgpLmxvY2F0aW9uKCkpKTsKICAgICB9Ci0gICAgCi0gICAgLy8gQ2hlY2sgaWYgdGhlcmUgYXJl
IGFueSBtb2NrIGVsZW1lbnRzIHRoYXQgbmVlZCB0byBiZSBoYW5kbGVkLgotICAgIHNpemVfdCBj
b3VudCA9IG1fY2hpbGRyZW4uc2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGsgPSAwOyBrIDwgY291
bnQ7IGsrKykgewotICAgICAgICBpZiAobV9jaGlsZHJlbltrXS0+aXNNb2NrT2JqZWN0KCkgJiYg
bV9jaGlsZHJlbltrXS0+ZWxlbWVudFJlY3QoKS5jb250YWlucyhwb2ludCkpCi0gICAgICAgICAg
ICByZXR1cm4gbV9jaGlsZHJlbltrXS0+ZWxlbWVudEFjY2Vzc2liaWxpdHlIaXRUZXN0KHBvaW50
KTsKLSAgICB9CiAKICAgICByZXR1cm4gY29uc3RfY2FzdDxBY2Nlc3NpYmlsaXR5T2JqZWN0Kj4o
dGhpcyk7IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuaAppbmRleCBjOTQ1YzNmZWNiMDEzY2ZjYWY2MmE3NjdhZDA1Mjg3ZDFjZDE3
ODZkLi5lY2NjZmZiYWM2Yjg2ZDg1MjJmMmFkNjVjNmY2MTg0OWZiNzY4MTI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAt
MzAsNyArMzAsNiBAQAogI2lmbmRlZiBBY2Nlc3NpYmlsaXR5T2JqZWN0X2gKICNkZWZpbmUgQWNj
ZXNzaWJpbGl0eU9iamVjdF9oCiAKLSNpbmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlICJM
YXlvdXRUeXBlcy5oIgogI2luY2x1ZGUgIlZpc2libGVQb3NpdGlvbi5oIgogI2luY2x1ZGUgIlZp
c2libGVTZWxlY3Rpb24uaCIKQEAgLTE3OSw4ICsxNzgsNiBAQCBlbnVtIEFjY2Vzc2liaWxpdHlS
b2xlIHsKICAgICBTaGVldFJvbGUsCiAgICAgU2xpZGVyUm9sZSwKICAgICBTbGlkZXJUaHVtYlJv
bGUsCi0gICAgU3BpbkJ1dHRvblJvbGUsCi0gICAgU3BpbkJ1dHRvblBhcnRSb2xlLAogICAgIFNw
bGl0R3JvdXBSb2xlLAogICAgIFNwbGl0dGVyUm9sZSwKICAgICBTdGF0aWNUZXh0Um9sZSwKQEAg
LTM3Miw5ICszNjksNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzTWVudUxpc3QoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc01lbnVMaXN0UG9wdXAo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc01lbnVMaXN0T3B0
aW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNTcGluQnV0
dG9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNTcGluQnV0
dG9uUGFydCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzTW9j
a09iamVjdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBpc1RleHRDb250cm9s
KCkgY29uc3QgeyByZXR1cm4gcm9sZVZhbHVlKCkgPT0gVGV4dEFyZWFSb2xlIHx8IHJvbGVWYWx1
ZSgpID09IFRleHRGaWVsZFJvbGU7IH0KICAgICBib29sIGlzQVJJQVRleHRDb250cm9sKCkgY29u
c3Q7CiAgICAgYm9vbCBpc1RhYkxpc3QoKSBjb25zdCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBU
YWJMaXN0Um9sZTsgfQpAQCAtNTE0LDggKzUwOCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIExh
eW91dFJlY3QgZWxlbWVudFJlY3QoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBMYXlvdXRTaXpl
IHNpemUoKSBjb25zdCB7IHJldHVybiBlbGVtZW50UmVjdCgpLnNpemUoKTsgfQogICAgIHZpcnR1
YWwgTGF5b3V0UG9pbnQgY2xpY2tQb2ludCgpOwotICAgIHN0YXRpYyBMYXlvdXRSZWN0IGJvdW5k
aW5nQm94Rm9yUXVhZHMoUmVuZGVyT2JqZWN0KiwgY29uc3QgVmVjdG9yPEZsb2F0UXVhZD4mKTsK
LSAgICAKKwogICAgIHZpcnR1YWwgUGxhaW5UZXh0UmFuZ2Ugc2VsZWN0ZWRUZXh0UmFuZ2UoKSBj
b25zdCB7IHJldHVybiBQbGFpblRleHRSYW5nZSgpOyB9CiAgICAgdW5zaWduZWQgc2VsZWN0aW9u
U3RhcnQoKSBjb25zdCB7IHJldHVybiBzZWxlY3RlZFRleHRSYW5nZSgpLnN0YXJ0OyB9CiAgICAg
dW5zaWduZWQgc2VsZWN0aW9uRW5kKCkgY29uc3QgeyByZXR1cm4gc2VsZWN0ZWRUZXh0UmFuZ2Uo
KS5sZW5ndGg7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IGQ4OGRjN2M5YzQwNzVmMjM4YjIx
NDZhMmU2ZmM2NjUxODY3YTNhOTUuLjU2MDBhMjIyZmRkNDcwZDlmZjEwZWJlNDExNGQ0MjE5MjNh
ZTNlNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUg
IkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmgi
CiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIKLSNpbmNsdWRlICJBY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvbi5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGbG9h
dFJlY3QuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtNzAsMTQgKzY5LDEyIEBACiAjaW5jbHVk
ZSAiUmVuZGVyTWVudUxpc3QuaCIKICNpbmNsdWRlICJSZW5kZXJUZXh0LmgiCiAjaW5jbHVkZSAi
UmVuZGVyVGV4dENvbnRyb2wuaCIKLSNpbmNsdWRlICJSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxp
bmUuaCIKICNpbmNsdWRlICJSZW5kZXJUZXh0RnJhZ21lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJU
aGVtZS5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJSZW5kZXJXaWRnZXQu
aCIKICNpbmNsdWRlICJSZW5kZXJlZFBvc2l0aW9uLmgiCiAjaW5jbHVkZSAiVGV4dC5oIgotI2lu
Y2x1ZGUgIlRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIgogI2luY2x1ZGUgIlRleHRJdGVyYXRv
ci5oIgogI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCiAjaW5jbHVkZSAidmlzaWJsZV91bml0cy5o
IgpAQCAtMTQ0Myw4ICsxNDQwLDE5IEBAIExheW91dFJlY3QgQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdDo6Ym91bmRpbmdCb3hSZWN0KCkgY29uc3QKICAgICAgICAgb2JqLT5hYnNvbHV0ZVF1YWRz
KHF1YWRzKTsKICAgICBlbHNlCiAgICAgICAgIG9iai0+YWJzb2x1dGVGb2N1c1JpbmdRdWFkcyhx
dWFkcyk7Ci0gICAgCi0gICAgTGF5b3V0UmVjdCByZXN1bHQgPSBib3VuZGluZ0JveEZvclF1YWRz
KG9iaiwgcXVhZHMpOworICAgIGNvbnN0IHNpemVfdCBuID0gcXVhZHMuc2l6ZSgpOworICAgIGlm
ICghbikKKyAgICAgICAgcmV0dXJuIExheW91dFJlY3QoKTsKKworICAgIExheW91dFJlY3QgcmVz
dWx0OworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICAgIExheW91
dFJlY3QgciA9IHF1YWRzW2ldLmVuY2xvc2luZ0JvdW5kaW5nQm94KCk7CisgICAgICAgIGlmICgh
ci5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGlmIChvYmotPnN0eWxlKCktPmhhc0FwcGVhcmFu
Y2UoKSkKKyAgICAgICAgICAgICAgICBvYmotPnRoZW1lKCktPmFkanVzdFJlcGFpbnRSZWN0KG9i
aiwgcik7CisgICAgICAgICAgICByZXN1bHQudW5pdGUocik7CisgICAgICAgIH0KKyAgICB9CiAK
ICAgICAvLyBUaGUgc2l6ZSBvZiB0aGUgd2ViIGFyZWEgc2hvdWxkIGJlIHRoZSBjb250ZW50IHNp
emUsIG5vdCB0aGUgY2xpcHBlZCBzaXplLgogICAgIGlmIChpc1dlYkFyZWEoKSAmJiBvYmotPmZy
YW1lKCktPnZpZXcoKSkKQEAgLTM0NTcsMzEgKzM0NjUsNyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3Q6OmNsZWFyQ2hpbGRyZW4oKQogICAgIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmNs
ZWFyQ2hpbGRyZW4oKTsKICAgICBtX2NoaWxkcmVuRGlydHkgPSBmYWxzZTsKIH0KLQotdm9pZCBB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphZGRJbWFnZU1hcENoaWxkcmVuKCkKLXsKLSAgICBS
ZW5kZXJCb3hNb2RlbE9iamVjdCogY3NzQm94ID0gcmVuZGVyQm94TW9kZWxPYmplY3QoKTsKLSAg
ICBpZiAoIWNzc0JveCB8fCAhY3NzQm94LT5pc1JlbmRlckltYWdlKCkpCi0gICAgICAgIHJldHVy
bjsKICAgICAKLSAgICBIVE1MTWFwRWxlbWVudCogbWFwID0gdG9SZW5kZXJJbWFnZShjc3NCb3gp
LT5pbWFnZU1hcCgpOwotICAgIGlmICghbWFwKQotICAgICAgICByZXR1cm47Ci0KLSAgICBmb3Ig
KE5vZGUqIGN1cnJlbnQgPSBtYXAtPmZpcnN0Q2hpbGQoKTsgY3VycmVudDsgY3VycmVudCA9IGN1
cnJlbnQtPnRyYXZlcnNlTmV4dE5vZGUobWFwKSkgewotICAgICAgICAKLSAgICAgICAgLy8gYWRk
IGFuIDxhcmVhPiBlbGVtZW50IGZvciB0aGlzIGNoaWxkIGlmIGl0IGhhcyBhIGxpbmsKLSAgICAg
ICAgaWYgKGN1cnJlbnQtPmhhc1RhZ05hbWUoYXJlYVRhZykgJiYgY3VycmVudC0+aXNMaW5rKCkp
IHsKLSAgICAgICAgICAgIEFjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsqIGFyZWFPYmplY3QgPSBz
dGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rKj4oYXhPYmplY3RDYWNoZSgpLT5n
ZXRPckNyZWF0ZShJbWFnZU1hcExpbmtSb2xlKSk7Ci0gICAgICAgICAgICBhcmVhT2JqZWN0LT5z
ZXRIVE1MQXJlYUVsZW1lbnQoc3RhdGljX2Nhc3Q8SFRNTEFyZWFFbGVtZW50Kj4oY3VycmVudCkp
OwotICAgICAgICAgICAgYXJlYU9iamVjdC0+c2V0SFRNTE1hcEVsZW1lbnQobWFwKTsKLSAgICAg
ICAgICAgIGFyZWFPYmplY3QtPnNldFBhcmVudCh0aGlzKTsKLSAgICAgICAgICAgIAotICAgICAg
ICAgICAgbV9jaGlsZHJlbi5hcHBlbmQoYXJlYU9iamVjdCk7Ci0gICAgICAgIH0KLSAgICB9Ci19
Ci0KIHZvaWQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6dXBkYXRlQ2hpbGRyZW5JZk5lY2Vz
c2FyeSgpCiB7CiAgICAgaWYgKG5lZWRzVG9VcGRhdGVDaGlsZHJlbigpKQpAQCAtMzQ4OSwyMyAr
MzQ3Myw2IEBAIHZvaWQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6dXBkYXRlQ2hpbGRyZW5J
Zk5lY2Vzc2FyeSgpCiAgICAgCiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdDo6dXBkYXRlQ2hpbGRy
ZW5JZk5lY2Vzc2FyeSgpOwogfQotICAgIAotdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
OjphZGRUZXh0RmllbGRDaGlsZHJlbigpCi17Ci0gICAgTm9kZSogbm9kZSA9IHRoaXMtPm5vZGUo
KTsKLSAgICBpZiAoIW5vZGUgfHwgIW5vZGUtPmhhc1RhZ05hbWUoaW5wdXRUYWcpKQotICAgICAg
ICByZXR1cm47Ci0gICAgCi0gICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBzdGF0aWNfY2Fz
dDxIVE1MSW5wdXRFbGVtZW50Kj4obm9kZSk7Ci0gICAgSFRNTEVsZW1lbnQqIHNwaW5CdXR0b25F
bGVtZW50ID0gaW5wdXQtPmlubmVyU3BpbkJ1dHRvbkVsZW1lbnQoKTsKLSAgICBpZiAoIXNwaW5C
dXR0b25FbGVtZW50IHx8ICFzcGluQnV0dG9uRWxlbWVudC0+aXNTcGluQnV0dG9uRWxlbWVudCgp
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbiogYXhTcGlu
QnV0dG9uID0gc3RhdGljX2Nhc3Q8QWNjZXNzaWJpbGl0eVNwaW5CdXR0b24qPihheE9iamVjdENh
Y2hlKCktPmdldE9yQ3JlYXRlKFNwaW5CdXR0b25Sb2xlKSk7Ci0gICAgYXhTcGluQnV0dG9uLT5z
ZXRTcGluQnV0dG9uRWxlbWVudChzdGF0aWNfY2FzdDxTcGluQnV0dG9uRWxlbWVudCo+KHNwaW5C
dXR0b25FbGVtZW50KSk7Ci0gICAgYXhTcGluQnV0dG9uLT5zZXRQYXJlbnQodGhpcyk7Ci0gICAg
bV9jaGlsZHJlbi5hcHBlbmQoYXhTcGluQnV0dG9uKTsKLX0KIAogdm9pZCBBY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0OjphZGRDaGlsZHJlbigpCiB7CkBAIC0zNTQ4LDggKzM1MTUsMjUgQEAgdm9p
ZCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphZGRDaGlsZHJlbigpCiAgICAgICAgICAgICBt
X2NoaWxkcmVuLmFwcGVuZChheE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKHdpZGdldCkpOwog
ICAgIH0KICAgICAKLSAgICBhZGRJbWFnZU1hcENoaWxkcmVuKCk7Ci0gICAgYWRkVGV4dEZpZWxk
Q2hpbGRyZW4oKTsKKyAgICAvLyBmb3IgYSBSZW5kZXJJbWFnZSwgYWRkIHRoZSA8YXJlYT4gZWxl
bWVudHMgYXMgaW5kaXZpZHVhbCBhY2Nlc3NpYmlsaXR5IG9iamVjdHMKKyAgICBSZW5kZXJCb3hN
b2RlbE9iamVjdCogY3NzQm94ID0gcmVuZGVyQm94TW9kZWxPYmplY3QoKTsKKyAgICBpZiAoY3Nz
Qm94ICYmIGNzc0JveC0+aXNSZW5kZXJJbWFnZSgpKSB7CisgICAgICAgIEhUTUxNYXBFbGVtZW50
KiBtYXAgPSB0b1JlbmRlckltYWdlKGNzc0JveCktPmltYWdlTWFwKCk7CisgICAgICAgIGlmICht
YXApIHsKKyAgICAgICAgICAgIGZvciAoTm9kZSogY3VycmVudCA9IG1hcC0+Zmlyc3RDaGlsZCgp
OyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+dHJhdmVyc2VOZXh0Tm9kZShtYXApKSB7CisK
KyAgICAgICAgICAgICAgICAvLyBhZGQgYW4gPGFyZWE+IGVsZW1lbnQgZm9yIHRoaXMgY2hpbGQg
aWYgaXQgaGFzIGEgbGluaworICAgICAgICAgICAgICAgIGlmIChjdXJyZW50LT5oYXNUYWdOYW1l
KGFyZWFUYWcpICYmIGN1cnJlbnQtPmlzTGluaygpKSB7CisgICAgICAgICAgICAgICAgICAgIEFj
Y2Vzc2liaWxpdHlJbWFnZU1hcExpbmsqIGFyZWFPYmplY3QgPSBzdGF0aWNfY2FzdDxBY2Nlc3Np
YmlsaXR5SW1hZ2VNYXBMaW5rKj4oYXhPYmplY3RDYWNoZSgpLT5nZXRPckNyZWF0ZShJbWFnZU1h
cExpbmtSb2xlKSk7CisgICAgICAgICAgICAgICAgICAgIGFyZWFPYmplY3QtPnNldEhUTUxBcmVh
RWxlbWVudChzdGF0aWNfY2FzdDxIVE1MQXJlYUVsZW1lbnQqPihjdXJyZW50KSk7CisgICAgICAg
ICAgICAgICAgICAgIGFyZWFPYmplY3QtPnNldEhUTUxNYXBFbGVtZW50KG1hcCk7CisgICAgICAg
ICAgICAgICAgICAgIGFyZWFPYmplY3QtPnNldFBhcmVudCh0aGlzKTsKKworICAgICAgICAgICAg
ICAgICAgICBtX2NoaWxkcmVuLmFwcGVuZChhcmVhT2JqZWN0KTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CiB9CiAgICAgICAgIAogY29uc3QgQXRv
bWljU3RyaW5nJiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphcmlhTGl2ZVJlZ2lvblN0YXR1
cygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oCmluZGV4IGY2ZTIwNTg4Mzc5Mzg1MDU3YTY2Y2M5NThh
MGJjNWIyZDEwYjJjMmYuLjBkMTQ3ZjEzOTNiNzg2NGY4MGFlMDk2NzkzNzJiYjM4Mzg3ZjI1Mjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5oCkBAIC0yOTksOSArMjk5LDYgQEAgcHJpdmF0ZToKICAgICBib29s
IHJlbmRlck9iamVjdElzT2JzZXJ2YWJsZShSZW5kZXJPYmplY3QqKSBjb25zdDsKICAgICBSZW5k
ZXJPYmplY3QqIHJlbmRlclBhcmVudE9iamVjdCgpIGNvbnN0OwogICAgIGJvb2wgaXNEZXNjZW5k
YW50T2ZFbGVtZW50VHlwZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lKSBjb25zdDsKLQot
ICAgIHZvaWQgYWRkVGV4dEZpZWxkQ2hpbGRyZW4oKTsKLSAgICB2b2lkIGFkZEltYWdlTWFwQ2hp
bGRyZW4oKTsKICAgICAKICAgICB2b2lkIGFyaWFTZWxlY3RlZFJvd3MoQWNjZXNzaWJpbGl0eUNo
aWxkcmVuVmVjdG9yJik7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4MTEwNDdiZWRkZmIzZjI3ZWRjMzc0Y2I3YTc4ODc2NjRjZDZiNWU2Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsMTQ2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJB
Y2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oIgotCi0jaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgot
I2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVBhc3NS
ZWZQdHI8QWNjZXNzaWJpbGl0eVNwaW5CdXR0b24+IEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uOjpj
cmVhdGUoKQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQWNjZXNzaWJpbGl0eVNwaW5CdXR0
b24pOwotfQotICAgIAotQWNjZXNzaWJpbGl0eVNwaW5CdXR0b246OkFjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uKCkKLSAgICA6IG1fc3BpbkJ1dHRvbkVsZW1lbnQoMCkKLXsKLX0KLQotQWNjZXNzaWJp
bGl0eVNwaW5CdXR0b246On5BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbigpCi17Ci19Ci0gICAgCi1B
Y2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbjo6aW5jcmVtZW50QnV0
dG9uKCkKLXsKLSAgICBpZiAoIW1faGF2ZUNoaWxkcmVuKQotICAgICAgICBhZGRDaGlsZHJlbigp
OwotCi0gICAgQVNTRVJUKG1fY2hpbGRyZW4uc2l6ZSgpID09IDIpOwotCi0gICAgcmV0dXJuIG1f
Y2hpbGRyZW5bMF0uZ2V0KCk7Ci19Ci0gICAKLUFjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2li
aWxpdHlTcGluQnV0dG9uOjpkZWNyZW1lbnRCdXR0b24oKQotewotICAgIGlmICghbV9oYXZlQ2hp
bGRyZW4pCi0gICAgICAgIGFkZENoaWxkcmVuKCk7Ci0gICAgCi0gICAgQVNTRVJUKG1fY2hpbGRy
ZW4uc2l6ZSgpID09IDIpOwotICAgIAotICAgIHJldHVybiBtX2NoaWxkcmVuWzFdLmdldCgpOyAg
ICAKLX0KLSAgICAKLUxheW91dFJlY3QgQWNjZXNzaWJpbGl0eVNwaW5CdXR0b246OmVsZW1lbnRS
ZWN0KCkgY29uc3QKLXsKLSAgICBBU1NFUlQobV9zcGluQnV0dG9uRWxlbWVudCk7Ci0gICAgCi0g
ICAgaWYgKCFtX3NwaW5CdXR0b25FbGVtZW50IHx8ICFtX3NwaW5CdXR0b25FbGVtZW50LT5yZW5k
ZXJlcigpKQotICAgICAgICByZXR1cm4gTGF5b3V0UmVjdCgpOwotICAgIAotICAgIFZlY3RvcjxG
bG9hdFF1YWQ+IHF1YWRzOwotICAgIG1fc3BpbkJ1dHRvbkVsZW1lbnQtPnJlbmRlcmVyKCktPmFi
c29sdXRlRm9jdXNSaW5nUXVhZHMocXVhZHMpOwotCi0gICAgcmV0dXJuIGJvdW5kaW5nQm94Rm9y
UXVhZHMobV9zcGluQnV0dG9uRWxlbWVudC0+cmVuZGVyZXIoKSwgcXVhZHMpOwotfQotCi12b2lk
IEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uOjphZGRDaGlsZHJlbigpCi17Ci0gICAgbV9oYXZlQ2hp
bGRyZW4gPSB0cnVlOwotICAgIAotICAgIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uUGFydCogaW5j
cmVtZW50b3IgPSBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvblBhcnQqPihheE9i
amVjdENhY2hlKCktPmdldE9yQ3JlYXRlKFNwaW5CdXR0b25QYXJ0Um9sZSkpOwotICAgIGluY3Jl
bWVudG9yLT5zZXRJc0luY3JlbWVudG9yKHRydWUpOwotICAgIGluY3JlbWVudG9yLT5zZXRQYXJl
bnQodGhpcyk7Ci0gICAgbV9jaGlsZHJlbi5hcHBlbmQoaW5jcmVtZW50b3IpOwotCi0gICAgQWNj
ZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0KiBkZWNyZW1lbnRvciA9IHN0YXRpY19jYXN0PEFjY2Vz
c2liaWxpdHlTcGluQnV0dG9uUGFydCo+KGF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUoU3Bp
bkJ1dHRvblBhcnRSb2xlKSk7Ci0gICAgZGVjcmVtZW50b3ItPnNldElzSW5jcmVtZW50b3IoZmFs
c2UpOwotICAgIGRlY3JlbWVudG9yLT5zZXRQYXJlbnQodGhpcyk7Ci0gICAgbV9jaGlsZHJlbi5h
cHBlbmQoZGVjcmVtZW50b3IpOwotfQotICAgIAotdm9pZCBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRv
bjo6c3RlcChpbnQgYW1vdW50KQotewotICAgIEFTU0VSVChtX3NwaW5CdXR0b25FbGVtZW50KTsK
LSAgICBpZiAoIW1fc3BpbkJ1dHRvbkVsZW1lbnQpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAg
ICBtX3NwaW5CdXR0b25FbGVtZW50LT5zdGVwKGFtb3VudCk7Ci19Ci0KLS8vIEFjY2Vzc2liaWxp
dHlTcGluQnV0dG9uUGFydCAKLQotQWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0OjpBY2Nlc3Np
YmlsaXR5U3BpbkJ1dHRvblBhcnQoKQotewotfQotICAgIAotUGFzc1JlZlB0cjxBY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvblBhcnQ+IEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uUGFydDo6Y3JlYXRlKCkK
LXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uUGFydCk7
Ci19Ci0KLUxheW91dFJlY3QgQWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0OjplbGVtZW50UmVj
dCgpIGNvbnN0Ci17Ci0gICAgLy8gRklYTUU6IFRoaXMgbG9naWMgc2hvdWxkIGV4aXN0IGluIHRo
ZSByZW5kZXIgdHJlZSBvciBlbHNld2hlcmUsIGJ1dCB0aGVyZSdzIG5vIGdvb2QgCi0gICAgLy8g
cmVsYXRpb25zaGlwIHRoYXQgZWl4c3RzIHRoYXQgY2FuIGJlIHF1ZXJpZWQuCi0gICAgCi0gICAg
TGF5b3V0UmVjdCBwYXJlbnRSZWN0ID0gcGFyZW50T2JqZWN0KCktPmVsZW1lbnRSZWN0KCk7Ci0g
ICAgaWYgKG1faXNJbmNyZW1lbnRvcikKLSAgICAgICAgcGFyZW50UmVjdC5zZXRIZWlnaHQocGFy
ZW50UmVjdC5oZWlnaHQoKSAvIDIpOwotICAgIGVsc2UgewotICAgICAgICBwYXJlbnRSZWN0LnNl
dFkocGFyZW50UmVjdC55KCkgKyBwYXJlbnRSZWN0LmhlaWdodCgpIC8gMik7ICAgICAgICAKLSAg
ICAgICAgcGFyZW50UmVjdC5zZXRIZWlnaHQocGFyZW50UmVjdC5oZWlnaHQoKSAvIDIpOyAgICAg
ICAgCi0gICAgfQotICAgICAgICAKLSAgICByZXR1cm4gcGFyZW50UmVjdDsKLX0KLQotYm9vbCBB
Y2Nlc3NpYmlsaXR5U3BpbkJ1dHRvblBhcnQ6OnByZXNzKCkgY29uc3QKLXsKLSAgICBpZiAoIW1f
cGFyZW50IHx8ICFtX3BhcmVudC0+aXNTcGluQnV0dG9uKCkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAKLSAgICBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbiogc3BpbkJ1dHRvbiA9IHRvQWNj
ZXNzaWJpbGl0eVNwaW5CdXR0b24ocGFyZW50T2JqZWN0KCkpOwotICAgIGlmIChtX2lzSW5jcmVt
ZW50b3IpCi0gICAgICAgIHNwaW5CdXR0b24tPnN0ZXAoMSk7Ci0gICAgZWxzZQotICAgICAgICBz
cGluQnV0dG9uLT5zdGVwKC0xKTsKLSAgICAKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA1NDQ1NzJjMjQ3OWEyNTM0ZTU3M2YyYzM4N2M4MTZjN2M0MjA0ODFhLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaAorKysgL2Rldi9udWxsCkBAIC0xLDkyICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoK
LSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpZm5kZWYgQWNjZXNzaWJpbGl0eVNwaW5CdXR0b25faAotI2RlZmluZSBB
Y2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbl9oCi0KLSNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5TW9ja09i
amVjdC5oIgotCi0jaW5jbHVkZSAiVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgiCi0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLSAgICAKLWNsYXNzIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uIDogcHVi
bGljIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbj4gY3JlYXRlKCk7Ci0gICAgdmlydHVhbCB+QWNj
ZXNzaWJpbGl0eVNwaW5CdXR0b24oKTsKLSAgICAKLSAgICB2b2lkIHNldFNwaW5CdXR0b25FbGVt
ZW50KFNwaW5CdXR0b25FbGVtZW50KiBzcGluQnV0dG9uKSB7IG1fc3BpbkJ1dHRvbkVsZW1lbnQg
PSBzcGluQnV0dG9uOyB9Ci0gICAgCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogaW5jcmVtZW50
QnV0dG9uKCk7Ci0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogZGVjcmVtZW50QnV0dG9uKCk7Ci0K
LSAgICB2b2lkIHN0ZXAoaW50IGFtb3VudCk7Ci0gICAgCi1wcml2YXRlOgotICAgIEFjY2Vzc2li
aWxpdHlTcGluQnV0dG9uKCk7Ci0KLSAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVW
YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIFNwaW5CdXR0b25Sb2xlOyB9Ci0gICAgdmlydHVhbCBib29s
IGFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZp
cnR1YWwgYm9vbCBpc1NwaW5CdXR0b24oKSBjb25zdCB7IHJldHVybiB0cnVlOyB9Ci0gICAgdmly
dHVhbCB2b2lkIGFkZENoaWxkcmVuKCk7Ci0gICAgdmlydHVhbCBMYXlvdXRSZWN0IGVsZW1lbnRS
ZWN0KCkgY29uc3Q7Ci0gICAgCi0gICAgU3BpbkJ1dHRvbkVsZW1lbnQqIG1fc3BpbkJ1dHRvbkVs
ZW1lbnQ7Ci19OyAKLSAgIAotY2xhc3MgQWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0IDogcHVi
bGljIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvblBhcnQ+IGNyZWF0ZSgpOwotICAgIHZpcnR1YWwg
fkFjY2Vzc2liaWxpdHlTcGluQnV0dG9uUGFydCgpIHsgfQotICAgIAotICAgIGJvb2wgaXNJbmNy
ZW1lbnRvcigpIGNvbnN0IHsgcmV0dXJuIG1faXNJbmNyZW1lbnRvcjsgfQotICAgIHZvaWQgc2V0
SXNJbmNyZW1lbnRvcihib29sIHZhbHVlKSB7IG1faXNJbmNyZW1lbnRvciA9IHZhbHVlOyB9Ci0g
ICAgCi1wcml2YXRlOgotICAgIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uUGFydCgpOwotICAgIGJv
b2wgbV9pc0luY3JlbWVudG9yIDogMTsKLSAgICAKLSAgICB2aXJ0dWFsIGJvb2wgcHJlc3MoKSBj
b25zdDsKLSAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0IHsg
cmV0dXJuIEJ1dHRvblJvbGU7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNTcGluQnV0dG9uUGFydCgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIExheW91dFJlY3QgZWxlbWVudFJl
Y3QoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgYWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci19OwotICAgIAotaW5saW5lIEFjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uKiB0b0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9i
amVjdCkKLXsKLSAgICBBU1NFUlQoIW9iamVjdCB8fCBvYmplY3QtPmlzU3BpbkJ1dHRvbigpKTsK
LSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QWNjZXNzaWJpbGl0eVNwaW5CdXR0b24qPihvYmplY3Qp
OwotfQotICAgIAotaW5saW5lIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uUGFydCogdG9BY2Nlc3Np
YmlsaXR5U3BpbkJ1dHRvblBhcnQoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0KQotewotICAg
IEFTU0VSVCghb2JqZWN0IHx8IG9iamVjdC0+aXNTcGluQnV0dG9uUGFydCgpKTsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8QWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0Kj4ob2JqZWN0KTsKLX0K
LSAgICAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUgCi0KLSNlbmRpZiAvLyBBY2Nlc3NpYmlsaXR5
U3BpbkJ1dHRvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21h
Yy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCmluZGV4IDNjMWZh
MjRlOWNhYzE5NzMxZjNmMzY2ZGU1YzFjN2FmNTA0NGIwNDkuLjEzNjViNjI2M2RlYTIyMDIwOWI4
ODhhOWZjNDA1MjJmOTQ5YjU2ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1t
CkBAIC0zNyw3ICszNyw2IEBACiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5TGlzdEJveC5oIgogI2lt
cG9ydCAiQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0
eVNjcm9sbFZpZXcuaCIKLSNpbXBvcnQgIkFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmgiCiAjaW1w
b3J0ICJBY2Nlc3NpYmlsaXR5VGFibGUuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlUYWJsZUNl
bGwuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5oIgpAQCAtODk0LDcgKzg5
Myw3IEBAIHN0YXRpYyBpZCB0ZXh0TWFya2VyUmFuZ2VGcm9tVmlzaWJsZVBvc2l0aW9ucyhBWE9i
amVjdENhY2hlICpjYWNoZSwgVmlzaWJsZVBvc2l0CiAgICAgc3RhdGljIE5TQXJyYXkqIHNsaWRl
ckFjdGlvbnMgPSBbW05TQXJyYXkgYWxsb2NdIGluaXRXaXRoT2JqZWN0czogTlNBY2Nlc3NpYmls
aXR5SW5jcmVtZW50QWN0aW9uLCBOU0FjY2Vzc2liaWxpdHlEZWNyZW1lbnRBY3Rpb24sIG5pbF07
CiAKICAgICBOU0FycmF5ICphY3Rpb25zOwotICAgIGlmIChtX29iamVjdC0+YWN0aW9uRWxlbWVu
dCgpIHx8IG1fb2JqZWN0LT5pc0J1dHRvbigpKSAKKyAgICBpZiAobV9vYmplY3QtPmFjdGlvbkVs
ZW1lbnQoKSkgCiAgICAgICAgIGFjdGlvbnMgPSBhY3Rpb25FbGVtZW50QWN0aW9uczsKICAgICBl
bHNlIGlmIChtX29iamVjdC0+aXNNZW51UmVsYXRlZCgpKQogICAgICAgICBhY3Rpb25zID0gbWVu
dUVsZW1lbnRBY3Rpb25zOwpAQCAtOTg2LDcgKzk4NSw2IEBAIHN0YXRpYyBpZCB0ZXh0TWFya2Vy
UmFuZ2VGcm9tVmlzaWJsZVBvc2l0aW9ucyhBWE9iamVjdENhY2hlICpjYWNoZSwgVmlzaWJsZVBv
c2l0CiAgICAgc3RhdGljIE5TQXJyYXkqIG91dGxpbmVSb3dBdHRycyA9IG5pbDsKICAgICBzdGF0
aWMgTlNBcnJheSogYnV0dG9uQXR0cnMgPSBuaWw7CiAgICAgc3RhdGljIE5TQXJyYXkqIHNjcm9s
bFZpZXdBdHRycyA9IG5pbDsKLSAgICBzdGF0aWMgTlNBcnJheSogaW5jcmVtZW50b3JBdHRycyA9
IG5pbDsKICAgICBOU011dGFibGVBcnJheSogdGVtcEFycmF5OwogICAgIGlmIChhdHRyaWJ1dGVz
ID09IG5pbCkgewogICAgICAgICBhdHRyaWJ1dGVzID0gW1tOU0FycmF5IGFsbG9jXSBpbml0V2l0
aE9iamVjdHM6IE5TQWNjZXNzaWJpbGl0eVJvbGVBdHRyaWJ1dGUsCkBAIC0xMTMzLDEzICsxMTMx
LDYgQEAgc3RhdGljIGlkIHRleHRNYXJrZXJSYW5nZUZyb21WaXNpYmxlUG9zaXRpb25zKEFYT2Jq
ZWN0Q2FjaGUgKmNhY2hlLCBWaXNpYmxlUG9zaXQKICAgICAgICAgY29udHJvbEF0dHJzID0gW1tO
U0FycmF5IGFsbG9jXSBpbml0V2l0aEFycmF5OnRlbXBBcnJheV07CiAgICAgICAgIFt0ZW1wQXJy
YXkgcmVsZWFzZV07CiAgICAgfQotICAgIGlmIChpbmNyZW1lbnRvckF0dHJzID09IG5pbCkgewot
ICAgICAgICB0ZW1wQXJyYXkgPSBbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0V2l0aEFycmF5
OmF0dHJpYnV0ZXNdOwotICAgICAgICBbdGVtcEFycmF5IGFkZE9iamVjdDpOU0FjY2Vzc2liaWxp
dHlJbmNyZW1lbnRCdXR0b25BdHRyaWJ1dGVdOwotICAgICAgICBbdGVtcEFycmF5IGFkZE9iamVj
dDpOU0FjY2Vzc2liaWxpdHlEZWNyZW1lbnRCdXR0b25BdHRyaWJ1dGVdOwotICAgICAgICBpbmNy
ZW1lbnRvckF0dHJzID0gW1tOU0FycmF5IGFsbG9jXSBpbml0V2l0aEFycmF5OnRlbXBBcnJheV07
Ci0gICAgICAgIFt0ZW1wQXJyYXkgcmVsZWFzZV07Ci0gICAgfQogICAgIGlmIChidXR0b25BdHRy
cyA9PSBuaWwpIHsKICAgICAgICAgdGVtcEFycmF5ID0gW1tOU011dGFibGVBcnJheSBhbGxvY10g
aW5pdFdpdGhBcnJheTphdHRyaWJ1dGVzXTsKICAgICAgICAgLy8gQnV0dG9ucyBzaG91bGQgbm90
IGV4cG9zZSBBWFZhbHVlLgpAQCAtMTMwMiw4ICsxMjkzLDYgQEAgc3RhdGljIGlkIHRleHRNYXJr
ZXJSYW5nZUZyb21WaXNpYmxlUG9zaXRpb25zKEFYT2JqZWN0Q2FjaGUgKmNhY2hlLCBWaXNpYmxl
UG9zaXQKICAgICAgICAgb2JqZWN0QXR0cmlidXRlcyA9IHRhYkxpc3RBdHRyczsKICAgICBlbHNl
IGlmIChtX29iamVjdC0+aXNTY3JvbGxWaWV3KCkpCiAgICAgICAgIG9iamVjdEF0dHJpYnV0ZXMg
PSBzY3JvbGxWaWV3QXR0cnM7Ci0gICAgZWxzZSBpZiAobV9vYmplY3QtPmlzU3BpbkJ1dHRvbigp
KQotICAgICAgICBvYmplY3RBdHRyaWJ1dGVzID0gaW5jcmVtZW50b3JBdHRyczsKICAgICAKICAg
ICBlbHNlIGlmIChtX29iamVjdC0+aXNNZW51KCkpCiAgICAgICAgIG9iamVjdEF0dHJpYnV0ZXMg
PSBtZW51QXR0cnM7CkBAIC0xNTI3LDggKzE1MTYsNyBAQCBzdGF0aWMgY29uc3QgQWNjZXNzaWJp
bGl0eVJvbGVNYXAmIGNyZWF0ZUFjY2Vzc2liaWxpdHlSb2xlTWFwKCkKICAgICAgICAgeyBQYXJh
Z3JhcGhSb2xlLCBOU0FjY2Vzc2liaWxpdHlHcm91cFJvbGUgfSwKICAgICAgICAgeyBMYWJlbFJv
bGUsIE5TQWNjZXNzaWJpbGl0eUdyb3VwUm9sZSB9LAogICAgICAgICB7IERpdlJvbGUsIE5TQWNj
ZXNzaWJpbGl0eUdyb3VwUm9sZSB9LAotICAgICAgICB7IEZvcm1Sb2xlLCBOU0FjY2Vzc2liaWxp
dHlHcm91cFJvbGUgfSwKLSAgICAgICAgeyBTcGluQnV0dG9uUm9sZSwgTlNBY2Nlc3NpYmlsaXR5
SW5jcmVtZW50b3JSb2xlIH0KKyAgICAgICAgeyBGb3JtUm9sZSwgTlNBY2Nlc3NpYmlsaXR5R3Jv
dXBSb2xlIH0KICAgICB9OwogICAgIEFjY2Vzc2liaWxpdHlSb2xlTWFwJiByb2xlTWFwID0gKm5l
dyBBY2Nlc3NpYmlsaXR5Um9sZU1hcDsKICAgICAKQEAgLTE1NjcsMTMgKzE1NTUsNiBAQCBzdGF0
aWMgTlNTdHJpbmcqIHJvbGVWYWx1ZVRvTlNTdHJpbmcoQWNjZXNzaWJpbGl0eVJvbGUgdmFsdWUp
CiAgICAgICAgIH0KICAgICB9CiAgICAgCi0gICAgaWYgKG1fb2JqZWN0LT5pc1NwaW5CdXR0b25Q
YXJ0KCkpIHsKLSAgICAgICAgaWYgKHRvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0KG1fb2Jq
ZWN0KS0+aXNJbmNyZW1lbnRvcigpKQotICAgICAgICAgICAgcmV0dXJuIE5TQWNjZXNzaWJpbGl0
eUluY3JlbWVudEFycm93U3Vicm9sZTsKLQotICAgICAgICByZXR1cm4gTlNBY2Nlc3NpYmlsaXR5
RGVjcmVtZW50QXJyb3dTdWJyb2xlOwotICAgIH0KLSAgICAKICAgICBpZiAobV9vYmplY3QtPmlz
VHJlZUl0ZW0oKSkKICAgICAgICAgcmV0dXJuIE5TQWNjZXNzaWJpbGl0eU91dGxpbmVSb3dTdWJy
b2xlOwogICAgIApAQCAtMTkwMSwxMyArMTg4Miw2IEBAIHN0YXRpYyBOU1N0cmluZyogcm9sZVZh
bHVlVG9OU1N0cmluZyhBY2Nlc3NpYmlsaXR5Um9sZSB2YWx1ZSkKICAgICAgICAgcmV0dXJuIChO
U1VSTCopdXJsOwogICAgIH0KIAotICAgIGlmIChtX29iamVjdC0+aXNTcGluQnV0dG9uKCkpIHsK
LSAgICAgICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxp
dHlJbmNyZW1lbnRCdXR0b25BdHRyaWJ1dGVdKQotICAgICAgICAgICAgcmV0dXJuIHRvQWNjZXNz
aWJpbGl0eVNwaW5CdXR0b24obV9vYmplY3QpLT5pbmNyZW1lbnRCdXR0b24oKS0+d3JhcHBlcigp
OwotICAgICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJp
bGl0eURlY3JlbWVudEJ1dHRvbkF0dHJpYnV0ZV0pCi0gICAgICAgICAgICByZXR1cm4gdG9BY2Nl
c3NpYmlsaXR5U3BpbkJ1dHRvbihtX29iamVjdCktPmRlY3JlbWVudEJ1dHRvbigpLT53cmFwcGVy
KCk7Ci0gICAgfQotICAgIAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6
IEAiQVhWaXNpdGVkIl0pCiAgICAgICAgIHJldHVybiBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6
IG1fb2JqZWN0LT5pc1Zpc2l0ZWQoKV07CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcAppbmRleCA1NTViZDdi
ODJmZGExOWVkMjhjNDkwZmM5MDFkYTYwMTIzZmVhY2E3Li5mN2MzOGU0NjAwNjE2NWM2NThhNGFk
YTlkOWY3ODBlYWIwNzY0NDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKQEAgLTM0NCw3ICszNDQsNyBAQCB2
b2lkIFNwaW5CdXR0b25FbGVtZW50OjpzdG9wUmVwZWF0aW5nVGltZXIoKQogICAgIG1fcmVwZWF0
aW5nVGltZXIuc3RvcCgpOwogfQogCi12b2lkIFNwaW5CdXR0b25FbGVtZW50OjpzdGVwKGludCBh
bW91bnQpCit2b2lkIFNwaW5CdXR0b25FbGVtZW50OjpyZXBlYXRpbmdUaW1lckZpcmVkKFRpbWVy
PFNwaW5CdXR0b25FbGVtZW50PiopCiB7CiAgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBz
dGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oc2hhZG93QW5jZXN0b3JOb2RlKCkpOwogICAg
IGlmIChpbnB1dC0+ZGlzYWJsZWQoKSB8fCBpbnB1dC0+aXNSZWFkT25seUZvcm1Db250cm9sKCkp
CkBAIC0zNTYsMTIgKzM1Niw3IEBAIHZvaWQgU3BpbkJ1dHRvbkVsZW1lbnQ6OnN0ZXAoaW50IGFt
b3VudCkKICAgICBpZiAobV91cERvd25TdGF0ZSAhPSBtX3ByZXNzU3RhcnRpbmdTdGF0ZSkKICAg
ICAgICAgcmV0dXJuOwogI2VuZGlmCi0gICAgaW5wdXQtPnN0ZXBVcEZyb21SZW5kZXJlcihhbW91
bnQpOwotfQotICAgIAotdm9pZCBTcGluQnV0dG9uRWxlbWVudDo6cmVwZWF0aW5nVGltZXJGaXJl
ZChUaW1lcjxTcGluQnV0dG9uRWxlbWVudD4qKQotewotICAgIHN0ZXAobV91cERvd25TdGF0ZSA9
PSBVcCA/IDEgOiAtMSk7CisgICAgaW5wdXQtPnN0ZXBVcEZyb21SZW5kZXJlcihtX3VwRG93blN0
YXRlID09IFVwID8gMSA6IC0xKTsKIH0KIAogdm9pZCBTcGluQnV0dG9uRWxlbWVudDo6c2V0SG92
ZXJlZChib29sIGZsYWcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9U
ZXh0Q29udHJvbElubmVyRWxlbWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1Rl
eHRDb250cm9sSW5uZXJFbGVtZW50cy5oCmluZGV4IGMyMzFmODhkYzgwMzE4YzZmNGVhNDMxMjUz
MGVjYzI1ODc5NDA4OTEuLmNiYTdkNWZhMzA4ZWQ1YjIwODBiMjc0Nzk5ODBkYWRjZTZjOTYxYWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJF
bGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5u
ZXJFbGVtZW50cy5oCkBAIC0xMDAsOCArMTAwLDYgQEAgcHVibGljOgogICAgIFVwRG93blN0YXRl
IHVwRG93blN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV91cERvd25TdGF0ZTsgfQogICAgIHZpcnR1
YWwgdm9pZCByZWxlYXNlQ2FwdHVyZSgpOwogCi0gICAgdm9pZCBzdGVwKGludCBhbW91bnQpOwot
ICAgIAogcHJpdmF0ZToKICAgICBTcGluQnV0dG9uRWxlbWVudChEb2N1bWVudCopOwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggOGQ5ZmZmODYwY2NkNGI0ZjRhZTdlMjAwYzg5MzQ4MGY1OGI0MDgzOC4uYmE4ZmY5ZjFkZjAz
YWExNjIzMTBkNmYyODM0NmE1ZjNhZmQ5YjU5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEx
LTEwLTE3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTc2NjkuCisgICAgICAgIGh0dHA6Ly90cmFj
LndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk3NjY5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MDMwNQorCisgICAgICAgIEJyb2tlIGFjY2Vzc2liaWxpdHkg
dGVzdHMgb24gV2luZG93cyAoUmVxdWVzdGVkIGJ5IHJuaXdhIG9uCisgICAgICAgICN3ZWJraXQp
LgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvaHRtbDUtaW5wdXQtbnVt
YmVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNz
aWJpbGl0eS9odG1sNS1pbnB1dC1udW1iZXIuaHRtbDogUmVtb3ZlZC4KKwogMjAxMS0xMC0xNyAg
R2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
ZXJ0ZWQgcjk5NzcwOSwgdGhpcyBjYXVzZWQgdGVzdCBmYWlsdXJlcy4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2h0bWw1LWlucHV0LW51bWJlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9odG1s
NS1pbnB1dC1udW1iZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBjMmJiYmI4OTcwM2JhNGVkMjFkYzQ4Mzg1ZmYyMmJiMjQ3YjBiZWJkLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9hY2Nlc3NpYmlsaXR5L2h0bWw1LWlucHV0LW51bWJlci1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwyNSArMCwwIEBACi0KLVRoaXMgdGVzdHMgdGhhdCBpbnB1dCB0eXBlPSdudW1i
ZXInIGV4cG9zZXMgdGhlIGFjY2Vzc2liaWxpdHkgb2YgaXQncyBzdGVwcGVyIGNvcnJlY3RseQot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB0ZXh0ZmllbGQuY2hpbGRyZW5D
b3VudCBpcyAxCi1QQVNTIGluY3JlbWVudG9yLnJvbGUgaXMgJ0FYUm9sZTogQVhJbmNyZW1lbnRv
cicKLVBBU1MgaW5jcmVtZW50b3Iud2lkdGggPiAwIGlzIHRydWUKLVBBU1MgaW5jcmVtZW50b3Iu
aGVpZ2h0ID4gMCBpcyB0cnVlCi1QQVNTIGluY3JlbWVudG9yLmNoaWxkcmVuQ291bnQgaXMgMgot
UEFTUyBpbmNyZW1lbnRvci5jaGlsZEF0SW5kZXgoMCkucm9sZSBpcyAnQVhSb2xlOiBBWEJ1dHRv
bicKLVBBU1MgaW5jcmVtZW50b3IuY2hpbGRBdEluZGV4KDApLnN1YnJvbGUgaXMgJ0FYU3Vicm9s
ZTogQVhJbmNyZW1lbnRBcnJvdycKLVBBU1MgaW5jcmVtZW50b3IuY2hpbGRBdEluZGV4KDApLndp
ZHRoID4gMCBpcyB0cnVlCi1QQVNTIGluY3JlbWVudG9yLmNoaWxkQXRJbmRleCgwKS5oZWlnaHQg
PiAwIGlzIHRydWUKLVBBU1MgdGV4dGZpZWxkLnN0cmluZ1ZhbHVlIGlzICdBWFZhbHVlOiAxJwot
UEFTUyBpbmNyZW1lbnRvci5jaGlsZEF0SW5kZXgoMSkucm9sZSBpcyAnQVhSb2xlOiBBWEJ1dHRv
bicKLVBBU1MgaW5jcmVtZW50b3IuY2hpbGRBdEluZGV4KDEpLnN1YnJvbGUgaXMgJ0FYU3Vicm9s
ZTogQVhEZWNyZW1lbnRBcnJvdycKLVBBU1MgaW5jcmVtZW50b3IuY2hpbGRBdEluZGV4KDEpLndp
ZHRoID4gMCBpcyB0cnVlCi1QQVNTIGluY3JlbWVudG9yLmNoaWxkQXRJbmRleCgxKS5oZWlnaHQg
PiAwIGlzIHRydWUKLVBBU1MgdGV4dGZpZWxkLnN0cmluZ1ZhbHVlIGlzICdBWFZhbHVlOiAwJwot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2h0bWw1LWlucHV0
LW51bWJlci5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvaHRt
bDUtaW5wdXQtbnVtYmVyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiZDMw
NzdmNjgzM2E3NzA1NDY1NGNkMzA5NzMyYzNmZDNjOWQ5MTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vz
c2liaWxpdHkvaHRtbDUtaW5wdXQtbnVtYmVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2MiAr
MCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08
aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IGZhbHNlOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkg
aWQ9ImJvZHkiPgotCi08Zm9ybT4KLTxpbnB1dCBpZD0ibnVtYmVyIiB0eXBlPSJudW1iZXIiPjxi
cj4KLTwvZm9ybT4KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQg
aW5wdXQgdHlwZT0nbnVtYmVyJyBleHBvc2VzIHRoZSBhY2Nlc3NpYmlsaXR5IG9mIGl0J3Mgc3Rl
cHBlciBjb3JyZWN0bHkiKTsKLQotICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIpIHsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibnVtYmVyIikuZm9jdXMo
KTsKLSAgICAgICAgdmFyIHRleHRmaWVsZCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3Vz
ZWRFbGVtZW50OwotCi0gICAgICAgIC8vIFZlcmlmeSB0aGF0IHRoZSBjbGljayBwb2ludCBpcyB0
aGUgc2FtZSBhcyB0aGUgY2hpbGQuCi0gICAgICAgIHNob3VsZEJlKCJ0ZXh0ZmllbGQuY2hpbGRy
ZW5Db3VudCIsICIxIik7Ci0KLSAgICAgICAgdmFyIGluY3JlbWVudG9yID0gdGV4dGZpZWxkLmNo
aWxkQXRJbmRleCgwKTsKLQotICAgICAgICBzaG91bGRCZSgiaW5jcmVtZW50b3Iucm9sZSIsICIn
QVhSb2xlOiBBWEluY3JlbWVudG9yJyIpOwotICAgICAgICBzaG91bGRCZVRydWUoImluY3JlbWVu
dG9yLndpZHRoID4gMCIpOwotICAgICAgICBzaG91bGRCZVRydWUoImluY3JlbWVudG9yLmhlaWdo
dCA+IDAiKTsKLSAgICAgICAgc2hvdWxkQmUoImluY3JlbWVudG9yLmNoaWxkcmVuQ291bnQiLCAi
MiIpOwotCi0gICAgICAgIHNob3VsZEJlKCJpbmNyZW1lbnRvci5jaGlsZEF0SW5kZXgoMCkucm9s
ZSIsICInQVhSb2xlOiBBWEJ1dHRvbiciKTsKLSAgICAgICAgc2hvdWxkQmUoImluY3JlbWVudG9y
LmNoaWxkQXRJbmRleCgwKS5zdWJyb2xlIiwgIidBWFN1YnJvbGU6IEFYSW5jcmVtZW50QXJyb3cn
Iik7Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgiaW5jcmVtZW50b3IuY2hpbGRBdEluZGV4KDApLndp
ZHRoID4gMCIpOwotICAgICAgICBzaG91bGRCZVRydWUoImluY3JlbWVudG9yLmNoaWxkQXRJbmRl
eCgwKS5oZWlnaHQgPiAwIik7Ci0KLSAgICAgICAgLy8gSW5jcmVtZW50LgotICAgICAgICBpbmNy
ZW1lbnRvci5jaGlsZEF0SW5kZXgoMCkucHJlc3MoKTsKLSAgICAgICAgc2hvdWxkQmUoInRleHRm
aWVsZC5zdHJpbmdWYWx1ZSIsICInQVhWYWx1ZTogMSciKTsKLQotICAgICAgICBzaG91bGRCZSgi
aW5jcmVtZW50b3IuY2hpbGRBdEluZGV4KDEpLnJvbGUiLCAiJ0FYUm9sZTogQVhCdXR0b24nIik7
Ci0gICAgICAgIHNob3VsZEJlKCJpbmNyZW1lbnRvci5jaGlsZEF0SW5kZXgoMSkuc3Vicm9sZSIs
ICInQVhTdWJyb2xlOiBBWERlY3JlbWVudEFycm93JyIpOwotICAgICAgICBzaG91bGRCZVRydWUo
ImluY3JlbWVudG9yLmNoaWxkQXRJbmRleCgxKS53aWR0aCA+IDAiKTsKLSAgICAgICAgc2hvdWxk
QmVUcnVlKCJpbmNyZW1lbnRvci5jaGlsZEF0SW5kZXgoMSkuaGVpZ2h0ID4gMCIpOwotCi0gICAg
ICAgIC8vIERlY3JlbWVudC4KLSAgICAgICAgaW5jcmVtZW50b3IuY2hpbGRBdEluZGV4KDEpLnBy
ZXNzKCk7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXh0ZmllbGQuc3RyaW5nVmFsdWUiLCAiJ0FYVmFs
dWU6IDAnIik7Ci0gICAgfQotCi0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2Ny
aXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>