<?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>30695</bug_id>
          
          <creation_ts>2009-10-22 17:10:51 -0700</creation_ts>
          <short_desc>Drop .tags() support from HTMLCollection</short_desc>
          <delta_ts>2009-10-24 15:37:22 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ian &apos;Hixie&apos; Hickson">ian</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>157049</commentid>
    <comment_count>0</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2009-10-22 17:10:51 -0700</bug_when>
    <thetext>HTML5 has tentatively dropped support for .tags() on HTMLCollection, limiting it to document.all&apos;s HTMLAllCollection only. We should try dropping support to see if that&apos;s tenable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157181</commentid>
    <comment_count>1</comment_count>
      <attachid>41731</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-10-23 10:33:47 -0700</bug_when>
    <thetext>Created attachment 41731
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157182</commentid>
    <comment_count>2</comment_count>
      <attachid>41731</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2009-10-23 10:48:24 -0700</bug_when>
    <thetext>Comment on attachment 41731
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157503</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-10-24 15:37:22 -0700</bug_when>
    <thetext>Oops.  This was fixed in r49998.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41731</attachid>
            <date>2009-10-23 10:33:47 -0700</date>
            <delta_ts>2009-10-23 10:48:24 -0700</delta_ts>
            <desc>patch</desc>
            <filename>all.diff</filename>
            <type>text/plain</type>
            <size>53734</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTk4MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDggQEAKKzIwMDktMTAtMjMgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggZm9y
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDY5NQorICAgICAgICBE
cm9wIC50YWdzKCkgc3VwcG9ydCBmcm9tIEhUTUxDb2xsZWN0aW9uCisKKyAgICAgICAgLSBNYWtl
IC50YWdzKCkgb25seSB3b3JrIGZvciBIVE1MQWxsQ29sbGVjdGlvbnMgaW4gSlMuIC50YWdzKCkg
aXMgc3RpbGwKKyAgICAgICAgICBhdmFpbGFibGUgZm9yIGFsbCBIVE1MQ29sbGVjdGlvbiBsaWtl
IG9iamVjdHMgaW4gT2JqZWN0aXZlLUMgc2luY2UgdGhhdAorICAgICAgICAgIGlzIEFQSS4KKyAg
ICAgICAgLSBBdXRvLWdlbmVyYXRlIEhUTUxBbGxDb2xsZWN0aW9uLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZG9tL0hUTUxEb2N1bWVudC9kb2N1bWVudC1hbGwuaHRtbAorCisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MQWxsQ29sbGVjdGlvbi5jcHA6IFJl
bW92ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MQWxsQ29sbGVjdGlvbi5oOiBSZW1v
dmVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSFRNTEFsbENvbGxlY3Rpb25DdXN0b20uY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmdldE5hbWVkSXRlbXMpOgorICAgICAgICAoV2Vi
Q29yZTo6Y2FsbEhUTUxBbGxDb2xsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTEFs
bENvbGxlY3Rpb246OmdldENhbGxEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTEFsbENv
bGxlY3Rpb246OmNhbkdldEl0ZW1zRm9yTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxB
bGxDb2xsZWN0aW9uOjpuYW1lR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTEFsbENv
bGxlY3Rpb246Oml0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MQWxsQ29sbGVjdGlvbjo6
bmFtZWRJdGVtKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxDb2xsZWN0aW9uQ3VzdG9t
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
SFRNTERvY3VtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmFsbCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAg
ICogZG9tL0hUTUxBbGxDb2xsZWN0aW9uLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL0hU
TUxBbGxDb2xsZWN0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpIVE1MQWxsQ29s
bGVjdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbGxDb2xsZWN0aW9uOjpI
VE1MQWxsQ29sbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQWxsQ29sbGVjdGlvbjo6
fkhUTUxBbGxDb2xsZWN0aW9uKToKKyAgICAgICAgKiBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmg6
IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTEFsbENvbGxlY3Rpb24uaWRsOiBBZGRlZC4KKyAg
ICAgICAgKiBodG1sL0hUTUxDb2xsZWN0aW9uLmg6CisgICAgICAgICogaHRtbC9IVE1MQ29sbGVj
dGlvbi5pZGw6CisgICAgICAgICogaHRtbC9IVE1MRG9jdW1lbnQuaWRsOgorICAgICAgICAqIHBh
Z2UvRE9NV2luZG93LmlkbDoKKwogMjAwOS0xMC0yMyAgU3RldmUgQmxvY2sgIDxzdGV2ZWJsb2Nr
QGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBX
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCShyZXZpc2lvbiA0OTk2MSkKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTI2LDYgKzEyNiw3IEBAIERPTV9DTEFTU0VTID0gXAog
ICAgIEZpbGVMaXN0IFwKICAgICBHZW9sb2NhdGlvbiBcCiAgICAgR2VvcG9zaXRpb24gXAorICAg
IEhUTUxBbGxDb2xsZWN0aW9uIFwKICAgICBIVE1MQW5jaG9yRWxlbWVudCBcCiAgICAgSFRNTEFw
cGxldEVsZW1lbnQgXAogICAgIEhUTUxBcmVhRWxlbWVudCBcCkluZGV4OiBXZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNDk5NjEpCisrKyBXZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjIw
OCw3ICsyMjA4LDYgQEAKIAkJOTM0RjcxNDIwRDVBNkY0NDAwMDE4RDY5IC8qIFJlc291cmNlRXJy
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNEY3
MTQxMEQ1QTZGNDQwMDAxOEQ2OSAvKiBSZXNvdXJjZUVycm9yLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTM0RjcxNDQwRDVBNkY1MzAwMDE4RDY5
IC8qIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5MzRGNzE0MzBENUE2RjUzMDAwMThENjkgLyogQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk5MzRGRTlFNTBCNUNBNTM5MDAzRTRBNzMgLyogRmlsZUNob29zZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM0RkU5RTQwQjVD
QTUzOTAwM0U0QTczIC8qIEZpbGVDaG9vc2VyLmNwcCAqLzsgfTsKLQkJOTM1MEU3MEQwRTg3NTAw
QjAwMTg5RkZGIC8qIEpTSFRNTEFsbENvbGxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM1MEU3MEMwRTg3NTAwQjAwMTg5RkZGIC8qIEpT
SFRNTEFsbENvbGxlY3Rpb24uY3BwICovOyB9OwogCQk5MzUyMDcxOTA5QkQzQkE1MDBGMjAzOEQg
LyogU3RhdGljQ29uc3RydWN0b3JzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5MzUyMDcxNzA5QkQzQkE1MDBGMjAzOEQgLyogU3RhdGljQ29uc3RydWN0
b3JzLmggKi87IH07CiAJCTkzNTIwN0JFMDlCRDQxMEEwMEYyMDM4RCAvKiBMb2NhbGl6ZWRTdHJp
bmdzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzUy
MDdCRDA5QkQ0MTBBMDBGMjAzOEQgLyogTG9jYWxpemVkU3RyaW5ncy5oICovOyB9OwogCQk5MzUy
MDdDMDA5QkQ0MTIxMDBGMjAzOEQgLyogTG9jYWxpemVkU3RyaW5nc01hYy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNTIwN0JGMDlCRDQxMjAwMEYy
MDM4RCAvKiBMb2NhbGl6ZWRTdHJpbmdzTWFjLm1tICovOyB9OwpAQCAtNDI0OSw3ICs0MjQ4LDYg
QEAKIAkJQkM2RDZFMjYwOUFGOTQzNTAwRjU5NzU5IC8qIFNjcm9sbFZpZXcuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNkQ2RTI1MDlBRjk0MzUwMEY1
OTc1OSAvKiBTY3JvbGxWaWV3LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQkM2REFERUYwQTE5NUZERjAwRTVDRDE0IC8qIFdlYkZvbnRDYWNoZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM2REFERUUw
QTE5NUZERjAwRTVDRDE0IC8qIFdlYkZvbnRDYWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDNkRBREZBMEExOTYwMkIwMEU1Q0QxNCAvKiBX
ZWJGb250Q2FjaGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQzZEQURGOTBBMTk2MDJCMDBFNUNEMTQgLyogV2ViRm9udENhY2hlLm1tICovOyB9Owot
CQlCQzZEQzdBMTBDMUE0QkZBMDA0RTIwMTcgLyogSlNIVE1MQWxsQ29sbGVjdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM2REM3QTAwQzFBNEJG
QTAwNEUyMDE3IC8qIEpTSFRNTEFsbENvbGxlY3Rpb24uaCAqLzsgfTsKIAkJQkM3NERBMzcxMDEz
RjNGNzAwNzk4N0FEIC8qIFJHQkNvbG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzc0REEzNTEwMTNGM0Y3MDA3OTg3QUQgLyogUkdCQ29sb3IuaCAq
LzsgfTsKIAkJQkM3NERBMzgxMDEzRjNGNzAwNzk4N0FEIC8qIFJHQkNvbG9yLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzREQTM2MTAxM0YzRjcw
MDc5ODdBRCAvKiBSR0JDb2xvci5jcHAgKi87IH07CiAJCUJDNzREQTQ4MTAxM0Y0NjgwMDc5ODdB
RCAvKiBKU1JHQkNvbG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDNzREQTQ2MTAxM0Y0NjgwMDc5ODdBRCAvKiBKU1JHQkNvbG9yLmNwcCAqLzsg
fTsKQEAgLTQzMjcsNiArNDMyNSwxMSBAQAogCQlCQzk0RDE1NDBDMjc1QzhCMDA2QkM2MTcgLyog
SGlzdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkM5NEQxNTEwQzI3NUM4QjAwNkJDNjE3IC8qIEhpc3RvcnkuaCAqLzsgfTsKIAkJQkM5NkRCNDMw
RjNBODgwRTAwNTczQ0IzIC8qIFJlbmRlckJveE1vZGVsT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzk2REI0MjBGM0E4ODBFMDA1NzNDQjMg
LyogUmVuZGVyQm94TW9kZWxPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlCQzk2REI0NjBGM0E4ODIyMDA1NzNDQjMgLyogUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkM5NkRCNDUwRjNBODgyMjAwNTczQ0IzIC8qIFJlbmRlckJveE1vZGVsT2JqZWN0LmNw
cCAqLzsgfTsKKwkJQkM5N0UyM0ExMDkxNDQ5NTAwMTBEMzYxIC8qIEhUTUxBbGxDb2xsZWN0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzk3RTIz
ODEwOTE0NDk1MDAxMEQzNjEgLyogSFRNTEFsbENvbGxlY3Rpb24uaCAqLzsgfTsKKwkJQkM5N0Uy
M0IxMDkxNDQ5NTAwMTBEMzYxIC8qIEhUTUxBbGxDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOTdFMjM5MTA5MTQ0OTUwMDEwRDM2
MSAvKiBIVE1MQWxsQ29sbGVjdGlvbi5jcHAgKi87IH07CisJCUJDOTdFNDEyMTA5MTU0RkEwMDEw
RDM2MSAvKiBKU0hUTUxBbGxDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOTdFNDEwMTA5MTU0RkEwMDEwRDM2MSAvKiBKU0hUTUxB
bGxDb2xsZWN0aW9uLmNwcCAqLzsgfTsKKwkJQkM5N0U0MTMxMDkxNTRGQTAwMTBEMzYxIC8qIEpT
SFRNTEFsbENvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDOTdFNDExMTA5MTU0RkEwMDEwRDM2MSAvKiBKU0hUTUxBbGxDb2xsZWN0aW9u
LmggKi87IH07CisJCUJDOTdFNDJDMTA5MTVCMDYwMDEwRDM2MSAvKiBKU0hUTUxBbGxDb2xsZWN0
aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDOTdFNDJCMTA5MTVCMDYwMDEwRDM2MSAvKiBKU0hUTUxBbGxDb2xsZWN0aW9uQ3VzdG9t
LmNwcCAqLzsgfTsKIAkJQkM5ODU0M0QwQ0QzRDk4QjAwMDY5QkMxIC8qIEpTQ29uc29sZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzk4NTQzQjBD
RDNEOThCMDAwNjlCQzEgLyogSlNDb25zb2xlLmNwcCAqLzsgfTsKIAkJQkM5ODU0M0UwQ0QzRDk4
QzAwMDY5QkMxIC8qIEpTQ29uc29sZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkM5ODU0M0MwQ0QzRDk4QjAwMDY5QkMxIC8qIEpTQ29uc29sZS5oICov
OyB9OwogCQlCQzk4QTI3RDBDMEM5OTUwMDA0QkVCRjcgLyogSlNTdHlsZVNoZWV0Q3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOThBMjdD
MEMwQzk5NTAwMDRCRUJGNyAvKiBKU1N0eWxlU2hlZXRDdXN0b20uY3BwICovOyB9OwpAQCAtNzQ1
MCw3ICs3NDUzLDYgQEAKIAkJOTM0RjcxNDEwRDVBNkY0NDAwMDE4RDY5IC8qIFJlc291cmNlRXJy
b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlRXJyb3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTM0RjcxNDMwRDVBNkY1MzAwMDE4RDY5IC8q
IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5MzRGRTlFNDBCNUNBNTM5MDAzRTRBNzMgLyogRmlsZUNob29zZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmlsZUNob29zZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk5MzUwRTcwQzBFODc1MDBCMDAxODlGRkYgLyogSlNIVE1MQWxs
Q29sbGVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hU
TUxBbGxDb2xsZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTM1MjA3
MTcwOUJEM0JBNTAwRjIwMzhEIC8qIFN0YXRpY0NvbnN0cnVjdG9ycy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTdGF0aWNDb25zdHJ1Y3RvcnMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTM1MjA3QkQwOUJENDEwQTAwRjIwMzhEIC8qIExvY2FsaXplZFN0cmlu
Z3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxpemVkU3RyaW5ncy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzUyMDdCRjA5QkQ0MTIwMDBGMjAzOEQg
LyogTG9jYWxpemVkU3RyaW5nc01hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IExvY2FsaXplZFN0cmluZ3NNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC05MzczLDcgKzkzNzUsNiBAQAogCQlCQzZENkUyNTA5QUY5NDM1MDBGNTk3NTkgLyog
U2Nyb2xsVmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsVmll
dy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzZEQURFRTBBMTk1RkRGMDBFNUNE
MTQgLyogV2ViRm9udENhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJGb250Q2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM2REFERjkwQTE5
NjAyQjAwRTVDRDE0IC8qIFdlYkZvbnRDYWNoZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBXZWJGb250Q2FjaGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCUJDNkRDN0EwMEMxQTRCRkEwMDRFMjAxNyAvKiBKU0hUTUxBbGxDb2xsZWN0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxBbGxDb2xsZWN0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNzREQTM1MTAxM0YzRjcwMDc5ODdBRCAv
KiBSR0JDb2xvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSR0JDb2xvci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzc0REEzNjEwMTNGM0Y3MDA3OTg3QUQg
LyogUkdCQ29sb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUkdC
Q29sb3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzc0REE0NjEwMTNGNDY4
MDA3OTg3QUQgLyogSlNSR0JDb2xvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU1JHQkNvbG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk0
NTgsNiArOTQ1OSwxMiBAQAogCQlCQzk0RDE1MjBDMjc1QzhCMDA2QkM2MTcgLyogSGlzdG9yeS5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhpc3RvcnkuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCQzk2REI0MjBGM0E4ODBFMDA1NzNDQjMgLyogUmVuZGVyQm94TW9kZWxP
YmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyQm94TW9kZWxP
YmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM5NkRCNDUwRjNBODgyMjAw
NTczQ0IzIC8qIFJlbmRlckJveE1vZGVsT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJlbmRlckJveE1vZGVsT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQkM5N0UyMzgxMDkxNDQ5NTAwMTBEMzYxIC8qIEhUTUxBbGxDb2xsZWN0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxBbGxDb2xsZWN0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDOTdFMjM5MTA5MTQ0OTUwMDEwRDM2
MSAvKiBIVE1MQWxsQ29sbGVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBIVE1MQWxsQ29sbGVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUJDOTdFMjNDMTA5MTQ2RjEwMDEwRDM2MSAvKiBIVE1MQWxsQ29sbGVjdGlvbi5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTEFsbENvbGxlY3Rpb24uaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlCQzk3RTQxMDEwOTE1NEZBMDAxMEQzNjEgLyogSlNIVE1MQWxsQ29s
bGVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxB
bGxDb2xsZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkM5N0U0MTEx
MDkxNTRGQTAwMTBEMzYxIC8qIEpTSFRNTEFsbENvbGxlY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1MQWxsQ29sbGVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCQzk3RTQyQjEwOTE1QjA2MDAxMEQzNjEgLyogSlNIVE1MQWxsQ29sbGVj
dGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hU
TUxBbGxDb2xsZWN0aW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkM5ODU0M0IwQ0QzRDk4QjAwMDY5QkMxIC8qIEpTQ29uc29sZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDb25zb2xlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQkM5ODU0M0MwQ0QzRDk4QjAwMDY5QkMxIC8qIEpTQ29uc29sZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDb25zb2xlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUJDOThBMjdDMEMwQzk5NTAwMDRCRUJGNyAvKiBKU1N0eWxlU2hlZXRD
dXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTdHlsZVNo
ZWV0Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyNDk1LDYgKzEy
NTAyLDkgQEAKIAkJCQlBOERGM0ZDOTA5N0ZBMEZCMDA1Mjk4MUIgLyogSFRNTENvbGxlY3Rpb24u
Y3BwICovLAogCQkJCUE4REYzRkM4MDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MQ29sbGVjdGlvbi5o
ICovLAogCQkJCTg1REYyRjY5MEFBM0M3NDMwMEFENjRDNSAvKiBIVE1MQ29sbGVjdGlvbi5pZGwg
Ki8sCisJCQkJQkM5N0UyM0MxMDkxNDZGMTAwMTBEMzYxIC8qIEhUTUxBbGxDb2xsZWN0aW9uLmlk
bCAqLywKKwkJCQlCQzk3RTIzODEwOTE0NDk1MDAxMEQzNjEgLyogSFRNTEFsbENvbGxlY3Rpb24u
aCAqLywKKwkJCQlCQzk3RTIzOTEwOTE0NDk1MDAxMEQzNjEgLyogSFRNTEFsbENvbGxlY3Rpb24u
Y3BwICovLAogCQkJCUJDNzdDREI3MEZFRkYxMjEwMDcwODg3QiAvKiBIVE1MRGF0YUdyaWRDZWxs
RWxlbWVudC5jcHAgKi8sCiAJCQkJQkM3N0NEQkIwRkVGRjE0MjAwNzA4ODdCIC8qIEhUTUxEYXRh
R3JpZENlbGxFbGVtZW50LmggKi8sCiAJCQkJQkM3N0NEQTIwRkVGRUI1MzAwNzA4ODdCIC8qIEhU
TUxEYXRhR3JpZENlbGxFbGVtZW50LmlkbCAqLywKQEAgLTEyNzk4LDYgKzEyODA4LDggQEAKIAkJ
CQlCQzAwRjAxMTBFMEExODk1MDBGRDA0RTMgLyogSlNGaWxlLmggKi8sCiAJCQkJQkMwMEYwMTIw
RTBBMTg5NTAwRkQwNEUzIC8qIEpTRmlsZUxpc3QuY3BwICovLAogCQkJCUJDMDBGMDEzMEUwQTE4
OTUwMEZEMDRFMyAvKiBKU0ZpbGVMaXN0LmggKi8sCisJCQkJQkM5N0U0MTAxMDkxNTRGQTAwMTBE
MzYxIC8qIEpTSFRNTEFsbENvbGxlY3Rpb24uY3BwICovLAorCQkJCUJDOTdFNDExMTA5MTU0RkEw
MDEwRDM2MSAvKiBKU0hUTUxBbGxDb2xsZWN0aW9uLmggKi8sCiAJCQkJMUE0QTJERUIwQTFCODUy
QTAwQzgwN0Y4IC8qIEpTSFRNTEFuY2hvckVsZW1lbnQuY3BwICovLAogCQkJCTFBNEEyREVDMEEx
Qjg1MkEwMEM4MDdGOCAvKiBKU0hUTUxBbmNob3JFbGVtZW50LmggKi8sCiAJCQkJMUE0QTJERUQw
QTFCODUyQTAwQzgwN0Y4IC8qIEpTSFRNTEFwcGxldEVsZW1lbnQuY3BwICovLApAQCAtMTQ0NzUs
NiArMTQ0ODcsNyBAQAogCQkJCUJDMzQ4QkJEMERCN0Y1MzEwMDRBQkFCOSAvKiBKU1hNTEh0dHBS
ZXF1ZXN0Q3VzdG9tLmNwcCAqLywKIAkJCQlCQ0RGRDQ5MTBFMzA1NkJEMDA5RDEwQUQgLyogSlNY
TUxIdHRwUmVxdWVzdFVwbG9hZEN1c3RvbS5jcHAgKi8sCiAJCQkJQkNFRkUxRTQwRENBNUYzMzAw
NzM5MjE5IC8qIEpTWFNMVFByb2Nlc3NvckN1c3RvbS5jcHAgKi8sCisJCQkJQkM5N0U0MkIxMDkx
NUIwNjAwMTBEMzYxIC8qIEpTSFRNTEFsbENvbGxlY3Rpb25DdXN0b20uY3BwICovLAogCQkJKTsK
IAkJCW5hbWUgPSBDdXN0b207CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTQ3NTYs
OCArMTQ3NjksNiBAQAogCQkJCTQ5RUVDRkFBMTA1MDkzODIwMDA5OUZBQiAvKiBKU0NhbnZhc1Vu
c2lnbmVkU2hvcnRBcnJheUNvbnN0cnVjdG9yLmggKi8sCiAJCQkJRTBGRUYzNzFCNzdDNTNFQUMx
QzFGQkVFIC8qIEpTRXZlbnRTb3VyY2VDb25zdHJ1Y3Rvci5jcHAgKi8sCiAJCQkJRTBGRUYzNzFC
NjdDNTNFQUMxQzFGQkVFIC8qIEpTRXZlbnRTb3VyY2VDb25zdHJ1Y3Rvci5oICovLAotCQkJCTkz
NTBFNzBDMEU4NzUwMEIwMDE4OUZGRiAvKiBKU0hUTUxBbGxDb2xsZWN0aW9uLmNwcCAqLywKLQkJ
CQlCQzZEQzdBMDBDMUE0QkZBMDA0RTIwMTcgLyogSlNIVE1MQWxsQ29sbGVjdGlvbi5oICovLAog
CQkJCUJDNkM0OUYxMEQ3REJBMDUwMEZGQTU1OCAvKiBKU0ltYWdlQ29uc3RydWN0b3IuY3BwICov
LAogCQkJCUJDNkM0OUYyMEQ3REJBMDUwMEZGQTU1OCAvKiBKU0ltYWdlQ29uc3RydWN0b3IuaCAq
LywKIAkJCQlFMTA3NDMyMzBFNzgzNTgzMDAzM0FGMjQgLyogSlNNZXNzYWdlQ2hhbm5lbENvbnN0
cnVjdG9yLmNwcCAqLywKQEAgLTE2OTk5LDcgKzE3MDEwLDYgQEAKIAkJCQlGRTgwREE2NDBFOUM0
NzAzMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkU4MERB
NjYwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvcG9zaXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDOTREMTRGMEMyNzVDNjgwMDZCQzYxNyAvKiBKU0hpc3RvcnkuaCBpbiBIZWFkZXJzICovLAot
CQkJCUJDNkRDN0ExMEMxQTRCRkEwMDRFMjAxNyAvKiBKU0hUTUxBbGxDb2xsZWN0aW9uLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQTRBMkRGMDBBMUI4NTJBMDBDODA3RjggLyogSlNIVE1MQW5jaG9y
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE0QTJERjIwQTFCODUyQTAwQzgwN0Y4IC8q
IEpTSFRNTEFwcGxldEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTJBQTFGMEExQ0RB
QjQwMEI0MkIyNSAvKiBKU0hUTUxBcmVhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xODA2
Myw2ICsxODA3Myw4IEBACiAJCQkJMzMxNEFDRUMxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0
aW9uQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTczRTMyNTcxMDg4M0I3QzAwNUJDNDkzIC8q
IFJlc291cmNlTG9hZE5vdGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDgwMTk1NTEwOEJB
RkIzMDBDQjJCMUYgLyogRkVHYXVzc2lhbkJsdXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDOTdF
MjNBMTA5MTQ0OTUwMDEwRDM2MSAvKiBIVE1MQWxsQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQkM5N0U0MTMxMDkxNTRGQTAwMTBEMzYxIC8qIEpTSFRNTEFsbENvbGxlY3Rpb24uaCBp
biBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpAQCAtMTkxNjgsNyArMTkxODAsNiBAQAogCQkJCUZFODBEQTY1MEU5QzQ3
MDMwMDBENkY3NSAvKiBKU0dlb3Bvc2l0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDOTRE
MTRFMEMyNzVDNjgwMDZCQzYxNyAvKiBKU0hpc3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkNFN0IxOTMwRDRFODY5NjAwNzVBNTM5IC8qIEpTSGlzdG9yeUN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLywKLQkJCQk5MzUwRTcwRDBFODc1MDBCMDAxODlGRkYgLyogSlNIVE1MQWxsQ29sbGVjdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTRBMkRFRjBBMUI4NTJBMDBDODA3RjggLyogSlNI
VE1MQW5jaG9yRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTRBMkRGMTBBMUI4NTJB
MDBDODA3RjggLyogSlNIVE1MQXBwbGV0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
QzRFREVGNDBDMDhGM0ZCMDA3RURENDkgLyogSlNIVE1MQXBwbGV0RWxlbWVudEN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTIwMTk3LDYgKzIwMjA4LDkgQEAKIAkJCQkzMzE0QUNFQjEwODky
MDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3
M0UzMjU2MTA4ODNCN0MwMDVCQzQ5MyAvKiBSZXNvdXJjZUxvYWROb3RpZmllci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk4NDgwMTk1NDEwOEJBRkIzMDBDQjJCMUYgLyogRkVHYXVzc2lhbkJsdXIu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQkM5N0UyM0IxMDkxNDQ5NTAwMTBEMzYxIC8qIEhUTUxB
bGxDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUJDOTdFNDEyMTA5MTU0RkEwMDEw
RDM2MSAvKiBKU0hUTUxBbGxDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUJDOTdF
NDJDMTA5MTVCMDYwMDEwRDM2MSAvKiBKU0hUTUxBbGxDb2xsZWN0aW9uQ3VzdG9tLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQl9OwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxBbGxDb2xsZWN0aW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTEFsbENvbGxlY3Rp
b24uY3BwCShyZXZpc2lvbiA0OTk2MSkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQWxs
Q29sbGVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMzUgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTSFRNTEFsbENvbGxlY3Rpb24uaCIKLQot
dXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jb25zdCBDbGFz
c0luZm8gSlNIVE1MQWxsQ29sbGVjdGlvbjo6c19pbmZvID0geyAiSFRNTEFsbENvbGxlY3Rpb24i
LCAwLCAwLCAwIH07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvYmlu
ZGluZ3MvanMvSlNIVE1MQWxsQ29sbGVjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmlu
ZGluZ3MvanMvSlNIVE1MQWxsQ29sbGVjdGlvbi5oCShyZXZpc2lvbiA0OTk2MSkKKysrIFdlYkNv
cmUvYmluZGluZ3MvanMvSlNIVE1MQWxsQ29sbGVjdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDU4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgSlNIVE1MQWxsQ29sbGVjdGlvbl9o
Ci0jZGVmaW5lIEpTSFRNTEFsbENvbGxlY3Rpb25faAotCi0jaW5jbHVkZSAiSFRNTENvbGxlY3Rp
b24uaCIKLSNpbmNsdWRlICJKU0hUTUxDb2xsZWN0aW9uLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotICAgIGNsYXNzIEhUTUxDb2xsZWN0aW9uOwotCi0gICAgY2xhc3MgSlNIVE1MQWxsQ29s
bGVjdGlvbiA6IHB1YmxpYyBKU0hUTUxDb2xsZWN0aW9uIHsKLSAgICBwdWJsaWM6Ci0gICAgICAg
IEpTSFRNTEFsbENvbGxlY3Rpb24oTm9uTnVsbFBhc3NSZWZQdHI8SlNDOjpTdHJ1Y3R1cmU+IHN0
cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUGFzc1JlZlB0cjxIVE1M
Q29sbGVjdGlvbj4gY29sbGVjdGlvbikKLSAgICAgICAgICAgIDogSlNIVE1MQ29sbGVjdGlvbihz
dHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgY29sbGVjdGlvbikKLSAgICAgICAgewotICAgICAgICB9
Ci0KLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8SlNDOjpTdHJ1Y3R1cmU+IGNyZWF0ZVN0cnVj
dHVyZShKU0M6OkpTVmFsdWUgcHJvdG8pIAotICAgICAgICB7IAotICAgICAgICAgICAgcmV0dXJu
IEpTQzo6U3RydWN0dXJlOjpjcmVhdGUocHJvdG8sIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RU
eXBlLCBTdHJ1Y3R1cmVGbGFncykpOyAKLSAgICAgICAgfQotCi0gICAgICAgIHN0YXRpYyBjb25z
dCBKU0M6OkNsYXNzSW5mbyBzX2luZm87Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBKU0M6Ok92ZXJyaWRlc0dldE93blByb3Bl
cnR5U2xvdCB8IEpTQzo6TWFzcXVlcmFkZXNBc1VuZGVmaW5lZCB8IEpTQzo6T3ZlcnJpZGVzTWFy
a0NoaWxkcmVuIHwgSlNDOjpPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIHwgSlNIVE1MQ29sbGVj
dGlvbjo6U3RydWN0dXJlRmxhZ3M7Ci0KLSAgICBwcml2YXRlOgotICAgICAgICB2aXJ0dWFsIGJv
b2wgdG9Cb29sZWFuKEpTQzo6RXhlY1N0YXRlKikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAg
ICB9OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBKU0hUTUxBbGxDb2xs
ZWN0aW9uX2gKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQWxsQ29sbGVjdGlvbkN1
c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxBbGxDb2xs
ZWN0aW9uQ3VzdG9tLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNI
VE1MQWxsQ29sbGVjdGlvbkN1c3RvbS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTM1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJKU0hUTUxBbGxDb2xsZWN0aW9uLmgiCisKKyNpbmNsdWRl
ICJBdG9taWNTdHJpbmcuaCIKKyNpbmNsdWRlICJIVE1MQWxsQ29sbGVjdGlvbi5oIgorI2luY2x1
ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUgIkpTSFRNTEFsbENvbGxlY3Rpb24uaCIKKyNp
bmNsdWRlICJKU05vZGUuaCIKKyNpbmNsdWRlICJKU05vZGVMaXN0LmgiCisjaW5jbHVkZSAiTm9k
ZS5oIgorI2luY2x1ZGUgIlN0YXRpY05vZGVMaXN0LmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRp
YyBKU1ZhbHVlIGdldE5hbWVkSXRlbXMoRXhlY1N0YXRlKiBleGVjLCBKU0hUTUxBbGxDb2xsZWN0
aW9uKiBjb2xsZWN0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCit7CisgICAg
VmVjdG9yPFJlZlB0cjxOb2RlPiA+IG5hbWVkSXRlbXM7CisgICAgY29sbGVjdGlvbi0+aW1wbCgp
LT5uYW1lZEl0ZW1zKHByb3BlcnR5TmFtZSwgbmFtZWRJdGVtcyk7CisKKyAgICBpZiAobmFtZWRJ
dGVtcy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIGlmIChu
YW1lZEl0ZW1zLnNpemUoKSA9PSAxKQorICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBjb2xsZWN0
aW9uLT5nbG9iYWxPYmplY3QoKSwgbmFtZWRJdGVtc1swXS5nZXQoKSk7CisKKyAgICAvLyBGSVhN
RTogSFRNTDUgc3BlY2lmaWVzIHRoYXQgdGhpcyBzaG91bGQgYmUgYSBEeW5hbWljTm9kZUxpc3Qu
CisgICAgLy8gRklYTUU6IEhUTUw1IHNwZWNpZmllcyB0aGF0IG5vbi1IVE1MT3B0aW9uc0NvbGxl
Y3Rpb24gY29sbGVjdGlvbnMgc2hvdWxkIHJldHVybgorICAgIC8vIHRoZSBmaXJzdCBtYXRjaGlu
ZyBpdGVtIGluc3RlYWQgb2YgYSBOb2RlTGlzdC4KKyAgICByZXR1cm4gdG9KUyhleGVjLCBjb2xs
ZWN0aW9uLT5nbG9iYWxPYmplY3QoKSwgU3RhdGljTm9kZUxpc3Q6OmFkb3B0KG5hbWVkSXRlbXMp
LmdldCgpKTsKK30KKworLy8gSFRNTENvbGxlY3Rpb25zIGFyZSBzdHJhbmdlIG9iamVjdHMsIHRo
ZXkgc3VwcG9ydCBib3RoIGdldCBhbmQgY2FsbCwKKy8vIHNvIHRoYXQgZG9jdW1lbnQuZm9ybXMu
aXRlbSgwKSBhbmQgZG9jdW1lbnQuZm9ybXMoMCkgYm90aCB3b3JrLgorc3RhdGljIEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBjYWxsSFRNTEFsbENvbGxlY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU09i
amVjdCogZnVuY3Rpb24sIEpTVmFsdWUsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCit7CisgICAgaWYg
KGFyZ3Muc2l6ZSgpIDwgMSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisKKyAgICAv
LyBEbyBub3QgdXNlIHRoaXNPYmogaGVyZS4gSXQgY2FuIGJlIHRoZSBKU0hUTUxEb2N1bWVudCwg
aW4gdGhlIGRvY3VtZW50LmZvcm1zKGkpIGNhc2UuCisgICAgSlNIVE1MQWxsQ29sbGVjdGlvbiog
anNDb2xsZWN0aW9uID0gc3RhdGljX2Nhc3Q8SlNIVE1MQWxsQ29sbGVjdGlvbio+KGZ1bmN0aW9u
KTsKKyAgICBIVE1MQWxsQ29sbGVjdGlvbiogY29sbGVjdGlvbiA9IGpzQ29sbGVjdGlvbi0+aW1w
bCgpOworCisgICAgLy8gQWxzbywgZG8gd2UgbmVlZCB0aGUgVHlwZUVycm9yIHRlc3QgaGVyZSA/
CisKKyAgICBpZiAoYXJncy5zaXplKCkgPT0gMSkgeworICAgICAgICAvLyBTdXBwb3J0IGZvciBk
b2N1bWVudC5hbGwoPGluZGV4PikgZXRjLgorICAgICAgICBib29sIG9rOworICAgICAgICBVU3Ry
aW5nIHN0cmluZyA9IGFyZ3MuYXQoMCkudG9TdHJpbmcoZXhlYyk7CisgICAgICAgIHVuc2lnbmVk
IGluZGV4ID0gc3RyaW5nLnRvVUludDMyKCZvaywgZmFsc2UpOworICAgICAgICBpZiAob2spCisg
ICAgICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBqc0NvbGxlY3Rpb24tPmdsb2JhbE9iamVjdCgp
LCBjb2xsZWN0aW9uLT5pdGVtKGluZGV4KSk7CisKKyAgICAgICAgLy8gU3VwcG9ydCBmb3IgZG9j
dW1lbnQuaW1hZ2VzKCc8bmFtZT4nKSBldGMuCisgICAgICAgIHJldHVybiBnZXROYW1lZEl0ZW1z
KGV4ZWMsIGpzQ29sbGVjdGlvbiwgSWRlbnRpZmllcihleGVjLCBzdHJpbmcpKTsKKyAgICB9CisK
KyAgICAvLyBUaGUgc2Vjb25kIGFyZywgaWYgc2V0LCBpcyB0aGUgaW5kZXggb2YgdGhlIGl0ZW0g
d2Ugd2FudAorICAgIGJvb2wgb2s7CisgICAgVVN0cmluZyBzdHJpbmcgPSBhcmdzLmF0KDApLnRv
U3RyaW5nKGV4ZWMpOworICAgIHVuc2lnbmVkIGluZGV4ID0gYXJncy5hdCgxKS50b1N0cmluZyhl
eGVjKS50b1VJbnQzMigmb2ssIGZhbHNlKTsKKyAgICBpZiAob2spIHsKKyAgICAgICAgU3RyaW5n
IHBzdHIgPSBzdHJpbmc7CisgICAgICAgIE5vZGUqIG5vZGUgPSBjb2xsZWN0aW9uLT5uYW1lZEl0
ZW0ocHN0cik7CisgICAgICAgIHdoaWxlIChub2RlKSB7CisgICAgICAgICAgICBpZiAoIWluZGV4
KQorICAgICAgICAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGpzQ29sbGVjdGlvbi0+Z2xvYmFs
T2JqZWN0KCksIG5vZGUpOworICAgICAgICAgICAgbm9kZSA9IGNvbGxlY3Rpb24tPm5leHROYW1l
ZEl0ZW0ocHN0cik7CisgICAgICAgICAgICAtLWluZGV4OworICAgICAgICB9CisgICAgfQorCisg
ICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Cit9CisKK0NhbGxUeXBlIEpTSFRNTEFsbENvbGxlY3Rp
b246OmdldENhbGxEYXRhKENhbGxEYXRhJiBjYWxsRGF0YSkKK3sKKyAgICBjYWxsRGF0YS5uYXRp
dmUuZnVuY3Rpb24gPSBjYWxsSFRNTEFsbENvbGxlY3Rpb247CisgICAgcmV0dXJuIENhbGxUeXBl
SG9zdDsKK30KKworYm9vbCBKU0hUTUxBbGxDb2xsZWN0aW9uOjpjYW5HZXRJdGVtc0Zvck5hbWUo
RXhlY1N0YXRlKiwgSFRNTEFsbENvbGxlY3Rpb24qIGNvbGxlY3Rpb24sIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlcnR5TmFtZSkKK3sKKyAgICBWZWN0b3I8UmVmUHRyPE5vZGU+ID4gbmFtZWRJdGVt
czsKKyAgICBjb2xsZWN0aW9uLT5uYW1lZEl0ZW1zKHByb3BlcnR5TmFtZSwgbmFtZWRJdGVtcyk7
CisgICAgcmV0dXJuICFuYW1lZEl0ZW1zLmlzRW1wdHkoKTsKK30KKworSlNWYWx1ZSBKU0hUTUxB
bGxDb2xsZWN0aW9uOjpuYW1lR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmll
ciYgcHJvcGVydHlOYW1lLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QpCit7CisgICAgSlNIVE1M
QWxsQ29sbGVjdGlvbiogdGhpc09iaiA9IHN0YXRpY19jYXN0PEpTSFRNTEFsbENvbGxlY3Rpb24q
Pihhc09iamVjdChzbG90LnNsb3RCYXNlKCkpKTsKKyAgICByZXR1cm4gZ2V0TmFtZWRJdGVtcyhl
eGVjLCB0aGlzT2JqLCBwcm9wZXJ0eU5hbWUpOworfQorCitKU1ZhbHVlIEpTSFRNTEFsbENvbGxl
Y3Rpb246Oml0ZW0oRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBhcmdzKQoreworICAg
IGJvb2wgb2s7CisgICAgdWludDMyX3QgaW5kZXggPSBhcmdzLmF0KDApLnRvU3RyaW5nKGV4ZWMp
LnRvVUludDMyKCZvaywgZmFsc2UpOworICAgIGlmIChvaykKKyAgICAgICAgcmV0dXJuIHRvSlMo
ZXhlYywgZ2xvYmFsT2JqZWN0KCksIGltcGwoKS0+aXRlbShpbmRleCkpOworICAgIHJldHVybiBn
ZXROYW1lZEl0ZW1zKGV4ZWMsIHRoaXMsIElkZW50aWZpZXIoZXhlYywgYXJncy5hdCgwKS50b1N0
cmluZyhleGVjKSkpOworfQorCitKU1ZhbHVlIEpTSFRNTEFsbENvbGxlY3Rpb246Om5hbWVkSXRl
bShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCit7CisgICAgcmV0dXJuIGdl
dE5hbWVkSXRlbXMoZXhlYywgdGhpcywgSWRlbnRpZmllcihleGVjLCBhcmdzLmF0KDApLnRvU3Ry
aW5nKGV4ZWMpKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUv
YmluZGluZ3MvanMvSlNIVE1MQ29sbGVjdGlvbkN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0hUTUxDb2xsZWN0aW9uQ3VzdG9tLmNwcAkocmV2aXNpb24gNDk5
NjEpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENvbGxlY3Rpb25DdXN0b20uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMyw2ICsyMyw3IEBACiAjaW5jbHVkZSAiQXRvbWljU3RyaW5nLmgi
CiAjaW5jbHVkZSAiSFRNTENvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uc0NvbGxl
Y3Rpb24uaCIKKyNpbmNsdWRlICJIVE1MQWxsQ29sbGVjdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9N
QmluZGluZy5oIgogI2luY2x1ZGUgIkpTSFRNTEFsbENvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJK
U0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oIgpAQCAtMTQzLDcgKzE0NCw2IEBAIEpTVmFsdWUgdG9K
UyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmEKICAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVB
VEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgSFRNTE9wdGlvbnNDb2xs
ZWN0aW9uLCBjb2xsZWN0aW9uKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIERv
Y0FsbDoKLSAgICAgICAgICAgIHR5cGVkZWYgSFRNTENvbGxlY3Rpb24gSFRNTEFsbENvbGxlY3Rp
b247CiAgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVj
LCBnbG9iYWxPYmplY3QsIEhUTUxBbGxDb2xsZWN0aW9uLCBjb2xsZWN0aW9uKTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0hUTUxEb2N1bWVudEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxEb2N1bWVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDQ5OTYxKQorKysgV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0hUTUxEb2N1bWVudEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4
LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkNoYXJhY3Rlck5hbWVzLmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKKyNpbmNsdWRlICJIVE1MQWxsQ29sbGVjdGlvbi5oIgogI2luY2x1ZGUgIkhUTUxCb2R5
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxDb2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAiSFRNTERv
Y3VtZW50LmgiCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0JKHJldmlzaW9uIDQ5OTYxKQorKysgV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQkod29ya2luZyBjb3B5KQpAQCAtMjkyLDcgKzI5Miw3IEBAIHN1YiBHZW5l
cmF0ZUdldE93blByb3BlcnR5U2xvdEJvZHkKIAogICAgIG15IEBnZXRPd25Qcm9wZXJ0eVNsb3RJ
bXBsID0gKCk7CiAKLSAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIk5hbWVkTm9kZU1hcCIgb3Ig
JGludGVyZmFjZU5hbWUgZXEgIkhUTUxDb2xsZWN0aW9uIikgeworICAgIGlmICgkaW50ZXJmYWNl
TmFtZSBlcSAiTmFtZWROb2RlTWFwIiBvciAkaW50ZXJmYWNlTmFtZSBlcSAiSFRNTENvbGxlY3Rp
b24iIG9yICRpbnRlcmZhY2VOYW1lIGVxICJIVE1MQWxsQ29sbGVjdGlvbiIpIHsKICAgICAgICAg
cHVzaChAZ2V0T3duUHJvcGVydHlTbG90SW1wbCwgIiAgICAke25hbWVzcGFjZU1heWJlfUpTVmFs
dWUgcHJvdG8gPSBwcm90b3R5cGUoKTtcbiIpOwogICAgICAgICBwdXNoKEBnZXRPd25Qcm9wZXJ0
eVNsb3RJbXBsLCAiICAgIGlmIChwcm90by5pc09iamVjdCgpICYmIHN0YXRpY19jYXN0PCR7bmFt
ZXNwYWNlTWF5YmV9SlNPYmplY3QqPihhc09iamVjdChwcm90bykpLT5oYXNQcm9wZXJ0eShleGVj
LCBwcm9wZXJ0eU5hbWUpKVxuIik7CiAgICAgICAgIHB1c2goQGdldE93blByb3BlcnR5U2xvdElt
cGwsICIgICAgICAgIHJldHVybiBmYWxzZTtcblxuIik7CkBAIC0zNjksNyArMzY5LDcgQEAgc3Vi
IEdlbmVyYXRlR2V0T3duUHJvcGVydHlEZXNjcmlwdG9yQm9keQogICAgIAogICAgIG15IEBnZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3JJbXBsID0gKCk7CiAgICAgCi0gICAgaWYgKCRpbnRlcmZhY2VO
YW1lIGVxICJOYW1lZE5vZGVNYXAiIG9yICRpbnRlcmZhY2VOYW1lIGVxICJIVE1MQ29sbGVjdGlv
biIpIHsKKyAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIk5hbWVkTm9kZU1hcCIgb3IgJGludGVy
ZmFjZU5hbWUgZXEgIkhUTUxDb2xsZWN0aW9uIiBvciAkaW50ZXJmYWNlTmFtZSBlcSAiSFRNTEFs
bENvbGxlY3Rpb24iKSB7CiAgICAgICAgIHB1c2goQGdldE93blByb3BlcnR5RGVzY3JpcHRvcklt
cGwsICIgICAgJHtuYW1lc3BhY2VNYXliZX1KU1ZhbHVlIHByb3RvID0gcHJvdG90eXBlKCk7XG4i
KTsKICAgICAgICAgcHVzaChAZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ySW1wbCwgIiAgICBpZiAo
cHJvdG8uaXNPYmplY3QoKSAmJiBzdGF0aWNfY2FzdDwke25hbWVzcGFjZU1heWJlfUpTT2JqZWN0
Kj4oYXNPYmplY3QocHJvdG8pKS0+aGFzUHJvcGVydHkoZXhlYywgcHJvcGVydHlOYW1lKSlcbiIp
OwogICAgICAgICBwdXNoKEBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JJbXBsLCAiICAgICAgICBy
ZXR1cm4gZmFsc2U7XG5cbiIpOwpAQCAtNjU4LDYgKzY1OCwxMiBAQCBzdWIgR2VuZXJhdGVIZWFk
ZXIKICAgICAjIEN1c3RvbSBsb29rdXBTZXR0ZXIgZnVuY3Rpb24KICAgICBwdXNoKEBoZWFkZXJD
b250ZW50LCAiICAgIHZpcnR1YWwgSlNDOjpKU1ZhbHVlIGxvb2t1cFNldHRlcihKU0M6OkV4ZWNT
dGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTtcbiIpIGlmICRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUxvb2t1cFNldHRlciJ9OwogCisgICAg
IyBPdmVycmlkZSB0b0Jvb2xlYW4gdG8gcmV0dXJuIGZhbHNlIGZvciBvYmplY3RzIHRoYXQgd2Fu
dCB0byAnTWFzcXVlcmFkZXNBc1VuZGVmaW5lZCcuCisgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57Ik1hc3F1ZXJhZGVzQXNVbmRlZmluZWQifSkgeworICAgICAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCAiICAgIHZpcnR1YWwgYm9vbCB0b0Jvb2xlYW4oSlNDOjpFeGVjU3Rh
dGUqKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfTtcbiIpOworICAgICAgICAkc3RydWN0dXJlRmxh
Z3N7IkpTQzo6TWFzcXVlcmFkZXNBc1VuZGVmaW5lZCJ9ID0gMTsKKyAgICB9CisKICAgICAjIENv
bnN0cnVjdG9yIG9iamVjdCBnZXR0ZXIKICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0
YXRpYyBKU0M6OkpTVmFsdWUgZ2V0Q29uc3RydWN0b3IoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpT
R2xvYmFsT2JqZWN0Kik7XG4iKSBpZiAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJH
ZW5lcmF0ZUNvbnN0cnVjdG9yIn07CiAKQEAgLTE3MDAsNyArMTcwNiw3IEBAIHN1YiBHZW5lcmF0
ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1
cm4gdG9KUyhleGVjLCB0aGlzT2JqLT5nbG9iYWxPYmplY3QoKSwgc3RhdGljX2Nhc3Q8JGltcGxD
bGFzc05hbWUqPih0aGlzT2JqLT5pbXBsKCkpLT5pdGVtKHNsb3QuaW5kZXgoKSkpO1xuIik7CiAg
ICAgICAgIH0KICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG4iKTsKLSAgICAgICAgaWYg
KCRpbnRlcmZhY2VOYW1lIGVxICJIVE1MQ29sbGVjdGlvbiIpIHsKKyAgICAgICAgaWYgKCRpbnRl
cmZhY2VOYW1lIGVxICJIVE1MQ29sbGVjdGlvbiIgb3IgJGludGVyZmFjZU5hbWUgZXEgIkhUTUxB
bGxDb2xsZWN0aW9uIikgewogICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siSlNOb2RlLmgifSA9
IDE7CiAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJOb2RlLmgifSA9IDE7CiAgICAgICAgIH0K
QEAgLTE3MTEsNyArMTcxNyw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIHJldHVybiBqc051bWJlcihleGVjLCBzdGF0aWNfY2FzdDwkaW1wbENsYXNzTmFtZSo+KGlt
cGwoKSktPml0ZW0oaW5kZXgpKTtcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1c
biIpOwotICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIkhUTUxDb2xsZWN0aW9uIikgewor
ICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIkhUTUxDb2xsZWN0aW9uIiBvciAkaW50ZXJm
YWNlTmFtZSBlcSAiSFRNTEFsbENvbGxlY3Rpb24iKSB7CiAgICAgICAgICAgICAkaW1wbEluY2x1
ZGVzeyJKU05vZGUuaCJ9ID0gMTsKICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7Ik5vZGUuaCJ9
ID0gMTsKICAgICAgICAgfQpJbmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gNDk5NjEpCisrKyBXZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAKICNp
bmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lVHJlZS5oIgogI2luY2x1ZGUg
IkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkhUTUxBbGxDb2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAi
SFRNTEFuY2hvckVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MQm9keUVsZW1lbnQuaCIKICNpbmNs
dWRlICJIVE1MQ2FudmFzRWxlbWVudC5oIgpAQCAtMzk4OCw5ICszOTg5LDkgQEAgUGFzc1JlZlB0
cjxIVE1MQ29sbGVjdGlvbj4gRG9jdW1lbnQ6OmFuYwogICAgIHJldHVybiBIVE1MQ29sbGVjdGlv
bjo6Y3JlYXRlKHRoaXMsIERvY0FuY2hvcnMpOwogfQogCi1QYXNzUmVmUHRyPEhUTUxDb2xsZWN0
aW9uPiBEb2N1bWVudDo6YWxsKCkKK1Bhc3NSZWZQdHI8SFRNTEFsbENvbGxlY3Rpb24+IERvY3Vt
ZW50OjphbGwoKQogewotICAgIHJldHVybiBIVE1MQ29sbGVjdGlvbjo6Y3JlYXRlKHRoaXMsIERv
Y0FsbCk7CisgICAgcmV0dXJuIEhUTUxBbGxDb2xsZWN0aW9uOjpjcmVhdGUodGhpcyk7CiB9CiAK
IFBhc3NSZWZQdHI8SFRNTENvbGxlY3Rpb24+IERvY3VtZW50Ojp3aW5kb3dOYW1lZEl0ZW1zKGNv
bnN0IFN0cmluZyAmbmFtZSkKSW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gNDk5NjEpCisrKyBXZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIaXRUZXN0UmVxdWVzdDsKICAgICBjbGFzcyBIVE1MQ2Fu
dmFzRWxlbWVudDsKICAgICBjbGFzcyBIVE1MQ29sbGVjdGlvbjsKKyAgICBjbGFzcyBIVE1MQWxs
Q29sbGVjdGlvbjsKICAgICBjbGFzcyBIVE1MRG9jdW1lbnQ7CiAgICAgY2xhc3MgSFRNTEVsZW1l
bnQ7CiAgICAgY2xhc3MgSFRNTEZvcm1FbGVtZW50OwpAQCAtMzE1LDEyICszMTYsMTMgQEAgcHVi
bGljOgogICAgIFBhc3NSZWZQdHI8SFRNTENvbGxlY3Rpb24+IGxpbmtzKCk7CiAgICAgUGFzc1Jl
ZlB0cjxIVE1MQ29sbGVjdGlvbj4gZm9ybXMoKTsKICAgICBQYXNzUmVmUHRyPEhUTUxDb2xsZWN0
aW9uPiBhbmNob3JzKCk7Ci0gICAgUGFzc1JlZlB0cjxIVE1MQ29sbGVjdGlvbj4gYWxsKCk7CiAg
ICAgUGFzc1JlZlB0cjxIVE1MQ29sbGVjdGlvbj4gb2JqZWN0cygpOwogICAgIFBhc3NSZWZQdHI8
SFRNTENvbGxlY3Rpb24+IHNjcmlwdHMoKTsKICAgICBQYXNzUmVmUHRyPEhUTUxDb2xsZWN0aW9u
PiB3aW5kb3dOYW1lZEl0ZW1zKGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgUGFzc1JlZlB0cjxI
VE1MQ29sbGVjdGlvbj4gZG9jdW1lbnROYW1lZEl0ZW1zKGNvbnN0IFN0cmluZyYgbmFtZSk7CiAK
KyAgICBQYXNzUmVmUHRyPEhUTUxBbGxDb2xsZWN0aW9uPiBhbGwoKTsKKwogICAgIC8vIEZpbmQg
Zmlyc3QgYW5jaG9yIHdpdGggdGhlIGdpdmVuIG5hbWUuCiAgICAgLy8gRmlyc3Qgc2VhcmNoZXMg
Zm9yIGFuIGVsZW1lbnQgd2l0aCB0aGUgZ2l2ZW4gSUQsIGJ1dCBpZiB0aGF0IGZhaWxzLCB0aGVu
IGxvb2tzCiAgICAgLy8gZm9yIGFuIGFuY2hvciB3aXRoIHRoZSBnaXZlbiBuYW1lLiBJRCBtYXRj
aGluZyBpcyBhbHdheXMgY2FzZSBzZW5zaXRpdmUsIGJ1dApJbmRleDogV2ViQ29yZS9kb20vSFRN
TEFsbENvbGxlY3Rpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0hUTUxBbGxDb2xs
ZWN0aW9uLmlkbAkocmV2aXNpb24gNDk5NjEpCisrKyBXZWJDb3JlL2RvbS9IVE1MQWxsQ29sbGVj
dGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAwOCwgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmli
dXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
Ci0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLW1vZHVsZSBodG1s
IHsKLQotICAgIC8vIFRoaXMgaW50ZXJmYWNlIGlzIHVzZWQgZm9yIHVuZGV0ZWN0YWJsZSBIVE1M
Q29sbGVjdGlvbnMuCi0gICAgLy8gQW4gdW5kZXRlY3RhYmxlIEhUTUxDb2xsZWN0aW9uIGJlaGF2
ZXMgbGlrZSBhbiBIVE1MQ29sbGVjdGlvbgotICAgIC8vIHdoZW4gdXNlZCwgYnV0IHRoZSAndHlw
ZW9mJyBvcGVyYXRvciByZXR1cm5zIHVuZGVmaW5lZCBhbmQKLSAgICAvLyBUb0Jvb2xlYW4gcmV0
dXJucyBmYWxzZS4KLSAgICBpbnRlcmZhY2UgSFRNTEFsbENvbGxlY3Rpb24gOiBIVE1MQ29sbGVj
dGlvbiB7Ci0gICAgfTsKLQotfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uY3BwCShy
ZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmNwcAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSFRNTEFsbENvbGxl
Y3Rpb24uaCIKKworI2luY2x1ZGUgIk5vZGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQ
YXNzUmVmUHRyPEhUTUxBbGxDb2xsZWN0aW9uPiBIVE1MQWxsQ29sbGVjdGlvbjo6Y3JlYXRlKFBh
c3NSZWZQdHI8Tm9kZT4gYmFzZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhUTUxBbGxD
b2xsZWN0aW9uKGJhc2UpKTsKK30KKworSFRNTEFsbENvbGxlY3Rpb246OkhUTUxBbGxDb2xsZWN0
aW9uKFBhc3NSZWZQdHI8Tm9kZT4gYmFzZSkKKyAgICA6IEhUTUxDb2xsZWN0aW9uKGJhc2UsIERv
Y0FsbCkKK3sKK30KKworSFRNTEFsbENvbGxlY3Rpb246On5IVE1MQWxsQ29sbGVjdGlvbigpCit7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MQWxs
Q29sbGVjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MQWxsQ29sbGVjdGlv
bi5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmgJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBIVE1MQWxsQ29sbGVjdGlvbl9oCisjZGVmaW5lIEhU
TUxBbGxDb2xsZWN0aW9uX2gKKworI2luY2x1ZGUgIkhUTUxDb2xsZWN0aW9uLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSFRNTEFsbENvbGxlY3Rpb24gOiBwdWJsaWMgSFRNTENv
bGxlY3Rpb24geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxBbGxDb2xsZWN0
aW9uPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPik7CisgICAgdmlydHVhbCB+SFRNTEFsbENvbGxl
Y3Rpb24oKTsKKworcHJpdmF0ZToKKyAgICBIVE1MQWxsQ29sbGVjdGlvbihQYXNzUmVmUHRyPE5v
ZGU+KTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEhUTUxBbGxD
b2xsZWN0aW9uX2gKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlkbAkocmV2aXNpb24g
MCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5pZGwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworbW9kdWxlIGh0bWwgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgR2VuZXJhdGVD
b25zdHJ1Y3RvciwKKyAgICAgICAgSGFzSW5kZXhHZXR0ZXIsCisgICAgICAgIEhhc05hbWVHZXR0
ZXIsCisgICAgICAgIEN1c3RvbUNhbGwsCisgICAgICAgIEN1c3RvbVRvSlMsCisgICAgICAgIE1h
c3F1ZXJhZGVzQXNVbmRlZmluZWQKKyAgICBdIEhUTUxBbGxDb2xsZWN0aW9uIHsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworICAgICAgICBbQ3VzdG9t
XSBOb2RlIGl0ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgICAgIFtDdXN0b21dIE5v
ZGUgbmFtZWRJdGVtKGluIERPTVN0cmluZyBuYW1lKTsKKworICAgICAgICAvLyBGSVhNRTogVGhp
cyBzaG91bGQgcmV0dXJuIGFuIEhUTUxBbGxDb2xsZWN0aW9uLgorICAgICAgICBOb2RlTGlzdCB0
YWdzKGluIERPTVN0cmluZyBuYW1lKTsKKyAgICB9OworCit9CkluZGV4OiBXZWJDb3JlL2h0bWwv
SFRNTENvbGxlY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rp
b24uaAkocmV2aXNpb24gNDk5NjEpCisrKyBXZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uaAko
d29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsNyBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoKICAg
ICBIVE1MQ29sbGVjdGlvbihQYXNzUmVmUHRyPE5vZGU+IGJhc2UsIENvbGxlY3Rpb25UeXBlLCBD
b2xsZWN0aW9uQ2FjaGUqKTsKKyAgICBIVE1MQ29sbGVjdGlvbihQYXNzUmVmUHRyPE5vZGU+IGJh
c2UsIENvbGxlY3Rpb25UeXBlKTsKIAogICAgIENvbGxlY3Rpb25DYWNoZSogaW5mbygpIGNvbnN0
IHsgcmV0dXJuIG1faW5mbzsgfQogICAgIHZvaWQgcmVzZXRDb2xsZWN0aW9uSW5mbygpIGNvbnN0
OwpAQCAtNzEsOCArNzIsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgbXV0YWJsZSBib29sIG1faWRzRG9u
ZTsgLy8gZm9yIG5leHROYW1lZEl0ZW0oKQogCiBwcml2YXRlOgotICAgIEhUTUxDb2xsZWN0aW9u
KFBhc3NSZWZQdHI8Tm9kZT4gYmFzZSwgQ29sbGVjdGlvblR5cGUpOwotCiAgICAgdmlydHVhbCBF
bGVtZW50KiBpdGVtQWZ0ZXIoRWxlbWVudCopIGNvbnN0OwogICAgIHZpcnR1YWwgdW5zaWduZWQg
Y2FsY0xlbmd0aCgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVOYW1lQ2FjaGUoKSBj
b25zdDsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmlkbAkocmV2aXNpb24gNDk5NjEpCisrKyBX
ZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw4ICsz
NCw5IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgW0N1c3RvbV0gTm9kZSBpdGVtKGluIHVuc2ln
bmVkIGxvbmcgaW5kZXgpOwogICAgICAgICBbQ3VzdG9tXSBOb2RlIG5hbWVkSXRlbShpbiBET01T
dHJpbmcgbmFtZSk7CiAKLSAgICAgICAgLy8gRXh0ZW5zaW9ucworI2lmIGRlZmluZWQoTEFOR1VB
R0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCiAgICAgICAgIE5vZGVMaXN0
IHRhZ3MoaW4gRE9NU3RyaW5nIG5hbWUpOworI2VuZGlmCiAgICAgfTsKIAogfQpJbmRleDogV2Vi
Q29yZS9odG1sL0hUTUxEb2N1bWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hU
TUxEb2N1bWVudC5pZGwJKHJldmlzaW9uIDQ5OTYxKQorKysgV2ViQ29yZS9odG1sL0hUTUxEb2N1
bWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgbW9kdWxlIGh0bWwgewog
CiAjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBU
CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBldmVudHVhbGx5IGJlIGF2YWlsYWJsZSAo
aWYgdGhleSBhcmUgd2FudGVkKSBmb3IgYWxsIGxhbmd1YWdlcy4KLSAgICAgICAgICAgICAgICAg
YXR0cmlidXRlIFtDdXN0b20sIERlbGV0YWJsZV0gSFRNTENvbGxlY3Rpb24gYWxsOworICAgICAg
ICAgICAgICAgICBhdHRyaWJ1dGUgW0N1c3RvbSwgRGVsZXRhYmxlXSBIVE1MQWxsQ29sbGVjdGlv
biBhbGw7CiAjZW5kaWYKIAogICAgICAgICB2b2lkIGNsZWFyKCk7CkluZGV4OiBXZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bAkocmV2aXNpb24gNDk5NjEpCisrKyBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtNDI2LDYgKzQyNiw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRy
aWJ1dGUgSFRNTFVMaXN0RWxlbWVudENvbnN0cnVjdG9yIEhUTUxVTGlzdEVsZW1lbnQ7CiAKICAg
ICAgICAgYXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uQ29uc3RydWN0b3IgSFRNTENvbGxlY3Rpb247
CisgICAgICAgIGF0dHJpYnV0ZSBIVE1MQWxsQ29sbGVjdGlvbkNvbnN0cnVjdG9yIEhUTUxBbGxD
b2xsZWN0aW9uOwogCiAgICAgICAgIGF0dHJpYnV0ZSBbQ3VzdG9tR2V0dGVyXSBIVE1MSW1hZ2VF
bGVtZW50Q29uc3RydWN0b3IgSW1hZ2U7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgogICAg
ICAgICBhdHRyaWJ1dGUgW0N1c3RvbUdldHRlcl0gSFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rv
ciBPcHRpb247IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
NDk5ODIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyNCBAQAorMjAwOS0xMC0yMyAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBhbmQgYWRk
IHRlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDY5NQor
ICAgICAgICBEcm9wIC50YWdzKCkgc3VwcG9ydCBmcm9tIEhUTUxDb2xsZWN0aW9uCisKKyAgICAg
ICAgKiBmYXN0L2RvbS9IVE1MRG9jdW1lbnQvZG9jdW1lbnQtYWxsLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTERvY3VtZW50L2RvY3VtZW50LWFsbC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRG9jdW1lbnQvc2NyaXB0LXRlc3RzOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRG9jdW1lbnQvc2NyaXB0LXRlc3RzL2RvY3VtZW50
LWFsbC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0
aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vZG9tTGlzdEVudW1lcmF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9zY3JpcHQtdGVzdHMvZG9tTGlzdEVudW1lcmF0aW9uLmpzOgorICAgICAg
ICAqIGZhc3QvZG9tL3VuZGV0ZWN0YWJsZS1kb2N1bWVudC1hbGwtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisKIDIwMDkt
MTAtMjMgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVzZSB0aGUg
Y29ycmVjdCBTa2lwcGVkIGZpbGUgLi4uCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20t
Y29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9kb20tY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDk5NjEpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMTgsNiArMTgsNyBAQCBQQVNTIFRyeUFsbG9jYXRlKCdOb2RlJykgaXMgJ2V4
Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ05vdGF0aW9uJykgaXMgJ2V4Y2VwdGlvbicKIFBB
U1MgVHJ5QWxsb2NhdGUoJ1Byb2Nlc3NpbmdJbnN0cnVjdGlvbicpIGlzICdleGNlcHRpb24nCiBQ
QVNTIFRyeUFsbG9jYXRlKCdUZXh0JykgaXMgJ2V4Y2VwdGlvbicKK1BBU1MgVHJ5QWxsb2NhdGUo
J0hUTUxBbGxDb2xsZWN0aW9uJykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ0hU
TUxBbmNob3JFbGVtZW50JykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ0hUTUxB
cHBsZXRFbGVtZW50JykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ0hUTUxBcmVh
RWxlbWVudCcpIGlzICdleGNlcHRpb24nCkBAIC0xMzYsNyArMTM3LDYgQEAgUEFTUyBUcnlBbGxv
Y2F0ZSgnWFBhdGhOU1Jlc29sdmVyJykgaXMgJwogUEFTUyBUcnlBbGxvY2F0ZSgnRXZlbnRUYXJn
ZXQnKSBpcyAnbm8gY29uc3RydWN0b3InCiBQQVNTIFRyeUFsbG9jYXRlKCdFdmVudExpc3RlbmVy
JykgaXMgJ25vIGNvbnN0cnVjdG9yJwogUEFTUyBUcnlBbGxvY2F0ZSgnTlBPYmplY3QnKSBpcyAn
bm8gY29uc3RydWN0b3InCi1QQVNTIFRyeUFsbG9jYXRlKCdIVE1MQWxsQ29sbGVjdGlvbicpIGlz
ICdubyBjb25zdHJ1Y3RvcicKIFBBU1MgVHJ5QWxsb2NhdGUoJ0RPTVBhcnNlcicpIGlzICdbb2Jq
ZWN0IERPTVBhcnNlcl0nCiBQQVNTIFRyeUFsbG9jYXRlKCdET01QYXJzZXInKSBpcyAnW29iamVj
dCBET01QYXJzZXJdJwogUEFTUyBUcnlBbGxvY2F0ZSgnRE9NUGFyc2VyJykgaXMgJ1tvYmplY3Qg
RE9NUGFyc2VyXScKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3Jz
Lmh0bWwJKHJldmlzaW9uIDQ5OTYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0
cnVjdG9ycy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xOSw3ICsxOSw3IEBAIHZhciBvYmplY3Rz
X2V4Y2VwdGlvbiA9IFsKICAgICAnQXR0cicsICdDaGFyYWN0ZXJEYXRhJywgJ0NEQVRBU2VjdGlv
bicsICdDb21tZW50JywgJ0RvY3VtZW50JywKICAgICAnRG9jdW1lbnRGcmFnbWVudCcsICdEb2N1
bWVudFR5cGUnLCAnRWxlbWVudCcsICdFbnRpdHknLAogICAgICdFbnRpdHlSZWZlcmVuY2UnLCAn
SFRNTERvY3VtZW50JywgJ05vZGUnLCAnTm90YXRpb24nLAotICAgICdQcm9jZXNzaW5nSW5zdHJ1
Y3Rpb24nLCAnVGV4dCcsICdIVE1MQW5jaG9yRWxlbWVudCcsCisgICAgJ1Byb2Nlc3NpbmdJbnN0
cnVjdGlvbicsICdUZXh0JywgJ0hUTUxBbGxDb2xsZWN0aW9uJywgJ0hUTUxBbmNob3JFbGVtZW50
JywKICAgICAnSFRNTEFwcGxldEVsZW1lbnQnLCAnSFRNTEFyZWFFbGVtZW50JywgJ0hUTUxCYXNl
RWxlbWVudCcsCiAgICAgJ0hUTUxCYXNlRm9udEVsZW1lbnQnLCAnSFRNTEJsb2NrcXVvdGVFbGVt
ZW50JywgJ0hUTUxCb2R5RWxlbWVudCcsCiAgICAgJ0hUTUxCUkVsZW1lbnQnLCAnSFRNTEJ1dHRv
bkVsZW1lbnQnLCAnSFRNTENhbnZhc0VsZW1lbnQnLApAQCAtNjUsOCArNjUsNyBAQCB2YXIgb2Jq
ZWN0c19jb25zdHJ1Y3RvciA9IFsKIC8vIFRoZXNlIG9iamVjdHMgc2hvdWxkIGhhdmUgbm8gY29u
c3RydWN0b3IuCiB2YXIgb2JqZWN0c19ub19jb25zdHJ1Y3RvciA9IFsKICAgICAnRXZlbnRUYXJn
ZXROb2RlJywgJ1VuZGV0ZWN0YWJsZUhUTUxDb2xsZWN0aW9uJywKLSAgICAnWFBhdGhOU1Jlc29s
dmVyJywgJ0V2ZW50VGFyZ2V0JywgJ0V2ZW50TGlzdGVuZXInLCAnTlBPYmplY3QnLAotICAgICdI
VE1MQWxsQ29sbGVjdGlvbicKKyAgICAnWFBhdGhOU1Jlc29sdmVyJywgJ0V2ZW50VGFyZ2V0Jywg
J0V2ZW50TGlzdGVuZXInLCAnTlBPYmplY3QnCiBdOwogCiAvLyBUaGVzZSBvYmplY3RzIHNob3Vs
ZCBoYXZlIGEgd29ya2luZyBjb25zdHJ1Y3RvciwgYnV0IHRoZWlyIGNvbnN0cnVjdGVkCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb21MaXN0RW51bWVyYXRpb24tZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL2RvbUxpc3RFbnVtZXJhdGlvbi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDQ5OTYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tTGlz
dEVudW1lcmF0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTQsNyArMTQsNyBA
QCBQQVNTIHJlc3VsdEFycmF5WzJdLmkgaXMgJzInCiBQQVNTIHJlc3VsdEFycmF5WzJdLml0ZW0g
aXMgbm9kZUxpc3QuaXRlbSgyKQogCiBbb2JqZWN0IEhUTUxDb2xsZWN0aW9uXQotUEFTUyByZXN1
bHRBcnJheS5sZW5ndGggaXMgNworUEFTUyByZXN1bHRBcnJheS5sZW5ndGggaXMgNgogUEFTUyBy
ZXN1bHRBcnJheVswXS5pIGlzICcwJwogUEFTUyByZXN1bHRBcnJheVswXS5pdGVtIGlzIGh0bWxD
b2xsZWN0aW9uLml0ZW0oMCkKIFBBU1MgcmVzdWx0QXJyYXlbMV0uaSBpcyAnMScKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2Ut
Mi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ5OTYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20v
cHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0y
MjAsNiArMjIwLDcgQEAgTmV2ZXIgZm91bmQgRW50aXR5CiBOZXZlciBmb3VuZCBFbnRpdHlSZWZl
cmVuY2UKIE5ldmVyIGZvdW5kIEZpbGUKIE5ldmVyIGZvdW5kIEZpbGVMaXN0CitOZXZlciBmb3Vu
ZCBIVE1MQWxsQ29sbGVjdGlvbgogTmV2ZXIgZm91bmQgSFRNTEJhc2VFbGVtZW50CiBOZXZlciBm
b3VuZCBIVE1MQmFzZUZvbnRFbGVtZW50CiBOZXZlciBmb3VuZCBIVE1MQmxvY2txdW90ZUVsZW1l
bnQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWlu
aGVyaXRhbmNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDk5NjEpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC04NSw2ICs4NSw4IEBAIFBBU1MgaW5uZXIuRmlsZS5pc0lubmVyIGlzIHRydWUKIFBBU1Mg
aW5uZXIuRmlsZS5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRmlsZUxp
c3QuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkZpbGVMaXN0LmNvbnN0cnVjdG9yLmlzSW5u
ZXIgaXMgdHJ1ZQorUEFTUyBpbm5lci5IVE1MQWxsQ29sbGVjdGlvbi5pc0lubmVyIGlzIHRydWUK
K1BBU1MgaW5uZXIuSFRNTEFsbENvbGxlY3Rpb24uY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVl
CiBQQVNTIGlubmVyLkhUTUxBbmNob3JFbGVtZW50LmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5l
ci5IVE1MQW5jaG9yRWxlbWVudC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5u
ZXIuSFRNTEFwcGxldEVsZW1lbnQuaXNJbm5lciBpcyB0cnVlCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2RvbS91bmRldGVjdGFibGUtZG9jdW1lbnQtYWxsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS91bmRldGVjdGFibGUtZG9jdW1lbnQtYWxsLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNDk5NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS91bmRldGVj
dGFibGUtZG9jdW1lbnQtYWxsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsx
LDQgQEAKIFRoaXMgdGVzdHMgdGhhdCBkb2N1bWVudC5hbGwgc2hvdWxkIGJlIHVuZGV0ZWN0YWJs
ZSwgYW5kIHRoYXQgaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHNldCBkb2N1bWVudC5hbGwgdG8g
c29tZXRoaW5nIGVsc2UuIElmIHRoaXMgdGVzdCBpcyBzdWNjZXNzZnVsLCB0aGUgdGV4dCAiU1VD
Q0VTUyIgc2hvdWxkIGJlIHNob3duIGJlbG93LgotZG9jdW1lbnQuYWxsOiBbb2JqZWN0IEhUTUxD
b2xsZWN0aW9uXQorZG9jdW1lbnQuYWxsOiBbb2JqZWN0IEhUTUxBbGxDb2xsZWN0aW9uXQogU1VD
Q0VTUyEKIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTERvY3VtZW50L2RvY3VtZW50
LWFsbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TERvY3VtZW50L2RvY3VtZW50LWFsbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MRG9jdW1lbnQvZG9jdW1lbnQtYWxsLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw3IEBACitQQVNTIGh0bWxhbGxjb2xsZWN0aW9uLnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgSFRNTEFsbENvbGxlY3Rpb25dJworUEFTUyB0eXBlb2YgaHRtbGFs
bGNvbGxlY3Rpb24udGFncyA9PSAiZnVuY3Rpb24iIGlzIHRydWUKK1BBU1MgaHRtbGFsbGNvbGxl
Y3Rpb24udGFncygiYm9keSIpLmxlbmd0aCBpcyAxCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TERvY3VtZW50L2RvY3VtZW50LWFsbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxEb2N1bWVudC9kb2N1bWVudC1hbGwuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxEb2N1bWVudC9kb2N1bWVudC1hbGwuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9kb2N1bWVudC1hbGwuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTERvY3VtZW50
L3NjcmlwdC10ZXN0cy9kb2N1bWVudC1hbGwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTERvY3VtZW50L3NjcmlwdC10ZXN0cy9kb2N1bWVudC1hbGwuanMJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRG9jdW1lbnQvc2NyaXB0LXRlc3Rz
L2RvY3VtZW50LWFsbC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2IEBACit2YXIgaHRtbGFs
bGNvbGxlY3Rpb24gPSBkb2N1bWVudC5hbGw7CitzaG91bGRCZSgnaHRtbGFsbGNvbGxlY3Rpb24u
dG9TdHJpbmcoKScsICInW29iamVjdCBIVE1MQWxsQ29sbGVjdGlvbl0nIik7CitzaG91bGRCZVRy
dWUoJ3R5cGVvZiBodG1sYWxsY29sbGVjdGlvbi50YWdzID09ICJmdW5jdGlvbiInKTsKK3Nob3Vs
ZEJlKCdodG1sYWxsY29sbGVjdGlvbi50YWdzKCJib2R5IikubGVuZ3RoJywgIjEiKTsKKworc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNDk5NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRp
ZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC04OTksNiArODk5LDExIEBAIHdpbmRv
dy5GaWxlLnByb3RvdHlwZSBbb2JqZWN0IEZpbGVQcm90b3QKIHdpbmRvdy5GaWxlTGlzdCBbb2Jq
ZWN0IEZpbGVMaXN0Q29uc3RydWN0b3JdCiB3aW5kb3cuRmlsZUxpc3QucHJvdG90eXBlIFtvYmpl
Y3QgRmlsZUxpc3RQcm90b3R5cGVdCiB3aW5kb3cuRmlsZUxpc3QucHJvdG90eXBlLml0ZW0gW2Z1
bmN0aW9uXQord2luZG93LkhUTUxBbGxDb2xsZWN0aW9uIFtvYmplY3QgSFRNTEFsbENvbGxlY3Rp
b25Db25zdHJ1Y3Rvcl0KK3dpbmRvdy5IVE1MQWxsQ29sbGVjdGlvbi5wcm90b3R5cGUgW29iamVj
dCBIVE1MQWxsQ29sbGVjdGlvblByb3RvdHlwZV0KK3dpbmRvdy5IVE1MQWxsQ29sbGVjdGlvbi5w
cm90b3R5cGUuaXRlbSBbZnVuY3Rpb25dCit3aW5kb3cuSFRNTEFsbENvbGxlY3Rpb24ucHJvdG90
eXBlLm5hbWVkSXRlbSBbZnVuY3Rpb25dCit3aW5kb3cuSFRNTEFsbENvbGxlY3Rpb24ucHJvdG90
eXBlLnRhZ3MgW2Z1bmN0aW9uXQogd2luZG93LkhUTUxBbmNob3JFbGVtZW50IFtvYmplY3QgSFRN
TEFuY2hvckVsZW1lbnRDb25zdHJ1Y3Rvcl0KIHdpbmRvdy5IVE1MQW5jaG9yRWxlbWVudC5wcm90
b3R5cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkVsZW1lbnQucHJvdG90eXBlXQogd2luZG93
LkhUTUxBcHBsZXRFbGVtZW50IFtvYmplY3QgSFRNTEFwcGxldEVsZW1lbnRDb25zdHJ1Y3Rvcl0K
QEAgLTkyNSw3ICs5MzAsNiBAQCB3aW5kb3cuSFRNTENvbGxlY3Rpb24gW29iamVjdCBIVE1MQ29s
bGVjCiB3aW5kb3cuSFRNTENvbGxlY3Rpb24ucHJvdG90eXBlIFtvYmplY3QgSFRNTENvbGxlY3Rp
b25Qcm90b3R5cGVdCiB3aW5kb3cuSFRNTENvbGxlY3Rpb24ucHJvdG90eXBlLml0ZW0gW2Z1bmN0
aW9uXQogd2luZG93LkhUTUxDb2xsZWN0aW9uLnByb3RvdHlwZS5uYW1lZEl0ZW0gW2Z1bmN0aW9u
XQotd2luZG93LkhUTUxDb2xsZWN0aW9uLnByb3RvdHlwZS50YWdzIFtmdW5jdGlvbl0KIHdpbmRv
dy5IVE1MRExpc3RFbGVtZW50IFtvYmplY3QgSFRNTERMaXN0RWxlbWVudENvbnN0cnVjdG9yXQog
d2luZG93LkhUTUxETGlzdEVsZW1lbnQucHJvdG90eXBlIFtwcmludGVkIGFib3ZlIGFzIHdpbmRv
dy5FbGVtZW50LnByb3RvdHlwZV0KIHdpbmRvdy5IVE1MRGF0YUdyaWRDZWxsRWxlbWVudCBbb2Jq
ZWN0IEhUTUxEYXRhR3JpZENlbGxFbGVtZW50Q29uc3RydWN0b3JdCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvZG9tTGlzdEVudW1lcmF0aW9uLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9kb21MaXN0RW51bWVyYXRpb24u
anMJKHJldmlzaW9uIDQ5OTYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3Rz
L2RvbUxpc3RFbnVtZXJhdGlvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw3IEBA
IHNob3VsZEJlKCJyZXN1bHRBcnJheVsyXS5pdGVtIiwgIm5vZGVMaXMKIC8vIEhUTUxDb2xsZWN0
aW9uCiB2YXIgaHRtbENvbGxlY3Rpb24gPSBkb2N1bWVudC5mb3JtczsKIHJlc3VsdEFycmF5ID0g
aXRlcmF0ZUxpc3QoaHRtbENvbGxlY3Rpb24pOwotc2hvdWxkQmUoInJlc3VsdEFycmF5Lmxlbmd0
aCIsICI3Iik7CitzaG91bGRCZSgicmVzdWx0QXJyYXkubGVuZ3RoIiwgIjYiKTsKIHNob3VsZEJl
KCJyZXN1bHRBcnJheVswXS5pIiwgIicwJyIpOwogc2hvdWxkQmUoInJlc3VsdEFycmF5WzBdLml0
ZW0iLCAiaHRtbENvbGxlY3Rpb24uaXRlbSgwKSIpOwogc2hvdWxkQmUoInJlc3VsdEFycmF5WzFd
LmkiLCAiJzEnIik7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3Rv
cnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFs
LWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ5OTYxKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNiArNDIsNyBAQCBQQVNTIEV2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRXZl
bnRDCiBQQVNTIEV2ZW50RXhjZXB0aW9uLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRXZlbnRFeGNl
cHRpb25Db25zdHJ1Y3Rvcl0nCiBQQVNTIEZpbGUudG9TdHJpbmcoKSBpcyAnW29iamVjdCBGaWxl
Q29uc3RydWN0b3JdJwogUEFTUyBGaWxlTGlzdC50b1N0cmluZygpIGlzICdbb2JqZWN0IEZpbGVM
aXN0Q29uc3RydWN0b3JdJworUEFTUyBIVE1MQWxsQ29sbGVjdGlvbi50b1N0cmluZygpIGlzICdb
b2JqZWN0IEhUTUxBbGxDb2xsZWN0aW9uQ29uc3RydWN0b3JdJwogUEFTUyBIVE1MQW5jaG9yRWxl
bWVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IEhUTUxBbmNob3JFbGVtZW50Q29uc3RydWN0b3Jd
JwogUEFTUyBIVE1MQXBwbGV0RWxlbWVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IEhUTUxBcHBs
ZXRFbGVtZW50Q29uc3RydWN0b3JdJwogUEFTUyBIVE1MQXJlYUVsZW1lbnQudG9TdHJpbmcoKSBp
cyAnW29iamVjdCBIVE1MQXJlYUVsZW1lbnRDb25zdHJ1Y3Rvcl0nCg==
</data>
<flag name="review"
          id="23180"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>